--- openapi: 3.0.0 info: title: ReadyRemit Transfer API description: | See [ReadyRemit Developer Portal](https://developer.readyremit.com/). version: '1.0' servers: - url: https://sandbox-api.readyremit.com/v1 - url: https://api.readyremit.com/v1 security: - bearerAuth: [] paths: "/banks": get: tags: - Banks and Branches summary: Get Banks description: Given a [countryIso3Code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3), this operation returns an array of banks located in that country. Bank identifiers and names are useful when creating recipient accounts. operationId: getBanks parameters: - name: countryIso3Code in: query description: See [country codes](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3). required: true style: form explode: true schema: "$ref": "#/components/schemas/threeUppercaseChars" - name: bankname in: query description: The search looks for any part of `bankname` in the bank's full name. required: false style: form explode: true schema: type: string responses: '200': description: Success content: application/json: schema: "$ref": "#/components/schemas/idNameObjectArray" example: - id: IND60 name: PUNJAB NATIONAL BANK - id: IN134 name: NAGPUR NAGARIK SAHAKARI BANK - id: IND30 name: DEUTSCHE BANK '400': description: Bad Request content: application/json: schema: "$ref": "#/components/schemas/codeMsgFieldIdObjectArray" example: - code: UnsupportedCountry message: "'CountryIso3Code' must be a valid ISO 3 country." fieldId: CountryIso3Code '401': description: Unauthorized content: application/json: schema: "$ref": "#/components/schemas/response401" "/banks/{bankId}/branches": get: tags: - Banks and Branches summary: Get Bank Branches description: 'Given a `bankId`, this operation returns an array of branches for that bank. A `bankId` must be 5 characters in length. Otherwise, this operation returns a status code of 400. The operation returns a zero-length array for unrecognized bank identifiers. Branch identifiers and names are useful when creating recipient accounts. ' operationId: getBankBranches parameters: - name: bankId in: path description: The bank identifier. required: true style: simple explode: false schema: type: string responses: '200': description: Success content: application/json: schema: "$ref": "#/components/schemas/idNameObjectArray" example: - id: DEUT0406AMD name: AHMEDABAD - id: DEUT0406PBC name: AHMEDABAD - id: DEUT0405PBC name: SURAT '400': description: Bad Request content: application/json: schema: "$ref": "#/components/schemas/codeMsgFieldIdObjectArray" example: - code: ExactLengthValidator message: Bank Id must be 5 characters in length. You entered 4 characters. fieldId: BankId '401': description: Unauthorized content: application/json: schema: "$ref": "#/components/schemas/response401" "/partner/countries/{countryIso3Code}/states-and-provinces": get: tags: - Partner Locations summary: Get Partner States and Provinces description: Given a [countryIso3Code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3), this operation returns an array of states available to send cash for pickup. operationId: getPartnerStatesAndProvinces parameters: - name: countryIso3Code in: path description: See [country codes](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3). required: true explode: true schema: "$ref": "#/components/schemas/threeUppercaseChars" responses: '200': description: Success content: application/json: schema: "$ref": "#/components/schemas/idNameObjectArray" example: - id: M0001 name: AGUASCALIENTES - id: M0002 name: BAJA CALIFORNIA NORTE '400': description: Bad Request content: application/json: schema: "$ref": "#/components/schemas/codeMsgFieldIdObjectArray" example: - code: UnsupportedCountry message: "'CountryIso3Code' must be a valid ISO 3 country." fieldId: CountryIso3Code '401': description: Unauthorized content: application/json: schema: "$ref": "#/components/schemas/response401" "/partner/countries/{countryIso3Code}/states-and-provinces/{stateProvinceId}/cities": get: tags: - Partner Locations summary: Get Partner Cities description: Given a [countryIso3Code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3) and state, this operation returns an array of cities available to send cash for pickup. operationId: getPartnerCities parameters: - name: countryIso3Code in: path description: See [country codes](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3). required: true explode: true schema: "$ref": "#/components/schemas/threeUppercaseChars" - name: stateProvinceId in: path description: State/Provice unique identifier required: true explode: true schema: type: string responses: '200': description: Success content: application/json: schema: "$ref": "#/components/schemas/idNameObjectArray" example: - id: 59993 name: AGUASCALIENTES - id: 94622 name: ARTEAGA '400': description: Bad Request content: application/json: schema: "$ref": "#/components/schemas/codeMsgFieldIdObjectArray" example: - code: UnsupportedCountry message: "'CountryIso3Code' must be a valid ISO 3 country." fieldId: CountryIso3Code '401': description: Unauthorized content: application/json: schema: "$ref": "#/components/schemas/response401" "/partner/countries/{countryIso3Code}/states-and-provinces/{stateProvinceId}/cities/{cityId}/payers": get: tags: - Partner Locations summary: Get Partner Payers description: Given a [countryIso3Code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3), state, and city, this operation returns an array of partner payers available to send cash for pickup. operationId: getPartnerPayers parameters: - name: countryIso3Code in: path description: See [country codes](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3). required: true explode: true schema: "$ref": "#/components/schemas/threeUppercaseChars" - name: stateProvinceId in: path description: State/Provice unique identifier required: true explode: true schema: type: string - name: cityId in: path description: City unique identifier required: true explode: true schema: type: string responses: '200': description: Success content: application/json: schema: "$ref": "#/components/schemas/idNameObjectArray" example: - id: ME35 name: TU LANA EXPRESS - id: ME57 name: AIRPAK '400': description: Bad Request content: application/json: schema: "$ref": "#/components/schemas/codeMsgFieldIdObjectArray" example: - code: UnsupportedCountry message: "'CountryIso3Code' must be a valid ISO 3 country." fieldId: CountryIso3Code '401': description: Unauthorized content: application/json: schema: "$ref": "#/components/schemas/response401" "/partner/countries/{countryIso3Code}/states-and-provinces/{stateProvinceId}/cities/{cityId}/payers/{payerId}/locations": get: tags: - Partner Locations summary: Get Partner Payer Locations description: Given a [countryIso3Code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3), state, city, and payer, this operation returns an array of partner payer locations available to send cash for pickup. operationId: getPartnerPayerLocations parameters: - name: countryIso3Code in: path description: See [country codes](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3). required: true explode: true schema: "$ref": "#/components/schemas/threeUppercaseChars" - name: stateProvinceId in: path description: State/Provice unique identifier required: true explode: true schema: type: string - name: cityId in: path description: City unique identifier required: true explode: true schema: type: string - name: payerId in: path description: Payer unique identifier required: true explode: true schema: type: string responses: '200': description: Success content: application/json: schema: type: array items: "$ref": "#/components/schemas/payerLocation" example: - id: ME350770 name: EL DUENDE DE LA SUERTE SUC 5 DE MAYO - TU LANA EXPRESS description: LIMIT 500 USD - id: ME350772 name: EL DUENDE DE LA SUERTE SUC C. CAMIONERA - TU LANA EXP description: LIMIT 500 USD '400': description: Bad Request content: application/json: schema: "$ref": "#/components/schemas/codeMsgFieldIdObjectArray" example: - code: UnsupportedCountry message: "'CountryIso3Code' must be a valid ISO 3 country." fieldId: CountryIso3Code '401': description: Unauthorized content: application/json: schema: "$ref": "#/components/schemas/response401" "/countries": get: tags: - Helpers summary: Get Countries description: This operation returns the array of countries for which the app owner has established corridors. operationId: getCountries responses: '200': description: Success content: application/json: schema: type: array items: "$ref": "#/components/schemas/country" example: - name: United States iso3Code: USA - name: Ireland iso3Code: IRL '401': description: Unauthorized content: application/json: schema: "$ref": "#/components/schemas/response401" "/corridors": get: tags: - Helpers summary: Get Corridors description: This operation returns the array of countries for which the app owner has established corridors. operationId: getCorridors parameters: - name: dstCountryIso3Code in: query description: See [country codes](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3). required: false style: form explode: true schema: "$ref": "#/components/schemas/threeUppercaseChars" - name: dstCurrencyIso3Code in: query description: See [currency codes](https://en.wikipedia.org/wiki/ISO_4217). required: false style: form explode: true schema: "$ref": "#/components/schemas/threeUppercaseChars" - name: transferMethod in: query required: false style: form explode: true schema: "$ref": "#/components/schemas/transferMethods" responses: '200': description: Success content: application/json: schema: type: array items: "$ref": "#/components/schemas/corridor" example: - name: United States iso3Code: USA - name: Ireland iso3Code: IRL '401': description: Unauthorized content: application/json: schema: "$ref": "#/components/schemas/response401" "/countries-and-currencies": get: tags: - Helpers summary: Get Countries and Currencies description: This operation returns the array of countries for which the app owner has established corridors. Each record includes a country object and an array of currency objects. The app can present these records to the end-user who can choose a recipient country and currency. The process of establishing a corridor involves the app owner, bank, remittance provider, and Brightwell. operationId: getCountriesAndCurrencies responses: '200': description: Success content: application/json: schema: type: array items: "$ref": "#/components/schemas/getCountriesAndCurrenciesResponse200" example: - country: name: Germany iso3Code: DEU currencies: - name: Euro iso3Code: EUR symbol: "€" decimalPlaces: 2 - country: name: India iso3Code: IND currencies: - name: Indian rupee iso3Code: INR symbol: "₹" decimalPlaces: 2 '401': description: Unauthorized content: application/json: schema: "$ref": "#/components/schemas/response401" "/quote": get: tags: - Helpers summary: Get Quote description: 'Given a corridor and a sender amount, this operation returns a quote which includes the exchange rate, fee adjustments, disclosures, and recipient amount. See [Currency](https://developer.readyremit.com/reference/about-the-reference#currency) for more about currency values and decimal places. The app can present the quote to the end-user who can decide whether to proceed with the transfer. Quotes are accurate at the instance of the quote, but rates may change between the time of the quote and the time of the transfer. The Execute Transfer operation returns the final exchange rate. ' operationId: getQuote parameters: - name: dstCountryIso3Code in: query description: See [country codes](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3). required: true style: form explode: true schema: "$ref": "#/components/schemas/threeUppercaseChars" - name: dstCurrencyIso3Code in: query description: See [currency codes](https://en.wikipedia.org/wiki/ISO_4217). required: true style: form explode: true schema: "$ref": "#/components/schemas/threeUppercaseChars" - name: srcCurrencyIso3Code in: query description: See [currency codes](https://en.wikipedia.org/wiki/ISO_4217). required: true style: form explode: true schema: "$ref": "#/components/schemas/threeUppercaseChars" - name: transferMethod in: query required: true style: form explode: true schema: "$ref": "#/components/schemas/transferMethods" - name: quoteBy in: query required: true style: form explode: true schema: "$ref": "#/components/schemas/quoteBy" - name: amount in: query description: Sender amount. required: true style: form explode: true schema: type: number responses: '200': description: Success content: application/json: schema: "$ref": "#/components/schemas/getQuoteResponse200" example: sendAmount: value: 100000 currency: name: US Dollar iso3Code: USD symbol: "$" decimalPlaces: 2 receiveAmount: value: 7445765 currency: name: Indian rupee iso3Code: INR symbol: "₹" decimalPlaces: 2 rate: 74.4576574896 adjustments: - label: Transfer Fee amount: value: 879 currency: name: US Dollar iso3Code: USD symbol: "$" decimalPlaces: 2 totalCost: value: 100879 currency: name: US Dollar iso3Code: USD symbol: "$" decimalPlaces: 2 disclosures: [] '400': description: Bad Request content: application/json: schema: "$ref": "#/components/schemas/codeMsgFieldIdObjectArray" example: - code: UnsupportedCountry message: "'DestinationCountryISO3Code' must be a valid ISO 3 country." fieldId: DestinationCountryISO3Code - code: UnsupportedCurrency message: "'DestinationCurrencyISO3Code' must be a valid ISO 3 currency." fieldId: DestinationCurrencyISO3Code - code: UnsupportedCurrency message: "'SrcCurrencyIso3Code' must be a valid ISO 3 currency." fieldId: SrcCurrencyIso3Code '401': description: Unauthorized content: application/json: schema: "$ref": "#/components/schemas/response401" "/recipient-fields": get: tags: - Recipients summary: Get Recipient Fields description: Given a corridor, this operation returns the required and optional fields for a recipient record. See [Dynamic fields](https://developer.readyremit.com/reference/dynamic-fields). operationId: getRecipientFields parameters: - name: dstCountryIso3Code in: query description: See [country codes](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3). required: true style: form explode: true schema: "$ref": "#/components/schemas/threeUppercaseChars" - name: dstCurrencyIso3Code in: query description: See [currency codes](https://en.wikipedia.org/wiki/ISO_4217). required: true style: form explode: true schema: "$ref": "#/components/schemas/threeUppercaseChars" - name: transferMethod in: query required: true style: form explode: true schema: "$ref": "#/components/schemas/transferMethods" - name: recipientType in: query required: true style: form explode: true schema: "$ref": "#/components/schemas/recipientTypes" responses: '200': description: Success content: application/json: schema: "$ref": "#/components/schemas/fieldSetsObject" example: fieldSets: - fieldSetId: PERSONAL_INFORMATION fieldSetName: Personal information fields: - placeholderText: First name minLength: 1 maxLength: 50 options: [] fieldType: TEXT fieldId: FIRST_NAME name: First name hintText: Enter the recipient's name as it appears on their ID isRequired: true - placeholderText: Last name minLength: 1 maxLength: 50 options: [] fieldType: TEXT fieldId: LAST_NAME name: Last name hintText: Enter the recipient's name as it appears on their ID isRequired: true - placeholderText: Mobile phone number minLength: 7 maxLength: 15 regex: "[0-9]{7,15}$" options: [] fieldType: PHONE_NUMBER fieldId: PHONE_NUMBER name: Mobile phone number isRequired: false - fieldSetId: ADDRESS fieldSetName: Address fields: - placeholderText: Address line 1 minLength: 5 maxLength: 200 options: [] fieldType: TEXT fieldId: ADDRESS_LINE_1 name: Address line 1 isRequired: false - placeholderText: Address line 2 options: [] fieldType: TEXT fieldId: ADDRESS_LINE_2 name: Address line 2 isRequired: false - placeholderText: City options: [] fieldType: TEXT fieldId: ADDRESS_CITY name: City isRequired: false - placeholderText: State options: [] fieldType: DROPDOWN fieldId: ADDRESS_STATE name: State isRequired: false - placeholderText: Country minLength: 2 maxLength: 2 regex: "^[A-Za-z]{2}$" options: [] fieldType: DROPDOWN fieldId: ADDRESS_COUNTRY name: Country isRequired: false - placeholderText: Zip code minLength: 4 maxLength: 7 regex: "^[0-9a-zA-Z\\s]{4,7}$" options: [] fieldType: TEXT fieldId: ADDRESS_ZIP name: Zip code isRequired: false '400': description: Bad Request content: application/json: schema: "$ref": "#/components/schemas/codeMsgFieldIdObjectArray" example: - code: UnsupportedCountry message: "'DestinationCountryISO3Code' must be a valid ISO 3 country." fieldId: DestinationCountryISO3Code - code: UnsupportedCurrency message: "'DestinationCurrencyISO3Code' must be a valid ISO 3 country." fieldId: DestinationCurrencyISO3Code '401': description: Unauthorized content: application/json: schema: "$ref": "#/components/schemas/response401" "/recipients": get: tags: - Recipients summary: Get Recipients description: This operation returns all the recipient records associated with the specified `senderId`. operationId: getRecipients parameters: - name: senderId in: query description: Sender identifier. required: true style: form explode: true schema: type: string responses: '200': description: Success content: application/json: schema: type: array items: "$ref": "#/components/schemas/recipient" example: recipients: - recipientId: 986d85c1-72b8-47ef-85d5-619b308fa6fa senderId: 55ef79b0-0f0f-459f-ad62-effcf516df7d recipientType: PERSON firstName: Alpha lastName: Flight fields: - id: FIRST_NAME type: TEXT value: Alpha - id: LAST_NAME type: TEXT value: Flight - recipientId: 59555d87-5357-4e17-bcb1-83cbcf59a711 senderId: 55ef79b0-0f0f-459f-ad62-effcf516df7d recipientType: BUSINESS companyName: Overseas Inc fields: - id: COMPANY_NAME type: TEXT value: Overseas Inc '401': description: Unauthorized content: application/json: schema: "$ref": "#/components/schemas/response401" '403': description: Forbidden content: application/json: schema: "$ref": "#/components/schemas/codeMsgDescObjectArray" example: - code: AccessDenied message: Sorry! Access denied :( description: Exception of type 'brightwell.readyremit.common.ErrorHandling.BrightwellException' was thrown. '500': description: Internal Server Error content: application/json: schema: "$ref": "#/components/schemas/codeMsgFieldIdObjectArray" example: - code: '000' message: Something went wrong! description: One or more errors occurred. (Guid should contain 32 digits with 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx).) post: tags: - Recipients summary: Create Recipient description: This operation creates a recipient record. operationId: createRecipient requestBody: content: application/json: schema: "$ref": "#/components/schemas/createRecipientRequest" examples: Person: summary: PERSON value: recipientType: PERSON senderId: 55ef79b0-0f0f-459f-ad62-effcf516df7d fields: - id: FIRST_NAME type: TEXT value: Jane - id: LAST_NAME type: TEXT value: Doe Business: summary: BUSINESS value: recipientType: BUSINESS senderId: 55ef79b0-0f0f-459f-ad62-effcf516df7d fields: - id: COMPANY_NAME type: TEXT value: Overseas Inc responses: '201': description: Created content: application/json: schema: "$ref": "#/components/schemas/recipient" examples: Person: summary: PERSON value: recipientId: 6f5ba7ce-0d40-449e-81de-b12c618eb6dd senderId: 55ef79b0-0f0f-459f-ad62-effcf516df7d recipientType: PERSON firstName: Jane lastName: Doe fields: - id: FIRST_NAME type: TEXT value: Jane - id: LAST_NAME type: TEXT value: Doe Business: summary: BUSINESS value: recipientId: 7aeefa7e-4e2c-4a3f-b702-61cc27f47087 senderId: 55ef79b0-0f0f-459f-ad62-effcf516df7d recipientType: BUSINESS companyName: Overseas Inc fields: - id: COMPANY_NAME type: TEXT value: Overseas Inc '400': description: Bad Request content: application/json: schema: "$ref": "#/components/schemas/codeMsgFieldIdObjectArray" examples: Person: summary: PERSON value: - code: InvalidRecipientName message: "'First Name' is required when recipient type is 'PERSON'." fieldId: FIRST_NAME - code: InvalidRecipientName message: "'Last Name' is required when recipient type is 'PERSON'." fieldId: LAST_NAME Business: summary: BUSINESS value: - code: InvalidRecipientName message: "'Company Name' is required when recipient type is 'BUSINESS'." fieldId: COMPANY_NAME '401': description: Unauthorized content: application/json: schema: "$ref": "#/components/schemas/response401" '403': description: Forbidden - Wrong senderId content: application/json: schema: "$ref": "#/components/schemas/codeMsgDescObjectArray" example: - code: AccessDenied message: Sorry! Access denied :( description: Exception of type 'brightwell.readyremit.common.ErrorHandling.BrightwellException' was thrown. "/recipients/{recipientId}": get: tags: - Recipients summary: Get Recipient description: This operation returns a recipient record for the specified `recipientId`. operationId: getRecipient parameters: - name: recipientId in: path description: The recipient identifier required: true style: simple explode: false schema: type: string responses: '200': description: Success content: application/json: schema: "$ref": "#/components/schemas/recipient" examples: Person: summary: PERSON value: recipientId: 6f5ba7ce-0d40-449e-81de-b12c618eb6dd senderId: 55ef79b0-0f0f-459f-ad62-effcf516df7d recipientType: PERSON firstName: Jane lastName: Doe fields: - id: FIRST_NAME type: TEXT value: Jane - id: LAST_NAME type: TEXT value: Doe Business: summary: BUSINESS value: recipientId: 7aeefa7e-4e2c-4a3f-b702-61cc27f47087 senderId: 55ef79b0-0f0f-459f-ad62-effcf516df7d recipientType: BUSINESS companyName: Overseas Inc fields: - id: COMPANY_NAME type: TEXT value: Overseas Inc '401': description: Unauthorized content: application/json: schema: "$ref": "#/components/schemas/response401" '404': description: Not Found content: application/json: schema: "$ref": "#/components/schemas/codeMsgFieldIdObjectArray" example: - code: RecipientNotFound message: Recipient not found. description: Recipient cannot be found. put: tags: - Recipients summary: Update Recipient description: This operation updates an entire recipient record. operationId: updateRecipient parameters: - name: recipientId in: path description: The recipient identifier required: true style: simple explode: false schema: type: string requestBody: description: Array of fields to update the recipient. content: application/json: schema: "$ref": "#/components/schemas/createRecipientRequest" examples: Person: summary: PERSON value: recipientType: PERSON senderId: 55ef79b0-0f0f-459f-ad62-effcf516df7d fields: - id: FIRST_NAME type: TEXT value: New First Name - id: LAST_NAME type: TEXT value: New Last Name Business: summary: BUSINESS value: recipientType: BUSINESS senderId: 55ef79b0-0f0f-459f-ad62-effcf516df7d fields: - id: COMPANY_NAME type: TEXT value: New Company Name responses: '200': description: Success content: application/json: schema: "$ref": "#/components/schemas/recipient" examples: Person: summary: PERSON value: recipientId: 6f5ba7ce-0d40-449e-81de-b12c618eb6dd senderId: 55ef79b0-0f0f-459f-ad62-effcf516df7d recipientType: PERSON firstName: New First Name lastName: New Last Name fields: - id: FIRST_NAME type: TEXT value: New First Name - id: LAST_NAME type: TEXT value: New Last Name Business: summary: BUSINESS value: recipientId: 7aeefa7e-4e2c-4a3f-b702-61cc27f47087 senderId: 55ef79b0-0f0f-459f-ad62-effcf516df7d recipientType: BUSINESS companyName: New Company Name fields: - id: COMPANY_NAME type: TEXT value: New Company Name '400': description: Bad Request content: application/json: schema: "$ref": "#/components/schemas/codeMsgFieldIdObjectArray" example: - code: NotEmptyValidator message: "'Recipient Type' is required." fieldId: RecipientType - code: NotEmptyValidator message: "'First Name' is required." fieldId: FIRST_NAME - code: NotEmptyValidator message: "'Last Name' is required." fieldId: LAST_NAME - code: NotEmptyValidator message: "'Sender Id' is required." fieldId: SenderId '401': description: Unauthorized content: application/json: schema: "$ref": "#/components/schemas/response401" delete: tags: - Recipients summary: Delete Recipient description: This operation deletes the recipient record corresponding to the specified `recipientId`. operationId: deleteRecipient parameters: - name: recipientId in: path description: The recipient identifier required: true style: simple explode: false schema: type: string responses: '200': description: Success '401': description: Unauthorized content: application/json: schema: "$ref": "#/components/schemas/response401" '404': description: Not Found content: application/json: schema: "$ref": "#/components/schemas/codeMsgFieldIdObjectArray" examples: NotFound: summary: Not Found value: - code: RecipientNotFound message: Recipient not found. description: Recipient cannot be found. "/recipient-account-fields": get: tags: - Recipient Accounts summary: Get Recipient Account Fields description: Given a corridor, this operation returns the required and optional fields for a recipient account record. See [Dynamic fields](https://developer.readyremit.com/reference/dynamic-fields). operationId: getRecipientAccountFields parameters: - name: dstCountryIso3Code in: query description: See [country codes](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3). required: true style: form explode: true schema: "$ref": "#/components/schemas/threeUppercaseChars" - name: dstCurrencyIso3Code in: query description: See [currency codes](https://en.wikipedia.org/wiki/ISO_4217). required: true style: form explode: true schema: "$ref": "#/components/schemas/threeUppercaseChars" - name: transferMethod in: query required: true style: form explode: true schema: "$ref": "#/components/schemas/transferMethods" - name: recipientType in: query required: true style: form explode: true schema: "$ref": "#/components/schemas/recipientTypes" responses: '200': description: Success content: application/json: schema: "$ref": "#/components/schemas/fieldSetsObject" example: fieldSets: - fieldSetId: BANK_DETAILS fieldSetName: Bank Details fields: - placeholderText: Type of account minLength: 1 maxLength: 3 regex: '' validationErrors: [] options: [] fieldType: DROPDOWN fieldId: BANK_ACCOUNT_TYPE name: Type of account hintText: '' isRequired: false - placeholderText: Bank name minLength: 5 maxLength: 5 regex: '' validationErrors: [] options: [] fieldType: DROPDOWN fieldId: BANK_NAME name: Bank name hintText: '' isRequired: true - placeholderText: Purpose of payment minLength: 1 maxLength: 2 regex: '' validationErrors: [] options: [] fieldType: DROPDOWN fieldId: PURPOSE_OF_PAYMENT name: Purpose of payment hintText: '' isRequired: false '400': description: Bad Request content: application/json: schema: "$ref": "#/components/schemas/codeMsgFieldIdObjectArray" example: - code: UnsupportedCountry message: "'DestinationCountryISO3Code' must be a valid ISO 3 country." fieldId: DestinationCountryISO3Code '401': description: Unauthorized content: application/json: schema: "$ref": "#/components/schemas/response401" "/recipients/{recipientId}/accounts": get: tags: - Recipient Accounts summary: Get Recipient Accounts description: This operation returns an array of recipient account records associated with the specified recipient identifier. operationId: getRecipientAccounts parameters: - name: recipientId in: path description: The recipient identifier required: true style: simple explode: false schema: type: string responses: '200': description: Success content: application/json: schema: type: array items: "$ref": "#/components/schemas/recipient" example: accounts: - recipientAccountId: e27c7395-b46a-4b9b-89fd-cd6a3da7fd85 accountNumber: '98237498327489273' fields: - id: bankId type: NUMBER value: '78' - id: branchId type: NUMBER value: '99' - id: accountNumber type: TEXT value: '1234556677' '401': description: Unauthorized content: application/json: schema: "$ref": "#/components/schemas/response401" '404': description: Not Found content: application/json: schema: "$ref": "#/components/schemas/codeMsgFieldIdObjectArray" example: - code: RecipientNotFound message: Destinataria no encontrada. description: Recipient cannot be found. post: tags: - Recipient Accounts summary: Create Recipient Account description: This operation creates a recipient account record. operationId: createRecipientAccount parameters: - name: recipientId in: path description: The recipient identifier required: true style: simple explode: false schema: type: string requestBody: content: application/json: schema: "$ref": "#/components/schemas/createRecipientAccountRequest" example: dstCountryIso3Code: "[object Object]": dstCurrencyIso3Code: "[object Object]": transferMethod: BANK_ACCOUNT accountNumber: '333000333' fields: - id: BANK_NAME type: TEXT value: Baink responses: '201': description: Created content: application/json: schema: "$ref": "#/components/schemas/recipientAccount" example: recipientAccountId: e27c7395-b46a-4b9b-89fd-cd6a3da7fd85 accountNumber: '333000333' fields: - id: BANK_NAME type: TEXT value: Baink '400': description: Bad Request content: application/json: schema: "$ref": "#/components/schemas/codeMsgFieldIdObjectArray" examples: NotEmptyValidator: summary: NotEmptyValidator value: - code: NotEmptyValidator message: "'Destination Country ISO 3 Code' is required." fieldId: DestinationCountryISO3Code - code: NotEmptyValidator message: "'Destination Currency ISO 3 Code' is required." fieldId: DestinationCurrencyISO3Code - code: NotEmptyValidator message: "'Transfer Method' is required." fieldId: TransferMethod - code: NotEmptyValidator message: "'Account Number' is required." fieldId: AccountNumber - code: NotEmptyValidator message: "'Fields' is required." fieldId: Fields ValueTooLong: summary: ValueTooLong value: - code: NotEmptyValidator message: Value must be not be more than 5 in length fieldId: BANK_NAME ValueTooShort: summary: ValueTooShort value: - code: NotEmptyValidator message: Value must be at least 5 in length fieldId: BANK_NAME '401': description: Unauthorized content: application/json: schema: "$ref": "#/components/schemas/response401" "/recipients/{recipientId}/accounts/{accId}": get: tags: - Recipient Accounts summary: Get Recipient Account description: This operation returns a recipient account record. operationId: getRecipientAccount parameters: - name: recipientId in: path description: The recipient identifier required: true style: simple explode: false schema: type: string - name: accId in: path description: Recipient account identifier. required: true style: simple explode: false schema: type: string responses: '200': description: Success content: application/json: schema: "$ref": "#/components/schemas/recipientAccount" example: recipientAccountId: e27c7395-b46a-4b9b-89fd-cd6a3da7fd85 accountNumber: '333000333' fields: - id: BANK_NAME type: TEXT value: Baink '400': description: Bad Request content: application/json: schema: "$ref": "#/components/schemas/codeMsgFieldIdObjectArray" '401': description: Unauthorized content: application/json: schema: "$ref": "#/components/schemas/response401" '404': description: Not Found content: application/json: schema: "$ref": "#/components/schemas/codeMsgFieldIdObjectArray" put: tags: - Recipient Accounts summary: Update Recipient Account description: This operation updates an entire recipient account record. operationId: putRecipientAccount parameters: - name: recipientId in: path description: The recipient identifier required: true style: simple explode: false schema: type: string - name: accId in: path description: Recipient account identifier. required: true style: simple explode: false schema: type: string requestBody: description: Array of fields to update the recipient. content: application/json: schema: "$ref": "#/components/schemas/createRecipientAccountRequest" example: dstCountryIso3Code: "[object Object]": dstCurrencyIso3Code: "[object Object]": transferMethod: BANK_ACCOUNT accountNumber: '333000333' fields: - id: BANK_NAME type: TEXT value: Baink responses: '200': description: Success content: application/json: schema: "$ref": "#/components/schemas/recipientAccount" '400': description: Bad Request content: application/json: schema: "$ref": "#/components/schemas/codeMsgFieldIdObjectArray" examples: NotEmptyValidator: summary: NotEmptyValidator value: - code: NotEmptyValidator message: "'Destination Country ISO 3 Code' is required." fieldId: DestinationCountryISO3Code - code: NotEmptyValidator message: "'Destination Currency ISO 3 Code' is required." fieldId: DestinationCurrencyISO3Code - code: NotEmptyValidator message: "'Transfer Method' is required." fieldId: TransferMethod - code: NotEmptyValidator message: "'Account Number' is required." fieldId: AccountNumber - code: NotEmptyValidator message: "'Fields' is required." fieldId: Fields ValueTooLong: summary: ValueTooLong value: - code: NotEmptyValidator message: Value must be not be more than 5 in length fieldId: BANK_NAME ValueTooShort: summary: ValueTooShort value: - code: NotEmptyValidator message: Value must be at least 5 in length fieldId: BANK_NAME '401': description: Unauthorized content: application/json: schema: "$ref": "#/components/schemas/response401" delete: tags: - Recipient Accounts summary: Delete Recipient Account description: This operation deletes a recipient account record. operationId: deleteRecipientAccount parameters: - name: recipientId in: path description: The recipient identifier required: true style: simple explode: false schema: type: string - name: accId in: path description: Recipient account identifier. required: true style: simple explode: false schema: type: string responses: '200': description: Success '400': description: Bad Request content: application/json: schema: "$ref": "#/components/schemas/codeMsgFieldIdObjectArray" '401': description: Unauthorized content: application/json: schema: "$ref": "#/components/schemas/response401" "/sender-fields": get: tags: - Senders summary: Get Sender Fields description: Given a corridor, this operation returns the required and optional fields for a sender record. See [Dynamic fields](https://developer.readyremit.com/reference/dynamic-fields). operationId: getSenderFields parameters: - name: senderType in: query required: true style: form explode: true schema: "$ref": "#/components/schemas/senderTypes" responses: '200': description: Success content: application/json: schema: "$ref": "#/components/schemas/fieldSetsObject" example: fieldSets: - fieldSetId: PERSONAL_INFORMATION fieldSetName: Personal information fields: - placeholderText: First name minLength: 1 maxLength: 50 options: [] fieldType: TEXT fieldId: FIRST_NAME name: First name hintText: Enter the sender's name as it appears on their ID isRequired: true - placeholderText: Last name minLength: 1 maxLength: 50 options: [] fieldType: TEXT fieldId: LAST_NAME name: Last name hintText: Enter the sender's name as it appears on their ID isRequired: true - placeholderText: Mobile phone number minLength: 7 maxLength: 15 regex: "[0-9]{7,15}$" options: [] fieldType: PHONE_NUMBER fieldId: PHONE_NUMBER name: Mobile phone number isRequired: false - fieldSetId: ADDRESS fieldSetName: Address fields: - placeholderText: Address line 1 minLength: 5 maxLength: 200 options: [] fieldType: TEXT fieldId: ADDRESS_LINE_1 name: Address line 1 isRequired: false - placeholderText: Address line 2 options: [] fieldType: TEXT fieldId: ADDRESS_LINE_2 name: Address line 2 isRequired: false - placeholderText: City options: [] fieldType: TEXT fieldId: ADDRESS_CITY name: City isRequired: false - placeholderText: State options: [] fieldType: DROPDOWN fieldId: ADDRESS_STATE name: State isRequired: false - placeholderText: Country minLength: 2 maxLength: 2 regex: "^[A-Za-z]{2}$" options: [] fieldType: DROPDOWN fieldId: ADDRESS_COUNTRY name: Country isRequired: false - placeholderText: Zip code minLength: 4 maxLength: 7 regex: "^[0-9a-zA-Z\\s]{4,7}$" options: [] fieldType: TEXT fieldId: ADDRESS_ZIP name: Zip code isRequired: false '400': description: Bad Request content: application/json: schema: "$ref": "#/components/schemas/codeMsgFieldIdObjectArray" example: - code: UnsupportedCountry message: "'DestinationCountryISO3Code' must be a valid ISO 3 country." fieldId: DestinationCountryISO3Code - code: UnsupportedCurrency message: "'DestinationCurrencyISO3Code' must be a valid ISO 3 country." fieldId: DestinationCurrencyISO3Code '401': description: Unauthorized content: application/json: schema: "$ref": "#/components/schemas/response401" "/senders": post: tags: - Senders summary: Create Sender description: This operation creates a sender record. operationId: createSender requestBody: content: application/json: schema: "$ref": "#/components/schemas/createSenderRequest" examples: Person: summary: PERSON value: senderType: PERSON senderId: 55ef79b0-0f0f-459f-ad62-effcf516df7d fields: - id: FIRST_NAME type: TEXT value: Jane - id: LAST_NAME type: TEXT value: Doe Business: summary: BUSINESS value: recipientType: BUSINESS senderId: 55ef79b0-0f0f-459f-ad62-effcf516df7d fields: - id: COMPANY_NAME type: TEXT value: Overseas Inc responses: '201': description: Created content: application/json: schema: "$ref": "#/components/schemas/sender" examples: Person: summary: PERSON value: recipientId: 6f5ba7ce-0d40-449e-81de-b12c618eb6dd senderId: 55ef79b0-0f0f-459f-ad62-effcf516df7d recipientType: PERSON firstName: Jane lastName: Doe fields: - id: FIRST_NAME type: TEXT value: Jane - id: LAST_NAME type: TEXT value: Doe Business: summary: BUSINESS value: recipientId: 7aeefa7e-4e2c-4a3f-b702-61cc27f47087 senderId: 55ef79b0-0f0f-459f-ad62-effcf516df7d recipientType: BUSINESS companyName: Overseas Inc fields: - id: COMPANY_NAME type: TEXT value: Overseas Inc '400': description: Bad Request content: application/json: schema: "$ref": "#/components/schemas/codeMsgFieldIdObjectArray" examples: Person: summary: PERSON value: - code: InvalidSenderName message: "'First Name' is required when recipient type is 'PERSON'." fieldId: FIRST_NAME - code: InvalidSenderName message: "'Last Name' is required when recipient type is 'PERSON'." fieldId: LAST_NAME Business: summary: BUSINESS value: - code: InvalidSenderName message: "'Company Name' is required when recipient type is 'BUSINESS'." fieldId: COMPANY_NAME '401': description: Unauthorized content: application/json: schema: "$ref": "#/components/schemas/response401" '403': description: Forbidden - Wrong senderId content: application/json: schema: "$ref": "#/components/schemas/codeMsgDescObjectArray" example: - code: AccessDenied message: Sorry! Access denied :( description: Exception of type 'brightwell.readyremit.common.ErrorHandling.BrightwellException' was thrown. "/senders/{senderId}": get: tags: - Senders summary: Get Sender description: This operation returns the sender record associated with the specified `senderId`. operationId: getSender parameters: - name: senderId in: path description: Sender identifier. required: true style: simple explode: false schema: type: string responses: '200': description: Success content: application/json: schema: "$ref": "#/components/schemas/sender" '401': description: Unauthorized content: application/json: schema: "$ref": "#/components/schemas/response401" '403': description: Forbidden content: application/json: schema: "$ref": "#/components/schemas/codeMsgDescObjectArray" example: - code: AccessDenied message: Sorry! Access denied :( description: Exception of type 'brightwell.readyremit.common.ErrorHandling.BrightwellException' was thrown. '500': description: Internal Server Error content: application/json: schema: "$ref": "#/components/schemas/codeMsgFieldIdObjectArray" example: - code: '000' message: Something went wrong! description: One or more errors occurred. (Guid should contain 32 digits with 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx).) put: tags: - Senders summary: Update Sender description: This operation updates an entire sender record. operationId: updateSender parameters: - name: senderId in: path description: The sender identifier required: true style: simple explode: false schema: type: string requestBody: description: Array of fields to update the sender. content: application/json: schema: "$ref": "#/components/schemas/createSenderRequest" examples: Person: summary: PERSON value: recipientType: PERSON senderId: 55ef79b0-0f0f-459f-ad62-effcf516df7d fields: - id: FIRST_NAME type: TEXT value: New First Name - id: LAST_NAME type: TEXT value: New Last Name Business: summary: BUSINESS value: recipientType: BUSINESS senderId: 55ef79b0-0f0f-459f-ad62-effcf516df7d fields: - id: COMPANY_NAME type: TEXT value: New Company Name responses: '200': description: Success content: application/json: schema: "$ref": "#/components/schemas/sender" examples: Person: summary: PERSON value: recipientId: 6f5ba7ce-0d40-449e-81de-b12c618eb6dd senderId: 55ef79b0-0f0f-459f-ad62-effcf516df7d recipientType: PERSON firstName: New First Name lastName: New Last Name fields: - id: FIRST_NAME type: TEXT value: New First Name - id: LAST_NAME type: TEXT value: New Last Name Business: summary: BUSINESS value: recipientId: 7aeefa7e-4e2c-4a3f-b702-61cc27f47087 senderId: 55ef79b0-0f0f-459f-ad62-effcf516df7d recipientType: BUSINESS companyName: New Company Name fields: - id: COMPANY_NAME type: TEXT value: New Company Name '400': description: Bad Request content: application/json: schema: "$ref": "#/components/schemas/codeMsgFieldIdObjectArray" example: - code: NotEmptyValidator message: "'Recipient Type' is required." fieldId: RecipientType - code: NotEmptyValidator message: "'First Name' is required." fieldId: FIRST_NAME - code: NotEmptyValidator message: "'Last Name' is required." fieldId: LAST_NAME - code: NotEmptyValidator message: "'Sender Id' is required." fieldId: SenderId '401': description: Unauthorized content: application/json: schema: "$ref": "#/components/schemas/response401" delete: tags: - Senders summary: Delete sender description: This operation deletes the recipient record corresponding to the specified `recipientId`. operationId: deleteSender parameters: - name: senderId in: path description: The sender identifier required: true style: simple explode: false schema: type: string responses: '200': description: Success '401': description: Unauthorized content: application/json: schema: "$ref": "#/components/schemas/response401" '404': description: Not Found content: application/json: schema: "$ref": "#/components/schemas/codeMsgFieldIdObjectArray" examples: NotFound: summary: Not Found value: - code: RecipientNotFound message: Recipient not found. description: Recipient cannot be found. "/transfer-fields": get: tags: - Transfers summary: Get Transfer Fields description: Given country and currency codes and a transfer method, this operation returns required fields for calling Execute Transfer. operationId: getTransferFields parameters: - name: dstCountryIso3Code in: query description: See [country codes](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3). required: true style: form explode: true schema: "$ref": "#/components/schemas/threeUppercaseChars" - name: dstCurrencyIso3Code in: query description: See [currency codes](https://en.wikipedia.org/wiki/ISO_4217). required: true style: form explode: true schema: "$ref": "#/components/schemas/threeUppercaseChars" - name: transferMethod in: query required: true style: form explode: true schema: "$ref": "#/components/schemas/transferMethods" responses: '200': description: Success content: application/json: schema: "$ref": "#/components/schemas/getTransferFieldsResponse200" example: - fieldSets: - fieldSetId: TRANSFER_FIELDS fieldSetName: Transfer Fields fields: - placeholderText: "-select-" minLength: 1 maxLength: 40 validationErrors: [] options: - id: 1 name: FAMILY MAINTENANCE - id: 2 name: EDUCATION - id: 3 name: MEDICAL - id: 4 name: TOURIST - id: 6 name: PERSONAL - id: 18 name: TRANSFER TO NRE ACCOUNT - id: 21 name: INVESTMENT IN MUTUAL FUND/INSURANCE - id: 22 name: INVESTMENT THROUGH BANK - id: 23 name: PURCHASE OF REAL ESTATE - id: 24 name: EDUCATION/TUITION/BOARDING - id: 25 name: HOTEL ACCOMODATIONS - id: 26 name: TRAVEL AGENT - id: 28 name: UTILITY PROV- idER - id: 29 name: TAX PAYMENT - id: 30 name: LOAN PAYMENT TO BANK - id: 31 name: PRIME MINISTERS NATIONAL RELIEF FUND (INDIA) - id: 32 name: HOSPITAL OR MEDICAL INSTITUTION - id: 43 name: TRADE RELATED SERVICES - id: 44 name: TRADE REALISATION OF EXPORT BILLS - id: 45 name: TRADE ADVANCE RECEIPT AGAINST EXPORT fieldType: DROPDOWN, fieldId: REMITTANCE_PURPOSE, name: Purpose of remittance, hintText: Insert the purpose of this remittance, isRequired: false '400': description: Bad Request content: application/json: schema: "$ref": "#/components/schemas/codeMsgFieldIdObjectArray" examples: UnsupportedCountry: summary: Unsupported Country value: - code: UnsupportedCountry message: "'DestinationCountryISO3Code' must be a valid ISO 3 country." fieldId: DestinationCountryISO3Code UnsupportedCurrency: summary: Unsupported Currency value: - code: UnsupportedCurrency message: "'DestinationCurrencyISO3Code' must be a valid ISO 3 country." fieldId: DestinationCurrencyISO3Code UnsupportedCountryAndCurrency: summary: Unsupported Country and Currency value: - code: UnsupportedCountry message: "'DestinationCountryISO3Code' must be a valid ISO 3 country." fieldId: DestinationCountryISO3Code - code: UnsupportedCurrency message: "'DestinationCurrencyISO3Code' must be a valid ISO 3 country." fieldId: DestinationCurrencyISO3Code '401': description: Unauthorized content: application/json: schema: "$ref": "#/components/schemas/response401" "/transfers": post: tags: - Transfers summary: Execute Transfer description: This operation performs a sender-to-recipient transfer of funds. operationId: executeTransfer requestBody: content: application/json: schema: "$ref": "#/components/schemas/executeTransferRequest" responses: '200': description: Success content: application/json: schema: "$ref": "#/components/schemas/transferResponse" example: transferId: d53d90ad-4de8-415d-8286-90c41853a3dd confirmationNumber: 33TF041162650 quote: sendAmount: value: 100000 currency: name: US Dollar iso3Code: USD symbol: "$" decimalPlaces: 2 receiveAmount: value: 7445765 currency: name: Indian rupee iso3Code: INR symbol: "₹" decimalPlaces: 2 rate: 74.4576574896 adjustments: - label: Transfer Fee amount: value: 879 currency: name: US Dollar iso3Code: USD symbol: "$" decimalPlaces: 2 totalCost: value: 100879 currency: name: US Dollar iso3Code: USD symbol: "$" decimalPlaces: 2 disclosures: [] senderDetails: senderId: 9711fb4c-df97-49bd-ba03-78706761c23c fields: [] recipientDetails: recipientId: 260d1f4f-4fe3-4620-a104-a25ae57b51c3 senderId: 9711fb4c-df97-49bd-ba03-78706761c23c recipientType: PERSON firstName: Camilia lastName: Noceda fields: - id: LAST_NAME type: TEXT value: Noceda - id: FIRST_NAME type: TEXT value: Camilia recipientAccountDetails: recipientAccountId": 236d76c2-8b0b-4eef-a28a-25353926ade9 accountNumber": '333000333' fields: - id: BANK_NAME type: TEXT value: Baink disclaimers: [] '400': description: Bad Request content: application/json: schema: "$ref": "#/components/schemas/codeMsgFieldIdObjectArray" example: - code: UnsupportedCountry message: "'DestinationCountryISO3Code' must be a valid ISO 3 country." fieldId: DestinationCountryISO3Code - code: UnsupportedCurrency message: "'DestinationCurrencyISO3Code' must be a valid ISO 3 currency." fieldId: DestinationCurrencyISO3Code - code: UnsupportedCurrency message: "'SourceCurrencyIso3Code' must be a valid ISO 3 currency." fieldId: SourceCurrencyIso3Code - code: NotEmptyValidator message: "'Amount' is required." fieldId: Amount - code: NotEmptyValidator message: "'Sender Id' is required." fieldId: SenderId - code: NotEmptyValidator message: "'Recipient Id' is required." fieldId: RecipientId - code: NotEmptyValidator message: "'Recipient Account Id' is required." fieldId: RecipientAccountId '401': description: Unauthorized content: application/json: schema: "$ref": "#/components/schemas/response401" "/transfers/{transferId}": get: tags: - Transfers summary: Get Transfer description: This operation retrieves transfer details given the ID. operationId: getTransfer parameters: - name: transferId in: path description: The transfer identifier required: true style: simple explode: false schema: type: string responses: '200': description: Success content: application/json: schema: "$ref": "#/components/schemas/transferResponse" example: transferId: d53d90ad-4de8-415d-8286-90c41853a3dd confirmationNumber: 33TF041162650 quote: sendAmount: value: 100000 currency: name: US Dollar iso3Code: USD symbol: "$" decimalPlaces: 2 receiveAmount: value: 7445765 currency: name: Indian rupee iso3Code: INR symbol: "₹" decimalPlaces: 2 rate: 74.4576574896 adjustments: - label: Transfer Fee amount: value: 879 currency: name: US Dollar iso3Code: USD symbol: "$" decimalPlaces: 2 totalCost: value: 100879 currency: name: US Dollar iso3Code: USD symbol: "$" decimalPlaces: 2 disclosures: [] senderDetails: senderId: 9711fb4c-df97-49bd-ba03-78706761c23c fields: [] recipientDetails: recipientId: 260d1f4f-4fe3-4620-a104-a25ae57b51c3 senderId: 9711fb4c-df97-49bd-ba03-78706761c23c recipientType: PERSON firstName: Camilia lastName: Noceda fields: - id: LAST_NAME type: TEXT value: Noceda - id: FIRST_NAME type: TEXT value: Camilia recipientAccountDetails: recipientAccountId": 236d76c2-8b0b-4eef-a28a-25353926ade9 accountNumber": '333000333' fields: - id: BANK_NAME type: TEXT value: Baink disclaimers: [] '400': description: Bad Request content: application/json: schema: "$ref": "#/components/schemas/codeMsgFieldIdObjectArray" example: - code: UnsupportedCountry message: "'DestinationCountryISO3Code' must be a valid ISO 3 country." fieldId: DestinationCountryISO3Code - code: UnsupportedCurrency message: "'DestinationCurrencyISO3Code' must be a valid ISO 3 currency." fieldId: DestinationCurrencyISO3Code - code: UnsupportedCurrency message: "'SourceCurrencyIso3Code' must be a valid ISO 3 currency." fieldId: SourceCurrencyIso3Code - code: NotEmptyValidator message: "'Amount' is required." fieldId: Amount - code: NotEmptyValidator message: "'Sender Id' is required." fieldId: SenderId - code: NotEmptyValidator message: "'Recipient Id' is required." fieldId: RecipientId - code: NotEmptyValidator message: "'Recipient Account Id' is required." fieldId: RecipientAccountId '401': description: Unauthorized content: application/json: schema: "$ref": "#/components/schemas/response401" "/transfers/{transferId}/statuses": get: tags: - Transfers summary: Get Transfer Status description: This operation retrieves history of status changes for a transfer. operationId: getTransferStatuses parameters: - name: transferId in: path description: The transfer identifier required: true style: simple explode: false schema: type: string responses: '200': description: Success content: application/json: schema: "$ref": "#/components/schemas/transferStatusesResponse" example: statuses: - status: Pending release changedDate: '2022-09-16T01:41:02.520258Z' - status: Paid changedDate: '2022-09-17T05:37:02.112312Z' '401': description: Unauthorized content: application/json: schema: "$ref": "#/components/schemas/response401" "/cards": post: tags: - Cards summary: Create card description: This operation onboards a card. operationId: createCard requestBody: content: application/json: schema: "$ref": "#/components/schemas/createCardRequest" examples: Success: summary: SUCCESS value: cardOnboardingSessionId: "d53d90ad-4de8-415d-8286-90c41853a3dd" cardHolderName: "Daniel P Fix" cardNumber: "4242424242424242" cvv2: "123" expiryDate: "0827" responses: '201': description: Created content: application/json: schema: "$ref": "#/components/schemas/createCardResponse" example: id: "d53d90ad-4de8-415d-8286-90c41853a3dd" personalName: "Daniel P Fix" cardNumber: "4242424242424242" addressStreet: "100 main st" addressZip: "30363" cvv2: "123" expiryDate: "0827" '401': description: Unauthorized content: application/json: schema: "$ref": "#/components/schemas/response401" "/card-onboarding-sessions": post: tags: - Card Onboarding Sessions summary: Create card onboarding session description: This operation creates a session for onboarding a card. operationId: createCardOnboardingSession requestBody: content: application/json: schema: "$ref": "#/components/schemas/createCardOnboardingSessionRequest" examples: Success: summary: SUCCESS value: customization: primaryColor: "#000000" submitButtonLabel: "Submit" locale: "en-US" responses: '200': description: Success content: application/json: schema: "$ref": "#/components/schemas/cardOnboardingSessionResponse" example: id: "d53d90ad-4de8-415d-8286-90c41853a3dd" expirationDate: "2023-09-25T00:00:00.000Z" status: INCOMPLETE customization: primaryColor: "#000000" submitButtonLabel: "Submit" locale: "en-US" '401': description: Unauthorized content: application/json: schema: "$ref": "#/components/schemas/response401" "/card-onboarding-sessions/{cardOnboardingSessionId}": get: tags: - Card Onboarding Sessions summary: Get Card Onboarding Session description: This operation retrieves card onboarding session given the ID. operationId: getCardOnboardingSession parameters: - name: cardOnboardingSessionId in: path description: The card onboarding session identifier required: true style: simple explode: false schema: type: string responses: '200': description: Success, card incomplete content: application/json: schema: "$ref": "#/components/schemas/cardOnboardingSessionResponse" example: id: d53d90ad-4de8-415d-8286-90c41853a3dd expirationDate: "2023-09-25T00:00:00.000Z" cardId: d53d90ad-4de8-415d-8286-90c41853a3dd, status: COMPLETE, customization: primaryColor: "#000000" submitButtonLabel: "Submit" locale: "en-US" '401': description: Unauthorized content: application/json: schema: "$ref": "#/components/schemas/response401" components: schemas: cardOnboardingSession: type: object required: - customization properties: id: type: string expirationDate: type: string status: "$ref": "#/components/schemas/cardOnboardingSessionStatuses" cardId: type: string customization: type: object properties: primaryColor: type: string submitButtonLabel: type: string locale: type: string createCardOnboardingSessionRequest: type: object properties: customization: type: object properties: primaryColor: type: string submitButtonLabel: type: string locale: type: string cardOnboardingSessionResponse: allOf: - "$ref": "#/components/schemas/cardOnboardingSession" createCardRequest: type: object required: - cardOnboardingSessionId - cardNumber - expiryDate - cvv2 properties: cardOnboardingSessionId: type: string cardHolderName: type: string cardNumber: type: string cvv2: type: string expiryDate: type: string createCardResponse: type: object properties: id: type: string personalName: type: string cardNumber: type: string cvv2: type: string expiryDate: type: string addressStreet: type: string addressZip: type: string codeMsgDescObject: type: object properties: code: type: string message: type: string description: type: string codeMsgDescObjectArray: type: array items: "$ref": "#/components/schemas/codeMsgDescObject" codeMsgFieldIdObject: type: object properties: code: type: string message: type: string fieldId: type: string codeMsgFieldIdObjectArray: type: array items: "$ref": "#/components/schemas/codeMsgFieldIdObject" idNameObject: required: - id - name type: object properties: id: type: string name: type: string idNameObjectArray: type: array items: "$ref": "#/components/schemas/idNameObject" response401: allOf: - "$ref": "#/components/schemas/codeMsgDescObject" - type: object properties: code: type: string default: '000' message: type: string default: Something went wrong! description: type: string default: Unauthorized threeUppercaseChars: maxLength: 3 minLength: 3 pattern: "^[A-Z]{3}$" type: string createSenderRequest: type: object properties: senderType: "$ref": "#/components/schemas/senderTypes" fields: type: array items: "$ref": "#/components/schemas/fieldValue" createRecipientRequest: type: object properties: recipientType: "$ref": "#/components/schemas/recipientTypes" senderId: type: string fields: type: array items: "$ref": "#/components/schemas/fieldValue" createRecipientAccountRequest: type: object properties: dstCountryIso3Code: "$ref": "#/components/schemas/threeUppercaseChars" dstCurrencyIso3Code: "$ref": "#/components/schemas/threeUppercaseChars" transferMethod: "$ref": "#/components/schemas/transferMethods" accountNumber: type: string fields: type: array items: "$ref": "#/components/schemas/fieldValue" executeTransferRequest: type: object properties: dstCountryIso3Code: "$ref": "#/components/schemas/threeUppercaseChars" dstCurrencyIso3Code: "$ref": "#/components/schemas/threeUppercaseChars" srcCurrencyIso3Code: "$ref": "#/components/schemas/threeUppercaseChars" transferMethod: "$ref": "#/components/schemas/transferMethods" quoteBy: "$ref": "#/components/schemas/quoteBy" amount: minimum: 0 type: integer senderId: type: string recipientId: type: string recipientAccountId: type: string purposeOfRemittance: type: integer default: 1 fields: type: array items: "$ref": "#/components/schemas/fieldValue" transferResponse: type: object properties: transferId: type: string confirmationNumber: type: string quote: "$ref": "#/components/schemas/getQuoteResponse200" senderDetails: "$ref": "#/components/schemas/transferResponse_senderDetails" recipientDetails: "$ref": "#/components/schemas/recipient" recipientAccountDetails: "$ref": "#/components/schemas/recipientAccount" disclaimers: type: array items: type: string transferStatusesResponse: type: object properties: statuses: type: array items: "$ref": "#/components/schemas/statusEntry" recipientTypes: type: string description: See [Recipient Type](https://developer.readyremit.com/reference/enum-types#recipient-type). default: PERSON enum: - BUSINESS - PERSON senderTypes: type: string description: See [Sender Type](https://developer.readyremit.com/reference/enum-types#sender-type). default: PERSON enum: - BUSINESS - PERSON kycStatuses: type: string description: See [KYC Status](https://developer.readyremit.com/reference/enum-types#kyc-status). default: UNKNOWN enum: - UNKNOWN - PASSED - ID_REQUIRED - FAILED - PENDING - REQUEST_FAILED transferMethods: type: string description: See [Transfer Method](https://developer.readyremit.com/reference/enum-types#transfer-method). default: BANK_ACCOUNT enum: - BANK_ACCOUNT - CASH_PICKUP - PUSH_TO_CARD cardOnboardingSessionStatuses: type: string description: See [Card Onboarding Session Status](https://developer.readyremit.com/reference/enum-types#card-onboarding-session-status). default: INCOMPLETE enum: - INCOMPLETE - SUCCEEDED - EXPIRED quoteBy: type: string description: See [quoteBy](https://developer.readyremit.com/reference/enum-types#quote-by). default: SEND_AMOUNT enum: - SEND_AMOUNT - RECEIVE_AMOUNT country: required: - iso3Code - name type: object properties: name: type: string iso3Code: maxLength: 3 minLength: 3 pattern: "^[A-Z]{3}$" type: string currency: required: - decimalPlaces - iso3Code - name - symbol type: object properties: name: type: string iso3Code: maxLength: 3 minLength: 3 pattern: "^[A-Z]{3}$" type: string symbol: maxLength: 3 type: string decimalPlaces: maximum: 3 minimum: 0 type: integer corridor: required: - iso3Code - name type: object properties: destinationCountry: "$ref": "#/components/schemas/country" destinationCurrency: "$ref": "#/components/schemas/currency" sourceCurrency: "$ref": "#/components/schemas/currency" transferMethod: "$ref": "#/components/schemas/transferMethods" money: type: object properties: value: minimum: 0 type: integer currency: "$ref": "#/components/schemas/currency" adjustment: required: - amount - label type: object properties: label: type: string amount: "$ref": "#/components/schemas/money" getQuoteResponse200: required: - adjustments - disclosures - rate - receiveAmount - sendAmount - totalCost type: object properties: sendAmount: "$ref": "#/components/schemas/money" receiveAmount: "$ref": "#/components/schemas/money" rate: type: number adjustments: type: array items: "$ref": "#/components/schemas/adjustment" totalCost: "$ref": "#/components/schemas/money" disclosures: type: array items: type: string fieldSet: required: - fields - fieldSetId - fieldSetName type: object properties: fieldSetId: type: string fieldSetName: type: string fields: type: array items: "$ref": "#/components/schemas/textField" baseField: required: - fieldType - id - name - required - validationErrors type: object properties: fieldType: type: string enum: - TEXT id: type: string name: type: string hintText: type: string required: type: boolean validationErrors: type: array items: "$ref": "#/components/schemas/codeMsgFieldIdObject" textField: allOf: - "$ref": "#/components/schemas/baseField" - type: object properties: placeholderText: type: string minLength: type: number maxLength: type: number regex: type: string value: type: string fieldValue: required: - id - type - value type: object properties: id: type: string default: BANK_NAME enum: - BANK_NAME - COMPANY_NAME - DATE_OF_BIRTH - EMAIL - FIRST_NAME - LAST_NAME - NATIONALITY - PHONE_NUMBER type: type: string default: TEXT enum: - DATE - PHONE_NUMBER - DROPDOWN - NUMBER - TEXT value: type: object anyOf: - type: string - required: - currencyIso3Code - units type: object properties: units: type: number currencyIso3Code: maxLength: 3 minLength: 3 pattern: "^[A-Z]{3}$" type: string sender: type: object properties: senderId: type: string senderType: "$ref": "#/components/schemas/senderTypes" firstName: type: string lastName: type: string companyName: type: string kycStatus: "$ref": "#/components/schemas/kycStatuses" fields: type: array items: "$ref": "#/components/schemas/fieldValue" recipient: type: object properties: recipientId: type: string senderId: type: string firstName: type: string lastName: type: string fields: type: array items: "$ref": "#/components/schemas/fieldValue" recipientAccount: type: object properties: recipientAccountId: type: string accountNumber: type: string fields: type: array items: "$ref": "#/components/schemas/fieldValue" getTransferFieldsResponse200: type: object properties: fieldSets: type: array items: "$ref": "#/components/schemas/fieldSet" getCountriesAndCurrenciesResponse200: required: - country - currencies type: object properties: country: "$ref": "#/components/schemas/country" currencies: type: array items: "$ref": "#/components/schemas/currency" fieldSetsObject: required: - fieldSets type: object properties: fieldSets: type: array items: "$ref": "#/components/schemas/fieldSet" transferResponse_senderDetails: type: object properties: senderId: type: string fields: type: array items: "$ref": "#/components/schemas/textField" example: payerLocation: required: - id - name - description type: object properties: id: type: string name: type: string description: type: string statusEntry: type: object required: - status - changedDate properties: status: type: string changedDate: type: string format: date-time securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: JWT x-readme: explorer-enabled: true proxy-enabled: true samples-enabled: true