openapi: 3.0.3 info: contact: email: support@marqeta.com name: Marqeta description: Marqeta's Core API endpoints, conveniently annotated to enable code generation (including SDKs), test cases, and documentation. Currently in beta. termsOfService: https://www.marqeta.com/api-terms title: Core API version: 3.0.25 servers: - url: /v3 security: - mqAppAndAccessToken: [ ] tags: - description: |- // Conditional snippet for beta or internal content include::../../maturity-admonition-banner.adoc[] Use the `/acceptedcountries` endpoint to manage the countries where you authorize your cardholders to transact. name: Accepted Countries - description: |- The account holder group is a Marqeta platform resource that allows you to configure multiple account holders (user and/or business resources) as a group. It allows certain settings to be selectively applied, depending on whether or not an account holder has passed verification (KYC). You associate an account holder with an account holder group using the optional `account_holder_group_token` field in the user or business resource. Any account holder that you do not explicitly associate with a group is automatically associated with the program's default account holder group. The default group's name is "Default account holder group", its token is `DEFAULT_AHG`, and its configuration uses the default configuration values. name: Account Holder Groups - description: |- An authorization control limits spending by specified users at specified merchants. You can limit spending at a single merchant or at a group of merchants, and you can limit spending by a single user, users with a particular card product, or all users. You can block spending at all merchants by default and then allow it for specific merchants, or you can allow spending at all merchants by default and block it at specific merchants. [TIP] See <</developer-guides/controlling-spending, Controlling Spending>> for a tutorial that walks you through the creation of a spend control, as well as links to more information about merchant category codes. name: Authorization Controls - description: |- Auto reload enables you to automatically load a specified amount into an account when the account balance falls below a defined threshold. Auto reloads execute only when the account balance falls below the trigger value due to spending. They do not execute due to unloading of funds or because of lack of funds when a user or business is first created. You can define auto reloads at the level of an account holder, a card product, or a program. Each auto reload draws from a single funding source. In the case of auto reloads defined at more than one level, the following order of precedence (first to last) determines which auto reload is executed: . Account holder . Card product . Program name: Auto Reload - description: |- Use the `/balances` endpoint to retrieve the following general purpose account (GPA) balance details for a user or business: * *Ledger balance* - When using standard funding: The funds that are available to spend immediately, including funds from any authorized transactions that have not yet cleared. When using Just-in-Time (JIT) Funding: Authorized funds that are currently on hold, but not yet cleared. * *Available balance* - The ledger balance minus any authorized transactions that have not yet cleared. Also known as the cardholder's purchasing power. If you are using JIT Funding, this balance is usually 0.00. * *Cached balance* - Not currently used. * *Credit balance* - Not currently used. * *Pending credits* - ACH loads that have been accepted, but for which the funding time has not yet elapsed. name: Balances - description: |- // Conditional snippet for beta or internal content include::../../maturity-admonition-banner.adoc[] Use the `/banktransfers` endpoint to move funds between your program funding or cardholder account and an external account over the ACH Network. This kind of bank transfer is also known as ACH origination. You can create the following types of transfers: * *Push* funds from your program funding or cardholder account to an external account. * *Pull* funds from your external account into your program funding or cardholder account. You must have an existing bank account at a US bank to fund or receive funds from your Marqeta account. To add an external program funding source account to the Marqeta platform, send a `POST` request to the `/fundingsources/program/ach` endpoint to PUSH or PULL money from or to the Program Funding Account. To add an external account holder funding source account to the Marqeta platform, send a `POST` request to the `/fundingsources/ach` endpoint to PUSH or PULL money from or to the Cardholder Account. For more information on ACH funding, see <</developer-guides/ach-origination, ACH Origination>>. name: Funding via ACH - name: internal - description: |- Use the `/bulkissuances` endpoint to order physical payment cards in bulk. For more information on cards, card products, and bulk card ordering, see <</developer-guides/about-cards, About Cards>>. Some attributes of the `bulkissuance` object can also be defined in an associated `card` or `cardproduct` object. If you define one of these attributes in more than one object, the Marqeta platform applies an order of precedence to determine which attribute to use at fulfillment time. The order of precedence is as follows: . `card` . `bulkissuance` . `cardproduct` Defining an attribute in an object with higher precedence does not overwrite the same attribute in a lower-precedence object; the Marqeta platform ignores these lower-precedence attributes. For more information on cards, see <</developer-guides/about-cards, About Cards>>. name: Bulk Card Orders - description: |- A business is a type of account holder that cannot directly hold cards, but can have parent/child relationships with card-holding users. A business can monitor and control card use by a specified group of users. Every business has a general purpose account (GPA). For information on how to create a user that has a child-to-parent hierarchical relationship to the business, see <</core-api/users#_create_user, Create User>>. [NOTE] A user can simultaneously be a child of a business and a parent of other users if the user is not configured to use the parent's account balances and the user's children are configured to use the parent's account balances. For more information on account holders, see <</developer-guides/about-account-holders, About Account Holders>>. name: Businesses - description: |- // Conditional snippet for beta or internal content include::../../maturity-admonition-banner.adoc[] Use the `/businesstransitions` endpoints to transition business resources between states, as well as to retrieve and list state changes for a business resource. name: Business Transitions - description: |- // Conditional snippet for beta or internal content include::../../maturity-admonition-banner.adoc[] //This source file is used by InfoDev to generate API reference documentation. File location in GitHub is: //openapi/cardproducts/openapi.yaml The card products resource represents the behavior and functionality of one or more cards (either physical or virtual). For example, attributes of the card product determine whether the associated cards can be used at an ATM and/or online and whether they are currently enabled. For physical cards, the card product determines color and other printing specifications for when the cards are manufactured and personalized. You can optionally associate authorization controls and/or velocity controls with card products to restrict where and how associated cards are used. If your program is Managed by Marqeta, then Marqeta will create the card products for your production environment. Some attributes of the `cardproduct` object can also be defined in an associated `bulkissuance` or `card` object. If you define one of these attributes in more than one object, the Marqeta platform applies an order of precedence to determine which attribute to use at fulfillment time. The order of precedence is as follows: . `card` . `bulkissuance` . `cardproduct` Defining an attribute in an object with higher precedence does not overwrite the same attribute in a lower-precedence object; the Marqeta platform ignores these lower-precedence attributes. For more information on cards, see <</developer-guides/about-cards, About Cards>>. name: Card Products - description: |- The `card` resource represents a payment card. Cards are derived from and controlled by the `cardproduct` resource. For more information on cards, see <</developer-guides/about-cards, About Cards>>. Some attributes of the `card` resource can be defined in an associated `bulkissuance` or `cardproduct` resource. If you define one of these attributes in more than one object, the order of precedence at fulfillment time is as follows: . `card` . `bulkissuance` . `cardproduct` Defining an attribute in an object with higher precedence overrides, but does not overwrite, the attribute in a lower-precedence object. name: Cards - description: Use the `/cardtransitions` API to set the state of an existing card. name: Card Transitions - description: |- Commando Mode is a fallback measure that ensures Gateway JIT-funded cards continue to function in the event that your system fails. If your system cannot respond to the JIT Funding request, the Marqeta platform makes a decision in your place based on defined business rules. The Marqeta platform stores any unsent webhooks for later transmission, ensuring that the card state and account balances on your system correspond with activity that occurred while Commando Mode was in effect. You can identify transactions that were funded while Commando Mode was in effect by examining the `subnetwork` field of the transaction record. * A `subnetwork` value of `GATEWAY_JIT` indicates that the transaction was funded through normal Gateway JIT Funding and that Commando Mode was not in effect at the time. * A value of `MANAGED_JIT` indicates that the transaction was funded while Commando Mode was in effect. In addition, the `standin_approved_by` field has a value of `COMMANDO_AUTO` or `COMMANDO_MANUAL` when Commando Mode is enabled for a transaction. When `COMMANDO_MANUAL` is configured, all transactions are processed via Commando Mode. When `COMMANDO_AUTO` is configured, Commando Mode is enabled only when a transaction times out or encounters an error. While Commando Mode is a form of Stand-in Processing (STIP), it is different than network STIP. Network STIP occurs when the card network cannot communicate with the Marqeta platform. Transactions handled by network STIP include the `standin_approved_by` field with a value of `NETWORK`. Commando Mode and Managed JIT Funding are functionally equivalent. See <</developer-guides/about-jit-funding, About Just-in-Time Funding>> for more information. [NOTE] Commando Mode requires additional configuration. To configure Commando Mode control sets, contact your Marqeta representative. name: Commando Mode - name: accepted countries - name: account holder groups - name: accounting - name: auth controls - name: authentications - name: auto reloads - name: balance APIs - name: balance caches - name: bank transfers - name: bulk issuances - name: business transitions - name: businesses - name: businessidentitycheck - name: caches - name: calculation schedules - name: card products - name: card transitions - name: cardholder balances - name: cards - name: chargebacks - name: clearing - name: commando modes - name: cron jobs - name: digital wallet provision requests - name: digital wallet token transitions - name: digital wallet tokens - name: direct deposit accounts - name: direct deposits - name: fee charges - name: fee refunds - name: fees - name: file processing - name: funding sources - name: Funds movement - name: gateways - name: Generic money transfers - name: GPA fund transfers - name: gpa orders - name: health checks - name: kyblog - name: kyc - name: mcc groups - name: merchantgroups - name: Operations for digital wallet token requestor maps - name: peer transfers - name: ping - name: pins - name: post transactions - name: program - name: program configs - name: program reserve - name: program transfers - name: push to card - name: real time fee groups - name: simulate - name: transactions - name: user transitions - name: users - name: velocity controls - name: web push provisioning - name: webhooks - description: |- // Conditional snippet for beta or internal content include::../../maturity-admonition-banner.adoc[] // This source file is used by InfoDev to generate API reference documentation. // File location in GitHub is: openapi/feecharges/openapi.yaml A fee charge moves funds from the general purpose account (GPA) of an account holder to your program's fee account. The charge amount is determined by the fee that is assessed. The request returns an error if the GPA has insufficient funds to cover the fee. This behavior contrasts with assessing a fee using the `/gpaorders` endpoint, in which case the amount of the fee is loaded into the GPA from the funding source before the GPA is debited. name: Fee Charges - description: |- // Conditional snippet for beta or internal content include::../../maturity-admonition-banner.adoc[] // This source file is used by InfoDev to generate API reference documentation. File location in GitHub is: // File location in GitHub is: openapi/feerefunds/openapi.yaml Use the `/feerefunds` endpoint to refund fees to your account holder's general purpose account (GPA). name: Fee Refunds - description: |- // Conditional snippet for beta or internal content include::../../maturity-admonition-banner.adoc[] // This source file is used by InfoDev to generate API reference documentation. File location in GitHub is: // File location in GitHub is: openapi/fees/openapi.yaml A `fees` resource represents a monetary assessment against an account holder's general purpose account (GPA). Assessing a fee transfers funds from the account holder's GPA account to your program's fee account. By default, every account has a GPA account used for the funding of transfers. You can assess fees either post-transaction or in real time. Real-time fee assessment ensures the account has sufficient funds available to cover both the transaction amount and the fee before authorization of the transaction. To assess fees in real time, you must create a real-time fee group using the `/realtimefeegroups` endpoint. When assessing a post-transaction fee, you can either debit existing GPA funds, or pull in new funds from a funding source. To use existing GPA funds, use the `/feetransfers` endpoint. To pull in new funds, use the fees array in `/gpaorders`. [NOTE] If your program uses Gateway JIT Funding, you cannot assess fees. name: Fees - description: |- // Conditional snippet for beta or internal content include::../../maturity-admonition-banner.adoc[] The address resource is your billing address. An active address is required in order to use a payment card funding source. To associate an address with a funding source, use the same `user_token` or `business_token` for both resources. [NOTE] The `/users` and `/businesses` resources also have address fields. Those are used for other purposes, such as KYC identity verification or as shipping addresses for physical cards. name: Addresses - description: |- // Conditional snippet for beta or internal content include::../../maturity-admonition-banner.adoc[] Use the `/fundingsources/ach`, `/fundingsources/ach/partner`, and `/fundingsources/paymentcard` endpoints to create account holder funding sources. A funding source enables access to funds outside of the Marqeta platform. For more information on users and businesses, see <</developer-guides/about-account-holders, About Account Holders>>. name: Account Holder Funding Sources - description: |- // Conditional snippet for beta or internal content include::../../maturity-admonition-banner.adoc[] Use the `/fundingsources/program` endpoint to create a program funding source. A program funding source represents a bank account from which funds are drawn for Managed Just-in-Time (JIT) Funding transactions. For more information about JIT Funding, see <</developer-guides/about-jit-funding, About Just-in-Time Funding>>. In the sandbox environment, each program funding source you create simulates funds for use in test transactions. In production environments, program funding sources are created by Marqeta and draw funds from a bank account you set up in conjunction with Marqeta. [NOTE] Your program funding source must be approved by Marqeta and the issuing bank. If you are using a third-party service to collect user funds, Marqeta and the issuing bank require specific reporting to ensure compliance with applicable rules and regulations. Contact Marqeta for more information. name: Program Funding Sources - description: |- // Conditional snippet for beta or internal content include::../../maturity-admonition-banner.adoc[] Use the `/fundingsources/programgateway` endpoint to create a program gateway funding source. A program gateway funding source represents a bank account from which funds are drawn for Gateway Just-in-Time (JIT) Funding transactions. For more information about JIT Funding, see <</developer-guides/about-jit-funding, About Just-in-Time Funding>>. In a sandbox environment, you can create a program gateway funding source that simulates funds for use in test transactions. In a production environment, you must work with a Marqeta representative to define the bank account from which the program gateway funding source draws funds. [NOTE] If you are using a third-party service to collect user funds, Marqeta and the issuing bank require specific reporting to ensure compliance with applicable rules and regulations. Contact Marqeta for more information. name: Program Gateway Funding Sources - description: |- // Conditional snippet for beta or internal content include::../../maturity-admonition-banner.adoc[] The `/gpaorders` endpoint moves funds from a funding source into an account holder's general-purpose account (GPA). GPA orders can also be used to move funds from an account holder's funding source into your program's fee account. GPA orders can be funded by the account holder or your program. name: GPA Orders - description: |- // Conditional snippet for beta or internal content include::../../maturity-admonition-banner.adoc[] Use the `/kyc` endpoint to perform Know Your Customer (KYC) verification tasks for your account holders. This endpoint can only be used to perform KYC verification for individuals or businesses in the United States. For more information about KYC verification, see <</developer-guides/about-kyc, About KYC Verification>>. For more information about account holders, see <</developer-guides/about-account-holders, About Account Holders>>. name: KYC Verification - description: |- A merchant category code (MCC) is a four-digit number assigned by card networks to a business based on the goods or services offered by the business. On the Marqeta platform, an MCC group defines a set of MCCs. You can include an MCC group within a spend control to limit user spending at a set of merchants. An MCC group also allows you to automatically increase authorization amounts and to control the expiration of authorizations for the specified MCCs. By default, these controls apply to all cards in your program. An MCC group authorization control can have exceptions defined at the card product level. See <</developer-guides/controlling-spending, Controlling Spending>> for a tutorial that walks you through the creation of a spend control, as well as links to more information about merchant category codes. name: MCC Groups - description: |- Use the `/merchantgroups` endpoint to create, update, and retrieve groups of merchant identifiers (MIDs). You can use merchant groups for authorization controls and in card product configurations. For example, use a merchant group to create a <</core-api/authorization-controls#_create_a_merchant_mid_exemption, merchant exemption>> for a group of merchants rather than an individual merchant. name: Merchant Groups - description: |- A peer transfer moves funds from the general purpose account (GPA) of an account holder (a user or business) to another account within your program. Both the sender and recipient accounts must be active. [NOTE] The `/peertransfers` endpoint is only available for specific, pre-approved use cases. For more information about this endpoint, contact your Marqeta representative. name: Peer Transfers - description: |- // Conditional snippet for beta or internal content include::../../maturity-admonition-banner.adoc[] Use the `/pins` endpoint to create, update, or reveal a personal identification number (PIN) for a card. name: PINs - description: |- // Conditional snippet for beta or internal content include::../../maturity-admonition-banner.adoc[] Use the Program Reserve API to retrieve program reserve account balances and transactions. name: Program Reserve - description: |- A program transfer moves funds from an account holder's general purpose account (GPA) to a program funding source. In contrast to a fee transfer, the program transfer amount is specified by the transfer itself and can therefore be set dynamically. An auto reload is triggered if the GPA has insufficient funds to cover the transfer amount and auto reload is enabled. [NOTE] The `/programtransfers` endpoint is only available for specific, pre-approved use cases. For more information about this endpoint, contact your Marqeta representative. name: Program Transfers - description: |- Marqeta enables you to assess fees in real time through the use of real-time fee groups. A real-time fee group is a collection of fees associated with an account holder group (and thereby associated with the users and businesses that are part of that account holder group). Real-time fee assessment ensures that associated accounts have sufficient funds available to cover both the transaction amount and the fee before authorization of a transaction. Before you create a real-time fee group, you must create the individual fees (using the `/fees` endpoint) and the account holder group with which you will associate the real-time fee group (using the `/accountholdergroups` endpoint). Each fee in the group must be applicable to a different transaction type. For example, one fee could assess $1 on authorization transactions while another assesses $2 on PIN-debit transactions. Use of real-time fee groups requires prior approval by Marqeta. If you are interested in using this feature for your card program, contact your Marqeta representative for more information. [NOTE] If your program uses Gateway JIT Funding, you cannot assess fees. name: Real-Time Fee Groups - description: |- // Conditional snippet for beta or internal content include::../../maturity-admonition-banner.adoc[] The Marqeta platform facilitates the use of digital wallets for storing tokenized cards and making payments. The API provides endpoints that enable mobile applications to provision tokens into a digital wallet. It also provides endpoints for retrieving digital wallet tokens and for managing their lifecycle through state transitions. For an overview of digital wallet tokens, see <</developer-guides/digital-wallets-and-tokenization, Digital Wallets and Tokenization>>. name: Digital Wallets Management - description: |- // Conditional snippet for beta or internal content include::../../maturity-admonition-banner.adoc[] // This source file is used by InfoDev to generate API reference documentation. // File location in GitHub is: // https://github.marqeta.com/openapi/coreapi/blob/main/openapi/transactions/openapi.yaml The `/transactions` resource represents the electronic messages that carry information used for payment processing. A transaction usually originates when a cardholder attempts to make a payment, either online or at a physical point of sale. You can receive information about transactions as they occur by configuring webhooks. Learn about configuring webhooks in the <</developer-guides/about-webhooks, About Webhooks>> guide. See the transaction events for which you can set up webhooks in the <</core-api/event-types, Event Types>> API reference page. You can also retrieve transactions associated with specific cards, merchants, and account holders using the endpoints described here. For an overview of transactions and the `transaction` object, including the complete list of <</developer-guides/about-transactions#_transaction_response_codes, transaction response codes>>, see <</developer-guides/about-transactions, About Transactions>>. [TIP] Use the `/transactions` endpoint to retrieve smaller datasets (up to one page). For best performance when requesting larger datasets, use the <</diva-api/introduction, DiVA API>>. name: Transactions - description: |- // Conditional snippet for beta or internal content include::../../maturity-admonition-banner.adoc[] The `users` resource represents a person who accesses Marqeta-administered funds via a Marqeta card (whether physical or virtual). This endpoint enables you to create and manage users on the Marqeta platform. This resource stores user attributes such as name, address, and date of birth, as well as financial information such as balances. By default, every user automatically has a general purpose account (GPA) that is used for the funding of transfers and is therefore an `account holder`. Note that account balances reside at the account holder level — there are no separate `account` or `balance` objects. You can use the `/users` endpoint to create parent-child relationships between two users (where one user is the parent and the other is the child) or between a business and a user (where the business is the parent and the user is the child). This relationship provides reporting to the parent about how cards of children are used and enables the parent to monitor and even restrict card usage. [NOTE] A user can simultaneously be a child of a business and a parent of other users if the user is not configured to use a parent's account balances and the user's child is configured to use a parent's account balances. For more information on account holders, see <</developer-guides/about-account-holders, About Account Holders>>. name: Users - description: |- // Conditional snippet for beta or internal content include::../../maturity-admonition-banner.adoc[] Use the `/usertransitions` endpoints to transition user resources between statuses, as well as to retrieve and list status changes for a user resource. name: User Transitions - description: |- // Conditional snippet for beta or internal content include::../../maturity-admonition-banner.adoc[] A velocity control limits how much users can spend. You can configure velocity controls to limit how much users can spend and the number of transactions they can make in a given span of time. You can apply velocity controls to a single user, to all users associated with a particular card product, or to all users in your program. Only Program Managers can create or modify program-wide velocity controls. A `POST` or `PUT` call from a role that does not have Program Manager permissions will receive a 403 error if its `association` field is null, or if it includes all of the fields in the request body. Avoid this by passing a valid `user_token` or `card_product_token` in the velocity control's `association` object, indicating that the request is specific to a user or card product, and not program-wide. You should also only include the specific fields you want to update, because a `PUT` or `POST` with values for all fields is interpreted as a change that requires Program Manager permissions. See <</developer-guides/controlling-spending, Controlling Spending>> for a tutorial that walks you through the creation of a spend control. [NOTE] Each program supports a maximum of 90 spend controls (velocity controls and <</core-api/authorization-controls, authorization controls>> combined). The limit of 90 spend controls applies at the program level only; it does not affect the number of user-level spend controls you can use. name: Velocity Controls - description: |- // Conditional snippet for beta or internal content include::../../maturity-admonition-banner.adoc[] Webhooks are notifications about API events, sent as they occur. The Marqeta platform sends these notifications to an endpoint that is hosted in your environment and configured to receive and process them. Create a webhook object to represent your webhook endpoint. Configure it with the URL of your webhook endpoint and a set of credentials for accessing that endpoint. You can configure it to send notifications for a single event, a group of events by type, or all event types. To set up multiple webhook endpoints and route different types of event notifications to each, create multiple webhook objects and configure each to send a specific type of event notification to a specific endpoint. See <</developer-guides/about-webhooks, About Webhooks>> for information on notifications and a tutorial that walks you through the configuration of your webhook endpoint. See <</core-api/event-types, Event Types>> for reference documentation on the types of events that the Marqeta platform supports. [NOTE] Webhooks URLs are cached. Changes made on your webhook endpoint can take up to one hour to be applied. name: Webhooks paths: /acceptedcountries: get: operationId: getAcceptedcountries parameters: - description: Number of accepted countries to retrieve explode: true in: query name: count required: false schema: default: 5 format: int32 type: integer style: form - description: Start index explode: true in: query name: start_index required: false schema: default: 0 format: int32 type: integer style: form - description: Name explode: true in: query name: name required: false schema: type: string style: form - description: Whitelist explode: true in: query name: whitelist required: false schema: type: boolean style: form - description: Search type explode: true in: query name: search_type required: false schema: type: string style: form - description: Comma-delimited list of fields to return (e.g. field_1,field_2,..). Leave blank to return all fields. explode: true in: query name: fields required: false schema: type: string style: form - description: Sort order explode: true in: query name: sort_by required: false schema: default: -lastModifiedTime type: string style: form responses: '200': content: application/json: schema: $ref: '#/components/schemas/AcceptedCountriesListResponse' description: Success '400': content: { } description: Bad request '500': content: { } description: Server failure summary: Lists all accepted countries tags: - accepted countries /acceptedcountries/{token}: get: operationId: getAcceptedcountriesToken parameters: - description: Accepted country token explode: false in: path name: token required: true schema: type: string style: simple - description: Comma-delimited list of fields to return (e.g. field_1,field_2,..). Leave blank to return all fields. explode: true in: query name: fields required: false schema: type: string style: form responses: '200': content: application/json: schema: $ref: '#/components/schemas/accepted_countries_model' description: Success '400': content: { } description: Bad request '404': content: { } description: Accepted country not found '500': content: { } description: Server failure summary: Returns a specific accepted country tags: - accepted countries /accountholdergroups: get: operationId: getAccountholdergroups parameters: - description: Number of items to retrieve. Count can be between 1 - 10 items. explode: true in: query name: count required: false schema: default: 10 format: int32 type: integer style: form - description: Indicates from what row to start returning data. explode: true in: query name: start_index required: false schema: default: 0 format: int32 type: integer style: form - description: Field by which to sort the returned items. Use any field in the model, or system fields lastModifiedTime or createdTime. explode: true in: query name: sort_by required: false schema: default: -lastModifiedTime type: string style: form responses: '200': content: application/json: schema: $ref: '#/components/schemas/AccountHolderGroupListResponse' description: Success '400': content: { } description: Bad request '500': content: { } description: Server error summary: Lists account holder groups tags: - account holder groups post: operationId: postAccountholdergroups requestBody: content: application/json: schema: $ref: '#/components/schemas/account_holder_group_request' description: Account holder group object required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/account_holder_group_response' description: Created '400': content: { } description: Bad request '409': content: { } description: Token already associated with a different payload '500': content: { } description: Server error summary: Creates an account holder group object tags: - account holder groups /accountholdergroups/{token}: get: operationId: getAccountholdergroupsToken parameters: - description: Account holder group token explode: false in: path name: token required: true schema: type: string style: simple responses: '200': content: application/json: schema: $ref: '#/components/schemas/account_holder_group_response' description: Success '400': content: { } description: Bad request '404': content: { } description: Auto reload not found '500': content: { } description: Server error summary: Returns a specific account holder group object tags: - account holder groups put: operationId: putAccountholdergroupsToken parameters: - explode: false in: path name: token required: true schema: type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/account_holder_group_update_request' description: Account holder group update object required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/account_holder_group_response' description: Success '400': content: { } description: Bad request '500': content: { } description: Server error summary: Updates an account holder group object tags: - account holder groups /authcontrols: get: operationId: getAuthcontrols parameters: - description: Card product token. Use "null" to get auth controls that are not associated with any card product. explode: true in: query name: card_product required: false schema: type: string style: form - description: User token. Use "null" to get auth controls that are not associated with any user. explode: true in: query name: user required: false schema: type: string style: form - description: Number of items to retrieve. Count can be between 1 - 10 items. explode: true in: query name: count required: false schema: default: 5 format: int32 type: integer style: form - description: Indicates from what row to start returning data. explode: true in: query name: start_index required: false schema: default: 0 format: int32 type: integer style: form - description: Comma-delimited list of fields to return (e.g. field_1,field_2,..). Leave blank to return all fields. explode: true in: query name: fields required: false schema: type: string style: form - description: Field by which to sort the returned items. Use any field in the model, or system fields lastModifiedTime or createdTime. explode: true in: query name: sort_by required: false schema: default: -lastModifiedTime type: string style: form responses: '200': content: application/json: schema: $ref: '#/components/schemas/AuthControlListResponse' description: Success '400': content: { } description: Bad request '500': content: { } description: Server error summary: Lists all global auth control exceptions for the program tags: - auth controls post: operationId: postAuthcontrols requestBody: content: application/json: schema: $ref: '#/components/schemas/auth_control_request' description: Auth control object required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/auth_control_response' description: Created '400': content: { } description: Bad request '409': content: { } description: Token already associated with a different payload '500': content: { } description: Server error summary: Creates an auth control exception tags: - auth controls /authcontrols/exemptmids: get: operationId: getAuthcontrolsExemptmids parameters: - description: Card product token. Use "null" to get auth controls that are not associated with any card product. explode: true in: query name: card_product required: false schema: type: string style: form - description: User token. Use "null" to get auth controls that are not associated with any user. explode: true in: query name: user required: false schema: type: string style: form - description: Number of items to retrieve. Count can be between 1 - 10 items. explode: true in: query name: count required: false schema: default: 5 format: int32 type: integer style: form - description: Indicates from what row to start returning data. explode: true in: query name: start_index required: false schema: default: 0 format: int32 type: integer style: form - description: Comma-delimited list of fields to return (e.g. field_1,field_2,..). Leave blank to return all fields. explode: true in: query name: fields required: false schema: type: string style: form - description: Field by which to sort the returned items. Use any field in the model, or system fields lastModifiedTime or createdTime. explode: true in: query name: sort_by required: false schema: default: -lastModifiedTime type: string style: form responses: '200': content: application/json: schema: $ref: '#/components/schemas/AuthControlExemptMidsListResponse' description: Success '400': content: { } description: Bad request '500': content: { } description: Server error summary: Lists all auth control exempted MIDs for the program tags: - auth controls post: operationId: postAuthcontrolsExemptmids requestBody: content: application/json: schema: $ref: '#/components/schemas/auth_control_exempt_mids_request' description: Auth control exempt MID object required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/auth_control_exempt_mids_response' description: Created '400': content: { } description: Bad request '409': content: { } description: Token already associated with a different payload '500': content: { } description: Server error summary: Creates an auth control for exempting MIDs tags: - auth controls /authcontrols/exemptmids/{token}: get: operationId: getAuthcontrolsExemptmidsToken parameters: - description: Auth control token explode: false in: path name: token required: true schema: type: string style: simple responses: '200': content: application/json: schema: $ref: '#/components/schemas/auth_control_exempt_mids_response' description: Success '400': content: { } description: Bad request '404': content: { } description: Auth control exception MIDs not found '500': content: { } description: Server error summary: Returns a specific auth control exemptmids tags: - auth controls put: operationId: putAuthcontrolsExemptmidsToken parameters: - description: Auth control token explode: false in: path name: token required: true schema: type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/auth_control_exempt_mids_update_request' required: false responses: '204': content: { } description: Success '400': content: { } description: Bad request '500': content: { } description: Server error summary: Updates the status an auth control exemptmids tags: - auth controls /authcontrols/{token}: get: operationId: getAuthcontrolsToken parameters: - description: Auth control token explode: false in: path name: token required: true schema: type: string style: simple - description: Comma-delimited list of fields to return (e.g. field_1,field_2,..). Leave blank to return all fields. explode: true in: query name: fields required: false schema: type: string style: form responses: '200': content: application/json: schema: $ref: '#/components/schemas/auth_control_response' description: Success '400': content: { } description: Bad request '404': content: { } description: Auth control not found '500': content: { } description: Server error summary: Returns a specific auth control exception tags: - auth controls put: operationId: putAuthcontrolsToken parameters: - description: Auth control token explode: false in: path name: token required: true schema: type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/auth_control_update_request' description: Auth control object required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/auth_control_response' description: Success '400': content: { } description: Bad request '500': content: { } description: Server error summary: Updates an auth control exception tags: - auth controls /autoreloads: get: operationId: getAutoreloads parameters: - description: Card product token explode: true in: query name: card_product required: false schema: type: string style: form - description: User token explode: true in: query name: user_token required: false schema: type: string style: form - description: Business token explode: true in: query name: business_token required: false schema: type: string style: form - description: Number of items to retrieve. Count can be between 1 - 10 items. explode: true in: query name: count required: false schema: default: 10 format: int32 type: integer style: form - description: Indicates from what row to start returning data. explode: true in: query name: start_index required: false schema: default: 0 format: int32 type: integer style: form - description: Comma-delimited list of fields to return (e.g. field_1,field_2,..). Leave blank to return all fields. explode: true in: query name: fields required: false schema: type: string style: form - description: Field by which to sort the returned items. Use any field in the model, or system fields lastModifiedTime or createdTime. explode: true in: query name: sort_by required: false schema: default: -lastModifiedTime type: string style: form responses: '200': content: application/json: schema: $ref: '#/components/schemas/AutoReloadListResponse' description: Success '400': content: { } description: Bad request '500': content: { } description: Server error summary: Lists all auto reloads for the program tags: - auto reloads post: operationId: postAutoreloads requestBody: content: application/json: schema: $ref: '#/components/schemas/auto_reload_model' description: Auto reload object required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/auto_reload_response_model' description: Created '400': content: { } description: Bad request '409': content: { } description: Token already associated with a different payload '500': content: { } description: Server error summary: Creates an auto reload object tags: - auto reloads /autoreloads/{token}: get: operationId: getAutoreloadsToken parameters: - description: Auto reload token explode: false in: path name: token required: true schema: type: string style: simple - description: Comma-delimited list of fields to return (e.g. field_1,field_2,..). Leave blank to return all fields. explode: true in: query name: fields required: false schema: type: string style: form responses: '200': content: application/json: schema: $ref: '#/components/schemas/auto_reload_response_model' description: Success '400': content: { } description: Bad request '404': content: { } description: Auto reload not found '500': content: { } description: Server error summary: Returns a specific auto reload object tags: - auto reloads put: operationId: putAutoreloadsToken parameters: - explode: false in: path name: token required: true schema: type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/auto_reload_update_model' description: Auto reload object required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/auto_reload_response_model' description: Success '400': content: { } description: Bad request '500': content: { } description: Server error summary: Updates a specific auto reload object tags: - auto reloads /balances/{token}: get: operationId: getBalancesToken parameters: - description: User or Business token explode: false in: path name: token required: true schema: type: string style: simple responses: '200': content: application/json: schema: $ref: '#/components/schemas/cardholder_balances' description: Success '400': content: { } description: User input error/Bad request '500': content: { } description: Server error summary: Returns account balances for a cardholder tags: - cardholder balances /banktransfers/ach: get: operationId: getBanktransfersAch parameters: - description: Number of users to retrieve explode: true in: query name: count required: false schema: default: 5 format: int32 type: integer style: form - description: Start index explode: true in: query name: start_index required: false schema: default: 0 format: int32 type: integer style: form - description: User token explode: true in: query name: user_token required: false schema: type: string style: form - description: Business token explode: true in: query name: business_token required: false schema: type: string style: form - description: Funding source token explode: true in: query name: funding_source_token required: false schema: type: string style: form - description: A comma-delimited list of bank transfer status(s) explode: true in: query name: statuses required: false schema: type: string style: form - description: Sort order explode: true in: query name: sort_by required: false schema: default: -lastModifiedTime type: string style: form - description: Object to expand explode: true in: query name: expand required: false schema: type: string style: form - description: Funding source type explode: true in: query name: funding_source_type required: false schema: type: string style: form responses: '200': content: application/json: schema: $ref: '#/components/schemas/BankTransferListResponse' description: Success '400': content: { } description: Bad request '500': content: { } description: Server error summary: Lists all bank transfers tags: - bank transfers post: operationId: postBanktransfersAch requestBody: content: application/json: schema: $ref: '#/components/schemas/bank_transfer_request_model' description: Create bank transfer request model required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/bank_transfer_response_model' description: Success '400': content: { } description: Bad request '500': content: { } description: Server error summary: Creates an ACH bank transfer tags: - bank transfers /banktransfers/ach/earlyfunds: post: operationId: postApplyProvisionalCreditToBankTransfer requestBody: content: application/json: schema: $ref: '#/components/schemas/early_funds_request_model' description: Early funds request model required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/bank_transfer_response_model' description: Success '400': content: { } description: Bad request '500': content: { } description: Server error summary: Applies a provisional credit to a bank transfer tags: - bank transfers /banktransfers/ach/transitions: get: operationId: getBanktransfersAchTransitions parameters: - description: Number of bank transfer transitions to retrieve explode: true in: query name: count required: false schema: default: 5 format: int32 maximum: 50 type: integer style: form - description: Bank transfer transition token explode: true in: query name: token required: false schema: type: string style: form - description: Bank transfer token explode: true in: query name: bank_transfer_token required: false schema: type: string style: form - description: Start index explode: true in: query name: start_index required: false schema: default: 0 format: int32 type: integer style: form - description: Sort order explode: true in: query name: sort_by required: false schema: default: -createdTime type: string style: form - description: Comma-delimited list of bank transfer states to display e.g. PENDING | PROCESSING | SUBMITTED | RETURNED | COMPLETED | CANCELLED explode: true in: query name: statuses required: false schema: type: string style: form responses: '200': content: application/json: schema: $ref: '#/components/schemas/BankTransferTransitionListResponse' description: Success '400': content: { } description: Bad request '500': content: { } description: Server error summary: Lists all bank transfer transitions tags: - bank transfers post: operationId: postBanktransfersAchTransitions requestBody: content: application/json: schema: $ref: '#/components/schemas/bank_transfer_transition_request_model' description: Create bank transfer transition request model required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/bank_transfer_transition_response_model' description: Success '400': content: { } description: Bad request '500': content: { } description: Server error summary: Creates an ACH bank transfer transition tags: - bank transfers /banktransfers/ach/{token}: get: operationId: getBanktransfersAchToken parameters: - description: Bank transfer token explode: false in: path name: token required: true schema: type: string style: simple responses: '200': content: application/json: schema: $ref: '#/components/schemas/bank_transfer_response_model' description: Success '404': content: { } description: Bank transfer entry not found '500': content: { } description: Server error summary: Returns a bank transfer entry tags: - bank transfers /bulkissuances: get: operationId: getBulkissuances parameters: - description: Number of requests to retrieve explode: true in: query name: count required: false schema: default: 5 format: int32 type: integer style: form - description: Start index explode: true in: query name: start_index required: false schema: default: 0 format: int32 type: integer style: form - description: Sort order explode: true in: query name: sort_by required: false schema: default: -createdTime type: string style: form responses: '200': content: application/json: schema: $ref: '#/components/schemas/BulkCardOrderListResponse' description: Success '400': content: { } description: Bad request '500': content: { } description: Server error summary: Lists all bulk issuance requests tags: - bulk issuances post: operationId: postBulkissuances requestBody: content: application/json: schema: $ref: '#/components/schemas/bulk_issuance_request' required: false responses: '201': content: application/json: schema: $ref: '#/components/schemas/bulk_issuance_response' description: Success '400': content: { } description: User input error/Bad request '409': content: { } description: Token already associated with a different payload '500': content: { } description: Server error summary: Creates a bulk issuance request for cards tags: - bulk issuances /bulkissuances/{token}: get: operationId: getBulkissuancesToken parameters: - description: Bulk issuance token explode: false in: path name: token required: true schema: type: string style: simple responses: '200': content: application/json: schema: $ref: '#/components/schemas/bulk_issuance_response' description: Success '400': content: { } description: User input error/Bad request '404': content: { } description: Bulk issuance request not found '500': content: { } description: Server error summary: Returns a bulk issuance request tags: - bulk issuances /businesses: get: operationId: getBusinesses parameters: - description: Number of users to retrieve explode: true in: query name: count required: false schema: default: 5 format: int32 type: integer style: form - description: Start index explode: true in: query name: start_index required: false schema: default: 0 format: int32 type: integer style: form - description: Business name DBA explode: true in: query name: business_name_dba required: false schema: type: string style: form - description: Business name legal explode: true in: query name: business_name_legal required: false schema: type: string style: form - description: Search type explode: true in: query name: search_type required: false schema: type: string style: form - description: Comma-delimited list of fields to return (e.g. field_1,field_2,..). Leave blank to return all fields. explode: true in: query name: fields required: false schema: type: string style: form - description: Sort order explode: true in: query name: sort_by required: false schema: default: -lastModifiedTime type: string style: form responses: '200': content: application/json: schema: $ref: '#/components/schemas/BusinessCardHolderListResponse' description: Success '400': content: { } description: Bad request '500': content: { } description: Server error summary: Lists all businesses tags: - businesses post: operationId: postBusinesses requestBody: content: application/json: schema: $ref: '#/components/schemas/business_cardholder' required: false responses: '201': content: application/json: schema: $ref: '#/components/schemas/business_card_holder_response' description: Success '400': content: { } description: User input error/Bad request '409': content: { } description: Request already processed with a different payload '500': content: { } description: Server error summary: Creates a business tags: - businesses /businesses/lookup: post: operationId: postBusinessesLookup requestBody: content: application/json: schema: $ref: '#/components/schemas/DDARequest' required: false responses: '200': content: application/json: schema: $ref: '#/components/schemas/business_cardholder' description: Success '404': content: { } description: Business not found '500': content: { } description: Server error summary: Returns a specific business tags: - businesses /businesses/{parent_token}/children: get: operationId: getBusinessesParenttokenChildren parameters: - description: Number of users to retrieve explode: true in: query name: count required: false schema: default: 5 format: int32 type: integer style: form - description: Start index explode: true in: query name: start_index required: false schema: default: 0 format: int32 type: integer style: form - description: Token of parent business explode: false in: path name: parent_token required: true schema: type: string style: simple - description: Comma-delimited list of fields to return (e.g. field_1,field_2,..). Leave blank to return all fields. explode: true in: query name: fields required: false schema: type: string style: form - description: Sort order explode: true in: query name: sort_by required: false schema: default: -lastModifiedTime type: string style: form responses: '200': content: application/json: schema: $ref: '#/components/schemas/BusinessUserCardHolderListResponse' description: Success '400': content: { } description: User input error/Bad request '500': content: { } description: Server error summary: Lists all children of a parent business tags: - businesses /businesses/{token}: get: operationId: getBusinessesToken parameters: - description: Business token explode: false in: path name: token required: true schema: type: string style: simple - description: Comma-delimited list of fields to return (e.g. field_1,field_2,..). Leave blank to return all fields. explode: true in: query name: fields required: false schema: type: string style: form responses: '200': content: application/json: schema: $ref: '#/components/schemas/business_card_holder_response' description: Success '400': content: { } description: Bad request '404': content: { } description: Business not found '500': content: { } description: Server error summary: Returns a specific business tags: - businesses put: operationId: putBusinessesToken parameters: - description: Business token explode: false in: path name: token required: true schema: type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/business_card_holder_update' description: Business object required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/business_cardholder' description: Success '400': content: { } description: User input error/Bad request '500': content: { } description: Server error summary: Updates a specific business tags: - businesses /businesses/{token}/notes: get: operationId: getBusinessesTokenNotes parameters: - description: Business token explode: false in: path name: token required: true schema: type: string style: simple - description: Start index explode: true in: query name: start_index required: false schema: default: 0 format: int32 type: integer style: form - description: Number of notes to retrieve explode: true in: query name: count required: false schema: default: 5 format: int32 type: integer style: form - description: Created by explode: true in: query name: created_by required: false schema: type: string style: form - description: Comma-delimited list of created by user roles explode: true in: query name: created_by_user_role required: false schema: type: string style: form - description: Include private notes and private fields in note response explode: true in: query name: include_private required: false schema: type: boolean style: form - description: Search type explode: true in: query name: search_type required: false schema: type: string style: form - description: Comma-delimited list of fields to return (e.g. field_1,field_2,..). Leave blank to return all fields. explode: true in: query name: fields required: false schema: type: string style: form - description: Sort order explode: true in: query name: sort_by required: false schema: default: -lastModifiedTime type: string style: form responses: '200': content: application/json: schema: $ref: '#/components/schemas/CardHolderNoteListResponse' description: Success '400': content: { } description: Bad request '401': content: { } description: Unauthorized '403': content: { } description: Forbidden '404': content: { } description: Business not found '500': content: { } description: Server error summary: Lists business notes tags: - businesses post: operationId: postBusinessesTokenNotes parameters: - description: Business token explode: false in: path name: token required: true schema: type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/cardholder_note_request_model' required: false responses: '201': content: application/json: schema: $ref: '#/components/schemas/cardholder_note_response_model' description: Success '400': content: { } description: Bad request '401': content: { } description: Unauthorized '403': content: { } description: Forbidden '500': content: { } description: Server error summary: Creates a note for a business tags: - businesses /businesses/{token}/notes/{notes_token}: put: operationId: putBusinessesTokenNotesNotestoken parameters: - description: Business token explode: false in: path name: token required: true schema: type: string style: simple - description: Notes token explode: false in: path name: notes_token required: true schema: type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/cardholder_note_update_request_model' required: false responses: '201': content: application/json: schema: $ref: '#/components/schemas/cardholder_note_response_model' description: Success '400': content: { } description: Bad request '401': content: { } description: Unauthorized '403': content: { } description: Forbidden '500': content: { } description: Server error summary: Updates a specific note for a business tags: - businesses /businesses/{token}/ssn: get: operationId: getBusinessesTokenSsn parameters: - description: Business token explode: false in: path name: token required: true schema: type: string style: simple - explode: true in: query name: full_ssn required: false schema: type: boolean style: form responses: '200': content: application/json: schema: $ref: '#/components/schemas/ssn_response_model' description: Success '400': content: { } description: Bad request '500': content: { } description: Server error summary: Returns a specific business proprietor's SSN tags: - businesses /businesstransitions: post: operationId: postBusinesstransitions requestBody: content: application/json: schema: $ref: '#/components/schemas/BusinessTransitionRequest' required: false responses: '201': content: application/json: schema: $ref: '#/components/schemas/BusinessTransitionResponse' description: Success '400': content: { } description: User input error/Bad request '409': content: { } description: Request already processed with a different payload '412': content: { } description: Pre-condition setup issue '500': content: { } description: Server error summary: Creates a business transition tags: - business transitions /businesstransitions/business/{business_token}: get: operationId: getBusinesstransitionsBusinessBusinesstoken parameters: - description: Business token explode: false in: path name: business_token required: true schema: type: string style: simple - description: Number of business transitions to retrieve explode: true in: query name: count required: false schema: default: 5 format: int32 type: integer style: form - description: Start index explode: true in: query name: start_index required: false schema: default: 0 format: int32 type: integer style: form - description: Comma-delimited list of fields to return (e.g. field_1,field_2,..). Leave blank to return all fields. explode: true in: query name: fields required: false schema: type: string style: form - description: Sort order explode: true in: query name: sort_by required: false schema: default: -id type: string style: form responses: '200': content: application/json: schema: $ref: '#/components/schemas/BusinessTransitionListResponse' description: Success '400': content: { } description: Bad request '500': content: { } description: Server error summary: Returns transitions for a given business tags: - business transitions /businesstransitions/{token}: get: operationId: getBusinesstransitionsToken parameters: - description: Transition token explode: false in: path name: token required: true schema: type: string style: simple - description: Comma-delimited list of fields to return (e.g. field_1,field_2,..). Leave blank to return all fields. explode: true in: query name: fields required: false schema: type: string style: form responses: '200': content: application/json: schema: $ref: '#/components/schemas/BusinessTransitionResponse' description: Success '400': content: { } description: Bad request '404': content: { } description: Cardholder not found '500': content: { } description: Server error summary: Returns a business transition tags: - business transitions /campaigns: get: operationId: getCampaigns parameters: - explode: true in: query name: count required: false schema: default: 5 format: int32 type: integer style: form - explode: true in: query name: start_index required: false schema: default: 0 format: int32 type: integer style: form - explode: true in: query name: fields required: false schema: type: string style: form - explode: true in: query name: sort_by required: false schema: default: -lastModifiedTime type: string style: form responses: default: content: { } description: successful operation summary: Get campaigns. post: operationId: createCampaigns requestBody: content: application/json: schema: $ref: '#/components/schemas/campaign_model' required: false responses: default: content: { } description: successful operation summary: Create campaigns. /campaigns/{token}: delete: operationId: deleteCampaignByToken parameters: - description: Campaign token explode: false in: path name: token required: true schema: type: string style: simple responses: default: content: { } description: successful operation summary: Delete campaign by token. get: operationId: getCampaignByToken parameters: - description: Campaign token explode: false in: path name: token required: true schema: type: string style: simple - explode: true in: query name: fields required: false schema: type: string style: form responses: default: content: { } description: successful operation summary: Get campaign by token. put: operationId: updateCampaignsByToken parameters: - description: Campaign token explode: false in: path name: token required: true schema: type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/campaign_update_model' required: false responses: default: content: { } description: successful operation summary: Update campaigns by token. /campaigns/{token}/stores: get: operationId: getCampaignsTokenStores parameters: - description: Campaign token explode: false in: path name: token required: true schema: type: string style: simple - explode: true in: query name: count required: false schema: default: 5 format: int32 type: integer style: form - explode: true in: query name: start_index required: false schema: default: 0 format: int32 type: integer style: form - explode: true in: query name: fields required: false schema: type: string style: form - explode: true in: query name: sort_by required: false schema: default: -lastModifiedTime type: string style: form responses: default: content: { } description: successful operation summary: Get campaigns token stores. /cardproducts: get: operationId: getCardproducts parameters: - description: Number of items to retrieve. Count can be between 1 - 10 items. explode: true in: query name: count required: false schema: default: 5 format: int32 type: integer style: form - description: Indicates from what row to start returning data. explode: true in: query name: start_index required: false schema: default: 0 format: int32 type: integer style: form - description: Sort order explode: true in: query name: sort_by required: false schema: default: -createdTime type: string style: form responses: '200': content: application/json: schema: $ref: '#/components/schemas/CardProductListResponse' description: Success '400': content: { } description: Bad request '500': content: { } description: Server error summary: Lists all card products tags: - card products post: operationId: postCardproducts requestBody: content: application/json: schema: $ref: '#/components/schemas/card_product_request' description: Card product object required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/card_product_response' description: Created '400': content: { } description: Bad request '409': content: { } description: Token already associated with a different payload '500': content: { } description: Server error summary: Creates a card product tags: - card products /cardproducts/{token}: get: operationId: getCardproductsToken parameters: - description: Card product token explode: false in: path name: token required: true schema: type: string style: simple responses: '200': content: application/json: schema: $ref: '#/components/schemas/card_product_response' description: Success '400': content: { } description: Bad request '404': content: { } description: Card product not found '500': content: { } description: Server error summary: Returns a specific card product tags: - card products put: operationId: putCardproductsToken parameters: - description: Card product token explode: false in: path name: token required: true schema: type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/card_product_update_model' description: Card product object required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/card_product_response' description: Success '400': content: { } description: Bad request '500': content: { } description: Server error summary: Updates a specific card product tags: - card products /cards: get: operationId: getCards parameters: - description: Number of cards to retrieve explode: true in: query name: count required: false schema: default: 5 format: int32 type: integer style: form - description: Start index explode: true in: query name: start_index required: false schema: default: 0 format: int32 type: integer style: form - description: Last four digits of card number explode: true in: query name: last_four required: true schema: type: string style: form - description: Comma-delimited list of fields to return (e.g. field_1,field_2,..). Leave blank to return all fields. explode: true in: query name: fields required: false schema: type: string style: form - description: Sort order explode: true in: query name: sort_by required: false schema: default: -lastModifiedTime type: string style: form responses: '200': content: application/json: schema: $ref: '#/components/schemas/CardListResponse' description: Success '400': content: { } description: Bad request '500': content: { } description: Server error summary: Lists cards by the last 4 digits tags: - cards post: operationId: postCards parameters: - description: Show CVV explode: true in: query name: show_cvv_number required: false schema: default: false type: boolean style: form - description: Show PAN explode: true in: query name: show_pan required: false schema: default: false type: boolean style: form requestBody: content: application/json: schema: $ref: '#/components/schemas/card_request' required: false responses: '201': content: application/json: schema: $ref: '#/components/schemas/card_response' description: Success '400': content: { } description: User input error/Bad request '409': content: { } description: Token already associated with a different payload '500': content: { } description: Server error summary: Creates a card tags: - cards /cards/barcode/{barcode}: get: operationId: getCardsBarcodeBarcode parameters: - description: Barcode explode: false in: path name: barcode required: true schema: type: string style: simple - description: Comma-delimited list of fields to return (e.g. field_1,field_2,..). Leave blank to return all fields. explode: true in: query name: fields required: false schema: type: string style: form responses: '200': content: application/json: schema: $ref: '#/components/schemas/card_response' description: Success '400': content: { } description: User input error/Bad request '404': content: { } description: Card does not exist '500': content: { } description: Server error summary: Returns a card's metadata tags: - cards /cards/getbypan: post: operationId: postCardsGetbypan requestBody: content: application/json: schema: $ref: '#/components/schemas/pan_request' required: false responses: '200': content: application/json: schema: $ref: '#/components/schemas/pan_response' description: Success '400': content: { } description: User input error/Bad request '500': content: { } description: Server error summary: Returns user and card tokens for the specified PAN tags: - cards /cards/merchant/{merchant_token}: get: operationId: getCardsMerchantMerchanttoken parameters: - description: Merchant token explode: false in: path name: merchant_token required: true schema: type: string style: simple - description: Comma-delimited list of fields to return (e.g. field_1,field_2,..). Leave blank to return all fields. explode: true in: query name: fields required: false schema: type: string style: form responses: '200': content: application/json: schema: $ref: '#/components/schemas/card_response' description: Success '400': content: { } description: User input error/Bad request '404': content: { } description: Card does not exist '500': content: { } description: Server error summary: Returns a merchant onboarding card tags: - cards post: operationId: postCardsMerchantMerchanttoken parameters: - description: Merchant token explode: false in: path name: merchant_token required: true schema: type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/merchant_card_request' required: false responses: '201': content: application/json: schema: $ref: '#/components/schemas/card_response' description: Success '400': content: { } description: User input error/Bad request '409': content: { } description: Token already associated with a different payload '500': content: { } description: Server error summary: Creates a merchant onboarding card tags: - cards /cards/merchant/{merchant_token}/showpan: get: operationId: getCardsMerchantMerchanttokenShowpan parameters: - description: Merchant token explode: false in: path name: merchant_token required: true schema: type: string style: simple - description: Comma-delimited list of fields to return (e.g. field_1,field_2,..). Leave blank to return all fields. explode: true in: query name: fields required: false schema: type: string style: form - explode: true in: query name: show_cvv_number required: false schema: type: boolean style: form responses: '200': content: application/json: schema: $ref: '#/components/schemas/card_response' description: Success '400': content: { } description: User input error/Bad request '404': content: { } description: Card does not exist '500': content: { } description: Server error summary: Returns a specific card - PAN visible tags: - cards /cards/user/{token}: get: operationId: getCardsUserToken parameters: - description: User token explode: false in: path name: token required: true schema: type: string style: simple - description: Number of items to retrieve explode: true in: query name: count required: false schema: default: 5 format: int32 type: integer style: form - description: Start index explode: true in: query name: start_index required: false schema: default: 0 format: int32 type: integer style: form - description: Comma-delimited list of fields to return (e.g. field_1,field_2,..). Leave blank to return all fields. explode: true in: query name: fields required: false schema: type: string style: form - description: Sort order explode: true in: query name: sort_by required: false schema: default: -lastModifiedTime type: string style: form responses: '200': content: application/json: schema: $ref: '#/components/schemas/CardListResponse' description: Success '400': content: { } description: User input error/Bad request '500': content: { } description: Server error summary: Lists all cards for a specific user tags: - cards /cards/{card_hash}/showpanbyhash: get: operationId: getCardsCardHashShowpan parameters: - description: Card Hash explode: false in: path name: card_hash required: true schema: type: string style: simple - description: Comma-delimited list of fields to return (e.g. field_1,field_2,..). Leave blank to return all fields. explode: true in: query name: fields required: false schema: type: string style: form - explode: true in: query name: show_cvv_number required: false schema: type: boolean style: form responses: '200': content: application/json: schema: $ref: '#/components/schemas/card_response' description: Success '400': content: { } description: User input error/Bad request '404': content: { } description: Card not found '500': content: { } description: Server error summary: Returns a specific card - PAN visible tags: - cards /cards/{token}: get: operationId: getCardsToken parameters: - description: Card token explode: false in: path name: token required: true schema: type: string style: simple - description: Comma-delimited list of fields to return (e.g. field_1,field_2,..). Leave blank to return all fields. explode: true in: query name: fields required: false schema: type: string style: form - description: Object to expand explode: true in: query name: expand required: false schema: type: string style: form responses: '200': content: application/json: schema: $ref: '#/components/schemas/card_response' description: Success '400': content: { } description: User input error/Bad request '404': content: { } description: Card not found '500': content: { } description: Server error summary: Returns a specific card tags: - cards put: operationId: putCardsToken parameters: - description: Card token explode: false in: path name: token required: true schema: type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/card_update_request' required: false responses: '200': content: application/json: schema: $ref: '#/components/schemas/card_response' description: Success '400': content: { } description: User input error/Bad request '500': content: { } description: Server error summary: Updates a specific card tags: - cards /cards/{token}/showpan: get: operationId: getCardsTokenShowpan parameters: - description: Card token explode: false in: path name: token required: true schema: type: string style: simple - description: Comma-delimited list of fields to return (e.g. field_1,field_2,..). Leave blank to return all fields. explode: true in: query name: fields required: false schema: type: string style: form - explode: true in: query name: show_cvv_number required: false schema: type: boolean style: form responses: '200': content: application/json: schema: $ref: '#/components/schemas/card_response' description: Success '400': content: { } description: User input error/Bad request '404': content: { } description: Card not found '500': content: { } description: Server error summary: Returns a specific card - PAN visible tags: - cards /cardtransitions: post: operationId: postCardtransitions requestBody: content: application/json: schema: $ref: '#/components/schemas/card_transition_request' required: false responses: '201': content: application/json: schema: $ref: '#/components/schemas/card_transition_response' description: Success '400': content: { } description: User input error/Bad request '409': content: { } description: Token already associated with a different payload '422': content: { } description: Cardholder not active '500': content: { } description: Server error summary: Creates a card transition object tags: - card transitions /cardtransitions/card/{token}: get: operationId: getCardtransitionsCardToken parameters: - description: Card token explode: false in: path name: token required: true schema: type: string style: simple - description: Number of card transitions to retrieve explode: true in: query name: count required: false schema: default: 5 format: int32 minimum: 0 type: integer style: form - description: Start index explode: true in: query name: start_index required: false schema: default: 0 format: int32 type: integer style: form - description: Comma-delimited list of fields to return (e.g. field_1,field_2,..). Leave blank to return all fields. explode: true in: query name: fields required: false schema: type: string style: form - description: Sort order explode: true in: query name: sort_by required: false schema: default: -createdTime type: string style: form responses: '200': content: application/json: schema: $ref: '#/components/schemas/CardTransitionListResponse' description: Success '400': content: { } description: Bad request '500': content: { } description: Server error summary: Lists all card transitions tags: - card transitions /cardtransitions/{token}: get: operationId: getCardtransitionsToken parameters: - description: Card transition token explode: false in: path name: token required: true schema: type: string style: simple - description: Comma-delimited list of fields to return (e.g. field_1,field_2,..). Leave blank to return all fields. explode: true in: query name: fields required: false schema: type: string style: form responses: '200': content: application/json: schema: $ref: '#/components/schemas/card_transition_response' description: Success '400': content: { } description: User input error/Bad request '404': content: { } description: Transition not found '500': content: { } description: Server error summary: Returns a card transition object tags: - card transitions /chargebacks: get: operationId: getChargebacks parameters: - description: Number of chargebacks to retrieve explode: true in: query name: count required: false schema: default: 5 format: int32 type: integer style: form - description: Start index explode: true in: query name: start_index required: false schema: default: 0 format: int32 type: integer style: form - description: Network reference ID explode: true in: query name: network_reference_id required: false schema: type: string style: form - description: Transaction token explode: true in: query name: transaction_token required: false schema: type: string style: form - description: Amount explode: true in: query name: amount required: false schema: type: string style: form - description: Comma-delimited list of chargeback states to display e.g. INITIATED | REPRESENTMENT | PREARBITRATION | ARBITRATION | CASE_WON | CASE_LOST | NETWORK_REJECTED | WITHDRAWN | WRITTEN_OFF_ISSUER | WRITTEN_OFF_PROGRAM explode: true in: query name: states required: false schema: type: string style: form - description: Sort order explode: true in: query name: sort_by required: false schema: default: -lastModifiedTime type: string style: form - explode: true in: query name: network_case_id required: false schema: type: string style: form responses: '200': content: application/json: schema: $ref: '#/components/schemas/ChargebackListResponse' description: Success '400': content: { } description: Bad request '500': content: { } description: Server error summary: List all chargebacks tags: - chargebacks post: operationId: postChargebacks requestBody: content: application/json: schema: $ref: '#/components/schemas/chargeback_request' required: false responses: '201': content: application/json: schema: $ref: '#/components/schemas/chargeback_response' description: Success '400': content: { } description: User input error/Bad request '409': content: { } description: Token already associated with a different payload '412': content: { } description: Pre-condition failed. Chargeback amount is greater than user GPA balance '422': content: { } description: Unable to return funds back to cardholder '500': content: { } description: Server error summary: Creates a chargeback tags: - chargebacks /chargebacks/allocationacknowledgement: post: operationId: postChargebackAllocationAcknowledgment requestBody: content: application/json: schema: $ref: '#/components/schemas/chargeback_allocation_ack_request' required: false responses: '201': content: application/json: schema: $ref: '#/components/schemas/chargeback_response' description: Success '400': content: { } description: User input error/Bad request '409': content: { } description: Token already associated with a different payload '500': content: { } description: Server error summary: Creates a chargeback allocation acknowledgement tags: - chargebacks /chargebacks/transitions: post: operationId: postChargebacksTransitions requestBody: content: application/json: schema: $ref: '#/components/schemas/chargeback_transition_request' required: false responses: '201': content: application/json: schema: $ref: '#/components/schemas/chargeback_transition_response' description: Success '400': content: { } description: User input error/Bad request '409': content: { } description: Token already associated with a different payload '422': content: { } description: Unable to perform chargeback transition '500': content: { } description: Server error summary: Creates a chargeback transition tags: - chargebacks /chargebacks/transitions/{token}: get: operationId: getChargebacksTransitionsToken parameters: - description: Chargeback transition token explode: false in: path name: token required: true schema: type: string style: simple responses: '200': content: application/json: schema: $ref: '#/components/schemas/chargeback_transition_response' description: Success '400': content: { } description: User input error/Bad request '404': content: { } description: Transition not found '500': content: { } description: Server error summary: Returns a specific chargeback transition tags: - chargebacks /chargebacks/{chargeback_token}/transitions: get: operationId: getChargebacksChargebacktokenTransitions parameters: - description: Number of transitions to retrieve explode: true in: query name: count required: false schema: default: 5 format: int32 type: integer style: form - description: Start index explode: true in: query name: start_index required: false schema: default: 0 format: int32 type: integer style: form - description: Sort order explode: true in: query name: sort_by required: false schema: default: -lastModifiedTime type: string style: form - description: Chargeback token explode: false in: path name: chargeback_token required: true schema: type: string style: simple responses: '200': content: application/json: schema: $ref: '#/components/schemas/ChargebackTransitionListResponse' description: Success '400': content: { } description: Bad request '500': content: { } description: Server error summary: Lists all chargeback transitions that are related to a chargeback tags: - chargebacks /chargebacks/{token}: get: operationId: getChargebacksToken parameters: - explode: false in: path name: token required: true schema: type: string style: simple responses: '200': content: application/json: schema: $ref: '#/components/schemas/chargeback_response' description: Success '404': content: { } description: Chargeback not found '500': content: { } description: Server error summary: Returns a specific chargeback tags: - chargebacks put: operationId: putChargebacksToken parameters: - explode: false in: path name: token required: true schema: type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/ChargebackUpdateRequest' required: false responses: '200': content: application/json: schema: $ref: '#/components/schemas/chargeback_response' description: Success '400': content: { } description: Chargeback not found '422': content: { } description: Unable to update chargeback '500': content: { } description: Server error summary: Updates chargeback data tags: - chargebacks /chargebacks/{token}/grantprovisionalcredit: put: operationId: putChargebacksTokenGrantprovisionalcredit parameters: - explode: false in: path name: token required: true schema: type: string style: simple responses: '200': content: application/json: schema: $ref: '#/components/schemas/chargeback_response' description: Success '400': content: { } description: Chargeback not found '422': content: { } description: Unable to grant provisional credit '500': content: { } description: Server error summary: Grants provisional credit tags: - chargebacks /chargebacks/{token}/reverseprovisionalcredit: put: operationId: putChargebacksTokenReverseprovisionalcredit parameters: - explode: false in: path name: token required: true schema: type: string style: simple responses: '200': content: application/json: schema: $ref: '#/components/schemas/chargeback_response' description: Success '400': content: { } description: Chargeback not found; chargeback at terminal state '422': content: { } description: Unable to reverse provisional credit '500': content: { } description: Server error summary: Reverses provisional credit tags: - chargebacks /commandomodes: get: operationId: getCommandomodes parameters: - description: Number of commando modes to retrieve explode: true in: query name: count required: false schema: default: 5 format: int32 type: integer style: form - description: Start index explode: true in: query name: start_index required: false schema: default: 0 format: int32 type: integer style: form - description: Sort order explode: true in: query name: sort_by required: false schema: default: -lastModifiedTime type: string style: form responses: '200': content: application/json: schema: $ref: '#/components/schemas/CommandoModeListResponse' description: Success '400': content: { } description: Bad request '500': content: { } description: Server error summary: Lists all commando mode control sets tags: - commando modes /commandomodes/transitions/{token}: get: operationId: getCommandomodesTransitionsToken parameters: - description: Commando mode transition token explode: false in: path name: token required: true schema: type: string style: simple responses: '200': content: application/json: schema: $ref: '#/components/schemas/commando_mode_transition_response' description: Success '400': content: { } description: User input error/Bad request '404': content: { } description: Transition not found '500': content: { } description: Server error summary: Returns a specific commando mode transition tags: - commando modes /commandomodes/{commandomode_token}/transitions: get: operationId: getCommandomodesCommandomodetokenTransitions parameters: - description: Number of transitions to retrieve explode: true in: query name: count required: false schema: default: 5 format: int32 type: integer style: form - description: Start index explode: true in: query name: start_index required: false schema: default: 0 format: int32 type: integer style: form - description: Sort order explode: true in: query name: sort_by required: false schema: default: -createdTime type: string style: form - description: Commando mode token explode: false in: path name: commandomode_token required: true schema: type: string style: simple responses: '200': content: application/json: schema: $ref: '#/components/schemas/CommandoModeTransitionListResponse' description: Success '400': content: { } description: Bad request '500': content: { } description: Server error summary: Lists all commando mode transitions related to a commando mode control set tags: - commando modes /commandomodes/{token}: get: operationId: getCommandomodesToken parameters: - explode: false in: path name: token required: true schema: type: string style: simple responses: '200': content: application/json: schema: $ref: '#/components/schemas/commando_mode_response' description: Success '404': content: { } description: Commando mode not found '500': content: { } description: Server error summary: Returns a specific commando mode control set tags: - commando modes /depositaccounts: post: operationId: createAccount requestBody: content: application/json: schema: $ref: '#/components/schemas/direct_deposit_account_request' description: Create direct deposit account for cardholder required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/direct_deposit_account_response' description: Created '404': content: { } description: Not found '500': content: { } description: Server error summary: Creates new direct deposit account for cardholder. tags: - direct deposit accounts /depositaccounts/account/{account_number}/user: get: operationId: getUserForDirectDepositAccount parameters: - description: Get user associated with direct deposit account number explode: false in: path name: account_number required: true schema: type: string style: simple responses: '200': content: application/json: schema: $ref: '#/components/schemas/direct_deposit_account_response' description: Success '404': content: { } description: Not found '500': content: { } description: Server error summary: Get User for Plain Text Account Number tags: - direct deposit accounts /depositaccounts/transitions: post: operationId: createTransition requestBody: content: application/json: schema: $ref: '#/components/schemas/direct_deposit_account_transition_request' description: Create transition for direct deposit account required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/direct_deposit_account_transition_response' description: Created '404': content: { } description: Not found '500': content: { } description: Server error summary: Creates new transition for a direct deposit account. tags: - direct deposit accounts /depositaccounts/transitions/{token}: get: operationId: getDirectDepositAccountTransition parameters: - description: Get specific direct deposit account transition explode: false in: path name: token required: true schema: type: string style: simple responses: '200': content: application/json: schema: $ref: '#/components/schemas/direct_deposit_account_transition_response' description: Success '404': content: { } description: Not found '500': content: { } description: Server error summary: Get direct deposit account transition. tags: - direct deposit accounts /depositaccounts/user/{token}: get: operationId: getUserDirectDepositAccounts parameters: - description: Number of users to retrieve explode: true in: query name: count required: false schema: default: 5 format: int32 type: integer style: form - description: Start index explode: true in: query name: start_index required: false schema: default: 0 format: int32 type: integer style: form - description: Sort order explode: true in: query name: sort_by required: false schema: default: -lastModifiedTime type: string style: form - description: Direct deposit account status explode: true in: query name: state required: false schema: enum: - ACTIVE - SUSPENDED - TERMINATED - UNSUPPORTED - UNACTIVATED - LIMITED type: string style: form - description: Get specific direct deposit account explode: false in: path name: token required: true schema: type: string style: simple responses: '200': content: application/json: schema: $ref: '#/components/schemas/DirectDepositAccountListResponse' description: Success '404': content: { } description: Not found '500': content: { } description: Server error summary: List all specific direct deposit accounts. tags: - direct deposit accounts /depositaccounts/user/{token}/direct: get: deprecated: true operationId: getDepositAccountUserToken parameters: - description: Token explode: false in: path name: token required: true schema: type: string style: simple responses: default: content: { } description: successful operation summary: Get deposit account user token. /depositaccounts/{token}: get: operationId: getDirectDepositAccount parameters: - description: Get specific direct deposit account explode: false in: path name: token required: true schema: type: string style: simple responses: '200': content: application/json: schema: $ref: '#/components/schemas/direct_deposit_account_response' description: Success '404': content: { } description: Not found '500': content: { } description: Server error summary: Get direct deposit account. tags: - direct deposit accounts put: deprecated: true operationId: update parameters: - explode: false in: path name: token required: true schema: type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/DepositAccountUpdateRequest' description: Update direct deposit account required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/direct_deposit_account_response' description: Success '404': content: { } description: Not found '500': content: { } description: Server error summary: Update direct deposit account. tags: - direct deposit accounts /depositaccounts/{token}/cdd: get: operationId: getCDDInfo parameters: - description: Get CDD info for a specific DDA token explode: false in: path name: token required: true schema: type: string style: simple responses: '200': content: application/json: schema: $ref: '#/components/schemas/customer_due_diligence_response' description: Success '404': content: { } description: Not found '500': content: { } description: Server error summary: Get direct deposit account transition list for card holder. tags: - direct deposit accounts /depositaccounts/{token}/cdd/{cddtoken}: put: operationId: updateCDDInfo parameters: - explode: false in: path name: token required: true schema: type: string style: simple - explode: false in: path name: cddtoken required: true schema: type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/customer_due_diligence_update_response' description: Update CDD answers required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/customer_due_diligence_response' description: Success '404': content: { } description: Not found '500': content: { } description: Server error summary: Update CDD answers for Direct Deposit Account tags: - direct deposit accounts /depositaccounts/{user_token}/transitions: get: operationId: getTransitionList parameters: - description: Number of users to retrieve explode: true in: query name: count required: false schema: default: 5 format: int32 type: integer style: form - description: Start index explode: true in: query name: start_index required: false schema: default: 0 format: int32 type: integer style: form - description: Sort order explode: true in: query name: sort_by required: false schema: default: -createdTime type: string style: form - description: Get direct deposit account transition list for user explode: false in: path name: user_token required: true schema: type: string style: simple responses: '200': content: application/json: schema: $ref: '#/components/schemas/direct_deposit_account_transition_response' description: Success '404': content: { } description: Not found '500': content: { } description: Server error summary: Get direct deposit account transition list for card holder. tags: - direct deposit accounts /digitalwalletprovisionrequests/androidpay: post: description: |- Use this endpoint to return card data for use in provisioning a digital wallet token into Google Wallet. The returned card data is encrypted using the digital wallet provider's encryption key, thereby reducing your PCI compliance overhead. operationId: postDigitalwalletprovisionrequestsAndroidpay requestBody: content: application/json: example: card_token: my_card_token_0987 device_id: my_device_id_r51j device_type: MOBILE_PHONE provisioning_app_version: 2.13.3 wallet_account_id: my_wallet_account_id_sr51 schema: $ref: '#/components/schemas/digital_wallet_android_pay_provision_request' required: false responses: '201': content: application/json: example: card_token: my_card_token_1111 created_time: 2022-11-06T22:43:20Z last_modified_time: 2022-11-06T22:43:20Z push_tokenize_request_data: display_name: Visa Card last_digits: '3264' network: Visa opaque_payment_card: my_opaque_payment_card_RUza... token_service_provider: TOKEN_PROVIDER_VISA user_address: address1: 180 Grand Ave address2: Suite 500 city: Oakland country: US name: John Doe phone: '5105551212' postal_code: '94612' state: CA schema: $ref: '#/components/schemas/digital_wallet_android_pay_provision_response' description: Success '400': content: { } description: User input error/Bad request '404': content: { } description: Card not found '500': content: { } description: Server error summary: Create digital wallet token provisioning request for Google Wallet tags: - Digital Wallets Management /digitalwalletprovisionrequests/applepay: post: description: |- Use this endpoint to return card data for use in provisioning a digital wallet token into Apple Wallet. The returned card data is encrypted using the digital wallet provider's encryption key, thereby reducing your PCI compliance overhead. operationId: postDigitalwalletprovisionrequestsApplepay requestBody: content: application/json: example: card_token: my_card_token_1234 certificates: - my_certificate_ZIzj... - my_certificate_SgMA... device_type: MOBILE_PHONE nonce: my_nonce_JJCF nonce_signature: my_nonce_signature_wbBn provisioning_app_version: 2.13.7 schema: $ref: '#/components/schemas/digital_wallet_apple_pay_provision_request' required: false responses: '201': content: application/json: example: activation_data: my_activation_data_VERF... card_token: my_card_token_1234 created_time: 2023-03-22T21:22:19Z encrypted_pass_data: my_encrypted_pass_data_KGga... ephemeral_public_key: my_ephemeral_public_key_omvw... last_modified_time: 2023-03-22T21:22:19Z schema: $ref: '#/components/schemas/digital_wallet_apple_pay_provision_response' description: Success '400': content: { } description: User input error/Bad request '404': content: { } description: Card not found '500': content: { } description: Server error summary: Create digital wallet token provisioning request for Apple Wallet tags: - Digital Wallets Management /digitalwalletprovisionrequests/samsungpay: post: description: |- [NOTE] This endpoint is limited in availability. For more information, contact your Marqeta representative. Use this endpoint to return card data for use in provisioning a digital wallet token into Samsung Wallet. The returned card data is encrypted using the digital wallet provider's encryption key, thereby reducing your PCI compliance overhead. operationId: postDigitalwalletprovisionrequestsSamsungpay requestBody: content: application/json: schema: $ref: '#/components/schemas/digital_wallet_samsung_pay_provision_request' required: false responses: '201': content: application/json: schema: $ref: '#/components/schemas/digital_wallet_samsung_pay_provision_response' description: Success '400': content: { } description: User input error/Bad request '404': content: { } description: Card not found '500': content: { } description: Server error summary: Create digital wallet token provisioning request for Samsung Wallet tags: - Digital Wallets Management /digitalwalletprovisionrequests/xpay: post: description: |- [NOTE] This endpoint is limited in availability. For more information, contact your Marqeta representative. Use this endpoint to return card data for use in provisioning a digital wallet token into an XPay digital wallet. The returned card data is encrypted using the digital wallet provider's encryption key, thereby reducing your PCI compliance overhead. operationId: postDigitalwalletprovisionrequestsXPay requestBody: content: application/json: schema: $ref: '#/components/schemas/digital_wallet_x_pay_provision_request' required: false responses: '201': content: application/json: schema: $ref: '#/components/schemas/digital_wallet_x_pay_provision_response' description: Success '400': content: { } description: User input error/Bad request '404': content: { } description: Card not found '500': content: { } description: Server error summary: Create digital wallet token provisioning request for XPay tags: - Digital Wallets Management /digitalwallets/clicktopay/mastercard/checkeligibility: get: description: Use this endpoint to check if a provided BIN prefix is eligible for Click to Pay. operationId: getClicktopayMastercardCheckeligibility parameters: - description: Prefix of the bank identification number. explode: true in: query name: bin_prefix required: true schema: type: string x-allowableValues: |- A six- to nine-digit number *NOTE:* It is preferable to use eight- or nine-digit BIN prefixes in production environments. Contact your Marqeta representative for the appropriate value to use. style: form - description: Returns a list of image assets for the Click to Pay logo if set to `true`. explode: true in: query name: include_asset required: false schema: default: false type: boolean x-allowableValues: '`true`, `false`' style: form - explode: false in: header name: req-sys-id required: true schema: type: string style: simple responses: '200': content: application/json: example: image_assets: - media_content: data: iVBORw0KGgoAAAANSUhEUgAAAMAAAADACAYAAABS3GwHAAAAAXNSR0IArs4c6... (truncated for readability) height: 192px type: image/png width: 192px - media_content: data: PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3... (truncated for readability) height: 192px type: image/svg+xml width: 192px is_eligible: true schema: $ref: '#/components/schemas/click_to_pay_check_eligibility_response' description: Eligibility check successful '400': description: Invalid binPrefix or other validation error '500': description: Internal server error summary: Check eligibility for Click to Pay tags: - Digital Wallets Management /digitalwallets/clicktopay/mastercard/enroll: post: description: Use this endpoint to enroll a card asynchronously to Click to Pay. operationId: postClicktopayMastercardEnroll parameters: - explode: false in: header name: req-sys-id required: true schema: type: string style: simple requestBody: content: application/json: example: card_token: my_card_token_1234 locale_country: US locale_language: en user_details: - email_address: test@test.com mobile_number: country_code: '44' phone_number: '1234567890' user_token: my_user_token_1234 schema: $ref: '#/components/schemas/click_to_pay_enroll_request' required: true responses: '201': content: application/json: example: token: my_token_0000 schema: $ref: '#/components/schemas/click_to_pay_enroll_response' description: Enrollment Request Accepted '400': description: Invalid request or other validation error '500': description: Internal server error summary: Enroll a card to Click to Pay tags: - Digital Wallets Management /digitalwallets/clicktopay/mastercard/status/{token}: get: description: Use this endpoint to return the status of a Click to Pay request with a provided token. operationId: getClicktopayMastercardStatusToken parameters: - description: Unique identifier of the Click to Pay request. explode: false in: path name: token required: true schema: type: string x-allowableValues: Existing Click to Pay request token style: simple - explode: false in: header name: req-sys-id required: true schema: type: string style: simple responses: '200': content: application/json: example: status: SUCCESS token: my_token_0000 token_reference_id: my_token_reference_id_1600 schema: $ref: '#/components/schemas/click_to_pay_status_response' description: Status retrieval successful '404': description: No provision request found with the token '500': description: Internal server error summary: Get Click to Pay enrollment status tags: - Digital Wallets Management /digitalwallets/wpp/applePayJWT: post: description: |- [NOTE] This endpoint is currently in beta and subject to change. For more information, contact your Marqeta representative. Use this endpoint to add a card to Apple Wallet via a web application. operationId: generateApplePayWPPJWT parameters: - description: Random pseudo-unique value used for troubleshooting between multiple parties. example: 123d837e-958a-4e9f-bc97-4843ec948123 explode: false in: header name: req-sys-id required: true schema: type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/request_for_apple_pay_wpp_JWT' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/web_push_provisioning_apple_pay_JWT_response' description: Ok headers: req-sys-id: description: Random pseudo-unique value used for troubleshooting between multiple parties. explode: false schema: type: string style: simple '400': content: application/json: schema: $ref: '#/components/schemas/error_message_from_web_push_provisioning_request' description: Bad request headers: req-sys-id: description: Random pseudo-unique value used for troubleshooting between multiple parties. explode: false schema: type: string style: simple '401': content: application/json: schema: $ref: '#/components/schemas/error_message_from_web_push_provisioning_request' description: Unauthorized headers: req-sys-id: description: Random pseudo-unique value used for troubleshooting between multiple parties. explode: false schema: type: string style: simple '500': content: application/json: schema: $ref: '#/components/schemas/error_message_from_web_push_provisioning_request' description: Internal Server Error headers: req-sys-id: description: Random pseudo-unique value used for troubleshooting between multiple parties. explode: false schema: type: string style: simple summary: Create request for Apple Wallet web push provisioning tags: - Digital Wallets Management /digitalwallets/wpp/googlePayPushProvisioningNotification: post: description: |- [NOTE] This endpoint is currently in beta and subject to change. For more information, contact your Marqeta representative. Use this endpoint to add a card to Google Wallet via a web application. This endpoint does not return a payload in response to a request. Instead, a successful call will return a response code only. operationId: sendOPCDataToGooglePay parameters: - description: Random pseudo-unique value used for troubleshooting between multiple parties. example: 123d837e-958a-4e9f-bc97-4843ec948123 explode: false in: header name: req-sys-id required: true schema: type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/sending_provisioning_data_to_google_pay_backend_request' required: true responses: '202': content: { } description: Accepted headers: req-sys-id: description: Random pseudo-unique value used for troubleshooting between multiple parties. explode: false schema: type: string style: simple '400': content: application/json: schema: $ref: '#/components/schemas/error_message_from_web_push_provisioning_request' description: Bad request headers: req-sys-id: description: Random pseudo-unique value used for troubleshooting between multiple parties. explode: false schema: type: string style: simple '401': content: application/json: schema: $ref: '#/components/schemas/error_message_from_web_push_provisioning_request' description: Unauthorized headers: req-sys-id: description: Random pseudo-unique value used for troubleshooting between multiple parties. explode: false schema: type: string style: simple '500': content: application/json: schema: $ref: '#/components/schemas/error_message_from_web_push_provisioning_request' description: Internal Server Error headers: req-sys-id: description: Random pseudo-unique value used for troubleshooting between multiple parties. explode: false schema: type: string style: simple summary: Create request for Google Wallet web push provisioning tags: - Digital Wallets Management /digitalwallets/wpp/parameters: post: operationId: getWPPParameters parameters: - description: Random pseudo unique value used for troubleshooting between multiple parties. 36 char max example: 123d837e-958a-4e9f-bc97-4843ec948123 explode: false in: header name: req-sys-id required: true schema: type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/request_for_wpp_parameters' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/web_push_provisioning' description: Ok headers: req-sys-id: description: Random pseudo unique value used for troubleshooting between multiple parties. 36 char max explode: false schema: type: string style: simple '400': content: application/json: schema: $ref: '#/components/schemas/error_message_from_web_push_provisioning_request' description: Bad request headers: req-sys-id: description: Random pseudo unique value used for troubleshooting between multiple parties. 36 char max explode: false schema: type: string style: simple '401': content: application/json: schema: $ref: '#/components/schemas/error_message_from_web_push_provisioning_request' description: Unauthorized headers: req-sys-id: description: Random pseudo unique value used for troubleshooting between multiple parties. 36 char max explode: false schema: type: string style: simple '500': content: application/json: schema: $ref: '#/components/schemas/error_message_from_web_push_provisioning_request' description: Internal Server Error headers: req-sys-id: description: Random pseudo unique value used for troubleshooting between multiple parties. 36 char max explode: false schema: type: string style: simple summary: 'API to query for the web push provisioning related parameters, such as: google piaid/integrator_id, apple partnerId, apple Card Template Identifier' tags: - web push provisioning /digitalwallettokens: get: description: Use this endpoint to retrieve a list of digital wallet tokens. operationId: getDigitalwallettokens parameters: - description: Number of digital wallet token resources to retrieve. explode: true in: query name: count required: false schema: default: 10 format: int32 type: integer style: form - description: Sort order index of the first digital wallet token resource in the returned array. explode: true in: query name: start_index required: false schema: default: 0 format: int32 type: integer style: form - description: |- Comma-delimited list of fields to return (`field_1,field_2`, and so on). Leave blank to return all fields. explode: true in: query name: fields required: false schema: type: string style: form - description: |- Field on which to sort. Use any field in the resource model, or one of the system fields `lastModifiedTime` or `createdTime`. Prefix the field name with a hyphen (`-`) to sort in descending order. Omit the hyphen to sort in ascending order. explode: true in: query name: sort_by required: false schema: default: -createdTime type: string style: form - description: Date when the digital wallet token becomes active. explode: true in: query name: start_date required: false schema: type: string style: form - description: Expiration date of the digital wallet token. explode: true in: query name: end_date required: false schema: type: string style: form - description: |- Unique identifier of the digital wallet token primary account number (PAN) within the card network. This value may vary, depending on the digital wallet. For example, the `pan_reference_id` may be different in Apple Wallet and Google Wallet for the same digital wallet token. explode: true in: query name: pan_reference_id required: false schema: type: string style: form - description: |- Unique identifier of the digital wallet token within the card network. The `token_reference_id` is unique at the card network level. explode: true in: query name: token_reference_id required: false schema: type: string style: form - description: Unique value representing a tokenization request (Mastercard only). explode: true in: query name: correlation_id required: false schema: type: string style: form - description: Comma-delimited list of digital wallet token types to display. explode: true in: query name: token_type required: false schema: type: string style: form - description: |- Name of the token requestor within the card network. *NOTE:* The list of example values for this field is maintained by the card networks and is subject to change. explode: true in: query name: token_requestor_name required: false schema: type: string style: form - description: Comma-delimited list of digital wallet token states to display. explode: true in: query name: state required: false schema: type: string style: form - description: An optional embedded user object. explode: true in: query name: embed required: false schema: enum: - user type: string style: form responses: '200': content: application/json: schema: $ref: '#/components/schemas/DigitalWalletTokenListResponse' description: Success '400': content: { } description: User input error/Bad request '500': content: { } description: Server error summary: List digital wallet tokens tags: - Digital Wallets Management /digitalwallettokens/card/{card_token}: get: description: |- Use this endpoint to return an array of all digital wallet tokens for a particular card. This endpoint supports <</core-api/sorting-and-pagination, pagination>>. operationId: getDigitalwallettokensCardCardtoken parameters: - description: |- Unique identifier of the card. Used to minimize the need to exchange card details during subsequent calls, and also for troubleshooting. explode: false in: path name: card_token required: true schema: type: string style: simple - description: Number of digital wallet token resources to retrieve. explode: true in: query name: count required: false schema: default: 5 format: int32 type: integer style: form - description: Sort order index of the first digital wallet token resource in the returned array. explode: true in: query name: start_index required: false schema: default: 0 format: int32 type: integer style: form - description: |- Field on which to sort. Use any field in the resource model, or one of the system fields `lastModifiedTime` or `createdTime`. Prefix the field name with a hyphen (`-`) to sort in descending order. Omit the hyphen to sort in ascending order. explode: true in: query name: sort_by required: false schema: default: -createdTime type: string style: form responses: '200': content: application/json: example: count: 1 data: - address_verification: name: Address Verification Name postal_code: '94703' street_address: 223 Elm Street card_token: my_card_token_1989 created_time: 2022-10-03T18:55:45Z device: device_id: my_device_id_9575 ip_address: x.x.x.x language_code: eng location: +37.81/-122.26 name: Phone Name phone_number: '12345678900' type: MOBILE_PHONE fulfillment_status: PROVISIONED issuer_eligibility_decision: cardaccount.verified last_modified_time: 2023-01-26T22:36:10Z state: ACTIVE state_reason: Card activated by cardholder token: my_token_0000 token_service_provider: pan_reference_id: my_pan_reference_id_0073 token_eligibility_decision: DECISION_GREEN token_reference_id: my_token_reference_id_1600 token_requestor_id: my_token_requestor_id_0373 token_requestor_name: Token Requestor Name token_score: '02' token_type: DEVICE_SECURE_ELEMENT wallet_provider_profile: account: score: '05' device_score: '03' pan_source: KEY_ENTERED risk_assessment: score: DECISION_YELLOW version: '0001.00' end_index: 0 is_more: true start_index: 0 schema: $ref: '#/components/schemas/DigitalWalletTokenListResponse' description: Success '400': content: { } description: User input error/Bad request '404': content: { } description: Card not found '500': content: { } description: Server error summary: List digital wallet tokens for card tags: - Digital Wallets Management /digitalwallettokens/{token}: get: description: Use this endpoint to retrieve a specific digital wallet token. operationId: getDigitalwallettokensToken parameters: - description: Unique identifier of the digital wallet token (DWT). explode: false in: path name: token required: true schema: type: string style: simple responses: '200': content: application/json: example: address_verification: name: Address Verification Name postal_code: '94703' street_address: 223 Elm Street card_token: my_card_token_1989 created_time: 2022-10-03T18:55:45Z device: device_id: my_device_id_9575 ip_address: x.x.x.x language_code: eng location: +37.81/-122.26 name: Phone Name phone_number: '12345678900' type: MOBILE_PHONE fulfillment_status: PROVISIONED issuer_eligibility_decision: cardaccount.verified last_modified_time: 2023-01-26T22:36:10Z state: ACTIVE state_reason: Card activated by cardholder token: my_token_0000 token_service_provider: pan_reference_id: my_pan_reference_id_0073 token_eligibility_decision: DECISION_GREEN token_reference_id: my_token_reference_id_1600 token_requestor_id: my_token_requestor_id_0373 token_requestor_name: Token Requestor Name token_score: '02' token_type: DEVICE_SECURE_ELEMENT wallet_provider_profile: account: score: '05' device_score: '03' pan_source: KEY_ENTERED risk_assessment: score: DECISION_YELLOW version: '0001.00' schema: $ref: '#/components/schemas/digital_wallet_token' description: Success '400': content: { } description: User input error/Bad request '404': content: { } description: Card not found '500': content: { } description: Server error summary: Retrieve digital wallet token tags: - Digital Wallets Management /digitalwallettokens/{token}/showtokenpan: get: description: |- Use this endpoint to retrieve a digital wallet token with the entire primary account number (PAN) displayed. The PAN returned is of the digital wallet token and not of the card. (For security reasons, the PAN is not fully visible on the digital wallet token returned by `GET` `/digitalwallettokens/{token}`.) [WARNING] Sending a request to this endpoint requires PCI DSS compliance. You must comply with PCI DSS data security requirements if you want to store, transmit, or process sensitive card data such as the cardholder's primary account number (PAN), personal identification number (PIN), and card expiration date. operationId: getDigitalwallettokensTokenShowtokenpan parameters: - description: Unique identifier of the digital wallet token (DWT). explode: false in: path name: token required: true schema: type: string style: simple responses: '200': content: application/json: example: address_verification: name: Address Verification Name postal_code: '94703' street_address: 223 Elm Street card_token: my_card_token_1989 created_time: 2022-10-03T18:55:45Z device: device_id: my_device_id_9575 ip_address: x.x.x.x language_code: eng location: +37.81/-122.26 name: Phone Name phone_number: '12345678900' type: MOBILE_PHONE fulfillment_status: PROVISIONED issuer_eligibility_decision: cardaccount.verified last_modified_time: 2023-01-26T22:36:10Z state: ACTIVE state_reason: Card activated by cardholder token: my_token_0000 token_service_provider: pan_reference_id: my_pan_reference_id_0073 token_eligibility_decision: DECISION_GREEN token_pan: my_token_pan_6792 token_reference_id: my_token_reference_id_1600 token_requestor_id: my_token_requestor_id_0373 token_requestor_name: Token Requestor Name token_score: '02' token_type: DEVICE_SECURE_ELEMENT wallet_provider_profile: account: score: '05' device_score: '03' pan_source: KEY_ENTERED risk_assessment: score: DECISION_YELLOW version: '0001.00' schema: $ref: '#/components/schemas/digital_wallet_token' description: Success '400': content: { } description: User input error/Bad request '404': content: { } description: Card not found '500': content: { } description: Server error summary: Retrieve digital wallet token PAN tags: - Digital Wallets Management /digitalwallettokentransitions: post: description: Use this endpoint to transition a digital wallet token from one state to another. operationId: postDigitalwallettokentransitions requestBody: content: application/json: example: digital_wallet_token: token: my_digital_wallet_token_0987 reason: Passed additional identity verification reason_code: '18' state: ACTIVE token: my_transition_04 schema: $ref: '#/components/schemas/digital_wallet_token_transition_request' required: false responses: '201': content: application/json: example: channel: API created_time: 2023-02-23T18:57:45Z digital_wallet_token: token: my_digital_wallet_token_0987 fulfillment_status: PROVISIONED reason: Passed additional identity verification reason_code: '18' state: ACTIVE token: my_transition_04 type: state.activated schema: $ref: '#/components/schemas/digital_wallet_token_transition_response' description: Success '400': content: { } description: User input error/Bad request '409': content: { } description: Token already associated with a different payload '500': content: { } description: Server error summary: Create digital wallet token transition tags: - Digital Wallets Management /digitalwallettokentransitions/digitalwallettoken/{token}: get: description: |- Use this endpoint to return an array of all transitions for a particular digital wallet token. This endpoint supports <</core-api/field-filtering, field filtering>>, <</core-api/sorting-and-pagination, pagination>>, and <</core-api/sorting-and-pagination, sorting>>. operationId: getDigitalwallettokentransitionsDigitalwallettokenToken parameters: - description: Unique identifier of the digital wallet token (DWT). explode: false in: path name: token required: true schema: type: string style: simple - description: Number of digital wallet transitions to retrieve. explode: true in: query name: count required: false schema: default: 5 format: int32 type: integer style: form - description: The sort order index of the first digital wallet token in the returned array. explode: true in: query name: start_index required: false schema: default: 0 format: int32 type: integer style: form - description: |- Comma-delimited list of fields to return (`field_1,field_2`, and so on). Leave blank to return all fields. explode: true in: query name: fields required: false schema: type: string style: form - description: |- Field on which to sort. Use any field in the resource model, or one of the system fields `lastModifiedTime` or `createdTime`. Prefix the field name with a hyphen (`-`) to sort in descending order. Omit the hyphen to sort in ascending order. explode: true in: query name: sort_by required: false schema: default: -id type: string style: form responses: '200': content: application/json: example: count: 2 data: - channel: API created_time: 2023-02-23T18:57:45Z digital_wallet_token: token: my_digital_wallet_token_0987 fulfillment_status: PROVISIONED reason: Passed additional identity verification reason_code: '18' state: ACTIVE token: my_transition_04 type: state.activated - channel: TOKEN_SERVICE_PROVIDER created_time: 2023-02-23T18:44:21Z digital_wallet_token: token: my_digital_wallet_token_0987 fulfillment_status: DECISION_YELLOW reason: Additional identity verification required reason_code: '21' state: REQUESTED token: my_transition_04 type: fulfillment.requested end_index: 1 is_more: false start_index: 0 schema: $ref: '#/components/schemas/DigitalWalletTokenTransitionListResponse' description: Success '400': content: { } description: Bad request '500': content: { } description: Server error summary: List transitions for digital wallet token tags: - Digital Wallets Management /digitalwallettokentransitions/{token}: get: description: |- Use this endpoint to retrieve a specific digital wallet token transition. This endpoint supports <</core-api/field-filtering, field filtering>>. operationId: getDigitalwallettokentransitionsToken parameters: - description: Unique identifier of the digital wallet token (DWT) transition. explode: false in: path name: token required: true schema: type: string style: simple - description: |- Comma-delimited list of fields to return (`field_1,field_2`, and so on). Leave blank to return all fields. explode: true in: query name: fields required: false schema: type: string style: form responses: '200': content: application/json: example: channel: API created_time: 2023-02-23T18:57:45Z digital_wallet_token: token: my_digital_wallet_token_0987 fulfillment_status: PROVISIONED reason: Passed additional identity verification reason_code: '18' state: ACTIVE token: my_transition_04 type: state.activated schema: $ref: '#/components/schemas/digital_wallet_token_transition_response' description: Success '400': content: { } description: User input error/Bad request '404': content: { } description: Transition not found '500': content: { } description: Server error summary: Retrieve digital wallet token transition tags: - Digital Wallets Management /directdeposits: get: operationId: getDirectdeposits parameters: - description: The number of direct deposit records to retrieve. explode: true in: query name: count required: false schema: default: 5 format: int32 maximum: 100 type: integer style: form - description: Start index explode: true in: query name: start_index required: false schema: default: 0 format: int32 type: integer style: form - description: Reversed after grace period explode: true in: query name: reversed_after_grace_period required: false schema: type: boolean style: form - description: User token explode: true in: query name: user_token required: false schema: type: string style: form - description: Business token explode: true in: query name: business_token required: false schema: type: string style: form - description: 'Comma-delimited list of direct deposit states to display e.g. PENDING | REVERSED | APPLIED | REJECTED ' explode: true in: query name: direct_deposit_state required: false schema: enum: - PENDING - APPLIED - REVERSED - REJECTED type: string style: form - description: Start Settlement Date explode: true in: query name: start_settlement_date required: false schema: type: string style: form - description: End Settlement Date explode: true in: query name: end_settlement_date required: false schema: type: string style: form - description: Sort order explode: true in: query name: sort_by required: false schema: default: -lastModifiedTime type: string style: form responses: '200': content: application/json: schema: $ref: '#/components/schemas/DirectDepositListResponse' description: Success '400': content: { } description: Bad request '500': content: { } description: Server error summary: Retrieves a list of all direct deposit records for your program. tags: - direct deposits /directdeposits/accounts/{user_or_business_token}: get: deprecated: true operationId: getDirectdepositsAccountsUserorbusinesstoken parameters: - explode: false in: path name: user_or_business_token required: true schema: type: string style: simple responses: '200': content: application/json: schema: $ref: '#/components/schemas/deposit_account' description: Success '400': content: { } description: Cardholder not found '404': content: { } description: Account not found '500': content: { } description: Server error summary: Returns an account and routing number which can be used for direct deposit tags: - direct deposits put: deprecated: true operationId: putDirectdepositsAccountsUserorbusinesstoken parameters: - description: User or business token explode: false in: path name: user_or_business_token required: true schema: type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/deposit_account_update_request' description: Deposit account update request required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/deposit_account' description: Success '400': content: { } description: User input error/Bad request '500': content: { } description: Server error summary: Updates a specific direct deposit account tags: - direct deposits /directdeposits/transitions: get: operationId: getDirectdepositsTransitions parameters: - description: Number of direct deposit transitions to retrieve explode: true in: query name: count required: false schema: default: 5 format: int32 maximum: 100 type: integer style: form - description: User token explode: true in: query name: user_token required: false schema: type: string style: form - description: Business token explode: true in: query name: business_token required: false schema: type: string style: form - description: Direct deposit token explode: true in: query name: direct_deposit_token required: false schema: type: string style: form - description: Start index explode: true in: query name: start_index required: false schema: default: 0 format: int32 type: integer style: form - description: Sort order explode: true in: query name: sort_by required: false schema: default: -createdTime type: string style: form - description: 'Comma-delimited list of direct deposit states to display e.g. PENDING | REVERSED | APPLIED | REJECTED ' explode: true in: query name: states required: false schema: type: string style: form responses: '200': content: application/json: schema: $ref: '#/components/schemas/DirectDepositTransitionListResponse' description: Success '404': content: { } description: Not found '500': content: { } description: Server error summary: Returns a list of direct deposit transitions tags: - direct deposits post: operationId: postDirectdepositsTransitions requestBody: content: application/json: schema: $ref: '#/components/schemas/DirectDepositTransitionRequest' required: false responses: '200': content: application/json: schema: $ref: '#/components/schemas/DirectDepositTransitionResponse' description: Success '400': content: { } description: User input error/Bad request '500': content: { } description: Server error summary: Creates a direct deposit transition tags: - direct deposits /directdeposits/transitions/{token}: get: operationId: getDirectdepositsTransitionsToken parameters: - explode: false in: path name: token required: true schema: type: string style: simple responses: '200': content: application/json: schema: $ref: '#/components/schemas/DirectDepositTransitionResponse' description: Success '404': content: { } description: Direct deposit transition not found '500': content: { } description: Server error summary: Returns a direct deposit transition tags: - direct deposits /directdeposits/{token}: get: operationId: getDirectdepositsToken parameters: - explode: false in: path name: token required: true schema: type: string style: simple responses: '200': content: application/json: schema: $ref: '#/components/schemas/DirectDepositResponse' description: Success '404': content: { } description: Direct deposit entry not found '500': content: { } description: Server error summary: Returns a direct deposit entry tags: - direct deposits /feecharges: post: description: |- Use this endpoint to create a fee charge. You must pass in either `user_token` or `business_token` to associate a user or business with the fee charge. This is an all-or-nothing operation. When more than one fee is present, you must assess either all fees, or no fees. operationId: postFeeCharge requestBody: content: application/json: example: business_token: my_business_01 fees: - memo: Initiation fee token: my_fee_01 token: my_feecharge_01 user_token: my_user_01 schema: $ref: '#/components/schemas/fee_transfer_request' required: false responses: '201': content: application/json: example: business_token: my_business_01 created_time: 2024-05-11T19:05:55Z fees: - fee: active: true amount: 1 created_time: 2024-05-11T17:57:21Z currency_code: USD last_modified_time: 2024-05-11T17:57:21Z name: My Fee 01 tags: My Tags token: my_fee_01 memo: Initiation fee token: my_fee_01 transaction_token: '162' token: my_feecharge_01 user_token: my_user_01 schema: $ref: '#/components/schemas/fee_transfer_response' description: Success '400': content: { } description: User input error/Bad request '409': content: { } description: Request already processed with a different payload '422': content: { } description: Rule violations '500': content: { } description: Server error summary: Create fee charge tags: - Fee Charges /feecharges/realtime: post: operationId: postRealTimeFeeCharge requestBody: content: application/json: schema: $ref: '#/components/schemas/realtime_fee_transfer_request' required: false responses: '201': content: application/json: schema: $ref: '#/components/schemas/fee_transfer_response' description: Success '400': content: { } description: User input error/Bad request '409': content: { } description: Request already processed with a different payload '422': content: { } description: Rule violations '500': content: { } description: Server error summary: Creates a realTime fee charge tags: - fee charges /feecharges/{token}: get: description: |- Use this endpoint to retrieve a specific fee charge. Include the fee transfer `token` path parameter to specify the fee charge to return. operationId: getFeeChargeToken parameters: - description: Unique identifier of the fee charge to retrieve. explode: false in: path name: token required: true schema: type: string style: simple responses: '200': content: application/json: example: business_token: my_business_01 created_time: 2024-05-11T19:05:55Z fees: - fee: active: true amount: 1 created_time: 2024-05-11T17:57:21Z currency_code: USD last_modified_time: 2024-05-11T17:57:21Z name: My Fee 01 tags: My Tags token: my_fee_01 memo: Initiation fee token: my_fee_01 transaction_token: '162' token: my_feetransfer_01 user_token: my_user_01 schema: $ref: '#/components/schemas/fee_transfer_response' description: Success '404': content: { } description: Fee charge not found '500': content: { } description: Server error summary: Retrieve fee charge tags: - Fee Charges /feedback/fraud: post: description: This endpoint is to get a fraud feedback from the customer. requestBody: content: application/json: schema: $ref: '#/components/schemas/FraudFeedbackRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/FraudFeedbackResponse' description: Fraud feedback is created successfully. '400': content: application/json: schema: $ref: '#/components/schemas/BadRequestError' description: Bad Request Error '401': content: application/json: schema: $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized Error '403': content: application/json: schema: $ref: '#/components/schemas/ForbiddenError' description: Forbidden Error '500': content: application/json: schema: $ref: '#/components/schemas/InternalServerError' description: Internal Server Error security: - zionToken: [ ] summary: Creates a fraud feedback /feerefunds: post: description: |- Use this endpoint to create a fee refund. Include the fee charge `token` path parameter to specify the fee to return. If there are insufficient funds in your fee account to refund the fee, funds are drawn from your program reserve account. operationId: postFeeRefunds requestBody: content: application/json: schema: $ref: '#/components/schemas/fee_refund_request' required: false responses: '201': content: application/json: schema: $ref: '#/components/schemas/fee_transfer_response' description: Success '400': content: { } description: User input error/Bad request '409': content: { } description: Request already processed with a different payload '422': content: { } description: Rule violations '500': content: { } description: Server error summary: Create fee refund tags: - Fee Refunds /fees: get: description: |- Use this endpoint to list existing fees. This endpoint supports <</core-api/field-filtering, field filtering>> and <</core-api/sorting-and-pagination, pagination>>. operationId: getFees parameters: - description: Number of resources to retrieve. explode: true in: query name: count required: false schema: default: 100 format: int32 type: integer style: form - description: Sort order index of the first resource in the returned array. explode: true in: query name: start_index required: false schema: default: 0 format: int32 type: integer style: form - description: |- Comma-delimited list of fields to return (`field_1,field_2`, and so on). Leave blank to return all fields. explode: true in: query name: fields required: false schema: type: string style: form - description: |- Field on which to sort. Use any field in the resource model, or one of the system fields `lastModifiedTime` or `createdTime`. Prefix the field name with a hyphen (`-`) to sort in descending order. Omit the hyphen to sort in ascending order. explode: true in: query name: sort_by required: false schema: default: -createdTime type: string style: form responses: '200': content: application/json: example: count: 1 data[]: active: true amount: 3.0 created_time: 2024-05-11T18:03:39Z currency_code: USD last_modified_time: 2024-05-11T18:03:39Z name: My Fee 02 tags: My Tags token: my_fee_02 end_index: 1 is_more: false start_index: 0 schema: $ref: '#/components/schemas/FeeListResponse' description: Success '400': content: { } description: Bad request '500': content: { } description: Server error summary: List fees tags: - Fees post: description: |- Use this endpoint to create a fee. Add the source details to the body of the request in link:http://www.json.org/[JSON, window="_blank"] format. operationId: postFees requestBody: content: application/json: example: amount: 1.0 currency_code: USD name: My Fee 01 tags: My Tags token: my_fee_01 schema: $ref: '#/components/schemas/fee_request' required: false responses: '201': content: application/json: example: active: true amount: 1 created_time: 2024-05-11T17:57:21Z currency_code: USD last_modified_time: 2024-05-11T17:57:21Z name: My Fee 01 tags: My Tags token: my_fee_01 schema: $ref: '#/components/schemas/fee_response' description: Success '400': content: { } description: User input error/Bad request '409': content: { } description: Request already processed with a different payload '500': content: { } description: Server error summary: Create fee tags: - Fees /fees/{token}: get: description: |- Use this endpoint to retrieve a fee. Include the `token` path parameter to specify the fee to return. operationId: getFeesToken parameters: - description: Unique identifier of the fee resource. explode: false in: path name: token required: true schema: type: string style: simple responses: '200': content: application/json: example: active: true amount: 1.0 created_time: 2024-05-11T17:57:21Z currency_code: USD last_modified_time: 2024-05-11T17:57:21Z name: My Fee 01 tags: My Tags token: my_fee_01 schema: $ref: '#/components/schemas/fee_response' description: Success '404': content: { } description: Fee not found '500': content: { } description: Server error summary: Retrieve fee tags: - Fees put: description: |- Use this endpoint to update a fee. Include the `token` as a path parameter to indicate the fee to update. operationId: putFeesToken parameters: - description: Unique identifier of the fee resource. explode: false in: path name: token required: true schema: type: string style: simple requestBody: content: application/json: example: active: false schema: $ref: '#/components/schemas/fee_update_request' required: false responses: '200': content: application/json: example: active: false amount: 1.0 created_time: 2024-05-11T17:57:21Z currency_code: USD last_modified_time: 2024-05-11T17:57:21Z name: My Fee 01 tags: My Tags token: my_fee_01 schema: $ref: '#/components/schemas/fee_response' description: Success '400': content: { } description: User input error/Bad request '500': content: { } description: Server error summary: Update fee tags: - Fees /fundingsources/ach: post: description: |- Create an ACH funding source for an existing account holder. Specify the account holder of the funding source by passing a user or business token. The response body returns details about the account, including the verification status. Possible ACH verification status values include `ACH_VERIFIED`, `ACH_FAILED`, and `VERIFICATION_PENDING`. operationId: postFundingsourcesAch requestBody: content: application/json: example: account_number: '987654321' account_type: savings is_default_account: false name_on_account: Jane Doe routing_number: '121000358' token: my_user_01_fundingsource_token_01 user_token: my_user_01 verification_notes: These are my verification notes. verification_override: true schema: $ref: '#/components/schemas/ach_model' required: false responses: '200': content: application/json: example: account_suffix: '4321' account_type: savings active: true created_time: 2023-02-26T18:46:06Z date_sent_for_verification: 2023-02-27T07:36:05Z date_verified: 2023-02-27T11:03:45Z is_default_account: false last_modified_time: 2023-03-26T12:44:02Z name_on_account: Jane Doe token: my_user_01_fundingsource_token_01 user_token: my_user_01 verification_notes: These are my verification notes. verification_override: true verification_status: ACH_VERIFIED schema: $ref: '#/components/schemas/ach_response_model' description: Success '400': content: { } description: Bad request '409': content: { } description: Token already associated with a different payload '500': content: { } description: Server error summary: Create ACH source tags: - Account Holder Funding Sources /fundingsources/ach/partner: post: description: |- Create an ACH funding source for an existing account holder by using a third-party partner to handle account validation and provide PII account data. Because you don't handle any personally identifiable information (PII) yourself, using a third party when creating the funding source enables you to bypass the regulatory and compliance measures related to capturing, storing, and transmitting PII. With this endpoint, you can create a US-based funding source—either a checking account or a savings account—for a program or user without passing bank account details such as the account number or routing number to Marqeta. Instead, validating account data and account verification is handled by the third-party partner you specify, and a secure token (i.e., a Plaid `processor_token`) is shared across partners. By using a secure account verification platform to provide immediate verification, you shorten the wait time until the ACH funding source is ready and avoid managing the microdeposit-based account verification process. To create an ACH funding source for an existing account holder without validating through a third party, see <</core-api/account-holder-funding-sources#postFundingsourcesAch, Create ACH source>>. [NOTE] This endpoint assumes that you already have established a relationship with both Marqeta and the third-party account validation partner you want to use. In addition, you must explicitly authorize the sharing of information with the third-party partner, and enable Marqeta as a processor for your integration. For more information, contact your Marqeta representative. operationId: postFundingsourcesAchPartner requestBody: content: application/json: example: is_default_account: false partner: PLAID partner_account_link_reference_token: processor-sandbox-reference-token token: my_user_01_fundingsource_token_01 user_token: my_user_01 schema: $ref: '#/components/schemas/ach_partner_request_model' required: false responses: '200': content: application/json: example: account_suffix: '4321' account_type: savings active: true created_time: 2023-02-26T18:46:06Z date_sent_for_verification: 2023-02-27T07:36:05Z date_verified: 2023-02-27T11:03:45Z is_default_account: false last_modified_time: 2023-03-26T12:44:02Z name_on_account: Jane Doe partner: PLAID partner_account_link_reference_token: processor-sandbox-reference-token token: my_user_01_fundingsource_token_01 user_token: my_user_01 verification_notes: These are my verification notes. verification_override: true verification_status: ACH_VERIFIED schema: $ref: '#/components/schemas/ach_response_model' description: Success '400': content: { } description: Bad request '409': content: { } description: Token already associated with a different payload '500': content: { } description: Server error summary: Create ACH source via a partner integration tags: - Account Holder Funding Sources /fundingsources/ach/partner/{funding_source_token}/balance: get: operationId: getAchPartnerLinkedFundingSourceBalance parameters: - description: Funding source token explode: false in: path name: funding_source_token required: true schema: type: string style: simple responses: '200': content: application/json: schema: $ref: '#/components/schemas/LinkedAccountBalanceResponse' description: Success '400': content: { } description: Bad request '404': content: { } description: Not found '500': content: { } description: Server error summary: Retrieves a linked funding source balance from a partner tags: - funding sources /fundingsources/ach/{funding_source_token}: get: description: |- Retrieve a specific ACH funding source. The response body returns details about the account, including the verification status. Possible ACH verification status values are: `ACH_FAILED`, `ACH_VERIFIED`, and `VERIFICATION_PENDING`. operationId: getFundingsourcesAchFundingsourcetoken parameters: - description: |- Unique identifier of the funding source. Send a `GET` request to `/fundingsources/user/{user_token}` to retrieve existing funding source tokens for a user or to `/fundingsources/business/{business_token}` to retrieve existing funding source tokens for a business. explode: false in: path name: funding_source_token required: true schema: type: string style: simple responses: '200': content: application/json: example: account_suffix: '4321' account_type: savings active: true created_time: 2023-02-26T18:46:06Z date_sent_for_verification: 2023-02-27T18:00:00Z date_verified: 2023-02-27T18:15:00Z is_default_account: false last_modified_time: 2023-03-12T04:58:46Z name_on_account: Jane Doe token: my_user_01_fundingsource_token_01 user_token: my_user_01 verification_notes: These are my verification notes. verification_override: true verification_status: ACH_VERIFIED schema: $ref: '#/components/schemas/ach_response_model' description: Success '400': content: { } description: Bad request '404': content: { } description: Not found '500': content: { } description: Server error summary: Retrieve ACH source tags: - Account Holder Funding Sources /fundingsources/ach/{funding_source_token}/verificationamounts: get: operationId: getFundingsourcesAchFundingsourcetokenVerificationamounts parameters: - description: Funding account token explode: false in: path name: funding_source_token required: true schema: type: string style: simple responses: '200': content: application/json: schema: $ref: '#/components/schemas/ach_verification_model' description: Success '400': content: { } description: Bad request '500': content: { } description: Server error summary: Returns the dollar amounts used to verify the ACH account tags: - funding sources /fundingsources/addresses: post: description: |- Use this endpoint to create an address resource. When creating the address, you must pass the token of either an existing user in the `user_token` field or an existing business in the `business_token` field. Do not pass both. operationId: postFundingsourcesAddresses requestBody: content: application/json: example: address_1: 1234 Grove Street business_token: my_business_01 city: Berkeley country: USA first_name: Jane last_name: Doe phone: '5104444444' postal_code: '94705' state: CA token: my_funding_source_address_biz_01 zip: '94705' schema: $ref: '#/components/schemas/card_holder_address_model' required: false responses: '201': content: application/json: example: active: true address_1: 1234 Grove Street business_token: my_business_01 city: Berkeley country: USA created_time: 2023-02-20T20:04:13Z first_name: Jane is_default_address: true last_modified_time: 2023-02-20T20:04:13Z last_name: Doe phone: '5104444444' postal_code: '94705' state: CA token: my_funding_source_address_biz_01 zip: '94705' schema: $ref: '#/components/schemas/CardholderAddressResponse' description: Created '400': content: { } description: Bad request '409': content: { } description: Token already associated with a different payload '500': content: { } description: Server error summary: Create address tags: - Addresses /fundingsources/addresses/business/{business_token}: get: description: |- Use this endpoint to list existing addresses for a business. This endpoint supports <</core-api/field-filtering, field filtering>>. operationId: getFundingsourcesAddressesBusinessBusinesstoken parameters: - description: |- Unique identifier of the business account holder. Send a `GET` request to `/businesses` to retrieve business tokens. explode: false in: path name: business_token required: true schema: type: string style: simple - description: |- Comma-delimited list of fields to return (`field_1,field_2`, and so on). Leave blank to return all fields. explode: true in: query name: fields required: false schema: type: string style: form responses: '200': content: application/json: example: count: 2 data: - active: true address_1: 1234 Grove Street business_token: my_business_01 city: Berkeley country: USA created_time: 2023-02-26T21:34:42Z first_name: Jane is_default_address: true last_modified_time: 2023-02-27T18:55:59Z last_name: Doe phone: '5104444444' postal_code: '94705' state: CA token: my_funding_source_address_bus_01 zip: '94705' - active: true address_1: 5678 Grove Street business_token: my_business_01 city: Berkeley country: USA created_time: 2023-02-25T19:48:30Z first_name: Jane is_default_address: false last_modified_time: 2023-03-25T10:17:38Z last_name: Doe phone: '5104444444' postal_code: '94705' state: CA token: my_funding_source_address_bus_02 zip: '94705' end_index: 1 is_more: false start_index: 0 schema: $ref: '#/components/schemas/CardholderAddressListResponse' description: Success '400': content: { } description: Bad request '404': content: { } description: Not found '500': content: { } description: Server error summary: List business addresses tags: - Addresses /fundingsources/addresses/user/{user_token}: get: description: |- Use this endpoint to list existing addresses for a user. This endpoint supports <</core-api/field-filtering, field filtering>>. operationId: getFundingsourcesAddressesUserUsertoken parameters: - description: Unique identifier of the user account holder. explode: false in: path name: user_token required: true schema: type: string style: simple - description: |- Comma-delimited list of fields to return (`field_1,field_2`, and so on). Leave blank to return all fields. explode: true in: query name: fields required: false schema: type: string style: form responses: '200': content: application/json: example: count: 2 data: - active: true address_1: 1234 Grove Street business_token: my_user_01 city: Berkeley country: USA created_time: 2023-02-27T21:34:42Z first_name: Jane is_default_address: true last_modified_time: 2023-02-28T18:55:59Z last_name: Doe phone: '5104444444' postal_code: '94705' state: CA token: my_funding_source_address_user_01 zip: '94705' - active: true address_1: 5678 Grove Street business_token: my_user_01 city: Berkeley country: USA created_time: 2023-02-25T19:48:30Z first_name: Jane is_default_address: false last_modified_time: 2023-03-25T19:48:30Z last_name: Doe phone: '5104444444' postal_code: '94705' state: CA token: my_funding_source_address_user_02 zip: '94705' end_index: 1 is_more: false start_index: 0 schema: $ref: '#/components/schemas/CardholderAddressListResponse' description: Success '400': content: { } description: Bad request '404': content: { } description: Not found '500': content: { } description: Server error summary: Lists all addresses for a user tags: - Addresses /fundingsources/addresses/{funding_source_address_token}: get: description: Use this endpoint to retrieve a funding source address. operationId: getFundingsourcesAddressesFundingsourceaddresstoken parameters: - description: Unique identifier of the funding source address. explode: false in: path name: funding_source_address_token required: true schema: type: string style: simple responses: '200': content: application/json: example: active: true address_1: 1234 Grove Street business_token: my_business_01 city: Berkeley country: USA created_time: 2023-02-20T20:04:13Z first_name: Jane is_default_address: true last_modified_time: 2023-02-20T20:04:13Z last_name: Doe phone: '5104444444' postal_code: '94705' state: CA token: my_funding_source_address_biz_01 zip: '94705' schema: $ref: '#/components/schemas/CardholderAddressResponse' description: Success '400': content: { } description: Bad request '404': content: { } description: Not found '500': content: { } description: Server error summary: Retrieve address tags: - Addresses put: description: Use this endpoint to update an address. operationId: putFundingsourcesAddressesFundingsourceaddresstoken parameters: - description: Unique identifier of the funding source address. explode: false in: path name: funding_source_address_token required: true schema: type: string style: simple requestBody: content: application/json: example: address_1: 333 Elm Street schema: $ref: '#/components/schemas/card_holder_address_update_model' required: false responses: '200': content: application/json: example: active: true address_1: 333 Elm Street business_token: my_business_01 city: Berkeley country: USA created_time: 2023-02-20T20:04:13Z first_name: Jane is_default_address: true last_modified_time: 2023-02-28T16:00:00Z last_name: Doe phone: '5104444444' postal_code: '94705' state: CA token: my_funding_source_address_biz_01 zip: '94705' schema: $ref: '#/components/schemas/CardholderAddressResponse' description: Success '400': content: { } description: Bad request '500': content: { } description: Server error summary: Update address tags: - Addresses /fundingsources/business/{business_token}: get: description: |- List funding sources associated with a specific business. This endpoint supports <</core-api/field-filtering, field filtering>>. operationId: getFundingsourcesBusinessBusinesstoken parameters: - description: |- Unique identifier of the business account holder. Send a `GET` request to `/businesses` to retrieve business tokens. explode: false in: path name: business_token required: true schema: type: string style: simple - description: |- Type of funding source to return: ACH or payment card. Leave unspecified to return both types. explode: true in: query name: type required: false schema: type: string style: form - description: |- Comma-delimited list of fields to return (`field_1,field_2`, and so on). Leave blank to return all fields. explode: true in: query name: fields required: false schema: type: string style: form responses: '200': content: application/json: example: count: 1 data: - account_suffix: '4113' account_type: corporate active: true created_time: 2023-02-26T21:26:13Z exp_date: '1227' is_default_account: true last_modified_time: 2023-02-26T21:26:13Z token: my_paymentcard_funding_source_01 type: paymentcard user_token: my_business_01 end_index: 0 is_more: false start_index: 0 schema: $ref: '#/components/schemas/FundingAccountListResponse' description: Success '400': content: { } description: Bad request '404': content: { } description: No funding accounts found '500': content: { } description: Server error summary: List sources for business tags: - Account Holder Funding Sources /fundingsources/paymentcard: post: description: |- Create a payment card funding source for an existing account holder. This endpoint returns the card type and the last four digits of the card, and then sets the `active_ field` to `true`. Marqeta retains only a tokenized representation of the card number. operationId: postFundingsourcesPaymentcard requestBody: content: application/json: example: account_number: '6559906559906557' cvv_number: '123' exp_date: '1227' is_default_account: true postal_code: '94608' token: my_paymentcard_01 user_token: my_user_01 schema: $ref: '#/components/schemas/token_request' required: false responses: '200': content: application/json: example: account_suffix: '6557' account_type: corporate active: true created_time: 2023-02-26T20:00:00Z exp_date: '1227' is_default_account: true last_modified_time: 2023-02-26T21:00:00Z token: my_paymentcard_01 type: paymentcard user_token: my_user_01 schema: $ref: '#/components/schemas/payment_card_response_model' description: Success '400': content: { } description: Bad request '409': content: { } description: Token already associated with a different payload '500': content: { } description: Server error summary: Create payment card source tags: - Account Holder Funding Sources /fundingsources/paymentcard/{funding_source_token}: get: description: Retrieve a specific payment card funding source. operationId: getFundingsourcesPaymentcardFundingsourcetoken parameters: - description: |- Unique identifier of the funding source. Send a `GET` request to `/fundingsources/user/{user_token}` to retrieve existing funding source tokens for a user or to `/fundingsources/business/{business_token}` to retrieve existing funding source tokens for a business. explode: false in: path name: funding_source_token required: true schema: type: string style: simple responses: '200': content: application/json: example: account_suffix: '6557' account_type: corporate active: true created_time: 2023-02-26T20:00:00Z exp_date: '1227' is_default_account: true last_modified_time: 2023-02-26T21:00:00Z token: my_paymentcard_01 type: paymentcard user_token: my_user_01 schema: $ref: '#/components/schemas/payment_card_response_model' description: Success '400': content: { } description: Bad request '404': content: { } description: Not found '500': content: { } description: Server error summary: Retrieve payment card source tags: - Account Holder Funding Sources put: description: Update a payment card funding source. operationId: putFundingsourcesFundingsourcetoken parameters: - description: |- Unique identifier of the funding source. Send a `GET` request to `/fundingsources/user/{user_token}` to retrieve existing funding source tokens for a user or to `/fundingsources/business/{business_token}` to retrieve existing funding source tokens for a business. explode: false in: path name: funding_source_token required: true schema: type: string style: simple requestBody: content: application/json: example: exp_date: '1227' is_default_account: false schema: $ref: '#/components/schemas/token_update_request' description: Payment card required: true responses: '200': content: application/json: example: account_suffix: '6557' account_type: DISCOVER active: true created_time: 2023-02-26T20:00:00Z exp_date: '1227' is_default_account: false last_modified_time: 2023-02-26T21:00:00Z token: my_paymentcard_01 type: paymentcard user_token: my_user_01 schema: $ref: '#/components/schemas/payment_card_response_model' description: Success '400': content: { } description: Bad request '500': content: { } description: Server error summary: Update payment card source tags: - Account Holder Funding Sources /fundingsources/program: post: description: Create a program funding source. operationId: postFundingsourcesProgram requestBody: content: application/json: example: active: true name: my_programfundingsource_name token: my_programfundingsource_token schema: $ref: '#/components/schemas/program_funding_source_request' required: false responses: '201': content: application/json: example: account: 12.003.001.000147 active: true created_time: 2023-02-25T20:46:04Z last_modified_time: 2023-02-25T20:46:04Z name: my_programfundingsource_name token: my_programfundingsource_token schema: $ref: '#/components/schemas/program_funding_source_response' description: Success '400': content: { } description: Invalid fields detected '409': content: { } description: Request already processed with a different payload '500': content: { } description: Server error summary: Create program source tags: - Program Funding Sources /fundingsources/program/ach: get: description: List ACH program funding sources. operationId: getAllACHFundingSources parameters: - description: Number of resources to retrieve. explode: true in: query name: count required: false schema: default: 5 format: int32 type: integer style: form - description: Sort order index of the first resource in the returned array. explode: true in: query name: start_index required: false schema: default: 0 format: int32 type: integer style: form - description: |- Comma-delimited list of fields to return (`field_1,field_2`, and so on). Leave blank to return all fields. explode: true in: query name: fields required: false schema: type: string style: form - description: |- Field on which to sort. Use any field in the resource model, or one of the system fields `lastModifiedTime` or `createdTime`. Prefix the field name with a hyphen (`-`) to sort in descending order. Omit the hyphen to sort in ascending order. explode: true in: query name: sort_by required: false schema: default: -lastModifiedTime type: string style: form - description: |- If `true`, returns ACH funding sources from active programs only. If `false`, returns all ACH funding sources. explode: true in: query name: active required: false schema: type: boolean style: form responses: '200': content: application/json: schema: $ref: '#/components/schemas/ACHListResponse' description: Success '400': content: { } description: Bad Request '404': content: { } description: Not Found '500': content: { } description: Server error summary: List ACH program sources tags: - Program Funding Sources post: description: Create an ACH program funding source. operationId: postFundingsourcesProgramAch requestBody: content: application/json: example: account_number: '888271159' account_type: checking is_default_account: true name_on_account: John Doe routing_number: '121000357' verification_notes: testing verification_override: true schema: $ref: '#/components/schemas/base_ach_request_model' required: false responses: '200': content: application/json: example: account_suffix: '1156' account_type: checking active: true created_time: 2023-02-27T18:40:27Z is_default_account: true last_modified_time: 2023-02-27T18:40:27Z name_on_account: John Doe token: my_program_ach_source_token verification_status: ACH_VERIFIED schema: $ref: '#/components/schemas/base_ach_response_model' description: Success '400': content: { } description: Bad request '409': content: { } description: Token already associated with a different payload '500': content: { } description: Server error summary: Create ACH program source tags: - Program Funding Sources /fundingsources/program/{token}: get: description: Retrieve a specific program funding source, whether active or inactive. operationId: getFundingsourcesProgramToken parameters: - description: Unique identifier of the program funding source. explode: false in: path name: token required: true schema: type: string style: simple responses: '201': content: application/json: example: account: 12.003.001.000147 active: true created_time: 2023-02-25T20:46:04Z last_modified_time: 2023-02-25T20:46:04Z name: my_programfundingsource_name token: my_programfundingsource_token schema: $ref: '#/components/schemas/program_funding_source_response' description: Success '404': content: { } description: Program funding source not found '500': content: { } description: Server error summary: Retrieve program source tags: - Program Funding Sources put: description: Update a program funding source. operationId: putFundingsourcesProgramToken parameters: - description: Unique identifier of the program funding source. explode: false in: path name: token required: true schema: type: string style: simple requestBody: content: application/json: example: active: false name: your_programfundingsource_name schema: $ref: '#/components/schemas/program_funding_source_update_request' required: false responses: '200': content: application/json: example: account: 12.003.001.000147 active: true created_time: 2023-02-25T20:46:04Z last_modified_time: 2023-02-25T20:50:00Z name: your_programfundingsource_name token: my_programfundingsource_token schema: $ref: '#/components/schemas/program_funding_source_response' description: Success '400': content: { } description: Invalid fields detected '500': content: { } description: Server error summary: Update program source tags: - Program Funding Sources /fundingsources/programgateway: post: description: |- Creates a program gateway funding source. A program gateway funding source is a transaction relay that allows you to approve or decline transactions in real time. operationId: postFundingsourcesProgramgateway requestBody: content: application/json: example: basic_auth_password: my_20-to-100-character_password basic_auth_username: my_username name: my_pgfs_name token: my_pgfs_token url: https://my_secure_domain.com/my_gateway schema: $ref: '#/components/schemas/gateway_program_funding_source_request' required: false responses: '201': content: application/json: example: account: 12.003.001.000155 active: true basic_auth_password: my_20-to-100-character_password basic_auth_username: my_username created_time: 2023-02-28T20:00:00Z custom_header: my_header_name_1: my_value_1 my_header_name_2: my_value_2 my_header_name_3: my_value_3 last_modified_time: 2023-02-28T20:00:00Z name: my_pgfs_name timeout_millis: 3000 token: my_pgfs_token url: https://my_secure_domain.com/my_gateway use_mtls: false version: '2' schema: $ref: '#/components/schemas/gateway_program_funding_source_response' description: Success '400': content: { } description: Invalid fields detected '409': content: { } description: Request already processed with a different payload '500': content: { } description: Server error summary: Create program gateway source tags: - Program Gateway Funding Sources /fundingsources/programgateway/customheaders/{token}: put: description: Adds or updates custom HTTP headers for a specific program gateway funding source. operationId: putFundingsourcesProgramgatewayCustomHeaderToken parameters: - description: Unique identifier of the program gateway funding source. explode: false in: path name: token required: true schema: type: string style: simple requestBody: content: application/json: example: custom_header: my_header_name_1: my_value_1 my_header_name_2: my_value_2 my_header_name_3: my_value_3 schema: $ref: '#/components/schemas/gateway_program_custom_header_update_request' required: false responses: '200': content: application/json: example: account: 12.003.001.000155 active: true basic_auth_password: my_20-to-100-character_password basic_auth_username: my_username created_time: 2023-02-28T20:00:00Z custom_header: my_header_name_1: my_value_1 my_header_name_2: my_value_2 my_header_name_3: my_value_3 last_modified_time: 2023-02-28T20:00:00Z name: my_pgfs_name timeout_millis: 3000 token: my_pgfs_token url: https://my_secure_domain.com/my_gateway use_mtls: false version: '2' schema: $ref: '#/components/schemas/gateway_program_funding_source_response' description: Success '400': content: { } description: Invalid fields detected '500': content: { } description: Server error summary: Update program gateway source custom headers tags: - Program Gateway Funding Sources /fundingsources/programgateway/{token}: get: description: Retrieves a specific program gateway funding source. operationId: getFundingsourcesProgramgatewayToken parameters: - description: Unique identifier of the program gateway funding source. explode: false in: path name: token required: true schema: type: string style: simple responses: '201': content: application/json: example: account: 12.003.001.000155 active: true basic_auth_password: my_20-to-100-character_password basic_auth_username: my_username created_time: 2023-02-28T20:00:00Z custom_header: my_header_name_1: my_value_1 my_header_name_2: my_value_2 my_header_name_3: my_value_3 last_modified_time: 2023-02-28T20:00:00Z name: my_pgfs_name timeout_millis: 3000 token: my_pgfs_token url: https://my_secure_domain.com/my_gateway use_mtls: false version: '2' schema: $ref: '#/components/schemas/gateway_program_funding_source_response' description: Success '404': content: { } description: Program gateway funding source not found '500': content: { } description: Server error summary: Retrieve program gateway source tags: - Program Gateway Funding Sources put: description: Update a program gateway funding source. operationId: putFundingsourcesProgramgatewayToken parameters: - description: Unique identifier of the program gateway funding source. explode: false in: path name: token required: true schema: type: string style: simple requestBody: content: application/json: example: active: false basic_auth_password: my_20-to-100-character_password basic_auth_username: my_username url: https://my_secure_domain.com/my_gateway schema: $ref: '#/components/schemas/gateway_program_funding_source_update_request' required: false responses: '200': content: application/json: example: account: 12.003.001.000155 active: false basic_auth_password: my_20-to-100-character_password basic_auth_username: my_username created_time: 2023-02-28T20:00:00Z custom_header: my_header_name_1: my_value_1 my_header_name_2: my_value_2 my_header_name_3: my_value_3 last_modified_time: 2023-02-28T20:00:00Z name: my_pgfs_name timeout_millis: 3000 token: my_pgfs_token url: https://my_secure_domain.com/my_gateway use_mtls: false version: '2' schema: $ref: '#/components/schemas/gateway_program_funding_source_response' description: Success '400': content: { } description: Invalid fields detected '500': content: { } description: Server error summary: Update program gateway source tags: - Program Gateway Funding Sources /fundingsources/user/{user_token}: get: description: |- List funding sources associated with a specific user. This endpoint supports <</core-api/field-filtering, field filtering>>. operationId: getFundingsourcesUserUsertoken parameters: - description: Unique identifier of the user account holder. explode: false in: path name: user_token required: true schema: type: string style: simple - description: |- Type of funding source to retrieve: ACH or payment card. Leave unspecified to return both types. explode: true in: query name: type required: false schema: type: string style: form - description: |- Comma-delimited list of fields to return (`field_1,field_2`, and so on). Leave blank to return all fields. explode: true in: query name: fields required: false schema: type: string style: form responses: '200': content: application/json: example: count: 2 data: - account_suffix: '4113' account_type: corporate active: true created_time: 2023-02-26T20:03:05Z exp_date: '1227' is_default_account: true last_modified_time: 2023-02-26T20:03:05Z token: jane_doe_paymentcard_01 type: paymentcard user_token: my_user_01 - account_suffix: '4321' account_type: savings active: false created_time: 2023-02-26T20:03:05Z date_sent_for_verification: 2023-02-27T23:27:58Z is_default_account: false last_modified_time: 2023-02-26T20:03:05Z name_on_account: Jane Doe token: jane_doe_ach_token type: ach user_token: my_user_01 verification_status: ACH_VERIFIED end_index: 1 is_more: false start_index: 0 schema: $ref: '#/components/schemas/FundingAccountListResponse' description: Success '400': content: { } description: Bad request '404': content: { } description: No funding accounts found '500': content: { } description: Server error summary: List sources for user tags: - Account Holder Funding Sources /fundingsources/{funding_source_token}/default: put: description: |- Configure either an ACH funding source or a payment card funding source as the default funding source. A default funding source is used when you omit the `funding_source_token` field from funding requests, such as a `POST` request to `/gpaorders`. Note that the first funding source you create is automatically set as the default (`is_default_source=true`). operationId: putFundingsourcesFundingsourcetokenDefault parameters: - description: |- Unique identifier of the funding source. Send a `GET` request to `/fundingsources/user/{user_token}` to retrieve existing funding source tokens for a user or to `/fundingsources/business/{business_token}` to retrieve existing funding source tokens for a business. explode: false in: path name: funding_source_token required: true schema: type: string style: simple responses: '200': content: application/json: example: account_suffix: '4321' account_type: corporate active: true created_time: 2023-02-28T20:00:00Z exp_date: '1227' is_default_account: true last_modified_time: 2023-02-28T20:00:00Z token: jane_doe_paymentcard_token type: paymentcard user_token: my_user_01 schema: $ref: '#/components/schemas/payment_card_response_model' description: Success '400': content: { } description: Bad request '500': content: { } description: Server error summary: Set default source tags: - Account Holder Funding Sources /gpaorders: post: description: |- Use this endpoint to create an order to fund an account holder's GPA. You can assess a <</core-api/fees, fee>> while funding a GPA by using the optional `fees` array to attach one or more fee resources to the GPA order. When you create a GPA order, the GPA is first credited for the fees, then debited at funding time. operationId: postGpaorders requestBody: content: application/json: example: amount: 1000 currency_code: USD funding_source_token: my_program_funding_source_01 token: my_gpaorder_01 user_token: my_user_01 schema: $ref: '#/components/schemas/gpa_request' required: false responses: '201': content: application/json: example: amount: 1000 created_time: 2022-05-10T23:00:15Z currency_code: USD funding: amount: 1000 source: active: true created_time: 2022-11-30T19:13:23Z is_default_account: false last_modified_time: 2022-11-30T19:13:23Z name: my_program_funding_source_01 token: '**********e_01' type: program funding_source_token: '**********e_01' last_modified_time: 2022-05-10T23:00:15Z response: code: '0000' memo: Approved or completed successfully state: COMPLETION token: my_gpaorder_01 transaction_token: 156 user_token: my_user_01 schema: $ref: '#/components/schemas/gpa_response' description: Success '400': content: { } description: Bad request '409': content: { } description: Request already processed with a different payload '422': content: { } description: Rule violations or declined transactions from funding source '500': content: { } description: Server error summary: Create GPA order tags: - GPA Orders /gpaorders/unloads: get: description: |- Use this endpoint to list all GPA unloads or GPA unloads associated with a specific user or business. This endpoint supports <</core-api/field-filtering, field filtering>> and <</core-api/sorting-and-pagination, pagination>>. operationId: getGpaordersUnloads parameters: - description: Number of resources to retrieve. explode: true in: query name: count required: false schema: default: 5 format: int32 type: integer style: form - description: Sort order index of the first resource in the returned array. explode: true in: query name: start_index required: false schema: default: 0 format: int32 type: integer style: form - description: |- Comma-delimited list of fields to return (`field_1,field_2`, and so on). Leave blank to return all fields. explode: true in: query name: fields required: false schema: type: string style: form - description: |- Field on which to sort. Use any field in the resource model, or one of the system fields `lastModifiedTime` or `createdTime`. Prefix the field name with a hyphen (`-`) to sort in descending order. Omit the hyphen to sort in ascending order. explode: true in: query name: sort_by required: false schema: default: -lastModifiedTime type: string style: form - description: |- Unique identifier of the user resource. Send a `GET` request to `/users` to retrieve user tokens. explode: true in: query name: user_token required: false schema: type: string style: form - description: |- Unique identifier of the business resource. Send a `GET` request to `/businesses` to retrieve business tokens. explode: true in: query name: business_token required: false schema: type: string style: form - description: |- Unique identifier of the original GPA order. Send a `GET` request to `/transactions?type=gpa.credit` to retrieve GPA order tokens. explode: true in: query name: original_order_token required: false schema: type: string style: form responses: '200': content: application/json: example: count: 2 data[]: amount: 500 created_time: 2022-11-30T23:14:50Z funding: amount: 500 source: active: true created_time: 2022-03-31T19:13:23Z is_default_account: false last_modified_time: 2022-03-31T19:13:23Z name: my_program_funding_source_01 token: '**********e_01' type: program funding_source_token: '**********e_01' last_modified_time: 2022-11-30T23:15:50Z original_order_token: my_gpaorder_01 response: code: '0000' memo: Approved or completed successfully state: COMPLETION token: my_unload_01 transaction_token: '158' end_index: 1 is_more: false start_index: 0 schema: $ref: '#/components/schemas/GPAUnloadListResponse' description: Success '400': content: { } description: Bad request '500': content: { } description: Server error summary: List GPA unloads tags: - GPA Orders post: description: |- Use this endpoint to unload a GPA order. Unloading a GPA order returns funds to the funding source. A GPA unload must be tied to an original GPA order and can be used to return the amount of the original order or a lesser amount. operationId: postGpaordersUnloads requestBody: content: application/json: example: amount: 500 original_order_token: my_gpaorder_01 token: my_unload_01 schema: $ref: '#/components/schemas/unload_request_model' required: false responses: '201': content: application/json: example: amount: 500 created_time: 2022-11-30T23:14:50Z funding: amount: 500 source: active: true created_time: 2022-03-31T19:13:23Z is_default_account: false last_modified_time: 2022-03-31T19:13:23Z name: my_program_funding_source_01 token: '**********e_01' type: program funding_source_token: '**********e_01' last_modified_time: 2022-11-30T23:30:50Z original_order_token: my_gpaorder_01 response: code: '0000' memo: Approved or completed successfully state: COMPLETION token: my_unload_01 transaction_token: '158' schema: $ref: '#/components/schemas/gpa_returns' description: Success '400': content: { } description: Bad request '404': content: { } description: GPA order token not found '412': content: { } description: Pre-condition failed. Unload amount is greater than load amount '500': content: { } description: Server error summary: Create GPA unload tags: - GPA Orders /gpaorders/unloads/{unload_token}: get: description: Use this endpoint to retrieve a specific GPA unload. operationId: getGpaordersUnloadsUnloadtoken parameters: - description: Unique identifier of the GPA unload. explode: false in: path name: unload_token required: true schema: type: string style: simple responses: '200': content: application/json: example: amount: 500 created_time: 2022-11-30T23:14:50Z funding: amount: 500 source: active: true created_time: 2022-03-31T19:13:23Z is_default_account: false last_modified_time: 2022-03-31T19:13:23Z name: my_program_funding_source_01 token: '**********e_01' type: program funding_source_token: '**********e_01' last_modified_time: 2022-11-30T23:15:50Z original_order_token: my_gpaorder_01 response: code: '0000' memo: Approved or completed successfully state: COMPLETION token: my_unload_01 transaction_token: '158' schema: $ref: '#/components/schemas/gpa_returns' description: Success '400': content: { } description: Bad request '404': content: { } description: Return not found '500': content: { } description: Server error summary: Retrieve GPA unload tags: - GPA Orders /gpaorders/{token}: get: description: Use this endpoint to retrieve a GPA order. operationId: getGpaordersToken parameters: - description: |- Unique identifier of the GPA order. Send a `GET` request to `/transactions?type=gpa.credit` to retrieve GPA order tokens. explode: false in: path name: token required: true schema: type: string style: simple responses: '200': content: application/json: example: amount: 1000 created_time: 2022-11-30T23:00:15Z currency_code: USD funding: amount: 1000 source: active: true created_time: 2022-03-31T19:13:23Z is_default_account: false last_modified_time: 2022-03-31T19:13:23Z name: my_program_funding_source_01 token: '**********e_01' type: program funding_source_token: '**********e_01' last_modified_time: 2022-11-30T23:10:15Z response: code: '0000' memo: Approved or completed successfully state: COMPLETION token: my_gpaorder_01 transaction_token: 156 user_token: my_user_01 schema: $ref: '#/components/schemas/gpa_response' description: Success '404': content: { } description: GPA order token not found '500': content: { } description: Server error summary: Retrieve GPA order tags: - GPA Orders /kyc: post: description: |- Use this endpoint to verify the identity of an account holder in the United States, either a user or a business. You can perform KYC verification on an account holder, provided the following are true: * The KYC status of the account holder is `UNVERIFIED` or `LIMITED` * The account holder has not been submitted for KYC verification twice === Required fields In order to perform KYC verification, the user or business resource on which you perform the check must have the following fields configured with valid values: [cols="1a,1a"] |=== | User Fields Required for KYC | Business Fields Required for KYC | * `first_name` (legal first name only, no prefixes) * `last_name` (legal last name only, no suffixes) * `address1` (cannot be a PO Box) * `city` * `state` * `postal_code` * `country` * `birth_date` * `ssn` (nine digits, no delimiters) * `email` (required in some cases) * `phone` (required in some cases) | * `business_name_legal` (128 char max) * `business_name_dba` ("Doing Business As" or fictitious business name; enter the legal business name in this field if your business does not use a fictitious business name) * `office_location` (cannot be a PO Box; `state` field must use a <<valid_state_provincial_and_territorial_abbreviations, valid two-letter state, provincial, or territorial abbreviation>>) * `identifications` (nine digits, no delimiters) * `incorporation.incorporation_type` * `incorporation.state_of_incorporation` * `date_established` * `proprietor_or_officer` * `beneficial_owner` (maximum of four beneficial owners) * `proprietor_is_beneficial_owner` (required if the business proprietor or officer is also a beneficial owner) * `attestation_consent` * `attester_name` * `attestation_date` |=== ==== Valid state, provincial, and territorial abbreviations The following list includes all valid two-letter abbreviations for US states, territories, and military (APO/FPO/DPO) addresses. It also includes abbreviations for Canadian provinces and territories. State, provincial, and territorial abbreviations are case sensitive, and must be in uppercase as they appear in this list: * `AL`: Alabama * `AK`: Alaska * `AB`: Alberta * `AS`: American Samoa * `AZ`: Arizona * `AR`: Arkansas * `AE`: Armed Forces * `AA`: Armed Forces Americas * `AP`: Armed Forces Pacific * `BC`: British Columbia * `CA`: California * `CO`: Colorado * `CT`: Connecticut * `DE`: Delaware * `DC`: District of Columbia * `FL`: Florida * `GA`: Georgia * `GU`: Guam * `HI`: Hawaii * `ID`: Idaho * `IL`: Illinois * `IN`: Indiana * `IA`: Iowa * `KS`: Kansas * `KY`: Kentucky * `LA`: Louisiana * `ME`: Maine * `MB`: Manitoba * `MD`: Maryland * `MA`: Massachusetts * `MI`: Michigan * `MN`: Minnesota * `MS`: Mississippi * `MO`: Missouri * `MT`: Montana * `NE`: Nebraska * `NV`: Nevada * `NB`: New Brunswick * `NH`: New Hampshire * `NJ`: New Jersey * `NM`: New Mexico * `NY`: New York * `NF`: Newfoundland * `NC`: North Carolina * `ND`: North Dakota * `NT`: Northwest Territories * `NS`: Nova Scotia * `NU`: Nunavut * `OH`: Ohio * `OK`: Oklahoma * `ON`: Ontario * `OR`: Oregon * `PA`: Pennsylvania * `PE`: Prince Edward Island * `PR`: Puerto Rico * `QC`: Quebec * `RI`: Rhode Island * `SK`: Saskatchewan * `SC`: South Carolina * `SD`: South Dakota * `TN`: Tennessee * `TX`: Texas * `UT`: Utah * `VT`: Vermont * `VI`: Virgin Islands * `VA`: Virginia * `WA`: Washington * `WV`: West Virginia * `WI`: Wisconsin * `WY`: Wyoming * `YT`: Yukon Territory operationId: postKyc requestBody: content: application/json: examples: business_request_example: summary: '*Sample request body for a business*' value: business_token: my_biz01 token: my_bizkyc01 user_request_example: summary: '*Sample request body for a user*' value: manual_override: false token: my_userkyc01 user_token: my_user01 schema: $ref: '#/components/schemas/kyc_request' required: false responses: '201': content: application/json: examples: business_response_example: summary: '*Sample response body for a business*' value: business_token: my_biz01 created_time: 2023-02-08T19:52:58Z last_modified_time: 2023-02-08T19:52:58Z results: - component: BUSINESS outcome: success outcome_reasons: [ ] reference_id: xxxxx - component: PROPRIETOR outcome: pending outcome_reasons: - SSNIssue - DOBIssue reference_id: yyyyy - component: BENEFICIAL_OWNER1 outcome: pending outcome_reasons: - AddressIssue reference_id: aaaaa - component: BENEFICIAL_OWNER2 outcome: success outcome_reasons: [ ] reference_id: bbbbb - component: BENEFICIAL_OWNER3 outcome: success outcome_reasons: [ ] reference_id: ccccc - component: BENEFICIAL_OWNER4 outcome: success outcome_reasons: [ ] reference_id: ddddd status: pending token: my_bizkyc01 user_response_example: summary: '*Sample response body for a user*' value: created_time: 2023-02-08T19:52:58Z last_modified_time: 2023-02-08T19:52:58Z manual_override: false result: codes: - code: AddressIssue status: failure token: my_userkyc01 user_token: my_user01 schema: $ref: '#/components/schemas/kyc_response' description: Success '400': content: { } description: User input error/Bad request '409': content: { } description: Request already processed with a different payload '500': content: { } description: Server error summary: Perform KYC verification tags: - KYC Verification /kyc/business/{business_token}: get: description: |- Use this endpoint to retrieve all KYC verification results for a business. This endpoint supports <</core-api/sorting-and-pagination, pagination>>. === Business KYC outcome reasons (business response) The following tables describe KYC outcome reasons potentially returned in the `outcome_reasons` field of the business `result` response object when a business is in a `pending` or `failure` state. Where possible, they also describe acceptable documents that your customers can submit to resolve `pending` outcomes. ==== Outcome reasons for the business These outcome reasons pertain to the business organization itself. [cols=",,2a"] |=== | Outcome Reason and State | Description | Accepted Documents | AddressIssue + `pending` | Missing, invalid, mismatched, or PO Box address. | One of the following documents. Document must show the full business name and address: * Bank statement * Utility bill * Current lease or rental agreement * Insurance policy | BusinessNameIssue + `pending` | Invalid or mismatched name. | Articles or certificate of incorporation. | OFACFailure + `failure` | Business appears on an OFAC list. | This outcome requires a manual review by Marqeta to determine the next appropriate step. Contact your Marqeta representative. | RegistrationIssue + `pending` | Business is inactive, not registered, or not in good standing with the Secretary of State; recently reported or not recently updated. | This outcome requires a manual review by Marqeta to determine the next appropriate step. Contact your Marqeta representative. | Sanctions List Non-OFAC + `pending` | Business appears on a non-OFAC screening list, bankruptcy, or alert list. | This outcome requires a manual review by Marqeta to determine the next appropriate step. Contact your Marqeta representative. | TINIssue + `pending` | Missing, invalid, or mismatched Tax Identification Number (TIN). | IRS Notice Letter 147C or CP575, or most recent tax return. |=== ===== Outcome reasons for individuals associated with a business These outcome reasons pertain to individuals associated with a business: proprietors, business officers, and beneficial owners. [cols=",,2a"] |=== | Outcome Reason and State | Description | Accepted Documents | AddressIssue + `pending` | Missing, invalid, mismatched, or PO Box address. | One of the following documents. Document must show the full name and address: * Unexpired state-issued driver's license or identification card * US Military Identification Card * Utility bill * Bank statement * Current rental or lease agreement * Mortgage statement | DateOfBirthIssue + `pending` | Invalid or mismatched date of birth. | Unexpired government-issued photo identification that shows name and date of birth: * Driver's license or state-issued identification card * Passport | NameIssue + `pending` | Invalid or mismatched name. | Unexpired government-issued photo identification that has name and date of birth: * Driver's license or state-issued identification card * Passport or US passport card | NoRecordFound + `failure` | No records were found for this individual. | As no record was found for this individual, supporting documentation must be provided for each attribute (name, date of birth, address, and SSN): * To verify an individual's address, provide one of these documents: ** Unexpired state-issued driver's license or identification card ** US Military Identification Card ** Utility bill ** Bank statement ** Current rental or lease agreement ** Mortgage statement * To verify an individual's name and date of birth, provide one of these documents: ** Driver's license or state-issued identification card ** Passport * To verify an individual's Social Security Number, provide one of these documents: ** Social Security card ** Recent W-2 or 1099 showing nine-digit SSN, full name, and address. ** ITIN card or document showing ITIN approval | OFACFailure + `failure` | Appears on an Office of Foreign Assets Control (OFAC) list. | This outcome requires a manual review by Marqeta to determine the next appropriate step. Contact your Marqeta representative. | RiskIssue + `failure` | Appears on a non-OFAC screening list, bankruptcy, or alert list, or has an insufficient record. | This outcome requires a manual review by Marqeta to determine the next appropriate step. Contact your Marqeta representative. //| SSNFail + `failure` //| Social Security Number (SSN) appears on Network Alert List, is of a deceased person, or was issued before the individual's date of birth. //| This outcome requires a manual review by Marqeta to determine the next appropriate step. //Contact your Marqeta representative. //Code removed per https://marqeta.atlassian.net/browse/ID-3574, commenting out in case we ever add it back. | SSNIssue + `pending` | Missing, invalid, or mismatched SSN. | * Social Security card * Recent W-2 or 1099 showing nine-digit SSN, full name, and address. * ITIN card or document showing ITIN approval | warmaddressalert + `failure` | Address is a PO box or other post office address, virtual address, UPS store, mail forward, or mail drop. Such addresses are not valid for KYC verification. | One of the following documents. Document must show the full name and valid street address: * Unexpired state-issued driver's license or identification card * US Military Identification Card * Utility bill * Bank statement * Current rental or lease agreement * Mortgage statement |=== operationId: getKycBusinessBusinesstoken parameters: - description: The unique identifier of the business resource for which you want to retrieve KYC verification results. explode: false in: path name: business_token required: true schema: type: string style: simple - description: The number of resources to retrieve. explode: true in: query name: count required: false schema: default: 5 format: int32 type: integer style: form - description: The sort order index of the first resource in the returned array. explode: true in: query name: start_index required: false schema: default: 0 format: int32 type: integer style: form - description: |- Comma-delimited list of fields to return (`field_1,field_2`, and so on). Leave blank to return all fields. explode: true in: query name: fields required: false schema: type: string style: form - description: |- Field on which to sort. Use any field in the resource model, or one of the system fields `lastModifiedTime` or `createdTime`. Prefix the field name with a hyphen (`-`) to sort in descending order. Omit the hyphen to sort in ascending order. explode: true in: query name: sort_by required: false schema: default: -createdTime type: string style: form responses: '200': content: application/json: example: count: 1 data: - business_token: my-business-token created_time: 2022-09-25T05:35:02Z last_modified_time: 2022-09-25T05:35:02Z manual_override: false result: status: pending token: 164dc008-1503-4932-a42d-27739346710f end_index: 0 is_more: false start_index: 0 schema: $ref: '#/components/schemas/KYCListResponse' description: Success '400': content: { } description: User input error/Bad request '500': content: { } description: Server error summary: List KYC results for a business tags: - KYC Verification /kyc/user/{user_token}: get: description: |- Use this endpoint to retrieve all KYC results for a user. This endpoint supports <</core-api/sorting-and-pagination, pagination>>. === User KYC failure codes The following table lists KYC failure codes potentially returned in the response when a user does not pass verification. It also includes a list of acceptable documents that your customers can submit to resolve failures. [cols=",,2a"] |=== | Failure Code and State | Description | Accepted Documents | AddressIssue + `failure` | Missing, invalid, mismatched, or PO Box address. | One of the following documents. Document must show the full name and address: * Unexpired state-issued driver's license or identification card * US Military Identification Card * Utility bill * Bank statement * Current rental or lease agreement * Mortgage statement | DateOfBirthIssue + `failure` | Invalid or mismatched date of birth. | Unexpired government-issued photo identification that shows name and date of birth: * Driver's license or state-issued identification card * Passport | EmailIssue + `failure` | Invalid, insufficient, mismatched, or other risk signal on provided email address. | Unexpired government-issued photo identification that shows name and date of birth: * Driver's license or state-issued identification card * US Passport * US Military identification Card * Native American tribal identification card * Government employee identification card * Permanent Resident Alien Card | NameIssue + `failure` | Invalid or mismatched name. | Unexpired government-issued photo identification that has name and date of birth: * Driver's license or state-issued identification card * Passport or US passport card | NoRecordFound + `failure` | No records were found for this individual. | As no record was found for this individual, supporting documentation must be provided for each attribute (name, date of birth, address, and SSN): * To verify an individual's address, provide one of these documents: ** Unexpired state-issued driver's license or identification card ** US Military Identification Card ** Utility bill ** Bank statement ** Current rental or lease agreement ** Mortgage statement * To verify an individual's name and date of birth, provide one of these documents: ** Driver's license or state-issued identification card ** Passport * To verify an individual's Social Security Number, provide one of these documents: ** Social Security card ** Recent W-2 or 1099 showing nine-digit SSN, full name, and address. ** ITIN card or document showing ITIN approval | OFACFailure + `failure` | Appears on an Office of Foreign Assets Control (OFAC) list. | This outcome requires a manual review by Marqeta to determine the next appropriate step. Contact your Marqeta representative. | PhoneIssue + `failure` | Invalid, insufficient, mismatched, or other risk signal on provided phone number. | Unexpired government-issued photo identification that shows name and date of birth: * Driver's license or state-issued identification card * US Passport * US Military identification Card * Native American tribal identification card * Government employee identification card * Permanent Resident Alien Card | RiskIssue + `failure` | Appears on a non-OFAC screening list, bankruptcy, or alert list, or has an insufficient record. | This outcome requires a manual review by Marqeta to determine the next appropriate step. Contact your Marqeta representative. //| SSNFail + //`failure` //| Social Security Number (SSN) appears on Network Alert List, is of a deceased person, or was issued before the individual's date of birth. //| This outcome requires a manual review by Marqeta to determine the next appropriate step. //Contact your Marqeta representative. //Code removed per https://marqeta.atlassian.net/browse/ID-3574, commenting out in case we ever add it back. | SSNIssue + `failure` | Missing, invalid, or mismatched SSN. | * Social Security card * Recent W-2 or 1099 showing nine-digit SSN, full name, and address. * ITIN card or document showing ITIN approval | warmaddressalert + `failure` | Address is a PO box or other post office address, virtual address, UPS store, mail forward, or mail drop. Such addresses are not valid for KYC verification. | One of the following documents. Document must show the full name and valid street address: * Unexpired state-issued driver's license or identification card * US Military Identification Card * Utility bill * Bank statement * Current rental or lease agreement * Mortgage statement |=== operationId: getKycUserUsertoken parameters: - description: Unique identifier of the user resource for which you want to retrieve KYC verification results. explode: false in: path name: user_token required: true schema: type: string style: simple - description: Number of resources to retrieve. explode: true in: query name: count required: false schema: default: 5 format: int32 type: integer style: form - description: Sort order index of the first resource in the returned array. explode: true in: query name: start_index required: false schema: default: 0 format: int32 type: integer style: form - description: |- Comma-delimited list of fields to return (`field_1,field_2`, and so on). Leave blank to return all fields. explode: true in: query name: fields required: false schema: type: string style: form - description: |- Field on which to sort. Use any field in the resource model, or one of the system fields `lastModifiedTime` or `createdTime`. Prefix the field name with a hyphen (`-`) to sort in descending order. Omit the hyphen to sort in ascending order. explode: true in: query name: sort_by required: false schema: default: -createdTime type: string style: form responses: '200': content: application/json: example: count: 2 data: - created_time: 2023-03-07T23:17:36Z last_modified_time: 2023-03-07T23:17:36Z manual_override: false result: status: success token: my_user_01_kyc_02 user_token: my_user_01 - created_time: 2023-03-08T18:00:00Z last_modified_time: 2023-03-08T18:00:00Z manual_override: false result: status: failure token: my_user_01_kyc_01 user_token: my_user_01 end_index: 1 is_more: false start_index: 0 schema: $ref: '#/components/schemas/KYCListResponse' description: Success '400': content: { } description: User input error/Bad request '500': content: { } description: Server error summary: List KYC results for a user tags: - KYC Verification /kyc/{token}: get: description: Use this endpoint to retrieve a specific KYC result. operationId: getKycToken parameters: - description: Unique identifier of the KYC verification for which you want to retrieve the result. explode: false in: path name: token required: true schema: type: string style: simple responses: '200': content: application/json: example: created_time: 2023-03-07T22:52:39Z last_modified_time: 2023-03-07T22:52:39Z manual_override: false result: status: success token: my_user_01_kyc_01 user_token: my_user_01 schema: $ref: '#/components/schemas/kyc_response' description: Success '400': content: { } description: User input error/Bad request '404': content: { } description: KYC not found '500': content: { } description: Server error summary: Retrieve KYC result tags: - KYC Verification /mccgroups: get: description: |- Use this endpoint to list all MCC groups defined in your program or list MCC groups that contain a specified code. This endpoint supports <</core-api/field-filtering, field filtering>> and <</core-api/sorting-and-pagination, pagination>>. operationId: getMccgroups parameters: - description: Returns all MCC groups that contain the specified merchant category code. explode: true in: query name: mcc required: false schema: type: string style: form - description: The number of resources to retrieve. explode: true in: query name: count required: false schema: default: 10 format: int32 type: integer style: form - description: The sort order index of the first resource in the returned array. explode: true in: query name: start_index required: false schema: default: 0 format: int32 type: integer style: form - description: |- Field on which to sort. Use any field in the resource model, or one of the system fields `lastModifiedTime` or `createdTime`. Prefix the field name with a hyphen (`-`) to sort in descending order. Omit the hyphen to sort in ascending order. explode: true in: query name: sort_by required: false schema: default: -lastModifiedTime type: string style: form responses: '200': content: application/json: schema: $ref: '#/components/schemas/MCCGroupListResponse' description: Success '400': content: { } description: Bad request '500': content: { } description: Server error summary: List MCC groups tags: - MCC Groups post: description: Use this endpoint to create an MCC group. operationId: postMccgroups requestBody: content: application/json: schema: $ref: '#/components/schemas/mcc_group_model' description: MCC group required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/mcc_group_model' description: Created '400': content: { } description: Bad request '409': content: { } description: Token already associated with a different payload '500': content: { } description: Server error summary: Create MCC group tags: - MCC Groups /mccgroups/{token}: get: description: Use this endpoint to retrieve a specific MCC group. operationId: getMccgroupsToken parameters: - description: Unique identifier of the MCC group. explode: false in: path name: token required: true schema: type: string style: simple responses: '200': content: application/json: schema: $ref: '#/components/schemas/mcc_group_model' description: Success '400': content: { } description: Bad request '404': content: { } description: MCC group not found '500': content: { } description: Server error summary: Retrieve MCC group tags: - MCC Groups put: description: |- Use this endpoint to update an MCC group. Include the `token` path parameter to identify the MCC group to update. You must pass all the merchant category codes you want included in the group, including existing ones you want to retain. operationId: putMccgroupsToken parameters: - description: |- The unique identifier of the MCC group. Send a `GET` request to `/mccgroups` to retrieve MCC group tokens. explode: false in: path name: token required: true schema: type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/mcc_group_update_model' description: MCC group required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/mcc_group_update_model' description: Success '400': content: { } description: Bad request '500': content: { } description: Server error summary: Update MCC group tags: - MCC Groups /merchantgroups: get: description: |- To return an array of all merchant groups, send a `GET` request to the `/merchantgroups` endpoint. To return an array of all merchant groups that include a specific merchant identifier, send a `GET` request to the `/merchantgroups` endpoint that includes the merchant identifier in the query parameters. operationId: getMerchantGroups parameters: - description: Returns all merchant groups that contain the specified merchant identifier. explode: true in: query name: mid required: false schema: type: string style: form - description: Number of resources to retrieve. explode: true in: query name: count required: false schema: default: 10 format: int32 type: integer style: form - description: Sort order index of the first resource in the returned array. explode: true in: query name: start_index required: false schema: default: 0 format: int32 type: integer style: form - description: |- Field on which to sort. Use any field in the resource model, or one of the system fields `lastModifiedTime` or `createdTime`. Prefix the field name with a hyphen (`-`) to sort in descending order. Omit the hyphen to sort in ascending order. explode: true in: query name: sort_by required: false schema: default: -lastModifiedTime type: string style: form responses: '200': content: application/json: example: count: 2 data: - active: true created_time: 2022-05-01T13:22:07Z last_modified_time: 2022-05-01T13:32:07Z mids: - '123456789012345' - '345123456789012' - '123456789012' name: My Merchant Group token: my_merchantgroup - active: true created_time: 2021-05-02T01:42:07Z last_modified_time: 2022-05-02T01:42:07Z mids: - '998877665544331' - '246813579000' name: My Merchant Group 01 token: my_merchantgroup_01 end_index: 1 is_more: false start_index: 0 schema: $ref: '#/components/schemas/MerchantGroupListResponse' description: Success '400': content: { } description: Bad request '500': content: { } description: Server error summary: List merchant groups tags: - Merchant Groups post: description: To create a merchant group, send a `POST` request to the `/merchantgroups` endpoint. operationId: postMerchantGroup requestBody: content: application/json: example: active: true mids: - '123456789012345' - '345123456789012' - '123456789012' name: My Merchant Group token: my_merchantgroup schema: $ref: '#/components/schemas/merchant_group_request' required: false responses: '201': content: application/json: example: active: true created_time: 2022-05-01T13:22:07Z last_modified_time: 2022-05-01T13:22:07Z mids: - '123456789012345' - '345123456789012' - '123456789012' name: My Merchant Group token: my_merchantgroup schema: $ref: '#/components/schemas/merchant_group_response' description: Success '400': content: { } description: User input error/Bad request '409': content: { } description: Token already associated with a different payload '500': content: { } description: Server error summary: Create merchant group tags: - Merchant Groups /merchantgroups/{token}: get: description: |- To retrieve a specific merchant group, send a `GET` request to the `/merchantgroups/{token}` endpoint. Include the merchant group `token` path parameter to specify the merchant group to return. operationId: getMerchantGroup parameters: - description: Unique identifier of the merchant group. explode: false in: path name: token required: true schema: type: string style: simple responses: '200': content: application/json: example: active: true created_time: 2022-05-01T13:22:07Z last_modified_time: 2022-05-01T13:32:07Z mids: - '123456789012345' - '345123456789012' - '123456789012' - '234567890123' name: My Merchant Group token: my_merchantgroup schema: $ref: '#/components/schemas/merchant_group_response' description: Success '400': content: { } description: Bad request '404': content: { } description: Merchant Group not found '500': content: { } description: Server error summary: Retrieve merchant group tags: - Merchant Groups put: description: |- To update a merchant group, send a `PUT` request to the `/merchantgroups/{token}` endpoint. Include the merchant group `token` path parameter to specify the merchant group to update. operationId: putMerchantGroupsToken parameters: - description: Unique identifier of the merchant group. explode: false in: path name: token required: true schema: type: string style: simple requestBody: content: application/json: example: active: true mids: - '234567890123' name: My Merchant Group schema: $ref: '#/components/schemas/merchant_group_update_request' description: Merchant Group required: true responses: '200': content: application/json: example: active: true created_time: 2022-05-01T13:22:07Z last_modified_time: 2022-05-01T13:32:07Z mids: - '123456789012345' - '345123456789012' - '123456789012' - '234567890123' name: My Merchant Group token: my_merchantgroup schema: $ref: '#/components/schemas/merchant_group_response' description: Success '400': content: { } description: Bad request '500': content: { } description: Server error summary: Update merchant group tags: - Merchant Groups /merchants: get: operationId: getMerchants parameters: - explode: true in: query name: count required: false schema: default: 5 format: int32 type: integer style: form - explode: true in: query name: start_index required: false schema: default: 0 format: int32 type: integer style: form - explode: true in: query name: fields required: false schema: type: string style: form - explode: true in: query name: sort_by required: false schema: default: -lastModifiedTime type: string style: form responses: default: content: { } description: successful operation summary: Get merchants. post: operationId: createMerchant requestBody: content: application/json: schema: $ref: '#/components/schemas/MerchantModel' required: false responses: default: content: { } description: successful operation summary: Create merchant. /merchants/{token}: delete: operationId: deleteMerchantByToken parameters: - description: Merchant token explode: false in: path name: token required: true schema: type: string style: simple responses: default: content: { } description: successful operation summary: Delete merchant by token. get: operationId: getMerchantByToken parameters: - description: Merchant token explode: false in: path name: token required: true schema: type: string style: simple - explode: true in: query name: fields required: false schema: type: string style: form responses: default: content: { } description: successful operation summary: Get merchant by token. put: operationId: updateMerchantByToken parameters: - description: Merchant token explode: false in: path name: token required: true schema: type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/MerchantUpdateModel' required: false responses: default: content: { } description: successful operation summary: Update merchant by token. /merchants/{token}/stores: get: operationId: getMerchantStores parameters: - description: Merchant token explode: false in: path name: token required: true schema: type: string style: simple - explode: true in: query name: count required: false schema: default: 5 format: int32 type: integer style: form - explode: true in: query name: start_index required: false schema: default: 0 format: int32 type: integer style: form - explode: true in: query name: fields required: false schema: type: string style: form - explode: true in: query name: sort_by required: false schema: default: -lastModifiedTime type: string style: form responses: default: content: { } description: successful operation summary: Get merchant stores. /merchants/{token}/transactions: get: deprecated: true operationId: getMerchantTransactions parameters: - description: Merchant token explode: false in: path name: token required: true schema: type: string style: simple - explode: true in: query name: count required: false schema: default: 5 format: int32 type: integer style: form - explode: true in: query name: start_index required: false schema: default: 0 format: int32 type: integer style: form - explode: true in: query name: sort_by required: false schema: default: -id type: string style: form responses: default: content: { } description: successful operation summary: Get merchant transactions. /migration/transactions: post: operationId: migratetransaction requestBody: content: application/json: schema: $ref: '#/components/schemas/internal_transaction_message' required: false responses: '200': content: application/json: schema: $ref: '#/components/schemas/InternalTransactionResponse' description: Success '400': content: { } description: Bad request '500': content: { } description: Server error summary: Post transaction tags: - post transactions /offers: get: operationId: getOffers parameters: - explode: true in: query name: count required: false schema: default: 5 format: int32 type: integer style: form - explode: true in: query name: start_index required: false schema: default: 0 format: int32 type: integer style: form - explode: true in: query name: fields required: false schema: type: string style: form - explode: true in: query name: sort_by required: false schema: default: -lastModifiedTime type: string style: form responses: default: content: { } description: successful operation summary: Get offers. post: operationId: createOffer requestBody: content: application/json: schema: $ref: '#/components/schemas/offer_model' required: false responses: default: content: { } description: successful operation summary: Create offer. /offers/{token}: delete: operationId: deleteOffer parameters: - description: Offer token explode: false in: path name: token required: true schema: type: string style: simple responses: default: content: { } description: successful operation summary: Delete offer. get: operationId: getOffer parameters: - description: Offer token explode: false in: path name: token required: true schema: type: string style: simple - explode: true in: query name: fields required: false schema: type: string style: form responses: default: content: { } description: successful operation summary: Get offer. put: operationId: updateOffer parameters: - description: Offer token explode: false in: path name: token required: true schema: type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/OfferUpdateModel' required: false responses: default: content: { } description: successful operation summary: Update offer. /peertransfers: post: description: |- Use this endpoint to request a peer transfer. Add the source details to the body of the request in link:http://www.json.org/[JSON, window="_blank"] format. When creating a peer transfer request, you must pass in both a token to identify the transfer sender (either `sender_user_token` or `sender_business_token`) and a token to identify the transfer recipient (either `recipient_user_token` or `recipient_business_token`). The sender and recipient objects must already exist. [NOTE] This feature is disabled by default and requires activation by Marqeta. + + This feature enables you to transfer or reallocate funds where the `sender_*\_token` and the `recipient_*_token` belong to the same program. It does not allow you to transfer or reallocate funds between different programs. Contact your Marqeta representative for more information. operationId: postPeertransfers requestBody: content: application/json: example: amount: 50.0 currency_code: USD recipient_user_token: my_user_01_account_2 sender_user_token: my_user_01 token: my_peertransfer_01 schema: $ref: '#/components/schemas/peer_transfer_request' required: false responses: '201': content: application/json: example: amount: 50.0 created_time: 2023-03-11T19:15:01Z currency_code: USD recipient_user_token: my_user_01_account_2 sender_user_token: my_user_01 token: my_peertransfer_01 schema: $ref: '#/components/schemas/peer_transfer_response' description: Success '400': content: { } description: 'Invalid fields detected: either sender or recipient is not found' '409': content: { } description: Request already processed with a different payload '422': content: { } description: Rule violations '500': content: { } description: Server error summary: Create peer transfer tags: - Peer Transfers /peertransfers/user/{user_or_business_token}: get: description: |- Use this endpoint to list peer transfers sent or received by a particular account holder. Include a user or business token as a path parameter to identify the account holder whose transfers you want to list. This endpoint supports <</core-api/field-filtering, field filtering>> and <</core-api/sorting-and-pagination, pagination>>. operationId: getPeertransfersUserUserorbusinesstoken parameters: - description: |- Existing user or business token. Send a `GET` request to `/users` to retrieve user tokens or to `/businesses` to retrieve business tokens. explode: false in: path name: user_or_business_token required: true schema: type: string style: simple - description: Number of peer transfer resources to retrieve. explode: true in: query name: count required: false schema: default: 25 format: int32 type: integer style: form - description: Sort order index of the first resource in the returned array. explode: true in: query name: start_index required: false schema: default: 0 format: int32 type: integer style: form - description: |- Comma-delimited list of fields to return (`field_1,field_2`, and so on). Leave blank to return all fields. explode: true in: query name: fields required: false schema: type: string style: form responses: '200': content: application/json: example: amount: 40.0 count: 1 created_time: 2023-03-11T20:41:27Z currency_code: USD data[]: null end_index: 2 is_more: false recipient_user_token: my_user_01_account_2 sender_user_token: my_user_01 start_index: 0 token: my_peertransfer_01 schema: $ref: '#/components/schemas/peer_transfer_response' description: Success '400': content: { } description: User input error/Bad request '500': content: { } description: Server error summary: List peer transfers by account holder tags: - Peer Transfers /peertransfers/user/{user_or_business_token}/recipient: get: description: |- Use this endpoint to list peer transfers sent by an account holder. Include a user or business token as a path parameter to identify the recipient. This endpoint supports <</core-api/field-filtering, field filtering>> and <</core-api/sorting-and-pagination, pagination>>. operationId: getPeertransfersUserUserorbusinesstokenRecipient parameters: - description: |- Existing user or business token. Send a `GET` request to `/users` to retrieve user tokens or to `/businesses` to retrieve business tokens. explode: false in: path name: user_or_business_token required: true schema: type: string style: simple - description: Number of peer transfer resources to retrieve. explode: true in: query name: count required: false schema: default: 25 format: int32 type: integer style: form - description: Sort order index of the first resource in the returned array. explode: true in: query name: start_index required: false schema: default: 0 format: int32 type: integer style: form - description: |- Comma-delimited list of fields to return (`field_1,field_2`, and so on). Leave blank to return all fields. explode: true in: query name: fields required: false schema: type: string style: form responses: '200': content: application/json: example: amount: 40.0 count: 3 created_time: 2023-03-11T20:41:27Z currency_code: USD data[]: null end_index: 2 is_more: false recipient_user_token: my_user_01_account_2 sender_user_token: my_user_01 start_index: 0 token: my_peertransfer_01 schema: $ref: '#/components/schemas/peer_transfer_response' description: Success '404': content: { } description: User token not found '500': content: { } description: Server error summary: List received peer transfers tags: - Peer Transfers /peertransfers/user/{user_or_business_token}/sender: get: description: |- Use this endpoint to list peer transfers sent by an account holder. Include a user or business token as a path parameter to identify the sender. This endpoint supports <</core-api/field-filtering, field filtering>> and <</core-api/sorting-and-pagination, pagination>>. operationId: getPeertransfersUserUserorbusinesstokenSender parameters: - description: |- Existing user or business token. Send a `GET` request to `/users` to retrieve user tokens or to `/businesses` to retrieve business tokens. explode: false in: path name: user_or_business_token required: true schema: type: string style: simple - description: Number of peer transfer resources to retrieve. explode: true in: query name: count required: false schema: default: 25 format: int32 type: integer style: form - description: Sort order index of the first resource in the returned array. explode: true in: query name: start_index required: false schema: default: 0 format: int32 type: integer style: form - description: |- Comma-delimited list of fields to return (`field_1,field_2`, and so on). Leave blank to return all fields. explode: true in: query name: fields required: false schema: type: string style: form responses: '200': content: application/json: example: amount: 40.0 count: 3, created_time: 2023-05-11T20:41:27Z currency_code: USD data[]: null end_index: 2 is_more: false recipient_user_token: my_user_01_account_2 sender_user_token: my_user_01 start_index: 0 token: my_peertransfer_01 schema: $ref: '#/components/schemas/peer_transfer_response' description: Success '400': content: { } description: User input error/Bad request '500': content: { } description: Server error summary: List sent peer transfers tags: - Peer Transfers /peertransfers/{token}: get: description: |- Use this endpoint to retrieve a peer transfer request. Include the peer transfer `token` as a path parameter in the URL to identify the peer transfer to return. operationId: getPeertransfersToken parameters: - description: Unique identifier of the peer transfer. explode: false in: path name: token required: true schema: type: string style: simple responses: '200': content: application/json: example: amount: 50.0 created_time: 2023-03-11T19:15:01Z currency_code: USD recipient_user_token: my_user_01_account_2 sender_user_token: my_user_01 token: my_peertransfer_01 schema: $ref: '#/components/schemas/peer_transfer_response' description: Success '404': content: { } description: Transfer token not found '500': content: { } description: Server error summary: Retrieve peer transfer tags: - Peer Transfers /ping: get: description: Tests if the Marqeta server is available and responsive. operationId: getPing responses: '200': content: application/json: schema: $ref: '#/components/schemas/ping_response' description: Success '500': content: { } description: Server error summary: Returns a heartbeat to the consumer tags: - ping post: operationId: postPing requestBody: content: application/json: schema: $ref: '#/components/schemas/echo_ping_request' required: false responses: '200': content: application/json: schema: $ref: '#/components/schemas/echo_ping_response' description: Success '500': content: { } description: Server error summary: Echo test for sending payload to server tags: - ping /pins: put: description: |- Creates or updates a personal identification number (PIN) for an existing card. Although cardholders might choose a four-, five-, or six-digit PIN if they set their PIN at an automated teller machine, they can only set a four-digit PIN using Marqeta's Set PIN widget or the create or update PIN endpoint (`PUT /pins`). Cardholders can update their PIN through the API regardless of its length, but the new PIN value they choose must contain four digits. If you want to manage a card's PIN, first create a new control token for the card by sending a `POST` request to `/pins/controltoken`, and then use that token to update the PIN. You must create a card before you can manage a PIN. Unless PIN reveal functionality has been enabled for your program, you cannot retrieve a PIN that has previously been created. If the PIN has been forgotten, you must either update the card's PIN or create a new card and PIN. If you have enabled PIN reveal functionality for your program, you can send a `POST` request to the `/pins/reveal` endpoint to retrieve an existing PIN. See <</core-api/pins#revealPins, Reveal PIN>> on this page for details. [WARNING] Sending a request to this endpoint requires PCI DSS compliance. You must comply with PCI DSS data security requirements if you want to store, transmit, or process sensitive card data such as the cardholder's primary account number (PAN), personal identification number (PIN), and card expiration date. operationId: putPins requestBody: content: application/json: example: control_token: b4647c9a-d4b8-4091-a5ff-dd67a7bb9ffc pin: '5678' schema: $ref: '#/components/schemas/pin_request' required: false responses: '204': content: { } description: PIN was successfully set '400': content: { } description: Bad request '412': content: { } description: Weak PIN '500': content: { } description: Server error summary: Create or update PIN tags: - PINs /pins/controltoken: post: description: |- Creates a control token necessary when creating or updating a card's personal identification number (PIN). Creating, updating, or revealing a card's PIN is a two-step process. You must first create the control token that is required to create the PIN, and then you create, update, or reveal the PIN itself. The lifespan of the control token in a production environment is either five minutes or one hour from creation, depending on the token type. If multiple tokens are requested for a single card, only the most recent one is valid. Once redeemed, a token cannot be reused. operationId: postPinsControltoken requestBody: content: application/json: example: card_token: my_card_01 controltoken_type: SET_PIN schema: $ref: '#/components/schemas/control_token_request' required: false responses: '201': content: application/json: example: control_token: b4647c9a-d4b8-4091-a5ff-dd67a7bb9ffc schema: $ref: '#/components/schemas/control_token_response' description: Control token created '400': content: { } description: Bad request '403': content: { } description: Forbidden '500': content: { } description: Server error summary: Create PIN control token tags: - PINs /pins/reveal: post: description: |- Reveals the personal identification number (PIN) of an existing, active card. Be aware that while a cardholder can only set a four-digit PIN using the Marqeta Set PIN widget or `PUT /pins` API, you may see a four-, five-, or six-digit PIN in cases where your cardholders have set a new PIN at an automated teller machine. [WARNING] Only use this endpoint to access a PIN in order to reveal it to its cardholder. Do not use this endpoint for the purpose of storing a PIN at any location. Sending a request to this endpoint requires PCI DSS compliance. You must comply with PCI DSS data security requirements if you want to store, transmit, or process sensitive card data such as the cardholder's primary account number (PAN), personal identification number (PIN), and card expiration date. If you want to update a card's PIN instead, send a `PUT` request to the `/pins` endpoint. See <</core-api/pins#putPins, Create or Update PIN>> on this page for details. Revealing a card's PIN is a two-step process. You must first create a new control token for the card by sending a `POST` request to `/pins/controltoken`, and then use that token to reveal the PIN. operationId: revealPins requestBody: content: application/json: example: cardholder_verification_method: BIOMETRIC_FINGERPRINT control_token: b4647c9a-d4b8-4091-a5ff-dd67a7bb9ffc schema: $ref: '#/components/schemas/pin_reveal_request' required: false responses: '204': content: { } description: PIN was successfully revealed '400': content: { } description: Bad request '500': content: { } description: Server error summary: Reveal PIN tags: - PINs /programreserve/balances: get: description: Use this endpoint to return balances for your program reserve account (sometimes referred to as a _program funding account_). operationId: getProgramreserveBalances responses: '200': content: application/json: example: available_balance: 10100.0 balances: USD: available_balance: 10100.0 currency_code: USD ledger_balance: 10100.0 pending_credits: 0.0 currency_code: USD ledger_balance: 10100.0 pending_credits: 0.0 schema: $ref: '#/components/schemas/program_reserve_account_balance' description: Success '400': content: { } description: User input error/Bad request '500': content: { } description: Server error summary: Retrieve reserve account balances tags: - Program Reserve /programreserve/deposits: get: deprecated: true operationId: getProgramReserveDeposits parameters: - description: Number of items to retrieve explode: true in: query name: count required: false schema: default: 5 format: int32 type: integer style: form - description: Start index explode: true in: query name: start_index required: false schema: default: 0 format: int32 type: integer style: form - description: Sort order explode: true in: query name: sort_by required: false schema: default: -createdTime type: string style: form responses: default: content: { } description: successful operation tags: - program reserve post: deprecated: true operationId: deposit requestBody: content: application/json: schema: $ref: '#/components/schemas/program_reserve_deposit_request' required: false responses: default: content: { } description: successful operation tags: - program reserve /programreserve/transactions: get: description: |- Use this endpoint to return a list of credits and debits made to your program reserve account. This endpoint supports <</core-api/sorting-and-pagination, sorting and pagination>>. operationId: getProgramreserveTransactions parameters: - description: Number of resources to retrieve. explode: true in: query name: count required: false schema: default: 5 format: int32 type: integer style: form - description: Sort order index of the first resource in the returned array. explode: true in: query name: start_index required: false schema: default: 0 format: int32 type: integer style: form - description: |- Field on which to sort. Use any field in the resource model, or one of the system fields `lastModifiedTime` or `createdTime`. Prefix the field name with a hyphen (`-`) to sort in descending order. Omit the hyphen to sort in ascending order. explode: true in: query name: sort_by required: false schema: default: -createdTime type: string style: form responses: '200': content: application/json: example: count: 2 data: - amount: 120.0 created_time: 2024-02-10T21:52:18Z currency_code: USD last_modified_time: 2024-02-10T21:52:18Z memo: my_memo tags: my, tags token: my_deposit_02 transaction_token: '154' type: CREDIT - amount: 100.0 created_time: 2024-02-10T21:51:28Z currency_code: USD last_modified_time: 2024-02-10T21:51:28Z memo: my_memo tags: my, tags token: my_deposit_01 transaction_token: '153' type: CREDIT end_index: 1 is_more: false start_index: 0 schema: $ref: '#/components/schemas/ProgramReserveTransactionListResponse' description: Success '400': content: { } description: User input error/Bad request '500': content: { } description: Server error summary: List program reserve transactions tags: - Program Reserve /programtransfers: get: description: |- Use this endpoint to list all program transfers. To narrow your result set to program transfers of a particular type or that are associated with a particular account holder, include the appropriate parameters from the following URL Query Parameters table. This endpoint also supports <</core-api/field-filtering, field filtering>>, <</core-api/sorting-and-pagination, pagination>>, and <</core-api/sorting-and-pagination, sorting>>. operationId: getProgramtransfers parameters: - description: Number of program transfers to retrieve. explode: true in: query name: count required: false schema: default: 5 format: int32 maximum: 100 type: integer style: form - description: Sort order index of the first resource in the returned array. explode: true in: query name: start_index required: false schema: default: 0 format: int32 type: integer style: form - description: |- Comma-delimited list of fields to return (`field_1,field_2`, and so on). Leave blank to return all fields. explode: true in: query name: fields required: false schema: type: string style: form - description: |- Field on which to sort. Use any field in the resource model, or one of the system fields `lastModifiedTime` or `createdTime`. Prefix the field name with a hyphen (`-`) to sort in descending order. Omit the hyphen to sort in ascending order. explode: true in: query name: sort_by required: false schema: default: -lastModifiedTime type: string style: form - description: |- Unique identifier of the user account holder whose program transfers you want to retrieve. Send a `GET` request to `/users` to retrieve user tokens. explode: true in: query name: user_token required: false schema: type: string style: form - description: |- Unique identifier of the business account holder whose program transfers you want to retrieve. Send a `GET` request to `/businesses` to retrieve business tokens. explode: true in: query name: business_token required: false schema: type: string style: form - description: Unique identifier of the program transfer type to retrieve. explode: true in: query name: type_token required: false schema: type: string style: form responses: '200': content: application/json: example: count: 2 data[]: amount: 1.0 created_time: 2023-03-11T21:02:45Z currency_code: USD memo: This is my program transfer tags: tag1, tag2, tag3 token: my_program_transfer_02 transaction_token: '170' type_token: my_program_transfer_type_01 user_token: my_user_01 end_index: 1 is_more: false start_index: 0 schema: $ref: '#/components/schemas/ProgramTransferListResponse' description: Success '400': content: { } description: Bad request '500': content: { } description: Server error summary: List program transfers tags: - Program Transfers post: description: |- Use this endpoint to create a program transfer. Add the program transfer details to the body of the request in link:http://www.json.org/[JSON, window="_blank"] format. Include either `user_token` or `business_token` in the message body to specify the account holder whose general purpose account (GPA) will be debited by the program transfer. The user or business must already exist. [NOTE] If the GPA has insufficient funds to cover both the amount of the program transfer and all attached fees, then no funds are transferred. operationId: postProgramtransfers requestBody: content: application/json: example: amount: 1.0 currency_code: USD memo: This is my program transfer tags: tag1, tag2, tag3 token: my_program_transfer_01 type_token: my_program_transfer_type_01 user_token: my_user_01 schema: $ref: '#/components/schemas/program_transfer' required: false responses: '201': content: application/json: example: amount: 1.0 created_time: 2023-03-11T20:58:30Z currency_code: USD memo: This is my program transfer tags: tag1, tag2, tag3 token: my_program_transfer_01 transaction_token: '169' type_token: my_program_transfer_type_01 user_token: my_user_01 schema: $ref: '#/components/schemas/program_transfer_response' description: Success '400': content: { } description: Bad request '404': content: { } description: Not found '409': content: { } description: Request already processed with a different payload '412': content: { } description: Pre-condition failed. Unload amount is greater than load amount '500': content: { } description: Server error summary: Create program transfer tags: - Program Transfers /programtransfers/types: get: description: |- Use this endpoint to list all program transfer types. This endpoint supports <</core-api/field-filtering, field filtering>>, <</core-api/sorting-and-pagination, pagination>>, and <</core-api/sorting-and-pagination, sorting>>. operationId: getProgramtransfersTypes parameters: - description: Number of program transfer types to retrieve. explode: true in: query name: count required: false schema: default: 5 format: int32 type: integer style: form - description: Sort order index of the first resource in the returned array. explode: true in: query name: start_index required: false schema: default: 0 format: int32 type: integer style: form - description: |- Comma-delimited list of fields to return (`field_1,field_2`, and so on). Leave blank to return all fields. explode: true in: query name: fields required: false schema: type: string style: form - description: |- Field on which to sort. Use any field in the resource model, or one of the system fields `lastModifiedTime` or `createdTime`. Prefix the field name with a hyphen (`-`) to sort in descending order. Omit the hyphen to sort in ascending order. explode: true in: query name: sort_by required: false schema: default: -lastModifiedTime type: string style: form responses: '200': content: application/json: example: count: 2 data[]: created_time: 2023-03-15T19:53:23Z last_modified_time: 2023-03-15T19:53:23Z memo: This is my other program transfer type. program_funding_source_token: pfs_test_01 tags: tag1, tag2, tag3 token: my_program_transfer_type_02 end_index: 1 is_more: false start_index: 0 schema: $ref: '#/components/schemas/ProgramTransferTypeListResponse' description: Success '400': content: { } description: Bad request '500': content: { } description: Server error summary: List program transfer types tags: - Program Transfers post: description: |- Use this endpoint to create a program transfer type. Add the program transfer details to the body of the request in link:http://www.json.org/[JSON, window="_blank"] format. You are required to pass in a `program_funding_source_token` to associate a program funding source with the program transfer type. You must therefore create a program funding source before creating a program transfer type. operationId: postProgramtransfersTypes requestBody: content: application/json: example: memo: This is my program transfer type. program_funding_source_token: my_pfs_01 tags: tag1, tag2, tag3 token: my_program_transfer_type_01 schema: $ref: '#/components/schemas/program_transfer_type_request' required: false responses: '201': content: application/json: example: created_time: 2023-03-15T19:18:50Z last_modified_time: 2023-03-15T19:18:50Z memo: This is my program transfer type. program_funding_source_token: my_pfs_01 tags: tag1, tag2, tag3 token: my_program_transfer_type_01 schema: $ref: '#/components/schemas/program_transfer_type_response' description: Success '400': content: { } description: Bad request '404': content: { } description: Program funding source not found '409': content: { } description: Token already used '500': content: { } description: Server error summary: Create program transfer type tags: - Program Transfers /programtransfers/types/{type_token}: get: description: |- Use this endpoint to retrieve a specific program transfer. Include the `type_token` path parameter to indicate the program transfer type to return. operationId: getProgramtransfersTypesTypetoken parameters: - description: Unique identifier of the program transfer type. explode: false in: path name: type_token required: true schema: type: string style: simple responses: '200': content: application/json: example: created_time: 2023-03-15T19:18:50Z last_modified_time: 2023-03-15T19:18:50Z memo: This is my program transfer type. program_funding_source_token: pfs_test_01 tags: tag1, tag2, tag3 token: my_program_transfer_type_01 schema: $ref: '#/components/schemas/program_transfer_type_response' description: Success '400': content: { } description: Bad request '404': content: { } description: Program transfer type not found '500': content: { } description: Server error summary: Retrieve program transfer type tags: - Program Transfers put: description: |- Use this endpoint to update a program transfer type. Include the `type_token` path parameter to indicate the program transfer type to update. Add the modified detail parameters to the body of the request in link:http://www.json.org/[JSON, window="_blank"] format. Only values of parameters in the request are modified; all others are left unchanged. operationId: putProgramtransfersTypesTypetoken parameters: - description: Unique identifier of the program transfer type. explode: false in: path name: type_token required: true schema: type: string style: simple requestBody: content: application/json: example: memo: Update program funding source. program_funding_source_token: pfs_test_02 schema: $ref: '#/components/schemas/program_transfer_type_request' required: false responses: '200': content: application/json: example: created_time: 2023-03-15T19:53:23Z last_modified_time: 2023-03-15T19:58:33Z memo: Update program funding source. program_funding_source_token: pfs_test_02 tags: tag1, tag2, tag3 token: my_program_transfer_type_02 schema: $ref: '#/components/schemas/program_transfer_type_response' description: Success '400': content: { } description: Bad request '404': content: { } description: Program transfer type not found '500': content: { } description: Server error summary: Update program transfer type tags: - Program Transfers /programtransfers/{token}: get: description: |- Use this endpoint to retrieve a specific program transfer. Include the program transfer `token` path parameter to specify the program transfer to retrieve. operationId: getProgramtransfersToken parameters: - description: Unique identifier of the program transfer. explode: false in: path name: token required: true schema: type: string style: simple responses: '200': content: application/json: example: amount: 1.0 created_time: 2023-03-11T21:02:45Z currency_code: USD memo: This is my program transfer tags: tag1, tag2, tag3 token: my_program_transfer_02 transaction_token: '170' type_token: my_program_transfer_type_01 user_token: my_user_01 schema: $ref: '#/components/schemas/program_transfer_response' description: Success '400': content: { } description: Bad request '404': content: { } description: Return not found '500': content: { } description: Server error summary: Retrieve program transfer tags: - Program Transfers /pushtocards/disburse: get: operationId: getPushtocardsDisburse parameters: - description: Number of push-to-card disbursements to retrieve explode: true in: query name: count required: false schema: default: 10 format: int32 type: integer style: form - description: Comma-delimited list of fields to return (e.g. field_1,field_2,..). Leave blank to return all fields. explode: true in: query name: fields required: false schema: type: string style: form - description: Start index explode: true in: query name: start_index required: false schema: default: 0 format: int32 type: integer style: form - description: Sort order explode: true in: query name: sort_by required: false schema: default: -createdTime type: string style: form responses: '200': content: application/json: schema: $ref: '#/components/schemas/PushToCardDisburseListResponse' description: Success '400': content: { } description: Bad request '500': content: { } description: Server error summary: Lists all push-to-card disbursements tags: - push to card post: operationId: postPushtocardsDisburse requestBody: content: application/json: schema: $ref: '#/components/schemas/push_to_card_disburse_request' required: false responses: '201': content: application/json: schema: $ref: '#/components/schemas/push_to_card_disbursement_response' description: Success '400': content: { } description: User input error/Bad request '422': content: { } description: Payment instrument is not active '500': content: { } description: Server error summary: Initiates a push-to-card money disbursement tags: - push to card /pushtocards/disburse/{token}: get: operationId: getPushtocardsDisburseToken parameters: - description: Push-to-card disbursement token explode: false in: path name: token required: true schema: type: string style: simple - description: Comma-delimited list of fields to return (e.g. field_1,field_2,..). Leave blank to return all fields. explode: true in: query name: fields required: false schema: type: string style: form responses: '200': content: application/json: schema: $ref: '#/components/schemas/push_to_card_disbursement_response' description: Success '400': content: { } description: Bad request '404': content: { } description: Push-to-card disbursement not found '500': content: { } description: Server error summary: Returns a specific push-to-card disbursement tags: - push to card /pushtocards/paymentcard: get: operationId: getPushtocardsPaymentcard parameters: - description: Number of push-to-card payment cards to retrieve explode: true in: query name: count required: false schema: default: 10 format: int32 type: integer style: form - description: User token explode: true in: query name: user_token required: true schema: type: string style: form - description: Comma-delimited list of fields to return (e.g. field_1,field_2,..). Leave blank to return all fields. explode: true in: query name: fields required: false schema: type: string style: form - description: Start index explode: true in: query name: start_index required: false schema: default: 0 format: int32 type: integer style: form - description: Sort order explode: true in: query name: sort_by required: false schema: default: -createdTime type: string style: form responses: '200': content: application/json: schema: $ref: '#/components/schemas/PushToCardListResponse' description: Success '400': content: { } description: Bad request '500': content: { } description: Server error summary: Returns all push-to-card payment card details tags: - push to card post: operationId: postPushtocardsPaymentcard requestBody: content: application/json: schema: $ref: '#/components/schemas/push_to_card_request' required: false responses: '201': content: application/json: schema: $ref: '#/components/schemas/push_to_card_response' description: Success '400': content: { } description: User input error/Bad request '409': content: { } description: Token already associated with a different payload '422': content: { } description: Push-to-card information is invalid '500': content: { } description: Server error summary: Adds an external card to which funds will be pushed tags: - push to card /pushtocards/paymentcard/{token}: get: operationId: getPushtocardsPaymentcardToken parameters: - description: Push-to-card token explode: false in: path name: token required: true schema: type: string style: simple - description: Comma-delimited list of fields to return (e.g. field_1,field_2,..). Leave blank to return all fields. explode: true in: query name: fields required: false schema: type: string style: form responses: '200': content: application/json: schema: $ref: '#/components/schemas/push_to_card_response' description: Success '400': content: { } description: User input error/Bad request '404': content: { } description: Push-to-card details not found '500': content: { } description: Server error summary: Returns a specific paymentcard object tags: - push to card /realtimefeegroups: get: description: |- Use this endpoint to list existing real-time fee groups. This endpoint supports <</core-api/field-filtering, field filtering>> and <</core-api/sorting-and-pagination, pagination>>. operationId: getRealtimefeegroups parameters: - description: Number of real-time fee groups to retrieve. explode: true in: query name: count required: false schema: default: 5 format: int32 type: integer style: form - description: The sort order index of the first resource in the returned array. explode: true in: query name: start_index required: false schema: default: 0 format: int32 type: integer style: form - description: |- Comma-delimited list of fields to return (`field_1,field_2`, and so on). Leave blank to return all fields. explode: true in: query name: fields required: false schema: type: string style: form - description: |- Field on which to sort. Use any field in the resource model, or one of the system fields `lastModifiedTime` or `createdTime`. Prefix the field name with a hyphen (`-`) to sort in descending order. Omit the hyphen to sort in ascending order. explode: true in: query name: sort_by required: false schema: default: -createdTime type: string style: form responses: '200': content: application/json: example: count: 2 data[]: active: true created_time: 2022-11-28T00:36:11Z fee_tokens[]: my_fee_01 my_fee_05 last_modified_time: 2022-11-28T00:36:11Z name: My Real-Time Fee Group 01 token: my_rtfg_01 end_index: 1 is_more: false start_index: 0 schema: $ref: '#/components/schemas/RealTimeFeeGroupListResponse' description: Success '400': content: { } description: Bad request '500': content: { } description: Server error summary: List real-time fee groups tags: - Real-Time Fee Groups post: description: Use this endpoint to create a real-time fee group. operationId: postRealtimefeegroups requestBody: content: application/json: example: fee_tokens[]: my_fee_01 my_fee_05 name: My Real-Time Fee Group 01 token: my_rtfg_01 schema: $ref: '#/components/schemas/real_time_fee_group_create_request' required: false responses: '201': content: application/json: example: active: true created_time: 2022-11-28T00:36:11Z fee_tokens[]: my_fee_01 my_fee_05 last_modified_time: 2022-11-28T00:36:11Z name: My Real-Time Fee Group 01 token: my_rtfg_01 schema: $ref: '#/components/schemas/real_time_fee_group' description: Success '400': content: { } description: User input error/Bad request '409': content: { } description: Request already processed with a different payload '500': content: { } description: Server error summary: Create real-time fee group tags: - Real-Time Fee Groups /realtimefeegroups/{token}: get: description: |- Use this endpoint to retrieve a specific real-time fee group. Include the real-time fee group `token` path parameter to specify the real-time fee group to return. operationId: getRealtimefeegroupsToken parameters: - description: Unique identifier of the real-time fee group. explode: false in: path name: token required: true schema: type: string style: simple responses: '200': content: application/json: example: active: true created_time: 2022-11-28T00:36:11Z fee_tokens[]: my_fee_01 my_fee_05 last_modified_time: 2022-11-28T00:36:11Z name: My Real-Time Fee Group 01 token: my_rtfg_01 schema: $ref: '#/components/schemas/real_time_fee_group' description: Success '404': content: { } description: Real-time fee group not found '500': content: { } description: Server error summary: Retrieve real-time fee group tags: - Real-Time Fee Groups put: description: |- Use this endpoint to update a real-time fee group. Include the real-time fee group `token` path parameter to specify the real-time fee group to update. operationId: putRealtimefeegroupsToken parameters: - description: Unique identifier of the real-time fee group. explode: false in: path name: token required: true schema: type: string style: simple requestBody: content: application/json: example: active: false schema: $ref: '#/components/schemas/real_time_fee_group_request' required: false responses: '200': content: application/json: example: active: false created_time: 2022-11-28T00:36:11Z fee_tokens[]: my_fee_01 my_fee_05 last_modified_time: 2022-11-28T00:45:11Z name: My Real-Time Fee Group 01 token: my_rtfg_01 schema: $ref: '#/components/schemas/real_time_fee_group' description: Success '400': content: { } description: User input error/Bad request '500': content: { } description: Server error summary: Update real-time fee group tags: - Real-Time Fee Groups /simulate/authorization: post: operationId: postSimulateAuthorization requestBody: content: application/json: schema: $ref: '#/components/schemas/auth_request_model' required: false responses: '201': content: application/json: schema: $ref: '#/components/schemas/simulation_response_model' description: Success '400': content: { } description: User input error/Bad request '500': content: { } description: Server error summary: Simulates an authorization tags: - simulate /simulate/authorization/advice: post: operationId: postSimulateAuthorizationAdvice requestBody: content: application/json: schema: $ref: '#/components/schemas/authorization_advice_model' required: false responses: '201': content: application/json: schema: $ref: '#/components/schemas/simulation_response_model' description: Success '400': content: { } description: User input error/Bad request '404': content: { } description: Original transaction not found '500': content: { } description: Server error summary: Simulates an authorization advice transaction tags: - simulate /simulate/clearing: post: operationId: postSimulateClearing requestBody: content: application/json: schema: $ref: '#/components/schemas/ClearingModel' required: false responses: '201': content: application/json: schema: $ref: '#/components/schemas/simulation_response_model' description: Success '400': content: { } description: User input error/Bad request '404': content: { } description: Original transaction not found '500': content: { } description: Server error summary: Simulates a clearing/settlement transaction tags: - simulate /simulate/directdeposits: post: operationId: postSimulateDirectdeposits requestBody: content: application/json: schema: $ref: '#/components/schemas/DirectDepositRequest' description: Direct deposit simulate request model required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/DepositDepositResponse' description: Success '400': content: { } description: Bad request '500': content: { } description: Server error summary: Simulates the creation of direct deposit tags: - simulate /simulate/financial: post: operationId: postSimulateFinancial requestBody: content: application/json: schema: $ref: '#/components/schemas/financial_request_model' description: Financial request model required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/simulation_response_model' description: Success '400': content: { } description: User input error/Bad request '500': content: { } description: Server error summary: Simulates a financial request (PIN debit) transaction with optional cash back tags: - simulate /simulate/financial/advice: post: operationId: postSimulateFinancialAdvice requestBody: content: application/json: schema: $ref: '#/components/schemas/authorization_advice_model' description: Financial advice request model required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/simulation_response_model' description: Success '400': content: { } description: User input error/Bad request '404': content: { } description: Original transaction not found '500': content: { } description: Server error summary: Simulates a financial advice transaction tags: - simulate /simulate/financial/balanceinquiry: post: operationId: postSimulateFinancialBalanceinquiry requestBody: content: application/json: schema: $ref: '#/components/schemas/balance_inquiry_request_model' description: Balance inquiry request model required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/simulation_response_model' description: Success '400': content: { } description: User input error/Bad request '500': content: { } description: Server error summary: Simulates a balance inquiry tags: - simulate /simulate/financial/originalcredit: post: operationId: postSimulateFinancialOriginalcredit requestBody: content: application/json: schema: $ref: '#/components/schemas/orignalcredit_request_model' description: Orignal Credit request model required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/simulation_response_model' description: Success '400': content: { } description: User input error/Bad request '500': content: { } description: Server error summary: Simulates an orignal credit transaction tags: - simulate /simulate/financial/withdrawal: post: operationId: postSimulateFinancialWithdrawal requestBody: content: application/json: schema: $ref: '#/components/schemas/withdrawal_request_model' description: ATM withdrawal request model required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/simulation_response_model' description: Success '400': content: { } description: User input error/Bad request '500': content: { } description: Server error summary: Simulates an ATM withdrawal transaction tags: - simulate /simulate/reversal: post: operationId: postSimulateReversal requestBody: content: application/json: schema: $ref: '#/components/schemas/ReversalModel' required: false responses: '201': content: application/json: schema: $ref: '#/components/schemas/simulation_response_model' description: Success '400': content: { } description: User input error/Bad request '404': content: { } description: Original transaction not found '500': content: { } description: Server error summary: Simulates a reversal transaction tags: - simulate /spaces: get: operationId: getSpaces responses: default: content: { } description: successful operation summary: Get spaces. post: operationId: createSpace responses: default: content: { } description: successful operation summary: Create space. /spaces/redis-queue/{queueName}: delete: operationId: deleteQueue parameters: - explode: false in: path name: queueName required: true schema: type: string style: simple responses: default: content: { } description: successful operation /spaces/{space}/{key}: delete: operationId: deleteSpace parameters: - explode: false in: path name: space required: true schema: type: string style: simple - explode: false in: path name: key required: true schema: type: string style: simple responses: default: content: { } description: successful operation summary: Delete space. get: operationId: getSpace parameters: - explode: false in: path name: space required: true schema: type: string style: simple - explode: false in: path name: key required: true schema: type: string style: simple - explode: true in: query name: timeout required: false schema: format: int64 type: integer style: form responses: default: content: { } description: successful operation summary: Get space. post: operationId: createSpaceForKey parameters: - explode: false in: path name: space required: true schema: type: string style: simple - explode: false in: path name: key required: true schema: type: string style: simple - explode: true in: query name: timeout required: false schema: format: int64 type: integer style: form responses: default: content: { } description: successful operation summary: Create space for key. /stores: get: operationId: getStores parameters: - explode: true in: query name: count required: false schema: default: 5 format: int32 type: integer style: form - explode: true in: query name: start_index required: false schema: default: 0 format: int32 type: integer style: form - explode: true in: query name: fields required: false schema: type: string style: form - explode: true in: query name: sort_by required: false schema: default: -lastModifiedTime type: string style: form responses: default: content: { } description: successful operation summary: Get stores. post: operationId: createStore requestBody: content: application/json: schema: $ref: '#/components/schemas/store_model' required: false responses: default: content: { } description: successful operation summary: Create store. /stores/mid/{mid}: get: operationId: getStoreByMid parameters: - description: Mid explode: false in: path name: mid required: true schema: type: string style: simple - explode: true in: query name: fields required: false schema: type: string style: form responses: default: content: { } description: successful operation summary: Get store by mid. /stores/{token}: delete: operationId: deleteStore parameters: - explode: false in: path name: token required: true schema: type: string style: simple responses: default: content: { } description: successful operation summary: Delete store. get: operationId: getStore parameters: - description: Store token explode: false in: path name: token required: true schema: type: string style: simple - explode: true in: query name: fields required: false schema: type: string style: form responses: default: content: { } description: successful operation summary: Get store. put: operationId: updateStore parameters: - description: Store token explode: false in: path name: token required: true schema: type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/store_update_model' required: false responses: default: content: { } description: successful operation summary: Update store. /transactions: get: description: |- List all transactions. By default, this endpoint returns transactions conducted within the last 30 days. To return transactions older than 30 days, you must include the `start_date` and `end_date` query parameters in your request. By default, `GET /transactions` returns transactions having either `PENDING` or `COMPLETION` states. This endpoint supports <</core-api/field-filtering, field filtering>> and <</core-api/sorting-and-pagination, pagination>>. operationId: getTransactions parameters: - description: The number of transactions to retrieve. explode: true in: query name: count required: false schema: default: 10 format: int32 type: integer style: form - description: The sort order index of the first resource in the returned array. explode: true in: query name: start_index required: false schema: default: 0 format: int32 type: integer style: form - description: |- Comma-delimited list of fields to return (`field_1,field_2`, and so on). Leave blank to return all fields. explode: true in: query name: fields required: false schema: type: string style: form - description: |- Field on which to sort. Use any field in the resource model, or one of the system fields `lastModifiedTime` or `createdTime`. Prefix the field name with a hyphen (`-`) to sort in descending order. Omit the hyphen to sort in ascending order. explode: true in: query name: sort_by required: false schema: default: -user_transaction_time enum: - -created_time - created_time - -user_transaction_time - user_transaction_time type: string style: form - description: |- The starting date (or date-time) of a date range from which to return transactions. To return transactions for a single day, enter the same date in both the `start_date` and `end_date` fields. explode: true in: query name: start_date required: false schema: type: string style: form - description: |- The ending date (or date-time) of a date range from which to return transactions. To return transactions for a single day, enter the same date in both the `end_date` and `start_date` fields. explode: true in: query name: end_date required: false schema: type: string style: form - description: Comma-delimited list of transaction types to include. explode: true in: query name: type required: false schema: type: string style: form - description: The unique identifier of the user account holder. explode: true in: query name: user_token required: false schema: type: string style: form - description: The unique identifier of the business account holder. explode: true in: query name: business_token required: false schema: type: string style: form - description: The unique identifier of the acting user. explode: true in: query name: acting_user_token required: false schema: type: string style: form - description: The unique identifier of the card. explode: true in: query name: card_token required: false schema: type: string style: form - description: Comma-delimited list of transaction states to display. explode: true in: query name: state required: false schema: default: PENDING,COMPLETION type: string style: form - description: Specifies the API version for the request. explode: true in: query name: version required: false schema: type: string style: form - description: If `true`, the query returns additional information for diagnostic purposes. explode: true in: query name: verbose required: false schema: type: boolean style: form - description: Start identifier explode: true in: query name: start_identifier required: false schema: format: int64 type: integer style: form responses: '200': content: application/json: example: count: 2 data: - acquirer: institution_country: '840' institution_id_code: '428399181' retrieval_reference_number: '528294182583' system_trace_audit_number: '656761' acting_user_token: 99f323d4-298f-4b0c-93b1-19b2d9921eb8 amount: 10.0 card: metadata: null card_security_code_verification: response: code: '0000' memo: Card security code match type: CVV1 card_token: 02cc766c-24a5-4c3b-adcf-0e5e27b09329 created_time: 2021-08-21T17:26:29Z currency_code: USD duration: 537 fraud: network: account_risk_score: '7' transaction_risk_score: 97 gpa: available_balance: 0.0 balances: USD: available_balance: 0.0 credit_balance: 0.0 currency_code: USD impacted_amount: 10.0 ledger_balance: 20.0 pending_credits: 0.0 credit_balance: 0.0 currency_code: USD impacted_amount: 10.0 ledger_balance: 20.0 pending_credits: 0.0 gpa_order: amount: 10.0 created_time: 2021-08-21T17:26:30Z currency_code: USD funding: amount: 10.0 gateway_log: duration: 481 message: Approved or completed successfully order_number: '1200' response: code: '200' data: jit_funding: address_verification: gateway: on_file: postal_code: '94601' street_address: 2000 High St response: code: '0000' memo: Address and postal code match amount: 10.0 method: pgfs.authorization original_jit_funding_token: your-jit-funding-token token: your-jit-funding-token user_token: your-jit-funding-user timed_out: false transaction_id: your-jit-funding-token source: active: true created_time: 2021-08-21T17:25:43Z is_default_account: false last_modified_time: 2021-08-21T17:25:43Z name: PGFS for simulating transactions token: '**********dd5f' type: programgateway funding_source_token: '**********dd5f' jit_funding: acting_user_token: 99f323d4-298f-4b0c-93b1-19b2d9921eb8 amount: 10.0 method: pgfs.authorization token: 251bdc52-588a-4291-8c5d-6ded3a67e1a8 user_token: 99f323d4-298f-4b0c-93b1-19b2d9921eb8 last_modified_time: 2021-08-21T17:26:30Z response: code: '0000' memo: Approved or completed successfully state: PENDING token: 592b8164-a4af-45ee-ab24-13a4bb43e6b2 transaction_token: cd22cff7-2845-4508-a916-cf89fd9edae1 user_token: 99f323d4-298f-4b0c-93b1-19b2d9921eb8 issuer_payment_node: b9a60cd41a2cc1c23090ed3666bdbf1z issuer_received_time: 2021-08-21T17:26:29Z network: MARQETA pos: card_holder_presence: false card_presence: false is_recurring: false pan_entry_mode: MAG_STRIPE partial_approval_capable: false pin_entry_mode: 'TRUE' purchase_amount_only: false terminal_attendance: ATTENDED preceding_related_transaction_token: 06a8fe88-58b1-4682-a8ad-96eb973e1d74 response: code: '0000' memo: Approved or completed successfully state: PENDING subnetwork: GATEWAY_JIT token: cd22cff7-2845-4508-a916-cf89fd9edae1 transaction_metadata: payment_channel: OTHER type: gpa.credit.authorization user: metadata: null user_token: 99f323d4-298f-4b0c-93b1-19b2d9921eb8 user_transaction_time: 2021-08-21T17:26:29Z - acquirer: institution_country: '840' institution_id_code: '428399181' retrieval_reference_number: '528294182583' system_trace_audit_number: '656761' acquirer_fee_amount: 0.0 acting_user_token: 99f323d4-298f-4b0c-93b1-19b2d9921eb8 amount: 10.0 approval_code: '761515' card: metadata: null card_acceptor: city: Berkeley country_code: USA mcc: '6411' mid: '000000000011111' name: Aegis Fleet Services street_address: 111 Main St card_security_code_verification: response: code: '0000' memo: Card security code match type: CVV1 card_token: 02cc766c-24a5-4c3b-adcf-0e5e27b09329 created_time: 2021-08-21T17:26:29Z currency_code: USD duration: 622 fraud: network: account_risk_score: '7' transaction_risk_score: 97 gpa: available_balance: 0.0 balances: USD: available_balance: 0.0 credit_balance: 0.0 currency_code: USD impacted_amount: -10.0 ledger_balance: 20.0 pending_credits: 0.0 credit_balance: 0.0 currency_code: USD impacted_amount: -10.0 ledger_balance: 20.0 pending_credits: 0.0 gpa_order: amount: 10.0 created_time: 2021-08-21T17:26:30Z funding: amount: 10.0 currency_code: USD funding_source_token: '**********dd5f' gateway_log: duration: 481 message: Approved or completed successfully order_number: '1200' response: code: '200' data: jit_funding: address_verification: gateway: on_file: postal_code: '94601' street_address: 2000 High St response: code: '0000' memo: Address and postal code match amount: 10.0 method: pgfs.authorization original_jit_funding_token: your-jit-funding-token token: your-jit-funding-token user_token: your-jit-funding-user timed_out: false transaction_id: your-jit-funding-token jit_funding: acting_user_token: 99f323d4-298f-4b0c-93b1-19b2d9921eb8 amount: 10.0 method: pgfs.authorization token: 251bdc52-588a-4291-8c5d-6ded3a67e1a8 user_token: 99f323d4-298f-4b0c-93b1-19b2d9921eb8 source: active: true created_time: 2021-08-21T17:25:43Z is_default_account: false last_modified_time: 2021-08-21T17:25:43Z name: PGFS for simulating transactions token: '**********dd5f' type: programgateway user_token: 99f323d4-298f-4b0c-93b1-19b2d9921eb8 last_modified_time: 2021-08-21T17:26:30Z response: code: '0000' memo: Approved or completed successfully state: PENDING token: 592b8164-a4af-45ee-ab24-13a4bb43e6b2 transaction_token: cd22cff7-2845-4508-a916-cf89fd9edae1 issuer_payment_node: b9a60cd41a2cc1c23090ed3666bdbf1z issuer_received_time: 2021-08-21T17:26:29Z network: VISA pos: card_holder_presence: false card_presence: false is_recurring: false pan_entry_mode: MAG_STRIPE partial_approval_capable: false pin_entry_mode: 'TRUE' purchase_amount_only: false terminal_attendance: ATTENDED terminal_id: TR100000 request_amount: 10.0 response: code: '0000' memo: Approved or completed successfully settlement_date: 2021-08-21T00:00:00Z state: PENDING subnetwork: VISANET token: 06a8fe88-58b1-4682-a8ad-96eb973e1d74 transaction_metadata: payment_channel: OTHER type: authorization user: metadata: null user_token: 99f323d4-298f-4b0c-93b1-19b2d9921eb8 user_transaction_time: 2021-08-21T17:26:29Z end_index: 1 is_more: true start_index: 0 schema: $ref: '#/components/schemas/TransactionModelListResponse' description: Success '400': content: { } description: User input error/Bad request '500': content: { } description: Server error summary: List transactions tags: - Transactions /transactions/fundingsource/{funding_source_token}: get: description: |- List transactions for a specific funding source. By default, this endpoint returns transactions conducted within the last 30 days. To return transactions older than 30 days, you must include the `start_date` and `end_date` query parameters in your request. By default, `GET /transactions/fundingsource/{funding_source_token}` returns transactions having either `PENDING` or `COMPLETION` states. This endpoint supports <</core-api/field-filtering, field filtering>> and <</core-api/sorting-and-pagination, pagination>>. operationId: getTransactionsFundingsourceFundingsourcetoken parameters: - description: The unique identifier of the funding account. explode: false in: path name: funding_source_token required: true schema: type: string style: simple - description: The number of transactions to retrieve. explode: true in: query name: count required: false schema: default: 10 format: int32 type: integer style: form - description: The sort order index of the first resource in the returned array. explode: true in: query name: start_index required: false schema: default: 0 format: int32 type: integer style: form - description: |- Comma-delimited list of fields to return (`field_1,field_2`, and so on). Leave blank to return all fields. explode: true in: query name: fields required: false schema: type: string style: form - description: |- Field on which to sort. Use any field in the resource model, or one of the system fields `lastModifiedTime` or `createdTime`. Prefix the field name with a hyphen (`-`) to sort in descending order. Omit the hyphen to sort in ascending order. explode: true in: query name: sort_by required: false schema: default: -user_transaction_time enum: - -created_time - created_time - -user_transaction_time - user_transaction_time type: string style: form - description: |- The starting date (or date-time) of a date range from which to return transactions. To return transactions for a single day, enter the same date in both the `start_date` and `end_date` fields. explode: true in: query name: start_date required: false schema: type: string style: form - description: |- The ending date (or date-time) of a date range from which to return transactions. To return transactions for a single day, enter the same date in both the `end_date` and `start_date` fields. explode: true in: query name: end_date required: false schema: type: string style: form - description: Comma-delimited list of transaction types to include. explode: true in: query name: type required: false schema: type: string style: form - description: Specifies whether to return credit or debit transactions. explode: true in: query name: polarity required: false schema: enum: - CREDIT - DEBIT - PENDING_CREDIT - PENDING_DEBIT type: string style: form - description: Specifies the API version for the request. explode: true in: query name: version required: false schema: type: string style: form - description: If `true`, the query returns additional information for diagnostic purposes. explode: true in: query name: verbose required: false schema: type: boolean style: form responses: '200': content: application/json: schema: $ref: '#/components/schemas/TransactionModelListResponse' description: Success '400': content: { } description: User input error/Bad request '500': content: { } description: Server error summary: List transactions for a funding account tags: - Transactions /transactions/{token}: get: description: |- Retrieve a specific transaction. Include the `token` path parameter to identify the transaction. [NOTE] Transactions are not available in real time via this endpoint, and typically appear after 30 seconds. On occasion, a transaction may require up to four hours to appear. operationId: getTransactionsToken parameters: - description: The unique identifier of the transaction. explode: false in: path name: token required: true schema: type: string style: simple - description: |- Comma-delimited list of fields to return (`field_1,field_2`, and so on). Leave blank to return all fields. explode: true in: query name: fields required: false schema: type: string style: form - description: Specifies the API version for the request. explode: true in: query name: version required: false schema: type: string style: form - description: If `true`, the query returns additional information for diagnostic purposes. explode: true in: query name: verbose required: false schema: type: boolean style: form responses: '200': content: application/json: example: acquirer: institution_country: '840' institution_id_code: '428399181' retrieval_reference_number: '528294182583' system_trace_audit_number: '656761' acquirer_fee_amount: 0.0 acting_user_token: 99f323d4-298f-4b0c-93b1-19b2d9921eb8 amount: 10.0 approval_code: '761515' card: metadata: null card_acceptor: city: Berkeley country_code: USA mcc: '6411' mid: '000000000011111' name: Aegis Fleet Services street_address: 111 Main St card_security_code_verification: response: code: '0000' memo: Card security code match type: CVV1 card_token: 02cc766c-24a5-4c3b-adcf-0e5e27b09329 cardholder_authentication_data: electronic_commerce_indicator: authentication_successful verification_result: verified verification_value_created_by: issuer_acs created_time: 2021-08-21T17:26:29Z currency_code: USD currency_conversion: network: conversion_rate: 1.0 dynamic_currency_conversion: false original_amount: 10.0 original_currency_code: '840' duration: 622 fraud: network: account_risk_score: '7' transaction_risk_score: 97 gpa: available_balance: 0.0 balances: USD: available_balance: 0.0 credit_balance: 0.0 currency_code: USD impacted_amount: -10.0 ledger_balance: 20.0 pending_credits: 0.0 credit_balance: 0.0 currency_code: USD impacted_amount: -10.0 ledger_balance: 20.0 pending_credits: 0.0 gpa_order: amount: 10 created_time: 2021-08-21T17:26:30Z currency_code: USD funding: amount: 10.0 gateway_log: duration: 481 message: Approved or completed successfully order_number: '1200' response: code: '200' data: - jit_funding: address_verification: gateway: on_file: postal_code: '94601' street_address: 2000 High St response: code: '0000' memo: Address and postal code match amount: 10.0 method: pgfs.authorization original_jit_funding_token: your-jit-funding-token token: your-jit-funding-token user_token: your-jit-funding-user timed_out: false transaction_id: your-jit-funding-token source: active: true created_time: 2021-08-21T17:25:43Z is_default_account: false last_modified_time: 2021-08-21T17:25:43Z name: PGFS for simulating transactions token: '**********dd5f' type: programgateway funding_source_token: '**********dd5f' jit_funding: acting_user_token: 99f323d4-298f-4b0c-93b1-19b2d9921eb8 amount: 10.0 method: pgfs.authorization token: 251bdc52-588a-4291-8c5d-6ded3a67e1a8 user_token: 99f323d4-298f-4b0c-93b1-19b2d9921eb8 last_modified_time: 2021-08-21T17:26:30Z response: code: '0000' memo: Approved or completed successfully state: PENDING token: 592b8164-a4af-45ee-ab24-13a4bb43e6b2 transaction_token: cd22cff7-2845-4508-a916-cf89fd9edae1 user_token: 99f323d4-298f-4b0c-93b1-19b2d9921eb8 issuer_payment_node: b9a60cd41a2cc1c23090ed3666bdbf1z issuer_received_time: 2021-08-21T17:26:29Z network: VISA pos: card_holder_presence: false card_presence: false is_recurring: false pan_entry_mode: MAG_STRIPE partial_approval_capable: false pin_entry_mode: 'TRUE' purchase_amount_only: false terminal_attendance: ATTENDED terminal_id: TR100000 request_amount: 10.0 response: code: '0000' memo: Approved or completed successfully settlement_date: 2021-08-21T00:00:00Z state: PENDING subnetwork: VISANET token: 06a8fe88-58b1-4682-a8ad-96eb973e1d74 transaction_metadata: payment_channel: OTHER type: authorization user: metadata: null user_token: 99f323d4-298f-4b0c-93b1-19b2d9921eb8 user_transaction_time: 2021-08-21T17:26:29Z schema: $ref: '#/components/schemas/transaction_model' description: Success '400': content: { } description: User input error/Bad request '404': content: { } description: Transaction token not found '500': content: { } description: Server error summary: Retrieve transaction tags: - Transactions /transactions/{token}/related: get: description: |- List all transactions related to the specified transaction. By default, this endpoint returns transactions conducted within the last 30 days. To return transactions older than 30 days, you must include the `start_date` and `end_date` query parameters in your request. By default, this endpoint returns transactions of any state. To return transactions in specific states, you must include the `state` query parameter in your request. This endpoint supports <</core-api/field-filtering, field filtering>> and <</core-api/sorting-and-pagination, pagination>>. operationId: getTransactionsTokenRelated parameters: - description: The unique identifier of the transaction. explode: false in: path name: token required: true schema: type: string style: simple - description: The number of transactions to retrieve. explode: true in: query name: count required: false schema: default: 10 format: int32 type: integer style: form - description: The sort order index of the first resource in the returned array. explode: true in: query name: start_index required: false schema: default: 0 format: int32 type: integer style: form - description: |- Comma-delimited list of fields to return (`field_1,field_2`, and so on). Leave blank to return all fields. explode: true in: query name: fields required: false schema: type: string style: form - description: |- Field on which to sort. Use any field in the resource model, or one of the system fields `lastModifiedTime` or `createdTime`. Prefix the field name with a hyphen (`-`) to sort in descending order. Omit the hyphen to sort in ascending order. explode: true in: query name: sort_by required: false schema: default: -user_transaction_time enum: - -created_time - created_time - -user_transaction_time - user_transaction_time type: string style: form - description: |- The starting date (or date-time) of a date range from which to return transactions. To return transactions for a single day, enter the same date in both the `start_date` and `end_date` fields. explode: true in: query name: start_date required: false schema: type: string style: form - description: |- The ending date (or date-time) of a date range from which to return transactions. To return transactions for a single day, enter the same date in both the `end_date` and `start_date` fields. explode: true in: query name: end_date required: false schema: type: string style: form - description: Comma-delimited list of transaction types to include. explode: true in: query name: type required: false schema: type: string style: form - description: Comma-delimited list of transaction states to display. explode: true in: query name: state required: false schema: default: ALL type: string style: form - description: Specifies the API version for the request. explode: true in: query name: version required: false schema: type: string style: form - description: If `true`, the query returns additional information for diagnostic purposes. explode: true in: query name: verbose required: false schema: type: boolean style: form responses: '200': content: application/json: example: count: 1 data: - acquirer: institution_country: '840' institution_id_code: '428399181' retrieval_reference_number: '528294182583' system_trace_audit_number: '656761' acting_user_token: 99f323d4-298f-4b0c-93b1-19b2d9921eb8 amount: 10.0 card: metadata: null card_security_code_verification: response: code: '0000' memo: Card security code match type: CVV1 card_token: 02cc766c-24a5-4c3b-adcf-0e5e27b09329 created_time: 2021-08-21T17:26:29Z currency_code: USD duration: 537 fraud: network: account_risk_score: '7' transaction_risk_score: 97 gpa: available_balance: 0.0 balances: USD: available_balance: 0.0 credit_balance: 0.0 currency_code: USD impacted_amount: 10.0 ledger_balance: 20.0 pending_credits: 0.0 credit_balance: 0.0 currency_code: USD impacted_amount: 10.0 ledger_balance: 20.0 pending_credits: 0.0 gpa_order: amount: 10.0 created_time: 2021-08-21T17:26:30Z funding: amount: 10.0 currency_code: USD funding_source_token: '**********dd5f' gateway_log: duration: 481 message: Approved or completed successfully order_number: '1200' response: code: '200' data: jit_funding: address_verification: gateway: on_file: postal_code: 94601 street_address: 2000 High St response: code: '0000' memo: Address and postal code match amount: 10.0 method: pgfs.authorization original_jit_funding_token: your-jit-funding-token token: your-jit-funding-token user_token: your-jit-funding-user timed_out: false transaction_id: your-jit-funding-token jit_funding: acting_user_token: 99f323d4-298f-4b0c-93b1-19b2d9921eb8 amount: 10.0 method: pgfs.authorization token: 251bdc52-588a-4291-8c5d-6ded3a67e1a8 user_token: 99f323d4-298f-4b0c-93b1-19b2d9921eb8 source: active: true created_time: 2021-08-21T17:25:43Z is_default_account: false last_modified_time: 2021-08-21T17:25:43Z name: PGFS for simulating transactions token: '**********dd5f' type: programgateway user_token: 99f323d4-298f-4b0c-93b1-19b2d9921eb8 last_modified_time: 2021-08-21T17:26:30Z response: code: '0000' memo: Approved or completed successfully state: PENDING token: 592b8164-a4af-45ee-ab24-13a4bb43e6b2 transaction_token: cd22cff7-2845-4508-a916-cf89fd9edae1 issuer_payment_node: b9a60cd41a2cc1c23090ed3666bdbf1z issuer_received_time: 2021-08-21T17:26:29Z network: MARQETA pos: card_holder_presence: false card_presence: false is_recurring: false pan_entry_mode: MAG_STRIPE partial_approval_capable: false pin_entry_mode: 'TRUE' purchase_amount_only: false terminal_attendance: ATTENDED preceding_related_transaction_token: 06a8fe88-58b1-4682-a8ad-96eb973e1d74 response: code: '0000' memo: Approved or completed successfully state: PENDING subnetwork: GATEWAY_JIT token: cd22cff7-2845-4508-a916-cf89fd9edae1 transaction_metadata: payment_channel: OTHER type: gpa.credit.authorization user: metadata: null user_token: 99f323d4-298f-4b0c-93b1-19b2d9921eb8 user_transaction_time: 2021-08-21T17:26:29Z end_index: 0 is_more: false start_index: 0 schema: $ref: '#/components/schemas/TransactionModelListResponse' description: Success '400': content: { } description: User input error/Bad request '500': content: { } description: Server error summary: List related transactions tags: - Transactions /users: get: description: |- To return an array of all of a program's users, send a `GET` request to the `/users` endpoint. This endpoint supports <</core-api/field-filtering, field filtering>> and <</core-api/sorting-and-pagination, pagination>>. To narrow your result set to users that match certain criteria, see the <<search_users,Search users>> endpoint. The `business_token` field is conditionally returned in the response (it cannot be set through the API). You can use this field in conjunction with the `parent_token` field to determine whether the user has a parent or grandparent that is a business: [cols="1,1,1"] |=== | parent_token | business_token | Description | Not populated | Not populated | User does not have a parent. | Populated | Not populated | User's parent is a user. | Populated; matches `business_token` | Populated; matches `parent_token` | User's parent is a business. | Populated; does not match `business_token` | Populated; does not match `parent_token` | User's parent is a user and their grandparent is a business. |=== operationId: getUsers parameters: - description: Number of user resources to retrieve. explode: true in: query name: count required: false schema: default: 5 format: int32 type: integer style: form - description: Sort order index of the first resource in the returned array. explode: true in: query name: start_index required: false schema: default: 0 format: int32 type: integer style: form - description: Search type. explode: true in: query name: search_type required: false schema: type: string style: form - description: |- Comma-delimited list of fields to return (`field_1,field_2`, and so on). Leave blank to return all fields. explode: true in: query name: fields required: false schema: type: string style: form - description: |- Field on which to sort. Use any field in the resource model, or one of the system fields `lastModifiedTime` or `createdTime`. Prefix the field name with a hyphen (`-`) to sort in descending order. Omit the hyphen to sort in ascending order. explode: true in: query name: sort_by required: false schema: default: -lastModifiedTime type: string style: form responses: '200': content: application/json: example: count: 2 data: - account_holder_group_token: DEFAULT_AHG active: true address1: 1234 Grove Street birth_date: 1991-01-01 city: Berkeley country: USA created_time: 2022-08-16T19:43:02Z email: jane.doe@company.com first_name: Jane gender: F identifications: - type: SSN value: '5555' last_modified_time: 2022-08-16T19:43:02Z last_name: Doe metadata: authentication_answer1: Cashier authentication_answer2: Trabant authentication_answer3: Blue authentication_question1: What was your first job? authentication_question2: What make was your first car? authentication_question3: What is your favorite color? notification_email: jane.doe@home.com notification_language: spa password: P@ssw0rd phone: '15105551212' postal_code: '94702' state: CA status: ACTIVE token: my_user_01 uses_parent_account: false - account_holder_group_token: DEFAULT_AHG active: true address1: 2345 Main Street birth_date: 1992-02-02 city: Berkeley country: USA created_time: 2023-03-14T00:45:00Z email: john.doe@company.com first_name: John gender: M identifications: - type: SSN value: '4444' last_modified_time: 2023-03-14T00:45:00Z last_name: Doe metadata: key1: value1 key2: value2 password: my-password phone: '15105551212' postal_code: '94702' state: CA status: ACTIVE token: my_user_02 uses_parent_account: false end_index: 1 is_more: false start_index: 0 schema: $ref: '#/components/schemas/UserCardHolderListResponse' description: Success '400': content: { } description: Bad request '500': content: { } description: Server error summary: List users tags: - Users post: description: |- This endpoint enables you to create a user. A new user's initial status depends on the <</core-api/kyc-verification, Know Your Customer (KYC) requirements>> of the program or associated <</core-api/account-holder-groups, account holder group>>. [cols="1,1,1,1"] |=== | KYC Required | Initial User Status | User Active on Creation | User Limitations | Always | `UNVERIFIED` | Optional | Cannot load funds; cannot activate cards. | Conditionally | `LIMITED` | Optional | Restricted by rules in `accountholdergroups.pre_kyc_controls`. | Never | `ACTIVE` | Required | None. |=== [NOTE] Use the `/usertransitions` endpoints to transition user resources between statuses and to view the history of a user's status. Do not set the value of the `user.active` field directly. For more information on status changes, see <</core-api/user-transitions#postUsertransitions, Create User Transition>>. To perform KYC verification on users, the user object must have the following fields configured: * `first_name` (legal first name only, no prefixes) * `last_name` (legal last name only, no suffixes) * `address1` (cannot be a PO Box) * `city` * `state` * `postal_code` * `country` * `birth_date` * `identifications` * `phone` (required in some cases) * `email` (required in some cases) [NOTE] The `identifications` requirement depends on your program's configuration. To determine if you should provide a full or abbreviated identification number, contact your Marqeta representative. KYC verification requires the full Social Security Number (SSN) of the user. To create a child user, you must identify the parent user or business and determine whether the child user shares an account with the parent. The parent must be an existing user or business. On the child user, set the `parent_token` field to the value of the parent's `token` field. If either the parent or the grandparent is a business, a `business_token` field is added to the user. This field's value is set to the token of either the parent or grandparent (whichever is the business). The `uses_parent_account` field determines whether the child shares balances with the parent (`true`) or whether the child balances are independent of the parent (`false`). If you do not specify a value for `uses_parent_account`, it is set to `false` by default (the user does not share the parent's balance) and returned in the response body. This field cannot be updated, so you must decide upon creation whether the child user shares the parent balance. Sharing an account with a parent user affects how the child user interacts with cards as follows: * A child user cannot spend funds if its parent is not active. * An active child user can activate cards, whether the parent is active or not. operationId: postUsers requestBody: content: application/json: example: address1: 1234 Grove Street birth_date: 1991-01-01 city: Berkeley country: USA email: jane.doe@company.com first_name: Jane gender: F identifications: - type: SSN value: '111234444' last_name: Doe metadata: authentication_answer1: Cashier authentication_answer2: Trabant authentication_answer3: Blue authentication_question1: What was your first job? authentication_question2: What make was your first car? authentication_question3: What is your favorite color? notification_email: jane.doe@home.com notification_language: spa password: P@ssw0rd phone: '15105551212' postal_code: '94702' state: CA token: my_user_01 uses_parent_account: false schema: $ref: '#/components/schemas/card_holder_model' required: false responses: '201': content: application/json: example: account_holder_group_token: DEFAULT_AHG active: true address1: 1234 Grove Street birth_date: 1991-01-01 city: Berkeley corporate_card_holder: false country: USA created_time: 2023-03-26T20:21:24Z email: jane.doe6@company.com first_name: Jane gender: F last_modified_time: 2023-03-26T20:21:24Z last_name: Doe metadata: authentication_answer1: Cashier authentication_answer2: Trabant authentication_answer3: Blue authentication_question1: What was your first job? authentication_question2: What make was your first car? authentication_question3: What is your favorite color? notification_email: jane.doe@home.com notification_language: spa password: P@ssw0rd phone: '15105551212' ssn: '5555' state: CA status: ACTIVE token: my_user_01 uses_parent_account: false zip: '94702' schema: $ref: '#/components/schemas/user_card_holder_response' description: Success '400': content: { } description: User input error/Bad request '409': content: { } description: Request already processed with a different payload '412': content: { } description: Pre-condition setup issue '500': content: { } description: Server error summary: Create user tags: - Users /users/auth/changepassword: post: description: |- To change a user password, send a `POST` request to the `/users/auth/changepassword` endpoint and include the `current_password` and `new_password` in link:http://www.json.org/[JSON, window="_blank"] format in the body of the request. This endpoint operates in the context of a currently logged-in user. A successful password change returns an empty response body with a response code of `204 No Content`. operationId: postUsersAuthChangepassword requestBody: content: application/json: example: current_password: my_old_password new_password: my_new_password schema: $ref: '#/components/schemas/password_update_model' description: Password update object required: true responses: '204': content: { } description: Success '400': content: { } description: User input error/Bad request '401': content: { } description: Unauthorized '500': content: { } description: Server error summary: Update user password tags: - Users /users/auth/clientaccesstoken: post: description: |- Each time you want to display a virtual card's sensitive data (for example, when using `marqeta.js`), you must first request a new, single-use client access token from the Marqeta platform by sending a `POST` request to the `/users/auth/clientaccesstoken` endpoint. Unredeemed client access tokens expire after five minutes. operationId: postUsersAuthClientaccesstoken requestBody: content: application/json: example: card_token: my_card_01 schema: $ref: '#/components/schemas/client_access_token_request' required: false responses: '201': content: application/json: example: created: 2022-07-29T12:00:00Z expires: 2022-07-29T12:05:00Z token: ewogICJ0b2tlbiI6ICI5NzIwMDkwNS00ODc0LTRkMWEtODEzMS1jMWI3NDAwNzJjM2MmYXBwbGljYXRpb25fdG9rZW49eW91cl9hcHBsaWNhdGlvbl90b2tlbiIsCiAgImFwcGxpY2F0aW9uIjogewogICAgInRva2VuIjogInlvdXJfYXBwbGljYXRpb25fdG9rZW4iLAogICAgImFjdGl2ZSI6IHRydWUsCiAgICAiY2xpZW50X2FwaV9iYXNlX3VybCI6ICJodHRwOi8vd2lkZ2V0cy1lbnYubWFycWV0YS5jb20vY2xpZW50L2FwaS92MSIsCiAgICAiYXNzZXRzX3VybCI6ICJodHRwOi8vd2lkZ2V0cy1lbnYubWFycWV0YS5jb20vY2xpZW50L2Fzc2V0cy8xLjAuMCIsCiAgICAiY2xpZW50dG9rZW5hcHBsaWNhdGlvbklkIjogIjU3MDI2OTJhMGI4ZGNlOTg1YWVmNTExMiIKICB9LAogICJhcHBsaWNhdGlvbl90b2tlbiI6IG51bGwsCiAgImV4cGlyZXMiOiAiMjAxOC0xMi0zMVQyMzo1OTo1OSswMDAwIiwKICAiY2FyZF90b2tlbiI6ICJ0b2tlbl9vZl90aGVfY2FyZF95b3VfbmVlZF90b19wcmVzZW50IiwKICAiYWNjZXNzZWQiOiBudWxsLAogICJjbGllbnR0b2tlbklkIjogIjU5MTc2Y2JlMGI4ZGNlOTg1YWVmNTEzMCIsCiAgImNyZWF0ZWQiOiAiMjAxOC0wMS0wMVQwMDowMDowMCswMDAwIgp9 schema: $ref: '#/components/schemas/client_access_token_response' description: Created '400': content: { } description: User input error/Bad request '401': content: { } description: Unauthorized '500': content: { } description: Server error summary: Create client access token tags: - Users /users/auth/clientaccesstoken/{token}: get: description: To retrieve application and card information using a client access token, send a `GET` request to the `/users/auth/clientaccesstoken/{token}` endpoint. operationId: getUsersAuthClientaccesstokenToken parameters: - description: Client access token. explode: false in: path name: token required: true schema: type: string style: simple - description: Unique identifier of the `application` object. explode: true in: query name: application_token required: false schema: type: string style: form responses: '200': content: application/json: example: created: 2022-07-29T12:00:00Z expires: 2022-07-29T12:05:00Z token: ewogICJ0b2tlbiI6ICI5NzIwMDkwNS00ODc0LTRkMWEtODEzMS1jMWI3NDAwNzJjM2MmYXBwbGljYXRpb25fdG9rZW49eW91cl9hcHBsaWNhdGlvbl90b2tlbiIsCiAgImFwcGxpY2F0aW9uIjogewogICAgInRva2VuIjogInlvdXJfYXBwbGljYXRpb25fdG9rZW4iLAogICAgImFjdGl2ZSI6IHRydWUsCiAgICAiY2xpZW50X2FwaV9iYXNlX3VybCI6ICJodHRwOi8vd2lkZ2V0cy1lbnYubWFycWV0YS5jb20vY2xpZW50L2FwaS92MSIsCiAgICAiYXNzZXRzX3VybCI6ICJodHRwOi8vd2lkZ2V0cy1lbnYubWFycWV0YS5jb20vY2xpZW50L2Fzc2V0cy8xLjAuMCIsCiAgICAiY2xpZW50dG9rZW5hcHBsaWNhdGlvbklkIjogIjU3MDI2OTJhMGI4ZGNlOTg1YWVmNTExMiIKICB9LAogICJhcHBsaWNhdGlvbl90b2tlbiI6IG51bGwsCiAgImV4cGlyZXMiOiAiMjAxOC0xMi0zMVQyMzo1OTo1OSswMDAwIiwKICAiY2FyZF90b2tlbiI6ICJ0b2tlbl9vZl90aGVfY2FyZF95b3VfbmVlZF90b19wcmVzZW50IiwKICAiYWNjZXNzZWQiOiBudWxsLAogICJjbGllbnR0b2tlbklkIjogIjU5MTc2Y2JlMGI4ZGNlOTg1YWVmNTEzMCIsCiAgImNyZWF0ZWQiOiAiMjAxOC0wMS0wMVQwMDowMDowMCswMDAwIgp9 schema: $ref: '#/components/schemas/client_access_token_response' description: Success '400': content: { } description: Bad request '401': content: { } description: Unauthorized '403': content: { } description: Forbidden '500': content: { } description: Server error summary: Retrieve client access token tags: - Users /users/auth/login: post: description: |- To log in a user and return a user access token, send a `POST` request to the `/users/auth/login` endpoint and include the user details in link:http://www.json.org/[JSON, window="_blank"] format in the body of the request. [TIP] To check a user's credentials without logging out the user, call the `/users/auth/onetime` endpoint. operationId: postUsersAuthLogin requestBody: content: application/json: example: email: jane.doe@company.com password: P@ssw0rd user_token: my_user_01 schema: $ref: '#/components/schemas/login_request_model' description: User login object required: false responses: '204': content: application/json: example: access_token: expires: 2027-03-01T21:02:04Z one_time: false token: e12b1f64-1444-4aa3-83d9-347800c68e94 user: active: true created_time: 2023-04-01T17:52:39Z email: jane.doe@company.com last_modified_time: 2023-04-01T17:52:39Z password: P@ssw0rd token: my_user_01 uses_parent_account: false schema: $ref: '#/components/schemas/login_response_model' description: Success '400': content: { } description: User input error/Bad request '401': content: { } description: Unauthorized '500': content: { } description: Server error summary: Log in user tags: - Users /users/auth/logout: post: description: |- To log out a user, send a `POST` request to the `/users/auth/logout` endpoint. A successful logout returns an empty response body with a response code of `204 No Content`. operationId: postUsersAuthLogout responses: '204': content: { } description: Success '400': content: { } description: User input error/Bad request '401': content: { } description: Unauthorized '500': content: { } description: Server error summary: Log out user tags: - Users /users/auth/onetime: post: description: |- This endpoint returns a single-use access token. This type of token authorizes a single request to access API endpoints and data associated with a particular user. A single-use access token differs from a user access token (as returned by `POST` `/users/auth/login`) only in the number of times it can be used. To return a single-use access token, send a `POST` request to the `/users/auth/onetime` endpoint. Provide one of these sets of input data: * *Case #1* – Application token and user access token * *Case #2* – Application token, admin access token, and user token * *Case #3* – Application token, user's Marqeta password, and user's email address In each case, provide the application token as the HTTP Basic Authentication username in the request header's Authorization field. When applicable, provide the user access token or admin access token as the HTTP Basic Authentication password. When applicable, provide the user token or user's Marqeta password and email address in link:http://www.json.org/[JSON, window="_blank"] format in the request body. Before instantiating an embedded Marqeta widget, call this endpoint to obtain the single-use access token required as input (cases #1 and #2). This endpoint is also useful when you want to check a user's credentials before performing a sensitive operation without having to log out the user (case #3). [NOTE] Calling this endpoint and returning a single-use access token does not invalidate the user's current user access token. operationId: postUsersAuthOnetime requestBody: content: application/json: examples: case_one: summary: '*Case 1:* Authorization: Basic `my_application_token:my_user_access_token`' value: { } case_three: summary: '*Case 3:* Authorization: Basic `my_application_token`' value: email: jane.doe@company.com password: P@ssw0rd case_two: summary: '*Case 2:* Authorization: Basic `my_application_token:my_admin_access_token`' value: user_token: my_user_token schema: $ref: '#/components/schemas/one_time_request_model' description: One-time object required: false responses: '201': content: application/json: example: expires: 2024-04-01T00:00:00Z one_time: true token: 697e0bde-ea52-44bd-8150-0e0f83e9625d schema: $ref: '#/components/schemas/access_token_response' description: Created '400': content: { } description: User input error/Bad request '401': content: { } description: Unauthorized '500': content: { } description: Server error summary: Create single-use token tags: - Users /users/auth/resetpassword: post: description: |- Use this endpoint to generate a password reset token for a user. Send a `POST` request to the `/users/auth/resetpassword` endpoint and include the user's email address in link:http://www.json.org/[JSON, window="_blank"] format in the body of the request. This request generates and sends an email message containing the `user_token` and `password_reset_token` to the user's email address. You must customize the email message with a link that passes the `user_token` and `password_reset_token` to a web page where a subsequent request updates the password. A successful request returns an empty response body with a response code of `204 No Content`. operationId: postUsersAuthResetpassword requestBody: content: application/json: example: email: jane.doe@company.com schema: $ref: '#/components/schemas/reset_user_password_email_model' required: false responses: '204': content: { } description: Success '400': content: { } description: User input error/Bad request '401': content: { } description: Unauthorized '500': content: { } description: Server error summary: Request user password reset token tags: - Users /users/auth/resetpassword/{token}: post: description: |- To reset the user's password, send a `POST` request to the `/users/auth/resetpassword/{token}` endpoint that includes a password reset token generated using the `POST /users/auth/resetpassword` operation. Include the `user_token` and `new_password` in link:http://www.json.org/[JSON, window="_blank"] format in the body of the request. Include the `password_reset_token` as a path parameter. A successful password reset returns an empty response body with a response code of `204 No Content`. operationId: postUsersAuthResetpasswordToken parameters: - description: Password reset token generated using the `POST /users/auth/resetpassword` operation. explode: false in: path name: token required: true schema: type: string style: simple requestBody: content: application/json: example: new_password: newPassword123@ user_token: my_user_01 schema: $ref: '#/components/schemas/reset_user_password_model' required: false responses: '204': content: { } description: Success '400': content: { } description: User input error/Bad request '401': content: { } description: Unauthorized '500': content: { } description: Server error summary: Reset user password tags: - Users /users/auth/verifyemail: post: description: |- Send a `POST` request to the `/users/auth/verifyemail` endpoint to request an email verification token. No input parameters are required because this operation is performed in the context of an authenticated user. This initial request generates and sends an email message containing the email verification token to the cardholder's email address. This email message must include a link that passes the email verification token to a web page where a subsequent request verifies the email address. A successful request returns an empty response body with a response code of `204 No Content`. operationId: postUsersAuthVerifyemail responses: '204': content: { } description: Success '400': content: { } description: User input error/Bad request '401': content: { } description: Unauthorized '500': content: { } description: Server error summary: Request email verification token tags: - Users /users/auth/verifyemail/{token}: post: description: |- To verify a user's email address, send a `POST` request to the `/users/auth/verifyemail/{email_verification_token}` endpoint that includes an `email_verification_token` generated using the `POST /users/auth/verifyemail` operation. Include the `email_verification_token` as a path parameter. A successful email verification returns an empty response body with a response code of `204 No Content`. operationId: postUsersAuthVerifyemailToken parameters: - description: Email verification token generated using the `POST /users/auth/verifyemail` operation. explode: false in: path name: token required: true schema: type: string style: simple responses: '204': content: { } description: Success '400': content: { } description: User input error/Bad request '401': content: { } description: Unauthorized '500': content: { } description: Server error summary: Verify email address tags: - Users /users/lookup: post: description: |- To search for one or more users, send a `POST` request to the `/users/lookup` endpoint. Include in the message body any parameters by which you want to query. This endpoint supports <</core-api/field-filtering, field filtering>> and <</core-api/sorting-and-pagination, pagination>>. operationId: postUsersLookup parameters: - description: Number of user resources to retrieve. explode: true in: query name: count required: false schema: default: 5 format: int32 type: integer style: form - description: Sort order index of the first resource in the returned array. explode: true in: query name: start_index required: false schema: default: 0 format: int32 type: integer style: form - description: Search type. explode: true in: query name: search_type required: false schema: type: string style: form - description: |- Comma-delimited list of fields to return (`field_1,field_2`, and so on). Leave blank to return all fields. explode: true in: query name: fields required: false schema: type: string style: form - description: |- Field on which to sort. Use any field in the resource model, or one of the system fields `lastModifiedTime` or `createdTime`. Prefix the field name with a hyphen (`-`) to sort in descending order. Omit the hyphen to sort in ascending order. explode: true in: query name: sort_by required: false schema: default: -lastModifiedTime type: string style: form requestBody: content: application/json: example: first_name: Jane schema: $ref: '#/components/schemas/user_card_holder_search_model' required: false responses: '200': content: application/json: example: count: 1 data: - account_holder_group_token: DEFAULT_AHG active: true address1: 1234 Grove Street birth_date: 1991-01-01 city: Berkeley country: USA created_time: 2023-03-16T20:26:28Z email: jane.doe@company.com first_name: Jane gender: F identifications: - type: DRIVERS_LICENSE value: '12345' last_modified_time: 2023-03-16T20:26:29Z last_name: Doe metadata: { } password: P@ssw0rd phone: '15105551212' postal_code: '94702' state: CA status: ACTIVE token: my_user_01 uses_parent_account: false end_index: 1 is_more: false start_index: 0 schema: $ref: '#/components/schemas/UserCardHolderListResponse' description: Success '400': content: { } description: Bad request '500': content: { } description: Server error summary: Search users tags: - Users /users/phonenumber/{phone_number}: get: operationId: getUsersPhonenumberPhonenumber parameters: - description: Phone number explode: false in: path name: phone_number required: true schema: type: string style: simple - description: Number of users to retrieve explode: true in: query name: count required: false schema: default: 5 format: int32 type: integer style: form - description: Start index explode: true in: query name: start_index required: false schema: default: 0 format: int32 type: integer style: form - description: Comma-delimited list of fields to return (e.g. field_1,field_2,..). Leave blank to return all fields. explode: true in: query name: fields required: false schema: type: string style: form - description: Sort order explode: true in: query name: sort_by required: false schema: default: -lastModifiedTime type: string style: form responses: '200': content: application/json: schema: $ref: '#/components/schemas/UserCardHolderListResponse' description: Success '400': content: { } description: Bad request '500': content: { } description: Server error summary: Lists all users who match a phone number tags: - users /users/{parent_token}/children: get: description: |- To retrieve users who are children of a parent user or business, send a `GET` request to the `/users/{parent_token}/children` endpoint. Include the parent's user or business token as a URL path parameter. The `business_token` field is conditionally returned in the response (it cannot be set through the API). You can use this field in conjunction with the `parent_token` field to determine whether the user has a parent or grandparent that is a business: [cols="1,1,1"] |=== | parent_token | business_token | Description | Not populated | Not populated | User does not have a parent. | Populated | Not populated | User's parent is a user. | Populated; matches `business_token` | Populated; matches `parent_token` | User's parent is a business. | Populated; does not match `business_token` | Populated; does not match `parent_token` | User's parent is a user and their grandparent is a business. |=== This endpoint supports <</core-api/field-filtering, field filtering>>. operationId: getUsersParenttokenChildren parameters: - description: Number of user resources to retrieve. explode: true in: query name: count required: false schema: default: 5 format: int32 type: integer style: form - description: Sort order index of the first resource in the returned array. explode: true in: query name: start_index required: false schema: default: 0 format: int32 type: integer style: form - description: Unique identifier of the parent account holder. explode: false in: path name: parent_token required: true schema: type: string style: simple - description: |- Comma-delimited list of fields to return (`field_1,field_2`, and so on). Leave blank to return all fields. explode: true in: query name: fields required: false schema: type: string style: form - description: |- Field on which to sort. Use any field in the resource model, or one of the system fields `lastModifiedTime` or `createdTime`. Prefix the field name with a hyphen (`-`) to sort in descending order. Omit the hyphen to sort in ascending order. explode: true in: query name: sort_by required: false schema: default: -lastModifiedTime type: string style: form responses: '200': content: application/json: example: count: 1 data: - account_holder_group_token: DEFAULT_AHG active: true address1: 123 Main Street city: Oakland country: USA created_time: 2022-08-16T19:46:58Z email: john_smith@company.com first_name: John gender: M identifications: - birth_date: 1986-04-01 type: SSN value: '7777' last_modified_time: 2022-08-16T19:46:58Z last_name: Smith metadata: { } parent_token: my_user_01 password: P@55word phone: '15101111111' postal_code: '94601' state: CA status: ACTIVE token: child_of_parent uses_parent_account: true end_index: 0 is_more: false start_index: 0 schema: $ref: '#/components/schemas/UserCardHolderListResponse' description: Success '400': content: { } description: User input error/Bad request '500': content: { } description: Server error summary: List user child accounts tags: - Users /users/{token}: get: description: |- To retrieve a specific user, send a `GET` request to the `/users/{token}` endpoint. Include the user `token` path parameter to specify the user to return. The `business_token` field is conditionally returned in the response (it cannot be set through the API). You can use this field in conjunction with the `parent_token` field to determine whether the user has a parent or grandparent that is a business: [cols="1,1,1"] |=== | parent_token | business_token | Description | Not populated | Not populated | User does not have a parent. | Populated | Not populated | User's parent is a user. | Populated; matches `business_token` | Populated; matches `parent_token` | User's parent is a business. | Populated; does not match `business_token` | Populated; does not match `parent_token` | User's parent is a user and their grandparent is a business. |=== This endpoint supports <</core-api/field-filtering, field filtering>>. operationId: getUsersToken parameters: - description: Unique identifier of the user resource. explode: false in: path name: token required: true schema: type: string style: simple - description: |- Comma-delimited list of fields to return (`field_1,field_2`, and so on). Leave blank to return all fields. explode: true in: query name: fields required: false schema: type: string style: form responses: '200': content: application/json: example: account_holder_group_token: DEFAULT_AHG active: true address1: 1234 Grove Street birth_date: 1991-01-01 city: Berkeley country: USA created_time: 2022-08-16T19:39:34Z email: jane.doe@company.com first_name: Jane gender: F identifications: - type: SSN value: '5555' last_modified_time: 2022-08-16T19:39:34Z last_name: Doe metadata: authentication_answer1: Cashier authentication_answer2: Trabant authentication_answer3: Blue authentication_question1: What was your first job? authentication_question2: What make was your first car? authentication_question3: What is your favorite color? notification_email: jane.doe@home.com notification_language: spa password: P@ssw0rd phone: '15105551212' postal_code: '94702' state: CA status: ACTIVE token: my_user_01 uses_parent_account: false schema: $ref: '#/components/schemas/user_card_holder_response' description: Success '400': content: { } description: Bad request '404': content: { } description: Cardholder not found '500': content: { } description: Server error summary: Retrieve user tags: - Users put: description: |- To update a specific user resource, send a `PUT` request to the `/users/{token}` endpoint. Include the user `token` path parameter to specify the user to update. To unlink a child user account from a parent account, pass a null value to the `parent_token` field of the child user resource. operationId: putUsersToken parameters: - description: Unique identifier of the user resource you want to update. explode: false in: path name: token required: true schema: type: string style: simple requestBody: content: application/json: example: address1: 4321 Grove Street schema: $ref: '#/components/schemas/UserCardHolderUpdateModel' description: User object required: true responses: '200': content: application/json: example: account_holder_group_token: DEFAULT_AHG active: true address1: 4321 Grove Street corporate_card_holder: false created_time: 2023-01-29T00:12:20Z last_modified_time: 2023-09-23T21:41:24Z metadata: { } status: ACTIVE token: my_user_01 uses_parent_account: false schema: $ref: '#/components/schemas/card_holder_model' description: Success '400': content: { } description: User input error/Bad request '500': content: { } description: Server error summary: Update user tags: - Users /users/{token}/notes: get: operationId: getUsersTokenNotes parameters: - description: User token explode: false in: path name: token required: true schema: type: string style: simple - description: Start index explode: true in: query name: start_index required: false schema: default: 0 format: int32 type: integer style: form - description: Number of notes to retrieve explode: true in: query name: count required: false schema: default: 5 format: int32 type: integer style: form - description: Created by explode: true in: query name: created_by required: false schema: type: string style: form - description: Comma-delimited list of created by user roles explode: true in: query name: created_by_user_role required: false schema: type: string style: form - description: Include private notes and private fields in note response explode: true in: query name: include_private required: false schema: type: boolean style: form - description: Search type explode: true in: query name: search_type required: false schema: type: string style: form - description: Comma-delimited list of fields to return (e.g. field_1,field_2,..). Leave blank to return all fields. explode: true in: query name: fields required: false schema: type: string style: form - description: Sort order explode: true in: query name: sort_by required: false schema: default: -lastModifiedTime type: string style: form responses: '200': content: application/json: schema: $ref: '#/components/schemas/CardHolderNoteListResponse' description: Success '400': content: { } description: Bad request '401': content: { } description: Unauthorized '403': content: { } description: Forbidden '404': content: { } description: Cardholder not found '500': content: { } description: Server error summary: Lists cardholder notes tags: - users post: operationId: postUsersTokenNotes parameters: - description: User token explode: false in: path name: token required: true schema: type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/cardholder_note_request_model' required: false responses: '201': content: application/json: schema: $ref: '#/components/schemas/cardholder_note_response_model' description: Success '400': content: { } description: Bad request '401': content: { } description: Unauthorized '403': content: { } description: Forbidden '500': content: { } description: Server error summary: Creates a note for the cardholder tags: - users /users/{token}/notes/{notes_token}: put: operationId: putUsersTokenNotesNotestoken parameters: - description: User token explode: false in: path name: token required: true schema: type: string style: simple - description: Notes token explode: false in: path name: notes_token required: true schema: type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/cardholder_note_update_request_model' required: false responses: '201': content: application/json: schema: $ref: '#/components/schemas/cardholder_note_response_model' description: Success '400': content: { } description: Bad request '401': content: { } description: Unauthorized '403': content: { } description: Forbidden '500': content: { } description: Server error summary: Updates a specific note for a cardholder tags: - users /users/{token}/ssn: get: description: |- To retrieve the government-issued identification number for a user, send a `GET` request to the `/users/{token}/ssn` endpoint. Include the `token` path parameter to specify the user whose identification number (SSN, TIN, NIN, SIN) you wish to return. You can indicate whether to return the full number or the last four digits only. operationId: getUsersTokenSsn parameters: - description: Unique identifier of the user resource. explode: false in: path name: token required: true schema: type: string style: simple - description: |- To return the full identification number, set to `true`. To return only the last four digits, set to `false`. If the identifications array contains only the last four digits of the identification number, the `/users/{token}/ssn` endpoint will return only the last four digits, regardless of the `full_ssn` parameter. explode: true in: query name: full_ssn required: false schema: type: boolean style: form responses: '200': content: application/json: example: ssn: '5555' schema: $ref: '#/components/schemas/ssn_response_model' description: Success '400': content: { } description: Bad request '500': content: { } description: Server error summary: Retrieve user identification number tags: - Users /usertransitions: post: description: |- This endpoint enables you to change a user's status, depending on your role and the previous status change. By changing a user's status, you can control the user's capabilities and the setting of the `user.active` field. Do not set the value of the `user.active` field directly. [cols="2a,4a,3a"] |=== | The user.status Field | Description | User Limitations | `UNVERIFIED` | Initial status of a new user belonging to an account holder group where KYC is always required. *Allowable Transitions:* + `ACTIVE`, `CLOSED`, `TERMINATED` | Cannot activate cards or load funds. *user.active Field:* + `false` | `LIMITED` | Initial status of a new user belonging to an account holder group where KYC is conditionally required. *Allowable Transitions:* + `ACTIVE`, `SUSPENDED`, `CLOSED` | Restricted by rules in `accountholdergroups.pre_kyc_controls`. *user.active Field:* + `true` | `ACTIVE` | Status of a user who has passed KYC, or initial status of a new user belonging to an account holder group where KYC is never required. *Allowable Transitions:* + `SUSPENDED`, `CLOSED`, `UNVERIFIED` | None. *user.active Field:* + `true` | `SUSPENDED` | The user is temporarily inactive. Transitioning a suspended user to the `ACTIVE` status is restricted, based on your role and the details of the previous status change. *Allowable Transitions:* + `ACTIVE`, `LIMITED`, `UNVERIFIED`, `CLOSED`, `TERMINATED` | Cannot activate cards, load funds, or transact. *user.active Field:* + `false` | `CLOSED` | The user is permanently inactive. In general, the `CLOSED` status should be terminal. For exceptional cases, you can transition a user to other statuses, depending on your role and the details of the previous status change. Contact your Marqeta representative for more information. *Allowable Transitions:* + `ACTIVE`, `LIMITED`, `UNVERIFIED`, `SUSPENDED`, `TERMINATED` | Cannot activate cards, load funds, or transact. *user.active Field:* + `false` | `TERMINATED` | The user account is permanently closed. Use the `TERMINATED` state to comply with regulatory requirements, such as the requirement that a user account be irreversibly closed when it does not pass Know Your Customer (KYC) verification. *NOTE:* `TERMINATED` is a terminal status. You must have the Admin or Program Manager role to transition a user to the `TERMINATED` state. You cannot transition a user from `TERMINATED` to any other state. Contact your Marqeta representative for more information. *Allowable Transitions:* + None | Cannot load funds, activate cards, or transact. *The user.active field:* + `false` |=== [NOTE] The Marqeta platform transitions a user's status in response to certain events. For example, a user in the `UNVERIFIED` status is transitioned to `ACTIVE` when the user passes KYC verification. operationId: postUsertransitions requestBody: content: application/json: example: channel: API reason: Activating user reason_code: '00' status: ACTIVE token: activate_05 user_token: my_user_01 schema: $ref: '#/components/schemas/UserTransitionRequest' required: false responses: '201': content: application/json: example: channel: API created_time: 2023-03-15T00:00:00Z reason: Activating user reason_code: '00' status: ACTIVE token: activate_05 user_token: my_user_01 schema: $ref: '#/components/schemas/UserTransitionResponse' description: Success '400': content: { } description: User input error/Bad request '409': content: { } description: Request already processed with a different payload '412': content: { } description: Pre-condition setup issue '500': content: { } description: Server error summary: Create user transition tags: - User Transitions /usertransitions/user/{user_token}: get: description: List all transitions for a given user. operationId: getUsertransitionsUserUsertoken parameters: - description: Unique identifier of the user resource. explode: false in: path name: user_token required: true schema: type: string style: simple - description: Number of user transitions to retrieve. explode: true in: query name: count required: false schema: default: 5 format: int32 type: integer style: form - description: Sort order index of the first resource in the returned array. explode: true in: query name: start_index required: false schema: default: 0 format: int32 type: integer style: form - description: |- Comma-delimited list of fields to return (`field_1,field_2`, and so on). Leave blank to return all fields. explode: true in: query name: fields required: false schema: type: string style: form - description: |- Field on which to sort. Use any field in the resource model, or one of the system fields `lastModifiedTime` or `createdTime`. Prefix the field name with a hyphen (`-`) to sort in descending order. Omit the hyphen to sort in ascending order. explode: true in: query name: sort_by required: false schema: default: -id type: string style: form responses: '200': content: application/json: example: count: 1 data: - channel: API created_time: 2023-03-15T00:00:00Z reason: Activating user reason_code: '00' status: ACTIVE token: activate_05 user_token: my_user_01 end_index: 0 is_more: false start_index: 0 schema: $ref: '#/components/schemas/UserTransitionListResponse' description: Success '400': content: { } description: Bad request '500': content: { } description: Server error summary: List transitions for user tags: - User Transitions /usertransitions/{token}: get: description: Retrieve a user transition. operationId: getUsertransitionsToken parameters: - description: Unique identifier of the user transition you want to retrieve. explode: false in: path name: token required: true schema: type: string style: simple - description: |- Comma-delimited list of fields to return (`field_1,field_2`, and so on). Leave blank to return all fields. explode: true in: query name: fields required: false schema: type: string style: form responses: '200': content: application/json: example: channel: API created_time: 2023-03-15T00:00:00Z reason: Activating user reason_code: '00' status: ACTIVE token: activate_05 user_token: my_user_01 schema: $ref: '#/components/schemas/UserTransitionResponse' description: Success '400': content: { } description: Bad request '404': content: { } description: Cardholder not found '500': content: { } description: Server error summary: Retrieve user transition tags: - User Transitions /velocitycontrols: get: description: |- Retrieves a list of all the velocity controls associated with a specific user or card product, or lists all the velocity controls defined for your program. Include either a `user` or a `card_product` query parameter to indicate the user or card product whose associated velocity controls you want to retrieve (do not include both). To list all velocity controls for your program, omit the `user` and `card_product` query parameters from your request. This endpoint supports <</core-api/field-filtering, field filtering>> and <</core-api/sorting-and-pagination, pagination>>. operationId: getVelocitycontrols parameters: - description: |- Unique identifier of the card product. Enter the string `null` to retrieve velocity controls that are not associated with any card product. explode: true in: query name: card_product required: false schema: type: string style: form - description: |- Unique identifier of the user. Enter the string `null` to retrieve velocity controls that are not associated with any user. explode: true in: query name: user required: false schema: type: string style: form - description: Number of velocity control resources to retrieve. explode: true in: query name: count required: false schema: default: 5 format: int32 type: integer style: form - description: Sort order index of the first resource in the returned array. explode: true in: query name: start_index required: false schema: default: 0 format: int32 type: integer style: form - description: |- Comma-delimited list of fields to return (`field_1,field_2`, and so on). Leave blank to return all fields. explode: true in: query name: fields required: false schema: type: string style: form - description: |- Field on which to sort. Use any field in the resource model, or one of the system fields `lastModifiedTime` or `createdTime`. Prefix the field name with a hyphen (`-`) to sort in descending order. Omit the hyphen to sort in ascending order. explode: true in: query name: sort_by required: false schema: default: -lastModifiedTime type: string style: form responses: '200': content: application/json: example: count: 1 data: - active: true amount_limit: 500.25 approvals_only: true association: user_token: my_user_04 currency_code: USD include_cashback: true include_credits: false include_purchases: true include_transfers: true include_withdrawals: true merchant_scope: { } token: my_velocitycontrol_01 usage_limit: 10 velocity_window: DAY end_index: 0 is_more: false start_index: 0 schema: $ref: '#/components/schemas/VelocityControlListResponse' description: Success '400': content: { } description: Bad request '500': content: { } description: Server error summary: List velocity controls tags: - Velocity Controls post: description: |- Limits how much and how frequently a user can spend funds. If multiple velocity controls apply to the same user, the user cannot exceed any of the defined spending limits. [TIP] You can create program-level controls in the sandbox environment. However, you must work with your Marqeta representative to create program-level controls in a production environment. operationId: postVelocitycontrols requestBody: content: application/json: example: amount_limit: 500.25 association: user_token: my_user_04 currency_code: USD token: my_velocitycontrol_01 usage_limit: 10 velocity_window: DAY schema: $ref: '#/components/schemas/velocity_control_request' description: Velocity control object required: true responses: '201': content: application/json: example: active: true amount_limit: 500.25 approvals_only: true association: user_token: my_user_04 currency_code: USD include_cashback: true include_credits: false include_purchases: true include_transfers: true include_withdrawals: true merchant_scope: { } token: my_velocitycontrol_01 usage_limit: 10 velocity_window: DAY schema: $ref: '#/components/schemas/velocity_control_response' description: Created '400': content: { } description: Bad request '409': content: { } description: Token already associated with a different payload '500': content: { } description: Server error summary: Create velocity control tags: - Velocity Controls /velocitycontrols/user/{user_token}/available: get: description: |- Retrieves a list of the available balances of the velocity controls associated with a user. This operation is unavailable for velocity controls with a window of `TRANSACTION`, because available balances do not apply to single-transaction velocity windows. Depending on the control, the balance can include an available monetary amount, the number of transactions remaining, and the number of days remaining in the time window. This endpoint supports <</core-api/field-filtering, field filtering>> and <</core-api/sorting-and-pagination, pagination>>. operationId: getVelocitycontrolsUserUsertokenAvailable parameters: - description: Unique identifier of the cardholder. explode: false in: path name: user_token required: true schema: type: string style: simple - description: Number of available balance resources to retrieve. explode: true in: query name: count required: false schema: default: 5 format: int32 type: integer style: form - description: The sort order index of the first resource in the returned array. explode: true in: query name: start_index required: false schema: default: 0 format: int32 type: integer style: form - description: |- Comma-delimited list of fields to return (`field_1,field_2`, and so on). Leave blank to return all fields. explode: true in: query name: fields required: false schema: type: string style: form - description: |- Field on which to sort. Use any field in the resource model, or one of the system fields `lastModifiedTime` or `createdTime`. Prefix the field name with a hyphen (`-`) to sort in descending order. Omit the hyphen to sort in ascending order. explode: true in: query name: sort_by required: false schema: default: -lastModifiedTime type: string style: form responses: '200': content: application/json: example: count: 2 data: - active: true amount_limit: 296.25 approvals_only: true association: { } available: amount: 296.0 days_remaining: 1 uses: 1 currency_code: USD include_cashback: true include_credits: false include_purchases: true include_transfers: true include_withdrawals: true merchant_scope: mcc: '3058' name: Jane Doe token: card_3 usage_limit: 1 velocity_window: DAY - active: true amount_limit: 500.25 approvals_only: true association: { } available: amount: 500.5 days_remaining: 1 uses: 1000 currency_code: '840' include_cashback: true include_credits: false include_purchases: true include_transfers: true include_withdrawals: true merchant_scope: mcc: '1234' token: card_4 usage_limit: 1000 velocity_window: DAY end_index: 1 is_more: false start_index: 0 schema: $ref: '#/components/schemas/VelocityControlBalanceListResponse' description: Success '400': content: { } description: Bad request '500': content: { } description: Server error summary: List user velocity control balances tags: - Velocity Controls /velocitycontrols/{token}: get: description: Retrieves a specific velocity control. operationId: getVelocitycontrolsToken parameters: - description: Unique identifier of the velocity control resource. explode: false in: path name: token required: true schema: type: string style: simple - description: |- Comma-delimited list of fields to return (`field_1,field_2`, and so on). Leave blank to return all fields. explode: true in: query name: fields required: false schema: type: string style: form responses: '200': content: application/json: example: active: true amount_limit: 500.25 approvals_only: true association: user_token: my_user_04 currency_code: USD include_cashback: true include_credits: false include_purchases: true include_transfers: true include_withdrawals: true merchant_scope: { } token: my_velocitycontrol_01 usage_limit: 10 velocity_window: DAY schema: $ref: '#/components/schemas/velocity_control_response' description: Success '400': content: { } description: Bad request '404': content: { } description: Velocity control not found '500': content: { } description: Server error summary: Returns a specific velocity control tags: - Velocity Controls put: description: Updates a specific velocity control. operationId: putVelocitycontrolsToken parameters: - description: Unique identifier of the velocity control resource. explode: false in: path name: token required: true schema: type: string style: simple requestBody: content: application/json: example: amount_limit: 1000.25 token: my_velocitycontrol_01 usage_limit: 20 schema: $ref: '#/components/schemas/velocity_control_update_request' description: Velocity control object required: true responses: '200': content: application/json: example: active: true amount_limit: 1000.25 approvals_only: true association: user_token: my_user_04 currency_code: USD include_cashback: true include_credits: false include_purchases: true include_transfers: true include_withdrawals: true merchant_scope: { } token: my_velocitycontrol_01 usage_limit: 20 velocity_window: DAY schema: $ref: '#/components/schemas/velocity_control_response' description: Success '400': content: { } description: Bad request '500': content: { } description: Server error summary: Update velocity control tags: - Velocity Controls /webhooks: get: description: |- Returns an array of all webhooks. This endpoint supports <</core-api/field-filtering, field filtering>>, <</core-api/sorting-and-pagination, sorting>>, and <</core-api/sorting-and-pagination, pagination>>. operationId: getWebhooks parameters: - description: Set to `true` to return only active webhook configurations. explode: true in: query name: active required: false schema: default: false type: boolean style: form - description: Number of resources to retrieve. explode: true in: query name: count required: false schema: default: 5 format: int32 type: integer style: form - description: Sort order index of the first resource in the returned array. explode: true in: query name: start_index required: false schema: default: 0 format: int32 type: integer style: form - description: |- Comma-delimited list of fields to return (`field_1,field_2`, and so on). Leave blank to return all fields. explode: true in: query name: fields required: false schema: type: string style: form - description: |- Field on which to sort. Use any field in the resource model, or one of the system fields `lastModifiedTime` or `createdTime`. Prefix the field name with a hyphen (`-`) to sort in descending order. Omit the hyphen to sort in ascending order. explode: true in: query name: sort_by required: false schema: default: -createdTime type: string style: form responses: '200': content: application/json: example: count: 1 data: - active: true config: basic_auth_password: my_20-to-50-character_password basic_auth_username: my_username custom_header: my_header_name_1: my_value_1 my_header_name_2: my_value_2 my_header_name_3: my_value_3 secret: my_20-character-min_secret url: https://my_secure_domain.com/webhook created_time: 2023-02-24T23:20:28Z events: - '*' last_modified_time: 2023-02-24T23:20:28Z name: my_webhook_name token: my_webhook_token end_index: 0 is_more: true start_index: 0 schema: $ref: '#/components/schemas/WebhookResponseModelListResponse' description: Success '400': content: { } description: Bad request '500': content: { } description: Server error summary: List webhooks tags: - Webhooks post: description: Creates a webhook. operationId: postWebhooks requestBody: content: application/json: example: active: true config: basic_auth_password: my_20-to-50-character_password basic_auth_username: my_username custom_header: my_header_name_1: my_value_1 my_header_name_2: my_value_2 secret: my_20-character-min_secret url: https://my_secure_domain.com/webhook events: - '*' name: my_webhook_name token: my_webhook_token schema: $ref: '#/components/schemas/webhook_request_model' required: false responses: '201': content: application/json: example: active: true config: basic_auth_password: my_20-to-50-character_password basic_auth_username: my_username custom_header: my_header_name_1: my_value_1 my_header_name_2: my_value_2 secret: my_20-character-min_secret url: https://my_secure_domain.com/webhook created_time: 2023-02-24T23:20:28Z events: - '*' last_modified_time: 2023-02-24T23:20:28Z name: my_webhook_name token: my_webhook_token schema: $ref: '#/components/schemas/webhook_response_model' description: Success '400': content: { } description: User input error/Bad request '409': content: { } description: Request already processed with a different payload '500': content: { } description: Server error summary: Create webhook tags: - Webhooks /webhooks/customheaders/{token}: put: description: Adds or updates a webhook's custom HTTP headers. operationId: putWebhooksCustomHeadersToken parameters: - description: Unique identifier of the webhook. explode: false in: path name: token required: true schema: type: string style: simple requestBody: content: application/json: example: custom_header: my_header_name_1: my_value_1 my_header_name_2: my_value_2 my_header_name_3: my_value_3 schema: $ref: '#/components/schemas/WebhookUpdateCustomHeaderRequest' required: false responses: '200': content: application/json: example: active: true config: basic_auth_password: my_20-to-50-character_password basic_auth_username: my_username custom_header: my_header_name_1: my_value_1 my_header_name_2: my_value_2 my_header_name_3: my_value_3 secret: my_20-character-min_secret url: https://my_secure_domain.com/webhook created_time: 2023-02-06T08:12:32Z events: - transaction.* last_modified_time: 2023-02-26T22:07:23Z name: my_webhook_name token: my_webhook_01 schema: $ref: '#/components/schemas/webhook_response_model' description: Success '400': content: { } description: User input error/Bad request '404': content: { } description: Resource not found '500': content: { } description: Server error summary: Update webhook custom headers tags: - Webhooks /webhooks/{token}: get: description: Retrieves a webhook. operationId: getWebhooksToken parameters: - description: Unique identifier of the webhook. explode: false in: path name: token required: true schema: type: string style: simple responses: '200': content: application/json: schema: $ref: '#/components/schemas/webhook_response_model' description: Success '404': content: { } description: Resource not found '500': content: { } description: Server error summary: Retrieve webhook tags: - Webhooks put: description: |- Updates a webhook. You can also use this endpoint to disable webhooks you no longer want to receive—there is no `DELETE` method available to remove unneeded webhooks. To disable a webhook, use this endpoint to set its `active` field to `false`. For instructions on managing your webhooks via the Developer Dashboard, see the <</developer-guides/developer-tools/#_to_disable_a_webhook, Developer Tools>> guide. operationId: putWebhooksToken parameters: - description: Unique identifier of the webhook. explode: false in: path name: token required: true schema: type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/webhook_base_model' required: false responses: '200': content: application/json: schema: $ref: '#/components/schemas/webhook_response_model' description: Success '400': content: { } description: User input error/Bad request '404': content: { } description: Resource not found '500': content: { } description: Server error summary: Update webhook tags: - Webhooks /webhooks/{token}/ping: post: description: |- Pings your webhook endpoint. Send a ping request to your webhook endpoint to validate credentials and connectivity. Your webhook endpoint must be configured to respond. === Configuring your webhook endpoint When the Marqeta platform receives the ping request, it sends a `POST` request containing the following body to the URL of your webhook endpoint: [#ping-webhook-sample] [source,json] ---- { "pings": [ { "token": "marqeta", "payload": "healthcheck" } ] } ---- To indicate that it is functioning properly, your webhook endpoint must respond with a status code of `200` (see <</developer-guides/signature-verification, Signature Verification>> for a code example that identifies a ping request). The response can optionally include a link:http://www.json.org/[JSON, window="_blank"]-formatted body, for example: [#ping-webhook-sample-2] [source,json] ---- {"my_endpoint_status": "alive"} ---- The Marqeta platform then responds to its requestor by echoing, as-is, the response code and body received from your webhook endpoint. === Using the ping facility To ping a webhook endpoint, send a `POST` request to `/webhooks/{token}/ping` and use the `token` path parameter to specify which webhook you want to reach. Include an empty, link:http://www.json.org/[JSON, window="_blank"]-formatted body in the request, that is: [#ping-webhook-sample-3] [source,json] ---- {} ---- The following chain of actions occurs during the successful execution of a ping operation: . The Marqeta platform receives the ping request (`POST` to `/webhooks/{token}/ping`). . The Marqeta platform sends a request to your webhook endpoint. . Your webhook endpoint responds with a status code of "200" and an optional body. . The Marqeta platform responds to its requestor by echoing, as-is, the response code and body it received from your webhook endpoint. [NOTE] If the customer-hosted endpoint fails to respond within five seconds, the Marqeta platform times out the request and responds with the following message body (where `<optional message>` represents additional details you can choose to include in the response): [#ping-webhook-sample-4] [source,json] ---- { "error_message": "Webhook operation failed " + <optional message>, "error_code": "422600" } ---- Failed pings are not automatically retried. operationId: postWebhooksTokenPing parameters: - description: Unique identifier of the webhook. explode: false in: path name: token required: true schema: type: string style: simple responses: '200': content: application/json: example: pings: - my_endpoint_status: alive schema: $ref: '#/components/schemas/webhook_ping_model' description: Success '400': content: { } description: User input error/Bad request '404': content: { } description: Resource not found '500': content: { } description: Server error summary: Ping webhook tags: - Webhooks /webhooks/{token}/{event_type}/{event_token}: post: description: |- Resends an event notification to your webhook endpoint. Although you send this request as a `POST`, all parameters are passed in the URL and the body is empty. The event notification is resent to your webhook endpoint and is also returned in the response to this request. operationId: postWebhooksTokenEventtypeEventtoken parameters: - description: Unique identifier of the webhook. explode: false in: path name: token required: true schema: type: string style: simple - description: Specifies the type of event you want to resend. explode: false in: path name: event_type required: true schema: enum: - chargebacktransition - digitalwallettokentransition - cardtransition - usertransition - businesstransition - transaction - threedstransition type: string style: simple - description: Unique identifier of the event for which you want to resend a notification. explode: false in: path name: event_token required: true schema: type: string style: simple responses: '200': content: { } description: Success '400': content: { } description: User input error/Bad request '404': content: { } description: Resource not found '500': content: { } description: Server error summary: Resend event notification tags: - Webhooks components: schemas: ACHListResponse: properties: count: description: |- Number of resources to retrieve. This field is returned if there are resources in your returned array. format: int32 type: integer data: description: |- Array of ACH funding source objects. Objects are returned as appropriate to your query. items: $ref: '#/components/schemas/base_ach_response_model' type: array end_index: description: |- Sort order index of the last resource in the returned array. This field is returned if there are resources in your returned array. format: int32 type: integer is_more: default: false description: |- A value of `true` indicates that more unreturned resources exist. A value of `false` indicates that no more unreturned resources exist. This field is returned if there are resources in your returned array. type: boolean start_index: description: |- Sort order index of the first resource in the returned array. This field is returned if there are resources in your returned array. format: int32 type: integer type: object ATCInformationModel: properties: atc_discrepancy_indicator: type: string atc_discrepancy_value: type: number atc_value: type: number type: object AcceptedCountriesListResponse: properties: count: format: int32 type: integer data: items: $ref: '#/components/schemas/accepted_countries_model' type: array end_index: format: int32 type: integer is_more: default: false type: boolean start_index: format: int32 type: integer type: object AccountHolderGroupListResponse: properties: count: format: int32 type: integer data: items: $ref: '#/components/schemas/account_holder_group_response' type: array end_index: format: int32 type: integer is_more: default: false type: boolean start_index: format: int32 type: integer type: object AddressRequestModel: properties: address1: maxLength: 35 minLength: 0 type: string address2: maxLength: 35 minLength: 0 type: string city: maxLength: 35 minLength: 0 type: string country: maxLength: 40 minLength: 0 type: string postal_code: maxLength: 20 minLength: 0 type: string state: maxLength: 35 minLength: 0 type: string zip: maxLength: 20 minLength: 0 type: string type: object AddressResponseModel: properties: address1: maxLength: 35 minLength: 0 type: string address2: maxLength: 35 minLength: 0 type: string city: maxLength: 35 minLength: 0 type: string country: maxLength: 40 minLength: 0 type: string postal_code: maxLength: 20 minLength: 0 type: string state: maxLength: 35 minLength: 0 type: string zip: maxLength: 20 minLength: 0 type: string type: object AndroidPushTokenRequestAddress: description: Specifies the cardholder address. properties: address1: description: Street address of the cardholder. type: string address2: description: |- Additional address information for the cardholder, such as a suite or apartment number. `Suite 600`, for example. type: string city: description: City of the cardholder. type: string country: description: |- Two-character link:https://www.iso.org/iso-3166-country-codes.html[ISO alpha-2 country code, window="_blank"]. `US`, for example. type: string name: description: Name of the cardholder. type: string phone: description: Telephone number of the cardholder. type: string postal_code: description: |- Postal code of the cardholder, such as a United States ZIP code. `94612`, for example. type: string state: description: |- Two-character <</core-api/kyc-verification#_valid_state_provincial_and_territorial_abbreviations, state or province code>>. `CA`, for example. type: string zip: type: string type: object Application: description: Contains client application information. properties: access_code: description: Access code of the client application. type: string assets_url: description: URL of the client application assets. type: string client_api_base_url: description: Base URL of the client API. type: string environment: description: Client application's environment. type: string program: description: Name of the program on the Marqeta platform. type: string program_short_code: description: Short code of the program on the Marqeta platform. type: string token: description: Unique identifier of the `application` object. type: string type: object AuthControlExemptMidsListResponse: properties: count: format: int32 type: integer data: items: $ref: '#/components/schemas/auth_control_exempt_mids_response' type: array end_index: format: int32 type: integer is_more: default: false type: boolean start_index: format: int32 type: integer type: object AuthControlListResponse: properties: count: format: int32 type: integer data: items: $ref: '#/components/schemas/auth_control_response' type: array end_index: format: int32 type: integer is_more: default: false type: boolean start_index: format: int32 type: integer type: object Authentication: description: Contains the cardholder's email address and password information. properties: email_verified: default: false description: Specifies whether the email address has been verified. type: boolean email_verified_time: description: Date and time when the email address was verified. format: date-time type: string last_password_update_channel: description: Specifies the channel through which the password was last changed. enum: - USER_CHANGE - USER_RESET type: string last_password_update_time: description: Date and time when the password was last changed. format: date-time type: string type: object AutoReloadListResponse: properties: count: format: int32 type: integer data: items: $ref: '#/components/schemas/auto_reload_response_model' type: array end_index: format: int32 type: integer is_more: default: false type: boolean start_index: format: int32 type: integer type: object BadRequestError: properties: error_code: enum: - '400' type: string error_message: type: string required: - error_code - error_message type: object BankTransferListResponse: properties: count: format: int32 type: integer data: items: $ref: '#/components/schemas/bank_transfer_response_model' type: array end_index: format: int32 type: integer is_more: default: false type: boolean start_index: format: int32 type: integer type: object BankTransferTransitionListResponse: properties: count: format: int32 type: integer data: items: $ref: '#/components/schemas/bank_transfer_transition_response_model' type: array end_index: format: int32 type: integer is_more: default: false type: boolean start_index: format: int32 type: integer type: object BillPayResponse: properties: amount: type: string biller_token: type: string created_time: type: string delivery_date: type: string last_modified_time: type: string payment_token: type: string payment_type: type: string processing_date: type: string status: type: string user_token: type: string type: object BillingAddress: properties: address: type: string compressed_zip: type: string first_name: type: string last_name: type: string zip: type: string type: object BulkCardOrderListResponse: properties: count: format: int32 type: integer data: items: $ref: '#/components/schemas/bulk_issuance_response' type: array end_index: format: int32 type: integer is_more: default: false type: boolean start_index: format: int32 type: integer type: object BusinessCardHolderListResponse: properties: count: format: int32 type: integer data: items: $ref: '#/components/schemas/business_card_holder_response' type: array end_index: format: int32 type: integer is_more: default: false type: boolean start_index: format: int32 type: integer type: object BusinessTransitionListResponse: properties: count: format: int32 type: integer data: items: $ref: '#/components/schemas/BusinessTransitionResponse' type: array end_index: format: int32 type: integer is_more: default: false type: boolean start_index: format: int32 type: integer type: object BusinessTransitionRequest: properties: business_token: type: string channel: enum: - API - IVR - FRAUD - ADMIN - SYSTEM type: string idempotentHash: type: string reason: maxLength: 255 minLength: 0 type: string reason_code: enum: - '00' - '01' - '02' - '03' - '04' - '05' - '06' - '07' - '08' - '09' - '10' - '11' - '12' - '13' - '14' - '15' - '16' - '17' - '18' - '19' - '20' - '21' - '22' - '23' - '24' - '25' - '26' - '27' - '28' - '29' - '30' - '31' - '32' type: string status: enum: - UNVERIFIED - LIMITED - ACTIVE - SUSPENDED - CLOSED - TERMINATED type: string token: type: string required: - business_token - channel - reason_code - status type: object BusinessTransitionResponse: properties: business_token: type: string channel: enum: - API - IVR - FRAUD - ADMIN - SYSTEM type: string created_time: format: date-time type: string last_modified_time: format: date-time type: string reason: type: string reason_code: enum: - '00' - '01' - '02' - '03' - '04' - '05' - '06' - '07' - '08' - '09' - '10' - '11' - '12' - '13' - '14' - '15' - '16' - '17' - '18' - '19' - '20' - '21' - '22' - '23' - '24' - '25' - '26' - '27' - '28' - '29' - '30' - '31' - '32' type: string status: enum: - UNVERIFIED - LIMITED - ACTIVE - SUSPENDED - CLOSED - TERMINATED type: string token: type: string required: - channel - reason_code - status - token type: object BusinessUserCardHolderListResponse: properties: count: format: int32 type: integer data: items: $ref: '#/components/schemas/user_card_holder_response' type: array end_index: format: int32 type: integer is_more: default: false type: boolean start_index: format: int32 type: integer type: object CardFulfillmentRequest: properties: card_fulfillment_reason: enum: - NEW - LOST_STOLEN - EXPIRED type: string card_personalization: $ref: '#/components/schemas/card_personalization' shipping: $ref: '#/components/schemas/shipping' required: - card_personalization type: object CardFulfillmentResponse: description: Determines physical characteristics of a card and shipment information. properties: card_fulfillment_reason: description: Descriptive reason for the card fulfillment. enum: - NEW - LOST_STOLEN - EXPIRED type: string card_personalization: $ref: '#/components/schemas/card_personalization' shipping: $ref: '#/components/schemas/ShippingInformationResponse' required: - card_personalization type: object CardHolderNoteListResponse: properties: count: format: int32 type: integer data: items: $ref: '#/components/schemas/cardholder_note_response_model' type: array end_index: format: int32 type: integer is_more: default: false type: boolean start_index: format: int32 type: integer type: object CardListResponse: properties: count: format: int32 type: integer data: items: $ref: '#/components/schemas/card_response' type: array end_index: format: int32 type: integer is_more: default: false type: boolean start_index: format: int32 type: integer type: object CardProductListResponse: properties: count: format: int32 type: integer data: items: $ref: '#/components/schemas/card_product_response' type: array end_index: format: int32 type: integer is_more: default: false type: boolean start_index: format: int32 type: integer type: object CardTransitionListResponse: properties: count: format: int32 type: integer data: items: $ref: '#/components/schemas/card_transition_response' type: array end_index: format: int32 type: integer is_more: default: false type: boolean start_index: format: int32 type: integer type: object CardholderAddressListResponse: properties: count: description: |- Number of resources to retrieve. This field is returned if there are resources in your returned array. format: int32 type: integer data: description: |- Array of address objects. Objects are returned as appropriate to your query. items: $ref: '#/components/schemas/CardholderAddressResponse' type: array end_index: description: |- Sort order index of the last resource in the returned array. This field is returned if there are resources in your returned array. format: int32 type: integer is_more: default: false description: |- A value of `true` indicates that more unreturned resources exist. A value of `false` indicates that no more unreturned resources exist. This field is returned if there are resources in your returned array. type: boolean start_index: description: |- Sort order index of the first resource in the returned array. This field is returned if there are resources in your returned array. format: int32 type: integer type: object CardholderAddressResponse: description: Contains information about the billing address of the funding source. properties: active: default: false description: Whether the address is active. type: boolean address_1: description: Street address of the funding source. maxLength: 255 minLength: 0 type: string address_2: description: |- Additional address information for the funding source. This field is returned if it exists in the resource. maxLength: 255 minLength: 0 type: string business_token: description: |- Unique identifier of the business account holder associated with the address. This field is returned if it exists in the resource. maxLength: 36 minLength: 1 type: string city: description: City of the funding source. maxLength: 40 minLength: 0 type: string country: description: Country of the funding source. maxLength: 40 minLength: 1 type: string created_time: description: Date and time when the address was created, in UTC. format: date-time type: string first_name: description: First name of the account holder associated with the funding source. maxLength: 40 minLength: 0 type: string is_default_address: default: false description: Whether this address is the default address used by the funding source. type: boolean last_modified_time: description: |- Date and time when the address was last modified, in UTC. This field is returned if it exists in the resource. format: date-time type: string last_name: description: Last name of the account holder associated with the funding source. maxLength: 40 minLength: 0 type: string phone: description: |- Phone number of the funding source. This field is returned if it exists in the resource. maxLength: 255 minLength: 0 type: string postal_code: description: Postal code of the funding source. maxLength: 10 minLength: 0 type: string state: description: |- Two-character state, province, or territorial abbreviation. For the complete list, see <</core-api/kyc-verification#_valid_state_provincial_and_territorial_abbreviations, Valid state, provincial, and territorial abbreviations>>. maxLength: 2 minLength: 0 type: string token: description: Unique identifier of the `funding_source_address` object. maxLength: 36 minLength: 1 type: string user_token: description: |- Unique identifier of the user account holder associated with the address. This field is returned if it exists in the resource. maxLength: 36 minLength: 1 type: string zip: description: United States ZIP code of the funding source. maxLength: 10 minLength: 0 type: string required: - address_1 - city - country - created_time - first_name - last_modified_time - last_name - postal_code - state - token - zip type: object CashloadsResponseModel: properties: vendor_product_id: type: string type: object ChargebackListResponse: properties: count: format: int32 type: integer data: items: $ref: '#/components/schemas/chargeback_response' type: array end_index: format: int32 type: integer is_more: default: false type: boolean start_index: format: int32 type: integer type: object ChargebackTransitionListResponse: properties: count: format: int32 type: integer data: items: $ref: '#/components/schemas/chargeback_transition_response' type: array end_index: format: int32 type: integer is_more: default: false type: boolean start_index: format: int32 type: integer type: object ChargebackUpdateRequest: properties: reason_code: description: Either 'reason_code' or 'reason_description' is required type: string reason_description: description: Either 'reason_description' or 'reason_code' is required enum: - SERVICE_NOT_PROVIDED_MERCHANDISE_NOT_RECEIVED - CANCELLED_RECURRING_TRANSACTION - NOT_AS_DESCRIBED_OR_DEFECTIVE_MERCHANDISE - FRAUD_MULTIPLE_TRANSACTIONS - FRAUD_TRANSACTION - NO_AUTHORIZATION - LATE_PRESENTMENT - TRANSACTION_NOT_RECOGNIZED - INCORRECT_CURRENCY - INCORRECT_TRANSACTION_CODE - INCORRECT_CURRENCY_OR_TRANSACTION_CODE - INCORRECT_TRANSACTION_AMOUNT - INCORRECT_ACCOUNT_NUMBER - INCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER - NOT_AUTHORIZED_CARD_PRESENT - NOT_AUTHORIZED_CARD_ABSENT - CREDIT_NOT_PROCESSED - NON_RECEIPT_OF_CASH_OR_LOAD_TRANSACTION_VALUE_AT_ATM - DUPLICATE_PROCESSING_OR_PAID_BY_OTHER_MEANS type: string status: enum: - ARBITRATION - CASE_LOST - CASE_WON - INITIATED - NETWORK_REJECTED - PREARBITRATION - PRE_INITIATED - REPRESENTMENT - WITHDRAWN - WRITTEN_OFF_ISSUER - WRITTEN_OFF_PROGRAM type: string type: object ClearingModel: properties: amount: type: number card_acceptor: $ref: '#/components/schemas/card_acceptor_model' force_post: default: false type: boolean is_refund: default: false type: boolean mid: maxLength: 50 minLength: 1 type: string network_fees: items: $ref: '#/components/schemas/network_fee_model' type: array original_transaction_token: maxLength: 36 minLength: 1 type: string webhook: $ref: '#/components/schemas/webhook' required: - amount - original_transaction_token type: object CommandoModeListResponse: properties: count: format: int32 type: integer data: items: $ref: '#/components/schemas/commando_mode_response' type: array end_index: format: int32 type: integer is_more: default: false type: boolean start_index: format: int32 type: integer type: object CommandoModeTransitionListResponse: properties: count: format: int32 type: integer data: items: $ref: '#/components/schemas/commando_mode_transition_response' type: array end_index: format: int32 type: integer is_more: default: false type: boolean start_index: format: int32 type: integer type: object CustomerDueDiligenceRequest: properties: answer: type: string question: type: string token: maxLength: 36 minLength: 1 type: string required: - answer - question type: object CustomerDueDiligenceUpdateRequest: properties: answer: type: string type: object DDARequest: properties: dda: type: string required: - dda type: object DepositAccountUpdateRequest: properties: allow_immediate_credit: default: false type: boolean type: object DepositDepositResponse: description: Contains information about a direct deposit. properties: amount: description: Amount being debited or credited. type: number business_token: description: The unique identifier of the business account holder. type: string company_discretionary_data: description: Company-specific data provided by the direct deposit originator. type: string company_entry_description: description: Company-specific data provided by the direct deposit originator. type: string company_identification: description: Alphanumeric code that identifies the direct deposit originator. type: string company_name: description: Name of the direct deposit originator. type: string created_time: description: Date and time when the direct deposit account was created. format: date-time type: string direct_deposit_account_token: description: The unique identifier of the direct deposit account. type: string individual_identification_number: description: Accounting number by which the recipient is known to the direct deposit originator. type: string individual_name: description: Name of the direct deposit recipient. type: string last_modified_time: description: Date and time when the direct deposit account was last modified. format: date-time type: string settlement_date: description: Date and time when the credit or debit is applied. format: date-time type: string standard_entry_class_code: description: Three-letter code identifying the type of entry. type: string state: description: Current status of the direct deposit record. enum: - PENDING - APPLIED - REVERSED - REJECTED type: string state_reason: description: Explanation for why the direct deposit record is in the current state. type: string state_reason_code: description: Standard code describing the reason for the current state. type: string token: description: The unique identifier of the direct deposit record. type: string type: description: Determines whether funds are being debited from or credited to the account. enum: - CREDIT - DEBIT type: string user_token: description: The unique identifier of the user account holder. type: string type: object DigitalWalletTokenListResponse: properties: count: description: |- Number of resources returned. This field is returned if there are resources in your returned array. format: int32 type: integer data: description: |- Array of digital wallet token resources. Resources are returned as appropriate to your query. items: $ref: '#/components/schemas/digital_wallet_token' type: array end_index: description: |- Sort order index of the last resource in the returned array. This field is returned if there are resources in your returned array. format: int32 type: integer is_more: default: false description: |- A value of `true` indicates that more unreturned resources exist. A value of `false` indicates that no more unreturned resources exist. This field is returned if there are resources in your returned array. type: boolean start_index: description: |- Sort order index of the first resource in the returned array. This field is returned if there are resources in your returned array. format: int32 type: integer type: object DigitalWalletTokenTransitionListResponse: properties: count: description: |- Number of resources returned. This field is returned if there are resources in your returned array. format: int32 type: integer data: description: |- Array of digital wallet token transition resources. Resources are returned as appropriate to your query. items: $ref: '#/components/schemas/digital_wallet_token_transition_response' type: array end_index: description: |- Sort order index of the last resource in the returned array. This field is returned if there are resources in your returned array. format: int32 type: integer is_more: default: false description: |- A value of `true` indicates that more unreturned resources exist. A value of `false` indicates that no more unreturned resources exist. This field is returned if there are resources in your returned array. type: boolean start_index: description: |- Sort order index of the first resource in the returned array. This field is returned if there are resources in your returned array. format: int32 type: integer type: object DigitalWalletTokenization: properties: card_art_id: type: string provisioning_controls: $ref: '#/components/schemas/provisioning_controls' type: object DirectDepositAccountListResponse: properties: count: format: int32 type: integer data: items: $ref: '#/components/schemas/direct_deposit_account_response' type: array end_index: format: int32 type: integer is_more: default: false type: boolean start_index: format: int32 type: integer type: object DirectDepositListResponse: properties: count: format: int32 type: integer data: items: $ref: '#/components/schemas/DirectDepositResponse' type: array end_index: format: int32 type: integer is_more: default: false type: boolean start_index: format: int32 type: integer type: object DirectDepositRequest: properties: account_number: type: string amount: type: number company_discretionary_data: maxLength: 20 minLength: 0 type: string company_entry_description: maxLength: 10 minLength: 0 type: string company_identification: maxLength: 10 minLength: 0 type: string company_name: maxLength: 16 minLength: 0 type: string earlyPayEligible: default: false type: boolean individual_identification_number: maxLength: 22 minLength: 0 type: string individual_name: maxLength: 35 minLength: 0 type: string settlement_date: format: date-time type: string standard_entry_class_code: maxLength: 3 minLength: 0 type: string token: maxLength: 36 minLength: 0 type: string type: enum: - CREDIT - DEBIT type: string required: - account_number - amount - settlement_date - type type: object DirectDepositResponse: properties: amount: type: number business_token: type: string company_discretionary_data: type: string company_entry_description: type: string company_identification: type: string company_name: type: string created_time: format: date-time type: string direct_deposit_account_token: type: string early_direct_deposit: type: string individual_identification_number: type: string individual_name: type: string last_modified_time: format: date-time type: string originator_status_code: type: string settlement_date: format: date-time type: string standard_entry_class_code: type: string state: enum: - PENDING - APPLIED - REVERSED - REJECTED type: string state_reason: type: string state_reason_code: type: string token: type: string trace_number: type: string type: enum: - CREDIT - DEBIT type: string user_token: type: string type: object DirectDepositTransitionListResponse: properties: count: format: int32 type: integer data: items: $ref: '#/components/schemas/DirectDepositTransitionResponse' type: array end_index: format: int32 type: integer is_more: default: false type: boolean start_index: format: int32 type: integer type: object DirectDepositTransitionRequest: properties: channel: enum: - API - SYSTEM - PROD_SUPPORT type: string direct_deposit_token: type: string idempotentHash: type: string reason: maxLength: 255 minLength: 0 type: string reason_code: enum: - R01 - R02 - R03 - R04 - R06 - R08 - R09 - R10 - R11 - R14 - R15 - R16 - R17 - R18 - R20 - R23 - R24 - R29 type: string state: enum: - PENDING - APPLIED - REVERSED - REJECTED type: string token: type: string required: - channel - direct_deposit_token - reason - state type: object DirectDepositTransitionResponse: properties: amount: type: number business_token: type: string channel: enum: - API - IVR - FRAUD - ADMIN - SYSTEM - NETWORK - PROD_SUPPORT - UNSUPPORTED type: string company_discretionary_data: type: string company_entry_description: type: string company_identification: type: string company_name: type: string created_time: format: date-time type: string direct_deposit_account_token: type: string direct_deposit_token: type: string early_direct_deposit: type: string individual_identification_number: type: string individual_name: type: string last_modified_time: format: date-time type: string originator_status_code: type: string reason: type: string reason_code: type: string settlement_date: format: date-time type: string standard_entry_class_code: type: string state: enum: - PENDING - APPLIED - REVERSED - REJECTED type: string token: type: string trace_number: type: string transaction_token: type: string type: type: string user_token: type: string type: object DisputeModel: description: Contains information about a disputed transaction. properties: case_management_identifier: description: The unique identifier of the dispute case. type: string reason: description: The reason for the dispute. type: string type: object ExpirationOffset: properties: min_offset: $ref: '#/components/schemas/MinOffset' unit: description: specify if a value is provided; default is YEARS enum: - YEARS - MONTHS - DAYS - HOURS - MINUTES - SECONDS type: string value: description: specify if unit is provided; default is 4 format: int32 type: integer type: object FeeListResponse: properties: count: description: |- Number of resources to retrieve. This field is returned if there are resources in your returned array. format: int32 type: integer data: description: |- An array of fee objects. Objects are returned as appropriate to your query. items: $ref: '#/components/schemas/fee_response' type: array end_index: description: |- Sort order index of the last resource in the returned array. This field is returned if there are resources in your returned array. format: int32 type: integer is_more: default: false description: |- A value of `true` indicates that more unreturned resources exist. A value of `false` indicates that no more unreturned resources exist. This field is returned if there are resources in your returned array. type: boolean start_index: description: |- Sort order index of the first resource in the returned array. This field is returned if there are resources in your returned array. format: int32 type: integer type: object ForbiddenError: properties: error_code: enum: - '403' type: string error_message: type: string required: - error_code - error_message type: object FraudFeedbackRequest: description: of the fraud object properties: actor: description: This is the party making a call. enum: - UNKNOWN - THIRD_PARTY_FRAUD - CARD_USER_FRAUD type: string amount: type: string is_fraud: type: boolean status: description: This is the value of the status of the fraud. enum: - CONFIRMED - DISPUTED type: string transaction_token: maxLength: 64 minLength: 3 type: string required: - actor - amount - is_fraud - status - transaction_token type: object FraudFeedbackResponse: description: of the fraudfeedback response object properties: message: maxLength: 256 type: string required: - message type: object FulfillmentAddressResponse: description: Specifies a fulfillment shipping or return address. properties: address1: description: |- Number and street of the address. This field is returned if it exists in the resource. maxLength: 255 minLength: 0 type: string address2: description: |- Additional address information. This field is returned if it exists in the resource. maxLength: 255 minLength: 0 type: string city: description: |- City of the address. This field is returned if it exists in the resource. maxLength: 40 minLength: 0 type: string country: description: |- Country of the address. This field is returned if it exists in the resource. maxLength: 40 minLength: 0 type: string first_name: description: |- First name of the addressee. This field is returned if it exists in the resource. maxLength: 40 minLength: 0 type: string last_name: description: |- Last name of the addressee. This field is returned if it exists in the resource. maxLength: 40 minLength: 0 type: string middle_name: description: |- Middle name of the addressee. This field is returned if it exists in the resource. maxLength: 40 minLength: 0 type: string phone: description: |- Telephone number of the addressee. This field is returned if it exists in the resource. maxLength: 20 minLength: 0 type: string postal_code: description: |- Postal code of the address. This field is returned if it exists in the resource. maxLength: 10 minLength: 0 type: string state: description: |- State or province of the address. This field is returned if it exists in the resource. maxLength: 32 minLength: 0 type: string zip: description: |- United States ZIP code of the address. This field is returned if it exists in the resource. maxLength: 10 minLength: 0 type: string type: object FulfillmentRequest: properties: card_personalization: $ref: '#/components/schemas/card_personalization' shipping: $ref: '#/components/schemas/shipping' required: - card_personalization type: object FulfillmentResponse: properties: card_personalization: $ref: '#/components/schemas/card_personalization' shipping: $ref: '#/components/schemas/ShippingInformationResponse' required: - card_personalization type: object FundingAccountListResponse: properties: count: description: |- Number of resources to retrieve. This field is returned if there are resources in your returned array. format: int32 type: integer data: description: |- Array of funding account objects. Objects are returned as appropriate to your query. items: $ref: '#/components/schemas/funding_account_response_model' type: array end_index: description: |- Sort order index of the last resource in the returned array. This field is returned if there are resources in your returned array. format: int32 type: integer is_more: default: false description: |- A value of `true` indicates that more unreturned resources exist. A value of `false` indicates that no more unreturned resources exist. This field is returned if there are resources in your returned array. type: boolean start_index: description: |- Sort order index of the first resource in the returned array. This field is returned if there are resources in your returned array. format: int32 type: integer type: object GPA: properties: reload_amount: exclusiveMinimum: false minimum: 0.01 type: number trigger_amount: exclusiveMinimum: false minimum: 0.01 type: number required: - reload_amount - trigger_amount type: object GPAUnloadListResponse: properties: count: description: |- Number of resources to retrieve. This field is returned if there are resources in your returned array. format: int32 type: integer data: description: |- Array of GPA unload order objects. Objects are returned as appropriate to your query. items: $ref: '#/components/schemas/gpa_returns' type: array end_index: description: |- Sort order index of the last resource in the returned array. This field is returned if there are resources in your returned array. format: int32 type: integer is_more: default: false description: |- A value of `true` indicates that more unreturned resources exist. A value of `false` indicates that no more unreturned resources exist. This field is returned if there are resources in your returned array. type: boolean start_index: description: |- Sort order index of the first resource in the returned array. This field is returned if there are resources in your returned array. format: int32 type: integer type: object IdentificationRequestModel: description: Contains identifications associated with the cardholder. properties: expiration_date: description: Expiration date of the identification, if applicable. type: string type: description: |- Type of identification. *NOTE:* Full Social Security Number (SSN) is required for US-based cardholder KYC verification. Nine digits only, no delimiters. `123456789`, for example. enum: - SSN - TIN - SIN - NIN - PASSPORT_NUMBER - DRIVERS_LICENSE - BUSINESS_NUMBER - BUSINESS_TAX_ID - TAXPAYER_REFERENCE readOnly: true type: string value: description: Number associated with the identification. readOnly: true type: string required: - type type: object IdentificationResponseModel: description: Contains identifications associated with the cardholder. properties: expiration_date: description: Expiration date for the identification, if applicable. readOnly: true type: string type: description: Type of identification. enum: - SSN - TIN - SIN - NIN - PASSPORT_NUMBER - DRIVERS_LICENSE - BUSINESS_NUMBER - BUSINESS_TAX_ID - TAXPAYER_REFERENCE readOnly: true type: string value: description: Number associated with the identification. readOnly: true type: string type: object ImagesCarrier: description: Specifies personalized images that appear on the card carrier. properties: message_1: description: Specifies a custom message that appears on the card carrier. type: string name: description: Specifies a PNG image to display on the card carrier. type: string type: object InternalDigitalWallet: properties: address_verification: $ref: '#/components/schemas/address_verification' card: $ref: '#/components/schemas/internal_card' created_time: format: date-time type: string device: $ref: '#/components/schemas/device' fulfillment_status: type: string id: format: int64 type: integer issuer_eligibility_decision: type: string last_modified_time: format: date-time type: string response: $ref: '#/components/schemas/response' state: type: string state_reason: type: string token: type: string token_service_provider: $ref: '#/components/schemas/token_service_provider' wallet_provider_profile: $ref: '#/components/schemas/wallet_provider_profile' type: object InternalGPAOrder: properties: amount: type: number created_time: format: date-time type: string currency: type: string fundingSource: $ref: '#/components/schemas/internal_funding_source' last_modified_time: format: date-time type: string memo: type: string orderState: enum: - PENDING - REVERSED - CLEARED - COMPLETION - DECLINED - ERROR type: string orderType: type: string originalOrderId: type: string responseCode: type: string responseMemo: type: string tags: type: string token: type: string required: - amount - token type: object InternalGatewayLog: properties: amount: type: number apiDuration: format: int64 type: integer funding_source: $ref: '#/components/schemas/internal_funding_source' gatewayDuration: format: int64 type: integer gatewayMerchant: $ref: '#/components/schemas/InternalGatewayMerchant' gatewayRequestMethod: type: string gatewayResponseMessage: type: string gatewayTransactionId: type: string gatewayVersion: type: string internalUser: $ref: '#/components/schemas/internal_user' memo: type: string network_metadata: $ref: '#/components/schemas/network_metadata' orderId: type: string requestMethod: type: string responseCode: type: string responseMessage: type: string responseReasonCode: type: string responseStatus: type: string responseSubCode: type: string required: - funding_source type: object InternalGatewayMerchant: properties: id: format: int64 type: integer token: type: string required: - id - token type: object InternalServerError: properties: error_code: enum: - '500' type: string error_message: type: string required: - error_code - error_message type: object InternalTransactionResponse: properties: response: $ref: '#/components/schemas/response' type: object KYCListResponse: properties: count: description: |- Number of resources in the returned array. This field is returned if there are resources in your returned array. format: int32 type: integer data: description: |- Array of KYC verification response objects. Objects are returned as appropriate to your query. items: $ref: '#/components/schemas/kyc_response' type: array end_index: description: |- Sort order index of the last resource in the returned array. This field is returned if there are resources in your returned array. format: int32 type: integer is_more: default: false description: |- A value of `true` indicates that more unreturned resources exist. A value of `false` indicates that no more unreturned resources exist. This field is returned if there are resources in your returned array. type: boolean start_index: description: |- Sort order index of the first resource in the returned array. This field is returned if there are resources in your returned array. format: int32 type: integer type: object LinkedAccountBalanceResponse: properties: account_balance: type: number available_balance: type: number balance_iso_currency_code: type: string created_time: format: date-time type: string last_modified_time: format: date-time type: string processor_token: type: string type: object MCCGroupListResponse: properties: count: description: |- The number of resources to retrieve. This field is returned if there are resources in your returned array. format: int32 type: integer data: description: |- An array of MCC group objects. Objects are returned as appropriate to your query. items: $ref: '#/components/schemas/mcc_group_model' type: array end_index: description: |- The sort order index of the last resource in the returned array. This field is returned if there are resources in your returned array. format: int32 type: integer is_more: default: false description: |- A value of `true` indicates that more unreturned resources exist. A value of `false` indicates that no more unreturned resources exist. This field is returned if there are resources in your returned array. type: boolean start_index: description: |- The sort order index of the first resource in the returned array. This field is returned if there are resources in your returned array. format: int32 type: integer type: object MSA: properties: campaign_token: type: string reload_amount: exclusiveMinimum: false minimum: 0.01 type: number trigger_amount: exclusiveMinimum: false minimum: 0.01 type: number required: - campaign_token - reload_amount - trigger_amount type: object MerchantGroupListResponse: properties: count: description: |- Number of resources retrieved. This field is returned if there are resources in your returned array. format: int32 type: integer data: description: |- Array of merchant group resources. Resources are returned as appropriate to your query. items: $ref: '#/components/schemas/merchant_group_response' type: array end_index: description: |- The sort order index of the last resource in the returned array. This field is returned if there are resources in your returned array. format: int32 type: integer is_more: default: false description: |- A value of `true` indicates that more unreturned resources exist. A value of `false` indicates that no more unreturned resources exist. This field is returned if there are resources in your returned array. type: boolean start_index: description: |- Sort order index of the last resource in the returned array. This field is returned if there are resources in your returned array. format: int32 type: integer type: object MerchantModel: properties: active: default: true type: boolean address1: maxLength: 255 minLength: 0 type: string address2: maxLength: 255 minLength: 0 type: string city: maxLength: 40 minLength: 0 type: string contact: maxLength: 40 minLength: 0 type: string contact_email: maxLength: 40 minLength: 0 type: string country: maxLength: 40 minLength: 0 type: string latitude: format: float type: number longitude: format: float type: number name: maxLength: 40 minLength: 0 type: string partial_auth_flag: default: true type: boolean phone: maxLength: 10 minLength: 0 type: string province: maxLength: 20 minLength: 0 type: string state: maxLength: 2 minLength: 0 type: string token: description: The unique identifier of the merchant maxLength: 36 minLength: 1 type: string zip: maxLength: 10 minLength: 0 type: string required: - name type: object MerchantUpdateModel: properties: active: default: true type: boolean address1: maxLength: 255 minLength: 0 type: string address2: maxLength: 255 minLength: 0 type: string city: maxLength: 40 minLength: 0 type: string contact: maxLength: 40 minLength: 0 type: string contact_email: maxLength: 40 minLength: 0 type: string country: maxLength: 40 minLength: 0 type: string latitude: format: float type: number longitude: format: float type: number name: maxLength: 40 minLength: 0 type: string partial_auth_flag: default: true description: 1 char max type: boolean phone: maxLength: 40 minLength: 0 type: string province: maxLength: 20 minLength: 0 type: string state: maxLength: 255 minLength: 0 type: string zip: maxLength: 10 minLength: 0 type: string type: object MinOffset: properties: unit: description: specify if a value is provided; default is expiration_offset.unit enum: - YEARS - MONTHS - DAYS - HOURS - MINUTES - SECONDS type: string value: description: specify if unit is provided; default is expiration_offset.value format: int32 type: integer type: object OfferUpdateModel: properties: active: default: true type: boolean end_date: description: yyyy-MM-ddThh:mm:ssZ type: string name: description: 255 char max type: string start_date: description: yyyy-MM-ddThh:mm:ssZ type: string type: object OrderScope: properties: gpa: $ref: '#/components/schemas/GPA' msa: $ref: '#/components/schemas/MSA' type: object PTCAddress: properties: city: maxLength: 40 minLength: 1 type: string country: maxLength: 3 minLength: 3 type: string county: maxLength: 3 minLength: 3 type: string line1: maxLength: 255 minLength: 1 type: string line2: maxLength: 255 minLength: 0 type: string postal_code: type: string state: type: string required: - city - county - line1 - postal_code - state type: object PTCPhone: properties: country_code: type: string number: maxLength: 14 minLength: 4 type: string required: - number type: object PTCSoftDescriptor: properties: address: $ref: '#/components/schemas/PTCAddress' email: type: string name: maxLength: 50 minLength: 0 type: string phone: $ref: '#/components/schemas/PTCPhone' required: - address - name type: object PrimaryContactInfoModel: properties: department: maxLength: 255 minLength: 0 type: string email: maxLength: 255 minLength: 0 type: string extension: maxLength: 255 minLength: 0 type: string fax: maxLength: 255 minLength: 0 type: string full_name: maxLength: 255 minLength: 0 type: string mobile: maxLength: 255 minLength: 0 type: string phone: maxLength: 255 minLength: 0 type: string title: maxLength: 255 minLength: 0 type: string type: object ProgramReserveTransactionListResponse: properties: count: description: |- Number of resources to retrieve. This field is returned if there are resources in your returned array. format: int32 type: integer data: description: |- List of program reserve transactions. Objects are returned as appropriate to your query. items: $ref: '#/components/schemas/program_reserve_transaction_response' type: array end_index: description: |- Sort order index of the last resource in the returned array. This field is returned if there are resources in your returned array. format: int32 type: integer is_more: default: false description: |- A value of `true` indicates that more unreturned resources exist. A value of `false` indicates that no more unreturned resources exist. This field is returned if there are resources in your returned array. type: boolean start_index: description: |- Sort order index of the first resource in the returned array. This field is returned if there are resources in your returned array. format: int32 type: integer type: object ProgramTransferListResponse: properties: count: description: |- Number of program transfer resources to retrieve. This field is returned if there are resources in your returned array. format: int32 type: integer data: description: |- Array of program transfer objects. Objects are returned as appropriate to your query. items: $ref: '#/components/schemas/program_transfer_response' type: array end_index: description: |- Sort order index of the last resource in the returned array. This field is returned if there are resources in your returned array. format: int32 type: integer is_more: default: false description: |- A value of `true` indicates that more unreturned resources exist. A value of `false` indicates that no more unreturned resources exist. This field is returned if there are resources in your returned array. type: boolean start_index: description: |- Sort order index of the first resource in the returned array. This field is returned if there are resources in your returned array. format: int32 type: integer type: object ProgramTransferTypeListResponse: properties: count: description: |- Number of program transfer resources to retrieve. This field is returned if there are resources in your returned array. format: int32 type: integer data: description: |- Array of program transfer types. Objects are returned as appropriate to your query. items: $ref: '#/components/schemas/program_transfer_type_response' type: array end_index: description: |- Sort order index of the last resource in the returned array. This field is returned if there are resources in your returned array. format: int32 type: integer is_more: default: false description: |- A value of `true` indicates that more unreturned resources exist. A value of `false` indicates that no more unreturned resources exist. This field is returned if there are resources in your returned array. type: boolean start_index: description: |- Sort order index of the first resource in the returned array. This field is returned if there are resources in your returned array. format: int32 type: integer type: object PushToCardDisburseListResponse: properties: count: format: int32 type: integer data: items: $ref: '#/components/schemas/push_to_card_disbursement_response' type: array end_index: format: int32 type: integer is_more: default: false type: boolean start_index: format: int32 type: integer type: object PushToCardListResponse: properties: count: format: int32 type: integer data: items: $ref: '#/components/schemas/push_to_card_response' type: array end_index: format: int32 type: integer is_more: default: false type: boolean start_index: format: int32 type: integer type: object RealTimeFeeGroupListResponse: properties: count: description: |- Number of resources to retrieve. This field is returned if there are resources in your returned array. format: int32 type: integer data: description: |- Array of real time fee group objects. Objects are returned as appropriate to your query. items: $ref: '#/components/schemas/real_time_fee_group' type: array end_index: description: |- Sort order index of the last resource in the returned array. This field is returned if there are resources in your returned array. format: int32 type: integer is_more: default: false description: |- A value of `true` indicates that more unreturned resources exist. A value of `false` indicates that no more unreturned resources exist. This field is returned if there are resources in your returned array. type: boolean start_index: description: |- Sort order index of the first resource in the returned array. This field is returned if there are resources in your returned array. format: int32 type: integer type: object ReversalModel: properties: amount: type: number find_original_window_days: format: int32 type: integer is_advice: default: false type: boolean network_fees: items: $ref: '#/components/schemas/network_fee_model' type: array original_transaction_token: maxLength: 36 minLength: 1 type: string webhook: $ref: '#/components/schemas/webhook' required: - amount - original_transaction_token type: object ShippingInformationResponse: description: |- Specifies shipping details for the order. This object is returned if it exists in the resource. properties: care_of_line: description: |- Specifies the value of the care of (C/O) line on the mailing carrier. This field is returned if it exists in the resource. type: string method: description: |- Specifies the shipping service. This field is returned if it exists in the resource. enum: - LOCAL_MAIL - LOCAL_MAIL_PACKAGE - GROUND - TWO_DAY - OVERNIGHT - INTERNATIONAL - INTERNATIONAL_PRIORITY - LOCAL_PRIORITY - FEDEX_EXPEDITED - FEDEX_REGULAR - UPS_EXPEDITED - UPS_REGULAR - USPS_EXPEDITED - USPS_REGULAR type: string recipient_address: $ref: '#/components/schemas/FulfillmentAddressResponse' return_address: $ref: '#/components/schemas/FulfillmentAddressResponse' type: object Special: properties: merchant_on_boarding: default: false type: boolean type: object TransactionModelListResponse: properties: count: description: |- The number of resources to retrieve. This field is returned if there are resources in your returned array. format: int32 type: integer data: description: |- An array of transaction objects. See the <</core-api/transactions/#transaction_model, Transaction object>> description at the top of this page. Objects are returned as appropriate to your query. items: $ref: '#/components/schemas/transaction_model' type: array end_index: description: |- The sort order index of the last resource in the returned array. This field is returned if there are resources in your returned array. format: int32 type: integer is_more: default: false description: |- A value of `true` indicates that more unreturned resources exist. A value of `false` indicates that no more unreturned resources exist. This field is returned if there are resources in your returned array. type: boolean start_index: description: |- The sort order index of the first resource in the returned array. This field is returned if there are resources in your returned array. format: int32 type: integer type: object UnauthorizedError: properties: error_code: enum: - '401' type: string error_message: type: string required: - error_code - error_message type: object UserCardHolderListResponse: properties: count: description: |- Number of resources to retrieve. This field is returned if there are resources in your returned array. format: int32 type: integer data: description: |- Array of user objects. Objects are returned as appropriate to your query. items: $ref: '#/components/schemas/card_holder_model' type: array end_index: description: |- Sort order index of the first resource in the returned array. This field is returned if there are resources in your returned array. format: int32 type: integer is_more: default: false description: |- A value of `true` indicates that more unreturned resources exist. A value of `false` indicates that no more unreturned resources exist. This field is returned if there are resources in your returned array. type: boolean start_index: description: |- Sort order index of the first resource in the returned array. This field is returned if there are resources in your returned array. format: int32 type: integer type: object UserCardHolderUpdateModel: properties: account_holder_group_token: description: |- Associates the specified account holder group with the cardholder. Send a `GET` request to `/accountholdergroups` to retrieve account holder group tokens. maxLength: 36 minLength: 0 type: string address1: description: |- Cardholder address. *NOTE:* Required for KYC verification (US-based cardholders only). Cannot perform KYC if set to a PO Box. maxLength: 255 minLength: 0 type: string address2: description: |- Additional address information for the cardholder. *NOTE:* Cannot perform KYC if set to a PO Box. maxLength: 255 minLength: 0 type: string birth_date: description: |- Cardholder date of birth. *NOTE:* Required for KYC verification (US-based cardholders only). type: string city: description: |- The city that corresponds to the address. *NOTE:* Required for KYC verification (US-based cardholders only). maxLength: 40 minLength: 0 type: string company: description: Company name. maxLength: 255 minLength: 0 type: string corporate_card_holder: default: false description: Specifies if the cardholder holds a corporate card. type: boolean country: description: |- Country in which the cardholder resides. *NOTE:* Required for KYC verification (US-based cardholders only). maxLength: 40 minLength: 0 type: string email: description: |- Valid email address for the cardholder. This value must be unique among cardholders. maxLength: 255 minLength: 1 type: string first_name: description: |- Cardholder first name. *NOTE:* Required for KYC verification (US-based cardholders only). maxLength: 40 minLength: 0 type: string gender: description: Gender of the cardholder. enum: - F - M maxLength: 1 minLength: 0 type: string honorific: description: 'Cardholder title or prefix: Ms., Mr., Miss, Mrs.' maxLength: 10 minLength: 0 type: string id_card_expiration_date: description: Expiration date of the cardholder's identification card. type: string id_card_number: description: Cardholder's identification card number. maxLength: 255 minLength: 0 type: string identifications: description: One or more objects containing identifications associated with the cardholder. items: $ref: '#/components/schemas/IdentificationRequestModel' type: array ip_address: description: Cardholder IP address. maxLength: 39 minLength: 0 type: string last_name: description: |- Cardholder last name. *NOTE:* Required for KYC verification (US-based cardholders only). maxLength: 40 minLength: 0 type: string metadata: additionalProperties: type: string description: Associates any additional metadata you provide with the cardholder. type: object middle_name: description: Cardholder middle name. maxLength: 40 minLength: 0 type: string nationality: description: Cardholder nationality. maxLength: 255 minLength: 0 type: string notes: description: Any additional information pertaining to the cardholder. maxLength: 255 minLength: 0 type: string parent_token: description: |- Unique identifier of an existing user or business resource. Required if `uses_parent_account = true`. This account holder is configured as the parent of the current cardholder. To unlink a child account from a parent account, update this field to a null value. maxLength: 36 minLength: 1 type: string passport_expiration_date: description: Expiration date of the cardholder's passport. type: string passport_number: description: Cardholder passport number. maxLength: 40 minLength: 0 type: string password: description: Cardholder's user account password on the Marqeta platform. maxLength: 255 minLength: 0 type: string phone: description: |- Cardholder telephone number (including area code), prepended by the `+` symbol and the 1- to 3-digit country calling code. Do not include hyphens, spaces, or parentheses. maxLength: 255 minLength: 0 type: string postal_code: description: |- Postal code of the cardholder's address. *NOTE:* Required for KYC verification (US-based cardholders only). maxLength: 10 minLength: 0 type: string ssn: description: Cardholder's Social Security Number (SSN). type: string state: description: |- State where the cardholder resides. *NOTE:* <</core-api/kyc-verification#_valid_state_provincial_and_territorial_abbreviations, Valid two-character abbreviation>> required for KYC verification (US-based cardholders only). maxLength: 32 minLength: 0 type: string token: description: Unique identifier of the cardholder. maxLength: 36 minLength: 1 type: string uses_parent_account: default: false description: |- Indicates whether the child shares balances with the parent (`true`), or the child's balances are independent of the parent (`false`). If set to `true`, you must also include a `parent_token` in the request. This value cannot be updated. type: boolean type: object UserTransitionListResponse: properties: count: description: |- Number of resources retrieved. This field is returned if there are resources in your returned array. format: int32 type: integer data: description: |- Array of user transition resources. Resources are returned as appropriate to your query. items: $ref: '#/components/schemas/UserTransitionResponse' type: array end_index: description: |- Sort order index of the last resource in the returned array. This field is returned if there are resources in your returned array. format: int32 type: integer is_more: default: false description: |- A value of `true` indicates that more unreturned resources exist. A value of `false` indicates that no more unreturned resources exist. This field is returned if there are resources in your returned array. type: boolean start_index: description: |- Sort order index of the first resource in the returned array. This field is returned if there are resources in your returned array. format: int32 type: integer type: object UserTransitionRequest: properties: channel: description: Mechanism by which the transaction was initiated. enum: - API - IVR - FRAUD - ADMIN - SYSTEM type: string idempotentHash: description: Unique hashed value that identifies subsequent submissions of the user transition request. type: string reason: description: Additional information about the status change. maxLength: 255 minLength: 0 type: string reason_code: description: |- Identifies the standardized reason for the transition: *00:* Object activated for the first time. *01:* Requested by you. *02:* Inactivity over time. *03:* This address cannot accept mail or the addressee is unknown. *04:* Negative account balance. *05:* Account under review. *06:* Suspicious activity was identified. *07:* Activity outside the program parameters was identified. *08:* Confirmed fraud was identified. *09:* Matched with an Office of Foreign Assets Control list. *10:* Card was reported lost. *11:* Card information was cloned. *12:* Account or card information was compromised. *13:* Temporary status change while on hold/leave. *14:* Initiated by Marqeta. *15:* Initiated by issuer. *16:* Card expired. *17:* Failed KYC. *18:* Changed to `ACTIVE` because information was properly validated. *19:* Changed to `ACTIVE` because account activity was properly validated. *20:* Change occurred prior to the normalization of reason codes. *21:* Initiated by a third party, often a digital wallet provider. *22:* PIN retry limit reached. *23:* Card was reported stolen. *24:* Address issue. *25:* Name issue. *26:* SSN issue. *27:* DOB issue. *28:* Email issue. *29:* Phone issue. *30:* Account/fulfillment mismatch. *31:* Other reason. enum: - '00' - '01' - '02' - '03' - '04' - '05' - '06' - '07' - '08' - '09' - '10' - '11' - '12' - '13' - '14' - '15' - '16' - '17' - '18' - '19' - '20' - '21' - '22' - '23' - '24' - '25' - '26' - '27' - '28' - '29' - '30' - '31' - '32' type: string status: description: Specifies the new status of the user. enum: - UNVERIFIED - LIMITED - ACTIVE - SUSPENDED - CLOSED - TERMINATED type: string token: description: |- Unique identifier of the user transition. If you do not include a token, the system generates one automatically. This token is referenced in other API calls, so we recommend that you define a simple string that is easy to remember. This value cannot be updated. type: string user_token: description: Unique identifier of the user whose status you want to transition. type: string required: - channel - reason_code - status - user_token type: object UserTransitionResponse: properties: channel: description: Mechanism by which the transaction was initiated. enum: - API - IVR - FRAUD - ADMIN - SYSTEM type: string created_time: description: Date and time when the resource was created, in UTC. format: date-time type: string last_modified_time: description: Date and time when the resource was last modified, in UTC. format: date-time type: string reason: description: Additional information about the status change. type: string reason_code: description: |- Identifies the standardized reason for the transition: *00:* Object activated for the first time. *01:* Requested by you. *02:* Inactivity over time. *03:* This address cannot accept mail or the addressee is unknown. *04:* Negative account balance. *05:* Account under review. *06:* Suspicious activity was identified. *07:* Activity outside the program parameters was identified. *08:* Confirmed fraud was identified. *09:* Matched with an Office of Foreign Assets Control list. *10:* Card was reported lost. *11:* Card information was cloned. *12:* Account or card information was compromised. *13:* Temporary status change while on hold/leave. *14:* Initiated by Marqeta. *15:* Initiated by issuer. *16:* Card expired. *17:* Failed KYC. *18:* Changed to `ACTIVE` because information was properly validated. *19:* Changed to `ACTIVE` because account activity was properly validated. *20:* Change occurred prior to the normalization of reason codes. *21:* Initiated by a third party, often a digital wallet provider. *22:* PIN retry limit reached. *23:* Card was reported stolen. *24:* Address issue. *25:* Name issue. *26:* SSN issue. *27:* DOB issue. *28:* Email issue. *29:* Phone issue. *30:* Account/fulfillment mismatch. *31:* Other reason. enum: - '00' - '01' - '02' - '03' - '04' - '05' - '06' - '07' - '08' - '09' - '10' - '11' - '12' - '13' - '14' - '15' - '16' - '17' - '18' - '19' - '20' - '21' - '22' - '23' - '24' - '25' - '26' - '27' - '28' - '29' - '30' - '31' - '32' type: string status: description: Specifies the new status of the user. enum: - UNVERIFIED - LIMITED - ACTIVE - SUSPENDED - CLOSED - TERMINATED type: string token: description: Unique identifier of the user transition. type: string user_token: description: Unique identifier of the user whose status was transitioned. type: string required: - channel - reason_code - status - token type: object UserValidationRequest: properties: birth_date: description: yyyy-MM-dd format: date-time type: string phone: description: 'Phone #' maxLength: 255 minLength: 0 type: string random_name_line1_postfix: description: Six-char random name postfix maxLength: 6 minLength: 6 type: string ssn: description: Last four digits of SSN maxLength: 255 minLength: 0 type: string type: object UserValidationResponse: properties: birth_date: default: false description: yyyy-MM-dd type: boolean phone: default: false description: 10 char max, phone number type: boolean random_name_line1_postfix: default: false description: Six-char random name postfix type: boolean ssn: default: false description: Last four digits of SSN type: boolean required: - birth_date - phone - random_name_line1_postfix - ssn type: object ValidationsRequest: properties: user: $ref: '#/components/schemas/UserValidationRequest' type: object ValidationsResponse: properties: user: $ref: '#/components/schemas/UserValidationResponse' required: - user type: object VelocityCache: properties: cardHolderId: format: int64 type: integer createdTime: format: date-time type: string lastModifiedTime: format: date-time type: string maxId: format: int64 type: integer usageCount: format: int32 type: integer usedAmount: type: number vcSignature: type: string velocityControlId: format: int64 type: integer windowStartTime: format: date-time type: string type: object VelocityControlBalanceListResponse: properties: count: description: |- Number of velocity control resources retrieved. This field is returned if there are resources in your returned array. format: int32 type: integer data: description: |- Array of velocity control objects that include available balances. Objects are returned as appropriate to your query. items: $ref: '#/components/schemas/velocity_control_balance_response' type: array end_index: description: |- Sort order index of the last resource in the returned array. This field is returned if there are resources in your returned array. format: int32 type: integer is_more: default: false description: |- A value of `true` indicates that more unreturned resources exist. A value of `false` indicates that no more unreturned resources exist. This field is returned if there are resources in your returned array. type: boolean start_index: description: |- Sort order index of the last resource in the returned array. This field is returned if there are resources in your returned array. format: int32 type: integer type: object VelocityControlListResponse: properties: count: description: |- Number of resources retrieved. This field is returned if there are resources in your returned array. format: int32 type: integer data: description: |- Array of velocity control objects. Objects are returned as appropriate to your query. items: $ref: '#/components/schemas/velocity_control_response' type: array end_index: description: |- Sort order index of the last resource in the returned array. This field is returned if there are resources in your returned array. format: int32 type: integer is_more: default: false description: |- A value of `true` indicates that more unreturned resources exist. A value of `false` indicates that no more unreturned resources exist. This field is returned if there are resources in your returned array. type: boolean start_index: description: |- The sort order index of the last resource in the returned array. This field is returned if there are resources in your returned array. format: int32 type: integer type: object WebhookResponseModelListResponse: properties: count: description: |- Number of resources to retrieve. This field is returned if there are resources in your returned array. format: int32 type: integer data: description: |- Array of webhooks resources. Resources are returned as appropriate to your query. items: $ref: '#/components/schemas/webhook_response_model' type: array end_index: description: |- Sort order index of the last resource in the returned array. This field is returned if there are resources in your returned array. format: int32 type: integer is_more: default: false description: |- A value of `true` indicates that more unreturned resources exist. A value of `false` indicates that no more unreturned resources exist. This field is returned if there are resources in your returned array. type: boolean start_index: description: |- Sort order index of the first resource in the returned array. This field is returned if there are resources in your returned array. format: int32 type: integer type: object WebhookUpdateCustomHeaderRequest: properties: custom_header: additionalProperties: type: string description: |- Additional custom information included in the HTTP header. For example, this might contain security information, along with Basic Authentication, when making a JIT Funding request. type: object type: object accepted_countries_model: properties: country_codes: items: type: string type: array created_time: format: date-time type: string is_whitelist: default: false type: boolean last_modified_time: format: date-time type: string name: type: string token: maxLength: 36 minLength: 1 type: string required: - country_codes - is_whitelist - name type: object access_token_response: description: Contains a cardholder's login access information. properties: accesstoken_id: type: string application: $ref: '#/components/schemas/Application' expires: description: Date and time when the access token expires. format: date-time type: string master_roles: description: Array of master roles. items: type: string type: array one_time: description: Indicates whether the access token is a single-use token. type: boolean token: description: Unique identifier of the access token. type: string token_type: description: Specifies the type of access token. type: string user_token: description: Unique identifier of the user resource. type: string required: - expires type: object account: description: Contains information related to the cardholder and provided by the digital wallet provider. properties: email_address: description: Digital wallet provider's email address for the cardholder. type: string id: description: Digital wallet provider's identity number for the cardholder. type: string score: description: Score from the digital wallet provider. type: string type: object account_funding: description: |- Contains details about account funding transactions. Account funding transactions move money into a cardholder's general purpose account (GPA). properties: funding_source: description: Specifies the type of account from which the transaction was funded. enum: - CREDIT - DEBIT - PREPAID - DEPOSIT_ACCOUNT - CASH - MOBILE_MONEY_ACCOUNT - NON_VISA_CREDIT - CHECK - ACH type: string receiver_account_type: description: Specifies the type of account receiving the funding. enum: - OTHER - RTN_BANK_ACCOUNT - IBAN - CARD_ACCOUNT - EMAIL - PHONE_NUMBER - BANK_ACCOUNT_NUMBER_AND_BANK_IDENTIFICATION_CODE - WALLET_ID - SOCIAL_NETWORK_ID type: string receiver_name: description: Specifies the name of the account holder receiving the funding. type: string screening_score: description: |- Sanctions screening score to assist with meeting Anti-Money Laundering (AML) obligations. Higher scores indicate that the sender's data more closely resembles an entry on the regulatory watchlist. A value of 999 means no score was available. type: string sender_account_number: description: Account number of the sender funding the transaction. type: string sender_address: description: Street address of the sender funding the transaction. type: string sender_city: description: City of the sender funding the transaction. type: string sender_country: description: Country of the sender funding the transaction. type: string sender_name: description: Name of the sender funding the transaction. type: string sender_state: description: State or province of the sender funding the transaction. type: string transaction_purpose: description: Describes the purpose of the account funding transaction. type: string transaction_type: description: Specifies the account funding transaction type. enum: - ACCOUNT_TO_ACCOUNT - PERSON_TO_PERSON - WALLET_TRANSFER - MONEY_TRANSFER_BY_BANK - BUSINESS_TO_BUSINESS - DISBURSEMENT - GOVERNMENT_DISBURSEMENT - GAMBLING_PAYOUT - LOYALTY - MERCHANT_DISBURSEMENT - ONLINE_GAMBLING_PAYOUT - PENSION_DISBURSEMENT - PREPAID_LOADS - CARD_BILL_PAYMENT - BILL_PAYMENT - CASH_CLAIM - CASH_IN - CASH_OUT - MOBILE_AIR_TIME_PAYMENT - MONEY_TRANSFER_BY_MERCHANT - FACE_TO_FACE_MERCHANT_PAYMENT - GOVERNMENT_PAYMENT - PAYMENTS_GOODS_SERVICES - FUNDS_TRANSFER - GENERAL_BUSINESS_TO_BUSINESS_TRANSFER - BUSINESS_TO_BUSINESS_TRANSFER - CASH_DEPOSIT - PURCHASE_REPAYMENT - AFT_OR_OCT_ELIGIBILITY - CONSUMER_BILL_PAYMENT - REQUEST_TO_PAY - LIQUID_ASSET - FAST_REFUND type: string type: object account_holder_group_config: properties: is_reloadable: default: false type: boolean kyc_required: enum: - ALWAYS - CONDITIONAL - NEVER type: string pre_kyc_controls: $ref: '#/components/schemas/pre_kyc_controls' real_time_fee_group_token: maxLength: 36 minLength: 0 type: string type: object account_holder_group_request: properties: config: $ref: '#/components/schemas/account_holder_group_config' name: maxLength: 40 minLength: 1 type: string token: maxLength: 36 minLength: 1 type: string type: object account_holder_group_response: properties: config: $ref: '#/components/schemas/account_holder_group_config' name: description: 40 char max type: string token: description: 36 char max type: string type: object account_holder_group_update_request: properties: config: $ref: '#/components/schemas/account_holder_group_config' name: maxLength: 40 minLength: 1 type: string type: object account_name_verification_model: description: 'Contains name verification data: the full name entered by the cardholder, name data held by the Marqeta platform, and an assertion by the Marqeta platform as to whether the two sets of data match.' properties: on_file: $ref: '#/components/schemas/ani_information' request: $ref: '#/components/schemas/ani_information' request_type: enum: - SENDER - RECEIVER type: string response: $ref: '#/components/schemas/response' type: object account_name_verification_source: description: Contains account name verification data used to make JIT Funding decisions. properties: first_name: description: First or given name of the cardholder. type: string last_name: description: Last or family name of the cardholder. type: string middle_name: description: Middle name of the cardholder. type: string on_file: $ref: '#/components/schemas/ani_information' response: $ref: '#/components/schemas/response' type: object account_owner_model: description: Information about the owner of an account participating in an account funding or original credit transaction. properties: country_of_birth: description: Account owner's country of birth. type: string dob: description: Account owner's date of birth. type: string email_address: description: Account owner's email address. type: string nationality: description: Account owner's nationality. type: string occupation: description: Account owner's occupation. type: string type: object ach_model: properties: account_number: description: ACH account number. type: string account_type: description: Type of account. enum: - checking - savings - corporate - loan type: string bank_name: description: Name of the financial institution where the ACH account is held. type: string business_token: description: |- Unique identifier of the business account holder. This token is required if a `user_token` is not specified. maxLength: 36 minLength: 1 type: string is_default_account: default: false description: |- If there are multiple funding sources, this field specifies which source is used by default in funding calls. If there is only one funding source, the system ignores this field and always uses that source. type: boolean name_on_account: description: Name on the ACH account. maxLength: 50 minLength: 1 type: string routing_number: description: Routing number for the ACH account. readOnly: true type: string token: description: |- Unique identifier of the funding source. If you do not include a token, the system will generate one automatically. This token is necessary for use in other calls, so we recommend that rather than let the system generate one, you use a simple string that is easy to remember. This value cannot be updated. maxLength: 36 minLength: 1 type: string user_token: description: |- Unique identifier of the user account holder. This token is required if a `business_token` is not specified. maxLength: 36 minLength: 1 type: string verification_notes: description: |- Free-form text field for holding notes about verification. This field is returned only if `verification_override = true`. type: string verification_override: default: false description: |- Allows the ACH funding source to be used, regardless of its verification status. Set this field to `true` if you can attest that you have verified the account on your own and that it will not be returned by the Federal Reserve. *NOTE:* When using `PLAID` to validate a funding source, this field is always set to `true`. type: boolean required: - account_number - account_type - name_on_account - routing_number type: object ach_partner_request_model: properties: business_token: description: Required if 'user_token' is null maxLength: 36 minLength: 1 type: string idempotentHash: type: string is_default_account: default: false description: |- If there are multiple funding sources, this field specifies which source is used by default in funding calls. If there is only one funding source, the system ignores this field and always uses that source. type: boolean partner: description: |- Name of the partner who validated the account holder. Returned when a third-party partner was used for account validation. enum: - PLAID type: string partner_account_link_reference_token: description: |- Supplied by the account validation partner, this value is a reference to the account holder's details, such as the account number and routing number. Returned when a third-party partner was used for account validation. type: string token: description: |- Unique identifier of the funding source. If you do not include a token, the system will generate one automatically. This token is necessary for use in other calls, so we recommend that rather than let the system generate one, you use a simple string that is easy to remember. This value cannot be updated. type: string user_token: description: |- Supplied by the account validation partner, this value is a reference to the account holder's details, such as the account number and routing number. This token is required if a `business_token` is not specified. Send a `GET` request to `/users` to retrieve user tokens. maxLength: 36 minLength: 1 type: string required: - partner - partner_account_link_reference_token type: object ach_response_model: properties: account_suffix: description: ACH account identifier appended to the bank account number. type: string account_type: description: Type of account. type: string active: default: false description: Specifies whether the account is active. type: boolean bank_name: description: |- Name of the bank holding the account. This field is returned if it exists in the resource. type: string business_token: description: |- Unique identifier of the business account holder. This token is returned if a `user_token` is not specified. type: string created_time: description: Date and time when the resource was created, in UTC. format: date-time type: string date_sent_for_verification: description: |- Date and time in UTC when the request for account validation was sent to the third-party partner. This field is returned if it exists in the resource. format: date-time type: string date_verified: description: |- Date and time when the account was verified, in UTC. This field is returned if it exists in the resource. format: date-time type: string is_default_account: default: false description: |- If there are multiple funding sources, this field specifies which source is used by default in funding calls. If there is only one funding source, the system ignores this field and always uses that source. This field is returned if it exists in the resource. type: boolean last_modified_time: description: Date and time when the resource was last modified, in UTC. format: date-time type: string name_on_account: description: Name on the ACH account. type: string partner: description: |- Name of the partner who validated the account holder. Returned when a third-party partner was used for account validation. type: string partner_account_link_reference_token: description: |- Supplied by the account validation partner, this value is a reference to the account holder's details, such as the account number and routing number. Returned when a third-party partner was used for account validation. type: string token: description: Unique identifier of the funding source. type: string user_token: description: |- Unique identifier of the user account holder. This token is returned if a `business_token` is not specified. type: string verification_notes: description: |- Free-form text field for holding notes about verification. This field is returned only if `verification_override = true`. type: string verification_override: default: false description: |- Allows the ACH funding source to be used regardless of its verification status. This field is returned if it exists in the resource. *NOTE:* When using `PLAID` to validate a funding source, this field is always set to `true`. type: boolean verification_status: description: |- Account verification status. This field is returned if it exists in the resource. type: string required: - account_suffix - account_type - active - created_time - last_modified_time - name_on_account - token type: object ach_verification_model: properties: active: default: false description: Indicates whether the ACH funding source is active. type: boolean verify_amount1: description: Verification amount. type: number verify_amount2: description: Verification amount. type: number type: object acquirer: description: Contains information about the merchant's financial institution. properties: city: description: |- City of the merchant's financial institution. This field appears only in account funding and original credit transactions. type: string country_code: description: |- Country code of the merchant's financial institution. This field appears only in account funding and original credit transactions. type: string institution_country: description: Country code of the merchant's financial institution. type: string institution_id_code: description: Identifier code of the merchant's financial institution. type: string merchant_street_address: description: |- Street address of the merchant. This field appears only in account funding and original credit transactions. type: string name: description: |- Name of the merchant's financial institution. This field appears only in account funding and original credit transactions. type: string network_international_id: description: International network identifier. type: string postal_code: description: |- Postal code of the merchant's financial institution. This field appears only in account funding and original credit transactions. type: string retrieval_reference_number: description: Retrieval reference number of the merchant's financial institution. type: string state: description: |- State where the merchant's financial institution is located. This field appears only in account funding and original credit transactions. type: string street_address: type: string system_trace_audit_number: description: System trace audit number of the merchant's financial institution. type: string type: object activation_actions: description: |- Defines actions to execute when the card is activated. The fields in this object are mutually exclusive. properties: swap_digital_wallet_tokens_from_card_token: description: |- Moves all digital wallet tokens from the specified card to the new card. Not relevant when `reissue_pan_from_card_token` is set. Send a `GET` request to `/cards/user/{token}` to retrieve card tokens for a particular user. maxLength: 36 minLength: 1 type: string terminate_reissued_source_card: default: true description: |- If you are reissuing a card, the source card is terminated by default. To prevent the source card from being terminated, set this field to `false`. Only relevant when `reissue_pan_from_card_token` is set. type: boolean type: object address_verification: description: Contains address verification information. properties: name: description: Name of the cardholder. type: string postal_code: description: Postal code. type: string street_address: description: Street address provided by the cardholder. type: string zip: description: United States ZIP code. type: string type: object address_verification_model: description: Contains address verification data consisting of address data entered by the cardholder, address data held by the Marqeta platform, and an assertion by the Marqeta platform as to whether the two sets of data match. properties: on_file: $ref: '#/components/schemas/avs_information' request: $ref: '#/components/schemas/avs_information' response: $ref: '#/components/schemas/response' type: object address_verification_source: description: Contains address verification data consisting of address data entered by the cardholder, address data held by the Marqeta platform, and an assertion by the Marqeta platform as to whether the two sets of data match. properties: on_file: $ref: '#/components/schemas/avs_information' response: $ref: '#/components/schemas/response' type: object airline: description: Contains information about airline-related transactions. properties: depart_date: description: The date and time of departure. format: date-time type: string origination_city: description: The city where the flight originates. type: string passenger_name: description: The name of the passenger. type: string type: object android_push_tokenize_request_data: description: Contains details about a card tokenization push request. properties: display_name: description: |- Name of the card as displayed in the digital wallet, typically showing the card brand and last four digits of the primary account number (PAN). `Visa 5678`, for example. type: string last_digits: description: Last four digits of the primary account number of the physical or virtual card. type: string network: description: Specifies the card network of the physical or virtual card. type: string opaque_payment_card: description: Encrypted data field created by the issuer and passed to Google Wallet during the push provisioning process. type: string token_service_provider: description: Specifies the network that provides the digital wallet token service. type: string user_address: $ref: '#/components/schemas/AndroidPushTokenRequestAddress' type: object ani_information: description: Contains the name of the cardholder for account name verification. properties: card_name: description: Full name of the cardholder as it appears on the card. type: string first_name: description: First or given name of the cardholder. type: string last_name: description: Last or family name of the cardholder. type: string middle_name: description: Middle name of the cardholder. type: string type: object ani_information_1: description: Contains account name verification data used to make JIT Funding decisions. properties: first_name: description: First or given name of the cardholder. type: string last_name: description: Last or family name of the cardholder. type: string middle_name: description: Middle name of the cardholder. type: string type: object atc_information: properties: atc_discrepancy_indicator: type: string atc_discrepancy_value: type: number atc_value: type: number type: object auth_control_exempt_mids_request: properties: association: $ref: '#/components/schemas/spend_control_association' end_time: format: date-time type: string merchant_group_token: description: 36 char max maxLength: 36 minLength: 1 type: string mid: maxLength: 36 minLength: 1 type: string name: maxLength: 255 minLength: 0 type: string start_time: format: date-time type: string token: type: string required: - name type: object auth_control_exempt_mids_response: properties: active: default: false type: boolean association: $ref: '#/components/schemas/spend_control_association' created: format: date-time type: string end_time: format: date-time type: string last_updated: format: date-time type: string merchant_group_token: description: 36 char max maxLength: 36 minLength: 1 type: string mid: maxLength: 36 minLength: 1 type: string name: maxLength: 255 minLength: 0 type: string start_time: format: date-time type: string token: type: string required: - name type: object auth_control_exempt_mids_update_request: properties: active: default: false type: boolean type: object auth_control_merchant_scope: properties: mcc: description: 4 char max maxLength: 4 minLength: 1 type: string mcc_group: description: 36 char max maxLength: 36 minLength: 1 type: string merchant_group_token: description: 36 char max maxLength: 36 minLength: 1 type: string mid: description: 36 char max maxLength: 36 minLength: 1 type: string type: object auth_control_request: properties: active: default: true type: boolean association: $ref: '#/components/schemas/spend_control_association' end_time: format: date-time type: string merchant_scope: $ref: '#/components/schemas/auth_control_merchant_scope' name: maxLength: 255 minLength: 0 type: string start_time: format: date-time type: string token: maxLength: 36 minLength: 1 type: string required: - name type: object auth_control_response: properties: active: default: true type: boolean association: $ref: '#/components/schemas/spend_control_association' end_time: format: date-time type: string merchant_scope: $ref: '#/components/schemas/auth_control_merchant_scope' name: maxLength: 255 minLength: 0 type: string start_time: format: date-time type: string token: maxLength: 36 minLength: 1 type: string required: - name type: object auth_control_update_request: properties: active: default: true type: boolean association: $ref: '#/components/schemas/spend_control_association' end_time: format: date-time type: string merchant_scope: $ref: '#/components/schemas/merchant_scope' name: maxLength: 255 minLength: 0 type: string start_time: format: date-time type: string token: maxLength: 36 minLength: 1 type: string required: - token type: object auth_request_model: properties: amount: type: number card_acceptor: $ref: '#/components/schemas/card_acceptor_model' card_options: $ref: '#/components/schemas/card_options' card_token: maxLength: 36 minLength: 1 type: string cash_back_amount: type: number is_pre_auth: default: false type: boolean mid: maxLength: 50 minLength: 1 type: string network_fees: items: $ref: '#/components/schemas/network_fee_model' type: array network_metadata: $ref: '#/components/schemas/network_metadata' pin: maxLength: 50 minLength: 1 type: string transaction_options: $ref: '#/components/schemas/transaction_options' webhook: $ref: '#/components/schemas/webhook' required: - amount - card_token - mid type: object authorization_advice_model: properties: amount: type: number network_fees: items: $ref: '#/components/schemas/network_fee_model' type: array original_transaction_token: maxLength: 36 minLength: 1 type: string transaction_options: $ref: '#/components/schemas/transaction_options' webhook: $ref: '#/components/schemas/webhook' required: - amount - original_transaction_token type: object authorization_controls: description: |- Controls the expiration of authorizations and automatic increases to the authorization amount for MCCs specified in this group. By default, these authorization controls apply program-wide, meaning that they apply to every card in your program. You can, however, exempt cards associated with any particular card product by setting that card product's `allow_mcc_group_authorization_controls` field to `false`. properties: hold_expiration_days: default: 7 description: Specifies the number of days after which an authorization associated with this group expires. format: int32 type: integer hold_increase: $ref: '#/components/schemas/hold_increase' type: object auto_reload_association: description: |- Specifies the scope of the auto reload. Input no more than one field. If no value is supplied, the auto reload applies at the program level. properties: business_token: description: |- Unique identifier of the business for which the auto reload is configured. Send a `GET` request to `/businesses` to retrieve business tokens. maxLength: 36 minLength: 1 type: string card_product_token: description: |- Unique identifier of the card product for which the auto reload is configured. Send a `GET` request to `/cardproducts` to retrieve card product tokens. maxLength: 36 minLength: 1 type: string user_token: description: |- Unique identifier of the user for which the auto reload is configured. Send a `GET` request to `/users` to retrieve user tokens. maxLength: 36 minLength: 1 type: string type: object auto_reload_model: description: |- Contains information about an auto reload. See <</core-api/auto-reload, Auto Reloads>> for more information. Returned if an auto reload was executed. properties: active: default: true description: |- Specifies whether the auto reload is active. Only one auto reload per level, per object, can be active. type: boolean association: $ref: '#/components/schemas/auto_reload_association' currency_code: description: Three-digit link:https://www.iso.org/iso-4217-currency-codes.html[ISO 4217 currency code, window="_blank"]. type: string funding_source_address_token: description: |- Unique identifier of the funding source address to use for this auto reload. If your funding source is an ACH account, then a `funding_source_address_token` is not required. If your funding source is a payment card, you must have at least one funding source address in order to create a GPA order. Send a `GET` request to `/fundingsources/addresses/user/{user_token}` to retrieve address tokens for a user. Send a `GET` request to `/fundingsources/addresses/business/{business_token}` to retrieve address tokens for a business. maxLength: 36 minLength: 1 type: string funding_source_token: description: |- Unique identifier of the funding source to use for this auto reload. Send a `GET` request to `/fundingsources/user/{user_token}` to retrieve funding source tokens for a user. Send a `GET` request to `/fundingsources/business/{business_token}` to retrieve funding source tokens for a business. maxLength: 36 minLength: 1 type: string order_scope: $ref: '#/components/schemas/order_scope' token: description: |- Unique identifier of the auto reload. If you do not include a token, the system will generate one automatically. This token is necessary for use in other API calls, so we recommend that rather than let the system generate one, you use a simple string that is easy to remember. This value cannot be updated. maxLength: 36 minLength: 1 type: string required: - currency_code - order_scope type: object auto_reload_response_model: properties: active: default: true type: boolean association: $ref: '#/components/schemas/auto_reload_association' created_time: description: yyyy-MM-ddTHH:mm:ssZ format: date-time type: string currency_code: type: string funding_source_address_token: maxLength: 36 minLength: 1 type: string funding_source_token: description: Required when order scope is GPA maxLength: 36 minLength: 1 type: string last_modified_time: description: yyyy-MM-ddTHH:mm:ssZ format: date-time type: string order_scope: $ref: '#/components/schemas/OrderScope' token: maxLength: 36 minLength: 1 type: string required: - created_time - currency_code - last_modified_time - order_scope type: object auto_reload_update_model: properties: active: default: true type: boolean association: $ref: '#/components/schemas/auto_reload_association' currency_code: type: string funding_source_address_token: maxLength: 36 minLength: 1 type: string funding_source_token: maxLength: 36 minLength: 1 type: string order_scope: $ref: '#/components/schemas/OrderScope' token: maxLength: 36 minLength: 1 type: string type: object available: description: |- Specifies the available balances of the velocity controls associated with a user. This object is not returned if the velocity control window is `TRANSACTION`, because available balances do not apply to single-transaction velocity windows. properties: amount: description: Total amount of spend remaining in the velocity control. exclusiveMinimum: false minimum: 0 type: number days_remaining: description: Number of days remaining in the velocity control time window. format: int32 type: integer uses: default: 0 description: Number of uses remaining in the velocity control. format: int32 type: integer required: - amount - uses type: object avs_control_options: properties: decline_on_address_number_mismatch: default: false type: boolean decline_on_postal_code_mismatch: default: true type: boolean validate: default: true type: boolean type: object avs_controls: properties: auth_messages: $ref: '#/components/schemas/avs_control_options' av_messages: $ref: '#/components/schemas/avs_control_options' type: object avs_information: description: Contains address verification information. properties: postal_code: description: Postal code of the address. type: string street_address: description: Street name and number of the address. type: string zip: description: United States ZIP code of the address. type: string type: object balance_inquiry_request_model: properties: account_type: enum: - checking - savings - credit type: string card_acceptor: $ref: '#/components/schemas/card_acceptor_model' card_token: maxLength: 36 minLength: 1 type: string mid: maxLength: 50 minLength: 1 type: string network_fees: items: $ref: '#/components/schemas/network_fee_model' type: array pin: maxLength: 15 minLength: 1 type: string webhook: $ref: '#/components/schemas/webhook' required: - account_type - card_acceptor - card_token - mid type: object bank_account_funding_source_model: allOf: - $ref: '#/components/schemas/funding_source_model' - properties: account_suffix: type: string account_type: type: string business_token: description: Required if 'user_token' is null type: string name_on_account: type: string routing_number: type: string user_token: description: Required if 'business_token' is null type: string verification_status: type: string required: - account_suffix - account_type - name_on_account - routing_number - verification_status type: object bank_transfer_request_model: properties: amount: exclusiveMinimum: false minimum: 0.01 type: number channel: description: default = API enum: - API - SYSTEM - ADMIN type: string created_by: maxLength: 255 minLength: 0 type: string currency_code: description: default = USD type: string funding_source_token: maxLength: 36 minLength: 0 type: string memo: type: string standard_entry_class_code: enum: - WEB - PPD - CCD type: string statement_descriptor: maxLength: 10 minLength: 0 type: string token: maxLength: 36 minLength: 0 type: string transfer_speed: description: default = STANDARD enum: - STANDARD - SAME_DAY type: string type: enum: - PUSH - PULL type: string required: - amount - funding_source_token - type type: object bank_transfer_response_model: properties: amount: exclusiveMinimum: false minimum: 0.01 type: number batch_number: type: string channel: description: default = API enum: - API - SYSTEM - ADMIN type: string created_by: maxLength: 255 minLength: 0 type: string created_time: format: date-time type: string currency_code: description: default = USD type: string funding_source_token: maxLength: 36 minLength: 0 type: string is_early_funded: type: boolean last_modified_time: format: date-time type: string memo: type: string return_code: type: string return_reason: type: string standard_entry_class_code: enum: - WEB - PPD - CCD type: string statement_descriptor: maxLength: 10 minLength: 0 type: string status: enum: - INITIATED - PENDING - PROCESSING - SUBMITTED - RETURNED - COMPLETED - ERROR - CANCELLED - REVERSAL_PEND - REVERSAL_COMP - REVERSAL_DECL type: string token: maxLength: 36 minLength: 0 type: string transfer_speed: description: default = STANDARD enum: - STANDARD - SAME_DAY type: string transitions: items: $ref: '#/components/schemas/bank_transfer_transition_response_model' type: array type: enum: - PUSH - PULL type: string required: - amount - funding_source_token - type type: object bank_transfer_transition_request_model: properties: amount: exclusiveMinimum: false minimum: 0 type: number bank_transfer_token: maxLength: 36 minLength: 0 type: string batch_number: type: string channel: enum: - API - SYSTEM - ADMIN type: string effective_date: format: date-time type: string program_reserve_token: maxLength: 36 minLength: 0 type: string reason: type: string return_code: type: string reversal_after_45_days: type: boolean status: enum: - PENDING - PROCESSING - SUBMITTED - RETURNED - COMPLETED - CANCELLED - REVERSAL_PEND - REVERSAL_COMP type: string token: maxLength: 36 minLength: 0 type: string required: - bank_transfer_token - channel - status type: object bank_transfer_transition_response_model: properties: amount: exclusiveMinimum: false minimum: 0 type: number bank_transfer_token: maxLength: 36 minLength: 0 type: string batch_number: type: string channel: enum: - API - SYSTEM - ADMIN type: string created_time: format: date-time type: string effective_date: format: date-time type: string last_modified_time: format: date-time type: string program_reserve_token: maxLength: 36 minLength: 0 type: string reason: type: string return_code: type: string return_reason: type: string reversal_after_45_days: type: boolean status: enum: - PENDING - PROCESSING - SUBMITTED - RETURNED - COMPLETED - CANCELLED - REVERSAL_PEND - REVERSAL_COMP type: string token: maxLength: 36 minLength: 0 type: string transaction_jit_token: type: string transaction_token: type: string required: - bank_transfer_token - channel - status type: object base_ach_request_model: properties: account_number: description: ACH account number. type: string account_type: description: Type of account. enum: - checking - savings - corporate - loan type: string bank_name: description: Name of the bank holding the account. type: string is_default_account: default: false description: |- If there are multiple funding sources, this field specifies which source is used by default in funding calls. If there is only one funding source, the system ignores this field and always uses that source. type: boolean name_on_account: description: Name on the ACH account. maxLength: 50 minLength: 1 type: string routing_number: description: Routing number for the ACH account. readOnly: true type: string token: description: |- Unique identifier of the funding source. If you do not include a token, the system will generate one automatically. This token is necessary for use in other calls, so we recommend that rather than let the system generate one, you use a simple string that is easy to remember. This value cannot be updated. maxLength: 36 minLength: 1 type: string verification_notes: description: |- Free-form text field for holding notes about verification. This field is returned only if `verification_override = true`. type: string verification_override: default: false description: |- Allows the ACH funding source to be used, regardless of its verification status. Set this field to `true` if you can attest that you have verified the account on your own and that it will not be returned by the Federal Reserve. *NOTE:* When using `PLAID` to validate a funding source, this field is always set to `true`. type: boolean required: - account_number - account_type - name_on_account - routing_number type: object base_ach_response_model: properties: account_suffix: description: ACH account identifier appended to the bank account number. type: string account_type: description: Type of account. type: string active: default: false description: Specifies whether the account is active. type: boolean bank_name: description: |- Name of the bank holding the account. This field is returned if it exists in the resource. type: string created_time: description: Date and time when the resource was created, in UTC. format: date-time type: string date_sent_for_verification: description: |- Date and time in UTC when the request for account validation was sent to the third-party partner. This field is returned if it exists in the resource. format: date-time type: string date_verified: description: |- Date and time when the account was verified, in UTC. This field is returned if it exists in the resource. format: date-time type: string is_default_account: default: false description: |- If there are multiple funding sources, this field specifies which source is used by default in funding calls. If there is only one funding source, the system ignores this field and always uses that source. type: boolean last_modified_time: description: Date and time when the resource was last modified, in UTC. format: date-time type: string name_on_account: description: Name on the ACH account. type: string partner: type: string partner_account_link_reference_token: type: string token: description: Unique identifier of the funding source. type: string verification_notes: description: |- Free-form text field for holding notes about verification. This field is returned only if `verification_override = true`. type: string verification_override: default: false description: |- Allows the ACH funding source to be used regardless of its verification status. This field is returned if it exists in the resource. *NOTE:* When using `PLAID` to validate a funding source, this field is always set to `true`. type: boolean verification_status: description: |- Account verification status. This field is returned if it exists in the resource. type: string required: - account_suffix - account_type - active - created_time - last_modified_time - name_on_account - token type: object beneficial_owner_request: properties: dob: format: date-time type: string first_name: type: string home: $ref: '#/components/schemas/AddressRequestModel' last_name: type: string middle_name: type: string phone: type: string ssn: type: string title: type: string type: object beneficial_owner_response: properties: first_name: type: string getdob: format: date-time type: string home: $ref: '#/components/schemas/AddressResponseModel' last_name: type: string middle_name: type: string phone: type: string title: type: string type: object bulk_issuance_request: properties: card_allocation: format: int32 maximum: 50000 type: integer card_product_token: maxLength: 36 minLength: 1 type: string expedite: default: false type: boolean expiration_offset: $ref: '#/components/schemas/expiration_offset' fulfillment: $ref: '#/components/schemas/FulfillmentRequest' name_line_1_numeric_postfix: default: false type: boolean name_line_1_random_postfix: default: false type: boolean token: maxLength: 36 minLength: 1 type: string user_association: $ref: '#/components/schemas/user_association' required: - card_allocation - card_product_token - fulfillment - token type: object bulk_issuance_response: properties: card_allocation: format: int32 maximum: 50000 type: integer card_fulfillment_time: format: date-time type: string card_product_token: maxLength: 36 minLength: 1 type: string cards_processed: format: int32 type: integer created_time: format: date-time type: string expedite: default: false type: boolean expiration_offset: $ref: '#/components/schemas/expiration_offset' fulfillment: $ref: '#/components/schemas/FulfillmentResponse' name_line1_end_index: format: int32 type: integer name_line1_start_index: format: int32 type: integer name_line_1_numeric_postfix: default: false type: boolean name_line_1_random_postfix: default: false type: boolean provider_ship_date: format: date-time type: string provider_shipping_method: type: string provider_tracking_number: type: string token: maxLength: 36 minLength: 1 type: string user_association: $ref: '#/components/schemas/user_association' required: - card_allocation - card_product_token - fulfillment - token type: object business_card_holder_response: properties: account_holder_group_token: maxLength: 36 minLength: 0 type: string active: default: false description: default = true type: boolean attestation_consent: default: false type: boolean attestation_date: format: date-time type: string attester_name: maxLength: 64 minLength: 0 type: string attester_title: maxLength: 64 minLength: 0 type: string authentication: $ref: '#/components/schemas/Authentication' beneficial_owner1: $ref: '#/components/schemas/beneficial_owner_response' beneficial_owner2: $ref: '#/components/schemas/beneficial_owner_response' beneficial_owner3: $ref: '#/components/schemas/beneficial_owner_response' beneficial_owner4: $ref: '#/components/schemas/beneficial_owner_response' business_name_dba: maxLength: 255 minLength: 0 type: string business_name_legal: maxLength: 255 minLength: 0 type: string business_type: maxLength: 255 minLength: 0 type: string created_time: description: yyyy-MM-ddTHH:mm:ssZ format: date-time type: string date_established: format: date-time type: string duns_number: maxLength: 255 minLength: 0 type: string general_business_description: maxLength: 255 minLength: 0 type: string history: maxLength: 255 minLength: 0 type: string identifications: items: $ref: '#/components/schemas/IdentificationResponseModel' type: array in_current_location_since: format: date-time type: string incorporation: $ref: '#/components/schemas/business_incorporation_response' international_office_locations: maxLength: 255 minLength: 0 type: string ip_address: maxLength: 39 minLength: 0 type: string last_modified_time: description: yyyy-MM-ddTHH:mm:ssZ format: date-time type: string metadata: additionalProperties: type: string type: object notes: maxLength: 255 minLength: 0 type: string office_location: $ref: '#/components/schemas/AddressResponseModel' password: description: Strong password required maxLength: 255 minLength: 1 type: string phone: maxLength: 255 minLength: 0 type: string primary_contact: $ref: '#/components/schemas/PrimaryContactInfoModel' proprietor_is_beneficial_owner: default: false type: boolean proprietor_or_officer: $ref: '#/components/schemas/business_proprietor_response' status: enum: - UNVERIFIED - LIMITED - ACTIVE - SUSPENDED - CLOSED - TERMINATED type: string taxpayer_id: maxLength: 255 minLength: 0 type: string token: maxLength: 36 minLength: 1 type: string website: maxLength: 255 minLength: 0 type: string required: - created_time - last_modified_time type: object business_card_holder_update: properties: account_holder_group_token: maxLength: 36 minLength: 0 type: string active: default: true type: boolean attestation_consent: default: false type: boolean attestation_date: format: date-time type: string attester_name: maxLength: 64 minLength: 0 type: string attester_title: maxLength: 64 minLength: 0 type: string beneficial_owner1: $ref: '#/components/schemas/beneficial_owner_request' beneficial_owner2: $ref: '#/components/schemas/beneficial_owner_request' beneficial_owner3: $ref: '#/components/schemas/beneficial_owner_request' beneficial_owner4: $ref: '#/components/schemas/beneficial_owner_request' business_name_dba: maxLength: 255 minLength: 0 type: string business_name_legal: maxLength: 255 minLength: 0 type: string business_type: maxLength: 255 minLength: 0 type: string date_established: format: date-time type: string duns_number: maxLength: 255 minLength: 0 type: string general_business_description: maxLength: 255 minLength: 0 type: string history: maxLength: 255 minLength: 0 type: string identifications: items: $ref: '#/components/schemas/IdentificationRequestModel' type: array in_current_location_since: format: date-time type: string incorporation: $ref: '#/components/schemas/business_incorporation' international_office_locations: maxLength: 255 minLength: 0 type: string ip_address: maxLength: 39 minLength: 0 type: string metadata: additionalProperties: type: string type: object notes: maxLength: 255 minLength: 0 type: string office_location: $ref: '#/components/schemas/AddressRequestModel' password: maxLength: 255 minLength: 0 type: string phone: maxLength: 255 minLength: 0 type: string primary_contact: $ref: '#/components/schemas/PrimaryContactInfoModel' proprietor_is_beneficial_owner: default: false type: boolean proprietor_or_officer: $ref: '#/components/schemas/business_proprietor' taxpayer_id: maxLength: 255 minLength: 0 type: string token: maxLength: 36 minLength: 1 type: string website: maxLength: 255 minLength: 0 type: string type: object business_cardholder: properties: account_holder_group_token: maxLength: 36 minLength: 0 type: string active: default: true type: boolean attestation_consent: default: false type: boolean attestation_date: description: YYYY-MM-DDThh:mm:ssZ format: date-time type: string attester_name: maxLength: 64 minLength: 0 type: string attester_title: maxLength: 64 minLength: 0 type: string beneficial_owner1: $ref: '#/components/schemas/beneficial_owner_request' beneficial_owner2: $ref: '#/components/schemas/beneficial_owner_request' beneficial_owner3: $ref: '#/components/schemas/beneficial_owner_request' beneficial_owner4: $ref: '#/components/schemas/beneficial_owner_request' business_name_dba: maxLength: 255 minLength: 0 type: string business_name_legal: maxLength: 255 minLength: 0 type: string business_type: maxLength: 255 minLength: 0 type: string date_established: format: date-time type: string duns_number: maxLength: 255 minLength: 0 type: string general_business_description: maxLength: 255 minLength: 0 type: string history: maxLength: 255 minLength: 0 type: string identifications: items: $ref: '#/components/schemas/IdentificationRequestModel' type: array in_current_location_since: format: date-time type: string incorporation: $ref: '#/components/schemas/business_incorporation' international_office_locations: maxLength: 255 minLength: 0 type: string ip_address: maxLength: 39 minLength: 0 type: string metadata: additionalProperties: type: string type: object notes: maxLength: 255 minLength: 0 type: string office_location: $ref: '#/components/schemas/AddressRequestModel' password: description: Strong password required maxLength: 255 minLength: 1 type: string phone: maxLength: 255 minLength: 0 type: string primary_contact: $ref: '#/components/schemas/PrimaryContactInfoModel' proprietor_is_beneficial_owner: default: false type: boolean proprietor_or_officer: $ref: '#/components/schemas/business_proprietor' taxpayer_id: maxLength: 255 minLength: 0 type: string token: maxLength: 36 minLength: 1 type: string website: maxLength: 255 minLength: 0 type: string type: object business_incorporation: properties: address_registered_under: $ref: '#/components/schemas/AddressRequestModel' incorporation_type: enum: - LLC - CORPORATION - SOLE_PROPRIETORSHIP - PARTNERSHIP - COOPERATIVE - OTHER maxLength: 255 minLength: 0 type: string is_public: default: false type: boolean name_registered_under: maxLength: 255 minLength: 0 type: string state_of_incorporation: maxLength: 255 minLength: 0 type: string stock_symbol: maxLength: 255 minLength: 0 type: string type: object business_incorporation_response: properties: address_registered_under: $ref: '#/components/schemas/AddressResponseModel' incorporation_type: enum: - LLC - CORPORATION - SOLE_PROPRIETORSHIP - PARTNERSHIP - OTHER maxLength: 255 minLength: 0 type: string is_public: default: false type: boolean name_registered_under: maxLength: 255 minLength: 0 type: string state_of_incorporation: maxLength: 255 minLength: 0 type: string stock_symbol: maxLength: 255 minLength: 0 type: string type: object business_metadata: description: Contains customer-provided information about the business that funded the transaction. properties: metadata: additionalProperties: type: string description: Associates customer-provided metadata with the business. type: object type: object business_proprietor: properties: alternative_names: type: string dob: format: date-time type: string email: type: string first_name: type: string home: $ref: '#/components/schemas/AddressRequestModel' identifications: items: $ref: '#/components/schemas/IdentificationRequestModel' type: array last_name: type: string middle_name: type: string phone: type: string ssn: type: string title: type: string required: - first_name - last_name type: object business_proprietor_response: properties: alternative_names: type: string dob: format: date-time type: string email: type: string first_name: type: string home: $ref: '#/components/schemas/AddressResponseModel' identifications: items: $ref: '#/components/schemas/IdentificationResponseModel' type: array last_name: type: string middle_name: type: string phone: type: string ssn: type: string title: type: string type: object campaign_model: properties: active: default: true type: boolean end_date: format: date-time type: string name: maxLength: 40 minLength: 0 type: string start_date: format: date-time type: string store_tokens: description: Enclose tokens in brackets items: type: string maxItems: 36 minItems: 0 type: array token: maxLength: 36 minLength: 1 type: string required: - active - name - token type: object campaign_update_model: properties: active: default: false type: boolean end_date: description: yyyy-MM-dd type: string name: maxLength: 40 minLength: 0 type: string start_date: description: yyyy-MM-dd type: string store_tokens: description: enclose tokens in brackets items: type: string maxItems: 36 minItems: 0 type: array type: object card_acceptor_model: properties: address: maxLength: 255 minLength: 0 type: string city: maxLength: 40 minLength: 0 type: string country: type: string customer_service_phone: type: string ecommerce_security_level_indicator: type: string geographic_coordinates: type: string mcc: maxLength: 5 minLength: 0 type: string name: maxLength: 50 minLength: 0 type: string partial_approval_capable: default: false type: boolean phone: type: string service_geographic_coordinates: type: string state: type: string url: type: string zip: maxLength: 10 minLength: 0 type: string type: object card_holder_address_model: properties: active: default: true description: Specifies whether the address is active. type: boolean address_1: description: Street name and number of the address. maxLength: 255 minLength: 0 type: string address_2: description: Additional address information. maxLength: 255 minLength: 0 type: string business_token: description: |- Unique identifier of the business account holder. This token is required if a `user_token` is not specified. maxLength: 36 minLength: 1 type: string city: description: City of the address. maxLength: 40 minLength: 0 type: string country: description: Country of the address. maxLength: 40 minLength: 1 type: string first_name: description: First name or given name of the account holder. maxLength: 40 minLength: 0 type: string is_default_address: default: false description: |- A value of `true` specifies that this address is the default address used by the account holder's funding source. If this is the account holder's only address, it is used as the default regardless of this field's setting. type: boolean last_name: description: Last name or family name of the account holder. maxLength: 40 minLength: 0 type: string phone: description: Telephone number of the account holder. maxLength: 255 minLength: 0 type: string postal_code: description: Postal code of the address. maxLength: 10 minLength: 0 type: string state: description: |- Two-character state, province, or territorial abbreviation. For a complete list of valid state and province abbreviations, see <</core-api/kyc-verification#_valid_state_provincial_and_territorial_abbreviations, Valid state, provincial, and territorial abbreviations>>. maxLength: 2 minLength: 0 type: string token: description: |- Unique identifier of the address. If you do not include a token, the system will generate one automatically. This token is necessary for use in other API calls, so we recommend that rather than let the system generate one, you use a simple string that is easy to remember. This value cannot be updated. maxLength: 36 minLength: 1 type: string user_token: description: |- Unique identifier of the user account holder. This token is required if a `business_token` is not specified. maxLength: 36 minLength: 1 type: string zip: description: |- United States ZIP code. This field is required if `postal_code` is not specified. maxLength: 10 minLength: 0 type: string required: - address_1 - city - country - first_name - last_name - state type: object card_holder_address_update_model: properties: active: default: true description: Specifies whether the address is active. type: boolean address_1: description: Street name and number of the address. maxLength: 255 minLength: 0 type: string address_2: description: Additional address information. maxLength: 255 minLength: 0 type: string city: description: City of the address. maxLength: 40 minLength: 0 type: string country: description: Country of the address. maxLength: 40 minLength: 0 type: string first_name: description: First name or given name of the account holder. maxLength: 40 minLength: 0 type: string is_default_address: default: false description: |- A value of `true` specifies that this address is the default address used by the account holder's funding source. If this is the account holder's only address, it is used as the default regardless of this field's setting. type: boolean last_name: description: Last name or family name of the account holder. maxLength: 40 minLength: 0 type: string phone: description: Telephone number of the account holder. maxLength: 255 minLength: 0 type: string postal_code: description: Postal code of the address. maxLength: 10 minLength: 0 type: string state: description: |- Two-character state, province, or territorial abbreviation. For a complete list, see <</core-api/kyc-verification#_valid_state_provincial_and_territorial_abbreviations, Valid state, provincial, and territorial abbreviations>>. maxLength: 2 minLength: 0 type: string zip: description: United States ZIP code of the address. maxLength: 10 minLength: 0 type: string type: object card_holder_model: description: Contains information about a cardholder. properties: account_holder_group_token: description: |- Associates the specified account holder group with the cardholder. Send a `GET` request to `/accountholdergroups` to retrieve account holder group tokens. maxLength: 36 minLength: 0 type: string active: default: true description: |- Specifies if the cardholder is in the `ACTIVE` state on the Marqeta platform. *NOTE:* Do not set the value of the `user.active` field directly. Instead, use the `/usertransitions` endpoints to transition user resources between statuses. For more information on status changes, see <</core-api/user-transitions#postUsertransitions, Create User Transition>>. type: boolean address1: description: |- Cardholder's address. *NOTE:* Required for KYC verification (US-based cardholders only). Cannot perform KYC if set to a PO Box. maxLength: 255 minLength: 0 type: string address2: description: |- Additional address information for the cardholder. *NOTE:* Cannot perform KYC if set to a PO Box. maxLength: 255 minLength: 0 type: string birth_date: description: |- Cardholder's date of birth. *NOTE:* Required for KYC verification (US-based cardholders only). type: string city: description: |- City where the cardholder resides. *NOTE:* Required for KYC verification (US-based cardholders only). maxLength: 40 minLength: 0 type: string company: description: Company name. maxLength: 255 minLength: 0 type: string corporate_card_holder: default: false description: Specifies if the cardholder holds a corporate card. type: boolean country: description: |- Country where the cardholder resides. *NOTE:* Required for KYC verification (US-based cardholders only). maxLength: 40 minLength: 0 type: string email: description: |- Valid email address of the cardholder. This value must be unique among users. *NOTE:* Required for KYC verification by certain banks (US-based cardholders only). To determine if you must provide an email address, contact your Marqeta representative. maxLength: 255 minLength: 1 type: string first_name: description: |- Cardholder's first name. *NOTE:* Required for KYC verification (US-based cardholders only). maxLength: 40 minLength: 0 type: string gender: description: Gender of the cardholder. enum: - F - M maxLength: 1 minLength: 0 type: string honorific: description: 'Cardholder''s title or prefix: Dr., Miss, Mr., Ms., and so on.' maxLength: 10 minLength: 0 type: string id_card_expiration_date: description: Expiration date of the cardholder's identification card. type: string id_card_number: description: Cardholder's identification card number. maxLength: 255 minLength: 0 type: string identifications: description: One or more objects containing identifications associated with the cardholder. items: $ref: '#/components/schemas/IdentificationRequestModel' type: array ip_address: description: Cardholder's IP address. maxLength: 39 minLength: 0 type: string last_name: description: |- Cardholder's last name. *NOTE:* Required for KYC verification (US-based cardholders only). maxLength: 40 minLength: 0 type: string metadata: additionalProperties: type: string description: Associates any additional metadata you provide with the cardholder. type: object middle_name: description: Cardholder's middle name. maxLength: 40 minLength: 0 type: string nationality: description: Cardholder's nationality. maxLength: 255 minLength: 0 type: string notes: description: Any additional information pertaining to the cardholder. maxLength: 255 minLength: 0 type: string parent_token: description: |- Unique identifier of the parent user or business resource. Send a `GET` request to `/users` to retrieve user resource tokens or to `/businesses` to retrieve business resource tokens. Required if `uses_parent_account = true`. This user or business is configured as the parent of the current user. maxLength: 36 minLength: 1 type: string passport_expiration_date: description: Expiration date of the cardholder's passport. type: string passport_number: description: Cardholder's passport number. maxLength: 40 minLength: 0 type: string password: description: |- Password to the cardholder's user account on the Marqeta platform. * Must contain at least one numeral + * Must contain at least one lowercase letter + * Must contain at least one uppercase letter + * Must contain at least one of these symbols: `@ # $ % ! ^ & * ( ) \ _ + ~ ` - = [ ] { } , ; : ' " , . / < > ?` maxLength: 255 minLength: 0 type: string phone: description: |- Telephone number of the cardholder (including area code), prepended by the `+` symbol and the 1- to 3-digit country calling code. Do not include hyphens, spaces, or parentheses. *NOTE:* Required for KYC verification by certain banks (US-based cardholders only). To determine if you must provide a phone number, contact your Marqeta representative. maxLength: 255 minLength: 0 type: string postal_code: description: |- Postal code of the cardholder's address. *NOTE:* Required for KYC verification (US-based cardholders only). maxLength: 10 minLength: 0 type: string ssn: description: Cardholder's Social Security Number (SSN). type: string state: description: |- State or province where the cardholder resides. *NOTE:* <</core-api/kyc-verification#_valid_state_provincial_and_territorial_abbreviations, Valid two-character abbreviation>> required for KYC verification (US-based cardholders only). maxLength: 32 minLength: 0 type: string token: description: |- Unique identifier of the cardholder. If you do not include a token, the system generates one automatically. This token is necessary for use in other API calls, so we recommend that rather than let the system generate one, you use a simple string that is easy to remember. This value cannot be updated. maxLength: 36 minLength: 1 type: string uses_parent_account: default: false description: |- Indicates whether the child shares balances with the parent (`true`), or the child's balances are independent of the parent (`false`). If set to `true`, you must also include a `parent_token` in the request. This value cannot be updated. type: boolean type: object card_life_cycle: properties: activate_upon_issue: default: false type: boolean card_service_code: default: 101 format: int32 type: integer expiration_offset: $ref: '#/components/schemas/ExpirationOffset' reloadability: enum: - SINGLE_USE_VIRTUAL - NON_RELOADABLE - RELOADABLE type: string update_expiration_upon_activation: default: false type: boolean type: object card_metadata: properties: metadata: additionalProperties: type: string type: object type: object card_options: properties: billing_address: $ref: '#/components/schemas/BillingAddress' card_present: default: false type: boolean cvv: maxLength: 3 minLength: 0 type: string expiration: maxLength: 4 minLength: 4 type: string type: object card_personalization: description: Specifies personalized attributes to be added to the card. properties: carrier: $ref: '#/components/schemas/carrier' images: $ref: '#/components/schemas/images' perso_type: description: Specifies the type of card personalization. enum: - EMBOSS - LASER - FLAT type: string text: $ref: '#/components/schemas/text' required: - text type: object card_product_config: properties: card_life_cycle: $ref: '#/components/schemas/card_life_cycle' clearing_and_settlement: $ref: '#/components/schemas/clearing_and_settlement' digital_wallet_tokenization: $ref: '#/components/schemas/DigitalWalletTokenization' fulfillment: $ref: '#/components/schemas/card_product_fulfillment' jit_funding: $ref: '#/components/schemas/jit_funding' poi: $ref: '#/components/schemas/poi' selective_auth: $ref: '#/components/schemas/selective_auth' special: $ref: '#/components/schemas/Special' transaction_controls: $ref: '#/components/schemas/transaction_controls' type: object card_product_fulfillment: properties: all_zero_card_security_code: default: false type: boolean allow_card_creation: default: true type: boolean bin_prefix: type: string bulk_ship: default: false type: boolean card_personalization: $ref: '#/components/schemas/card_personalization' enable_offline_pin: default: false type: boolean fulfillment_provider: default: PERFECTPLASTIC enum: - PERFECTPLASTIC - ARROWEYE - IDEMIA - IDEMIA_UK - IDEMIA_FR - IDEMIA_CZ - IDEMIA_APAC - IDEMIA_PL - IDEMIA_AU - IDEMIA_LA - GEMALTO - NITECREST - OBERTHUR - ALLPAY type: string package_id: default: '0' maxLength: 50 minLength: 1 type: string pan_length: default: '16' type: string payment_instrument: default: PHYSICAL_MSR enum: - PHYSICAL_MSR - PHYSICAL_ICC - PHYSICAL_CONTACTLESS - PHYSICAL_COMBO - VIRTUAL_PAN type: string shipping: $ref: '#/components/schemas/shipping' uppercase_name_lines: default: true type: boolean required: - card_personalization type: object card_product_request: properties: active: default: false type: boolean config: $ref: '#/components/schemas/card_product_config' end_date: description: yyyy-MM-dd format: date type: string name: maxLength: 40 minLength: 1 type: string start_date: description: yyyy-MM-dd format: date type: string token: maxLength: 36 minLength: 1 type: string required: - name - start_date type: object card_product_response: properties: active: default: false type: boolean config: $ref: '#/components/schemas/card_product_config' created_time: description: yyyy-MM-ddTHH:mm:ssZ format: date-time type: string end_date: description: yyyy-MM-dd format: date type: string last_modified_time: description: yyyy-MM-ddTHH:mm:ssZ format: date-time type: string name: maxLength: 40 minLength: 1 type: string start_date: description: yyyy-MM-dd format: date type: string token: maxLength: 36 minLength: 1 type: string required: - created_time - last_modified_time - name - start_date type: object card_product_update_model: properties: active: default: false type: boolean config: $ref: '#/components/schemas/card_product_config' end_date: description: yyyy-MM-dd format: date type: string name: maxLength: 40 minLength: 0 type: string start_date: description: yyyy-MM-dd format: date type: string type: object card_request: properties: activation_actions: $ref: '#/components/schemas/activation_actions' bulk_issuance_token: type: string card_product_token: maxLength: 36 minLength: 1 type: string expedite: default: false type: boolean expiration_offset: $ref: '#/components/schemas/expiration_offset' fulfillment: $ref: '#/components/schemas/CardFulfillmentRequest' metadata: additionalProperties: type: string type: object new_pan_from_card_token: maxLength: 36 minLength: 0 type: string reissue_pan_from_card_token: maxLength: 36 minLength: 0 type: string token: maxLength: 36 minLength: 1 type: string translate_pin_from_card_token: maxLength: 36 minLength: 0 type: string user_token: maxLength: 36 minLength: 1 type: string required: - card_product_token - user_token type: object card_response: description: Contains information about the card used in the transaction. properties: activation_actions: $ref: '#/components/schemas/activation_actions' barcode: description: Barcode printed on the card, expressed as numerals. type: string bulk_issuance_token: description: Unique identifier of the bulk card order. type: string card_product_token: description: Unique identifier of the card product. type: string chip_cvv_number: description: Three-digit card verification value (ICVV) stored on the chip of the card. type: string contactless_exemption_counter: description: |- Running count of the contactless transactions successfully completed since the last strong customer authentication (SCA) challenge was issued. You can limit the number of contactless transactions that can be performed without issuing an SCA challenge at the card product level. For more information about strong customer authentication, see <</core-api/card-products, Card Products>>. format: int32 type: integer contactless_exemption_total_amount: description: |- Running total of the money spent in contactless transactions successfully completed since the last strong customer authentication (SCA) challenge was issued. You can limit the total amount that can be spent in contactless transactions without issuing an SCA challenge at the card product level. For more information about strong customer authentication, see <</core-api/card-products, Card Products>>. type: number created_time: description: Date and time when the resource was created, in UTC. format: date-time type: string cvv_number: description: Three-digit card verification value (CVV2 or CVC2) printed on the card. type: string expedite: default: false description: A value of `true` indicates that you requested expedited processing of the card from your card fulfillment provider. type: boolean expiration: description: Expiration date in `MMyy` format. type: string expiration_time: description: Expiration date and time, in UTC. format: date-time type: string fulfillment: $ref: '#/components/schemas/CardFulfillmentResponse' fulfillment_status: description: |- Card fulfillment status: * *ISSUED:* Initial state of all newly created/issued cards. * *ORDERED:* Card ordered through the card fulfillment provider. * *REORDERED:* Card reordered through the card fulfillment provider. * *REJECTED:* Card rejected by the card fulfillment provider. * *SHIPPED:* Card shipped by the card fulfillment provider. * *DELIVERED:* Card delivered by the card fulfillment provider. * *DIGITALLY_PRESENTED:* Card digitally presented using the `/cards/{token}/showpan` endpoint; does not affect the delivery of physical cards. enum: - ISSUED - ORDERED - REORDERED - REJECTED - SHIPPED - DELIVERED - DIGITALLY_PRESENTED type: string instrument_type: description: |- Instrument type of the card: * *PHYSICAL_MSR:* A physical card with a magnetic stripe. This is the default physical card type. * *PHYSICAL_ICC:* A physical card with an integrated circuit, or "chip." * *PHYSICAL_CONTACTLESS:* A physical card that uses radio frequency identification (RFID) or near-field communication (NFC) to enable payment over a secure radio interface. * *PHYSICAL_COMBO:* A physical card with a chip that also supports contactless payments. * *VIRTUAL_PAN:* A virtual card with a primary account number (PAN). enum: - PHYSICAL_MSR - PHYSICAL_ICC - PHYSICAL_CONTACTLESS - PHYSICAL_COMBO - VIRTUAL_PAN type: string last_four: description: Last four digits of the card primary account number (PAN). type: string last_modified_time: description: Date and time when the resource was last modified, in UTC. format: date-time type: string metadata: additionalProperties: type: string description: Associates customer-provided metadata with the card. type: object new_pan_from_card_token: description: Reissues the specified card (known as the "source" card) with a new primary account number (PAN). type: string pan: description: Primary account number (PAN) of the card. type: string pin_is_set: default: false description: Specifies if the personal identification number (PIN) has been set for the card. type: boolean reissue_pan_from_card_token: description: Reissues the specified card (known as the "source" card). type: string state: description: Indicates the state of the card. enum: - ACTIVE - SUSPENDED - TERMINATED - UNSUPPORTED - UNACTIVATED - LIMITED type: string state_reason: description: |- Descriptive reason for why the card is in its current state. For example, "Card activated by cardholder". type: string token: description: Unique identifier of the card. type: string translate_pin_from_card_token: description: Copies the personal identification number (PIN) from the specified source card to the newly created card. type: string user_token: description: Unique identifier of the cardholder. type: string required: - barcode - card_product_token - created_time - expiration - expiration_time - fulfillment_status - last_four - last_modified_time - pan - pin_is_set - state - state_reason - token - user_token type: object card_security_code_verification: description: Contains information about a verification check performed on the card's security code. properties: response: $ref: '#/components/schemas/response' type: description: |- Indicates the type of security code. Can have these possible values: * *CVV1* – the security code stored in the magnetic stripe on the card. * *CVV2* – the security code printed on the card. * *ICVV* – the security code stored on the chip of the card. * *DCVV* – a dynamic security code used in some contactless payments when a card or device is tapped against the card reader. enum: - CVV1 - CVV2 - ICVV - DCVV type: string required: - response - type type: object card_swap_hash: description: Contains identifiers for swapping digital wallet tokens between cards. properties: new_card_token: description: Unique identifier of the new card resource to which the digital wallet tokens are assigned. maxLength: 36 minLength: 1 type: string previous_card_token: description: Unique identifier of the existing card resource that has digital wallet tokens assigned to it. maxLength: 36 minLength: 1 type: string required: - new_card_token - previous_card_token type: object card_transition_request: properties: card_token: maxLength: 36 minLength: 1 type: string channel: enum: - API - IVR - FRAUD - ADMIN - SYSTEM type: string reason: maxLength: 255 minLength: 0 type: string reason_code: enum: - '00' - '01' - '02' - '03' - '04' - '05' - '06' - '07' - '08' - '09' - '10' - '11' - '12' - '13' - '14' - '15' - '16' - '17' - '18' - '19' - '20' - '21' - '22' - '23' - '24' - '25' - '26' - '27' - '28' - '29' - '30' - '31' - '32' type: string state: enum: - ACTIVE - LIMITED - SUSPENDED - TERMINATED readOnly: true type: string sync_state_with_dwts: readOnly: true type: boolean token: maxLength: 36 minLength: 1 type: string validations: $ref: '#/components/schemas/ValidationsRequest' required: - card_token - channel - state type: object card_transition_response: properties: barcode: type: string bulk_issuance_token: type: string card: $ref: '#/components/schemas/card_metadata' card_product_token: maxLength: 36 minLength: 0 type: string card_token: maxLength: 36 minLength: 1 type: string channel: enum: - API - IVR - FRAUD - ADMIN - SYSTEM type: string created_time: format: date-time type: string expedite: default: false type: boolean expiration: type: string expiration_time: type: string fulfillment: $ref: '#/components/schemas/CardFulfillmentRequest' fulfillment_status: enum: - ISSUED - ORDERED - REJECTED - SHIPPED - DELIVERED - DIGITALLY_PRESENTED type: string last_four: type: string new_pan_from_card_token: type: string pan: type: string pin_is_set: default: false type: boolean reason: maxLength: 255 minLength: 0 type: string reason_code: enum: - '00' - '01' - '02' - '03' - '04' - '05' - '06' - '07' - '08' - '09' - '10' - '11' - '12' - '13' - '14' - '15' - '16' - '17' - '18' - '19' - '20' - '21' - '22' - '23' - '24' - '25' - '26' - '27' - '28' - '29' - '30' - '31' - '32' type: string reissue_pan_from_card_token: type: string state: enum: - ACTIVE - SUSPENDED - TERMINATED - UNACTIVATED type: string token: maxLength: 36 minLength: 1 type: string type: enum: - fulfillment.issued - state.activated - state.suspended - state.reinstated - state.terminated - state.limited - fulfillment.ordered - fulfillment.rejected - fulfillment.shipped - fulfillment.delivered - fulfillment.digitally_presented readOnly: true type: string user: $ref: '#/components/schemas/cardholder_metadata' user_token: maxLength: 36 minLength: 1 type: string validations: $ref: '#/components/schemas/ValidationsResponse' required: - barcode - card_product_token - card_token - channel - expiration - expiration_time - fulfillment_status - last_four - pan - pin_is_set - state - token - type - user_token type: object card_update_request: properties: expedite: default: false type: boolean fulfillment: $ref: '#/components/schemas/CardFulfillmentRequest' metadata: additionalProperties: type: string type: object token: maxLength: 36 minLength: 1 type: string user_token: maxLength: 36 minLength: 1 type: string required: - token type: object cardholder_authentication_data: description: |- Contains authentication data for 3D Secure and digital wallet token transactions: * `electronic_commerce_indicator` – The level of verification performed. * `verification_result` – The result of the verification. * `verification_value_created_by` – The transaction participant who determined the verification result. * `three_ds_message_version` – The 3D Secure message version used for authentication. * `authentication_method` – The 3D Secure authentication method. * `authentication_status` – The 3D Secure authentication status. * `acquirer_exemption` – Indicates a 3D Secure authentication exemption from the acquirer. * `issuer_exemption` – Indicates a 3D Secure authentication exemption from the issuer. * `cavv_authentication_amount` – CAVV authentication amount. * `raw_cavv_data` – Raw CAVV data provided by the card network. properties: acquirer_exemption: description: |- Indicates 3D Secure authentication exemptions from the acquirer. This array is returned if it is included in the transaction data from the card network. items: type: string type: array authentication_method: description: Specifies the 3D Secure authentication method. type: string authentication_status: description: |- Specifies the status of the 3D Secure authentication: * `ATTEMPTED`: Indicates that 3D Secure authentication was requested and processed by the card network. * `DATA_SHARE_EXEMPTED`: Indicates that 3D Secure authentication was for information only and exempted. * `EXEMPTED`: Indicates that 3D Secure authentication was requested but the challenge was exempted. * `EXEMPTION_CLAIMED`: Indicates that 3D Secure authentication was exempted because acquirer transaction risk analysis (TRA) was already performed. * `SCA_EXEMPTION`: Indicates that 3D Secure authentication was exempted because strong customer authentication (SCA) was already performed. * `SUCCESSFUL`: Indicates that 3D Secure authentication was successful. * `SUCCESSFUL_NON_PAYMENT`: Indicates that 3D Secure non-payment authentication was successful. * `THREEDS_REQUESTER_DATA_SHARE_EXEMPTION`: Status is deprecated and will be removed from a future release of the Marqeta platform. After June 2023, use `DATA_SHARE_EXEMPTION` instead. * `THREEDS_REQUESTER_SCA_EXEMPTION`: Status is deprecated and will be removed in a June 2023 release of the Marqeta platform. After June 2023, use `SCA_EXEMPTION` instead. * `THREEDS_REQUESTER_TRA_EXEMPTION`: Status is deprecated and will be removed in a June 2023 release of the Marqeta platform. After June 2023, use `EXEMPTION_CLAIMED` instead. * `UNAVAILABLE`: ** For Visa transactions, this status indicates that 3D Secure authentication was requested, but Marqeta's access control server (ACS) was not available. ** For Mastercard transactions, this status indicates that 3D Secure authentication was not available. type: string cavv_authentication_amount: description: |- Authentication amount from the cardholder authentication verification value (CAVV) used to validate an authorization. This field is returned if it is included in the transaction data from the card network. To enable this field, contact your Marqeta representative. type: string electronic_commerce_indicator: description: |- Status of the 3D Secure or digital wallet token transaction authentication attempt, as provided by a transaction participant. * `authentication_attempted`: Merchant attempted to authenticate, but either the issuer or the cardholder does not participate in 3D Secure or card tokenization. * `authentication_successful`: Cardholder authentication successful. * `no_authentication`: Non-authenticated e-commerce transaction. type: string issuer_exemption: description: |- Indicates a 3D Secure authentication exemption from the issuer. This field is returned if it is included in the transaction data from the card network. type: string raw_cavv_data: description: |- Raw cardholder authentication verification value provided by the card network. This field is returned if it is included in the transaction data from the card network. To enable this field, contact your Marqeta representative. type: string three_ds_data_quality: type: string three_ds_message_version: description: Specifies the 3D Secure message version used for authentication. type: string three_ds_reference_id: type: string threeds_reference_id: description: The 3D Secure authentication indicator, as provided by the Mastercard card network. type: string verification_result: description: |- Result of cardholder authentication verification value (CAVV) or accountholder authentication value (AAV) verification performed by the card network. * `failed` * `not_present` * `not_provided` * `not_verified` * `not_verified_authentication_outage` * `verified` * `verified_amount_checked` * `verified_amount_greater_than_20_percent`: For Mastercard AAV verification, indicates that the original authentication amount and final authorization amount are mismatched, and that the final authorization amount exceeds the original authentication amount by more than 20%. This 20% margin falls outside Mastercard's suggested tolerance for what a European cardholder might reasonably expect when the total transaction amount is not known in advance. * `verified_amount_less_than_20_percent`: For Mastercard AAV verification, indicates that the original authentication amount and final authorization amount are mismatched, and that the final authorization amount exceeds the original authentication amount by 20% or less. This 20% margin falls within Mastercard's suggested tolerance for what a European cardholder might reasonably expect when the total transaction amount is not known in advance. * `not_verified_mac_key_validation_passed`: For Mastercard only. This field is present when the transaction passes MAC key validation but Dynamic Linking was not performed by the Mastercard card network due to system connectivity issues. * `not_verified_mac_key_validation_failed`: For Mastercard only. This field is present when the transaction fails MAC key validation and Dynamic Linking was not performed by the Mastercard card network due to system connectivity issues. type: string verification_value_created_by: description: Transaction participant who determined the verification result. type: string type: object cardholder_balance: description: Returns general purpose account (GPA) balances for a user or business. properties: available_balance: description: |- Ledger balance minus any authorized transactions that have not yet cleared. Also known as the cardholder's purchasing power. When using JIT Funding, this balance is usually equal to $0.00. type: number balances: additionalProperties: $ref: '#/components/schemas/cardholder_balance' description: Contains GPA balance information, organized by currency code. type: object cached_balance: description: Not currently in use. type: number credit_balance: description: Not currently in use. type: number currency_code: description: Three-digit ISO 4217 currency code. type: string impacted_amount: description: Balance change based on the amount of the transaction. type: number last_updated_time: description: Date and time when the resource was last updated, in UTC. format: date-time type: string ledger_balance: description: |- When using standard funding: The funds that are available to spend immediately, including funds from any authorized transactions that have not yet cleared. When using Just-in-Time (JIT) Funding: Authorized funds that are currently on hold, but not yet cleared. type: number pending_credits: description: ACH loads that have been accepted, but for which the funding time has not yet elapsed. type: number required: - available_balance - balances - cached_balance - credit_balance - currency_code - last_updated_time - ledger_balance - pending_credits type: object cardholder_balances: properties: gpa: $ref: '#/components/schemas/cardholder_balance' links: items: $ref: '#/components/schemas/link' type: array uniqueItems: true required: - gpa - links type: object cardholder_metadata: description: Contains customer-provided information about the cardholder that performed the transaction. properties: metadata: additionalProperties: type: string description: Associates customer-provided metadata with the cardholder. type: object type: object cardholder_note_request_model: properties: created_by: maxLength: 255 minLength: 0 type: string created_by_user_role: enum: - USER - ADMIN - BANK_USER - BANK_ADMIN - MARQETA_PD - MARQETA_ADMIN type: string description: type: string private: default: false type: boolean token: maxLength: 36 minLength: 1 type: string required: - created_by - description type: object cardholder_note_response_model: properties: created_by: maxLength: 255 minLength: 0 type: string created_by_user_role: enum: - USER - ADMIN - BANK_USER - BANK_ADMIN - MARQETA_PD - MARQETA_ADMIN type: string created_time: format: date-time type: string description: type: string last_modified_time: format: date-time type: string private: default: false type: boolean token: maxLength: 36 minLength: 1 type: string required: - created_by - description type: object cardholder_note_update_request_model: properties: description: type: string required: - description type: object carrier: description: Specifies attributes of the card carrier. properties: logo_file: description: Specifies an image to display on the card carrier. type: string logo_thumbnail_file: description: Specifies a thumbnail-sized rendering of the image specified in the `logo_file` field. type: string message_file: description: Specifies a text file containing a custom message to print on the card carrier. type: string message_line: description: Specifies a custom message that appears on the card carrier. type: string template_id: description: Specifies the card carrier template to use. type: string type: object chargeback_allocation_ack_request: properties: chargeback_token: type: string token: type: string required: - chargeback_token type: object chargeback_funding_source_model: allOf: - $ref: '#/components/schemas/funding_source_model' - properties: credit: type: boolean name: type: string required: - credit - name type: object chargeback_request: properties: amount: exclusiveMinimum: false minimum: 0.01 type: number channel: enum: - GATEWAY - GATEWAY_AUTOMATED - ISSUER - ISSUER_AUTOMATED type: string credit_user: default: true type: boolean memo: maxLength: 1024 minLength: 1 type: string pre_initiated: type: boolean reason_code: description: Either 'reason_code' or 'reason_description' is required type: string reason_description: description: Either 'reason_description' or 'reason_code' is required enum: - SERVICE_NOT_PROVIDED_MERCHANDISE_NOT_RECEIVED - CANCELLED_RECURRING_TRANSACTION - NOT_AS_DESCRIBED_OR_DEFECTIVE_MERCHANDISE - FRAUD_MULTIPLE_TRANSACTIONS - FRAUD_TRANSACTION - NO_AUTHORIZATION - LATE_PRESENTMENT - TRANSACTION_NOT_RECOGNIZED - INCORRECT_CURRENCY - INCORRECT_TRANSACTION_CODE - INCORRECT_CURRENCY_OR_TRANSACTION_CODE - INCORRECT_TRANSACTION_AMOUNT - INCORRECT_ACCOUNT_NUMBER - INCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER - NOT_AUTHORIZED_CARD_PRESENT - NOT_AUTHORIZED_CARD_ABSENT - CREDIT_NOT_PROCESSED - NON_RECEIPT_OF_CASH_OR_LOAD_TRANSACTION_VALUE_AT_ATM - DUPLICATE_PROCESSING_OR_PAID_BY_OTHER_MEANS type: string regulation_type: type: string status: enum: - ARBITRATION - CASE_LOST - CASE_WON - INITIATED - NETWORK_REJECTED - PREARBITRATION - PRE_INITIATED - REPRESENTMENT - WITHDRAWN - WRITTEN_OFF_ISSUER - WRITTEN_OFF_PROGRAM type: string token: maxLength: 36 minLength: 1 type: string transaction_token: maxLength: 36 minLength: 1 type: string required: - amount - channel - transaction_token type: object chargeback_response: description: Contains the chargeback object associated with this transaction if a chargeback has been initiated. properties: amount: description: Amount of the chargeback. exclusiveMinimum: false minimum: 0.01 type: number channel: description: Channel the chargeback came through. enum: - GATEWAY - GATEWAY_AUTOMATED - ISSUER - ISSUER_AUTOMATED type: string created_time: description: |- Date and time when the chargeback was created. Not returned for transactions when the associated chargeback is in the `INITIATED` state. format: date-time type: string credit_user: default: false description: Whether to credit the user for the chargeback amount. type: boolean last_modified_time: description: |- Date and time when the chargeback was last modified. Not returned for transactions when the associated chargeback is in the `INITIATED` state. format: date-time type: string memo: description: Additional comments about the chargeback. maxLength: 1024 minLength: 1 type: string network: description: Network handling the chargeback. enum: - MARQETA - DISCOVER - MASTERCARD - PULSE - VISA type: string network_case_id: description: Network-assigned identifier of the chargeback. maxLength: 50 minLength: 0 type: string reason_code: description: Identifies the standardized reason for the chargeback. type: string state: description: State of the case. enum: - INITIATED - REPRESENTMENT - PREARBITRATION - ARBITRATION - CASE_WON - CASE_LOST - NETWORK_REJECTED - WITHDRAWN type: string token: description: Unique identifier of the chargeback. maxLength: 36 minLength: 1 type: string transaction_token: description: Unique identifier of the transaction being charged back. maxLength: 36 minLength: 1 type: string required: - amount - channel - created_time - credit_user - last_modified_time - network - state - token - transaction_token type: object chargeback_transition_request: properties: amount: description: Representment or prearbitration amount; this is for transitioning to Representment or Prearbitration only exclusiveMinimum: false minimum: 0.01 type: number chargeback_token: maxLength: 36 minLength: 1 type: string reason: maxLength: 1024 minLength: 1 type: string regulation_type: type: string state: enum: - REPRESENTMENT - PREARBITRATION - PREARB_RESPONDED - ARBITRATION - CASE_WON - CASE_LOST - WRITTEN_OFF_ISSUER - WRITTEN_OFF_PROGRAM type: string token: maxLength: 36 minLength: 1 type: string type: type: string required: - chargeback_token - state type: object chargeback_transition_response: properties: amount: type: number channel: enum: - GATEWAY - GATEWAY_AUTOMATED - ISSUER - ISSUER_AUTOMATED type: string chargeback_token: maxLength: 36 minLength: 1 type: string created_time: description: yyyy-MM-ddTHH:mm:ssZ format: date-time type: string last_modified_time: description: yyyy-MM-ddTHH:mm:ssZ format: date-time type: string previous_state: enum: - INITIATED - REPRESENTMENT - PREARBITRATION - ARBITRATION - CASE_WON - CASE_LOST - NETWORK_REJECTED - WITHDRAWN type: string reason: maxLength: 1024 minLength: 0 type: string state: enum: - INITIATED - REPRESENTMENT - PREARBITRATION - ARBITRATION - CASE_WON - CASE_LOST - NETWORK_REJECTED - WITHDRAWN - WRITTEN_OFF_ISSUER - WRITTEN_OFF_PROGRAM type: string token: maxLength: 36 minLength: 0 type: string transaction_token: maxLength: 36 minLength: 0 type: string type: enum: - initiated - representment - prearbitration - arbitration - case.won - case.lost - network.rejected - written.off.issuer - written.off.program type: string required: - channel - chargeback_token - created_time - last_modified_time - previous_state - state - token - type type: object clearing_and_settlement: properties: overdraft_destination: default: GPA description: Default value of GPA does not apply when JIT funding is enabled enum: - GPA - MSA - MERCHANT_CAMPAIGN_ACCOUNT - GLOBAL_OVERDRAFT_ACCOUNT type: string type: object click_to_pay_check_eligibility_response: properties: image_assets: description: List of image assets for the Click to Pay logo if `include_asset` is set to `true` in the request. items: $ref: '#/components/schemas/media_content' type: array is_eligible: default: false description: |- Indicates whether the `bin_prefix` is eligible for Click to Pay. * `true`: The `bin_prefix` is eligible for Click to Pay. * `false`: The `bin_prefix` is not eligible for Click to Pay. type: boolean type: object click_to_pay_enroll_request: properties: basic_auth_password: description: |- Basic auth password to access your callback URL if authentication type is basic. If authentication type is basic, both username and password are required. maxLength: 50 minLength: 20 type: string basic_auth_username: description: |- Basic auth username to access your callback URL if authentication type is basic. If authentication type is basic, both username and password are required. maxLength: 50 minLength: 1 type: string callback_authentication_type: description: |- The type of authentication required for the callback URL. * `OAUTH_BEARER_TOKEN`: OAuth bearer token for the callback URL. * `BASIC_AUTH`: Basic auth username and password for the callback URL. enum: - OAUTH_BEARER_TOKEN - BASIC_AUTH type: string callback_secret_for_signature: description: |- Randomly chosen string used for implementing HMAC-SHA1. HMAC-SHA1 provides an added layer of security by authenticating the message and validating message integrity. Using this functionality requires that your callback endpoint verify the message signature. For information about implementing this functionality, see <</developer-guides/signature-verification, Signature Verification>>. maxLength: 50 minLength: 20 type: string callback_url: description: The URL to which the Click to Pay request status is sent via webhooks. type: string card_token: description: Unique identifier of the card resource. maxLength: 36 minLength: 1 type: string locale_country: description: |- The user-provided country code. The ISO 3166 country code is a two-letter country code that represents a country. For example, the numeric code for the United States is `US`. The ISO maintains the link:https://www.iso.org/iso-3166-country-codes.html[ISO-3166 country codes, window="_blank"]. maxLength: 2 minLength: 2 type: string locale_language: description: |- The user-provided language choice. The ISO 639-2 language code is a two-letter country code that represents a language. The ISO maintains the link:https://id.loc.gov/vocabulary/iso639-2.html[ISO 639-2 language codes, window="_blank"]. maxLength: 2 minLength: 2 type: string oauth_bearer_token: description: OAuth bearer token to access your callback URL if the `callback_authentication_type` is `OAUTH_BEARER_TOKEN`. type: string user_details: description: User's email address and mobile phone number with country code. items: $ref: '#/components/schemas/click_to_pay_enroll_request_user_details' type: array user_token: description: Unique identifier of the cardholder. maxLength: 36 minLength: 1 type: string required: - card_token - locale_country - locale_language - user_details - user_token type: object click_to_pay_enroll_request_user_details: description: User's email address and mobile phone number with country code. properties: email_address: description: User's email address. type: string mobile_number: $ref: '#/components/schemas/click_to_pay_enroll_request_user_mobile_number' required: - email_address - mobile_number type: object click_to_pay_enroll_request_user_mobile_number: description: User's mobile phone number and country code. properties: country_code: description: User's mobile phone number country code only. type: string phone_number: description: User's mobile phone number without country code. type: string required: - country_code - phone_number type: object click_to_pay_enroll_response: properties: token: description: Unique identifier of the Click to Pay request. maxLength: 36 minLength: 1 type: string type: object click_to_pay_status_response: properties: status: description: |- The status of the Click to Pay request. * `SUCCESS`: The Click to Pay request was successful. * `FAILED`: The Click to Pay request failed. * `RECEIVED`: The Click to Pay request was received. enum: - SUCCESS - FAILED - RECEIVED type: string token: description: Unique identifier of the Click to Pay request, used to track the status of the request. maxLength: 36 type: string token_reference_id: description: Unique identifier of the digital wallet token within the card network. type: string type: object client_access_token_request: properties: application_token: description: Unique identifier of the `application` object. maxLength: 255 minLength: 1 type: string card_token: description: Unique identifier of the card whose sensitive information you want to display. maxLength: 255 minLength: 1 type: string required: - card_token type: object client_access_token_response: properties: application: $ref: '#/components/schemas/Application' card_token: description: Unique identifier of the card whose sensitive information you want to display. type: string created: description: Date and time when the client access token was created, in UTC. format: date-time type: string expires: description: Date and time when the client access token expires, in UTC. format: date-time type: string token: description: Value of the client access token to redeem when displaying sensitive card data. type: string type: object commando_mode_enables: properties: auth_controls: items: type: string type: array ignore_card_suspended_state: default: false type: boolean program_funding_source: type: string use_cache_balance: default: false type: boolean velocity_controls: items: type: string maxItems: 2147483647 minItems: 1 type: array required: - program_funding_source type: object commando_mode_nested_transition: properties: channel: enum: - API - SYSTEM - ADMIN type: string commando_enabled: default: false type: boolean reason: type: string username: type: string required: - channel - commando_enabled type: object commando_mode_response: properties: commando_mode_enables: $ref: '#/components/schemas/commando_mode_enables' created_time: description: yyyy-MM-ddTHH:mm:ssZ format: date-time type: string current_state: $ref: '#/components/schemas/commando_mode_nested_transition' last_modified_time: description: yyyy-MM-ddTHH:mm:ssZ format: date-time type: string program_gateway_funding_source_token: type: string real_time_standin_criteria: $ref: '#/components/schemas/real_time_standin_criteria' token: type: string required: - created_time - last_modified_time type: object commando_mode_transition_response: properties: commando_mode_token: type: string created_time: description: yyyy-MM-ddTHH:mm:ssZ format: date-time type: string name: type: string token: type: string transition: $ref: '#/components/schemas/commando_mode_nested_transition' type: type: string required: - created_time type: object config: description: Allows for configuration options for this group, including control over the expiration of authorizations and automatic increases to the authorization amount. properties: authorization_controls: $ref: '#/components/schemas/authorization_controls' type: object control_token_request: properties: card_token: description: The unique identifier of the card for which you want to generate a control token. maxLength: 36 minLength: 1 type: string controltoken_type: description: |- Specifies the type of action completed by this request. *WARNING:* Sending a request to this endpoint with a `REVEAL_PIN` control token requires PCI DSS compliance. The lifespan of the control token depends on the token type: * *SET_PIN:* 60 minutes * *REVEAL_PIN:* 5 minutes enum: - SET_PIN - REVEAL_PIN type: string required: - card_token type: object control_token_response: properties: control_token: description: |- Unique value generated as a result of issuing a `POST` request to the `/pins/controltoken` endpoint. This value cannot be updated. type: string required: - control_token type: object currency_conversion: description: Contains information about currency conversion. properties: network: $ref: '#/components/schemas/network' type: object customer_due_diligence_request: properties: answer: type: string question: type: string token: maxLength: 36 minLength: 1 type: string required: - answer - question type: object customer_due_diligence_response: properties: account_token: type: string answer: type: string bank: type: string question: type: string token: type: string type: type: string required: - account_token - answer - bank - question - token - type type: object customer_due_diligence_update_response: properties: answer: type: string type: object deposit_account: properties: account_number: type: string allow_immediate_credit: default: false type: boolean business_token: type: string routing_number: type: string token: type: string user_token: type: string required: - account_number - routing_number - token type: object xml: name: deposit_account deposit_account_update_request: properties: allow_immediate_credit: default: false type: boolean type: object xml: name: deposit_account_update_request device: description: Contains information related to the device being provisioned. properties: device_id: description: Identity number of the device. type: string ip_address: description: Device's IP address. type: string language_code: description: Language the device is configured to use. type: string location: description: Geographic coordinates of the device. type: string name: description: Name of the device. type: string phone_number: description: Device's telephone number. type: string token: description: Unique identifier of the device object. type: string type: description: Type of device being provisioned. type: string type: object digital_service_provider: properties: cvm_authentication_indicator: type: string cvm_authentication_method: type: string first_authentication_factor: type: string second_authentication_factor: type: string type: object digital_wallet_android_pay_provision_request: properties: card_token: description: Unique identifier of the card resource to use for the provisioning request. maxLength: 36 minLength: 1 type: string device_id: description: Unique identifier of the user's Google device, as provided by Google during the provisioning process. maxLength: 24 minLength: 1 type: string device_type: description: Type of device into which the digital wallet token will be provisioned. enum: - MOBILE_PHONE - WATCH - TABLET - WEARABLE_DEVICE - HOUSEHOLD_DEVICE - AUTOMOBILE_DEVICE type: string provisioning_app_version: description: |- Version of the application making the provisioning request. Used for debugging and fraud prevention. maxLength: 50 minLength: 1 type: string wallet_account_id: description: User's Google Wallet account ID, as provided by Google during the provisioning process. maxLength: 50 minLength: 1 type: string required: - card_token - device_id - device_type - provisioning_app_version - wallet_account_id type: object digital_wallet_android_pay_provision_response: properties: card_token: description: Unique identifier of the card resource to use for the provisioning request. type: string created_time: description: Date and time when the digital wallet provisioning request was created, in UTC. format: date-time type: string last_modified_time: description: Date and time when the digital wallet token provisioning request was last updated, in UTC. format: date-time type: string push_tokenize_request_data: $ref: '#/components/schemas/android_push_tokenize_request_data' required: - card_token - created_time - last_modified_time - push_tokenize_request_data type: object digital_wallet_apple_pay_provision_request: properties: card_token: description: Unique identifier of the card resource to use for the provisioning request. maxLength: 36 minLength: 1 type: string certificates: description: |- Base64-encoded leaf and sub-CA certificates provided by Apple. The first element of the array should be the leaf certificate, followed by the sub-CA. items: description: |- Base64-encoded leaf and sub-CA certificates provided by Apple. The first element of the array should be the leaf certificate followed by the sub-CA. type: string type: array device_type: description: Type of device into which the digital wallet token will be provisioned. enum: - MOBILE_PHONE - WATCH - TABLET - WEARABLE_DEVICE - HOUSEHOLD_DEVICE - AUTOMOBILE_DEVICE type: string nonce: description: One-time-use nonce provided by Apple for security purposes. type: string nonce_signature: description: Apple-provided signature to the nonce. type: string provisioning_app_version: description: |- Version of the application making the provisioning request. Used for debugging and fraud prevention. maxLength: 50 minLength: 1 type: string required: - card_token - certificates - device_type - nonce - nonce_signature - provisioning_app_version type: object digital_wallet_apple_pay_provision_response: properties: activation_data: description: Cryptographic one-time passcode conforming to the payment network operator or service provider specifications. type: string card_token: description: Unique identifier of the card resource to use for the provisioning request. type: string created_time: description: Date and time when the digital wallet provisioning request was created, in UTC. format: date-time type: string encrypted_pass_data: description: Payload encrypted with a shared key derived from the Apple Public Certificates and the generated ephemeral private key. type: string ephemeral_public_key: description: Ephemeral public key used for the provisioning attempt. type: string last_modified_time: description: Date and time when the digital wallet token provisioning request was last updated, in UTC. format: date-time type: string required: - activation_data - card_token - created_time - encrypted_pass_data - ephemeral_public_key - last_modified_time type: object digital_wallet_samsung_pay_provision_request: properties: card_token: description: Unique identifier of the card resource to use for the provisioning request. maxLength: 36 minLength: 1 type: string device_id: description: User's Samsung device unique identifier, as provided by Samsung during the provisioning process. maxLength: 24 minLength: 1 type: string device_type: description: Type of device into which the digital wallet token will be provisioned. enum: - MOBILE_PHONE - WATCH - TABLET - WEARABLE_DEVICE - HOUSEHOLD_DEVICE - AUTOMOBILE_DEVICE type: string provisioning_app_version: description: |- Version of the application making the provisioning request. Used for debugging and fraud prevention. maxLength: 50 minLength: 1 type: string wallet_user_id: description: User's Samsung Wallet account ID, as provided by Samsung during the provisioning process. maxLength: 50 minLength: 1 type: string required: - card_token - device_id - device_type - provisioning_app_version - wallet_user_id type: object digital_wallet_samsung_pay_provision_response: properties: card_token: description: Unique identifier of the card resource to use for the provisioning request. type: string created_time: description: Date and time when the digital wallet provisioning request was created, in UTC. format: date-time type: string last_modified_time: description: Date and time when the digital wallet token provisioning request was last updated, in UTC. format: date-time type: string push_tokenize_request_data: $ref: '#/components/schemas/samsung_push_tokenize_request_data' required: - card_token - created_time - last_modified_time - push_tokenize_request_data type: object digital_wallet_token: description: |- Contains information about the digital wallet that funded the transaction. Returned for all transactions funded by a digital wallet or related to digital wallet token provisioning. For more on digital wallets, see the <</core-api/digital-wallets-management, Digital Wallets Management>> API reference and <</developer-guides/digital-wallets-and-tokenization, Digital Wallets and Tokenization>> developer guide. properties: address_verification: $ref: '#/components/schemas/address_verification' card_token: description: Unique identifier of the card. type: string created_time: description: Date and time when the digital wallet token object was created, in UTC. format: date-time type: string device: $ref: '#/components/schemas/device' fulfillment_status: description: |- Digital wallet token's provisioning status. For fulfillment status descriptions, see <</core-api/digital-wallets-management#postDigitalwallettokentransitions, Create digital wallet token transition>>. type: string issuer_eligibility_decision: description: |- The Marqeta platform's decision as to whether the digital wallet token should be provisioned. * *0000* – The token should be provisioned. * *token.activation.verification.required* – Provisioning is pending; further action is required for completion. For all other values, check the value of the `fulfillment_status` field to definitively ascertain the provisioning outcome. *NOTE:* The value `invalid.cid` indicates an invalid CVV2 number. type: string last_modified_time: description: Date and time when the digital wallet token object was last modified, in UTC. format: date-time type: string metadata: $ref: '#/components/schemas/digital_wallet_token_metadata' state: description: |- State of the digital wallet token. For state descriptions, see <</developer-guides/managing-the-digital-wallet-token-lifecycle#_transitioning_token_states, Transitioning Token States>>. type: string state_reason: description: Reason why the digital wallet token transitioned to its current state. type: string token: description: Unique identifier of the digital wallet token. type: string token_service_provider: $ref: '#/components/schemas/token_service_provider' transaction_device: $ref: '#/components/schemas/transaction_device' user: $ref: '#/components/schemas/user_card_holder_response' wallet_provider_profile: $ref: '#/components/schemas/wallet_provider_profile' type: object digital_wallet_token_address_verification: properties: validate: default: true description: Specifies whether or not the address used for address verification is valid. type: boolean type: object digital_wallet_token_hash: description: Contains identifiers of the digital wallet token resource and the card resource. properties: card_token: description: Unique identifier of the card resource to use for the provisioning request. maxLength: 36 minLength: 1 type: string token: description: Unique identifier of the digital wallet token resource. maxLength: 36 minLength: 1 type: string required: - token type: object digital_wallet_token_metadata: description: Contains additional information about the digital wallet token. properties: cardproduct_preferred_notification_language: description: |- Language specified in the `config.transaction_controls.notification_language` field of the card product: * *ces* – Czech * *deu* – German * *eng* – English * *fra* – French * *grc* – Greek * *ita* – Italian * *nld* – Dutch * *pol* – Polish * *prt* – Portuguese * *rou* – Romanian * *spa* – Spanish * *swe* – Swedish By default, notifications are sent in English. The ISO maintains the link:https://www.iso.org/iso-3166-country-codes.html[full list of ISO 3166 two- and three-digit numeric country codes, window="_blank"]. type: string issuer_product_config_id: description: Unique identifier of the product configuration on the Marqeta platform. type: string type: object digital_wallet_token_transition_request: properties: channel: description: Mechanism by which the transition was initiated. enum: - TOKEN_SERVICE_PROVIDER - TOKEN_SERVICE_PROVIDER_API - DIGITAL_WALLET - API - IVR - FRAUD - ADMIN - SYSTEM type: string digital_wallet_token: $ref: '#/components/schemas/digital_wallet_token_hash' reason: description: The reason for the transition. maxLength: 255 minLength: 0 type: string reason_code: description: |- Standard code describing the reason for the transition. *NOTE:* This field is required if your program uses v2 of the `user_card_state_version`, which is a program-specific configuration value that is managed by Marqeta and cannot be accessed via the API. To learn more about the `user_card_state_version` program configuration, contact your Marqeta representative. * *00:* Object activated for the first time * *01:* Requested by you * *02:* Inactivity over time * *03:* This address cannot accept mail or the addressee is unknown * *04:* Negative account balance * *05:* Account under review * *06:* Suspicious activity was identified * *07:* Activity outside the program parameters was identified * *08:* Confirmed fraud was identified * *09:* Matched with an Office of Foreign Assets Control list * *10:* Card was reported lost * *11:* Card information was cloned * *12:* Account or card information was compromised * *13:* Temporary status change while on hold/leave * *14:* Initiated by Marqeta * *15:* Initiated by issuer * *16:* Card expired * *17:* Failed KYC * *18:* Changed to `ACTIVE` because information was properly validated * *19:* Changed to `ACTIVE` because account activity was properly validated * *20:* Change occurred prior to the normalization of reason codes * *21:* Initiated by a third party, often a digital wallet provider * *22:* PIN retry limit reached * *23:* Card was reported stolen * *24:* Address issue * *25:* Name issue * *26:* SSN issue * *27:* DOB issue * *28:* Email issue * *29:* Phone issue * *30:* Account/fulfillment mismatch * *31:* Other reason enum: - '00' - '01' - '02' - '03' - '04' - '05' - '06' - '07' - '08' - '09' - '10' - '11' - '12' - '13' - '14' - '15' - '16' - '17' - '18' - '19' - '20' - '21' - '22' - '23' - '24' - '25' - '26' - '27' - '28' - '29' - '30' - '31' - '32' type: string state: description: |- Specifies the state to which the digital wallet token will transition. The original state is `REQUESTED`. You cannot modify the state if its current value is either `REQUEST_DECLINED` or `TERMINATED`. enum: - ACTIVE - SUSPENDED - TERMINATED type: string token: description: |- The unique identifier of the digital wallet token transition (not the identifier of the digital wallet token itself). If you do not include a value for the `token` field, the system will generate one automatically. This value is necessary for use in other API calls, so we recommend that rather than let the system generate one, you use a simple string that is easy to remember. This value cannot be updated. maxLength: 36 minLength: 1 type: string token_reference_id: description: |- The unique identifier of the digital wallet token within the card network. The `token_reference_id` is unique at the card network level. type: string required: - digital_wallet_token - state type: object digital_wallet_token_transition_response: properties: card_swap: $ref: '#/components/schemas/card_swap_hash' channel: description: Mechanism by which the transition was initiated. enum: - TOKEN_SERVICE_PROVIDER - DIGITAL_WALLET - API - IVR - FRAUD - ADMIN - SYSTEM - TOKEN_SERVICE_PROVIDER_API type: string created_time: description: Date and time when the transition was created, in UTC. format: date-time type: string digital_wallet_token: $ref: '#/components/schemas/digital_wallet_token_hash' fulfillment_status: description: Provisioning status of the digital wallet token. enum: - DECISION_RED - DECISION_YELLOW - DECISION_GREEN - REJECTED - PROVISIONED type: string reason: description: Reason for the transition. maxLength: 255 minLength: 0 type: string reason_code: description: |- Standard code describing the reason for the transition: * *00:* Object activated for the first time * *01:* Requested by you * *02:* Inactivity over time * *03:* This address cannot accept mail or the addressee is unknown * *04:* Negative account balance * *05:* Account under review * *06:* Suspicious activity was identified * *07:* Activity outside the program parameters was identified * *08:* Confirmed fraud was identified * *09:* Matched with an Office of Foreign Assets Control list * *10:* Card was reported lost * *11:* Card information was cloned * *12:* Account or card information was compromised * *13:* Temporary status change while on hold/leave * *14:* Initiated by Marqeta * *15:* Initiated by issuer * *16:* Card expired * *17:* Failed KYC * *18:* Changed to `ACTIVE` because information was properly validated * *19:* Changed to `ACTIVE` because account activity was properly validated * *20:* Change occurred prior to the normalization of reason codes * *21:* Initiated by a third party, often a digital wallet provider * *22:* PIN retry limit reached * *23:* Card was reported stolen * *24:* Address issue * *25:* Name issue * *26:* SSN issue * *27:* DOB issue * *28:* Email issue * *29:* Phone issue * *30:* Account/fulfillment mismatch * *31:* Other reason enum: - '00' - '01' - '02' - '03' - '04' - '05' - '06' - '07' - '08' - '09' - '10' - '11' - '12' - '13' - '14' - '15' - '16' - '17' - '18' - '19' - '20' - '21' - '22' - '23' - '24' - '25' - '26' - '27' - '28' - '29' - '30' - '31' - '32' type: string state: description: Specifies the state to which the digital wallet token is transitioning. enum: - REQUESTED - REQUEST_DECLINED - ACTIVE - SUSPENDED - TERMINATED type: string token: description: Unique identifier of the digital wallet token transition, and not the identifier of the digital wallet token itself. maxLength: 36 minLength: 1 type: string type: description: |- Type of digital wallet token transition. `state.activated`, for example. maxLength: 36 minLength: 0 readOnly: true type: string required: - channel - digital_wallet_token - fulfillment_status - state - token - type type: object digital_wallet_x_pay_provision_request: properties: card_token: description: Unique identifier of the card resource to use for the provisioning request. maxLength: 36 minLength: 1 type: string device_id: description: Unique identifier of the user's XPay device, as provided by XPay during the provisioning process. maxLength: 24 minLength: 1 type: string device_type: description: Type of device into which the digital wallet token will be provisioned. enum: - MOBILE_PHONE - WATCH - TABLET - WEARABLE_DEVICE - HOUSEHOLD_DEVICE - AUTOMOBILE_DEVICE type: string provisioning_app_version: description: |- Version of the application making the provisioning request. Used for debugging and fraud prevention. maxLength: 50 minLength: 1 type: string token_requestor_id: description: |- Unique numerical identifier of the digital wallet token requestor within the card network. These ID numbers map to `token_requestor_name` field values as follows: *Mastercard* * 50110030273 – `APPLE_PAY` * 50120834693 – `ANDROID_PAY` * 50139059239 – `SAMSUNG_PAY` *Visa* * 40010030273 – `APPLE_PAY` * 40010075001 – `ANDROID_PAY` * 40010043095 – `SAMSUNG_PAY` * 40010075196 – `MICROSOFT_PAY` * 40010075338 – `VISA_CHECKOUT` * 40010075449 – `FACEBOOK` * 40010075839 – `NETFLIX` * 40010077056 – `FITBIT_PAY` * 40010069887 – `GARMIN_PAY` maxLength: 11 minLength: 0 type: string wallet_account_id: description: User's XPay account identifier, as provided by XPay during the provisioning process. maxLength: 50 minLength: 1 type: string required: - card_token - device_id - device_type - provisioning_app_version - token_requestor_id - wallet_account_id type: object digital_wallet_x_pay_provision_response: properties: card_token: description: Unique identifier of the card resource to use for the provisioning request. type: string created_time: description: Date and time when the digital wallet provisioning request was created, in UTC. format: date-time type: string last_modified_time: description: Date and time when the digital wallet token provisioning request was last updated, in UTC. format: date-time type: string push_tokenize_request_data: $ref: '#/components/schemas/xpay_push_tokenize_request_data' required: - card_token - created_time - last_modified_time - push_tokenize_request_data type: object direct_deposit_account_request: properties: allow_immediate_credit: default: false type: boolean business_token: description: Required if 'user_token' is null maxLength: 36 minLength: 1 type: string customer_due_diligence: description: Required if account type = Checking items: $ref: '#/components/schemas/customer_due_diligence_request' type: array token: maxLength: 36 minLength: 1 type: string type: enum: - DEPOSIT_ACCOUNT - CHECKING - SAVINGS type: string user_token: description: Required if 'business_token' is null maxLength: 36 minLength: 1 type: string type: object direct_deposit_account_response: properties: account_number: maxLength: 17 minLength: 13 type: string allow_immediate_credit: default: false type: boolean business_token: maxLength: 36 minLength: 36 type: string created_time: description: yyyy-MM-ddTHH:mm:ssZ format: date-time type: string last_modified_time: description: yyyy-MM-ddTHH:mm:ssZ format: date-time type: string routing_number: maxLength: 9 minLength: 9 type: string state: maxLength: 10 minLength: 6 type: string token: maxLength: 36 minLength: 36 type: string type: maxLength: 36 minLength: 7 type: string user_token: maxLength: 36 minLength: 36 type: string required: - account_number - allow_immediate_credit - business_token - created_time - last_modified_time - routing_number - state - token - user_token type: object direct_deposit_account_transition_request: properties: account_token: maxLength: 36 minLength: 1 type: string channel: enum: - API - IVR - FRAUD - ADMIN - SYSTEM - NETWORK - PROD_SUPPORT - UNSUPPORTED type: string reason: maxLength: 255 minLength: 1 type: string state: enum: - ACTIVE - SUSPENDED - TERMINATED - UNSUPPORTED - UNACTIVATED - LIMITED type: string token: maxLength: 36 minLength: 1 type: string required: - account_token - channel type: object direct_deposit_account_transition_response: properties: account_token: maxLength: 36 minLength: 36 type: string business_token: maxLength: 36 minLength: 36 type: string channel: maxLength: 10 minLength: 6 type: string created_time: description: yyyy-MM-ddTHH:mm:ssZ format: date-time type: string reason: maxLength: 255 minLength: 0 type: string state: maxLength: 10 minLength: 6 type: string token: maxLength: 36 minLength: 36 type: string user_token: maxLength: 36 minLength: 36 type: string required: - account_token - business_token - channel - created_time - reason - state - token - user_token type: object direct_deposit_funding_source_model: allOf: - $ref: '#/components/schemas/funding_source_model' - properties: name: type: string required: - name type: object early_funds_request_model: properties: bank_transfer_token: maxLength: 36 minLength: 0 type: string type: object echo_ping_request: properties: payload: description: Payload of the ping request. type: string token: description: Unique identifier of the ping request. type: string type: object echo_ping_response: properties: id: type: string payload: type: string success: default: false type: boolean type: object error_message_from_web_push_provisioning_request: properties: error_code: description: Code for the error that occurred. example: '400401' type: string error_message: description: Descriptive error message. example: 'Invalid input(s): invalid user token' type: string required: - error_code - error_message type: object expiration_offset: properties: unit: description: specify if a value is provided; default is card product expiration offset unit enum: - YEARS - MONTHS - DAYS - HOURS - MINUTES - SECONDS type: string value: description: specify if unit is provided; default is card product expiration offset value format: int32 type: integer type: object fee: description: Contains details about the fee. properties: amount: description: Amount of the fee. type: number created_time: description: Date and time when the `fees` object was created, in UTC. format: date-time type: string currency_code: description: Three-digit ISO 4217 currency code. type: string last_modified_time: description: Date and time when the `fees` object was last modified, in UTC. format: date-time type: string name: description: Name of the fee. type: string tags: description: Descriptive metadata about the fee. type: string token: description: Unique identifier of the `fees` object. type: string required: - amount - created_time - currency_code - last_modified_time - name - token type: object fee_attributes: description: Describes the attributes of a fee. properties: reason: description: Describes the reason for the fee. type: string region: description: Describes the region in which the fee is assessed. type: string status: description: Describes the status of the fee. type: string transaction_type: description: Specifies the transaction type in which the fee was assessed. type: string type: object fee_detail: description: Contains details about a fee. properties: fee: $ref: '#/components/schemas/fee' memo: description: Additional text that describes the fee transfer. maxLength: 99 minLength: 1 type: string tags: description: Descriptive metadata about the fee. maxLength: 255 minLength: 0 type: string token: description: Unique identifier of the fee. maxLength: 36 minLength: 1 type: string transaction_token: description: Unique identifier of the fee transaction. type: string required: - fee - token - transaction_token type: object fee_model: description: |- Contains attributes that define characteristics of one or more fees. This array is returned in the response when it is included in the request. properties: memo: description: Additional text that describes the fee. maxLength: 99 minLength: 1 type: string tags: description: Descriptive metadata about the fee. maxLength: 255 minLength: 0 type: string token: description: Unique identifier of the fee. maxLength: 36 minLength: 1 type: string required: - token type: object fee_refund_request: description: Specifies the fee to refund. properties: original_fee_transaction_token: description: "Unique identifier of the fee to be refunded. \n\nYou can find\ \ this token in the response of the original `/feecharges` or `/gpaorders`\ \ request used to assess the standalone fee or from the webhook corresponding\ \ to the original request.\nYou can also send a `GET` request to `/transactions?type=fee.charges`\ \ to retrieve a list of fee transactions." type: string tags: description: Descriptive metadata about the fee. type: string type: object fee_request: properties: active: default: true description: Indicates whether the fee is active. type: boolean amount: description: Amount of the fee. type: number category: description: Specifies if the fee is a standalone fee or a real-time fee. enum: - STANDALONE - REALTIME type: string currency_code: description: Three-digit ISO 4217 currency code. type: string fee_attributes: $ref: '#/components/schemas/fee_attributes' name: description: Name of the fee request. maxLength: 50 minLength: 1 type: string tags: description: Descriptive metadata about the fee. maxLength: 255 minLength: 1 type: string token: description: |- Unique identifier of the fee. If you do not include a token, the system will generate one automatically. This token is necessary for use in other API calls, so Marqeta recommends that rather than let the system generate one, you use a simple string that is easy to remember. This value cannot be updated. maxLength: 36 minLength: 1 type: string type: description: Specifies if the fee is a flat fee or a percentage of the transaction amount. enum: - FLAT - PERCENTAGE type: string required: - amount - currency_code - name type: object fee_response: description: Contains details about the fee. properties: active: description: Specifies whether the fee is active. readOnly: true type: boolean amount: description: Amount of the fee. type: number category: description: Specifies if the fee is a standalone fee or a real-time fee. readOnly: true type: string created_time: description: Date and time when the `fees` object was created, in UTC. format: date-time readOnly: true type: string currency_code: description: Three-digit ISO 4217 currency code. readOnly: true type: string fee_attributes: $ref: '#/components/schemas/fee_attributes' last_modified_time: description: Date and time when the `fees` object was last modified, in UTC. format: date-time readOnly: true type: string name: description: Name of the fee. type: string tags: description: Descriptive metadata about the fee. type: string token: description: Unique identifier of the `fees` object. type: string type: description: Specifies if the fee is a flat fee or a percentage of the transaction amount. readOnly: true type: string required: - active - amount - created_time - currency_code - last_modified_time - name - token type: object fee_transfer_request: properties: business_token: description: |- Specifies the business account holder to which the fee applies. Pass either `business_token` or `user_token`, not both. maxLength: 36 minLength: 1 type: string fees: description: Contains attributes that define characteristics of one or more fees. items: $ref: '#/components/schemas/fee_model' type: array tags: description: Metadata about the transfer. maxLength: 255 minLength: 0 type: string token: description: |- Unique identifier of the fee transfer. If you do not include a token, the system will generate one automatically. This token is necessary for use in other API calls, so we recommend that rather than let the system generate one, you use a simple string that is easy to remember. This value cannot be updated. maxLength: 36 minLength: 1 type: string user_token: description: |- Specifies the user account holder to which the fee applies. Pass either `user_token` or `business_token`, not both. maxLength: 36 minLength: 1 type: string required: - business_token - fees - user_token type: object fee_transfer_response: description: Contains information about a fee charge, including the amount, currency code, and user or business token. properties: business_token: description: Specifies the business account holder to which the fee applies. maxLength: 36 minLength: 1 type: string created_time: description: Date and time when the `fee_charge` object was created, in UTC. format: date-time type: string fees: description: Contains attributes that define characteristics of one or more fees. items: $ref: '#/components/schemas/fee_detail' type: array tags: description: |- Metadata about the fee charge. This field is returned if it exists in the resource. maxLength: 255 minLength: 0 type: string token: description: Unique identifier of the fee transfer. maxLength: 36 minLength: 1 type: string user_token: description: Specifies the user account holder to which the fee applies. maxLength: 36 minLength: 1 type: string required: - business_token - created_time - fees - token - user_token type: object fee_update_request: properties: active: default: true description: Indicates whether the fee is active. type: boolean amount: description: Amount of the fee. type: number category: enum: - STANDALONE - REALTIME type: string currency_code: description: Three-digit ISO 4217 currency code. type: string fee_attributes: $ref: '#/components/schemas/fee_attributes' name: description: Name of the fee request. maxLength: 50 minLength: 1 type: string tags: description: Descriptive metadata about the fee. maxLength: 255 minLength: 1 type: string type: description: Specifies if this is a flat fee or a percentage of the transaction amount. enum: - FLAT - PERCENTAGE type: string type: object financial_request_model: properties: amount: type: number card_acceptor: $ref: '#/components/schemas/card_acceptor_model' card_token: maxLength: 36 minLength: 1 type: string cash_back_amount: type: number is_pre_auth: default: false type: boolean mid: maxLength: 50 minLength: 1 type: string pin: maxLength: 15 minLength: 1 type: string transaction_options: $ref: '#/components/schemas/transaction_options' webhook: $ref: '#/components/schemas/webhook' required: - amount - card_acceptor - card_token - mid type: object flex: description: Contains information about a Flexible Credential transaction. properties: action: description: Indicates whether the Flexible Credential transaction object is actionable (`inquiry`) or merely informative (`advice`). enum: - inquiry - advice type: string eligible: description: Indicates if the transaction is eligible for Flexible Credential transactions or not. type: string eligible_products: description: |- Specifies which of the payment instrument's credentials is eligible for this transaction: * A value of `DEBIT` indicates the primary credential. * A value of `LOAN` indicates the secondary credential. items: type: string type: array secondary_credential_identifier: description: Identifies the secondary credential used in the transaction, if applicable. type: string selected_product: description: Indicates the eligible product that was used in the transaction. type: string type: object fraud_view: description: Contains one or more fraud determinations by the card network that apply to either the transaction or the cardholder's account. properties: issuer_processor: $ref: '#/components/schemas/issuer_fraud_view' network: $ref: '#/components/schemas/network_fraud_view' network_account_intelligence_score: $ref: '#/components/schemas/network_account_intelligence_score' type: object fulfillment_address_request: properties: address1: maxLength: 255 minLength: 0 type: string address2: maxLength: 255 minLength: 0 type: string city: maxLength: 40 minLength: 0 type: string country: maxLength: 40 minLength: 0 type: string first_name: maxLength: 40 minLength: 0 type: string last_name: maxLength: 40 minLength: 0 type: string middle_name: maxLength: 40 minLength: 0 type: string phone: maxLength: 20 minLength: 0 type: string postal_code: maxLength: 10 minLength: 0 type: string state: maxLength: 32 minLength: 0 type: string zip: maxLength: 10 minLength: 0 type: string type: object funding: description: Contains funding information for the transaction, including funding amount, type, and time. properties: amount: description: Amount of funds loaded into the GPA. type: number gateway_log: $ref: '#/components/schemas/gateway_log_model' source: $ref: '#/components/schemas/funding_source_model' source_address: $ref: '#/components/schemas/CardholderAddressResponse' required: - source type: object funding_account_response_model: properties: account_suffix: description: |- Account identifier appended to the bank account number. This field is returned if it exists in the resource. type: string account_type: description: |- Type of account. This field is returned if it exists in the resource. type: string active: default: false description: |- Specifies whether the account is active. This field is returned if it exists in the resource. type: boolean business_token: description: |- Unique identifier of the business account holder. This token is returned if a `user_token` is not specified. type: string created_time: description: Date and time when the resource was created, in UTC. format: date-time type: string date_sent_for_verification: description: |- Date and time in UTC when the request for account validation was sent to the third-party partner. This field is returned if it exists in the resource. format: date-time type: string date_verified: description: |- Date and time when the account was verified, in UTC. This field is returned if it exists in the resource. format: date-time type: string exp_date: description: |- Payment card expiration date. This field is returned if it exists in the resource. type: string is_default_account: default: false description: |- If there are multiple funding sources, this field specifies which source is used by default in funding calls. If there is only one funding source, the system ignores this field and always uses that source. This field is returned if it exists in the resource. type: boolean last_modified_time: description: Date and time when the resource was last modified, in UTC. format: date-time type: string link_partner_account_reference_token: type: string name_on_account: description: |- Name on the account. This field is returned if it exists in the resource. type: string partner: description: |- Name of the partner who validated the account holder. Returned when a third-party partner was used for account validation. type: string partner_account_link_reference_token: description: |- Supplied by the account validation partner, this value is a reference to the account holder's details, such as the account number and routing number. Returned when a third-party partner was used for account validation. type: string token: description: |- Unique identifier of the funding source. This field is returned if it exists in the resource. type: string type: description: Funding source type. type: string user_token: description: |- Unique identifier of the user account holder. This token is returned if a `business_token` is not specified. type: string verification_notes: description: |- Free-form text field for holding notes about verification. This field is returned only if `verification_override = true`. type: string verification_override: default: false description: |- Allows the ACH funding source to be used regardless of its verification status. *NOTE:* When using `PLAID` to validate a funding source, this field is always set to `true`. type: boolean verification_status: description: |- Account verification status. This field is returned if it exists in the resource. type: string required: - created_time - last_modified_time type: object funding_source_model: description: Contains funding source information for the transaction, including the funding type and time. discriminator: mapping: bankaccount: '#/components/schemas/bank_account_funding_source_model' chargeback: '#/components/schemas/chargeback_funding_source_model' directdeposit: '#/components/schemas/direct_deposit_funding_source_model' paymentcard: '#/components/schemas/payment_card_funding_source_model' program: '#/components/schemas/program_funding_source_model' programgateway: '#/components/schemas/program_gateway_funding_source_model' propertyName: type properties: active: default: false description: Whether the funding source is active. type: boolean created_time: description: Date and time when the funding source was created, in UTC. format: date-time type: string is_default_account: default: false description: Whether the GPA order unload's funding source is the default funding account. type: boolean last_modified_time: description: Date and time when the funding source was last modified, in UTC. format: date-time type: string token: description: Unique identifier of the funding source. type: string type: description: Funding type of the funding source. type: string required: - active - created_time - is_default_account - last_modified_time - token - type type: object funding_tranlog: properties: account: $ref: '#/components/schemas/internal_account' account2: $ref: '#/components/schemas/internal_account' acquirer: type: string acquirerFee: type: number acquirerReferenceId: type: string actingCardholder: $ref: '#/components/schemas/internal_user' additionalAmount: type: number amount: type: number approvalNumber: type: string ca_city: type: string ca_country: type: string ca_name: type: string ca_region: type: string ca_street: type: string ca_zip: type: string captureDate: format: date-time type: string card: $ref: '#/components/schemas/internal_card' cardholder: $ref: '#/components/schemas/internal_user' currencyCode: type: string date: format: date-time type: string digital_wallet_token: $ref: '#/components/schemas/InternalDigitalWallet' displayMessage: type: string duration: format: int32 type: integer expirationTime: format: date-time type: string extrc: type: string forwardingInstId: type: string functionCode: type: string gatewayLog: $ref: '#/components/schemas/InternalGatewayLog' gpaorder: $ref: '#/components/schemas/InternalGPAOrder' incomingNetworkRequestITC: type: string irc: type: string issuerFee: type: number itc: type: string layer: format: int32 type: integer localTransactionDate: format: date-time type: string mcc: type: string mid: type: string network: type: string networkMid: type: string networkReferenceId: type: string node: type: string originator: type: string payload: $ref: '#/components/schemas/transaction_model' rc: type: string reasonCode: type: string ref_transaction: $ref: '#/components/schemas/internal_authorization_transaction' remoteHost: type: string requestAmount: type: number responseAmount: type: number responseCode: type: string retrievalReferenceNumber: type: string returnedBalances: type: string settlementDate: format: date-time type: string stan: type: string subNetwork: type: string tags: type: string tid: type: string token: type: string tranlogAttributes: additionalProperties: type: string type: object transactionState: enum: - PENDING - CLEARED - COMPLETION - DECLINED - ERROR - ALL type: string transactionType: type: string transaction_name: type: string transmissionDate: format: date-time type: string required: - gatewayLog - gpaorder - network - node - subNetwork - token - transactionType type: object gateway_log_model: description: Contains information from the JIT Funding gateway in response to a funding request. properties: duration: description: Length of time in milliseconds that the gateway took to respond to a funding request. format: int64 type: integer message: description: |- Message about the status of the funding request. Useful for determining whether it was approved and completed successfully, declined by the gateway, or timed out. type: string order_number: description: Customer order number, same value as `transaction.token`. type: string response: $ref: '#/components/schemas/gateway_response' timed_out: default: false description: Whether the gateway sent a response (`true`) or timed out (`false`). type: boolean transaction_id: description: Customer-defined identifier for the transaction. type: string required: - message - order_number - transaction_id type: object gateway_program_custom_header_update_request: properties: custom_header: additionalProperties: type: string description: "Additional custom information included in the HTTP header.\ \ \nFor example, this might contain security information, along with Basic\ \ Authentication, when making a JIT Funding request. \nCustom headers\ \ also appear in the associated webhook's notifications. " type: object type: object gateway_program_funding_source_request: properties: active: description: Indicates whether the program gateway funding source is active. type: boolean basic_auth_password: description: Password for authenticating your environment. maxLength: 100 minLength: 20 type: string basic_auth_username: description: Username for authenticating your environment. maxLength: 50 minLength: 1 type: string custom_header: additionalProperties: type: string description: |- Additional custom information included in the HTTP header. For example, this might contain security information, along with Basic Authentication, when making a JIT Funding request. Custom headers also appear in the associated webhook's notifications. type: object name: description: Name of the program gateway funding source. maxLength: 50 minLength: 1 type: string timeout_millis: description: Total timeout in milliseconds for gateway processing. format: int64 maximum: 7000 minimum: 1000 type: integer token: description: |- Unique identifier of the program gateway funding source. If you do not include a token, the system will generate one automatically. As this token is necessary for use in other calls, we recommend that you define a simple and easy to remember string rather than letting the system generate a token for you. This value cannot be updated. maxLength: 36 minLength: 1 type: string url: description: URL of the gateway endpoint hosted in your environment, to which `POST` requests are submitted by the Marqeta platform. maxLength: 250 minLength: 0 type: string use_mtls: default: false description: |- Specifies whether or not to use mutual transport layer security (mTLS) authentication for the funding request. mTLS authentication is in the beta testing phase, and is not yet generally available. Contact your Marqeta representative for more information about using mTLS authentication. type: boolean required: - basic_auth_password - basic_auth_username - name - url type: object gateway_program_funding_source_response: properties: account: description: Bank account number. type: string active: description: |- Indicates whether the program gateway funding source is active. This field is returned if it exists in the resource. type: boolean basic_auth_password: description: Password for authenticating your environment. type: string basic_auth_username: description: Username for authenticating your environment. type: string created_time: description: Date and time when the resource was created, in UTC. format: date-time type: string custom_header: additionalProperties: type: string description: Additional custom information included in the HTTP header. type: object last_modified_time: description: Date and time when the resource was last modified, in UTC. format: date-time type: string name: description: Name of the program gateway funding source. maxLength: 50 minLength: 1 type: string timeout_millis: description: Total timeout in milliseconds for gateway processing. format: int64 type: integer token: description: Unique identifier of the program gateway funding source. maxLength: 36 minLength: 1 type: string url: description: URL of the gateway endpoint hosted in your environment, to which `POST` requests are submitted by the Marqeta platform. type: string use_mtls: default: false description: |- Specifies whether or not to use mutual transport layer security (mTLS) authentication for the funding request. mTLS authentication is in the beta testing phase, and is not yet generally available. Contact your Marqeta representative for more information about using mTLS authentication. type: boolean version: description: Program gateway funding source object version. type: string required: - account - basic_auth_password - basic_auth_username - created_time - custom_header - last_modified_time - name - timeout_millis - token - url - use_mtls - version type: object gateway_program_funding_source_update_request: properties: active: description: Indicates whether the program gateway funding source is active. type: boolean basic_auth_password: description: Password for authenticating your environment. maxLength: 100 minLength: 20 type: string basic_auth_username: description: Username for authenticating your environment. maxLength: 50 minLength: 1 type: string custom_header: additionalProperties: type: string description: |- Additional custom information included in the HTTP header. For example, this might contain security information, along with Basic Authentication, when making a JIT Funding request. Custom headers also appear in the associated webhook's notifications. type: object name: description: Name of the program gateway funding source. maxLength: 50 minLength: 1 type: string timeout_millis: description: Total timeout in milliseconds for gateway processing. format: int64 maximum: 7000 minimum: 1000 type: integer url: description: URL of the gateway endpoint hosted in your environment, to which `POST` requests are submitted by the Marqeta platform. maxLength: 250 minLength: 0 type: string use_mtls: default: false description: |- Specifies whether or not to use mutual transport layer security (mTLS) authentication for the funding request. mTLS authentication is in the beta testing phase, and is not yet generally available. Contact your Marqeta representative for more information about using mTLS authentication. type: boolean required: - basic_auth_password - basic_auth_username - url type: object gateway_response: description: Contains information from the gateway in response to a funding request. properties: code: description: Code received from the gateway. type: string data: $ref: '#/components/schemas/jit_program_response' required: - code type: object gpa: description: Defines the type of order. properties: reload_amount: description: |- Available balance on the card after the reload has completed. This value must be greater than or equal to the value of `trigger_amount`. Note that this is not the same as the amount added to the card, which will vary from reload to reload. minimum: 0.01 type: number trigger_amount: description: |- Threshold that determines when the reload happens. The reload is triggered when the card balance falls below this amount. minimum: 0.01 type: number required: - reload_amount - trigger_amount type: object gpa_request: properties: amount: description: Amount to fund. type: number business_token: description: |- Unique identifier of the business. Pass either a `business_token` or a `user_token`, not both. Send a `GET` request to `/businesses` to retrieve business tokens. maxLength: 36 minLength: 1 type: string currency_code: description: Three-digit ISO 4217 currency code. type: string fees: description: List of fees associated with the funding transaction. items: $ref: '#/components/schemas/fee_model' type: array funding_source_address_token: description: |- Unique identifier of the funding source address to use for this order. If your funding source is an ACH account, then a funding source address is not required. If your funding source is a payment card, you must have at least one funding source address in order to create a GPA order. Send a `GET` request to `/fundingsources/addresses/user/{token}` to retrieve addresses for a specific user. maxLength: 36 minLength: 1 type: string funding_source_token: description: |- Unique identifier of the funding source to use for this order. You do not have to supply a funding source token value in this call if you have a default funding source set up (verify the funding source's `is_default_account` field). If you have only one funding source, then this source is used as the default. If you have multiple funding sources and none are configured as the default, then an error is returned. Send a `GET` request to `/fundingsources/user/{user_token}` to retrieve funding source tokens for a user or to `/fundingsources/business/{business_token}` to retrieve funding source tokens for a business. maxLength: 36 minLength: 1 type: string memo: description: Additional descriptive text. maxLength: 99 minLength: 1 type: string tags: description: Comma-delimited list of tags describing the GPA order. maxLength: 255 minLength: 1 type: string token: description: |- Unique identifier of the GPA order. If you do not include a token, the system will generate one automatically. This token is necessary for use in other calls, so we recommend that rather than let the system generate one, you use a simple string that is easy to remember. This value cannot be updated. maxLength: 36 minLength: 1 type: string user_token: description: |- Unique identifier of the user. Pass either a `user_token` or a `business_token`, not both. Send a `GET` request to `/users` to retrieve business tokens. maxLength: 36 minLength: 1 type: string required: - amount - currency_code - funding_source_token type: object gpa_response: description: |- Contains information about a GPA order, including fees, funding sources, and addresses. See <</core-api/gpa-orders, GPA Orders>> for more information. properties: amount: description: Amount funded. type: number business_token: description: |- Unique identifier of the business. This field is returned if it exists in the resource. type: string created_time: description: Date and time when the GPA order was created, in UTC. format: date-time type: string currency_code: description: Three-digit ISO 4217 currency code. type: string fees: description: |- List of fees associated with the funding transaction. This array is returned if it exists in the resource. items: $ref: '#/components/schemas/fee_detail' type: array funding: $ref: '#/components/schemas/funding' funding_source_address_token: description: Unique identifier of the funding source address to use for this order. type: string funding_source_token: description: Unique identifier of the funding source to use for this order. type: string gateway_message: description: |- Message about the status of the funding request. Useful for determining whether it was approved and completed successfully, declined by the gateway, or timed out. This field is returned if it exists in the resource. type: string gateway_token: description: |- Unique identifier of the JIT Funding request and response. This field is returned if it exists in the resource. format: int64 type: integer jit_funding: $ref: '#/components/schemas/jit_funding_api' last_modified_time: description: Date and time when the GPA order was last modified, in UTC. format: date-time type: string memo: description: |- Additional descriptive text. This field is returned if it exists in the resource. type: string response: $ref: '#/components/schemas/response' state: description: Current status of the funding transaction. type: string tags: description: |- Comma-delimited list of tags describing the GPA order. This field is returned if it exists in the resource. type: string token: description: Unique identifier of the GPA order. type: string transaction_token: description: Unique identifier of the transaction being funded. type: string user_token: description: |- Unique identifier of the user resource. This field is returned if it exists in the resource. type: string required: - amount - created_time - currency_code - funding - funding_source_token - last_modified_time - response - state - token - transaction_token type: object gpa_returns: description: Contains information about a GPA unload order. properties: amount: description: Amount of funds returned to the funding source. type: number created_time: description: Date and time when the GPA unload order was created, in UTC. format: date-time type: string funding: $ref: '#/components/schemas/funding' funding_source_address_token: description: Identifies the funding source used for this order. type: string funding_source_token: description: Identifies the funding source used for this order. type: string jit_funding: $ref: '#/components/schemas/jit_funding_api' last_modified_time: description: Date and time when the GPA unload order was last modified, in UTC. format: date-time type: string memo: description: Additional descriptive text. type: string original_order_token: description: Identifies the original GPA order. type: string response: $ref: '#/components/schemas/response' state: description: Current status of the GPA unload order. type: string tags: description: Comma-delimited list of tags describing the GPA order. type: string token: description: Unique identifier of the GPA unload order. type: string transaction_token: description: Unique identifier of the transaction. type: string required: - amount - created_time - funding - funding_source_token - last_modified_time - response - state - token - transaction_token type: object hold_increase: description: Controls automatic increases to the authorization amount for MCCs specified in this group. properties: type: default: AMOUNT description: Controls whether the `value` field represents a fixed amount or a percentage of the authorization amount. enum: - AMOUNT - PERCENT - UP_TO_LIMIT type: string value: description: |- Specifies the amount of the automatic increase to the authorization amount. The `type` field controls whether this amount is a fixed amount or a percentage. type: number required: - type - value type: object images: description: Specifies personalized images that appear on the card. properties: card: $ref: '#/components/schemas/images_card' carrier: $ref: '#/components/schemas/ImagesCarrier' carrier_return_window: $ref: '#/components/schemas/images_carrier_return_window' signature: $ref: '#/components/schemas/images_signature' type: object images_card: description: Specifies personalized images that appear on the card. properties: name: description: Specifies a PNG image to display on the card. type: string thermal_color: description: Specifies the color of the image displayed on the card. type: string type: object images_carrier_return_window: description: Specifies a custom image to display in the return address window of the card carrier envelope. properties: name: description: Specifies a PNG image to display in the return address window of envelopes used for sending cards to cardholders. type: string type: object images_signature: description: Specifies an image of the cardholder's signature. properties: name: description: Specifies a PNG image of the cardholder's signature. type: string type: object in_app_provisioning: properties: address_verification: $ref: '#/components/schemas/digital_wallet_token_address_verification' enabled: default: false description: Specifies if in-app provisioning is enabled. type: boolean type: object installment_data: description: Contains the installment plan identifier used by the Visa Transaction Matching Service for Issuers. properties: installment_plan_identifier: description: |- (_Visa only_) Visa Transaction Matching Service for Issuers identifier. This identifier matches a transaction on the Marqeta platform to an installment plan or Pay by Points transaction on the Visa card network. type: string type: object internal_account: properties: cardholder_account: type: boolean code: type: string final_account: type: boolean id: format: int64 type: integer subclass: type: string required: - code - id - subclass type: object internal_authorization_transaction: properties: account: $ref: '#/components/schemas/internal_account' account2: $ref: '#/components/schemas/internal_account' acquirer: type: string acquirerFee: type: number acquirerReferenceId: type: string actingCardholder: $ref: '#/components/schemas/internal_user' additionalAmount: type: number amount: type: number approvalNumber: type: string ca_city: type: string ca_country: type: string ca_name: type: string ca_region: type: string ca_street: type: string ca_zip: type: string captureDate: format: date-time type: string card: $ref: '#/components/schemas/internal_card' cardholder: $ref: '#/components/schemas/internal_user' currencyCode: type: string date: format: date-time type: string digital_wallet_token: $ref: '#/components/schemas/InternalDigitalWallet' displayMessage: type: string duration: format: int32 type: integer expirationTime: format: date-time type: string extrc: type: string feesModel: items: $ref: '#/components/schemas/network_fee_model' type: array forwardingInstId: type: string functionCode: type: string incomingNetworkRequestITC: type: string irc: type: string isFinancialAdvice: type: boolean issuerFee: type: number itc: type: string layer: format: int32 type: integer localTransactionDate: format: date-time type: string mcc: type: string mid: type: string network: type: string networkMid: type: string networkReferenceId: type: string node: type: string originator: type: string payload: $ref: '#/components/schemas/transaction_model' rc: type: string reasonCode: type: string ref_transaction: $ref: '#/components/schemas/internal_authorization_transaction' remoteHost: type: string requestAmount: type: number responseAmount: type: number responseCode: type: string retrievalReferenceNumber: type: string returnedBalances: type: string settlementDate: format: date-time type: string stan: type: string subNetwork: type: string tags: type: string tid: type: string token: type: string tranlogAttributes: additionalProperties: type: string type: object transactionState: enum: - PENDING - CLEARED - COMPLETION - DECLINED - ERROR - ALL type: string transactionType: type: string transaction_name: type: string transmissionDate: format: date-time type: string required: - network - node - subNetwork - token - transactionType type: object internal_card: properties: card_pin_block: type: string card_product: $ref: '#/components/schemas/internal_card_product' contactless_consecutive_count: format: int32 type: integer contactless_consecutive_total_spend: type: number expiration_time: format: date-time type: string hash: type: string id: format: int64 type: integer is_offline_pin_set_required: type: boolean kid: type: string last_four: type: string lvp_consecutive_count: format: int32 type: integer lvp_consecutive_total_spend: type: number metadata: additionalProperties: type: string type: object nameline1: type: string secureData: type: string serviceCode: type: string state: enum: - ACTIVE - SUSPENDED - TERMINATED - UNSUPPORTED - UNACTIVATED - LIMITED type: string token: type: string user: $ref: '#/components/schemas/internal_user' required: - card_product - id - last_four - token - user type: object internal_card_product: properties: card_product_config: additionalProperties: type: string type: object id: format: int64 type: integer token: type: string type: object internal_funding_source: properties: account: type: string active: type: boolean created_time: format: date-time type: string debit_account: $ref: '#/components/schemas/internal_account' id: type: string is_default_account: type: boolean last_modified_time: format: date-time type: string name: type: string token: type: string type: type: string required: - token type: object internal_transaction_message: properties: authorization_tranlog: $ref: '#/components/schemas/internal_authorization_transaction' context: additionalProperties: properties: { } type: object type: object credit_debit_indicator: enum: - CREDIT - DEBIT - NONE type: string funding_tranlog: $ref: '#/components/schemas/funding_tranlog' processing_start_time_millis: format: int64 type: integer velocity_caches: items: $ref: '#/components/schemas/VelocityCache' type: array required: - authorization_tranlog type: object internal_user: properties: active: type: boolean corporate_card_holder: default: false type: boolean email: type: string first_name: type: string id: format: int64 type: integer last_name: type: string middle_name: type: string token: type: string type: type: string user_accounts: items: $ref: '#/components/schemas/internal_account' type: array uses_parent_account: default: false type: boolean type: object issuer_fraud_view: description: Contains one or more fraud determinations by the card network that apply to either the transaction or the cardholder's account. properties: fraud_score_reasons: items: type: string type: array recommended_action: description: The action recommended based on the fraud score. type: string risk_level: description: The fraud rating, or level of risk associated with the transaction. type: string riskcontrol_tags: description: The RiskControl tags that were triggered by the transaction. items: $ref: '#/components/schemas/riskcontrol_tags' type: array rule_violations: description: The rules violated by the transaction. items: type: string type: array score: description: |- The risk score generated by RiskControl. This is either the Mastercard Decision Intelligence or Visa Advance Authorization transaction risk score. format: int32 type: integer triggered_rules: description: Provides a list of rules triggered by a fraud event, along with the information on tags and rule characteristics. items: $ref: '#/components/schemas/triggered_rule' type: array type: object jit_account_name_verification: description: |- Contains account name verification data used to make JIT Funding decisions from one of the following objects: * The `gateway` object contains account name verification data from your JIT Funding gateway. * The `issuer` object contains account name verification data from the Marqeta platform. * The `request` object contains account name verification data as it appears in a JIT Funding request. properties: gateway: $ref: '#/components/schemas/account_name_verification_source' issuer: $ref: '#/components/schemas/account_name_verification_source' request: $ref: '#/components/schemas/ani_information_1' type: object jit_address_verification: description: Contains address verification data used to make JIT Funding decisions. properties: gateway: $ref: '#/components/schemas/address_verification_source' issuer: $ref: '#/components/schemas/address_verification_source' request: $ref: '#/components/schemas/avs_information' type: object jit_funding: properties: paymentcard_funding_source: $ref: '#/components/schemas/jit_funding_paymentcard_funding_source' program_funding_source: $ref: '#/components/schemas/jit_funding_program_funding_source' programgateway_funding_source: $ref: '#/components/schemas/jit_funding_programgateway_funding_source' type: object jit_funding_api: description: |- Contains information about the JIT Funding load event, in which funds are loaded into an account. This object is returned if your program uses JIT Funding. properties: account_name_verification: $ref: '#/components/schemas/jit_account_name_verification' acting_user_token: description: |- User who conducted the transaction. Can be a child user configured to share its parent's account balance. maxLength: 36 minLength: 0 type: string address_verification: $ref: '#/components/schemas/jit_address_verification' amount: description: Requested amount of funding. exclusiveMinimum: false minimum: 0 type: number anticipated_amount_supported: type: boolean balances: additionalProperties: $ref: '#/components/schemas/cardholder_balance' description: Contains the GPA's balance details. type: object business_token: description: Holder of the business account that was funded. maxLength: 36 minLength: 0 type: string decline_reason: description: Reason why the transaction was declined. enum: - INVALID_AMOUNT - INSUFFICIENT_FUNDS - TRANSACTION_NOT_PERMITTED - SUSPECTED_FRAUD - AMOUNT_LIMIT_EXCEEDED - TRANSACTION_COUNT_LIMIT_EXCEEDED - DUPLICATE_TRANSACTION - INVALID_MERCHANT - INVALID_CARD - NO_CREDIT_ACCOUNT - EXPIRED_CARD - NO_CHECKING_ACCOUNT - NO_SAVINGS_ACCOUNT - STOP_PAYMENT - REVOCATION_AUTHORIZATION_ORDER - REVOCATION_ALL_AUTHORIZATION_ORDER - SOFT_DECLINE_AUTHENTICATION_REQUIRED - CLOSED_ACCOUNT - SOFT_DECLINE_PIN_REQUIRED - CARD_NOT_ACTIVE - CARDHOLDER_NOT_ACTIVE type: string incremental_authorization_jit_funding_tokens: description: |- Array of tokens referencing the JIT Funding tokens of all previous associated incremental authorization JIT Funding requests. Useful for ascertaining the final transaction amount when the original amount was incremented. items: type: string type: array jit_account_name_verification: $ref: '#/components/schemas/jit_account_name_verification' memo: description: Additional information that describes the JIT Funding transaction. maxLength: 99 minLength: 0 type: string method: description: |- JIT Funding response type. See <</core-api/gateway-jit-funding-messages#_the_jit_funding_object, The jit_funding object>> for the purpose, funding event type, and description of each method. enum: - pgfs.authorization - pgfs.authorization.clearing - pgfs.authorization.advice - pgfs.authorization.incremental - pgfs.authorization.capture - pgfs.authorization.reversal - pgfs.authorization.cashback - pgfs.balanceinquiry - pgfs.auth_plus_capture - pgfs.refund - pgfs.refund.authorization - pgfs.refund.authorization.reversal - pgfs.refund.authorization.clearing - pgfs.force_capture - pgfs.authorization.capture.chargeback - pgfs.authorization.capture.chargeback.reversal - pgfs.pindebit - pgfs.pindebit.chargeback - pgfs.pindebit.chargeback.reversal - pgfs.pindebit.cashback - pgfs.pindebit.refund - pgfs.pindebit.authorization - pgfs.pindebit.authorization.clearing - pgfs.pindebit.authorization.reversal - pgfs.pindebit.atm.withdrawal - pgfs.pindebit.balanceinquiry - pgfs.pindebit.quasi.cash - pgfs.dispute.credit - pgfs.dispute.debit - pgfs.directdeposit.credit - pgfs.directdeposit.debit - pgfs.directdeposit.credit.reversal - pgfs.directdeposit.debit.reversal - pgfs.adjustment.credit - pgfs.adjustment.debit - pgfs.auth_plus_capture.standin - pgfs.authorization.standin - pgfs.network.load - pgfs.original.credit.authorization - pgfs.original.credit.auth_plus_capture - pgfs.original.credit.authorization.clearing - pgfs.original.credit.authorization.reversal - pgfs.billpayment - pgfs.billpayment.capture - pgfs.billpayment.reversal - pgfs.atm.withdrawal - pgfs.atm.clearing.withdrawal - pgfs.authorization.quasi.cash - pgfs.authorization.clearing.quasi.cash - pgfs.authorization.account_verification - pgfs.product.inquiry type: string original_jit_funding_token: description: |- Unique identifier of the first associated JIT Funding message. Useful for correlating related JIT Funding messages (that is, those associated with the same GPA order). Not included in the first of any set of related messages. maxLength: 36 minLength: 0 type: string tags: description: Customer-defined tags related to the JIT Funding transaction. maxLength: 255 minLength: 0 type: string token: description: |- Existing JIT Funding token matching the `funding.gateway_log.transaction_id` field of the associated GPA order. *NOTE:* The `transaction_id` field updates if a subsequent JIT Funding message associated with that GPA order is sent. If multiple JIT Funding messages are associated with the same GPA order, the `transaction_id` field matches the token of the most recent message. maxLength: 36 minLength: 0 type: string user_token: description: Holder of the user account that was funded. maxLength: 36 minLength: 0 type: string required: - amount - method - token - user_token type: object jit_funding_paymentcard_funding_source: properties: enabled: default: false type: boolean refunds_destination: enum: - GATEWAY - GPA - WATERFALL maxLength: 50 minLength: 0 type: string type: object jit_funding_program_funding_source: properties: enabled: default: false type: boolean funding_source_token: description: required if enabled maxLength: 36 minLength: 0 type: string refunds_destination: enum: - PROGRAM_FUNDING_SOURCE - GPA - WATERFALL maxLength: 50 minLength: 0 type: string type: object jit_funding_programgateway_funding_source: properties: always_fund: default: false type: boolean enabled: default: false type: boolean funding_source_token: description: Required if enabled maxLength: 36 minLength: 0 type: string refunds_destination: enum: - GATEWAY - GPA - WATERFALL maxLength: 50 minLength: 0 type: string type: object jit_program_response: description: Contains the gateway's information about the JIT Funding transaction. properties: flex: $ref: '#/components/schemas/flex' jit_funding: $ref: '#/components/schemas/jit_funding_api' network_metadata: $ref: '#/components/schemas/network_metadata' required: - jit_funding type: object kyc_request: properties: business_token: description: |- Specifies the business account holder on which to perform the identity check. Do not pass this field if your request includes the `user_token` field. Send a `GET` request to `/businesses` to retrieve business tokens. maxLength: 36 minLength: 1 type: string manual_override: default: false description: |- Set to `true` to designate a user account holder as having passed a verification check without Marqeta performing the check through one of its KYC providers. Use this override when you perform verification through another mechanism, such as an alternative KYC provider or directly with the account holder. You must obtain explicit, written approval from Marqeta before using the `manual_override` field for KYC verification. This feature is only available to programs that are enabled to perform their own Customer Identification Program (CIP) KYC verification. Consult your Marqeta representative for more information. type: boolean notes: description: |- Notes pertaining to a manual override. This field is returned in the response only when the `manual_override` field is set to `true`. maxLength: 255 minLength: 0 type: string reference_id: description: |- Can be specified only if `manual_override=true`. If you verified a user account holder's identity by performing a KYC verification outside of the Marqeta platform, you can use the `reference_id` field to store the reference number returned by that KYC provider. *NOTE:* When you submit a KYC verification request with `manual_override=false`, the Marqeta platform performs the verification through one of its KYC providers. If the KYC provider responds with a reference identifier, that identifier is passed to you by way of this field in the response. maxLength: 32 minLength: 0 type: string token: description: |- The unique identifier of the identity check. If you do not include a token, the system will generate one automatically. This token is necessary for use in other API calls, so we recommend that rather than let the system generate one, you use a simple string that is easy to remember. This value cannot be updated. maxLength: 36 minLength: 1 type: string user_token: description: |- Specifies the user account holder on which to perform the identity check. Do not pass this field if your request includes the `business_token` field. Send a `GET` request to `/users` to retrieve user tokens. maxLength: 36 minLength: 1 type: string type: object kyc_response: properties: business_token: description: The business account holder on which the identity check was performed. type: string created_time: description: Time when the KYC verification was performed. format: date-time type: string last_modified_time: description: Time when the KYC verification was last updated. format: date-time type: string manual_override: default: false description: |- If `true`, the user account holder is designated as having passed a verification check without Marqeta performing the check. This override is used when verification is performed through another mechanism, such as an alternative KYC provider or directly with the account holder. readOnly: true type: boolean notes: description: |- Notes pertaining to a manual override. This field is included in the response only when the `manual_override` field is set to `true`. readOnly: true type: string reference_id: description: |- If you verified the account holder's identity by performing a KYC verification outside of the Marqeta platform, you can use the `reference_id` field to store the reference number returned by that KYC provider. This field is included in the response only when the `manual_override` field is set to `true`. *NOTE:* When you submit a KYC verification request with `manual_override=false`, the Marqeta platform performs the verification through one of its KYC providers. If the KYC provider responds with a reference identifier, that identifier is passed to you by way of this field in the response. type: string result: $ref: '#/components/schemas/result' token: description: The unique identifier of the identity check. type: string user_token: description: The user account holder on which the identity check was performed. type: string required: - created_time - last_modified_time type: object link: properties: href: readOnly: true type: string method: type: string rel: type: string required: - href - method - rel type: object login_request_model: properties: email: description: Cardholder email address. type: string password: description: Password to the cardholder's user account on the Marqeta platform. maxLength: 255 minLength: 1 type: string user_token: description: |- Identifies the cardholder to log in. Send a `GET` request to `/users` to retrieve user tokens. maxLength: 36 minLength: 1 type: string type: object login_response_model: properties: access_token: $ref: '#/components/schemas/access_token_response' user: $ref: '#/components/schemas/user_card_holder_response' type: object manual_entry: properties: address_verification: $ref: '#/components/schemas/digital_wallet_token_address_verification' enabled: default: false description: Specifies if manual entry is enabled. type: boolean type: object mcc_group_model: properties: active: default: false description: Indicates if the group is active or inactive. type: boolean config: $ref: '#/components/schemas/config' mccs: description: |- The set of merchant category codes that you want to include in this group. For each element, valid characters are 0-9, and the length must be 4 digits. You can also specify a range like "9876-9880". An MCC can belong to more than one group. items: properties: { } type: object maxItems: 500 minItems: 0 type: array uniqueItems: true name: description: The name of the group. maxLength: 255 minLength: 0 type: string token: description: |- The unique identifier of the group. If you do not include a token, the system will generate one automatically. This token is necessary for use in other API calls, so we recommend that rather than let the system generate one, you use a simple string that is easy to remember. This value cannot be updated. maxLength: 36 minLength: 1 type: string required: - mccs - name type: object mcc_group_update_model: properties: active: default: false description: Indicates whether the MCC group is active or inactive. type: boolean config: $ref: '#/components/schemas/config' mccs: description: |- The set of merchant category codes that you want to include in this group. For each element, valid characters are 0-9, and the length must be 4 digits. You can also specify a range like "9876-9880". An MCC can belong to more than one group. Updating the merchant category codes for the group completely replaces the group's existing codes. For example, if the current MCC group is `["1234"]` and you want to add the 2345 code (while retaining the existing code), you must specify `["1234", "2345"]` in this field. items: type: string maxItems: 500 minItems: 1 type: array uniqueItems: true name: description: The name of the MCC group. type: string type: object media_content: properties: data: description: Media data content. type: string height: description: |- Height of non-SVG image asset. Specified in pixels. type: string type: description: | Type of media. Specified as Multipurpose Internet Mail Extension (MIME). Supported media types include: * application/pdf * image/png * image/svg+xml * text/plain * text/html type: string width: description: |- Width of non-SVG image asset. Specified in pixels. type: string type: object merchant_card_request: properties: card_product_token: maxLength: 36 minLength: 1 type: string expedite: default: false type: boolean expiration_offset: $ref: '#/components/schemas/expiration_offset' metadata: additionalProperties: type: string type: object required: - card_product_token type: object merchant_group_request: properties: active: default: false description: Indicates if the merchant group is active or not. type: boolean mids: description: |- Comma-separated list of alphanumeric merchant identifiers. You can include merchant identifiers in multiple merchant groups. items: type: string maxItems: 4000 minItems: 1 type: array uniqueItems: true name: description: Name of the merchant group. maxLength: 40 minLength: 1 type: string token: description: |- Unique identifier of the group. If you do not include a token, the system will generate one automatically. This token is necessary for use in other API calls, so we recommend that rather than let the system generate one, you use a simple string that is easy to remember. This value cannot be updated. maxLength: 36 minLength: 1 type: string required: - name type: object merchant_group_response: properties: active: default: false description: Indicates if the merchant group is active or not. type: boolean created_time: description: Date and time when the resource was created, in UTC. format: date-time type: string last_modified_time: description: Date and time when the resource was last modified, in UTC. format: date-time type: string mids: description: Comma-separated list of alphanumeric merchant identifiers. items: type: string type: array name: description: Name of the merchant group. type: string token: description: Unique identifier of the merchant group. type: string type: object merchant_group_update_request: properties: active: default: false description: Indicates if the merchant group is active or not. type: boolean mids: description: |- Comma-separated list of alphanumeric merchant identifiers. You can include merchant identifiers in multiple merchant groups. items: type: string maxItems: 4000 minItems: 1 type: array uniqueItems: true name: description: Name of the merchant group. maxLength: 40 minLength: 1 type: string type: object merchant_response_model: properties: active: default: true type: boolean address1: maxLength: 255 minLength: 0 type: string address2: maxLength: 255 minLength: 0 type: string city: maxLength: 40 minLength: 0 type: string contact: maxLength: 40 minLength: 0 type: string contact_email: maxLength: 40 minLength: 0 type: string country: maxLength: 40 minLength: 0 type: string created_time: description: yyyy-MM-ddTHH:mm:ssZ format: date-time type: string last_modified_time: description: yyyy-MM-ddTHH:mm:ssZ format: date-time type: string latitude: format: float type: number longitude: format: float type: number name: maxLength: 40 minLength: 0 type: string partial_auth_flag: default: true type: boolean phone: maxLength: 10 minLength: 0 type: string province: maxLength: 20 minLength: 0 type: string state: maxLength: 2 minLength: 0 type: string token: description: The unique identifier of the merchant maxLength: 36 minLength: 1 type: string zip: maxLength: 10 minLength: 0 type: string required: - created_time - last_modified_time - name type: object merchant_scope: description: |- Defines the group of merchants to which the velocity control applies. Populate no more than one field of the `merchant_scope` object. If no fields are populated, the velocity control applies to all merchants. properties: mcc: description: |- Merchant Category Code (MCC). Identifies the type of products or services provided by the merchant. Enter a value to control spending on a particular type of product or service. maxLength: 4 minLength: 1 type: string mcc_group: description: |- Token identifying a group of MCCs. Enter a value to control spending on a group of product or service types. Send a `GET` request to `/mccgroups` to retrieve MCC group tokens. maxLength: 36 minLength: 1 type: string mid: description: |- Merchant identifier (MID). Identifies a specific merchant. Enter a value to control spending with a particular merchant. maxLength: 36 minLength: 1 type: string type: object money_in_transaction: description: |- Defines the original credit transaction (OCT) types that are subject to velocity control. Your request can contain either a `money_in_transaction` object or the `include_credits` field, not both. properties: include_credits_types: description: Specifies the types of credits to include in the original credit transaction (OCT). items: type: string type: array include_network_load_types: description: Indicates whether or not cash and check network load transactions will be subject to velocity control. items: type: string type: array type: object msa: properties: campaign_token: type: string reload_amount: minimum: 0.01 type: number trigger_amount: minimum: 0.01 type: number required: - campaign_token - reload_amount - trigger_amount type: object xml: name: msa msa_aggregated_balances: properties: available_balance: type: number balances: additionalProperties: $ref: '#/components/schemas/msa_aggregated_balances' type: object cached_balance: type: number credit_balance: type: number currency_code: type: string impacted_amount: type: number last_updated_time: format: date-time type: string ledger_balance: type: number pending_credits: type: number required: - available_balance - balances - cached_balance - credit_balance - currency_code - last_updated_time - ledger_balance - pending_credits type: object msa_balances: properties: available_balance: type: number balances: additionalProperties: $ref: '#/components/schemas/msa_balances' type: object cached_balance: type: number credit_balance: type: number currency_code: type: string impacted_amount: type: number last_updated_time: format: date-time type: string ledger_balance: type: number pending_credits: type: number required: - available_balance - balances - cached_balance - credit_balance - currency_code - last_updated_time - ledger_balance - pending_credits type: object msa_returns: properties: active: default: false type: boolean aggregated_balances: $ref: '#/components/schemas/msa_aggregated_balances' amount: type: number business_token: type: string campaign_token: type: string created_time: description: yyyy-MM-ddTHH:mm:ssZ format: date-time type: string currency_code: type: string end_date: description: yyyy-MM-ddThh:mm:ssZ format: date-time type: string funding: $ref: '#/components/schemas/funding' last_modified_time: description: yyyy-MM-ddTHH:mm:ssZ format: date-time type: string last_transaction_date: description: yyyy-MM-ddThh:mm:ssZ format: date-time type: string order_balances: $ref: '#/components/schemas/msa_balances' original_order_token: type: string reward_amount: type: number reward_trigger_amount: type: number start_date: description: yyyy-MM-ddThh:mm:ssZ format: date-time type: string token: type: string transaction_token: type: string unloaded_amount: type: number user_token: type: string required: - active - aggregated_balances - amount - campaign_token - created_time - currency_code - funding - last_modified_time - last_transaction_date - order_balances - original_order_token - reward_amount - reward_trigger_amount - transaction_token type: object xml: name: msa_returns network: description: Contains information from the card network about currency conversion, including the original currency of the transaction, the amount of the transaction in the original currency, and the conversion rate. properties: conversion_rate: description: |- Conversion rate between the origination currency and the settlement currency. Returned when the transaction currency is different from the origination currency. type: number dynamic_currency_conversion: default: false description: Indicates whether currency conversion was performed dynamically at the point of sale. type: boolean original_amount: description: Amount of the transaction in the currency in which it originated. type: number original_currency_code: description: Currency type of the origination currency. type: string settlement_data: $ref: '#/components/schemas/settlement_data' type: object network_account_intelligence_score: description: Account intelligence score information, as provided by the Mastercard network. properties: name: description: The name, as provided by the Mastercard network. type: string service_type: description: The service type, as provided by the Mastercard network. type: string value: description: The value, as provided by the Mastercard network. type: string type: object network_fee_model: description: Contains card network fees assessed against the cardholder. properties: amount: description: The amount of the network fee. type: number credit_debit: description: |- Indicates whether the fee is a credit or a debit. * *C* indicates a credit * *D* indicates a debit enum: - C - D type: string type: description: The type of fee assessed by the card network. enum: - ISSUER_FEE - SWITCH_FEE - PINDEBIT_ASSOC_FEE - ACQUIRER_FEE - INTERCHANGE_FEE - CUR_CONV_CARDHOLDER_FEE - CUR_CONV_ISSUER_FEE - CROSS_BORDER_ISSUER_FEE type: string type: object network_fraud_view: description: Contains network-provided information about fraud determinations. properties: account_risk_score: description: |- _(Visa only)_ Account holder risk condition code evaluated by the card network. A higher score indicates a greater likelihood that the card number is compromised. type: string account_risk_score_reason_code: description: _(Visa only)_ Unique code that describes the main driver of the `account_risk_score`. type: string transaction_account_attack_intelligence_score: description: |- _(Visa only)_ Visa-provided score ranking the risk of an account enumeration attack in a card-not-present transaction. A higher score indicates higher risk. A score of 00 indicates insufficient data to determine risk. Useful for making authorization decisions. type: string transaction_risk_score: description: |- Network-provided risk score for the transaction. A higher score indicates higher risk. Useful for making authorization decisions. format: int32 type: integer transaction_risk_score_reason_code: description: _(Mastercard only)_ Unique code that describes the main driver of the `transaction_risk_score`. type: string transaction_risk_score_reason_description: description: _(Mastercard only)_ Description of the `transaction_risk_score_reason_code`. type: string type: object network_metadata: description: |- Contains network-related metadata for the transaction, including details about the card program and the card product. Returned if provided by the card network properties: account_identification_1: type: string incoming_response_code: description: |- Network response code, as provided by the card network. For example, Visa response code `59` indicates suspected fraud. type: string network_funding_txn_type: description: Transaction type indicator provided by the card network for original credit and account funding transactions. type: string product_id: description: |- Product identification value assigned by the card network to each card product. Can be used to track card-level activity by individual account number for premium card products. type: string program_id: description: Program identification number used with `product_id` that identifies the programs associated with a card within a program registered by the issuer with the card network. type: string spend_qualifier: description: Indicates whether or not the base spend-assessment threshold defined by the card network has been met. type: string surcharge_free_atm_network: description: Name of the surcharge-free ATM network used to complete the transaction. type: string type: object offer_model: properties: active: default: true type: boolean campaign_token: maxLength: 36 minLength: 1 type: string currency_code: type: string end_date: format: date-time type: string name: maxLength: 255 minLength: 0 type: string purchase_amount: type: number reward_amount: type: number reward_trigger_amount: type: number start_date: format: date-time type: string token: maxLength: 36 minLength: 1 type: string required: - campaign_token - currency_code - name - purchase_amount - reward_amount type: object one_time_request_model: properties: email: description: |- Cardholder email address. Required when neither the user token nor the admin access token is provided as the Basic Authentication password (case #3). maxLength: 255 minLength: 1 type: string password: description: |- Password to the cardholder's user account on the Marqeta platform. Required when neither the user token nor the admin access token is provided as the Basic Authentication password (case #3). maxLength: 255 minLength: 1 type: string user_token: description: |- Identifies the cardholder whose data is accessed. Send a `GET` request to `/users` to retrieve cardholder tokens. Required when the Basic Authentication password is set to an admin access token (case #2). maxLength: 36 minLength: 1 type: string type: object order_scope: description: Defines the balance threshold and reload amounts. properties: gpa: $ref: '#/components/schemas/gpa' msa: $ref: '#/components/schemas/msa' type: object original_credit: description: Contains information about an original credit transaction (OCT), which enables the cardholder to receive funds on the specified card from an external source via the card network. properties: deferred_hold_by: enum: - absent - visa - originator - payment type: string fast_funds_enabled: description: |- Indicates that Fast Funds are enabled for dual-message original credit transactions. If the value of this field is `true`, you must make the funds available to your cardholder within 30 minutes of the transaction. type: boolean funding_source: description: Sender's account from which the OCT draws funds. enum: - CREDIT - DEBIT - PREPAID - DEPOSIT_ACCOUNT - CASH - MOBILE_MONEY_ACCOUNT - NON_VISA_CREDIT - CHECK - ACH type: string screening_score: description: |- Sanctions screening score to assist with meeting Anti-Money Laundering (AML) obligations. Higher scores indicate that the sender's data more closely resembles an entry on the regulatory watchlist. A value of 999 means that no screening score is available. type: string sender_account_type: description: The type of account from which the OCT draws funds. enum: - OTHER - RTN_BANK_ACCOUNT - IBAN - CARD_ACCOUNT - EMAIL - PHONE_NUMBER - BANK_ACCOUNT_NUMBER_AND_BANK_IDENTIFICATION_CODE - WALLET_ID - SOCIAL_NETWORK_ID type: string sender_address: description: Sender's street address. type: string sender_city: description: Sender's city. type: string sender_country: description: Sender's country. type: string sender_name: description: Full name of the sender. type: string sender_state: description: Sender's state. type: string transaction_purpose: description: The purpose of the original credit transaction. type: string transaction_type: description: Type of original credit transaction. enum: - account_to_account - person_to_person - wallet_transfer - money_transfer_by_bank - business_to_business - disbursement - government_disbursement - gambling_payout - loyalty - merchant_disbursement - online_gambling_payout - pension_disbursement - prepaid_loads - card_bill_payment - bill_payment - cash_claim - cash_in - cash_out - mobile_air_time_payment - money_transfer_by_merchant - face_to_face_merchant_payment - government_payment - payments_goods_services - funds_transfer - general_business_to_business_transfer - business_to_business_transfer - cash_deposit - purchase_repayment - aft_or_oct_eligibility - consumer_bill_payment - request_to_pay type: string type: object original_credit_sender_data: properties: deferred_hold_by: enum: - absent - visa - originator - payment type: string fast_funds_enabled: type: boolean funding_source: enum: - credit - debit - prepaid - deposit_account - cash - mobile_money_payment - non_visa_credit - check - ach type: string sender_account_number: type: string sender_account_type: enum: - other - rtn_bank_account - iban - card_account - email - phone_number - bank_account_number_and_identification_code - wallet_id - social_network_id type: string sender_address: type: string sender_city: type: string sender_country: type: string sender_name: type: string sender_reference_number: type: string sender_state: type: string transaction_purpose: enum: - family_support - labor_transfers - travel - education - medical_treatment - emergency_need - savings - gifts - other - salary - lending - crypto_currency type: string unique_transaction_reference_number: maxLength: 17 minLength: 1 type: string visa_transaction_purpose: type: string required: - funding_source type: object orignalcredit_request_model: properties: amount: type: number card_acceptor: $ref: '#/components/schemas/card_acceptor_model' card_token: maxLength: 36 minLength: 1 type: string mid: maxLength: 50 minLength: 1 type: string screening_score: type: string sender_data: $ref: '#/components/schemas/original_credit_sender_data' transactionPurpose: type: string type: enum: - account_to_account - person_to_person - prepaid - wallet_transfer - money_transfer_by_bank - business_to_business - disbursement - government_disbursement - gambling_payout - loyalty - merchant_disbursement - online_gambling_payout - pension_disbursement - prepaid_loads - card_bill_payment - bill_payment - cash_claim - cash_in - cash_out - mobile_air_time_payment - money_transfer_by_merchant - face_to_face_merchant_payment - government_payment - payments_goods_services - purchase_repayment type: string webhook: $ref: '#/components/schemas/webhook' required: - amount - card_token - mid - type type: object other_poi: properties: allow: default: true type: boolean card_presence_required: default: false description: Default = false type: boolean cardholder_presence_required: default: false description: Default = false type: boolean track1_discretionary_data: type: string track2_discretionary_data: type: string use_static_pin: default: false type: boolean type: object pan_request: properties: cvv_number: type: string expiration: type: string pan: type: string required: - pan type: object pan_response: properties: card_token: description: The unique identifier of the card type: string created_time: description: yyyy-MM-ddTHH:mm:ssZ format: date-time type: string last_modified_time: description: yyyy-MM-ddTHH:mm:ssZ format: date-time type: string user_token: description: The unique identifier of the card user type: string required: - card_token - created_time - last_modified_time - user_token type: object password_update_model: properties: current_password: description: Current password to the cardholder's user account on the Marqeta platform. maxLength: 255 minLength: 1 type: string new_password: description: |- New password to the cardholder's user account on the Marqeta platform. * Must contain at least one numeral + * Must contain at least one lowercase letter + * Must contain at least one uppercase letter + * Must contain at least one of these symbols: `@ # $ % ! ^ & * ( ) \ _ + ~ ` - = [ ] { } , ; : ' " , . / < > ?` maxLength: 255 minLength: 1 type: string required: - current_password - new_password type: object payment_card_funding_source_model: allOf: - $ref: '#/components/schemas/funding_source_model' - properties: account_suffix: type: string account_type: type: string business_token: description: Required if 'user_token' is null type: string exp_date: type: string user_token: description: Required if 'business_token' is null type: string required: - account_suffix - account_type - exp_date type: object payment_card_response_model: properties: account_suffix: description: Account identifier appended to the payment card number. type: string account_type: description: Type of payment card account. type: string active: default: false description: Specifies whether the account is active. type: boolean business_token: description: |- Unique identifier of the business account holder. This token is returned if a `user_token` is not specified. type: string created_time: description: Date and time when the resource was created, in UTC. format: date-time type: string exp_date: description: Payment card expiration date. type: string is_default_account: default: false description: |- If there are multiple funding sources, this field specifies which source is used by default in funding calls. If there is only one funding source, the system ignores this field and always uses that source. type: boolean last_modified_time: description: Date and time when the resource was last modified, in UTC. format: date-time type: string token: description: Unique identifier of the funding source. type: string type: description: Funding source type. type: string user_token: description: |- Unique identifier of the user account holder. This token is returned if a `business_token` is not specified. type: string required: - account_suffix - account_type - active - created_time - exp_date - is_default_account - last_modified_time - token - type type: object payment_facilitator_model: description: Information about the payment facilitator of an account funding or original credit transaction. properties: city: description: Payment facilitator's city. type: string country_code: description: Payment facilitator's country code. type: string postal_code: description: Payment facilitator's postal code. type: string state: description: Payment facilitator's state location. type: string street_address: description: Payment facilitator's street address. type: string type: object peer_transfer_request: properties: amount: description: Amount of the transfer. type: number currency_code: description: Three-digit ISO 4217 currency code. type: string memo: description: Additional descriptive text about the transfer. maxLength: 99 minLength: 1 type: string recipient_business_token: description: |- Specifies the business account holder that receives funds. Send a `GET` request to `/businesses` to retrieve business tokens. maxLength: 36 minLength: 1 type: string recipient_user_token: description: |- Specifies the user account holder that receives funds. Send a `GET` request to `/users` to retrieve user tokens. maxLength: 36 minLength: 1 type: string sender_business_token: description: |- Specifies the business account holder that sends funds. Send a `GET` request to `/businesses` to retrieve business tokens. maxLength: 36 minLength: 1 type: string sender_user_token: description: |- Specifies the user account holder that sends funds. Send a `GET` request to `/users` to retrieve user tokens. maxLength: 36 minLength: 1 type: string tags: description: Metadata about the peer transfer. maxLength: 255 minLength: 1 type: string token: description: |- Unique identifier of the peer transfer request. If you do not include a token, the system will generate one automatically. This token is necessary for use in other API calls, so we recommend that rather than let the system generate one, you use a simple string that is easy to remember. This value cannot be updated. maxLength: 36 minLength: 1 type: string required: - amount - currency_code type: object peer_transfer_response: description: Contains information about a peer transfer, including sender and recipient tokens, transfer amount, and currency code. properties: amount: description: Amount of the transfer. type: number created_time: format: date-time type: string currency_code: description: Three-digit ISO 4217 currency code. type: string memo: description: Additional descriptive text about the peer transfer. type: string recipient_business_token: description: Specifies the business account holder that receives funds. type: string recipient_user_token: description: Specifies the user account holder that receives funds. type: string sender_business_token: description: Specifies the business account holder that sends funds. type: string sender_user_token: description: Specifies the user account holder that sends funds. type: string tags: description: Metadata about the peer transfer. type: string token: description: Unique identifier of the peer transfer request. type: string required: - amount - created_time - currency_code - token type: object pin_request: properties: control_token: description: |- Unique value generated as a result of issuing a `POST` request to the `/pins/controltoken` endpoint. This value cannot be updated. maxLength: 36 minLength: 1 type: string pin: description: Four-digit number to associate with the card. type: string required: - control_token - pin type: object pin_reveal_request: properties: cardholder_verification_method: description: |- The supplemental method used to verify the cardholder's identity before revealing the card's personal identification number (PIN). The possible cardholder verification methods are: * *BIOMETRIC_FACE:* In-app authentication via facial recognition * *BIOMETRIC_FINGERPRINT:* In-app authentication via biometric fingerprint * *EXP_CVV:* In-app authentication by entering the card's expiration date and card verification value (CVV) * *LOGIN:* In-app authentication by re-entering the app password * *OTP:* Two-factor authentication involving a one-time password (OTP) * *OTP_CVV:* Two-factor authentication involving the card's CVV and an OTP * *OTHER:* Authentication that relies on other secure methods enum: - BIOMETRIC_FACE - BIOMETRIC_FINGERPRINT - LOGIN - EXP_CVV - OTP_CVV - OTP - OTHER type: string control_token: description: |- Unique value generated as a result of issuing a `POST` request to the `/pins/controltoken` endpoint. This value cannot be updated. maxLength: 36 minLength: 1 type: string required: - cardholder_verification_method - control_token type: object ping_response: properties: env: type: string id: type: string revision: type: string success: type: boolean timestamp: type: string version: type: string type: object poi: properties: atm: default: false description: Default = false type: boolean ecommerce: default: true type: boolean other: $ref: '#/components/schemas/other_poi' type: object pos: description: |- Contains information about the point of sale, including details on how the card was presented. Returned if provided by the card network, and the request uses Transaction Model v2 of the Marqeta Core API. Not returned for Transaction Model v1 requests. properties: card_data_input_capability: description: How the terminal accepts card data. enum: - UNKNOWN - NO_TERMINAL - MAG_STRIPE - MAG_STRIPE_CONTACTLESS - MAG_STRIPE_KEY_ENTRY - CHIP - CHIP_CONTACTLESS - CHIP_MAG_STRIPE - CHIP_MAG_STRIPE_KEY_ENTRY - KEY_ENTRY - OCR - MICR - BAR_CODE type: string card_holder_presence: default: false description: Whether the cardholder was present during the transaction. type: boolean card_presence: default: false description: Whether the card was present during the transaction. type: boolean cardholder_authentication_method: description: Method used to authenticate the cardholder. enum: - UNSPECIFIED - NON_AUTHENTICATED - SIGNATURE - PIN - ID_VERIFIED type: string country_code: description: Country code of the card acceptor or terminal. type: string is_installment: default: false description: Whether the transaction is an installment payment. type: boolean is_recurring: default: false description: Whether the transaction is recurring. type: boolean pan_entry_mode: description: Method used for capturing the card primary account number (PAN) during the transaction. enum: - UNKNOWN - MANUAL - MAG_STRIPE - MAG_STRIPE_CONTACTLESS - BAR_CODE - OCR - MICR - CHIP - CHIP_CONTACTLESS - CARD_ON_FILE - CHIP_FALLBACK - OTHER type: string partial_approval_capable: default: false description: Indicates whether the card acceptor or terminal supports partial-approval transactions. type: boolean pin_entry_mode: description: |- Indicates whether the card acceptor or terminal can capture card personal identification numbers (PINs). *NOTE:* This field does not indicate whether a PIN was entered. enum: - UNKNOWN - 'TRUE' - 'FALSE' - DEFECTIVE type: string pin_present: default: false description: Indicates whether the cardholder entered a PIN during the transaction. type: boolean purchase_amount_only: default: false description: Indicates whether the card acceptor or terminal supports purchase-only approvals. type: boolean special_condition_indicator: description: |- Indicates a higher-risk operation, such as a quasi-cash or cryptocurrency transaction. These transactions typically involve non-financial institutions. enum: - UNSPECIFIED - CRYPTOCURRENCY_PURCHASE - QUASI_CASH - DEBT_PAYMENT - CENTRAL_BANK_DIGITAL_CURRENCY_PURCHASE - STABLECOIN_PURCHASE - BLOCKCHAIN_NATIVE_TOKEN_PURCHASE - NON_FUNGIBLE_TOKEN_PURCHASE type: string terminal_attendance: description: Whether the card acceptor/terminal was attended. enum: - UNSPECIFIED - ATTENDED - UNATTENDED - NO_TERMINAL type: string terminal_id: description: Card acceptor or terminal identification number. type: string terminal_location: description: Location of the card acceptor/terminal. enum: - ON_PREMISE - OFF_PREMISE_MERCHANT - OFF_PREMISE_CARDHOLDER - NO_TERMINAL type: string terminal_type: description: Type of card acceptor/terminal. enum: - AUTO_DISPENSER_WITH_PIN - SELF_SERVICE - LIMITED_AMOUNT - IN_FLIGHT - ECOMMERCE - TRANSPONDER type: string transaction_initiated_by: description: Specifies the initiator of the transaction. enum: - CONSUMER - MERCHANT - UNKNOWN - MARQETA - NETWORK type: string transaction_initiated_category: description: Specifies the category of a point-of-sale transaction. enum: - CARD_ON_FILE - RECURRING_VAR_AMT_FIXED_FREQ - RECURRING_PAYMENT - INSTALLMENT_PAYMENT - UNSCHEDULED_PAYMENT - PARTIAL_SHIPMENT - DELAYED_PAYMENT - NO_SHOW - RESUBMISSION - DEFERRED_BILLING - ACCOUNT_INQUIRY - INCREMENTAL_AUTHORIZATION - REAUTHORIZATION type: string zip: description: United States ZIP code of the card acceptor or terminal. type: string type: object pre_kyc_controls: properties: balance_max: description: Minimum is 0 exclusiveMinimum: false minimum: 0 type: number cash_access_enabled: default: false type: boolean enable_non_program_loads: default: false type: boolean international_enabled: default: false type: boolean is_reloadable_pre_kyc: default: false type: boolean type: object preceding_transaction: description: |- Returned for `authorization.clearing` transaction types following a financial advice. Contains information about the preceding transaction. properties: amount: description: Amount of the preceding transaction. type: number token: description: Unique identifier of the preceding transaction. type: string type: object program: description: Information about the program on the Marqeta platform. properties: long_code: description: The program long code on the Marqeta platform. type: string program_id: description: The program identifier on the Marqeta platform. type: string short_code: description: The program short code on the Marqeta platform. type: string required: - long_code - program_id - short_code type: object program_funding_source_model: allOf: - $ref: '#/components/schemas/funding_source_model' - properties: name: type: string required: - name type: object program_funding_source_request: properties: active: description: Indicates whether the program funding source is active. type: boolean name: description: Name of the program funding source. maxLength: 50 minLength: 1 type: string token: description: |- Unique identifier of the funding source. If you do not include a token, the system will generate one automatically. As this token is necessary for use in other calls, we recommend that you define a simple and easy to remember string rather than letting the system generate a token for you. This value cannot be updated. maxLength: 36 minLength: 1 type: string required: - name type: object program_funding_source_response: properties: account: description: Account identifier. type: string active: description: |- Indicates whether the program funding source is active. This field is returned if it exists in the resource. type: boolean created_time: description: Date and time when the resource was created, in UTC. format: date-time type: string last_modified_time: description: Date and time when the resource was last modified, in UTC. format: date-time type: string name: description: Name of the program funding source. maxLength: 50 minLength: 1 type: string token: description: Unique identifier of the funding source. maxLength: 36 minLength: 1 type: string required: - account - created_time - last_modified_time - name - token type: object program_funding_source_update_request: properties: active: description: Indicates whether the program funding source is active. type: boolean name: description: Name of the program funding source. maxLength: 50 minLength: 1 type: string type: object program_gateway_funding_source_model: allOf: - $ref: '#/components/schemas/funding_source_model' - properties: name: type: string required: - name type: object program_reserve_account_balance: properties: available_balance: description: |- Ledger balance, minus any authorized transactions that have not yet cleared. When using JIT Funding, this balance is usually equal to $0.00. readOnly: true type: number balances: additionalProperties: $ref: '#/components/schemas/program_reserve_account_balance' description: |- Contains program reserve account balance information, organized by currency code. Sometimes referred to as a _program funding account_. type: object credit_balance: description: Not currently in use. readOnly: true type: number currency_code: description: Three-digit ISO 4217 currency code. type: string ledger_balance: description: |- When using standard funding: The funds that are available to spend immediately, including funds from any authorized transactions that have not yet cleared. When using Just-in-Time (JIT) Funding: Authorized funds that are currently on hold, but not yet cleared. readOnly: true type: number pending_credits: description: ACH loads that have been accepted, but for which the funding time has not yet elapsed. readOnly: true type: number type: object program_reserve_deposit_request: properties: amount: description: Amount of the deposit. type: number currency_code: description: Three-digit ISO 4217 currency code. type: string idempotentHash: description: Idempotent hash value associated with the deposit request. type: string is_collateral: type: boolean memo: description: Memo or note describing the deposit request. type: string tags: description: Comma-delimited list of tags describing the deposit request. type: string token: description: Unique identifier of the deposit request. type: string required: - amount - currency_code - token type: object program_reserve_transaction_response: properties: amount: description: |- Amount of the program reserve account credit or debit. Sometimes referred to as a _program funding account_. type: number created_time: description: Date and time when the resource was created, in UTC. format: date-time type: string currency_code: description: Three-digit ISO 4217 currency code. type: string is_collateral: type: boolean last_modified_time: description: The date and time when the resource was last modified, in UTC. format: date-time type: string memo: description: Memo or note describing the transaction. type: string state: description: Transaction state. enum: - PENDING - COMPLETE type: string tags: description: Comma-delimited list of tags describing the transaction. type: string token: description: The unique identifier of the transaction response. type: string transaction_token: description: Unique identifier of the transaction. type: string type: description: Transaction type. enum: - CREDIT - DEBIT - PENDING_CREDIT - PENDING_DEBIT type: string required: - created_time - last_modified_time type: object program_transfer: properties: amount: description: Amount of program transfer. type: number business_token: description: |- Unique identifier of the business. Pass either a `business_token` or a `user_token`, not both. Send a `GET` request to `/businesses` to retrieve business tokens. maxLength: 36 minLength: 1 type: string currency_code: description: Three-digit ISO 4217 currency code. type: string fees: description: |- Contains attributes that define characteristics of one or more fees. This array is returned in the response when it is included in the request. items: $ref: '#/components/schemas/fee_model' type: array memo: description: Memo or note describing the program transfer. maxLength: 99 minLength: 1 type: string tags: description: Comma-delimited list of tags describing the program transfer. maxLength: 255 minLength: 1 type: string token: description: |- Unique identifier of the program transfer. If you do not include a token, the system will generate one automatically. This token is necessary for use in other API calls, so we recommend that rather than let the system generate one, you use a simple string that is easy to remember. This value cannot be updated. maxLength: 36 minLength: 1 type: string type_token: description: |- Unique identifier of the program transfer type. Send a `GET` request to `/programtransfers/types` to retrieve program transfer type tokens. maxLength: 36 minLength: 1 type: string user_token: description: |- Unique identifier of the user. Pass either a `user_token` or a `business_token`, not both. Send a `GET` request to `/users` to retrieve business tokens. maxLength: 36 minLength: 1 type: string required: - amount - currency_code - type_token type: object program_transfer_response: description: Contains information about a program transfer, which moves funds from an account holder's GPA to a program funding source. properties: amount: description: Amount of program transfer. type: number business_token: description: |- Unique identifier of the business account holder. Returned if `user_token` is not specified. maxLength: 36 minLength: 1 type: string created_time: description: Date and time when the program transfer object was created, in UTC. format: date-time type: string currency_code: description: Three-digit ISO 4217 currency code. type: string fees: description: Contains attributes that define characteristics of one or more fees. items: $ref: '#/components/schemas/fee_detail' type: array jit_funding: $ref: '#/components/schemas/jit_funding_api' memo: description: Additional description of the program transfer. maxLength: 99 minLength: 1 type: string tags: description: Comma-delimited list of tags describing the program transfer. maxLength: 255 minLength: 1 type: string token: description: Unique identifier of the program transfer. maxLength: 36 minLength: 1 type: string transaction_token: description: Unique identifier of the transaction. type: string type_token: description: Unique identifier of the program transfer type. maxLength: 36 minLength: 1 type: string user_token: description: |- Unique identifier of the user account holder. Returned if `business_token` is not specified. maxLength: 36 minLength: 1 type: string required: - amount - currency_code - transaction_token - type_token type: object program_transfer_type_request: properties: memo: description: Memo or note describing the program transfer type. maxLength: 99 minLength: 1 type: string program_funding_source_token: description: |- Unique identifier of the program funding source to which program transfers will be credited. Send a `GET` request to `/fundingsources/program` to retrieve program funding source tokens. maxLength: 36 minLength: 1 type: string tags: description: Comma-delimited list of tags describing the program transfer type. maxLength: 255 minLength: 1 type: string token: description: |- Unique identifier of the program transfer type. If you do not include a token, the system will generate one automatically. This token is necessary for use in other API calls, so we recommend that rather than let the system generate one, you use a simple string that is easy to remember. This value cannot be updated. maxLength: 36 minLength: 1 type: string required: - memo - program_funding_source_token type: object program_transfer_type_response: properties: created_time: description: The date and time when the program transfer type object was created, in UTC. format: date-time type: string last_modified_time: description: Date and time when the program transfer type object was last modified, in UTC. format: date-time type: string memo: description: Memo or note describing the program transfer type. type: string program_funding_source_token: description: Unique identifier of the program funding source to which program transfers will be credited. type: string tags: description: Comma-delimited list of tags describing the program transfer type. type: string token: description: Unique identifier of the program transfer type request object. type: string required: - program_funding_source_token - token type: object provisioning_controls: properties: dwt_tar_avs_decline_on_address_number_mismatch: type: boolean dwt_tar_avs_decline_on_postal_code_mismatch: type: boolean dwt_use_card_status_during_auth: type: boolean dwt_verify_atc_during_auth: type: boolean enable_discretionary_data_during_tar: type: boolean force_yellow_path_for_card_product: description: A value of `true` requires identity verification set-up for all digital wallets at the card product level. type: boolean in_app_provisioning: $ref: '#/components/schemas/in_app_provisioning' manual_entry: $ref: '#/components/schemas/manual_entry' wallet_provider_card_on_file: $ref: '#/components/schemas/wallet_provider_card_on_file' web_push_provisioning: $ref: '#/components/schemas/web_push_provisioning' type: object push_to_card_disburse_request: properties: amount: exclusiveMaximum: false exclusiveMinimum: false maximum: 50000 minimum: 0.01 type: number currency_code: type: string memo: maxLength: 99 minLength: 1 type: string payment_instrument_token: maxLength: 36 minLength: 1 type: string soft_descriptor: $ref: '#/components/schemas/PTCSoftDescriptor' tags: maxLength: 255 minLength: 1 type: string token: maxLength: 36 minLength: 1 type: string required: - amount - currency_code - payment_instrument_token type: object push_to_card_disbursement_response: properties: amount: type: number created_time: description: yyyy-MM-ddTHH:mm:ssZ format: date-time type: string currency_code: type: string last_modified_time: description: yyyy-MM-ddTHH:mm:ssZ format: date-time type: string memo: maxLength: 99 minLength: 1 type: string payment_instrument_token: maxLength: 36 minLength: 1 type: string status: type: string tags: maxLength: 255 minLength: 1 type: string token: maxLength: 36 minLength: 1 type: string required: - created_time - last_modified_time type: object push_to_card_request: properties: address_1: maxLength: 255 minLength: 1 type: string address_2: maxLength: 255 minLength: 1 type: string city: maxLength: 40 minLength: 1 type: string country: type: string cvv: type: string exp_date: type: string name_on_card: maxLength: 50 minLength: 1 type: string pan: maxLength: 19 minLength: 14 type: string postal_code: maxLength: 10 minLength: 1 type: string state: maxLength: 2 minLength: 1 type: string token: maxLength: 36 minLength: 1 type: string user_token: maxLength: 36 minLength: 1 type: string required: - address_1 - city - country - cvv - exp_date - name_on_card - pan - postal_code - state - user_token type: object push_to_card_response: properties: address_1: maxLength: 255 minLength: 1 type: string address_2: maxLength: 255 minLength: 1 type: string city: maxLength: 40 minLength: 1 type: string country: type: string created_time: description: yyyy-MM-ddTHH:mm:ssZ format: date-time type: string exp_date: type: string fast_fund_transfer_eligible: default: false type: boolean gambling_fund_transfer_eligible: default: false type: boolean last_four: type: string last_modified_time: description: yyyy-MM-ddTHH:mm:ssZ format: date-time type: string last_name: readOnly: true type: string name_on_card: type: string postal_code: maxLength: 10 minLength: 1 type: string state: maxLength: 2 minLength: 1 type: string token: maxLength: 36 minLength: 1 type: string required: - created_time - last_modified_time type: object real_time_fee_group: description: Contains information about a real-time fee group. properties: active: default: false description: Indicates whether the real-time fee group is active. type: boolean created_time: description: Date and time when the real-time fee group was created, in UTC. format: date-time type: string fee_tokens: description: Specifies the fees in this real-time fee group. items: type: string type: array uniqueItems: true last_modified_time: description: Date and time when the real-time fee group was last modified, in UTC. format: date-time type: string name: description: Descriptive name for the real-time fee group. type: string token: description: Unique identifier of the real-time fee group. type: string required: - active - name - token type: object real_time_fee_group_create_request: properties: active: default: true description: Indicates whether the real-time fee group is active. type: boolean fee_tokens: description: |- Unique identifiers of the fees in this real-time fee group. Send a `GET` request to `/fees` to retrieve fee resource tokens. No two fees in the group can be applicable to the same transaction type (in other words, each fee must have a different value for its `real_time_assessment.transaction_type` field). items: type: string type: array uniqueItems: true name: description: Descriptive name for the real-time fee group. maxLength: 50 minLength: 1 type: string token: description: |- Unique identifier of the real-time fee group. If you do not include a token, the system will generate one automatically. This token is necessary for use in other API calls, so we recommend that rather than let the system generate one, you use a simple string that is easy to remember. This value cannot be updated. maxLength: 36 minLength: 1 type: string required: - name type: object real_time_fee_group_request: properties: active: default: true description: Indicates whether the real-time fee group is active. type: boolean fee_tokens: description: |- Specifies the fees in this real-time fee group. Send a `GET` request to `/fees` to retrieve fee resources tokens. No two fees in the group can be applicable to the same transaction type (in other words, each fee must have a different value for its `real_time_assessment.transaction_type` field). items: type: string type: array uniqueItems: true name: description: Descriptive name for the real-time fee group. maxLength: 50 minLength: 1 type: string type: object real_time_standin_criteria: properties: enabled: default: false type: boolean include_application_errors: default: false type: boolean include_connection_errors: default: false type: boolean include_response_timeouts: default: false type: boolean type: object realtime_fee_transfer_request: properties: fee: $ref: '#/components/schemas/fee_model' original_transaction_token: type: string token: type: string type: object request_for_apple_pay_wpp_JWT: properties: card_token: description: Unique identifier of the card resource. example: 5855opl9-abcc-4cb7-a330-xyze5799ea5 type: string req-sys-id: description: Random pseudo-unique value used for troubleshooting between multiple parties. type: string required: - card_token type: object request_for_wpp_parameters: properties: card_token: description: Unique identifier of the card resource. example: 5855opl9-abcc-4cb7-a330-xyze5799ea5 type: string required: - card_token type: object reset_user_password_email_model: properties: email: description: Cardholder email address. maxLength: 255 minLength: 1 type: string required: - email type: object reset_user_password_model: properties: new_password: description: New password to the cardholder's user account on the Marqeta platform. maxLength: 255 minLength: 1 type: string user_token: description: Unique identifier of the cardholder. maxLength: 36 minLength: 1 type: string required: - new_password - user_token type: object response: description: Response codes and memos for account name verification, address verification, card security verification, and transactions. properties: additional_information: description: |- Information about the velocity control applied to the transaction. *NOTE:* This field is returned only in transaction response objects. It is not returned in address verification or card security verification response objects. type: string code: description: |- Four-digit response code for address verification, card security code verification, or transactions. For account name verification, the four digits correspond with assertions that the first, middle, last, and full name of the cardholder on the Marqeta platform match the data provided by the cardholder. `0` indicates no validation was performed, `1` indicates the match was unsuccessful (unmatched), `2` indicates the match was partial, and `3` indicates the match was exact. For example: [cols="2,3,3,3,3"] !=== ! Code ! First Name ! Middle Name ! Last Name ! Full Name ! 0000 ! Not validated ! Not validated ! Not validated ! Not validated ! 1111 ! Unmatched ! Unmatched ! Unmatched ! Unmatched ! 3333 ! Exact match ! Exact match ! Exact match ! Exact match ! 1232 ! Unmatched ! Partial match ! Exact match ! Partial match !=== For address verification responses, the code is an assertion by the Marqeta platform as to whether its address verification data matches that provided by the cardholder: [cols="2,3,3"] !=== ! Code ! Address ! Postal Code ! 0000 ! Match ! Match ! 0001 ! Match ! Unmatched ! 0100 ! Unmatched ! Match ! 0101 ! Unmatched ! Unmatched ! 0200 ! Data not present ! Match ! 0201 ! Data not present ! Unmatched ! 0002 ! Match ! Data not present ! 0102 ! Unmatched ! Data not present ! 0303 ! Not validated ! Not validated !=== For card security verification, the code indicates whether the verification check passed and can have these possible values: * 0000 – passed * 0001 – did not pass For a transaction, the code describes the outcome of the attempted transaction. For the full list of transaction codes, see <</developer-guides/about-transactions#_transaction_response_codes, Transaction response codes>>. type: string memo: description: Additional text that describes the response. type: string required: - code - memo type: object result: description: Contains information about the KYC verification result. properties: codes: description: An array of KYC verification result code objects. items: $ref: '#/components/schemas/result_code' type: array status: description: KYC verification status. type: string type: object result_code: description: Contains the KYC result code and a descriptive message about that codes. properties: code: description: For any `pending` or `failure` outcome, see the <<user_kyc_failure_codes, User KYC failure codes>> table, the <<outcome_reasons_for_the_business, Outcome reasons for the business>> table, or the <<outcome_reasons_for_individuals_associated_with_a_business, Outcome reasons for individuals associated with a business>> table. type: string message: description: Result code description. type: string type: object risk_assessment: description: Contains the digital wallet provider's risk assessment for provisioning the digital wallet token. properties: score: description: Wallet provider's decision as to whether the digital wallet token should be provisioned. type: string version: description: Wallet provider's risk assessment version. type: string type: object riskcontrol_tags: description: The RiskControl tags that were triggered by the transaction. properties: rule_name: description: Name of the rule, as defined in the Real-Time Decisioning dashboard, that was triggered. type: string tag: description: Tag name defined in the rule definition in the Real-Time Decisioning dashboard. type: string values: description: Value associated with the tag. items: type: string type: array type: object samsung_push_tokenize_request_data: description: Contains details about a card tokenization push request. properties: card_type: description: Specifies the type of card. type: string display_name: description: |- Name of the card as displayed in the digital wallet, typically showing the card brand and last four digits of the primary account number (PAN). `Visa 5678`, for example. type: string extra_provision_payload: description: Encrypted card or cardholder details. type: string last_digits: description: Last four digits of the primary account number of the physical or virtual card. type: string network: description: Specifies the card network of the physical or virtual card. type: string token_service_provider: description: Specifies the network that provides the digital wallet token service, as determined by the Samsung Wallet library. type: string type: object selective_auth: properties: dmd_location_sensitivity: default: 0 enum: - 0 - 1 - 2 - 3 - 4 format: int32 type: integer enable_regex_search_chain: default: false type: boolean sa_mode: default: 1 enum: - 0 - 1 - 2 format: int32 type: integer type: object sending_provisioning_data_to_google_pay_backend_request: properties: card_setting: description: |- Indicates if the Funding Primary Account Number (FPAN) will be attempted. * *1* - FPAN save will be attempted. * *0* - FPAN save will not be attempted. enum: - 0 - 1 example: 0 format: int32 type: integer card_token: description: Unique identifier of the card resource. example: 5855opl9-abcc-4cb7-a330-xyze5799ea5 type: string client_session_id: description: String provided by Google Wallet that identifies the client session. example: 5855opl9-abcc-4cb7-a330-xyze5799ea5 type: string integrator_id: description: Google-assigned string that uniquely identifies both the integrator that is initiating the session and the issuer of the card. example: ACMEISSUER_1 type: string public_device_id: description: String provided by Google Wallet that identifies the Android device that will receive the digital wallet token. example: 5855opl9-abcc-4cb7-a330-xyze5799ea5 type: string public_wallet_id: description: String provided by Google Wallet that identifies the device-scoped wallet that receives the digital wallet token. example: 5855opl9-abcc-4cb7-a330-xyze5799ea5 type: string server_session_id: description: String provided by Google Wallet that identifies the backend session. example: 8c84fab9-889c-4cb7-a330-accac5799ea5 type: string token_setting: description: |- Indicates if tokenization will be attempted. * *1* - Tokenization will be attempted. * *0* - Tokenization will not be attempted. enum: - 0 - 1 example: 0 format: int32 type: integer required: - card_setting - card_token - client_session_id - integrator_id - public_device_id - public_wallet_id - server_session_id - token_setting type: object settlement_data: description: Contains information from the card network about currency conversion at the time of settlement, including the original currency of the transaction, the amount of the transaction in the original currency, and the conversion rate. properties: amount: description: The settled amount. type: number conversion_rate: description: |- Returned when the transaction currency is different from the origination currency. Conversion rate between the origination currency and the settlement currency. type: number currency_code: description: The ISO 4217 code of the currency used in the transaction. type: string type: object shipping: properties: care_of_line: description: 255 char max type: string method: enum: - LOCAL_MAIL - LOCAL_MAIL_PACKAGE - GROUND - TWO_DAY - OVERNIGHT - INTERNATIONAL - INTERNATIONAL_PRIORITY - LOCAL_PRIORITY - FEDEX_EXPEDITED - FEDEX_REGULAR - UPS_EXPEDITED - UPS_REGULAR - USPS_EXPEDITED - USPS_REGULAR type: string recipient_address: $ref: '#/components/schemas/fulfillment_address_request' return_address: $ref: '#/components/schemas/fulfillment_address_request' type: object simulation_response_model: properties: raw_iso8583: additionalProperties: properties: { } type: object readOnly: true type: object transaction: $ref: '#/components/schemas/transaction_model' type: object spend_control_association: description: Defines the group of users to which the velocity control applies. properties: card_product_token: description: |- Unique identifier of the card product. Pass either `card_product_token` or `user_token`, not both. maxLength: 36 minLength: 1 type: string user_token: description: |- Unique identifier of the cardholder. Pass either `card_product_token` or `user_token`, not both. maxLength: 36 minLength: 1 type: string type: object ssn_response_model: description: Contains tax identification information. properties: nin: description: National Identification Number (NIN). type: string sin: description: Social Insurance Number (SIN). type: string ssn: description: United States Social Security Number (SSN). type: string tin: description: Taxpayer Identification Number (TIN). type: string type: object store_model: properties: active: default: true type: boolean address1: maxLength: 255 minLength: 0 type: string address2: maxLength: 255 minLength: 0 type: string city: maxLength: 40 minLength: 0 type: string contact: maxLength: 40 minLength: 0 type: string contact_email: maxLength: 40 minLength: 0 type: string country: maxLength: 40 minLength: 0 type: string keyed_auth_cvv_enforced: default: false type: boolean latitude: format: float type: number longitude: format: float type: number merchant_token: maxLength: 36 minLength: 0 type: string mid: maxLength: 50 minLength: 1 type: string name: maxLength: 40 minLength: 0 type: string network_mid: maxLength: 50 minLength: 1 type: string partial_approval_capable: default: false type: boolean partial_auth_flag: default: true type: boolean phone: maxLength: 10 minLength: 0 type: string province: maxLength: 20 minLength: 0 type: string state: maxLength: 255 minLength: 0 type: string token: description: The unique identifier of the merchant maxLength: 36 minLength: 1 type: string zip: maxLength: 10 minLength: 0 type: string required: - address1 - city - merchant_token - mid - name - state - zip type: object store_response_model: properties: active: default: true type: boolean address1: maxLength: 255 minLength: 0 type: string address2: maxLength: 255 minLength: 0 type: string city: maxLength: 40 minLength: 0 type: string contact: maxLength: 40 minLength: 0 type: string contact_email: maxLength: 40 minLength: 0 type: string country: maxLength: 40 minLength: 0 type: string created_time: description: yyyy-MM-ddTHH:mm:ssZ format: date-time type: string keyed_auth_cvv_enforced: default: false type: boolean last_modified_time: description: yyyy-MM-ddTHH:mm:ssZ format: date-time type: string latitude: format: float type: number longitude: format: float type: number merchant_token: maxLength: 36 minLength: 0 type: string mid: maxLength: 50 minLength: 1 type: string name: maxLength: 40 minLength: 0 type: string network_mid: maxLength: 50 minLength: 1 type: string partial_approval_capable: default: false type: boolean partial_auth_flag: default: true description: 1 char max type: boolean phone: maxLength: 10 minLength: 0 type: string postal_code: maxLength: 10 minLength: 0 type: string province: maxLength: 20 minLength: 0 type: string state: maxLength: 255 minLength: 0 type: string token: description: The unique identifier of the merchant maxLength: 36 minLength: 1 type: string zip: maxLength: 10 minLength: 0 type: string required: - address1 - city - created_time - last_modified_time - merchant_token - mid - name - state type: object store_update_model: properties: active: default: true type: boolean address1: maxLength: 255 minLength: 0 type: string address2: maxLength: 255 minLength: 0 type: string city: maxLength: 40 minLength: 0 type: string contact: maxLength: 40 minLength: 0 type: string contact_email: maxLength: 40 minLength: 0 type: string country: maxLength: 40 minLength: 0 type: string keyed_auth_cvv_enforced: default: false type: boolean latitude: format: float type: number longitude: format: float type: number merchant_token: maxLength: 36 minLength: 0 type: string mid: maxLength: 50 minLength: 1 type: string name: maxLength: 40 minLength: 0 type: string network_mid: maxLength: 50 minLength: 1 type: string partial_approval_capable: default: false type: boolean partial_auth_flag: default: true description: 1 char max type: boolean phone: maxLength: 10 minLength: 0 type: string province: maxLength: 20 minLength: 0 type: string state: maxLength: 255 minLength: 0 type: string token: description: The unique identifier of the merchant maxLength: 36 minLength: 1 type: string zip: maxLength: 10 minLength: 0 type: string required: - active - address1 - city - merchant_token - mid - name - state - zip type: object strong_customer_authentication_limits: properties: cavv_authentication_amount_incremental_percentage: readOnly: true type: string enable_biometric_bypass_sca_contactless: readOnly: true type: boolean enable_cavv_authentication_amount_validation: readOnly: true type: boolean enable_issuer_tra_exemption: readOnly: true type: boolean sca_contactless_cumulative_amount_limit: readOnly: true type: number sca_contactless_transaction_limit: readOnly: true type: number sca_contactless_transactions_count_limit: format: int32 readOnly: true type: integer sca_contactless_transactions_currency: readOnly: true type: string sca_lvp_cumulative_amount_limit: readOnly: true type: number sca_lvp_transaction_limit: readOnly: true type: number sca_lvp_transactions_count_limit: format: int32 readOnly: true type: integer sca_lvp_transactions_currency: readOnly: true type: string sca_tra_exemption_amount_limit: readOnly: true type: number type: object tag: properties: name: description: Name of the tag. type: string value: description: Value of the tag. type: string type: object terminal_model: description: |- Contains information about the point of sale, including details on how the card was presented. Returned if provided by the card network, and the request uses Transaction Model v1 of the Marqeta Core API. Not returned for Transaction Model v2 requests. properties: card_presence: description: Indicates whether the card was present during the transaction. type: string cardholder_presence: description: Indicates whether the cardholder was present during the transaction. type: string partial_approval_capable: description: Indicates whether the card acceptor or terminal supports partial-approval transactions. type: string pin_present: description: Indicates whether the cardholder entered a PIN during the transaction. type: string special_condition_indicator: description: |- Indicates a higher-risk operation, such as a quasi-cash or cryptocurrency transaction. These transactions typically involve non-financial institutions. enum: - UNSPECIFIED - CRYPTOCURRENCY_PURCHASE - QUASI_CASH - DEBT_PAYMENT - CENTRAL_BANK_DIGITAL_CURRENCY_PURCHASE - STABLECOIN_PURCHASE - BLOCKCHAIN_NATIVE_TOKEN_PURCHASE - NON_FUNGIBLE_TOKEN_PURCHASE type: string tid: description: Card acceptor or terminal identification number. type: string transaction_initiated_by: description: Specifies the initiator of the transaction. enum: - CONSUMER - MERCHANT - UNKNOWN - MARQETA - NETWORK type: string transaction_initiated_category: description: Specifies the category of a point-of-sale transaction. enum: - CARD_ON_FILE - RECURRING_VAR_AMT_FIXED_FREQ - RECURRING_PAYMENT - INSTALLMENT_PAYMENT - UNSCHEDULED_PAYMENT - PARTIAL_SHIPMENT - DELAYED_PAYMENT - NO_SHOW - RESUBMISSION - DEFERRED_BILLING - ACCOUNT_INQUIRY - INCREMENTAL_AUTHORIZATION - REAUTHORIZATION type: string type: object text: description: Specifies personalized text that appears on the card. properties: name_line_1: $ref: '#/components/schemas/text_value' name_line_2: $ref: '#/components/schemas/text_value' name_line_3: $ref: '#/components/schemas/text_value' required: - name_line_1 type: object text_value: properties: value: description: Line of personalized text printed on the card. type: string type: object token_request: properties: account_number: description: Payment card account number. type: string business_token: description: |- Unique identifier of the business account holder. This token is required if the `user_token` is not included. Send a `GET` request to `/businesses` to retrieve business tokens. maxLength: 36 minLength: 1 type: string cvv_number: description: Payment card CVV2 number. maxLength: 4 minLength: 3 type: string exp_date: description: Payment card expiration date. type: string is_default_account: default: false description: |- If there are multiple funding sources, this field specifies which source is used by default in funding calls. If there is only one funding source, the system ignores this field and always uses that source. type: boolean postal_code: description: Postal code of the account holder (user or business). type: string token: description: |- Unique identifier of the funding account. If you do not include a token, the system will generate one automatically. As this token is necessary for use in other calls, we recommend that you define a simple and easy to remember string rather than letting the system generate a token for you. This value cannot be updated. maxLength: 36 minLength: 1 type: string user_token: description: |- Unique identifier of the user account holder. This token is required if the `business_token` is not included. Send a `GET` request to `/users` to retrieve user tokens. maxLength: 36 minLength: 1 type: string zip: description: United States ZIP code of the account holder (user or business). type: string required: - account_number - cvv_number - exp_date type: object token_service_provider: description: Contains information held and provided by the token service provider (card network). properties: correlation_id: description: Unique value representing a tokenization request (Mastercard only). type: string pan_reference_id: description: Unique identifier of the digital wallet token primary account number (PAN) within the card network. type: string token_assurance_level: description: _(Mastercard only)_ Represents the confidence level in the digital wallet token. type: string token_eligibility_decision: description: Digital wallet's decision as to whether the digital wallet token should be provisioned. type: string token_expiration: description: Expiration date of the digital wallet token. type: string token_pan: description: Primary account number (PAN) of the digital wallet token. type: string token_reference_id: description: Unique identifier of the digital wallet token within the card network. type: string token_requestor_id: description: |- Unique numerical identifier of the token requestor within the card network. These ID numbers map to `token_requestor_name` field values as follows: *Mastercard* * 50110030273 – `APPLE_PAY` * 50120834693 – `ANDROID_PAY` * 50139059239 – `SAMSUNG_PAY` *Visa* * 40010030273 – `APPLE_PAY` * 40010075001 – `ANDROID_PAY` * 40010043095 – `SAMSUNG_PAY` * 40010075196 – `MICROSOFT_PAY` * 40010075338 – `VISA_CHECKOUT` * 40010075449 – `FACEBOOK` * 40010075839 – `NETFLIX` * 40010077056 – `FITBIT_PAY` * 40010069887 – `GARMIN_PAY` type: string token_requestor_name: description: |- Name of the token requestor within the card network. *NOTE:* The list of example values for this field is maintained by the card networks and is subject to change. type: string token_score: description: Token score assigned by the digital wallet. type: string token_type: description: Type of the digital wallet token. type: string required: - pan_reference_id type: object token_update_request: properties: active: default: true description: Indicates whether the card funding source is active. type: boolean exp_date: description: Expiration date for the payment card. type: string is_default_account: default: false description: |- If there are multiple funding sources, this field specifies which source is used by default in funding calls. If there is only one funding source, the system ignores this field and always uses that source. type: boolean required: - exp_date type: object transaction_card_acceptor: description: Contains information about the merchant. properties: address: description: |- Card acceptor's address. May be returned if the request uses Transaction Model v1 of the Marqeta Core API. Not returned for Transaction Model v2 requests. type: string city: description: Card acceptor's city. type: string country_code: description: |- Card acceptor's country code. May be returned if the request uses Transaction Model v2 of the Marqeta Core API. Not returned for Transaction Model v1 requests. type: string country_of_origin: description: |- The merchant's country of origin. A merchant's country of origin can be different from the country in which the merchant is located. For example, embassies are physically located in countries that are not their country of origin: a Mexican embassy might be physically located in Singapore, but the country of origin is Mexico. This field is included when the cardholder conducts a transaction with a government-controlled merchant using a Marqeta-issued card. type: string customer_service_phone: type: string geographic_coordinates: description: Geographic coordinates of the card acceptor in `latitudeE7,longitudeE7` format. type: string independent_sales_organization_id: type: string mcc: description: Merchant category code (MCC). type: string mcc_groups: description: An array of `mcc_groups`. items: type: string type: array merchant_tax_id: type: string merchant_vat_registration_id: description: The VAT registration identifier of the merchant. type: string mid: description: The merchant identifier. type: string name: description: Card acceptor's name. type: string network_assigned_id: description: Identifier assigned by the card network. type: string network_mid: description: The merchant identifier on the card network. type: string payment_facilitator_id: type: string payment_facilitator_name: description: |- The name of the payment facilitator, including the sub-merchant identifier, of an original credit transaction. This field is returned when a payment facilitator participates in the transaction. type: string phone: type: string poi: $ref: '#/components/schemas/terminal_model' postal_code: description: Card acceptor's postal code. type: string service_geographic_coordinates: description: Geographic coordinates of the service provider in `latitudeE7,longitudeE7` format. type: string special_merchant_id: type: string state: description: |- Two-character state, province, or territorial abbreviation. For a complete list of valid state and province abbreviations, see <</core-api/kyc-verification#_valid_state_provincial_and_territorial_abbreviations, Valid state, provincial, and territorial abbreviations>>. *Note*: Non-US merchants may return more than 2 char for this field. type: string sub_merchant_id: type: string transfer_service_provider_name: description: |- The name of the transfer service provider of a money transfer original credit transaction. This field is included when a transfer service provider participates in the transaction. type: string url: type: string type: object transaction_controls: properties: accepted_countries_token: description: 50 char max (default = accept_us_only) type: string address_verification: $ref: '#/components/schemas/avs_controls' allow_chip_fallback: default: false type: boolean allow_first_pin_set_via_financial_transaction: default: false type: boolean allow_gpa_auth: default: false type: boolean allow_mcc_group_authorization_controls: default: false type: boolean allow_network_load: default: false type: boolean allow_network_load_card_activation: default: false type: boolean allow_quasi_cash: default: false type: boolean always_require_icc: default: false type: boolean always_require_pin: default: false type: boolean enable_credit_service: default: false type: boolean enable_partial_auth_approval: default: false type: boolean ignore_card_suspended_state: default: false type: boolean notification_language: type: string quasi_cash_exempt_merchant_group_token: description: 36 char max maxLength: 36 minLength: 1 type: string quasi_cash_exempt_mids: type: string require_card_not_present_card_security_code: default: false type: boolean strong_customer_authentication_limits: $ref: '#/components/schemas/strong_customer_authentication_limits' type: object transaction_device: description: |- Contains information about the device used in the transaction to enhance the risk decisioning process. Use this data to improve fraud prevention and dispute resolution. properties: binding_id: description: Unique identifier of the data component bound to the credential. type: string ip_address: description: |- IP address of the device. The presence of the IP address helps determine if the transaction was initiated from an unusual network, helping establish a pattern of safe device usage that further confirms the authenticity of the consumer who initiated the transaction. type: string location: description: |- Geographic coordinates of the device. Contains the latitude and longitude of the device used when the cardholder was authenticated during checkout. This field helps to determine if the transaction was initiated from an unexpected location. type: string phone_number: description: |- Telephone number of the device. Contains the phone number that was used to authenticate the consumer during checkout, or the consumer's preferred phone number. The presence of the phone number helps establish the consumer's authenticity when matching the phone number provided during checkout to a list of known phone numbers for the consumer. type: string type: object transaction_metadata: description: |- Contains merchant-provided metadata related to the transaction, including details about lodging- and transit-related purchases. May be returned if the request uses Transaction Model v2 of the Marqeta Core API. Not returned for Transaction Model v1 requests. properties: airline: $ref: '#/components/schemas/airline' authorization_life_cycle: description: Number of days the pre-authorization is in effect. format: int32 type: integer cross_border_transaction: default: false description: Whether the transaction is cross-border, i.e., when the merchant and the cardholder are located in two different countries. type: boolean is_deferred_authorization: description: Indicates an offline authorization made during an interruption of card network connectivity, such as a purchase on a flight. type: boolean is_lodging_auto_rental: default: false description: Whether the transaction is a lodging or vehicle rental. type: boolean lodging_auto_rental_start_date: description: Date and time when the lodging check-in or vehicle rental began. format: date-time type: string memo: description: Indicates a credit or debit adjustment in a clearing transaction. enum: - CREDIT_ADJUSTMENT - DEBIT_ADJUSTMENT maxLength: 99 minLength: 1 type: string moto_indicator: description: Indicates the type of mail or telephone order transaction. enum: - UNKNOWN - MANUAL - RECURRING - INSTALLMENT - OTHERS type: string one_leg_out: type: boolean payment_channel: description: Channel from which the transaction was originated. enum: - OTHER - ATM - ECOMMERCE - MAIL - PHONE - MOTO type: string special_purchase_id: type: string transaction_category: description: Type of product or service being purchased, if provided by the merchant. enum: - RETAIL_SALE - BILL_PAY - HOTEL - HEALTH_CARE - RESTAURANT - AUTO_RENTAL - AIRLINE - PAYMENT - HOSPITALIZATION_COLLEGE - PHONE_MAIL_ECOMMERCE - ATM - TRANSIT - EXTENDED_AUTHORIZATION type: string transit: $ref: '#/components/schemas/transit' type: object transaction_model: description: |- Transactions are represented by the `transaction` object. The Marqeta platform creates a separate `transaction` object for each transaction message received from the card network. The attributes of a given `transaction` object depend on the transaction type. This section documents all fields that might be included in a `transaction` object. // This schema is used by InfoDev to generate API reference documentation. // File location in GitHub is: openapi/transactions/schemas/transaction_model.yaml properties: account_funding: $ref: '#/components/schemas/account_funding' account_name_verification: $ref: '#/components/schemas/account_name_verification_model' account_owner: $ref: '#/components/schemas/account_owner_model' acquirer: $ref: '#/components/schemas/acquirer' acquirer_fee_amount: description: |- Indicates the amount of the acquirer fee. Account holders are sometimes charged an acquirer fee for card use at ATMs, fuel dispensers, and so on. type: number acquirer_reference_data: description: |- Acquirer-assigned unique identifier of the transaction. Useful for settlement and reconciliation. type: string acquirer_reference_id: description: |- Acquirer-assigned unique identifier of the transaction. Useful for settlement and reconciliation. type: string acting_user_token: description: |- Unique identifier of the user who conducted the transaction. This might be a child user configured to share its parent's account balance. maxLength: 36 minLength: 0 type: string address_verification: $ref: '#/components/schemas/address_verification_model' advice_reason_code: description: Extended stand-in processing (STIP) reason code, as provided by the Visa card network. type: string advice_reason_details: description: Extended stand-in processing (STIP) reason details, as provided by the Visa card network. type: string amount: description: Amount of the transaction. type: number amount_to_be_released: description: |- Amount of original authorization to be released. This field appears in final clearing transactions where the clearing amount is lower than the authorization amount. type: number anticipated_amount: description: |- Anticipated amount of the transaction, as provided by the card network. This field applies to anticipated amount verification transactions (AAVTs). type: number approval_code: description: Unique identifier assigned to an authorization, printed on the receipt at point of sale. type: string atc_information: $ref: '#/components/schemas/ATCInformationModel' authorization_expiration: type: string auto_reload: $ref: '#/components/schemas/auto_reload_model' bank_transfer_token: type: string batch_number: description: The batch number of the transaction. type: string billpay: $ref: '#/components/schemas/BillPayResponse' business: $ref: '#/components/schemas/business_metadata' business_token: description: Unique identifier of the business that owns the account that funded the transaction. maxLength: 36 minLength: 0 type: string card: $ref: '#/components/schemas/card_response' card_acceptor: $ref: '#/components/schemas/transaction_card_acceptor' card_holder_model: $ref: '#/components/schemas/user_card_holder_response' card_product_token: description: Unique identifier of the card product. maxLength: 36 minLength: 0 type: string card_security_code_verification: $ref: '#/components/schemas/card_security_code_verification' card_token: description: |- Unique identifier of the card. Useful when a single account holder has multiple cards. maxLength: 36 minLength: 0 type: string cardholder_authentication_data: $ref: '#/components/schemas/cardholder_authentication_data' cash_back_amount: description: |- Amount of cash back requested by the cardholder during the transaction. Included in the total transaction amount. type: number cashloads_direct: $ref: '#/components/schemas/CashloadsResponseModel' chargeback: $ref: '#/components/schemas/chargeback_response' clearing_record_sequence_number: description: A sequence number that identifies a specific clearing message among multiple clearing messages for an authorization. type: string created_time: description: |- Date and time when the Marqeta platform created the transaction entry, in UTC format. For example, when Marqeta processed the clearing record for a refund. format: date-time type: string currency_code: description: Currency type of the transaction. type: string currency_conversion: $ref: '#/components/schemas/currency_conversion' deferred_settlement_days: type: string digital_wallet_token: $ref: '#/components/schemas/digital_wallet_token' digital_wallet_token_transaction_service_provider_info: $ref: '#/components/schemas/digital_service_provider' direct_deposit: $ref: '#/components/schemas/DepositDepositResponse' dispute: $ref: '#/components/schemas/DisputeModel' duration: description: Duration of the transaction on Marqeta's servers, in milliseconds. format: int32 type: integer enhanced_data_token: description: The enhanced commercial card data token for the transaction. type: string estimated_authorization: description: |- Indicates an estimated authorization. An estimated authorization allows the merchant to obtain an approval for funds before the cardholder has finalized exactly what goods or services will be purchased. type: boolean fee: $ref: '#/components/schemas/fee' fee_transfer: $ref: '#/components/schemas/fee_transfer_response' fees: description: |- List of fees associated with the transaction. This array is returned if it exists in the resource. items: $ref: '#/components/schemas/network_fee_model' type: array flex: $ref: '#/components/schemas/flex' fraud: $ref: '#/components/schemas/fraud_view' from_account: description: Specifies the funding account type. type: string gpa: $ref: '#/components/schemas/cardholder_balance' gpa_order: $ref: '#/components/schemas/gpa_response' gpa_order_unload: $ref: '#/components/schemas/gpa_returns' identifier: description: Sequential identifier of the transaction. type: string incremental_authorization_transaction_tokens: description: An array of incremental authorization transaction tokens. items: type: string type: array installment_data: $ref: '#/components/schemas/installment_data' interchange_rate_descriptor: type: string is_final_clearing: description: |- Indicates the final clearing event for an authorization. If the final cleared amount is lower than the authorized amount, you must release the hold on the funds per the value in the `amount_to_be_released` field. type: boolean is_preauthorization: default: false description: Indicates if the transaction is a pre-authorization. type: boolean isaIndicator: description: The international service assessment indicator indicates if an ISA fee is applicable to the transaction. enum: - MULTI_CURRENCY - SINGLE_CURRENCY - REBATE_CANCELLED - MULTI_CURRENCY_NON_US_COUNTRIES - SINGLE_CURRENCY_PAID_BY_ISSUER - NO_CHARGE_ASSESSED type: string issuer_interchange_amount: description: The amount of interchange charged by the card issuer. type: number issuer_payment_node: description: Unique identifier of the Marqeta platform server that received the transaction from the card network. type: string issuer_received_time: description: Date and time when the Marqeta platform received the transaction from the card network, in UTC. type: string local_transaction_date: description: |- Indicates the local time of the transaction at the card acceptor's location. You can use this field to determine the correct time of the transaction when filing a dispute. format: date-time type: string merchant: $ref: '#/components/schemas/merchant_response_model' merchant_initiated_original_trace_id: description: Unique network identification value formed by combining the 6- to 9-character Mastercard Banknet Reference Number and the 4-digit settlement date for recurring payments and other merchant-initiated transactions. type: string msa_order_unload: $ref: '#/components/schemas/msa_returns' multi_clearing_sequence_count: description: |- If an authorization has multiple clearing transactions, this field displays their total number. For example, if an authorization has four clearing transactions, the sequence count is `04`. type: string multi_clearing_sequence_number: description: |- If an authorization has multiple clearing transactions, this field displays the sequence number for the clearing transaction. For example, if this is the second clearing transaction of four, the sequence number is `02`. type: string national_net_cpd_of_original: type: string network: description: Indicates which card network was used to complete the transactions. type: string network_metadata: $ref: '#/components/schemas/network_metadata' network_reference_id: description: |- Network-assigned unique identifier of the transaction. Useful for settlement and reconciliation. type: string network_transaction_lifecycle_id: description: |- Transaction identifier, as provided by the card network. This identifier connects the original transaction to all subsequent activities throughout the transaction lifecycle. type: string original_credit: $ref: '#/components/schemas/original_credit' original_transaction_token: description: Unique identifier of the original transaction in a series of related transactions. type: string payment_facilitator: $ref: '#/components/schemas/payment_facilitator_model' peer_transfer: $ref: '#/components/schemas/peer_transfer_response' polarity: description: Indicates whether the transaction is credit or debit. enum: - CREDIT - DEBIT - PENDING_CREDIT - PENDING_DEBIT type: string pos: $ref: '#/components/schemas/pos' preceding_related_transaction_token: description: |- Returned for final transaction types. Unique identifier of the preceding related transaction. Useful for identifying the transaction that preceded the current one. For example, `authorization`, a temporary transaction type, precedes and is completed by `authorization.clearing`, a final transaction type. In this case, the `authorization` token is returned with this field. For which transaction types are temporary or final, see <</core-api/event-types#_transaction_events, Transaction events in Event Types>>. type: string preceding_transaction: $ref: '#/components/schemas/preceding_transaction' program: $ref: '#/components/schemas/program' program_transfer: $ref: '#/components/schemas/program_transfer_response' real_time_fee_group: $ref: '#/components/schemas/real_time_fee_group' request_amount: description: Merchant-requested amount, including any fees. type: number response: $ref: '#/components/schemas/response' settlement_date: description: |- Date and time when funds were moved for a transaction, in UTC. For example, in the case of a refund, when funds were credited to the cardholder. format: date-time type: string settlement_indicator: description: Indicates the settlement service used for the transaction. type: string standin_approved_by: description: |- Indicates which party approved a transaction: the card network using stand-in processing, or Marqeta using Commando Mode. Returned only when a transaction is approved. type: string standin_by: description: 'Indicates which party approved a transaction: the card network using stand-in processing, or Marqeta using Commando Mode.' type: string standin_reason: description: Indicates why the card network handled a transaction requiring stand-in processing. type: string state: description: |- Current state of the transaction. For more information about the `state` field, see <</developer-guides/about-transactions#_the_transaction_lifecycle, The transaction lifecycle>>. enum: - PENDING - CLEARED - COMPLETION - DECLINED - ERROR type: string store: $ref: '#/components/schemas/store_response_model' subnetwork: description: |- Indicates which subnetwork was used to complete the transaction. Possible values include the following: * *VISANET* – Used for VisaNet signature-based transactions. * *VISANETDEBIT* – Used for VisaNet Debit PIN-based transaction. * *VISAINTERLINK* – Used for Visa Interlink PIN-based transactions. * *VISAPLUS* – Used for ATM withdrawals on Visa. * *MAESTRO* – Used for PIN-based transactions on Mastercard. * *CIRRUS* – Used for ATM withdrawals on Mastercard. * *MASTERCARDDEBIT* – Used for signature-based transactions on Mastercard. * *GATEWAY_JIT* – Used for Gateway JIT Funding transactions. * *MANAGED_JIT* – Used for Managed JIT Funding transactions or for transactions that occur while Commando Mode is enabled. type: string to_account: description: Specifies the receiving account type. type: string token: description: |- Unique identifier of the transaction, formatted as a UUID. *NOTE:* For subsequent related transactions, this token value appears as the `preceding_related_transaction_token`. maxLength: 36 minLength: 1 readOnly: true type: string transaction_attributes: additionalProperties: type: string description: Additional transaction attributes. type: object transaction_metadata: $ref: '#/components/schemas/transaction_metadata' type: description: |- Transaction event type. For more information about the `type` field, see <</core-api/event-types#_transaction_events, Transaction events>>. enum: - gpa.credit - gpa.credit.pending - gpa.credit.pending.reversal - gpa.credit.reversal - gpa.credit.networkload - gpa.credit.networkload.reversal - gpa.debit.networkload - gpa.debit - gpa.debit.pending - gpa.debit.pending.reversal - gpa.grant - gpa.credit.issueroperator - gpa.debit.issueroperator - gpa.credit.chargeback - gpa.credit.chargeback.reversal - gpa.credit.billpayment - gpa.credit.authorization.billpayment - gpa.credit.authorization.billpayment.reversal - msa.credit.pending - msa.credit.pending.reversal - msa.credit.reversal - msa.credit - msa.debit.pending - msa.debit.pending.reversal - msa.debit - msa.credit.chargeback - msa.credit.chargeback.reversal - authorization - authorization.advice - authorization.reversal - authorization.clearing - authorization.reversal.issuerexpiration - dispute.credit - dispute.debit - authorization.clearing.chargeback - authorization.clearing.chargeback.reversal - refund - pindebit.atm.withdrawal - pindebit.balanceinquiry - pindebit.cashback - pindebit.checkavs - pindebit - programreserve.credit - programreserve.debit - fee.charge.pending - fee.charge - fee.charge.refund - fee.charge.reversal - funds.expire - reward.earn - transfer.peer - transfer.fee - account.funding.authorization - account.funding.authorization.reversal - account.funding.authorization.clearing - account.funding.auth_plus_capture - account.funding.auth_plus_capture.reversal - account.credit - account.debit - balanceinquiry - authorization.atm.withdrawal - authorization.pin.change - authorization.pin.unblock - authorization.clearing.atm.withdrawal - authorization.cashback - authorization.clearing.cashback - transfer.program - authorization.quasi.cash - authorization.clearing.quasi.cash - authorization.incremental - gpa.credit.authorization - gpa.credit.authorization.reversal - gpa.debit.authorization - gpa.debit.reversal - original.credit.authorization - original.credit.authorization.reversal - original.credit.authorization.clearing - original.credit.auth_plus_capture - original.credit.auth_plus_capture.reversal - refund.authorization - refund.authorization.advice - refund.authorization.clearing - refund.authorization.reversal - token.activation-request - token.advice - pindebit.authorization - pindebit.authorization.clearing - pindebit.authorization.reversal - pindebit.authorization.reversal.issuerexpiration - authorization.standin - authorization.clearing.chargeback.completed - authorization.clearing.chargeback.provisional.credit - authorization.clearing.chargeback.provisional.debit - authorization.clearing.chargeback.writeoff - directdeposit.credit - directdeposit.credit.pending - directdeposit.credit.reject - directdeposit.credit.pending.reversal - directdeposit.credit.reversal - directdeposit.debit - directdeposit.debit.pending - directdeposit.debit.reject - directdeposit.debit.reversal - pin.change.reversal - pin.change.reversal.advice - directdeposit.debit.pending.reversal - pindebit.chargeback - pindebit.chargeback.completed - pindebit.chargeback.provisional.credit - pindebit.chargeback.provisional.debit - pindebit.chargeback.reversal - pindebit.chargeback.writeoff - pindebit.pin.change - pindebit.pin.unblock - pindebit.credit.adjustment - pindebit.quasicash - pindebit.quasi.cash - pindebit.refund - pindebit.refund.reversal - pindebit.reversal - pindebit.transfer - pushtocard.debit - pushtocard.reversal - credit.adjustment - debit.adjustment - pin.change.via.api - product.inquiry - transit.offer - unknown type: string user: $ref: '#/components/schemas/cardholder_metadata' user_token: description: Unique identifier of the user who owns the account that funded the transaction; subsequent related transactions retain the same `user_token`, even if the card used to complete the transaction moves to another user. maxLength: 36 minLength: 0 type: string user_transaction_time: description: |- Date and time when the user initiated the transaction, in UTC. For example, when a merchant performed the original authorization for a refund. format: date-time type: string required: - acting_user_token - amount - state - token - type title: Transaction object type: object transaction_options: properties: additional_data: type: string card_expiration_date_yymm: type: string database_transaction_timeout: format: int32 type: integer encryption_key_id: type: string is_async: default: false type: boolean pre_auth_time_limit: type: string send_expiration_date: default: false type: boolean send_track_data: default: false type: boolean transaction_timeout_threshold_seconds: format: int64 type: integer transaction_token: type: string type: object transit: description: Contains merchant-provided, transit-related metadata related to the transaction. properties: transaction_type: description: Type of transit transaction. enum: - PRE_FUNDED - REAL_TIME_AUTHORIZED - POST_AUTHORIZED_AGGREGATED - AUTHORIZED_AGGREGATED_SPLIT_CLEARING - DEBIT_RECOVERY - OTHER type: string transportation_mode: description: Mode of transportation. enum: - BUS - TRAIN - WATER_BORNE_VEHICLE - TOLL - PARKING - TAXI - PARA_TRANSIT - SELF_DRIVE_VEHICLE - COACH - LOCOMOTIVE - POWERED_MOTOR_VEHICLE - TRAILER - INTER_CITY - CABLE_CAR type: string type: object triggered_rule: description: Provides a list of rules triggered by a fraud event, along with the information on tags and rule characteristics. properties: alert: description: Indicates if the rule triggered an alert. type: boolean entity_type: description: The entity type where the triggered rule was defined. type: string rule_name: description: Name of the rule, as defined in the Real-Time Decisioning dashboard that was triggered. type: string suppress_alert: description: Indicates if the triggered rule has `suppress_alert` in the definition. type: boolean tags: description: All the tags defined in the triggered rule. items: $ref: '#/components/schemas/tag' type: array type: object unload_request_model: properties: amount: description: Amount of funds to return to the funding source. type: number funding_source_address_token: description: |- Unique identifier of the funding source to use for this GPA unload order. Send a `GET` request to `/fundingsources/addresses/user/{token}` to retrieve addresses for a specific user. maxLength: 36 minLength: 1 type: string memo: description: Additional descriptive text about the GPA unload. maxLength: 99 minLength: 0 type: string original_order_token: description: Unique identifier of the original GPA order. maxLength: 36 minLength: 1 type: string tags: description: Comma-delimited list of tags describing the GPA unload order. maxLength: 255 minLength: 0 type: string token: description: |- Unique identifier of the GPA unload order. If you do not include a token, the system will generate one automatically. This token is necessary for use in other calls, so we recommend that rather than let the system generate one, you use a simple string that is easy to remember. This value cannot be updated. maxLength: 36 minLength: 1 type: string required: - amount - original_order_token type: object user_association: properties: single_inventory_user: default: false type: boolean single_inventory_user_token: default: 'false' maxLength: 36 minLength: 1 type: string type: object user_card_holder_response: description: Contains information about a cardholder. properties: account_holder_group_token: description: Associates the specified account holder group with the cardholder. maxLength: 36 minLength: 0 type: string active: default: false description: Specifies if the cardholder is in the `ACTIVE` state on the Marqeta platform. type: boolean address1: description: Cardholder's address. maxLength: 255 minLength: 0 type: string address2: description: Additional address information for the cardholder. maxLength: 255 minLength: 0 type: string authentication: $ref: '#/components/schemas/Authentication' birth_date: description: Cardholder's date of birth. type: string business_token: description: Unique identifier of the business resource. type: string city: description: City where the cardholder resides. maxLength: 40 minLength: 0 type: string company: description: Company name. maxLength: 255 minLength: 0 type: string corporate_card_holder: default: false description: Specifies if the cardholder holds a corporate card. type: boolean country: description: Country where the cardholder resides. maxLength: 40 minLength: 0 type: string created_time: description: Date and time when the resource was created, in UTC. format: date-time type: string email: description: Valid email address of the cardholder. maxLength: 255 minLength: 1 type: string first_name: description: Cardholder's first name. maxLength: 40 minLength: 0 type: string gender: description: Gender of the cardholder. enum: - F - M maxLength: 1 minLength: 0 type: string honorific: description: 'Cardholder''s title or prefix: Dr., Miss, Mr., Ms., and so on.' maxLength: 10 minLength: 0 type: string id_card_expiration_date: description: Expiration date of the cardholder's identification. readOnly: true type: string id_card_number: description: Cardholder's identification card number. maxLength: 255 minLength: 0 type: string identifications: description: One or more objects containing identifications associated with the cardholder. items: $ref: '#/components/schemas/IdentificationResponseModel' type: array ip_address: description: Cardholder's IP address. maxLength: 39 minLength: 0 type: string last_modified_time: description: Date and time when the resource was last updated, in UTC. format: date-time type: string last_name: description: Cardholder's last name. maxLength: 40 minLength: 0 type: string metadata: additionalProperties: type: string description: Associates any additional metadata you provide with the cardholder. type: object middle_name: description: Cardholder's middle name. maxLength: 40 minLength: 0 type: string nationality: description: Cardholder's nationality. maxLength: 255 minLength: 0 type: string notes: description: Any additional information pertaining to the cardholder. maxLength: 255 minLength: 0 type: string parent_token: description: Unique identifier of the parent user or business resource. maxLength: 36 minLength: 1 type: string passport_expiration_date: description: Expiration date of the cardholder's passport. readOnly: true type: string passport_number: description: Cardholder's passport number. maxLength: 40 minLength: 0 type: string password: description: Password to the cardholder's user account on the Marqeta platform. maxLength: 255 minLength: 1 type: string phone: description: Cardholder's telephone number. maxLength: 255 minLength: 0 type: string postal_code: description: Postal code of the cardholder's address. maxLength: 10 minLength: 0 type: string ssn: description: Cardholder's Social Security Number (SSN). type: string state: description: State or province where the cardholder resides. maxLength: 2 minLength: 0 type: string status: description: Specifies the status of the cardholder on the Marqeta platform. enum: - UNVERIFIED - LIMITED - ACTIVE - SUSPENDED - CLOSED type: string token: description: Unique identifier of the cardholder. maxLength: 36 minLength: 1 type: string uses_parent_account: default: false description: Indicates whether the child shares balances with the parent (`true`), or the child's balances are independent of the parent (`false`). type: boolean zip: description: United States ZIP code of the cardholder's address. maxLength: 10 minLength: 0 type: string required: - created_time - last_modified_time type: object user_card_holder_search_model: properties: dda: description: |- Performs a match on the specified deposit account number. Send a `GET` request to `/directdeposits/accounts/{user_token}` to retrieve the deposit account number for a specific cardholder. type: string email: description: Performs a non-case-sensitive, exact match on the cardholder's `email` field. maxLength: 255 minLength: 1 type: string first_name: description: |- Performs a non-case-sensitive match on the cardholder's `first_name` field. Matching is partial on the beginning of the name. For example, a match on "Alex" returns both "Alex" and "Alexander". maxLength: 40 minLength: 0 type: string last_name: description: |- Performs a non-case-sensitive match on the cardholder's `last_name` field. Matching is partial on the beginning of the name. For example, a match on "Smith" returns both "Smith" and "Smithfield". maxLength: 40 minLength: 0 type: string phone: description: Performs a match on the cardholder's `phone` field. maxLength: 255 minLength: 0 type: string ssn: description: Performs a match on the cardholder's identification number. type: string type: object velocity_control_balance_response: properties: active: description: Indicates whether the velocity control is active. type: boolean amount_limit: description: |- Maximum monetary sum that can be cleared within the time period defined by the `velocity_window` field. Refunds and reversals cannot exceed this limit. exclusiveMinimum: false minimum: 0 type: number approvals_only: description: |- If set to `true`, only approved transactions are subject to control. If set to `false`, only declined transactions are subject to control. type: boolean association: $ref: '#/components/schemas/spend_control_association' available: $ref: '#/components/schemas/available' currency_code: description: Three-character ISO 4217 currency code. type: string include_cashback: description: If set to `true`, the cashback components of point-of-sale transactions are subject to control. type: boolean include_credits: description: If set to `true`, original credit transactions (OCT) are subject to control. type: boolean include_purchases: description: |- If set to `true`, the following transactions are subject to control: * *Account funding:* All account funding transactions * *Cashback:* Only the purchase component of cashback transactions * *Purchase transactions:* All authorizations, PIN debit transactions, and incremental transactions * *Quasi-cash:* All quasi-cash transactions * *Refunds:* All refund transactions (see <</developer-guides/controlling-spending#_controls_to_limit_amount_and_frequency_of_spending, Controls to limit amount and frequency of spending>> for more information) * *Reversals:* All reversal transactions type: boolean include_transfers: description: |- If set to `true`, account-to-account transfers are subject to control. Account-to-account transfers are not currently supported. type: boolean include_withdrawals: description: If set to `true`, ATM withdrawals are subject to control. type: boolean merchant_scope: $ref: '#/components/schemas/merchant_scope' money_in_transaction: $ref: '#/components/schemas/money_in_transaction' name: description: Description of how the velocity control restricts spending, for example, "Max spend of $500 per day" or "Max spend of $5000 per month for non-exempt employees". maxLength: 255 minLength: 0 type: string token: description: Unique identifier of the velocity control. maxLength: 36 minLength: 1 type: string usage_limit: description: Maximum number of times a card can be used within the time period defined by the `velocity_window` field. format: int32 minimum: -1 type: integer velocity_window: description: |- Defines the time period to which the `amount_limit` and `usage_limit` fields apply: * *DAY* – one day; days begin at 00:00:00 UTC. * *WEEK* – one week; weeks begin Sundays at 00:00:00 UTC. * *MONTH* – one month; months begin on the first day of month at 00:00:00 UTC. * *LIFETIME* – forever; time period never expires. * *TRANSACTION* – a single transaction. enum: - DAY - WEEK - MONTH - LIFETIME - TRANSACTION type: string required: - amount_limit - available - currency_code - velocity_window type: object velocity_control_request: properties: active: description: Indicates whether the velocity control is active. type: boolean amount_limit: description: |- Maximum monetary sum that can be cleared within the time period defined by the `velocity_window` field. Refunds and reversals cannot exceed this limit. exclusiveMinimum: false minimum: 0 type: number approvals_only: description: |- If set to `true`, only approved transactions are subject to control. If set to `false`, only declined transactions are subject to control. type: boolean association: $ref: '#/components/schemas/spend_control_association' currency_code: description: Three-character ISO 4217 currency code. type: string include_cashback: description: If set to `true`, the cashback components of point-of-sale transactions are subject to control. type: boolean include_credits: description: |- If set to `true`, original credit transactions (OCT) are subject to control. Your request can contain either a `money_in_transaction` object or the `include_credits` field, not both. type: boolean include_purchases: description: |- If set to `true`, the following transactions are subject to control: * *Account funding:* All account funding transactions * *Cashback:* Only the purchase component of cashback transactions * *Purchase transactions:* All authorizations, PIN debit transactions, and incremental transactions * *Quasi-cash:* All quasi-cash transactions * *Refunds:* All refund transactions (see <</developer-guides/controlling-spending#_controls_to_limit_amount_and_frequency_of_spending, Controls to limit amount and frequency of spending>> for more information) * *Reversals:* All reversal transactions type: boolean include_transfers: description: |- If set to `true`, account-to-account transfers are subject to control. Account-to-account transfers are not currently supported. type: boolean include_withdrawals: description: If set to `true`, ATM withdrawals are subject to control. type: boolean merchant_scope: $ref: '#/components/schemas/merchant_scope' money_in_transaction: $ref: '#/components/schemas/money_in_transaction' name: description: |- Description of how the velocity control restricts spending, for example, "Max spend of $500 per day" or "Max spend of $5000 per month for non-exempt employees". Ensure that the description you provide here adequately captures the kind of restriction exerted by this velocity control, because the Marqeta platform will send this information to you in a webhook in the event that the transaction authorization attempt is declined by the velocity control. *NOTE:* This field is very important. If your program has multiple velocity controls in place, it is not always clear which one prevented the transaction from being approved. Adding specific details to this field gives you more contextual information when debugging or monitoring declined authorization attempts. maxLength: 255 minLength: 0 type: string token: description: |- Unique identifier of the velocity control. If you do not include a token, the system will generate one automatically. This token is necessary for use in other API calls, so we recommend that rather than let the system generate one, you use a simple string that is easy to remember. This value cannot be updated. maxLength: 36 minLength: 1 type: string usage_limit: description: |- Maximum number of times a card can be used within the time period defined by the `velocity_window` field. If `velocity_window` is set to `TRANSACTION`, do not include a `usage_limit` in your request. Set to `-1` to indicate that the card can be used an unlimited number of times. format: int32 minimum: -1 type: integer velocity_window: description: |- Defines the time period to which the `amount_limit` and `usage_limit` fields apply: * *DAY* – one day; days begin at 00:00:00 UTC. * *WEEK* – one week; weeks begin Sundays at 00:00:00 UTC. * *MONTH* – one month; months begin on the first day of month at 00:00:00 UTC. * *LIFETIME* – forever; time period never expires. * *TRANSACTION* – a single transaction. // (2023-05-03): This statement was validated by Processing, as part of a customer inquiry. *NOTE:* If set to `DAY`, `WEEK`, or `MONTH`, the velocity control takes effect retroactively from the beginning of the specified period. The amount and usage data already collected within the first period is counted toward the limits. If set to `LIFETIME`, the velocity control only applies to transactions on or after the date and time that the velocity control was created. `LIFETIME` velocity controls are not retroactively applied to historical transactions. // (2023-05-03): Commenting this note out, as it is untrue in testing as reported by customers and confirmed by transaction engine team //*NOTE:* Editing any of the following fields on a velocity control resets its usage and amount count to 0: //* `merchant_scope.mcc` //* `merchant_scope.mid` //* `merchant_scope.mcc_group` //* `association.user_token` //* `association.card_product_token` enum: - DAY - WEEK - MONTH - LIFETIME - TRANSACTION type: string required: - amount_limit - currency_code - velocity_window type: object velocity_control_response: properties: active: description: Indicates whether the velocity control is active. type: boolean amount_limit: description: |- Maximum monetary sum that can be cleared within the time period defined by the `velocity_window` field. Refunds and reversals cannot exceed this limit. exclusiveMinimum: false minimum: 0 type: number approvals_only: description: |- If set to `true`, only approved transactions are subject to control. If set to `false`, only declined transactions are subject to control. type: boolean association: $ref: '#/components/schemas/spend_control_association' currency_code: description: Three-character ISO 4217 currency code. type: string include_cashback: description: If set to `true`, the cashback components of point-of-sale transactions are subject to control. type: boolean include_credits: description: If set to `true`, original credit transactions (OCT) are subject to control. type: boolean include_purchases: description: |- If set to `true`, the following transactions are subject to control: * *Account funding:* All account funding transactions * *Cashback:* Only the purchase component of cashback transactions * *Purchase transactions:* All authorizations, PIN debit transactions, and incremental transactions * *Quasi-cash:* All quasi-cash transactions * *Refunds:* All refund transactions (see <</developer-guides/controlling-spending#_controls_to_limit_amount_and_frequency_of_spending, Controls to limit amount and frequency of spending>> for more information) * *Reversals:* All reversal transactions type: boolean include_transfers: description: |- If set to `true`, account-to-account transfers are subject to control. Account-to-account transfers are not currently supported. type: boolean include_withdrawals: description: If set to `true`, ATM withdrawals are subject to control. type: boolean merchant_scope: $ref: '#/components/schemas/merchant_scope' money_in_transaction: $ref: '#/components/schemas/money_in_transaction' name: description: |- Description of how the velocity control restricts spending. For example, "Max spend of $500 per day" or "Max spend of $5000 per month for non-exempt employees". maxLength: 255 minLength: 0 type: string token: description: Unique identifier of the velocity control. maxLength: 36 minLength: 1 type: string usage_limit: description: Maximum number of times a card can be used within the time period defined by the `velocity_window` field. format: int32 minimum: -1 type: integer velocity_window: description: |- Defines the time period to which the `amount_limit` and `usage_limit` fields apply: * *DAY* – one day; days begin at 00:00:00 UTC. * *WEEK* – one week; weeks begin Sundays at 00:00:00 UTC. * *MONTH* – one month; months begin on the first day of month at 00:00:00 UTC. * *LIFETIME* – forever; time period never expires. * *TRANSACTION* – a single transaction. enum: - DAY - WEEK - MONTH - LIFETIME - TRANSACTION type: string required: - amount_limit - currency_code - velocity_window type: object velocity_control_update_request: properties: active: description: Indicates whether the velocity control is active. type: boolean amount_limit: description: |- Maximum monetary sum that can be cleared within the time period defined by the `velocity_window` field. Refunds and reversals cannot exceed this limit. exclusiveMinimum: false minimum: 0 type: number approvals_only: description: |- If set to `true`, only approved transactions are subject to control. If set to `false`, only declined transactions are subject to control. type: boolean association: $ref: '#/components/schemas/spend_control_association' currency_code: description: Three-character ISO 4217 currency code. type: string include_cashback: description: If set to `true`, the cashback components of point-of-sale transactions are subject to control. type: boolean include_credits: description: |- If set to `true`, original credit transactions are subject to control. Your request can contain either a `money_in_transaction` object or the `include_credits` field, not both. type: boolean include_purchases: description: |- If set to `true`, the following transactions are subject to control: * *Account funding:* All account funding transactions * *Cashback:* Only the purchase component of cashback transactions * *Purchase transactions:* All authorizations, PIN debit transactions, and incremental transactions * *Quasi-cash:* All quasi-cash transactions * *Refunds:* All refund transactions (see <</developer-guides/controlling-spending#_controls_to_limit_amount_and_frequency_of_spending, Controls to limit amount and frequency of spending>> for more information) * *Reversals:* All reversal transactions type: boolean include_transfers: description: |- If set to `true`, account-to-account transfers are subject to control. Account-to-account transfers are not currently supported. type: boolean include_withdrawals: description: If set to `true`, ATM withdrawals are subject to control. type: boolean merchant_scope: $ref: '#/components/schemas/merchant_scope' money_in_transaction: $ref: '#/components/schemas/money_in_transaction' name: description: |- Description of how the velocity control restricts spending. For example, "Max spend of $500 per day" or "Max spend of $5000 per month for non-exempt employees". Ensure that the description you provide here adequately captures the kind of restriction exerted by this velocity control, because the Marqeta platform will send this information to you in a webhook in the event that the transaction authorization attempt is declined by the velocity control. *NOTE:* This field is very important. If your program has multiple velocity controls in place, it is not always clear which one prevented the transaction from being approved. Adding specific details to this field gives you more contextual information when debugging or monitoring declined authorization attempts. maxLength: 255 minLength: 0 type: string token: description: Unique identifier of the velocity control resource. maxLength: 36 minLength: 1 type: string usage_limit: description: |- Maximum number of times a card can be used within the time period defined by the `velocity_window` field. If `velocity_window` is set to `TRANSACTION`, do not include a `usage_limit` in your request. format: int32 minimum: -1 type: integer velocity_window: description: |- Defines the time period to which the `amount_limit` and `usage_limit` fields apply: * *DAY* – one day; days begin at 00:00:00 UTC. * *WEEK* – one week; weeks begin Sundays at 00:00:00 UTC. * *MONTH* – one month; months begin on the first day of month at 00:00:00 UTC. * *LIFETIME* – forever; time period never expires. * *TRANSACTION* – a single transaction. // (2023-05-03): This statement was validated by Processing, as part of a customer inquiry. *NOTE:* If set to `DAY`, `WEEK`, or `MONTH`, the velocity control takes effect retroactively from the beginning of the specified period. The amount and usage data already collected within the first period is counted toward the limits. If set to `LIFETIME`, the velocity control only applies to transactions on or after the date and time that the velocity control was created. `LIFETIME` velocity controls are not retroactively applied to historical transactions. // (2023-05-03): Commenting this note out, as it is untrue in testing as reported by customers and confirmed by transaction engine team //*NOTE:* Editing any of the following fields on a velocity control resets its usage and amount count to 0: //* `merchant_scope.mcc` //* `merchant_scope.mid` //* `merchant_scope.mcc_group` //* `association.user_token` //* `association.card_product_token` enum: - DAY - WEEK - MONTH - QUARTER - YEAR - LIFETIME - TRANSACTION type: string required: - token type: object wallet_provider_card_on_file: properties: address_verification: $ref: '#/components/schemas/digital_wallet_token_address_verification' enabled: default: false description: Specifies if the card on file is enabled. type: boolean type: object wallet_provider_profile: description: Contains information held and provided by the digital wallet provider. properties: account: $ref: '#/components/schemas/account' device_score: description: Score from the device. type: string pan_source: description: Source from which the digital wallet provider obtained the card primary account number (PAN). type: string reason_code: description: |- Reason for the wallet provider's provisioning decision. * *01* – Cardholder's wallet account is too new relative to launch. * *02* – Cardholder's wallet account is too new relative to provisioning request. * *03* – Cardholder's wallet account/card pair is newer than date threshold. * *04* – Changes made to account data within the account threshold. * *05* – Suspicious transactions linked to this account. * *06* – Account has not had activity in the last year. * *07* – Suspended cards in the secure element. * *08* – Device was put in lost mode in the last seven days for longer than the duration threshold. * *09* – The number of provisioning attempts on this device in 24 hours exceeds threshold. * *0A* – There have been more than the threshold number of different cards attempted at provisioning to this phone in 24 hours. * *0B* – The card provisioning attempt contains a distinct name in excess of the threshold. * *0C* – The device score is less than 3. * *0D* – The account score is less than 4. * *0E* – Device provisioning location outside of the cardholder's wallet account home country. * *0G* – Suspect fraud. type: string recommendation_reasons: description: Array of recommendation reasons from the digital wallet provider. items: type: string type: array risk_assessment: $ref: '#/components/schemas/risk_assessment' type: object web_push_provisioning: properties: wpp_apple_card_template_id: description: Identifier that Apple uses to identify the program to process the request for. type: string wpp_apple_partner_id: description: Identifier that Apple uses to identify the program to provide the correct card art for. type: string wpp_google_piaid: description: Identifier that Google uses to identify the program to process the request for and to provide the correct card art for. type: string type: object web_push_provisioning_apple_pay_JWS_header: description: Contains header data for the JWS object. properties: kid: description: Unique identifier of the JSON Web Signature (JWS) public key of the key pair used to generate the signature. example: 8dc7aed4-29e3-41e4-9cdb-673a05e6615c type: string required: - kid type: object web_push_provisioning_apple_pay_JWS_model: description: Object containing JSON Web Signature (JWS) data. properties: header: $ref: '#/components/schemas/web_push_provisioning_apple_pay_JWS_header' payload: description: JSON Web Signature (JWS) message payload. type: string protected: description: Contains header parameters that are integrity-protected by the JSON Web Signature (JWS). type: string signature: description: The JSON Web Signature (JWS). example: 5lD1znG2DD2DytqGUcSDOwJQMYbCGDCCCiXxyhpC1zOWTH1Y6jUJFAupl0jEud9nUvw3mmpuSt6zcAE1r4yb0w type: string required: - header - payload - protected - signature type: object web_push_provisioning_apple_pay_JWT_response: properties: jws: $ref: '#/components/schemas/web_push_provisioning_apple_pay_JWS_model' state: description: |- Unique state associated with the digital wallet token. The Marqeta platform returns a universally unique identifier (UUID) in this field. example: e2675f06-7e4d-11ec-90d6-0242ac120003 type: string required: - jws - state type: object webhook: properties: endpoint: description: Valid URL maxLength: 512 minLength: 1 type: string password: description: Authentication password type: string secret: description: Authentication secret type: string username: description: Authentication username type: string required: - endpoint - password - username type: object xml: name: webhook webhook_base_model: properties: active: default: true description: Indicates whether the webhook is active. type: boolean config: $ref: '#/components/schemas/webhook_config_model' events: description: |- Specifies the types of events for which notifications are sent. The wildcard character `\*` indicates that you receive all webhook notifications, or all notifications of a specified category. For example, `*` indicates that you receive all webhook notifications; `transaction.*` indicates that you receive all `transaction` webhook notifications. *NOTE:* You can only use the wildcard character with the _base_ type events, not subcategories. For example, you cannot subscribe to `cardtransition.fulfillment.\*` events, but you can subscribe to `cardtransition.*`. items: type: string type: array name: description: Descriptive name of the webhook. maxLength: 64 minLength: 1 type: string required: - config - events - name type: object webhook_config_model: description: Contains the configuration information for the webhook. properties: basic_auth_password: description: Password for accessing your webhook endpoint. maxLength: 50 minLength: 20 type: string basic_auth_username: description: Username for accessing your webhook endpoint. maxLength: 50 minLength: 1 type: string custom_header: additionalProperties: type: string description: Custom headers to be passed along with the request. type: object secret: description: |- Randomly chosen string used for implementing HMAC-SHA1. HMAC-SHA1 provides an added layer of security by authenticating the message and validating message integrity. Using this functionality requires that your webhook endpoint verify the message signature. For information about implementing this functionality, see <</developer-guides/signature-verification, Signature Verification>>. maxLength: 50 minLength: 20 type: string url: description: URL of your webhook endpoint. maxLength: 255 minLength: 1 type: string use_mtls: default: false description: |- Set to `true` to use use mutual transport layer security (mTLS) authentication for the webhook. mTLS authentication is in the beta testing phase, and is not yet generally available. Contact your Marqeta representative for more information about using mTLS authentication. type: boolean required: - basic_auth_password - basic_auth_username - url type: object webhook_ping_model: properties: pings: description: Array of ping requests to your webhook endpoint. items: $ref: '#/components/schemas/echo_ping_request' type: array required: - pings type: object webhook_request_model: properties: active: default: true description: Indicates whether the webhook is active. type: boolean config: $ref: '#/components/schemas/webhook_config_model' events: description: |- Specifies the types of events for which notifications are sent. The wildcard character `\*` indicates that you receive all webhook notifications, or all notifications of a specified category. For example, `*` indicates that you receive all webhook notifications; `transaction.*` indicates that you receive all `transaction` webhook notifications. *NOTE:* You can only use the wildcard character with the _base_ type events, not subcategories. For example, you cannot subscribe to `cardtransition.fulfillment.\*` events, but you can subscribe to `cardtransition.*`. items: type: string type: array name: description: Descriptive name of the webhook. maxLength: 64 minLength: 1 type: string token: description: Unique identifier of the webhook. maxLength: 36 minLength: 1 type: string required: - config - events - name type: object webhook_response_model: properties: active: default: true description: |- Indicates whether the webhook is active. This field is returned if you included it in your webhook. type: boolean config: $ref: '#/components/schemas/webhook_config_model' created_time: description: Date and time when the webhook event was created, in UTC. format: date-time type: string events: description: |- Specifies the types of events for which notifications are sent. The wildcard character `\*` indicates that you receive all webhook notifications, or all notifications of a specified category. For example, `*` indicates that you receive all webhook notifications; `transaction.*` indicates that you receive all `transaction` webhook notifications. *NOTE:* You can only use the wildcard character with the _base_ type events, not subcategories. For example, you cannot subscribe to `cardtransition.fulfillment.\*` events, but you can subscribe to `cardtransition.*`. items: type: string type: array last_modified_time: description: Date and time when the associated object was last modified, in UTC. format: date-time type: string name: description: Descriptive name of the webhook. maxLength: 64 minLength: 1 type: string token: description: Unique identifier of the webhook. maxLength: 36 minLength: 1 type: string required: - config - events - name type: object withdrawal_request_model: properties: account_type: enum: - checking - savings - credit type: string amount: type: number card_acceptor: $ref: '#/components/schemas/card_acceptor_model' card_token: maxLength: 36 minLength: 1 type: string mid: maxLength: 50 minLength: 1 type: string pin: maxLength: 15 minLength: 1 type: string webhook: $ref: '#/components/schemas/webhook' required: - amount - card_token - mid type: object xpay_push_tokenize_request_data: description: Contains details about a card tokenization push request. properties: card_type: description: Specifies the type of card. type: string display_name: description: |- Name of the card as displayed in the digital wallet, typically showing the card brand and last four digits of the primary account number (PAN). `Visa 5678`, for example. type: string extra_provision_payload: description: Encrypted card or cardholder details. type: string last_digits: description: Last four digits of the primary account number of the physical or virtual card. type: string network: description: Specifies the card network of the physical or virtual card. type: string token_service_provider: description: Specifies the network that provides the digital wallet token service. type: string type: object securitySchemes: mqAppAndAccessToken: scheme: basic type: http