--- 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: | The `GET /banks` endpoint retrieves the list of banks for a specified country. Bank identifiers names are useful when creating recipient accounts. **Implementation Guide:** - Given a [countryIso3Code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3), this operation returns an array of banks located in that country. - Use this endpoint to dynamically populate bank selection fields in your application. 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: The request was successful, and the response contains a list of banks. content: application/json: schema: "$ref": "#/components/schemas/idNameObjectArray" example: - id: ME94 name: ABC CAPITAL SA INSTITUCION DE BANCA MULTIPLE - id: ME107 name: ACTINVER CASA DE BOLSA SA DE CV - id: ME93 name: AKALA SA DE CV SFP - id: ME16 name: AMERICAN EXPRESS BANK (MEXICO) SA - id: ME21 name: BANBAJIO (BANCO DEL BAJIO SA) - id: ME15 name: BANCA AFIRME '400': description: The request was invalid. This response typically occurs if required parameters are missing or invalid. content: application/json: schema: "$ref": "#/components/schemas/codeMsgFieldIdObjectArray" example: - code: UnsupportedCountry message: "'CountryIso3Code' must be a valid ISO 3 country." fieldId: CountryIso3Code '401': description: The request requires user authentication. This response occurs if the authentication token is missing or invalid. content: application/json: schema: "$ref": "#/components/schemas/response401" "/banks/{bankId}/branches": get: tags: - Banks and Branches summary: Get Bank Branches description: | The `GET /banks/{bankId}/branches` endpoint retrieves the list of branches for a specified bank. Branch identifiers and names are useful when creating recipient accounts. **Implementation Guide:** - This endpoint returns a list of branches that are available for the specified 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. - Use this endpoint to dynamically populate branch selection fields in your application. 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: The request requires user authentication. This response occurs if the authentication token is missing or invalid. 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: | The `GET /partner/countries/{countryIso3Code}/states-and-provinces` endpoint retrieves the list of states and provinces for a specified country.This operation is specifically for Cash Pickup services. **Implementation Guide:** - **Prerequisite**: Ensure that the `countryIso3Code` parameter is provided to retrieve the states and provinces accurately. - **Validation**: Validate the request parameter to ensure it meets the requirements for retrieving the states and provinces. operationId: getPartnerStatesAndProvinces parameters: - name: countryIso3Code in: path description: The ISO 3166-1 alpha-3 code of the country. See [country codes](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3). example: USA required: true explode: true schema: "$ref": "#/components/schemas/threeUppercaseChars" responses: '200': description: The list of states and provinces was successfully retrieved. content: application/json: schema: "$ref": "#/components/schemas/idNameObjectArray" example: - id: M0001 name: AGUASCALIENTES - id: M0002 name: BAJA CALIFORNIA NORTE '400': description: The request was invalid. This response typically occurs if the `countryIso3Code` parameter is missing or invalid. content: application/json: schema: "$ref": "#/components/schemas/codeMsgFieldIdObjectArray" example: - code: UnsupportedCountry message: "'CountryIso3Code' must be a valid ISO 3 country." fieldId: CountryIso3Code '401': description: The request requires user authentication. This response occurs if the authentication token is missing or invalid. content: application/json: schema: "$ref": "#/components/schemas/response401" '404': description: The states and provinces could not be retrieved. This response occurs if the `countryIso3Code` does not match any existing records. content: application/json: schema: "$ref": "#/components/schemas/codeMsgFieldIdObjectArray" "/partner/countries/{countryIso3Code}/states-and-provinces/{stateProvinceId}/cities": get: tags: - Partner Locations summary: Get Partner Cities description: | The `GET /partner/countries/{countryIso3Code}/states-and-provinces/{stateProvinceId}/cities` endpoint retrieves the list of cities within a specified state or province for a given country. This operation is specifically for Cash Pickup services. **Implementation Guide:** - **Prerequisite**: Ensure that the `countryIso3Code` and `stateProvinceId` parameters are provided to retrieve the cities accurately. - **Validation**: Validate the request parameters to ensure they meet the requirements for retrieving the cities. operationId: getPartnerCities parameters: - name: countryIso3Code in: path description: The ISO 3166-1 alpha-3 code of the country. 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: Unique identifier for the state or province. required: true explode: true schema: type: string responses: '200': description: The list of cities was successfully retrieved. content: application/json: schema: "$ref": "#/components/schemas/idNameObjectArray" example: - id: 59993 name: AGUASCALIENTES - id: 94622 name: ARTEAGA '400': description: The request was invalid. This response typically occurs if the `countryIso3Code` or `stateProvinceId` parameter is missing or invalid. content: application/json: schema: "$ref": "#/components/schemas/codeMsgFieldIdObjectArray" example: - code: UnsupportedCountry message: "'CountryIso3Code' must be a valid ISO 3 country." fieldId: CountryIso3Code '401': description: The request requires user authentication. This response occurs if the authentication token is missing or invalid. content: application/json: schema: "$ref": "#/components/schemas/response401" '404': description: The cities could not be retrieved. This response occurs if the `countryIso3Code` or `stateProvinceId` does not match any existing records. content: application/json: schema: "$ref": "#/components/schemas/codeMsgFieldIdObjectArray" "/partner/countries/{countryIso3Code}/states-and-provinces/{stateProvinceId}/cities/{cityId}/payers": get: tags: - Partner Locations summary: Get Partner Payers description: | The `GET /partner/countries/{countryIso3Code}/states-and-provinces/{stateProvinceId}/cities/{cityId}/payers` endpoint retrieves the list of payers within a specified city for a given state or province and country. This operation is specifically for Cash Pickup services. **Implementation Guide:** - **Prerequisite**: Ensure that the `countryIso3Code`, `stateProvinceId`, and `cityId` parameters are provided to retrieve the payers accurately. - **Validation**: Validate the request parameters to ensure they meet the requirements for retrieving the payers. operationId: getPartnerPayers parameters: - name: countryIso3Code in: path description: The ISO 3166-1 alpha-3 code of the country. 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: Unique identifier for the state or province. required: true explode: true schema: type: string - name: cityId in: path description: Unique identifier for the city. required: true explode: true schema: type: string responses: '200': description: The list of payers was successfully retrieved. content: application/json: schema: "$ref": "#/components/schemas/idNameObjectArray" example: - id: ME35 name: TU LANA EXPRESS - id: ME57 name: AIRPAK '400': description: The request was invalid. This response typically occurs if the `countryIso3Code`, `stateProvinceId`, or `cityId` parameter is missing or invalid. content: application/json: schema: "$ref": "#/components/schemas/codeMsgFieldIdObjectArray" example: - code: UnsupportedCountry message: "'CountryIso3Code' must be a valid ISO 3 country." fieldId: CountryIso3Code '401': description: The request requires user authentication. This response occurs if the authentication token is missing or invalid. content: application/json: schema: "$ref": "#/components/schemas/response401" '404': description: The payers could not be retrieved. This response occurs if the `countryIso3Code`, `stateProvinceId`, or `cityId` does not match any existing records. content: application/json: schema: "$ref": "#/components/schemas/codeMsgFieldIdObjectArray" "/partner/countries/{countryIso3Code}/states-and-provinces/{stateProvinceId}/cities/{cityId}/payers/{payerId}/locations": get: tags: - Partner Locations summary: Get Partner Payer Locations description: | The `GET /partner/countries/{countryIso3Code}/states-and-provinces/{stateProvinceId}/cities/{cityId}/payers/{payerId}/locations` endpoint retrieves the list of locations for a specific payer within a specified city for a given state or province and country. This operation is specifically for Cash Pickup services. **Implementation Guide:** - **Prerequisite**: Ensure that the `countryIso3Code`, `stateProvinceId`, `cityId`, and `payerId` parameters are provided to retrieve the locations accurately. - **Validation**: Validate the request parameters to ensure they meet the requirements for retrieving the locations. operationId: getPartnerPayerLocations parameters: - name: countryIso3Code in: path description: The ISO 3166-1 alpha-3 code of the country. 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: Unique identifier for the state or province. required: true explode: true schema: type: string - name: cityId in: path description: Unique identifier for the city. required: true explode: true schema: type: string - name: payerId in: path description: Unique identifier for the payer. required: true explode: true schema: type: string responses: '200': description: The list of locations for the payer was successfully retrieved. 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: The request was invalid. This response typically occurs if the `countryIso3Code`, `stateProvinceId`, `cityId`, or `payerId` parameter is missing or invalid. content: application/json: schema: "$ref": "#/components/schemas/codeMsgFieldIdObjectArray" example: - code: UnsupportedCountry message: "'CountryIso3Code' must be a valid ISO 3 country." fieldId: CountryIso3Code '401': description: The request requires user authentication. This response occurs if the authentication token is missing or invalid. content: application/json: schema: "$ref": "#/components/schemas/response401" '404': description: The locations could not be retrieved. This response occurs if the `countryIso3Code`, `stateProvinceId`, `cityId`, or `payerId` does not match any existing records. content: application/json: schema: "$ref": "#/components/schemas/codeMsgFieldIdObjectArray" "/countries": get: tags: - Helpers summary: Get Countries description: | The `GET /countries` endpoint retrieves the list of countries. **Implementation Guide:** - This endpoint returns a list of countries that are available for transfers. - Use this endpoint to dynamically populate country selection fields in your application. operationId: getCountries responses: '200': description: The request was successful, and the response contains a list of countries. content: application/json: schema: type: array items: type: object properties: name: type: string description: The name of the country. Example- United States iso3Code: type: string description: The ISO 3166-1 alpha-3 code of the country. Example- USA example: - name: United States iso3Code: USA - name: Ireland iso3Code: IRL '401': description: The request requires user authentication. This response occurs if the authentication token is missing or invalid. content: application/json: schema: "$ref": "#/components/schemas/response401" "/corridors": get: tags: - Helpers summary: Get Corridors description: | The `GET /corridors` endpoint retrieves the list of corridors given destination country, destination currency and transfer method. **Implementation Guide:** - This endpoint returns a list of corridors that are available for transfers. - Use this endpoint to dynamically populate corridor selection fields in your application. operationId: getCorridors parameters: - name: dstCountryIso3Code in: query description: The ISO 3166-1 alpha-3 code of the destination country. See [country codes](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3). Example- MEX required: false style: form explode: true schema: "$ref": "#/components/schemas/threeUppercaseChars" - name: dstCurrencyIso3Code in: query description: "The ISO 4217 code of the currency of the amount you would like to receive money. A string of exactly 3 uppercase alphabetical characters. See [currency codes](https://en.wikipedia.org/wiki/ISO_4217). Example: MXN" 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: The request was successful, and the response contains a list of corridors. content: application/json: schema: type: array items: "$ref": "#/components/schemas/corridor" example: - name: United States iso3Code: USA - name: Ireland iso3Code: IRL '401': description: The request requires user authentication. This response occurs if the authentication token is missing or invalid. content: application/json: schema: "$ref": "#/components/schemas/response401" "/countries-and-currencies": get: tags: - Helpers summary: Get Countries and Currencies description: | The `GET /countries-and-currencies` endpoint retrieves the list of countries and their respective currencies 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. **Implementation Guide:** - This endpoint returns a list of countries and their currencies that are available for transfers. - Use this endpoint to dynamically populate country and currency selection fields in your application. operationId: getCountriesAndCurrencies responses: '200': description: The request was successful, and the response contains a list of countries and their currencies. 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: The request requires user authentication. This response occurs if the authentication token is missing or invalid. content: application/json: schema: "$ref": "#/components/schemas/response401" "/nonce": get: tags: - Helpers summary: Get Nonce description: | The `GET /nonce` endpoint generates a unique nonce identifier that can be used to prevent duplicate transfer submissions. **Implementation Guide:** - Call this endpoint before initiating a transfer to obtain a unique nonce identifier. - Include the returned nonce value in the `POST /transfers` request body. - Each nonce can only be used once. If a transfer request is submitted with a nonce that has already been used, the request will be rejected. - Nonces are associated with the authenticated customer and cannot be used by other customers. - Use nonces to implement idempotency and prevent accidental duplicate transfers caused by network issues or user double-clicks. operationId: getNonce responses: '200': description: A new nonce was successfully generated. content: application/json: schema: "$ref": "#/components/schemas/nonceResponse" example: nonce: "a1b2c3d4-e5f6-7890-abcd-ef1234567890" '401': description: The request requires user authentication. This response occurs if the authentication token is missing or invalid. content: application/json: schema: "$ref": "#/components/schemas/response401" "/quote": get: tags: - Quote summary: Get Quote description: | The `GET /quote` endpoint provides a real-time quote for a money transfer. By specifying the source currency, transfer corridor, transfer method, and sender amount, this operation returns a detailed breakdown of the estimated transfer cost and recipient amount. **Implementation Guide:** - **Prerequisite**: Ensure that all required parameters are provided to calculate the quote accurately. - The quote calculation may vary based on the transfer details such as source and destination countries, currencies, and transfer method. Always retrieve a fresh quote before initiating a transfer, as rates and fees may change. - Quotes are time-sensitive and reflect the exchange rate at the moment of retrieval. Rates may fluctuate between the quote request and the actual transfer. operationId: getQuote parameters: - name: dstCountryIso3Code in: query description: The ISO 3166-1 alpha-3 code of the destination country. See [country codes](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3). Example- MEX example: MEX required: true style: form explode: true schema: "$ref": "#/components/schemas/threeUppercaseChars" - name: dstCurrencyIso3Code in: query description: The ISO 4217 code of the currency of the amount you would like to receive money. A string of exactly 3 uppercase alphabetical characters. See [currency codes](https://en.wikipedia.org/wiki/ISO_4217). example: MXN required: true style: form explode: true schema: "$ref": "#/components/schemas/threeUppercaseChars" - name: srcCurrencyIso3Code in: query description: The ISO 4217 code of the currency of the amount you would like to send money. A string of exactly 3 uppercase alphabetical characters. See [currency codes](https://en.wikipedia.org/wiki/ISO_4217). example: USD required: true style: form explode: true schema: "$ref": "#/components/schemas/threeUppercaseChars" - name: transferMethod in: query description: The method used for transferring money. eg - Bank Account, Cash Pickup, Push to Card. See [Transfer Method](https://developer.readyremit.com/reference/enum-types#transfer-method). 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: Numeric value. The amount the sender wishes to transfer. Example- If you want to send 100 USD, this would be 10000. See [how to format an amount based on the currency you would like to send or receive money](https://developer.readyremit.com/reference/currencies). example: 100 required: true style: form explode: true schema: type: number responses: '200': description: The quote was successfully retrieved. content: application/json: schema: oneOf: - "$ref": "#/components/schemas/getQuoteSendAmountResponse200" - "$ref": "#/components/schemas/getQuoteReceiveAmountResponse200" examples: Quote by Send Amount: summary: Quote by Send Amount value: customerId: 9ce909de-f585-4233-bdc5-fdc42cbfd7c4 senderId: 12f67072-19c0-4613-876b-146051c1728a sendAmount: value: 2200 currency: name: US Dollar iso3Code: USD symbol: $ decimalPlaces: 2 roundDirection: STANDARD iso4217Code: '840' receiveAmount: value: 111486 currency: name: Philippine peso iso3Code: PHP symbol: ₱ decimalPlaces: 2 roundDirection: UP iso4217Code: '608' rate: 50.6754 adjustments: - id: TransferFee label: Transfer Fee amount: value: 779 currency: name: US Dollar iso3Code: USD symbol: $ decimalPlaces: 2 roundDirection: STANDARD iso4217Code: '840' totalCost: value: 2979 currency: name: US Dollar iso3Code: USD symbol: $ decimalPlaces: 2 roundDirection: STANDARD iso4217Code: '840' associatedTransferRecordStatus: NotInProgress destinationCountryISO3Code: PHL destinationCurrencyISO3Code: PHP sourceCurrencyIso3Code: USD destinationCountry: name: Philippines iso2Code: PH iso3Code: PHL phoneCode: 63 transferMethod: BANK_ACCOUNT rsp: disclosures: [] deliverySLA: id: FIVE_BUSINESS_DAYS name: five business days quoteHistoryId: d5ae37ac-612f-4706-b5a2-375770fed4b8 Quote by Receive Amount: summary: Quote by Receive Amount value: customerId: 9ce909de-f585-4233-bdc5-fdc42cbfd7c4 senderId: f7f398e5-1430-4957-96dc-559d52933b1c sendAmount: value: 1904 currency: name: US Dollar iso3Code: USD symbol: "$" decimalPlaces: 2 roundDirection: STANDARD iso4217Code: 840 receiveAmount: value: 2800 currency: name: Japanese yen iso3Code: JPY symbol: "¥" decimalPlaces: 0 roundDirection: STANDARD iso4217Code: 392 rate: 147.0704 adjustments: - id: TransferFee label: Transfer Fee amount: value: -100 currency: name: US Dollar iso3Code: USD symbol: "$" decimalPlaces: 2 roundDirection: STANDARD iso4217Code: 840 totalCost: value: 1804 currency: name: US Dollar iso3Code: USD symbol: "$" decimalPlaces: 2 roundDirection: STANDARD iso4217Code: 840 associatedTransferRecordStatus: NotInProgress destinationCountryISO3Code: JPN destinationCurrencyISO3Code: JPY sourceCurrencyIso3Code: USD destinationCountry: name: Japan iso2Code: JP iso3Code: JPN phoneCode: 81 transferMethod: PUSH_TO_CARD rsp: Visa disclosures: [] deliverySLA: id: THIRTY_MINUTES name: thirty minutes quoteHistoryId: 29bd0ff4-4cd4-41e9-badc-d9e3c6bcc3e8 "400": description: The request was invalid. This response typically occurs if required parameters are missing or invalid. content: application/json: schema: "$ref": "#/components/schemas/codeMsgFieldIdObjectArray" example: - code: NoCorridorFoundForSpecificValues message: "No corridor found for [DestinationCountry: '', DestinationCurrency: 'PHP', TransferMethod: 'BANK_ACCOUNT', Customer: 'BWP Shipping']" # description: "No corridor found for [DestinationCountry: '', DestinationCurrency: 'PHP', TransferMethod: 'BANK_ACCOUNT', Customer: 'BWP Shipping']"" - code: InvalidEnumOption message: "'QuoteBy' must be a valid option." fieldId: QuoteBy - code: GreaterThanValidator message: "'Amount' must be greater than '0'." fieldId: Amount - code: MaxLimitOutOfRange message: "Maximum allowable amount exceeded for this transaction." - code: ErrorGettingQuote message: "Exception of type 'brightwell.readyremit.common.ErrorHandling.BrightwellException' was thrown." "401": description: The request requires user authentication. This response occurs if the authentication token is missing or invalid. content: application/json: schema: "$ref": "#/components/schemas/response401" "404": description: The quote could not be retrieved. This response occurs if the parameters provided do not match any available quotes. content: application/json: schema: "$ref": "#/components/schemas/codeMsgFieldIdObjectArray" "/quote/{quoteHistoryId}": get: tags: - Quote summary: Get Quote Details description: | The `GET /quote/{quoteHistoryId}` endpoint retrieves a previously obtained quote based on the quote history ID. **Implementation Guide:** - The quote history id is provided in the response of the `GET /quote` endpoint and from the SDK when preparing to post a transfer. - This endpoint should be used to retrieve a previously obtained quote for reference to confirm the total cost of the transfer during the transfer process. - See [Posting a Transfer](https://developer.readyremit.com/docs/posting-a-transfer) for examples. operationId: getQuoteDetail parameters: - name: quoteHistoryId in: path description: The unique identifier for the previously obtained quote. example: d5ae37ac-612f-4706-b5a2-375770fed4b8 required: true style: simple explode: true schema: type: string format: uuid description: Unique identifier for the quote history. responses: "200": description: The quote was successfully retrieved. content: application/json: schema: oneOf: - "$ref": "#/components/schemas/getQuoteSendAmountResponse200" - "$ref": "#/components/schemas/getQuoteReceiveAmountResponse200" examples: Quote by Send Amount: summary: Quote by Send Amount value: customerId: 9ce909de-f585-4233-bdc5-fdc42cbfd7c4 senderId: 12f67072-19c0-4613-876b-146051c1728a sendAmount: value: 2200 currency: name: US Dollar iso3Code: USD symbol: $ decimalPlaces: 2 roundDirection: STANDARD iso4217Code: "840" receiveAmount: value: 111486 currency: name: Philippine peso iso3Code: PHP symbol: ₱ decimalPlaces: 2 roundDirection: UP iso4217Code: "608" rate: 50.6754 adjustments: - id: TransferFee label: Transfer Fee amount: value: 779 currency: name: US Dollar iso3Code: USD symbol: $ decimalPlaces: 2 roundDirection: STANDARD iso4217Code: "840" totalCost: value: 2979 currency: name: US Dollar iso3Code: USD symbol: $ decimalPlaces: 2 roundDirection: STANDARD iso4217Code: "840" associatedTransferRecordStatus: NotInProgress destinationCountryISO3Code: PHL destinationCurrencyISO3Code: PHP sourceCurrencyIso3Code: USD destinationCountry: name: Philippines iso2Code: PH iso3Code: PHL phoneCode: 63 transferMethod: BANK_ACCOUNT rsp: disclosures: [] deliverySLA: id: FIVE_BUSINESS_DAYS name: five business days quoteHistoryId: d5ae37ac-612f-4706-b5a2-375770fed4b8 Quote by Receive Amount: summary: Quote by Receive Amount value: customerId: 9ce909de-f585-4233-bdc5-fdc42cbfd7c4 senderId: f7f398e5-1430-4957-96dc-559d52933b1c sendAmount: value: 1904 currency: name: US Dollar iso3Code: USD symbol: "$" decimalPlaces: 2 roundDirection: STANDARD iso4217Code: 840 receiveAmount: value: 2800 currency: name: Japanese yen iso3Code: JPY symbol: "¥" decimalPlaces: 0 roundDirection: STANDARD iso4217Code: 392 rate: 147.0704 adjustments: - id: TransferFee label: Transfer Fee amount: value: -100 currency: name: US Dollar iso3Code: USD symbol: "$" decimalPlaces: 2 roundDirection: STANDARD iso4217Code: 840 totalCost: value: 1804 currency: name: US Dollar iso3Code: USD symbol: "$" decimalPlaces: 2 roundDirection: STANDARD iso4217Code: 840 associatedTransferRecordStatus: NotInProgress destinationCountryISO3Code: JPN destinationCurrencyISO3Code: JPY sourceCurrencyIso3Code: USD destinationCountry: name: Japan iso2Code: JP iso3Code: JPN phoneCode: 81 transferMethod: PUSH_TO_CARD rsp: Visa disclosures: [] deliverySLA: id: THIRTY_MINUTES name: thirty minutes quoteHistoryId: 29bd0ff4-4cd4-41e9-badc-d9e3c6bcc3e8 "400": description: The request was invalid. This response typically occurs if required parameters are missing or invalid. content: application/json: schema: "$ref": "#/components/schemas/codeMsgFieldIdObjectArray" example: - code: ErrorGettingQuote message: "Exception of type 'brightwell.readyremit.common.ErrorHandling.BrightwellException' was thrown." "401": description: The request requires user authentication. This response occurs if the authentication token is missing or invalid. content: application/json: schema: "$ref": "#/components/schemas/response401" "404": description: The quote could not be retrieved. This response occurs if the parameters provided do not match any available quotes. content: application/json: schema: "$ref": "#/components/schemas/codeMsgFieldIdObjectArray" "/recipient-fields": get: tags: - Recipients summary: Get Recipient Fields description: | The `GET /recipient-fields` endpoint retrieves the required and optional fields necessary for creating or updating a recipient record. **Implementation Guide:** - This endpoint must be called before the `POST /recipients` endpoint to ensure that all necessary data is collected for creating a recipient record. - The fields returned by this endpoint are dynamic and may change based on the recipient type, destination country, destination currency, and transfer method. It is recommended not to cache the response and always fetch the latest field requirements. For more information see [Dynamic fields](https://developer.readyremit.com/reference/dynamic-fields). - Use the response from this endpoint to dynamically generate forms for collecting recipient information. Ensure that all required fields are included in the form. operationId: getRecipientFields parameters: - name: dstCountryIso3Code in: query description: The ISO 3166-1 alpha-3 code of the destination country. See [country codes](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3). Example- MEX required: true style: form explode: true schema: "$ref": "#/components/schemas/threeUppercaseChars" - name: dstCurrencyIso3Code in: query description: "The ISO 4217 code of the currency of the amount you would like to receive money. A string of exactly 3 uppercase alphabetical characters. 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 description: The method used for transferring money. eg - Bank Account, Cash Pickup, Push to Card. See [Transfer Method](https://developer.readyremit.com/reference/enum-types#transfer-method). required: true style: form explode: true schema: "$ref": "#/components/schemas/transferMethods" - name: recipientType in: query description: The type of recipient. See [Recipient Type](https://developer.readyremit.com/reference/enum-types#recipient-type). required: true style: form explode: true schema: "$ref": "#/components/schemas/recipientTypes" responses: '200': description: The request was successful, and the response contains a collection of field sets. Each field set includes a collection of fields with details such as field type, length constraints, and whether the field is required. content: application/json: schema: type: object properties: fieldSets: type: array description: A collection of field sets, each containing multiple fields with validation rules and attributes. items: type: object properties: fieldSetId: type: string description: "The unique identifier for the field set. Example: PERSONAL_INFORMATION" fieldSetName: type: string description: "The name of the field set for better readability. Example: Personal Information" fields: type: array description: A list of fields in this field set, defining required inputs for data collection. items: type: object properties: fieldType: type: string enum: - TEXT - PHONE_NUMBER - DATE - DROPDOWN description: "Defines the type of input expected for this field. Example: TEXT" minLength: type: integer description: "Minimum number of characters required for input. Example: 1" maxLength: type: integer description: "Maximum number of characters allowed for input. Example: 50" regex: type: string description: "Regular expression to validate input format. Example: '^[\\x20-\\x7E\\xA0-ÿ]+$'" fieldId: type: string description: "A unique identifier for the field. Example: FIRST_NAME" name: type: string description: "The human-readable name of the field. Example: First name" hintText: type: string description: "Provides additional guidance on expected input. Example: Enter the recipient's first name as it appears on their ID" isRequired: type: boolean description: "Indicates whether the field is mandatory. Example: true" visibility: type: string enum: - SHOW_AND_REQUIRED - SHOW_AND_OPTIONAL - HIDE_AND_OPTIONAL description: Defines whether a field is visible and required. Determines how fields appear on the UI and whether users must fill them out. Options are SHOW_REQUIRED (fields must be shown and are required), SHOW_OPTIONAL (fields are shown but optional), and HIDE_AND_OPTIONAL (fields are hidden but optional). placeholderText: type: string description: "Default text displayed in the input field. Example: First name" label: type: string description: "A unique key for localization and translation purposes. Example: FirstName" sortOrder: type: integer description: "Determines the order in which fields appear in the form. Example: 1" dependencies: type: object description: Defines field dependencies based on other field values. properties: isRequired: type: array description: Specifies conditions where this field becomes required. items: type: object properties: comparisonOperator: type: string enum: - EQUAL_TO - NOT_EQUAL_TO - GREATER_THAN - LESS_THAN description: Defines the comparison logic for dependency. comparisonValues: type: array items: type: string description: Specifies values that trigger this dependency. fieldId: type: string description: The field ID that this dependency is based on. visibility: type: array description: Specifies conditions where this field’s visibility changes based on another field. items: type: object properties: comparisonOperator: type: string enum: - EQUAL_TO - NOT_EQUAL_TO description: Defines the comparison logic for visibility. comparisonValues: type: array items: type: string description: Specifies values that trigger visibility changes. fieldId: type: string description: The field ID that controls this field’s visibility. options: type: array description: The list of available countries. items: type: object properties: id: type: string description: "The unique identifier for the dropdown option. Example: USA" name: type: string description: "The display name of the option. Example: United States" examples: Person: summary: PERSON value: fieldSets: - fieldSetId: "PERSONAL_INFORMATION" fieldSetName: "Personal Information" fields: - fieldType: "TEXT" minLength: 1 maxLength: 50 regex: "^[\\x20-\\x7E\\xA0-ÿ]+$" fieldId: "FIRST_NAME" name: "First name" hintText: "Enter the recipient's first name as it appears on their ID" isRequired: true visibility: "SHOW_AND_REQUIRED" placeholderText: "First name" label: "FirstName" sortOrder: 1 dependencies: {} - fieldType: "TEXT" minLength: 1 maxLength: 50 regex: "^[\\x20-\\x7E\\xA0-ÿ]+$" fieldId: "LAST_NAME" name: "Last name" hintText: "Enter the recipient's last name as it appears on their ID" isRequired: true visibility: "SHOW_AND_REQUIRED" placeholderText: "Last name" label: "LastName" sortOrder: 3 dependencies: {} - fieldType: "PHONE_NUMBER" minLength: 7 maxLength: 15 regex: "^[0-9]{7,15}$" fieldId: "PHONE_NUMBER" name: "Mobile phone number" isRequired: false visibility: "HIDE_AND_OPTIONAL" placeholderText: "Mobile phone number" label: "MobilePhoneNumber" dependencies: {} - fieldSetId: "ADDRESS" fieldSetName: "Address" fields: - fieldType: "TEXT" minLength: 5 maxLength: 200 regex: "^[\\x20-\\x7E\\xA0-ÿ]+$" fieldId: "ADDRESS_LINE_1" name: "Address line 1" isRequired: false visibility: "HIDE_AND_OPTIONAL" placeholderText: "Address line 1" label: "AddressLine1" sortOrder: 1 dependencies: {} - fieldType: "TEXT" regex: "^[\\x20-\\x7E\\xA0-ÿ]+$" fieldId: "ADDRESS_LINE_2" name: "Address line 2" isRequired: false visibility: "HIDE_AND_OPTIONAL" placeholderText: "Address line 2" label: "AddressLine2" sortOrder: 2 dependencies: {} - fieldType: "TEXT" regex: "^[\\x20-\\x7E\\xA0-ÿ]+$" fieldId: "ADDRESS_CITY" name: "City" isRequired: false visibility: "HIDE_AND_OPTIONAL" placeholderText: "City" label: "City" sortOrder: 3 dependencies: {} - fieldType: "DROPDOWN" options: [] minLength: 2 maxLength: 2 regex: "^[A-Z]{2}$" fieldId: "ADDRESS_STATE" name: "State" isRequired: false visibility: "HIDE_AND_OPTIONAL" placeholderText: "State" label: "State" sortOrder: 4 dependencies: {} - fieldType: "TEXT" minLength: 4 maxLength: 7 regex: "^[0-9a-zA-Z\\s]{4,7}$" fieldId: "ADDRESS_ZIP" name: "Zip code" isRequired: false visibility: "HIDE_AND_OPTIONAL" placeholderText: "Zip code" label: "ZipCode" sortOrder: 5 dependencies: {} - fieldType: "DROPDOWN" options: - id: "AFG" name: "Afghanistan" - id: "ALA" name: "Aland Islands" - id: "ALB" name: "Albania" - id: "DZA" name: "Algeria" - id: "ASM" name: "American Samoa" - id: "AND" name: "Andorra" - id: "AGO" name: "Angola" - id: "AIA" name: "Anguilla" - id: "ATA" name: "Antarctica" - id: "ATG" name: "Antigua And Barbuda" - id: "ARG" name: "Argentina" - id: "ARM" name: "Armenia" - id: "ABW" name: "Aruba" - id: "AUS" name: "Australia" - id: "AUT" name: "Austria" - id: "AZE" name: "Azerbaijan" - id: "BHS" name: "Bahamas The" - id: "BHR" name: "Bahrain" - id: "BGD" name: "Bangladesh" - id: "BRB" name: "Barbados" - id: "BLR" name: "Belarus" - id: "BEL" name: "Belgium" - id: "BLZ" name: "Belize" - id: "BEN" name: "Benin" - id: "BMU" name: "Bermuda" - id: "BTN" name: "Bhutan" - id: "BOL" name: "Bolivia" - id: "BES" name: "Bonaire, Sint Eustatius and Saba" - id: "BIH" name: "Bosnia and Herzegovina" - id: "BWA" name: "Botswana" - id: "BVT" name: "Bouvet Island" - id: "BRA" name: "Brazil" - id: "IOT" name: "British Indian Ocean Territory" - id: "BRN" name: "Brunei" - id: "BGR" name: "Bulgaria" - id: "BFA" name: "Burkina Faso" - id: "BDI" name: "Burundi" - id: "KHM" name: "Cambodia" - id: "CMR" name: "Cameroon" - id: "CAN" name: "Canada" - id: "CPV" name: "Cape Verde" - id: "CYM" name: "Cayman Islands" - id: "CAF" name: "Central African Republic" - id: "TCD" name: "Chad" - id: "CHL" name: "Chile" - id: "CHN" name: "China" - id: "CXR" name: "Christmas Island" - id: "CCK" name: "Cocos (Keeling) Islands" - id: "COL" name: "Colombia" - id: "COM" name: "Comoros" - id: "COG" name: "Congo" - id: "COK" name: "Cook Islands" - id: "CRI" name: "Costa Rica" - id: "CIV" name: "Cote D'Ivoire (Ivory Coast)" - id: "HRV" name: "Croatia" - id: "CUB" name: "Cuba" - id: "CYP" name: "Cyprus" - id: "CZE" name: "Czech Republic" - id: "DNK" name: "Denmark" - id: "DJI" name: "Djibouti" - id: "DMA" name: "Dominica" - id: "DOM" name: "Dominican Republic" minLength: 3 maxLength: 3 regex: "^[A-Za-z]{3}$" fieldId: "ADDRESS_COUNTRY" name: "Country" isRequired: true visibility: "SHOW_AND_REQUIRED" placeholderText: "Country" label: "Country" sortOrder: 6 dependencies: {} '400': description: The request was invalid. This response typically occurs if required parameters are missing or invalid. 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: The request requires user authentication. This response occurs if the authentication token is missing or invalid. content: application/json: schema: "$ref": "#/components/schemas/response401" "/recipients": post: tags: - Recipients summary: Create Recipient description: | The `POST /recipients` endpoint creates a new recipient record. This operation requires the necessary fields obtained from the `GET /recipient-fields` endpoint. **Implementation Guide:** - **Prerequisite**: Ensure that the `GET /recipient-fields` endpoint is called first to retrieve the necessary fields for creating a recipient record. - **Data Retrieval**: The fields required for creating a recipient record are dynamic and may change based on the recipient type, destination country, destination currency, and transfer method. Always use the latest field requirements from the `GET /recipient-fields` endpoint. - Validate the request body against the field requirements obtained from the `GET /recipient-fields` endpoint to ensure all required fields are included and correctly formatted. operationId: createRecipient requestBody: content: application/json: schema: "$ref": "#/components/schemas/createRecipientRequest" examples: Person: summary: PERSON value: dstCountryIso3Code: BRA dstCurrencyIso3Code: BRL userType: PERSON transferMethod: CASH_PICKUP fields: - id: LAST_NAME value: Smith - id: FIRST_NAME value: James - id: PHONE_NUMBER value: number: '90822235786' countryIso3Code: BFA countryPhoneCode: 226 - id: ID_NUMBER value: '12345678901' - id: ID_TYPE value: G2 - id: ADDRESS_LINE_1 value: 123 Main St - id: ADDRESS_ZIP value: '30303' - id: ADDRESS_COUNTRY value: BRA Business: summary: BUSINESS value: dstCountryIso3Code: BFA dstCurrencyIso3Code: XOF userType: BUSINESS transferMethod: CASH_PICKUP fields: - id: LAST_NAME value: John - id: COMPANY_NAME value: Walker LLC - id: PHONE_NUMBER value: number: '90822235786' countryIso3Code: BFA countryPhoneCode: 226 - id: ADDRESS_COUNTRY value: BFA responses: '201': description: The recipient record was successfully created. content: application/json: schema: "$ref": "#/components/schemas/recipient" examples: Person: summary: PERSON value: recipientId: 23a9368c-dfa0-44d0-9aac-6693a2b727a6 senderId: 7ca08202-07df-46b5-8cce-04009073017b recipientType: PERSON firstName: Tad lastName: Johnston fields: - id: FIRST_NAME name: First name type: TEXT value: Tad - id: ADDRESS_LINE_1 name: Address line 1 type: TEXT value: Bergstrom Turnpike - id: LAST_NAME name: Last name type: TEXT value: Johnston - id: ADDRESS_ZIP name: Zip code type: TEXT value: '30303' - id: ADDRESS_COUNTRY name: Country type: DROPDOWN value: BRA - id: PHONE_NUMBER name: Mobile phone number type: PHONE_NUMBER value: number: '90822235786' countryIso3Code: BFA countryPhoneCode: 226 - id: ID_NUMBER name: CPF type: TEXT value: '12345678901' - id: ID_TYPE name: ID type type: DROPDOWN value: Government ID Business: summary: BUSINESS value: recipientId: 0854c353-62d7-42d3-9a6c-0a8502e4c059 senderId: c7d53d24-7ff7-42da-bf88-daba6b9b4096 recipientType: BUSINESS lastName: Denesik companyName: Merlin fields: - id: LAST_NAME name: Last name type: TEXT value: Denesik - id: COMPANY_NAME name: First name type: TEXT value: Merlin - id: PHONE_NUMBER name: Mobile phone number type: PHONE_NUMBER value: number: '90822235786' countryIso3Code: BFA countryPhoneCode: 226 - id: ADDRESS_COUNTRY name: Country type: DROPDOWN value: BFA '400': description: The request was invalid. This response typically occurs if required parameters are missing or invalid. 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: The request requires user authentication. This response occurs if the authentication token is missing or invalid. content: application/json: schema: "$ref": "#/components/schemas/response401" '403': description: The request was valid, but the server is refusing action. This response occurs if the user does not have permission to create the recipient record. 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. get: tags: - Recipients summary: Get Recipients description: | The `GET /recipients` endpoint retrieves all recipient records associated with a specified sender. **Implementation Guide:** - Ensure that the `senderId` parameter is correctly formatted and corresponds to an existing sender record. - Use this endpoint to fetch the complete list of recipients associated with a sender, which can be used for displaying information in user interfaces or for verifying recipient details before performing other operations. operationId: getRecipients parameters: - name: senderId in: query description: The unique identifier of the recipient. required: true style: form explode: true schema: type: string format: uuid description: The unique identifier of the recipient. responses: '200': description: The request was successful, and the response contains a list of recipient records associated with the specified sender. 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: Robert lastName: Williams fields: - id: FIRST_NAME type: TEXT value: Robert - id: LAST_NAME type: TEXT value: Williams - 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 '400': description: The request was invalid. This response typically occurs if the `senderId` parameter is missing or invalid. content: application/json: schema: "$ref": "#/components/schemas/codeMsgFieldIdObject" example: code: InvalidSenderId message: "'senderId' must be a valid UUID." fieldId: senderId '401': description: The request requires user authentication. This response occurs if the authentication token is missing or invalid. content: application/json: schema: "$ref": "#/components/schemas/response401" '403': description: The request was valid, but the server is refusing action. This response occurs if the user does not have permission to access the recipient records. 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. '404': description: The specified sender record was not found. This response occurs if the `senderId` does not match any existing sender records. content: application/json: schema: "$ref": "#/components/schemas/codeMsgDescObject" example: code: SenderNotFound message: Sender not found. description: The sender record with the specified 'senderId' does not exist. '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).) "/recipients/{recipientId}": get: tags: - Recipients summary: Get Recipient description: | The `GET /recipients/{recipientId}` endpoint retrieves the details of a specific recipient record. This operation is essential for fetching the complete information of a recipient, including their personal details and any additional fields. **Implementation Guide:** - Ensure that the `recipientId` parameter is correctly formatted and corresponds to an existing recipient record. - Use this endpoint to fetch complete recipient details, which can be used for displaying information in user interfaces or for verifying recipient details before performing other operations. operationId: getRecipient parameters: - name: recipientId in: path description: Unique identifier for the recipient. required: true style: simple explode: false schema: type: string format: uuid description: Unique identifier for the recipient. responses: '200': description: The request was successful, and the response contains the complete details of the recipient. content: application/json: schema: "$ref": "#/components/schemas/recipient" examples: Person: summary: PERSON value: recipientId: 23a9368c-dfa0-44d0-9aac-6693a2b727a6 senderId: 7ca08202-07df-46b5-8cce-04009073017b recipientType: PERSON firstName: Tad lastName: Johnston fields: - id: FIRST_NAME name: First name type: TEXT value: Tad - id: ADDRESS_LINE_1 name: Address line 1 type: TEXT value: Bergstrom Turnpike - id: LAST_NAME name: Last name type: TEXT value: Johnston - id: ADDRESS_ZIP name: Zip code type: TEXT value: '30303' - id: ADDRESS_COUNTRY name: Country type: DROPDOWN value: BRA - id: PHONE_NUMBER name: Mobile phone number type: PHONE_NUMBER value: number: '90822235786' countryIso3Code: BFA countryPhoneCode: 226 - id: ID_NUMBER name: CPF type: TEXT value: '12345678901' - id: ID_TYPE name: ID type type: DROPDOWN value: Government ID 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: The request was invalid. This response typically occurs if the `recipientId` parameter is missing or invalid. content: application/json: schema: "$ref": "#/components/schemas/codeMsgFieldIdObject" example: code: InvalidRecipientId message: "'recipientId' must be a valid UUID." fieldId: recipientId '401': description: The request requires user authentication. This response occurs if the authentication token is missing or invalid. content: application/json: schema: "$ref": "#/components/schemas/response401" '403': description: The request was valid, but the server is refusing action. This response occurs if the user does not have permission to access the recipient record. content: application/json: schema: "$ref": "#/components/schemas/codeMsgDescObject" example: code: AccessDenied message: Sorry! Access denied description: Exception of type 'brightwell.readyremit.common.ErrorHandling.BrightwellException' was thrown. '404': description: The specified recipient record was not found. This response occurs if the `recipientId` does not match any existing recipient records. content: application/json: schema: "$ref": "#/components/schemas/codeMsgDescObject" example: code: RecipientNotFound message: Recipient not found. description: The recipient record with the specified 'recipientId' does not exist. put: tags: - Recipients summary: Update Recipient description: | The `PUT /recipients/{recipientId}` endpoint updates the details of an existing recipient record. This operation requires the necessary fields obtained from the `GET /recipient-fields` endpoint. **Implementation Guide:** - Ensure that the `GET /recipient-fields` endpoint is called first to retrieve the necessary fields for updating a recipient record. - The fields required for updating a recipient record are dynamic and may change based on the recipient type, destination country, destination currency, and transfer method. Always use the latest field requirements from the `GET /recipient-fields` endpoint. operationId: updateRecipient parameters: - name: recipientId in: path description: Unique identifier for the recipient. required: true style: simple explode: false schema: type: string format: uuid description: Unique identifier for the recipient. 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: The recipient record was successfully updated. 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: Jennifer lastName: Davis fields: - id: FIRST_NAME type: TEXT value: Jennifer - id: LAST_NAME type: TEXT value: Davis 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: The request was invalid. This response typically occurs if required parameters are missing or invalid. 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: The request requires user authentication. This response occurs if the authentication token is missing or invalid. content: application/json: schema: "$ref": "#/components/schemas/response401" '403': description: The request was valid, but the server is refusing action. This response occurs if the user does not have permission to update the recipient record. content: application/json: schema: "$ref": "#/components/schemas/codeMsgDescObject" example: code: AccessDenied message: Sorry! Access denied :( description: Exception of type 'brightwell.readyremit.common.ErrorHandling.BrightwellException' was thrown. '404': description: The specified recipient record was not found. This response occurs if the `recipientId` does not match any existing recipient records. content: application/json: schema: "$ref": "#/components/schemas/codeMsgDescObject" example: code: RecipientNotFound message: Recipient not found. description: The recipient record with the specified 'recipientId' does not exist. delete: tags: - Recipients summary: Delete Recipient description: | The `DELETE /recipients/{recipientId}` endpoint deletes an existing recipient record. **Implementation Guide:** - Ensure that the `recipientId` parameter is correctly formatted and corresponds to an existing recipient record. - Use this endpoint to permanently delete a recipient record from the system. This action cannot be undone. operationId: deleteRecipient parameters: - name: recipientId in: path description: Unique identifier for the recipient. required: true style: simple explode: false schema: type: string format: uuid description: Unique identifier for the recipient. responses: '200': description: The recipient record was successfully deleted. content: application/json: schema: "$ref": "#/components/schemas/codeMsgDescObject" example: code: RecipientDeleted message: Recipient record deleted successfully. description: Recipient record deleted successfully. '401': description: The request requires user authentication. This response occurs if the authentication token is missing or invalid. content: application/json: schema: "$ref": "#/components/schemas/response401" example: code: InvalidRecipientId message: "'recipientId' must be a valid UUID." fieldId: recipientId '403': description: The request was valid, but the server is refusing action. This response occurs if the user does not have permission to delete the recipient record. content: application/json: schema: "$ref": "#/components/schemas/codeMsgDescObject" example: code: AccessDenied message: Sorry! Access denied :( description: Exception of type 'brightwell.readyremit.common.ErrorHandling.BrightwellException' was thrown. '404': description: The specified recipient record was not found. This response occurs if the `recipientId` does not match any existing recipient records. content: application/json: schema: "$ref": "#/components/schemas/codeMsgDescObject" example: code: RecipientNotFound message: Recipient not found. description: The recipient record with the specified 'recipientId' does not exist. "/recipient-account-fields": get: tags: - Recipient Accounts summary: Get Recipient Account Fields description: | The `GET /recipient-account-fields` endpoint retrieves the required and optional fields necessary for creating or updating a recipient account record. **Implementation Guide:** - This endpoint must be called before the `POST /recipients/{recipientId}/accounts` endpoint to ensure that all necessary data is collected for creating a recipient account record. - The fields returned by this endpoint are dynamic and may change based on the recipient type, destination country, destination currency, and transfer method. It is recommended not to cache the response and always fetch the latest field requirements. - Use the response from this endpoint to dynamically collect the necessary information from users. Ensure that all required fields are included in the data collection process. For more information, see [Dynamic fields](https://developer.readyremit.com/reference/dynamic-fields). operationId: getRecipientAccountFields parameters: - name: dstCountryIso3Code in: query description: The ISO 3166-1 alpha-3 code of the destination country. See [country codes](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3). Example- MEX required: true style: form explode: true schema: "$ref": "#/components/schemas/threeUppercaseChars" - name: dstCurrencyIso3Code in: query description: "The ISO 4217 code of the currency of the amount you would like to receive money. A string of exactly 3 uppercase alphabetical characters. See [currency codes](https://en.wikipedia.org/wiki/ISO_4217). Example: MXN" required: true style: form explode: true schema: "$ref": "#/components/schemas/threeUppercaseChars" - name: transferMethod in: query description: "The method used for transferring money. Example: Bank Account, Cash Pickup, Push to Card. See [Transfer Method](https://developer.readyremit.com/reference/enum-types#transfer-method)." required: true style: form explode: true schema: "$ref": "#/components/schemas/transferMethods" - name: recipientType in: query description: "Defines the type of recipient receiving the transfer. This determines the required fields and compliance checks. Possible values include: PERSON (An individual receiving funds) and BUSINESS: (A company or organization receiving the transfer). Refer to the [Recipient Type](https://developer.readyremit.com/reference/enum-types#recipient-type) for the full list of supported values. " required: true style: form explode: true schema: "$ref": "#/components/schemas/recipientTypes" responses: '200': description: The request was successful, and the response contains a collection of field sets. Each field set includes a collection of fields with details such as field type, length constraints, and whether the field is required. content: application/json: schema: oneOf: - "$ref": "#/components/schemas/fieldSetsObject" - "$ref": "#/components/schemas/recipientAccountMobileWallet" - "$ref": "#/components/schemas/fieldSetsObject" examples: Bank Account: summary: Bank Account value: fieldSets: - fieldSetId: BANK_DETAILS fieldSetName: Bank Details fields: - fieldType: TEXT minLength: 7 maxLength: 15 regex: '^[0-9]{7,15}$' fieldId: BANK_ACCOUNT_NUMBER name: Bank account number isRequired: true visibility: SHOW_AND_REQUIRED placeholderText: Bank account number label: BankAccountNumber dependencies: {} - fieldType: DROPDOWN options: [] minLength: 1 maxLength: 3 regex: '^[\x20-\x7E\xA0-\xFF]+$' fieldId: BANK_ACCOUNT_TYPE name: Type of account isRequired: false visibility: HIDE_AND_OPTIONAL placeholderText: Type of account label: TypeOfAccount dependencies: {} - fieldType: TEXT minLength: 9 maxLength: 9 regex: '^[0-9]{9}$' fieldId: BANK_CODE name: Bank Code isRequired: true visibility: SHOW_AND_REQUIRED label: Bank Code dependencies: {} - fieldType: TEXT minLength: 1 maxLength: 50 regex: '^[0-9a-zA-Z\s]{1,50}$' fieldId: BANK_NAME name: Bank Name hintText: '' isRequired: true visibility: SHOW_AND_REQUIRED label: Bank Name dependencies: {} Mobile Wallet: summary: Mobile Wallet value: fieldSets: - fieldSetId: "PERSONAL_INFORMATION" fieldSetName: "Personal information" fields: - fieldType: "PHONE_NUMBER" minLength: 7 maxLength: 15 regex: "^[0-9]{7,15}$" fieldId: "PHONE_NUMBER" name: "Mobile phone number" hintText: "" isRequired: true visibility: "SHOW_AND_REQUIRED" placeholderText: "Mobile phone number" label: "MobilePhoneNumber" dependencies: {} - fieldSetId: "MOBILE_WALLET_DETAILS" fieldSetName: "Mobile wallet details" fields: - fieldType: "DROPDOWN" options: - id: "PH010198" name: "GCash" - id: "PH010197" name: "Maya" fieldId: "MOBILE_WALLET_PROVIDER" name: "Mobile wallet provider" isRequired: true visibility: "SHOW_AND_REQUIRED" placeholderText: "Mobile wallet provider" label: "Mobile wallet provider" dependencies: {} '400': description: The request was invalid. This response typically occurs if required parameters are missing or invalid. content: application/json: schema: "$ref": "#/components/schemas/codeMsgFieldIdObjectArray" example: - code: UnsupportedCountry message: "'DestinationCountryISO3Code' must be a valid ISO 3 country." fieldId: DestinationCountryISO3Code - code: NotEmptyValidator message: "'Destination Country ISO 3 Code' is required." fieldId: DestinationCountryISO3Code '401': description: The request requires user authentication. This response occurs if the authentication token is missing or invalid. content: application/json: schema: "$ref": "#/components/schemas/response401" "/recipients/{recipientId}/accounts": get: tags: - Recipient Accounts summary: Get Recipient Accounts description: | The `GET /recipients/{recipientId}/accounts` endpoint retrieves all account records associated with a specified recipient. **Implementation Guide:** - Ensure that the `recipientId` parameter is correctly formatted and corresponds to an existing recipient record. - Use this endpoint to fetch the complete list of accounts associated with a recipient, which can be used for displaying information in user interfaces or for verifying account details before performing other operations. operationId: getRecipientAccounts parameters: - name: recipientId in: path description: Unique identifier for the recipient. required: true style: simple explode: false schema: type: string format: uuid description: Unique identifier for the recipient. responses: '200': description: The request was successful, and the response contains a list of account records associated with the specified recipient. content: application/json: schema: type: object properties: accounts: type: array description: "A list of recipient account records. Each account contains detailed information about the recipient's account, including the account number and additional fields." items: type: object properties: recipientAccountId: type: string description: "The unique identifier for the recipient's account. This ID is used to track and manage the account within the system. Example: 'e27c7395-b46a-4b9b-89fd-cd6a3da7fd85'" accountNumber: type: string description: "The full account number of the recipient's account. This number is used for processing transactions and identifying the account. Example: '98237498327489273'" fields: type: array description: "A list of additional fields associated with the recipient's account. Each field contains specific information and attributes, such as field type and value." items: type: object properties: id: type: string description: "The unique identifier for the field. This ID is used to reference and manage the specific field within the system. Example: 'bankId'" type: type: string description: "The type of the field input, such as NUMBER or TEXT. This defines the kind of data expected in this field. Example: 'NUMBER'" value: type: string description: "The value of the field. This is the actual data entered for the field. Example: '78'" 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' '400': description: The request was invalid. This response typically occurs if the `recipientId` parameter is missing or invalid. content: application/json: schema: "$ref": "#/components/schemas/codeMsgFieldIdObject" example: code: InvalidRecipientId message: "'recipientId' must be a valid UUID." fieldId: recipientId '401': description: The request requires user authentication. This response occurs if the authentication token is missing or invalid. content: application/json: schema: "$ref": "#/components/schemas/response401" '403': description: The request was valid, but the server is refusing action. This response occurs if the user does not have permission to access the account records. content: application/json: schema: "$ref": "#/components/schemas/codeMsgDescObject" example: code: AccessDenied message: Sorry! Access denied :( description: Exception of type 'brightwell.readyremit.common.ErrorHandling.BrightwellException' was thrown. '404': description: The specified recipient record was not found. This response occurs if the `recipientId` does not match any existing recipient records. content: application/json: schema: "$ref": "#/components/schemas/codeMsgDescObject" example: code: RecipientNotFound message: Recipient not found. description: The recipient record with the specified 'recipientId' does not exist. post: tags: - Recipient Accounts summary: Create Recipient Account description: | The `POST /recipients/{recipientId}/accounts` endpoint creates a new account record for a specified recipient. **Implementation Guide:** - Ensure that the `GET /recipient-account-fields` endpoint is called first to retrieve the necessary fields for creating a recipient account record. - The fields required for creating a recipient account record are dynamic and may change based on the recipient type, destination country, destination currency, and transfer method. Always use the latest field requirements from the `GET /recipient-account-fields` endpoint. operationId: createRecipientAccount parameters: - name: recipientId in: path description: Unique identifier for the recipient. required: true style: simple explode: false schema: type: string format: uuid description: Unique identifier for the recipient. requestBody: content: application/json: schema: "$ref": "#/components/schemas/createRecipientAccountRequest" example: dstCountryIso3Code: "IND": dstCurrencyIso3Code: "INR": transferMethod: BANK_ACCOUNT accountNumber: '333000333' fields: - id: BANK_ACCOUNT_NUMBER type: TEXT value: '123456789012' - id: BANK_BRANCH type: TEXT value: 123456789 - id: BANK type: TEXT value: C0132 - id: BANK_ACCOUNT_TYPE type: TEXT value: C responses: '201': description: Recipient Record was successfully created. content: application/json: schema: type: object properties: dstCurrencyIso3Code: type: string description: > The ISO 4217 code of the destination currency. This code is used to identify the currency in which the recipient will receive the funds. Example: "CAD" dstCountryIso3Code: type: string description: > The ISO 3166-1 alpha-3 code of the destination country. This code is used to identify the country where the recipient's account is located. Example: "CAN" transferMethod: type: string description: > The method used for transferring money. This field specifies how the funds will be delivered to the recipient's account. Example: "BANK_ACCOUNT" recipientAccountId: type: string description: > The unique identifier for the recipient's account. This ID is used to track and manage the account within the system. Example: "a24d0ea7-401a-438e-8e88-0759622a9fb7" accountNumber: type: string description: > The masked account number of the recipient's account. This number is used for processing transactions and identifying the account. Example: "********9012" fields: type: object description: > A collection of additional fields associated with the recipient's account. Each field contains specific information and attributes, such as field type and value. properties: dstCurrencyIso3Code: type: string description: > The ISO 4217 code of the destination currency. This code is used to identify the currency in which the recipient will receive the funds. Example: "USD" dstCountryIso3Code: type: string description: > The ISO 3166-1 alpha-3 code of the destination country. This code is used to identify the country where the recipient's account is located. Example: "USA" transferMethod: type: string description: > The method used for transferring money. This field specifies how the funds will be delivered to the recipient's account. Example: "BANK_ACCOUNT" recipientAccountId: type: string description: > The unique identifier for the recipient's account. This ID is used to track and manage the account within the system. Example: "ae22913a-521b-4d91-a86e-15c9c778bfaf" accountNumber: type: string description: > The masked account number of the recipient's account. This number is used for processing transactions and identifying the account. Example: "*************0189" fields: type: array description: > A list of additional fields associated with the recipient's account. Each field contains specific information and attributes, such as field type and value. items: type: object properties: id: type: string description: > The unique identifier for the field. This ID is used to reference and manage the specific field within the system. Example: "BANK_ACCOUNT_NUMBER" name: type: string description: > The name of the field. This name helps in identifying the purpose or context of the field. Example: "Bank account number" type: type: string description: > The type of the field input, such as TEXT or DROPDOWN. This defines the kind of data expected in this field. Example: "TEXT" value: type: string description: > The value of the field. This is the actual data entered for the field. Example: "*************0189" example: dstCurrencyIso3Code: CAD dstCountryIso3Code: CAN transferMethod: BANK_ACCOUNT recipientAccountId: a24d0ea7-401a-438e-8e88-0759622a9fb7 accountNumber: '********9012' fields: dstCurrencyIso3Code: USD dstCountryIso3Code: USA transferMethod: BANK_ACCOUNT recipientAccountId: ae22913a-521b-4d91-a86e-15c9c778bfaf accountNumber: '*************0189' fields: - id: BANK_ACCOUNT_NUMBER name: Bank account number type: TEXT value: '*************0189' - id: BANK_NAME name: Bank name type: TEXT value: PIEDMONT BANK - id: BANK_BRANCH name: Routing Number type: TEXT value: '226077862' - id: BANK_ACCOUNT_TYPE name: Type of account type: DROPDOWN value: Checking '400': description: Bad Request content: application/json: schema: "$ref": "#/components/schemas/codeMsgFieldIdObjectArray" examples: NotEmptyValidator: summary: NotEmptyValidator value: - code: AccountNumberNotFound message: "Unable to determine the account number from the fields collection." fieldId: AccountNumber - 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: BankIDInvalid message: "'Bank ID invalid or inexistent, please check value." - code: AccountCountryCodeDiscrepancyError message: "The card's issuer country 'USA' doesn't match the destination country's code 'GHA'" '401': description: The request requires user authentication. This response occurs if the authentication token is missing or invalid. content: application/json: schema: "$ref": "#/components/schemas/response401" "/recipients/{recipientId}/accounts/{accId}": get: tags: - Recipient Accounts summary: Get Recipient Account description: | The `POST /recipients/{recipientId}/accounts` endpoint creates a new account record for a specified recipient. **Implementation Guide:** - **Prerequisite**: Ensure that the `GET /recipient-account-fields` endpoint is called first to retrieve the necessary fields for creating a recipient account record. - **Dynamic Fields**: The fields required for creating a recipient account record are dynamic and may change based on the recipient type, destination country, destination currency, and transfer method. Always use the latest field requirements from the `GET /recipient-account-fields` endpoint. operationId: getRecipientAccount parameters: - name: recipientId in: path description: Unique identifier for the recipient. required: true style: simple explode: false schema: type: string format: uuid description: Unique identifier for the recipient. - 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: type: object properties: recipientAccountId: type: string description: > The unique identifier for the recipient's account. This ID is used to track and manage the account within the system. Example: "e27c7395-b46a-4b9b-89fd-cd6a3da7fd85" accountNumber: type: string description: > The full account number of the recipient's account. This number is used for processing transactions and identifying the account. Example: "333000333" fields: type: array description: > A list of additional fields associated with the recipient's account. Each field contains specific information and attributes, such as field type and value. items: type: object properties: id: type: string description: > The unique identifier for the field. This ID is used to reference and manage the specific field within the system. Example: "BANK_NAME" type: type: string description: > The type of the field input, such as TEXT or NUMBER. This defines the kind of data expected in this field. Example: "TEXT" value: type: string description: > The value of the field. This is the actual data entered for the field. Example: "Bank" example: recipientAccountId: e27c7395-b46a-4b9b-89fd-cd6a3da7fd85 accountNumber: '333000333' fields: - id: BANK_NAME type: TEXT value: Bank '400': description: Bad Request content: application/json: schema: "$ref": "#/components/schemas/codeMsgFieldIdObjectArray" '401': description: The request requires user authentication. This response occurs if the authentication token is missing or invalid. 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: | The `PUT /recipients/{recipientId}/accounts/{accId}` endpoint updates an entire recipient account record. **Implementation Guide:** - **Prerequisite**: Ensure that the `GET /recipient-account-fields` endpoint is called first to retrieve the necessary fields for updating a recipient account record. - **Dynamic Fields**: The fields required for updating a recipient account record are dynamic and may change based on the recipient type, destination country, destination currency, and transfer method. Always use the latest field requirements from the `GET /recipient-account-fields` endpoint. operationId: putRecipientAccount parameters: - name: recipientId in: path description: Unique identifier for the recipient. required: true style: simple explode: false schema: type: string format: uuid description: Unique identifier for the recipient. - 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: "MEX": dstCurrencyIso3Code: "MXN": transferMethod: BANK_ACCOUNT accountNumber: '333000333' fields: - id: BANK_NAME type: TEXT value: Bank responses: '200': description: The recipient account record was successfully updated. content: application/json: schema: "$ref": "#/components/schemas/recipientAccount" '400': description: The request was invalid. This response typically occurs if required parameters are missing or invalid. 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: The request requires user authentication. This response occurs if the authentication token is missing or invalid. content: application/json: schema: "$ref": "#/components/schemas/response401" '404': description: The specified recipient account record was not found. This response occurs if the `recipientId` or `accId` does not match any existing records. content: application/json: schema: "$ref": "#/components/schemas/codeMsgFieldIdObjectArray" delete: tags: - Recipient Accounts summary: Delete Recipient Account description: | The `DELETE /recipients/{recipientId}/accounts/{accId}` endpoint deletes a recipient account record. This operation requires the unique identifiers of the recipient and the recipient account. **Implementation Guide:** - **Prerequisite**: Ensure that the `recipientId` and `accId` parameters are correctly specified. - **Validation**: Validate the request to ensure that the recipient account exists before attempting to delete it. operationId: deleteRecipientAccount parameters: - name: recipientId in: path description: Unique identifier for the recipient. required: true style: simple explode: false schema: type: string - name: accId in: path description: Unique identifier for the recipient account. required: true style: simple explode: false schema: type: string responses: '200': description: The recipient account record was successfully deleted. content: application/json: example: message: Recipient account record deleted successfully. recipientAccountId: e27c7395-b46a-4b9b-89fd-cd6a3da7fd85 '400': description: The request was invalid. This response typically occurs if the `recipientId` or `accId` parameter is missing or invalid. content: application/json: schema: "$ref": "#/components/schemas/codeMsgFieldIdObject" '401': description: The request requires user authentication. This response occurs if the authentication token is missing or invalid. content: application/json: schema: "$ref": "#/components/schemas/response401" '403': description: The request was valid, but the server is refusing action. This response occurs if the user does not have permission to delete the recipient account record. content: application/json: schema: "$ref": "#/components/schemas/codeMsgDescObject" '404': description: The specified recipient account record was not found. This response occurs if the `recipientId` or `accId` does not match any existing records. content: application/json: schema: "$ref": "#/components/schemas/codeMsgFieldIdObjectArray" "/sender-fields": get: tags: - Senders summary: Get Sender Fields description: | This endpoint returns the required and optional sender fields based on the specified corridor, destination country, currency, transfer method, and sender type. These fields are dynamic and may vary depending on the provided parameters. A corridor refers to a payment route between a sending and receiving country. It defines the regulations, available transfer methods, and required sender details for cross-border transactions. **Implementation Guide:** - This endpoint must be called before the `POST /senders` endpoint to ensure that all necessary data is collected for creating a sender record. - The fields returned by this endpoint are dynamic and may change based on the sender type and other factors. It is recommended not to cache the response and always fetch the latest field requirements. (For more information, See [Dynamic fields](https://developer.readyremit.com/reference/dynamic-fields).) - Use the response from this endpoint to dynamically collect the necessary information from users. Ensure that all required fields are included in the data collection process. operationId: getSenderFields parameters: - name: senderType description: > Defines the type of sender initiating the transfer. This determines the required fields and compliance checks. Possible values include: `PERSON` (An individual sending funds) and `BUSINESS` (A company or organization initiating the transfer.) Refer to the [Sender Type Enum](https://developer.readyremit.com/reference/enum-types#sender-type) for the full list of supported values. in: query required: true style: form explode: true schema: "$ref": "#/components/schemas/senderTypes" responses: '200': description: The request was successful, and the response contains a collection of field sets. Each field set includes a collection of fields with details such as field type, length constraints, and whether the field is required. content: application/json: schema: "$ref": "#/components/schemas/fieldSetsObject" description: A collection of logically grouped fields. Each field set consists of related fields that belong together. It will be used to organize and manage sets of related fields, making it easier to handle different types of structured data. Each field set will have a unique identifier, a name, and an array of fields that define specific attributes and validation rules. examples: Person: summary: PERSON value: fieldSets: - fieldSetId: PERSONAL_INFORMATION fieldSetName: Personal Information fields: - fieldType: TEXT minLength: 1 maxLength: 80 regex: "^[\\x20-\\x7E\\xA0-ÿ]+$" fieldId: FIRST_NAME name: Legal first name hintText: "Enter the sender's first name as it appears on their ID" isRequired: true visibility: SHOW_AND_REQUIRED placeholderText: Legal first name label: Sender_LegalFirstName sortOrder: 1 dependencies: {} - fieldType: TEXT minLength: 1 maxLength: 80 regex: "^[\\x20-\\x7E\\xA0-ÿ]+$" fieldId: MIDDLE_NAME name: Legal Middle Name isRequired: false visibility: SHOW_AND_OPTIONAL placeholderText: Legal Middle Name label: Sender_LegalMiddleName sortOrder: 2 dependencies: {} - fieldType: TEXT minLength: 1 maxLength: 80 regex: "^[\\x20-\\x7E\\xA0-ÿ]+$" fieldId: LAST_NAME name: Legal last name hintText: "Enter the sender's last name as it appears on their ID" isRequired: true visibility: SHOW_AND_REQUIRED placeholderText: Legal last name label: Sender_LegalLastName sortOrder: 3 dependencies: {} - fieldType: TEXT regex: "^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}$" fieldId: EMAIL_ADDRESS name: Email hintText: "" isRequired: true visibility: SHOW_AND_REQUIRED placeholderText: Email address label: Email dependencies: isRequired: - comparisonOperator: EQUAL_TO comparisonValues: - "True" fieldId: EMAIL_TRANSACTION_NOTIFICATION_ENABLED - comparisonOperator: EQUAL_TO comparisonValues: - "True" fieldId: EMAIL_MARKETING_NOTIFICATION_ENABLED - fieldType: PHONE_NUMBER minLength: 7 maxLength: 15 regex: "^[0-9]{7,15}$" fieldId: PHONE_NUMBER name: Phone number isRequired: true visibility: SHOW_AND_REQUIRED placeholderText: Phone number label: PhoneNumber dependencies: isRequired: - comparisonOperator: EQUAL_TO comparisonValues: - "True" fieldId: SMS_TRANSACTION_NOTIFICATION_ENABLED - comparisonOperator: EQUAL_TO comparisonValues: - "True" fieldId: SMS_MARKETING_NOTIFICATION_ENABLED - fieldType: DATE fieldId: DATE_OF_BIRTH name: Date of birth hintText: "" isRequired: true visibility: SHOW_AND_REQUIRED placeholderText: Date of birth label: DateOfBirth dependencies: {} - fieldSetId: IDENTIFICATION_DOCUMENT fieldSetName: Identification Document (ID) fields: - fieldType: DATE fieldId: ID_EXPIRATION_DATE name: ID expiration date isRequired: false visibility: HIDE_AND_OPTIONAL placeholderText: ID expiration date label: IDExpirationDate dependencies: isRequired: - comparisonOperator: EQUAL_TO comparisonValues: - PASSPORT - DRIVERS_LICENSE fieldId: ID_TYPE - fieldType: DROPDOWN options: - id: SSN name: Social Security Number - id: DRIVERS_LICENSE name: Drivers License - id: PASSPORT name: Passport - id: GID name: GOVERNMENT ISSUED ID minLength: 2 maxLength: 25 regex: "^[A-Za-z0-9_]{2,25}$" fieldId: ID_TYPE name: ID type isRequired: true visibility: SHOW_AND_REQUIRED placeholderText: ID type label: IDType dependencies: {} - fieldSetId: ADDRESS fieldSetName: Address fields: - fieldType: TEXT minLength: 5 maxLength: 60 regex: "^[A-Za-z0-9\\s$&+,:;=?@#|/'<>.^*()%!-]{5,60}$" fieldId: ADDRESS_LINE_1 name: Address line 1 isRequired: true visibility: SHOW_AND_REQUIRED placeholderText: Address line 1 label: AddressLine1 sortOrder: 1 dependencies: {} - fieldType: TEXT minLength: 2 maxLength: 40 regex: "^[A-Za-z\\s-.]{2,40}$" fieldId: ADDRESS_CITY name: City isRequired: true visibility: SHOW_AND_REQUIRED placeholderText: City label: City sortOrder: 3 dependencies: {} - fieldType: DROPDOWN options: [] minLength: 3 maxLength: 3 regex: "^[A-Za-z]{3}$" fieldId: ADDRESS_COUNTRY name: Country isRequired: true visibility: SHOW_AND_REQUIRED placeholderText: Country label: Country sortOrder: 6 dependencies: {} - fieldType: TEXT minLength: 2 maxLength: 50 regex: "^[\\x20-\\x7E\\xA0-ÿ]+$" fieldId: ADDRESS_STATE_PROVINCE name: State isRequired: false visibility: SHOW_AND_OPTIONAL placeholderText: State label: State dependencies: {} Business: summary: BUSINESS value: fieldSets: - fieldSetId: PERSONAL_INFORMATION fieldSetName: Personal Information fields: - fieldType: TEXT regex: "^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}$" fieldId: EMAIL_ADDRESS name: Email hintText: "" isRequired: true visibility: SHOW_AND_REQUIRED placeholderText: Email address label: Email dependencies: isRequired: - comparisonOperator: EQUAL_TO comparisonValues: - "True" fieldId: EMAIL_TRANSACTION_NOTIFICATION_ENABLED - comparisonOperator: EQUAL_TO comparisonValues: - "True" fieldId: EMAIL_MARKETING_NOTIFICATION_ENABLED - fieldType: PHONE_NUMBER minLength: 7 maxLength: 15 regex: "^[0-9]{7,15}$" fieldId: PHONE_NUMBER name: Phone number isRequired: true visibility: SHOW_AND_REQUIRED placeholderText: Phone number label: PhoneNumber dependencies: isRequired: - comparisonOperator: EQUAL_TO comparisonValues: - "True" fieldId: SMS_TRANSACTION_NOTIFICATION_ENABLED - comparisonOperator: EQUAL_TO comparisonValues: - "True" fieldId: SMS_MARKETING_NOTIFICATION_ENABLED - fieldType: DROPDOWN options: [] minLength: 3 maxLength: 3 regex: "^[A-Za-z]{3}$" fieldId: NATIONALITY name: Country of incorporation hintText: "" isRequired: false visibility: HIDE_AND_OPTIONAL placeholderText: Nationality label: CountryOfIncorporation dependencies: {} - fieldType: TEXT minLength: 6 maxLength: 6 regex: "^\\d{6}$" fieldId: NAICS name: NAICS code hintText: "" isRequired: true visibility: SHOW_AND_REQUIRED placeholderText: NAICS code label: NAICSCode dependencies: {} - fieldType: TEXT minLength: 1 maxLength: 80 regex: "^[\\x20-\\x7E\\xA0-ÿ]+\\s[\\x20-\\x7E\\xA0-ÿ]+$" fieldId: COMPANY_NAME name: Company name hintText: "Enter the full name of the incorporated business" isRequired: true visibility: SHOW_AND_REQUIRED placeholderText: Company name label: CompanyName dependencies: {} - fieldSetId: IDENTIFICATION_DOCUMENT fieldSetName: Identification Document (ID) fields: - fieldType: DATE fieldId: DATE_OF_COMPANY_REGISTRATION name: Date of incorporation isRequired: true visibility: SHOW_AND_REQUIRED placeholderText: Date of registration label: DateOfIncorporation dependencies: {} - fieldType: DROPDOWN options: - id: TIN name: TAX IDENTIFICATION NUMBER minLength: 2 maxLength: 25 regex: "^[A-Za-z0-9_]{2,25}$" fieldId: ID_TYPE name: ID type isRequired: true visibility: SHOW_AND_REQUIRED placeholderText: ID type label: IDType dependencies: {} - fieldType: TEXT minLength: 1 maxLength: 15 regex: "^[A-Za-z0-9\\s]{1,15}$" fieldId: ID_NUMBER name: ID number isRequired: true visibility: SHOW_AND_REQUIRED placeholderText: ID number label: IDNumber dependencies: {} - fieldSetId: ADDRESS fieldSetName: Address fields: - fieldType: TEXT minLength: 5 maxLength: 60 regex: "^[A-Za-z0-9\\s$&+,:;=?@#|/'<>.^*()%!-]{5,60}$" fieldId: ADDRESS_LINE_1 name: Address line 1 isRequired: true visibility: SHOW_AND_REQUIRED placeholderText: Address line 1 label: AddressLine1 sortOrder: 1 dependencies: {} - fieldType: TEXT minLength: 5 maxLength: 60 regex: "^[A-Za-z0-9\\s$&+,:;=?@#|/'<>.^*()%!-]{5,60}$" fieldId: ADDRESS_LINE_2 name: Address line 2 isRequired: false visibility: HIDE_AND_OPTIONAL placeholderText: Address line 2 label: AddressLine2 sortOrder: 2 dependencies: {} - fieldType: TEXT minLength: 2 maxLength: 40 regex: "^[A-Za-z\\s-.]{2,40}$" fieldId: ADDRESS_CITY name: City isRequired: true visibility: SHOW_AND_REQUIRED placeholderText: City label: City sortOrder: 3 dependencies: {} - fieldType: DROPDOWN options: [] minLength: 2 maxLength: 2 regex: "^[A-Z]{2}$" fieldId: ADDRESS_STATE name: State isRequired: false visibility: SHOW_AND_OPTIONAL placeholderText: State label: State sortOrder: 4 dependencies: isRequired: - comparisonOperator: EQUAL_TO comparisonValues: - USA - CAN fieldId: ADDRESS_COUNTRY - fieldType: TEXT minLength: 2 maxLength: 10 regex: "^[0-9a-zA-Z\\s-]{2,10}$" fieldId: ADDRESS_ZIP name: Zip code isRequired: false visibility: SHOW_AND_OPTIONAL placeholderText: Zip code label: ZipCode sortOrder: 5 dependencies: isRequired: - comparisonOperator: EQUAL_TO comparisonValues: - USA - CAN fieldId: ADDRESS_COUNTRY - fieldType: DROPDOWN options: - id: USA name: United States - id: CAN name: Canada - id: GBR name: United Kingdom - id: AUS name: Australia - id: IND name: India minLength: 3 maxLength: 3 regex: "^[A-Za-z]{3}$" fieldId: ADDRESS_COUNTRY name: Country isRequired: true visibility: SHOW_AND_REQUIRED placeholderText: Country label: Country sortOrder: 6 dependencies: {} '400': description: The request was invalid. This response typically occurs if required parameters are missing or invalid. content: application/json: schema: "$ref": "#/components/schemas/codeMsgFieldIdObjectArray" example: - code: NotEmptyValidator message: "'Sender Type' is required." fieldId: SenderType '401': description: The request requires user authentication. This response occurs if the authentication token is missing or invalid. content: application/json: schema: "$ref": "#/components/schemas/response401" "/senders": post: tags: - Senders summary: Create Sender # The POST /senders endpoint creates a new sender record. This operation requires the necessary fields obtained from the GET /sender-fields endpoint. description: | The POST /senders endpoint is used to register a new sender in the ReadyRemit system. This sender represents the entity initiating fund transfers. The fields required to create a sender vary based on factors such as country and sender type. **Implementation Guide:** - **Prerequisite**: `GET /sender-fields` endpoint must be called before the `POST /senders` endpoint to retrieve the required and optional fields necessary for creating a sender record. - **Data Retrieval**: The fields returned by this endpoint are dynamic and may change based on the sender type and other factors. It is recommended not to cache the response and always fetch the latest field requirements. - Use the response from this endpoint to dynamically collect the necessary information from senders. Ensure that all required fields are included in the data collection process. operationId: createSender requestBody: content: application/json: schema: "$ref": "#/components/schemas/createSenderRequest" examples: Person: summary: PERSON value: senderType: PERSON fields: - id: FIRST_NAME value: Herman - id: LAST_NAME value: Jacobson - id: ADDRESS_LINE_1 value: 7688 Orlando Av - id: ADDRESS_STATE value: NY - id: ADDRESS_CITY value: ACCORD - id: ADDRESS_ZIP value: '30003' - id: ADDRESS_COUNTRY value: USA - id: NATIONALITY value: USA - id: PHONE_NUMBER value: number: '9345889786' countryIso3Code: USA countryPhoneCode: 1 - id: ID_NUMBER value: '123456789123456789' - id: ID_TYPE value: SSN - id: EMAIL_ADDRESS value: guillpiedra@gmail.com - id: BIRTH_COUNTRY value: USA - id: ID_COUNTRY value: USA - id: DATE_OF_BIRTH value: '1978-08-06' - id: ID_EXPIRATION_DATE value: '2025-02-13' Business: summary: BUSINESS value: senderType: BUSINESS fields: - id: COMPANY_NAME value: Rice McDermott and Stokes - id: ADDRESS_LINE_1 value: 1022 Main St - id: ADDRESS_STATE value: GA - id: ADDRESS_CITY value: ATLANTA - id: ADDRESS_ZIP value: '30303' - id: ADDRESS_COUNTRY value: USA - id: NATIONALITY value: USA - id: PHONE_NUMBER value: number: '19082349786' countryIso3Code: USA countryPhoneCode: 1 - id: NAICS value: '324333' - id: ID_NUMBER value: '232457432' - id: ID_TYPE value: TIN - id: EMAIL_ADDRESS value: finsup@pt.com - id: BIRTH_COUNTRY value: USA - id: ID_COUNTRY value: USA - id: DATE_OF_COMPANY_REGISTRATION value: '1977-01-01' responses: '201': description: Created. The sender record was successfully created. content: application/json: schema: # "$ref": "#/components/schemas/sender" type: object properties: senderId: type: string description: Unique identifier for the sender, used to track and manage sender details within the system. senderType: type: string enum: - PERSON - BUSINESS description: Specifies whether the sender is an individual (PERSON) or a company (BUSINESS), helping in applying relevant business rules. See [Sender Type](https://developer.readyremit.com/reference/enum-types#sender-type). firstName: type: string description: "The first name of the sender. Example: Herman" lastName: type: string description: "The last name of the sender. Example: Jacobson" customerId: type: string description: | A unique identifier for the customer. Example: 9ce909de-f585-4233-bdc5-fdc42cbfd7c4 Note: This field can be ignored by API consumers. kycStatus: type: string enum: - UNKNOWN - SKIPPED - PASSED - ID_REQUIRED - FAILED - PENDING - REQUEST_FAILED description: "Represents the Know Your Customer (KYC) verification status, determining whether the sender has been validated for compliance. See [KYC Status](https://developer.readyremit.com/reference/enum-types#kyc-status). Example: SKIPPED" customerFundingSource: type: string enum: - PREFUNDING - ACCOUNTFUNDING description: | Specifies the method the customer uses to fund transactions, ensuring appropriate payment processing. Example: PREFUNDING Note: This field can be ignored by API consumers. fields: type: array description: A collection of detailed sender attributes, each providing additional information about the sender. items: type: object properties: id: type: string description: The field’s unique identifier, used for mapping data to predefined attributes. name: type: string description: The user-friendly name of the field, displayed in forms and interfaces for clarity. type: type: string enum: - TEXT - PHONE_NUMBER - DATE - DROPDOWN description: Defines the format of the field, ensuring proper validation and user input handling. value: oneOf: - type: string description: Stores the actual input value for TEXT, DATE, and DROPDOWN fields, representing the sender’s information. - type: object description: Contains structured phone number data, ensuring proper formatting and validation for PHONE_NUMBER fields. properties: number: type: string description: The sender’s phone number, used for contact and verification purposes. countryIso3Code: type: string description: The three-letter ISO country code associated with the phone number, aiding in region-specific validations. countryPhoneCode: type: integer description: The international dialing code for the sender’s country, ensuring correct phone number formatting. examples: Person: summary: PERSON value: senderId: 9b9c17ea-2c01-4607-9cc9-554e15854583 senderType: PERSON firstName: Herman lastName: Jacobson customerId: 9ce909de-f585-4233-bdc5-fdc42cbfd7c4 kycStatus: SKIPPED customerFundingSource: PREFUNDING fields: - id: FIRST_NAME name: LegalFirstName type: TEXT value: Herman - id: LAST_NAME name: LegalLastName type: TEXT value: Jacobson - id: ADDRESS_LINE_1 name: Address line 1 type: TEXT value: 7688 Orlando Av - id: ADDRESS_STATE name: State type: DROPDOWN value: NY - id: ADDRESS_CITY name: City type: TEXT value: ACCORD - id: ADDRESS_ZIP name: Zip code type: TEXT value: '30003' - id: ADDRESS_COUNTRY name: Country type: DROPDOWN value: USA - id: NATIONALITY name: Country of incorporation type: DROPDOWN value: USA - id: PHONE_NUMBER name: Phone number type: PHONE_NUMBER value: number: '9345889786' countryIso3Code: USA countryPhoneCode: 1 - id: ID_NUMBER name: ID number type: TEXT value: '89123456789' - id: ID_TYPE name: ID type type: DROPDOWN value: PASSPORT - id: EMAIL_ADDRESS name: Email type: TEXT value: guillpdra@gmail.com - id: BIRTH_COUNTRY name: Country of birth type: DROPDOWN value: USA - id: ID_COUNTRY name: ID issuing country type: DROPDOWN value: USA - id: DATE_OF_BIRTH name: Date of birth type: DATE value: '1978-08-06' - id: ID_EXPIRATION_DATE name: ID expiration date type: DATE value: '2026-02-13' Business: summary: BUSINESS value: senderId: 052fff36-422d-41e4-b52f-58d9840f8e49 senderType: BUSINESS companyName: Raynor Walker and Leffler customerId: 9ce909de-f585-4233-bdc5-fdc42cbfd7c4 kycStatus: SKIPPED customerFundingSource: PREFUNDING fields: - id: COMPANY_NAME name: Company name type: TEXT value: Raynor Walker and Leffler - id: ADDRESS_LINE_1 name: Address line 1 type: TEXT value: 123 Main st - id: ADDRESS_STATE name: State type: DROPDOWN value: NY - id: ADDRESS_CITY name: City type: TEXT value: ACCORD - id: ADDRESS_ZIP name: Zip code type: TEXT value: '000000' - id: ADDRESS_COUNTRY name: Country type: DROPDOWN value: USA - id: NATIONALITY name: Country of incorporation type: DROPDOWN value: USA - id: PHONE_NUMBER name: Phone number type: PHONE_NUMBER value: number: '15555555555' countryIso3Code: USA countryPhoneCode: 1 - id: NAICS name: NAICS code type: TEXT value: '123456' - id: ID_NUMBER name: ID number type: TEXT value: '266532432' - id: ID_TYPE name: ID type type: DROPDOWN value: TIN - id: EMAIL_ADDRESS name: Email type: TEXT value: aeromexico@example.com - id: ID_COUNTRY type: DROPDOWN value: USA - id: DATE_OF_COMPANY_REGISTRATION name: Date of incorporation type: DATE value: '1978-08-06' '400': description: The request was invalid. This response typically occurs if required parameters are missing or invalid. content: application/json: schema: "$ref": "#/components/schemas/codeMsgFieldIdObjectArray" examples: Person: summary: PERSON value: - code: MissingRequiredField message: "'First name' is required." fieldId: FIRST_NAME - code: MissingRequiredField message: "'Address line 1' is required." fieldId: ADDRESS_LINE_1 Business: summary: BUSINESS value: - code: MissingRequiredField message: "'Address line 1' is required." fieldId: ADDRESS_LINE_1 - code: MissingRequiredField message: "Company name' is required." fieldId: COMPANY_NAME '401': description: The request requires user authentication. This response occurs if the authentication token is missing or invalid. content: application/json: schema: "$ref": "#/components/schemas/response401" '403': description: The request was valid, but the server is refusing action. This response occurs if the senderId is incorrect or the user does not have permission to create the sender. 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: The `GET /senders/{senderId}` endpoint retrieves the details of a specific sender record. This operation is essential for fetching the complete information of a sender, including their personal details and any additional fields. This endpoint is typically used to display sender information in user interfaces or to verify sender details before performing other operations. operationId: getSender parameters: - name: senderId in: path required: true style: simple explode: false schema: type: string format: uuid description: The unique identifier for the sender responses: '200': description: The request was successful, and the response contains the complete details of the sender. content: application/json: schema: "$ref": "#/components/schemas/sender" examples: Person: summary: PERSON value: senderId: b6f9ae79-d0cf-4816-b4d3-0bae0011053e senderType: PERSON firstName: Giuseppe lastName: Jakubowski customerId: 9ce909de-f585-4233-bdc5-fdc42cbfd7c4 customerName: BWP Cruises kycStatus: SKIPPED customerFundingSource: PREFUNDING fields: - id: FIRST_NAME name: LegalFirstName type: TEXT value: Giuseppe - id: LAST_NAME name: LegalLastName type: TEXT value: Jakubowski - id: ADDRESS_LINE_1 name: Address line 1 type: TEXT value: 65426 London Road - id: ADDRESS_STATE name: State type: DROPDOWN value: OK - id: ADDRESS_CITY name: City type: TEXT value: Lavadaworth - id: ADDRESS_ZIP name: Zip code type: TEXT value: '59701' - id: ADDRESS_COUNTRY name: Country type: DROPDOWN value: USA - id: NATIONALITY name: Country of incorporation type: DROPDOWN value: USA - id: PHONE_NUMBER name: Phone number type: PHONE_NUMBER value: number: '15555555555' countryIso3Code: USA countryPhoneCode: 1 - id: ID_NUMBER name: ID number type: TEXT value: '284421088' - id: ID_TYPE name: ID type type: DROPDOWN value: SSN - id: EMAIL_ADDRESS name: Email type: TEXT value: Considine@hotmail.com - id: ID_COUNTRY name: ID issuing country type: DROPDOWN value: USA - id: ID_EXPIRATION_DATE name: ID expiration date type: DATE value: '2025-10-22' - id: DATE_OF_BIRTH name: Date of birth type: DATE value: '1978-08-06' - id: BIRTH_COUNTRY name: Country of birth type: DROPDOWN value: USA Business: summary: BUSINESS value: senderId: "052fff36-422d-41e4-b52f-58d9840f8e49" senderType: "BUSINESS" companyName: "Raynor Walker and Leffler" customerId: "9ce909de-f585-4233-bdc5-fdc42cbfd7c4" customerName: "BWP Shipping" kycStatus: "SKIPPED" customerFundingSource: "PREFUNDING" fields: - id: "COMPANY_NAME" name: "Company name" type: "TEXT" value: "Raynor Walker and Leffler" - id: "ADDRESS_LINE_1" name: "Address line 1" type: "TEXT" value: "123 Main st" - id: "ADDRESS_STATE" name: "State" type: "DROPDOWN" value: "NY" - id: "ADDRESS_CITY" name: "City" type: "TEXT" value: "ACCORD" - id: "ADDRESS_ZIP" name: "Zip code" type: "TEXT" value: "000000" - id: "ADDRESS_COUNTRY" name: "Country" type: "DROPDOWN" value: "USA" - id: "NATIONALITY" name: "Country of incorporation" type: "DROPDOWN" value: "USA" - id: "PHONE_NUMBER" name: "Phone number" type: "PHONE_NUMBER" value: number: "15555555555" countryIso3Code: "USA" countryPhoneCode: 1 - id: "NAICS" name: "NAICS code" type: "TEXT" value: "123456" - id: "ID_NUMBER" name: "ID number" type: "TEXT" value: "266532432" - id: "ID_TYPE" name: "ID type" type: "DROPDOWN" value: "TIN" - id: "EMAIL_ADDRESS" name: "Email" type: "TEXT" value: "aeromexico@example.com" - id: "ID_COUNTRY" type: "DROPDOWN" value: "USA" - id: "DATE_OF_COMPANY_REGISTRATION" name: "Date of incorporation" type: "DATE" value: "1978-08-06" '400': description: The request was invalid. This response typically occurs if required parameters are missing or invalid. content: application/json: schema: "$ref": "#/components/schemas/codeMsgFieldIdObject" example: code: InvalidSenderId message: "'senderId' must be a valid UUID." fieldId: senderId '401': description: The request requires user authentication. This response occurs if the authentication token is missing or invalid. content: application/json: schema: "$ref": "#/components/schemas/response401" '403': description: The request was valid, but the server is refusing action. This response occurs if the user does not have permission to access the sender record. 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. '404': description: The specified sender record was not found. This response occurs if the `senderId` does not match any existing sender records. content: application/json: schema: "$ref": "#/components/schemas/codeMsgDescObject" example: code: SenderNotFound message: Sender not found. description: The sender record with the specified 'senderId' does not exist. '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: | The `PUT /senders/{senderId}` endpoint updates the details of an existing sender record. **Implementation Guide:** - **Prerequisite**: Ensure that the `GET /sender-fields` endpoint is called first to retrieve the necessary fields for updating a sender record. - **Dynamic Fields**: The fields required for updating a sender record are dynamic and may change based on the sender type and other factors. Always use the latest field requirements from the `GET /sender-fields` endpoint. - **Validation**: Validate the request body against the field requirements obtained from the `GET /sender-fields` endpoint to ensure all required fields are included and correctly formatted. **Note** : The PUT /senders endpoint replaces the sender's information entirely, rather than adding to it incrementally. Therefore, all necessary fields must be included in the request. To ensure the most current information is included, it is recommended to perform a GET request before making the PUT request. operationId: updateSender parameters: - name: senderId in: path description: The unique identifier of the sender. required: true style: simple explode: false schema: type: string format: uuid description: The unique identifier of the sender. requestBody: description: Array of fields to update the sender. content: application/json: schema: "$ref": "#/components/schemas/createSenderRequest" examples: Person: summary: PERSON value: senderType: PERSON fields: - id: FIRST_NAME value: Giuseppe - id: LAST_NAME value: Jakubowski - id: ADDRESS_LINE_1 value: 65426 London Road - id: ADDRESS_STATE value: OK - id: ADDRESS_CITY value: Lavadaworth - id: ADDRESS_ZIP value: '59701' - id: ADDRESS_COUNTRY value: USA - id: NATIONALITY value: USA - id: PHONE_NUMBER value: number: '123456789' countryIso3Code: USA countryPhoneCode: 1 - id: ID_NUMBER value: '284421088' - id: ID_TYPE value: SSN - id: EMAIL_ADDRESS value: Considine@hotmail.com - id: ID_COUNTRY value: USA - id: ID_EXPIRATION_DATE value: '2025-10-22' - id: DATE_OF_BIRTH value: '1978-08-06' - id: BIRTH_COUNTRY value: USA Business: summary: BUSINESS value: senderType: BUSINESS fields: senderType: BUSINESS fields: - id: COMPANY_NAME value: Lehner Cummerata - id: ADDRESS_LINE_1 value: 1022 Main St - id: ADDRESS_STATE value: OH - id: ADDRESS_CITY value: CINCINNATI - id: ADDRESS_ZIP value: '30303' - id: ADDRESS_COUNTRY value: USA - id: NATIONALITY value: USA - id: PHONE_NUMBER value: number: '19082349786' countryIso3Code: USA countryPhoneCode: 1 - id: NAICS value: '324333' - id: ID_NUMBER value: '232457432' - id: ID_TYPE value: TIN - id: EMAIL_ADDRESS value: finsup@pt.com - id: BIRTH_COUNTRY value: USA - id: ID_COUNTRY value: USA - id: DATE_OF_COMPANY_REGISTRATION value: '1977-01-01' responses: '200': description: The sender record was successfully updated. content: application/json: schema: "$ref": "#/components/schemas/sender" examples: Person: summary: PERSON value: senderType: PERSON fields: - id: FIRST_NAME name: LegalFirstName type: TEXT value: Giuseppe - id: LAST_NAME name: LegalLastName type: TEXT value: Jakubowski - id: ADDRESS_LINE_1 name: Address line 1 type: TEXT value: 65426 London Road - id: ADDRESS_STATE name: State type: DROPDOWN value: OK - id: ADDRESS_CITY name: City type: TEXT value: Lavadaworth - id: ADDRESS_ZIP name: Zip code type: TEXT value: '59701' - id: ADDRESS_COUNTRY name: Country type: DROPDOWN value: USA - id: NATIONALITY name: Country of incorporation type: DROPDOWN value: USA - id: PHONE_NUMBER name: Phone number type: PHONE_NUMBER value: number: '123456789' countryIso3Code: USA countryPhoneCode: 1 - id: ID_NUMBER name: ID number type: TEXT value: '284421088' - id: ID_TYPE name: ID type type: DROPDOWN value: SSN - id: EMAIL_ADDRESS name: Email type: TEXT value: Considine@hotmail.com - id: ID_COUNTRY name: ID issuing country type: DROPDOWN value: USA - id: ID_EXPIRATION_DATE name: ID expiration date type: DATE value: '2025-10-22' - id: DATE_OF_BIRTH name: Date of birth type: DATE value: '1978-08-06' - id: BIRTH_COUNTRY name: Country of birth type: DROPDOWN value: USA Business: summary: BUSINESS value: senderId: b6f9ae79-d0cf-4816-b4d3-0bae0011053e senderType: BUSINESS companyName: Lehner Cummerata customerId: 9ce909de-f585-4233-bdc5-fdc42cbfd7c4 kycStatus: SKIPPED customerFundingSource: PREFUNDING fields: - id: COMPANY_NAME name: Company name type: TEXT value: Lehner Cummerata - id: FIRST_NAME name: LegalFirstName type: TEXT value: Giuseppe - id: LAST_NAME name: LegalLastName type: TEXT value: Jakubowski - id: ADDRESS_LINE_1 name: Address line 1 type: TEXT value: 1022 Main St - id: ADDRESS_STATE name: State type: DROPDOWN value: OH - id: ADDRESS_CITY name: City type: TEXT value: CINCINNATI - id: ADDRESS_ZIP name: Zip code type: TEXT value: '30303' - id: ADDRESS_COUNTRY name: Country type: DROPDOWN value: USA - id: NATIONALITY name: Country of incorporation type: DROPDOWN value: USA - id: PHONE_NUMBER name: Phone number type: PHONE_NUMBER value: number: '19082349786' countryIso3Code: USA countryPhoneCode: 1 - id: NAICS name: NAICS code type: TEXT value: '324333' - id: ID_NUMBER name: ID number type: TEXT value: '232457432' - id: ID_TYPE name: ID type type: DROPDOWN value: TIN - id: EMAIL_ADDRESS name: Email type: TEXT value: finsup@pt.com - id: BIRTH_COUNTRY type: DROPDOWN value: USA - id: ID_COUNTRY type: DROPDOWN value: USA - id: ID_EXPIRATION_DATE name: ID expiration date type: DATE value: '2025-10-22T13:10:37.6290000Z' - id: DATE_OF_BIRTH name: Date of birth type: DATE value: '1978-08-06' - id: DATE_OF_COMPANY_REGISTRATION name: Date of incorporation type: DATE value: '1977-01-01' '401': description: The request requires user authentication. This response occurs if the authentication token is missing or invalid. content: application/json: schema: "$ref": "#/components/schemas/response401" '404': description: The specified sender record was not found. This response occurs if the `senderId` does not match any existing sender records. content: application/json: schema: "$ref": "#/components/schemas/codeMsgFieldIdObjectArray" example: - code: SenderNotFound message: "Sender cannot be found." delete: tags: - Senders summary: Delete sender description: | The `DELETE /senders/{senderId}` endpoint deletes an existing sender record. operationId: deleteSender parameters: - name: senderId in: path description: The unique identifier of the sender. required: true style: simple explode: false schema: type: string format: uuid description: The unique identifier of the sender. responses: '200': description: The sender record was successfully deleted. # content: # application/json: # schema: # "$ref": "#/components/schemas/codeMsgDescObject" # example: # code: SenderDeleted # message: Sender Deleted # description: Sender record deleted successfully. '401': description: The request requires user authentication. This response occurs if the authentication token is missing or invalid. content: application/json: schema: "$ref": "#/components/schemas/response401" '403': description: The request was valid, but the server is refusing action. This response occurs if the user does not have permission to delete the sender record. content: application/json: schema: "$ref": "#/components/schemas/codeMsgDescObject" example: code: AccessDenied message: Sorry! Access denied :( description: Exception of type 'brightwell.readyremit.common.ErrorHandling.BrightwellException' was thrown. '404': description: The specified sender record was not found. This response occurs if the `senderId` does not match any existing sender records. content: application/json: schema: "$ref": "#/components/schemas/codeMsgFieldIdObjectArray" examples: NotFound: summary: Not Found value: - code: SenderNotFound message: Sender cannot be found. description: Sender cannot be found. "/transfer-fields": get: tags: - Transfers summary: Get Transfer Fields description: | The `GET /transfer-fields` endpoint retrieves the required and optional fields necessary to initiate a money transfer. Given a destination country, destination currency, and transfer method, this endpoint returns the list of required fields that must be provided when calling the POST /Create Transfer API. The fields returned will vary based on: - Country & Currency – Different regulatory requirements for different regions. - Transfer Method – Fields may differ for Bank Account, Cash Pickup, or Push to Card. - Business Rules – Some fields may be conditionally required based on transfer details. **Implementation Guide:** - **Prerequisite**: Ensure that all required parameters are provided to retrieve the transfer fields accurately. - **Dynamic Fields**: The fields required for initiating a transfer may vary based on the transfer details such as source and destination countries, currencies, and transfer method. - **Validation**: Validate the request parameters to ensure they meet the requirements for retrieving the transfer fields. operationId: getTransferFields parameters: - name: dstCountryIso3Code in: query description: The ISO 3166-1 alpha-3 code of the destination country. See [country codes](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3). Example- MEX example: MEX required: true style: form explode: true schema: "$ref": "#/components/schemas/threeUppercaseChars" - name: dstCurrencyIso3Code in: query description: The ISO 4217 code of the currency of the amount you would like to receive money. A string of exactly 3 uppercase alphabetical characters. See [currency codes](https://en.wikipedia.org/wiki/ISO_4217). example: MXN required: true style: form explode: true schema: "$ref": "#/components/schemas/threeUppercaseChars" - name: transferMethod in: query required: true style: form explode: true description: The method used for transferring money. eg - Bank Account, Cash Pickup, Push to Card. See [Transfer Method](https://developer.readyremit.com/reference/enum-types#transfer-method). schema: "$ref": "#/components/schemas/transferMethods" responses: '200': description: The transfer fields were successfully retrieved. content: application/json: schema: oneOf: - "$ref": "#/components/schemas/TransferFieldsResponsePushtoCard" - "$ref": "#/components/schemas/TransferFieldsResponseBankAccount" - "$ref": "#/components/schemas/TransferFieldsResponseCashPickup" examples: Push to Card: summary: Push to Card value: fieldSets: - fieldSetId: TRANSFER_FIELDS fieldSetName: Transfer Fields fields: - fieldType: TEXT minLength: 5 maxLength: 30 regex: "^[\\ -\\~\\ -\\ÿ]+$" fieldId: CARD_PROXY_NUMBER name: Card Proxy Number hintText: Insert The Card Proxy Number isRequired: false visibility: HIDE_AND_OPTIONAL placeholderText: -select- label: Card Proxy Number dependencies: {} Bank Account: summary: Bank Account value: fieldSets: - fieldSetId: "TRANSFER_FIELDS" fieldSetName: "Transfer Fields" fields: - fieldType: "TEXT" minLength: 5 maxLength: 30 regex: "^[\\ -\\~\\ -\\ÿ]+$" fieldId: "CARD_PROXY_NUMBER" name: "Card Proxy Number" hintText: "Insert The Card Proxy Number" isRequired: false visibility: "HIDE_AND_OPTIONAL" placeholderText: "-select-" label: "CardProxyNumber" dependencies: {} - fieldType: "DROPDOWN" options: - id: "1" name: "FAMILY MAINTENANCE" - id: "2" name: "EDUCATION" - id: "3" name: "MEDICAL" - id: "26" name: "TRAVEL AGENT" minLength: 1 maxLength: 40 regex: "^[\\ -\\~\\ -\\ÿ]+$" fieldId: "REMITTANCE_PURPOSE" name: "Purpose of remittance" hintText: "Insert the purpose of this remittance" isRequired: false visibility: "HIDE_AND_OPTIONAL" placeholderText: "-select-" label: "PurposeOfRemittance" dependencies: {} Cash Pickup: summary: Cash Pickup value: fieldSets: - fieldSetId: TRANSFER_FIELDS fieldSetName: Transfer Fields fields: - fieldType: DROPDOWN options: - id: "1" name: ACCUMULATED OWN SALARY - id: "2" name: Business - id: "3" name: EMPLOYEES SALARY - id: "4" name: FAMILY INCOME - id: "5" name: LOANS - id: "6" name: LOTTERY - id: "7" name: PART TIME JOB - id: "8" name: PENSION - id: "9" name: SALARY AND OVERTIME - id: "10" name: SAVINGS OR ACCUMULATED - id: "11" name: BANK WITHDRAWAL - id: "12" name: BONUS/FINAL SETTLEMENT BY THE EMPLOYER - id: "13" name: OTHERS - id: "14" name: INVESTMENTS - id: "15" name: GIFT OR INHERITANCE - id: "16" name: PROCEEDS OF SALE - id: "17" name: WINNINGS regex: "^[\\ -\\~\\ -\\ÿ]+$" fieldId: SOURCE_OF_FUNDS name: Source of funds isRequired: false visibility: HIDE_AND_OPTIONAL placeholderText: -select- label: SourceOfFunds dependencies: {} - fieldType: TEXT minLength: 5 maxLength: 30 regex: "^[\\ -\\~\\ -\\ÿ]+$" fieldId: CARD_PROXY_NUMBER name: Card Proxy Number hintText: Insert The Card Proxy Number isRequired: false visibility: HIDE_AND_OPTIONAL placeholderText: -select- label: CardProxyNumber dependencies: {} - fieldType: DROPDOWN options: - id: "1" name: FAMILY MAINTENANCE - id: "2" name: EDUCATION - id: "3" name: MEDICAL - id: "26" name: TRAVEL AGENT regex: "^[\\ -\\~\\ -\\ÿ]+$" fieldId: REMITTANCE_PURPOSE name: Purpose of remittance hintText: Insert the purpose of this remittance isRequired: false visibility: HIDE_AND_OPTIONAL placeholderText: -select- label: PurposeOfRemittance dependencies: {} '400': description: The request was invalid. This response typically occurs if required parameters are missing or invalid. content: application/json: schema: "$ref": "#/components/schemas/codeMsgFieldIdObjectArray" examples: UnsupportedCountry: summary: Destination Country required value: - code: NotEmptyValidator message: "'Destination Country ISO 3 Code' is required." 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: The request requires user authentication. This response occurs if the authentication token is missing or invalid. content: application/json: schema: "$ref": "#/components/schemas/response401" '404': description: The transfer fields could not be retrieved. This response occurs if the parameters provided do not match any available transfer fields. content: application/json: schema: "$ref": "#/components/schemas/codeMsgFieldIdObjectArray" "/transfers": post: tags: - Transfers summary: Create Transfer description: | The `POST /transfers` endpoint executes a transfer based on the provided transfer details. **Implementation Guide:** - **Prerequisite**: Ensure that the `GET /transfer-fields` endpoint is called first to retrieve the necessary fields for executing a transfer. - **Dynamic Fields**: The fields required for executing a transfer are dynamic and may change based on the transfer details such as source and destination countries, currencies, and transfer method. Always use the latest field requirements from the `GET /transfer-fields` endpoint. - **Validation**: Validate the request body against the field requirements obtained from the `GET /transfer-fields` endpoint to ensure all required fields are included and correctly formatted. - **Examples**: See [Posting a Transfer](https://developer.readyremit.com/docs/posting-a-transfer) and the example request and response payloads below or to the right. operationId: executeTransfer requestBody: content: application/json: schema: "$ref": "#/components/schemas/executeTransferRequest" examples: Bank Account: summary: Bank Account value: dstCountryIso3Code: "JPN" dstCurrencyIso3Code: "JPY" transferMethod: "BANK_ACCOUNT" srcCurrencyIso3Code: "USD" quoteBy: "SEND_AMOUNT" amount: 3055 recipientId: "51e93d0c-1a6f-4474-a8a7-93ed8b2aa06f" recipientAccountId: "10dc1426-e726-40cc-8a20-93765f2c2048" quoteHistoryId: "1f347698-7f48-4b69-931f-176ac6c41198" fields: - id: "SOURCE_OF_FUNDS" value: 3 - id: "REMITTANCE_PURPOSE" value: 1 Push to Card: summary: Push to Card value: dstCountryIso3Code: "USA" dstCurrencyIso3Code: "USD" transferMethod: "PUSH_TO_CARD" srcCurrencyIso3Code: "USD" quoteBy: "SEND_AMOUNT" amount: 3055 recipientId: "4d5a7d05-cce5-49ec-ad67-7b5eb7035e5a" recipientAccountId: "04eda1ab-664b-4983-a3a1-9c2ab9181895" quoteHistoryId: "7345e138-dbfe-4f7a-8c66-fb5bdb52ecc9" fields: - id: "CARD_PROXY_NUMBER" value: 267832567846347892 Cash Pickup: summary: Cash Pickup value: dstCountryIso3Code: "MEX" dstCurrencyIso3Code: "MXN" transferMethod: "CASH_PICKUP" srcCurrencyIso3Code: "USD" quoteBy: "SEND_AMOUNT" amount: 3055 recipientId: "fe40f74d-eb52-4034-a2f8-8e478730ad9f" quoteHistoryId: "96d7413b-4921-4fa4-9fe3-0389498d04a3" fields: - id: "PAYER_STATE_PROVINCE" value: "M0005" - id: "PAYER_CITY" value: "57790" - id: "PAYER" value: "MX06" - id: "PAYER_LOCATION" value: "MX060373" responses: '200': description: The transfer was successfully executed. content: application/json: schema: "$ref": "#/components/schemas/transferResponse" examples: Bank Account: summary: Bank Account value: transferId: "5fb33fb8-6bb5-481b-882e-be754162bd68" confirmationNumber: "33TF025057483" quote: customerId: "9ce909de-f585-4233-bdc5-fdc42cbfd7c4" senderId: "2f14254c-7433-408d-9007-ff279b2b06cd" sendAmount: value: 3055 currency: name: "US Dollar" iso3Code: "USD" symbol: "$" decimalPlaces: 2 roundDirection: "STANDARD" iso4217Code: "840" receiveAmount: value: 62175 currency: name: "Mexican peso" iso3Code: "MXN" symbol: "$" decimalPlaces: 2 roundDirection: "STANDARD" iso4217Code: "484" rate: 20.3519 adjustments: - id: "TransferFee" label: "Transfer Fee" amount: value: 499 currency: name: "US Dollar" iso3Code: "USD" symbol: "$" decimalPlaces: 2 roundDirection: "STANDARD" iso4217Code: "840" totalCost: value: 3554 currency: name: "US Dollar" iso3Code: "USD" symbol: "$" decimalPlaces: 2 roundDirection: "STANDARD" iso4217Code: "840" associatedTransferRecordStatus: "NotInProgress" destinationCountryISO3Code: "MEX" destinationCurrencyISO3Code: "MXN" sourceCurrencyIso3Code: "USD" destinationCountry: name: "Mexico" iso2Code: "MX" iso3Code: "MEX" phoneCode: 52 transferMethod: "BANK_ACCOUNT" rsp: "Remittance Service Provider" disclosures: [] deliverySLA: id: "SAME_BUSINESS_DAY" name: "Same Business Day" senderDetails: senderId: "2f14254c-7433-408d-9007-ff279b2b06cd" senderType: "PERSON" firstName: "Peter" lastName: "Bradford" customerId: "9ce909de-f585-4233-bdc5-fdc42cbfd7c4" kycStatus: "SKIPPED" customerFundingSource: "PREFUNDING" fields: - id: "FIRST_NAME" name: "Legal first name" type: "TEXT" value: "Peter" - id: "LAST_NAME" name: "Legal last name" type: "TEXT" value: "Bradford" - id: "ADDRESS_LINE_1" name: "Address line 1" type: "TEXT" value: "Asd Kas" - id: "ADDRESS_STATE" name: "State" type: "DROPDOWN" value: "MN" - id: "ADDRESS_CITY" name: "City" type: "TEXT" value: "Cohasset" - id: "ADDRESS_ZIP" name: "Zip code" type: "TEXT" value: "55721" - id: "ADDRESS_COUNTRY" name: "Country" type: "DROPDOWN" value: "USA" - id: "PHONE_NUMBER" name: "Phone number" type: "PHONE_NUMBER" value: number: "14045558888" countryIso3Code: "USA" countryPhoneCode: 1 - id: "ID_TYPE" name: "ID type" type: "DROPDOWN" value: "SSN" - id: "EMAIL_ADDRESS" name: "Email" type: "TEXT" value: "geneva.mcintosh2009@example.com" recipientDetails: recipientId: "51e93d0c-1a6f-4474-a8a7-93ed8b2aa06f" senderId: "2f14254c-7433-408d-9007-ff279b2b06cd" recipientType: "PERSON" firstName: "Mex" lastName: "Bank" fields: - id: "FIRST_NAME" name: "First name" type: "TEXT" value: "Mex" - id: "LAST_NAME" name: "Last name" type: "TEXT" value: "Bank" - id: "SECOND_LAST_NAME" name: "Second last name" type: "TEXT" value: "Account" - id: "ADDRESS_COUNTRY" name: "Country" type: "DROPDOWN" value: "MEX" - id: "PHONE_NUMBER" name: "Mobile phone number" type: "PHONE_NUMBER" value: number: "14045558888" countryIso3Code: "MEX" countryPhoneCode: 52 recipientAccountDetails: dstCurrencyIso3Code: "MXN" dstCountryIso3Code: "MEX" transferMethod: "BANK_ACCOUNT" recipientAccountId: "10dc1426-e726-40cc-8a20-93765f2c2048" accountNumber: "**************4567" fields: - id: "BANK" name: "Bank name" type: "DROPDOWN" value: "ME1" - id: "BANK_NAME" name: "Bank name" type: "TEXT" value: "BBVA BANCOMER SA" - id: "BANK_ACCOUNT_NUMBER" name: "CLABE" type: "TEXT" value: "**************4567" disclaimers: [] createdAt: "2025-02-13T21:46:37.5005701Z" fields: [] customer: name: "Customer Name" addressLine1: "100 Main Street" addressLine2: "" addressCity: "Pembroke Pine" addressState: "GA" addressCountry: "USA" addressZipCode: "11100" phoneNumber: "1-833-000-5768" website: "www.customerwebsite.com" dateAvailable: "2025-02-17T21:46:37.5005701Z" status: "Pending" Push to Card: summary: Push to Card value: transferId: 7a25d5cc-3c37-4108-8f89-8a3c61551e7f confirmationNumber: 504421645527 quote: customerId: 9ce909de-f585-4233-bdc5-fdc42cbfd7c4 senderId: 2f14254c-7433-408d-9007-ff279b2b06cd sendAmount: value: 3055 currency: name: US Dollar iso3Code: USD symbol: "$" decimalPlaces: 2 roundDirection: STANDARD iso4217Code: "840" receiveAmount: value: 3055 currency: name: US Dollar iso3Code: USD symbol: "$" decimalPlaces: 2 roundDirection: STANDARD iso4217Code: "840" rate: 1 adjustments: - id: TransferFee label: Transfer Fee amount: value: 499 currency: name: US Dollar iso3Code: USD symbol: "$" decimalPlaces: 2 roundDirection: STANDARD iso4217Code: "840" totalCost: value: 3554 currency: name: US Dollar iso3Code: USD symbol: "$" decimalPlaces: 2 roundDirection: STANDARD iso4217Code: "840" associatedTransferRecordStatus: NotInProgress destinationCountryISO3Code: USA destinationCurrencyISO3Code: USD sourceCurrencyIso3Code: USD destinationCountry: name: United States iso2Code: US iso3Code: USA phoneCode: 1 transferMethod: PUSH_TO_CARD rsp: Remittance Service Provider disclosures: [] deliverySLA: id: THIRTY_MINUTES name: thirty minutes senderDetails: senderId: 2f14254c-7433-408d-9007-ff279b2b06cd senderType: PERSON firstName: Peter lastName: Bradford customerId: 9ce909de-f585-4233-bdc5-fdc42cbfd7c4 kycStatus: SKIPPED customerFundingSource: PREFUNDING fields: - id: FIRST_NAME name: Legal first name type: TEXT value: Peter - id: LAST_NAME name: Legal last name type: TEXT value: Bradford - id: ADDRESS_LINE_1 name: Address line 1 type: TEXT value: Asd Kas - id: ADDRESS_STATE name: State type: DROPDOWN value: MN - id: ADDRESS_CITY name: City type: TEXT value: Cohasset - id: ADDRESS_ZIP name: Zip code type: TEXT value: 55721 - id: ADDRESS_COUNTRY name: Country type: DROPDOWN value: USA - id: PHONE_NUMBER name: Phone number type: PHONE_NUMBER value: number: 14045558888 countryIso3Code: USA countryPhoneCode: 1 - id: ID_TYPE name: ID type type: DROPDOWN value: SSN - id: EMAIL_ADDRESS name: Email type: TEXT value: geneva.mcintosh2009@example.com recipientDetails: recipientId: 4d5a7d05-cce5-49ec-ad67-7b5eb7035e5a senderId: 2f14254c-7433-408d-9007-ff279b2b06cd recipientType: PERSON firstName: Max lastName: Williard fields: - id: FIRST_NAME name: First name type: TEXT value: Max - id: ADDRESS_LINE_1 name: Address line 1 type: TEXT value: Washington St. 2732 - id: LAST_NAME name: Last name type: TEXT value: Williard - id: ADDRESS_CITY name: City type: TEXT value: Washington - id: ADDRESS_ZIP name: Zip code type: TEXT value: 90001 - id: ADDRESS_COUNTRY name: Country type: DROPDOWN value: USA - id: ADDRESS_STATE_PROVINCE name: State type: TEXT value: WA recipientAccountDetails: dstCurrencyIso3Code: USD dstCountryIso3Code: USA transferMethod: PUSH_TO_CARD recipientAccountId: 04eda1ab-664b-4983-a3a1-9c2ab9181895 fields: - id: CARD_ID name: Card Id type: TEXT value: 63e82956-b078-439e-9d92-d49aeb502771 - id: CARD_BRAND name: Card Brand type: TEXT value: RemittanceServiceProvider - id: FAST_FUNDS name: Fast Funds type: BOOLEAN value: true - id: ISSUER_NAME name: Issuer name type: TEXT value: INTL HDQTRS-CENTER OWNED - id: EXPIRATION_DATE name: Expiration Date type: TEXT value: 1231 - id: CARD_HOLDER_NAME name: Cardholder name type: TEXT value: Joaquin F Ferreira - id: PAYMENT_ACCOUNT_NUMBER name: Payment account number type: TEXT value: 1113 disclaimers: [] createdAt: 2025-02-13T21:51:46.7327968Z fields: [] customer: name: BWP Shipping addressLine1: 100 Main Street addressLine2: "" addressCity: Pembroke Pine addressState: GA addressCountry: USA addressZipCode: 43232 phoneNumber: 1-833-848-5768 website: mydashcard.com dateAvailable: 2025-02-17T21:51:46.7327968Z status: Complete providerResponse: transactionIdentifier: 305044787080646 actionCode: "00" approvalCode: 096274 responseCode: V transmissionDateTime: 2025-02-13T21:51:48.000Z settlementFlags: null last4ofPAN: null tokenData: null additionalTokenRespInfo: null errorMessage: null vauRTAuthReplacementData: vauFlag: N vauAccntStatus: null replacementCardID: null vauErrorReasonCode: null replaceDateExpiration: null networkId: null feeProgramIndicator: "423" dateAndTimeTransmission: null Cash Pickup: summary: Cash Pickup value: transferId: d9e98c9d-fba3-4abb-b39a-7698f90f3e04 confirmationNumber: 19102869006 quote: customerId: 9ce909de-f585-4233-bdc5-fdc42cbfd7c4 senderId: 2f14254c-7433-408d-9007-ff279b2b06cd sendAmount: value: 3055 currency: name: US Dollar iso3Code: USD symbol: "$" decimalPlaces: 2 roundDirection: STANDARD iso4217Code: "840" receiveAmount: value: 630 currency: name: Mexican peso iso3Code: MXN symbol: "$" decimalPlaces: 0 roundDirection: STANDARD iso4217Code: "484" rate: 20.6219 adjustments: - id: TransferFee label: Transfer Fee amount: value: 499 currency: name: US Dollar iso3Code: USD symbol: "$" decimalPlaces: 2 roundDirection: STANDARD iso4217Code: "840" totalCost: value: 3554 currency: name: US Dollar iso3Code: USD symbol: "$" decimalPlaces: 2 roundDirection: STANDARD iso4217Code: "840" associatedTransferRecordStatus: NotInProgress destinationCountryISO3Code: MEX destinationCurrencyISO3Code: MXN sourceCurrencyIso3Code: USD destinationCountry: name: Mexico iso2Code: MX iso3Code: MEX phoneCode: 52 transferMethod: CASH_PICKUP rsp: Remittance Service Provider disclosures: [] deliverySLA: id: INSTANT name: instant senderDetails: senderId: 2f14254c-7433-408d-9007-ff279b2b06cd senderType: PERSON firstName: Peter lastName: Bradford customerId: 9ce909de-f585-4233-bdc5-fdc42cbfd7c4 kycStatus: SKIPPED customerFundingSource: PREFUNDING fields: - id: FIRST_NAME name: Legal first name type: TEXT value: Peter - id: LAST_NAME name: Legal last name type: TEXT value: Bradford - id: ADDRESS_LINE_1 name: Address line 1 type: TEXT value: Asd Kas - id: ADDRESS_STATE name: State type: DROPDOWN value: MN - id: ADDRESS_CITY name: City type: TEXT value: Cohasset - id: ADDRESS_ZIP name: Zip code type: TEXT value: 55721 - id: ADDRESS_COUNTRY name: Country type: DROPDOWN value: USA - id: PHONE_NUMBER name: Phone number type: PHONE_NUMBER value: number: 14045558888 countryIso3Code: USA countryPhoneCode: 1 - id: ID_TYPE name: ID type type: DROPDOWN value: SSN - id: EMAIL_ADDRESS name: Email type: TEXT value: geneva.mcintosh2009@example.com recipientDetails: recipientId: fe40f74d-eb52-4034-a2f8-8e478730ad9f senderId: 2f14254c-7433-408d-9007-ff279b2b06cd recipientType: PERSON firstName: Mex lastName: Bank fields: - id: FIRST_NAME name: First name type: TEXT value: Mex - id: LAST_NAME name: Last name type: TEXT value: Bank - id: SECOND_LAST_NAME name: Second last name type: TEXT value: Account - id: ADDRESS_COUNTRY name: Country type: DROPDOWN value: MEX - id: PHONE_NUMBER name: Mobile phone number type: PHONE_NUMBER value: number: 14045558888 countryIso3Code: MEX countryPhoneCode: 52 disclaimers: [] createdAt: 2025-02-13T21:57:40.2096923Z fields: - id: PAYER_STATE_PROVINCE type: DROPDOWN value: CHIAPAS - id: PAYER_CITY type: DROPDOWN value: AMATAN - id: PAYER type: DROPDOWN value: TELEGRAFOS - id: PAYER_LOCATION type: DROPDOWN value: TELEGRAFOS - AMATAN customer: name: BWP Shipping addressLine1: 100 Main Street addressLine2: "" addressCity: Pembroke Pine addressState: GA addressCountry: USA addressZipCode: 43232 phoneNumber: 1-833-848-5768 website: mydashcard.com dateAvailable: 2025-02-13T21:57:40.2096923Z status: Pending '400': description: The request was invalid. This response typically occurs if required parameters are missing or invalid. 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: The request requires user authentication. This response occurs if the authentication token is missing or invalid. content: application/json: schema: "$ref": "#/components/schemas/response401" '403': description: The request was valid, but the server is refusing action. This response occurs if the user does not have permission to execute the transfer. content: application/json: schema: "$ref": "#/components/schemas/codeMsgDescObject" '404': description: The specified transfer could not be executed. This response occurs if the parameters provided do not match any available transfer options. content: application/json: schema: "$ref": "#/components/schemas/codeMsgFieldIdObjectArray" get: tags: - Transfers summary: Get Transfers description: > The `GET /transfers` endpoint retrieves a list of transfers based on the provided query parameters. This operation allows you to filter and paginate through the list of transfers. It is useful for fetching transfer records associated with a specific sender, and for managing large datasets by limiting the number of records returned in a single request and skipping a specified number of records. parameters: - name: senderId in: query schema: type: string required: true description: > The unique identifier of the sender. This parameter is used to filter the transfers by the sender's ID, ensuring that only transfers associated with the specified sender are retrieved. It helps in tracking and managing transfers for a particular sender. Example: "9ce909de-f585-4233-bdc5-fdc42cbfd7c4" - name: limit in: query schema: type: integer description: > The maximum number of transfers to return on a single page. This parameter is used for pagination, allowing you to control the number of transfer records returned in the response. It helps in managing large datasets by breaking them into smaller, more manageable chunks. Example: 10 - name: offset in: query schema: type: string description: > The number of transfers to skip before returning values on the page. This parameter is used for pagination, allowing you to skip a specified number of transfer records and retrieve the next set of records. It helps in navigating through large datasets by specifying the starting point for the records to be returned. Example: 20 responses: '200': description: The request was successful, and the response contains a list of transfer records. Each transfer record includes detailed information about the transaction, such as the transfer ID, sender ID, recipient ID, amount, status, and other relevant details. content: application/json: schema: type: object properties: transfers: type: array description: "A list of transfer records, each containing detailed information about the transaction." items: type: object properties: transferId: type: string description: > Unique identifier for the transfer. This ID is used to track and manage the transfer within the system. Example: "cb3f30c4-7007-4191-99f3-77be878538b0" confirmationNumber: type: string description: "Confirmation number for the transfer, provided to the sender and recipient as proof of the transaction. Example: '33TF126487887'" createdAt: type: string format: date-time description: "The date and time when the transfer was created. Example: '2023-10-13T18:37:56.083043Z'" doddFrankReleaseDate: type: string format: date-time description: "The date and time when the Dodd-Frank release occurred. Example: '2023-10-13T17:47:00.109738Z'" recipientDetails: type: object description: "Details about the recipient of the transfer." properties: recipientId: type: string description: > Unique identifier for the recipient. This ID is used to track and manage the recipient within the system. Example: "a24d0ea7-401a-438e-8e88-0759622a9fb7" senderId: type: string description: > Unique identifier for the sender. This ID is used to track and manage the sender within the system. Example: "9ce909de-f585-4233-bdc5-fdc42cbfd7c4" recipientType: type: string description: "Type of the recipient, such as PERSON or BUSINESS. Example: 'PERSON'" firstName: type: string description: "First name of the recipient. Example: 'Nelson'" lastName: type: string description: "Last name of the recipient. Example: 'Gonzales'" fields: type: array description: "A list of fields associated with the recipient, each containing specific information and attributes." items: type: object properties: id: type: string description: "Unique identifier for the field. Example: 'LAST_NAME'" name: type: string description: "Name of the field. Example: 'Last name'" type: type: string description: "Type of the field input. Example: 'TEXT'" value: oneOf: - type: string description: "The value of the field if it is a simple text field. Example: 'Gonzales'" - type: object description: "The value of the field if it is a complex field like PHONE_NUMBER." properties: number: type: string description: "The phone number. Example: '9211551321'" countryIso3Code: type: string description: "The ISO 3166-1 alpha-3 code of the country. Example: 'USA'" countryPhoneCode: type: integer description: "The phone code of the country. Example: 1" status: type: string description: "The current status of the transfer. Example: 'Pending'" sendAmount: type: number description: "The amount of money sent in the transfer. Example: 29.99" receiveAmount: type: number description: "The amount of money received in the transfer. Example: 1369.8" fees: type: number description: "The fees associated with the transfer. Example: 11.98" totalCost: type: number description: "The total cost of the transfer, including the send amount and any fees. Example: 41.97" fxRate: type: number description: "The foreign exchange rate applied to the transfer. Example: 45.6752" corridor: type: object description: "Details about the transfer corridor." properties: corridorId: type: string description: "Unique identifier for the corridor. Example: 'bbe83656-8a49-44e6-a103-a560ed996c40'" destinationCountryISO3Code: type: string description: "The ISO 3166-1 alpha-3 code of the destination country. Example: 'PHL'" destinationCurrencyISO3Code: type: string description: "The ISO 4217 code of the destination currency. Example: 'PHP'" transferMethod: type: string description: "The method used for transferring money. Example: 'CASH_PICKUP'" destinationCurrency: type: object description: "Details about the destination currency." properties: name: type: string description: "The name of the destination currency. Example: 'Philippine peso'" iso3Code: type: string description: "The ISO 4217 code of the destination currency. Example: 'PHP'" symbol: type: string description: "The symbol of the destination currency. Example: '₱'" decimalPlaces: type: integer description: "The number of decimal places used by the destination currency. Example: 0" roundDirection: type: string description: "The rounding direction for the destination currency. Example: 'UP'" iso4217Code: type: string description: "The ISO 4217 numeric code of the destination currency. Example: '608'" example: transfers: - transferId: cb3f30c4-7007-4191-99f3-77be878538b0 confirmationNumber: 33TF126487887 createdAt: '2023-10-13T18:37:56.083043Z' recipientDetails: recipientId: 26c34197-465b-448e-8741-a68b7eadcc5f senderId: a155bdfe-6a3c-4e44-bbbe-44d662cf459e recipientType: PERSON firstName: Nelson lastName: Gonzales fields: - id: LAST_NAME name: Last name type: TEXT value: Gonzales - id: FIRST_NAME name: First name type: TEXT value: Nelson - id: ADDRESS_CITY name: City type: TEXT value: Bikina - id: PHONE_NUMBER name: Mobile phone number type: PHONE_NUMBER value: number: '9211551321' countryIso3Code: USA countryPhoneCode: 1 - id: ADDRESS_STATE name: State type: TEXT value: HA - id: ADDRESS_LINE_2 name: Address line 2 type: TEXT value: Halibuba street 2132 - id: ADDRESS_COUNTRY name: Country type: DROPDOWN value: PHL status: Pending sendAmount: 29.99 receiveAmount: 1369.8 fees: 11.98 totalCost: 41.97 fxRate: 45.6752 corridor: corridorId: bbe83656-8a49-44e6-a103-a560ed996c40 destinationCountryISO3Code: PHL destinationCurrencyISO3Code: PHP transferMethod: CASH_PICKUP destinationCurrency: name: Philippine peso iso3Code: PHP symbol: ₱ decimalPlaces: 0 roundDirection: UP iso4217Code: '608' - transferId: 7f65bc32-0a3f-4ebf-9c8d-5b8992104b19 confirmationNumber: 33TF126486255 createdAt: '2023-10-13T17:45:20.487745Z' doddFrankReleaseDate: '2023-10-13T17:47:00.109738Z' recipientDetails: recipientId: 1c3c9af9-f612-4368-8a64-058b30013c41 senderId: a155bdfe-6a3c-4e44-bbbe-44d662cf459e recipientType: PERSON firstName: Kiryu lastName: Kazuma fields: - id: LAST_NAME name: Last name type: TEXT value: Kazuma - id: FIRST_NAME name: First name type: TEXT value: Kiryu - id: ADDRESS_ZIP name: Zip code type: TEXT value: '1000001' - id: ADDRESS_CITY name: City type: TEXT value: OSAKA - id: PHONE_NUMBER name: Mobile phone number type: PHONE_NUMBER value: number: '023123456' countryIso3Code: KOR countryPhoneCode: 82 - id: ADDRESS_LINE_1 name: Address line 1 type: TEXT value: 1-1324 Osaka Castle, Chuo-ku - id: ADDRESS_COUNTRY name: Country type: DROPDOWN value: JPN - id: ADDRESS_STATE_PROVINCE name: State type: TEXT value: OK recipientAccountNumber: '************9123' status: Pending sendAmount: 29.99 receiveAmount: 3566 fees: 2.98 totalCost: 32.97 fxRate: 118.9063 corridor: corridorId: 0f78e3cb-9fe1-44ab-867d-c821128f784b destinationCountryISO3Code: JPN destinationCurrencyISO3Code: JPY transferMethod: BANK_ACCOUNT destinationCurrency: name: Japanese yen iso3Code: JPY symbol: ¥ decimalPlaces: 0 roundDirection: STANDARD iso4217Code: '392' - transferId: 393c0500-0b31-4a05-8589-24bfe6e941c6 confirmationNumber: 33TF126280008 createdAt: '2023-10-11T12:40:11.335553Z' recipientDetails: recipientId: c32600ac-fa14-4eb5-a32f-a2dc12cdede1 senderId: a155bdfe-6a3c-4e44-bbbe-44d662cf459e recipientType: PERSON firstName: Rudy lastName: Lamarr fields: - id: LAST_NAME name: Last name type: TEXT value: Lamarr - id: FIRST_NAME name: First name type: TEXT value: Rudy status: Pending sendAmount: 29.65 receiveAmount: 3503 fees: 2.98 totalCost: 32.63 fxRate: 118.145 corridor: corridorId: 5b62de1c-6ea4-4d52-ac29-ea1e000cef2a destinationCountryISO3Code: NPL destinationCurrencyISO3Code: NPR transferMethod: CASH_PICKUP destinationCurrency: name: Nepalese rupee iso3Code: NPR symbol: ₨ decimalPlaces: 2 roundDirection: STANDARD iso4217Code: '524' - transferId: ac7c94bc-b328-4f6c-8b3e-430cd07af855 confirmationNumber: 33TF125835645 createdAt: '2023-10-04T13:32:31.746403Z' recipientDetails: recipientId: 5b8c1bab-4025-4df9-8d91-6f21de4df00a senderId: a155bdfe-6a3c-4e44-bbbe-44d662cf459e recipientType: PERSON firstName: nepalese lastName: recipient fields: - id: LAST_NAME name: Last name type: TEXT value: recipient - id: FIRST_NAME name: First name type: TEXT value: nepalese status: Pending sendAmount: 29.99 receiveAmount: 3543 fees: 2.98 totalCost: 32.97 fxRate: 118.1394 corridor: corridorId: 5b62de1c-6ea4-4d52-ac29-ea1e000cef2a destinationCountryISO3Code: NPL destinationCurrencyISO3Code: NPR transferMethod: CASH_PICKUP destinationCurrency: name: Nepalese rupee iso3Code: NPR symbol: ₨ decimalPlaces: 2 roundDirection: STANDARD iso4217Code: '524' - transferId: 5f654c67-e335-4d22-a218-fe7d8bd2125c confirmationNumber: 33TF125832344 createdAt: '2023-10-04T13:26:50.419427Z' recipientDetails: recipientId: 40f0ea8c-8ef7-4f82-964f-957aed32c400 senderId: a155bdfe-6a3c-4e44-bbbe-44d662cf459e recipientType: PERSON firstName: nepalese lastName: recipient fields: - id: LAST_NAME name: Last name type: TEXT value: recipient - id: FIRST_NAME name: First name type: TEXT value: nepalese status: Pending sendAmount: 29.99 receiveAmount: 3543 fees: 2.98 totalCost: 32.97 fxRate: 118.1394 corridor: corridorId: 5b62de1c-6ea4-4d52-ac29-ea1e000cef2a destinationCountryISO3Code: NPL destinationCurrencyISO3Code: NPR transferMethod: CASH_PICKUP destinationCurrency: name: Nepalese rupee iso3Code: NPR symbol: ₨ decimalPlaces: 2 roundDirection: STANDARD iso4217Code: '524' - transferId: c718c8fb-bad3-4a07-b6bb-5ef2e27651e6 confirmationNumber: 33TF125786460 createdAt: '2023-10-03T20:30:06.426806Z' doddFrankReleaseDate: '2023-10-03T20:32:00.311055Z' recipientDetails: recipientId: 1c3c9af9-f612-4368-8a64-058b30013c41 senderId: a155bdfe-6a3c-4e44-bbbe-44d662cf459e recipientType: PERSON firstName: Kiryu lastName: Kazuma fields: - id: LAST_NAME name: Last name type: TEXT value: Kazuma - id: FIRST_NAME name: First name type: TEXT value: Kiryu - id: ADDRESS_ZIP name: Zip code type: TEXT value: '1000001' - id: ADDRESS_CITY name: City type: TEXT value: OSAKA - id: PHONE_NUMBER name: Mobile phone number type: PHONE_NUMBER value: number: '023123456' countryIso3Code: KOR countryPhoneCode: 82 - id: ADDRESS_LINE_1 name: Address line 1 type: TEXT value: 1-1324 Osaka Castle, Chuo-ku - id: ADDRESS_COUNTRY name: Country type: DROPDOWN value: JPN - id: ADDRESS_STATE_PROVINCE name: State type: TEXT value: OK recipientAccountNumber: '************9123' status: Pending sendAmount: 29.99 receiveAmount: 3566 fees: 2.98 totalCost: 32.97 fxRate: 118.9063 corridor: corridorId: 0f78e3cb-9fe1-44ab-867d-c821128f784b destinationCountryISO3Code: JPN destinationCurrencyISO3Code: JPY transferMethod: BANK_ACCOUNT destinationCurrency: name: Japanese yen iso3Code: JPY symbol: ¥ decimalPlaces: 0 roundDirection: STANDARD iso4217Code: '392' - transferId: d32acf15-e804-443d-9d07-cd82cb980250 confirmationNumber: 33TF125786213 createdAt: '2023-10-03T20:20:16.00461Z' doddFrankReleaseDate: '2023-10-03T20:22:00.093233Z' recipientDetails: recipientId: 1c3c9af9-f612-4368-8a64-058b30013c41 senderId: a155bdfe-6a3c-4e44-bbbe-44d662cf459e recipientType: PERSON firstName: Kiryu lastName: Kazuma fields: - id: LAST_NAME name: Last name type: TEXT value: Kazuma - id: FIRST_NAME name: First name type: TEXT value: Kiryu - id: ADDRESS_ZIP name: Zip code type: TEXT value: '1000001' - id: ADDRESS_CITY name: City type: TEXT value: OSAKA - id: PHONE_NUMBER name: Mobile phone number type: PHONE_NUMBER value: number: '023123456' countryIso3Code: KOR countryPhoneCode: 82 - id: ADDRESS_LINE_1 name: Address line 1 type: TEXT value: 1-1324 Osaka Castle, Chuo-ku - id: ADDRESS_COUNTRY name: Country type: DROPDOWN value: JPN - id: ADDRESS_STATE_PROVINCE name: State type: TEXT value: OK recipientAccountNumber: '************9123' status: Pending sendAmount: 29.99 receiveAmount: 3566 fees: 2.98 totalCost: 32.97 fxRate: 118.9063 corridor: corridorId: 0f78e3cb-9fe1-44ab-867d-c821128f784b destinationCountryISO3Code: JPN destinationCurrencyISO3Code: JPY transferMethod: BANK_ACCOUNT destinationCurrency: name: Japanese yen iso3Code: JPY symbol: ¥ decimalPlaces: 0 roundDirection: STANDARD iso4217Code: '392' - transferId: ea0b7e5c-bf1b-4dca-ab52-6891293a6564 confirmationNumber: 33TF125784416 createdAt: '2023-10-03T19:53:31.181329Z' doddFrankReleaseDate: '2023-10-03T19:55:01.516076Z' recipientDetails: recipientId: 1c3c9af9-f612-4368-8a64-058b30013c41 senderId: a155bdfe-6a3c-4e44-bbbe-44d662cf459e recipientType: PERSON firstName: Kiryu lastName: Kazuma fields: - id: LAST_NAME name: Last name type: TEXT value: Kazuma - id: FIRST_NAME name: First name type: TEXT value: Kiryu - id: ADDRESS_ZIP name: Zip code type: TEXT value: '1000001' - id: ADDRESS_CITY name: City type: TEXT value: OSAKA - id: PHONE_NUMBER name: Mobile phone number type: PHONE_NUMBER value: number: '023123456' countryIso3Code: KOR countryPhoneCode: 82 - id: ADDRESS_LINE_1 name: Address line 1 type: TEXT value: 1-1324 Osaka Castle, Chuo-ku - id: ADDRESS_COUNTRY name: Country type: DROPDOWN value: JPN - id: ADDRESS_STATE_PROVINCE name: State type: TEXT value: OK recipientAccountNumber: '************9123' status: Pending sendAmount: 29.99 receiveAmount: 3566 fees: 2.98 totalCost: 32.97 fxRate: 118.9063 corridor: corridorId: 0f78e3cb-9fe1-44ab-867d-c821128f784b destinationCountryISO3Code: JPN destinationCurrencyISO3Code: JPY transferMethod: BANK_ACCOUNT destinationCurrency: name: Japanese yen iso3Code: JPY symbol: ¥ decimalPlaces: 0 roundDirection: STANDARD iso4217Code: '392' - transferId: 3aeed0ae-930a-4296-b464-8dee95c3ac8d confirmationNumber: 33TF125783215 createdAt: '2023-10-03T19:51:32.459314Z' doddFrankReleaseDate: '2023-10-03T19:53:00.491398Z' recipientDetails: recipientId: 1c3c9af9-f612-4368-8a64-058b30013c41 senderId: a155bdfe-6a3c-4e44-bbbe-44d662cf459e recipientType: PERSON firstName: Kiryu lastName: Kazuma fields: - id: LAST_NAME name: Last name type: TEXT value: Kazuma - id: FIRST_NAME name: First name type: TEXT value: Kiryu - id: ADDRESS_ZIP name: Zip code type: TEXT value: '1000001' - id: ADDRESS_CITY name: City type: TEXT value: OSAKA - id: PHONE_NUMBER name: Mobile phone number type: PHONE_NUMBER value: number: '023123456' countryIso3Code: KOR countryPhoneCode: 82 - id: ADDRESS_LINE_1 name: Address line 1 type: TEXT value: 1-1324 Osaka Castle, Chuo-ku - id: ADDRESS_COUNTRY name: Country type: DROPDOWN value: JPN - id: ADDRESS_STATE_PROVINCE name: State type: TEXT value: OK recipientAccountNumber: '************9123' status: Pending sendAmount: 29.99 receiveAmount: 3566 fees: 2.98 totalCost: 32.97 fxRate: 118.9063 corridor: corridorId: 0f78e3cb-9fe1-44ab-867d-c821128f784b destinationCountryISO3Code: JPN destinationCurrencyISO3Code: JPY transferMethod: BANK_ACCOUNT destinationCurrency: name: Japanese yen iso3Code: JPY symbol: ¥ decimalPlaces: 0 roundDirection: STANDARD iso4217Code: '392' - transferId: aa314259-ee80-420f-b093-5f202361f4ea confirmationNumber: 33TF125782709 createdAt: '2023-10-03T19:30:30.024905Z' doddFrankReleaseDate: '2023-10-03T19:32:00.129362Z' recipientDetails: recipientId: 1c3c9af9-f612-4368-8a64-058b30013c41 senderId: a155bdfe-6a3c-4e44-bbbe-44d662cf459e recipientType: PERSON firstName: Kiryu lastName: Kazuma fields: - id: LAST_NAME name: Last name type: TEXT value: Kazuma - id: FIRST_NAME name: First name type: TEXT value: Kiryu - id: ADDRESS_ZIP name: Zip code type: TEXT value: '1000001' - id: ADDRESS_CITY name: City type: TEXT value: OSAKA - id: PHONE_NUMBER name: Mobile phone number type: PHONE_NUMBER value: number: '023123456' countryIso3Code: KOR countryPhoneCode: 82 - id: ADDRESS_LINE_1 name: Address line 1 type: TEXT value: 1-1324 Osaka Castle, Chuo-ku - id: ADDRESS_COUNTRY name: Country type: DROPDOWN value: JPN - id: ADDRESS_STATE_PROVINCE name: State type: TEXT value: OK recipientAccountNumber: '************9123' status: Pending sendAmount: 29.99 receiveAmount: 3566 fees: 2.98 totalCost: 32.97 fxRate: 118.9063 corridor: corridorId: 0f78e3cb-9fe1-44ab-867d-c821128f784b destinationCountryISO3Code: JPN destinationCurrencyISO3Code: JPY transferMethod: BANK_ACCOUNT destinationCurrency: name: Japanese yen iso3Code: JPY symbol: ¥ decimalPlaces: 0 roundDirection: STANDARD iso4217Code: '392' pagination: offset: 10 limit: 10 count: 10 total: 142 '400': description: > The request was invalid. This response typically occurs if required parameters are missing or invalid. The response includes an error message indicating the reason for the failure. content: application/json: schema: type: object properties: code: type: string description: > Error code indicating the type of error. This code helps in identifying the specific issue that caused the request to fail. Example: "InvalidParameter" message: type: string description: > A brief message describing the error. This message provides additional information about the reason for the failure. Example: "'senderId' must be a valid UUID." fieldId: type: string description: > The unique identifier for the field associated with the error. This ID helps in pinpointing the exact field that caused the error. Example: "SenderId" example: code: "NotEmptyValidator" message: "'Sender Id' is required." fieldId: "SenderId" '401': description: > The request is unauthorized. This response occurs when authentication credentials are missing, invalid, or expired. The response includes an error message indicating the reason for the failure. content: application/json: schema: type: object properties: code: type: string description: > Error code indicating the type of authorization error. This code helps in identifying the specific issue that caused the request to be unauthorized. Example: "000" message: type: string description: > A brief message describing the error. This message provides additional information about the reason for the authorization failure. Example: "Something went wrong!" description: type: string description: > A detailed explanation of the error. It provides further context on why the request was unauthorized. Example: "Unauthorized" example: code: "000" message: "Something went wrong!" description: "Unauthorized" "/transfers/progress/{quoteHistoryId}": get: tags: - Transfers summary: Get Transfer Progress by Quote History ID description: | The `GET /transfers/progress/{quoteHistoryId}` endpoint retrieves the progress of a transfer based on the provided quote history ID. This operation allows you to track the status and details of a transfer. **Implementation Guide:** - **Prerequisite**: Ensure that the `quoteHistoryId` parameter is provided to retrieve the transfer progress accurately. - **Validation**: Validate the request parameter to ensure it meets the requirements for retrieving the transfer progress. operationId: getTransferStatusOfQuote parameters: - name: quoteHistoryId in: path description: The quote history identifier required: true style: simple explode: false schema: type: string responses: '200': description: The transfer progress was successfully retrieved. content: application/json: schema: "$ref": "#/components/schemas/transferProgressResponse" example: transferRecordStatus: "Created" transferId: "d53d90ad-4de8-415d-8286-90c41853a3dd" '400': description: The request was invalid. This response typically occurs if the `quoteHistoryId` parameter is missing or invalid. Quote History ID not found content: application/json: schema: "$ref": "#/components/schemas/codeMsgDescObjectArray" example: - code: QuoteHistoryNotFound message: The quote history was not found. description: The quote history was not found. '401': description: The request requires user authentication. This response occurs if the authentication token is missing or invalid. content: application/json: schema: "$ref": "#/components/schemas/response401" '404': description: The transfer progress could not be retrieved. This response occurs if the `quoteHistoryId` does not match any existing records. content: application/json: schema: "$ref": "#/components/schemas/codeMsgFieldIdObjectArray" "/transfers/{transferId}": get: tags: - Transfers summary: Get Transfer description: | The `GET /transfers/{transferId}` endpoint retrieves the details of a specific transfer based on the provided transfer ID. This operation allows you to view the status and details of a transfer. **Implementation Guide:** - **Prerequisite**: Ensure that the `transferId` parameter is provided to retrieve the transfer details accurately. - **Validation**: Validate the request parameter to ensure it meets the requirements for retrieving the transfer details. operationId: getTransfer parameters: - name: transferId in: path description: The transfer identifier required: true style: simple explode: false schema: type: string responses: '200': description: The transfer details were successfully retrieved. 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: The request was invalid. This response typically occurs if the `transferId` parameter is missing or invalid. 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: The request requires user authentication. This response occurs if the authentication token is missing or invalid. content: application/json: schema: "$ref": "#/components/schemas/response401" "/transfers/{transferId}/cancel": post: tags: - Transfers summary: Cancel Transfer description: Provides the ability for a user to request the cancelation of a transfer, if available. The system limits the availability of this option based on a number of factors. operationId: cancelTransfer requestBody: content: application/json: schema: "$ref": "#/components/schemas/cancelTransferRequest" 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: "5fb33fb8-6bb5-481b-882e-be754162bd68" confirmationNumber: "33TF025057483" quote: customerId: "9ce909de-f585-4233-bdc5-fdc42cbfd7c4" senderId: "2f14254c-7433-408d-9007-ff279b2b06cd" sendAmount: value: 3055 currency: name: "US Dollar" iso3Code: "USD" symbol: "$" decimalPlaces: 2 roundDirection: "STANDARD" iso4217Code: "840" receiveAmount: value: 62175 currency: name: "Mexican peso" iso3Code: "MXN" symbol: "$" decimalPlaces: 2 roundDirection: "STANDARD" iso4217Code: "484" rate: 20.3519 adjustments: - id: "TransferFee" label: "Transfer Fee" amount: value: 499 currency: name: "US Dollar" iso3Code: "USD" symbol: "$" decimalPlaces: 2 roundDirection: "STANDARD" iso4217Code: "840" totalCost: value: 3554 currency: name: "US Dollar" iso3Code: "USD" symbol: "$" decimalPlaces: 2 roundDirection: "STANDARD" iso4217Code: "840" associatedTransferRecordStatus: "NotInProgress" destinationCountryISO3Code: "MEX" destinationCurrencyISO3Code: "MXN" sourceCurrencyIso3Code: "USD" destinationCountry: name: "Mexico" iso2Code: "MX" iso3Code: "MEX" phoneCode: 52 transferMethod: "BANK_ACCOUNT" rsp: "Remittance Service Provider" disclosures: [] deliverySLA: id: "SAME_BUSINESS_DAY" name: "Same Business Day" senderDetails: senderId: "2f14254c-7433-408d-9007-ff279b2b06cd" senderType: "PERSON" firstName: "Peter" lastName: "Bradford" customerId: "9ce909de-f585-4233-bdc5-fdc42cbfd7c4" kycStatus: "SKIPPED" customerFundingSource: "PREFUNDING" fields: - id: "FIRST_NAME" name: "Legal first name" type: "TEXT" value: "Peter" - id: "LAST_NAME" name: "Legal last name" type: "TEXT" value: "Bradford" - id: "ADDRESS_LINE_1" name: "Address line 1" type: "TEXT" value: "Asd Kas" - id: "ADDRESS_STATE" name: "State" type: "DROPDOWN" value: "MN" - id: "ADDRESS_CITY" name: "City" type: "TEXT" value: "Cohasset" - id: "ADDRESS_ZIP" name: "Zip code" type: "TEXT" value: "55721" - id: "ADDRESS_COUNTRY" name: "Country" type: "DROPDOWN" value: "USA" - id: "PHONE_NUMBER" name: "Phone number" type: "PHONE_NUMBER" value: number: "14045558888" countryIso3Code: "USA" countryPhoneCode: 1 - id: "ID_TYPE" name: "ID type" type: "DROPDOWN" value: "SSN" - id: "EMAIL_ADDRESS" name: "Email" type: "TEXT" value: "geneva.mcintosh2009@example.com" recipientDetails: recipientId: "51e93d0c-1a6f-4474-a8a7-93ed8b2aa06f" senderId: "2f14254c-7433-408d-9007-ff279b2b06cd" recipientType: "PERSON" firstName: "Mex" lastName: "Bank" fields: - id: "FIRST_NAME" name: "First name" type: "TEXT" value: "Mex" - id: "LAST_NAME" name: "Last name" type: "TEXT" value: "Bank" - id: "SECOND_LAST_NAME" name: "Second last name" type: "TEXT" value: "Account" - id: "ADDRESS_COUNTRY" name: "Country" type: "DROPDOWN" value: "MEX" - id: "PHONE_NUMBER" name: "Mobile phone number" type: "PHONE_NUMBER" value: number: "14045558888" countryIso3Code: "MEX" countryPhoneCode: 52 recipientAccountDetails: dstCurrencyIso3Code: "MXN" dstCountryIso3Code: "MEX" transferMethod: "BANK_ACCOUNT" recipientAccountId: "10dc1426-e726-40cc-8a20-93765f2c2048" accountNumber: "**************4567" fields: - id: "BANK" name: "Bank name" type: "DROPDOWN" value: "ME1" - id: "BANK_NAME" name: "Bank name" type: "TEXT" value: "BBVA BANCOMER SA" - id: "BANK_ACCOUNT_NUMBER" name: "CLABE" type: "TEXT" value: "**************4567" disclaimers: [] createdAt: "2025-02-13T21:46:37.5005701Z" fields: [] customer: name: "Customer Name" addressLine1: "100 Main Street" addressLine2: "" addressCity: "Pembroke Pine" addressState: "GA" addressCountry: "USA" addressZipCode: "11100" phoneNumber: "1-833-000-5768" website: "www.customerwebsite.com" dateAvailable: "2025-02-17T21:46:37.5005701Z" status: "Canceled" "/transfers/{transferId}/receipt": get: tags: - Transfers summary: Get Transfer Receipt description: This operation retrieves the receipt for a specific transfer based on the provided transfer ID. The receipt is a PDF document that contains the details of the transfer. It should be displayed to the user and be available to download. operationId: getTransferReceipt parameters: - name: transferId in: path description: The transfer identifier required: true style: simple explode: false schema: type: string responses: '200': description: The transfer receipt was successfully retrieved. content: application/pdf: schema: type: string format: binary '400': description: The request was invalid. This response typically occurs if the `transferId` parameter is missing or invalid. content: application/json: schema: "$ref": "#/components/schemas/codeMsgFieldIdObject" '401': description: The request requires user authentication. This response occurs if the authentication token is missing or invalid. content: application/json: schema: "$ref": "#/components/schemas/response401" '404': description: The transfer receipt could not be retrieved. This response occurs if the `transferId` does not match any existing records. content: application/json: schema: "$ref": "#/components/schemas/codeMsgFieldIdObjectArray" '500': description: Internal Server Error content: application/json: schema: "$ref": "#/components/schemas/codeMsgFieldIdObjectArray" "/transfers/{transferId}/statuses": get: tags: - Transfers summary: Get Transfer Status description: | The `GET /transfers/{transferId}/statuses` endpoint retrieves the status history of a specific transfer based on the provided transfer ID. This operation allows you to view the progression of statuses for a transfer. **Implementation Guide:** - **Prerequisite**: Ensure that the `transferId` parameter is provided to retrieve the status history accurately. - **Validation**: Validate the request parameter to ensure it meets the requirements for retrieving the status history. operationId: getTransferStatuses parameters: - name: transferId in: path description: Unique identifier for the transfer. required: true style: simple explode: false schema: type: string responses: '200': description: The transfer status history was successfully retrieved. 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' '400': description: The request was invalid. This response typically occurs if the `transferId` parameter is missing or invalid. content: application/json: schema: "$ref": "#/components/schemas/codeMsgFieldIdObject" '401': description: The request requires user authentication. This response occurs if the authentication token is missing or invalid. content: application/json: schema: "$ref": "#/components/schemas/response401" '404': description: The transfer status history could not be retrieved. This response occurs if the `transferId` does not match any existing records. content: application/json: schema: "$ref": "#/components/schemas/codeMsgFieldIdObjectArray" "/transfers/{transferId}/customer-hold/release": post: tags: - Transfers summary: Release Customer Hold description: This operation releases a customer hold on a transfer if one was set during the transfer creation. A success response indicates that the request was validated and recorded. Note that other holds may still exist. operationId: releaseCustomerHold parameters: - name: transferId in: path description: The transfer identifier required: true style: simple explode: false schema: type: object properties: {} responses: '202': description: Accepted headers: Content-Type: schema: type: string example: application/json content: application/json: schema: type: object properties: {} '400': description: The request was invalid. This response typically occurs if the `transferId` parameter is missing or invalid. content: application/json: schema: "$ref": "#/components/schemas/codeMsgFieldIdObject" '401': description: The request requires user authentication. This response occurs if the authentication token is missing or invalid. content: application/json: schema: "$ref": "#/components/schemas/response401" '404': description: The transfer could not be found. This response occurs if the `transferId` does not match any existing records. content: application/json: schema: "$ref": "#/components/schemas/codeMsgFieldIdObjectArray" '500': description: Internal Server Error content: application/json: schema: "$ref": "#/components/schemas/codeMsgFieldIdObjectArray" "/transfers/{transferId}/customer-hold/cancel": post: tags: - Transfers summary: Cancel transfer in Customer Hold description: This operation cancels a transfer currently under a customer hold. A success response indicates that the request was validated and recorded. operationId: cancelCustomerHold parameters: - name: transferId in: path description: The transfer identifier required: true style: simple explode: false schema: type: object properties: {} responses: '202': description: Accepted headers: Content-Type: schema: type: string example: application/json content: application/json: schema: type: object properties: {} '400': description: The request was invalid. This response typically occurs if the `transferId` parameter is missing or invalid. content: application/json: schema: "$ref": "#/components/schemas/codeMsgFieldIdObject" '401': description: The request requires user authentication. This response occurs if the authentication token is missing or invalid. content: application/json: schema: "$ref": "#/components/schemas/response401" '404': description: The transfer could not be found. This response occurs if the `transferId` does not match any existing records. content: application/json: schema: "$ref": "#/components/schemas/codeMsgFieldIdObjectArray" '500': description: Internal Server Error content: application/json: schema: "$ref": "#/components/schemas/codeMsgFieldIdObjectArray" "/cards": post: tags: - Cards summary: Create card description: | The `POST /cards` endpoint creates a new card record. **Implementation Guide:** - **Prerequisite**: Ensure that all required fields are provided to create the card accurately. - **Validation**: Validate the request body to ensure all required fields are included and correctly formatted. 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: The card record was successfully created. content: application/json: schema: "$ref": "#/components/schemas/createCardResponse" example: id: 654ef2cb-6550-45db-ac42-decc7be1616a personalName: Ruth Morris cardNumber: "********0078" expiryDate: "12/31" cvv2: "***" cardCountryIso3Codes: - IND cardCurrencyIso3Codes: - INR '400': description: The request was invalid. This response typically occurs if required parameters are missing or invalid. content: application/json: schema: "$ref": "#/components/schemas/codeMsgFieldIdObject" '401': description: The request requires user authentication. This response occurs if the authentication token is missing or invalid. content: application/json: schema: "$ref": "#/components/schemas/response401" '403': description: The request was valid, but the server is refusing action. This response occurs if the user does not have permission to create the card record. content: application/json: schema: "$ref": "#/components/schemas/codeMsgDescObject" '404': description: The card record could not be created. This response occurs if the parameters provided do not match any available card options. content: application/json: schema: "$ref": "#/components/schemas/codeMsgFieldIdObjectArray" "/card-onboarding-sessions": post: tags: - Cards summary: Create Card Onboarding Session description: | The POST /card-onboarding-sessions endpoint is used to create a new card onboarding session, allowing users to securely enter and link their card details. This session enables customization of the user interface and validation of required card information. **Implementation Guide:** - **Prerequisite**: Ensure that all required fields are provided to create the onboarding session accurately. - **Validation**: Validate the request body to ensure all required fields are included and correctly formatted. operationId: createCardOnboardingSession requestBody: content: application/json: schema: "$ref": "#/components/schemas/createCardOnboardingSessionRequest" examples: Create Card Onboarding Session: summary: Create Card Onboarding Session value: entityMode: RECIPIENT customization: primaryColor: "#00A000" submitButtonLabel: "NEXT: REVIEW" submitBorderRadius: 40 wrapperMargin: "10%" title: "Deposit via debit card" description: "Your refund will be credited directly to your bank account via your RemittanceServiceProvider debit card." locale: "en-US" texts: family: "Arial" size: 14 weight: 500 inputs: family: "Roboto" size: 18 weight: 500 responses: '200': description: The card onboarding session was successfully created. content: application/json: schema: "$ref": "#/components/schemas/cardOnboardingSessionResponse" example: status: INCOMPLETE id: 16303d3f-7a2b-45c2-b958-03930f709d22 expirationDate: 2025-02-17T06:46:05.2447002Z cardId: null customization: primaryColor: "#00A000" submitButtonLabel: "NEXT: REVIEW" submitBorderRadius: 40 wrapperMargin: "10%" locale: "en-US" title: "Deposit via debit card" description: "Your refund will be credited directly to your bank account via your RemittanceServiceProvider debit card." texts: family: "Arial" size: 14 weight: 500 inputs: family: "Roboto" size: 18 weight: 500 hints: [] entityMode: RECIPIENT cvv2Required: true cardNumberRequired: true cardHolderNameRequired: true expiryDateRequired: true customerId: 9ce909de-f585-4233-bdc5-fdc42cbfd7c4 senderId: 5311fd82-ba46-4ebf-a446-b32c58c6ecb3 fieldSets: [] '400': description: The request was invalid. This response typically occurs if required parameters are missing or invalid. content: application/json: schema: "$ref": "#/components/schemas/codeMsgFieldIdObject" '401': description: The request requires user authentication. This response occurs if the authentication token is missing or invalid. content: application/json: schema: "$ref": "#/components/schemas/response401" '403': description: The request was valid, but the server is refusing action. This response occurs if the user does not have permission to create the card onboarding session. content: application/json: schema: "$ref": "#/components/schemas/codeMsgDescObject" '404': description: The card onboarding session could not be created. This response occurs if the parameters provided do not match any available onboarding options. content: application/json: schema: "$ref": "#/components/schemas/codeMsgFieldIdObjectArray" "/card-onboarding-sessions/{cardOnboardingSessionId}": get: tags: - Card Onboarding Sessions summary: Get Card Onboarding Session description: | The `GET /card-onboarding-sessions/{cardOnboardingSessionId}` endpoint allows clients to track the progress of a card onboarding session, retrieve customization details, and check expiration status. It is useful for resuming onboarding flows or debugging session failures. **Implementation Guide:** 1. Initiate a card onboarding session using the appropriate API. 2. Store the cardOnboardingSessionId returned from the session creation API. 3. Use this GET endpoint to periodically check session status or retrieve UI customization settings. 4. If the session is incomplete, prompt the user to complete onboarding before expiration. operationId: getCardOnboardingSession parameters: - name: cardOnboardingSessionId in: path description: The unique identifier of the card onboarding session. This ID is generated when a session is created and should be stored for future reference. required: true style: simple explode: false schema: type: string responses: '200': description: The card onboarding session details were successfully retrieved. content: application/json: schema: "$ref": "#/components/schemas/GetcardOnboardingSessionResponse" example: status: INCOMPLETE id: 56cc9f6c-5e3d-482a-bfef-154b4c8bea6a expirationDate: 2025-02-17T07:16:26.709844Z cardId: null customization: primaryColor: "#00A000" submitButtonLabel: "NEXT: REVIEW" submitBorderRadius: 40 wrapperMargin: "10%" locale: "en-US" title: "Deposit via debit card" description: "Your refund will be credited directly to your bank account via your RemittanceServiceProvider debit card." texts: family: "Arial" size: 14 weight: 500 inputs: family: "Roboto" size: 18 weight: 500 hints: [] entityMode: RECIPIENT cvv2Required: true cardNumberRequired: true cardHolderNameRequired: true expiryDateRequired: true customerId: 9ce909de-f585-4233-bdc5-fdc42cbfd7c4 senderId: 5311fd82-ba46-4ebf-a446-b32c58c6ecb3 cardCountryIso3Codes: [] cardCurrencyIso3Codes: [] '400': description: The request was invalid. This response typically occurs if the `cardOnboardingSessionId` parameter is missing or invalid. content: application/json: schema: type: object properties: code: type: string description: "Error code associated with the failure defined by ReadyRemit. Example- 000" example: "000" message: type: string description: "A short error message. Example- Something went wrong!" example: "Something went wrong!" description: type: string description: "A detailed description of the error. Example- The request is invalid." example: "The request is invalid." examples: InvalidRequest: summary: Invalid Request Error value: code: "000" message: "Something went wrong!" description: "The request is invalid." '401': description: The request requires user authentication. This response occurs if the authentication token is missing or invalid. content: application/json: schema: "$ref": "#/components/schemas/response401" '404': description: The card onboarding session details could not be retrieved. This response occurs if the `cardOnboardingSessionId` does not match any existing records. content: application/json: schema: type: array items: type: object properties: code: type: string description: "Error code indicating the resource was not found. Example: `404`" message: type: string description: "A short message indicating that the resource could not be found. Example: `Resource Not Found`" description: type: string description: "Detailed explanation of why the resource was not found. Example: `The specified cardOnboardingSessionId does not exist.`" examples: ResourceNotFound: summary: 404 Not Found Error value: - code: "404" message: "Resource Not Found" description: "The specified `cardOnboardingSessionId` does not exist." '500': description: An unexpected error occurred on the server. content: application/json: schema: type: object properties: code: type: string description: "Error code associated with the failure." example: "000" message: type: string description: "A short error message indicating the issue." example: "Something went wrong!" description: type: string description: "A detailed explanation of the error." example: "UnhandledException" examples: InternalServerError: summary: 500 Internal Server Error value: code: "000" message: "Something went wrong!" description: "UnhandledException" components: schemas: nonceResponse: type: object description: Response containing a unique nonce identifier for preventing duplicate transfer submissions. properties: nonce: type: string format: uuid description: > A unique identifier that can be included in the `POST /transfers` request to prevent duplicate submissions. Each nonce is associated with the authenticated customer and can only be used once. Example: "a1b2c3d4-e5f6-7890-abcd-ef1234567890" required: - nonce GetcardOnboardingSessionResponse: type: object properties: status: type: string description: "The current status of the card onboarding session. It indicates whether the session is complete or incomplete. Refer to the [Card Onboarding Session Status](https://developer.readyremit.com/v10/reference/enum-types#card-onboarding-session-status) for the full list of supported values. Example: INCOMPLETE" id: type: string description: "The unique identifier for the card onboarding session. It is used to track and manage the session within the system. Example: 56cc9f6c-5e3d-482a-bfef-154b4c8bea6a" expirationDate: type: string format: date-time description: "The expiration date and time of the card onboarding session. It indicates when the session will expire. Example: 2025-02-17T07:16:26.709844Z" cardId: type: string nullable: true description: "The unique identifier for the card associated with the session. It is used to reference the card within the system. Example: null" customization: type: object properties: primaryColor: type: string description: "The primary color used in the customization. It defines the main color theme for the interface. Use primaryColor to set the dominant branding color for the onboarding UI. Example: #00A000" submitButtonLabel: type: string description: "The label displayed on the submit button. It provides a clear action for the user to proceed. Example: NEXT: REVIEW" submitBorderRadius: type: integer description: "The border radius of the submit button. It defines the roundness of the button corners. Example: 40" wrapperMargin: type: string description: "The margin around the wrapper element. It defines the spacing between the wrapper and other elements. Accepted values include %, px, and em. Example: 10%" locale: type: string description: "The locale setting for the customization. It defines the language and regional settings. ReadyRemit supports English and Spanish. Example: en-US" title: type: string description: "The title of the customization. It provides a heading for the interface. Example: Deposit via debit card" description: type: string description: "A description of the customization. It provides additional information about the interface. Example: Your refund will be credited directly to your bank account via your debit card." texts: type: object properties: family: type: string description: "The font family used for text elements. It defines the typeface for the text. Example: Arial" size: type: integer description: "The font size used for text elements. It defines the size of the text. Example: 14" weight: type: integer description: "The font weight used for text elements. It defines the thickness of the text. Example: 500" inputs: type: object properties: family: type: string description: "The font family used for input elements. It defines the typeface for the input text. Example: Roboto" size: type: integer description: "The font size used for input elements. It defines the size of the input text. Example: 18" weight: type: integer description: "The font weight used for input elements. It defines the thickness of the input text. Example: 500" hints: type: array items: type: string description: "A list of hints provided for the customization. These hints offer additional guidance to the user. Example: []" entityMode: type: string description: "Specifies the mode of the entity. It determines the context in which the customization is applied. Example: RECIPIENT" cvv2Required: type: boolean description: "Indicates whether the CVV2 code is required for the card. It ensures that the CVV2 code is provided during the onboarding process. Example: true" cardNumberRequired: type: boolean description: "Indicates whether the card number is required. It ensures that the card number is provided during the onboarding process. Example: true" cardHolderNameRequired: type: boolean description: "Indicates whether the cardholder's name is required. It ensures that the cardholder's name is provided during the onboarding process. Example: true" expiryDateRequired: type: boolean description: "Indicates whether the card's expiry date is required. It ensures that the expiry date is provided during the onboarding process. Example: true" customerId: type: string description: "Unique identifier for the customer. This ID is used to track and manage customer details within the system. Example: 9ce909de-f585-4233-bdc5-fdc42cbfd7c4" senderId: type: string description: "Unique identifier for the sender. It is used to track and manage sender details within the system. Example: 5311fd82-ba46-4ebf-a446-b32c58c6ecb3" cardCountryIso3Codes: type: array items: type: string description: "A list of ISO 3166-1 alpha-3 codes for the countries where the card can be used. Example: []" cardCurrencyIso3Codes: type: array items: type: string description: "A list of ISO 4217 codes for the currencies that the card supports. Example: []" cardOnboardingSessionResponse: type: object properties: status: type: string description: "The current status of the card onboarding session. It indicates whether the session is complete or incomplete. See other [Card Onboarding Statuses](https://developer.readyremit.com/v10/reference/enum-types#card-onboarding-session-status). Example: INCOMPLETE " id: type: string description: "The unique identifier for the card onboarding session. It is used to track and manage the session within the system. Example: 16303d3f-7a2b-45c2-b958-03930f709d22" expirationDate: type: string format: date-time description: "The expiration date and time of the card onboarding session. It indicates when the session will expire. Example: 2025-02-17T06:46:05.2447002Z" cardId: type: string nullable: true description: "The unique identifier for the card associated with the session. It is used to reference the card within the system. Example: null" customization: type: object properties: primaryColor: type: string description: "The primary color used in the customization. It defines the main color theme for the interface. Example: #00A000" submitButtonLabel: type: string description: "The label displayed on the submit button. It provides a clear action for the user to proceed. Example: NEXT: REVIEW" submitBorderRadius: type: integer description: "The border radius of the submit button. It defines the roundness of the button corners. Example: 40" wrapperMargin: type: string description: "The margin around the wrapper element. It defines the spacing between the wrapper and other elements. Example: 10%" locale: type: string description: "The locale setting for the customization. It defines the language and regional settings. Example: en-US" title: type: string description: "The title of the customization. It provides a heading for the interface. Example: Deposit via debit card" description: type: string description: "A description of the customization. It provides additional information about the interface. Example: Your refund will be credited directly to your bank account via your debit card." texts: type: object properties: family: type: string description: "The font family used for text elements. It defines the typeface for the text. Example: Arial" size: type: integer description: "The font size used for text elements. It defines the size of the text. Example: 14" weight: type: integer description: "The font weight used for text elements. It defines the thickness of the text. Example: 500" inputs: type: object properties: family: type: string description: "The font family used for input elements. It defines the typeface for the input text. Example: Roboto" size: type: integer description: "The font size used for input elements. It defines the size of the input text. Example: 18" weight: type: integer description: "The font weight used for input elements. It defines the thickness of the input text. Example: 500" hints: type: array items: type: string description: "A list of hints provided for the customization. These hints offer additional guidance to the user. Example: []" entityMode: type: string description: "Specifies the mode of the entity. It determines the context in which the customization is applied. Example: RECIPIENT" cvv2Required: type: boolean description: "Indicates whether the CVV2 code is required for the card. It ensures that the CVV2 code is provided during the onboarding process. Example: true" cardNumberRequired: type: boolean description: "Indicates whether the card number is required. It ensures that the card number is provided during the onboarding process. Example: true" cardHolderNameRequired: type: boolean description: "Indicates whether the cardholder's name is required. It ensures that the cardholder's name is provided during the onboarding process. Example: true" expiryDateRequired: type: boolean description: "Indicates whether the card's expiry date is required. It ensures that the expiry date is provided during the onboarding process. Example: true" customerId: type: string description: "Unique identifier for the customer. This ID is used to track and manage customer details within the system. Example: 9ce909de-f585-4233-bdc5-fdc42cbfd7c4" senderId: type: string description: "Unique identifier for the sender. It is used to track and manage sender details within the system. Example: 5311fd82-ba46-4ebf-a446-b32c58c6ecb3" fieldSets: type: array items: type: object description: "A collection of field sets included in the card onboarding session. Each field set contains related fields that are grouped together for better organization and management. Example: []" 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: entityMode: type: string description: "Specifies the mode of the entity. It determines the context in which the customization is applied. Example: RECIPIENT" customization: type: object properties: primaryColor: type: string description: "The primary color used in the customization. It defines the main color theme for the interface. Example: #00A000" submitButtonLabel: type: string description: "The label displayed on the submit button. It provides a clear action for the user to proceed. Example: NEXT: REVIEW" submitBorderRadius: type: integer description: "The border radius of the submit button. It defines the roundness of the button corners. Example: 40" wrapperMargin: type: string description: "The margin around the wrapper element. It defines the spacing between the wrapper and other elements. Example: 10%" title: type: string description: "The title of the customization. It provides a heading for the interface. Example: Deposit via debit card" description: type: string description: "A description of the customization. It provides additional information about the interface. Example: Your refund will be credited directly to your bank account via your debit card." locale: type: string description: "The locale setting for the customization. It defines the language and regional settings. Example: en-US" texts: type: object properties: family: type: string description: "The font family used for text elements. It defines the typeface for the text. Example: Arial" size: type: integer description: "The font size used for text elements. It defines the size of the text. Example: 14" weight: type: integer description: "The font weight used for text elements. It defines the thickness of the text. Example: 500" inputs: type: object properties: family: type: string description: "The font family used for input elements. It defines the typeface for the input text. Example: Roboto" size: type: integer description: "The font size used for input elements. It defines the size of the input text. Example: 18" weight: type: integer description: "The font weight used for input elements. It defines the thickness of the input text. Example: 500" createCardRequest: type: object required: - cardOnboardingSessionId - cardNumber - expiryDate - cvv2 properties: cardonboardingsessionid: type: string description: "The unique identifier for the card onboarding session. This ID is used to track and manage the session within the system. Example: 'e22e6884-ae4d-4bd9-aa1d-e28b6b894bac'" cardholderName: type: string description: "The name of the cardholder. This name is printed on the card and used for identification purposes. Example: 'Ruth Morris'" addressStreet: type: string description: "The street address of the cardholder. This address is used for billing and verification purposes. Example: 'Ruth Morris'" addressZip: type: string description: "The ZIP code of the cardholder's address. This code is used for billing and verification purposes. Example: 'PL27 8JJ'" cardNumber: type: string description: "The full card number. This number is used for processing transactions. Example: '4761369999000078'" cvv2: type: string description: "The CVV2 code of the card. This code is used for security verification during transactions. Example: '964'" expiryDate: type: string description: "The expiration date of the card. This date indicates when the card will expire and need to be renewed. Example: '1231'" createCardResponse: type: object properties: id: type: string description: "The unique identifier for the card. This ID is used to track and manage the card within the system. Example: '654ef2cb-6550-45db-ac42-decc7be1616a'" personalName: type: string description: "The name of the cardholder. This name is printed on the card and used for identification purposes. Example: 'Ruth Morris'" cardNumber: type: string description: "The masked card number. Only the last few digits are shown for security reasons. Example: '********0078'" expiryDate: type: string description: "The expiration date of the card. This date indicates when the card will expire and need to be renewed. Example: '12/31'" cvv2: type: string description: "The masked CVV2 code. Only asterisks are shown for security reasons. Example: '***'" cardCountryIso3Codes: type: array description: "A list of ISO 3166-1 alpha-3 codes for the countries where the card can be used. Example: ['IND']" items: type: string cardCurrencyIso3Codes: type: array description: "A list of ISO 4217 codes for the currencies that the card supports. Example: ['INR']" items: 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 description: Error code defined by ReadyRemit message: type: string description: Error message associated with the error code fieldId: type: string description: Field Id associated with the error code 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' description: Error code defined by ReadyRemit message: type: string default: Something went wrong! description: Error message associated with error code description: type: string default: Unauthorized threeUppercaseChars: maxLength: 3 minLength: 3 pattern: "^[A-Z]{3}$" type: string createSenderRequest: type: object required: - senderType - fields properties: senderType: "$ref": "#/components/schemas/senderTypes" description: | Defines the type of sender initiating the transfer. This determines the required fields and compliance checks. Possible values include: `PERSON` (An individual sending funds) and `BUSINESS` (A company or organization initiating the transfer.) Refer to the [Sender Type Enum](https://developer.readyremit.com/reference/enum-types#sender-type) for the full list of supported values. fields: type: array description: | An array containing the sender's personal or business details. Each field represents a specific data point required for Know Your Customer (KYC) verification and compliance purposes. - The structure of each field follows the `fieldValue` schema, which includes the `id` and `value` of the field. - The required fields vary based on the `senderType` and compliance rules. items: "$ref": "#/components/schemas/fieldValue" senderGroupId: type: string format: uuid description: | Optional sender group identifier for the sender. Assigning a sender to a sender group allows segmentation of senders. When creating a new sender, if this parameter is not included, set to null or empty the sender will be added to the default sender group. When updating an existing sender, if this parameter is not included, set to null or empty the sender group of the sender will be unchanged. Example: "b3b8e7e2-9c1b-4e2b-8a7d-2e4c8e2b7c1d". createRecipientRequest: type: object required: - recipientType - fields properties: userType: "$ref": "#/components/schemas/userTypes" description: The type of recipient. See [Recipient Type](https://developer.readyremit.com/reference/enum-types#recipient-type). dstCountryIso3Code: "$ref": "#/components/schemas/threeUppercaseChars" description: The ISO 3166-1 alpha-3 code of the destination country. dstCurrencyIso3Code: description: The ISO 4217 code of the currency of the amount you would like to receive money. A string of exactly 3 uppercase alphabetical characters. This code is used to identify the currency in which the recipient will receive the funds. type: string pattern: "^[A-Z]{3}$" transferMethod: "$ref": "#/components/schemas/transferMethods" description: The method of transfer (BANK_ACCOUNT, CASH_PICKUP, etc.). senderId: type: string description: Unique identifier for the sender. fields: type: array items: "$ref": "#/components/schemas/fieldValue" createRecipientAccountRequest: type: object properties: dstCountryIso3Code: "$ref": "#/components/schemas/threeUppercaseChars" dstCurrencyIso3Code: type: string description: The ISO 4217 code of the currency of the amount you would like to receive money. A string of exactly 3 uppercase alphabetical characters. # maxLength: 3 # minLength: 3 pattern: "^[A-Z]{3}$" # "$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" description: > The ISO 3166-1 alpha-3 code of the destination country. This code is used to identify the country where the recipient's account is located. It ensures that the transfer is directed to the correct country. Example: "USA" dstCurrencyIso3Code: type: string description: > The ISO 4217 code of the currency of the amount you would like to receive money. A string of exactly 3 uppercase alphabetical characters. This code is used to identify the currency in which the recipient will receive the funds. Example: "USD" # maxLength: 3 # minLength: 3 pattern: "^[A-Z]{3}$" # "$ref": "#/components/schemas/threeUppercaseChars" srcCurrencyIso3Code: type: string description: > The ISO 4217 code of the currency of the amount you would like to send money. A string of exactly 3 uppercase alphabetical characters. This code is used to identify the currency in which the sender is transferring the funds. Example: "EUR" # maxLength: 3 # minLength: 3 pattern: "^[A-Z]{3}$" # "$ref": "#/components/schemas/threeUppercaseChars" transferMethod: "$ref": "#/components/schemas/transferMethods" quoteBy: "$ref": "#/components/schemas/quoteBy" amount: minimum: 0 type: integer description: > Numeric value. The amount the sender wishes to transfer. Example- If you want to send 100 USD, this would be 10000. See [how to format an amount based on the currency you would like to send or receive money](https://developer.readyremit.com/reference/currencies). fee: type: integer description: > The transaction fee associated with the transfer. Example: 499 ($4.99 USD) deprecated: true quoteHistoryId: type: string description: The quote history ID from the GET /quote endpoint response. # senderId: # type: string recipientId: type: string description: > Unique identifier for the recipient. This ID is used to track and manage the recipient within the system, ensuring that the transfer is directed to the correct recipient. Example: "a24d0ea7-401a-438e-8e88-0759622a9fb7" recipientAccountId: type: string description: > Unique identifier assigned to the recipient's account. This ID is used to reference and manage the specific account within the system, ensuring that the funds are deposited into the correct account. Example: "ae22913a-521b-4d91-a86e-15c9c778bfaf" purposeOfRemittance: type: integer default: 1 description: > The purpose of the remittance. This field specifies the reason for the transfer, such as family maintenance, education, or medical expenses. It helps in categorizing and managing the transfer. Example: 1 customerHold: type: boolean default: false description: > Controls whether to place a customer initiated hold on the transfer. If set to true, the transfer will be created in a held state and will not be processed until this hold is explicitly released. Note that transfers may also be subject to additional system-initiated holds independent of this setting. All holds (both customer-initiated and system-initiated) must be released before the transfer will be processed. Example: false nonce: type: string format: uuid nullable: true description: > Optional unique identifier obtained from the `GET /nonce` endpoint. Use this to prevent duplicate transfer submissions. Each nonce can only be used once per customer. If a nonce has already been used, the transfer request will be rejected with an error. Example: "a1b2c3d4-e5f6-7890-abcd-ef1234567890" fields: type: array description: > A list of fields associated with the transfer. Each field contains specific information and attributes, such as field type and value, providing additional details required for the transfer. items: type: object properties: id: type: string description: > The unique identifier for the field. This ID is used to reference and manage the specific field within the system. It ensures that each field can be uniquely identified and accessed. Example: "CARD_PROXY_NUMBER" value: type: integer description: > The value of the field. This is the actual data entered for the field. It provides the necessary information required for the transfer. Example: 267832567846347900 required: - dstCountryIso3Code - dstCurrencyIso3Code - srcCurrencyIso3Code - transferMethod - quoteBy - amount - quoteHistoryId - recipientId - recipientAccountId transferResponse: type: object properties: transferId: type: string description: Unique identifier for the transfer. confirmationNumber: type: string quote: "$ref": "#/components/schemas/getQuoteSendAmountResponse200" senderDetails: "$ref": "#/components/schemas/transferResponse_senderDetails" recipientDetails: "$ref": "#/components/schemas/recipient" recipientAccountDetails: "$ref": "#/components/schemas/recipientAccount" disclaimers: type: array items: type: string transferProgressResponse: type: object properties: transferId: type: string description: The transfer identifier, only available if it has finished initializing. transferRecordStatus: type: string enum: - NotInProgress - Initializing - Failed - Created description: | The status of the transfer record associated with the quote ID provided. - **NotInProgress** - The quote has not been used and is available to create a transfer. - **Initializing** - The transfer is in the process of being created. - **Failed** - The transfer or its initialization failed. If transferId is available, use GET Transfers/{transferId} for more information. - **Created** - The transfer has been created successfully, use GET Transfers/{transferId} for more information. transferStatusesResponse: type: object properties: statuses: type: array description: "A list of status records, each containing information about the status change of a transfer." items: type: object properties: status: type: string description: "The current status of the transfer at the time of the status change. Example: 'Pending release'" changedDate: type: string format: date-time description: "The date and time when the status change occurred. Example: '2022-09-16T01:41:02.520258Z'" cancelTransferRequest: type: object properties: cancellationReason: type: string enum: - NO_RCV_LOC - WRONG_SERVICE - INCORRECT_AMT - DUP_TRAN - STATE_CNTRY_REST - PROB_AT_LOC - WRONG_STATE - WRONG_CNTRY - WRONG_CRNCY - TECH_PROB - CHANGE_MIND senderId: type: string format: uuid recipientTypes: type: string description: The type of recipient. See [Recipient Type](https://developer.readyremit.com/reference/enum-types#recipient-type). default: PERSON enum: - BUSINESS - PERSON userTypes: allOf: - $ref: '#/components/schemas/recipientTypes' senderTypes: type: string description: | Defines the type of sender initiating the transfer. This determines the required fields and compliance checks. Possible values include: `PERSON` (An individual sending funds) and `BUSINESS` (A company or organization initiating the transfer.) Refer to the [Sender Type Enum](https://developer.readyremit.com/reference/enum-types#sender-type) for the full list of supported values. default: PERSON enum: - BUSINESS - PERSON kycStatuses: type: string description: "The current status of the user's Know Your Customer (KYC) verification process. See [KYC Status](https://developer.readyremit.com/reference/enum-types#kyc-status). Example: 'SKIPPED'" default: UNKNOWN enum: - UNKNOWN - SKIPPED - PASSED - ID_REQUIRED - FAILED - PENDING - REQUEST_FAILED transferMethods: type: string description: > The method used for transferring money. This field specifies how the funds will be delivered to the recipient's account, such as via bank account, cash pickup, or push to card. Example- "BANK_ACCOUNT". See [Transfer Method](https://developer.readyremit.com/reference/enum-types#transfer-method). default: BANK_ACCOUNT enum: - BANK_ACCOUNT - CASH_PICKUP - PUSH_TO_CARD - MOBILE_WALLET 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: > This parameter determines how the quote is calculated, based on either the sender amount or the recipient amount. It helps in providing an accurate estimate for the transfer. See [quoteBy](https://developer.readyremit.com/reference/enum-types#quote-by). Example: "SEND_AMOUNT" 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" getQuoteReceiveAmountResponse200: title: "Quote by Receive Amount" type: object properties: customerId: type: string description: "Unique identifier for the customer. This ID is used to track and manage customer details within the system, ensuring that each customer's transactions and information are correctly associated. Example: 9ce909de-f585-4233-bdc5-fdc42cbfd7c4" senderId: type: string description: "Unique identifier for the sender. It is used to track and manage sender details within the system. Example: 12f67072-19c0-4613-876b-146051c1728a" receiveAmount: description: "The amount of money the recipient will receive. This field includes the value and currency details of the amount being received by the recipient. Example: 2800" type: object properties: value: type: integer description: "The amount of money the recipient will receive. Example: 2800" currency: type: object properties: name: type: string description: "The name of the currency. Example: Japanese yen" iso3Code: type: string description: "The ISO 4217 three-letter currency code. Example: JPY" symbol: type: string description: "The symbol of the currency. Example: ¥" decimalPlaces: type: integer description: "The number of decimal places used by the currency. Example: 0" roundDirection: type: string description: "The rounding direction for the currency. Example: STANDARD" iso4217Code: type: string description: "The ISO 4217 numeric currency code. Example: 392" sendAmount: description: "The amount of money the sender wishes to transfer. This field includes the value and currency details of the amount being sent by the sender. It helps in calculating the total cost and the amount the recipient will receive. Example: 2200" type: object properties: value: type: integer description: "The amount of money the sender wishes to transfer. Example: 2200" currency: type: object properties: name: type: string description: "The name of the currency. Example: US Dollar" iso3Code: type: string description: "The ISO 4217 three-letter currency code. Example: USD" symbol: type: string description: "The symbol of the currency. Example: $" decimalPlaces: type: integer description: "The number of decimal places used by the currency. Example: 2" roundDirection: type: string description: "The rounding direction for the currency. Example: STANDARD" iso4217Code: type: string description: "The ISO 4217 numeric currency code. Example: 840" rate: type: number description: "The exchange rate applied to the transaction. Example: 147.0704" adjustments: type: array description: "Any adjustments applied to the transaction, such as fees. Example: Transfer Fee" items: type: object properties: id: type: string description: "The identifier for the adjustment. Example: TransferFee" label: type: string description: "The label for the adjustment. Example: Transfer Fee" amount: type: object properties: value: type: integer description: "The value of the adjustment. Example: -100" currency: type: object properties: name: type: string description: "The name of the currency. Example: US Dollar" iso3Code: type: string description: "The ISO 4217 three-letter currency code. Example: USD" symbol: type: string description: "The symbol of the currency. Example: $" decimalPlaces: type: integer description: "The number of decimal places used by the currency. Example: 2" roundDirection: type: string description: "The rounding direction for the currency. Example: STANDARD" iso4217Code: type: string description: "The ISO 4217 numeric currency code. Example: 840" totalCost: type: object description: "The total cost of the transaction. Example: 1804" properties: value: type: integer description: "The total cost value. Example: 1804" currency: type: object properties: name: type: string description: "The name of the currency. Example: US Dollar" iso3Code: type: string description: "The ISO 4217 three-letter currency code. Example: USD" symbol: type: string description: "The symbol of the currency. Example: $" decimalPlaces: type: integer description: "The number of decimal places used by the currency. Example: 2" roundDirection: type: string description: "The rounding direction for the currency. Example: STANDARD" iso4217Code: type: string description: "The ISO 4217 numeric currency code. Example: 840" associatedTransferRecordStatus: type: string description: "The status of the associated transfer record. Example: NotInProgress" destinationCountryISO3Code: type: string description: "The ISO 3166-1 alpha-3 code for the destination country. Example: JPN" destinationCurrencyISO3Code: type: string description: "The ISO 4217 three-letter currency code for the destination currency. Example: JPY" sourceCurrencyIso3Code: type: string description: "The ISO 4217 three-letter currency code for the source currency. Example: USD" destinationCountry: type: object description: "Details of the destination country. Example: Japan" properties: name: type: string description: "The name of the destination country. Example: Japan" iso2Code: type: string description: "The ISO 3166-1 alpha-2 code for the destination country. Example: JP" iso3Code: type: string description: "The ISO 3166-1 alpha-3 code for the destination country. Example: JPN" phoneCode: type: integer description: "The phone code for the destination country. Example: 81" transferMethod: type: string description: "The method used for the transfer. Example: PUSH_TO_CARD" rsp: type: string description: "The receiving service provider. Example: Visa" disclosures: type: array description: "Any disclosures related to the transaction." items: type: string deliverySLA: type: object description: "The service level agreement for delivery. Example: thirty minutes" properties: id: type: string description: "The identifier for the delivery SLA. Example: THIRTY_MINUTES" name: type: string description: "The name of the delivery SLA. Example: thirty minutes" quoteHistoryId: type: string description: "Unique identifier for the quote history. Example: 29bd0ff4-4cd4-41e9-badc-d9e3c6bcc3e8" getQuoteSendAmountResponse200: # title: "Quote by Send Amount" # # required: # # - customerId # # - adjustments # # - disclosures # # - rate # # - receiveAmount # # - sendAmount # # - totalCost # type: object # properties: # customerId: # type: string # description: "Unique identifier for the customer. This ID is used to track and manage customer details within the system, ensuring that each customer's transactions and information are correctly associated. example: 9ce909de-f585-4233-bdc5-fdc42cbfd7c4" # sendAmount: # description: "The amount of money the sender wishes to transfer. This field includes the value and currency details of the amount being sent by the sender. It helps in calculating the total cost and the amount the recipient will receive. example: 2200" # "$ref": "#/components/schemas/money" # receiveAmount: # description: "The amount of money the recipient will receive. This field includes the value and currency details of the amount being received by the recipient. It is calculated based on the send amount and the exchange rate. example: value: 111486" # "$ref": "#/components/schemas/money" # rate: # description: "The exchange rate applied to the transfer. This rate determines how much of the destination currency the recipient will receive for each unit of the source currency. It helps in calculating the receive amount. example: 50.6754" # type: number # adjustments: # description: "A list of adjustments applied to the transfer, such as fees or discounts. Each adjustment includes details like the label and amount, which are used to calculate the total cost of the transfer." # type: array # items: # "$ref": "#/components/schemas/adjustment" # totalCost: # description: "The total cost of the transfer, including the send amount and any adjustments. This is the amount the sender will be charged for the transfer. It helps in providing a clear breakdown of the costs involved. example: value: 2979" # "$ref": "#/components/schemas/money" title: "Quote by Send Amount" type: object properties: customerId: type: string description: "Unique identifier for the customer. This ID is used to track and manage customer details within the system, ensuring that each customer's transactions and information are correctly associated. Example: 9ce909de-f585-4233-bdc5-fdc42cbfd7c4" senderId: type: string description: "Unique identifier for the sender. It is used to track and manage sender details within the system. Example: 12f67072-19c0-4613-876b-146051c1728a" sendAmount: description: "The amount of money the sender wishes to transfer. This field includes the value and currency details of the amount being sent by the sender. It helps in calculating the total cost and the amount the recipient will receive. Example: 2200" type: object properties: value: type: integer description: "The amount of money the sender wishes to transfer. Example: 2200" currency: type: object properties: name: type: string description: "The name of the currency. Example: US Dollar" iso3Code: type: string description: "The ISO 4217 code of the currency. Example: USD" symbol: type: string description: "The symbol of the currency. Example: $" decimalPlaces: type: integer description: "The number of decimal places used by the currency. Example: 2" roundDirection: type: string description: "The rounding direction for the currency. Example: STANDARD" iso4217Code: type: string description: "The ISO 4217 numeric code of the currency. Example: 840" receiveAmount: description: "The amount of money the recipient will receive. This field includes the value and currency details of the amount being received by the recipient. It is calculated based on the send amount and the exchange rate. Example: value: 111486" type: object properties: value: type: integer description: "The amount of money the recipient will receive. Example: 111486" currency: type: object properties: name: type: string description: "The name of the currency. Example: Philippine peso" iso3Code: type: string description: "The ISO 4217 code of the currency. Example: PHP" symbol: type: string description: "The symbol of the currency. Example: ₱" decimalPlaces: type: integer description: "The number of decimal places used by the currency. Example: 2" roundDirection: type: string description: "The rounding direction for the currency. Example: UP" iso4217Code: type: string description: "The ISO 4217 numeric code of the currency. Example: 608" rate: type: number description: "The exchange rate applied to the transfer. This rate determines how much of the destination currency the recipient will receive for each unit of the source currency. It helps in calculating the receive amount. Example: 50.6754" adjustments: description: "A list of adjustments applied to the transfer, such as fees or discounts. Each adjustment includes details like the label and amount, which are used to calculate the total cost of the transfer." type: array items: type: object properties: id: type: string description: "The unique identifier for the adjustment. Example: TransferFee" label: type: string description: "The label for the adjustment. Example: Transfer Fee" amount: type: object properties: value: type: integer description: "The amount of the adjustment. Example: 779" currency: type: object properties: name: type: string description: "The name of the currency. Example: US Dollar" iso3Code: type: string description: "The ISO 4217 code of the currency. Example: USD" symbol: type: string description: "The symbol of the currency. Example: $" decimalPlaces: type: integer description: "The number of decimal places used by the currency. Example: 2" roundDirection: type: string description: "The rounding direction for the currency. Example: STANDARD" iso4217Code: type: string description: "The ISO 4217 numeric code of the currency. Example: 840" totalCost: description: "The total cost of the transfer, including the send amount and any adjustments. This is the amount the sender will be charged for the transfer. It helps in providing a clear breakdown of the costs involved. Example: value: 2979" type: object properties: value: type: integer description: "The total cost of the transfer, including the send amount and any adjustments. Example: 2979" currency: type: object properties: name: type: string description: "The name of the currency. Example: US Dollar" iso3Code: type: string description: "The ISO 4217 code of the currency. Example: USD" symbol: type: string description: "The symbol of the currency. Example: $" decimalPlaces: type: integer description: "The number of decimal places used by the currency. Example: 2" roundDirection: type: string description: "The rounding direction for the currency. Example: STANDARD" iso4217Code: type: string description: "The ISO 4217 numeric code of the currency. Example: 840" associatedTransferRecordStatus: type: string description: "The status of the associated transfer record. Example: NotInProgress" destinationCountryISO3Code: type: string description: "The ISO 3166-1 alpha-3 code of the destination country. Example: PHL" destinationCurrencyISO3Code: type: string description: "The ISO 4217 code of the destination currency. Example: PHP" sourceCurrencyIso3Code: type: string description: "The ISO 4217 code of the source currency. Example: USD" destinationCountry: type: object properties: name: type: string description: "The name of the destination country. Example: Philippines" iso2Code: type: string description: "The ISO 3166-1 alpha-2 code of the destination country. Example: PH" iso3Code: type: string description: "The ISO 3166-1 alpha-3 code of the destination country. Example: PHL" phoneCode: type: integer description: "The phone code of the destination country. Example: 63" transferMethod: type: string description: "The method used for transferring money. Example: BANK_ACCOUNT" rsp: type: string description: "The remittance service provider. Example: 'VISA'" disclosures: description: "A list of disclosures related to the transfer. These disclosures provide important information about the transfer process and any associated terms and conditions. They ensure transparency and compliance with regulatory requirements." type: array items: type: string deliverySLA: type: object properties: id: type: string description: "The unique identifier for the delivery service level agreement. It is used to reference and manage the specific SLA within the system. Example: FIVE_BUSINESS_DAYS" name: type: string description: "The name of the delivery service level agreement. It provides a human-readable label that describes the SLA. Example: five business days" quoteHistoryId: type: string description: "The unique identifier for the quote history. It is used to track and manage the history of quotes within the system. Example: d5ae37ac-612f-4706-b5a2-375770fed4b8" fieldSet: # required: # - fields # - fieldSetId # - fieldSetName type: object properties: fieldSetId: type: string description: "The unique identifier for the field set. This ID is used to reference and manage the specific set of fields within the system. Example: PERSONAL_INFORMATION" fieldSetName: type: string description: "The name of the field set. It provides a human-readable label that describes the purpose or category of the field set. Example: Personal Information" fields: type: array description: An array of fields included in the field set. Each field contains specific information and attributes, such as field type, validation rules, and display properties. items: "$ref": "#/components/schemas/textField" baseField: required: - fieldType - id - name # - required type: object properties: fieldType: type: string enum: - TEXT - PHONE_NUMBER - DATE - DROPDOWN description: The type of data that the field holds. It ensures that the field captures the correct format of data, such as text, phone number, date, or dropdown selection. Options - TEXT, PHONE_NUMBER, DATE, DROPDOWN fieldId: type: string description: "The unique identifier for the field. This ID is used to reference and manage the specific field. Example: FIRST_NAME" name: type: string description: "The name of the field. It provides a human-readable label that helps users understand the purpose of the field. Example: LegalFirstName" hintText: type: string description: Hint text for the field. It helps users understand what kind of input is expected in the field. isRequired: type: boolean description: "Indicates whether the field is required. If true, users must provide a value. Example: true" textField: allOf: - "$ref": "#/components/schemas/baseField" - type: object properties: label: type: string description: "A translation key for the field label. This is used for localization and language translations in the UI. Example: Sender_LegalFirstName" visibility: type: string enum: - SHOW_REQUIRED - SHOW_OPTIONAL - HIDE_AND_OPTIONAL description: Defines whether a field is visible and required. Determines how fields appear on the UI and whether users must fill them out. Options are SHOW_REQUIRED (fields must be shown and are required), SHOW_OPTIONAL (fields are shown but optional), and HIDE_AND_OPTIONAL (fields are hidden but optional). sortOrder: type: integer description: Determines the order in which fields are displayed. Fields with a lower sortOrder value will be shown first. Example- 1 dependencies: type: object description: Defines conditions where this field is required or visible based on other field values. properties: isRequired: type: array description: Specifies conditions where this field becomes required. items: type: object properties: comparisonOperator: type: string enum: - EQUAL_TO - NOT_EQUAL_TO - GREATER_THAN - LESS_THAN description: "The comparisonOperator specifies the type of comparison to perform. The comparisonValues is an array of values to compare against. Example: EQUAL_TO, NOT_EQUAL_TO" comparisonValues: type: array items: type: string description: Specifies values that trigger this dependency. fieldId: type: string description: The field ID that this dependency is based on. placeholderText: type: string description: "Text displayed inside the field when empty. It provides users with an example of the expected input. Example: Enter your first name" minLength: type: number description: "Minimum length of the field value. Ensures user input falls within the required character range. Example: 1" maxLength: type: number description: "Maximum length of the field value. Ensures user input falls within the required character range. Example: 80" regex: type: string description: "Regular expression pattern for the field value. It helps enforce structured input, such as email formats or phone numbers. Example: '^[ -~ -ÿ]+$'" fieldValue: # required: # - id # - value type: object properties: id: type: string description: The unique identifier for the field. Each field represents a specific user attribute. enum: - FIRST_NAME - LAST_NAME - PHONE_NUMBER - ADDRESS_LINE_1 - ADDRESS_CITY - ADDRESS_STATE - ADDRESS_COUNTRY - DATE_OF_BIRTH - EMAIL_ADDRESS - ID_TYPE - ID_NUMBER - COMPANY_NAME - NATIONALITY value: oneOf: - type: string description: > The value of the field when the selected field type is `TEXT`, `EMAIL_ADDRESS`, or `DROPDOWN`. Example: "John Doe" - type: number description: > The value of the field when the selected field type is `ID_NUMBER` or other numeric values. Example: 1234567890 - type: string format: date description: > The value of the field when the selected field type is `DATE_OF_BIRTH`. Must be a valid date in `YYYY-MM-DD` format. Example: "1990-05-15" - type: object description: > The value of the field when the selected field type is `PHONE_NUMBER`. This is an object containing the phone number and country details. properties: number: type: string description: > The phone number as a string. Example: "9345889786" countryIso3Code: type: string description: > The ISO 3166-1 alpha-3 country code associated with the phone number. Example: "USA" countryPhoneCode: type: integer description: > The international dialing code for the phone number. Example: 1 # type: string # description: The value of the field. This is the actual data entered by the user. The value must conform to the expected format and constraints defined by the field's schema. sender: type: object properties: senderId: type: string description: "Unique identifier for the sender. It is used to track and manage sender details within the system. Example: 'b6f9ae79-d0cf-4816-b4d3-0bae0011053e' " senderType: "$ref": "#/components/schemas/senderTypes" description: "Specifies whether the sender is an individual (PERSON) or a company (BUSINESS). See [Sender Type](https://developer.readyremit.com/reference/enum-types#sender-type). Example: 'PERSON'" firstName: type: string description: "First name of the sender. Example: 'Giuseppe'" lastName: type: string description: "Last name of the sender. Example: 'Jakubowski'" companyName: type: string description: "Company name if the sender type is Business. Example: 'BWP Cruises'" kycStatus: "$ref": "#/components/schemas/kycStatuses" fields: type: array items: "$ref": "#/components/schemas/fieldValue" recipient: type: object properties: recipientId: type: string description: "Unique identifier for the recipient. Example: 986d85c1-72b8-47ef-85d5-619b308fa6fa" senderId: type: string description: "Unique identifier for the sender. Example: 55ef79b0-0f0f-459f-ad62-effcf516df7d" firstName: type: string description: "First Name of the recipient. Example: Robert" lastName: type: string description: "Last Name of the recipient. Example: Williams" fields: type: array items: "$ref": "#/components/schemas/fieldValue" recipientAccount: type: object properties: recipientAccountId: type: string description: Unique identifier for the recipient's account id for Bank Account and Push to Card transactions. accountNumber: type: string fields: type: array items: "$ref": "#/components/schemas/fieldValue" TransferFieldsResponsePushtoCard: type: object title: "Push to Card" description: "Push to Card" properties: fieldSets: type: array description: "A list of field sets containing transfer-related fields. Each field set groups related fields together for better organization and management." items: type: object properties: fieldSetId: type: string description: "Unique identifier for the field set. This ID is used to reference and manage the specific set of fields within the system. Example: 'TRANSFER_FIELDS'" fieldSetName: type: string description: "Name of the field set. This name helps in identifying the purpose or context of the field set. Example: 'Transfer Fields'" fields: type: array description: "A list of fields associated with the transfer process. Each field contains specific information and attributes, such as field type, validation rules, and display properties." items: type: object properties: fieldType: type: string enum: - TEXT description: "Type of the field input. This defines the kind of data expected in this field, such as text. Example: 'TEXT'" minLength: type: integer description: "Minimum length of the field value. This specifies the smallest number of characters that the field value must contain. Example: 5" maxLength: type: integer description: "Maximum length of the field value. This specifies the largest number of characters that the field value can contain. Example: 30" regex: type: string description: "Regular expression to validate input format. This pattern ensures that the field value meets specific criteria. Example: '^[\\ -\\~\\ -\\ÿ]+$'" fieldId: type: string description: "Unique identifier for the field. This ID is used to reference and manage the specific field within the system. Example: 'CARD_PROXY_NUMBER'" name: type: string description: "Name of the field. This name helps in identifying the purpose or context of the field. Example: 'Card Proxy Number'" hintText: type: string description: "Hint text providing additional guidance. This text helps users understand what kind of input is expected in the field. Example: 'Insert The Card Proxy Number'" isRequired: type: boolean description: "Indicates if the field is required. If true, the field must be filled out. Example: false" visibility: type: string enum: - SHOW_AND_REQUIRED - SHOW_AND_OPTIONAL - HIDE_AND_OPTIONAL description: "Defines whether a field is visible and required. Determines how fields appear on the UI and whether users must fill them out. Options are SHOW_REQUIRED (fields must be shown and are required), SHOW_OPTIONAL (fields are shown but optional), and HIDE_AND_OPTIONAL (fields are hidden but optional)." placeholderText: type: string description: "Placeholder text displayed in the field. This text is shown inside the field when it is empty, providing a hint to the user about what to enter. Example: '-select-'" label: type: string description: "Label used for the field in user interfaces. This label is displayed to the user as the field's name. Example: 'Card Proxy Number'" dependencies: type: object description: "Specifies dependencies for this field. This can include conditions that must be met for the field to be displayed or required." additionalProperties: true TransferFieldsResponseBankAccount: title: "Bank Account" type: object properties: fieldSets: type: array description: > A collection of field sets containing transfer-related fields. Each field set groups related fields together for better organization and management. Field sets help in structuring the data and making it easier to handle complex forms or data entry processes. items: type: object properties: fieldSetId: type: string description: > The unique identifier for the field set. This ID is used to reference and manage the specific set of fields within the system. It ensures that each field set can be uniquely identified and accessed. Example: "TRANSFER_FIELDS" fieldSetName: type: string description: > The name of the field set. This name helps in identifying the purpose or context of the field set, making it easier for developers and API consumers to understand its use case. Example: "Transfer Fields" fields: type: array description: > A list of fields associated with the transfer process. Each field contains specific information and attributes, such as field type, validation rules, and display properties. items: type: object properties: fieldType: type: string description: > The type of the field, such as TEXT or DROPDOWN. This helps developers understand the kind of data expected in this field. Example: "TEXT" minLength: type: integer description: > The minimum length of the field value. This specifies the smallest number of characters that the field value must contain, ensuring data meets minimum requirements. Example: 5 maxLength: type: integer description: > The maximum length of the field value. This specifies the largest number of characters that the field value can contain, preventing excessively long inputs. Example: 30 regex: type: string description: > Regular expression pattern for the field value. This pattern is used to validate the format of the field value, ensuring it meets specific criteria. Example: "^[\\ -\\~\\ -\\ÿ]+$" fieldId: type: string description: > The unique identifier for the field. This ID is used to reference and manage the specific field within the system. Example: "CARD_PROXY_NUMBER" name: type: string description: > The name of the field. This name helps in identifying the purpose or context of the field, making it easier for developers to understand its use case. Example: "Card Proxy Number" hintText: type: string description: > Hint text for the field. This text provides additional guidance or information to the user, helping them understand what to enter in the field. Example: "Insert The Card Proxy Number" isRequired: type: boolean description: > Indicates whether the field is required. If true, the field must be filled out, ensuring that essential information is provided. Example: false visibility: type: string description: > Defines whether a field is visible and required. Determines how fields appear on the UI and whether users must fill them out. Options are SHOW_REQUIRED (fields must be shown and are required), SHOW_OPTIONAL (fields are shown but optional), and HIDE_AND_OPTIONAL (fields are hidden but optional). Example: "HIDE_AND_OPTIONAL" placeholderText: type: string description: > Placeholder text for the field. This text is displayed inside the field when it is empty, providing a hint to the user about what to enter. Example: "-select-" label: type: string description: > The label of the field. This is the text that will be displayed to the user as the field's name. Example: "CardProxyNumber" # dependencies: # type: object # description: > # Any dependencies that the field has on other fields. This can include conditions that must be met for the field to be displayed or required. options: type: array description: > A list of options for dropdown fields. Each option contains an ID and a name, providing predefined choices for the user. items: type: object properties: id: type: string description: > The unique identifier for the option. This ID is used to reference and manage the specific option within the system. Example: "1" name: type: string description: > The name of the option. This name helps in identifying the purpose or context of the option, making it easier for developers to understand its use case. Example: "FAMILY MAINTENANCE" TransferFieldsResponseCashPickup: title: "Cash Pickup" type: object properties: fieldSets: type: array description: "A collection of field sets containing transfer-related fields." items: type: object properties: fieldSetId: type: string description: > The unique identifier for the field set. This ID is used to reference and manage the specific set of fields within the system. It ensures that each field set can be uniquely identified and accessed. Example: "TRANSFER_FIELDS" fieldSetName: type: string description: > The name of the field set. This name helps in identifying the purpose or context of the field set, making it easier for developers and API consumers to understand its use case. Example: "Transfer Fields" fields: type: array description: > A list of fields associated with the transfer process. Each field contains specific information and attributes, such as field type, validation rules, and display properties. items: type: object properties: fieldType: type: string enum: - DROPDOWN - TEXT description: "Defines the input type for the field. Example: DROPDOWN" fieldId: type: string description: "A unique identifier for the field. Example: SOURCE_OF_FUNDS" name: type: string description: "The display name of the field. Example: Source of funds" isRequired: type: boolean description: "Indicates whether this field is mandatory. Example: false" visibility: type: string enum: - SHOW_AND_REQUIRED - SHOW_AND_OPTIONAL - HIDE_AND_OPTIONAL description: "Defines whether a field is visible and required. Determines how fields appear on the UI and whether users must fill them out. Options are SHOW_REQUIRED (fields must be shown and are required), SHOW_OPTIONAL (fields are shown but optional), and HIDE_AND_OPTIONAL (fields are hidden but optional)." placeholderText: type: string description: "Placeholder text shown in the input field. Example: -select-" label: type: string description: "A unique key for localization and translation. Example: SourceOfFunds" dependencies: type: object description: "Defines conditions under which this field is required." regex: type: string description: "Regular expression for field validation. Example: ^[\\ -\\~\\ -\\ÿ]+$" options: type: array description: "Dropdown options if applicable." items: type: object properties: id: type: string description: "Unique identifier for the dropdown option. Example: 1" name: type: string description: "Display name of the dropdown option. Example: ACCUMULATED OWN SALARY" 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 description: A collection of logically grouped fields. Each field set consists of related fields that belong together. Each field set will have a unique identifier, a name, and an array of fields that define specific attributes and validation rules. properties: fieldSets: type: array items: "$ref": "#/components/schemas/fieldSet" recipientAccountMobileWallet: # required: # - fieldSets type: object description: A collection of logically grouped fields. Each field set consists of related fields that belong together. Each field set will have a unique identifier, a name, and an array of fields that define specific attributes and validation rules. properties: fieldSets: type: array items: "$ref": "#/components/schemas/fieldSet" transferResponse_senderDetails: type: object properties: senderId: type: string description: Unique identifier for the sender. 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 description: Bearer token for authentication x-readme: explorer-enabled: true proxy-enabled: true samples-enabled: true