Skip to content
Get started

List paykeys

client.Paykeys.List(ctx, params) (*PageNumberSchema[PaykeySummaryPagedV1Data], error)
GET/v1/paykeys

Returns a list of paykeys associated with a Straddle account. This endpoint supports advanced sorting and filtering options.

ParametersExpand Collapse
params PaykeyListParams
CustomerID param.Field[string]optional

Query param: Filter paykeys by related customer ID.

formatuuid
PageNumber param.Field[int64]optional

Query param: Page number for paginated results. Starts at 1.

formatint32
PageSize param.Field[int64]optional

Query param: Number of results per page. Maximum: 1000.

formatint32
SearchText param.Field[string]optional

Query param: General search term to filter paykeys.

SortBy param.Field[PaykeyListParamsSortBy]optional

Query param

const PaykeyListParamsSortByInstitutionName PaykeyListParamsSortBy = "institution_name"
const PaykeyListParamsSortByExpiresAt PaykeyListParamsSortBy = "expires_at"
const PaykeyListParamsSortByCreatedAt PaykeyListParamsSortBy = "created_at"
SortOrder param.Field[PaykeyListParamsSortOrder]optional

Query param

const PaykeyListParamsSortOrderAsc PaykeyListParamsSortOrder = "asc"
const PaykeyListParamsSortOrderDesc PaykeyListParamsSortOrder = "desc"
Source param.Field[[]string]optional

Query param: Filter paykeys by their source.

const PaykeyListParamsSourceBankAccount PaykeyListParamsSource = "bank_account"
const PaykeyListParamsSourceStraddle PaykeyListParamsSource = "straddle"
const PaykeyListParamsSourceMx PaykeyListParamsSource = "mx"
const PaykeyListParamsSourcePlaid PaykeyListParamsSource = "plaid"
const PaykeyListParamsSourceTan PaykeyListParamsSource = "tan"
const PaykeyListParamsSourceQuiltt PaykeyListParamsSource = "quiltt"
Status param.Field[[]string]optional

Query param: Filter paykeys by their current status.

const PaykeyListParamsStatusPending PaykeyListParamsStatus = "pending"
const PaykeyListParamsStatusActive PaykeyListParamsStatus = "active"
const PaykeyListParamsStatusInactive PaykeyListParamsStatus = "inactive"
const PaykeyListParamsStatusRejected PaykeyListParamsStatus = "rejected"
const PaykeyListParamsStatusReview PaykeyListParamsStatus = "review"
const PaykeyListParamsStatusBlocked PaykeyListParamsStatus = "blocked"
UnblockEligible param.Field[bool]optional

Query param: Filter paykeys by unblock eligibility. When true, returns only blocked paykeys eligible for client-initiated unblocking (blocked due to R29 returns and not previously unblocked). When false, returns only blocked paykeys that are not eligible for unblocking.

CorrelationID param.Field[string]optional

Header param: Optional client generated identifier to trace and debug a series of requests.

RequestID param.Field[string]optional

Header param: Optional client generated identifier to trace and debug a request.

StraddleAccountID param.Field[string]optional

Header param: For use by platforms to specify an account id and set scope of a request.

formatuuid
ReturnsExpand Collapse
type PaykeySummaryPagedV1Data struct{…}
ID string

Unique identifier for the paykey.

formatuuid
Config PaykeySummaryPagedV1DataConfig
ProcessingMethod stringoptional
One of the following:
const PaykeySummaryPagedV1DataConfigProcessingMethodInline PaykeySummaryPagedV1DataConfigProcessingMethod = "inline"
const PaykeySummaryPagedV1DataConfigProcessingMethodBackground PaykeySummaryPagedV1DataConfigProcessingMethod = "background"
const PaykeySummaryPagedV1DataConfigProcessingMethodSkip PaykeySummaryPagedV1DataConfigProcessingMethod = "skip"
SandboxOutcome stringoptional
One of the following:
const PaykeySummaryPagedV1DataConfigSandboxOutcomeStandard PaykeySummaryPagedV1DataConfigSandboxOutcome = "standard"
const PaykeySummaryPagedV1DataConfigSandboxOutcomeActive PaykeySummaryPagedV1DataConfigSandboxOutcome = "active"
const PaykeySummaryPagedV1DataConfigSandboxOutcomeRejected PaykeySummaryPagedV1DataConfigSandboxOutcome = "rejected"
const PaykeySummaryPagedV1DataConfigSandboxOutcomeReview PaykeySummaryPagedV1DataConfigSandboxOutcome = "review"
CreatedAt Time

Timestamp of when the paykey was created.

formatdate-time
Label string

Human-readable label that combines the bank name and masked account number to help easility represent this paykey in a UI

Paykey string

The tokenized paykey value. This value is used to create payments and should be stored securely.

Source string
One of the following:
const PaykeySummaryPagedV1DataSourceBankAccount PaykeySummaryPagedV1DataSource = "bank_account"
const PaykeySummaryPagedV1DataSourceStraddle PaykeySummaryPagedV1DataSource = "straddle"
const PaykeySummaryPagedV1DataSourceMx PaykeySummaryPagedV1DataSource = "mx"
const PaykeySummaryPagedV1DataSourcePlaid PaykeySummaryPagedV1DataSource = "plaid"
const PaykeySummaryPagedV1DataSourceTan PaykeySummaryPagedV1DataSource = "tan"
const PaykeySummaryPagedV1DataSourceQuiltt PaykeySummaryPagedV1DataSource = "quiltt"
Status string
One of the following:
const PaykeySummaryPagedV1DataStatusPending PaykeySummaryPagedV1DataStatus = "pending"
const PaykeySummaryPagedV1DataStatusActive PaykeySummaryPagedV1DataStatus = "active"
const PaykeySummaryPagedV1DataStatusInactive PaykeySummaryPagedV1DataStatus = "inactive"
const PaykeySummaryPagedV1DataStatusRejected PaykeySummaryPagedV1DataStatus = "rejected"
const PaykeySummaryPagedV1DataStatusReview PaykeySummaryPagedV1DataStatus = "review"
const PaykeySummaryPagedV1DataStatusBlocked PaykeySummaryPagedV1DataStatus = "blocked"
UpdatedAt Time

Timestamp of the most recent update to the paykey.

formatdate-time
BankData PaykeySummaryPagedV1DataBankDataoptional
AccountNumber string

Bank account number. This value is masked by default for security reasons. Use the /unmask endpoint to access the unmasked value.

AccountType string
One of the following:
const PaykeySummaryPagedV1DataBankDataAccountTypeChecking PaykeySummaryPagedV1DataBankDataAccountType = "checking"
const PaykeySummaryPagedV1DataBankDataAccountTypeSavings PaykeySummaryPagedV1DataBankDataAccountType = "savings"
RoutingNumber string

The routing number of the bank account.

minLength9
maxLength9
CustomerID stringoptional

Unique identifier of the related customer object.

formatuuid
ExpiresAt Timeoptional

Expiration date and time of the paykey, if applicable.

formatdate-time
ExternalID stringoptional

Unique identifier for the paykey in your database, used for cross-referencing between Straddle and your systems.

InstitutionName stringoptional

Name of the financial institution.

StatusDetails PaykeySummaryPagedV1DataStatusDetailsoptional
ChangedAt Time

The time the status change occurred.

formatdate-time
Message string

A human-readable description of the current status.

Reason string
One of the following:
const PaykeySummaryPagedV1DataStatusDetailsReasonInsufficientFunds PaykeySummaryPagedV1DataStatusDetailsReason = "insufficient_funds"
const PaykeySummaryPagedV1DataStatusDetailsReasonClosedBankAccount PaykeySummaryPagedV1DataStatusDetailsReason = "closed_bank_account"
const PaykeySummaryPagedV1DataStatusDetailsReasonInvalidBankAccount PaykeySummaryPagedV1DataStatusDetailsReason = "invalid_bank_account"
const PaykeySummaryPagedV1DataStatusDetailsReasonInvalidRouting PaykeySummaryPagedV1DataStatusDetailsReason = "invalid_routing"
const PaykeySummaryPagedV1DataStatusDetailsReasonDisputed PaykeySummaryPagedV1DataStatusDetailsReason = "disputed"
const PaykeySummaryPagedV1DataStatusDetailsReasonPaymentStopped PaykeySummaryPagedV1DataStatusDetailsReason = "payment_stopped"
const PaykeySummaryPagedV1DataStatusDetailsReasonOwnerDeceased PaykeySummaryPagedV1DataStatusDetailsReason = "owner_deceased"
const PaykeySummaryPagedV1DataStatusDetailsReasonFrozenBankAccount PaykeySummaryPagedV1DataStatusDetailsReason = "frozen_bank_account"
const PaykeySummaryPagedV1DataStatusDetailsReasonRiskReview PaykeySummaryPagedV1DataStatusDetailsReason = "risk_review"
const PaykeySummaryPagedV1DataStatusDetailsReasonFraudulent PaykeySummaryPagedV1DataStatusDetailsReason = "fraudulent"
const PaykeySummaryPagedV1DataStatusDetailsReasonDuplicateEntry PaykeySummaryPagedV1DataStatusDetailsReason = "duplicate_entry"
const PaykeySummaryPagedV1DataStatusDetailsReasonInvalidPaykey PaykeySummaryPagedV1DataStatusDetailsReason = "invalid_paykey"
const PaykeySummaryPagedV1DataStatusDetailsReasonPaymentBlocked PaykeySummaryPagedV1DataStatusDetailsReason = "payment_blocked"
const PaykeySummaryPagedV1DataStatusDetailsReasonAmountTooLarge PaykeySummaryPagedV1DataStatusDetailsReason = "amount_too_large"
const PaykeySummaryPagedV1DataStatusDetailsReasonTooManyAttempts PaykeySummaryPagedV1DataStatusDetailsReason = "too_many_attempts"
const PaykeySummaryPagedV1DataStatusDetailsReasonInternalSystemError PaykeySummaryPagedV1DataStatusDetailsReason = "internal_system_error"
const PaykeySummaryPagedV1DataStatusDetailsReasonUserRequest PaykeySummaryPagedV1DataStatusDetailsReason = "user_request"
const PaykeySummaryPagedV1DataStatusDetailsReasonOk PaykeySummaryPagedV1DataStatusDetailsReason = "ok"
const PaykeySummaryPagedV1DataStatusDetailsReasonOtherNetworkReturn PaykeySummaryPagedV1DataStatusDetailsReason = "other_network_return"
const PaykeySummaryPagedV1DataStatusDetailsReasonPayoutRefused PaykeySummaryPagedV1DataStatusDetailsReason = "payout_refused"
const PaykeySummaryPagedV1DataStatusDetailsReasonCancelRequest PaykeySummaryPagedV1DataStatusDetailsReason = "cancel_request"
const PaykeySummaryPagedV1DataStatusDetailsReasonFailedVerification PaykeySummaryPagedV1DataStatusDetailsReason = "failed_verification"
const PaykeySummaryPagedV1DataStatusDetailsReasonRequireReview PaykeySummaryPagedV1DataStatusDetailsReason = "require_review"
const PaykeySummaryPagedV1DataStatusDetailsReasonBlockedBySystem PaykeySummaryPagedV1DataStatusDetailsReason = "blocked_by_system"
const PaykeySummaryPagedV1DataStatusDetailsReasonWatchtowerReview PaykeySummaryPagedV1DataStatusDetailsReason = "watchtower_review"
const PaykeySummaryPagedV1DataStatusDetailsReasonValidating PaykeySummaryPagedV1DataStatusDetailsReason = "validating"
const PaykeySummaryPagedV1DataStatusDetailsReasonAutoHold PaykeySummaryPagedV1DataStatusDetailsReason = "auto_hold"
Source string
One of the following:
const PaykeySummaryPagedV1DataStatusDetailsSourceWatchtower PaykeySummaryPagedV1DataStatusDetailsSource = "watchtower"
const PaykeySummaryPagedV1DataStatusDetailsSourceBankDecline PaykeySummaryPagedV1DataStatusDetailsSource = "bank_decline"
const PaykeySummaryPagedV1DataStatusDetailsSourceCustomerDispute PaykeySummaryPagedV1DataStatusDetailsSource = "customer_dispute"
const PaykeySummaryPagedV1DataStatusDetailsSourceUserAction PaykeySummaryPagedV1DataStatusDetailsSource = "user_action"
const PaykeySummaryPagedV1DataStatusDetailsSourceSystem PaykeySummaryPagedV1DataStatusDetailsSource = "system"
Code stringoptional

The status code if applicable.

UnblockEligible booloptional

Indicates whether this paykey is eligible for client-initiated unblocking. Only present for blocked paykeys. True when blocked due to R29 returns and not previously unblocked, false otherwise. Null when paykey is not blocked.

List paykeys

package main

import (
  "context"
  "fmt"

  "github.com/straddleio/straddle-go"
  "github.com/straddleio/straddle-go/option"
)

func main() {
  client := straddle.NewClient(
    option.WithAPIKey("My API Key"),
  )
  page, err := client.Paykeys.List(context.TODO(), straddle.PaykeyListParams{

  })
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", page)
}
{
  "data": [
    {
      "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
      "config": {
        "processing_method": "inline",
        "sandbox_outcome": "standard"
      },
      "created_at": "2019-12-27T18:11:19.117Z",
      "label": "Bank of America ****1234",
      "paykey": "paykey",
      "source": "bank_account",
      "status": "pending",
      "updated_at": "2019-12-27T18:11:19.117Z",
      "bank_data": {
        "account_number": "****1234",
        "account_type": "checking",
        "routing_number": "021000021"
      },
      "customer_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
      "expires_at": "2019-12-27T18:11:19.117Z",
      "external_id": "external_id",
      "institution_name": "Bank of America",
      "status_details": {
        "changed_at": "2019-12-27T18:11:19.117Z",
        "message": "Bank account sucesfully validated",
        "reason": "insufficient_funds",
        "source": "watchtower",
        "code": "code"
      },
      "unblock_eligible": true
    }
  ],
  "meta": {
    "api_request_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    "api_request_timestamp": "2019-12-27T18:11:19.117Z",
    "max_page_size": 0,
    "page_number": 0,
    "page_size": 0,
    "sort_by": "sort_by",
    "sort_order": "asc",
    "total_items": 0,
    "total_pages": 0
  },
  "response_type": "object"
}
Returns Examples
{
  "data": [
    {
      "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
      "config": {
        "processing_method": "inline",
        "sandbox_outcome": "standard"
      },
      "created_at": "2019-12-27T18:11:19.117Z",
      "label": "Bank of America ****1234",
      "paykey": "paykey",
      "source": "bank_account",
      "status": "pending",
      "updated_at": "2019-12-27T18:11:19.117Z",
      "bank_data": {
        "account_number": "****1234",
        "account_type": "checking",
        "routing_number": "021000021"
      },
      "customer_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
      "expires_at": "2019-12-27T18:11:19.117Z",
      "external_id": "external_id",
      "institution_name": "Bank of America",
      "status_details": {
        "changed_at": "2019-12-27T18:11:19.117Z",
        "message": "Bank account sucesfully validated",
        "reason": "insufficient_funds",
        "source": "watchtower",
        "code": "code"
      },
      "unblock_eligible": true
    }
  ],
  "meta": {
    "api_request_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    "api_request_timestamp": "2019-12-27T18:11:19.117Z",
    "max_page_size": 0,
    "page_number": 0,
    "page_size": 0,
    "sort_by": "sort_by",
    "sort_order": "asc",
    "total_items": 0,
    "total_pages": 0
  },
  "response_type": "object"
}