Citi · Schema

Authentication-Payer-Request

Payment Request

BankingFinancial ServicesOpen BankingPaymentsTreasuryISO 20022Commercial CardsForeign ExchangeCustodyTrade FinanceCorporate BankingAPI Gateway

Properties

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

JSON Schema

citi-authentication-payer-request-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-payer-request-schema.json",
  "title": "Authentication-Payer-Request",
  "description": "Payment Request",
  "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-Payer-Request",
  "type": "object",
  "required": [
    "order",
    "transaction"
  ],
  "properties": {
    "authentication": {
      "$ref": "#/$defs/Authentication-Payer-Initiate-Request"
    },
    "customer": {
      "$ref": "#/$defs/Customer-Authentication-Request"
    },
    "method": {
      "$ref": "#/$defs/Authentication-Payer-Method"
    },
    "transaction": {
      "$ref": "#/$defs/Authentication-Transaction-Request"
    },
    "order": {
      "$ref": "#/$defs/Authentication-Payer-Order"
    },
    "mandate": {
      "$ref": "#/$defs/Authentication-Mandate"
    },
    "shipping": {
      "$ref": "#/$defs/Authentication-Payer-Shipping"
    }
  },
  "additionalProperties": false,
  "$defs": {
    "Additional-Info": {
      "title": "Additional-Info /n- For Brazil and CARD transactions allowed maxmium of 50 lines /n- For India CARD transactions allowed maxmium of 10 lines",
      "properties": {
        "name": {
          "maxLength": 100,
          "minLength": 1,
          "type": "string",
          "description": "Specifies a character string with a maximum length of 50 characters. If transaction.Additional-Info.name is provided by merchant then transaction.Additional-Info.value is mandatory.",
          "title": "name"
        },
        "value": {
          "maxLength": 500,
          "minLength": 1,
          "type": "string",
          "description": "Specifies a character string with a maximum length of 200 characters.  if transaction.Additional-Info.value is provided by merchant then transaction.Additional-Info.name is mandatory.",
          "title": "value"
        }
      }
    },
    "Authentication-Address": {
      "type": "object",
      "description": "Authentication Address",
      "title": "Authentication Address",
      "properties": {
        "city": {
          "maxLength": 100,
          "minLength": 1,
          "type": "string",
          "description": "City.",
          "title": "city"
        },
        "postal_code": {
          "maxLength": 16,
          "minLength": 1,
          "type": "string",
          "description": "Postal code.",
          "title": "postal_code"
        },
        "state": {
          "maxLength": 50,
          "minLength": 1,
          "type": "string",
          "description": "State.",
          "title": "state"
        },
        "country_code": {
          "type": "string",
          "pattern": "^[A-Z]{2,2}$",
          "description": "Country.",
          "title": "country_code"
        },
        "province_code": {
          "description": "The three character ISO 3166-2 country subdivision code for the state or province of the address",
          "maxLength": 3,
          "minLength": 1,
          "type": "string",
          "title": "province_code"
        },
        "lines": {
          "type": "array",
          "minItems": 1,
          "maxItems": 7,
          "items": {
            "$ref": "#/$defs/Lines"
          },
          "title": "lines"
        }
      }
    },
    "Authentication-Customer-Device": {
      "title": "Authentication Customer Device",
      "description": "Customer-Device.",
      "properties": {
        "ani": {
          "description": "The telephone number captured by ANI (Automatic Number Identification) when the customer calls to place the order.",
          "maxLength": 10,
          "minLength": 1,
          "type": "string",
          "title": "ani"
        },
        "ani_call_type": {
          "description": "The 2 digit ANI information identifier provided by the telephone company to indicate the call type, for example, cellular (61-63), toll free (24,25), etc.",
          "maxLength": 2,
          "minLength": 1,
          "type": "string",
          "title": "ani_call_type"
        },
        "browser": {
          "description": "The User-Agent header of the browser the customer used to place the order.",
          "maxLength": 2048,
          "minLength": 1,
          "type": "string",
          "title": "browser"
        },
        "browser_accept_window_size": {
          "description": "Dimensions of the 3DS challenge window in pixels (e.g., 250x400).",
          "enum": [
            "250_X_400",
            "390_X_400",
            "500_X_600",
            "600_X_400",
            "FULL_SCREEN"
          ],
          "type": "string",
          "title": "browser_accept_window_size"
        },
        "fingerprint": {
          "description": "Information collected about a remote computing device for the purpose of providing a unique identifier for the device.",
          "maxLength": 4000,
          "minLength": 1,
          "type": "string",
          "title": "fingerprint"
        },
        "hostname": {
          "description": "The name of the server to which the customer is connected.",
          "maxLength": 60,
          "minLength": 1,
          "type": "string",
          "title": "hostname"
        },
        "ip_address": {
          "description": "The name of the server to which the customer is connected.",
          "maxLength": 45,
          "minLength": 7,
          "type": "string",
          "title": "ip_address"
        },
        "mobile_phone_model": {
          "description": "The name of the server to which the customer is connected.",
          "maxLength": 255,
          "minLength": 1,
          "type": "string",
          "title": "mobile_phone_model"
        },
        "browser_accept_headers": {
          "description": "The content of the Accept request-header field sent from the browser.",
          "maxLength": 2048,
          "minLength": 1,
          "type": "string",
          "title": "browser_accept_headers"
        },
        "browser_color_depth": {
          "description": "The bit depth of the color palette for images (1-48 bits per pixel).",
          "maximum": 48,
          "minimum": 1,
          "type": "number",
          "title": "browser_accept_headers"
        },
        "browser_java_enabled": {
          "description": "Indicates if the browser supports Java (true/false).",
          "type": "boolean",
          "title": "browser_java_enabled"
        },
        "browser_java_script_enabled": {
          "description": "Indicates if the browser supports JavaScript (true/false).",
          "type": "boolean",
          "title": "browser_java_script_enabled"
        },
        "browser_language": {
          "description": "The language supported by the browser as defined in IETF BCP47.",
          "maxLength": 8,
          "minLength": 1,
          "type": "string",
          "title": "browser_language"
        },
        "browser_screen_height": {
          "description": "The total height of the browser screen in pixels (1-999999).",
          "maximum": 999999,
          "minimum": 1,
          "type": "number",
          "title": "browser_screen_height"
        },
        "browser_screen_width": {
          "description": "The total width of the browser screen in pixels (1-999999).",
          "maximum": 999999,
          "minimum": 1,
          "type": "number",
          "title": "browser_screen_width"
        },
        "browser_timezone": {
          "type": "string",
          "description": "Time difference between UTC time and local time, in minutes (-840 to +840).",
          "pattern": "^([-+]?(?:[1-9][0-9]?|[1-7][0-9]{2}|8[0-3][0-9]|840)|0)$",
          "title": "browser_timezone"
        }
      }
    },
    "Authentication-Customer-History-Payer-Request": {
      "title": "Authentication Customer History Payer Request",
      "description": "Authentication-Customer-Payer-Request",
      "properties": {
        "attempts": {
          "description": "Number of attempts to add/change a card in the last 24 hours (0-99).",
          "maximum": 99,
          "minimum": 1,
          "type": "number",
          "title": "attempts"
        },
        "annual_activity": {
          "description": "Number of transactions (successful/abandoned) in the last year (0-999).",
          "maximum": 999,
          "minimum": 1,
          "type": "number",
          "title": "annual_activity"
        },
        "creation_date": {
          "type": "string",
          "format": "date",
          "description": "The date the payer created an account (yyyy-mm-dd).",
          "title": "creation_date"
        },
        "issuer_acs_id": {
          "description": "The unique transaction identifier used by the issuer's ACS.",
          "maxLength": 36,
          "minLength": 1,
          "type": "string",
          "title": "issuer_acs_id"
        },
        "authentication_token": {
          "description": "The authentication token obtained from a previous request.",
          "maxLength": 32,
          "minLength": 28,
          "type": "string",
          "title": "authentication_token"
        },
        "directory_server_id": {
          "description": "A unique transaction identifier assigned by the scheme Directory Server.",
          "maxLength": 50,
          "minLength": 1,
          "type": "string",
          "title": "directory_server_id"
        },
        "authentication_time": {
          "type": "string",
          "format": "date-time",
          "description": "The date and time the payer was authenticated for the prior transaction (YYYY-MM-DDThh:mm:ss.SSSZ).",
          "title": "authentication_time"
        },
        "authentication_id": {
          "description": "The gateway transaction ID of a previous Authenticate Payer request to reuse authentication data.",
          "maxLength": 50,
          "minLength": 1,
          "type": "string",
          "title": "authentication_id"
        },
        "authentication_type": {
          "description": "The method used to authenticate the payer for a prior transaction.",
          "enum": [
            "3DS_FRICTIONLESS",
            "3DS_CHALLENGE",
            "ADDRESS_VERIFICATION",
            "OTHER"
          ],
          "type": "string",
          "title": "authentication_type"
        },
        "last_updated_date": {
          "type": "string",
          "format": "date",
          "description": "The date the payer's account with you was last updated (yyyy-mm-dd).",
          "title": "last_updated_date"
        },
        "password_last_changed_date": {
          "type": "string",
          "format": "date",
          "description": "The date the payer's account with you was last updated (yyyy-mm-dd).",
          "title": "password_last_changed_date"
        },
        "transaction_activity": {
          "description": "Number of transactions (successful/abandoned) in the last 24 hours (0-99).",
          "maximum": 99,
          "minimum": 1,
          "type": "number",
          "title": "transaction_activity"
        },
        "shipping_address_date": {
          "type": "string",
          "format": "date",
          "description": "The date you first shipped goods to the provided shipping address (yyyy-mm-dd).",
          "title": "shipping_address_date"
        },
        "suspicious_activity": {
          "description": "Have you experienced suspicious activity on the account in the past (true/false).",
          "type": "boolean",
          "title": "suspicious_activity"
        }
      }
    },
    "Authentication-Customer-Payer-Request": {
      "title": "Authentication Customer Payer Request",
      "description": "Authentication-Customer-Payer-Request",
      "properties": {
        "action": {
          "description": "Behaviour relating to the association between the customer account and their card.",
          "enum": [
            "AUTHENTICATION",
            "REGISTRATION"
          ],
          "type": "string",
          "title": "action"
        },
        "data": {
          "description": "Data returned by an authentication service used when the customer logged in (e.g., FIDO token).",
          "maxLength": 20000,
          "minLength": 1,
          "type": "string",
          "title": "data"
        },
        "method": {
          "description": "The method used to authenticate the payer.",
          "enum": [
            "CUSTOMER_ACCOUNT_LOGIN",
            "FEDERATED_IDENTITY_LOGIN",
            "FIDO_AUTHENTICATION",
            "ISSUER_ACCOUNT_LOGIN",
            "NONE",
            "THIRD_PARTY_ACCOUNT_LOGIN"
          ],
          "type": "string",
          "title": "method"
        },
        "time": {
          "type": "string",
          "format": "date-time",
          "description": "Date and time the payer was authenticated (YYYY-MM-DDThh:mm:ss.SSSZ).",
          "title": "update_time"
        }
      }
    },
    "Authentication-Device-Payment": {
      "title": "device",
      "type": "object",
      "description": "Device",
      "properties": {
        "eci_indicator": {
          "description": "The Electronic Commerce Indicator generated for device payments.",
          "maxLength": 2,
          "minLength": 1,
          "type": "string",
          "title": "eci_indicator"
        },
        "online_payment_cryptogram": {
          "description": "A cryptogram used to authenticate the transaction (from decrypted token).",
          "maxLength": 200,
          "minLength": 1,
          "type": "string",
          "title": "online payment cryptogram"
        },
        "cryptogram_format": {
          "description": "The format of the cryptogram provided for the digital payment.",
          "enum": [
            "3DSECURE",
            "EMV"
          ],
          "type": "string",
          "title": "cryptogram_format"
        },
        "token": {
          "description": "The payment token received from the device's payment SDK (e.g., Apple Pay).",
          "maxLength": 16384,
          "minLength": 1,
          "type": "string",
          "title": "token"
        }
      }
    },
    "Authentication-Mandate": {
      "title": "Mandate",
      "properties": {
        "amount_variability": {
          "description": "Indicates if all the payments within the agreement use the same amount or if the amount differs between the payments. The parameter must be provided for recurring payment agreements.",
          "enum": [
            "FIXED",
            "VARIABLE"
          ],
          "type": "string",
          "title": "amount_variability"
        },
        "custom_data": {
          "description": "Additional information requested for the agreement which cannot be passed using other available data parameters. This parameter must not contain sensitive data.",
          "maxLength": 2048,
          "minLength": 1,
          "type": "string",
          "title": "custom_data"
        },
        "expiry_date": {
          "description": "Date at which your agreement with the payer to process payments expires.",
          "format": "date",
          "type": "string",
          "title": "expiry_date"
        },
        "id": {
          "description": "Your identifier for the agreement you have with the payer to process payments.When you collect cards from your payers and store them for later use, you must provide an agreement ID when you use the stored values for: Recurring payments: you have an agreement with the payer that authorizes you to automatically debit their account at agreed intervals for fixed or variable amounts. For example, gym membership, phone bills, or magazine subscriptions. Installment payments: you have an agreement with the payer that authorizes you to process multiple payments over an agreed period of time for a single purchase. For example, the payer purchases an item for $1000 and pays for it in four monthly installments. Unscheduled: you have an agreement with the payer that authorizes you to process future payments when required. For example, the payer authorizes you to process an account top-up transaction for a transit card when the account balance drops below a certain threshold.Industry Practice: you have an agreement with the payer that authorizes you to initiate additional transactions to fulfil a standard business practice related to an original payment initiated by the payer. For example, a delayed charge for use of the hotel mini bar after the payer has checked out or a no show penalty charge when the payer fails to show for a booking. When you first establish an agreement with the payer you should also specify the type of agreement in agreement.type. \n- For Brazil PIX Initiation, this parameter is mandatory with max length 29 in format RR33479023yyyyMMddBRkkkkkkkkk and this should be same id received as part of push notification while creating the mandate",
          "maxLength": 100,
          "minLength": 1,
          "type": "string",
          "title": "id"
        },
        "maximum_amount": {
          "description": "The maximum amount for a single payment in the series as agreed with the payer under your agreement with them. The amount must be provided in the currency of the order.",
          "maxLength": 14,
          "minLength": 1,
          "type": "string",
          "title": "maximum_amount"
        },
        "minimum_amount": {
          "description": "The minimum amount for a single payment in the series as agreed with the payer under your agreement with them. The amount must be provided in the currency of the order.",
          "maxLength": 14,
          "minLength": 1,
          "type": "string",
          "title": "minimum_amount"
        },
        "minimum_days": {
          "description": "The minimum number of days between payments agreed with the payer under your agreement with them.",
          "maximum": 9999,
          "minimum": 1,
          "type": "number",
          "title": "minimum_days"
        },
        "number_of_payments": {
          "description": "The number of merchant-initiated payments within the recurring payment agreement.",
          "maximum": 999,
          "minimum": 1,
          "type": "number",
          "title": "number_of_payments"
        },
        "frequency": {
          "description": "The frequency of the payments within the series as agreed with the payer under your agreement with them.",
          "enum": [
            "AD_HOC",
            "DAILY",
            "FORTNIGHTLY",
            "MONTHLY",
            "OTHER",
            "QUARTERLY",
            "TWICE_YEARLY",
            "WEEKLY",
            "YEARLY"
          ],
          "type": "string",
          "title": "frequency"
        },
        "type": {
          "description": "The type of commercial agreement that the payer has with you.Specify the agreement type when you have provided a value for agreement.id and this payment is the first in a series of payments. The default value is OTHER.",
          "enum": [
            "INSTALLMENT",
            "OTHER",
            "RECURRING",
            "UNSCHEDULED"
          ],
          "type": "string",
          "title": "frequency"
        },
        "start_date": {
          "description": "This is the effective start date for the payment agreement.",
          "format": "date",
          "type": "string",
          "title": "start_date"
        }
      },
      "type": "object"
    },
    "Authentication-Payer-Card": {
      "title": "Authentication Payer Card",
      "description": "Card informations",
      "properties": {
        "number": {
          "description": "The customer’s payment card number, also known as the Primary Account Number (PAN).",
          "type": "string",
          "minLength": 9,
          "maxLength": 23,
          "title": "number"
        },
        "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"
        },
        "cvv": {
          "description": "Card verification code (CVV/CVC/etc.).",
          "maxLength": 4,
          "minLength": 3,
          "type": "string",
          "title": "cvv"
        },
        "device_payment": {
          "$ref": "#/$defs/Authentication-Device-Payment"
        }
      }
    },
    "Authentication-Payer-Initiate-Request": {
      "title": " Payer Authentication Request",
      "required": [
        "channel"
      ],
      "properties": {
        "sdk": {
          "$ref": "#/$defs/Sdk"
        },
        "challenge_preference": {
          "description": "Indicates if you want the payer to be presented with an authentication challenge (Default:NO_PREFERENCE).",
          "enum": [
            "CHALLENGE_MANDATED",
            "CHALLENGE_PREFERRED",
            "NO_CHALLENGE",
            "NO_PREFERENCE",
            "REQUEST_TRUSTED_MERCHANT_LISTING"
          ],
          "type": "string",
          "title": "challenge_preference"
        },
        "product_info": {
          "description": "Description of the goods being purchased, displayed on the authentication UI.",
          "maxLength": 30,
          "minLength": 1,
          "type": "string",
          "title": "product_info"
        },
        "payment_exemption": {
          "description": "Indicates why this payment qualifies for an SCA exemption.",
          "enum": [
            "AUTO",
            "LOW_RISK",
            "LOW_VALUE_PAYMENT",
            "TRUSTED_MERCHANT",
            "MERCHANT_INITIATED_TRANSACTION",
            "RECURRING_PAYMENT",
            "SECURE_CORPORATE_PAYMENT"
          ],
          "type": "string",
          "title": "payment_exemption"
        },
        "redirect_url": {
          "type": "string",
          "maxLength": 500,
          "description": "The URL to which you want to redirect the payer after completing the payer authentication process.This will be a URL on your website, with the URL encoded as defined in RFC3986. This means special characters such spaces, hyphens, etc must be encoded.",
          "title": "redirect_url"
        }
      }
    },
    "Authentication-Payer-Method": {
      "type": "object",
      "title": "Authentication Payer Method",
      "properties": {
        "card": {
          "$ref": "#/$defs/Authentication-Payer-Card"
        },
        "holder_name": {
          "$ref": "#/$defs/Holder-Name"
        },
        "session_id": {
          "description": "Session identification number",
          "type": "string",
          "minLength": 36,
          "maxLength": 37,
          "title": "session_id"
        },
        "type": {
          "description": "Method specified by the customer for the transaction  \n- Provide CARD for CARD transactions",
          "type": "string",
          "enum": [
            "CARD",
            "GOOGLEPAY",
            "APPLEPAY"
          ],
          "title": "type"
        },
        "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"
        }
      }
    },
    "Authentication-Payer-Order": {
      "title": "Authentication Payer Order",
      "required": [
        "id",
        "currency_code",
        "avs_action",
        "avs_response",
        "charge_type"
      ],
      "properties": {
        "id": {
          "description": "A unique identifier for this order to distinguish it from any other order you create.",
          "maxLength": 50,
          "minLength": 1,
          "type": "string",
          "title": "id"
        },
        "currency_code": {
          "description": "The currency of the order expressed as an ISO 4217 alpha code, e.g. USD.",
          "enum": [
            "USD"
          ],
          "type": "string",
          "title": "currency_code"
        },
        "amount": {
          "description": "The total amount for the order.  This is the net amount plus any merchant charge amounts.If you provide any sub-total amounts, then the sum of these amounts (order.itemAmount, order.taxAmount, order.shippingAndHandlingAmount, order.cashbackAmount, order.gratuityAmount, order.merchantCharge.amount and order.dutyAmount), minus the order.discountAmount must equal the net amount.The value of this parameter in the response is zero if payer funds are not transferred.",
          "maximum": 1000000000000000000,
          "minimum": 0.01,
          "type": "number",
          "title": "amount"
        },
        "charge_amount": {
          "description": "The amount of the additional fee that you are charging the payer.",
          "maximum": 1000000000000000000,
          "minimum": 0.01,
          "type": "number",
          "title": "charge_amount"
        },
        "charge_type": {
          "description": "The type of the additional fee that you are charging the payer.",
          "enum": [
            "SURCHARGE"
          ],
          "type": "string",
          "title": "charge_type"
        },
        "net_amount": {
          "description": "The total item amount for the order.",
          "maximum": 1000000000000000000,
          "minimum": 0.01,
          "type": "number",
          "title": "net_amount"
        },
        "shipping_and_handling_amount": {
          "description": "The total shipping and handling amount for the order, including taxes on the shipping and/or handling",
          "maximum": 1000000000000000000,
          "minimum": 0.01,
          "type": "number",
          "title": "shipping_and_handling_amount"
        },
        "shipping_and_handling_tax_amount": {
          "description": "The tax amount levied on the shipping and handling amount for the order.",
          "maximum": 1000000000000000000,
          "minimum": 0.01,
          "type": "number",
          "title": "shipping_and_handling_tax_amount"
        },
        "shipping_and_handling_tax_rate": {
          "description": "The tax rate applied to the shipping and handling amount for the order to determine the shipping and handling tax amount.",
          "maximum": 1000000000000000000,
          "minimum": 0.01,
          "type": "number",
          "title": "shipping_and_handling_tax_rate"
        },
        "discount_amount": {
          "description": "The total amount of the discount you have applied to the order",
          "maximum": 1000000000000000000,
          "minimum": 0.01,
          "type": "number",
          "title": "discount_amount"
        },
        "tax_registration_id": {
          "description": "Your tax registration identifier provided by the Federal/National tax authority (for example, federal tax identification number, ABN).If you are a Canadian merchant, use this parameter to provide your Tax Registration ID for paying Harmonized Sales Tax (HST) or Goods and Services Tax (GST) collected by the Canada Revenue Agency.",
          "maxLength": 30,
          "minLength": 1,
          "type": "string",
          "title": "tax_registration_id"
        },
        "gratuity_amount": {
          "description": "The gratuity amount (also known as customs tax, tariff or dues) for the order.",
          "maximum": 1000000000000000000,
          "minimum": 0.01,
          "type": "number",
          "title": "gratuity_amount"
        },
        "certainty": {
          "description": "Indicates if you expect to capture the full order amount for which you are requesting authorization.If you do not provide a value for order.certainty the default configured for you by your payment service provider will be used. The value provided in the response shows the value the gateway sent to the acquirer.",
          "enum": [
            "ESTIMATED",
            "FINAL"
          ],
          "type": "string",
          "title": "certainty"
        },
        "date": {
          "description": "The date the payer placed the order.",
          "format": "date",
          "type": "string",
          "title": "date"
        },
        "description": {
          "description": "Short textual description of the contents of the order.",
          "maxLength": 127,
          "minLength": 1,
          "type": "string",
          "title": "description"
        },
        "discount_code": {
          "description": "The code you use to identify the reason for the discount.",
          "maxLength": 40,
          "minLength": 1,
          "type": "string",
          "title": "discount_code"
        },
        "discount_description": {
          "description": "A description of your reason for the discount.",
          "maxLength": 127,
          "minLength": 1,
          "type": "string",
          "title": "discount_description"
        },
        "duty_amount": {
          "description": "The duty amount (also known as customs tax, tariff or dues) for the order.",
          "maximum": 1000000000000000000,
          "minimum": 0.01,
          "type": "number",
          "title": "duty_amount"
        },
        "entity": {
          "description": "Your identifier for the part of your organization that is responsible for the order.You might provide this data when you want to track the accountability for the order. For example, store number, sales region, branch, or profit center.",
          "maxLength": 40,
          "minLength": 1,
          "type": "string",
          "title": "entity"
        },
        "purchase_type": {
          "description": "Indicates the purchase of specific types of goods or services You must provide a value if your Merchant Category Code (MCC) is one of the following: 6051 (Quasi Cash – Merchant or Non-Financial Institutions – Foreign Currency, Non-Fiat Currency) and this transaction is for the purchase of cryptocurrency. Set the value to CRYPTOCURRENCY. 6211 (Securities – Brokers/Dealers) and this transaction is for the purchase of high-risk securities. Set the value to HIGH_RISK_SECURITIES. 6012 (Merchandise and Services—Customer Financial Institutions) or 6051 (Non-Financial Institutions – Foreign Currency, Non-Fiat Currency) and this transaction is for debt repayment. Set the value to DEBT_REPAYMENT. If the transaction pulls money from an account for the purpose of crediting another account you must set purchase type to ACCOUNT_FUNDING. You may set purchase type to OTHER for any other type of payment.",
          "enum": [
            "ACCOUNT_FUNDING",
            "CRYPTOCURRENCY",
            "DEBT_REPAYMENT",
            "HIGH_RISK_SECURITIES",
            "OTHER"
          ],
          "type": "string",
          "title": "purchase_type"
        },
        "tax_amount": {
          "description": "The total tax amount for the order. If you do not provide this value but provide line item data, then this amount is calculated as the sum of the item.quantity times the item.unitTaxAmount for all the line items (total tax amount).If you provide both this value and line item data, then the order.taxAmount MUST equal the total tax amount.",
          "maximum": 1000000000000000000,
          "minimum": 0.01,
          "type": "number",
          "title": "tax_amount"
        },
        "retailer_location": {
          "description": "Provide information about the location of the retailers for goods or services included in this order. Where a retailer is located in a country different from your country, they are considered a foreign retailer, otherwise they are considered a domestic retailer.",
          "enum": [
            "DOMESTIC_ONLY",
            "FOREIGN_AND_DOMESTIC",
            "FOREIGN_ONLY"
          ],
          "type": "string",
          "title": "retailer_location"
        },
        "avs_action": {
          "description": "The action to be performed for the Address Verification Service (AVS) Response Code.",
          "enum": [
            "NO_ACTION",
            "REJECT",
            "REVIEW"
          ],
          "type": "string",
          "title": "avs_action"
        },
        "avs_response": {
          "description": "The 

# --- truncated at 32 KB (44 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/citi/refs/heads/main/json-schema/citi-authentication-payer-request-schema.json

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-payer-request"
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.