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