Skip to content
  • Auto
  • Light
  • Dark
Get started
View as Markdown
Copy Markdown

Open in Claude
Open in ChatGPT

Paykeys

Lookup a paykey
paykeys.get(id, **kwargs) -> PaykeyV1 { data, meta, response_type }
get/v1/paykeys/{id}
Unmask a paykey
paykeys.unmasked(id, **kwargs) -> PaykeyUnmaskedV1 { data, meta, response_type }
get/v1/paykeys/{id}/unmasked
List paykeys
paykeys.list(**kwargs) -> PageNumberSchema<{ id, config, created_at, 11 more}>
get/v1/paykeys
Retrieve an unmasked paykey
paykeys.reveal(id, **kwargs) -> PaykeyRevealResponse { data, meta, response_type }
get/v1/paykeys/{id}/reveal
Cancel
paykeys.cancel(id, **kwargs) -> PaykeyV1 { data, meta, response_type }
put/v1/paykeys/{id}/cancel
Update a paykey's balance
paykeys.update_balance(id, **kwargs) -> PaykeyV1 { data, meta, response_type }
put/v1/paykeys/{id}/refresh_balance
ModelsExpand Collapse
class PaykeySummaryPagedV1 { data, meta, response_type }
data: Array[{ id, config, created_at, 11 more}]
id: String

Unique identifier for the paykey.

formatuuid
config: { processing_method, sandbox_outcome}
processing_method: :inline | :background | :skip
Accepts one of the following:
:inline
:background
:skip
sandbox_outcome: :standard | :active | :rejected | :review
Accepts one of the following:
:standard
:active
:rejected
:review
created_at: 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: :bank_account | :straddle | :mx | 3 more
Accepts one of the following:
:bank_account
:straddle
:mx
:plaid
:tan
:quiltt
status: :pending | :active | :inactive | 2 more
Accepts one of the following:
:pending
:active
:inactive
:rejected
:review
updated_at: Time

Timestamp of the most recent update to the paykey.

formatdate-time
bank_data: { account_number, account_type, routing_number}
account_number: String

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

account_type: :checking | :savings
Accepts one of the following:
:checking
:savings
routing_number: String

The routing number of the bank account.

minLength9
maxLength9
customer_id: String

Unique identifier of the related customer object.

formatuuid
expires_at: Time

Expiration date and time of the paykey, if applicable.

formatdate-time
external_id: String

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

institution_name: String

Name of the financial institution.

status_details: { changed_at, message, reason, 2 more}
changed_at: Time

The time the status change occurred.

formatdate-time
message: String

A human-readable description of the current status.

reason: :insufficient_funds | :closed_bank_account | :invalid_bank_account | 17 more
Accepts one of the following:
:insufficient_funds
:closed_bank_account
:invalid_bank_account
:invalid_routing
:disputed
:payment_stopped
:owner_deceased
:frozen_bank_account
:risk_review
:fraudulent
:duplicate_entry
:invalid_paykey
:payment_blocked
:amount_too_large
:too_many_attempts
:internal_system_error
:user_request
:ok
:other_network_return
:payout_refused
source: :watchtower | :bank_decline | :customer_dispute | 2 more
Accepts one of the following:
:watchtower
:bank_decline
:customer_dispute
:user_action
:system
code: String

The status code if applicable.

meta: { api_request_id, api_request_timestamp, max_page_size, 6 more}
api_request_id: String

Unique identifier for this API request, useful for troubleshooting.

formatuuid
api_request_timestamp: Time

Timestamp for this API request, useful for troubleshooting.

formatdate-time
max_page_size: Integer

Maximum allowed page size for this endpoint.

formatint32
page_number: Integer

Page number for paginated results.

formatint32
page_size: Integer

Number of items per page in this response.

formatint32
sort_by: String

The field that the results were sorted by.

sort_order: :asc | :desc
Accepts one of the following:
:asc
:desc
total_items: Integer
total_pages: Integer

The number of pages available.

formatint32
response_type: :object | :array | :error | :none

Indicates the structure of the returned content.

  • "object" means the data field contains a single JSON object.
  • "array" means the data field contains an array of objects.
  • "error" means the data field contains an error object with details of the issue.
  • "none" means no data is returned.
Accepts one of the following:
:object
:array
:error
:none
class PaykeyUnmaskedV1 { data, meta, response_type }
data: { id, config, created_at, 13 more}
id: String

Unique identifier for the paykey.

formatuuid
config: { processing_method, sandbox_outcome}
processing_method: :inline | :background | :skip
Accepts one of the following:
:inline
:background
:skip
sandbox_outcome: :standard | :active | :rejected | :review
Accepts one of the following:
:standard
:active
:rejected
:review
created_at: Time

Timestamp of when the paykey was created.

formatdate-time
label: String

Human-readable label used to 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: :bank_account | :straddle | :mx | 3 more
Accepts one of the following:
:bank_account
:straddle
:mx
:plaid
:tan
:quiltt
status: :pending | :active | :inactive | 2 more
Accepts one of the following:
:pending
:active
:inactive
:rejected
:review
updated_at: Time

Timestamp of the most recent update to the paykey.

formatdate-time
balance: { status, account_balance, updated_at}
status: :pending | :completed | :failed
Accepts one of the following:
:pending
:completed
:failed
account_balance: Integer

Account Balance when last retrieved

formatint32
updated_at: Time

Last time account balance was updated.

formatdate-time
bank_data: { account_number, account_type, routing_number}
account_number: String

The bank account number

account_type: :checking | :savings
Accepts one of the following:
:checking
:savings
routing_number: String

The routing number of the bank account.

minLength9
maxLength9
customer_id: String

Unique identifier of the related customer object.

formatuuid
expires_at: Time

Expiration date and time of the paykey, if applicable.

formatdate-time
external_id: String

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

institution_name: String

Name of the financial institution.

metadata: Hash[Symbol, String]

Up to 20 additional user-defined key-value pairs. Useful for storing additional information about the paykey in a structured format.

status_details: { changed_at, message, reason, 2 more}
changed_at: Time

The time the status change occurred.

formatdate-time
message: String

A human-readable description of the current status.

reason: :insufficient_funds | :closed_bank_account | :invalid_bank_account | 17 more
Accepts one of the following:
:insufficient_funds
:closed_bank_account
:invalid_bank_account
:invalid_routing
:disputed
:payment_stopped
:owner_deceased
:frozen_bank_account
:risk_review
:fraudulent
:duplicate_entry
:invalid_paykey
:payment_blocked
:amount_too_large
:too_many_attempts
:internal_system_error
:user_request
:ok
:other_network_return
:payout_refused
source: :watchtower | :bank_decline | :customer_dispute | 2 more
Accepts one of the following:
:watchtower
:bank_decline
:customer_dispute
:user_action
:system
code: String

The status code if applicable.

meta: ResponseMetadata { api_request_id, api_request_timestamp }

Metadata about the API request, including an identifier and timestamp.

api_request_id: String

Unique identifier for this API request, useful for troubleshooting.

formatuuid
api_request_timestamp: Time

Timestamp for this API request, useful for troubleshooting.

formatdate-time
response_type: :object | :array | :error | :none

Indicates the structure of the returned content.

  • "object" means the data field contains a single JSON object.
  • "array" means the data field contains an array of objects.
  • "error" means the data field contains an error object with details of the issue.
  • "none" means no data is returned.
Accepts one of the following:
:object
:array
:error
:none
class PaykeyV1 { data, meta, response_type }
data: { id, config, created_at, 13 more}
id: String

Unique identifier for the paykey.

formatuuid
config: { processing_method, sandbox_outcome}
processing_method: :inline | :background | :skip
Accepts one of the following:
:inline
:background
:skip
sandbox_outcome: :standard | :active | :rejected | :review
Accepts one of the following:
:standard
:active
:rejected
:review
created_at: Time

Timestamp of when the paykey was created.

formatdate-time
label: String

Human-readable label used to 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: :bank_account | :straddle | :mx | 3 more
Accepts one of the following:
:bank_account
:straddle
:mx
:plaid
:tan
:quiltt
status: :pending | :active | :inactive | 2 more
Accepts one of the following:
:pending
:active
:inactive
:rejected
:review
updated_at: Time

Timestamp of the most recent update to the paykey.

formatdate-time
balance: { status, account_balance, updated_at}
status: :pending | :completed | :failed
Accepts one of the following:
:pending
:completed
:failed
account_balance: Integer

Account Balance when last retrieved

formatint32
updated_at: Time

Last time account balance was updated.

formatdate-time
bank_data: { account_number, account_type, routing_number}
account_number: String

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

account_type: :checking | :savings
Accepts one of the following:
:checking
:savings
routing_number: String

The routing number of the bank account.

minLength9
maxLength9
customer_id: String

Unique identifier of the related customer object.

formatuuid
expires_at: Time

Expiration date and time of the paykey, if applicable.

formatdate-time
external_id: String

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

institution_name: String

Name of the financial institution.

metadata: Hash[Symbol, String]

Up to 20 additional user-defined key-value pairs. Useful for storing additional information about the paykey in a structured format.

status_details: { changed_at, message, reason, 2 more}
changed_at: Time

The time the status change occurred.

formatdate-time
message: String

A human-readable description of the current status.

reason: :insufficient_funds | :closed_bank_account | :invalid_bank_account | 17 more
Accepts one of the following:
:insufficient_funds
:closed_bank_account
:invalid_bank_account
:invalid_routing
:disputed
:payment_stopped
:owner_deceased
:frozen_bank_account
:risk_review
:fraudulent
:duplicate_entry
:invalid_paykey
:payment_blocked
:amount_too_large
:too_many_attempts
:internal_system_error
:user_request
:ok
:other_network_return
:payout_refused
source: :watchtower | :bank_decline | :customer_dispute | 2 more
Accepts one of the following:
:watchtower
:bank_decline
:customer_dispute
:user_action
:system
code: String

The status code if applicable.

meta: ResponseMetadata { api_request_id, api_request_timestamp }

Metadata about the API request, including an identifier and timestamp.

api_request_id: String

Unique identifier for this API request, useful for troubleshooting.

formatuuid
api_request_timestamp: Time

Timestamp for this API request, useful for troubleshooting.

formatdate-time
response_type: :object | :array | :error | :none

Indicates the structure of the returned content.

  • "object" means the data field contains a single JSON object.
  • "array" means the data field contains an array of objects.
  • "error" means the data field contains an error object with details of the issue.
  • "none" means no data is returned.
Accepts one of the following:
:object
:array
:error
:none

PaykeysReview

Update a paykey's status
paykeys.review.decision(id, **kwargs) -> PaykeyV1 { data, meta, response_type }
patch/v1/paykeys/{id}/review
Get paykey review details
paykeys.review.get(id, **kwargs) -> ReviewGetResponse { data, meta, response_type }
get/v1/paykeys/{id}/review
Update a paykey's identity review decision
paykeys.review.refresh_review(id, **kwargs) -> PaykeyV1 { data, meta, response_type }
put/v1/paykeys/{id}/refresh_review