Citi Commercial Cards and Virtual Card Accounts APIs

Virtual Card Account lifecycle, mobile virtual cards, payment-intermediary VCA management, authorization notifications and webhooks, clearing exception reporting, purchase template details, mobile wallet provisioning, and commercial card transaction disputes. Citi publishes 27 machine-readable specifications for this family covering 57 operations, served from developer.citi.com.

Operations 5

POST /digitalwalletprovision/v1/initialeligibilitycheck Check Eligibility #
POST /digitalwalletprovision/v1/tokenactivationrequest Token Activation Request #
POST /digitalwalletwebhooks/v1/digitalwallettoken Digital Wallet Token #
POST /digitalwalletwebhooks/v1/digitalwallettokentransition Digital Wallet Token Transition #
POST /digitalwalletprovision/v1/sendpasscode Send Passcode #

Documentation

Specifications

OpenAPI
https://raw.githubusercontent.com/api-evangelist/citi/refs/heads/main/openapi/citi-marqueta-openapi.yaml
OpenAPI
https://raw.githubusercontent.com/api-evangelist/citi/refs/heads/main/openapi/citi-vca-api-openapi.yaml
OpenAPI
https://raw.githubusercontent.com/api-evangelist/citi/refs/heads/main/openapi/citi-vcaeventssubscriptions-openapi.yaml
OpenAPI
https://raw.githubusercontent.com/api-evangelist/citi/refs/heads/main/openapi/citi-virtual-cards-notifications-openapi.yaml
OpenAPI
https://raw.githubusercontent.com/api-evangelist/citi/refs/heads/main/openapi/citi-mobilecardonboarding-openapi.yaml
OpenAPI
https://raw.githubusercontent.com/api-evangelist/citi/refs/heads/main/openapi/citi-mobilevirtuallifecycle-openapi.yaml
OpenAPI
https://raw.githubusercontent.com/api-evangelist/citi/refs/heads/main/openapi/citi-statement-transactions-openapi.yaml
OpenAPI
https://raw.githubusercontent.com/api-evangelist/citi/refs/heads/main/openapi/citi-virtual-cards-lifecycle-v1-openapi.yaml
OpenAPI
https://raw.githubusercontent.com/api-evangelist/citi/refs/heads/main/openapi/citi-virtual-cards-lifecycle-v4-openapi.yaml
OpenAPI
https://raw.githubusercontent.com/api-evangelist/citi/refs/heads/main/openapi/citi-virtual-cards-pi-openapi.yaml
OpenAPI
https://raw.githubusercontent.com/api-evangelist/citi/refs/heads/main/openapi/citi-virtual-cards-pi-v2-openapi.yaml
OpenAPI
https://raw.githubusercontent.com/api-evangelist/citi/refs/heads/main/openapi/citi-card-disputes-openapi.yaml
OpenAPI
https://raw.githubusercontent.com/api-evangelist/citi/refs/heads/main/openapi/citi-grace-iva-openapi.yaml
OpenAPI
https://raw.githubusercontent.com/api-evangelist/citi/refs/heads/main/openapi/citi-mobile-wallets-openapi.yaml
OpenAPI
https://raw.githubusercontent.com/api-evangelist/citi/refs/heads/main/openapi/citi-virtual-cards-reporting-openapi.yaml
OpenAPI
https://raw.githubusercontent.com/api-evangelist/citi/refs/heads/main/openapi/citi-account-balance-inquiry-api-openapi.yaml
OpenAPI
https://raw.githubusercontent.com/api-evangelist/citi/refs/heads/main/openapi/citi-clearing-exception-report-openapi.yaml
OpenAPI
https://raw.githubusercontent.com/api-evangelist/citi/refs/heads/main/openapi/citi-dispute-webhook-openapi.yaml
OpenAPI
https://raw.githubusercontent.com/api-evangelist/citi/refs/heads/main/openapi/citi-id-provisioning-openapi.yaml
OpenAPI
https://raw.githubusercontent.com/api-evangelist/citi/refs/heads/main/openapi/citi-purchase-openapi.yaml
OpenAPI
https://raw.githubusercontent.com/api-evangelist/citi/refs/heads/main/openapi/citi-reporting-get-2-openapi.yaml
OpenAPI
https://raw.githubusercontent.com/api-evangelist/citi/refs/heads/main/openapi/citi-vca-dual-auth-authorization-openapi.yaml
OpenAPI
https://raw.githubusercontent.com/api-evangelist/citi/refs/heads/main/openapi/citi-vca-dual-auth-notification-openapi.yaml
OpenAPI
https://raw.githubusercontent.com/api-evangelist/citi/refs/heads/main/openapi/citi-vcagetnotifications-openapi.yaml
OpenAPI
https://raw.githubusercontent.com/api-evangelist/citi/refs/heads/main/openapi/citi-vcanotificationswebhooks-openapi.yaml
OpenAPI
https://raw.githubusercontent.com/api-evangelist/citi/refs/heads/main/openapi/citi-virtual-cards-pi-webhooks-openapi.yaml
OpenAPI
https://raw.githubusercontent.com/api-evangelist/citi/refs/heads/main/openapi/citi-virtual-cards-reporting-v1-openapi.yaml

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/citi-commercial-cards-and-virtual-card-accounts-apis"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

citi-marqueta-openapi.yaml Raw ↑
swagger: '2.0'
info:
  description: >-
    The Wallets API allows client to check the eligibility, request for
    tokenization through manual and push-provisioning, OTP based step-up
    authentication and webhook notifications.
  version: ''
  title: Grace Wallet Marqeta API
servers:
  - url: https://tts.apib2b.citi.com/tts/cards
    description: production gateway URL
  - url: https://tts.sandbox.apib2b.citi.com/tts/cards
    description: sandbox URL
tags:
  - name: Provisioning
    description: These are operations related to provisioning requests.
  - name: Webhooks
    description: Operation related to webhook requests.
schemes:
  - https
consumes:
  - application/json
produces:
  - application/json
security:
  - clientCredentials: []
paths:
  /digitalwalletprovision/v1/initialeligibilitycheck:
    post:
      tags:
        - Provisioning
      summary: Check Eligibility
      description: ''
      operationId: initialEligibilityCheck
      parameters:
        - name: client_id
          in: query
          required: true
          description: >-
            This is your unique identifier shared during your CitiConnect API
            onboarding. This is the same `client_id` used for oauth token
            generation
          type: string
        - name: Content-Type
          in: header
          description: Supports application/json.
          required: true
          type: string
        - name: Authorization
          in: header
          description: >-
            Request should contain OAuth Authorization header <br> **OAuth:**
            <br> Request contains a header parameter in the form of
            Authorization: Bearer (access_token), where access_token is
            generated using the OAuth url<br>  `Example` : Bearer
            AAIkMjU2OTI4OGQtODY5Ny00ZjgzLTg0NzEtY2QyZWYwZjM5ZjJk_m3yqnGAbxR_ovVx5bs9OUfF0dd52qHadLtw2ARkwCw2BJcwg1zHsTOuvjPtsW5ioxxd2xXXjlDDCKLuvg15Ce1gzGxTu17xEvLOzSECLIdU_02JbpS3h9ee9GzB-u_MPfKseOiACXYAh_7AVWQhtRMLDKd8RgCUsNzTGXXBeE4
          required: true
          type: string
        - name: Accept
          in: header
          description: >-
            Content-Types that are acceptable for the response. Always pass
            application/json or don't pass this header.
          required: false
          type: string
          default: application/json
        - name: Accept-Language
          in: header
          description: List of acceptable human languages for response.
          required: false
          type: string
        - name: Content-Type
          in: header
          description: >-
            The MIME type of the body of the request (POST). Always pass
            application/json.
          required: true
          type: string
          default: application/json
        - name: Req-Sys-Id
          in: header
          description: >-
            Client unique ID to identify the particular request. <br> `Format`:
            UUID <br>`Example`: 123d837e-958a-4e9f-bc97-4843ec948123
          required: true
          type: string
        - name: Country
          in: header
          description: 'Country Code in alpha-2 format. <br>`Example`: US'
          required: true
          type: string
        - name: Region
          in: header
          description: 'Country Region. <br> `Example`: NAM'
          required: true
          type: string
        - in: body
          name: Request-Body
          description: Initial Eligibility Request Body
          required: true
          schema:
            $ref: '#/definitions/InitialEligibilityCheckRequest'
      responses:
        '200':
          description: Success Response after initial eligibility check.
          headers:
            Api-Sys-Id:
              type: string
              description: Citi commercial cards API tracking ID.
          schema:
            $ref: '#/definitions/InitialEligibilityCheckResponse'
        '400':
          description: >-
            Missing or invalid request parameter <table><tr><td>Error
            Code</td><td>Error Description</td></tr>
            <tr><td>WIEM0001</td><td>primary_account_number is
            mandatory</td></tr> <tr><td>WIEM0002</td><td>primary_account_number
            length should contain a min of 12 character and a max of 19
            digits</td></tr> <tr><td>WIEM0003</td><td>primary_account_number is
            invalid and can only have numeric values</td></tr>
            <tr><td>WIEM0004</td><td>pan_reference_id length should contain a
            min of 1 character and a max of 255 characters</td></tr>
            <tr><td>WIEM0005</td><td>token_reference_id is mandatory</td></tr>
            <tr><td>WIEM0006</td><td>token_reference_id length should contain a
            max of 255 characters</td></tr> <tr><td>WIEM0007</td><td>pan_source
            is mandatory</td></tr> <tr><td>WIEM0008</td><td>pan_source is
            invalid and can only have a value of KEY_ENTERED, ON_FILE, or
            MOBILE_BANKING_APP</td></tr>
            <tr><td>WIEM0009</td><td>token_requestor_id is mandatory</td></tr>
            <tr><td>WIEM0010</td><td>token_requestor_id is invalid and can only
            have a value of 40010075001, 40010030273, 50110030273 or
            50120834693</td></tr> <tr><td>WIEA0013</td><td>We have encountered
            an error and couldn't receive your request. Please try again, or
            contact Citi support if you have any further questions or
            comments</td></tr> <tr><td>WIEA0014</td><td>We have encountered an
            error and couldn't receive your request. Please try again, or
            contact Citi support if you have any further questions or
            comments</td></tr> <tr><td>WIEA0015</td><td>Invalid Token Requestor
            Id</td></tr><br><tr><td>GRC0002</td><td>Client ID is missing in the
            request header</td></tr> <tr><td>GRC0003</td><td>Invalid JSON
            Input</td></tr> <tr><td>GRC0004</td><td>Region ID is not available
            in the request</td></tr> <tr><td>GRC0005</td><td>Client Tracking ID
            is missing in the request header</td></tr>
            <tr><td>GRC0007</td><td>Client requested MediaType is not
            supported.</td></tr> <tr><td>GRC0008</td><td>Invalid request. Unable
            to bind incoming request</td></tr> <tr><td>GRC0010</td><td>Client
            Tracking ID length should contain a min of 1 character and a max of
            36 characters</td></tr> <tr><td>GRC0016</td><td>Country code is not
            available in the request</td></tr> <tr><td>WEIM0001</td><td>We have
            encountered an error and couldn't receive your request. Please try
            again, or contact Citi support if you have any further questions or
            comments</td></tr> <tr><td>WEIM0005</td><td>Encrypted data is
            null/empty. Please try again, or contact Citi support if you have
            any further questions or comments.</td></tr>
            <tr><td>WEIC0001</td><td>We have encountered an error and couldn't
            receive your request. Please try again, or contact Citi support if
            you have any further questions or comments</td></tr> </table>
          headers:
            Api-Sys-Id:
              type: string
              description: Citi Commercial Cards API Tracking ID.
          schema:
            $ref: '#/definitions/InvalidInitialEligibilityCheckResponse'
        '401':
          description: UnAuthorized request.
          schema:
            $ref: '#/definitions/UnAuthorizedResponse'
        '405':
          description: Method Not Allowed.
          headers:
            Api-Sys-Id:
              type: string
              description: Citi Commercial Cards API Tracking ID.
          schema:
            $ref: '#/definitions/MethodNotAllowedResponse'
        '500':
          description: >-
            Internal server error. <table><tr><td>Error Code</td><td>Error
            Description</td></tr> <tr><td>WIEA0011</td><td>We have encountered
            an error and couldn't receive your request. Please try again, or
            contact Citi support if you have any further questions or
            comments</td></tr><br><tr><td>GRC0001</td><td>We have encountered an
            error and couldn't receive your request. Please try again, or
            contact Citi support if you have any further questions or
            comments</td></tr> <tr><td>GRC0009</td><td>We have encountered an
            error and couldn't receive your request. Please try again, or
            contact Citi support if you have any further questions or
            comments</td></tr> <tr><td>GRC0014</td><td>We have encountered an
            error and couldn't receive your request. Please try again, or
            contact Citi support if you have any further questions or
            comments</td></tr> <tr><td>GRC0015</td><td>We have encountered an
            error and couldn't receive your request. Please try again, or
            contact Citi support if you have any further questions or
            comments</td></tr> <tr><td>GRVL0001</td><td>We have encountered an
            error and couldn't receive your request. Please try again, or
            contact Citi support if you have any further questions or
            comments</td></tr> <tr><td>GRVL0002</td><td>We have encountered an
            error and couldn't receive your request. Please try again, or
            contact Citi support if you have any further questions or
            comments</td></tr> <tr><td>GRVL0003</td><td>We have encountered an
            error and couldn't receive your request. Please try again, or
            contact Citi support if you have any further questions or
            comments</td></tr> <tr><td>GRVL0004</td><td>We have encountered an
            error and couldn't receive your request. Please try again, or
            contact Citi support if you have any further questions or
            comments</td></tr> <tr><td>GRVL0005</td><td>We have encountered an
            error and couldn't receive your request. Please try again, or
            contact Citi support if you have any further questions or
            comments</td></tr> <tr><td>GRVL0006</td><td>We have encountered an
            error and couldn't receive your request. Please try again, or
            contact Citi support if you have any further questions or
            comments</td></tr> <tr><td>GRVL0021</td><td>We have encountered an
            error and couldn't receive your request. Please try again, or
            contact Citi support if you have any further questions or
            comments</td></tr> <tr><td>WEIM0002</td><td>We have encountered an
            error and couldn't receive your request. Please try again, or
            contact Citi support if you have any further questions or
            comments</td></tr> <tr><td>WEIM0004</td><td>We have encountered
            error during Marqeta JWE Decryption. Please try again, or contact
            Citi support if you have any further questions or comments</td></tr>
            <tr><td>WEIC0002</td><td>We have encountered an error and couldn't
            receive your request. Please try again, or contact Citi support if
            you have any further questions or comments</td></tr>
            <tr><td>WEIC0003</td><td>We have encountered an error and couldn't
            receive your request. Please try again, or contact Citi support if
            you have any further questions or comments</td></tr>
            <tr><td>WEUL0002</td><td>We have encountered an error and couldn't
            receive your request. Please try again, or contact Citi support if
            you have any further questions or comments</td></tr>
            <tr><td>ECSA0002</td><td>We have encountered an error and couldn't
            receive your request. Please try again, or contact Citi support if
            you have any further questions or comments</td></tr>
            <tr><td>ECSA0007</td><td>We have encountered an error and couldn't
            receive your request. Please try again, or contact Citi support if
            you have any further questions or comments</td></tr> </table>
          headers:
            Api-Sys-Id:
              type: string
              description: Citi Commercial Cards API Tracking ID.
          schema:
            $ref: '#/definitions/InternalServerErrorResponse'
  /digitalwalletprovision/v1/tokenactivationrequest:
    post:
      tags:
        - Provisioning
      summary: Token Activation Request
      description: ''
      operationId: tokenActivationRequest
      parameters:
        - name: client_id
          in: query
          required: true
          description: >-
            This is your unique identifier shared during your CitiConnect API
            onboarding. This is the same `client_id` used for oauth token
            generation
          type: string
        - name: Content-Type
          in: header
          description: Supports application/json.
          required: true
          type: string
        - name: Authorization
          in: header
          description: >-
            Request should contain OAuth Authorization header <br> **OAuth:**
            <br> Request contains a header parameter in the form of
            Authorization: Bearer (access_token), where access_token is
            generated using the OAuth url<br>  `Example` : Bearer
            AAIkMjU2OTI4OGQtODY5Ny00ZjgzLTg0NzEtY2QyZWYwZjM5ZjJk_m3yqnGAbxR_ovVx5bs9OUfF0dd52qHadLtw2ARkwCw2BJcwg1zHsTOuvjPtsW5ioxxd2xXXjlDDCKLuvg15Ce1gzGxTu17xEvLOzSECLIdU_02JbpS3h9ee9GzB-u_MPfKseOiACXYAh_7AVWQhtRMLDKd8RgCUsNzTGXXBeE4
          required: true
          type: string
        - name: Accept
          in: header
          description: >-
            Content-Types that are acceptable for the response. Always pass
            application/json.
          required: true
          type: string
          default: application/json
        - name: Accept-Language
          in: header
          description: List of acceptable human languages for response.
          required: false
          type: string
        - name: Content-Type
          in: header
          description: >-
            The MIME type of the body of the request (used with POST and PUT
            requests). Always pass application/json.
          required: false
          type: string
          default: application/json
        - name: Req-Sys-Id
          in: header
          description: Client unique ID to identify the particular request
          required: true
          type: string
        - name: Country
          in: header
          description: 'Country Code in alpha-2 format. Example: US'
          required: true
          type: string
        - name: Region
          in: header
          description: 'Country Region. Example: NAM'
          required: true
          type: string
        - in: body
          name: TokenActivationRequest
          description: TokenActivationRequest
          required: true
          schema:
            $ref: '#/definitions/TokenActivationRequest'
      responses:
        '200':
          description: >-
            <table><tr><td>Code</td><td>Details</td></tr><tr><tr><td>TokenActivation</td><td>Success
            Response after Token Activation decisioning</td></tr></table>
          headers:
            Api-Sys-Id:
              type: string
              description: Citi Commercial Cards API Tracking ID.
          schema:
            $ref: '#/definitions/TokenActivationResponse'
        '400':
          description: >-
            System cannot process the request due to something that is perceived
            to be a client error (`For example`: malformed request syntax,
            invalid request message framing, or deceptive request routing)
            <table><tr><td>Error Code</td><td>Error Description</td></tr>
            <tr><td>WTAM0001</td><td>token is mandatory</td></tr>
            <tr><td>WTAM0002</td><td>token length should contain a max of 36
            characters</td></tr> <tr><td>WTAM0003</td><td>wallet account id is
            mandatory</td></tr> <tr><td>WTAM0004</td><td>wallet account id
            length should contain a max of 255 characters</td></tr>
            <tr><td>WTAM0005</td><td>pan_source is mandatory and can only have a
            value of KEY_ENTERED,ON_FILE,MOBILE_BANKING_APP</td></tr>
            <tr><td>WTAM0006</td><td>primary_account_number is
            mandatory</td></tr> <tr><td>WTAM0007</td><td>primary_account_number
            length should contain a min of 12 character and a max of 19
            digits</td></tr> <tr><td>WTAM0008</td><td>primary_account_number is
            invalid and can only have numeric values</td></tr>
            <tr><td>WTAM0009</td><td>expiry month is mandatory</td></tr>
            <tr><td>WTAM0010</td><td>expiry month length should contain a min
            and max of 2 characters</td></tr> <tr><td>WTAM0011</td><td>expiry
            year is mandatory</td></tr> <tr><td>WTAM0012</td><td>expiry year
            length should contain a min and max of 4 characters</td></tr>
            <tr><td>WTAM0013</td><td>cvv2 is mandatory</td></tr>
            <tr><td>WTAM0014</td><td>pan_reference_id is mandatory</td></tr>
            <tr><td>WTAM0015</td><td>pan_reference_id length should contain a
            max of 255 characters</td></tr>
            <tr><td>WTAM0016</td><td>token_reference_id length should contain a
            max of 255 characters</td></tr>
            <tr><td>WTAM0017</td><td>correlation_id length should contain a max
            of 14 characters</td></tr> <tr><td>WTAM0018</td><td>device_id is
            mandatory</td></tr> <tr><td>WTAM0019</td><td>device_id length should
            contain a max of 255 characters</td></tr>
            <tr><td>WTAM0020</td><td>token_requestor_id is can only have a value
            of 40010075001, 40010030273, 50110030273 or 50120834693</td></tr>
            <tr><td>WTAM0021</td><td>token_requestor_id length should contain a
            max of 50 characters</td></tr> <tr><td>WTAM0022</td><td>Token
            Reference ID is mandatory for VISA Card Provisioning request for
            Marqeta.</td></tr> <tr><td>WTAM0023</td><td>Correlation ID is
            mandatory for Master Card Provisioning request for
            Marqeta.</td></tr> <tr><td>WTAM0024</td><td>token_type is mandatory
            and can only have a value of MERCHANT_CARD_ON_FILE,
            DEVICE_SECURE_ELEMENT, DEVICE_CLOUD_BASED, ECOMMERCE_DIGITAL_WALLET
            or PSEUDO_ACCOUNT</td></tr> <tr><td>WPRA0001</td><td>Invalid
            Source</td></tr> <tr><td>WPRA0003</td><td>We have encountered an
            error and couldn't receive your request. Please try again, or
            contact Citi support if you have any further questions or
            comments</td></tr> <tr><td>WPRA0004</td><td>We have encountered an
            error and couldn't receive your request. Please try again, or
            contact Citi support if you have any further questions or
            comments</td></tr> <tr><td>WPRA0005</td><td>Provisioning type id is
            invalid</td></tr> <tr><td>WPRA0006</td><td>Pan source is
            invalid</td></tr> <tr><td>WPRA0007</td><td>Device id is
            invalid</td></tr> <tr><td>WPRA0008</td><td>Token Requestor id is
            invalid</td></tr> <tr><td>WPRA0009</td><td>Wallet Account id for
            provisioning is invalid</td></tr> <tr><td>WPRA0010</td><td>Marqeta
            DPAN Reference id for provisioning is invalid</td></tr>
            <tr><td>WPRA0011</td><td>Network PAN Reference id for provisioning
            is invalid</td></tr> <tr><td>WPRA0012</td><td>Token Type for
            provisioning is invalid</td></tr> <tr><td>WPRA0013</td><td>PAN
            Expiry month is invalid</td></tr> <tr><td>WPRA0014</td><td>PAN
            Expiry year is invalid</td></tr> <tr><td>WPRA0015</td><td>PAN
            Encrypted CVV for provisioning is invalid</td></tr>
            <tr><td>WPRA0016</td><td>Network Token Reference id for provisioning
            is invalid</td></tr> <tr><td>WPRA0017</td><td>Correlation id for
            provisioning is invalid</td></tr> <tr><td>GRC0002</td><td>Client ID
            is missing in the request header</td></tr>
            <tr><td>GRC0003</td><td>Invalid JSON Input</td></tr>
            <tr><td>GRC0004</td><td>Region ID is not available in the
            request</td></tr> <tr><td>GRC0005</td><td>Client Tracking ID is
            missing in the request header</td></tr>
            <tr><td>GRC0007</td><td>Client requested MediaType is not
            supported.</td></tr> <tr><td>GRC0008</td><td>Invalid request. Unable
            to bind incoming request</td></tr> <tr><td>GRC0010</td><td>Client
            Tracking ID length should contain a min of 1 character and a max of
            36 characters</td></tr> <tr><td>GRC0016</td><td>Country code is not
            available in the request</td></tr> <tr><td>WEIM0001</td><td>We have
            encountered an error and couldn't receive your request. Please try
            again, or contact Citi support if you have any further questions or
            comments</td></tr> <tr><td>WEIM0005</td><td>Encrypted data is
            null/empty. Please try again, or contact Citi support if you have
            any further questions or comments.</td></tr>
            <tr><td>WEIC0001</td><td>We have encountered an error and couldn't
            receive your request. Please try again, or contact Citi support if
            you have any further questions or comments</td></tr> </table>
          headers:
            Api-Sys-Id:
              type: string
              description: Citi Commercial Cards API Tracking ID
          schema:
            $ref: '#/definitions/InvalidTokenActivationResponse'
        '401':
          description: >-
            <table><tr><td>UnAuthorizedResponse</td><td>UnAuthorized
            request.</td></tr></table>
          schema:
            $ref: '#/definitions/UnAuthorizedResponse'
        '405':
          description: >-
            <table><tr><td>MethodNotAllowedResponse</td><td>Method Not
            Allowed.</td></tr></table>
          headers:
            Api-Sys-Id:
              type: string
              description: Citi Commercial Cards API Tracking ID
          schema:
            $ref: '#/definitions/MethodNotAllowedResponse'
        '500':
          description: >-
            Internal server error. <table><tr><td>Error Code</td><td>Error
            Description</td></tr> <tr><td>WPRA0002</td><td>We have encountered
            an error and couldn't receive your request. Please try again, or
            contact Citi support if you have any further questions or
            comments</td></tr> <tr><td>GRC0001</td><td>We have encountered an
            error and couldn't receive your request. Please try again, or
            contact Citi support if you have any further questions or
            comments</td></tr> <tr><td>GRC0009</td><td>We have encountered an
            error and couldn't receive your request. Please try again, or
            contact Citi support if you have any further questions or
            comments</td></tr> <tr><td>GRC0014</td><td>We have encountered an
            error and couldn't receive your request. Please try again, or
            contact Citi support if you have any further questions or
            comments</td></tr> <tr><td>GRC0015</td><td>We have encountered an
            error and couldn't receive your request. Please try again, or
            contact Citi support if you have any further questions or
            comments</td></tr> <tr><td>GRVL0001</td><td>We have encountered an
            error and couldn't receive your request. Please try again, or
            contact Citi support if you have any further questions or
            comments</td></tr> <tr><td>GRVL0002</td><td>We have encountered an
            error and couldn't receive your request. Please try again, or
            contact Citi support if you have any further questions or
            comments</td></tr> <tr><td>GRVL0003</td><td>We have encountered an
            error and couldn't receive your request. Please try again, or
            contact Citi support if you have any further questions or
            comments</td></tr> <tr><td>GRVL0004</td><td>We have encountered an
            error and couldn't receive your request. Please try again, or
            contact Citi support if you have any further questions or
            comments</td></tr> <tr><td>GRVL0005</td><td>We have encountered an
            error and couldn't receive your request. Please try again, or
            contact Citi support if you have any further questions or
            comments</td></tr> <tr><td>GRVL0006</td><td>We have encountered an
            error and couldn't receive your request. Please try again, or
            contact Citi support if you have any further questions or
            comments</td></tr> <tr><td>GRVL0021</td><td>We have encountered an
            error and couldn't receive your request. Please try again, or
            contact Citi support if you have any further questions or
            comments</td></tr> <tr><td>WEIM0002</td><td>We have encountered an
            error and couldn't receive your request. Please try again, or
            contact Citi support if you have any further questions or
            comments</td></tr> <tr><td>WEIM0004</td><td>We have encountered
            error during Marqeta JWE Decryption. Please try again, or contact
            Citi support if you have any further questions or comments</td></tr>
            <tr><td>WEIC0002</td><td>We have encountered an error and couldn't
            receive your request. Please try again, or contact Citi support if
            you have any further questions or comments</td></tr>
            <tr><td>WEIC0003</td><td>We have encountered an error and couldn't
            receive your request. Please try again, or contact Citi support if
            you have any further questions or comments</td></tr>
            <tr><td>WEUL0002</td><td>We have encountered an error and couldn't
            receive your request. Please try again, or contact Citi support if
            you have any further questions or comments</td></tr>
            <tr><td>ECSA0002</td><td>We have encountered an error and couldn't
            receive your request. Please try again, or contact Citi support if
            you have any further questions or comments</td></tr>
            <tr><td>ECSA0007</td><td>We have encountered an error and couldn't
            receive your request. Please try again, or contact Citi support if
            you have any further questions or comments</td></tr> </table>
          headers:
            Api-Sys-Id:
              type: string
              description: Citi Commercial Cards API Tracking ID
          schema:
            $ref: '#/definitions/InternalServerErrorResponse'
  /digitalwalletwebhooks/v1/digitalwallettoken:
    post:
      tags:
        - Webhooks
      summary: Digital Wallet Token
      description: ''
      operationId: digitalWalletToken
      parameters:
        - name: client_id
          in: query
          required: true
          description: >-
            This is your unique identifier shared during your CitiConnect API
            onboarding. This is the same `client_id` used for oauth token
            generation
          type: string
        - name: Content-Type
          in: header
          description: Supports application/json.
          required: true
          type: string
        - name: Authorization
          in: header
          description: >-
            Request should contain OAuth Authorization header <br> **OAuth:**
            <br> Request contains a header parameter in the form of
            Authorization: Bearer (access_token), where access_token is
            generated using the OAuth url<br>  `Example` : Bearer
            AAIkMjU2OTI4OGQtODY5Ny00ZjgzLTg0NzEtY2QyZWYwZjM5ZjJk_m3yqnGAbxR_ovVx5bs9OUfF0dd52qHadLtw2ARkwCw2BJcwg1zHsTOuvjPtsW5ioxxd2xXXjlDDCKLuvg15Ce1gzGxTu17xEvLOzSECLIdU_02JbpS3h9ee9GzB-u_MPfKseOiACXYAh_7AVWQhtRMLDKd8RgCUsNzTGXXBeE4
          required: true
          type: string
        - name: Accept
          in: header
          description: >-
            Content-Types that are acceptable for the response. Always pass
            application/json or don't pass this header.
          required: false
          type: string
          default: application/json
        - name: Accept-Language
          in: header
          description: List of acceptable human languages for response.
          required: false
          type: string
        - name: Content-Type
          in: header
          description: >-
            The MIME type of the body of the request (POST). Always pass
            application/json.
          required: true
          type: string
          default: application/json
        - name: Req-Sys-Id
          in: header
          description: >-
            Client unique ID to identify the particular request. <br> `Format`:
            UUID <br>`Example`: 123d837e-958a-4e9f-bc97-4843ec948123
          required: true
          type: string
        - name: Country
          in: header
          description: 'Country Code in alpha-2 format. <br>`Example`: US'
          required: true
          type: string
        - name: Region
          in: header
          description: 'Country Region. <br> `Example`: NAM'
          required: true
          type: string
        - in: body
          name: Request-Body
          description: Webhook token event Request Body
          required: true
          schema:
            $ref: '#/definitions/Webhook%5fDigitalWalletToken%5fArray%5fType'
      responses:
        '200':
          description: Success Response after Webhook Token Event
          headers:
            Api-Sys-Id:
              type: string
              description: Citi Commercial Cards API Tracking ID
        '400':
          description: >-
            Missing or invalid request parameter <table><tr><td>Error
            Code</td><td>Error Description</td></tr>
            <tr><td>WWAA0001</td><td>Marqeta FPAN ID is invalid</td></tr>
            <tr><td>WWAA0003</td><td>We have encountered an error and couldn't
            receive your request. Please try again, or contact Citi support if
            you have any further questions or comments</td></tr>
            <tr><td>WWAA0004</td><td>We have encountered an error and couldn't
            receive your request. Please try again, or contact Citi support if
            you have any further questions or comments</td></tr>
            <tr><td>WWAA0005</td><td>Event Type is invalid</td></tr>
            <tr><td>WWAA0006</td><td>Fulfilment status is invalid</td></tr>
            <tr><td>WWAA0007</td><td>Marqeta DPAN Reference Id is
            empty</td></tr> <tr><td>WWAA0008</td><td>Notification ID is
            invalid</td></tr> <tr><td>WWAA0009</td><td>Marqeta DPAN Reference Id
            is invalid</td></tr> <tr><td>WWAA0010</td><td>Number of notification
            in array is invalid</td></tr> <tr><td>WWAA0011</td><td>DPAN number
            is invalid</td></tr> <tr><td>WWAA0012</td><td>Token Requestor Id is
            invalid</td></tr> <tr><td>WWAA0013</td><td>FPAN is
            invalid</td></tr><br><tr><td>GRC0002</td><td>Client ID is missing in
            the request header</td></tr> <tr><td>GRC0003</td><td>Invalid JSON
            Input</td></tr> <tr><td>GRC0004</td><td>Region ID is not available
            in the request</td></tr> <tr><td>GRC0005</td><td>Client Tracking ID
            is missing in the request header</td></tr>
            <tr><td>GRC0007</td><td>Client requested MediaType is not
            supported.</td></tr> <tr><td>GRC0008</td><td>Invalid request. Unable
            to bind incoming request</td></tr> <tr><td>GRC0010</td><td>Client
            Tracking ID length should contain a min of 1 character and a max of
            36 characters</td></tr> <tr><td>GRC0016</td><td>Country code is not
            available in the request</td></tr> <tr><td>WEIM0001</td><td>We have
            encountered an error and couldn't receive your request. Please try
            again, or contact Citi support if you have any further questions or
            comments</td></tr> <tr><td>WEIM0005</td><td>Encrypted data is
            null/empty. Please try again, or contact Citi support if you have
            any further questions or comments.</td></tr>
            <tr><td>WEIC0001</t

# --- truncated at 32 KB (109 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/citi/refs/heads/main/openapi/citi-marqueta-openapi.yaml