---
swagger: "2.0"
info:
title: PAYM-PYE-D-ExternalPayeeManagement
description: Microservice that allows the customer to mantain his external accounts
catalog for Pull Payments
version: 1.0.2
x-ibm-name: paym-pye-d-externalpayeemanagement
host: 127.0.0.1
schemes:
- https
basePath: /api
produces:
- application/json
paths:
/v1/payments/accounts/payees/external/{customerId}/{accountAliasId}:
get:
tags:
- retrieve-external-accounts
operationId: retrieve-external-accounts
summary: Retrieve an external account for Pull Payments
description: Retrieve an external account for Pull Payments
consumes:
- application/json
produces:
- application/json
parameters:
- name: client_id
in: header
required: false
type: string
description: Client ID generated during application registration
- name: Authorization
in: header
required: false
type: string
description: The Authorization Token received during login
- name: Accept
in: header
required: true
type: string
description: Content-Types that are acceptable for the response
- name: uuid
in: header
required: true
type: string
description: 128 bit UUID that you generate for every request
- name: Accept-Language
in: header
required: false
type: string
description: List of acceptable human languages for response
- name: Content-Type
in: header
required: true
type: string
description: Content-Types that are sent in the request
- name: countryCode
in: header
required: true
type: string
description: Country code in 2 character ISO 3166 format
- name: businesscode
in: header
required: true
type: string
description: Business code identified during application registration
- name: ChannelId
in: header
required: true
type: string
description: Channel where request originated
- name: sid
in: header
required: false
type: string
description: SessionId sent by Consumer
- name: customerId
in: path
description: Customer ID is a key associated with a specific entity or person
Citi does business or has some relationship with.
required: true
type: integer
- name: accountAliasId
in: path
description: Clave Bancaria Estandarizada(CLABE) Id,si se recibe un 0 no se
buscarĂ¡ por este campo
required: true
type: string
responses:
200:
description: Successful operation.
schema:
$ref: '#/definitions/retrieveExternalAccountsResponse'
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'
422:
description: Type | Code | Details |
error | businessValidationFailed | Business
validation error occured on one or more parameters |
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'
/v1/payments/accounts/payees/external:
post:
tags:
- add-external-accounts
operationId: add-external-accounts
summary: Add an external account for Pull Payments
description: Add an external account for Pull Payments
consumes:
- application/json
produces:
- application/json
parameters:
- name: client_id
in: header
required: false
type: string
description: Client ID generated during application registration
- name: Authorization
in: header
required: false
type: string
description: The Authorization Token received during login
- name: Accept
in: header
required: true
type: string
description: Content-Types that are acceptable for the response
- name: uuid
in: header
required: true
type: string
description: 128 bit UUID that you generate for every request
- name: Accept-Language
in: header
required: false
type: string
description: List of acceptable human languages for response
- name: Content-Type
in: header
required: true
type: string
description: Content-Types that are sent in the request
- name: countryCode
in: header
required: true
type: string
description: Country code in 2 character ISO 3166 format
- name: businesscode
in: header
required: true
type: string
description: Business code identified during application registration
- name: ChannelId
in: header
required: true
type: string
description: Channel where request originated
- name: sid
in: header
required: false
type: string
description: SessionId sent by Consumer
- name: addExternalAccountRequest
in: body
schema:
$ref: '#/definitions/addExternalAccountRequest'
responses:
200:
description: Successful operation.
schema:
$ref: '#/definitions/removeExternalAccountResponse'
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'
422:
description: Type | Code | Details |
error | businessValidationFailed | Business
validation error occured on one or more parameters |
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'
put:
tags:
- update-external-accounts
operationId: update-external-accounts
summary: Update an external account for Pull Payments
description: Update an external account for Pull Payments
consumes:
- application/json
produces:
- application/json
parameters:
- name: client_id
in: header
required: false
type: string
description: Client ID generated during application registration
- name: Authorization
in: header
required: false
type: string
description: The Authorization Token received during login
- name: Accept
in: header
required: true
type: string
description: Content-Types that are acceptable for the response
- name: uuid
in: header
required: true
type: string
description: 128 bit UUID that you generate for every request
- name: Accept-Language
in: header
required: false
type: string
description: List of acceptable human languages for response
- name: Content-Type
in: header
required: true
type: string
description: Content-Types that are sent in the request
- name: countryCode
in: header
required: true
type: string
description: Country code in 2 character ISO 3166 format
- name: businesscode
in: header
required: true
type: string
description: Business code identified during application registration
- name: ChannelId
in: header
required: true
type: string
description: Channel where request originated
- name: sid
in: header
required: false
type: string
description: SessionId sent by Consumer
- name: updateExternalAccountRequest
in: body
schema:
$ref: '#/definitions/updateExternalAccountRequest'
responses:
200:
description: Successful operation.
schema:
$ref: '#/definitions/updateExternalAccountResponse'
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'
422:
description: Type | Code | Details |
error | businessValidationFailed | Business
validation error occured on one or more parameters |
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'
delete:
tags:
- remove-external-accounts
operationId: remove-external-accounts
summary: Remove an external account for Pull Payments
description: Remove an external account for Pull Payments
consumes:
- application/json
produces:
- application/json
parameters:
- name: client_id
in: header
required: false
type: string
description: Client ID generated during application registration
- name: Authorization
in: header
required: false
type: string
description: The Authorization Token received during login
- name: Accept
in: header
required: true
type: string
description: Content-Types that are acceptable for the response
- name: uuid
in: header
required: true
type: string
description: 128 bit UUID that you generate for every request
- name: Accept-Language
in: header
required: false
type: string
description: List of acceptable human languages for response
- name: Content-Type
in: header
required: true
type: string
description: Content-Types that are sent in the request
- name: countryCode
in: header
required: true
type: string
description: Country code in 2 character ISO 3166 format
- name: businesscode
in: header
required: true
type: string
description: Business code identified during application registration
- name: ChannelId
in: header
required: true
type: string
description: Channel where request originated
- name: sid
in: header
required: false
type: string
description: SessionId sent by Consumer
- name: removeExternalAccountRequest
in: body
schema:
$ref: '#/definitions/removeExternalAccountRequest'
responses:
200:
description: Successful operation.
schema:
$ref: '#/definitions/removeExternalAccountResponse'
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'
422:
description: Type | Code | Details |
error | businessValidationFailed | Business
validation error occured on one or more parameters |
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'
definitions:
addExternalAccountRequest:
type: object
properties:
account:
$ref: '#/definitions/account'
account:
type: object
properties:
accountAlias:
description: Clave Bancaria Estandarizada(CLABE)
type: string
example: 010296004588765213
accountStatus:
description: status of the account
type: string
example: ACTIVE
activationDate:
description: last date of account activation for pull payments
type: string
example: "2019-02-22"
bankId:
description: Unique ID of the bank
type: integer
example: 9
bankName:
description: Name of the bank
type: string
example: Banco Inbursa, SA
customerId:
description: Customer ID is a key associated with a specific entity or person
Citi does business or has some relationship with.
type: integer
example: 12345678
customerName:
description: Customer Name
type: string
example: Josue
enrollmentDate:
description: date of account enrollment for pull payments
type: string
example: "2019-02-22"
payeeName:
description: Nick name of the account as defined by the user
type: string
example: My CLABE Account
cardPlastic:
$ref: '#/definitions/cardPlastic'
required:
- accountAlias
- bankId
- bankName
- customerId
- customerName
- payeeName
accountResponse:
type: object
properties:
displayAccountAlias:
description: Clave Bancaria Estandarizada(CLABE) enmascarada
type: string
example: "5213"
accountAliasId:
description: Clave Bancaria Estandarizada(CLABE) Id
type: string
example: "12345"
accountStatus:
description: status of the account
type: string
example: ACTIVE
activationDate:
description: last date of account activation for pull payments
type: string
example: "2019-02-22"
bankId:
description: Unique ID of the bank
type: integer
example: 9
bankName:
description: Name of the bank
type: string
example: Banco Inbursa, SA
customerId:
description: Customer ID is a key associated with a specific entity or person
Citi does business or has some relationship with.
type: integer
example: 12345678
enrollmentDate:
description: date of account enrollment for pull payments
type: string
example: "2019-02-22"
payeeName:
description: Nick name of the account as defined by the user
type: string
example: My CLABE Account
cardPlastic:
$ref: '#/definitions/cardPlasticResponse'
required:
- accountAlias
- bankId
- bankName
- customerId
- payeeName
updatedAccount:
type: object
properties:
payeeName:
description: Nick name of the account as defined by the user
type: string
example: My CLABE Account
customerName:
description: Customer Name
type: string
example: Josue
cardPlastic:
$ref: '#/definitions/cardPlastic'
required:
- payeeName
- customerName
- bankName
cardPlastic:
type: object
properties:
cardNumber:
description: It is a 16 digit number, typically imprinted on the front of
the card
type: string
example: "10"
expiryDate:
description: Expiry date of the card
type: string
example: 2018-05
withdrawalLimitAmount:
description: Indicates the maximum amount card holder can transfer from the
external account
type: string
example: "10000"
required:
- withdrawalLimitAmount
cardPlasticResponse:
type: object
properties:
cardNumber:
description: It is a 16 digit number, typically imprinted on the front of
the card
type: string
example: "10"
expiryDate:
description: Expiry date of the card
type: string
example: 2018-05
withdrawalLimitAmount:
description: Indicates the maximum amount card holder can transfer from the
external account
type: string
example: "10000"
retrieveExternalAccountsResponse:
type: object
properties:
externalAccount:
type: array
items:
$ref: '#/definitions/accountResponse'
removeExternalAccountRequest:
type: object
properties:
accountAliasId:
description: Clave Bancaria Estandarizada(CLABE) Id
type: string
example: "12345"
customerName:
description: Customer Name
type: string
example: Josue
required:
- accountAliasId
- customerName
- bankName
removeExternalAccountResponse:
type: object
properties:
successfulOperation:
description: result indicator
type: boolean
example: true
notificationSent:
description: notification sent indicator
type: boolean
example: true
folioId:
description: folio assigned to the transaction
type: string
example: true
displayAccountAlias:
description: Clave Bancaria Estandarizada(CLABE) enmascarada
type: string
example: "5213"
bankId:
description: Unique ID of the bank
type: integer
example: 9
bankName:
description: Name of the bank
type: string
example: Banco Inbursa, SA
payeeName:
description: Nick name of the account as defined by the user
type: string
example: My CLABE Account
withdrawalLimitAmount:
description: Indicates the maximum amount card holder can transfer from the
external account
type: string
example: "10000"
updateExternalAccountRequest:
type: object
properties:
accountAliasId:
description: Clave Bancaria Estandarizada(CLABE) Id
type: string
example: "12345"
updatedAccount:
$ref: '#/definitions/updatedAccount'
required:
- accountAliasId
updateExternalAccountResponse:
type: object
properties:
successfulOperation:
description: result indicator
type: boolean
example: true
notificationSent:
description: notification sent indicator
type: boolean
example: true
folioId:
description: folio assigned to the transaction
type: string
example: true
displayAccountAlias:
description: Clave Bancaria Estandarizada(CLABE) enmascarada
type: string
example: "5213"
bankId:
description: Unique ID of the bank
type: integer
example: 9
bankName:
description: Name of the bank
type: string
example: Banco Inbursa, SA
payeeName:
description: Nick name of the account as defined by the user
type: string
example: My CLABE Account
withdrawalLimitAmount:
description: Indicates the maximum amount card holder can transfer from the
external account
type: string
example: "10000"
ErrorResponse:
properties:
type:
type: string
description: Invalid - Request did not confirm to the specification and was
unprocessed and rejected. Please fix the value and try again
enum:
- error
- warn
- invalid
- fatal
code:
description: Error code which qualifies the error
type: string
details:
description: Human readable explanation specific to the occurrence of the
problem
type: string
location:
description: The name of the field that resulted in the error
type: string
moreInfo:
description: URI to human readable documentation or detailed description of
the error
type: string
uuid:
description: 128 bit UUID that you generate for every request
type: string
timestamp:
description: Timestamp of the error
type: string
required:
- type
- code
x-ibm-configuration:
enforced: true
testable: true
phase: realized
securityDefinitions:
OAuth2 Application Flow:
type: oauth2
description: ""
flow: application
scopes:
/api/v1: ""
tokenUrl: https://sit.api.banamex.com/mx-gcgapi/sit/api/v1/oauth/token
Client ID:
type: apiKey
description: ""
in: header
name: X-IBM-Client-Id
security:
- OAuth2 Application Flow:
- /api/v1
Client ID: []
x-ibm-endpoints:
- endpointUrl: https://sit.api.banamex.com/mx-gcgapi/sit
description: Custom Gateway API Endpoint
type:
- production
- development
...