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 |
JSON Schema
{
"$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.
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.