code: func (c *Client) GetTransactionsWithOptions(accessToken string, options GetTransactionsOptions) (resp GetTransactionsResponse, err error) {
  	if options.StartDate == "" || options.EndDate == "" {
  		return resp, errors.New("/transactions/get - start date and end date must be specified")
  	}
  
  	req := getTransactionsRequest{
  		ClientID:    c.clientID,
  		Secret:      c.secret,
  		AccessToken: accessToken,
  		StartDate:   options.StartDate,
  		EndDate:     options.EndDate,
  		Options: getTransactionsRequestOptions{
  			Count:  options.Count,
  			Offset: options.Offset,
  		},
  	}
  	if len(options.AccountIDs) > 0 {
  		req.Options.AccountIDs = options.AccountIDs
  	}
  
  	jsonBody, err := json.Marshal(req)
  	if err != nil {
  		return resp, err
  	}
  
  	err = c.Call("/transactions/get", jsonBody, &resp)
  	return resp, err
  }
docs: // GetTransactionsWithOptions retrieves user-authorized transaction data for credit and depository-type accounts.
  // See https://plaid.com/docs/api/#transactions.