Citi · Schema

Authentication Response

BankingFinancial ServicesOpen BankingPaymentsTreasuryISO 20022Commercial CardsForeign ExchangeCustodyTrade FinanceCorporate BankingAPI Gateway

Properties

Name Type Description
transaction object
method object
order object
authentication object
View JSON Schema on GitHub

JSON Schema

citi-authentication-response-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/citi/main/json-schema/citi-authentication-response-schema.json",
  "title": "Authentication Response",
  "x-generated": "2026-10-12",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/citi-authentication-api-openapi.yml#/components/schemas/Authentication-Response",
  "type": "object",
  "required": [
    "method",
    "transaction",
    "order",
    "authentication"
  ],
  "properties": {
    "transaction": {
      "type": "object",
      "title": "Authentication transaction response",
      "required": [
        "amount",
        "id",
        "currency_code",
        "country_code",
        "type",
        "status",
        "description"
      ],
      "properties": {
        "id": {
          "description": "Unique Transaction identification provided by the merchant during transaction creation",
          "maxLength": 128,
          "minLength": 1,
          "type": "string",
          "title": "id"
        },
        "amount": {
          "description": "Transaction amount",
          "maximum": 1000000000000000000,
          "minimum": 0.01,
          "type": "number",
          "title": "amount"
        },
        "country_code": {
          "description": "Country code",
          "enum": [
            "US"
          ],
          "type": "string",
          "title": "country_code"
        },
        "currency_code": {
          "description": "ISO 4217 Currency Code for instance  USD/GBP/EUR",
          "enum": [
            "USD"
          ],
          "type": "string",
          "title": "currency_code"
        },
        "gateway_recommendation": {
          "description": "Provides a recommendation for your next action based on the outcome of the transaction.",
          "enum": [
            "DO_NOT_PROCEED",
            "DO_NOT_PROCEED_ABANDON_ORDER",
            "PROCEED",
            "RESUBMIT_WITH_ALTERNATIVE_PAYMENT_DETAILS"
          ],
          "type": "string",
          "title": "gateway_recommendation"
        },
        "status": {
          "type": "string",
          "maxLength": 20,
          "minLength": 1,
          "description": "Transaction Status, following status you will receive in response \n- PENDING - Transaction pending action from customer  \n- FAILED - Transaction failed for invalid payload \n- UNKNOWN - The result of the operation is unknown \n- SUCCESS - The operation was successfully processed",
          "title": "status"
        },
        "description": {
          "type": "string",
          "maxLength": 256,
          "minLength": 1,
          "description": "Transaction Status, following status you will receive in response \n- PENDING - Transaction pending action from customer  \n- FAILED - Transaction failed for invalid payload \n- UNKNOWN - The result of the operation is unknown \n- SUCCESS - The operation was successfully processed",
          "title": "description"
        },
        "creation_date_time": {
          "type": "string",
          "format": "date-time",
          "description": "GMT (ISO 8601 YYYY-MM-DDTHH:MM:SS.sssZ) \n- Instant Payment (Debit) - Date time, generated by CitiConnect API, when CitiConnect API accepted a payment initiation after validation",
          "title": "creation_date_time"
        },
        "update_time": {
          "type": "string",
          "format": "date-time",
          "description": "Indicates the date and time the gateway considers the order to have last been updated GMT (ISO 8601 YYYY-MM-DDTHH:MM:SS.sssZ)",
          "title": "update_time"
        },
        "type": {
          "description": "Indicates the type of action performed on the order.",
          "enum": [
            "AUTHENTICATION",
            "AUTHORIZATION",
            "AUTHORIZATION_UPDATE",
            "CAPTURE",
            "CHARGEBACK",
            "DISBURSEMENT",
            "FUNDING",
            "PAYMENT",
            "REFUND",
            "REFUND_REQUEST",
            "VERIFICATION",
            "VOID_AUTHORIZATION",
            "VOID_CAPTURE",
            "VOID_PAYMENT",
            "VOID_REFUND"
          ],
          "type": "string",
          "title": "type"
        },
        "reference": {
          "description": "An optional identifier for this transaction",
          "maxLength": 250,
          "minLength": 1,
          "type": "string",
          "title": "reference"
        },
        "authentication_status": {
          "description": "Indicates the result of payer authentication.",
          "enum": [
            "AUTHENTICATION_ATTEMPTED",
            "AUTHENTICATION_AVAILABLE",
            "AUTHENTICATION_EXEMPT",
            "AUTHENTICATION_FAILED",
            "AUTHENTICATION_NOT_IN_EFFECT",
            "AUTHENTICATION_NOT_SUPPORTED",
            "AUTHENTICATION_PENDING",
            "AUTHENTICATION_REJECTED",
            "AUTHENTICATION_REQUIRED",
            "AUTHENTICATION_SUCCESSFUL",
            "AUTHENTICATION_UNAVAILABLE"
          ],
          "type": "string",
          "title": "authorization_status"
        }
      }
    },
    "method": {
      "type": "object",
      "title": "Authentication Method Response",
      "required": [
        "type"
      ],
      "properties": {
        "type": {
          "description": "Method specified by the customer for the transaction  \n- Provide CARD for CARD transactions",
          "type": "string",
          "enum": [
            "CARD",
            "GOOGLEPAY",
            "APPLEPAY"
          ],
          "title": "type"
        },
        "card": {
          "$ref": "#/$defs/Authentication-Card-Response"
        },
        "holder_name": {
          "$ref": "#/$defs/Holder-Name"
        },
        "token_id": {
          "description": "Token_number.",
          "maxLength": 50,
          "minLength": 1,
          "type": "string",
          "title": "token_number"
        },
        "token_type": {
          "description": "Token type.",
          "enum": [
            "ALT_TOKEN",
            "NETWORK_TOKEN",
            "ISSUER_TOKEN",
            "CITI_TOKEN"
          ],
          "type": "string",
          "title": "token_type"
        }
      }
    },
    "order": {
      "type": "object",
      "title": "Authentication Order Response",
      "required": [
        "creation_date_time",
        "currency_code",
        "id",
        "update_time",
        "total_auth_amount",
        "total_captured_amount",
        "total_refunded_amount"
      ],
      "properties": {
        "id": {
          "description": "A unique identifier for this order to distinguish it from any other order you create.",
          "maxLength": 40,
          "minLength": 1,
          "type": "string",
          "title": "id"
        },
        "creation_date_time": {
          "type": "string",
          "format": "date-time",
          "description": "GMT (ISO 8601 YYYY-MM-DDTHH:MM:SS.sssZ)",
          "title": "creation_date_time"
        },
        "update_time": {
          "type": "string",
          "format": "date-time",
          "description": "Indicates the date and time the gateway considers the order to have last been updated GMT (ISO 8601 YYYY-MM-DDTHH:MM:SS.sssZ)",
          "title": "update_time"
        },
        "reference": {
          "description": "An optional identifier for the orderFor example, a shopping cart number, an order number, or an invoice number.",
          "maxLength": 200,
          "minLength": 1,
          "type": "string",
          "title": "reference"
        },
        "currency_code": {
          "description": "ISO 4217 Currency Code for instance  USD/GBP/EUR",
          "enum": [
            "USD"
          ],
          "type": "string",
          "title": "currency_code"
        },
        "status": {
          "type": "string",
          "maxLength": 30,
          "minLength": 1,
          "description": "Order Status, following status you will receive in response \n- AUTHENTICATED - The payer was successfully authenticated. \n- AUTHENTICATION_INITIATED - Payer authentication has been initiated but not completed. \n- AUTHENTICATION_NOT_NEEDED - Payer authentication was not performed as it was not needed. \n- AUTHENTICATION_UNSUCCESSFUL - Payer authentication was not able to be successfully completed. \n- AUTHORIZED - The payment has been authorized successfully but the authorized amount has not yet been captured, in part, full, or excess. \n- CANCELLED - The initial transaction for this order has been voided successfully. \n- CAPTURED - The authorized amount for this order, in full or excess, has been captured successfully. \n- CHARGEBACK_PROCESSED - A Chargeback has been processed against this order. \n- DISPUTED - The payment has been disputed and is under investigation. A request for information has been received or a chargeback is pending. \n- EXCESSIVELY_REFUNDED - The payment has been captured in part, full, or excess, but the captured amount in excess has been refunded successfully. \n- FAILED - The payment has not been successful. \n- FUNDING - The order transfers money to or from the merchant, without the involvement of a payer. For example, recording monthly merchant service fees from the payment service provider. \n- INITIATED - A browser payment that has successfully been initiated for this order. No payment has yet been made. \n- PARTIALLY_CAPTURED - The authorized amount for this order, in part, has been captured successfully. \n- PARTIALLY_REFUNDED - The payment has been captured in part, full, or excess, but the captured amount in part has been refunded successfully. \n- REFUNDED - The payment has been captured in part, full, or excess, but the captured amount in full has been refunded successfully. \n- REFUND_REQUESTED - A refund against captured amounts on this order has been requested but not executed. Requires further action to approve the refund. \n- VERIFIED - The card details for this order have successfully been verified. No payment has yet been initiated or made. \n- DISBURSED - The order amount has successfully been disbursed to the payer.",
          "title": "status"
        },
        "total_auth_amount": {
          "description": "The amount that has been successfully authorized for this order.",
          "maximum": 1000000000000000000,
          "minimum": 0.01,
          "type": "number",
          "title": "total_auth_amount"
        },
        "total_captured_amount": {
          "description": "The amount that has been successfully captured for this order.",
          "maximum": 1000000000000000000,
          "minimum": 0.01,
          "type": "number",
          "title": "total_captured_amount"
        },
        "total_refunded_amount": {
          "description": "The amount that has been successfully captured for this order.",
          "maximum": 1000000000000000000,
          "minimum": 0.01,
          "type": "number",
          "title": "total_refunded_amount"
        },
        "authentication_status": {
          "description": "Indicates the result of payer authentication.",
          "enum": [
            "AUTHENTICATION_ATTEMPTED",
            "AUTHENTICATION_AVAILABLE",
            "AUTHENTICATION_EXEMPT",
            "AUTHENTICATION_FAILED",
            "AUTHENTICATION_NOT_IN_EFFECT",
            "AUTHENTICATION_NOT_SUPPORTED",
            "AUTHENTICATION_PENDING",
            "AUTHENTICATION_REJECTED",
            "AUTHENTICATION_REQUIRED",
            "AUTHENTICATION_SUCCESSFUL",
            "AUTHENTICATION_UNAVAILABLE"
          ],
          "type": "string",
          "title": "authorization_status"
        }
      }
    },
    "authentication": {
      "title": " Authentication Sub Response",
      "required": [
        "channel",
        "method_completed",
        "method_supported",
        "requestor_id",
        "requestor_name",
        "accept_versions",
        "version"
      ],
      "properties": {
        "scheme": {
          "description": "The EMV 3DS authentication scheme used (e.g., MADA, MASTERCARD, VISA) for externally authenticated transactions.",
          "maxLength": 50,
          "minLength": 2,
          "type": "string",
          "title": "scheme"
        },
        "directory_server_id": {
          "description": "Unique identifier for the Directory Server (RID) for in-app authentication.",
          "maxLength": 10,
          "minLength": 10,
          "type": "string",
          "title": "directory_server_id"
        },
        "method_completed": {
          "description": "Indicates if the issuer's ACS completed the method call to obtain browser info.",
          "type": "boolean",
          "title": "method_completed"
        },
        "method_supported": {
          "description": "Indicates if the issuer's ACS supports the method call protocol.",
          "enum": [
            "NOT_SUPPORTED",
            "SUPPORTED"
          ],
          "type": "string",
          "title": "method_supported"
        },
        "protocol_version": {
          "description": "The version of the EMV 3-D Secure protocol used (e.g., 2.1.0).",
          "maxLength": 20,
          "minLength": 1,
          "type": "string",
          "title": "protocol_version"
        },
        "requestor_id": {
          "description": "The unique identifier assigned to the merchant by the card scheme directory server for 3DS2.",
          "maxLength": 20,
          "minLength": 1,
          "type": "string",
          "title": "requestor_id"
        },
        "requestor_name": {
          "description": "The unique name assigned to the merchant by the card scheme directory server for 3DS2.",
          "maxLength": 40,
          "minLength": 1,
          "type": "string",
          "title": "requestor_name"
        },
        "accept_versions": {
          "type": "array",
          "items": {
            "type": "string",
            "description": "A comma separated list of the forms of payer authentication that you will accept.",
            "title": "accept_versions"
          }
        },
        "channel": {
          "description": "Indicates the channel in which the authentication request is initiated.",
          "enum": [
            "MERCHANT_REQUESTED",
            "PAYER_APP",
            "PAYER_BROWSER"
          ],
          "type": "string",
          "title": "channel"
        },
        "method": {
          "description": "The method that the issuer will use to authenticate the payer.",
          "enum": [
            "DYNAMIC",
            "OUT_OF_BAND",
            "STATIC"
          ],
          "type": "string",
          "title": "method"
        },
        "purpose": {
          "description": "Indicates the context in which payer authentication is requested.",
          "enum": [
            "ADD_CARD",
            "AGREEMENT_CANCELLATION",
            "MAINTAIN_CARD",
            "PAYMENT_TRANSACTION",
            "REFRESH_AUTHENTICATION"
          ],
          "type": "string",
          "title": "purpose"
        },
        "method_post_data": {
          "description": "Base64 URL encoded frame contents to be posted to the method URL for risk assessment.",
          "maxLength": 100,
          "minLength": 1,
          "type": "string",
          "title": "method_post_data"
        },
        "method_url": {
          "type": "string",
          "maxLength": 500,
          "minLength": 1,
          "description": "The URL provided by the issuer to which the method post data must be sent.",
          "title": "method_url"
        },
        "redirect_html": {
          "type": "string",
          "maxLength": 40960,
          "minLength": 1,
          "description": "The URL provided by the issuer to which the method post data must be sent.",
          "title": "redirect_html"
        },
        "version": {
          "description": "Indicates the available payer authentication method or NONE if unavailable.",
          "enum": [
            "3DS2",
            "RUPAY",
            "PASSKEY",
            "NONE"
          ],
          "type": "string",
          "title": "version"
        },
        "line_of_business": {
          "description": "Identifier for different lines of business configured in the merchant profile.",
          "maxLength": 100,
          "minLength": 1,
          "type": "string",
          "title": "line_of_business"
        }
      }
    }
  },
  "$defs": {
    "Authentication-Card-Response": {
      "title": "Authentication Card Response",
      "description": "Card informations",
      "properties": {
        "number": {
          "description": "The customer’s payment card number, also known as the Primary Account Number (PAN).",
          "maximum": 23,
          "minimum": 9,
          "type": "string",
          "title": "number"
        },
        "issuer": {
          "description": "The issuer of the card, if known.",
          "maximum": 255,
          "minimum": 1,
          "type": "string",
          "title": "issuer"
        },
        "expiry_month": {
          "description": "Two-digit month in which the payment card expires.",
          "type": "string",
          "pattern": "^(0?[1-9]|1[0-2])$",
          "title": "expiry_month"
        },
        "expiry_year": {
          "description": "Two-digit year in which the payment card expires.",
          "type": "string",
          "pattern": "^[0-9]{2,2}$",
          "title": "expiry_year"
        },
        "encryption": {
          "description": "The encryption framework used for the payment details received by the gateway.",
          "enum": [
            "DEVICE",
            "DIGITAL_WALLET",
            "DUKPT"
          ],
          "type": "string",
          "title": "encryption"
        },
        "funding_method": {
          "description": "The method used by the payer to provide the funds (Charge, Credit, Debit).",
          "enum": [
            "CHARGE",
            "CREDIT",
            "DEBIT",
            "UNKNOWN"
          ],
          "type": "string",
          "title": "funding_method"
        },
        "brand": {
          "description": "The brand name used to describe the card that is recognized and accepted globally. For many major card types this will match the scheme name. In some markets, a card may also be co-branded with a local brand that is recognized and accepted within its country/region of origin (see card.localBrand).You may use this information to support surcharging decisions. This information is gathered from 3rd party sources and may not be accurate in all circumstances.",
          "enum": [
            "AMEX",
            "CHINA_UNIONPA",
            "DINERS_CLUB",
            "DISCOVER",
            "JCB",
            "LOCAL_BRAND_ONLY",
            "MAESTRO",
            "MASTERCARD",
            "RUPAY",
            "UATP",
            "UNKNOWN",
            "VISA"
          ],
          "type": "string",
          "title": "brand"
        },
        "scheme": {
          "description": "The organization that owns a card brand and defines operating regulations for its use. The card scheme also controls authorization and settlement of card transactions among issuers and acquirers.",
          "enum": [
            "AMEX",
            "CHINA_UNIONPA",
            "DINERS_CLUB",
            "DISCOVER",
            "JCB",
            "LOCAL_BRAND_ONLY",
            "MAESTRO",
            "MASTERCARD",
            "RUPAY",
            "UATP",
            "UNKNOWN",
            "VISA"
          ],
          "type": "string",
          "title": "scheme"
        },
        "device_payment": {
          "$ref": "#/$defs/Authentication-Device-Payment-Response"
        },
        "device_specific": {
          "$ref": "#/$defs/Device-Specific-Response"
        }
      }
    },
    "Authentication-Device-Payment-Response": {
      "title": "Authentication Device Payment Response",
      "type": "object",
      "description": "Device",
      "properties": {
        "cryptogram_format": {
          "description": "The format of the cryptogram provided for the digital payment.",
          "enum": [
            "3DSECURE",
            "EMV"
          ],
          "type": "string",
          "title": "cryptogram_format"
        }
      }
    },
    "Device-Specific-Response": {
      "title": "Device",
      "description": "Device Specific Response",
      "properties": {
        "number": {
          "description": "The payer's account number associated with a digital payment method.",
          "maximum": 19,
          "minimum": 9,
          "type": "number",
          "title": "number"
        },
        "expiry_month": {
          "description": "Two-digit month in which the device specific expires.",
          "type": "string",
          "pattern": "^(0?[1-9]|1[0-2])$",
          "title": "expiry_month"
        },
        "expiry_year": {
          "description": "Year from the expiry date of the device specific account number.",
          "type": "string",
          "pattern": "^[0-9]{2,2}$",
          "title": "expiry_year"
        }
      }
    },
    "Holder-Name": {
      "title": "Holder-Name",
      "description": "The name of the bank account holder for the payer's bank account.",
      "properties": {
        "first_name": {
          "description": "first_name. \n - For ACH Pay and verify transaction method.holder.first_name parameter is mandatory \n - For India Card transactions, method.holder.first_name parameter is mandatory",
          "maxLength": 50,
          "minLength": 1,
          "type": "string",
          "title": "first_name"
        },
        "last_name": {
          "description": "last_name. \n - For ACH Pay and verify transaction method.holder.last_name parameter is mandatory \n - For India Card transactions, method.holder.last_name parameter is mandatory",
          "maxLength": 50,
          "minLength": 1,
          "type": "string",
          "title": "last_name"
        }
      }
    }
  }
}

Work with this as data

Every JSON Schema 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 schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • 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 JSON Schema
curl "https://apis.io/api/v1/json-schemas/citi-authentication-response"
All schemas
curl "https://apis.io/api/v1/json-schemas?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.