swagger: '2.0' info: description: >- IVA capabilities allow users to self-service when facing issues or inquiries such as username/password reset, unlock accounts, authorizations and declines, registration, card status, contact details update, merchant. version: '' title: IVA-GRACE host: tts.apib2b.citi.com basePath: /tts/cards/iva schemes: - https produces: - application/json security: - clientCredentials: [] paths: /v1/user/publicKey: get: tags: - Public Key summary: Public Key description: '' operationId: publicKey consumes: - application/json produces: - application/json parameters: - name: Content-Type in: header description: Supports application/json required: true type: string - name: Authorization in: header description: >- Request should contain Authorization header OAuth
**OAuth:**
Request contains a header field in the form of Authorization: Bearer (access_token), where access_token is generated using the OAuth url
`Example` : Bearer AAIkMjU2OTI4OGQtODY5Ny00ZjgzLTg0NzEtY2QyZWYwZjM5ZjJk_m3yqnGAbxR_ovVx5bs9OUfF0dd52qHadLtw2ARkwCw2BJcwg1zHsTOuvjPtsW5ioxxd2xXXjlDDCKLuvg15Ce1gzGxTu17xEvLOzSECLIdU_02JbpS3h9ee9GzB-u_MPfKseOiACXYAh_7AVWQhtRMLDKd8RgCUsNzTGXXBeE4 required: true type: string maxLength: 255 - name: client_id in: query required: true description: >- This is your unique identifier shared during your CitiConnect API onboarding. This is the same `client_id` used for oauth token generation type: string - name: region in: header description: 'region of the client.
`Example`: APAC, EMEA, NAM' required: true type: string maxLength: 3 minLength: 3 - name: country in: header description: >- Country code in ISO 3166 alpha-2 format.
`Example`: USA (United States of America), SGP (Singapore), PHL (Philippines), THA (Thailand) required: true type: string maxLength: 3 minLength: 3 - name: req-sys-id in: header description: >- Client Unique ID to identify the particular request.
`Format`: UUID
`Example`: 123d837e-958a-4e9f-bc97-4843ec948123 required: true type: string maxLength: 36 minLength: 12 responses: '200': description: Success response schema: $ref: '#/definitions/publicKey' '401': description: Authentication Failure schema: $ref: '#/definitions/unAuthorizedResponse' '405': description: Method not allowed schema: $ref: '#/definitions/methodNotAllowedResponse' '500': description: Technical Error schema: $ref: '#/definitions/internalServerErrorResponse' /v1/user/profile: post: tags: - User Profile summary: User Profile description: '' operationId: userProfile parameters: - name: Content-Type in: header description: Supports application/json required: true type: string - name: Authorization in: header description: >- Request should contain Authorization header OAuth
**OAuth:**
Request contains a header field in the form of Authorization: Bearer (access_token), where access_token is generated using the OAuth url
`Example` : Bearer AAIkMjU2OTI4OGQtODY5Ny00ZjgzLTg0NzEtY2QyZWYwZjM5ZjJk_m3yqnGAbxR_ovVx5bs9OUfF0dd52qHadLtw2ARkwCw2BJcwg1zHsTOuvjPtsW5ioxxd2xXXjlDDCKLuvg15Ce1gzGxTu17xEvLOzSECLIdU_02JbpS3h9ee9GzB-u_MPfKseOiACXYAh_7AVWQhtRMLDKd8RgCUsNzTGXXBeE4 required: true type: string maxLength: 255 - name: client_id in: query required: true description: >- This is your unique identifier shared during your CitiConnect API onboarding. This is the same `client_id` used for oauth token generation type: string - name: region in: header description: 'region of the client.
`Example`: APAC, EMEA, NAM' required: true type: string maxLength: 3 minLength: 3 - name: country in: header description: >- Country code in ISO 3166 alpha-2 format..
`Example`: USA(United States of America),SGP(Singapore), PHL(Philippines), THA(Thailand) required: true type: string maxLength: 3 minLength: 3 - name: req-sys-id in: header description: >- Client Unique id to identify the particular request.
`Format`: UUID
`Example`: 123d837e-958a-4e9f-bc97-4843ec948123 required: true type: string maxLength: 36 minLength: 12 - in: body name: IVAUserProfileRequest description: This is a input request for User profile operations required: false schema: $ref: '#/definitions/IVAUserProfileRequest' responses: '200': description: Success response schema: $ref: '#/definitions/IVAUserProfileResponse' '400': description: Bad request schema: $ref: '#/definitions/IVAUserProfileResponse' '401': description: Authentication Failure schema: $ref: '#/definitions/unAuthorizedResponse' '405': description: Method not allowed schema: $ref: '#/definitions/methodNotAllowedResponse' '500': description: Technical Error schema: $ref: '#/definitions/internalServerErrorResponse' securityDefinitions: clientCredentials: description: >+ All CitiConnect APIs use the oAuth2 authentication scheme, which requires a bearer token to authenticate your API call. The Token URL includes the version of authentication used by this API. See the Citi Authentication API reference for information on requesting a token. type: oauth2 tokenUrl: https://tts.apib2b.citi.com/tts/cards/api/v1/oauth2/token flow: application scopes: null definitions: IVAUserProfileRequest: required: - encodedEncryptedCardNumber - operationId - source - userType properties: operationId: type: string format: alpha[a-zA-Z] description: Unique Id for defining the action to be taken encodedEncryptedCardNumber: type: string description: "A reference number that uniquely identifies the virtual card\account." userType: type: string format: alpha[a-zA-Z] description: A field to identify the user type based on the card source: type: string format: alphanumeric [a-zA-Z0-9 ] example: IVA description: Represents the Source system maxLength: 255 emailType: type: string description: >- Represents the mail type. Is required when operation ID emailId, resetPassword and forgotUserName mobileNumber: type: string description: >- Represent the phone number to be updated for a profile. Is required when operation ID phoneNumber maxLength: 255 mobileCountryCode: type: string description: Represents the country code of the phone number maxLength: 255 emailId: type: string description: >- Represent the email id to be updated for a profile. IS required when operation ID emailId. Emailid is mandatory when emailType is Temporary and Operation is resetPassword. EmailId should be null or empty if Operation is resetPassword and emailType is Primary/Alternate IVAUserProfileResponse: properties: operationId: type: string format: alpha[a-zA-Z] description: Unique ID for defining the action to be taken. example: getuserprofile requestStatus: type: string example: 'true' description: This field represents request status minLength: 0 maxLength: 100 additionalMessage: type: string description: This field represents additional message per request minLength: 0 maxLength: 255 example: User profile retrieved successfully profileResponse: $ref: '#/definitions/ProfileResponseFields' errors: type: array items: $ref: '#/definitions/ErrorMessage' ProfileResponseFields: properties: userName: type: string description: This data will be populated when operation ID is getUserProfile minLength: 0 maxLength: 255 example: encrypted value userStatus: type: string description: This data will be populated when operation ID is getUserProfile minLength: 0 maxLength: 255 example: Activated userMobileNumber: type: string description: This data will be populated when operation ID is getUserProfile minLength: 0 maxLength: 255 example: encrypted value userPrimaryEmailAddress: type: string description: This data will be populated when operation ID is getUserProfile minLength: 0 maxLength: 255 example: avc@citi.com userLastLoginDate: type: string description: This data will be populated when operation ID is getUserProfile minLength: 0 maxLength: 255 example: 30-Oct-2023 12:09:31 userLastEmailUpdatedOn: type: string description: This data will be populated when operation ID is getUserProfile minLength: 0 maxLength: 255 example: 19-Dec-2023 06:12:12 userLastMobileUpdatedOn: type: string description: This data will be populated when operation ID is getUserProfile minLength: 0 maxLength: 255 example: 19-Dec-2023 06:12:12 noOfInvalidLoginAttempts: type: number format: numeric [0-9] description: This data will be populated when operation ID is getUserProfile example: '0' ccasettingenabledOTP: type: string description: This data will be populated when operation ID is getUserProfile minLength: 0 maxLength: 255 example: 'N' ccasettingautoRegistrationEnabled: type: string description: This data will be populated when operation ID is getUserProfile minLength: 0 maxLength: 255 example: 'N' ccasettinglockedAccountsEnabled: type: string description: This data will be populated when operation ID is getUserProfile minLength: 0 maxLength: 255 example: 'N' ccasettinguseTextMessage: type: string description: This data will be populated when operation ID is getUserProfile minLength: 0 maxLength: 255 example: 'N' ccasettingUseBioMetrics: type: string description: This data will be populated when operation ID is getUserProfile minLength: 0 maxLength: 255 example: 'N' ccasettingEmailDomains: type: object description: This data will be populated when operation ID is getUserProfile example: 'null' properties: {} hdVerificationQuestion: type: object description: This data will be populated when operation ID is getUserProfile example: What is your favorite color? properties: {} hdVerificationAnswer: type: object description: This data will be populated when operation ID is getUserProfile example: encrypted value properties: {} ssoEnabled: type: string description: This data will be populated when operation ID is getUserProfile minLength: 0 maxLength: 255 publicKey: properties: publicKeyString: type: string format: alphanumeric [a-zA-Z0-9-] description: Represents the public key got from CM. minLength: 1 maxLength: 255 ErrorMessage: required: - errorCode - errorDescription properties: errorCode: type: string description: Error code to be sent to the Client minLength: 1 maxLength: 10 enum: - EVB0300 - EVB0301 - EVB0302 - EVB0303 - EVB0304 - EVB0305 - EVB0306 - EVB0307 - EVB0308 - EVB0309 - EVB0310 - EVB0311 - GRC0001 - GRC0002 - GRC0003 - GRC0004 - GRC0005 - GRC0006 - GRC0007 - GRC0008 - GRC0009 - GRC0010 - GRC0011 - GRC0012 - GRC0014 - GRC0015 - GRC0016 - CMERR02 - CMERR16 - CMERR17 - CMERR18 - CMERR22 - CMERR23 - CMERR24 - CMERR25 errorDescription: type: string description: >- EVB0300 - operationId is mandatory\\ \'EVB0301' - Invalid value passed. operationId accepts ["getUserProfile"\ \resetLockedCard","unlockUser","resetPassword","resetChallengeQuestion","forgotUserName"\ \"phoneNumber","emailId" ] `EVB0302` - encodedCardNumber is mandatory\ \`EVB0303` - source is mandatory `EVB0304` - userType is mandatory\ \`EVB0305` - Invalid value passed. userType accepts [CH,NCH]\ \`EVB0306` - mobileNumber is mandatory when operation id is phoneNumber\ \`EVB0307` - mobileCountryCode is mandatory when operation id is phoneNumber\ \`EVB0308` - emailId is mandatory when operation id is emailId.\ \`EVB0309` - Email Type can be Primary or Alternate\ \`EVB0310` - Mail address is required when mailType is Temporary for resetPassword.\ \`EVB0311` - Mail address is should be null or empty when mailType is not Temporary for resetPassword.\ \`GRC0001` - We have encountered an error and couldn't receive your request. Please try again, or contact Citi support if you \have any further questions or comments.\ \`GRC0002` - Client ID is missing in the request header\ \`GRC0003` - Invalid JSON Input\ \`GRC0004` - Region ID is not available in the request \`GRC0005` - Client Tracking ID is missing in the request header \`GRC0006` - We have encountered an error and couldn't receive your request. Please try again, or contact Citi support if you \have any further questions or comments.\ \`GRC0007` - Client requested MediaType is not supported.\ \`GRC0008` - Invalid request. Unable to bind incoming request\ \`GRC0009` - We have encountered an error and couldn't receive your request. Please try again, or contact Citi support if you \have any further questions or comments\ \`GRC0010` - Client Tracking ID length should contain a min of 12 character and a max of 36 characters\ \`GRC0011` - Client ID and/or Country and/or region id is missing in Client Onboard Configuration setup. Contact Citi support.\ \`GRC0012` - Necessary header value is missing\ \`GRC0014` - We have encountered an error and couldn't receive your request. Please try again, or contact Citi support if you \have any further questions or comments\ \`GRC0015` - We have encountered an error and couldn't receive your request. Please try again, or contact Citi support if you \have any further questions or comments\ \`GRC0016` - Country code is not available in the request\ \`CMERR02` - Invalid Input Parameter(s)\ \`CMERR17` - Only Individual Accounts (cards) and Centrally Billed cards can be updated\ \`CMERR18` - Not authorized to perform this action\ \`CMERR22` - Data not Found for the given Card Number\ \`CMERR24` - Email primary/alternate mail id not found\ \`CMERR25` - Error in password creation minLength: 1 maxLength: 255 unAuthorizedResponse: properties: httpCode: type: string example: '401' description: Error code to be sent to the Client minLength: 1 maxLength: 10 httpMessage: type: string example: Unauthorized description: Error message to be sent to the Client minLength: 1 maxLength: 255 moreInformation: type: string example: Access Denied description: Details related to the error to be sent to the Client minLength: 1 maxLength: 255 methodNotAllowedResponse: properties: httpCode: type: string example: '405' description: Error code to be sent to the Client minLength: 1 maxLength: 10 httpMessage: type: string example: Method Not ALLowed description: Error message to be sent to the Client minLength: 1 maxLength: 255 moreInformation: type: string example: Requested HTTP operation is not supported description: Details related to the error to be sent to the Client minLength: 1 maxLength: 255 internalServerErrorResponse: required: - errors properties: errors: type: array items: $ref: '#/definitions/ErrorMessage'