Citi · Schema

CardEnrollmentPartialSuccessResponse

BankingFinancial ServicesOpen BankingPaymentsTreasuryISO 20022Commercial CardsForeign ExchangeCustodyTrade FinanceCorporate BankingAPI Gateway

Properties

Name Type Description
cardHolderUserId string Unique ID to be generated & sent by Citi clients to identify user profile.
countryOfIssuance string Country in which the VCA program is issued out of.
screeningInfo object Screening status after performing customer screening.
cardPartialSuccessInfo array Screening status after performing customer screening.
View JSON Schema on GitHub

JSON Schema

citi-card-enrollment-partial-success-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-card-enrollment-partial-success-response-schema.json",
  "title": "CardEnrollmentPartialSuccessResponse",
  "x-generated": "2026-10-12",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/citi-mvca-api-openapi.yml#/components/schemas/CardEnrollmentPartialSuccessResponse",
  "properties": {
    "cardHolderUserId": {
      "description": "Unique ID to be generated & sent by Citi clients to identify user profile.",
      "type": "string",
      "format": "alphanumeric [a-zA-Z0-9]",
      "maxLength": 20,
      "minLength": 1
    },
    "countryOfIssuance": {
      "description": "Country in which the VCA program is issued out of.",
      "type": "string",
      "format": "alphabets [a-zA-Z]",
      "maxLength": 3,
      "minLength": 3
    },
    "screeningInfo": {
      "description": "Screening status after performing customer screening.",
      "type": "object",
      "format": "object",
      "$ref": "#/$defs/ScreeningInfo"
    },
    "cardPartialSuccessInfo": {
      "description": "Screening status after performing customer screening.",
      "type": "array",
      "items": {
        "$ref": "#/$defs/ValidationErrorResponseDetails"
      }
    }
  },
  "$defs": {
    "EnrollErrorMessage": {
      "required": [
        "errorCode",
        "errorDescription"
      ],
      "type": "object",
      "description": "List of error code and description to be sent to the Client",
      "properties": {
        "errorCode": {
          "maxLength": 10,
          "minLength": 1,
          "type": "string",
          "description": "error code to be sent to the Client",
          "format": "alphanumeric [a-zA-Z0-9]"
        },
        "errorDescription": {
          "description": "The error description that corresponds to error code when there is any  error occurred while retrieving the trsansaction.<br>            * `GRC0001` - We have encountered an error and couldnt receive your request. Please try again, or contact Citi support if you have any further questions or comments <br>            * `GRC0002` - Client ID is missing in the request header <br>            * `GRC0003` - Contry code is not available in the request <br>            * `GRC0004` - Region ID is not available in the request <br>            * `GRC0005` - We have encountered an error and couldnt receive your request. Please try again, or contact Citi support if you have any further questions or comments <br>            * `GRC0006` - We have encountered an error and couldnt receive your request. Please try again, or contact Citi support if you have any further questions or comments <br>            * `GRC0007` - Client requested MediaType is not supported. <br>            * `GRC0009` - We have encountered an error and couldnt receive your request. Please try again, or contact Citi support if you have any further questions or comments <br>            * `GRC0011` - Client ID and/or Country and/or region id is missing in Client Onboard Configuration setup. Contact Citi support. <br>            * `GRC0012` - Necessary header value is missing <br>            * `GRC0003` - Invalid JSON Input <br>            * `GRC0014` - We have encountered an error and couldnt receive your request. Please try again, or contact Citi support if you have any further questions or comments <br>           * `EVB1245` - First Name is mandatory and should not be null or empty <br>            * `EVB1246` - Last Name is mandatory and should not be null or empty <br>            * `EVB1247` - Line 1 of address is mandatory and should not be null or empty <br>            * `EVB1248` - City is mandatory and should not be null or empty <br>            * `EVB1249` - State is mandatory and should not be null or empty <br>            * `EVB1250` - Zip code is mandatory and should not be null or empty <br>            * `EVB1251` - Country is mandatory and should not be null or empty <br>            * `EVB1252` - Date of Birth is mandatory and should not be null or empty <br>            * `EVB1253` - Country is mandatory and should not be null or empty <br>            * `EVB1254` - Nationality is mandatory and should not be null or empty <br>            * `EVB1257` - Document(s) is mandatory and should not be null or empty and should be one of the required documents<br>           * `EVB1258` - countryOfIssuance is mandatory<br>           * `EVB1150` - cardHolderUserId is mandatory<br>           * `EVB1152` cardHolderUserId must be plain text<br>           * `EVB1151` - cardHolderUserId size must be between 1 and 20 characters<br>           * `EVB1259` - countryOfIssuance must be exactly 3 characters<br>           * `EVB1260` - countryOfIssuance must be only in upper case<br> * `EVB0017` - vcaGuid is empty or null<br> * `EVB0014` - vcaGuid value must be a numeric <br> * `EVB0010` - vcaGuid size must be between 1 and 19 digits<br> * `EVB0033` - fundingSourceId is mandatory<br> * `EVB0032` - fundingSourceId value must be numeric<br> * `EVB0352` - FundingSourceId is Invalid. FundingSourceId value should be a valid long value and size must be between 1 and 19 digits<br> * `EVB0042` - fundingSourceName is mandatory<br> * `EVB0041` - fundingSourceName must have minimum of 1 and maximum of 100 characters<br> * `EVB0271` - expiryDate is mandatory<br> * `EVB0061` - expiryDate length exceeds max length allowed of: 6 characters<br> * `EVB0259` - expiryDate must have format: MMYYYY<br> * `EVB0219` - expiryDate month and year cannot be a past or current date<br> * `EVB0626` - expiryDate cannot be more than 24 months into the future<br> * `EVB0265` - mccGrouping cannot be null or empty<br> * `EVB0254` - mccGrouping should not contain multiple values<br> * `EVB0062` - TimeZone is mandatory<br> * `EVB0063` - timeZone field has an invalid UTC offset time zone format. Valid format is UTC+/-HH:MM<br> * `EVB0615` - No time zone found for UTC value provided in timeZone field<br> * `EVB0071` - templateId is mandatory<br> * `EVB0014` - templateId should be numeric<br> * `EVB0010` - templateId should have minimum of 1 & maximum of 19 characters<br> * `EVB0071` - virtualCardAccountNumber is mandatory<br> * `EVB0010` - virtualCardAccountNumber must have exactly 16 characters<br> * `EVB0502` - virtualCardAccountNumber is Invalid<br> * `EVB0255` - customReference list should have minimum of 1 & maximum of 29 items<br> * `EVB504` - templateCustomField.customFieldName is mandatory<br> * `EVB0258` - customReferenceLabel should have minimum of 1 & maximum of 50 characters<br> * `EVB0505` - templateCustomField.customFieldValue is mandatory<br> * `EVB0353` - customReferenceValue should have minimum of 1 & maximum of 80 characters<br> * `EVB0136` - currencyType is mandatory<br> * `EVB0162` - currencyType must have value which matches regex: M|B|m|b<br> * `EVB0130` - currencyType length exceed max length allowed is:  1 characters<br> * `EVB0065` - currencyCode is mandatory<br> * `EVB0245` - currencyCode value must be numeric [0-9]<br> * `EVB0099` - currencyCode length allowed is: 3 digits<br> * `EVB0624` - The currencyCode value provided is invalid. Please update the currencyCode value and retry your request<br> * `EVB0272` - Both Aging and Spend Velocity Control cannot be enabled<br> * `EVB0273` - Either Aging or Spend Velocity Control should be enabled<br> * `EVB0903` - Atleast one Spend velocity control is required, When enableSpendVelocity is true<br> * `EVB503` - SpendVelocity size should not exceed 6<br> * `EVB0137` - spendVelocityControl-cumulativeSpendLimit is mandatory<br> * `EVB0625` - cumulativeSpendLimit max field length is 14 digits with 12 digits to the left of the decimal and 2 digits to the right of the decimal<br> * `EVB0365` - periodType is mandatory if enableSpendVelocity is true<br> * `EVB0140` - periodType length exceeds max length allowed of: 1 character<br> * `EVB0610` - Invalid periodType value. periodType can contain a value of either D, M, W, Q, Y, or C<br> * `EVB0904` - Invalid request. Duplicate periodType values cannot be included when setting the Spend Velocity Control<br> * `EVB0231` - maxAuth is mandatory if enableSpendVelocityControl is set to True<br> * `EVB0362` - Invalid maxAuth format. maxAuth value cannot exceed 8 digits<br> * `EVB0163` - authorizationHoldDays is mandatory if agingVelocityControl is true<br> * `EVB0621` - authorizationHoldDays must be positive long value with a maximum of 4 digits<br> * `EVB0369` - cumulativeSpendLimit is mandatory if Aging Velocity Control is set to true<br> * `EVB0625` - cumulativeSpendLimit max field length is 14 digits with 12 digits to the left of the decimal and 2 digits to the right of the decimal<br> * `EVB0378` - isMerchantIdAllowed is mandatory if MerchantIdControl is enabled<br> * `EVB0371` - isCountryallowed is mandatory if GeographyControl is enabled<br> * `EVB0370` - countryCodes is required if Geography Control is set to true<br> * `EVB0236` - Invalid countryCode, countryCode doesn't exist.<br> * `EVB0367` - startTime is mandatory if Time Of Day Control is true<br> * `EVB0233` - endTime is mandatory if Time Of Day Control is true<br> * `EVB0110` - startTime value must have valid format: HH:MM - H (0,1,2) | H (0-9) : M (0-5) | M (0-9)<br> * `EVB0112` - endTime value must have valid format: HH:MM - H (0,1,2) | H (0-9) : M (0-5) | M (0-9)<br> * `EVB0622` - startTime cannot be equal to endTime<br> * `EVB0235` - startTime value cannot exceed the requested endTime value<br> * `EVB0232` - weekdayEffective is mandatory if Time Of Day Control is true<br> * `EVB0368` - weekdayEffective must have value which matches regex: SUN|MON|TUE|WED|THU|FRI|SAT<br> * `EVB0623` - timeOfDayControl cannot have duplicate weekdayEffective values<br> * `EVB0113` - startTime is mandatory if CurfewControl is true<br> * `EVB0110` - startTime value must have valid format: HH:MM - H (0,1,2) | H (0-9) : M (0-5) | M (0-9)<br> * `EVB0114` - endTime is mandatory if CurfewControl is true<br> * `EVB0112` - endTime value must have valid format: HH:MM - H (0,1,2) | H (0-9) : M (0-5) | M (0-9)<br> * `EVB0622` - startTime cannot be equal to endTime<br> * `EVB0235` - startTime value cannot exceed the requested endTime value<br> * `EVB0262` - weekdayEffective is mandatory if enableCurfewControl is true<br> * `EVB0263` - CurfewControl-weekdayEffective must have value which matches regex: ((?i)(SUN|MON|TUE|WED|THU|FRI|SAT))(,(?i)(SUN|MON|TUE|WED|THU|FRI|SAT))*<br> * `EVB0106` - minAmount is mandatory if enableAmountRangeControl is true<br> * `EVB0354` - AmountRangeControl-minAmount length exceed max length allowed is:  14 characters<br> * `EVB0107` - maxAmount is mandatory if enableAmountRangeControl is true<br> * `EVB0355` - AmountRangeControl-maxAmount length exceed max length allowed is:  14 characters<br> * `EVB0381` - AmountRangeControl-minAmount is greater than maxAmount<br> * `EVB0170` - amountLimit is mandatory if TransactionLimitControl is true<br> * `EVB0364` - transactionlimitcontrol-amount value must be a numeric positive value with a maximum of 10 digits to the left and 2 digits to the right of the decimal<br> * `EVB0125` - validityStartDate is mandatory if ValidityPeriodControl is true<br> * `EVB0121` - validityStartDate value must have valid format: YYYY-MM-DD<br> * `EVB0211` - validityStartDate invalid format. MM value must be less than or equal to 12 and DD value must be less than or equal to 31<br> * `EVB0238` - The date specified in validityStartDate does not exist<br> * `EVB0217` - validityStartDate cannot be a past date<br> * `EVB0126` - validityEndDate is mandatory if ValidityPeriodControl is true<br> * `EVB0120` - validityEndDate value must have valid format: YYYY-MM-DD<br> * `EVB0211` - validityEndDate invalid format. MM value must be less than or equal to 12 and DD value must be less than or equal to 31<br> * `EVB0237` - The date specified in validityEndDate does not exist<br> * `EVB0218` - validityEndDate cannot be a past date<br> * `EVB0600` - validityStartDate should be before validityEndDate<br> * `EVB0215` - Validity Period Control must be set to true and validityStartDate and validityEndDate are mandatory if periodType = C<br> * `EVB1153` - vcaRequestor.requestorType is mandatory and can be either 'INDIVIDUAL' or 'ORG'<br> * `EVB1154` - vcaRequestor.id is mandatory<br> * `EVB1155` - vcaRequestor.firstName is mandatory<br> * `EVB1156` - vcaRequestor.lastName is mandatory<br> * `EVB1157` - vcaRequestor.middleName is mandatory<br> * `EVB1158` - vcaRequestor.orgName is mandatory<br> * `EVB1161` - vcaUser.emailId is mandatory<br> * `EVB1162` - vcaUser.emailId format is invalid<br> * `EVB1163` - vcaUser.mobileNumber is mandatory<br> * `EVB1164` - vcaUser.mobileNumber should be numeric<br> * `EVB1165` - vcaUser.mobileCountryCode is mandatory<br>",
          "type": "string",
          "format": "alphanumeric [a-zA-Z0-9]"
        }
      }
    },
    "ScreeningInfo": {
      "properties": {
        "status": {
          "description": "Final status of Enrollment process.",
          "type": "string",
          "format": "alphabets[a-zA-Z]",
          "enum": [
            "APPROVED",
            "UNDER CITI REVIEW",
            "DECLINED"
          ]
        },
        "description": {
          "description": "Description of final status after performing customer screening.",
          "type": "string",
          "format": "alphabets[a-zA-Z]"
        }
      }
    },
    "ValidationErrorResponseDetails": {
      "properties": {
        "vcaRequestId": {
          "description": "Unique reference Id generated by Citi for MASTER network.",
          "type": "string",
          "format": "alphanumeric [a-zA-Z0-9-]",
          "maxLength": 20
        },
        "vcaGuid": {
          "description": "Unique Id to refer Virtual Card Account.",
          "type": "integer",
          "format": "int64",
          "maxLength": 19,
          "minLength": 1
        },
        "cardDataErrors": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/EnrollErrorMessage"
          }
        },
        "userId": {
          "description": "Unique ID to be generated & sent by Citi clients to identify user profile.",
          "type": "string",
          "format": "alphanumeric [a-zA-Z0-9//s]",
          "maxLength": 20,
          "minLength": 1
        },
        "userDataErrors": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/EnrollErrorMessage"
          }
        }
      }
    }
  }
}

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-card-enrollment-partial-success-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.