--- swagger: "2.0" info: title: SERV-PYO-V-InvestmentFundsTransactions description: The Microservice is used to manage the transactions for investment funds version: 1.2.0 x-ibm-name: serv-pyo-v-investmentfundstransactions host: 127.0.0.1 schemes: - https basePath: /api produces: - application/json paths: /v1/servicing/investments/funds/transactions/sell: post: tags: - sell-investment-fund operationId: sell-investment-fund summary: 'LOB: Wealth Management; Feature: Investment Funds; Functionality: Sell' description: This API is used to execute the investment fund sell transaction. consumes: - application/json produces: - application/json parameters: - name: client_id in: header required: true type: string description: Client ID generated during application registration - name: Authorization in: header required: true 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: ChannelId in: header required: true type: string description: Channel where request originated - 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: sid in: header required: true type: string description: SessionId sent by Consumer - name: sellRequest in: body schema: $ref: '#/definitions/SellRequest' responses: 200: description: Successful operation. schema: $ref: '#/definitions/SellResponse' 400: description:
TypeCodeDetails
errorinvalidRequestMissing or invalid Parameters
schema: $ref: '#/definitions/ErrorResponse' 401: description:
TypeCodeDetails
errorunAuthorizedAuthorization credentials are missing or invalid
schema: $ref: '#/definitions/ErrorResponse' 403: description:
TypeCodeDetailsMore Info
erroraccessNotConfiguredThe request operation is not configured to access this resourceChannel/Country/Business provided in the request is not supported currently
schema: $ref: '#/definitions/ErrorResponse' 404: description:
TypeCodeDetailsMore Info
errorresourceNotFoundThe requested resource was not foundEmpty resource/resource not found
schema: $ref: '#/definitions/ErrorResponse' 422: description:
TypeCodeDetails
errorbusinessValidationFailedBusiness validation error occured on one or more parameters
schema: $ref: '#/definitions/ErrorResponse' 500: description:
TypeCodeDetails
fatalserverUnavailableThe request failed due to an internal error/server unavailability
schema: $ref: '#/definitions/ErrorResponse' /v1/servicing/investments/funds/transactions/buy: post: tags: - buy-investment-fund operationId: buy-investment-fund summary: 'LOB: Wealth Management; Feature:Investment Funds; Functionality: Buy' description: This API is used to execute investment fund buy transaction. consumes: - application/json produces: - application/json parameters: - name: client_id in: header required: true type: string description: Client ID generated during application registration - name: Authorization in: header required: true 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: ChannelId in: header required: true type: string description: Channel where request originated - 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: sid in: header required: true type: string description: SessionId sent by Consumer - name: buyRequest in: body schema: $ref: '#/definitions/BuyRequest' responses: 200: description: Successful operation. schema: $ref: '#/definitions/BuyResponse' 400: description:
TypeCodeDetails
errorinvalidRequestMissing or invalid Parameters
schema: $ref: '#/definitions/ErrorResponse' 401: description:
TypeCodeDetails
errorunAuthorizedAuthorization credentials are missing or invalid
schema: $ref: '#/definitions/ErrorResponse' 403: description:
TypeCodeDetailsMore Info
erroraccessNotConfiguredThe request operation is not configured to access this resourceChannel/Country/Business provided in the request is not supported currently
schema: $ref: '#/definitions/ErrorResponse' 404: description:
TypeCodeDetailsMore Info
errorresourceNotFoundThe requested resource was not foundEmpty resource/resource not found
schema: $ref: '#/definitions/ErrorResponse' 422: description:
TypeCodeDetails
errorbusinessValidationFailedBusiness validation error occured on one or more parameters
schema: $ref: '#/definitions/ErrorResponse' 500: description:
TypeCodeDetails
fatalserverUnavailableThe request failed due to an internal error/server unavailability
schema: $ref: '#/definitions/ErrorResponse' /v1/servicing/investments/funds/transactions/sell/simulate: post: tags: - simulate-sell-investment-fund operationId: simulate-sell-investment-fund summary: 'LOB: Wealth Management; Feature: Fund Investment; Functionality: Simulate Sell' description: This API will simulate the sell transaction over funds in order to show the result before a real transaction. consumes: - application/json produces: - application/json parameters: - name: client_id in: header required: true type: string description: Client ID generated during application registration - name: Authorization in: header required: true 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: ChannelId in: header required: true type: string description: Channel where request originated - 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: sid in: header required: true type: string description: SessionId sent by Consumer - name: simulateOperationSellRequest in: body schema: $ref: '#/definitions/SimulateOperationSellRequest' responses: 200: description: Successful operation. schema: $ref: '#/definitions/SimulateSellOperationResponse' 400: description:
TypeCodeDetails
errorinvalidRequestMissing or invalid Parameters
schema: $ref: '#/definitions/ErrorResponse' 401: description:
TypeCodeDetails
errorunAuthorizedAuthorization credentials are missing or invalid
schema: $ref: '#/definitions/ErrorResponse' 403: description:
TypeCodeDetailsMore Info
erroraccessNotConfiguredThe request operation is not configured to access this resourceChannel/Country/Business provided in the request is not supported currently
schema: $ref: '#/definitions/ErrorResponse' 404: description:
TypeCodeDetailsMore Info
errorresourceNotFoundThe requested resource was not foundEmpty resource/resource not found
schema: $ref: '#/definitions/ErrorResponse' 422: description:
TypeCodeDetails
errorbusinessValidationFailedBusiness validation error occured on one or more parameters
schema: $ref: '#/definitions/ErrorResponse' 500: description:
TypeCodeDetails
fatalserverUnavailableThe request failed due to an internal error/server unavailability
schema: $ref: '#/definitions/ErrorResponse' /v1/servicing/investments/funds/transactions/buy/simulate: post: tags: - simulate-buy-investment-fund operationId: simulate-buy-investment-fund summary: 'LOB: Wealth Management; Feature: Investment Funds; Functionality: Simulate Buy' description: This API will simulate the buy transaction over funds in order to show the result before a real transaction. consumes: - application/json produces: - application/json parameters: - name: client_id in: header required: true type: string description: Client ID generated during application registration - name: Authorization in: header required: true 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: ChannelId in: header required: true type: string description: Channel where request originated - 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: sid in: header required: true type: string description: SessionId sent by Consumer - name: simulateOperationRequest in: body schema: $ref: '#/definitions/SimulateOperationBuyRequest' responses: 200: description: Successful operation. schema: $ref: '#/definitions/SimulateBuyOperationResponse' 400: description:
TypeCodeDetails
errorinvalidRequestMissing or invalid Parameters
schema: $ref: '#/definitions/ErrorResponse' 401: description:
TypeCodeDetails
errorunAuthorizedAuthorization credentials are missing or invalid
schema: $ref: '#/definitions/ErrorResponse' 403: description:
TypeCodeDetailsMore Info
erroraccessNotConfiguredThe request operation is not configured to access this resourceChannel/Country/Business provided in the request is not supported currently
schema: $ref: '#/definitions/ErrorResponse' 404: description:
TypeCodeDetailsMore Info
errorresourceNotFoundThe requested resource was not foundEmpty resource/resource not found
schema: $ref: '#/definitions/ErrorResponse' 422: description:
TypeCodeDetails
errorbusinessValidationFailedBusiness validation error occured on one or more parameters
schema: $ref: '#/definitions/ErrorResponse' 500: description:
TypeCodeDetails
fatalserverUnavailableThe request failed due to an internal error/server unavailability
schema: $ref: '#/definitions/ErrorResponse' /v2/servicing/investments/funds/transactions/sell: post: tags: - sell-investment-fund-v2 operationId: sell-investment-fund-v2 summary: 'LOB: Wealth Management; Feature: Investment Funds; Functionality: Sell' description: This API is used to execute the investment fund sell transaction. consumes: - application/json produces: - application/json parameters: - name: client_id in: header required: true type: string description: Client ID generated during application registration - name: Authorization in: header required: true 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: ChannelId in: header required: true type: string description: Channel where request originated - 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: sid in: header required: true type: string description: SessionId sent by Consumer - name: sellInvestmentFundRequest required: true in: body schema: $ref: '#/definitions/SellInvestmentFundRequest' responses: 200: description: Successful operation. schema: $ref: '#/definitions/SellInvestmentFundResponse' 400: description:
TypeCodeDetails
errorinvalidRequestMissing or invalid Parameters
schema: $ref: '#/definitions/ErrorResponse' 401: description:
TypeCodeDetails
errorunAuthorizedAuthorization credentials are missing or invalid
schema: $ref: '#/definitions/ErrorResponse' 403: description:
TypeCodeDetailsMore Info
erroraccessNotConfiguredThe request operation is not configured to access this resourceChannel/Country/Business provided in the request is not supported currently
schema: $ref: '#/definitions/ErrorResponse' 404: description:
TypeCodeDetailsMore Info
errorresourceNotFoundThe requested resource was not foundEmpty resource/resource not found
schema: $ref: '#/definitions/ErrorResponse' 422: description:
TypeCodeDetails
errorbusinessValidationFailedBusiness validation error occured on one or more parameters
schema: $ref: '#/definitions/ErrorResponse' 500: description:
TypeCodeDetails
fatalserverUnavailableThe request failed due to an internal error/server unavailability
schema: $ref: '#/definitions/ErrorResponse' /v2/servicing/investments/funds/transactions/buy: post: tags: - buy-investment-fund-v2 operationId: buy-investment-fund-v2 summary: 'LOB: Wealth Management; Feature:Investment Funds; Functionality: Buy' description: This API is used to execute investment fund buy transaction. consumes: - application/json produces: - application/json parameters: - name: client_id in: header required: true type: string description: Client ID generated during application registration - name: Authorization in: header required: true 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: ChannelId in: header required: true type: string description: Channel where request originated - 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: sid in: header required: true type: string description: SessionId sent by Consumer - name: buyInvestmentFundRequest in: body required: true schema: $ref: '#/definitions/BuyInvestmentFundRequest' responses: 200: description: Successful operation. schema: $ref: '#/definitions/BuyInvestmentFundResponse' 400: description:
TypeCodeDetails
errorinvalidRequestMissing or invalid Parameters
schema: $ref: '#/definitions/ErrorResponse' 401: description:
TypeCodeDetails
errorunAuthorizedAuthorization credentials are missing or invalid
schema: $ref: '#/definitions/ErrorResponse' 403: description:
TypeCodeDetailsMore Info
erroraccessNotConfiguredThe request operation is not configured to access this resourceChannel/Country/Business provided in the request is not supported currently
schema: $ref: '#/definitions/ErrorResponse' 404: description:
TypeCodeDetailsMore Info
errorresourceNotFoundThe requested resource was not foundEmpty resource/resource not found
schema: $ref: '#/definitions/ErrorResponse' 422: description:
TypeCodeDetails
errorbusinessValidationFailedBusiness validation error occured on one or more parameters
schema: $ref: '#/definitions/ErrorResponse' 500: description:
TypeCodeDetails
fatalserverUnavailableThe request failed due to an internal error/server unavailability
schema: $ref: '#/definitions/ErrorResponse' /v2/servicing/investments/funds/transactions/sell/simulate: post: tags: - simulate-sell-investment-fund-v2 operationId: simulate-sell-investment-fund-v2 summary: 'LOB: Wealth Management; Feature: Fund Investment; Functionality: Simulate Sell' description: This API will simulate the sell transaction over funds in order to show the result before a real transaction. consumes: - application/json produces: - application/json parameters: - name: client_id in: header required: true type: string description: Client ID generated during application registration - name: Authorization in: header required: true 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: ChannelId in: header required: true type: string description: Channel where request originated - 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: sid in: header required: true type: string description: SessionId sent by Consumer - name: simulateSellInvestmentFundRequest in: body required: true schema: $ref: '#/definitions/SimulateSellInvestmentFundRequest' responses: 200: description: Successful operation. schema: $ref: '#/definitions/SimulateSellInvestmentFundResponse' 400: description:
TypeCodeDetails
errorinvalidRequestMissing or invalid Parameters
schema: $ref: '#/definitions/ErrorResponse' 401: description:
TypeCodeDetails
errorunAuthorizedAuthorization credentials are missing or invalid
schema: $ref: '#/definitions/ErrorResponse' 403: description:
TypeCodeDetailsMore Info
erroraccessNotConfiguredThe request operation is not configured to access this resourceChannel/Country/Business provided in the request is not supported currently
schema: $ref: '#/definitions/ErrorResponse' 404: description:
TypeCodeDetailsMore Info
errorresourceNotFoundThe requested resource was not foundEmpty resource/resource not found
schema: $ref: '#/definitions/ErrorResponse' 422: description:
TypeCodeDetails
errorbusinessValidationFailedBusiness validation error occured on one or more parameters
schema: $ref: '#/definitions/ErrorResponse' 500: description:
TypeCodeDetails
fatalserverUnavailableThe request failed due to an internal error/server unavailability
schema: $ref: '#/definitions/ErrorResponse' /v2/servicing/investments/funds/transactions/buy/simulate: post: tags: - simulate-buy-investment-fund-v2 operationId: simulate-buy-investment-fund-v2 summary: 'LOB: Wealth Management; Feature: Investment Funds; Functionality: Simulate Buy' description: This API will simulate the buy transaction over funds in order to show the result before a real transaction. consumes: - application/json produces: - application/json parameters: - name: client_id in: header required: true type: string description: Client ID generated during application registration - name: Authorization in: header required: true 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: ChannelId in: header required: true type: string description: Channel where request originated - 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: sid in: header required: true type: string description: SessionId sent by Consumer - name: simulateBuyInvestmentRequest in: body required: true schema: $ref: '#/definitions/SimulateBuyInvestmentFundRequest' responses: 200: description: Successful operation. schema: $ref: '#/definitions/SimulateBuyInvestmentFundResponse' 400: description:
TypeCodeDetails
errorinvalidRequestMissing or invalid Parameters
schema: $ref: '#/definitions/ErrorResponse' 401: description:
TypeCodeDetails
errorunAuthorizedAuthorization credentials are missing or invalid
schema: $ref: '#/definitions/ErrorResponse' 403: description:
TypeCodeDetailsMore Info
erroraccessNotConfiguredThe request operation is not configured to access this resourceChannel/Country/Business provided in the request is not supported currently
schema: $ref: '#/definitions/ErrorResponse' 404: description:
TypeCodeDetailsMore Info
errorresourceNotFoundThe requested resource was not foundEmpty resource/resource not found
schema: $ref: '#/definitions/ErrorResponse' 422: description:
TypeCodeDetails
errorbusinessValidationFailedBusiness validation error occured on one or more parameters
schema: $ref: '#/definitions/ErrorResponse' 500: description:
TypeCodeDetails
fatalserverUnavailableThe request failed due to an internal error/server unavailability
schema: $ref: '#/definitions/ErrorResponse' definitions: Account: type: object properties: accountId: description: Account Id will be an ID used to represent an account number uniquely type: string maxLength: 36 example: 012903929107 required: - accountId AccountInformation: type: object properties: accountId: description: AccountId will be an ID used to represent an account number uniquely type: string maxLength: 36 example: "701209963887" required: - accountId AccountDetail: type: object properties: accountId: description: Account Id will be an ID used to represent an account number uniquely type: string maxLength: 36 example: 012903929107 required: - accountId SellRequest: type: object properties: investmentTransaction: $ref: '#/definitions/InvestmentTransaction' security: $ref: '#/definitions/Security' required: - investmentTransaction - security SellInvestmentFundRequest: type: object properties: sourceAccount: $ref: '#/definitions/Account' destinationAccount: $ref: '#/definitions/Account' transaction: $ref: '#/definitions/TransactionData' clientReferenceId: description: The customer-defined reference number is sent by the partner's POS system and contains any information that the partner and Citi have agreed is needed for the purchase. type: string maxLength: 9 example: 0123456789 fundIssuer: description: Issuer of the investment fund type: string example: BNM1LIQ maxLength: 10 fundCode: description: Unique code to identify the investment fund issuer type: string example: B2-A maxLength: 5 securityInfo: $ref: '#/definitions/SecurityInfo' required: - sourceAccount - destinationAccount - transaction - fundIssuer - fundCode - securityInfo TransactionData: type: object properties: settlementCode: description: Unique code to identify the transaction settlement type: string example: SP maxLength: 3 encryptedTransactionDetail: description: 'Encrypt the transaction information. This is an example of the object to encrypt: {"transactionAmount":2500.55,"unitCount":120}. Both REQUIRED.' type: string example: '%$YU(&$&%/%&8678&/g5667m67uv5gfhfgjhhg' settlementDate: description: Refers to the date when the transaction was actually settled. Generally applicable to the multicurrency transaction wherein the date of transaction posting is different from that of settlement.Date in ISO 8601, YYYY-MM-DD format type: string format: date example: "2019-07-14" required: - settlementCode - encryptedTransactionDetail - settlementDate TransactionInfo: type: object properties: settlementCode: description: Transaction settlement code. Possibles Values H, SP, CA, 24, 48, 72 type: string example: CA maxLength: 3 pattern: ^[a-zA-Z0-9]*$ encryptedTransactionInfo: description: 'Encrypt the transaction information. This is an example of the object to encrypt: {"transactionAmount":2500.55,"unitCount":120,"unitPriceAmount":2500.55}..All of them are REQUIRED.' type: string example: '%$YU(&$&%/%&8678&/g5667m67uv5gfhfgjhhg' settlementDate: description: Transaction settlement date type: string format: date example: "2019-07-14" required: - settlementCode - encryptedTransactionInfo - settlementDate InvestmentTransaction: type: object properties: sourceAccount: $ref: '#/definitions/AccountInformation' destinationAccount: $ref: '#/definitions/AccountInformation' clientReferenceId: description: The customer-defined reference number is sent by the partner's POS system and contains any information that the partner and Citi have agreed is needed for the purchase. type: string maxLength: 9 example: 0123456789 fundIssuer: description: Issuer of the investment fund type: string example: BNM1LIQ maxLength: 10 fundCode: description: Unique code to identify the investment fund issuer type: string example: B2-A maxLength: 5 settlementCode: description: Unique code to identify the transaction settlement type: string example: SP maxLength: 3 transactionAmount: description: Refers to the total amount of the transaction type: number format: double example: 2500.550000 unitCount: description: It indicates the number of units of a specific product in investment holdings or in purchase or sold by the customer. type: integer format: int32 example: 120 settlementDate: description: Refers to the date when the transaction was actually settled. Generally applicable to the multicurrency transaction wherein the date of transaction posting is different from that of settlement.Date in ISO 8601, YYYY-MM-DD format type: string format: date example: "2019-07-14" required: - sourceAccount - destinationAccount - fundIssuer - fundCode - settlementCode - transactionAmount - unitCount - settlementDate Security: type: object properties: challengeQuestion: type: string example: "37459812" description: Challenge previously received (must be same as the given from get challenge service), composed by 8 digit numbers. oneTimePasswordToken: type: string example: "17364892" description: Challenge token generated by the hardToken or softToken assigned to the client. transmitToken: type: string example: "17364892" description: Transmit Token Generated grantType: type: string example: "2" description: Grant Type rsaVersion: description: Version of the RSA that generates the data in the client (Browsers or Mobile Apps) type: string example: 3.4.1.1 browser: $ref: '#/definitions/BrowserDetails' mobile: $ref: '#/definitions/MobileDetails' required: - rsaVersion BrowserDetails: type: object properties: sessionBrowserUserAgent: description: Web browser identifier type: string example: mozilla/5.0+(macintosh;+intel+mac+os+x+10_14_3) screenResolution: description: Resolution of the client's screen where the browser is running type: string example: 24|1440|900|830 browserTimezone: description: Time zone configured in the browser type: integer format: int32 example: 6 javaVersion: description: Java version loaded in the browser type: integer format: int32 example: 1 browserLanguage: description: Browser language type: string example: lang=es-XL|syslang=|userlang= cookieEnabledIndicator: description: It indicates if cookies are enabled 0-disabled, 1-enabled type: integer format: int32 example: 1 applicationName: description: Name of the application or in its absence the simple name of the browser type: string example: Netscape applicationCode: description: Application code or browser agent code type: string example: Mozilla internetEnabledFlag: description: Flag that indicates if the browser has internet, true-enabled, false-disabled type: boolean example: true screenSize: description: Width of the client's screen type: integer format: int32 example: 1440 screenPixels: description: Deep of pixels on the client's screen type: integer format: int32 example: 24 osName: description: Name of the operating system where the browser is running type: string example: Mac browserVersion: description: Browser version type: integer format: int32 example: 12 browserName: description: Browser name type: string example: Safari required: - browserName - browserVersion - osName - screenPixels - screenSize - internetEnabledFlag - applicationCode - applicationName - cookieEnabledIndicator - browserLanguage - javaVersion - browserTimezone - screenResolution - sessionBrowserUserAgent MobileDetails: type: object properties: queryTime: description: Time at which the request is launched, this data comes from the time of the smartPhone type: string format: date example: "2019-03-09T13:00:00Z" deviceId: description: Device identifier, if the SDK can not recover it, it returns -1 type: string example: "-1" simId: description: Identifier of the SIM card of the device, if the SDK can not recover it, it returns -1 type: string example: "-1" phoneNumber: description: Phone number of the device, if the SDK can not recover it, it returns -1 type: string example: "-1" rsaApplicationKey: description: Key that identifies the RSA SDK type: string example: 10F29219081905EC2BEBFF5AD779EE48 mobileCompromisedIndicator: description: It indicates if the smartphone is altered (Root or Jailbreak),0- disabled,1- enabled type: integer format: int32 example: 0 mobileEmulatorIndicator: description: It indicates if the RSA SDK is running in simulator or in a physical device,0- disabled,1- enabled type: integer format: int32 example: 1 required: - mobileEmulatorIndicator - mobileCompromisedIndicator - rsaApplicationKey - phoneNumber - simId - deviceId - queryTime BrowserData: type: object properties: sessionBrowserUserAgent: description: Web browser identifier type: string example: mozilla/5.0+(macintosh;+intel+mac+os+x+10_14_3) screenResolution: description: Resolution of the client's screen where the browser is running type: string example: 24|1440|900|830 browserTimezone: description: Time zone configured in the browser type: integer format: int32 example: 6 javaVersion: description: Java version loaded in the browser type: integer format: int32 example: 1 browserLanguage: description: Browser language type: string example: lang=es-XL|syslang=|userlang= cookieEnabledIndicator: description: It indicates if cookies are enabled 0-disabled, 1-enabled type: integer format: int32 example: 1 applicationName: description: Name of the application or in its absence the simple name of the browser type: string example: Netscape applicationCode: description: Application code or browser agent code type: string example: Mozilla internetEnabledFlag: description: Flag that indicates if the browser has internet, true-enabled, false-disabled type: boolean example: true screenSize: description: Width of the client's screen type: integer format: int32 example: 1440 screenPixels: description: Deep of pixels on the client's screen type: integer format: int32 example: 24 osName: description: Name of the operating system where the browser is running type: string example: Mac browserVersion: description: Browser version type: integer format: int32 example: 12 browserName: description: Browser name type: string example: Safari required: - browserName - browserVersion - osName - screenPixels - screenSize - internetEnabledFlag - applicationCode - applicationName - cookieEnabledIndicator - browserLanguage - javaVersion - browserTimezone - screenResolution - sessionBrowserUserAgent Device: type: object properties: queryTime: description: Time at which the request is launched, this data comes from the time of the smartPhone type: string format: date example: "2019-03-09T13:00:00Z" deviceId: description: Device identifier, if the SDK can not recover it, it returns -1 type: string example: "-1" simId: description: Identifier of the SIM card of the device, if the SDK can not recover it, it returns -1 type: string example: "-1" phoneNumber: description: Phone number of the device, if the SDK can not recover it, it returns -1 type: string example: "-1" rsaApplicationKey: description: Key that identifies the RSA SDK type: string example: 10F29219081905EC2BEBFF5AD779EE48 mobileCompromisedIndicator: description: It indicates if the smartphone is altered (Root or Jailbreak),0- disabled,1- enabled type: integer format: int32 example: 0 mobileEmulatorIndicator: description: It indicates if the RSA SDK is running in simulator or in a physical device,0- disabled,1- enabled type: integer format: int32 example: 1 required: - mobileEmulatorIndicator - mobileCompromisedIndicator - rsaApplicationKey - phoneNumber - simId - deviceId - queryTime SecurityInfo: type: object properties: challengeQuestion: type: string description: Challenge previously received (must be same as the given from get challenge service), composed by 8 digit numbers. example: "87295410" otpToken: description: One time password Text that is generated and sent to User's registered communication device. type: string example: "17364892" jwtToken: type: string description: JWT to be validated when customer has being migrated to transmit platform example: kkhljsdf87sdifskjfsdhkf8fsdf grantType: description: Id of the token, used for identifying the kind of functional Id also known as applicationId for calling the transmit JWT validator service. type: string example: "2" SellResponse: type: object properties: investmentTransaction: $ref: '#/definitions/InvestmentTransactionDetails' required: - investmentTransaction SellInvestmentFundResponse: type: object properties: sourceAccount: $ref: '#/definitions/Account' destinationAccount: $ref: '#/definitions/Account' transaction: $ref: '#/definitions/Transaction' fundIssuer: description: Issuer of the investment fund type: string example: BNM1LIQ maxLength: 10 fundCode: description: Unique code to identify the investment fund issuer type: string example: B2-A maxLength: 5 required: - sourceAccount - destinationAccount - transaction - fundIssuer - fundCode Transaction: type: object properties: settlementCode: description: Unique code to identify the transaction settlement type: string example: SP maxLength: 3 transactionAmount: description: Refers to the total amount of the transaction type: number format: double example: 2500.550000 unitCount: description: It indicates the number of units of a specific product in investment holdings or in purchase or sold by the customer. type: integer format: int32 example: 120 transactionStatus: description: Status of the payment type: string example: "1" transactionStatusReason: description: Status reason of the transaction type: string example: AUTHORIZED transactionDate: description: Refers to the system date when the actual transaction was executed for an account type: string format: date-time example: "2017-07-21T17:32:28Z" transactionAuthorizationCode: description: transaction authorization code from S015 type: integer format: int64 example: 1234566 transactionId: description: Transaction unique identifier generated by S130 type: string maxLength: 9 example: "12345667" required: - settlementCode - transactionAmount - transactionDate - unitCount - transactionStatus - transactionAuthorizationCode - transactionId TransactionDetail: type: object properties: settlementCode: description: Unique code to identify the transaction settlement type: string example: SP maxLength: 3 transactionAmount: description: Refers to the total amount of the transaction type: number format: double example: 2500.550000 unitCount: description: It indicates the number of units of a specific product in investment holdings or in purchase or sold by the customer. type: integer format: int32 example: 120 unitPriceAmount: description: Investment unit fund price type: number format: double example: 2500.550000 transactionStatus: description: Status of the payment type: string example: "1" transactionStatusReason: description: Status reason of the transaction type: string example: AUTHORIZED transactionDate: description: Refers to the system date when the actual transaction was executed for an account type: string format: date-time example: "2017-07-21T17:32:28Z" transactionAuthorizationCode: description: transaction authorization code from S015 type: integer format: int64 example: 1234566 transactionId: description: Transaction unique identifier generated by S130 type: string maxLength: 9 example: "12345667" required: - settlementCode - transactionAmount - transactionDate - unitCount - unitPriceAmount - transactionStatus - transactionAuthorizationCode - transactionId InvestmentTransactionDetails: type: object properties: sourceAccount: $ref: '#/definitions/AccountInformation' destinationAccount: $ref: '#/definitions/AccountInformation' fundIssuer: description: Issuer of the investment fund type: string example: BNM1LIQ maxLength: 10 fundCode: description: Unique code to identify the investment fund type: string example: B2-A maxLength: 5 settlementCode: description: Unique code to identify the transaction settlement type: string example: SP maxLength: 3 transactionAmount: description: Refers to the total amount of the transaction type: number format: double example: 2500.550000 unitCount: description: It indicates the number of units of a specific product in investment holdings or in purchase or sold by the customer. type: integer format: int32 example: 120 transactionStatus: description: Status of the payment type: string example: "1" transactionStatusReason: description: Status reason of the transaction type: string example: AUTHORIZED transactionDate: description: Refers to the system date when the actual transaction was executed for an account type: string format: date-time example: "2017-07-21T17:32:28Z" transactionAuthorizationCode: description: transaction authorization code from S015 type: integer format: int64 example: 1234566 transactionId: description: Transaction unique identifier generated by S130 type: string maxLength: 9 example: "12345667" required: - sourceAccount - destinationAccount - fundIssuer - fundCode - settlementCode - transactionAmount - transactionDate - unitCount - transactionStatus - transactionAuthorizationCode - transactionId BuyRequest: type: object properties: investmentTransaction: $ref: '#/definitions/BuyInvestmentTransaction' security: $ref: '#/definitions/SecurityDetail' required: - investmentTransaction - security BuyInvestmentFundRequest: type: object properties: sourceAccount: $ref: '#/definitions/Account' destinationAccount: $ref: '#/definitions/Account' clientReferenceId: description: The customer-defined reference number is sent by the partner's POS system and contains any information that the partner and Citi have agreed is needed for the purchase. type: string maxLength: 9 example: 0123456789 fundIssuer: description: Issuer of the investment fund type: string example: BNM1LIQ maxLength: 10 fundCode: description: Unique code to identify the investment fund type: string example: B2-A maxLength: 5 transactionInfo: $ref: '#/definitions/TransactionInfo' security: $ref: '#/definitions/SecurityData' required: - sourceAccount - destinationAccount - fundIssuer - fundCode - transactionInfo - security BuyInvestmentTransaction: type: object properties: sourceAccount: $ref: '#/definitions/AccountInformation' destinationAccount: $ref: '#/definitions/AccountInformation' clientReferenceId: description: The customer-defined reference number is sent by the partner's POS system and contains any information that the partner and Citi have agreed is needed for the purchase. type: string maxLength: 9 example: 0123456789 fundIssuer: description: Issuer of the investment fund type: string example: BNM1LIQ maxLength: 10 fundCode: description: Unique code to identify the investment fund type: string example: B2-A maxLength: 5 settlementCode: description: Unique code to identify the transaction settlement type: string example: SP maxLength: 3 transactionAmount: description: Refers to the total amount of the transaction type: number format: double example: 2500.550000 unitCount: description: It indicates the number of units of a specific product in investment holdings or in purchase or sold by the customer. type: integer format: int32 example: 120 settlementDate: description: Refers to the date when the transaction was actually settled. Generally applicable to the multicurrency transaction wherein the date of transaction posting is different from that of settlement.Date in ISO 8601, YYYY-MM-DD format type: string format: date example: "2019-07-14" unitPriceAmount: description: Amount charged by the merchant for the purchase of the item(unit) as provided in invoice. type: number format: double example: 2500.550000 required: - sourceAccount - destinationAccount - fundIssuer - fundCode - settlementCode - transactionAmount - unitCount - settlementDate - unitPriceAmount SecurityDetail: type: object properties: rsaVersion: description: Version of the RSA that generates the data in the client (Browsers or Mobile Apps) type: string example: 3.4.1.1 browser: $ref: '#/definitions/BrowserDetails' mobile: $ref: '#/definitions/MobileDetails' required: - rsaVersion SecurityData: type: object properties: rsaVersion: description: Version of the RSA that generates the data in the client (Browsers or Mobile Apps) type: string example: 3.4.1.1 browser: $ref: '#/definitions/BrowserData' mobile: $ref: '#/definitions/Device' required: - rsaVersion BuyResponse: type: object properties: investmentTransaction: $ref: '#/definitions/InvestmentBuyTransactionDetails' required: - investmentTransaction BuyInvestmentFundResponse: type: object properties: sourceAccount: $ref: '#/definitions/Account' destinationAccount: $ref: '#/definitions/Account' fundIssuer: description: Issuer of the investment fund type: string example: BNM1LIQ maxLength: 10 fundCode: description: Unique code to identify the investment fund type: string example: B2-A maxLength: 5 investmentTransaction: $ref: '#/definitions/TransactionDetail' required: - sourceAccount - destinationAccount - fundIssuer - fundCode - investmentTransaction InvestmentBuyTransactionDetails: type: object properties: sourceAccount: $ref: '#/definitions/AccountInformation' destinationAccount: $ref: '#/definitions/AccountInformation' fundIssuer: description: Issuer of the investment fund type: string example: BNM1LIQ maxLength: 10 fundCode: description: Unique code to identify the investment fund type: string example: B2-A maxLength: 5 settlementCode: description: Unique code to identify the transaction settlement type: string example: SP maxLength: 3 transactionAmount: description: Refers to the total amount of the transaction type: number format: double example: 2500.550000 unitCount: description: It indicates the number of units of a specific product in investment holdings or in purchase or sold by the customer. type: integer format: int32 example: 120 unitPriceAmount: description: Investment unit fund price type: number format: double example: 2500.550000 transactionStatus: description: Status of the payment type: string example: "1" transactionStatusReason: description: Status reason of the transaction type: string example: AUTHORIZED transactionDate: description: Refers to the system date when the actual transaction was executed for an account type: string format: date-time example: "2017-07-21T17:32:28Z" transactionAuthorizationCode: description: transaction authorization code from S015 type: integer format: int64 example: 1234566 transactionId: description: Transaction unique identifier generated by S130 type: string maxLength: 9 example: "12345667" required: - sourceAccount - destinationAccount - fundIssuer - fundCode - settlementCode - transactionAmount - unitCount - unitPriceAmount - transactionStatus - transactionDate - transactionAuthorizationCode - transactionId SimulateOperationSellRequest: type: object properties: investmentTransaction: $ref: '#/definitions/InvestmentTransactionInfo' required: - investmentTransaction SimulateOperationBuyRequest: type: object properties: investmentTransaction: $ref: '#/definitions/InvestmentTransactionDetail' required: - investmentTransaction SimulateBuyOperationResponse: type: object properties: investmentTransaction: $ref: '#/definitions/InvestmentTransactionSimInfo' required: - investmentTransaction SimulateSellInvestmentFundRequest: type: object properties: sourceAccount: $ref: '#/definitions/Account' clientReferenceId: description: The customer-defined reference number is sent by the partner's POS system and contains any information that the partner and Citi have agreed is needed for the purchase. type: string maxLength: 9 example: 0123456789 fundIssuer: description: Issuer of the investment fund type: string example: BNM1LIQ maxLength: 10 settlementCode: description: Unique code to identify the transaction settlement type: string example: H maxLength: 3 encryptedTransactionData: description: 'Encrypt the transaction information. This is an example of the object to encrypt: {"transactionAmount":2500.55,"unitCount":120}. Just unitCount is REQUIRED not empty.' type: string example: '%$YU(&$&%/%&8678&/g5667m67uv5gfhfgjhhg' fundCode: description: Unique code to identify the investment fund type: string example: B2-A maxLength: 5 required: - sourceAccount - fundIssuer - settlementCode - encryptedTransactionData - fundCode SimulateBuyInvestmentFundRequest: type: object properties: destinationAccount: $ref: '#/definitions/Account' clientReferenceId: description: The customer-defined reference number is sent by the partner's POS system and contains any information that the partner and Citi have agreed is needed for the purchase. type: string maxLength: 9 example: 0123456789 fundIssuer: description: Issuer of the investment fund type: string example: BNM1LIQ maxLength: 10 settlementCode: description: Unique code to identify the transaction settlement type: string example: H maxLength: 3 encryptedTransactionAmount: description: 'Encrypt the total amount(double) of the transaction. This is an example of the object to encrypt: {"transactionAmount":2500.55}. It is REQUIRED.' type: string example: '%$YU(&$&%/%&8678&/g5667m67uv5gfhfgjhhg' fundCode: description: Unique code to identify the investment fund type: string example: B2-A maxLength: 5 required: - destinationAccount - clientReferenceId - fundIssuer - settlementCode - encryptedTransactionAmount - fundCode InvestmentTransactionInfo: type: object properties: sourceAccount: $ref: '#/definitions/AccountInformation' clientReferenceId: description: The customer-defined reference number is sent by the partner's POS system and contains any information that the partner and Citi have agreed is needed for the purchase. type: string maxLength: 9 example: 0123456789 fundIssuer: description: Issuer of the investment fund type: string example: BNM1LIQ maxLength: 10 settlementCode: description: Unique code to identify the transaction settlement type: string example: H maxLength: 3 transactionAmount: description: Refers to the total amount of the transaction type: number format: double example: 2500.550000 unitCount: description: It indicates the number of units of a specific product in investment holdings or in purchase or sold by the customer. type: integer format: int32 example: 120 fundCode: description: Unique code to identify the investment fund type: string example: B2-A maxLength: 5 required: - sourceAccount - fundIssuer - settlementCode - fundCode InvestmentTransactionDetail: type: object properties: destinationAccount: $ref: '#/definitions/AccountInformation' clientReferenceId: description: The customer-defined reference number is sent by the partner's POS system and contains any information that the partner and Citi have agreed is needed for the purchase. type: string maxLength: 9 example: 0123456789 fundIssuer: description: Issuer of the investment fund type: string example: BNM1LIQ maxLength: 10 settlementCode: description: Unique code to identify the transaction settlement type: string example: H maxLength: 3 transactionAmount: description: Refers to the total amount of the transaction type: number format: double example: 2500.550000 fundCode: description: Unique code to identify the investment fund type: string example: B2-A maxLength: 5 required: - destinationAccount - fundIssuer - settlementCode - transactionAmount SimulateSellOperationResponse: type: object properties: investmentTransaction: $ref: '#/definitions/InvestmentTransactionSimDetails' required: - investmentTransaction SimulateSellInvestmentFundResponse: type: object properties: destinationAccount: $ref: '#/definitions/Account' encryptedTransactionInfo: description: 'Encrypt the transaction information. This is an example of the object to encrypt: {"transactionAmount":2500.55,"unitCount":120,"unitPriceAmount":2500.55}. All of them are REQUIRED.' type: string example: '%$YU(&$&%/%&8678&/g5667m67uv5gfhfgjhhg' settlementDate: description: Refers to the date when the transaction was actually settled. Generally applicable to the multicurrency transaction wherein the date of transaction posting is different from that of settlement.Date in ISO 8601, YYYY-MM-DD format type: string format: date example: "2019-07-14" fundCode: description: Unique code to identify the investment fund type: string example: B2-A maxLength: 5 currentValueAmount: description: Current value amount of the security type: number format: double example: 3510.500000 required: - settlementDate - fundCode - encryptedTransactionInfo SimulateBuyInvestmentFundResponse: type: object properties: sourceAccount: $ref: '#/definitions/Account' encryptedTransactionInfo: description: 'Encrypt the transaction information. This is an example of the object to encrypt: {"transactionAmount":2500.55,"unitCount":120,"unitPriceAmount":2500.55}. All of them are REQUIRED.' type: string example: '%$YU(&$&%/%&8678&/g5667m67uv5gfhfgjhhg' settlementDate: description: Refers to the date when the transaction was actually settled. Generally applicable to the multicurrency transaction wherein the date of transaction posting is different from that of settlement.Date in ISO 8601, YYYY-MM-DD format type: string format: date example: "2019-07-14" fundCode: description: Unique code to identify the investment fund type: string example: B2-A maxLength: 5 currentValueAmount: description: Current value amount of the security type: number format: double example: 3510.500000 required: - sourceAccount - encryptedTransactionInfo - settlementDate - fundCode AccountInfoData: type: object properties: accountId: description: AccountId will be an ID used to represent an account number uniquely type: string maxLength: 36 example: "701209963887" required: - accountId InvestmentTransactionSimDetails: type: object properties: destinationAccount: $ref: '#/definitions/AccountInfoData' transactionAmount: description: Refers to the total amount of the transaction type: number format: double example: 2500.550000 unitCount: description: It indicates the number of units of a specific product in investment holdings or in purchase or sold by the customer. type: integer format: int32 example: 120 settlementDate: description: Transaction settlement date type: string format: date example: "2019-07-14" fundCode: description: Unique code to identify the investment fund type: string example: B2-A maxLength: 5 unitPriceAmount: description: Investment unit fund price type: number format: double example: 2500.550000 currentValueAmount: description: Current value amount of the security type: number format: double example: 3510.500000 required: - transactionAmount - unitCount - settlementDate - fundCode - unitPriceAmount AccountData: type: object properties: accountId: description: AccountId will be an ID used to represent an account number uniquely type: string maxLength: 36 example: "701209963887" required: - accountId InvestmentTransactionSimulate: type: object properties: destinationAccount: $ref: '#/definitions/AccountData' transactionAmount: description: Refers to the total amount of the transaction type: number format: double example: 2500.550000 unitCount: description: It indicates the number of units of a specific product in investment holdings or in purchase or sold by the customer. type: integer format: int32 example: 120 settlementDate: description: Refers to the date when the transaction was actually settled. Generally applicable to the multicurrency transaction wherein the date of transaction posting is different from that of settlement.Date in ISO 8601, YYYY-MM-DD format type: string format: date example: "2019-07-14" fundCode: description: Unique code to identify the investment fund type: string example: B2-A maxLength: 5 unitPriceAmount: description: Amount charged by the merchant for the purchase of the item(unit) as provided in invoice. type: number format: double example: 2500.550000 currentValueAmount: description: Current value amount of the security type: number format: double example: 3510.500000 required: - transactionAmount - unitCount - settlementDate - fundCode - unitPriceAmount InvestmentTransactionSimInfo: type: object properties: sourceAccount: $ref: '#/definitions/AccountDetail' transactionAmount: description: Refers to the total amount of the transaction type: number format: double example: 2500.550000 unitCount: description: It indicates the number of units of a specific product in investment holdings or in purchase or sold by the customer. type: integer format: int32 example: 120 settlementDate: description: Transaction settlement date type: string format: date example: "2019-07-14" fundCode: description: Unique code to identify the investment fund type: string example: B2-A maxLength: 5 unitPriceAmount: description: Investment unit fund price type: number format: double example: 2500.550000 currentValueAmount: description: Current value amount of the security type: number format: double example: 3510.500000 required: - sourceAccount - transactionAmount - unitCount - settlementDate - fundCode - unitPriceAmount InvestmentTransactionSimulateInfo: type: object properties: sourceAccount: $ref: '#/definitions/AccountDetail' transactionAmount: description: Refers to the total amount of the transaction type: number format: double example: 2500.550000 unitCount: description: It indicates the number of units of a specific product in investment holdings or in purchase or sold by the customer. type: integer format: int32 example: 120 settlementDate: description: Refers to the date when the transaction was actually settled. Generally applicable to the multicurrency transaction wherein the date of transaction posting is different from that of settlement.Date in ISO 8601, YYYY-MM-DD format type: string format: date example: "2019-07-14" fundCode: description: Unique code to identify the investment fund type: string example: B2-A maxLength: 5 unitPriceAmount: description: Amount charged by the merchant for the purchase of the item(unit) as provided in invoice. type: number format: double example: 2500.550000 currentValueAmount: description: Current value amount of the security type: number format: double example: 3510.500000 required: - sourceAccount - transactionAmount - unitCount - settlementDate - fundCode - unitPriceAmount 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: More Info can be used to pass any additional details 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://sandbox.externalapib2b.wlb.nam.nsroot.net:7101/mx-gcgapi-uat/sandbox2/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://sandbox.externalapib2b.wlb.nam.nsroot.net:7101/mx-gcgapi-uat/sandbox2 type: - production - development ...