---
swagger: "2.0"
info:
description: Encryption API
version: 1.0-rev1
title: EnrollmentService - CitiBanamexPay
x-ibm-name: enrollmentservice---citibanamexpay
name: ""
basePath: /api
schemes:
- https
x-ibm-configuration:
enforced: true
phase: realized
testable: false
externalDocs: []
attachments: []
tags:
- name: Enrollment Service
description: All API(s) related to encrypt the payload to be sent to Apple
definitions:
ErrorResponse:
type: object
required:
- code
- type
properties:
code:
type: string
description: Error code which qualifies the error
details:
type: string
description: Human readable explanation specific to the occurrence of the
problem
location:
type: string
description: The name of the field that resulted in the error
moreInfo:
type: string
description: URI to human readable documentation of the error
type:
type: string
description: invalid - Request did not confirm to the specification and was
unprocessed & rejected. Please fix the value and try again
warn
- Request was partially processed. E.g. some of the fields are missing
in response to the system issues, request was accepted successfully but
will be processed asynchronously
error - The request was
accepted but could not be processed successfully
fatal - There
was an internal system error while processing the request. These are technical
errors and will be resolved by Citi, and the consumer should retry after
some time. Business errors will not be categorized as fatal
EncryptedPayloadRequest:
type: object
properties:
encryption_scheme:
type: string
description: Encryption scheme to be used to encryt card data (RSA, ECC)
last4fpan:
type: string
description: Last 4 digits of the card number
name:
type: string
description: Card holder name
network:
type: string
description: Card network (Visa, MasterCard)
nonce:
type: string
description: One time identifier
nonce_signature:
type: string
description: One time identifier's signature
expdate:
type: string
description: Card's expiration date
certificates:
type: string
description: Apple's DER certificate
product_type:
type: string
description: Card type (Credit/Debit card)
EncryptedPayloadResponse:
type: object
properties:
activationData:
type: string
description: Data to be used by networks for provisioning
encryptedPassData:
type: string
description: Data to be used by Apple for provisioning
ephemeralPublicKey:
type: string
description: Key generated by issuer
wrappedKey:
type: string
description: Key generated by issuer
GenerateTAVRequest:
type: object
properties:
last4fpan:
type: string
description: Last 4 digits of the card number
nonce:
type: string
description: One time identifier required for Visa only
expdate:
type: string
description: Card's expiration date
productType:
type: string
description: CREDIT, CHECKING
GenerateTAVResponse:
type: object
properties:
activationData:
type: string
description: Data to be used by networks for provisioning
securityDefinitions:
ClientID:
type: apiKey
name: X-IBM-Client-Id
in: header
description: ClientID
ClientID (Query):
type: apiKey
name: client_id
in: query
description: ClientID
OAuth2 Application Flow:
type: oauth2
flow: application
scopes:
/api: Default scope
tokenUrl: https://api.banamex.com/mx-gcgapi/api/oauth/token
description: OAuth Client Credentials Grant Type
paths:
/v1/wallets/walletProvisioning/accounts/enrollment/encryption:
post:
description: ""
tags:
- Encryption API
summary: Creates the Visa-MasterCard payloads and encrypts them before returning
to Citi Mobile to forward to Apple
parameters:
- name: Accept
in: header
description: Content-Types that are acceptable for the response
required: true
type: string
default: application/json
- name: uuid
in: header
description: Universally unique identifier (UUID) that you generate for every
request and is used for tracking. It is recommended to use the output from
Java UUID class or an equivalent
required: true
type: string
default: 6b6e5567-8f28-4115-ba58-47cdb5e83669
- name: Authorization
in: header
description: ' The Authorization Token received during previous API call'
required: true
type: string
default: 6549badc-1e82-4e1f-9c2d-cc708d1b8faf
- name: bizToken
in: header
description: Business Token received during previous API call. Required in
all calls after authorization is established
required: true
type: string
default: 5cf5ab07-3899-4c9f-95f7-93a2c33c5d1f
- name: client_id
in: header
description: The client ID you received during application registration in
the developer portal
required: true
type: string
default: 7b30d3bf-4c70-49bc-9808-a2f21a9bca82
- name: Content-Type
in: header
description: Content-Types that is acceptable for the request. Currently we
support applicationjson. Use only for PUT & POST methods
required: true
type: string
default: applicationjson
- in: body
name: EncryptedPayloadRequest
description: EncryptedPayloadRequest
required: true
schema:
$ref: '#/definitions/EncryptedPayloadRequest'
responses:
200:
description: Success response
schema:
$ref: '#/definitions/EncryptedPayloadResponse'
400:
description:
Type | Code | Details |
error | invalidRequest | Missing
or invalid Parameters |
schema:
$ref: '#/definitions/ErrorResponse'
401:
description: Type | Code | Details |
error | unAuthorized | Authorization
credentials are missing or invalid |
schema:
$ref: '#/definitions/ErrorResponse'
403:
description: Type | Code | Details | More
Info |
error | accessNotConfigured | The request
operation is not configured to access this resource | Channel/Country/Business
provided in the request is not supported currently |
schema:
$ref: '#/definitions/ErrorResponse'
404:
description: Type | Code | Details | More
Info |
error | resourceNotFound | The requested
resource was not found | Empty resource/resource not found |
schema:
$ref: '#/definitions/ErrorResponse'
500:
description: Type | Code | Details |
fatal | serverUnavailable | The
request failed due to an internal error/server unavailability |
schema:
$ref: '#/definitions/ErrorResponse'
security:
- ClientID (Query): []
OAuth2 Application Flow:
- /api
- ClientID: []
OAuth2 Application Flow:
- /api
operationId: enrollmentServiceUsingPOST
/v1/wallets/walletProvisioning/accounts/enrollment/generateTAV:
post:
tags:
- Generate TAV API
summary: Generates the Token Authentication Value.
operationId: generateTAVServiceUsingPOST
consumes:
- application/json
produces:
- application/json
parameters:
- name: Accept
in: header
description: Content-Types that are acceptable for the response
required: true
type: string
default: application/json
- name: uuid
in: header
description: Universally unique identifier (UUID) that you generate for every
request and is used for tracking. It is recommended to use the output from
Java UUID class or an equivalent
required: true
type: string
default: 6b6e5567-8f28-4115-ba58-47cdb5e83669
- name: Authorization
in: header
description: ' The Authorization Token received during previous API call'
required: true
type: string
default: 6549badc-1e82-4e1f-9c2d-cc708d1b8faf
- name: bizToken
in: header
description: Business Token received during previous API call. Required in
all calls after authorization is established
required: true
type: string
default: 5cf5ab07-3899-4c9f-95f7-93a2c33c5d1f
- name: client_id
in: header
description: The client ID you received during application registration in
the developer portal
required: true
type: string
default: 7b30d3bf-4c70-49bc-9808-a2f21a9bca82
- name: Content-Type
in: header
description: Content-Types that is acceptable for the request. Currently we
support applicationjson. Use only for PUT & POST methods
required: true
type: string
default: applicationjson
- in: body
name: GenerateTAVRequest
description: GenerateTAVRequest
required: true
schema:
$ref: '#/definitions/GenerateTAVRequest'
responses:
200:
description: Success response
schema:
$ref: '#/definitions/GenerateTAVResponse'
400:
description: Type | Code | Details |
error | invalidRequest | Missing
or invalid Parameters |
schema:
$ref: '#/definitions/ErrorResponse'
401:
description: Type | Code | Details |
error | unAuthorized | Authorization
credentials are missing or invalid |
schema:
$ref: '#/definitions/ErrorResponse'
403:
description: Type | Code | Details | More
Info |
error | accessNotConfigured | The request
operation is not configured to access this resource | Channel/Country/Business
provided in the request is not supported currently |
schema:
$ref: '#/definitions/ErrorResponse'
404:
description: Type | Code | Details | More
Info |
error | resourceNotFound | The requested
resource was not found | Empty resource/resource not found |
schema:
$ref: '#/definitions/ErrorResponse'
500:
description: Type | Code | Details |
fatal | serverUnavailable | The
request failed due to an internal error/server unavailability |
schema:
$ref: '#/definitions/ErrorResponse'
security:
- ClientID (Query): []
OAuth2 Application Flow:
- /api
- ClientID: []
OAuth2 Application Flow:
- /api
security:
- ClientID (Query): []
OAuth2 Application Flow:
- /api
- ClientID: []
OAuth2 Application Flow:
- /api
x-ibm-endpoints:
- endpointUrl: https://api.banamex.com/mx-gcgapi
type:
- production
- development
...