---
swagger: "2.0"
info:
description: End to end encryption of sensitive data like passwords and OTP is a
security mandate in some countries. The /security resource allows you to exchange
keys which are used for encryption and decryption. Key exchange methods differ
depending on whether you already have a registered key or whether you need Citi
to send you a key which can be used for encryption. You will receive eventID in
the API response header, which should be used to encrypt the sensitive data. All
encrypted data sent to Citi will give you an additional eventID in response header,
this new eventID should be used for further encryptions.
version: 1.0.99
title: GetE2EEncryptionKey
x-ibm-name: GetE2EEncryptionKey
host: 127.0.0.1
schemes:
- https
basePath: /openapi
produces:
- application/json
paths:
/v1/security/encryption/e2eKey:
get:
summary: Retrieves a E2E public key modulus and exponent.
description: This API is used by browser based applications for retrieving the
public key used for encryption. It returns the modulus and exponent for setting
up a business public key. This is a post login API
tags:
- E2E Key exchange
parameters:
- name: Authorization
in: header
description: 'The most recent Authorization token. This will have the format
Bearer + {space} + {accessToken}. Example: Bearer KGNsaWVudF9pZDpjbGllbnRfc2VjcmV0KQ==.'
type: string
required: true
- name: uuid
in: header
description: 128 bit random UUID generated uniquely for every request.
type: string
required: true
- name: Accept
in: header
description: Content-Type that are acceptable for the response.
type: string
required: true
- name: client_id
in: header
description: Client ID generated during application registration.
required: true
type: string
- name: clientDetails
in: header
description: This field is used to capture device,browser and network information.
Refer the developer portal for more information.These are the fields which
will be passed as part of the header devicePrint,deviceTokenCookie,userIpAddress,userAgent,hardwareId,simId,deviceModel,deviceName,deviceOsName,deviceOsVersion,multitaskingSupportFlag,languageSupport,wifiMacAddress,cellTowerId,locationAreaCode,rsaApplicationKey,wapClientId,mobileCarrierCode,mobileCountryCode,osId,geoLongitude,geoLatitude,geoHorizontalAccuracy,geoAltitude,geoAltitudeAccuracy,geoSpeed,geoTimestamp,geoStatus,basicServiceSetId,signalStrength,wifiChannel,serviceSetId
type: string
required: false
- name: function
in: query
description: Function or flow for which the public key used for encryption
is required.
required: true
type: string
responses:
200:
description: Successful operation.
schema:
$ref: '#/definitions/E2ESuccessResponse'
400:
description:
Type | Code | Details |
invalid | invalidRequest | Missing
or invalid Parameters |
error | cannotRetrieveKeyInfo | cannot
retrieve public key. |
error | e2eDisabled | E2E
is disabled. |
schema:
$ref: '#/definitions/ErrorResponse'
401:
description: error | unAuthorized | Authorization
credentials are missing or invalid |
schema:
$ref: '#/definitions/ErrorResponse'
403:
description: error | accessNotConfigured | The
request operation is not configured to access this resource |
schema:
$ref: '#/definitions/ErrorResponse'
404:
description: error | resourceNotFound | Empty
resource/resource not found |
schema:
$ref: '#/definitions/ErrorResponse'
500:
description: fatal | serverUnavailable | The
request failed due to an internal error/server unavailability |
schema:
$ref: '#/definitions/ErrorResponse'
x-ibm-configuration:
enforced: true
testable: true
phase: realized
securityDefinitions:
Client ID:
description: ""
in: header
name: X-IBM-Client-Id
type: apiKey
Client ID (Query):
description: pv52735
in: query
name: client_id
type: apiKey
security:
- Client ID (Query): []
- Client ID: []
x-ibm-endpoints:
- endpointUrl: https://emea.sandbox.api.citi.com/gcb
description: Custom Gateway API Endpoint
type:
- production
- development
...