## 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. ### Parameters - `params PaykeyListParams` - `CustomerID param.Field[string]` Query param: Filter paykeys by related customer ID. - `PageNumber param.Field[int64]` Query param: Page number for paginated results. Starts at 1. - `PageSize param.Field[int64]` Query param: Number of results per page. Maximum: 1000. - `SearchText param.Field[string]` Query param: General search term to filter paykeys. - `SortBy param.Field[PaykeyListParamsSortBy]` Query param - `const PaykeyListParamsSortByInstitutionName PaykeyListParamsSortBy = "institution_name"` - `const PaykeyListParamsSortByExpiresAt PaykeyListParamsSortBy = "expires_at"` - `const PaykeyListParamsSortByCreatedAt PaykeyListParamsSortBy = "created_at"` - `SortOrder param.Field[PaykeyListParamsSortOrder]` Query param - `const PaykeyListParamsSortOrderAsc PaykeyListParamsSortOrder = "asc"` - `const PaykeyListParamsSortOrderDesc PaykeyListParamsSortOrder = "desc"` - `Source param.Field[[]string]` 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]` 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]` 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]` Header param: Optional client generated identifier to trace and debug a series of requests. - `RequestID param.Field[string]` Header param: Optional client generated identifier to trace and debug a request. - `StraddleAccountID param.Field[string]` Header param: For use by platforms to specify an account id and set scope of a request. ### Returns - `type PaykeySummaryPagedV1Data struct{…}` - `ID string` Unique identifier for the paykey. - `Config PaykeySummaryPagedV1DataConfig` - `ProcessingMethod string` - `const PaykeySummaryPagedV1DataConfigProcessingMethodInline PaykeySummaryPagedV1DataConfigProcessingMethod = "inline"` - `const PaykeySummaryPagedV1DataConfigProcessingMethodBackground PaykeySummaryPagedV1DataConfigProcessingMethod = "background"` - `const PaykeySummaryPagedV1DataConfigProcessingMethodSkip PaykeySummaryPagedV1DataConfigProcessingMethod = "skip"` - `SandboxOutcome string` - `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. - `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` - `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` - `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. - `BankData PaykeySummaryPagedV1DataBankData` - `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` - `const PaykeySummaryPagedV1DataBankDataAccountTypeChecking PaykeySummaryPagedV1DataBankDataAccountType = "checking"` - `const PaykeySummaryPagedV1DataBankDataAccountTypeSavings PaykeySummaryPagedV1DataBankDataAccountType = "savings"` - `RoutingNumber string` The routing number of the bank account. - `CustomerID string` Unique identifier of the related customer object. - `ExpiresAt Time` Expiration date and time of the paykey, if applicable. - `ExternalID string` Unique identifier for the paykey in your database, used for cross-referencing between Straddle and your systems. - `InstitutionName string` Name of the financial institution. - `StatusDetails PaykeySummaryPagedV1DataStatusDetails` - `ChangedAt Time` The time the status change occurred. - `Message string` A human-readable description of the current status. - `Reason string` - `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` - `const PaykeySummaryPagedV1DataStatusDetailsSourceWatchtower PaykeySummaryPagedV1DataStatusDetailsSource = "watchtower"` - `const PaykeySummaryPagedV1DataStatusDetailsSourceBankDecline PaykeySummaryPagedV1DataStatusDetailsSource = "bank_decline"` - `const PaykeySummaryPagedV1DataStatusDetailsSourceCustomerDispute PaykeySummaryPagedV1DataStatusDetailsSource = "customer_dispute"` - `const PaykeySummaryPagedV1DataStatusDetailsSourceUserAction PaykeySummaryPagedV1DataStatusDetailsSource = "user_action"` - `const PaykeySummaryPagedV1DataStatusDetailsSourceSystem PaykeySummaryPagedV1DataStatusDetailsSource = "system"` - `Code string` The status code if applicable. - `UnblockEligible bool` 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. ### Example ```go 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) } ``` #### Response ```json { "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" } ```