swagger: '2.0' info: description: >- The Currencycloud API is a robust, predictable, easy-to-use API for converting money between currencies and making payments around the world. Dynamically register sub-accounts to provide white labeled money transfer services to your own customers. version: 2.43.0 title: Currencycloud API termsOfService: 'https://www.currencycloud.com/terms-and-conditions/' contact: name: support email: support@currencycloud.com externalDocs: description: API overview url: 'https://www.currencycloud.com/developers/' tags: - name: Authenticate description: >- Authenticate to gain access to the API. Log in to your Currencycloud account using your API Key and log out to terminate your session. - name: Accounts description: >- Create, search and update your Currencycloud account and any associated sub-accounts. Also provides you with the ability to use your own reference IDs for easy reconciliation with your internal systems. - name: Balances description: >- Provides access to view balance information. View the balances that you currently hold in different currencies on your Currencycloud account. - name: Beneficiaries description: >- Create, search and manage the list of individuals or companies that you send payments to. - name: Contacts description: >- Create, search and manage the list of users that have access in your Currencycloud account or associated sub-accounts. - name: Conversions description: >- Find, retrieve and create a live currency conversion. You can also create and manage the live conversion of funds between two currencies. - name: Funding description: >- Find funding accounts that can be used to settle and collect funds in each available currency. - name: Payers description: >- View information relating to the 'payer' for a payment that has been initiated through the platform. - name: Payments description: >- Create, search, manage and action all of your domestic and international payments through this API. - name: Rates description: >- Super fast real-time access to live foreign exchange rates through the Currencycloud platform. - name: Reference description: >- Easy access to view important data relevant to your Currencycloud account including beneficiary details, conversion dates, available currencies, payer required details, payment dates and settlement details. - name: Reporting description: Ability to create and retrieve reports. - name: Sender description: Sender of funds. - name: Transactions description: >- View balances and all pending and completed transactions in your Currencycloud account, as well as associated sub-account balances and transactions. - name: Transfers description: >- Search, retrieve and create a transfer of funds between your Currencycloud account and associated sub-accounts. - name: Withdrawal Accounts description: >- Manage withdrawal accounts - name: Demo description: >- Requests that are only available in the Demo environment. schemes: - https host: devapi.currencycloud.com basePath: /v2 consumes: - multipart/form-data produces: - application/json paths: /authenticate/api: post: tags: - Authenticate x-api-group: manage summary: Login description: >- Authenticates and authorizes a user to the Currencycloud API.

Submit a login ID and API key for a Currencycloud account, you can register for and API key here. A temporary authentication token is returned following a succesful login.

The authentication token is required to make requests to all other endpoints in the Currencycloud API. Tokens expire after 30 minutes of inactivity.

Token requests are limited to 60 calls per minute.

For security, Currencycloud accounts are disabled when four unsuccessful login attempts are made within a short period. In these circumstances, account holders must contact support to reactivate their account. operationId: Login consumes: - multipart/form-data produces: - application/json parameters: - name: login_id in: formData required: true type: string description: >- The login ID for a Currencycloud account, this is usually an email address. minLength: 1 maxLength: 50 - name: api_key in: formData required: true type: string description: The unique API key for the Currencycloud account. pattern: ^[a-f0-9]{64}$ responses: '200': description: Success. schema: $ref: '#/definitions/AuthenticationToken' headers: X-Request-Id: type: string description: A unique reference for the request. '400': description: Client error. x-errors: - code: login_id_is_required category: login_id message: login_id is required params: '' - code: login_id_is_too_short category: login_id message: login_id can not be shorter than 1 character(s) params: '{ "minlength" => 1 }' - code: login_id_is_too_long category: login_id message: login_id can not be longer than 255 character(s) params: '{ "maxlength" => 255 }' - code: api_key_is_required category: api_key message: api_key is required params: '' - code: api_key_length_is_invalid category: api_key message: api_key should be 64 character(s) long params: '{ "length" => 64 }' schema: $ref: '#/definitions/LoginError' headers: X-Request-Id: type: string description: A unique reference for the request. '404': description: Resource not found. headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: >- Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporarily unavailable x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. /authenticate/close_session: post: tags: - Authenticate x-api-group: manage summary: Logout description: >- Authentication tokens expire automatically after 30 minutes of inactivity. If a session is no longer required, it is good security practice to retire its authentication token early rather than leave it to time out. operationId: Logout consumes: - multipart/form-data produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 responses: '200': description: >- Success. A 200 response with an empty payload signifies that the authentication token is successfully retired. headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. '404': description: Resource not found. headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: >- Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. /accounts/create: post: tags: - Accounts x-api-group: manage summary: Create Account description: 'Creates a new sub-account. Returns the new account entity on success.' operationId: CreateAccount consumes: - multipart/form-data produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 - name: account_name in: formData required: true type: string description: Account name. pattern: \S+ minLength: 1 maxLength: 150 - name: legal_entity_type in: formData required: true type: string enum: - company - individual description: Legal entity. - name: street in: formData required: true type: string description: First line of address. maxLength: 150 - name: city in: formData required: true type: string description: City maxLength: 100 - name: postal_code in: formData required: false type: string description: Postal code. Required for sub-accounts on our outsourced KYC model, also required where country code = "US", "CA" or "MX". maxLength: 20 - name: country in: formData required: true type: string description: Two-letter ISO country code. format: iso3166-1-alpha-2 pattern: ^[A-Z]{2}$ - name: brand in: formData required: false type: string description: >- The value of this field is used for white labeling the Currencycloud user interface. If nothing is specified then the account will inherit the house account's brand. minLength: 1 maxLength: 255 - name: your_reference in: formData required: false type: string description: User-generated reference code. minLength: 1 maxLength: 255 - name: status in: formData required: false type: string enum: - disabled - enabled - enabled_no_trading default: enabled description: Account status. - name: state_or_province in: formData required: false type: string description: State or province two-letter ISO 3166 code. Only applicable to some countries, required where country code = "US", "CA" or "MX". maxLength: 100 - name: spread_table in: formData required: false type: string default: flat_0.00 description: The name of the spread table assigned to the account. This is needed if they intend to apply markup. maxLength: 100 - name: api_trading in: formData required: false type: boolean description: Allow the account to make trades via the Currencycloud API. - name: online_trading in: formData required: false type: boolean description: Allow the account to make trades via Currencycloud Direct. - name: phone_trading in: formData required: false type: boolean description: Allow the account to make trades via phone. - name: identification_type in: formData required: false type: string enum: - none - others - asylum_registration_card - citizenship_papers - consular_id - credential_de_elector - drivers_license - drivers_license_canadian - employer_identification_number - existing_credit_card_details - green_card - immigration_status_document - indigenous_card - international_driving_licence - matricula_consular - municipality_identity_card - national_health_insurance_card - national_id - national_identity_card - passport - passport_card - postal_identity_card - private_operators_card - professional_qualification_card - proof_of_citizenship - registro_federal_de_contribuyentes - residence_permit - residence_status_document - service_id_card - social_insurance_number - social_security_card - social_security_number - tax_id - visa - voter_id - work_permit - incorporation_number description: A legal document that verifies the identity of the account owner. Required for individual sub-accounts on our outsourced KYC model, optional otherwise. - name: identification_value in: formData required: false type: string description: >- Unique reference code for the identification document, such as a passport number. Required if "identification_type" is provided. minLength: 1 maxLength: 255 - name: terms_and_conditions_accepted in: formData required: false type: boolean description: Acceptance of the terms and conditions. Required for sub-accounts that are on our Outsourced KYC model, optional otherwise. - name: industry_type in: formData required: false maxLength: 255 type: string description: The industry the account operates in. Required if "linked_account_id" is present. Required if extended compliance fields are present. - name: business_website_url in: formData required: false type: string maxLength: 400 description: >- A fully qualified URL (including scheme) indicating a marketplace homepage, a link to a government page concerning the company or the literal string 'no_website_available'. Required if extended compliance fields are present. - name: identification_expiration in: formData required: false type: string format: date description: >- The expiration date for the identification information provided. Format YYYY-MM-DD. Part of extended compliance for "legal_entity_type: individual" accounts. - name: identification_issuer in: formData maxLength: 255 required: false type: string description: >- ISO country code indicating the issuer of the identification information provided. Part of extended compliance for "legal_entity_type: individual" accounts. - name: country_of_citizenship in: formData required: false type: string description: >- ISO country code indicating the citizenship of the individual the account belongs to. Provide the longest held citizenship for individuals with multiple. Part of extended compliance for "legal_entity_type: individual" accounts. - name: country_of_incorporation in: formData required: false type: string maxLength: 2 minLength: 2 description: >- Two-letter ISO country code indicating the country the company is incorpated in. Part of extended compliance for "legal_entity_type: company" accounts. - name: date_of_incorporation in: formData required: false type: string format: date description: >- Date of the company's incorporation. Part of extended compliance for "legal_entity_type: company" accounts. - name: legal_entity_sub_type in: formData required: false type: string description: >- The type of company this account represents. Part of extended compliance for "legal_entity_type: company" accounts. enum: - sole_trader - limited_liability_company - public_limited_company - limited_liability_partnership - unincorporated_partnership - unregistered_charity - registered_charity - trust - company_with_nominee_shareholders_or_shares_in_bearer_form - scottish_limited_partnership - other - name: trading_address_street in: formData required: false type: string maxLength: 150 description: >- The street portion of the company's trading address. Part of extended compliance for "legal_entity_type: company" accounts. - name: trading_address_city in: formData required: false type: string description: >- The city portion of the company's trading address. Part of extended compliance for "legal_entity_type: company" accounts. - name: trading_address_state in: formData required: false type: string maxLength: 100 description: >- The state portion of the company's trading address. Part of extended compliance for "legal_entity_type: company" accounts. - name: trading_address_postalcode in: formData required: false type: string maxLength: 20 description: >- The postal code portion of the company's trading address. Part of extended compliance for "legal_entity_type: company" accounts. - name: trading_address_country in: formData required: false maxLength: 2 minLength: 2 type: string description: >- Two-letter ISO country code representing the country portion of the company's trading address. Part of extended compliance for accounts with "legal_entity_type: company". - name: tax_identification in: formData required: false type: string maxLength: 100 description: >- Tax identification number for the company. Part of extended compliance for accounts with "legal_entity_type: company". Required for companies based in "US" or "AU". - name: national_identification in: formData required: false type: string maxLength: 100 description: >- National identification (e.g SSN for U.S. individuals). Part of extended compliance for "legal_entity_type: individual" accounts. Required for "US" based companies. - name: customer_risk in: formData required: false type: string description: >- The risk classification for this account's expected behaviour. Part of extended compliance for "legal_entity_type: individual | company" accounts. enum: - LOW - MEDIUM - HIGH - name: expected_monthly_activity_volume in: formData required: false type: number description: >- The expected number of money moving actions this account will conduct monthly. Part of extended compliance for "legal_entity_type: individual | company" accounts. - name: expected_monthly_activity_value in: formData required: false type: number description: >- The expected sum value of money moving actions this account will conduct monthly. The currency basis of the value is submitted as part of "expected_transaction_currencies". Part of extended compliance for "legal_entity_type: individual | company" accounts. - name: expected_transaction_currencies in: formData required: false description: >- An array holding a single ISO currency code for the expected currency this account will mainly transact in. Part of extended compliance for "legal_entity_type: individual | company" accounts. type: array items: type: string - name: expected_transaction_countries in: formData required: false type: array description: Array of two-letter ISO-3166 country codes indicating the countries this account is expected to transact to and from. items: type: string minLength: 2 maxLength: 2 responses: '200': description: Success. schema: $ref: '#/definitions/Account' headers: X-Request-Id: type: string description: A unique reference for the request. '400': description: Client error. x-errors: - code: account_name_is_too_short category: account_name message: account_name can not be shorter than 1 character(s) params: '{ "minlength" => 1 }' - code: account_name_is_too_long category: account_name message: account_name can not be longer than 150 character(s) params: '{ "maxlength" => 150 }' - code: account_name_is_required category: account_name message: account_name is required params: '' - code: brand_is_too_short category: brand message: brand can not be shorter than 1 character(s) params: '{ "minlength" => 1 }' - code: brand_is_too_long category: brand message: brand can not be longer than 255 character(s) params: '{ "maxlength" => 255 }' - code: brand_not_found category: brand message: Brand non_existing_brand wasn't found params: '{ "brand" => "non_existing_brand" }' - code: brand_account_not_broker category: brand message: Account doesn't have broker permissions params: '{ "brand" => "wrong_brand" }' - code: your_reference_is_too_long category: your_reference message: your_reference can not be longer than 25 character(s) params: '{ "maxlength" => 25 }' - code: status_not_in_range category: status message: 'status should be in range: enabled, disabled, enabled_no_trading' params: '{ "range" => "enabled, disabled, enabled_no_trading" }' - code: legal_entity_type_not_in_range category: legal_entity_type message: 'legal_entity_type should be in range: individual, company' params: '{ "range" => "individual, company" }' - code: legal_entity_type_is_required category: legal_entity_type message: 'Legal entity type is required' params: '' - code: street_is_too_long category: street message: street can not be longer than 150 character(s) params: '{ "maxlength" => 150 }' - code: street_is_required category: street message: Street is required params: '' - code: city_is_too_long category: city message: city can not be longer than 100 character(s) params: '{ "maxlength" => 100 }' - code: city_is_required category: city message: City is required. params: '' - code: postal_code_is_too_long category: postal_code message: postal_code can not be longer than 20 character(s) params: '{ "maxlength" => 20 }' - code: postal_code_is_required category: postal_code message: Postal code is required. params: '' - code: state_or_province_is_too_long category: state_or_province message: state_or_province can not be longer than 100 character(s) params: '{ "maxlength" => 100 }' - code: country_is_in_invalid_format category: country message: country is not a valid ISO 3166-1 Alpha-2 country code params: '{ "maxlength" => 2 }' - code: country_is_required category: country message: Country is required params: '' - code: spread_table_is_too_long category: spread_table message: spread_table can not be longer than 100 character(s) params: '{ "maxlength" => 100 }' - code: identification_type_is_missing category: identification_type message: identification_type is missing params: '' - code: identification_type_is_invalid category: identification_type message: identification_type is invalid params: '' - code: identification_value_is_missing category: identification_value message: identification_value is missing params: '' - code: identification_value_is_invalid category: identification_value message: identification_value is invalid params: '' - code: state_or_province_is_required category: state_or_province message: 'State or province is required for US, CA and MX' params: '' - code: terms_and_conditions_accepted_is_required category: terms_and_conditions_accepted message: 'Terms and conditions accepted is required' params: '' - code: invalid_extra_parameters category: base message: Invalid extra parameters extra_parameter params: '{ "parameters" => "extra_parameter" }' schema: $ref: '#/definitions/CreateAccountError' headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. '404': description: Resource not found. headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: >- Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. /accounts/{id}: get: tags: - Accounts x-api-group: manage summary: Get Account description: Gets an account or sub-account owned by the authenticated user. operationId: GetAccount produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token - name: id in: path required: true type: string description: Account UUID, returned by the create account endpoint. - name: on_behalf_of in: query required: false type: string description: A contact UUID for the sub-account you're acting on behalf of. responses: '200': description: Success. schema: $ref: '#/definitions/Account' headers: X-Request-Id: type: string description: A unique reference for the request. '400': description: Client error. x-errors: - code: id_is_not_valid_uuid category: id message: id should be in UUID format params: '' - code: account_not_found category: id message: Account was not found for this id params: '' - code: on_behalf_of_self category: on_behalf_of message: You cannot act on behalf of your own contact params: '' - code: contact_not_found category: on_behalf_of message: Contact was not found for this id params: '' schema: $ref: '#/definitions/GetAccountError' headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. '404': description: Resource not found. schema: $ref: '#/definitions/NotFoundError' headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: >- Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable. x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. post: tags: - Accounts x-api-group: manage summary: Update Account description: >- Updates a sub-account owned by the authenticated user. The updated account entity is returned on success. operationId: UpdateAccount consumes: - multipart/form-data produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token - name: id in: path required: true type: string description: Account UUID, returned by the create account endpoint. - name: account_name in: formData required: false type: string description: Account name. - name: legal_entity_type in: formData required: false type: string enum: - company - individual description: Legal entity. - name: brand in: formData required: false type: string description: >- The value of this field is used for white labeling the Currencycloud user interface. - name: your_reference in: formData required: false type: string description: User-generated reference code. - name: status in: formData required: false type: string enum: - disabled - enabled - enabled_no_trading default: enabled description: Status of the account. - name: street in: formData required: false type: string description: First line of address. - name: city in: formData required: false type: string description: City name - name: state_or_province in: formData required: false type: string description: State or province two-letter ISO 3166 code. Only applicable to some countries. - name: postal_code in: formData required: false type: string description: Postal code. - name: country in: formData required: false type: string description: Two-letter ISO country code. - name: spread_table in: formData required: false type: string default: fxcg_rfx_default description: The name of the spread table assigned to the account. - name: api_trading in: formData required: false type: boolean default: true description: >- Whether trading via the Currencycloud API is to be enabled on the account. - name: online_trading in: formData required: false type: boolean default: true description: Enable online trading on the account. - name: phone_trading in: formData required: false default: true type: boolean description: Enable phone trading on the account. - name: identification_type in: formData required: false type: string enum: - none - others - asylum_registration_card - citizenship_papers - consular_id - credential_de_elector - drivers_license - drivers_license_canadian - employer_identification_number - existing_credit_card_details - green_card - immigration_status_document - indigenous_card - international_driving_licence - matricula_consular - municipality_identity_card - national_health_insurance_card - national_id - national_identity_card - passport - passport_card - postal_identity_card - private_operators_card - professional_qualification_card - proof_of_citizenship - registro_federal_de_contribuyentes - residence_permit - residence_status_document - service_id_card - social_insurance_number - social_security_card - social_security_number - tax_id - visa - voter_id - work_permit - incorporation_number description: A legal document that verifies the identity of the account owner. - name: identification_value in: formData required: false type: string description: >- A unique reference code for the identification document, such as a passport number. maxLength: 255 - name: terms_and_conditions_accepted in: formData required: false type: boolean description: Acceptance of the terms and conditions. - name: identification_expiration in: formData required: false type: string format: date description: >- The expiration date for the identification information provided. Format YYYY-MM-DD. Part of extended compliance for "legal_entity_type: individual" accounts. - name: identification_issuer in: formData required: false type: string maxLength: 255 description: >- ISO country code indicating the issuer of the identification information provided. Part of extended compliance for "legal_entity_type: individual" accounts. - name: legal_entity_sub_type in: formData required: false type: string description: >- The type of company this account represents. Part of extended compliance for "legal_entity_type: company" accounts enum: - sole_trader - limited_liability_company - public_limited_company - limited_liability_partnership - unincorporated_partnership - unregistered_charity - registered_charity - trust - company_with_nominee_shareholders_or_shares_in_bearer_form - scottish_limited_partnership - other responses: '200': description: Success. schema: $ref: '#/definitions/Account' headers: X-Request-Id: type: string description: A unique reference for the request. '400': description: Client error. x-errors: - code: at_least_one_parameter category: base message: >- At least one parameter should be present: account_name, brand, your_reference, status, street, city, state_or_province, postal_code, country, spread_table, legal_entity_type, identification_type, identification_value, api_trading, online_trading, phone_trading or terms_and_conditions_accepted. params: '{ account_name, brand, your_reference, status, street, city, state_or_province, postal_code, country, spread_table, legal_entity_type, identification_type, identification_value, api_trading, online_trading, phone_trading, terms_and_conditions_accepted }' - code: id_is_not_valid_uuid category: id message: id should be in UUID format params: '' - code: account_name_is_too_short category: account_name message: account_name can not be shorter than 1 character(s) params: '{ "minlength" => 1}' - code: account_name_is_too_long category: account_name message: account_name can not be longer than 150 character(s) params: '{ "maxlength" => 150 }' - code: account_name_is_in_invalid_format category: account_name message: account_name is in invalid format params: '' - code: brand_is_too_long category: brand message: brand can not be longer than 255 character(s) params: '{ "maxlength" => 255 }' - code: brand_not_found category: brand message: Brand non_existing_brand wasn't found params: '{ "brand" => "non_existing_brand" }' - code: brand_account_not_broker category: brand message: Account doesn't have broker permissions params: '{ "brand" => "wrong_brand" }' - code: permission_denied category: permissions message: Permission denied params: '' - code: your_reference_is_too_long category: your_reference message: your_reference can not be longer than 25 character(s) params: '{ "maxlength" => 25 }' - code: legal_entity_type_not_in_range category: legal_entity_type message: 'legal_entity_type should be in range: individual, company' params: '{ "range" => "individual, company" }' - code: status_not_in_range category: status message: 'status should be in range: enabled, disabled, enabled_no_trading' params: '{ "range" => "enabled, disabled, enabled_no_trading" }' - code: street_is_too_long category: street message: street can not be longer than 150 character(s) params: '{ "maxlength" => 150 }' - code: city_is_too_long category: city message: city can not be longer than 100 character(s) params: '{ "maxlength" => 100 }' - code: postal_code_is_too_long category: postal_code message: postal_code can not be longer than 20 character(s) params: '{ "maxlength" => 20 }' - code: state_or_province_is_too_long category: state_or_province message: state_or_province can not be longer than 100 character(s) params: '{ "maxlength" => 100 }' - code: country_is_in_invalid_format category: country message: country is not a valid ISO 3166-1 Alpha-2 country code params: '{ "type" => "country_code" }' - code: spread_table_is_too_long category: spread_table message: spread_table can not be longer than 100 character(s) params: '{ "maxlength" => 100 }' - code: identification_type_is_missing category: identification_type message: identification_type is missing params: '' - code: identification_type_not_in_range category: identification_type message: >- identification_type should be in range: none, drivers_license, social_security_number, green_card, passport, visa, matricula_consular, registro_federal_de_contribuyentes, credential_de_elector, social_insurance_number, citizenship_papers, drivers_license_canadian, existing_credit_card_details, employer_identification_number, national_id, others, incorporation_number, clave_unica_de_registro_de_poblacion params: '{ "range": "none, drivers_license, social_security_number, green_card, passport, visa, matricula_consular, registro_federal_de_contribuyentes, credential_de_elector, social_insurance_number, citizenship_papers, drivers_license_canadian, existing_credit_card_details, employer_identification_number, national_id, others, incorporation_number, clave_unica_de_registro_de_poblacion" }' - code: identification_type_is_invalid category: identification_type message: identification_type is invalid params: '' - code: identification_value_is_missing message: identification_value is missing category: identification_value params: '' - code: identification_value_is_invalid category: identification_value message: identification_value is invalid params: '' - code: identification_value_is_too_short category: identification_value message: identification_value can not be shorter than 1 character(s) params: ' { "minlength": 1 }' - code: editing_address_not_allowed category: address message: You cannot edit address information. Please contact support for additional information params: '' - code: editing_country_not_allowed category: country message: You cannot edit country. Please contact support for additional information params: '' schema: $ref: '#/definitions/UpdateAccountError' headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. '404': description: Resource not found. schema: $ref: '#/definitions/NotFoundError' headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: >- Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. '/accounts/{id}/compliance_settings': get: tags: - Accounts x-throttling-tier: Unlimited x-api-group: manage summary: Get Account's Compliance Settings description: Gets the compliance settings for the account with the given ID. operationId: GetAccountComplianceSettings produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 - name: id in: path required: true type: string description: Account UUID, returned by the create account endpoint. format: uuid - name: on_behalf_of in: query required: false type: string description: A contact UUID for the sub-account you're acting on behalf of. format: uuid responses: '200': description: Success. schema: $ref: '#/definitions/AccountComplianceSettings' headers: X-Request-Id: type: string description: A unique reference for the request. '400': description: Client error. x-errors: - code: id_is_not_valid_uuid category: id message: id should be in UUID format params: '' - code: account_not_found category: id message: Account was not found for this id params: '' - code: on_behalf_of_self category: on_behalf_of message: You cannot act on behalf of your own contact params: '' - code: contact_not_found category: on_behalf_of message: Contact was not found for this id params: '' schema: $ref: '#/definitions/GetAccountComplianceSettingsError' headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. '404': description: Resource not found. schema: $ref: '#/definitions/NotFoundError' headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: >- Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable. x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. post: tags: - Accounts x-throttling-tier: Unlimited x-api-group: manage summary: Update Account's Compliance Settings description: >- Update the compliance settings for a sub-account owned by the authenticating user. On success, returns the updated account entity. operationId: UpdateAccountComplianceSettings consumes: - multipart/form-data produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 - name: id in: path required: true type: string description: Account UUID. - name: industry_type in: formData required: false type: string maxLength: 255 description: String describing the account's main industry. See merchant category codes for examples. - name: country_of_incorporation in: formData required: false type: string maxLength: 2 minLength: 2 description: >- Two-letter ISO-3166 Country Code indicating the country the account is incorporated in. Should only be present for 'legal_entity_type: company' accounts. - name: date_of_incorporation in: formData required: false type: string format: date description: >- The date of the account's incorporation. Should only be present for 'legal_entity_type: company' accounts. - name: business_website_url in: formData required: false type: string maxLength: 400 description: >- A fully qualified URL (including scheme) indicating a marketplace homepage, a link to a government page concerning the company or the literal string 'no_website_available'. - name: expected_transaction_countries in: formData required: false type: array description: Array of two-letter ISO-3166 country codes indicating the countries this account is expected to transact to and from. items: type: string minLength: 2 maxLength: 2 - name: expected_transaction_currencies in: formData required: false type: array description: Array of ISO-4217 currency codes that these accounts will transact with. Limited to a single item. items: type: string - name: expected_monthly_activity_volume in: formData required: false type: integer format: int32 description: The number of transactions this account is expected to conduct. - name: expected_monthly_activity_value in: formData required: false type: number format: float description: >- The value of transactions this account is expected to conduct. The currency for this is the single item in 'expected_transaction_currencies'. - name: tax_identification in: formData required: false type: string maxLength: 100 description: >- A tax identification value for companies in the United States or Australia; determined by 'accounts.country'. Should only be present for 'legal_entity_type: company' accounts. - name: national_identification in: formData required: false type: string maxLength: 100 description: >- A national identification value for an individual in the United States; determined by 'accounts.country'. Should only be present for 'legal_entity_type: individual' accounts. - name: country_of_citizenship in: formData required: false type: string maxLength: 2 minLength: 2 description: >- Two-letter ISO-3166 country code for an individual's citizenship. Should only be provided for 'legal_entity_type: individual' accounts. - name: trading_address_street in: formData required: false type: string maxLength: 150 description: >- The street address of the company's trading location. Should only be provided for 'legal_entity_type: company' accounts. - name: trading_address_city in: formData required: false type: string maxLength: 100 description: >- The city of the company's trading location. Should only be present for 'legal_entity_type: company' accounts. - name: trading_address_state in: formData required: false maxLength: 100 type: string description: >- The state of the company's trading location. Should only be present for 'legal_entity_type: company' accounts. - name: trading_address_postalcode in: formData required: false type: string maxLength: 20 description: >- The postal code of the company's trading location. Should only be present for 'legal_entity_type: company' accounts. - name: trading_address_country in: formData required: false type: string maxLength: 2 minLength: 2 description: >- Two-letter ISO-3166 country code representing the country portion of the company's trading location. Should only be provided for 'legal_entity_type: company' accounts. - name: customer_risk in: formData required: false description: Risk classification for this account's expected behaviour, required for individuals and companies on the Correspondent or OKYC service model. type: string enum: - LOW - MEDIUM - HIGH responses: '200': description: Success. schema: $ref: '#/definitions/AccountComplianceSettings' headers: X-Request-Id: type: string description: A unique reference for the request. '400': description: Client error. x-errors: - code: business_website_url_is_required category: business_website_url message: business_website_url is required params: '' - code: business_website_url_is_not_permitted category: business_website_url message: business_website_url is not permitted params: '' - code: date_of_incorporation_is_required category: date_of_incorporation message: date_of_incorporation is required params: '' - code: date_of_incorporation_is_not_permitted category: date_of_incorporation message: date_of_incorporation is not permitted params: '' - code: country_of_incorporation_is_required category: country_of_incorporation message: country_of_incorporation is required params: '' - code: country_of_incorporation_is_not_permitted category: country_of_incorporation message: country_of_incorporation is not permitted params: '' - code: country_of_citizenship_is_required category: country_of_citizenship message: country_of_citizenship is required params: '' - code: country_of_citizenship_is_not_permitted category: country_of_citizenship message: country_of_citizenship is not permitted params: '' - code: expected_monthly_activity_volume_must_be_a_number_greater_than_zero category: expected_monthly_activity_volume_ message: expected_monthly_activity_volume must be a number greater than zero params: '' - code: expected_monthly_activity_value_must_be_a_number_greater_than_zero category: expected_monthly_activity_value message: expected_monthly_activity_value must be a number greater than zero params: '' - code: expected_transaction_currencies_is_required category: expected_transaction_currencies message: expected_transaction_currencies is required params: '' - code: expected_transaction_countries_is_required category: expected_transaction_countries message: expected_transaction_countries is required params: '' - code: industry_type_is_required category: industry_type message: industry_type is required params: '' - code: industry_type_is_not_permitted category: industry_type message: industry_type is not permitted params: '' - code: trading_address_street_is_required category: trading_address_street message: trading_address_street is required params: '' - code: trading_address_city_is_required category: trading_address_city message: trading_address_city is required params: '' - code: trading_address_postalcode_is_required category: trading_address_postalcode message: trading_address_postalcode is required params: '' - code: trading_address_state_is_required category: trading_address_state message: trading_address_state is required params: '' - code: trading_address_country_is_required category: trading_address_country message: trading_address_country is required params: '' - code: trading_address_street_is_not_permitted category: trading_address_street message: trading_address_street is not permitted params: '' - code: trading_address_city_is_not_permitted category: trading_address_city message: trading_address_city is not permitted params: '' - code: trading_address_postalcode_is_not_permitted category: trading_address_postalcode message: trading_address_postalcode is not permitted params: '' - code: trading_address_state_is_not_permitted category: trading_address_state message: trading_address_state is not permitted params: '' - code: trading_address_country_is_not_permitted category: trading_address_country message: trading_address_country is not permitted params: '' - code: trading_address_state_invalid_state category: trading_address_state message: trading_address_state invalid state params: '' - code: tax_identification_is_required category: tax_identification message: tax_identification is required params: '' - code: tax_identification_is_not_permitted category: tax_identification message: tax_identification is not permitted params: '' - code: national_identification_is_required category: national_identification message: national_identification is required params: '' - code: national_identification_is_not_permitted category: national_identification message: national_identification is not permitted params: '' - code: customer_risk_is_required category: customer_risk message: customer_risk is required params: '' - code: customer_risk_invalid_value category: customer_risk message: customer_risk invalid value params: '' schema: $ref: '#/definitions/UpdateAccountComplianceSettingsError' headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. '404': description: Resource not found. schema: $ref: '#/definitions/NotFoundError' headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: >- Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. /accounts/current: get: tags: - Accounts x-api-group: manage summary: Get Authenticating Account description: Gets the authenticated user's main account. operationId: GetAuthenticatingAccount produces: - application/json parameters: - name: X-Auth-Token in: header type: string required: true description: Authentication token minLength: 32 responses: '200': description: Success. schema: $ref: '#/definitions/Account' headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. '404': description: Resource not found. headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: >- Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. /accounts/find: post: tags: - Accounts x-api-group: manage summary: Find Accounts description: >- Returns account and any sub-accounts owned by the authenticated user. Optionally filter by account status and other criteria. operationId: FindAccountsPost produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 - name: account_name in: formData required: false type: string description: Account name. pattern: \S+ minLength: 1 maxLength: 150 - name: brand in: formData required: false type: string description: >- The value of this field is used for white labeling the Currencycloud user interface. minLength: 1 maxLength: 255 - name: your_reference in: formData required: false type: string description: User-generated reference code. minLength: 1 maxLength: 255 - name: status in: formData required: false type: string enum: - disabled - enabled - enabled_no_trading description: Account status. - name: street in: formData required: false type: string description: First line of address. maxLength: 150 - name: city in: formData required: false type: string description: City. maxLength: 100 - name: state_or_province in: formData required: false type: string description: State or province two-letter ISO 3166 code. Only applicable to some countries. maxLength: 100 - name: postal_code in: formData required: false type: string description: Postal code. maxLength: 20 - name: country in: formData required: false type: string description: Two-letter country code. format: iso3166-1-alpha-2 pattern: ^[A-Z]{2}$ - name: spread_table in: formData required: false type: string description: The name of the spread table assigned to the account. maxLength: 100 - name: bank_account_verified in: formData required: false type: string enum: - yes - no - not required description: Has the bank account been verified? - name: page in: formData required: false type: integer description: Page number. pattern: ^\d+$ - name: per_page in: formData required: false type: integer description: Number of results per page. pattern: ^\d+$ - name: order in: formData required: false type: string description: Any field name to change the sort order. minLength: 1 maxLength: 255 - name: order_asc_desc in: formData required: false type: string enum: - asc - desc default: asc description: Sort records in ascending or descending order. responses: '200': description: Success. schema: type: object properties: accounts: type: array items: $ref: '#/definitions/Account' pagination: $ref: '#/definitions/Pagination' headers: X-Request-Id: type: string description: A unique reference for the request. '400': description: Client error. x-errors: - code: account_name_is_too_short category: account_name message: account_name can not be shorter than 1 character(s) params: '{ "minlength" => 1 }' - code: account_name_is_too_long category: account_name message: The account_name can not be longer than 150 character(s) params: '{ "maxlength" => 150 }' - code: brand_is_too_short category: brand message: brand can not be shorter than 1 character(s) params: '{ "minlength" => 1 }' - code: brand_is_too_long category: brand message: brand can not be longer than 100 character(s) params: '{ "maxlength" => 255 }' - code: your_reference_is_too_short category: your_reference message: your_reference can not be shorter than 1 character(s) params: '{ "minlength" => 1 }' - code: your_reference_is_too_long category: your_reference message: your_reference can not be longer than 25 character(s) params: '{ "maxlength" => 25 }' - code: status_not_in_range category: status message: 'status should be in range: enabled, disabled, enabled_no_trading' params: '{ "range" => "enabled, disabled, enabled_no_trading" }' - code: invalid_extra_parameters category: legal_entity_type message: 'Invalid extra parameters: ${legal_entity_type}' params: '' - code: street_is_too_long category: street message: street can not be longer than 150 character(s) params: '{ "maxlength" => 150 }' - code: city_is_too_long category: city message: city can not be longer than 100 character(s) params: '{ "maxlength" => 100 }' - code: postal_code_is_too_long category: postal_code message: postal_code can not be longer than 20 character(s) params: '{ "maxlength" => 20 }' - code: country_is_in_invalid_format category: country message: country is not a valid ISO 3166-1 Alpha-2 country code params: '{ "type" => "country_code" }' - code: spread_table_is_too_short category: spread_table message: spread_table can not be shorter than 1 character(s) params: '{ "minlength" => 1 }' - code: spread_table_is_too_long category: spread_table message: spread_table can not be longer than 100 character(s) params: '{ "maxlength" => 100 }' - code: bank_account_verified_not_in_range category: bank_account_verified message: 'bank_account_verified should be in range: yes, no, not required' params: '{ "range" => "yes, no, not required" }' schema: $ref: '#/definitions/FindAccountsError' headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request '404': description: Resource not found. headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: >- Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. /accounts/{account_id}/payment_charges_settings: get: tags: - Accounts x-api-group: manage summary: Get Payment Charges Settings description: Retrieves the Payment Charges Settings for the given account. operationId: GetAccountPaymentChargesSettings produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 - name: account_id in: path required: true type: string description: A UUID of a sub-account or house account visible to the authenticated user. format: uuid responses: '200': description: Success. schema: type: object properties: payment_charges_settings: type: array items: $ref: '#/definitions/AccountPaymentChargesSetting' headers: X-Request-Id: type: string description: A unique reference for the request. '400': description: Client error. x-errors: - code: id_is_not_valid_uuid category: account_id message: id should be in UUID format params: '' - code: account_not_found category: account_id message: Account was not found for this id params: '' schema: $ref: '#/definitions/GetAccountPaymentChargesSettingsError' headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. '404': description: Resource not found. schema: $ref: '#/definitions/NotFoundError' headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable. x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. /accounts/{account_id}/payment_charges_settings/{charge_settings_id}: post: tags: - Accounts x-api-group: manage summary: Manage Account Payment Charges Settings description: Manage a given account's Payment Charge Settings (enable, disable, set as default). operationId: ManageAccountPaymentChargesSettings produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 - name: account_id in: path required: true type: string description: Account UUID format: uuid - name: charge_settings_id in: path required: true type: string description: Account Payment Charges Setting UUID. Can be retrieved via appropriate GET call for the given Account UUID. format: uuid - name: enabled in: formData required: false type: boolean description: Enable or disable the given Account Payment Charges Setting. - name: default in: formData required: false type: boolean description: Set the given Account Payment Charges Setting as default. This will be used when the 'charge_type' parameter is not specified for a payment. responses: '200': description: Success. schema: $ref: '#/definitions/AccountPaymentChargesSetting' headers: X-Request-Id: type: string description: A unique reference for the request. '400': description: Client error. x-errors: - code: id_is_not_valid_uuid category: account_id message: id should be in UUID format params: '' - code: account_not_found category: account_id message: Account was not found for this id params: '' - code: permission_denied category: permissions message: You do not have permission 'payment_charges_management' to perform this operation params: '' - code: edit_not_allowed category: permission message: You are not allowed to change your 'payment_charges_settings'. In order to be enabled for additional type(s) of payment charges please contact Customer Support params: '' - code: banking_charges_settings_not_found category: charge_settings_id message: Bank Charges Settings were not found for the provided ChargeSettingsId params: '' - code: unavailable_charge_type category: permission message: You are not enabled to switch on these type of charges. In order to be enabled for this option - please contact Customer Support params: '' - code: disable_and_default_charge_not_allowed category: invalid_value message: You cannot disable and then default setting params: '' - code: default_disabled_charge_not_allowed category: invalid_value message: You cannot default disabled setting params: '' - code: disable_default_charge_not_allowed category: invalid_value message: You can not disable default settings params: '' - code: set_default_to_false_not_allowed category: invalid_value message: You cannot disable a default charge type. Please update the charge type not to be default and then disable it params: '' schema: $ref: '#/definitions/ManageAccountPaymentChargesSettingsError' headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. '404': description: Resource not found. schema: $ref: '#/definitions/NotFoundError' headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. /terms_and_conditions/accept: post: tags: - Accounts x-api-group: manage summary: Accept Terms of Use description: Endpoint for accounts using our Outsourced KYC model to accept Terms of Use. produces: - application/json parameters: - name: X-Auth-Token in: header type: string required: true description: Authentication token minLength: 32 - name: type in: formData type: string description: The type of Terms of Use the user is accepting. required: true enum: - VGSI - name: version in: formData type: string description: The version of the Terms of Use the user is accepting. required: true enum: - '1.0' - name: reference_type in: formData type: string description: The type of reference accepting the Terms of Use. required: true enum: - ACCOUNT - name: reference_id in: formData type: string description: The account / sub-account UUID that the Terms of Use are being accepted for. required: true format: uuid - name: first_name in: formData type: string description: >- The first name of the user accepting the Terms of Use. Must be between 1 and 100 characters in length and not contain < or >. required: true minLength: 1 maxLength: 100 - name: last_name in: formData type: string description: >- The last name of the user accepting the Terms of Use. Must be between 1 and 100 characters in length and not contain < or >. required: true minLength: 1 maxLength: 100 - name: email in: formData type: string description: >- The email of the user accepting the Terms of Use. Length must be between 6 and 255 characters.
Regex: /^[\w\.\_\%\-\+]+@([\w-]+\.)+\w{2,}+$/ required: true pattern: ^[\w\.\_\%\-\+]+@([\w-]+\.)+\w{2,}+$ minLength: 6 maxLength: 255 responses: 200: description: Success. schema: $ref: '#/definitions/AcceptTermsResponse' headers: X-Request-Id: type: string description: A unique reference for the request. 400: description: Client error. x-errors: - code: accept_terms_and_conditions_invalid message: Parameters are invalid or missing when required params: '' 401: description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. 404: description: "Contact ID or Terms of Use type not found" headers: X-Request-Id: type: string description: A unique reference for the request. 429: description: Too many requests. x-errors: - code: too_many_requests category: base message: >- Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. 500: description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. 503: description: Service is temporary unavailable. x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. /balances/{currency}: get: tags: - Balances x-api-group: manage summary: Get Balance description: >- Gets the balance for a currency from the account of the authenticated user. operationId: GetBalance produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 - name: currency in: path required: true type: string description: Three-letter ISO currency code. format: iso-4217 pattern: ^[A-Z]{3}$ - name: on_behalf_of in: query required: false type: string description: A contact UUID for the sub-account you're acting on behalf of. format: uuid responses: '200': description: Success. schema: $ref: '#/definitions/Balance' headers: X-Request-Id: type: string description: A unique reference for the request. '400': description: Client error. x-errors: - code: invalid_currency category: currency message: XYZ is not a valid ISO 4217 currency code params: '{ "currency" => "XYZ" }' - code: currency_is_in_invalid_format category: currency message: currency is not a valid ISO 4217 currency code params: '{ "type" => "currency" }' - code: on_behalf_of_is_not_valid_uuid category: on_behalf_of message: on_behalf_of should be in UUID format params: '' - code: on_behalf_of_self category: on_behalf_of message: You cannot act on behalf of your own Contact params: '' - code: contact_not_found category: on_behalf_of message: Contact was not found for this id params: '' - code: unsupported_currency category: currency message: Unsupported currency XYZ params: '{ "currency": "UAH" }' schema: $ref: '#/definitions/GetBalanceError' headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. '404': description: Resource not found. schema: $ref: '#/definitions/NotFoundError' headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: >- Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. /balances/find: get: tags: - Balances x-api-group: manage summary: Find Balances description: >- Searches for currency balances in the main account or a sub-account owned by the authenticated user. operationId: FindBalances produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 - name: on_behalf_of in: query required: false type: string description: A contact UUID for the sub-account you're acting on behalf of. format: uuid - name: amount_from in: query required: false type: number description: Minimum balance amount. pattern: ^\d+(\.\d{1,3})?$ - name: amount_to in: query required: false type: number description: Maximum balance amount. pattern: ^\d+(\.\d{1,3})?$ - name: as_at_date in: query required: false type: string format: date-time description: 'A valid ISO 8601 format, e.g. "2019-12-31T23:59:59".' - name: scope in: query required: false type: string enum: - all - clients - own default: own description: '"Own" account, "clients" sub-accounts, or "all" accounts.' - name: page in: query required: false type: integer description: Page number pattern: ^\d+$ - name: per_page in: query required: false type: integer description: Number of results per page. pattern: ^\d+$ - name: order in: query required: false type: string default: created_at description: A field name to change the sort order - "created_at", "amount", "updated_at" or "currency". enum: - amount - created_at - currency - updated_at minLength: 1 maxLength: 255 - name: order_asc_desc in: query required: false type: string enum: - asc - desc default: asc description: Sort records in ascending or descending order. responses: '200': description: Success. schema: type: object properties: balances: type: array items: $ref: '#/definitions/Balance' pagination: $ref: '#/definitions/Pagination' headers: X-Request-Id: type: string description: A unique reference for the request. '400': description: Client error. x-errors: - code: contact_not_found category: on_behalf_of message: Contact was not found for this id params: '' - code: on_behalf_of_self category: on_behalf_of message: You cannot act on behalf of your own Contact params: '' - code: as_at_date_is_in_invalid_format category: as_at_date message: as_at_date should be in ISO 8601 format params: '{ "type": "datetime" }' - code: amount_from_type_is_wrong category: amount_from_type message: amount_from should be of decimal type params: '{"type": "decimal"}' - code: amount_to_type_is_wrong category: amount_to_type message: amount_to should be of decimal type params: '{"type": "decimal"}' - code: order_not_in_range category: order message: >- order should be in range: created_at, amount, updated_at, currency params: '{"range": "created_at, amount, updated_at, currency"}' - code: order_asc_desc_not_in_range category: order_asc_desc message: >- order_asc_desc should be in range: asc, desc params: '{"range": "asc, desc"}' schema: $ref: '#/definitions/FindBalancesError' headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. '404': description: Resource not found. headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: >- Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. /balances/top_up_margin: post: tags: - Balances x-api-group: manage summary: Top Up Margin Balance description: >- Tops up the margin balance. operationId: TopUpMarginBalance consumes: - multipart/form-data produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 - name: currency in: formData required: true type: string description: Three-letter ISO currency code for the currency to top up. format: iso-4217 pattern: ^[A-Z]{3}$ - name: amount in: formData required: true type: string description: Amount to top up. pattern: ^\d+(\.\d{1,3})?$ - name: on_behalf_of in: formData required: false type: string description: A contact UUID for the sub-account you're acting on behalf of. format: 'UUID' minLength: 36 maxLength: 36 responses: '200': description: Success. schema: $ref: '#/definitions/TopUpMarginBalance' headers: X-Request-Id: type: string description: A unique reference for the request. '400': description: Client error. x-errors: - code: currency_is_required category: currency message: currency is required params: '' - code: currency_is_in_invalid_format category: currency message: currency is not a valid ISO 4217 currency code params: '{ "type" => "currency" }' - code: amount_is_required category: amount message: amount is required params: '' - code: amount_type_is_wrong category: amount message: amount should be of numeric_greater_than_zero type params: '{ "type" => "numeric_greater_than_zero" }' - code: on_behalf_of_self category: on_behalf_of message: You cannot act on behalf of your own Contact params: '' - code: contact_not_found category: on_behalf_of message: Contact was not found for this id params: '' - code: on_behalf_of_is_not_valid_uuid category: on_behalf_of message: on_behalf_of should be in UUID format params: '' schema: $ref: '#/definitions/TopUpMarginBalanceError' headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: >- Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. /beneficiaries/find: post: tags: - Beneficiaries x-api-group: pay summary: Find Beneficiaries description: >- Returns beneficiaries attached to the account or any sub-account owned by the authenticated user. operationId: FindBeneficiariesPost produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 - name: on_behalf_of in: formData required: false type: string description: A contact UUID for the sub-account you're acting on behalf of. format: uuid - name: bank_account_holder_name in: formData required: false type: string description: Bank account holder's name. minLength: 1 maxLength: 255 - name: beneficiary_country in: formData required: false type: string description: >- Two-letter ISO country code. If the beneficiary is a company, this is the country in which the company is registered. If the beneficiary is an individual, this is the country in which the beneficiary is based. format: iso3166-1-alpha-2 pattern: ^[A-Z]{2}$ - name: currency in: formData required: false type: string description: >- Currency in which money is held in the beneficiary's bank account. Three-letter currency code. format: iso-4217 pattern: ^[A-Z]{3}$ - name: account_number in: formData required: false type: string description: Bank account number. minLength: 1 maxLength: 50 - name: 'routing_code_type[0]' in: formData required: false type: string enum: - aba - bank_code - branch_code - bsb_code - clabe - cnaps - ifsc - institution_no - sort_code description: Local payment routing system. If supplied, a value for routing_code_value[0] must also be supplied. - name: 'routing_code_value[0]' in: formData required: false type: string description: The value for any routing system specified in routing_code_type[0]. If supplied, a value for routing_code_type[0] must also be supplied. minLength: 1 maxLength: 50 - name: bic_swift in: formData required: false type: string description: BIC/Swift code pattern: ^(\w{8}|\w{11})$ - name: iban in: formData required: false type: string description: IBAN code pattern: ([A-Z0-9]\s*){15,34} - name: default_beneficiary in: formData required: false type: boolean description: >- Payments are made automatically to default beneficiaries when a beneficiary is not specified. - name: bank_name in: formData required: false type: string description: Bank name minLength: 1 - name: bank_account_type in: formData required: false type: string enum: - checking - savings description: Bank account type. - name: name in: formData required: false type: string description: Beneficiary's name. pattern: \S+ minLength: 1 maxLength: 100 - name: beneficiary_entity_type in: formData required: false type: string enum: - company - individual description: Beneficiary's legal entity type - individual or company. - name: beneficiary_company_name in: formData required: false type: string description: Required if "beneficiary_entity_type" is "company". minLength: 1 maxLength: 255 - name: beneficiary_first_name in: formData required: false type: string description: Required if "beneficiary_entity_type" is "individual". minLength: 1 maxLength: 255 - name: beneficiary_last_name in: formData required: false type: string description: Required if "beneficiary_entity_type" is "individual". minLength: 1 maxLength: 255 - name: beneficiary_city in: formData required: false type: string description: City minLength: 1 maxLength: 255 - name: beneficiary_postcode in: formData required: false type: string description: Post code maxLength: 12 - name: beneficiary_state_or_province in: formData required: false type: string description: State or province. minLength: 1 maxLength: 255 - name: beneficiary_date_of_birth in: formData required: false type: string format: date description: >- If "beneficiary_entity_type" is "company", date of registration. If "beneficiary_entity_type" is "individual", date of birth. ISO 8601 format YYYY-MM-DD. - name: scope in: formData required: false type: string enum: - all - clients - own default: own description: 'Search "own" account, "clients" sub-accounts, or "all" accounts.' - name: page in: formData required: false type: integer description: Page number pattern: ^\d+$ - name: per_page in: formData required: false type: integer description: Number of results per page. pattern: ^\d+$ - name: order in: formData required: false type: string description: Any field name to change the sort order. minLength: 1 maxLength: 255 - name: order_asc_desc in: formData required: false type: string enum: - asc - desc default: asc description: Sort records in ascending or descending order. - name: beneficiary_external_reference in: formData required: false type: string description: Beneficiary external reference. minLength: 1 maxLength: 255 responses: '200': description: Success. schema: type: object properties: beneficiaries: type: array items: $ref: '#/definitions/Beneficiary' pagination: $ref: '#/definitions/Pagination' headers: X-Request-Id: type: string description: A unique reference for the request. '400': description: Client error. x-errors: - code: bank_account_holder_name_is_too_short category: bank_account_holder_name message: bank_account_holder_name can not be shorter than 1 character(s) params: '{ "minlength" => 1 }' - code: bank_account_holder_name_is_too_long category: bank_account_holder_name message: bank_account_holder_name can not be longer than 255 character(s) params: '{ "maxlength" => 255 }' - code: beneficiary_country_is_in_invalid_format category: beneficiary_country message: beneficiary_country is in invalid format params: '' - code: currency_is_in_invalid_format category: currency message: currency is in invalid format params: '' - code: bank_name_is_too_short category: bank_name message: bank_name can not be shorter than 1 character(s) params: '{ "minlength" => 1 }' - code: bank_account_type_not_in_range category: bank_account_type message: 'bank_account_type should be in range: checking, savings' params: '{ "range" => "checking, savings" }' - code: account_number_is_too_short category: account_number message: account_number can not be shorter than 1 character(s) params: '{ "minlength" => 1 }' - code: account_number_is_too_long category: account_number message: account_number can not be longer than 50 character(s) params: '{ "maxlength" => 50 }' - code: incorrect_mapping category: base message: Following parameters must have same keys params: '{ "parameters" => "routing_code_value,routing_code_type" }' - code: routing_code_type_is_too_short category: routing_code_type message: routing_code_type can not be shorter than 1 character(s) params: '{ "minlength" => 1, "indices" => ["0", "1"] }' - code: routing_code_type_is_too_long category: routing_code_type message: routing_code_type can not be longer than 50 character(s) params: '{ "maxlength" => 50, "indices" => ["0", "1"] }' - code: routing_code_type_not_included_in_list category: routing_code_type message: One or more of routing_code_type items are not included in list params: >- { "list" => "sort_code,bsb_code,institution_no,bank_code,branch_code,aba,clabe } - code: beneficiary_date_of_birth_type_is_wrong category: beneficiary_date_of_birth message: beneficiary_date_of_birth should be of date type params: '{ "type" => "date" }' - code: beneficiary_date_of_birth_is_earlier category: beneficiary_date_of_birth message: beneficiary_date_of_birth should be later than 1900-01-01 params: '{ "min_date" => "1900-01-01" }' - code: beneficiary_date_of_birth_is_after category: beneficiary_date_of_birth message: beneficiary_date_of_birth should be earlier than todays date params: '{ "max_date" => "Todays Date" }' - code: routing_code_value_is_too_short category: routing_code_value message: routing_code_value can not be shorter than 1 character(s) params: '{ "minlength" => 1, "indices" => ["0", "1"] }' - code: routing_code_value_is_too_long category: routing_code_value message: routing_code_value can not be longer than 50 character(s) params: '{ "maxlength" => 50, "indices" => ["0", "1"] }' - code: routing_code_value_type_is_wrong category: routing_code_value message: routing_code_value should be of hash type params: '{ "type" => "hash" }' - code: bic_swift_is_in_invalid_format category: bic_swift message: bic_swift is in invalid format params: '' - code: iban_is_too_long category: iban message: iban can not be longer than 34 character(s) params: '{ "maxlength" => 34 }' - code: iban_is_too_short category: iban message: iban can not be shorter than 1 character(s) params: '{ "minlength" => 1 }' - code: iban_is_in_invalid_format category: iban message: iban is in invalid format params: '' - code: default_beneficiary_type_is_wrong category: default_beneficiary message: default_beneficiary should be of boolean type params: '{ "type" => "boolean" }' - code: name_is_too_short category: name message: name can not be shorter than 1 character(s) params: '{ "minlength" => 1 }' - code: name_is_too_long category: name message: name can not be longer than 100 character(s) params: '{ "maxlength" => 100 }' - code: order_asc_desc_not_in_range category: order_asc_desc message: 'order_asc_desc should be in range: asc, desc' params: '{ "range" => "asc, desc" }' - code: order_not_in_range category: order message: >- order should be in range: bank_account_holder_name, beneficiary_country, currency, account_number, bic_swift, iban, default_beneficiary, bank_address, name, bank_account_type, beneficiary_entity_type, beneficiary_city, beneficiary_address, beneficiary_company_name, beneficiary_first_name, beneficiary_last_name, beneficiary_state_or_province, beneficiary_postcode, created_at, updated_at params: >- { "range" => "bank_account_holder_name, beneficiary_country, currency, account_number, bic_swift, iban, default_beneficiary, bank_address, name, bank_account_type, beneficiary_entity_type, beneficiary_city, beneficiary_address, beneficiary_company_name, beneficiary_first_name, beneficiary_last_name, beneficiary_state_or_province, beneficiary_postcode, created_at, updated_at" } - code: on_behalf_of_self category: on_behalf_of message: You cannot act on behalf of your own Contact params: '' - code: contact_not_found category: on_behalf_of message: Contact was not found for this id params: '' - code: on_behalf_of_is_not_valid_uuid category: on_behalf_of message: on_behalf_of should be in UUID format params: '' - code: beneficiary_external_reference_is_too_short category: beneficiary_external_reference message: beneficiary_external_reference can not be shorter than 1 character(s) params: '{ "minlength" => 1 }' - code: beneficiary_external_reference_is_too_long category: beneficiary_external_reference message: beneficiary_external_reference can not be longer than 255 character(s) params: '{ "maxlength" => 255 }' - code: cope_not_in_range category: scope message: >- scope should be in range: own, all, clients params: '{ "range" => "own, all, clients" }' - code: beneficiary_entity_type_not_in_range category: beneficiary_entity_type message: >- beneficiary_entity_type should be in range: individual, company params: '{ "range" => "individual, company" }' - code: beneficiary_company_name_is_too_short category: beneficiary_company_name message: beneficiary_company_name can not be shorter than 1 character(s) params: '{ "minlength" => 1 }' - code: beneficiary_company_name_is_too_long category: beneficiary_company_name message: beneficiary_company_name can not be longer than 255 character(s) params: '{ "maxlength" => 255 }' - code: beneficiary_first_name_is_too_short category: beneficiary_first_name message: beneficiary_first_name can not be shorter than 1 character(s) params: '{ "minlength" => 1 }' - code: beneficiary_first_name_is_too_long category: beneficiary_first_name message: beneficiary_first_name can not be longer than 255 character(s) params: '{ "maxlength" => 255 }' - code: beneficiary_last_name_is_too_short category: beneficiary_last_name message: beneficiary_last_name can not be shorter than 1 character(s) params: '{ "minlength" => 1 }' - code: beneficiary_last_name_is_too_long category: beneficiary_last_name message: beneficiary_last_name can not be longer than 255 character(s) params: '{ "maxlength" => 255 }' - code: beneficiary_city_is_too_short category: beneficiary_city message: beneficiary_city can not be shorter than 1 character(s) params: '{ "minlength" => 1 }' - code: beneficiary_city_is_too_long category: beneficiary_city message: beneficiary_city can not be longer than 255 character(s) params: '{ "maxlength" => 255 }' - code: beneficiary_postcode_is_too_short category: beneficiary_postcode message: beneficiary_postcode can not be shorter than 1 character(s) params: '{ "minlength" => 1 }' - code: beneficiary_postcode_is_too_long category: beneficiary_postcode message: beneficiary_postcode can not be longer than 255 character(s) params: '{ "maxlength" => 255 }' - code: beneficiary_state_or_province_is_too_short category: beneficiary_state_or_province message: beneficiary_state_or_province can not be shorter than 1 character(s) params: '{ "minlength" => 1 }' - code: beneficiary_state_or_province_is_too_long category: beneficiary_state_or_province message: beneficiary_state_or_province can not be longer than 255 character(s) params: '{ "maxlength" => 255 }' - code: page_type_is_wrong category: page message: page should be of integer type params: '{ "type" => "integer" }' - code: page_is_too_small category: page message: page can not be smaller than 1 params: '{ "minvalue" => 1 }' - code: per_page_type_is_wrong category: per_page message: per_page should be of integer type params: '{ "type" => "integer" }' - code: per_page_is_too_small category: per_page message: per_page can not be smaller than 1 params: '{ "minvalue" => 1 }' - code: order_asc_desc_not_in_range category: order_asc_desc message: >- order_asc_desc should be in range: asc, desc params: '{ "range" => "asc, desc" }' schema: $ref: '#/definitions/FindBeneficiariesError' headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. '404': description: Resource not found. headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: >- Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. '/beneficiaries/{id}': get: tags: - Beneficiaries x-api-group: pay summary: Get Beneficiary description: Gets a beneficiary with the given ID. operationId: GetBeneficiary produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 - name: id in: path required: true type: string description: Beneficiary UUID format: uuid - name: on_behalf_of in: query required: false type: string description: A contact UUID for the sub-account you're acting on behalf of. format: uuid responses: '200': description: Success. schema: $ref: '#/definitions/Beneficiary' headers: X-Request-Id: type: string description: A unique reference for the request. '400': description: Client error. x-errors: - code: beneficiary_not_found category: id message: Beneficiary was not found for this id params: '' - code: contact_not_found category: on_behalf_of message: Contact was not found for this id params: '' - code: on_behalf_of_self category: on_behalf_of message: You cannot act on behalf of your own Contact params: '' schema: $ref: '#/definitions/GetBeneficiaryError' headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. '404': description: Resource not found. schema: $ref: '#/definitions/NotFoundError' headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: >- Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. post: tags: - Beneficiaries x-api-group: pay summary: Update Beneficiary description: >- Updates an existing beneficiary. Returns the updated beneficiary entity on success.
Please note that it's not possible to change a beneficiary's entity type (company or individual) by an update. To achieve this, you should create a new beneficiary. operationId: UpdateBeneficiary consumes: - multipart/form-data produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 - name: id in: path required: true type: string description: Beneficiary UUID format: uuid - name: name in: formData required: false type: string description: A nickname for the beneficiary. pattern: \S+ minLength: 1 maxLength: 100 - name: bank_account_holder_name in: formData required: false type: string description: Bank account holder's name. minLength: 1 maxLength: 255 - name: bank_country in: formData required: false type: string description: >- Country in which the beneficiary's bank account is held. Two-letter ISO country code. format: iso3166-1-alpha-2 pattern: ^[A-Z]{2}$ - name: currency in: formData required: false type: string description: >- Currency in which money is held in the beneficiary's bank account. Three-letter ISO currency code. format: iso-4217 pattern: ^[A-Z]{3}$ - name: email in: formData required: false type: string description: Beneficiary's email address. pattern: ^[\w\.\_\%\-\+]+@([\w-]+\.)+\w{2,}+$ minLength: 6 maxLength: 255 - name: beneficiary_address in: formData required: false type: string description: First line of address. minLength: 1 maxLength: 255 - name: beneficiary_country in: formData required: false type: string description: >- Two-letter ISO country code. If the beneficiary is a company, this is the country in which the company is registered. If the beneficiary is an individual, this is the country in which the beneficiary is based. format: iso3166-1-alpha-2 pattern: ^[A-Z]{2}$ - name: account_number in: formData required: false type: string description: Bank account number. minLength: 1 maxLength: 50 - name: routing_code_type_1 in: formData required: false type: string enum: - aba - bank_code - branch_code - bsb_code - clabe - cnaps - ifsc - institution_no - sort_code description: Local payment routing system. - name: routing_code_value_1 in: formData required: false type: string description: Routing code for "routing_code_type_1". minLength: 1 maxLength: 50 - name: routing_code_type_2 in: formData required: false type: string enum: - aba - bank_code - branch_code - bsb_code - clabe - cnaps - ifsc - institution_no - sort_code description: Local payment routing system. - name: routing_code_value_2 in: formData required: false type: string description: Routing code for "routing_code_type_2". minLength: 1 maxLength: 50 - name: 'payment_types[]' in: formData required: false type: array items: type: string enum: - priority - regular default: - regular description: >- Currencycloud supports two types of payment - "priority" (Swift) made using the Swift network, and "regular" (local) made using the local bank network. - name: bic_swift in: formData required: false type: string description: BIC/Swift code pattern: ^(\w{8}|\w{11})$ - name: iban in: formData required: false type: string description: IBAN code pattern: ([A-Z0-9]\s*){15,34} - name: default_beneficiary in: formData required: false type: boolean default: false description: >- Payments are made automatically to default beneficiaries when a beneficiary is not specified. - name: bank_address in: formData required: false type: string description: First line of address. minLength: 1 maxLength: 100 - name: bank_name in: formData required: false type: string description: Bank name minLength: 1 - name: bank_account_type in: formData required: false type: string enum: - checking - savings description: Bank account type. - name: beneficiary_entity_type in: formData required: false type: string enum: - company - individual description: Legal entity - name: beneficiary_company_name in: formData required: false type: string description: Required if "beneficiary_entity_type" is "company". Company names cannot consist entirely of numbers. minLength: 1 maxLength: 255 - name: beneficiary_first_name in: formData required: false type: string description: Required if "beneficiary_entity_type" is "individual". Individual names cannot contain any numbers. minLength: 1 maxLength: 255 - name: beneficiary_last_name in: formData required: false type: string description: Required if "beneficiary_entity_type" is "individual". Individual names cannot contain any numbers or company signifiers. minLength: 1 maxLength: 255 - name: beneficiary_city in: formData required: false type: string description: City name, should not consist of only numbers. minLength: 1 maxLength: 255 - name: beneficiary_postcode in: formData required: false type: string description: Postal code maxLength: 12 - name: beneficiary_state_or_province in: formData required: false type: string format: date description: State or province. - name: beneficiary_date_of_birth in: formData required: false type: string description: >- If "beneficiary_entity_type" is "company", date of registration.
If "beneficiary_entity_type" is "individual", date of birth. The date of birth for the individual should not exceed 125 years and cannot be a date in the future.
ISO 8601 format YYYY-MM-DD. format: date - name: beneficiary_identification_type in: formData required: false type: string enum: - citizenship_papers - credential_de_elector - drivers_license - drivers_license_canadian - employer_identification_number - existing_credit_card_details - green_card - incorporation_number - matricula_consular - national_id - none - others - passport - registro_federal_de_contribuyentes - social_insurance_number - social_security_number - visa description: >- A legal document that verifies the identity of the beneficiary. Required documentation will vary depending on the country in which the beneficiary's bank account is held. - name: beneficiary_identification_value in: formData required: false type: string description: >- A unique reference code for the identification document, such as a passport number. minLength: 1 maxLength: 255 - name: on_behalf_of in: formData required: false type: string description: Contact UUID. format: uuid - name: beneficiary_external_reference in: formData required: false type: string description: Beneficiary external reference. minLength: 1 maxLength: 255 - name: business_nature in: formData required: false type: string description: Beneficiary nature of business. maxLength: 255 - name: company_website in: formData required: false type: string description: Beneficiary company website. maxLength: 255 responses: '200': description: Success. schema: $ref: '#/definitions/Beneficiary' headers: X-Request-Id: type: string description: A unique reference for the request. '400': description: Client error. x-errors: - code: id_is_not_valid_uuid category: id message: id should be in UUID format params: '' - code: beneficiary_not_found category: id message: Beneficiary was not found for this id params: '' - code: bank_account_holder_name_is_too_short category: bank_account_holder_name message: bank_account_holder_name can not be shorter than 1 character(s) params: '{ "minlength" => 1 }' - code: bank_account_holder_name_is_too_long category: bank_account_holder_name message: bank_account_holder_name can not be longer than 255 character(s) params: '{ "maxlength" => 255 }' - code: email_is_too_long category: email message: email can not be longer than 255 character(s) params: '{ "maxlength" => 255 }' - code: beneficiary_address_is_too_short category: beneficiary_address message: beneficiary_address can not be shorter than 1 character(s) params: '{ "minlength" => 1 }' - code: beneficiary_address_is_too_long category: beneficiary_address message: beneficiary_address can not be longer than 255 character(s) params: '{ "maxlength" => 255 }' - code: account_number_is_too_short category: account_number message: account_number can not be shorter than 1 character(s) params: '{ "minlength" => 1 }' - code: account_number_is_too_long category: account_number message: account_number can not be longer than 50 character(s) params: '{ "maxlength" => 50 }' - code: account_number_is_missing category: account_number message: Account number is missing params: '' - code: account_number_is_invalid category: account_number message: Account number is in invalid format params: '' - code: routing_code_value_1_is_too_short category: routing_code_value_1 message: routing_code_value_1 can not be shorter than 1 character(s) params: '{ "minlength" => 1 }' - code: routing_code_value_1_is_too_long category: routing_code_value_1 message: routing_code_value_1 can not be longer than 50 character(s) params: '{ "maxlength" => 50 }' - code: routing_code_value_2_is_too_short category: routing_code_value_2 message: routing_code_value_2 can not be shorter than 1 character(s) params: '{ "minlength" => 1 }' - code: routing_code_value_2_is_too_long category: routing_code_value_2 message: routing_code_value_2 can not be longer than 50 character(s) params: '{ "maxlength" => 50 }' - code: iban_is_too_short category: iban message: iban can not be shorter than 1 character(s) params: '{ "minlength" => 1 }' - code: iban_is_too_long category: iban message: iban can not be longer than 34 character(s) params: '{ "maxlength" => 34 }' - code: iban_is_missing category: iban message: IBAN is missing params: '' - code: iban_is_invalid category: iban message: IBAN is in invalid format params: '' - code: bic_swift_is_missing category: bic_swift message: BIC/Swift is missing params: '' - code: bic_swift_is_invalid category: bic_swift message: BIC/Swift is in invalid format params: '' - code: bank_address_is_missing category: bank_address message: Bank address is missing params: '' - code: bank_address_is_too_short category: bank_address message: bank_address can not be shorter than 1 character(s) params: '{ "minlength" => 1 }' - code: bank_address_is_too_long category: bank_address message: bank_address can not be longer than 100 character(s) params: '{ "maxlength" => 100 }' - code: bank_name_is_too_short category: bank_name message: bank_name can not be shorter than 1 character(s) params: '{ "minlength" => 1 }' - code: bank_name_is_missing category: bank_name message: Bank name is missing params: '' - code: bank_account_type_not_in_range category: bank_account_type message: 'bank_account_type should be in range: checking, savings' params: '{ "range" => "checking, savings" }' - code: bank_account_type_is_missing category: bank_account_type message: Beneficiary bank account type is missing params: '' - code: name_is_in_invalid_format category: name message: name is in invalid format params: '' - code: name_is_too_short category: name message: name can not be shorter than 1 character(s) params: '{ "minlength" => 1 }' - code: name_is_too_long category: name message: name can not be longer than 100 character(s) params: '{ "maxlength" => 100 }' - code: default_beneficiary_type_is_wrong category: default_beneficiary message: default_beneficiary should be of boolean type params: '{ "type" => "boolean" }' - code: routing_code_type_1_not_in_range category: routing_code_type_1 message: >- routing_code_type_1 should be in range: sort_code, bsb_code, institution_no, bank_code, branch_code, aba, clabe, cnaps params: >- { "range" => "sort_code, bsb_code, institution_no, bank_code, branch_code, aba, clabe, cnaps" } - code: routing_code_type_2_not_in_range category: routing_code_type_2 message: >- routing_code_type_2 should be in range: sort_code, bsb_code, institution_no, bank_code, branch_code, aba, clabe, cnaps params: >- { "range => "sort_code, bsb_code, institution_no, bank_code, branch_code, aba, clabe, cnaps" } - code: beneficiary_country_is_in_invalid_format category: beneficiary_country message: beneficiary_country is in invalid format params: '' - code: beneficiary_entity_type_not_in_range category: beneficiary_entity_type message: 'beneficiary_entity_type should be in range: individual, company' params: '{ "range" => "individual, company" }' - code: beneficiary_entity_type_is_missing category: beneficiary_entity_type message: Beneficiary entity type is missing params: '' - code: beneficiary_company_name_is_missing category: beneficiary_company_name message: Beneficiary company name is missing params: '' - code: company_name_contains_numbers category: beneficiary_company_name message: Beneficiary names cannot consist entirely of numbers for a company params: '' - code: beneficiary_first_name_is_missing category: beneficiary_first_name message: Beneficiary first name is missing params: '' - code: beneficiary_last_name_is_missing category: beneficiary_last_name message: Beneficiary last name is missing params: '' - code: first_name_contains_numbers category: beneficiary_first_name message: Beneficiary names cannot contain numbers for an individual params: '' - code: last_name_contains_numbers category: beneficiary_last_name message: Beneficiary names cannot contain numbers for an individual params: '' - code: beneficiary_city_is_too_short category: beneficiary_city message: beneficiary_city can not be shorter than 1 character(s) params: '' - code: beneficiary_state_or_province_is_missing category: beneficiary_state_or_province message: Beneficiary state or province is missing params: '' - code: beneficiary_state_or_province_is_not_supported category: beneficiary_state_or_province message: Beneficiary state or province is not supported params: '' - code: beneficiary_state_or_province_is_too_short category: beneficiary_state_or_province message: beneficiary_state_or_province can not be shorter than 1 character(s) params: '' - code: beneficiary_postcode_is_missing category: beneficiary_postcode message: Beneficiary postcode is missing params: '' - code: beneficiary_date_of_birth_type_is_wrong category: beneficiary_date_of_birth message: beneficiary_date_of_birth should be of date type params: '{ "type" => "date" }' - code: beneficiary_date_of_birth_is_earlier category: beneficiary_date_of_birth message: beneficiary_date_of_birth should be later params: '' - code: beneficiary_date_of_birth_is_after category: beneficiary_date_of_birth message: beneficiary_date_of_birth should be earlier params: '' - code: identification_type_is_invalid category: beneficiary_identification_type message: identification_type is invalid params: '' - code: identification_value_is_missing category: beneficiary_identification_value message: identification_value is missing params: '' - code: identification_value_is_invalid category: beneficiary_identification_value message: identification_value is invalid params: '' - code: bank_country_is_in_invalid_format category: bank_country message: bank_country is in invalid format params: '' - code: bank_country_is_not_supported category: bank_country message: bank_country is not supported params: '' - code: currency_is_in_invalid_format category: currency message: currency is in invalid format params: '' - code: currency_code_is_invalid category: currency message: You can not use this currency with beneficiaries params: '' - code: unique_value_parameters category: base message: >- Following parameters should not have same values: routing_code_type_1, routing_code_type_2 params: '{ "parameters" => "routing_code_type_1, routing_code_type_2" }' - code: at_least_one_parameter category: base message: >- At least one parameter should be present: bank_account_holder_name, beneficiary_country, bank_country, currency, email, beneficiary_address, account_number, routing_code_type_1, routing_code_type_2, routing_code_value_1, routing_code_value_2, bic_swift, iban, default_beneficiary, bank_address, bank_name, name params: >- { "parameters" => "bank_account_holder_name, beneficiary_country, bank_country, currency, email, beneficiary_address, account_number, routing_code_type_1, routing_code_type_2, routing_code_value_1, routing_code_value_2, bic_swift, iban, default_beneficiary, bank_address, bank_name, name" } - code: payment_types_not_included_in_list category: payment_types message: 'One or more payment_types items are not included in list' params: '{ "list":"priority, regular" }' - code: sort_code_is_missing category: routing_code message: Sort code is missing params: '' - code: sort_code_is_invalid category: routing_code message: Sort code is in invalid format params: '' - code: aba_is_missing category: routing_code message: ABA is missing params: '' - code: aba_is_invalid category: routing_code message: ABA is in invalid format params: '' - code: bsb_code_is_missing category: routing_code message: BSB code is missing params: '' - code: bsb_code_is_invalid category: routing_code message: BSB code is in invalid format params: '' - code: branch_code_is_missing category: routing_code message: Branch code is missing params: '' - code: branch_code_is_invalid category: routing_code message: Branch code is in invalid format params: '' - code: institution_no_is_missing category: routing_code message: Institution no is missing params: '' - code: institution_no_is_invalid category: routing_code message: Institution no is in invalid format params: '' - code: bank_code_is_missing category: routing_code message: Bank code is missing params: '' - code: bank_code_is_invalid category: routing_code message: Bank code is in invalid format params: '' - code: beneficiary_update_failed category: beneficiary message: Beneficiary was not updated params: '' - code: beneficiary_details_are_missing category: beneficiary message: >- Following beneficiary details are missing: beneficiary_company_name params: '{ "missing_details" => ["beneficiary_company_name"] }' - code: on_behalf_of_self category: on_behalf_of message: You cannot act on behalf of your own Contact params: '' - code: contact_not_found category: on_behalf_of message: Contact was not found for this id params: '' - code: beneficiary_external_reference_is_too_long category: beneficiary_external_reference message: beneficiary_external_reference can not be longer than 255 character(s) params: '{ "maxlength" => 255 }' schema: $ref: '#/definitions/UpdateBeneficiaryError' headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. '404': description: Resource not found. headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: >- Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. /beneficiaries/create: post: tags: - Beneficiaries x-api-group: pay summary: Create Beneficiary description: >- Creates a new beneficiary. Returns the new beneficiary entity on success. operationId: CreateBeneficiary consumes: - multipart/form-data produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 - name: name in: formData required: true type: string description: A nickname for the beneficiary. pattern: \S+ minLength: 1 maxLength: 100 - name: bank_account_holder_name in: formData required: true type: string description: Bank account holder's name. minLength: 1 maxLength: 255 - name: bank_country in: formData required: true type: string description: >- Two-letter code for the country in which the beneficiary's bank account is held. format: iso3166-1-alpha-2 pattern: ^[A-Z]{2}$ - name: currency in: formData required: true type: string description: >- Currency in which money is held in the beneficiary's bank account. Three-letter IDO currency code. format: iso-4217 pattern: ^[A-Z]{3}$ - name: email in: formData required: false type: string description: Email address pattern: ^[\w\.\_\%\-\+]+@([\w-]+\.)+\w{2,}+$ minLength: 6 maxLength: 255 - name: beneficiary_address in: formData required: false type: string description: First line of address. minLength: 1 maxLength: 255 - name: beneficiary_country in: formData required: false type: string description: >- Two-letter ISO country code. If the beneficiary is a company, this is the country in which the company is registered. If the beneficiary is an individual, this is the country in which the beneficiary is based. format: iso3166-1-alpha-2 pattern: ^[A-Z]{2}$ - name: account_number in: formData required: false type: string description: Bank account number. minLength: 1 maxLength: 50 - name: routing_code_type_1 in: formData required: false type: string enum: - aba - bank_code - branch_code - bsb_code - clabe - cnaps - ifsc - institution_no - sort_code description: Local payment routing system. If supplied, routing_code_value_1 should also be supplied. - name: routing_code_value_1 in: formData required: false type: string description: Routing code for routing_code_type_1. If supplied, routing_code_type_1 should also be supplied. minLength: 1 maxLength: 50 - name: routing_code_type_2 in: formData required: false type: string enum: - aba - bank_code - branch_code - bsb_code - clabe - cnaps - ifsc - institution_no - sort_code description: Local payment routing system. If supplied, routing_code_value_2 should also be supplied. - name: routing_code_value_2 in: formData required: false type: string description: Routing code for routing_code_type_2. If supplied, routing_code_type_2 should also be supplied. minLength: 1 maxLength: 50 - name: bic_swift in: formData required: false type: string description: BIC/Swift code pattern: ^(\w{8}|\w{11})$ - name: iban in: formData required: false type: string description: IBAN code pattern: ([A-Z0-9]\s*){15,34} - name: default_beneficiary in: formData required: false type: boolean default: false description: >- Payments are made automatically to default beneficiaries when a beneficiary is not specified. - name: bank_address in: formData required: false type: string description: First line of address. minLength: 1 maxLength: 100 - name: bank_name in: formData required: false type: string description: Bank name minLength: 1 - name: bank_account_type in: formData required: false type: string enum: - checking - savings description: Bank account type. - name: beneficiary_entity_type in: formData required: false type: string enum: - company - individual description: Legal entity - name: beneficiary_company_name in: formData required: false type: string description: Required if "beneficiary_entity_type" is "company". Company names cannot consist entirely of numbers. minLength: 1 maxLength: 255 - name: beneficiary_first_name in: formData required: false type: string description: Required if "beneficiary_entity_type" is "individual". Individual names cannot contain any numbers. minLength: 1 maxLength: 255 - name: beneficiary_last_name in: formData required: false type: string description: Required if "beneficiary_entity_type" is "individual". Individual names cannot contain any numbers or company signifiers. minLength: 1 maxLength: 255 - name: beneficiary_city in: formData required: false type: string description: City name, should not consists of only numbers. minLength: 1 maxLength: 255 - name: beneficiary_postcode in: formData required: false type: string description: Postal code maxLength: 12 - name: beneficiary_state_or_province in: formData required: false type: string description: State or province. minLength: 1 maxLength: 255 - name: beneficiary_date_of_birth in: formData required: false type: string description: >- If "beneficiary_entity_type" is "company", date of registration.
If "beneficiary_entity_type" is "individual", date of birth. The date of birth for the individual should not exceed 125 years and cannot be a date in the future.
ISO 8601 format YYYY-MM-DD. format: date - name: beneficiary_identification_type in: formData required: false type: string enum: - citizenship_papers - credential_de_elector - drivers_license - drivers_license_canadian - employer_identification_number - existing_credit_card_details - green_card - incorporation_number - matricula_consular - national_id - none - others - passport - registro_federal_de_contribuyentes - social_insurance_number - social_security_number - visa description: >- A legal document that verifies the identity of the beneficiary. Required documentation will vary depending on the country in which the beneficiar's bank account is held and on whether "beneficiary_entity_type" is "individual" or "company". - name: beneficiary_identification_value in: formData required: false type: string description: >- A unique reference code for the identification document, such as a passport number. minLength: 1 maxLength: 255 - name: 'payment_types[]' in: formData required: false type: array items: type: string enum: - priority - regular default: - regular description: >- Currencycloud supports two types of payments: "priority", made using the Swift network; and "regular", made using the local bank network. - name: on_behalf_of in: formData required: false type: string description: A contact UUID for the sub-account you're acting on behalf of. format: uuid - name: beneficiary_external_reference in: formData required: false type: string description: Beneficiary external reference. minLength: 1 maxLength: 255 - name: business_nature in: formData required: false type: string description: Beneficiary nature of business. maxLength: 255 - name: company_website in: formData required: false type: string description: Beneficiary company website. maxLength: 255 responses: '200': description: Success. schema: $ref: '#/definitions/Beneficiary' headers: X-Request-Id: type: string description: A unique reference for the request. '400': description: Client error. x-errors: - code: bank_account_holder_name_is_required category: bank_account_holder_name message: bank_account_holder_name is required params: '' - code: bank_account_holder_name_is_too_short category: bank_account_holder_name message: bank_account_holder_name can not be shorter than 1 character(s) params: '{ "minlength" => 1 }' - code: bank_account_holder_name_is_too_long category: bank_account_holder_name message: bank_account_holder_name can not be longer than 255 character(s) params: '{ "maxlength" => 255 }' - code: email_is_too_long category: email message: email can not be longer than 255 character(s) params: '{ "maxlength" => 255 }' - code: beneficiary_address_is_too_short category: beneficiary_address message: beneficiary_address can not be shorter than 1 character(s) params: '{ "minlength" => 1 }' - code: beneficiary_address_is_too_long category: beneficiary_address message: beneficiary_address can not be longer than 255 character(s) params: '{ "maxlength" => 255 }' - code: account_number_is_too_short category: account_number message: account_number can not be shorter than 1 character(s) params: '{ "minlength" => 1 }' - code: account_number_is_too_long category: account_number message: account_number can not be longer than 50 character(s) params: '{ "maxlength" => 50 }' - code: account_number_is_missing category: account_number message: Account number is missing params: '' - code: account_number_is_invalid category: account_number message: Account number is in invalid format params: '' - code: routing_code_value_1_is_too_short category: routing_code_value_1 message: routing_code_value_1 can not be shorter than 1 character(s) params: '{ "minlength" => 1 }' - code: routing_code_value_1_is_too_long category: routing_code_value_1 message: routing_code_value_1 can not be longer than 50 character(s) params: '{ "maxlength" => 50 }' - code: routing_code_value_2_is_too_short category: routing_code_value_2 message: routing_code_value_2 can not be shorter than 1 character(s) params: '{ "minlength" => 1 }' - code: routing_code_value_2_is_too_long category: routing_code_value_2 message: routing_code_value_2 can not be longer than 50 character(s) params: '{ "maxlength" => 50 }' - code: iban_is_too_short category: iban message: iban can not be shorter than 1 character(s) params: '{ "minlength" => 1 }' - code: iban_is_too_long category: iban message: iban can not be longer than 34 character(s) params: '{ "maxlength" => 34 }' - code: iban_is_missing category: iban message: IBAN is missing params: '' - code: iban_is_invalid category: iban message: IBAN is in invalid format params: '' - code: bic_swift_is_missing category: bic_swift message: BIC/Swift is missing params: '' - code: bic_swift_is_invalid category: bic_swift message: BIC/Swift is in invalid format params: '' - code: bank_address_is_missing category: bank_address message: Bank address is missing params: '' - code: bank_address_is_too_short category: bank_address message: bank_address can not be shorter than 1 character(s) params: '{ "minlength" => 1 }' - code: bank_address_is_too_long category: bank_address message: bank_address can not be longer than 100 character(s) params: '{ "maxlength" => 100 }' - code: bank_name_is_too_short category: bank_name message: bank_name can not be shorter than 1 character(s) params: '{ "minlength" => 1 }' - code: bank_name_is_missing category: bank_name message: Bank name is missing params: '' - code: bank_account_type_not_in_range category: bank_account_type message: 'bank_account_type should be in range: checking, savings' params: '{ "range" => "checking, savings" }' - code: bank_account_type_is_missing category: bank_account_type message: Beneficiary bank account type is missing params: '' - code: name_is_too_short category: name message: name can not be shorter than 1 character(s) params: '{ "minlength" => 1 }' - code: name_is_in_invalid_format category: name message: name is in invalid format params: '' - code: name_is_too_long category: name message: name can not be longer than 100 character(s) params: '{ "maxlength" => 100 }' - code: default_beneficiary_type_is_wrong category: default_beneficiary message: default_beneficiary should be of boolean type params: '{ "type" => "boolean" }' - code: routing_code_type_1_not_in_range category: routing_code_type_1 message: >- routing_code_type_1 should be in range: sort_code, bsb_code, institution_no, bank_code, branch_code, aba, clabe, cnaps params: >- { "range" => "sort_code, bsb_code, institution_no, bank_code, branch_code, aba, clabe, cnaps" } - code: routing_code_type_2_not_in_range category: routing_code_type_2 message: >- routing_code_type_2 should be in range: sort_code, bsb_code, institution_no, bank_code, branch_code, aba, clabe, cnaps params: >- { "range => "sort_code, bsb_code, institution_no, bank_code, branch_code, aba, clabe, cnaps" } - code: beneficiary_country_is_in_invalid_format category: beneficiary_country message: beneficiary_country is in invalid format params: '' - code: beneficiary_entity_type_not_in_range category: beneficiary_entity_type message: 'beneficiary_entity_type should be in range: individual, company' params: '{ "range" => "individual, company" }' - code: beneficiary_entity_type_is_missing category: beneficiary_entity_type message: Beneficiary entity type is missing params: '' - code: beneficiary_company_name_is_missing category: beneficiary_company_name message: Beneficiary company name is missing params: '' - code: company_name_contains_numbers category: beneficiary_company_name message: Beneficiary names cannot consist entirely of numbers for a company params: '' - code: beneficiary_first_name_is_missing category: beneficiary_first_name message: Beneficiary first name is missing params: '' - code: beneficiary_last_name_is_missing category: beneficiary_last_name message: Beneficiary last name is missing params: '' - code: first_name_contains_numbers category: beneficiary_first_name message: Beneficiary names cannot contain numbers for an individual params: '' - code: last_name_contains_numbers category: beneficiary_last_name message: Beneficiary names cannot contain numbers for an individual params: '' - code: beneficiary_city_is_too_short category: beneficiary_city message: beneficiary_city can not be shorter than 1 character(s) params: '{"minlength" => 1}' - code: beneficiary_state_or_province_is_too_short category: beneficiary_state_or_province message: beneficiary_state_or_province can not be shorter than 1 character(s) params: '{ "minlength" => 1 }' - code: beneficiary_state_or_province_is_missing category: beneficiary_state_or_province message: Beneficiary state or province is missing params: '' - code: beneficiary_state_or_province_is_not_supported category: beneficiary_state_or_province message: Beneficiary state or province is not supported params: '' - code: beneficiary_postcode_is_missing category: beneficiary_postcode message: Beneficiary postcode is missing params: '' - code: beneficiary_date_of_birth_type_is_wrong category: beneficiary_date_of_birth message: beneficiary_date_of_birth should be of date type params: '{ "type" => "date" }' - code: beneficiary_date_of_birth_is_earlier category: beneficiary_date_of_birth message: beneficiary_date_of_birth should be later params: '' - code: beneficiary_date_of_birth_is_after category: beneficiary_date_of_birth message: beneficiary_date_of_birth should be earlier params: '' - code: identification_type_is_invalid category: beneficiary_identification_type message: identification_type is invalid params: '' - code: identification_value_is_missing category: beneficiary_identification_value message: identification_value is missing params: '' - code: identification_value_is_invalid category: beneficiary_identification_value message: identification_value is invalid params: '' - code: bank_country_is_required category: bank_country message: bank_country is required params: '' - code: bank_country_is_in_invalid_format category: bank_country message: bank_country is in invalid format params: '' - code: bank_country_is_not_supported category: bank_country message: bank_country is not supported params: '' - code: currency_is_required category: currency message: currency is required params: '' - code: currency_is_in_invalid_format category: currency message: currency is in invalid format params: '' - code: currency_code_is_invalid category: currency message: You can not use this currency with beneficiaries params: '' - code: unique_value_parameters category: base message: >- Following parameters should not have same values: routing_code_type_1, routing_code_type_2 params: '{ "parameters" => "routing_code_type_1, routing_code_type_2" }' - code: unsupported_beneficiary_country_code category: base message: Beneficiary country is not supported params: '' - code: beneficiary_create_failed category: beneficiary message: Beneficiary was not created params: '' - code: beneficiary_details_are_missing category: beneficiary message: >- Following beneficiary details are missing: beneficiary_company_name params: '{ "missing_details" => ["beneficiary_company_name"] }' - code: payment_types_not_in_range category: payment_types message: 'payment_types should be in range: priority, regular' params: '{ "range" => "priority, regular" }' - code: payment_type_is_not_supported category: payment_types message: Payment type is not supported for given parameters params: '' - code: sort_code_is_missing category: routing_code message: Sort code is missing params: '' - code: sort_code_is_invalid category: routing_code message: Sort code is in invalid format params: '' - code: aba_is_missing category: routing_code message: ABA is missing params: '' - code: aba_is_invalid category: routing_code message: ABA is in invalid format params: '' - code: bsb_code_is_missing category: routing_code message: BSB code is missing params: '' - code: bsb_code_is_invalid category: routing_code message: BSB code is in invalid format params: '' - code: branch_code_is_missing category: routing_code message: Branch code is missing params: '' - code: branch_code_is_invalid category: routing_code message: Branch code is in invalid format params: '' - code: institution_no_is_missing category: routing_code message: Institution no is missing params: '' - code: institution_no_is_invalid category: routing_code message: Institution no is in invalid format params: '' - code: bank_code_is_missing category: routing_code message: Bank code is missing params: '' - code: bank_code_is_invalid category: routing_code message: Bank code is in invalid format params: '' - code: cnaps_is_missing category: routing_code message: CNAPS number is missing params: '' - code: cnaps_is_invalid category: routing_code message: CNAPS number is in invalid format params: '' - code: on_behalf_of_self category: on_behalf_of message: You cannot act on behalf of your own Contact params: '' - code: contact_not_found category: on_behalf_of message: Contact was not found for this id params: '' - code: beneficiary_external_reference_is_too_long category: beneficiary_external_reference message: beneficiary_external_reference can not be longer than 255 character(s) params: '{ "maxlength" => 255 }' schema: $ref: '#/definitions/CreateBeneficiaryError' headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. '404': description: Resource not found. headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: >- Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. '/beneficiaries/{id}/delete': post: tags: - Beneficiaries x-api-group: pay summary: Delete Beneficiary description: >- Delete a beneficiary associated with a sub-account. If the deletion is successful, the beneficiary's final state is returned. operationId: DeleteBeneficiary consumes: - multipart/form-data produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 - name: id in: path required: true type: string description: Beneficiary UUID format: uuid - name: on_behalf_of in: formData required: false type: string description: A contact UUID for the sub-account you're acting on behalf of. format: uuid responses: '200': description: Success. schema: $ref: '#/definitions/Beneficiary' headers: X-Request-Id: type: string description: A unique reference for the request. '400': description: Client error. x-errors: - code: id_is_not_valid_uuid category: id message: id should be in UUID format params: '' - code: beneficiary_not_found category: id message: Beneficiary was not found for this id params: '' - code: on_behalf_of_self category: on_behalf_of message: You cannot act on behalf of your own Contact params: '' - code: contact_not_found category: on_behalf_of message: Contact was not found for this id params: '' schema: $ref: '#/definitions/DeleteBeneficiaryError' headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. '404': description: Resource not found. schema: $ref: '#/definitions/NotFoundError' headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: >- Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. /beneficiaries/validate: post: tags: - Beneficiaries x-api-group: pay summary: Validate Beneficiary description: >- Validates a new beneficiary's bank details, without actually creating a record of the beneficiary. On success, returns an object that represents the entity that would be created if the beneficiary was saved. operationId: ValidateBeneficiary consumes: - multipart/form-data produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 - name: bank_country in: formData required: true type: string description: >- Two-letter code for the country in which the beneficiary's bank account is held. format: iso3166-1-alpha-2 pattern: ^[A-Z]{2}$ - name: currency in: formData required: true type: string description: >- Currency in which money is held in the beneficiary's bank account. Three-digit currency code. format: iso-4217 pattern: ^[A-Z]{3}$ - name: beneficiary_address in: formData required: false type: string description: First line of address. minLength: 1 maxLength: 255 - name: beneficiary_country in: formData required: false type: string description: >- Two-letter ISO country code. If the beneficiary is a company, this is the country in which the company is registered. If the beneficiary is an individual, this is the country in which the beneficiary is based. format: iso3166-1-alpha-2 pattern: ^[A-Z]{2}$ - name: account_number in: formData required: false type: string description: Bank account number. minLength: 1 maxLength: 50 - name: routing_code_type_1 in: formData required: false type: string enum: - aba - bank_code - branch_code - bsb_code - clabe - cnaps - ifsc - institution_no - sort_code description: Local payment routing system. If supplied, routing_code_value_1 should also be supplied. - name: routing_code_value_1 in: formData required: false type: string description: Routing code for routing_code_type_1. If supplied, routing_code_type_1 should also be supplied. minLength: 1 maxLength: 50 - name: routing_code_type_2 in: formData required: false type: string enum: - aba - bank_code - branch_code - bsb_code - clabe - cnaps - ifsc - institution_no - sort_code description: Local payment routing system. If supplied, routing_code_value_2 should also be supplied. - name: routing_code_value_2 in: formData required: false type: string description: Routing code for routing_code_type_2. If supplied, routing_code_type_2 should also be supplied. minLength: 1 maxLength: 50 - name: bic_swift in: formData required: false type: string description: BIC/Swift code pattern: ^(\w{8}|\w{11})$ - name: iban in: formData required: false type: string description: IBAN code pattern: ([A-Z0-9]\s*){15,34} - name: bank_address in: formData required: false type: string description: First line of address. minLength: 1 maxLength: 100 - name: bank_name in: formData required: false type: string description: Bank name minLength: 1 - name: bank_account_type in: formData required: false type: string enum: - checking - savings description: Bank account type. - name: beneficiary_entity_type in: formData required: false type: string enum: - company - individual description: Legal entity - name: beneficiary_company_name in: formData required: false type: string description: Required if "beneficiary_entity_type" is "company". Company names cannot consist entirely of numbers. minLength: 1 maxLength: 255 - name: beneficiary_first_name in: formData required: false type: string description: Required if "beneficiary_entity_type" is "individual". Individual names cannot contain any numbers. minLength: 1 maxLength: 255 - name: beneficiary_last_name in: formData required: false type: string description: Required if "beneficiary_entity_type" is "individual". Individual names cannot contain any numbers. minLength: 1 maxLength: 255 - name: beneficiary_city in: formData required: false type: string description: City minLength: 1 maxLength: 255 - name: beneficiary_postcode in: formData required: false type: string description: Postal code maxLength: 12 - name: beneficiary_state_or_province in: formData required: false type: string description: State or province. minLength: 1 maxLength: 255 - name: beneficiary_date_of_birth in: formData required: false type: string description: >- If "beneficiary_entity_type" is "company", date of registration. If "beneficiary_entity_type" is "individual", date of birth. ISO 8601 format YYYY-MM-DD. format: date - name: beneficiary_identification_type in: formData required: false type: string enum: - citizenship_papers - credential_de_elector - drivers_license - drivers_license_canadian - employer_identification_number - existing_credit_card_details - green_card - incorporation_number - matricula_consular - national_id - none - others - passport - registro_federal_de_contribuyentes - social_insurance_number - social_security_number - visa description: >- A legal document that verifies the identity of the beneficiary. Required documentation will vary depending on the country in which the beneficiary's bank account is held. - name: beneficiary_identification_value in: formData required: false type: string description: >- A unique reference code for the identification document, such as a passport number. minLength: 1 maxLength: 255 - name: 'payment_types[]' in: formData required: false type: array items: type: string enum: - priority - regular default: - regular description: >- Currencycloud supports two types of payments: "priority", made using the Swift network; and "regular", made using the local bank network. - name: on_behalf_of in: formData required: false type: string description: A contact UUID for the sub-account you're acting on behalf of. format: uuid responses: '200': description: Success. schema: $ref: '#/definitions/Beneficiary' headers: X-Request-Id: type: string description: A unique reference for the request. '400': description: Client error. x-errors: - code: beneficiary_country_is_in_invalid_format category: beneficiary_country message: beneficiary_country is in invalid format params: '' - code: beneficiary_entity_type_not_in_range category: beneficiary_entity_type message: 'beneficiary_entity_type should be in range: individual, company' params: '{ "range" => "individual, company" }' - code: beneficiary_entity_type_is_missing category: beneficiary_entity_type message: Beneficiary entity type is missing params: '' - code: beneficiary_company_name_is_missing category: beneficiary_company_name message: Beneficiary company name is missing params: '' - code: company_name_contains_numbers category: beneficiary_company_name message: Beneficiary names cannot consist entirely of numbers for a company params: '' - code: beneficiary_first_name_is_missing category: beneficiary_first_name message: Beneficiary first name is missing params: '' - code: beneficiary_last_name_is_missing category: beneficiary_last_name message: Beneficiary last name is missing params: '' - code: first_name_contains_numbers category: beneficiary_first_name message: Beneficiary names cannot contain numbers for an individual params: '' - code: last_name_contains_numbers category: beneficiary_last_name message: Beneficiary names cannot contain numbers for an individual params: '' - code: beneficiary_state_or_province_is_missing category: beneficiary_state_or_province message: Beneficiary state or province is missing params: '' - code: beneficiary_state_or_province_is_not_supported category: beneficiary_state_or_province message: Beneficiary state or province is not supported params: '' - code: beneficiary_postcode_is_missing category: beneficiary_postcode message: Beneficiary postcode is missing params: '' - code: beneficiary_date_of_birth_type_is_wrong category: beneficiary_date_of_birth message: beneficiary_date_of_birth should be of date type params: '{ "type" => "date" }' - code: beneficiary_date_of_birth_is_earlier category: beneficiary_date_of_birth message: beneficiary_date_of_birth should be later params: '' - code: beneficiary_date_of_birth_is_after category: beneficiary_date_of_birth message: beneficiary_date_of_birth should be earlier params: '' - code: account_number_is_too_short category: account_number message: account_number can not be shorter than 1 character(s) params: '{ "minlength" => 1 }' - code: account_number_is_too_long category: account_number message: account_number can not be longer than 50 character(s) params: '{ "maxlength" => 50 }' - code: account_number_is_missing category: account_number message: Account number is missing params: '' - code: account_number_is_invalid category: account_number message: Account number is in invalid format params: '' - code: routing_code_value_1_is_too_short category: routing_code_value_1 message: routing_code_value_1 can not be shorter than 1 character(s) params: '{ "minlength" => 1 }' - code: routing_code_value_1_is_too_long category: routing_code_value_1 message: routing_code_value_1 can not be longer than 50 character(s) params: '{ "maxlength" => 50 }' - code: routing_code_value_2_is_too_short category: routing_code_value_2 message: routing_code_value_2 can not be shorter than 1 character(s) params: '{ "minlength" => 1 }' - code: routing_code_value_2_is_too_long category: routing_code_value_2 message: routing_code_value_2 can not be longer than 50 character(s) params: '{ "maxlength" => 50 }' - code: iban_is_too_short category: iban message: iban can not be shorter than 1 character(s) params: '{ "minlength" => 1 }' - code: iban_is_too_long category: iban message: iban can not be longer than 34 character(s) params: '{ "maxlength" => 34 }' - code: iban_is_missing category: iban message: IBAN is missing params: '' - code: iban_is_invalid category: iban message: IBAN is in invalid format params: '' - code: bic_swift_is_missing category: bic_swift message: BIC/Swift is missing params: '' - code: bic_swift_is_invalid category: bic_swift message: BIC/Swift is in invalid format params: '' - code: bank_address_is_missing category: bank_address message: Bank address is missing params: '' - code: bank_address_is_too_short category: bank_address message: bank_address can not be shorter than 1 character(s) params: '{ "minlength" => 1 }' - code: bank_address_is_too_long category: bank_address message: bank_address can not be longer than 100 character(s) params: '{ "maxlength" => 100 }' - code: bank_name_is_too_short category: bank_name message: bank_name can not be shorter than 1 character(s) params: '{ "minlength" => 1 }' - code: bank_name_is_missing category: bank_name message: Bank name is missing params: '' - code: bank_account_type_not_in_range category: bank_account_type message: 'bank_account_type should be in range: checking, savings' params: '{ "range" => "checking, savings" }' - code: bank_account_type_is_missing category: bank_account_type message: Beneficiary bank account type is missing params: '' - code: routing_code_type_1_not_in_range category: routing_code_type_1 message: >- routing_code_type_1 should be in range: sort_code, bsb_code, institution_no, bank_code, branch_code, aba, clabe, cnaps params: >- { "range" => "sort_code, bsb_code, institution_no, bank_code, branch_code, aba, clabe, cnaps" } - code: routing_code_type_2_not_in_range category: routing_code_type_2 message: >- routing_code_type_2 should be in range: sort_code, bsb_code, institution_no, bank_code, branch_code, aba, clabe, cnaps params: >- { "range => "sort_code, bsb_code, institution_no, bank_code, branch_code, aba, clabe, cnaps" } - code: bank_country_is_required category: bank_country message: bank_country is required params: '' - code: bank_country_is_in_invalid_format category: bank_country message: bank_country is in invalid format params: '' - code: bank_country_is_not_supported category: bank_country message: bank_country is not supported params: '' - code: currency_is_required category: currency message: currency is required params: '' - code: currency_is_in_invalid_format category: currency message: currency is in invalid format params: '' - code: currency_code_is_invalid category: currency message: You can not use this currency with beneficiaries params: '' - code: unique_value_parameters category: base message: >- Following parameters should not have same values: routing_code_type_1, routing_code_type_2 params: '{ "parameters" => "routing_code_type_1, routing_code_type_2" }' - code: beneficiary_create_failed category: beneficiary message: Beneficiary was not created params: '' - code: beneficiary_details_are_missing category: beneficiary message: >- Following beneficiary details are missing: beneficiary_company_name params: '{ "missing_details" => ["beneficiary_company_name"] }' - code: payment_types_not_in_range category: payment_types message: 'payment_types should be in range: priority, regular' params: '{ "range" => "priority, regular" }' - code: sort_code_is_missing category: routing_code message: Sort code is missing params: '' - code: sort_code_is_invalid category: routing_code message: Sort code is in invalid format params: '' - code: aba_is_missing category: routing_code message: ABA is missing params: '' - code: aba_is_invalid category: routing_code message: ABA is in invalid format params: '' - code: bsb_code_is_missing category: routing_code message: BSB code is missing params: '' - code: bsb_code_is_invalid category: routing_code message: BSB code is in invalid format params: '' - code: branch_code_is_missing category: routing_code message: Branch code is missing params: '' - code: branch_code_is_invalid category: routing_code message: Branch code is in invalid format params: '' - code: institution_no_is_missing category: routing_code message: Institution no is missing params: '' - code: institution_no_is_invalid category: routing_code message: Institution no is in invalid format params: '' - code: bank_code_is_missing category: routing_code message: Bank code is missing params: '' - code: bank_code_is_invalid category: routing_code message: Bank code is in invalid format params: '' - code: beneficiary_update_failed category: beneficiary message: Beneficiary was not updated params: '' - code: on_behalf_of_self category: on_behalf_of message: You cannot act on behalf of your own Contact params: '' - code: contact_not_found category: on_behalf_of message: Contact was not found for this id params: '' schema: $ref: '#/definitions/ValidateBeneficiaryError' headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. '404': description: Resource not found. headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: >- Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. /beneficiaries/account_verification: post: tags: - Beneficiaries x-api-group: pay summary: Verify Beneficiary Account description: >- This service is currently only available to in-scope clients who must provide Confirmation of Payee (CoP) or Verification of Payee (VoP) services to their end-users making local GBP payments in the UK or SEPA EUR payments.

CoP and VoP are both peer-to-peer name-checking service designed to help reduce misdirected payments and provide greater assurance that payments are being sent, and collected from, the intended account holder for domestic payments.

Currently, access is restricted to UK and EU institutions and in-scope clients.

We plan to add more market coverage to this API in the future, thereby extending access to additional clients.

If you're interested in learning more or have received notification that you're in-scope, please contact your Account Manager or our support team. operationId: BeneficiaryAccountVerification consumes: - multipart/form-data produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 - name: payment_type in: formData type: string required: false enum: - regular - priority (not supported for this endpoint) description: >- Currencycloud supports two types of payments: 'priority', made using the Swift network and 'regular', made using the local bank network. Confirmation of Payee and Verification of Payee checks only apply to local transactions so this field should always be set to 'regular'. - name: bank_country in: formData type: string required: false description: >- Two-letter code for the country in which the beneficiary's bank account is held. format: iso3166-1-alpha-2 pattern: ^[A-Z]{2}$ - name: currency in: formData type: string required: true default: GBP enum: - GBP - EUR description: >- Currency in which money will be sent to the beneficiary's bank account. Three-character currency code. 'GBP' for Confirmation of Payee, 'EUR' for Verification of Payee. format: iso-4217 pattern: ^[A-Z]{3}$ - name: account_number in: formData required: false type: string minLength: 1 maxLength: 50 description: Bank account number. Required when currency is 'GBP' (Confirmation of Payee). - name: beneficiary_entity_type in: formData type: string required: true description: Legal entity - 'individual' or 'company'. If 'individual' then "beneficiary_first_name" and "beneficiary_last_name" are required. If 'company' then "beneficiary_company_name" is required. enum: - company - individual - name: beneficiary_company_name in: formData type: string description: Required if "beneficiary_entity_type" is "company". minLength: 1 maxLength: 255 - name: beneficiary_first_name in: formData type: string description: Required if "beneficiary_entity_type" is "individual". minLength: 1 maxLength: 255 - name: beneficiary_last_name in: formData type: string description: Required if "beneficiary_entity_type" is "individual". minLength: 1 maxLength: 255 - name: routing_code_type_1 in: formData type: string description: Local payment routing system. Defaults to 'sort_code'. - name: routing_code_value_1 in: formData required: false type: string minLength: 1 maxLength: 50 description: Routing system value i.e. the account's sort code. Required when currency is 'GBP' (Confirmation of Payee). - name: routing_code_type_2 in: formData type: string description: >- Second local payment routing system. If supplied, routing_code_value_2 should also be supplied. Necessary for when more than one routing code is required. - name: routing_code_value_2 in: formData type: string description: Routing code for routing_code_type_2. If supplied, routing_code_type_2 should also be supplied. minLength: 1 maxLength: 50 - name: bic_swift in: formData type: string description: BIC/Swift code pattern: ^(\w{8}|\w{11})$ - name: iban in: formData type: string pattern: ([A-Z0-9]\s*){15,34} description: IBAN code. Required when currency is 'EUR' (Verification of Payee). Must match ^[a-zA-Z]{2}[0-9]{2}[a-zA-Z0-9]{1,30}$ - name: secondary_reference_data pattern: ^[a-zA-Z]{2}[0-9]{2}[a-zA-Z0-9]{1,30}$ in: formData type: string description: >- For customer accounts that are not uniquely addressable by a sort code and account number, but instead rely on their PSP to credit their account via SRD – i.e. using the reference field in the payment with a further unique identifier. responses: '200': description: Success. schema: $ref: '#/definitions/BeneficiaryAccountVerificationResult' headers: X-Request-Id: type: string description: A unique reference for the request. '400': description: Client error. x-errors: - code: invalid_field_account_number category: account_number message: account_number must match \"^[0-9]{8}$\" params: '' - code: invalid_beneficiary_type category: beneficiary_entity_type message: Beneficiary_entity_type must be either 'individual' or 'company'. params: '{ "range" => "individual, company" }' enum: individual company - code: invalid_field_routing_code_value_1 category: routing_code_value_1 message: routing_code_value_1 must match \"^[0-9]{6}$\" params: '' - code: invalid_field_company_name category: beneficiary_company_name message: beneficiary_company_name must match \"[a-zA-Z0-9-'\\s]+\" params: '' - code: missing_company_name category: beneficiary_company_name message: beneficiary_company_name size must be between 0 and 140 params: '' - code: invalid_field_beneficiary_first_name category: beneficiary_first_name message: beneficiary_first_name must match \"[a-zA-Z0-9-'\\s]+\" params: '' - code: invalid_field_beneficiary_first_name category: beneficiary_first_name message: beneficiary_first_name size must be between 0 and 140 params: '' - code: invalid_field_beneficiary_last_name category: beneficiary_last_name message: beneficiary_last_name must match \"[a-zA-Z0-9-'\\s]+\" params: '' - code: invalid_field_beneficiary_last_name category: beneficiary_last_name message: beneficiary_last_name size must be between 0 and 140 params: '' - code: invalid_field_bank_country category: bank_country message: bank_country must match \”^[A-Z]{2}$ params: '' - code: missing_individual_names category: beneficiary_last_name message: beneficiary_first_name and beneficiary_last_name are required when beneficiary_entity_type is individual. params: '' - code: missing_company_name category: company_name message: beneficiary_company_name is required when beneficiary_entity_type is company. params: '' - code: expect_individual_names_only category: beneficiary_last_name message: beneficiary_company_name must not be supplied when beneficiary_entity_type is individual. params: '' - code: expect_company_name_only category: beneficiary_last_name message: beneficiary_first_name and beneficiary_last_name must not be supplied when beneficiary_entity_type is company. params: '' - code: invalid_bank_country category: bank_country message: Country ${bank_country} is not supported params: '' - code: invalid_extra_parameters category: base message: Invalid extra parameters extra_parameter params: '{ "parameters" => "extra_parameter" }' schema: $ref: '#/definitions/BeneficiaryAccountVerificationError' headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. '404': description: Resource not found. headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: >- Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. /contacts/current: get: tags: - Contacts x-api-group: manage summary: Get Authenticating Contact description: Gets the contact record for the authenticated user. operationId: GetAuthenticatingContact produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 responses: '200': description: Success. schema: $ref: '#/definitions/Contact' headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. '404': description: Resource not found. headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: >- Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. /contacts/find: post: tags: - Contacts x-api-group: manage summary: Find Contacts description: Returns contacts that match the parameters. operationId: FindContactsPost produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 - name: account_name in: formData required: false type: string description: Account name pattern: \S+ minLength: 1 maxLength: 150 - name: account_id in: formData required: false type: string description: Sub-Account UUID format: uuid - name: first_name in: formData required: false type: string description: The contact's first name. minLength: 1 maxLength: 100 - name: last_name in: formData required: false type: string description: The contact's last name. minLength: 1 maxLength: 100 - name: email_address in: formData required: false type: string description: The contact's email address. pattern: ^[\w\.\_\%\-\+]+@([\w-]+\.)+\w{2,}+$ minLength: 6 maxLength: 255 - name: your_reference in: formData required: false type: string description: User-generated reference code. minLength: 1 maxLength: 255 - name: phone_number in: formData required: false type: string description: The contact's phone number. minLength: 1 maxLength: 100 - name: login_id in: formData required: false type: string description: The contact's Currencycloud login ID. minLength: 1 maxLength: 50 - name: status in: formData required: false type: string enum: - enabled - not_enabled description: Contact status - "enabled" allows the contact to conduct activity on the sub-account, "not_enabled" disables the contact. - name: locale in: formData required: false type: string description: 'Locale code ("en", "en-US", "fr-FR").' minLength: 2 maxLength: 5 - name: timezone in: formData required: false type: string description: 'Timezone ("Europe/London", "America/New_York").' minLength: 7 maxLength: 35 - name: page in: formData required: false type: string description: Page number pattern: ^\d+$ - name: per_page in: formData required: false type: string description: Number of results per page. pattern: ^\d+$ - name: order in: formData required: false type: string description: Any field name to change the sort order. minLength: 1 maxLength: 255 - name: order_asc_desc in: formData required: false type: string enum: - asc - desc default: asc description: Sort records in ascending or descending order. responses: '200': description: Success. schema: properties: contacts: type: array items: $ref: '#/definitions/Contact' pagination: $ref: '#/definitions/Pagination' headers: X-Request-Id: type: string description: A unique reference for the request. '400': description: Client error. schema: $ref: '#/definitions/FindContactsError' headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. '404': description: Resource not found. headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: >- Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. '/contacts/{id}': get: tags: - Contacts x-api-group: manage summary: Get Contact description: Gets the contact for the given ID. operationId: GetContact produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 - name: id in: path required: true type: string description: Contact UUID format: uuid responses: '200': description: Success. schema: $ref: '#/definitions/Contact' headers: X-Request-Id: type: string description: A unique reference for the request. '400': description: Client error. x-errors: - code: id_is_not_valid_uuid category: id message: id should be in UUID format params: '' - code: contact_not_found category: id message: Contact was not found for this id params: '' schema: $ref: '#/definitions/GetContactError' headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' - code: first_name_invalid_format category: first_name message: Please make sure that first_name doesn't contain < or > symbols params: '' - code: last_name_invalid_format category: last_name message: Please make sure that last_name doesn't contain < or > symbols params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. '404': description: Resource not found. schema: $ref: '#/definitions/NotFoundError' headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: >- Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. post: tags: - Contacts x-api-group: manage summary: Update Contact description: >- Updates an existing contact. Returns the updated contact entity on success. operationId: UpdateContact consumes: - multipart/form-data produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 - name: id in: path required: true type: string description: Contact UUID format: uuid - name: first_name in: query required: false type: string description: The contact's first name. minLength: 1 maxLength: 100 - name: last_name in: query required: false type: string description: The contact's last name. minLength: 1 maxLength: 100 - name: email_address in: query required: false type: string description: >- The contact's email address. A request to update a contact's email address does not immediately update the value. Instead, an email change request flow is initiated, sending notifications to both the old and new email addresses. The value will be updated when the change is confirmed via a link sent to the new email address. pattern: ^[\w\.\_\%\-\+]+@([\w-]+\.)+\w{2,}+$ minLength: 6 maxLength: 255 - name: your_reference in: query required: false type: string description: User-generated reference code. minLength: 1 maxLength: 255 - name: phone_number in: query required: false type: string description: The contact's phone number. minLength: 1 maxLength: 100 - name: mobile_phone_number in: query required: false type: string description: The contact's mobile phone number. minLength: 1 maxLength: 100 - name: login_id in: query required: false type: string description: The contact's Currencycloud login ID. minLength: 1 maxLength: 50 - name: status in: query required: false type: string enum: - enabled - not_enabled description: Contact status - "enabled" allows the contact to conduct activity on the sub-account, "not_enabled" disables the contact. - name: locale in: query required: false type: string description: 'Locale code ("en", "en-US", "fr-FR").' minLength: 2 maxLength: 5 - name: timezone in: query required: false type: string description: 'Timezone ("Europe/London", "America/New_York").' minLength: 7 maxLength: 35 - name: date_of_birth in: query required: false type: string format: date description: Contact's date of birth. ISO 8601 format YYYY-MM-DD. Required if account type is individual. responses: '200': description: Success. schema: $ref: '#/definitions/Contact' headers: X-Request-Id: type: string description: A unique reference for the request. '400': description: Client error. x-errors: - code: at_least_one_parameter category: base message: >- At least one parameter should be present: first_name, last_name, email_address, phone_number, mobile_phone_number, login_id, locale, timezone, status params: '' - code: id_is_not_valid_uuid category: id message: id should be in UUID format params: '' - code: first_name_is_too_short category: first_name message: first_name cann ot be shorter than 1 character(s) params: '{ "minlength" => 1 }' - code: first_name_is_too_long category: first_name message: first_name can not be longer than 100 character(s) params: '{ "maxlength" => 100 }' - code: last_name_is_too_short category: last_name message: last_name can not be shorter than 1 character(s) params: '{ "minlength" => 1 }' - code: last_name_is_too_long category: last_name message: last_name can not be longer than 100 character(s) params: '{ "maxlength" => 100 }' - code: email_address_is_too_short category: email_address message: email_address can not be shorter than 1 character(s) params: '{ "minlength" => 1 }' - code: email_address_is_too_long category: email_address message: email_address can not be longer than 255 character(s) params: '{ "maxlength" => 255 }' - code: email_address_is_in_invalid_format category: email_address message: email_address is in invalid format params: '' - code: phone_number_is_too_short category: phone_number message: phone_number can not be shorter than 1 character(s) params: '{ "minlength" => 1 }' - code: phone_number_is_too_long category: phone_number message: phone_number can not be longer than 100 character(s) params: '{ "maxlength" => 100 }' - code: mobile_phone_number_is_too_short category: mobile_phone_number message: mobile_phone_number can not be shorter than 1 character(s) params: '{ "minlength" => 1 }' - code: mobile_phone_number_is_too_long category: mobile_phone_number message: mobile_phone_number can not be longer than 100 character(s) params: '{ "maxlength" => 100 }' - code: login_id_in_use category: login_id message: 'login_id already in use: john.smith@company.com' params: '' - code: login_id_is_too_long category: login_id message: login_id can not be longer than 50 character(s) params: '{ "maxlength" => 50 }' - code: locale_is_too_short category: locale message: locale can not be shorter than 2 character(s) params: '{ "minlength" => 2 }' - code: locale_is_too_long category: locale message: locale can not be longer than 5 character(s) params: '{ "maxlength" => 5 }' - code: timezone_is_too_short category: timezone message: timezone can not be shorter than 7 character(s) params: '{ "minlength" => 7 }' - code: timezone_is_too_long category: timezone message: timezone can not be longer than 35 character(s) params: '{ "maxlength" => 35 }' - code: status_not_in_range category: status message: 'status should be in range: enabled, not_enabled' params: '' - code: date_of_birth_type_is_wrong category: date_of_birth message: date_of_birth should be of date type params: '{ "type" => "date" }' - code: date_of_birth_is_required category: date_of_birth message: >- Date of Birth is a required field. Please provide date of birth (YYYY-MM-DD) params: '' - code: contact_not_found category: id message: Contact was not found for this id params: '' - code: editing_first_last_name_not_allowed category: name message: You cannot edit First and Last name. Please contact support for additional information params: '' schema: $ref: '#/definitions/UpdateContactError' headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' - code: first_name_invalid_format category: first_name message: Please make sure that first_name doesn't contain < or > symbols params: '' - code: last_name_invalid_format category: last_name message: Please make sure that last_name doesn't contain < or > symbols params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. '404': description: Resource not found. headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: >- Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. /contacts/create: post: tags: - Contacts x-api-group: manage summary: Create Contact description: >- Creates a new contact and attaches it to a sub-account. Returns the new contact entity on success. operationId: CreateContact consumes: - multipart/form-data produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 - name: account_id in: formData required: true type: string description: Account UUID format: uuid - name: first_name in: formData required: true type: string description: The contact's first name. minLength: 1 maxLength: 100 - name: last_name in: formData required: true type: string description: The contact's last name. minLength: 1 maxLength: 100 - name: email_address in: formData required: true type: string description: The contact's email address. pattern: ^[\w\.\_\%\-\+]+@([\w-]+\.)+\w{2,}+$ minLength: 6 maxLength: 255 - name: phone_number in: formData required: true type: string description: The contact's phone number. minLength: 1 maxLength: 100 - name: your_reference in: formData required: false type: string description: User-generated reference code. minLength: 1 maxLength: 255 - name: mobile_phone_number in: formData required: false type: string description: The contact's mobile phone number. minLength: 1 maxLength: 100 - name: login_id in: formData required: false type: string description: The contact's Currencycloud login ID, allows the contact to login and conduct activity on the sub-account. minLength: 1 maxLength: 50 - name: status in: formData required: false type: string enum: - enabled - not_enabled description: Contact status - "enabled" allows the contact to conduct activity on the sub-account, "not_enabled" disables the contact. - name: locale in: formData required: false type: string description: 'Locale code ("en", "en-US", "fr-FR").' minLength: 2 maxLength: 5 - name: timezone in: formData required: false type: string description: 'Timezone ("Europe/London", "America/New_York").' minLength: 7 maxLength: 35 - name: date_of_birth in: formData required: false type: string description: The contact's date of birth. ISO 8601 format YYYY-MM-DD. Required if account type is individual. format: date responses: '200': description: Success. schema: $ref: '#/definitions/Contact' headers: X-Request-Id: type: string description: A unique reference for the request. '400': description: Client error. x-errors: - code: first_name_invalid_format category: first_name message: Please make sure that first_name doesn't contain < or > symbols params: '' - code: last_name_invalid_format category: last_name message: Please make sure that last_name doesn't contain < or > symbols params: '' - code: account_id_is_required category: account_id message: account_id is required params: '' - code: first_name_is_required category: first_name message: first_name is required params: '' - code: last_name_is_required category: last_name message: last_name is required params: '' - code: email_address_is_required category: email_address message: email_address is required params: '' - code: phone_number_is_required category: phone_number message: phone_number is required params: '' - code: account_id_is_not_valid_uuid category: account_id message: account_id should be in UUID format params: '' - code: first_name_is_too_short category: first_name message: first_name can not be shorter than 1 character(s) params: '{ "minlength" => 1 }' - code: first_name_is_too_long category: first_name message: first_name can not be longer than 100 character(s) params: '{ "maxlength" => 100 }' - code: last_name_is_too_short category: last_name message: last_name can not be shorter than 1 character(s) params: '{ "minlength" => 1 }' - code: last_name_is_too_long category: last_name message: last_name can not be longer than 100 character(s) params: '{ "maxlength" => 100 }' - code: email_address_is_too_short category: email_address message: email_address can not be shorter than 1 character(s) params: '{ "minlength" => 1 }' - code: email_address_is_too_long category: email_address message: email_address can not be longer than 255 character(s) params: '{ "maxlength" => 255 }' - code: email_address_is_in_invalid_format category: email_address message: email_address is in invalid format params: '' - code: phone_number_is_too_short category: phone_number message: phone_number can not be shorter than 1 character(s) params: '{ "minlength" => 1 }' - code: phone_number_is_too_long category: phone_number message: phone_number can not be longer than 100 character(s) params: '{ "maxlength" => 100 }' - code: mobile_phone_number_is_too_short category: mobile_phone_number message: mobile_phone_number can not be shorter than 1 character(s) params: '{ "minlength" => 1 }' - code: mobile_phone_number_is_too_long category: mobile_phone_number message: mobile_phone_number can not be longer than 100 character(s) params: '{ "maxlength" => 100 }' - code: login_id_is_too_short category: login_id message: login_id can not be shorter than 1 character(s) params: '{ "minlength" => 1 }' - code: login_id_in_use category: login_id message: login_id already in use params: '{"field": "login_id"}' - code: login_id_is_too_long category: login_id message: login_id can not be longer than 50 character(s) params: '{ "maxlength" => 50 }' - code: locale_is_too_short category: locale message: locale can not be shorter than 2 character(s) params: '{ "minlength" => 2 }' - code: locale_is_too_long category: locale message: locale can not be longer than 5 character(s) params: '{ "maxlength" => 5 }' - code: timezone_is_too_short category: timezone message: timezone can not be shorter than 7 character(s) params: '{ "minlength" => 7 }' - code: timezone_is_too_long category: timezone message: timezone can not be longer than 35 character(s) params: '{ "maxlength" => 35 }' - code: status_not_in_range category: status message: 'status should be in range: enabled, not_enabled.' params: '' - code: date_of_birth_type_is_wrong category: date_of_birth message: date_of_birth should be of date type. params: '{ "type" => "date" }' - code: date_of_birth_is_required category: date_of_birth message: >- Date of Birth is a required field. Please provide date of birth (YYYY-MM-DD) params: '' schema: $ref: '#/definitions/CreateContactError' headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. '404': description: Resource not found. headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: >- Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. /contacts/generate_hmac_key: post: tags: - Contacts x-api-group: manage summary: Generate HMAC Key for Contact description: >- Generates a new account HMAC key for the current contact. operationId: GenrateHMACKey consumes: - multipart/form-data produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 responses: '200': description: Success. schema: $ref: '#/definitions/HMACKey' headers: X-Request-Id: type: string description: A unique reference for the request. '400': description: Client error. x-errors: - code: generate_hmac_key_wrong_brand category: base message: HMAC key can't be generated for that brand params: '' - code: generate_hmac_key_brand_not_configured category: base message: >- Brand #{brand} should be configured first params: '' schema: $ref: '#/definitions/GenrateHMACKeyError' headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. '403': description: Forbidden. x-errors: - code: permission_denied message: Permission denied params: '' schema: $ref: '#/definitions/ForbiddenError' headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: >- Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. /conversions/create: post: tags: - Conversions x-api-group: convert summary: Create Conversion description: 'Creates a new conversion. Returns the details of the created conversion on success.' operationId: CreateConversion consumes: - multipart/form-data produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 - name: buy_currency in: formData required: true type: string description: Three-character ISO code for currency purchased. format: iso-4217 pattern: ^[A-Z]{3}$ - name: sell_currency in: formData required: true type: string description: Three-character ISO code for currency sold. format: iso-4217 pattern: ^[A-Z]{3}$ - name: fixed_side in: formData required: true type: string enum: - buy - sell description: Fix the buy or sell currency. - name: amount in: formData required: true type: string description: Amount of the fixed buy or sell currency. pattern: ^\d+(\.\d{1,3})?$ - name: term_agreement in: formData required: true type: boolean enum: - true - false description: Indicates agreement to terms and conditions. - name: conversion_date in: formData required: false type: string format: date description: Earliest delivery date in UTC time zone. Format YYYY-MM-DD. - name: client_buy_amount in: formData required: false type: string description: Client buy amount. pattern: ^\d+(\.\d{1,2})?$ - name: client_sell_amount in: formData required: false type: string description: Client sell amount. pattern: ^\d+(\.\d{1,2})?$ - name: reason in: formData required: false type: string description: User-generated reason for conversion - freeform text. minLength: 1 maxLength: 255 - name: unique_request_id in: formData required: false type: string description: User-generated idempotency key. Beneficial for request tracking / management. minLength: 1 maxLength: 255 - name: on_behalf_of in: formData required: false type: string description: A contact UUID for the sub-account you're acting on behalf of. format: uuid - name: conversion_date_preference in: formData required: false type: string enum: - default - earliest - next_day - optimize_liquidity description: >- Available and required only if conversion_date is not provided.
Must be one of the following:
- 'earliest' for earliest available conversion date. Make sure there is sufficient time to send funds to Currencycloud.
- 'next_day' for next day available conversion date - T+1.
- 'default' for conversion - T+1 for APAC restricted currencies, T+2 for all others.
- 'optimize_liquidity' for maximizing chances of getting a successful rate. Most relevant for exotic pairs. Conversion is T+0 for APAC restricted currencies, and T+1 or T+2 for all others. responses: '200': description: Success. schema: $ref: '#/definitions/Conversion' headers: X-Request-Id: type: string description: A unique reference for the request. '400': description: Client error. x-errors: - code: invalid_extra_parameters category: base message: Invalid extra parameters params: '{ "parameters" => { "extra_param" => "extra_value" } }' - code: buy_currency_is_in_invalid_format category: buy_currency message: buy_currency is not a valid ISO 4217 currency code params: '{ "type" => "currency" }' - code: buy_currency_is_required category: buy_currency message: buy_currency is required params: '' - code: invalid_buy_currency category: buy_currency message: buy_currency is invalid params: '' - code: sell_currency_is_required category: sell_currency message: sell_currency is required params: '' - code: sell_currency_is_in_invalid_format category: sell_currency message: sell_currency is not a valid ISO 4217 currency code params: '{ "type" => "currency" }' - code: invalid_sell_currency category: sell_currency message: sell_currency is invalid params: '' - code: amount_is_required category: amount message: amount is required params: '' - code: conversion_above_limit category: amount message: >- Conversion of ${currency} equivalent ${amount} exceeds your limit of ${limit_amount} - code: conversion_below_limit category: amount message: >- Conversion of ${currency} equivalent ${amount} is less than your lower limit of ${limit_amount} - code: amount_type_is_wrong category: amount message: amount should be of numeric type params: '{ "type" => "numeric" }' - code: reason_is_required category: reason message: reason is required params: '' - code: reason_is_too_short category: reason message: reason can not be shorter than 1 character(s) params: '{ "minlength" => 1 }' - code: client_rate_is_in_invalid_format category: client_rate message: client_rate should be of numeric type with 4 dp params: '{ "type" => "numeric_with_precision", "precision" => 4 }' - code: invalid_client_rate category: client_rate message: client_rate is invalid params: '{ "client_rate" => "1.455543..1.778997" }' - code: currency_pair_not_available_for_weekend category: currency_pair_not_available_for_weekend message: Currency pair is not available for weekend params: '' - code: client_rate_is_required category: client_rate message: The client_rate is required if you supply currency_pair params: '' - code: fixed_side_is_required category: fixed_side message: fixed_side is required params: '' - code: fixed_side_not_in_range category: fixed_side message: 'fixed_side should be in range: buy, sell' params: '{ "range" => "buy, sell" }' - code: term_agreement_is_required category: term_agreement message: term_agreement is required params: '' - code: term_agreement_type_is_wrong category: term_agreement message: term_agreement should be of boolean type params: '{ "type" => "boolean" }' - code: conversion_create_failed category: conversion_create_failed message: Conversion create failed params: '' - code: currency_pair_is_in_invalid_format category: currency_pair message: currency_pair is not a valid ISO 4217 currency code params: '{ "type" => "currency_pair" }' - code: invalid_currency_pair category: invalid_currency_pair message: >- The currency_pair should be the real market pair of the buy_currency and sell_currency params: '' - code: on_behalf_of_self category: on_behalf_of message: You cannot act on behalf of your own Contact params: '' - code: contact_not_found category: on_behalf_of message: Contact was not found for this id params: '' - code: on_behalf_of_is_not_valid_uuid category: on_behalf_of message: on_behalf_of should be in UUID format params: '' - code: on_behalf_of_is_required category: on_behalf_of message: >- You should do this conversion on behalf of someone if you supply client_rate params: '' - code: currency_pair_is_required category: currency_pair_is_required message: The currency_pair is required if you supply client_rate params: '' - code: variable_value_dates_not_permitted category: variable_value_dates_not_permitted message: >- Sorry - you are not currently setup to trade with variable value dates, please contact us on the phone if you want to change this or wish to trade now on the phone. params: '' - code: client_buy_amount_is_in_invalid_format category: client_buy_amount message: client_buy_amount should be of numeric type with 2 dp params: '{ "type" => "client_buy_amount" }' - code: client_sell_amount_is_in_invalid_format category: client_sell_amount message: client_sell_amount should be of numeric type with 2 dp params: '{ "type" => "client_sell_amount" }' - code: cannot_fix_client_sell_on_fixed_sell_side category: cannot_fix_client_sell_on_fixed_sell_side message: >- You cannot specify a fixed client_sell_amount when the fixed side for a conversion is the sell side params: '{ "type" => "client_sell_amount" }' - code: client_buy_amount_exceeds_partner_buy_amount category: client_buy_amount_exceeds_partner_buy_amount message: >- The client buy amount specified is greater than the amount that you would be buying and is thus invalid params: '{ "type" => "client_buy_amount" }' - code: partner_sell_amount_exceeds_client_sell_amount category: partner_sell_amount_exceeds_client_sell_amount message: >- The client sell amount specified is less than the amount that you would be selling and is thus invalid params: '{ "type" => "client_sell_amount" }' - code: missing_partner_spread_table_data category: missing_partner_spread_table_data message: >- Sorry, the online partner pricing for the amount of the currency pair you are trying to trade has not been set up params: '' - code: missing_client_spread_table_data category: missing_client_spread_table_data message: >- Sorry, the online client pricing for the amount of the currency pair you are trying to trade has not been set up params: '' - code: fixed_amounts_not_permitted_for_this_user category: fixed_amounts_not_permitted_for_this_user message: >- You are not permitted to specify a fixed client_buy_amount or client_sell_amount for this customer params: '' - code: invalid_client_rate_combination category: invalid_client_rate_combination message: >- You cannot specify a client rate and client currency pair alongside a client buy amount or client sell amount params: '' - code: duplicate_request category: duplicate_request message: >- The unique_request_id provided for this conversion has already been used, please provide a new unique_request_id to successfully submit this conversion params: '' - code: invalid_conversion_date_combination category: base message: conversion_date_preference can not be specified along side a date parameter params: '' - code: invalid_conversion_date_preference category: base message: not a valid conversion date preference, possible options are earliest, optimize_liquidity, default, next_day params: '' schema: $ref: '#/definitions/CreateConversionError' headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. '404': description: Resource not found. headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: >- Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. '/conversions/{id}': get: tags: - Conversions x-api-group: convert summary: Get Conversion description: Gets a conversion record for the provided unique ID. operationId: GetConversion produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 - name: id in: path required: true type: string description: Conversion UUID, this is returned by a successful trade request when creating a conversion. format: uuid - name: on_behalf_of in: query required: false type: string description: A contact UUID for the sub-account you're acting on behalf of. format: uuid responses: '200': description: Success. schema: $ref: '#/definitions/Conversion' headers: X-Request-Id: type: string description: A unique reference for the request. '400': description: Client error. x-errors: - code: id_is_not_valid_uuid category: id message: id should be in UUID format params: '' - code: on_behalf_of_self category: on_behalf_of message: You cannot act on behalf of your own Contact params: '' - code: contact_not_found category: on_behalf_of message: Contact was not found for this id params: '' schema: $ref: '#/definitions/GetConversionError' headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. '404': description: Resource not found. schema: $ref: '#/definitions/NotFoundError' headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: >- Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. /conversions/find: get: tags: - Conversions x-api-group: convert summary: Find Conversions description: Finds conversions based on search parameters. If no search parameters are provided, all conversions under the house account are returned. operationId: FindConversions produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 - name: on_behalf_of in: query required: false type: string description: A contact UUID for the sub-account you're acting on behalf of. format: uuid - name: short_reference in: query required: false type: string description: Short reference code. minLength: 1 maxLength: 25 - name: status in: query required: false type: string enum: - awaiting_funds - closed - funds_arrived - funds_sent - trade_settled description: Conversion status. - name: buy_currency in: query required: false type: string description: The currency purchased- three character ISO code. format: iso-4217 pattern: ^[A-Z]{3}$ - name: sell_currency in: query required: false type: string description: The currency sold - three character ISO code. format: iso-4217 pattern: ^[A-Z]{3}$ - name: 'conversion_ids[]' in: query required: false type: array items: type: string description: One or more conversion UUIDs to filter out of results. format: uuid - name: created_at_from in: query required: false type: string description: 'Any valid ISO 8601 format, e.g. "2023-12-31T23:59:59+00:00".' format: date - name: created_at_to in: query required: false type: string description: 'Any valid ISO 8601 format, e.g. "2023-12-31T23:59:59+00:00".' format: date - name: updated_at_from in: query required: false type: string description: 'Any valid ISO 8601 format, e.g. "2023-12-31T23:59:59+00:00".' format: date - name: updated_at_to in: query required: false type: string description: 'Any valid ISO 8601 format, e.g. "2023-12-31T23:59:59+00:00".' format: date - name: conversion_date_from in: query required: false type: string description: 'Any valid ISO 8601 format, e.g. "2023-12-31T23:59:59+00:00".' format: date - name: conversion_date_to in: query required: false type: string description: 'Any valid ISO 8601 format, e.g. "2023-12-31T23:59:59+00:00".' format: date - name: currency_pair in: query required: false type: string description: 'Concatenated string of the two currencies traded, e.g. "USDEUR".' pattern: ^[A-Z]{6}$ - name: partner_buy_amount_from in: query required: false type: string description: Minimum buy amount (sub-accounts). pattern: ^\d+(\.\d{1,3})?$ - name: partner_buy_amount_to in: query required: false type: string description: Maximum buy amount (sub-accounts). pattern: ^\d+(\.\d{1,3})?$ - name: partner_sell_amount_from in: query required: false type: string description: Minimum sell amount (sub-accounts). pattern: ^\d+(\.\d{1,3})?$ - name: partner_sell_amount_to in: query required: false type: string description: Maximum sell amount (sub-accounts). pattern: ^\d+(\.\d{1,3})?$ - name: buy_amount_from in: query required: false type: string description: Minimum buy amount. pattern: ^\d+(\.\d{1,3})?$ - name: buy_amount_to in: query required: false type: string description: Maximum buy amount. pattern: ^\d+(\.\d{1,3})?$ - name: sell_amount_from in: query required: false type: string description: Minimum sell amount. pattern: ^\d+(\.\d{1,3})?$ - name: sell_amount_to in: query required: false type: string description: Maximum sell amount. pattern: ^\d+(\.\d{1,3})?$ - name: scope in: query required: false type: string enum: - all - clients - own default: own description: '"Own" account, "clients" sub-accounts, or "all" accounts.' - name: settlement_date_from in: query required: false type: string description: >- Earliest date when sold currency debited. Any valid ISO 8601 format, e.g. "2023-12-31T23:59:59+00:00". format: date - name: settlement_date_to in: query required: false type: string description: >- Latest date when sold currency debited. Any valid ISO 8601 format, e.g. "2023-12-31T23:59:59+00:00". format: date - name: unique_request_id in: query required: false type: string description: User-generated idempotency key. minLength: 1 maxLength: 255 - name: page in: query required: false type: integer description: Page number. pattern: ^\d+$ - name: per_page in: query required: false type: integer description: Number of results per page. pattern: ^\d+$ - name: order in: query required: false type: string description: Any field name to change the sort order. minLength: 1 maxLength: 255 - name: order_asc_desc in: query required: false type: string enum: - asc - desc default: asc description: Sort records in ascending or descending order. responses: '200': description: Success. schema: type: object properties: conversions: type: array items: $ref: '#/definitions/Conversion' pagination: $ref: '#/definitions/Pagination' headers: X-Request-Id: type: string description: A unique reference for the request. '400': description: Client error. x-errors: - code: on_behalf_of_self category: on_behalf_of message: You cannot act on behalf of your own Contact params: '' - code: contact_not_found category: on_behalf_of message: Contact was not found for this id params: '' schema: $ref: '#/definitions/FindConversionsError' headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. '404': description: Resource not found. headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: >- Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. '/conversions/{id}/cancellation_quote': get: tags: - Conversions x-api-group: convert summary: Quote Conversion Cancellation description: >- Gets a quote of the projected cost to cancel a conversion identified by a provided unique ID {id}. operationId: ConversionCancellationQuote produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 - name: id in: path required: true type: string description: Conversion UUID, this is returned by a successful trade request when creating a conversion. format: uuid responses: '200': description: Success. schema: $ref: '#/definitions/ConversionCancellationQuote' headers: X-Request-Id: type: string description: A unique reference for the request. '400': description: Client error. x-errors: - code: id_is_not_valid_uuid category: id message: id should be in UUID format params: '' - code: on_behalf_of_self category: on_behalf_of message: You cannot act on behalf of your own Contact params: '' - code: contact_not_found category: on_behalf_of message: Contact was not found for this id params: '' schema: $ref: '#/definitions/GetConversionError' headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. '404': description: Resource not found. schema: $ref: '#/definitions/NotFoundError' headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: >- Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. /conversions/{id}/cancel: post: tags: - Conversions x-api-group: convert summary: Cancel a Conversion description: 'Cancels the conversion identified by the provided unique ID {id}.' operationId: CancelConversion consumes: - multipart/form-data produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 - name: id in: path required: true type: string description: UUID of the conversion that is being cancelled. The UUID is returned by a successful trade request when creating a conversion. format: uuid - name: notes required: false type: string in: formData description: Notes describing the reason for cancellation. minLength: 1 maxLength: 255 responses: '200': description: Success. schema: $ref: '#/definitions/ConversionProfitAndLoss' headers: X-Request-Id: type: string description: A unique reference for the request. '400': description: Client error. x-errors: - code: id_is_not_valid_uuid category: id message: id should be in UUID format params: '' - code: on_behalf_of_self category: on_behalf_of message: You cannot act on behalf of your own Contact params: '' - code: contact_not_found category: on_behalf_of message: Contact was not found for this id params: '' - code: invalid_extra_parameters category: base message: Invalid extra parameters extra_parameter params: '{ "parameters" => "extra_parameter" }' schema: $ref: '#/definitions/GetConversionError' headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. '404': description: Resource not found. headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: >- Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. '/conversions/{id}/date_change_quote': get: tags: - Conversions x-api-group: convert summary: Quote Conversion Date Change description: >- Gets a quote of the projected cost to change the date of a conversion identified by a provided unique ID {id}. operationId: ConversionDateChangeQuote produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 - name: id in: path required: true type: string description: Conversion UUID, this is returned by a successful trade request when creating a conversion. format: uuid - name: new_settlement_date in: query required: true type: string description: Desired new settlement date of conversion, format YYYY-MM-DD. format: date responses: '200': description: Success. schema: $ref: '#/definitions/ConversionDateChange' headers: X-Request-Id: type: string description: A unique reference for the request. '400': description: Client error. x-errors: - code: id_is_not_valid_uuid category: id message: id should be in UUID format params: '' - code: on_behalf_of_self category: on_behalf_of message: You cannot act on behalf of your own Contacts params: '' - code: contact_not_found category: contact_id message: Contact was not found for this id params: '' schema: $ref: '#/definitions/GetConversionError' headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. '404': description: Resource not found. schema: $ref: '#/definitions/NotFoundError' headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: >- Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. /conversions/{id}/date_change: post: tags: - Conversions x-api-group: convert summary: Conversion Date Change description: >- Changes the date of the conversion identified by the provided unique ID {id}. operationId: ConversionDateChange consumes: - multipart/form-data produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 - name: id in: path required: true type: string description: The UUID of the conversion that is being changed. format: uuid - name: new_settlement_date required: true type: string in: formData description: New conversion settlement date, format YYYY-MM-DD. format: date responses: '200': description: Success. schema: $ref: '#/definitions/ConversionDateChange' headers: X-Request-Id: type: string description: A unique reference for the request. '400': description: Client error. x-errors: - code: id_is_not_valid_uuid category: id message: id should be in UUID format params: '' - code: on_behalf_of_self category: on_behalf_of message: You cannot act on behalf of your own Contact params: '' - code: contact_not_found category: on_behalf_of message: Contact was not found for this id params: '' - code: invalid_extra_parameters category: base message: Invalid extra parameters extra_parameter params: '{ "parameters" => "extra_parameter" }' - code: new_settlement_date_invalid_in_past category: new_settlement_date message: New settlement date has to be today or greater than today's date params: '' - code: new_settlement_date_invalid category: new_settlement_date message: >- Invalid new settlement date, next valid date time is - YYYY-MM-DDT15:30:00Z params: '' schema: $ref: '#/definitions/GetConversionError' headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. '404': description: Resource not found. headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: >- Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. /conversions/profit_and_loss: get: tags: - Conversions x-api-group: convert summary: Retrieve Profit / Loss description: >- Returns the information of any actions related to a conversion that have generated profit or loss, including the profit or loss amount. operationId: ConversionProfitAndLoss produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 - name: account_id in: query required: false type: string description: UUID of the Account that the Conversion belongs to. format: uuid - name: contact_id in: query required: false type: string description: UUID of the Contact that performed the action. format: uuid - name: conversion_id in: query required: false type: string description: UUID of the conversion. format: uuid - name: event_type in: query required: false type: string description: 'Event type, in this case ''self_service_cancellation''.' - name: event_date_time_from in: query required: false type: string description: >- Allows you to return profit and losses that will be made from on or after a defined date/time. ISO 8601 standard. format: date-time - name: event_date_time_to in: query required: false type: string description: >- Allows you to return profit and losses that will be made from on or before a defined date/time. ISO 8601 standard. format: date-time - name: amount_from in: query required: false type: string description: >- Allows you to return profit and losses based on a minimum profit or loss amount. pattern: ^\d+(\.\d{1,3})?$ - name: amount_to in: query required: false type: string description: >- Allows you to return profit and losses based on a maximum profit or loss amount. pattern: ^\d+(\.\d{1,3})?$ - name: currency in: query required: false type: string description: The currency of the profit and loss. ISO 4217 standard. format: iso-4217 pattern: ^[A-Z]{3}$ - name: scope in: query required: false type: string description: >- Scope allows contacts to search all profit and losses at all account levels. Defaults to own.
'own' - search profit and losses on the main account
'clients' - search profit and losses of account sub-accounts
'all' - search profit and losses of main account and sub-accounts. enum: - all - client - own - name: page in: query required: false type: string description: Returns a specific page within the results of a search. pattern: ^\d+$ - name: per_page in: query required: false type: string description: Maximum number of entries to return per page of results. pattern: ^\d+$ - name: order in: query required: false type: string description: The field to order entries by. minLength: 1 maxLength: 255 - name: order_asc_desc in: query required: false type: string description: Whether the order is ascending (asc) or descending (desc). enum: - asc - desc responses: '200': description: Success. schema: type: object properties: conversion_profit_and_losses: type: array items: $ref: '#/definitions/ConversionProfitAndLoss' pagination: $ref: '#/definitions/Pagination' '400': description: Client error. x-errors: - code: id_is_not_valid_uuid category: id message: id should be in UUID format params: '' - code: on_behalf_of_self category: on_behalf_of message: You cannot act on behalf of your own Contact params: '' - code: contact_not_found category: on_behalf_of message: Contact was not found for this id params: '' - code: invalid_extra_parameters category: base message: Invalid extra parameters extra_parameter params: '{ "parameters" => "extra_parameter" }' schema: $ref: '#/definitions/GetConversionError' headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. '404': description: Resource not found. headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: >- Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. '/conversions/{id}/split_preview': get: tags: - Conversions x-api-group: convert summary: Split Preview description: Gets a preview of the details of each part of a split conversion specified by the provided unique conversion ID {id}. operationId: GetConversionSplitPreview produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 - name: id in: path required: true type: string description: The UUID of the conversion to be split, the UUID is returned by a successful trade request when creating a conversion. format: uuid - name: amount required: true type: string in: formData description: The amount at which to split this conversion. pattern: ^\d+(\.\d{1,3})?$ responses: '200': description: Success. schema: $ref: '#/definitions/ConversionSplit' headers: X-Request-Id: type: string description: A unique reference for the request. '400': description: Client error. x-errors: - code: id_is_not_valid_uuid category: id message: id should be in UUID format params: '' - code: amount_is_required category: amount message: amount is required params: '' - code: amount_type_is_wrong category: amount message: amount should be of numeric type params: '' - code: amount_is_too_small category: amount message: amount can not be smaller than 1 params: '' - code: parent_market_buy_amount_less_than_1 category: buy_amount message: Remaining parent market buy amount cannot be less than 1 params: '' - code: child_market_buy_amount_less_than_1 category: buy_amount message: Remaining child market buy amount cannot be less than 1. params: '' - code: parent_market_sell_amount_less_than_1 category: sell_amount message: Remaining parent market sell amount cannot be less than 1 params: '' - code: child_market_sell_amount_less_than_1 category: sell_amount message: Remaining child market sell amount cannot be less than 1. params: '' - code: split_amount_below_deposit_amount category: amount message: Remaining amount cannot be less than the original trade's deposit. params: '' - code: split_amount_exceeds_unallocated_funds category: amount message: Trade split amount cannot exceed unallocated funds if multiple payments attached. params: '' - code: conversion_status_is_incorrect category: status message: Trade must still be awaiting funds params: '' - code: split_amount_precision category: amount message: Amount precision is too low for currency GBP params: '' schema: $ref: '#/definitions/GetConversionError' headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. '403': description: Forbidden. x-errors: - code: permission_denied message: You do not have permission 'split_conversion' to perform this operation params: '' schema: $ref: '#/definitions/ForbiddenError' headers: X-Request-Id: type: string description: A unique reference for the request. '404': description: Resource not found. x-errors: - code: conversion_not_found category: id message: Conversion was not found for this id params: '' schema: $ref: '#/definitions/NotFoundError' headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: >- Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. /conversions/{id}/split: post: tags: - Conversions x-api-group: convert summary: Conversion Split description: Splits the conversion specified by the unique ID {id}. Upon success, it returns the details of the parent and new child conversions. operationId: SplitConversion consumes: - multipart/form-data produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 - name: id in: path required: true type: string description: UUID of the conversion that is being split. The conversion UUID is returned by a successful trade request when creating a conversion." format: uuid - name: amount required: true type: string in: formData description: The amount at which to split this conversion. pattern: ^\d+(\.\d{1,3})?$ responses: '200': description: Success. schema: $ref: '#/definitions/ConversionSplit' headers: X-Request-Id: type: string description: A unique reference for the request. '400': description: Client error. x-errors: - code: id_is_not_valid_uuid category: id message: id should be in UUID format params: '' - code: on_behalf_of_self category: on_behalf_of message: You cannot act on behalf of your own Contact params: '' - code: contact_not_found category: on_behalf_of message: Contact was not found for this id params: '' - code: invalid_extra_parameters category: base message: Invalid extra parameters extra_parameter params: '{ "parameters" => "extra_parameter" }' schema: $ref: '#/definitions/GetConversionError' headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. '403': description: Forbidden. x-errors: - code: permission_denied message: You do not have permission 'split_conversion' to perform this operation params: '' schema: $ref: '#/definitions/ForbiddenError' headers: X-Request-Id: type: string description: A unique reference for the request. '404': description: Resource not found. headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: >- Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. '/conversions/{id}/split_history': get: tags: - Conversions x-api-group: convert summary: Conversion Split History description: Returns the history of executed conversion splits, specified by a unique conversion ID {id}. operationId: GetConversionSplitHistory produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 - name: id in: path required: true type: string description: Conversion UUID - the UUID is returned by a successful trade request when creating a conversion. format: uuid responses: '200': description: Success. schema: $ref: '#/definitions/ConversionSplitHistory' headers: X-Request-Id: type: string description: A unique reference for the request. '400': description: Client error. x-errors: - code: id_is_not_valid_uuid category: id message: id should be in UUID format params: '' - code: invalid_extra_parameters category: on_behalf_of message: Invalid extra parameters extra_parameter params: '{ "parameters" => "extra_parameter" }' schema: $ref: '#/definitions/GetConversionError' headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. '403': description: Forbidden. x-errors: - code: permission_denied message: You do not have permission 'split_conversion' to perform this operation params: '' schema: $ref: '#/definitions/ForbiddenError' headers: X-Request-Id: type: string description: A unique reference for the request. '404': description: Resource not found. x-errors: - code: conversion_not_found message: Conversion was not found for this id params: '' schema: $ref: '#/definitions/NotFoundError' headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: >- Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. /funding_accounts/find: get: tags: - Funding x-api-group: collect summary: Find Funding Accounts description: >- Gets details of the Standard Settlement Instructions (SSIs) that can be used to settle and collect funds in each available currency. operationId: FindFundingAccounts produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 - name: payment_type in: query required: false type: string description: >- The type of SSI to be returned, priority (Swift) or regular (local). A null value returns all payment types. enum: - priority - regular - name: currency in: query required: true type: string description: The currency of the account details required, ISO 4217 standard. format: iso-4217 pattern: ^[A-Z]{3}$ - name: account_id in: query required: false type: string description: UUID of a specific sub-account you want to see the SSIs for. format: uuid - name: on_behalf_of in: query required: false type: string description: A contact UUID for the sub-account you're acting on behalf of. format: uuid - name: page in: query required: false type: integer description: Page number pattern: ^\d+$ - name: per_page in: query required: false type: integer description: Number of results per page. pattern: ^\d+$ - name: order in: query required: false type: string description: Any field name to change the sort order. minLength: 1 maxLength: 255 - name: order_asc_desc in: query required: false type: string enum: - asc - desc default: asc description: Sort records in ascending or descending order. responses: '200': description: Success. schema: type: object properties: funding_accounts: type: array items: $ref: '#/definitions/FundingAccount' pagination: $ref: '#/definitions/Pagination' headers: X-Request-Id: type: string description: A unique reference for the request. '400': description: Client error. x-errors: - code: payment_type_not_in_range category: payment_type message: 'payment_type should be in range: priority, regular' params: '{ "range" => "priority, regular" }' - code: currency_is_required category: currency message: currency is required params: '' - code: currency_is_in_invalid_format category: currency message: currency is not a valid ISO 4217 currency code params: '{ "type" => "currency" }' - code: currency_is_not_supported category: currency message: currency is not supported params: '' - code: funding_accounts_not_found category: funding_accounts message: No funding accounts found for this account params: '' - code: account_id_is_not_valid_uuid category: account_id message: account_id should be in UUID format params: '' - code: on_behalf_of_self category: on_behalf_of message: You cannot act on behalf of your own Contact params: '' - code: on_behalf_of_is_not_valid_uuid category: on_behalf_of message: on_behalf_of should be in UUID format params: '' schema: $ref: '#/definitions/FindFundingAccountsError' headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. '404': description: Resource not found. x-errors: - code: account_not_found category: account message: Account was not found for this id params: '' - code: contact_not_found category: contact message: Contact was not found for this id params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: >- Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable. x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. /funding_transactions/{id}: get: tags: - Funding x-api-group: collect summary: Get Funding Transaction description: >2- Gets the details of an approved funding transaction with the given ID. operationId: GetFundingTransaction produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 - name: id in: path required: true type: string description: The Related Entity UUID (related_entity_id) for the transaction. format: uuid - name: on_behalf_of in: query required: false type: string description: A contact UUID for the sub-account you're acting on behalf of. format: uuid responses: '200': description: Success schema: $ref: '#/definitions/FundingTransaction' headers: X-Request-Id: type: string description: A unique reference for the request. '400': description: Client error. x-errors: - code: id_is_not_valid_uuid category: id message: id should be in UUID format params: '' - code: on_behalf_of_self category: contact message: You cannot act on behalf of your own Contact params: '' schema: $ref: '#/definitions/GetFundingTransactionError' headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. '404': description: Transaction not found. x-errors: - code: transaction_not_found category: id message: Transaction not found params: '' schema: $ref: '#/definitions/NotFoundError' headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: >- Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable. x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. /payments/create: post: tags: - Payments x-api-group: pay summary: Create Payment description: Submits a payment. On success, returns the new payment record. Use the Get Payer Requirements endpoint to find out what payer information needs to be provided.

Clients who are implementing Strong Customer Authentication (SCA) for payments should refer to our integration guide. operationId: CreatePayment consumes: - multipart/form-data produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 - name: x-sca-id in: header required: false type: string description: >- UUID to correlate to the SCA request generated when Validate Payment was called. format: uuid - name: x-sca-token in: header required: false type: string description: >- The OTP received following the Validate Payment request when SCA was required. pattern: ^\d{6}$ - name: currency in: formData required: true type: string description: Currency in which payment is made. Three-letter ISO currency code. format: iso-4217 pattern: ^[A-Z]{3}$ - name: beneficiary_id in: formData required: true type: string description: Beneficiary UUID format: uuid - name: amount in: formData required: true type: string description: Amount pattern: ^\d+(\.\d{1,3})?$ - name: reason in: formData required: true type: string description: User-generated reason for payment - freeform text. minLength: 1 maxLength: 255 - name: reference in: formData required: true type: string description: User-generated reference code. minLength: 1 maxLength: 255 - name: unique_request_id in: formData required: true type: string description: User-generated idempotency key. minLength: 1 maxLength: 255 - name: payment_date in: formData required: false type: string description: >- Instructed date of payment - on this date we will attempt to debit funds on the account and submit the payment to the scheme. If the payment cannot be submitted before the cut-off (i.e. due to lack of funding), we will re-attempt on the next working day. Defaults to the earliest possible date if not passed as parameter. Any valid ISO 8601 format, e.g. "2023-12-31. format: date - name: payment_type in: formData required: false type: string enum: - priority - regular description: >- Currencycloud supports two types of payments: "priority", made using the Swift network; and "regular", made using the local bank network. - name: conversion_id in: formData required: false type: string description: Conversion UUID format: uuid - name: payer_entity_type in: formData required: false type: string enum: - company - individual description: Legal entity - name: payer_company_name in: formData required: false type: string description: Required if "payer_entity_type" is "company". minLength: 1 maxLength: 255 - name: payer_first_name in: formData required: false type: string description: Required if "payer_entity_type" is "individual". minLength: 1 maxLength: 255 - name: payer_last_name in: formData required: false type: string description: Required if "payer_entity_type" is "individual". Cannot contain any numbers or company signifiers. minLength: 1 maxLength: 255 - name: payer_city in: formData required: false type: string description: City name, should not consist of only numbers. minLength: 1 maxLength: 255 - name: payer_address in: formData required: false type: string description: First line of address. minLength: 1 maxLength: 255 - name: payer_postcode in: formData required: false type: string description: Postal code minLength: 1 maxLength: 255 - name: payer_state_or_province in: formData required: false type: string description: State or province. minLength: 1 maxLength: 255 - name: payer_country in: formData required: false type: string description: Two-letter ISO country code. format: iso3166-1-alpha-2 pattern: ^[A-Z]{2}$ - name: payer_date_of_birth in: formData required: false type: string description: >- If "payer_entity_type" is "company", this is the company registration date. If "payer_entity_type" is "individual", this is date of birth. ISO 8601 format YYYY-MM-DD. format: date - name: payer_identification_type in: formData required: false type: string enum: - citizenship_papers - credential_de_elector - drivers_license - drivers_license_canadian - employer_identification_number - existing_credit_card_details - green_card - incorporation_number - matricula_consular - national_id - none - others - passport - registro_federal_de_contribuyentes - social_insurance_number - social_security_number - visa description: >- A legal document that verifies the identity of the payer. Required documentation will vary depending on the nationality or registered address of the payer. - name: payer_identification_value in: formData required: false type: string description: >- A unique reference code for the identification document, such as a passport number. minLength: 1 maxLength: 255 - name: ultimate_beneficiary_name in: formData required: false type: string description: The name of the ultimate beneficiary if different. minLength: 1 maxLength: 255 - name: purpose_code in: formData required: false type: string description: >- Payment Purpose Code (Mandatory for all local INR and MYR payments, Swift CNY payments, and Swift payments in any currency to banks in Bahrain or the United Arab Emirates). minLength: 1 maxLength: 255 - name: on_behalf_of in: formData required: false type: string description: >- A contact UUID for the sub-account you're acting on behalf of. Payer details parameters should not be sent if using on_behalf_of, they will be populated using the details from the sub-account. format: uuid - name: charge_type in: formData required: false type: string enum: - ours - shared description: >- Payment Charges Setting value (only applicable to Swift payments). If this is left empty, the account's default value is used. Do not specify for regular (local) payments. - name: fee_amount in: formData required: false type: string description: Fee amount pattern: ^\d+(\.\d{1,3})?$ - name: fee_currency in: formData required: false type: string description: Currency fee is paid in. format: iso-4217 pattern: ^[A-Z]{3}$ - name: invoice_number in: formData required: false type: string description: The invoice number related to the payment. Necessary when making business-related INR payments, check our support article to see if this applies to your purpose code. Can be up to 30 characters. Mandatory if supplying `invoice_date`. pattern: ^[a-zA-Z0-9]{1,30}$ - name: invoice_date in: formData required: false type: string description: The date of the invoice related to the payment. Necessary when making business-related INR payments, check our support article to see if this applies to your purpose code. ISO 8601 format YYYY-MM-DD. Mandatory if supplying `invoice_number`. format: date responses: '200': description: Success. schema: $ref: '#/definitions/Payment' headers: X-Request-Id: type: string description: A unique reference for the request. '400': description: Client error. x-errors: - code: invalid_type category: type message: Invalid Payment type params: '' - code: currency_length_is_invalid category: currency message: currency should be 3 character(s) long params: '' - code: currency_is_required category: currency message: currency is required params: '' - code: invalid_currency category: currency message: You cannot make payments with this currency params: '' - code: beneficiary_id_is_not_valid_uuid category: beneficiary_id message: beneficiary_id should be in UUID format params: '' - code: beneficiary_id_is_required category: beneficiary_id message: beneficiary_id is required params: '' - code: beneficiary_date_of_birth_type_is_wrong category: beneficiary_date_of_birth message: beneficiary_date_of_birth should be of date type params: '{ "type" => "date" }' - code: beneficiary_date_of_birth_is_incorrect category: beneficiary_date_of_birth message: beneficiary_date_of_birth is incorrect params: '' - code: beneficiary_date_of_birth_is_earlier category: beneficiary_date_of_birth message: beneficiary_date_of_birth should be later params: '' - code: beneficiary_date_of_birth_is_after category: beneficiary_date_of_birth message: beneficiary_date_of_birth should be earlier params: '' - code: invalid_beneficiary_id category: beneficiary_id message: Unknown beneficiary_id params: '' - code: payment_above_limit category: amount message: >- ${amount} ${currency} exceeds the maximum amount of ${limit} ${currency} for a local payment params: '' - code: payer_entity_type_not_in_range category: payer_entity_type message: 'payer_entity_type should be in range: individual, company' params: '' - code: payer_entity_type_is_missing category: payer_entity_type message: Payer entity type is missing params: '' - code: payer_company_name_is_missing category: payer_company_name message: Payer company name is missing params: '' - code: payer_first_name_is_missing category: payer_first_name message: Payer first name is missing params: '' - code: payer_last_name_is_missing category: payer_last_name message: Payer last name is missing params: '' - code: payer_city_is_missing category: payer_city message: Payer city is missing params: '' - code: unsupported_payer_country_code category: payer_country_code message: Payer country is not supported params: '' - code: payer_state_or_province_is_missing category: payer_state_or_province message: Payer state or province is missing params: '' - code: payer_postcode_is_missing category: payer_postcode message: Payer postcode is missing params: '' - code: payer_date_of_birth_type_is_wrong category: payer_date_of_birth message: payer_date_of_birth should be of date type params: '{ "type" => "date" }' - code: payer_date_of_birth_is_incorrect category: payer_date_of_birth message: payer_date_of_birth is incorrect params: '' - code: payer_date_of_birth_is_earlier category: payer_date_of_birth message: payer_date_of_birth should be later params: '' - code: payer_date_of_birth_is_after category: payer_date_of_birth message: payer_date_of_birth should be earlier params: '' - code: identification_type_is_missing category: payer_identification_type message: identification_type is missing params: '' - code: identification_type_is_invalid category: payer_identification_type message: identification_type is invalid params: '' - code: identification_value_is_missing category: payer_identification_value message: identification_value is missing params: '' - code: identification_value_is_invalid category: payer_identification_value message: identification_value is invalid params: '' - code: invalid_conversion_id category: conversion_id message: Conversion could not be found params: '' - code: conversion_is_already_settled category: conversion_id message: The conversion is already settled params: '' - code: invalid_payment_date category: payment_date message: The payment date is invalid params: '' - code: payment_date_is_too_early category: payment_date message: The payment date cannot be sooner than the conversion date params: '' - code: reference_is_too_long category: reference message: reference can not be longer than 255 character(s) params: '' - code: charge_type_not_available category: charge_type message: Not available charge_type has been provided params: '{ "charge_type" => "shared, ours" }' - code: invalid_charge_type category: charge_type message: Invalid banking_charges supplied, must be in range [ours, shared] params: '' - code: on_behalf_of_self category: on_behalf_of message: You cannot act on behalf of your own Contact params: '' - code: contact_not_found category: on_behalf_of message: Contact was not found for this id params: '' - code: on_behalf_of_charge_type_not_available category: on_behalf_of message: Not available charge_type has been provided for on_behalf_of params: '{ "charge_type" => "shared, ours" }' - code: duplicate_request category: duplicate_request message: >- The unique_request_id provided for this payment has already been used, please provide a new unique_request_id to successfully submit this payment params: '' - code: fee_amount_type_is_wrong category: fee_amount message: fee_amount should be of numeric type params: '{ "type" => "numeric" }' - code: fee_currency_is_in_invalid_format category: fee_currency message: fee_currency is not a valid ISO 4217 currency code params: '{ "type" => "currency" }' - code: unsupported_beneficiary_country_code category: beneficiary_country_code message: Beneficiary country is not supported params: '' - code: unsupported_account category: account message: The account is currently not permitted to create payments. params: '' - code: invalid_extra_parameters category: base message: Invalid extra parameters extra_parameter params: '{ "parameters" => "extra_parameter" }' - code: invalid_fee_amount_format category: fee_amount message: "${FEE_CURRENCY} only supports up to ${CURRENCY_NUMBER_OF_DECIMAL_PLACES} decimal places" params: '' - code: payer_details_not_allowed category: payer_details message: "This account is not allowed to pass payer details" params: '' - code: unique_request_id_is_required category: unique_request_id_is_required message: "unique_request_id is required" params: '' - code: invoice_number_parameter_invalid category: invoice_number message: "Invoice number can only contain alphanumeric characters and must be 30 characters or less" - code: invoice_number_missing category: invoice_number message: "Invoice number is missing for provided invoice date $invoiceDate" - code: invalid_invoice_date category: invoice_date message: "Invoice date must follow YYYY-MM-DD format" - code: invoice_date_missing category: invoice_date message: "Invoice date is missing for provided invoice number $invoiceNumber" - code: incorrect_purpose_code category: purpose_code message: Purpose code is invalid schema: $ref: '#/definitions/CreatePaymentError' headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. '404': description: Resource not found. headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: >- Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. /payments/find: get: tags: - Payments x-api-group: pay summary: Find Payments description: Searches for payment records. operationId: FindPayments produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 - name: on_behalf_of in: query required: false type: string description: A contact UUID for the sub-account you're acting on behalf of. format: uuid - name: short_reference in: query required: false type: string description: Short reference code. minLength: 1 maxLength: 25 - name: currency in: query required: false type: string description: Currency in which payment was made. Three-letter ISO currency code. format: iso-4217 pattern: ^[A-Z]{3}$ - name: amount in: query required: false type: string description: Exact amount pattern: ^\d+(\.\d{1,3})?$ - name: amount_from in: query required: false type: string description: Minimum amount pattern: ^\d+(\.\d{1,3})?$ - name: amount_to in: query required: false type: string description: Maximum amount pattern: ^\d+(\.\d{1,3})?$ - name: status in: query required: false type: string enum: - awaiting_authorisation - authorised - completed - deleted - failed - new - ready_to_send - released - submitted - suspended description: Payment status - name: reason in: query required: false type: string description: User-generated reason for payment. Freeform text. minLength: 1 maxLength: 255 - name: payment_date_from in: query required: false type: string format: date description: >- Earliest instructed payment date. Any valid ISO 8601 format, e.g. "2023-12-31T23:59:59+00:00". - name: payment_date_to in: query required: false type: string format: date description: >- Latest instructed payment date. Any valid ISO 8601 format, e.g. "2023-12-31T23:59:59+00:00". - name: transferred_at_from in: query required: false type: string format: date-time description: >- Earliest date of payment processing. Any valid ISO 8601 format, e.g. "2023-12-31T23:59:59+00:00". - name: transferred_at_to in: query required: false type: string format: date-time description: >- Latest date of payment processing. Any valid ISO 8601 format, e.g. "2023-12-31T23:59:59+00:00". - name: created_at_from in: query required: false type: string format: date-time description: 'Any valid ISO 8601 format, e.g. "2023-12-31T23:59:59+00:00".' - name: created_at_to in: query required: false type: string format: date-time description: 'Any valid ISO 8601 format, e.g. "2023-12-31T23:59:59+00:00".' - name: updated_at_from in: query required: false type: string format: date-time description: 'Any valid ISO 8601 format, e.g. "2023-12-31T23:59:59+00:00".' - name: updated_at_to in: query required: false type: string format: date-time description: 'Any valid ISO 8601 format, e.g. "2023-12-31T23:59:59+00:00".' - name: beneficiary_id in: query required: false type: string description: Beneficiary UUID format: uuid - name: conversion_id in: query required: false type: string description: Conversion UUID format: uuid - name: with_deleted in: query required: false type: boolean default: false description: Include deleted payments. - name: payment_group_id in: query required: false type: string description: Payment group. minLength: 1 maxLength: 255 - name: unique_request_id in: query required: false type: string description: User-generated idempotency key. minLength: 1 maxLength: 255 - name: scope in: query required: false type: string enum: - all - clients - own default: own description: '"Own" account, "clients" sub-accounts, or "all" accounts.' - name: bulk_upload_id in: query required: false type: string description: Bulk upload reference code. minLength: 1 maxLength: 255 - name: page in: query required: false type: integer description: Page number pattern: ^\d+$ - name: per_page in: query required: false type: integer description: Number of results per page. pattern: ^\d+$ - name: order in: query required: false type: string description: Any field name to change the sort order. minLength: 1 maxLength: 255 - name: order_asc_desc in: query required: false type: string enum: - asc - desc default: asc description: Sort records in ascending or descending order. - name: charge_type in: query required: false type: string enum: - ours - shared description: >- Payment Charges Setting value (only applicable to Swift payments). Limits the search results to payments of the specified charge type. - name: review_status in: query required: false type: string enum: - in_review - passed - rejected description: Compliance review status. responses: '200': description: Success. schema: type: object properties: payments: type: array items: $ref: '#/definitions/Payment' pagination: $ref: '#/definitions/Pagination' headers: X-Request-Id: type: string description: A unique reference for the request. '400': description: Client error. x-errors: - code: invalid_currency category: id message: currency has invalid format params: '' - code: charge_type_not_available category: charge_type message: Not available charge_type has been provided params: '{ "charge_type" => "shared, ours" }' - code: invalid_charge_type category: charge_type message: Invalid banking_charges supplied, must be in range [ours, shared] params: '' - code: on_behalf_of_self category: on_behalf_of message: You cannot act on behalf of your own Contact params: '' - code: contact_not_found category: on_behalf_of message: Contact was not found for this id params: '' - code: on_behalf_of_charge_type_not_available category: on_behalf_of message: Not available charge_type has been provided for on_behalf_of params: '{ "charge_type" => "shared, ours" }' - code: status_not_in_range category: status message: >- status should be in range: new, ready_to_send, completed, failed, released, suspended, awaiting_authorisation, submitted, authorised, deleted" params: >- { "range" => "new, ready_to_send, completed, failed, released, suspended, awaiting_authorisation, submitted, authorised, deleted" } - code: review_status_not_in_range category: review_status message: "review_status should be in range: passed, in_review, rejected" params: '{ "range" => "passed, in_review, rejected" }' - code: invalid_extra_parameters category: base message: Invalid extra parameters extra_parameter params: '{ "parameters" => "extra_parameter" }' schema: $ref: '#/definitions/FindPaymentsError' headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. '404': description: Resource not found. headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: >- Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. '/payments/{id}': get: tags: - Payments x-api-group: pay summary: Get Payment description: Gets a payment record. operationId: GetPayment produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 - name: id in: path required: true type: string description: Payment UUID format: uuid - name: with_deleted in: query required: false type: boolean description: Include deleted payments. - name: on_behalf_of in: query required: false type: string description: A contact UUID for the sub-account you're acting on behalf of. format: uuid - name: review_status in: query required: false type: string enum: - in_review - passed - rejected description: Compliance review status. responses: '200': description: Success. schema: $ref: '#/definitions/Payment' headers: X-Request-Id: type: string description: A unique reference for the request. '400': description: Client error. x-errors: - code: invalid_id category: id message: ID has invalid format params: '' - code: with_deleted_type_is_wrong category: id message: with_deleted should be of boolean type params: '' - code: on_behalf_of_self category: on_behalf_of message: You cannot act on behalf of your own Contact params: '' - code: on_behalf_of_is_not_valid_UUID category: on_behalf_of message: on_behalf_of should be in UUID format params: '' - code: review_status_not_in_range category: review_status message: "review_status should be in range: passed, in_review, rejected" params: '{ "range" => "passed, in_review, rejected"}' - code: invalid_extra_parameters category: base message: Invalid extra parameters extra_parameter params: '{ "parameters" => "extra_parameter" }' schema: $ref: '#/definitions/GetPaymentError' headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. '404': description: Resource not found. schema: $ref: '#/definitions/NotFoundError' headers: X-Request-Id: type: string description: A unique reference for the request. x-errors: - code: payment_not_found category: id message: Payment was not found for this id params: '' - code: contact_not_found category: on_behalf_of message: Contact was not found for this id params: '' '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: >- Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. post: tags: - Payments x-api-group: pay summary: Update Payment description: 'Updates a payment. On success, returns the updated payment entity.' operationId: UpdatePayment consumes: - multipart/form-data produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 - name: id in: path required: true type: string description: Payment UUID format: uuid - name: currency in: formData required: false type: string description: >- Currency in which the payment is being made. Three-letter ISO currency code. format: iso-4217 pattern: ^[A-Z]{3}$ - name: beneficiary_id in: formData required: false type: string description: Beneficiary UUID format: uuid - name: amount in: formData required: false type: string description: Payment amount pattern: ^\d+(\.\d{1,3})?$ - name: payment_date in: formData required: false type: string description: >- Instructed date of payment. Any valid ISO 8601 format, e.g. "2023-12-31". format: date - name: reason in: formData required: false type: string description: User-generated reason for payment - freeform text. minLength: 1 maxLength: 255 - name: payment_type in: formData required: false type: string enum: - priority - regular description: >- Currencycloud supports two types of payments: "priority", made using the Swift network; and "regular", made using the local bank network. - name: reference in: formData required: false type: string description: User-generated reference code. minLength: 1 maxLength: 255 - name: conversion_id in: formData required: false type: string description: Conversion UUID format: uuid - name: payer_entity_type in: formData required: false type: string enum: - company - individual description: Legal entity - name: payer_company_name in: formData required: false type: string description: Required if "payer_entity_type" is "company". minLength: 1 maxLength: 255 - name: payer_first_name in: formData required: false type: string description: Required if "payer_entity_type" is "individual". minLength: 1 maxLength: 255 - name: payer_last_name in: formData required: false type: string description: Required if payer_entity_type is "individual". minLength: 1 maxLength: 255 - name: payer_city in: formData required: false type: string description: City minLength: 1 maxLength: 255 - name: payer_address in: formData required: false type: string description: First line of address. minLength: 1 maxLength: 255 - name: payer_postcode in: formData required: false type: string description: Postal code minLength: 1 maxLength: 255 - name: payer_state_or_province in: formData required: false type: string description: State or province. minLength: 1 maxLength: 255 - name: payer_country in: formData required: false type: string description: Two-letter ISO country code. format: iso3166-1-alpha-2 pattern: ^[A-Z]{2}$ - name: payer_date_of_birth in: formData required: false type: string description: >- If the "payer_entity_type" is "company", this is the company registration date. If the "payer_entity_type" is "individual", this is the payer's date of birth. ISO 8601 format YYYY-MM-DD. format: date - name: payer_identification_type in: formData required: false type: string enum: - citizenship_papers - credential_de_elector - drivers_license - drivers_license_canadian - employer_identification_number - existing_credit_card_details - green_card - incorporation_number - matricula_consular - national_id - none - others - passport - registro_federal_de_contribuyentes - social_insurance_number - social_security_number - visa description: >- A legal document that verifies the identity of the payer. Required documentation will vary depending on the nationality or registered address of the payer. - name: payer_identification_value in: formData required: false type: string description: >- A unique reference code for the identification document, such as a passport number. minLength: 1 maxLength: 255 - name: ultimate_beneficiary_name in: formData required: false type: string description: The name of the ultimate beneficiary if different. minLength: 1 maxLength: 255 - name: purpose_code in: formData required: false type: string description: Payment Purpose Code (Mandatory for all INR payments). See our support article for more information. minLength: 1 maxLength: 255 - name: on_behalf_of in: formData required: false type: string description: A contact UUID for the sub-account you're acting on behalf of. format: uuid - name: charge_type in: formData required: false type: string enum: - ours - shared description: >- Payment Charges Setting value (only applicable to Swift payments). If empty, the account's default value is used. Do not specify for regular (local) payments. - name: fee_amount in: formData required: false type: string description: Fee amount pattern: ^\d+(\.\d{1,3})?$ - name: fee_currency in: formData required: false type: string description: The currency the fee is paid in. format: iso-4217 pattern: ^[A-Z]{3}$ - name: invoice_number in: formData required: false type: string description: The invoice number related to the payment. Necessary when making business-related INR payments, check our support article to see if this applies to your purpose code. Can be up to 30 characters. Mandatory if `invoice_date` is supplied. pattern: ^[a-zA-Z0-9]{1,30}$ - name: invoice_date in: formData required: false type: string description: The date of the invoice related to the payment. Necessary when making business-related INR payments, check our support article to see if this applies to your purpose code. ISO 8601 format YYYY-MM-DD. Mandatory if `invoice_number` is supplied. format: date responses: '200': description: Success. schema: $ref: '#/definitions/Payment' headers: X-Request-Id: type: string description: A unique reference for the request. '400': description: Client error x-errors: - code: currency_is_in_invalid_format category: currency message: currency is not a valid ISO 4217 currency code params: '' - code: invalid_currency category: currency message: You cannot make payments with this currency params: '' - code: id_is_not_valid_uuid category: id message: id should be in UUID format params: '' - code: beneficiary_id_is_not_valid_uuid category: beneficiary_id message: beneficiary_id should be in UUID format params: '' - code: invalid_beneficiary_id category: beneficiary_id message: Unknown beneficiary_id params: '' - code: invalid_beneficiary_currency category: beneficiary_currency message: >- You cannot assign this Beneficiary to the Payment as it is the incorrect currency params: '' - code: amount_type_is_wrong category: amount message: amount should be of numeric type params: '{ "type" => "numeric" }' - code: payment_above_limit category: amount message: >- 3000.00 EUR exceeds the maximum amount of 2500.00 EUR for a local payment. params: '{ "amount" => 3000.0, "ccy" => "EUR", "limit" => 2500.0 }' - code: invalid_amount_for_order category: amount_for_order message: The payment amount is more than the value of the order params: '' - code: payment_type_not_in_range category: payment_type message: 'payment_type should be in range: priority, regular' params: '' - code: invalid_conversion_id category: conversion_id message: Conversion could not be found. params: '' - code: conversion_id_is_not_valid_uuid category: conversion_id message: conversion_id should be in UUID format params: '' - code: invalid_payment_date category: payment_date message: The payment date is invalid params: '' - code: payment_date_type_is_wrong category: payment_date message: payment_date should be of date type params: '' - code: payment_date_is_too_early category: payment_date message: The payment date cannot be sooner than the conversion date params: '' - code: reference_is_too_long category: reference message: reference can not be longer than 255 character(s) params: '{ "maxlength" => 255 }' - code: payment_can_not_be_edited category: can_not_be_edited message: >- Sorry this Payment has already been processed and you are unable to Edit it params: '' - code: extra_dependent_params category: base message: >- Parameters payer_entity_type, payer_company_name, payer_first_name, payer_last_name, payer_address, payer_country, payer_postcode, payer_state_or_province, payer_date_of_birth, payer_identification_type, payer_identification_value can't be provided in the same request with 'payer_details_source' with value 'account' params: '' - code: payer_entity_type_not_in_range category: payer_entity_type message: 'payer_entity_type should be in range: individual, company' params: '{ "range" => "individual, company" }' - code: payer_details_are_missing category: payer_entity_type message: 'Following payer details are missing: payer_entity_type, payer_company_name, payer_first_name, payer_last_name, payer_city, payer_address, payer_state_or_province, payer_postcode, payer_country, payer_date_of_birth, payer_identification_type, payer_identification_value' params: '{"missing_details" => "payer_entity_type, payer_company_name, payer_first_name, payer_last_name, payer_city, payer_address, payer_state_or_province, payer_postcode, payer_country, payer_date_of_birth, payer_identification_type, payer_identification_value"}' - code: payer_date_of_birth_type_is_wrong category: payer_date_of_birth message: payer_date_of_birth should be of date type params: '{ "type" => "date" }' - code: payer_date_of_birth_is_incorrect category: payer_date_of_birth message: payer_date_of_birth is incorrect params: '' - code: payer_date_of_birth_is_earlier category: payer_date_of_birth message: payer_date_of_birth should be later params: '' - code: payer_date_of_birth_is_after category: payer_date_of_birth message: payer_date_of_birth should be earlier params: '' - code: payer_identification_type_not_in_range category: payer_identification_type message: 'payer_identification_type should be in range: none, drivers_license, social_security_number, green_card, passport, visa, matricula_consular, registro_federal_de_contribuyentes, credential_de_elector, social_insurance_number, citizenship_papers, drivers_license_canadian, existing_credit_card_details, employer_identification_number, national_id, others, incorporation_number, clave_unica_de_registro_de_poblacion' params: '' - code: identification_type_is_invalid category: payer_identification_type message: identification_type is invalid params: '' - code: identification_value_is_missing category: payer_identification_value message: identification_value is missing params: '' - code: identification_value_is_invalid category: payer_identification_value message: identification_value is invalid params: '' - code: charge_type_not_available category: charge_type message: Not available charge_type has been provided params: '{ "charge_type" => "shared, ours" }' - code: charge_type_not_in_range category: charge_type message: 'charge_type should be in range: ours, shared' params: '' - code: on_behalf_of_self category: on_behalf_of message: You cannot act on behalf of your own Contact params: '' - code: on_behalf_of_is_not_valid_UUID category: on_behalf_of message: on_behalf_of should be in UUID format params: '' - code: on_behalf_of_charge_type_not_available category: on_behalf_of message: Not available charge_type has been provided for on_behalf_of params: '{ "charge_type" => "shared, ours" }' - code: fee_amount_type_is_wrong category: fee_amount message: fee_amount should be of numeric type params: '{ "type" => "numeric" }' - code: fee_currency_is_in_invalid_format category: fee_currency message: fee_currency is not a valid ISO 4217 currency code params: '{ "type" => "currency" }' - code: invalid_fields_for_company category: fee_amount message: Please provide payer_company_name, but not payer_first_name and payer_last_name params: '' - code: invalid_fields_for_individual category: fee_amount message: Please provide payer_first_name and payer_last_name, but not payer_company_name params: '' - code: incorrect_purpose_code category: purpose_code message: Purpose code is invalid params: '' - code: invalid_extra_parameters category: base message: Invalid extra parameters extra_parameter params: '{ "parameters" => "extra_parameter" }' - code: invoice_number_parameter_invalid category: invoice_number message: "Invoice number can only contain alphanumeric characters and must be 30 characters or less" - code: invoice_number_missing category: invoice_number message: "Invoice number is missing for provided invoice date $invoiceDate" - code: invalid_invoice_date category: invoice_date message: "Invoice date must follow YYYY-MM-DD format" - code: invoice_date_missing category: invoice_date message: "Invoice date is missing for provided invoice number $invoiceNumber" schema: $ref: '#/definitions/UpdatePaymentError' headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. '404': description: Resource not found. x-errors: - code: payment_not_found category: id message: Payment was not found for this id params: '' - code: contact_not_found category: on_behalf_of message: Contact was not found for this id params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: >- Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. '/payments/{id}/confirmation': get: tags: - Payments x-api-group: pay summary: Get Payment Confirmation description: Gets confirmation for a given payment. operationId: GetPaymentConfirmation produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 - name: id in: path required: true type: string description: Payment UUID format: uuid responses: '200': description: Success. schema: $ref: '#/definitions/PaymentConfirmation' headers: X-Request-Id: type: string description: A unique reference for the request. '400': description: Client error. x-errors: - code: id_is_not_valid_uuid category: id message: id should be in UUID format params: '' - code: on_behalf_of_self category: on_behalf_of message: You cannot act on behalf of your own Contact params: '' - code: payment_not_found category: id message: Payment was not found for this id params: '' - code: contact_not_found category: on_behalf_of message: Contact was not found for this id params: '' - code: invalid_extra_parameters category: base message: Invalid extra parameters extra_parameter params: '{ "parameters" => "extra_parameter" }' schema: $ref: '#/definitions/GetPaymentSubmissionError' headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. '404': description: Resource not found. schema: $ref: '#/definitions/NotFoundError' headers: X-Request-Id: type: string description: A unique reference for the request. '422': description: Unprocessable Entity x-errors: - code: unprocessable_entity category: base message: Payment should be in 'Completed' or 'Failed' status params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: >- Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. '/payments/{id}/submission_info': get: tags: - Payments x-api-group: pay summary: Get Payment Submission Information description: >- Gets the pacs.008 or MT103 information for a Swift payment. operationId: GetNewPaymentSubmission produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 - name: id in: path required: true type: string description: Payment UUID format: uuid - name: on_behalf_of in: query required: false type: string description: A contact UUID for the sub-account you're acting on behalf of. format: uuid responses: '200': description: Success. schema: $ref: '#/definitions/PaymentSubmissionInformation' headers: X-Request-Id: type: string description: A unique reference for the request. '400': description: Client error. x-errors: - code: id_is_not_valid_uuid category: id message: ID should be in UUID format params: '' - code: on_behalf_of_self category: on_behalf_of message: You cannot act on behalf of your own Contact params: '' - code: on_behalf_of_is_not_valid_UUID category: on_behalf_of message: on_behalf_of should be in UUID format params: '' - code: payment_not_found category: id message: Payment was not found for this id params: '' - code: invalid_extra_parameters category: base message: Invalid extra parameters extra_parameter params: '{ "parameters" => "extra_parameter" }' - code: contact_not_found category: on_behalf_of message: Contact was not found for this id params: '' schema: $ref: '#/definitions/GetPaymentSubmissionError' headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. '404': description: Resource not found. schema: $ref: '#/definitions/NotFoundError' x-errors: - code: contact_not_found category: on_behalf_of message: Contact was not found for this id params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: >- Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. /payments/authorise: post: tags: - Payments x-api-group: pay summary: Authorise Payment description: Authorises a payment pending authorisation. operationId: AuthorisePayment consumes: - multipart/form-data produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 - name: 'payment_ids[]' in: query required: true type: array items: type: string description: One or more payment UUID identifiers to be authorised. format: uuid responses: '200': description: Success. schema: $ref: '#/definitions/PaymentAuthorisations' headers: X-Request-Id: type: string description: A unique reference for the request. '400': description: Client error. x-errors: - code: payment_ids_is_required category: id message: payment_ids is required params: '' - code: payment_ids_type_is_wrong category: id message: payment_ids should be of array type params: '' - code: on_behalf_of_self category: on_behalf_of message: You cannot act on behalf of your own Contact params: '' schema: $ref: '#/definitions/CreatePaymentAuthorisationError' headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. '404': description: Resource not found. schema: $ref: '#/definitions/NotFoundError' headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: >- Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. '/payments/{id}/delete': post: tags: - Payments x-api-group: pay summary: Delete Payment description: 'Delete a payment. On success, returns the final payment record state.' operationId: DeletePayment consumes: - multipart/form-data produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 - name: id in: path required: true type: string description: Payment UUID. format: uuid - name: on_behalf_of in: formData required: false type: string description: A contact UUID for the sub-account you're acting on behalf of. format: uuid responses: '200': description: Success. schema: $ref: '#/definitions/Payment' headers: X-Request-Id: type: string description: A unique reference for the request. '400': description: Client error. x-errors: - code: invalid_id category: id message: ID has invalid format params: '' - code: on_behalf_of_self category: on_behalf_of message: You cannot act on behalf of your own Contact params: '' - code: payment_not_found category: id message: Payment was not found for this id params: '' - code: contact_not_found category: on_behalf_of message: Contact was not found for this id params: '' - code: invalid_extra_parameters category: base message: Invalid extra parameters extra_parameter params: '{ "parameters" => "extra_parameter" }' schema: $ref: '#/definitions/DeletePaymentError' headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. '404': description: Resource not found. schema: $ref: '#/definitions/NotFoundError' headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: >- Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. '/payments/{id}/tracking_info': get: tags: - Payments x-api-group: pay summary: Get Payment Tracking Information description: Gets the tracking information for a payment. operationId: GetPaymentTrackingInfo produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 - name: id in: path required: true type: string description: Payment UUID format: uuid responses: '200': description: Success. schema: $ref: '#/definitions/PaymentTrackingInfo' headers: X-Request-Id: type: string description: A unique reference for the request. '400': description: Client error. x-errors: - code: payment_id_is_not_valid_uuid category: id message: payment_id should be in UUID format params: '' - code: payment_is_not_swift category: base message: You cannot track non-swift payments params: '' - code: payment_is_not_executed category: base message: This payment is not executed yet, please try again later params: '' schema: $ref: '#/definitions/GetPaymentTrackingInfoError' headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. '403': description: Forbidden. x-errors: - code: permission_denied message: You do not have permission 'payment_tracking' to perform this operation params: '' schema: $ref: '#/definitions/ForbiddenError' headers: X-Request-Id: type: string description: A unique reference for the request. '404': description: Resource not found. schema: $ref: '#/definitions/NotFoundError' headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: >- Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. /payments/assign_payment_fee: post: tags: - Payments x-api-group: pay summary: Assign Payment Fee description: 'Assigns a payment fee table to a specific sub-account.' operationId: PaymentsAssignPaymentFee consumes: - multipart/form-data produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 - name: payment_fee_id in: formData required: true type: string format: uuid description: ID of the payment fee entity that will be assigned to the account. - name: account_id in: formData required: true format: uuid type: string description: ID of the account to which the payment fee will be assigned. responses: '200': description: Success. schema: $ref: '#/definitions/PaymentFeeAssignment' headers: X-Request-Id: type: string description: A unique reference for the request. '400': description: Client error. x-errors: - code: payment_fee_id_is_required category: payment_fee_id message: payment_fee_id is required params: '' - code: payment_fee_id_is_not_valid_uuid category: payment_fee_id message: payment_fee_id should be in UUID format params: '' - code: account_id_is_required category: account_id message: account_id is required params: '' - code: account_id_is_not_valid_uuid category: account_id message: account_id should be in UUID format params: '' - code: account_configuration_is_invalid category: base message: Account is not enabled for CashManager or NewPaymentRelease flow params: '' - code: account_operation_restricted category: base message: Operation restricted for the account params: '' - code: invalid_extra_parameters category: base message: Invalid extra parameters extra_parameter params: '{ "parameters" => "extra_parameter" }' schema: $ref: '#/definitions/PaymentFeeAssignmentError' headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. '403': description: Forbidden. x-errors: - code: permission_denied message: permission_denied params: '' schema: $ref: '#/definitions/ForbiddenError' headers: X-Request-Id: type: string description: A unique reference for the request. '404': description: Resource not found. schema: $ref: '#/definitions/NotFoundError' headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: >- Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. '/payments/payment_delivery_date': get: tags: - Payments x-api-group: pay summary: Get Payment Delivery Date description: Gets payment delivery date. operationId: GetPaymentDeliveryDate produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 - name: payment_date in: query required: true type: string description: The date when the payment will be released. Any valid ISO 8601 format, e.g. "2023-12-31". format: date - name: payment_type in: query required: true type: string enum: - priority - regular description: >- Currencycloud supports two types of payments: "priority", made using the Swift network; and "regular", made using the local bank network. - name: currency in: query required: true type: string description: The three-letter ISO code of the currency of the payment. format: iso-4217 pattern: ^[A-Z]{3}$ - name: bank_country in: query required: true type: string description: The two-letter ISO code of the country where the payment is sent. format: iso3166-1-alpha-2 pattern: ^[A-Z]{2}$ responses: '200': description: Success. schema: $ref: '#/definitions/PaymentDeliveryDate' headers: X-Request-Id: type: string description: A unique reference for the request. '400': description: Client error. x-errors: - code: bank_country_is_required category: bank_country message: bank_country is required params: '' - code: bank_country_is_in_invalid_format category: bank_country message: bank_country is in invalid format params: '' - code: currency_is_required category: currency message: currency is required params: '' - code: currency_is_in_invalid_format category: currency message: Currency is not a valid ISO 4217 currency code params: '' - code: payment_type_is_required category: payment_type message: payment_type is required params: '' - code: payment_type_not_in_range category: payment_type message: 'payment_type should be in range: priority, regular' params: '{ "range" => "priority, regular" }' - code: invalid_payment category: base message: Payment cannot be processed params: '' - code: invalid_currency category: currency message: You cannot make payments with this currency params: '' - code: payment_date_is_required category: payment_date message: payment_date is required params: '' - code: invalid_payment_date category: payment_date message: The payment date is invalid params: '' - code: payment_date_is_in_invalid_format category: payment_date message: payment_date should be in ISO 8601 format params: '' - code: invalid_extra_parameters category: base message: Invalid extra parameters extra_parameter params: '{ "parameters" => "extra_parameter" }' schema: $ref: '#/definitions/GetPaymentDeliveryDateError' headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: >- Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. /payments/payment_fees: get: tags: - Payments x-api-group: pay summary: Get Payment Fees description: >- Gets the payment fee tables for the current authenticated account. operationId: GetPaymentPaymentFees produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 - name: page in: query required: false type: integer description: Page number pattern: ^\d+$ - name: per_page in: query required: false type: integer description: Number of results per page. pattern: ^\d+$ - name: order in: query required: false type: string description: Any field name to change the sort order. minLength: 1 maxLength: 255 - name: order_asc_desc in: query required: false type: string enum: - asc - desc default: asc description: Sort records in ascending or descending order. responses: '200': description: Success. schema: type: object properties: payment_fees: type: array items: $ref: '#/definitions/PaymentFee' pagination: $ref: '#/definitions/Pagination' headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. '403': description: Forbidden. x-errors: - code: permission_denied message: permission_denied params: '' schema: $ref: '#/definitions/ForbiddenError' headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: >- Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. /payments/quote_payment_fee: get: tags: - Payments x-api-group: pay summary: Get Quote Payment Fee description: >- Gets the calculated quote for the fee that will be applied against a payment. operationId: GetQuotePaymentFee produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 - name: account_id in: query required: false type: string description: Account UUID. If this is left empty, the account that is making the API call is used. format: uuid - name: payment_currency in: query required: true type: string description: Currency of the payment. format: iso-4217 pattern: ^[A-Z]{3}$ - name: payment_destination_country in: query required: true type: string description: Destination Country of the payment. format: iso3166-1-alpha-2 pattern: ^[A-Z]{2}$ - name: payment_type in: query required: true type: string enum: - priority - regular description: Type of payment - priority(Swift) or regular(local). - name: charge_type in: query required: false type: string enum: - ours - shared description: Payment Charges type. if no value is provided the account's default value is used. responses: '200': description: Success. schema: $ref: '#/definitions/QuotePaymentFee' headers: X-Request-Id: type: string description: A unique reference for the request. '400': description: Client error. x-errors: - code: account_id_is_not_valid_uuid category: account_id message: account_id should be in UUID format params: '{"type" => "currency"}' - code: payment_currency_is_required category: payment_currency message: payment_currency is required params: '' - code: payment_currency_is_in_invalid_format category: payment_currency message: payment_currency is not a valid ISO 4217 currency code params: '{ "type" => "currency" }' - code: payment_destination_country_is_required category: payment_destination_country message: payment_destination_country is required params: '' - code: payment_destination_country_is_in_invalid_format category: payment_destination_country message: payment_destination_country is in invalid format params: '{"type"=> "country_code"}' - code: charge_type_is_required category: charge_type message: charge_type is required params: '' - code: charge_type_not_in_range category: charge_type message: 'charge_type should be in range: shared, ours' params: '{ "charge_type" => "shared, ours" }' - code: payment_type_not_in_range category: payment_type message: 'payment_type should be in range: priority, regular' params: '{ "payment_type" => "priority, regular" }' schema: $ref: '#/definitions/GetQuotePaymentFeeError' headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. '404': description: Resource not found. headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: >- Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. /payments/unassign_payment_fee: post: tags: - Payments x-api-group: pay summary: Unassign Payment Fee description: 'Unassigns the payment fee tables for a specific sub-account.' operationId: PaymentsUnassignPaymentFee consumes: - multipart/form-data produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 - name: account_id in: formData required: true format: uuid type: string description: Sub-account UUID for which the payment level fee will be un-assigned. responses: '200': description: Success. schema: $ref: '#/definitions/PaymentFeeUnassignment' headers: X-Request-Id: type: string description: A unique reference for the request. '400': description: Client error. x-errors: - code: account_id_is_required category: account_id message: account_id is required params: '' - code: account_id_is_not_valid_uuid category: account_id message: account_id should be in UUID format params: '' - code: account_configuration_is_invalid category: base message: Account is not enabled for CashManager or NewPaymentRelease flow params: '' - code: account_operation_restricted category: base message: Operation restricted for the account params: '' - code: invalid_extra_parameters category: base message: Invalid extra parameters extra_parameter params: '{ "parameters" => "extra_parameter" }' schema: $ref: '#/definitions/PaymentFeeUnassignmentError' headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. '403': description: Forbidden. x-errors: - code: permission_denied message: permission_denied params: '' schema: $ref: '#/definitions/ForbiddenError' headers: X-Request-Id: type: string description: A unique reference for the request. '404': description: Resource not found. schema: $ref: '#/definitions/NotFoundError' headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: >- Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. /payments/validate: post: tags: - Payments x-api-group: pay summary: Validate Payment description: >- Validates the details of a new payment without creating a record of the payment. On success, returns an object containing a string validation_result with value "success".

Clients who are implementing Strong Customer Authentication (SCA) for payments should refer to our SCA for payments integration guide. operationId: ValidatePayment consumes: - multipart/form-data produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 - name: x-sca-to-authenticated-user in: header required: false type: boolean description: >- Setting this to true will send the OTP to the authenticated user instead of the on-behalf-of customer. This option is only available to clients on specific licensing models. - name: id in: formData required: false type: string description: Payment UUID format: uuid - name: currency in: formData required: true type: string description: Currency in which payment is made. Three-digit currency code. format: iso-4217 pattern: ^[A-Z]{3}$ - name: beneficiary_id in: formData required: true type: string description: Beneficiary UUID format: uuid - name: amount in: formData required: true type: string description: Amount pattern: ^\d+(\.\d{1,3})?$ - name: reason in: formData required: true type: string description: User-generated reason for payment - freeform text. minLength: 1 maxLength: 255 - name: reference in: formData required: true type: string description: User-generated reference code. minLength: 1 maxLength: 255 - name: payment_date in: formData required: false type: string description: >- Instructed date of payment. Any valid ISO 8601 format, e.g. "2023-12-31". format: date - name: payment_type in: formData required: false type: string enum: - priority - regular description: >- Currencycloud supports two types of payments: "priority", made using the Swift network; and "regular", made using the local bank network. - name: conversion_id in: formData required: false type: string description: Conversion UUID format: uuid - name: payer_entity_type in: formData required: false type: string enum: - company - individual description: Legal entity - name: payer_company_name in: formData required: false type: string description: Required if "payer_entity_type" is "company". minLength: 1 maxLength: 255 - name: payer_first_name in: formData required: false type: string description: Required if "payer_entity_type" is "individual". minLength: 1 maxLength: 255 - name: payer_last_name in: formData required: false type: string description: Required if "payer_entity_type" is "individual". minLength: 1 maxLength: 255 - name: payer_city in: formData required: false type: string description: City minLength: 1 maxLength: 255 - name: payer_address in: formData required: false type: string description: First line of address. minLength: 1 maxLength: 255 - name: payer_postcode in: formData required: false type: string description: Postal code minLength: 1 maxLength: 255 - name: payer_state_or_province in: formData required: false type: string description: State or province. minLength: 1 maxLength: 255 - name: payer_country in: formData required: false type: string description: Two-letter ISO country code. format: iso3166-1-alpha-2 pattern: ^[A-Z]{2}$ - name: payer_date_of_birth in: formData required: false type: string description: >- If "payer_entity_type" is "company", this is the company registration date. If "payer_entity_type" is "individual", this is the individual's date of birth. ISO 8601 format YYYY-MM-DD. format: date - name: payer_identification_type in: formData required: false type: string enum: - citizenship_papers - credential_de_elector - drivers_license - drivers_license_canadian - employer_identification_number - existing_credit_card_details - green_card - incorporation_number - matricula_consular - national_id - none - others - passport - registro_federal_de_contribuyentes - social_insurance_number - social_security_number - visa description: >- A legal document that verifies the identity of the payer. Required documentation will vary depending on the nationality or registered address of the payer. - name: payer_identification_value in: formData required: false type: string description: >- A unique reference code for the identification document, such as a passport number. minLength: 1 maxLength: 255 - name: unique_request_id in: formData required: false type: string description: User-generated idempotency key. minLength: 1 maxLength: 255 - name: ultimate_beneficiary_name in: formData required: false type: string description: The name of the ultimate beneficiary if different. minLength: 1 maxLength: 255 - name: purpose_code in: formData required: false type: string description: Payment Purpose Code (Mandatory for all INR payments). minLength: 1 maxLength: 255 - name: on_behalf_of in: formData required: false type: string description: A contact UUID for the sub-account you're acting on behalf of. format: uuid - name: charge_type in: formData required: false type: string enum: - ours - shared description: >- Payment Charges Setting value (only applicable to Swift payments). If empty - then account's default value is used. Do not specify for regular (local) payments. - name: fee_amount in: formData required: false type: string description: Fee amount pattern: ^\d+(\.\d{1,3})?$ - name: fee_currency in: formData required: false type: string description: Currency fee is paid in. format: iso-4217 pattern: ^[A-Z]{3}$ responses: '200': description: Success. schema: type: object properties: validation_result: type: string headers: X-Request-Id: type: string description: A unique reference for the request. x-sca-required: type: boolean description: true if SCA is required to create the payment. x-sca-id: type: string description: UUID to correlate to the SCA request. x-sca-type: type: string enum: - NONE - oneTouch - sms description: Type of SCA applied to the request. '400': description: Client error. x-errors: - code: invalid_type category: type message: Invalid Payment type params: '' - code: payment_type_not_in_range category: type message: 'payment_type should be in range: priority, regular' params: '' - code: currency_is_in_invalid_format category: type message: currency is not a valid ISO 4217 currency code params: '' - code: currency_length_is_invalid category: currency message: currency should be 3 character(s) long params: '' - code: currency_is_required category: currency message: currency is required params: '' - code: invalid_currency category: currency message: You cannot make payments with this currency params: '' - code: beneficiary_id_is_not_valid_uuid category: beneficiary_id message: beneficiary_id should be in UUID format params: '' - code: beneficiary_id_is_required category: beneficiary_id message: beneficiary_id is required params: '' - code: invalid_beneficiary_currency category: beneficiary_currency message: You cannot assign this Beneficiary to the Payment as it is the incorrect currency params: '' - code: invalid_beneficiary_id category: beneficiary_id message: Unknown beneficiary_id params: '' - code: payment_above_limit category: amount message: >- 3000.00 EUR exceeds the maximum amount of 2500.00 EUR for a local payment. params: '' - code: payer_entity_type_not_in_range category: payer_entity_type message: 'payer_entity_type should be in range: individual, company' params: '' - code: payer_details_are_missing category: payer_entity_type message: 'Following payer details are missing: payer_entity_type, payer_company_name, payer_first_name, payer_last_name, payer_city, payer_address, payer_state_or_province, payer_postcode, payer_country, payer_date_of_birth, payer_identification_type, payer_identification_value' params: '{"missing_details" => "payer_entity_type, payer_company_name, payer_first_name, payer_last_name, payer_city, payer_address, payer_state_or_province, payer_postcode, payer_country, payer_date_of_birth, payer_identification_type, payer_identification_value"}' - code: unsupported_payer_country_code category: payer_country_code message: Payer country is not supported params: '' - code: payer_country_is_in_invalid_format category: payer_country message: payer_country is not a valid ISO 3166-1 Alpha-2 country code params: '' - code: payer_date_of_birth_type_is_wrong category: payer_date_of_birth message: payer_date_of_birth should be of date type params: '{ "type" => "date" }' - code: payer_date_of_birth_is_incorrect category: payer_date_of_birth message: payer_date_of_birth is incorrect params: '' - code: payer_date_of_birth_is_earlier category: payer_date_of_birth message: payer_date_of_birth should be later params: '' - code: payer_date_of_birth_is_after category: payer_date_of_birth message: payer_date_of_birth should be earlier params: '' - code: invalid_conversion_id category: conversion_id message: Conversion could not be found params: '' - code: conversion_is_already_settled category: conversion_id message: The conversion is already settled params: '' - code: invalid_amount_for_conversion category: conversion_id message: The payment amount is more than the value of the conversion params: '' - code: payment_date_type_is_wrong category: payment_date message: payment_date should be of date type params: '' - code: payment_date_is_too_early category: payment_date message: The payment date cannot be sooner than the conversion date params: '' - code: reason_is_too_long category: reference message: reference can not be longer than 255 character(s) params: '' - code: reference_is_too_long category: reference message: reference can not be longer than 255 character(s) params: '' - code: id_is_not_valid_uuid category: reference message: id should be in UUID format params: '' - code: charge_type_not_available category: charge_type message: Not available charge_type has been provided params: '{ "charge_type" => "shared, ours" }' - code: charge_type_not_in_range category: charge_type message: 'charge_type should be in range: ours, shared' params: '' - code: on_behalf_of_self category: on_behalf_of message: You cannot act on behalf of your own Contact params: '' - code: on_behalf_of_is_not_valid_UUID category: on_behalf_of message: on_behalf_of should be in UUID format params: '' - code: on_behalf_of_charge_type_not_available category: on_behalf_of message: Not available charge_type has been provided for on_behalf_of params: '{ "charge_type" => "shared, ours" }' - code: duplicate_request category: duplicate_request message: >- The unique_request_id provided for this payment has already been used, please provide a new unique_request_id to successfully submit this payment params: '' - code: fee_amount_type_is_wrong category: fee_amount message: fee_amount should be of numeric type params: '{ "type" => "numeric" }' - code: fee_currency_is_in_invalid_format category: fee_currency message: fee_currency is not a valid ISO 4217 currency code params: '{ "type" => "currency" }' - code: purpose_code_is_missing category: purpose_code message: Purpose code is missing params: '' - code: incorrect_purpose_code category: purpose_code message: Purpose code is invalid params: '' - code: unsupported_beneficiary_country_code category: beneficiary_country_code message: Beneficiary country is not supported params: '' - code: invalid_extra_parameters category: base message: Invalid extra parameters extra_parameter params: '{ "parameters" => "extra_parameter" }' schema: $ref: '#/definitions/ValidatePaymentError' headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. '404': description: Resource not found. headers: X-Request-Id: type: string description: A unique reference for the request. x-errors: - code: contact_not_found category: on_behalf_of message: Contact was not found for this id params: '' '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: >- Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. /payments/{id}/notifications/retry: post: tags: - Payments x-api-group: pay summary: Resend Payment Notification description: Resends a payment notification for the specified payment ID. operationId: PaymentsRetryNotifications produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 - name: id in: path required: true type: string description: Payment UUID format: uuid - name: notification_type in: query required: true type: string description: The notification to be resent. enum: - payment_ready_to_send_notification - payment_released_notification - payment_failed_notification responses: '200': description: Success. schema: type: object headers: X-Request-Id: type: string description: A unique reference for the request. '400': description: Client error. x-errors: - code: id_is_not_valid_uuid category: id message: id should be in UUID format params: '' - code: payment_not_found category: id message: Payment was not found for this id params: '' - code: notification_type_not_in_range category: notification_type message: "notification_type should be in range: payment_ready_to_send_notification, payment_released_notification, payment_failed_notification" params: '' schema: $ref: '#/definitions/RetryNotificationError' '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. '404': description: Resource not found. schema: $ref: '#/definitions/NotFoundError' headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: >- Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable x-errors: - code: service_unavailable category: base message: Service is temporary unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. '/payers/{id}': get: tags: - Payers x-api-group: pay summary: Get Payer description: Get a payer record. operationId: GetPayer produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 - name: id in: path required: true type: string description: Payer UUID. format: uuid - name: on_behalf_of in: query required: false type: string description: A contact UUID for the sub-account you're acting on behalf of. format: uuid responses: '200': description: Success. schema: $ref: '#/definitions/Payer' headers: X-Request-Id: type: string description: A unique reference for the request. '400': description: Client error. x-errors: - code: payer_not_found category: id message: Payer was not found for this id params: '' - code: contact_not_found category: on_behalf_of message: Contact was not found for this id params: '' - code: id_is_not_valid_uuid category: id message: id should be in UUID format params: '' - code: on_behalf_of_self category: on_behalf_of message: You cannot act on behalf of your own Contact params: '' schema: $ref: '#/definitions/GetPayerError' headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. '404': description: Resource not found. schema: $ref: '#/definitions/NotFoundError' headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: >- Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. /rates/find: get: tags: - Rates x-api-group: convert summary: Get Basic Rates description: Gets indicative foreign exchange rate information for one or more currency pairs in a single request.

This endpoint is intended to provide an indication of the rate available in the market and can support requests for multiple currency pairs, so is good for polling requirements such as live FX ticker widgets. This endpoint should be used where speed, availability and the ability to request multiple currency pairs is important. operationId: GetBasicRates produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 - name: currency_pair in: query required: true type: string description: 'Concatenated string of the two currencies traded, e.g. "USDEUR". More than one pair can be entered, separated by a comma e.g. "EURGBP,GBPUSD,EURUSD".' pattern: ^[A-Z]{6}$ - name: on_behalf_of in: query required: false type: string description: A contact UUID for the sub-account you're acting on behalf of. format: uuid - name: ignore_invalid_pairs in: query required: false type: boolean description: Ignore the validation of currency pairs. responses: '200': description: Success. schema: $ref: '#/definitions/RatesBasic' headers: X-Request-Id: type: string description: A unique reference for the request. '400': description: Client error. x-errors: - code: currency_pair_is_too_long category: currency_pair message: currency_pair can not be longer than 2450 character(s) params: '{ "maxlength" => 2450 }' - code: currency_pair_is_too_short category: currency_pair message: currency_pair can not be shorter than 6 letter(s) params: '{ "minlength" => 6 }' - code: currency_pair_is_required category: currency_pair message: currency_pair is required params: '' - code: invalid_currency_pair category: currency_pair message: Invalid currency pair params: '{ "currency_pair" => ["AAABBB"] }' - code: ignore_invalid_pairs_type_is_wrong category: currency_pair message: ignore_invalid_pairs should be of boolean type params: '{ "ignore_invalid_pairs": "not_true" }' - code: on_behalf_of_self category: on_behalf_of message: You cannot act on behalf of your own Contact params: '' - code: contact_not_found category: on_behalf_of message: Contact was not found for this id params: '' schema: $ref: '#/definitions/GetBasicRatesError' headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. '404': description: Resource not found. headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: >- Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. /rates/detailed: get: tags: - Rates x-api-group: convert summary: Get Detailed Rates description: >- Gets a detailed, tradeable rate quote to convert money from one currency to another. The quotation provided will be based on the spread table of the authenticated user. There is also the option to provide a specific date for the conversion to occur.

This endpoint provides a current tradeable rate for a single currency pair. It should be used as the start of the flow before a conversion is booked. This endpoint should be used where accuracy is the most important aspect, such as when a trade is about to be booked. operationId: GetDetailedRates produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 - name: buy_currency in: query required: true type: string description: Currency purchased - three-letter ISO code. format: iso-4217 pattern: ^[A-Z]{3}$ - name: sell_currency in: query required: true type: string description: Currency sold - three-letter ISO code. format: iso-4217 pattern: ^[A-Z]{3}$ - name: fixed_side in: query required: true type: string enum: - buy - sell description: Fix the buy or sell currency. - name: amount in: query required: true type: string description: Amount of the fixed buy or sell currency. pattern: ^\d+(\.\d{1,3})?$ - name: on_behalf_of in: query required: false type: string description: A contact UUID for the sub-account you're acting on behalf of. format: uuid - name: conversion_date in: query required: false type: string format: date description: >- Date of delivery of purchased currency. ISO 8601 format YYYY-MM-DD. If not specified, deals settle in two working days. - name: conversion_date_preference in: query required: false type: string enum: - default - earliest - next_day - optimize_liquidity description: >- Available only if conversion_date is not provided. Must be one of the following:
'earliest' for earliest available conversion date. Make sure there is sufficient time to send funds to Currencycloud.
'next_day' for next day available conversion date - T+1.
'default' for conversion - T+1 for APAC restricted currencies, T+2 for all others.
'optimize_liquidity' for maximizing chances of getting a successful rate. Most relevant for exotic pairs. Conversion is T+0 for APAC restricted currencies, and T+1 or T+2 for all others. responses: '200': description: Success. schema: $ref: '#/definitions/RateDetailed' headers: X-Request-Id: type: string description: A unique reference for the request. '400': description: Client error. x-errors: - code: unique_value_parameters category: base message: >- Following parameters should not have same values: sell_currency, buy_currency params: '{ "parameters" => "sell_currency, buy_currency" }' - code: rate_could_not_be_retrieved category: base message: Rate could not be retrieved params: '' - code: ccy_pair_is_not_tradeable category: base message: Given currency pair is not tradeable params: '' - code: fixed_side_not_in_range category: fixed_side message: 'fixed_side should be in range: sell, buy' params: '{ "range" => "sell, buy" }' - code: fixed_side_is_required category: fixed_side message: fixed_side is required params: '' - code: conversion_date_type_is_wrong category: conversion_date message: conversion_date should be of date type params: '{ "type" => "date" }' - code: invalid_delivery_date category: conversion_date message: >- The delivery date you have requested cannot be met for this currency pair params: '' - code: sell_currency_is_in_invalid_format category: sell_currency message: sell_currency is in invalid format params: '' - code: sell_currency_is_required category: sell_currency message: sell_currency is required params: '' - code: currency_pair_not_available_for_weekend category: currency_pair_not_available_for_weekend message: Currency pair is not available for weekend params: '' - code: amount_type_is_wrong category: amount message: amount should be of numeric type params: '{ "type" => "numeric" }' - code: amount_is_required category: amount message: amount is required params: '' - code: amount_is_too_small category: amount message: amount can not be smaller than 1 params: '{ "minvalue" => 1 }' - code: buy_currency_is_in_invalid_format category: buy_currency message: buy_currency is in invalid format params: '' - code: buy_currency_is_required category: buy_currency message: buy_currency is required params: '' - code: on_behalf_of_self category: on_behalf_of message: You cannot act on behalf of your own Contact params: '' - code: contact_not_found category: on_behalf_of message: Contact was not found for this id params: '' - code: amount_is_in_invalid_format category: amount message: amount should be of numeric type with 2 dp params: '{ "type" => "numeric_with_precision", "precision" => 2 }' - code: invalid_conversion_date_combination category: base message: conversion_date_preference can not be specified along side a date parameter params: '' - code: invalid_conversion_date_preference category: base message: not a valid conversion date preference, possible options are earliest, optimize_liquidity, default, next_day params: '' schema: $ref: '#/definitions/GetDetailedRatesError' headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. '404': description: Resource not found. headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: >- Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. /reference/bank_details/find: post: tags: - Reference x-api-group: manage summary: Find Bank Details description: >- Returns the related bank details for the given account reference. operationId: FinfBankDetailsPost produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 - name: identifier_type in: formData required: true type: string enum: - aba - bic_swift - bsb_code - cnaps - iban - ifsc - routing_number - sort_code description: The type of code used to identify the account (e.g. IBAN). - name: identifier_value in: formData required: true type: string description: The value of the account identifier specified in identifier_type (e.g. the IBAN code). minLength: 1 maxLength: 255 responses: '200': description: Success. schema: $ref: '#/definitions/BankDetails' headers: X-Request-Id: type: string description: A unique reference for the request. '400': description: Client error. x-errors: - code: identifier_type_is_required category: identifier_type message: identifier_type is required params: '' - code: identifier_type_not_in_range category: identifier_type message: 'identifier_type should be in range: iban, bic_swift, sort_code, aba, bsb_code, routing_number, cnaps, ifsc' params: '{ "range" => "iban, bic_swift, sort_code, aba, bsb_code, routing_number, cnaps, ifsc" }' - code: identifier_value_is_required category: identifier_value message: identifier_value is required params: '' - code: identifier_value_is_empty category: identifier_value message: identifier_value should not be empty params: '{ "type" => "not_empty_string" }' - code: invalid_iban category: base message: IBAN is invalid params: '' - code: invalid_bic category: base message: BIC_Swift is invalid params: '' - code: invalid_aba category: base message: ABA is invalid params: '' - code: invalid_sort_code category: base message: SORT_CODE is invalid params: '' - code: invalid_bsb category: base message: BSB_CODE is invalid params: '' - code: invalid_routing_number category: base message: ROUTING_NUMBER is invalid params: '' - code: invalid_cnaps category: base message: CNAPS is invalid params: '' - code: cannot_retrieve_bank_data category: base message: Bank Details service is temporarily unavailable params: '' schema: $ref: '#/definitions/GetBankDetailsError' headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: >- Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error s params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable. params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. /reference/beneficiary_required_details: get: tags: - Reference x-api-group: manage summary: Get Beneficiary Requirements description: >- Returns the information that is required to make payments to beneficiaries in specified currencies and countries. operationId: GetBeneficiaryRequirements produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 - name: currency in: query required: true type: string description: >- Currency in which money is held in the beneficiary's bank account. Three-letter ISO currency code. format: iso-4217 pattern: ^[A-Z]{3}$ - name: bank_account_country in: query required: true type: string description: Two-letter ISO country code. format: iso3166-1-alpha-2 pattern: ^[A-Z]{2}$ - name: beneficiary_country in: query required: true type: string description: >- Two-letter ISO country code. If the beneficiary is a company, this is the country in which the company is registered. If the beneficiary is an individual, this is the country in which they are based. format: iso3166-1-alpha-2 pattern: ^[A-Z]{2}$ responses: '200': description: Success. schema: type: object properties: details: type: array items: $ref: '#/definitions/BeneficiaryRequirements' headers: X-Request-Id: type: string description: A unique reference for the request. '400': description: Client error. x-errors: - code: bank_account_country_is_in_invalid_format category: bank_account_country message: >- Bank account country is not a valid ISO 3166-1 Alpha-2 country code params: '' - code: currency_is_in_invalid_format category: currency message: Currency is not a valid ISO 4217 currency code params: '' - code: beneficiary_country_is_in_invalid_format category: beneficiary_country message: >- Beneficiary country is not a valid ISO 3166-1 Alpha-2 country code params: '' schema: $ref: '#/definitions/GetBeneficiaryRequirementsError' headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. '404': description: Resource not found. headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: >- Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. /reference/conversion_dates: get: tags: - Reference x-api-group: manage summary: Get Conversion Dates description: >- Provides a list of upcoming non-trading dates, such as weekends or public holidays, for a specified currency pair. Common use cases include situations where this information needs to be provided, or for planning upcoming conversion bookings.

Many currencies are triangulated; this means that holidays affecting the intermediary currency, as well as the sale and purchase currencies, will impact transactions. Find out more at our support article. operationId: GetConversionDates produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 - name: conversion_pair in: query required: true type: string description: 'Concatenated string of the currency codes for the two currencies involved, e.g. "USDEUR".' pattern: ^[A-Z]{6}$ - name: start_date in: query required: false type: string format: date description: Start date of conversion. ISO 8601 format YYYY-MM-DD. - name: on_behalf_of in: query required: false type: string description: A contact UUID for the sub-account you're acting on behalf of. format: uuid responses: '200': description: Success. schema: $ref: '#/definitions/ConversionDates' headers: X-Request-Id: type: string description: A unique reference for the request. '400': description: Client error. x-errors: - code: conversion_pair_is_required category: conversion_pair message: conversion_pair is required params: '' - code: invalid_conversion_pair category: conversion_pair message: The conversion pair specified was invalid params: '' - code: conversion_pair_is_too_short category: conversion_pair message: conversion_pair can not be shorter than 6 character(s) params: '{ "minlength" => 6 }' - code: conversion_pair_is_too_long category: conversion_pair message: conversion_pair can not be longer than 6 character(s) params: '{ "maxlength" => 6 }' - code: start_date_is_too_far_in_future category: start_date message: Date is too far in the future (more than 1 year) params: '{ "maxdate" => "2015-04-04T00:00:00Z", "period" => "1 year" }' - code: start_date_is_in_invalid_format category: start_date message: start_date should be in ISO 8601 format params: '{ "type" => "date" }' - code: contact_not_found category: on_behalf_of message: Contact was not found for this id params: '' - code: on_behalf_of_self category: on_behalf_of message: You can not act on behalf of your own Contact params: '' schema: $ref: '#/definitions/GetConversionDatesError' headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. '404': description: Resource not found. headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: >- Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. /reference/currencies: get: tags: - Reference x-api-group: manage summary: Get Available Currencies description: >- Gets a list of all currencies that can be traded on the Currencycloud platform. operationId: GetAvailableCurrencies produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 responses: '200': description: Success. schema: $ref: '#/definitions/AvailableCurrencies' headers: X-Request-Id: type: string description: A unique reference for the request. '400': description: Client error. schema: $ref: '#/definitions/GetAvailableCurrenciesError' headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. '404': description: Resource not found. headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: >- Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. /reference/payer_required_details: get: tags: - Reference x-api-group: manage summary: Get Payer Requirements description: >- Returns the payer information you need to provide to create a payment. Requirements vary depending on the location of the payer, the type of payment to be made (priority or regular), and other factors. operationId: GetPayerRequirements produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 - name: payer_country in: query required: true type: string description: Two-letter ISO country code. format: iso3166-1-alpha-2 pattern: ^[A-Z]{2}$ - name: payer_entity_type in: query required: false type: string enum: - company - individual description: Legal entity type - company or individual. - name: payment_type in: query required: false type: string enum: - priority - regular description: >- Currencycloud supports two types of payments: "priority" (Swift), made using the Swift network; and "regular" (local), made using the local bank network. - name: currency in: query required: false type: string description: Three-letter ISO 4217 currency code. format: iso-4217 pattern: ^[A-Z]{3}$ responses: '200': description: Success. schema: $ref: '#/definitions/PayerRequirements' headers: X-Request-Id: type: string description: A unique reference for the request. '400': description: Client error. x-errors: - code: payer_country_is_required category: payer_country message: payer_country is required params: '' - code: payer_country_is_in_invalid_format category: payer_country message: payer_country is not a valid ISO 3166-1 Alpha-2 country code params: '{ "type" => "country_code" }' - code: payment_type_not_in_range category: payment_type message: 'payment_type should be in range: priority, regular' params: '{ "range" => "priority, regular" }' - code: payer_entity_type_not_in_range category: payer_entity_type message: 'payer_entity_type should be in range: company, individual' params: '{ "range" => "company, individual" }' - code: currency_is_in_invalid_format category: currency message: 'currency is not a valid ISO 4217 currency code' params: '' schema: $ref: '#/definitions/GetPayerRequirementsError' headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. '404': description: Resource not found. headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: >- Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. /reference/payment_dates: get: tags: - Reference x-api-group: manage summary: Get Payment Dates description: >- Gets a list of invalid payment dates for a given currency covering a two months period from the start_date specified. A payment date is when a payment will be executed by Currencycloud. Payments cannot be made on some days, for example when banks are closed. operationId: GetPaymentDates produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 - name: currency in: query required: true type: string description: Currency in which payment made. Three-letter ISO currency code. format: iso-4217 pattern: ^[A-Z]{3}$ - name: start_date in: query required: false type: string format: date description: Payment start date, defaults to today's date. ISO 8601 format YYYY-MM-DD. responses: '200': description: Success. schema: $ref: '#/definitions/PaymentDates' headers: X-Request-Id: type: string description: A unique reference for the request. '400': description: Client error. x-errors: - code: currency_is_required category: currency message: currency is required params: '' - code: currency_is_in_invalid_format category: currency message: currency is not a valid ISO 4217 currency code params: '' - code: start_date_is_too_far_in_future category: start_date message: Date is too far in the future (more than 1 year) params: '{ "maxdate" => "2015-04-04T00:00:00Z", "period" => "1 year" }' - code: start_date_is_in_invalid_format category: start_date message: start_date should be in ISO 8601 format params: '{ "type" => "datetime" }' schema: $ref: '#/definitions/GetPaymentDatesError' headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. '404': description: Resource not found. headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: >- Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. /reference/payment_fee_rules: get: tags: - Reference x-api-group: manage summary: Get Payment Fee Rules description: >- Gets the payment fee information set up for the account / payment type provided. operationId: GetPaymentFeeRules produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 - name: account_id in: query required: false type: string description: Account UUID format: uuid - name: payment_type in: query required: false type: string enum: - priority - regular description: >- Payment type value. Limits the search results to payments of the specified payment type - 'priority'(Swift) or 'regular'(local). - name: charge_type in: query required: false type: string enum: - ours - shared description: >- Payment charge value. Limits the search results to payments of the specified charge type - 'ours' or 'shared'. responses: '200': description: Success. schema: type: object properties: payment_fee_rules: type: array items: $ref: '#/definitions/PaymentFeeRule' headers: X-Request-Id: type: string description: A unique reference for the request. '400': description: Client error. x-errors: - code: account_id_is_not_valid_uuid category: account_id message: account_id should be in UUID format params: '' - code: charge_type_not_in_range category: charge_type message: 'charge_type should be in range: shared, ours' params: '{ "charge_type" => "shared, ours" }' - code: payment_type_not_in_range category: payment_type message: 'payment_type should be in range: priority, regular' params: '{ "payment_type" => "priority, regular" }' schema: $ref: '#/definitions/GetPaymentFeeRulesError' headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. '404': description: Resource not found. headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: >- Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. /reference/payment_purpose_codes: get: tags: - Reference x-api-group: manage summary: Get Payment Purpose Codes description: >- Gets a list of payment purpose codes for a given currency and entity type. When initiating cross-border payments, the central bank of the country may require a purpose to be included with your transaction in order for your payment to be accepted and processed. If a payment purpose code is required but not provided, your payment may be delayed or rejected by the beneficiary bank. operationId: GetPaymentPurposeCodes produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 - name: currency in: query required: true type: string description: >- Three-letter ISO currency code for the currency in which payment will be made. No purpose codes will be returned if an invalid currency code is given. format: iso-4217 pattern: ^[A-Z]{3}$ - name: entity_type in: query required: false type: string enum: - company - individual description: Legal entity type - company or individual. - name: bank_account_country in: query required: true type: string description: Two-letter ISO country code of the bank account. format: iso3166-1-alpha-2 pattern: ^[A-Z]{2}$ responses: '200': description: Success. schema: type: object properties: purpose_codes: type: array items: $ref: '#/definitions/PaymentPurposeCodes' headers: X-Request-Id: type: string description: A unique reference for the request. '400': description: Client error. x-errors: - code: currency_is_required category: currency message: currency is required params: '' schema: $ref: '#/definitions/GetPaymentPurposeCodesError' headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. '404': description: Resource not found. headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: >- Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' - code: missing_translation category: base message: Internal server error. Currency value was not specified params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. /reference/settlement_accounts: get: tags: - Reference x-api-group: manage summary: Get Settlement Accounts description: >- Gets settlement account information - a list of accounts that require funding in order to allow for outstanding transactions to be processed. operationId: GetSettlementAccounts produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 - name: currency in: query required: false type: string description: Three-letter ISO currency code. format: iso-4217 pattern: ^[A-Z]{3}$ - name: account_id in: query required: false type: string description: Account UUID format: uuid responses: '200': description: Success. schema: type: object properties: settlement_accounts: type: array items: $ref: '#/definitions/SettlementAccount' headers: X-Request-Id: type: string description: A unique reference for the request. '400': description: Client error. x-errors: - code: account_id_is_not_valid_uuid category: id message: account_id should be in UUID format params: '' - code: currency_is_in_invalid_format category: currency message: currency is not a valid ISO 4217 currency code. params: '' schema: $ref: '#/definitions/GetSettlementAccountsError' headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. '404': description: Resource not found. x-errors: - code: account_not_found category: base message: Account was not found for this id params: '' - code: settlement_accounts_not_found category: base message: Settlement Account details not found params: '' schema: $ref: '#/definitions/NotFoundError' headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: >- Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. /reports/conversions/create: post: tags: - Reporting x-api-group: manage summary: Generate Conversion Report description: >- Returns a JSON structure with details of the conversion report requested. operationId: GenerateConversionReport consumes: - multipart/form-data produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 - name: on_behalf_of in: formData required: false type: string description: A contact UUID for the sub-account you're acting on behalf of. format: uuid - name: description in: formData required: false type: string description: Description that will be applied to the report. minLength: 1 maxLength: 255 - name: buy_currency in: formData required: false type: string description: Three-letter ISO 4217 currency code. format: iso-4217 pattern: ^[A-Z]{3}$ - name: sell_currency in: formData required: false type: string description: Three-letter ISO 4217 currency code. format: iso-4217 pattern: ^[A-Z]{3}$ - name: client_buy_amount_from in: formData required: false type: string description: Minimum client buy amount. format: numeric - name: client_buy_amount_to in: formData required: false type: string description: Maximum client buy amount. format: numeric - name: client_sell_amount_from in: formData required: false type: string description: Minimum client sell amount. format: numeric - name: client_sell_amount_to in: formData required: false type: string description: Maximum client sell amount. format: numeric - name: partner_buy_amount_from in: formData required: false type: string description: Minimum buy amount (sub-accounts). format: numeric pattern: ^\d+(\.\d{1,3})?$ - name: partner_buy_amount_to in: formData required: false type: string description: Maximum buy amount (sub-accounts). format: numeric pattern: ^\d+(\.\d{1,3})?$ - name: partner_sell_amount_from in: formData required: false type: string description: Minimum sell amount (sub-accounts). format: numeric pattern: ^\d+(\.\d{1,3})?$ - name: partner_sell_amount_to in: formData required: false type: string description: Maximum sell amount (sub-accounts). format: numeric pattern: ^\d+(\.\d{1,3})?$ - name: client_status in: formData required: false type: string enum: - awaiting_funds - funds_sent - funds_arrived - trade_settled - awaiting_authorisation - funds_being_processed - trade_settling - closed description: >- The current status of the conversion. - name: conversion_date_from in: formData required: false type: string format: date description: ISO 8601 Date/time for start of range for when buy currency was delivered. - name: conversion_date_to in: formData required: false format: date type: string description: ISO 8601 Date/time for end of range for when buy currency was delivered. - name: settlement_date_from in: formData required: false type: string format: date description: ISO 8601 Date/time for start of date range for when the sell_currency was debited. - name: settlement_date_to in: formData required: false type: string format: date description: ISO 8601 Date/time for end of date range for when the sell_currency was debited. - name: created_at_from in: formData required: false type: string format: date description: ISO 8601 Date/time for start of date range for when the conversion was created. - name: created_at_to in: formData required: false type: string format: date description: ISO 8601 Date/time for end of date range for when the conversion was created. - name: updated_at_from in: formData required: false type: string format: date description: ISO 8601 Date/time for start of date range for when the conversion was updated. - name: updated_at_to in: formData required: false type: string format: date description: ISO 8601 Date/time for end of date range for when the conversion was updated. - name: unique_request_id in: formData required: false type: string description: Unique request ID of conversion. minLength: 1 maxLength: 255 - name: scope in: formData required: false type: string enum: - all - clients - own description: Specify which account level will be used - 'own' is the default. responses: '200': description: Success. schema: $ref: '#/definitions/ReportRequest' headers: X-Request-Id: type: string description: A unique reference for the request. '400': description: Client error. x-errors: - code: on_behalf_of_self category: on_behalf_of message: You cannot act on behalf of your own Contact params: '' - code: description_is_too_long category: description message: description can not be longer than 255 character(s) params: '{"maxlength": 255}' - code: buy_currency_is_in_invalid_format category: currency message: sell_currency is not a valid ISO 4217 currency code params: '{"type": "currency"}' - code: sell_currency_is_in_invalid_format category: currency message: sell_currency is not a valid ISO 4217 currency code params: '{"type": "currency"}' - code: partner_sell_amount_to_type_is_wrong category: currency message: partner_sell_amount_to should be of numeric type params: '{"type": "numeric" }' - code: scope_not_in_range category: currency message: 'scope should be in range: own, all, clients' params: '{"range": "own, all, clients"}' - code: client_status_not_in_range category: client message: 'client_status should be in range: awaiting_funds, funds_sent, funds_arrived, trade_settled, closed, awaiting_authorisation, funds_being_processed, trade_settling' params: '{"range": "awaiting_funds, funds_sent, funds_arrived, trade_settled, closed, awaiting_authorisation, funds_being_processed, trade_settling"}' - code: contact_not_found category: on_behalf_of message: Contact was not found for this id params: '' schema: $ref: '#/definitions/GenerateReportError' headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. '404': description: Resource not found. headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: >- Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. /reports/payments/create: post: tags: - Reporting x-api-group: manage summary: Generate Payment Report description: Returns a JSON structure with details of the payments report requested. operationId: GeneratePaymentReport consumes: - multipart/form-data produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 - name: on_behalf_of in: formData required: false type: string description: A contact UUID for the sub-account you're acting on behalf of. format: uuid - name: description in: formData required: false type: string description: Description that will be applied to report. minLength: 1 maxLength: 255 - name: currency in: formData required: false type: string description: Three-letter ISO 4217 currency code. format: iso-4217 pattern: ^[A-Z]{3}$ - name: amount_from in: formData required: false type: number description: Minimum payment amount to 2 decimal places. pattern: ^\d+(\.\d{1,3})?$ - name: amount_to in: formData required: false type: number description: Maximum payment amount to 2 decimal places. pattern: ^\d+(\.\d{1,3})?$ - name: bulk_upload_reference in: formData required: false type: string description: Reference to Bulk Upload. minLength: 1 maxLength: 255 - name: status in: formData required: false type: string description: Status of the payment. - name: payment_date_from in: formData required: false type: string format: date description: ISO 8601 format date for earliest payment date to include. - name: payment_date_to in: formData required: false type: string format: date description: ISO 8601 format date for latest payment date to include. - name: transferred_at_from in: formData required: false type: string format: date description: ISO 8601 format date/time for earliest payment transfer date. - name: transferred_at_to in: formData required: false type: string format: date description: ISO 8601 format date/time for latest payment transfer date. - name: created_at_from in: formData required: false type: string format: date description: ISO 8601 format date/time for earliest payment creation to include. - name: created_at_to in: formData required: false type: string format: date description: ISO 8601 format date/time for latest payment creation to include. - name: updated_at_from in: formData required: false type: string format: date description: ISO 8601 format date/time for earliest payment updated to include. - name: updated_at_to in: formData required: false type: string format: date description: ISO 8601 format date/time for latest payment updated to include. - name: beneficiary_id in: formData required: false type: string description: ID of the beneficiary. format: uuid - name: conversion_id in: formData required: false type: string description: Conversion unique ID. format: uuid - name: with_deleted in: formData required: false type: boolean description: Include deleted payments? - name: payment_group_id in: formData required: false type: string description: ID of the payment group. minLength: 1 maxLength: 255 - name: unique_request_id in: formData required: false type: string description: Unique request ID of payment. minLength: 1 maxLength: 255 - name: scope in: formData required: false type: string description: Specify which account level will be used - 'own' is the default value. responses: '200': description: Success. schema: $ref: '#/definitions/ReportRequest' headers: X-Request-Id: type: string description: A unique reference for the request. '400': description: Client error. x-errors: - code: on_behalf_of_self category: on_behalf_of message: You cannot act on behalf of your own Contact params: '' - code: contact_not_found category: on_behalf_of message: Contact was not found for this id params: '' - code: description_is_too_long category: description message: description can not be longer than 255 character(s) params: '{"maxlength": 255}' - code: currency_is_in_invalid_format category: currency message: buy_currency is not a valid ISO 4217 currency code params: '{"type": "currency"}' - code: amount_from_type_is_wrong category: amount_from message: amount_from should be of numeric type params: '{"type": "numeric"}' - code: updated_at_to_is_in_invalid_format category: update_at_to message: updated_at_to should be in ISO 8601 format params: '{"type": "datetime"}' - code: conversion_id_is_not_valid_uuid category: conversion_id message: conversion_id should be in UUID format params: '{"type": "datetime"}' - code: with_deleted_type_is_wrong category: with_deleted message: with_deleted should be of boolean type params: '{"type": "boolean"}' schema: $ref: '#/definitions/GenerateReportError' headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. '404': description: Resource not found. headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: >- Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. /reports/report_requests/find: get: tags: - Reporting x-api-group: manage summary: Find Report Requests description: Searches for report requests made. Returns a JSON structure with details of matching report requests. operationId: Find Report Requests produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 - name: short_reference in: query required: false type: string description: Your unique short reference. minLength: 1 maxLength: 25 - name: description in: query required: false type: string description: 'Description that was provided during the report creation process.' minLength: 1 maxLength: 255 - name: created_at_from in: query required: false type: string format: date description: Start date (for range), in ISO 8601 format, for when the reports were created. - name: created_at_to in: query required: false type: string format: date description: End date (for range), in ISO 8601 format, for when the reports were created. - name: updated_at_from in: query required: false type: string format: date description: Start date (for range), in ISO 8601 format, for when the reports were updated. - name: updated_at_to in: query required: false type: string format: date description: End date (for range), in ISO 8601 format, for when the reports were updated. - name: expiration_date_from in: query required: false type: string format: date description: Start date (for range), in ISO 8601 format, for when the report will be (was) expired. - name: expiration_date_to in: query required: false type: string format: date description: End date (for range), in ISO 8601 format, for when the report will be (was) expired. - name: status in: query required: false type: string description: Status of the report. enum: - completed - expired - failed - processing - name: report_type in: query required: false type: string enum: - beneficiary - conversion - payment - transaction description: 'Type of reports, that we expect to receive in search results.' - name: page in: query required: false type: integer description: Page number. pattern: ^\d+$ - name: per_page in: query required: false type: integer description: Number of results per page. pattern: ^\d+$ - name: order in: query required: false type: string default: created_at description: Any field name to change the sort order. minLength: 1 maxLength: 255 - name: order_asc_desc in: query required: false type: string enum: - asc - desc default: asc description: Sort records in ascending or descending order. - name: scope in: query required: false type: string enum: - all - clients - own description: Specify which account level will be used; 'own' is the default value. responses: '200': description: Success. schema: type: object properties: report_requests: type: array items: $ref: '#/definitions/ReportRequest' pagination: $ref: '#/definitions/Pagination' headers: X-Request-Id: type: string description: A unique reference for the request. '400': description: Client error. x-errors: - code: account_not_found category: id message: Account was not found for this id params: '' - code: updated_at_to_is_in_invalid_format category: updated_at_to message: updated_at_to should be in ISO 8601 format params: '{"type": "datetime"}' - code: status_not_in_range category: status message: 'status should be in range: processing, completed, expired, failed' params: '{"range": "processing, completed, expired, failed"}' - code: report_type_not_in_range category: report_type message: 'report_type should be in range: conversion, payment, beneficiary, transaction' params: '{ "range": "conversion, payment, beneficiary, transaction" }' - code: short_reference_is_too_long category: short_reference message: short_reference can not be longer than 25 character(s) schema: $ref: '#/definitions/GetReportRequestError' headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. '404': description: Resource not found. headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: >- Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. '/reports/report_requests/{id}': get: tags: - Reporting x-api-group: manage summary: Retrieves a Report Request with the given ID description: Searches for a report by ID. Returns a JSON structure with details of the specified report request. operationId: Retrieve a Report Request produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 - name: id in: path required: true type: string description: ID of the report. format: uuid - name: on_behalf_of in: query required: false type: string description: A contact UUID for the sub-account you're acting on behalf of. format: uuid responses: '200': description: Success. schema: $ref: '#/definitions/ReportRequest' headers: X-Request-Id: type: string description: A unique reference for the request. '400': description: Client error. x-errors: - code: account_not_found category: id message: Account was not found for this id params: '' - code: id_is_not_valid_uuid category: id message: id should be in UUID format params: '' schema: $ref: '#/definitions/GetReportRequestError' headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. '404': description: Resource not found. headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: >- Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. '/transactions/sender/{id}': get: tags: - Sender x-api-group: collect summary: Get Sender Details description: Returns a JSON structure with details of the sender of funds. operationId: GetSenderDetails produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 - name: id in: path required: true type: string description: The Related Entity UUID (related_entity_id) for the Transaction. format: uuid - name: on_behalf_of in: query required: false type: string description: A contact UUID for the sub-account you're acting on behalf of. format: uuid responses: '200': description: Success. schema: $ref: '#/definitions/Sender' headers: X-Request-Id: type: string description: A unique reference for the request. '400': description: Client error. x-errors: - code: id_is_not_valid_uuid category: id message: id should be in UUID format params: '' - code: on_behalf_of_self category: contact message: You cannot act on behalf of your own Contact params: '' schema: $ref: '#/definitions/GetSenderError' headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. '404': description: Sender not found. x-errors: - code: sender_not_found category: id message: Sender not found params: '' schema: $ref: '#/definitions/NotFoundError' headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: >- Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable. x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. /transactions/find: get: tags: - Transactions x-api-group: manage summary: Find Transactions description: Search for transactions. operationId: FindTransactions produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 - name: on_behalf_of in: query required: false type: string description: A contact UUID for the sub-account you're acting on behalf of. format: uuid - name: currency in: query required: false type: string description: Three-letter ISO currency code. format: iso-4217 pattern: ^[A-Z]{3}$ - name: amount in: query required: false type: string description: Amount the transaction is for. pattern: ^\d+(\.\d{1,3})?$ - name: amount_from in: query required: false type: string description: Minimum amount pattern: ^\d+(\.\d{1,3})?$ - name: amount_to in: query required: false type: string description: Maximum amount pattern: ^\d+(\.\d{1,3})?$ - name: action in: query required: false type: string enum: - conversion - conversion_deposit - deposit_refund - funding - margin - manual_intervention - manual_transaction - payment - payment_failure - payment_fee - payment_unrelease - top_up_fee - transfer description: The action that triggered the transaction. - name: related_entity_type in: query required: false type: string enum: - conversion - deposit - inbound_funds - payment - transfer description: >- The related entity that created the transaction.
For information, the related_entity_type for margin transactions is 'margin_transaction'. While it isn't possible to search directly by this value, margin transactions can be filtered using the ‘action’ field and may be included in the response. - name: related_entity_id in: query required: false type: string description: UUID of the related entity. format: uuid - name: related_entity_short_reference in: query required: false type: string description: Short reference code. minLength: 1 maxLength: 25 - name: status in: query required: false type: string enum: - completed - deleted - pending description: Transaction status. - name: type in: query required: false type: string enum: - credit - debit description: Whether the transaction debits or credits the account balance. - name: settles_at_from in: query required: false type: string format: date-time description: >- Earliest processing date. Any valid ISO 8601 format, e.g. "e.g. "2023-12-31T23:59:59Z". - name: settles_at_to in: query required: false type: string format: date-time description: 'Latest processing date. Any valid ISO 8601 format, e.g. "e.g. "2023-12-31T23:59:59Z".' - name: created_at_from in: query required: false type: string format: date-time description: 'Any valid ISO 8601 format, e.g. "2023-12-31T23:59:59Z".' - name: created_at_to in: query required: false type: string format: date-time description: 'Any valid ISO 8601 format, e.g. "2023-12-31T23:59:59Z".' - name: updated_at_from in: query required: false type: string format: date-time description: 'Any valid ISO 8601 format, e.g. "2023-12-31T23:59:59Z".' - name: updated_at_to in: query required: false type: string format: date-time description: 'Any valid ISO 8601 format, e.g. "2023-12-31T23:59:59Z".' - name: completed_at_from in: query required: false type: string format: date-time description: 'Any valid ISO 8601 format, e.g. "2023-12-31T23:59:59Z".' - name: completed_at_to in: query required: false type: string format: date-time description: 'Any valid ISO 8601 format, e.g. "2023-12-31T23:59:59Z".' - name: beneficiary_id in: query required: false type: string description: Beneficiary UUID. Required if "related_entity_type" is "payment". format: uuid - name: currency_pair in: query required: false type: string description: >- Concatenated string of the two currencies traded, e.g. "USDEUR". Required if "related_entity_type" is "conversion". pattern: ^[A-Z]{6}$ - name: scope in: query required: false type: string enum: - all - clients - own default: own description: '"Own" account, "clients" sub-accounts, or "all" accounts.' - name: page in: query required: false type: integer description: Page number pattern: ^\d+$ - name: per_page in: query required: false type: integer description: Number of results per page. pattern: ^\d+$ - name: order in: query required: false type: string default: created_at description: >- The field to sort by. Defaults to 'created_at' if not specified.

Please note that if you choose to order by 'completed_at', it's important to populate the query parameter 'status' with the value 'completed' in order to ensure that transactions are sequenced in the order they were processed. Without this, transactions that completed within the same second may not be ordered correctly. minLength: 1 maxLength: 255 - name: order_asc_desc in: query required: false type: string enum: - asc - desc default: asc description: Sort results in ascending or descending order. responses: '200': description: Success. schema: type: object properties: transactions: type: array items: $ref: '#/definitions/Transaction' pagination: $ref: '#/definitions/Pagination' headers: X-Request-Id: type: string description: A unique reference for the request. '400': description: Client error. x-errors: - code: transaction_not_found category: id message: No Transaction found for 21b552e0-d97c-612d-2335-34203ab3f267 params: '' - code: status_not_in_range category: status message: 'status should be in range: completed, pending, deleted' params: '{"range": "completed, pending, deleted" }' - code: amount_type_is_wrong category: amount message: 'amount should be of numeric type' params: '' - code: amount_from_type_is_wrong category: amount_from message: 'amount_from should be of numeric type' params: '' - code: amount_to_type_is_wrong category: amount_to message: 'amount_to should be of numeric type' params: '' - code: created_at_to_type_is_wrong category: created_as_to message: created_at_to should be of date type params: '{"type": "date"}' - code: completed_at_to_type_is_wrong category: completed_at_to message: completed_at_to should be of date type params: '{"type": "date"}' - code: related_entity_id_is_not_valid_uuid category: related_entity message: related_entity_id should be in UUID format params: '' - code: contact_not_found category: on_behalf_of message: Contact was not found for this id params: '' - code: on_behalf_of_self category: on_behalf_of message: You cannot act on behalf of your own Contact params: '' - code: related_entity_type_not_in_range category: related_entity_type message: "related_entity_type should be in range: conversion, payment, inbound_funds, deposit, transfer" params: '{ "range" => "conversion, payment, inbound_funds, deposit, transfer" }' - code: action_not_in_range category: action message: >- action should be in range: funding, conversion, payment, payment_failure, manual_intervention, manual_transaction, top_up_fee, transfer, conversion_deposit, deposit_refund, payment_unrelease, payment_fee, margin params: >- { "range" => "funding, conversion, payment, payment_failure, manual_intervention, manual_transaction, top_up_fee, transfer, conversion_deposit, deposit_refund, payment_unrelease, payment_fee, margin" } - code: scope_not_in_range category: scope message: "scope should be in range: own, all, clients" params: '{ "range" => "own, all, clients" }' schema: $ref: '#/definitions/FindTransactionsError' headers: X-Request-Id: type: string description: A unique reference for the request '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request '404': description: Resource not found. headers: X-Request-Id: type: string description: A unique reference for the request '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: >- Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request '503': description: Service is temporary unavailable x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request '/transactions/{id}': get: tags: - Transactions x-api-group: manage summary: Get Transaction description: Gets a transaction record. operationId: GetTransaction produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 - name: id in: path required: true type: string description: Transaction UUID format: uuid - name: on_behalf_of in: query required: false type: string description: A contact UUID for the sub-account you're acting on behalf of. format: uuid responses: '200': description: Success. schema: $ref: '#/definitions/Transaction' headers: X-Request-Id: type: string description: A unique reference for the request '400': description: Client error. x-errors: - code: transaction_not_found category: id message: No Transaction found for 38f7ca23-8090-403b-bc4a-eb1ba2ac9f29 params: '{"id": "38f7ca23-8090-403b-bc4a-eb1ba2ac9f29"}' - code: id_is_not_valid_uuid category: id message: id should be in UUID format params: '' schema: $ref: '#/definitions/GetTransactionError' headers: X-Request-Id: type: string description: A unique reference for the request '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request '404': description: Resource not found. schema: $ref: '#/definitions/NotFoundError' headers: X-Request-Id: type: string description: A unique reference for the request '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: >- Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. /transfers/create: post: tags: - Transfers x-api-group: pay summary: Create Transfer description: >- Transfers funds from one account to another. No currency conversion is performed, so the sending and receiving accounts must hold money in the same currency. operationId: CreateTransfer consumes: - multipart/form-data produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 - name: source_account_id in: formData required: true type: string description: Account UUID of the paying account. format: uuid - name: destination_account_id in: formData required: true type: string description: Account UUID of the receiving account. format: uuid - name: currency in: formData required: true type: string description: Three-letter ISO currency code. format: iso-4217 pattern: ^[A-Z]{3}$ - name: amount in: formData required: true type: number description: Amount pattern: ^\d+(\.\d{1,3})?$ - name: reason in: formData required: false type: string description: User-generated reason for transfer, freeform text. minLength: 1 maxLength: 255 - name: unique_request_id in: formData required: false type: string description: User-generated idempotency key. The value must be 100 characters or fewer. minLength: 1 maxLength: 255 responses: '200': description: Success. schema: $ref: '#/definitions/Transfer' headers: X-Request-Id: type: string description: A unique reference for the request. '400': description: Client error. x-errors: - code: duplicate_unique_request_id category: unique_request_id message: >- The unique_request_id provided for this transfer has already been used, please provide a new one to successfully submit this transfer params: '' - code: currency_is_in_invalid_format category: currency message: 'currency is not a valid ISO 4217 currency code' params: '{ "type" => "currency" }' - code: source_account_id_is_not_valid_uuid category: account_id message: source_account_id should be in UUID format params: '' - code: destination_account_id_is_not_valid_uuid category: account_id message: destination_account_id should be in UUID format params: '' - code: amount_type_is_wrong category: amount message: amount should be of numeric_greater_than_zero type params: '{"type" => "numeric_greater_than_zero" }' - code: reason_too_long category: reason message: Reason longer than 255 symbols params: '' - code: unique_request_id_too_long category: unique_request_id message: >- The unique_request_id provided for this transfer is longer than 100 characters, please provide a shorter one params: '' - code: cross_hub_transfer_not_permitted category: unique_request_id message: >- The accounts would require a transfer between two hub banks which is not permitted params: '' - code: amount_is_too_big category: amount message: Amount must be lower than ${limit} params: '' schema: $ref: '#/definitions/CreateTransferError' headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. '404': description: Resource not found. headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: >- Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. '/transfers/{id}': get: tags: - Transfers x-api-group: pay summary: Get Transfer description: Returns the money transfer record with the given ID. operationId: GetTransfer produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 - name: id in: path required: true type: string description: Transfer UUID, this was returned when the transfer was created. format: uuid - name: on_behalf_of in: query required: false type: string description: A contact UUID for the sub-account you're acting on behalf of. format: uuid responses: '200': description: Success. schema: $ref: '#/definitions/Transfer' headers: X-Request-Id: type: string description: A unique reference for the request. '400': description: Client error. x-errors: - code: id_is_not_valid_uuid category: id message: id should be in UUID format params: '' - code: on_behalf_of_self category: on_behalf_of message: You cannot act on behalf of your own Contact params: '' - code: transfer_not_found category: id message: Transfer was not found for this ID params: '' - code: contact_not_found category: on_behalf_of message: Contact was not found for this id params: '' schema: $ref: '#/definitions/GetTransferError' headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. '404': description: Resource not found. schema: $ref: '#/definitions/NotFoundError' headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: >- Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. /transfers/find: get: tags: - Transfers x-api-group: pay summary: Find Transfers description: Searches for transfer records that meet the given criteria. operationId: FindTransfers produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 - name: on_behalf_of in: query required: false type: string description: A contact UUID for the sub-account you're acting on behalf of. format: uuid - name: short_reference in: query required: false type: string description: Short reference code. minLength: 1 maxLength: 25 - name: source_account_id in: query required: false type: string description: Account UUID of the paying account. format: uuid - name: destination_account_id in: query required: false type: string description: Account UUID of the receiving account. format: uuid - name: status in: query required: false type: string enum: - cancelled - completed - pending description: Transfer status - name: currency in: query required: false type: string description: Three-letter ISO currency code. format: iso-4217 pattern: ^[A-Z]{3}$ - name: amount_from in: query required: false type: number description: Minimum amount pattern: ^\d+(\.\d{1,3})?$ - name: amount_to in: query required: false type: number description: Maximum amount pattern: ^\d+(\.\d{1,3})?$ - name: created_at_from in: query required: false type: string format: date-time description: >- Any valid ISO 8601 format, no older than two years e.g. "2024-12-31T23:59:59Z". - name: created_at_to in: query required: false type: string format: date-time description: >- Any valid ISO 8601 format, no older than two years e.g. "2024-12-31T23:59:59Z". - name: updated_at_from in: query required: false type: string format: date-time description: >- Any valid ISO 8601 format, no older than two years e.g. "2024-12-31T23:59:59Z". - name: updated_at_to in: query required: false type: string format: date-time description: >- Any valid ISO 8601 format, no older than two years e.g. "2024-12-31T23:59:59Z". - name: completed_at_from in: query required: false type: string format: date-time description: >- Any valid ISO 8601 format, no older than two years e.g. "2024-12-31T23:59:59Z". - name: completed_at_to in: query required: false type: string format: date-time description: >- Any valid ISO 8601 format, no older than two years e.g. "2024-12-31T23:59:59Z". - name: creator_contact_id in: query required: false type: string description: Contact UUID of transfer instructor. format: uuid - name: creator_account_id in: query required: false type: string description: Account UUID of transfer instructor. format: uuid - name: page in: query required: false type: integer description: Page number pattern: ^\d+$ - name: per_page in: query required: false type: integer description: Number of results per page. pattern: ^\d+$ - name: order in: query required: false type: string default: created_at description: >- The field name to sort by - "created_at", "updated_at" or "completed_at". Defaults to "created_at" if not specified..
enum: - created_at - updated_at - completed_at minLength: 1 maxLength: 255 - name: order_asc_desc in: query required: false type: string enum: - asc - desc default: asc description: Sort records in ascending or descending order. - name: unique_request_id in: query required: false type: string description: User-generated idempotency key. minLength: 1 maxLength: 255 responses: '200': description: Success. schema: type: object properties: transfers: type: array items: $ref: '#/definitions/Transfer' pagination: $ref: '#/definitions/Pagination' headers: X-Request-Id: type: string description: A unique reference for the request. '400': description: Client error. x-errors: - code: source_account_id_is_not_valid_uuid category: source_account_id message: source_account_id should be in UUID format params: '' - code: destination_account_id_is_not_valid_uuid category: destination_account_id message: destination_account_id should be in UUID format params: '' - code: amount_from_type_is_wrong category: amount_from message: amount_from should be of numeric type params: '{ "type" => "numeric" }' - code: amount_to_type_is_wrong category: amount_to message: amount_to should be of numeric type params: '{ "type" => "numeric" }' - code: status_not_in_range category: status message: 'status should be in range: pending, completed, cancelled' params: '{ "range" => "pending, completed, cancelled" }' - code: created_at_from_is_in_invalid_format category: created_at_from message: created_at_from should be in ISO 8601 format params: '{ "type" => "datetime" }' - code: created_at_to_is_in_invalid_format category: created_at_to message: created_at_to should be in ISO 8601 format params: '{ "type" => "datetime" }' - code: updated_at_from_is_in_invalid_format category: updated_at_from message: updated_at_from should be in ISO 8601 format params: '{ "type" => "datetime" }' - code: updated_at_to_is_in_invalid_format category: updated_at_to message: updated_at_to should be in ISO 8601 format params: '{ "type" => "datetime" }' - code: completed_at_from_is_in_invalid_format category: completed_at_from message: completed_at_from should be in ISO 8601 format params: '{ "type" => "datetime" }' - code: completed_at_to_is_in_invalid_format category: completed_at_to message: completed_at_to should be in ISO 8601 format params: '{ "type" => "datetime" }' - code: creator_contact_id_is_not_valid_uuid category: creator_contact_id message: creator_contact_id should be in UUID format params: '' - code: creator_account_id_is_not_valid_uuid category: creator_account_id message: creator_account_id should be in UUID format params: '' - code: on_behalf_of_self category: on_behalf_of message: You cannot act on behalf of your own Contact params: '' - code: contact_not_found category: on_behalf_of message: Contact was not found for this id params: '' schema: $ref: '#/definitions/FindTransfersError' headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request '404': description: Resource not found. headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: >- Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. /transfers/{id}/cancel: post: tags: - Transfers x-api-group: pay summary: Cancel Transfer description: Requests that a transfer be cancelled. operationId: CancelTransfer consumes: - multipart/form-data produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 - name: id in: path required: true type: string description: ID of the transfer to be cancelled. format: uuid responses: '200': description: Success. schema: $ref: '#/definitions/Transfer' headers: X-Request-Id: type: string description: A unique reference for the request. '400': description: Client error. x-errors: - code: id_is_not_valid_uuid category: id message: id should be in UUID format params: '' - code: transfer_not_found category: id message: Transfer was not found for this ID params: '' - code: transfer_is_already_cancelled category: status message: Transfer is already cancelled params: '' - code: transfer_is_already_completed category: status message: Transfer has already completed (settled) params: '' - code: invalid_status category: status message: Transfer is already cancelled params: '' - code: invalid_status category: status message: Transfer cannot be cancelled since it is already completed params: '' - code: invalid_extra_parameters category: base message: Invalid extra parameters extra_parameter params: '{ "parameters" => "extra_parameter" }' schema: $ref: '#/definitions/CancelTransferError' headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. '403': description: Forbidden. x-errors: - code: permission_denied message: You do not have permission 'transfer_write' to perform this operation params: '' schema: $ref: '#/definitions/ForbiddenError' headers: X-Request-Id: type: string description: A unique reference for the request. '404': description: Resource not found. headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: >- Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. /withdrawal_accounts/find: get: tags: - Withdrawal Accounts x-api-group: manage summary: Find Withdrawal Account description: >- Lists all withdrawal accounts assigned to an account. operationId: FindWithdrawlAccount produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 - name: account_id in: query required: false type: string description: >- The UUID of a sub-account you want to see the withdrawal accounts for. If omitted the withdrawal accounts for the house account and all sub-accounts are returned. format: uuid responses: '200': description: Success. schema: type: object properties: withdrawal_accounts: type: array items: $ref: '#/definitions/WithdrawalAccount' pagination: $ref: '#/definitions/Pagination' headers: X-Request-Id: type: string description: A unique reference for the request. '400': description: Client error. x-errors: - code: account_id_is_not_valid_uuid category: account_id message: account_id should be in UUID format params: '' schema: $ref: '#/definitions/GetWithdrawalAccountError' headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. '403': description: Forbidden. x-errors: - code: permission_denied message: permission_denied params: '' schema: $ref: '#/definitions/ForbiddenError' headers: X-Request-Id: type: string description: A unique reference for the request. '404': description: Resource not found. x-errors: - code: account_not_found message: Account was not found for this id params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: >- Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. /withdrawal_accounts/{withdrawal_account_id}/pull_funds: post: tags: - Withdrawal Accounts x-api-group: manage summary: Pull Funds From Withdrawal Account description: >- Submits an ACH pull request from a specific withdrawal account. The funds will be pulled into the account the specified withdrawal account is related to. operationId: PullFundsFromWithdrawalAccount produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 - name: withdrawal_account_id in: path required: true type: string description: >- The withdrawal account ID you want to pull the funds from. The funds will be pulled into the account ID related to this withdrawal account. format: uuid - name: reference in: formData required: true type: string description: The reference you want on the statement. minLength: 1 maxLength: 255 - name: amount in: formData required: true type: number description: The amount of funds to pull in USD. pattern: ^\d+(\.\d{1,3})?$ responses: '200': description: Success. schema: $ref: '#/definitions/WithdrawalPullFundsRequestDetails' headers: X-Request-Id: type: string description: A unique reference for the request. '400': description: Client error. x-errors: - code: withdrawal_account_not_found category: id message: No withdrawal account found for this account params: '' - code: withdrawal_account_id_is_not_valid_uuid category: id message: withdrawal_account_id should be in UUID format params: '' - code: reference_is_required category: reference message: reference is required params: '' - code: reference_invalid category: reference message: >- Only characters, digits, spaces, '_' and '-' allowed params: '' - code: reference_too_long category: reference message: Reference cannot be longer than 10 characters params: '' - code: amount_is_required category: amount message: amount is required params: '' - code: amount_is_in_invalid_format category: amount message: amount should be of numeric type with 2 dp params: '{ "type" => "numeric_with_precision", "precision" => 2 }' - code: amount_not_positive category: amount message: Amount should be positive params: '' - code: amount_not_allowed category: amount message: Amount should be up to 100000 limit params: '' schema: $ref: '#/definitions/WithdrawalPullFundsRequestError' headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. '403': description: Forbidden. x-errors: - code: permission_denied message: Permission denied params: '' schema: $ref: '#/definitions/ForbiddenError' headers: X-Request-Id: type: string description: A unique reference for the request. '404': description: Resource not found. x-errors: - code: account_not_found message: Account was not found for this id params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: >- Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. /demo/funding/create: post: tags: - Demo x-api-group: collect summary: Emulate inbound funds description: >- Triggers a production-like flow for processing funds, topping up CM balance or rejecting the transaction without topping up CM balance. This resource is only available in the Currencycloud Demo environment; it is not implemented in the Production environment. operationId: SimulateFunding consumes: - multipart/form-data produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token minLength: 32 - name: id in: formData required: true type: string description: Unique value in UUID format, user-generated with each request. format: uuid - name: sender_name in: formData required: false type: string default: Test sender description: Sender's name. minLength: 1 maxLength: 255 - name: sender_address in: formData required: false type: string description: Sender's address. minLength: 1 maxLength: 255 - name: sender_country in: formData required: false type: string description: Two character ISO sender country code. format: iso3166-1-alpha-2 pattern: ^[A-Z]{2}$ - name: sender_reference in: formData required: false type: string description: Sender reference. minLength: 1 maxLength: 255 - name: sender_account_number in: formData required: false type: string description: Sender account number. minLength: 1 maxLength: 255 - name: sender_routing_code in: formData required: false type: string description: Sender routing code. minLength: 1 maxLength: 255 - name: receiver_account_number in: formData required: true type: string description: A client's virtual account number or its sub-account (as seen in Find Funding Accounts). minLength: 1 maxLength: 255 - name: receiver_routing_code in: formData required: false type: string description: A client's virtual account routing code or its sub-account (as seen in Find Funding Accounts). minLength: 1 maxLength: 255 - name: amount in: formData required: true type: number description: Amount of the emulated transaction. pattern: ^\d+(\.\d{1,3})?$ - name: currency in: formData required: true type: string description: Three-digit currency code. format: iso-4217 pattern: ^[A-Z]{3}$ - name: action in: formData required: false type: string enum: - approve - reject default: approve description: Allows you to trigger approval or rejection behaviour. - name: on_behalf_of in: formData required: false type: string description: A contact UUID for the sub-account you're acting on behalf of. format: uuid responses: '200': description: Success. schema: $ref: '#/definitions/SimulateFunding' headers: X-Request-Id: type: string description: A unique reference for the request. '400': description: Client error. x-errors: - code: id_cant_be_blank category: id message: "ID can't be blank" params: '' - code: id_has_invalid_format category: id message: ID should be in UUID format params: '' - code: receiver_account_number_cant_be_blank category: receiver_account_number message: "Receiver account number can't be blank" params: '' - code: receiver_account_number_not_found category: receiver_account_number message: Receiver account number not found params: '' - code: sender_country_is_invalid category: sender_country message: Sender country is invalid params: '' - code: sender_country_has_invalid_format category: sender_country message: Sender country is not a valid ISO 3166 country code params: '' - code: amount_cant_be_blank category: amount message: "Amount can't be blank" params: '' - code: amount_must_be_greater_than_0 category: amount message: Amount must be greater than 0 params: '' - code: amount_must_be_less_than_1000000000000 category: amount message: Amount must be less than 1 000 000 000 000 params: '' - code: amount_is_invalid category: amount message: "Amount should be numeric with 2 decimal points separated by '.'" params: '' - code: action_is_invalid category: action message: 'Action is invalid, should be in range: approve, reject' params: '' - code: currency_cant_be_blank category: currency message: "Currency can't be blank" params: '' - code: currency_is_invalid category: currency message: Currency is invalid params: '' - code: currency_has_invalid_format category: currency message: Currency is not a valid ISO 4217 currency code params: '' - code: currency_not_supported_by_account category: currency message: Currency not supported by account params: '' - code: on_behalf_of_is_not_valid_uuid category: on_behalf_of message: on_behalf_of should be in UUID format params: '' - code: on_behalf_of_self category: on_behalf_of message: You cannot act on behalf of your own Contact params: '' schema: $ref: '#/definitions/CreateSimulateFundingError' headers: X-Request-Id: type: string description: A unique reference for the request. '401': description: Unauthorized. x-errors: - code: invalid_supplied_credentials category: username message: Authentication failed with the supplied credentials params: '' schema: $ref: '#/definitions/UnauthorizedError' headers: X-Request-Id: type: string description: A unique reference for the request. '403': description: Forbidden. x-errors: - code: permission_denied message: permission_denied params: '' schema: $ref: '#/definitions/ForbiddenError' headers: X-Request-Id: type: string description: A unique reference for the request. '404': description: Resource not found. headers: X-Request-Id: type: string description: A unique reference for the request. '429': description: Too many requests. x-errors: - code: too_many_requests category: base message: >- Too many requests have been made to the api. Please refer to the Developer Center for more information params: '' schema: $ref: '#/definitions/RateLimitError' headers: X-Request-Id: type: string description: A unique reference for the request. '500': description: Internal server error x-errors: - code: internal_server_error category: base message: Internal server error params: '' headers: X-Request-Id: type: string description: A unique reference for the request. '503': description: Service is temporary unavailable x-errors: - code: service_unavailable category: base message: Service is temporarily unavailable params: '' headers: X-Request-Id: type: string description: A unique reference for the request. /collections_screening/{transactionId}/complete: put: tags: - Transaction Approval x-api-group: collect summary: Accept or Reject Inbound Transaction description: >2- Allows you to accept or reject an inbound transaction before the funds are credited to the beneficiary’s account. operationId: CompleteCollectionsScreening consumes: - application/x-www-form-urlencoded produces: - application/json parameters: - name: X-Auth-Token in: header required: true type: string description: Authentication token. minLength: 32 - name: transactionId in: path required: true type: string description: The related_entity_id from the Cash Manager notification. format: uuid - name: accepted in: formData required: true type: boolean description: Should the transaction be accepted - true or false. enum: - true - false - name: reason in: formData required: true type: string description: > Reason for acceptance or rejection. If "accepted" is true, the value should be "accepted". If "accepted" is false, the value should be one of the other values. enum: - accepted - sanctioned_match - unsupported_currency - insufficient_transaction_information - suspected_fraud - internal_watchlist_match - suspected_money_laundering_activity minLength: 1 maxLength: 255 responses: '200': description: Success. schema: type: object properties: transaction_id: description: The transaction UUID type: string example: bdcca5e6-32fe-45f6-9476-6f8f518e6270 account_id: type: string description: Account UUID example: 7a116d7d-6310-40ae-8d54-0ffbe41dc1c9 house_account_id: description: House Account UUID type: string example: 7a116d7d-6310-40ae-8d54-0ffbe41dc1c9 result: type: object properties: reason: description: The reason why the transaction was accepted or rejected. type: string example: Accepted accepted: description: Was the transaction accepted? True or false. type: boolean example: true headers: X-Request-Id: type: string description: A unique reference for the request. '400': description: Client error. x-errors: - code: screening_already_expired category: base message: Screening is already expired. params: '' - code: transaction_id_is_not_valid_uuid category: base message: transaction_id should be in UUID format params: '' - code: accepted_type_is_wrong category: base message: accepted should be of boolean type params: '' - code: invalid_request category: base message: "Invalid reason provided, expected one of: sanctioned_match, unsupported_currency, insufficient_transaction_information, suspected_fraud, internal_watchlist_match, suspected_money_laundering_activity" params: '' headers: X-Request-Id: type: string description: A unique reference for the request schema: type: object properties: error_code: type: string example: '400' error_messages: type: object properties: base: type: object properties: code: type: string example: '400' message: type: string example: Screening is already expired. params: type: object example: {} '401': description: Authentication failed. x-errors: - code: invalid_supplied_credentials category: base message: Authentication failed with the supplied credentials params: '' schema: type: object properties: error_code: type: string example: auth_failed error_messages: type: object properties: username: type: array items: type: object properties: code: type: string example: invalid_supplied_credentials message: type: string example: Authentication failed with the supplied credentials params: type: object example: {} headers: X-Request-Id: type: string description: A unique reference for the request. '404': description: Resource not found. x-errors: - code: resource_not_found category: base message: Unable to find the resource. params: '' schema: type: object properties: error_code: type: string example: '404' error_messages: type: object properties: base: type: object properties: code: type: string example: '404' message: type: string example: Unable to find the resource. params: type: object example: {} headers: X-Request-Id: type: string description: A unique reference for the request. default: description: Unexpected error. headers: X-Request-Id: type: string description: A unique reference for the request. definitions: AcceptTermsResponse: type: object description: Accept Terms of Use response. properties: acceptance_id: type: string description: The ID of the acceptance. accepted_at: type: string format: date-time description: The date and time that the Terms of Use were accepted. Account: type: object description: Account. properties: id: type: string description: Account ID account_name: type: string description: Account name brand: type: string description: >- The value of this field is used for white labeling the Currencycloud user interface. your_reference: type: string description: User-generated reference code. status: type: string enum: - disabled - enabled - enabled_no_trading description: Account status street: type: string description: First line of address. city: type: string description: City state_or_province: type: string description: State or province two-letter ISO 3166 code. Only applicable to some countries. country: type: string description: Two-letter ISO country code. postal_code: type: string description: Postal code spread_table: type: string description: The name of the spread table assigned to the account. legal_entity_type: type: string description: The type of entity - individual or company. legal_entity_sub_type: type: string enum: - sole_trader - limited_liability_company - public_limited_company - limited_liability_partnership - unincorporated_partnership - unregistered_charity - registered_charity - trust - company_with_nominee_shareholders_or_shares_in_bearer_form - scottish_limited_partnership - other created_at: type: string description: The date/time the account was created. format: date-time updated_at: type: string description: The date/time the account was last updated. format: date-time identification_type: type: string description: The legal document that verifies the identity of the account owner, e.g. passport. enum: - citizenship_papers - credential_de_elector - drivers_license - drivers_license_canadian - employer_identification_number - existing_credit_card_details - green_card - incorporation_number - matricula_consular - national_id - none - others - passport - registro_federal_de_contribuyentes - social_insurance_number - social_security_number - visa identification_value: type: string description: >- The unique reference code for the identification document, e.g. passport number. identification_issuer: type: string description: >- ISO-3116 country code for the issuer of the identification document identification_expiration: type: string format: date description: >- Date of expiration for the identification document short_reference: description: The account's reference number. type: string api_trading: description: Is trading via the Currencycloud API enabled? type: boolean online_trading: description: Is trading via Currencycloud Direct enabled? type: boolean phone_trading: description: Is trading via phone enabled? type: boolean process_third_party_funds: description: Is the account enabled for third party funds? type: boolean settlement_type: description: The settlement type - bulk or net. enum: - bulk - net type: string terms_and_conditions_accepted: description: Have the terms and conditions been accepted? type: boolean agent_or_reliance: description: True for clients using Currencycloud’s regulatory coverage, false otherwise. type: boolean bank_account_verified: description: Has the bank account been verified? type: string enum: - yes - no - not required example: id: B7DE235A-FF5D-4252-83C2-06A605267FEA account_name: Company PLC brand: currencycloud your_reference: 0012345564ABC status: enabled street: 1 London Road city: London state_or_province: '' country: GB postal_code: AB12 CD1 spread_table: flat_0.5_percent legal_entity_type: company legal_entity_sub_type: limited_liability_company created_at: '2023-12-31T23:59:59.000Z' updated_at: '2023-12-31T23:59:59.000Z' identification_type: green_card identification_value: 123456789 identification_issuer: US identification_expiration: '2020-12-31' short_reference: 110104-00004 api_trading: true online_trading: true phone_trading: true process_third_party_funds: false settlement_type: bulk terms_and_conditions_accepted: true agent_or_reliance: true bank_account_verified: no AccountComplianceSettings: type: object description: Account compliance settings. properties: account_id: type: string description: Account UUID. industry_type: type: string description: String describing the accounts main industry. See merchant category codes for examples country_of_incorporation: type: string description: >- Two-letter ISO-3166 Country Code indicating the country the account is incorporated in. Should only be present for 'legal_entity_type: company' accounts date_of_incorporation: type: string format: date description: >- The date of the accounts incorporation. Should only be present for 'legal_entity_type: company' accounts business_website_url: type: string description: >- A fully qualified URL (including scheme) indicating a marketplace homepage, a link to a government page concerning the company or the literal string 'no_website_available'. expected_transaction_countries: type: array description: Array of ISO-3166 country codes that these accounts will transact to/from. items: type: string expected_transaction_currencies: type: array description: Array of ISO-4217 currency codes that these accounts will transact with. Limited to a single item. items: type: string expected_monthly_activity_volume: type: integer description: The number of transactions this account is expected to conduct. expected_monthly_activity_value: type: number description: The value of transactions this account is expected to conduct. The currency for this is the single item in 'expected_transaction_currencies'. tax_identification: type: string description: >- A tax identification value for companies in the United States or Australia; determined by 'accounts.country'. Should only be present for 'legal_entity_type: company' accounts. national_identification: type: string description: >- A National identification value for an individual in the United States; determined by 'accounts.country'. Should only be present for 'legal_entity_type: individual' accounts. country_of_citizenship: type: string description: >- An ISO-3166 country code for an individuals citizenship. Should only be present for 'legal_entity_type: individual' accounts. trading_address_street: type: string description: >- The street address of the companies trading location. Should only be present for 'legal_entity_type: company' accounts. trading_address_city: type: string description: >- The city of the companies trading location. Should only be present for 'legal_entity_type: company' accounts. trading_address_state: type: string description: >- The state of the companies trading location. Should only be present for 'legal_entity_type: company' accounts. trading_address_postalcode: type: string description: >- The postal code of the companies trading location. Should only be present for 'legal_entity_type: company' accounts. trading_address_country: type: string description: >- The ISO-3166 country code of the companies trading location. Should only be present for 'legal_entity_type: company' accounts. customer_risk: description: The risk classification for this account's behaviour. type: string enum: - LOW - MEDIUM - HIGH example: account_id: B7DE235A-FF5D-4252-83C2-06A605267FEA industry_type: Telecom Services country_of_incorporation: US date_of_incorporation: 2020-01-30 business_website_url: https://currencycloud.com expected_transaction_countries: ["US", "GB"] expected_transaction_currencies: ["USD"] expected_monthly_activity_volume: 10 expected_monthly_activity_value: 30.00 tax_identification: some-tax-id national_identification: some-national-id country_of_citizenship: US trading_address_street: some-street trading_address_city: some-city trading_address_state: NY trading_address_postalcode: 90210 trading_address_country: US customer_risk: LOW AccountPaymentChargesSetting: type: object description: Account Payment Charges Setting. properties: charge_settings_id: description: Unique ID type: string account_id: description: Account ID type: string charge_type: description: The charge type - shared or ours. enum: - ours - shared type: string enabled: description: Is this charge type enabled for this account? type: boolean default: description: Is this the default charge type for this account? type: boolean example: charge_settings_id: 2b7db581-a810-0132-a8c2-10b11cb33cfc account_id: 2b6db571-a810-0144-a9b2-10a22cb33cf9 charge_type: shared enabled: true default: true AuthenticationToken: type: object description: Authentication token properties: auth_token: type: string description: >- Currently a randomly-generated 32-digit authentication token. Clients must store this securely and destroy it when it is no longer needed. example: auth_token: 043cc6069f5e32757647641460d1d5ed AvailableCurrencies: type: object description: Available currencies properties: code: description: Three-letter ISO currency code. type: string decimal_places: description: The number of decimal places used by the currency. type: integer name: description: The name of the currency. type: string online_trading: description: Can the currency be traded online? type: boolean enum: - true - false can_buy: description: Can the currency be bought? type: boolean enum: - true - false can_sell: description: Can the currency be sold? type: boolean enum: - true - false example: code: AED decimal_places: 2 name: United Arab Emirates Dirham online_trading: true can_buy: true can_sell: true Balance: type: object description: Balance. properties: id: type: string description: Balance UUID format: UUID account_id: type: string description: Account UUID format: UUID currency: type: string description: Three-letter ISO currency code for the currency the amount is shown in. amount: type: string description: The balance amount. created_at: type: string format: date-time description: Date/time the record was created. updated_at: type: string format: date-time description: Date/time the record was last updated. example: id: 18230F1D-648A-406A-AD1F-A09CBC02E9E9 account_id: TcC currency: USD amount: '1000.00' created_at: '2023-12-31T23:59:59.000Z' updated_at: '2023-12-31T23:59:59.000Z' BankDetails: type: object description: Bank Details required: - identifier_type - identifier_value additionalProperties: false properties: identifier_type: type: string description: The type of identifier used to identify the account (e.g. IBAN). identifier_value: type: string description: The value of the identifier of the account in the format of the identifier_type (e.g. IBAN code). account_number: type: string description: Account number bic_swift: type: string description: BIC/Swift code. bank_name: type: string description: Bank name bank_branch: type: string description: Bank branch bank_address: type: string description: Bank address bank_city: type: string description: City of the bank. bank_state: type: string description: State the bank is situated in. Available in all countries using states. bank_post_code: type: string description: The bank's post code or the zip code for USA banks. bank_country: type: string description: Full country name. bank_country_ISO: type: string description: Two-letter ISO country code. currency: type: string description: Three-letter ISO currency code. example: identifier_type: iban identifier_value: FR7530002002460000012345X12 account_number: FR7530002002460000012345X12 bic_swift: CRLYFRPPXXX bank_name: CREDIT LYONNAIS bank_branch: AG STALINGRAD bank_address: 212 BOULEVARD DE LA VILLETTE bank_city: PARIS bank_state: PARIS bank_post_code: 75019 bank_country: FRANCE bank_country_ISO: FR currency: null Beneficiary: type: object description: Beneficiary properties: id: type: string description: Beneficiary UUID bank_account_holder_name: type: string description: Bank account holder's name. name: type: string description: Beneficiary's name email: type: string description: Beneficiary's email address payment_types: type: array items: type: string description: The payment type - regular (local) or priority (Swift). enum: - priority - regular beneficiary_address: type: array items: type: string description: Line of address. beneficiary_country: type: string description: Two-letter ISO country code. beneficiary_entity_type: type: string description: Beneficiary legal entity type - company or individual. enum: - company - individual beneficiary_company_name: type: string description: For companies beneficiary_first_name: type: string description: For individuals beneficiary_last_name: type: string description: For individuals beneficiary_city: type: string description: City beneficiary_postcode: type: string description: Postal code beneficiary_state_or_province: type: string description: State or province. beneficiary_date_of_birth: type: string description: 'For companies, this is the foundation date of the company. For individuals, it is their date of birth.' beneficiary_identification_type: type: string description: A legal document that verifies the identity of the beneficiary. beneficiary_identification_value: type: string description: >- A unique reference code for the identification document, such as a passport number. bank_country: type: string description: >- Two-letter ISO code for the country in which the beneficiary's bank account is held. bank_name: type: string description: Bank name bank_account_type: type: string description: Bank account type. enum: - checking - savings currency: type: string description: Currency in which money is held in the beneficiary's bank account. Three-digit currency code. account_number: type: string description: Bank account number. routing_code_type_1: type: string description: Local payment routing system. routing_code_value_1: type: string description: Value for "routing_code_type_1". routing_code_type_2: type: string description: Local payment routing system. routing_code_value_2: type: string description: Value for "routing_code_type_2". bic_swift: type: string description: BIC/Swift code iban: type: string description: IBAN code default_beneficiary: type: string description: Payments are made automatically to default beneficiaries when a beneficiary is not specified. enum: - 'true' - 'false' creator_contact_id: type: string description: Contact UUID of beneficiary creator. bank_address: type: array items: type: string description: Line of address. created_at: type: string description: Date the beneficiary record was created. format: date-time updated_at: type: string description: Date the beneficiary record was last updated. format: date-time beneficiary_external_reference: type: string description: Beneficiary external reference. business_nature: type: string description: Beneficiary nature of business. company_website: type: string description: Beneficiary company website. example: id: a6000ce9-46b8-49a7-9f5b-325ed3f047c2 bank_account_holder_name: Company PLC name: Sample name email: '' payment_types: - regular beneficiary_address: - 1 My Road - London beneficiary_country: AU beneficiary_entity_type: company beneficiary_company_name: Sample Company Name beneficiary_first_name: '' beneficiary_last_name: '' beneficiary_city: '' beneficiary_postcode: '' beneficiary_state_or_province: '' beneficiary_date_of_birth: '' beneficiary_identification_type: none beneficiary_identification_value: '' bank_country: AU bank_name: Sample Bank Name bank_account_type: checking currency: AUD account_number: '123456783' routing_code_type_1: bsb_code routing_code_value_1: '123456' routing_code_type_2: '' routing_code_value_2: '' bic_swift: '' iban: '' default_beneficiary: 'false' creator_contact_id: 58e78791-e0e5-012c-2dee-001e52f3c730 bank_address: - Line 1 - Line 2 created_at: '2023-12-31T23:59:59.000Z' updated_at: '2023-12-31T23:59:59.000Z' beneficiary_external_reference: B-5847789 business_nature: Government agency company_website: https://www.gov.uk/ BeneficiaryRequirements: type: object description: Beneficiary requirements. properties: payment_type: description: The type of payment - 'priority' (Swift) or 'regular' (local). type: string enum: - priority - regular acct_number: type: string description: An account number is required. bic_swift: type: string description: BIC / Swift code is required. beneficiary_address: type: string description: Beneficiary's address beneficiary_city: type: string description: Beneficiary's city beneficiary_country: type: string description: Beneficiary's country beneficiary_postcode: type: string description: Beneficiary's postcode beneficiary_state_or_province: type: string description: Beneficiary's state or province beneficiary_first_name: type: string description: Beneficiary's first name beneficiary_last_name: type: string description: Beneficiary's last name beneficiary_entity_type: type: string description: Type of entity enum: - company - individual sort_code: type: string description: A sort code is required. aba: type: string description: An ABA (American Bankers Association) routing number is required. bsb_code: type: string description: A BSB (Bank State Branch) number is required. institution_no: type: string description: An institution number is required. bank_code: type: string description: A bank code is required. branch_code: type: string description: A branch code is required. clabe: type: string description: A CLABE (Clave Bancaria Estandarizada) code is required. cnaps: type: string description: A CNAPS (China National Advanced Payment System) code is required. example: payment_type: regular acct_number: '^\\d{1,17}$' aba: '^[0-9A-Z]{9}$' beneficiary_address: '^.{1,255}' beneficiary_city: '^.{1,255}' beneficiary_country: '^[A-z]{2}$' beneficiary_postcode: '^.{1,255}' beneficiary_state_or_province: '^.{1,255}' beneficiary_first_name: '^.{1,255}' beneficiary_last_name: '^.{1,255}' beneficiary_entity_type: individual BeneficiaryAccountVerificationResult: type: object description: Beneficiary account verification result. properties: answer: description: The account verification result - 'full_match', 'close_match' or 'no_match'. type: string enum: - close_match - full_match - no_match actual_name: type: string description: The actual name of the account holder. reason_code: type: string description: Encoded reason. reason: type: string description: Description of the reason. reason_type: type: string description: Category of reason - 'okay', 'warning' or 'rejected'. example: answer: full_match actual_name: Joe Bloggs reason_code: AV100 reason: Full match reason_type: okay CancelTransferError: type: object description: | Client error information for the Cancel Transfer endpoint. required: - error_code - error_messages properties: error_code: type: string description: A high-level error code for the whole request. error_messages: type: object description: >- Detailed error information for individual input parameters that failed validation. Object keys are the names of the invalid input parameters. Each parameter may have one or more reasons why it failed. additionalProperties: type: array items: type: object description: >- An object that represents one of the reasons why the input parameter failed. required: - code - message properties: code: type: string description: >- A unique code that identifies this error. It can be used for translations. message: type: string description: An explanation of the error in English. params: type: object default: {} description: >- Relevant validation rules that failed. This can be used for translations. example: minlength: 1 maxlength: 255 Contact: type: object description: Contact. properties: login_id: type: string description: The contact's Currencycloud login ID. id: type: string description: The contact's ID. your_reference: type: string description: The user-generated reference code given to the contact. first_name: type: string description: The contact's first name. last_name: type: string description: The contact's last name. account_id: type: string description: The contact's account ID. account_name: type: string description: The account name. status: type: string description: Contact status - "enabled" allows the contact to conduct activity on the sub-account, "not_enabled" disables the contact. phone_number: type: string description: The contact's phone number. mobile_phone_number: type: string description: The contact's mobile phone number. locale: type: string description: The contact's locale. timezone: type: string description: The contact's timezone. email_address: type: string description: The contact's email address. date_of_birth: type: string description: The contact's date of birth. created_at: type: string description: The date the contact record was created. updated_at: type: string description: The date the contact record was last updated. example: login_id: john.smith id: 543477161-91de-012f-e284-1e0030c7f352 your_reference: ACME12345 first_name: John last_name: Smith account_id: 87077161-91de-012f-e284-1e0030c7f352 account_name: Company PLC status: enabled phone_number: 06554 87845 mobile_phone_number: 07564 534 54 locale: en-US timezone: Europe/London email_address: john.smith@company.com date_of_birth: '1980-01-22T00:00:00.000Z' created_at: '2023-12-31T23:59:59.000Z' updated_at: '2023-12-31T23:59:59.000Z' Conversion: type: object description: Conversion. properties: id: type: string description: Conversion UUID account_id: type: string description: UUID of the Account that the Conversion belongs to. creator_contact_id: type: string description: UUID of the Contact that requested the conversion. short_reference: type: string description: A human readable unique trade indentifier, in the format YYYYMMDD-XXXXXX. settlement_date: type: string description: The date and time by which funds need to be available to settle the trade. conversion_date: type: string description: The date the conversion will be made. status: type: string description: Current conversion status. enum: - awaiting_authorisation - awaiting_funds - closed - funds_arrived - funds_being_processed - funds_sent - trade_settled - trade_settling currency_pair: description: Concatenated string of the two currencies traded, eg. "USDEUR". type: string buy_currency: type: string description: Three character ISO code for the currency being bought. sell_currency: type: string description: Three character ISO code for the currency being sold. fixed_side: type: string description: Which currency side is fixed - the buy or sell one. enum: - buy - sell partner_buy_amount: type: string description: The amount of buy currency for a partner. partner_sell_amount: type: string description: The amount of sell currency for a partner. client_buy_amount: type: string description: The amount of buy currency for a client. client_sell_amount: type: string description: The amount of sell currency for a client. mid_market_rate: type: string description: The midpoint between the buy and sell rates. core_rate: type: string description: The market rate. partner_rate: type: string description: The market rate + Currencycloud commission (if applicable). client_rate: type: string description: The rate that will be returned to your customer after all spread has been applied. deposit_required: type: boolean description: Is a deposit required for the conversion? enum: - true - false deposit_amount: type: string description: The amount of a deposit required. deposit_currency: type: string description: Three-letter ISO currency code for the currency the deposit is shown in. deposit_status: type: string description: Deposit status enum: - awaiting_deposit - deposit_received - not_required deposit_required_at: type: string description: Date by which deposit is required, format YYYY-MM-DDThh:mm:ss.SSSZ. unallocated_funds: type: string description: The buy amount from the trade, that has not been allocated towards funding a payment. payment_ids: type: array description: The id of payments linked with this conversion - these payments won’t be processed until the conversion settles. items: type: string unique_request_id: description: User-generated idempotency key. Beneficial for request tracking / management. type: string created_at: type: string description: Date the conversion was created. updated_at: type: string description: Date the conversion was last updated. example: id: c9b6b851-10f9-4bbf-881e-1d8a49adf7d8 account_id: 0386e472-8d2b-45a8-9c14-a393dce5bf3a creator_contact_id: ac743762-5860-4b78-9c6a-82c5bca68867 short_reference: 20140507-VRTNFC settlement_date: '2023-12-31T23:59:59.000Z' conversion_date: '2023-12-31T23:59:59.000Z' status: awaiting_funds currency_pair: GBPUSD buy_currency: GBP sell_currency: USD fixed_side: buy partner_buy_amount: '1000.00' partner_sell_amount: '1587.80' client_buy_amount: '1000.00' client_sell_amount: '1594.90' mid_market_rate: '1.5868' core_rate: '1.5871' partner_rate: '1.5878' client_rate: '1.5949' deposit_required: true deposit_amount: '47.85' deposit_currency: GBP deposit_status: awaiting_deposit deposit_required_at: '2023-12-31T23:59:59.000Z' unallocated_funds: '1000.00' payment_ids: - b934794f-d810-4b4a-b360-5a0f47b7126e unique_request_id: 1234567890abc created_at: '2023-12-31T23:59:59.000Z' updated_at: '2023-12-31T23:59:59.000Z' ConversionCancellationQuote: type: object description: Projected cost to cancel a conversion. properties: amount: type: string description: The cost to cancel the conversion. currency: type: string description: The currency of the cost to cancel the conversio - a three-letter ISO currency code. event_date_time: type: string format: date-time description: The date and time of the conversion cancellation quote. example: amount: 100 currency: GBP event_date_time: '2023-07-14T17:03:11.000Z' ConversionProfitAndLoss: type: object description: Recognised profit / loss on a conversion. properties: conversion_profit_and_losses: type: array items: $ref: '#/definitions/ConversionCancellation' pagination: $ref: '#/definitions/Pagination' example: conversion_profit_and_losses: - account_id: 2090939e-b2f7-3f2b-1363-4d235b3f58af contact_id: 8a98ebac-6f88-e205-a685-4d235b1b088b event_account_id: 2090939e-b2f7-3f2b-1363-4d235b3f58af event_contact_id: 8a98ebac-6f88-e205-a685-4d235b1b088b conversion_id: 648945d7-1cff-4dae-a432-7d5501c77a8a amount: '-0.28' currency: GBP notes: Cancel the conversion due to personal issues event_type: self_service_cancellation event_date_time: '2023-11-10T12:18:56.000Z' - account_id: 67e1b252-40a7-454d-a097-8f77d385889d contact_id: 04d0c252-7b78-4d72-b408-df78841e3ddc event_account_id: 67e1b252-40a7-454d-a097-8f77d385889d event_contact_id: 04d0c252-7b78-4d72-b408-df78841e3ddc conversion_id: 540c2ea3-9916-4efb-9cd9-0f8ce63a5c04 amount: '-0.83' currency: USD notes: Cancel due to very important reason event_type: self_service_cancellation event_date_time: '2023-11-10T12:18:56.000Z' pagination: total_entries: 2 total_pages: 1 current_page: 1 per_page: 25 previous_page: -1 next_page: 2 order: created_at order_asc_desc: asc ConversionCancellation: type: object description: Cancelled Conversion properties: account_id: type: string description: UUID of the Account that the Conversion belongs to. contact_id: type: string description: UUID of the Contact that performed the action that generated profit or loss. event_account_id: type: string description: The account_id of the trade's account. event_contact_id: type: string description: The contact_id of the trade's contact. conversion_id: type: string description: UUID of the Conversion. amount: type: string description: The amount of the profit or loss. currency: type: string description: Three-letter ISO currency code for the currency the amount is shown in. notes: type: string description: Additional information regarding the event. event_type: type: string description: The type of event (e.g. cancellation). event_date_time: type: string format: date-time description: The date and time of the quote. example: account_id: 2090939e-b2f7-3f2b-1363-4d235b3f58af contact_id: 8a98ebac-6f88-e205-a685-4d235b1b088b event_account_id: 2090939e-b2f7-3f2b-1363-4d235b3f58af event_contact_id: 8a98ebac-6f88-e205-a685-4d235b1b088b conversion_id: 648945d7-1cff-4dae-a432-7d5501c77a8a amount: '-0.28' currency: GBP notes: Cancel the conversion due to personal issues event_type: self_service_cancellation event_date_time: '2023-11-10T12:18:56.000Z' ConversionDateChange: type: object description: Conversion Date change record properties: conversion_id: type: string description: UUID of the Conversion. amount: type: string description: The cost of changing the date of the conversion. currency: type: string description: The currency of the cost to change the conversion date. A three-letter ISO currency code. new_conversion_date: type: string description: The new date the conversion will be made. new_settlement_date: type: string description: The new date and time by which funds need to be available to settle the trade. old_conversion_date: type: string description: The previous date the conversion was to be made. old_settlement_date: type: string description: The previous date and time by which funds needed to be available to settle the trade. event_date_time: type: string description: The date and time of the date change or date change quote. ConversionDates: type: object description: Conversion dates. properties: first_conversion_cutoff_datetime: type: string format: date-time description: The first conversion date and cutoff time by when conversions can be created. first_conversion_date: type: string format: date description: The first available date that a trade can be made on, in the format YYYY-MM-DD. next_day_conversion_date: type: string format: date description: The next available date that a trade can be made on, in the format YYYY-MM-DD. default_conversion_date: type: string format: date description: The default available date that a trade can be made on, in the format YYYY-MM-DD. optimize_liquidity_conversion_date: type: string format: date description: Optimal conversion date for maximizing chances of getting a successful rate. invalid_conversion_dates: type: object additionalProperties: type: string description: >- Maps dates (eg. "2020-12-27") to string values that explain why trading is not available on the date (eg. "No trading on Sunday"). offline_conversion_dates: type: array items: type: string description: The list of available offline conversion dates. example: first_conversion_cutoff_datetime: '2020-11-18T15:50:00+00:00' first_conversion_date: '2020-11-18' next_day_conversion_date: '2020-11-19' default_conversion_date: '2020-11-20' optimize_liquidity_conversion_date: '2020-11-23' invalid_conversion_dates: '2020-11-21': No trading on Saturday '2020-11-22': No trading on Sunday '2020-11-28': No trading on Saturday '2020-11-29': No trading on Sunday '2020-12-05': No trading on Saturday '2020-12-06': No trading on Sunday '2020-12-12': No trading on Saturday '2020-12-13': No trading on Sunday '2020-12-19': No trading on Saturday '2020-12-20': No trading on Sunday '2020-12-25': Christmas Day '2020-12-26': No trading on Saturday '2020-12-27': No trading on Sunday '2020-12-28': Boxing Day OBS '2021-01-01': New Year's Day '2021-01-02': No trading on Saturday '2021-01-03': No trading on Sunday offline_conversion_dates: - '2020-11-23' ConversionSplitDetails: properties: id: type: string description: Conversion ID short_reference: type: string description: A human readable unique trade indentifier, in the format YYYYMMDD-XXXXXX. sell_currency: type: string description: Three character ISO code for currency sold. buy_currency: type: string description: Three character ISO code for currency bought. buy_amount: type: string description: The amount of the buy_currency being bought. sell_amount: type: string description: The amount of the sell_currency being sold. settlement_date: type: string format: date-time description: The date and time by which funds need to be available to settle the trade. conversion_date: type: string format: date-time description: The date the conversion will be made. status: type: string description: Status of the related trade. enum: - awaiting_authorisation - awaiting_funds - closed - funds_arrived - funds_being_processed - funds_sent - trade_settled - trade_settling ConversionSplit: type: object properties: parent_conversion: $ref: '#/definitions/ConversionSplitDetails' description: The parent conversion. child_conversion: $ref: '#/definitions/ConversionSplitDetails' description: The child conversion. ConversionSplitHistory: type: object properties: origin_conversion: $ref: '#/definitions/ConversionSplitDetails' description: The original conversion (before split). parent_conversion: $ref: '#/definitions/ConversionSplitDetails' description: The parent conversion (after split). child_conversions: type: array items: $ref: '#/definitions/ConversionSplitDetails' description: The child conversion (after split). ReportRequest: type: object description: Report record properties: id: type: string description: Unique ID for the report. short_reference: type: string description: Human readable unique ID. description: type: string description: Description provided when the report was created. search_params: type: object default: {} description: >- Parameters to select specific range of items that we want to see in the report. report_type: type: string description: The type of report - conversion or payment. enum: - conversion - payment status: type: string description: The status of the report enum: - completed - expired - failed - processing expiration_date: type: string format: date description: ISO 8601 Date of report expiration. report_url: type: string description: URL to use to download the CSV report. account_id: type: string description: ID of the account. contact_id: type: string description: ID of the contact. created_at: type: string format: date description: ISO 8601 date when the report was created. updated_at: type: string format: date description: ISO 8601 date when the report was last updated. example: id: 950dac23-c4af-4a6a-ba19-344560abe2a9 short_reference: RP-30250607-VDTMFA description: 'Description, which was provided during the report creation process' search_params: short_reference: RP-30250607-VDTMFA description: 'Description, which was provided during the report creation process' account_id: 9a7ba866-56d1-39c6-8ca2-12cb4141213a contact_id: 543a7716c-816e-01af-3214-2e0030f6f25a created_at_from: '2014-01-12' created_at_to: '2014-01-17' expiration_date_from: '2014-01-12' expiration_date_to: '2014-01-17' status: completed report_type: Payment report_type: payment status: completed expiration_date: '2023-03-23T00:00:00.000Z' report_url: >- https://tcc.s3.amazonaws.com/reports/transaction_reports/000/000/011/transaction_report_23_03_2020.csv?1471682433 account_id: B7DE235A-FF5D-4252-83C2-06A605267FEA contact_id: 543477161-91de-012f-e284-1e0030c7f352 created_at: '2023-03-16T23:59:59.000Z' updated_at: '2023-03-16T23:59:59.000Z' FundingTransaction: description: The transaction information. properties: id: description: The Related Entity UUID (related_entity_id) for the transaction. type: string amount: description: The transaction amount. type: string currency: description: The three-letter currency code. type: string rail: description: The transaction rail. type: string additional_information: description: Any additional information. type: string receiving_account_routing_code: description: The routing code. type: string value_date: description: The value date in ISO-8601 format. format: date-time type: string receiving_account_number: description: The transaction receiving account number. type: string receiving_account_iban: description: The transaction receiving account IBAN. type: string created_at: description: The created at date in ISO-8601 format. format: date-time type: string updated_at: description: The last time the transaction was updated in ISO-8601 format. format: date-time type: string completed_at: description: The completed date in ISO-8601 format. format: date-time type: string sender: $ref: '#/definitions/SenderInformation' example: additional_information: ABCD20231016143117 amount: 1.11 completed_at: 2022-12-03T10:15:30+00:00 created_at: 2022-12-03T10:15:30+00:00 currency: USD id: 4924919a-6c28-11ee-a3e3-63774946bad2 rail: SEPA receiving_account_iban: null receiving_account_number: 32847346 receiving_account_routing_code: 123456789 updated_at: 2022-12-03T10:15:30+00:00 value_date: 2022-12-03T10:00:00+00:00 sender: sender_account_number: 8119645406 sender_address: Some street sender_bic: null sender_country: GB sender_iban: null sender_id: 5c675fa4-fdf0-4ee6-b5bb-156b36765433 sender_name: Test sender sender_routing_code: null type: object CreateAccountError: type: object description: | Client error information for the Create Account endpoint. required: - error_code - error_messages properties: error_code: type: string description: A high-level error code for the whole request. error_messages: type: object description: >- Detailed error information for individual input parameters that failed validation. Object keys are the names of the invalid input parameters. Each parameter may have one or more reasons why it failed. additionalProperties: type: array items: type: object description: >- An object that represents one of the reasons why the input parameter failed. required: - code - message properties: code: type: string description: >- A unique code that identifies this error. It can be used for translations. message: type: string description: An explanation of the error in English. params: type: object default: {} description: >- Relevant validation rules that failed. This can be used for translations. example: minlength: 1 maxlength: 255 CreateBeneficiaryError: type: object description: | Client error information for the Create Beneficiary endpoint. required: - error_code - error_messages properties: error_code: type: string description: A high-level error code for the whole request. error_messages: type: object description: >- Detailed error information for individual input parameters that failed validation. Object keys are the names of the invalid input parameters. Each parameter may have one or more reasons why it failed. additionalProperties: type: array items: type: object description: >- An object that represents one of the reasons why the input parameter failed. required: - code - message properties: code: type: string description: >- A unique code that identifies this error. It can be used for translations. message: type: string description: An explanation of the error in English. params: type: object default: {} description: >- Relevant validation rules that failed. This can be used for translations. example: minlength: 1 maxlength: 255 CreateContactError: type: object description: | Client error information for the Create Contact endpoint. required: - error_code - error_messages properties: error_code: type: string description: A high-level error code for the whole request. error_messages: type: object description: >- Detailed error information for individual input parameters that failed validation. Object keys are the names of the invalid input parameters. Each parameter may have one or more reasons why it failed. additionalProperties: type: array items: type: object description: >- An object that represents one of the reasons why the input parameter failed. required: - code - message properties: code: type: string description: >- A unique code that identifies this error. It can be used for translations. message: type: string description: An explanation of the error in English. params: type: object default: {} description: >- Relevant validation rules that failed. This can be used for translations. example: minlength: 1 maxlength: 255 CreateConversionError: type: object description: | Client error information for the Create Conversion endpoint. required: - error_code - error_messages properties: error_code: type: string description: A high-level error code for the whole request. error_messages: type: object description: >- Detailed error information for individual input parameters that failed validation. Object keys are the names of the invalid input parameters. Each parameter may have one or more reasons why it failed. additionalProperties: type: array items: type: object description: >- An object that represents one of the reasons why the input parameter failed. required: - code - message properties: code: type: string description: >- A unique code that identifies this error. It can be used for translations. message: type: string description: An explanation of the error in English. params: type: object default: {} description: >- Relevant validation rules that failed. This can be used for translations. example: minlength: 1 maxlength: 255 CreatePaymentAuthorisationError: type: object description: | Client error information for the Create Payment Authorise endpoint. required: - error_code - error_messages properties: error_code: type: string description: A high-level error code for the whole request. error_messages: type: object description: >- Detailed error information for individual input parameters that failed validation. Object keys are the names of the invalid input parameters. Each parameter may have one or more reasons why it failed. additionalProperties: type: array items: type: object description: >- An object that represents one of the reasons why the input parameter failed. required: - code - message properties: code: type: string description: >- A unique code that identifies this error. It can be used for translations. message: type: string description: An explanation of the error in English. params: type: object default: {} description: >- Relevant validation rules that failed. This can be used for translations. example: minlength: 1 maxlength: 255 CreatePaymentError: type: object description: | Client error information for the Create Payment endpoint. required: - error_code - error_messages properties: error_code: type: string description: A high-level error code for the whole request. error_messages: type: object description: >- Detailed error information for individual input parameters that failed validation. Object keys are the names of the invalid input parameters. Each parameter may have one or more reasons why it failed. additionalProperties: type: array items: type: object description: >- An object that represents one of the reasons why the input parameter failed. required: - code - message properties: code: type: string description: >- A unique code that identifies this error. It can be used for translations. message: type: string description: An explanation of the error in English. params: type: object default: {} description: >- Relevant validation rules that failed. This can be used for translations. example: minlength: 1 maxlength: 255 CreateTransferError: type: object description: Client error information for the Create Transfer endpoint. required: - error_code - error_messages properties: error_code: type: string description: A high-level error code for the whole request. error_messages: type: object description: >- Detailed error information for individual input parameters that failed validation. Object keys are the names of the invalid input parameters. Each parameter may have one or more reasons why it failed. additionalProperties: type: array items: type: object description: >- An object that represents one of the reasons why the input parameter failed. required: - code - message properties: code: type: string description: >- A unique code that identifies this error. It can be used for translations. message: type: string description: An explanation of the error in English. params: type: object default: {} description: >- Relevant validation rules that failed. This can be used for translations. example: minlength: 1 maxlength: 255 DeleteBeneficiaryError: type: object description: | Client error information for the Delete Beneficiary endpoint. required: - error_code - error_messages properties: error_code: type: string description: A high-level error code for the whole request. error_messages: type: object description: >- Detailed error information for individual input parameters that failed validation. Object keys are the names of the invalid input parameters. Each parameter may have one or more reasons why it failed. additionalProperties: type: array items: type: object description: >- An object that represents one of the reasons why the input parameter failed. required: - code - message properties: code: type: string description: >- A unique code that identifies this error. It can be used for translations. message: type: string description: An explanation of the error in English. params: type: object default: {} description: >- Relevant validation rules that failed. This can be used for translations. example: minlength: 1 maxlength: 255 DeletePaymentError: type: object description: | Client error information for the Delete Payment endpoint. required: - error_code - error_messages properties: error_code: type: string description: A high-level error code for the whole request. error_messages: type: object description: >- Detailed error information for individual input parameters that failed validation. Object keys are the names of the invalid input parameters. Each parameter may have one or more reasons why it failed. additionalProperties: type: array items: type: object description: >- An object that represents one of the reasons why the input parameter failed. required: - code - message properties: code: type: string description: >- A unique code that identifies this error. It can be used for translations. message: type: string description: An explanation of the error in English. params: type: object default: {} description: >- Relevant validation rules that failed. This can be used for translations. example: minlength: 1 maxlength: 255 FindAccountsError: type: object description: | Client error information for the Find Accounts endpoint. required: - error_code - error_messages properties: error_code: type: string description: A high-level error code for the whole request. error_messages: type: object description: >- Detailed error information for individual input parameters that failed validation. Object keys are the names of the invalid input parameters. Each parameter may have one or more reasons why it failed. additionalProperties: type: array items: type: object description: >- An object that represents one of the reasons why the input parameter failed. required: - code - message properties: code: type: string description: >- A unique code that identifies this error. It can be used for translations. message: type: string description: An explanation of the error in English. params: type: object default: {} description: >- Relevant validation rules that failed. This can be used for translations. example: minlength: 1 maxlength: 255 FindBalancesError: type: object description: | Client error information for the Find Balances endpoint. required: - error_code - error_messages properties: error_code: type: string description: A high-level error code for the whole request. error_messages: type: object description: >- Detailed error information for individual input parameters that failed validation. Object keys are the names of the invalid input parameters. Each parameter may have one or more reasons why it failed. additionalProperties: type: array items: type: object description: >- An object that represents one of the reasons why the input parameter failed. required: - code - message properties: code: type: string description: >- A unique code that identifies this error. It can be used for translations. message: type: string description: An explanation of the error in English. params: type: object default: {} description: >- Relevant validation rules that failed. This can be used for translations. example: minlength: 1 maxlength: 255 FindBeneficiariesError: type: object description: | Client error information for the Find Beneficiaries endpoint. required: - error_code - error_messages properties: error_code: type: string description: A high-level error code for the whole request. error_messages: type: object description: >- Detailed error information for individual input parameters that failed validation. Object keys are the names of the invalid input parameters. Each parameter may have one or more reasons why it failed. additionalProperties: type: array items: type: object description: >- An object that represents one of the reasons why the input parameter failed. required: - code - message properties: code: type: string description: >- A unique code that identifies this error. It can be used for translations. message: type: string description: An explanation of the error in English. params: type: object default: {} description: >- Relevant validation rules that failed. This can be used for translations. example: minlength: 1 maxlength: 255 FindContactsError: type: object description: | Client error information for the Find Contacts endpoint. required: - error_code - error_messages properties: error_code: type: string description: A high-level error code for the whole request. error_messages: type: object description: >- Detailed error information for individual input parameters that failed validation. Object keys are the names of the invalid input parameters. Each parameter may have one or more reasons why it failed. additionalProperties: type: array items: type: object description: >- An object that represents one of the reasons why the input parameter failed. required: - code - message properties: code: type: string description: >- A unique code that identifies this error. It can be used for translations. message: type: string description: An explanation of the error in English. params: type: object default: {} description: >- Relevant validation rules that failed. This can be used for translations. example: minlength: 1 maxlength: 255 FindConversionsError: type: object description: | Client error information for the Find Conversions endpoint. required: - error_code - error_messages properties: error_code: type: string description: A high-level error code for the whole request. error_messages: type: object description: >- Detailed error information for individual input parameters that failed validation. Object keys are the names of the invalid input parameters. Each parameter may have one or more reasons why it failed. additionalProperties: type: array items: type: object description: >- An object that represents one of the reasons why the input parameter failed. required: - code - message properties: code: type: string description: >- A unique code that identifies this error. It can be used for translations. message: type: string description: An explanation of the error in English. params: type: object default: {} description: >- Relevant validation rules that failed. This can be used for translations. example: minlength: 1 maxlength: 255 FindFundingAccountsError: type: object description: | Client error information for the Find Funding Accounts endpoint. required: - error_code - error_messages properties: error_code: type: string description: A high-level error code for the whole request. error_messages: type: object description: >- Detailed error information for individual input parameters that failed validation. Object keys are the names of the invalid input parameters. Each parameter may have one or more reasons why it failed. additionalProperties: type: array items: type: object description: >- An object that represents one of the reasons why the input parameter failed. required: - code - message properties: code: type: string description: >- A unique code that identifies this error. It can be used for translations. message: type: string description: An explanation of the error in English. params: type: object default: {} description: >- Relevant validation rules that failed. This can be used for translations. example: minlength: 1 maxlength: 255 FindPaymentsError: type: object description: | Client error information for the Get Payments endpoint. required: - error_code - error_messages properties: error_code: type: string description: A high-level error code for the whole request. error_messages: type: object description: >- Detailed error information for individual input parameters that failed validation. Object keys are the names of the invalid input parameters. Each parameter may have one or more reasons why it failed. additionalProperties: type: array items: type: object description: >- An object that represents one of the reasons why the input parameter failed. required: - code - message properties: code: type: string description: >- A unique code that identifies this error. It can be used for translations. message: type: string description: An explanation of the error in English. params: type: object default: {} description: >- Relevant validation rules that failed. This can be used for translations. example: minlength: 1 maxlength: 255 FindTransactionsError: type: object description: | Client error information for the Find Transactions endpoint. required: - error_code - error_messages properties: error_code: type: string description: A high-level error code for the whole request. error_messages: type: object description: >- Detailed error information for individual input parameters that failed validation. Object keys are the names of the invalid input parameters. Each parameter may have one or more reasons why it failed. additionalProperties: type: array items: type: object description: >- An object that represents one of the reasons why the input parameter failed. required: - code - message properties: code: type: string description: >- A unique code that identifies this error. It can be used for translations. message: type: string description: An explanation of the error in English. params: type: object default: {} description: >- Relevant validation rules that failed. This can be used for translations. example: minlength: 1 maxlength: 255 FindTransfersError: type: object description: | Client error information for the Find Transfers endpoint. required: - error_code - error_messages properties: error_code: type: string description: A high-level error code for the whole request. error_messages: type: object description: >- Detailed error information for individual input parameters that failed validation. Object keys are the names of the invalid input parameters. Each parameter may have one or more reasons why it failed. additionalProperties: type: array items: type: object description: >- An object that represents one of the reasons why the input parameter failed. required: - code - message properties: code: type: string description: >- A unique code that identifies this error. It can be used for translations. message: type: string description: An explanation of the error in English. params: type: object default: {} description: >- Relevant validation rules that failed. This can be used for translations. example: minlength: 1 maxlength: 255 GetFundingTransactionError: description: | Client error information for the Get Funding Transaction endpoint. required: - error_code - error_messages properties: error_code: type: string description: A high-level error code for the whole request. error_messages: type: object description: >- Detailed error information for individual input parameters that failed validation. Object keys are the names of the invalid input parameters. Each parameter may have one or more reasons why it failed. additionalProperties: type: array items: type: object description: >- An object that represents one of the reasons why the input parameter failed. required: - code - message properties: code: type: string description: >- A unique code that identifies this error. It can be used for translations. message: type: string description: An explanation of the error in English. params: type: object default: {} description: >- Relevant validation rules that failed. This can be used for translations. example: minlength: 1 maxlength: 255 FundingAccount: type: object description: FundingAccount. required: - id - account_id - account_number - account_number_type - account_holder_name - bank_name - bank_address - bank_country - currency - payment_type - routing_code - routing_code_type - created_at - updated_at additionalProperties: false properties: id: type: string description: The SSI's unique UUID. account_id: type: string description: The account ID the SSI is attached to. If money is paid to the account details, this account will be credited. account_number: type: string description: The account number to use when adding funds to the account. account_number_type: type: string description: The type of account number provided (e.g. account number of IBAN). enum: - account_number - iban account_holder_name: type: string description: The name of the account used to make a payment. bank_name: type: string description: The name of the bank the account is held with. bank_address: type: string description: The address of the bank the account is held with. bank_country: type: string description: The 2 digit ISO country code where the bank is based. currency: type: string description: The currency that should be sent to these account details. payment_type: type: string description: >- The type of payment that can be made into the account details provided. Regular - a local scheme such as Faster Payments in the UK. Priority - a priority payment e.g. FEDwire or Swift. enum: - any - priority - regular routing_code: type: string description: The particular routing code for this account number. routing_code_type: type: string description: The type of routing number. enum: - routing_code - giro_routing_code - ach_routing_number - fast_routing_code - sort_code - wire_routing_number - bic_swift - meps_routing_code created_at: type: string description: The date-time the SSI was added to the account. format: date-time updated_at: type: string description: The date-time the SSI was last updated on the account. format: date-time example: id: b7981972-8e29-485b-8a4a-9643fc9ae4ea account_id: 8d98bdc8-e8e3-47dc-bd08-3dd0f4f7ea7b account_number: GB61TCCL00997950423807 account_number_type: IBAN account_holder_name: Jon Doe bank_name: The Currency Cloud bank_address: '12 Steward Street, The Steward Building, London, E1 6FQ, GB' bank_country: UK currency: EUR payment_type: regular routing_code: TCCLGB31 routing_code_type: bic_swift created_at: '2018-05-14T14:18:30+00:00' updated_at: '2018-05-14T14:18:30+00:00' GenrateHMACKeyError: type: object description: | Client error information for the Contacts Generate HMAC Key endpoint. required: - error_code - error_messages properties: error_code: type: string description: A high-level error code for the whole request. error_messages: type: object description: >- Detailed error information for individual input parameters that failed validation. Object keys are the names of the invalid input parameters. Each parameter may have one or more reasons why it failed. additionalProperties: type: array items: type: object description: >- An object that represents one of the reasons why the input parameter failed. required: - code - message properties: code: type: string description: >- A unique code that identifies this error. It can be used for translations. message: type: string description: An explanation of the error in English. params: type: object default: {} description: >- Relevant validation rules that failed. This can be used for translations. example: minlength: 1 maxlength: 255 GenerateReportError: type: object description: | Client error information for the Generate Report endpoint. required: - error_code - error_messages properties: error_code: type: string description: A high-level error code for the whole request. error_messages: type: object description: >- Detailed error information for individual input parameters that failed validation. Object keys are the names of the invalid input parameters. Each parameter may have one or more reasons why it failed. additionalProperties: type: array items: type: object description: >- An object that represents one of the reasons why the input parameter failed. required: - code - message properties: code: type: string description: >- A unique code that identifies this error. It can be used for translations. message: type: string description: An explanation of the error in English. params: type: object default: {} description: >- Relevant validation rules that failed. This can be used for translations. example: minlength: 1 maxlength: 255 GetAccountError: type: object description: | Client error information for the Get Account endpoint. required: - error_code - error_messages properties: error_code: type: string description: A high-level error code for the whole request. error_messages: type: object description: >- Detailed error information for individual input parameters that failed validation. Object keys are the names of the invalid input parameters. Each parameter may have one or more reasons why it failed. additionalProperties: type: array items: type: object description: >- An object that represents one of the reasons why the input parameter failed. required: - code - message properties: code: type: string description: >- A unique code that identifies this error. It can be used for translations. message: type: string description: An explanation of the error in English. params: type: object default: {} description: >- Relevant validation rules that failed. This can be used for translations. example: minlength: 1 maxlength: 255 GetAccountComplianceSettingsError: type: object description: | Client error information for the Get Compliance Settings endpoint. required: - error_code - error_messages properties: error_code: type: string description: A high-level error code for the whole request. error_messages: type: object description: >- Detailed error information for individual input parameters that failed validation. Object keys are the names of the invalid input parameters. Each parameter may have one or more reasons why it failed. additionalProperties: type: array items: type: object description: >- An object that represents one of the reasons why the input parameter failed. required: - code - message properties: code: type: string description: >- A unique code that identifies this error. It can be used for translations. message: type: string description: An explanation of the error in English. params: type: object default: {} description: >- Relevant validation rules that failed. This can be used for translations. example: minlength: 1 maxlength: 255 UpdateAccountComplianceSettingsError: type: object description: | Client error information for the Get Compliance Settings endpoint. required: - error_code - error_messages properties: error_code: type: string description: A high-level error code for the whole request. error_messages: type: object description: >- Detailed error information for individual input parameters that failed validation. Object keys are the names of the invalid input parameters. Each parameter may have one or more reasons why it failed. additionalProperties: type: array items: type: object description: >- An object that represents one of the reasons why the input parameter failed. required: - code - message properties: code: type: string description: >- A unique code that identifies this error. It can be used for translations. message: type: string description: An explanation of the error in English. params: type: object default: {} description: >- Relevant validation rules that failed. This can be used for translations. example: minlength: 1 maxlength: 255 GetAuthenticatingAccountError: type: object description: | Client error information for the Get Authenticating Account endpoint. required: - error_code - error_messages properties: error_code: type: string description: A high-level error code for the whole request. error_messages: type: object description: >- Detailed error information for individual input parameters that failed validation. Object keys are the names of the invalid input parameters. Each parameter may have one or more reasons why it failed. additionalProperties: type: array items: type: object description: >- An object that represents one of the reasons why the input parameter failed. required: - code - message properties: code: type: string description: >- A unique code that identifies this error. It can be used for translations. message: type: string description: An explanation of the error in English. params: type: object default: {} description: >- Relevant validation rules that failed. This can be used for translations. example: minlength: 1 maxlength: 255 GetAccountPaymentChargesSettingsError: type: object description: > Client error information for the Get Account Payment Charges Settings endpoint. required: - error_code - error_messages properties: error_code: type: string description: A high-level error code for the whole request. error_messages: type: object description: >- Detailed error information for individual input parameters that failed validation. Object keys are the names of the invalid input parameters. Each parameter may have one or more reasons why it failed. additionalProperties: type: array items: type: object description: >- An object that represents one of the reasons why the input parameter failed. required: - code - message properties: code: type: string description: >- A unique code that identifies this error. It can be used for translations. message: type: string description: An explanation of the error in English. params: type: object default: {} description: >- Relevant validation rules that failed. This can be used for translations. example: minlength: 1 maxlength: 255 ManageAccountPaymentChargesSettingsError: type: object description: > Client error information for the Manage Account Payment Charges Settings endpoint. required: - error_code - error_messages properties: error_code: type: string description: A high-level error code for the whole request. error_messages: type: object description: >- Detailed error information for individual input parameters that failed validation. Object keys are the names of the invalid input parameters. Each parameter may have one or more reasons why it failed. additionalProperties: type: array items: type: object description: >- An object that represents one of the reasons why the input parameter failed. required: - code - message properties: code: type: string description: >- A unique code that identifies this error. It can be used for translations. message: type: string description: An explanation of the error in English. params: type: object default: {} description: >- Relevant validation rules that failed. This can be used for translations. example: minlength: 1 maxlength: 255 GetAvailableCurrenciesError: type: object description: | Client error information for the Get Available Currencies endpoint. required: - error_code - error_messages properties: error_code: type: string description: A high-level error code for the whole request. error_messages: type: object description: >- Detailed error information for individual input parameters that failed validation. Object keys are the names of the invalid input parameters. Each parameter may have one or more reasons why it failed. additionalProperties: type: array items: type: object description: >- An object that represents one of the reasons why the input parameter failed. required: - code - message properties: code: type: string description: >- A unique code that identifies this error. It can be used for translations. message: type: string description: An explanation of the error in English. params: type: object default: {} description: >- Relevant validation rules that failed. This can be used for translations. example: minlength: 1 maxlength: 255 GetBalanceError: type: object description: | Client error information for the Get Balance endpoint. required: - error_code - error_messages properties: error_code: type: string description: A high-level error code for the whole request. error_messages: type: object description: >- Detailed error information for individual input parameters that failed validation. Object keys are the names of the invalid input parameters. Each parameter may have one or more reasons why it failed. additionalProperties: type: array items: type: object description: >- An object that represents one of the reasons why the input parameter failed. required: - code - message properties: code: type: string description: >- A unique code that identifies this error. It can be used for translations. message: type: string description: An explanation of the error in English. params: type: object default: {} description: >- Relevant validation rules that failed. This can be used for translations. example: minlength: 1 maxlength: 255 GetBankDetailsError: type: object description: | Client error information for the Get Bank Details endpoint. required: - error_code - error_messages properties: error_code: type: string description: A high-level error code for the whole request. error_messages: type: object description: >- Detailed error information for individual input parameters that failed validation. Object keys are the names of the invalid input parameters. Each parameter may have one or more reasons why it failed. additionalProperties: type: array items: type: object description: >- An object that represents one of the reasons why the input parameter failed. required: - code - message properties: code: type: string description: >- A unique code that identifies this error. It can be used for translations. message: type: string description: An explanation of the error in English. params: type: object default: {} description: >- Relevant validation rules that failed. This can be used for translations. example: minlength: 1 maxlength: 255 GetBasicRatesError: type: object description: | Client error information for the Get Basic Rates endpoint. required: - error_code - error_messages properties: error_code: type: string description: A high-level error code for the whole request. error_messages: type: object description: >- Detailed error information for individual input parameters that failed validation. Object keys are the names of the invalid input parameters. Each parameter may have one or more reasons why it failed. additionalProperties: type: array items: type: object description: >- An object that represents one of the reasons why the input parameter failed. required: - code - message properties: code: type: string description: >- A unique code that identifies this error. It can be used for translations. message: type: string description: An explanation of the error in English. params: type: object default: {} description: >- Relevant validation rules that failed. This can be used for translations. example: minlength: 1 maxlength: 255 GetBeneficiaryError: type: object description: | Client error information for the Get Beneficiary endpoint. required: - error_code - error_messages properties: error_code: type: string description: A high-level error code for the whole request. error_messages: type: object description: >- Detailed error information for individual input parameters that failed validation. Object keys are the names of the invalid input parameters. Each parameter may have one or more reasons why it failed. additionalProperties: type: array items: type: object description: >- An object that represents one of the reasons why the input parameter failed. required: - code - message properties: code: type: string description: >- A unique code that identifies this error. It can be used for translations. message: type: string description: An explanation of the error in English. params: type: object default: {} description: >- Relevant validation rules that failed. This can be used for translations. example: minlength: 1 maxlength: 255 GetBeneficiaryRequirementsError: type: object description: | Client error information for the Get Beneficiary Requirements endpoint. required: - error_code - error_messages properties: error_code: type: string description: A high-level error code for the whole request. error_messages: type: object description: >- Detailed error information for individual input parameters that failed validation. Object keys are the names of the invalid input parameters. Each parameter may have one or more reasons why it failed. additionalProperties: type: array items: type: object description: >- An object that represents one of the reasons why the input parameter failed. required: - code - message properties: code: type: string description: >- A unique code that identifies this error. It can be used for translations. message: type: string description: An explanation of the error in English. params: type: object default: {} description: >- Relevant validation rules that failed. This can be used for translations. example: minlength: 1 maxlength: 255 GetContactError: type: object description: | Client error information for the Get Contact endpoint. required: - error_code - error_messages properties: error_code: type: string description: A high-level error code for the whole request. error_messages: type: object description: >- Detailed error information for individual input parameters that failed validation. Object keys are the names of the invalid input parameters. Each parameter may have one or more reasons why it failed. additionalProperties: type: array items: type: object description: >- An object that represents one of the reasons why the input parameter failed. required: - code - message properties: code: type: string description: >- A unique code that identifies this error. It can be used for translations. message: type: string description: An explanation of the error in English. params: type: object default: {} description: >- Relevant validation rules that failed. This can be used for translations. example: minlength: 1 maxlength: 255 GetConversionDatesError: type: object description: | Client error information for the Get Conversion Dates endpoint. required: - error_code - error_messages properties: error_code: type: string description: A high-level error code for the whole request. error_messages: type: object description: >- Detailed error information for individual input parameters that failed validation. Object keys are the names of the invalid input parameters. Each parameter may have one or more reasons why it failed. additionalProperties: type: array items: type: object description: >- An object that represents one of the reasons why the input parameter failed. required: - code - message properties: code: type: string description: >- A unique code that identifies this error. It can be used for translations. message: type: string description: An explanation of the error in English. params: type: object default: {} description: >- Relevant validation rules that failed. This can be used for translations. example: minlength: 1 maxlength: 255 GetConversionError: type: object description: | Client error information for the Get Conversion endpoint. required: - error_code - error_messages properties: error_code: type: string description: A high-level error code for the whole request. error_messages: type: object description: >- Detailed error information for individual input parameters that failed validation. Object keys are the names of the invalid input parameters. Each parameter may have one or more reasons why it failed. additionalProperties: type: array items: type: object description: >- An object that represents one of the reasons why the input parameter failed. required: - code - message properties: code: type: string description: >- A unique code that identifies this error. It can be used for translations. message: type: string description: An explanation of the error in English. params: type: object default: {} description: >- Relevant validation rules that failed. This can be used for translations. example: minlength: 1 maxlength: 255 GetDetailedRatesError: type: object description: | Client error information for the Get Detailed Rates endpoint. required: - error_code - error_messages properties: error_code: type: string description: A high-level error code for the whole request. error_messages: type: object description: >- Detailed error information for individual input parameters that failed validation. Object keys are the names of the invalid input parameters. Each parameter may have one or more reasons why it failed. additionalProperties: type: array items: type: object description: >- An object that represents one of the reasons why the input parameter failed. required: - code - message properties: code: type: string description: >- A unique code that identifies this error. It can be used for translations. message: type: string description: An explanation of the error in English. params: type: object default: {} description: >- Relevant validation rules that failed. This can be used for translations. example: minlength: 1 maxlength: 255 GetPayerError: type: object description: | Client error information for the Get Payer endpoint. required: - error_code - error_messages properties: error_code: type: string description: A high-level error code for the whole request. error_messages: type: object description: >- Detailed error information for individual input parameters that failed validation. Object keys are the names of the invalid input parameters. Each parameter may have one or more reasons why it failed. additionalProperties: type: array items: type: object description: >- An object that represents one of the reasons why the input parameter failed. required: - code - message properties: code: type: string description: >- A unique code that identifies this error. It can be used for translations. message: type: string description: An explanation of the error in English. params: type: object default: {} description: >- Relevant validation rules that failed. This can be used for translations. example: minlength: 1 maxlength: 255 GetPayerRequirementsError: type: object description: | Client error information for the Get Payer Requirements endpoint. required: - error_code - error_messages properties: error_code: type: string description: A high-level error code for the whole request. error_messages: type: object description: >- Detailed error information for individual input parameters that failed validation. Object keys are the names of the invalid input parameters. Each parameter may have one or more reasons why it failed. additionalProperties: type: array items: type: object description: >- An object that represents one of the reasons why the input parameter failed. required: - code - message properties: code: type: string description: >- A unique code that identifies this error. It can be used for translations. message: type: string description: An explanation of the error in English. params: type: object default: {} description: >- Relevant validation rules that failed. This can be used for translations. example: minlength: 1 maxlength: 255 GetPaymentDatesError: type: object description: | Client error information for the Get Payment Dates endpoint. required: - error_code - error_messages properties: error_code: type: string description: A high-level error code for the whole request. error_messages: type: object description: >- Detailed error information for individual input parameters that failed validation. Object keys are the names of the invalid input parameters. Each parameter may have one or more reasons why it failed. additionalProperties: type: array items: type: object description: >- An object that represents one of the reasons why the input parameter failed. required: - code - message properties: code: type: string description: >- A unique code that identifies this error. It can be used for translations. message: type: string description: An explanation of the error in English. params: type: object default: {} description: >- Relevant validation rules that failed. This can be used for translations. example: minlength: 1 maxlength: 255 GetPaymentPurposeCodesError: type: object description: | Client error information for the Get Payment Purpose Codes endpoint. required: - error_code - error_messages properties: error_code: type: string description: A high-level error code for the whole request. error_messages: type: object description: >- Detailed error information for individual input parameters that failed validation. Object keys are the names of the invalid input parameters. Each parameter may have one or more reasons why it failed. additionalProperties: type: array items: type: object description: >- An object that represents one of the reasons why the input parameter failed. required: - code - message properties: code: type: string description: >- A unique code that identifies this error. It can be used for translations. message: type: string description: An explanation of the error in English. params: type: object default: {} description: >- Relevant validation rules that failed. This can be used for translations. example: minlength: 1 maxlength: 255 GetPaymentError: type: object description: | Client error information for the Get Payment endpoint. required: - error_code - error_messages properties: error_code: type: string description: A high-level error code for the whole request. error_messages: type: object description: >- Detailed error information for individual input parameters that failed validation. Object keys are the names of the invalid input parameters. Each parameter may have one or more reasons why it failed. additionalProperties: type: array items: type: object description: >- An object that represents one of the reasons why the input parameter failed. required: - code - message properties: code: type: string description: >- A unique code that identifies this error. It can be used for translations. message: type: string description: An explanation of the error in English. params: type: object default: {} description: >- Relevant validation rules that failed. This can be used for translations. example: minlength: 1 maxlength: 255 GetPaymentDeliveryDateError: type: object description: | Client error information for the Get Payment Delivery Date endpoint. required: - error_code - error_messages properties: error_code: type: string description: A high-level error code for the whole request. error_messages: type: object description: >- Detailed error information for individual input parameters that failed validation. Object keys are the names of the invalid input parameters. Each parameter may have one or more reasons why it failed. additionalProperties: type: array items: type: object description: >- An object that represents one of the reasons why the input parameter failed. required: - code - message properties: code: type: string description: >- A unique code that identifies this error. It can be used for translations. message: type: string description: An explanation of the error in English. params: type: object default: {} description: >- Relevant validation rules that failed. This can be used for translations. example: minlength: 1 maxlength: 255 GetPaymentFeeRulesError: type: object description: | Client error information for the Get Payment Fee Rules endpoint. required: - error_code - error_messages properties: error_code: type: string description: A high-level error code for the whole request. error_messages: type: object description: >- Detailed error information for individual input parameters that failed validation. Object keys are the names of the invalid input parameters. Each parameter may have one or more reasons why it failed. additionalProperties: type: array items: type: object description: >- An object that represents one of the reasons why the input parameter failed. required: - code - message properties: code: type: string description: >- A unique code that identifies this error. It can be used for translations. message: type: string description: An explanation of the error in English. params: type: object default: {} description: >- Relevant validation rules that failed. This can be used for translations. example: minlength: 1 maxlength: 255 GetPaymentSubmissionError: type: object description: | Client error information for the Get Payment Submission endpoint. required: - error_code - error_messages properties: error_code: type: string description: A high-level error code for the whole request. error_messages: type: object description: >- Detailed error information for individual input parameters that failed validation. Object keys are the names of the invalid input parameters. Each parameter may have one or more reasons why it failed. additionalProperties: type: array items: type: object description: >- An object that represents one of the reasons why the input parameter failed. required: - code - message properties: code: type: string description: >- A unique code that identifies this error. It can be used for translations. message: type: string description: An explanation of the error in English. params: type: object default: {} description: >- Relevant validation rules that failed. This can be used for translations. example: minlength: 1 maxlength: 255 GetPaymentTrackingInfoError: type: object description: | Client error information for the Get Payment Tracking Info endpoint. required: - error_code - error_messages properties: error_code: type: string description: A high-level error code for the whole request. error_messages: type: object description: >- Detailed error information for individual input parameters that failed validation. Object keys are the names of the invalid input parameters. Each parameter may have one or more reasons why it failed. additionalProperties: type: array items: type: object description: >- An object that represents one of the reasons why the input parameter failed. required: - code - message properties: code: type: string description: >- A unique code that identifies this error. It can be used for translations. message: type: string description: An explanation of the error in English. params: type: object default: {} description: >- Relevant validation rules that failed. This can be used for translations. example: minlength: 1 maxlength: 255 GetQuotePaymentFeeError: type: object description: | Client error information for the Get Quote Payment Fee endpoint. required: - error_code - error_messages properties: error_code: type: string description: A high-level error code for the whole request. error_messages: type: object description: >- Detailed error information for individual input parameters that failed validation. Object keys are the names of the invalid input parameters. Each parameter may have one or more reasons why it failed. additionalProperties: type: array items: type: object description: >- An object that represents one of the reasons why the input parameter failed. required: - code - message properties: code: type: string description: >- A unique code that identifies this error. It can be used for translations. message: type: string description: An explanation of the error in English. params: type: object default: {} description: >- Relevant validation rules that failed. This can be used for translations. example: minlength: 1 maxlength: 255 GetReportRequestError: type: object description: | Client error information for the Get Report Request endpoint. required: - error_code - error_messages properties: error_code: type: string description: A high-level error code for the whole request. error_messages: type: object description: >- Detailed error information for individual input parameters that failed validation. Object keys are the names of the invalid input parameters. Each parameter may have one or more reasons why it failed. additionalProperties: type: array items: type: object description: >- An object that represents one of the reasons why the input parameter failed. required: - code - message properties: code: type: string description: >- A unique code that identifies this error. It can be used for translations. message: type: string description: An explanation of the error in English. params: type: object default: {} description: >- Relevant validation rules that failed. This can be used for translations. example: minlength: 1 maxlength: 255 GetSenderError: type: object description: | Client error information for the Get Sender endpoint. required: - error_code - error_messages properties: error_code: type: string description: A high-level error code for the whole request. error_messages: type: object description: >- Detailed error information for individual input parameters that failed validation. Object keys are the names of the invalid input parameters. Each parameter may have one or more reasons why it failed. additionalProperties: type: array items: type: object description: >- An object that represents one of the reasons why the input parameter failed. required: - code - message properties: code: type: string description: >- A unique code that identifies this error. It can be used for translations. message: type: string description: An explanation of the error in English. params: type: object default: {} description: >- Relevant validation rules that failed. This can be used for translations. example: minlength: 1 maxlength: 255 GetSettlementAccountsError: type: object description: | Client error information for the Get Settlement Accounts endpoint. required: - error_code - error_messages properties: error_code: type: string description: A high-level error code for the whole request. error_messages: type: object description: >- Detailed error information for individual input parameters that failed validation. Object keys are the names of the invalid input parameters. Each parameter may have one or more reasons why it failed. additionalProperties: type: array items: type: object description: >- An object that represents one of the reasons why the input parameter failed. required: - code - message properties: code: type: string description: >- A unique code that identifies this error. It can be used for translations. message: type: string description: An explanation of the error in English. params: type: object default: {} description: >- Relevant validation rules that failed. This can be used for translations. example: minlength: 1 maxlength: 255 GetTransactionError: type: object description: | Client error information for the Get Transaction endpoint. required: - error_code - error_messages properties: error_code: type: string description: A high-level error code for the whole request. error_messages: type: object description: >- Detailed error information for individual input parameters that failed validation. Object keys are the names of the invalid input parameters. Each parameter may have one or more reasons why it failed. additionalProperties: type: array items: type: object description: >- An object that represents one of the reasons why the input parameter failed. required: - code - message properties: code: type: string description: >- A unique code that identifies this error. It can be used for translations. message: type: string description: An explanation of the error in English. params: type: object default: {} description: >- Relevant validation rules that failed. This can be used for translations. example: minlength: 1 maxlength: 255 GetTransferError: type: object description: | Client error information for the Get Transfer endpoint. required: - error_code - error_messages properties: error_code: type: string description: A high-level error code for the whole request error_messages: type: object description: >- Detailed error information for individual input parameters that failed validation. Object keys are the names of the invalid input parameters. Each parameter may have one or more reasons why it failed. additionalProperties: type: array items: type: object description: >- An object that represents one of the reasons why the input parameter failed. required: - code - message properties: code: type: string description: >- A unique code that identifies this error. It can be used for translations. message: type: string description: An explanation of the error in English. params: type: object default: {} description: >- Relevant validation rules that failed. This can be used for translations. example: minlength: 1 maxlength: 255 GetWithdrawalAccountError: type: object description: | Client error information for the Get WithdrawalAccount endpoint. required: - error_code - error_messages properties: error_code: type: string description: A high-level error code for the whole request. error_messages: type: object description: >- Detailed error information for individual input parameters that failed validation. Object keys are the names of the invalid input parameters. Each parameter may have one or more reasons why it failed. additionalProperties: type: array items: type: object description: >- An object that represents one of the reasons why the input parameter failed. required: - code - message properties: code: type: string description: >- A unique code that identifies this error. It can be used for translations. message: type: string description: An explanation of the error in English. params: type: object default: {} description: >- Relevant validation rules that failed. This can be used for translations. example: minlength: 1 maxlength: 255 HMACKey: type: object description: HMAC Key. required: - hmac_key additionalProperties: false properties: hmac_key: type: string description: The generated HMAC Key. example: hmac_key: 9562c7c1094dfe8f46125aa3f3c0d141471fadd443828bb0 LoginError: type: object description: | Login error. required: - error_code - error_messages properties: error_code: type: string description: A high-level error code for the whole request. error_messages: type: object description: >- Detailed error information for individual input parameters that failed validation. Object keys are the names of the invalid input parameters. Each parameter may have one or more reasons why it failed. additionalProperties: type: array items: type: object description: >- An object that represents one of the reasons why the input parameter failed. required: - code - message properties: code: type: string description: >- A unique code that identifies this error. It can be used for translations. message: type: string description: An explanation of the error in English. params: type: object default: {} description: >- Relevant validation rules that failed. This can be used for translations. example: minlength: 1 maxlength: 255 example: error_code: auth_invalid_user_login_details error_messages: api_key: - code: api_key_length_is_invalid message: api_key should be 64 character(s) long params: length: 64 NotFoundError: type: object description: Resource not found. required: - error_code - error_messages properties: error_code: type: string description: A high-level error code for the whole request. error_messages: type: object additionalProperties: type: array items: type: object description: >- An object that represents one of the reasons why the input parameter failed. required: - code - message properties: code: type: string description: >- A unique code that identifies this error. It can be used for translations. message: type: string description: An explanation of the error in English. params: type: object default: {} description: >- Relevant validation rules that failed. This can be used for translations. example: minlength: 1 maxlength: 255 Pagination: type: object description: Pagination. properties: total_entries: type: integer total_pages: type: integer current_page: type: integer per_page: type: integer description: Number of results per page. previous_page: type: integer next_page: type: integer order: type: string description: The field name by which the results are sorted. order_asc_desc: type: string enum: - asc - desc default: asc description: Whether results are sorted in ascending or descending order. example: total_entries: 1 total_pages: 1 current_page: 1 per_page: 25 previous_page: -1 next_page: 2 order: created_at order_asc_desc: asc Payer: type: object description: Payer properties: id: type: string description: Unique UUID for the payer. legal_entity_type: type: string description: Payer's entity type - company or individual. enum: - company - individual company_name: type: string description: The name of the company (if the payer is a company). first_name: type: string description: Payer's first name. last_name: type: string description: Payer's last name. address: type: array items: type: string description: Line of address. city: type: string state_or_province: type: string country: type: string description: Two-letter ISO country code. identification_type: type: string description: The legal document used to verify the identity of the payer (e.g. passport). identification_value: type: string description: >- A unique reference code for the identification document, such as a passport number. postcode: type: string date_of_birth: type: string created_at: type: string updated_at: type: string example: id: 543477161-91de-012f-e284-1e0030c7f3123 legal_entity_type: company company_name: Acme Corporation first_name: '' last_name: '' address: - 164 Bishopsgate - London city: London state_or_province: '' country: GB identification_type: incorporation_number identification_value: 123123 postcode: EC2M 4LX date_of_birth: '2023-12-31T23:59:59.000Z' created_at: '2023-12-31T23:59:59.000Z' updated_at: '2023-12-31T23:59:59.000Z' PayerRequirements: type: object description: Payer requirements. properties: payer_entity_type: description: Legal entity type - company or individual. enum: - company - individual type: string payment_type: description: Type of payment - regular (local) or priority (Swift). enum: - priority - regular type: string required_fields: description: The required payer fields for the payment. type: array items: type: object properties: name: type: string validation_rule: type: string example: payer_entity_type: company payment_type: priority required_fields: - name: payer_country validation_rule: '^[A-z]{2}$' - name: payer_city validation_rule: '^.{1,255}' - name: payer_address validation_rule: '^.{1,255}' - name: payer_postcode validation_rule: '^.{1,255}' - name: payer_company_name validation_rule: '^.{1,255}' Payment: type: object description: Payment properties: id: type: string description: Payment UUID amount: type: string description: Payment amount beneficiary_id: type: string description: Beneficiary UUID currency: type: string description: Payment currency reference: type: string description: Payment reference reason: type: string description: Reason for payment. status: type: string description: Payment status creator_contact_id: type: string description: Contact UUID of payment creator. payment_type: type: string description: Type of payment - priority(Swift) or regular(local). transferred_at: type: string description: Date of payment processing. authorisation_steps_required: type: string description: Number of approvals required for the payment. estimated_arrival: type: string description: Estimated date of payment. payment_date: type: string description: Payment date. last_updater_contact_id: type: string description: Contact UUID of user who last updated the record. short_reference: type: string description: Short reference code. conversion_id: type: string description: Conversion UUID failure_reason: type: string description: A reason for why the payment failed. payer_id: type: string description: Payer UUID payer_details_source: type: string description: If the payment is a 3rd party one, the value will be "account". If it is a 4th party payment, the value will be "payer". created_at: type: string description: Date and time of when the payment was created. updated_at: type: string description: Date and time of when the payment was last updated. payment_group_id: type: string description: Payment group ID. unique_request_id: type: string description: The user-generated idempotency key provided for the payment. failure_returned_amount: type: string description: The amount returned on failure. ultimate_beneficiary_name: type: string description: The name of the ultimate beneficiary. purpose_code: type: string description: Payment purpose code. fee_amount: type: string description: Fee amount fee_currency: type: string description: Currency code for fee. review_status: type: string description: Compliance review status - 'passed', 'in_review' or 'rejected'. enum: - in_review - passed - rejected invoice_number: type: string description: The invoice number related to the payment. Can be up to 30 characters. invoice_date: type: string description: The date of the invoice related to the payment. ISO 8601 format YYYY-MM-DD. example: id: 543477161-91de-012f-e284-1e0030c7f3123 short_reference: 140416-GGJBNQ001 beneficiary_id: 543477161-91de-012f-e284-1e0030c7f352 conversion_id: 049bab6d-fe2a-42e1-be0f-531c59f838ea amount: '1250000.00' currency: GBP status: ready_to_send payment_type: regular reference: INVOICE 9876 reason: Salary for March estimated_arrival: '2023-12-31T00:00:00.000Z' payment_date: '2023-12-31T23:59:59.000Z' transferred_at: '2023-12-31T23:59:59.000Z' authorisation_steps_required: '0' creator_contact_id: ab3477161-91de-012f-e284-1e0030c7f35c last_updater_contact_id: ab3477161-91de-012f-e284-1e0030c7f35c failure_reason: '' payer_id: '' created_at: '2023-12-31T23:59:59.000Z' updated_at: '2023-12-31T23:59:59.000Z' payment_group_id: 20140428-CJRRJM unique_request_id: 1234567890abc failure_returned_amount: '' ultimate_beneficiary_name: Some beneficiary name purpose_code: '' fee_amount: '10.00' fee_currency: EUR review_status: in_review invoice_number: INV01 invoice_date: '2023-07-03' PaymentAuthorisations: type: object description: Payment Authorisations. properties: authorisations: type: array items: $ref: '#/definitions/PaymentAuthorisation' PaymentAuthorisation: type: object description: Payment Authorisation. properties: payment_id: type: string payment_status: type: string updated: type: string error: type: string auth_steps_taken: type: string auth_steps_required: type: string short_reference: type: string example: payment_id: 27966e22-5bdc-4675-923d-041c6be5b239 payment_status: ready_to_send updated: true error: null auth_steps_taken: 3 auth_steps_required: 0 short_reference: 180628-FGVXPX001 PaymentDates: type: object description: Payment dates. properties: invalid_payment_dates: type: object description: Invalid payment dates with reason. additionalProperties: type: string description: >- Maps dates (eg. "2023-12-31") to string values that explains why payments cannot be made on this date (eg. "No trading on Sunday"). first_payment_date: description: Frist possible payment date. type: string example: invalid_payment_dates: '2013-04-18': Good Friday '2013-04-19': No trading on Saturday '2013-04-20': No trading on Sunday '2013-04-21': Easter Monday '2013-04-26': No trading on Saturday '2013-04-27': No trading on Sunday '2013-05-03': No trading on Saturday '2013-05-04': No trading on Sunday '2013-05-05': Early May Bank Holiday '2013-05-10': No trading on Saturday '2013-05-11': No trading on Sunday '2013-05-17': No trading on Saturday '2013-05-18': No trading on Sunday '2013-05-24': No trading on Saturday '2013-05-25': No trading on Sunday '2013-05-26': Spring Bank Holiday '2013-05-31': No trading on Saturday '2013-06-01': No trading on Sunday '2013-06-07': No trading on Saturday '2013-06-08': No trading on Sunday '2013-06-14': No trading on Saturday first_payment_date: '2013-04-15T00:00:00.000Z' PaymentDeliveryDate: type: object description: Payment Delivery Date required: - payment_date - payment_delivery_date - payment_cutoff_time - payment_type - currency - bank_country additionalProperties: false properties: payment_date: type: string description: The date when the payment will be released. payment_delivery_date: type: string description: Date that we expect the payment to be delivered and available in the beneficiary bank account. payment_cutoff_time: type: string description: Calculated cut-off date and time. payment_type: type: string description: Type of payment - priority (Swift) or regular (local). currency: type: string description: The 3-letter ISO code for the currency of the payment. bank_country: type: string description: Country in which the beneficiary's bank account is held. Two-letter ISO country code. example: payment_date: "2019-02-11" payment_delivery_date: "2019-02-11T00:00:00+00:00" payment_cutoff_time: "2019-02-11T19:00:00+00:00" payment_type: "priority" currency: "MXN" bank_country: "MX" PaymentFee: type: object description: Payment fee. required: - id - name - currency - regular_amount - priority_shared_amount - priority_ours_amount - owner_account_id additionalProperties: false properties: id: type: string format: uuid description: ID of the payment fee. name: type: string description: Name of the payment fee. currency: type: string description: The fee currency. regular_amount: type: string description: The fee regular amount. priority_shared_amount: type: string description: The fee priority shared amount. priority_ours_amount: type: string description: The fee priority our amount. owner_account_id: type: string format: uuid description: The ID of the owner account. example: id: 49521d55-5dd8-4362-8c2d-03b02b1a714b name: 1updfee_table_AUD4 currency: DKK regular_amount: '50.00' priority_shared_amount: '40.00' priority_ours_amount: '30.00' owner_account_id: null PaymentFeeAssignment: type: object description: Payment Fee Assignment. required: - id - account_id additionalProperties: false properties: id: type: string format: uuid description: ID of the payment fee. account_id: type: string format: uuid description: ID of the sub-account the rule is assigned to. example: id: a6c4a482-1a56-49ea-be55-b9b0bb92a9b2 account_id: 0178a7ba-9a77-4c74-af71-a5f650f00e09 PaymentFeeAssignmentError: type: object description: | Client error information for the Payment Fee Assignment endpoint. required: - error_code - error_messages properties: error_code: type: string description: A high-level error code for the whole request. error_messages: type: object additionalProperties: type: array items: type: object description: >- An object that represents one of the reasons why the input parameter failed. required: - code - message properties: code: type: string description: >- A unique code that identifies this error. It can be used for translations. message: type: string description: An explanation of the error in English. params: type: object default: {} description: >- Relevant validation rules that failed. This can be used for translations. example: minlength: 1 maxlength: 255 PaymentFeeRule: type: object description: Payment fee rule. required: - payment_type - charge_type - fee_amount - fee_currency - payment_fee_id - payment_fee_name additionalProperties: false properties: payment_type: type: string description: The payment type the fee is applicable to, priority(Swift) or regular(local). charge_type: type: string description: The charge type the fee is applicable to. fee_amount: type: string description: The fee amount. fee_currency: type: string description: The fee currency. payment_fee_id: type: string format: uuid description: The ID of payment level rule. payment_fee_name: type: string description: The name of payment level fee table. example: payment_type: priority charge_type: shared fee_amount: '2.00' fee_currency: AED payment_fee_id: 5c3b8754-406d-4e7e-a80e-606fa273ab80 payment_fee_name: fee_table_AED PaymentPurposeCodes: type: object description: Payment purpose codes. properties: currency: type: string description: Payment currency entity_type: type: string description: Legal entity type - 'company' or 'individual'. purpose_code: type: string description: Purpose code purpose_description: type: string description: A description of the purpose code. bank_account_country: type: string description: Two-letter country code for the country of the bank account. example: currency: INR entity_type: Company purpose_code: delivery purpose_description: Delivery fees for goods bank_account_country: IN PaymentFeeUnassignment: type: object description: Payment fee unassignment. required: - account_id additionalProperties: false properties: account_id: type: string format: uuid description: ID of the sub-account the rule is assigned to. example: account_id: 0178a7ba-9a77-4c74-af71-a5f650f00e09 PaymentFeeUnassignmentError: type: object description: | Client error information for the Payment Fee Unassignment endpoint. required: - error_code - error_messages properties: error_code: type: string description: A high-level error code for the whole request. error_messages: type: object additionalProperties: type: array items: type: object description: >- An object that represents one of the reasons why the input parameter failed. required: - code - message properties: code: type: string description: >- A unique code that identifies this error. It can be used for translations. message: type: string description: An explanation of the error in English. params: type: object default: {} description: >- Relevant validation rules that failed. This can be used for translations. example: minlength: 1 maxlength: 255 PaymentConfirmation: type: object description: Payment confirmation. properties: id: type: string description: Unique ID of the Payment Confirmation. payment_id: type: string description: Unique ID for the payment the confirmation relates to. account_id: type: string description: Account ID short_reference: type: string description: Short reference for the Payment Confirmation. status: type: string description: Status of the Payment Confirmation processing. confirmation_url: type: string description: URL to download Payment Confirmation file. created_at: type: string format: date-time description: Date and time of when the Payment Confirmation was created. updated_at: type: string format: date-time description: Date and time of when the Payment Confirmation was last updated. expires_at: type: string format: date-time description: Date and time of when the Payment Confirmation will expire. example: id: 123123121-91de-012f-e284-1e0030c7f3111 payment_id: 543477161-91de-012f-e284-1e0030c7f3123 account_id: 543477161-91de-012f-e284-1e0030c7f352 short_reference: 140416-GGJBNQ001 status: completed confirmation_url: 'https://s3.com/140416-GGJBNQ001.pdf' created_at: '2014-01-12T00:00:00+00:00' updated_at: '2014-01-12T00:00:00+00:00' expires_at: '2014-02-12T00:00:00+00:00' PaymentSubmissionInformation: type: object description: Payment submission. properties: status: type: string description: The status of the submission. enum: - canceled - closed - completed_manually - duplicated - failed - pending - processing - success - waiting_to_process submission_ref: type: string format: type: string description: MT103 or PACS008 message: type: string description: The Swift message example: status: pending submission_ref: MXGGYAGJULIIQKDV format: PACS008 message: ' ...' PaymentTrackingInfo: type: object description: PaymentTrackingInfo required: - uetr - transaction_status - initiation_time - completion_time - last_update_time - payment_events additionalProperties: false properties: uetr: type: string description: Unique End-to-end Transaction Reference. transaction_status: type: object description: Status of the transaction. required: - status - reason properties: status: type: string description: Current status reason: type: string description: Reason for current status. initiation_time: type: string format: date-time description: Time of initiation. completion_time: type: string format: date-time description: Time of completion. last_update_time: type: string format: date-time description: Time of last update. payment_events: type: array description: List of events that have been applied to the payment. items: type: object description: An object describing an event that has been applied to the payment. example: uetr: 46ed4827-7b6f-4491-a06f-b548d5a7512d transaction_status: status: processing reason: transferred_and_tracked initiation_time: "2019-07-09T13:20:30.000Z" completion_time: null last_update_time: "2019-07-10T15:39:08.690Z" payment_events: - tracker_event_type: credit_transfer_payment_cancellation_request valid: true transaction_status: null funds_available: null forwarded_to_agent: null from: BANABEBBXXX to: BANAUS33XXX originator: BANABEBBXXX serial_parties: null sender_acknowledgement_receipt: "2019-07-10T14:22:41.273Z" instructed_amount: null confirmed_amount: null interbank_settlement_amount: currency: USD amount: 745437.57 interbank_settlement_date: "2019-07-09" charge_type: null charge_amount: null foreign_exchange_details: null last_update_time: "2019-07-10T14:22:41.273Z" - tracker_event_type: customer_credit_transfer_payment valid: true transaction_status: status: processing reason: transferred_and_tracked funds_available: null forwarded_to_agent: null from: BANABEBBXXX to: BANAUS33XXX originator: BANABEBBXXX serial_parties: debtor_agent: GPMRCH30 creditor_agent: GPMRQAJ0 sender_acknowledgement_receipt: "2019-07-09T13:20:30.000Z" instructed_amount: currency: USD amount: 745437.57 confirmed_amount: null interbank_settlement_amount: currency: USD amount: 745437.57 interbank_settlement_date: "2019-07-09" charge_type: shared charge_amount: null foreign_exchange_details: null last_update_time: "2019-07-09T13:20:50.633Z" QuotePaymentFee: type: object description: Quote payment fee. required: - account_id - payment_currency - payment_destination_country - payment_type - charge_type - fee_amount - fee_currency additionalProperties: false properties: account_id: type: string description: Tha account Id. payment_currency: type: string description: Three letter ISO code for the currency of the payment. payment_destination_country: type: string description: Two-letter ISO country code for the payment's destination country. payment_type: type: string description: The payment type the fee is applicable to, priority(Swift) or regular(local). charge_type: type: string description: The charge type the fee is applicable. fee_amount: type: string description: The fee amount. fee_currency: type: string description: Three-letter ISO currency code for the fee's currency. example: account_id: 0534aaf2-2egg-0134-2f36-10b11cd33cfb payment_currency: USD payment_destination_country: US payment_type: regular charge_type: null fee_amount: '10.00' fee_currency: EUR RatesBasic: properties: rates: type: object description: >- Maps currency pairs (eg. "EURUSD", "GBPZAR") to rates. The first number is the bid SPOT rate and the second is the ask SPOT rate. For example, in the EURUSD example response, the first number (1.3803) is the EUR->USD rate and the second number (1.3809) is the USD->EUR rate. additionalProperties: type: array items: type: string description: >- A pair of rates for the currency pair. The first number is the bid SPOT rate and the second is the ask SPOT rate. unavailable: type: array description: >- A list of valid currency pairs that are not currently available. example: EURUSD: - '1.3803' - '1.3809' GBPZAR: - '17.5271' - '17.5279' RateDetailed: type: object description: Detailed rate information. properties: settlement_cut_off_time: description: The date and time by which funds need to be available to settle the trade, in the format YYYY-MM-DDThh:mm:ssZ type: string currency_pair: description: Concatenated string of the two currencies traded, e.g. "USDEUR". type: string client_buy_currency: description: Three character ISO code for the currency being bought. type: string client_sell_currency: description: Three character ISO code for the currency being sold. type: string client_buy_amount: description: The amount of buy currency for a client. type: string client_sell_amount: description: The amount of sell currency for a client. type: string fixed_side: description: Which currency is fixed - the buy or sell one. type: string enum: - buy - sell mid_market_rate: description: The mid point between buy and sell rates. type: string core_rate: description: The market rate. type: string partner_rate: description: The market rate + Currencycloud's commission (if applicable). type: string client_rate: description: The rate that will be returned to your customer after all spread has been applied. type: string deposit_required: description: Is a deposit required for the conversion? type: string deposit_amount: description: The amount of a deposit required. type: string deposit_currency: description: Three-letter ISO currency code for the currency the deposit is shown in. type: string example: settlement_cut_off_time: '2023-12-31T23:59:59.000Z' currency_pair: GBPUSD client_buy_currency: GBP client_sell_currency: USD client_buy_amount: '1000.00' client_sell_amount: '1594.90' fixed_side: buy mid_market_rate: '1.5868' core_rate: '1.587' partner_rate: '1.5878' client_rate: '1.5949' deposit_required: 'true' deposit_amount: '316.96' deposit_currency: USD RateLimitError: type: object description: Too many requests. required: - error_code - error_messages properties: error_code: type: string description: A high-level error code for the whole request. error_messages: type: object description: >- Detailed error information for individual input parameters that failed validation. Object keys are the names of the invalid input parameters. Each parameter may have one or more reasons why it failed. additionalProperties: type: array items: type: object description: >- An object that represents one of the reasons why the input parameter failed. required: - code - message properties: code: type: string description: A unique code that identifies this validation/error. message: type: string description: An explanation of the error in English. params: type: object default: {} description: >- Relevant validation rules that failed. This can be used for translations. example: minlength: 1 maxlength: 255 Sender: type: object description: Sender properties: id: type: string description: The unique UUID for the Sender. amount: type: string description: The transaction amount. currency: type: string description: Three-letter ISO currency code for the transaction's currency. additional_information: type: string description: Any additional information for the transaction, e.g. addtional sender details or transaction and client references. value_date: type: string description: The transaction value date. format: date-time sender: type: string description: Sender details - the format is "sender":"name; address; country; account_number or iban; bic; routing_code" receiving_account_number: type: string description: The account number that received the funds. receiving_account_iban: type: string description: The IBAN number for the account that received the funds. created_at: type: string description: The transaction date and time of creation. format: date-time updated_at: type: string description: The transaction date and time of the last update. format: date-time example: id: 21a7edce-fff8-486a-ac28-0dd143375081 amount: '450.00' currency_code: GBP free_text: >- 6320260731508339645906 0000045000TEST NAME THE CURRENCY CLOUD S 0063106146268242 value_date: '2018-03-27T00:00:00.000Z' sender: 'CITIBANK XFER, POPMONEY' source_account_number: 8119645406 source_account_iban: null credit_debit: debit created_at: '2018-03-27T10:51:32.000Z' updated_at: '2018-03-27T10:51:34.000Z' SenderInformation: description: The sender information properties: sender_account_number: description: The sender account number type: string sender_address: description: The unstructured sender address type: string sender_bic: description: The sender bic type: string sender_country: description: The two letter sender country type: string sender_iban: description: The sender iban type: string sender_id: description: The sender id type: string sender_name: description: The sender name type: string sender_routing_code: description: The sender routing code type: string example: sender_account_number: 8119645406 sender_address: Some street sender_bic: null sender_country: GB sender_iban: null sender_id: 5c675fa4-fdf0-4ee6-b5bb-156b36765433 sender_name: Test sender sender_routing_code: null type: object Settlement: type: object description: Settlement. properties: id: type: string short_reference: type: string status: type: string conversion_ids: type: array items: type: string entries: type: object additionalProperties: type: object description: >- Maps currency codes (eg. "GBP", "USD") to an object containing send and receive amounts. properties: send_amount: type: string receive_amount: type: string created_at: type: string format: date-time updated_at: type: string format: date-time released_at: type: string format: date-time example: id: a937f05e-e9fd-442e-a46f-11e84ba37806 short_reference: 20140101-BCDFGH status: open conversion_ids: - c9b6b851-10f9-4bbf-881e-1d8a49adf7d8 entries: GBP: send_amount: '0.00' receive_amount: '1000.00' USD: send_amount: '1587.80' receive_amount: '0.00' created_at: '2023-12-31T23:59:59.000Z' updated_at: '2023-12-31T23:59:59.000Z' released_at: '2023-12-31T23:59:59.000Z' SettlementAccount: type: object description: Settlement accounts. properties: bank_account_holder_name: type: string description: The bank account holder's name. beneficiary_address: type: array description: The beneficiary's address. items: type: string description: Line of address. beneficiary_country: description: Beneficiary's country. type: string bank_name: description: The name of the bank. type: string bank_address: description: The bank's address. type: array items: type: string description: Line of address bank_country: type: string description: Two-letter ISO country code for the bank's country. currency: description: Payment currency type: string bic_swift: description: BIC / Swift code type: string iban: description: IBAN number type: string account_number: description: Account number type: string routing_code_type_1: description: Routing system for regular (local) payments. type: string enum: - aba - bank_code - branch_code - bsb_code - clabe - cnaps - ifsc - institution_no - sort_code routing_code_value_1: type: string description: Value for routing system 'routing_code_type_1'. routing_code_type_2: type: string enum: - aba - bank_code - branch_code - bsb_code - clabe - cnaps - ifsc - institution_no - sort_code description: Local payment routing system. routing_code_value_2: type: string description: Value for routing system 'routing_code_type_2'. example: bank_account_holder_name: The Currency Cloud GBP - Client Seg A/C beneficiary_address: - 1 Churchill Place London E14 5HP beneficiary_country: GB bank_name: Barclays Bank Plc. bank_address: - 164 Bishopsgate London EC2M 4LX bank_country: GB currency: GBP bic_swift: BARCGB22 iban: GB33 BUKB 2020 1555 5555 55 account_number: '13071472' routing_code_type_1: sort_code routing_code_value_1: '200605' routing_code_type_2: '' routing_code_value_2: '' TopUpMarginBalance: type: object description: Bank Details. required: - account_id - currency - transferred_amount additionalProperties: false properties: account_id: type: string description: Account identifier currency: type: string description: Currency code for currency transferred. transferred_amount: type: string description: Amount of transfer. example: account_id: 6c046c51-2387-4004-8e87-4bf97102e36d currency: EUR transferred_amount: 100.0 TopUpMarginBalanceError: type: object description: > Client error information for the Top Up Margin Balance endpoint. required: - error_code - error_messages properties: error_code: type: string description: A high-level error code for the whole request. error_messages: type: object description: >- Detailed error information for individual input parameters that failed validation. Object keys are the names of the invalid input parameters. Each parameter may have one or more reasons why it failed. additionalProperties: type: array items: type: object description: >- An object that represents one of the reasons why the input parameter failed. required: - code - message properties: code: type: string description: >- A unique code that identifies this error. It can be used for translations. message: type: string description: An explanation of the error in English. params: type: object default: {} description: >- Relevant validation rules that failed. This can be used for translations. example: minlength: 1 maxlength: 255 Transaction: type: object description: Transaction. properties: id: type: string description: Transaction ID balance_id: type: string description: Balance ID account_id: type: string description: Account ID currency: type: string description: Three-letter ISO currency code. amount: type: string description: Transaction amount balance_amount: type: string description: Balance amount type: type: string description: Type (debit or credit). enum: - credit - debit action: type: string description: The action that triggered the transaction. enum: - conversion - conversion_deposit - deposit_refund - funding - margin - manual_intervention - manual_transaction - payment - payment_failure - payment_fee - payment_unrelease - top_up_fee - transfer related_entity_type: type: string description: The related entity type. enum: - balance_transfer - conversion - deposit - inbound_funds - margin_transaction - payment related_entity_id: type: string related_entity_short_reference: type: string description: Releated entity short reference. status: type: string description: Transaction status enum: - completed - deleted - pending reason: description: Reason type: string settles_at: description: Settlement date type: string format: date-time created_at: type: string description: Date the transaction record was created. format: date-time updated_at: type: string format: date-time completed_at: type: string description: Date the transaction record was last updated. format: date-time example: id: c5a990eb-d4d7-482f-bfb1-695261fb1e4d balance_id: c5f1f54e-d6d8-4140-8110-f5b99bbc80c3 account_id: 7b9757a8-eee9-4572-86e6-77f4d711eaa6 currency: USD amount: '1000.00' balance_amount: '2000.00' type: credit action: conversion related_entity_type: conversion related_entity_id: e93e322f-93aa-4d31-b050-449da723db0b related_entity_short_reference: 140416-GGJBNQ001 status: completed reason: Reason for Transaction settles_at: '2023-12-31T23:59:59.000Z' created_at: '2023-12-31T23:59:59.000Z' updated_at: '2023-12-31T23:59:59.000Z' completed_at: '2023-12-31T23:59:59.000Z' Transfer: type: object description: Transfer properties: id: type: string description: Transfer UUID short_reference: type: string description: Short reference code. source_account_id: type: string description: Account UUID of the paying account. destination_account_id: type: string description: Account UUID of the receiving account. currency: type: string description: Three-letter ISO currency code. amount: type: string description: Transfer amount status: type: string description: Status of the transfer - completed, pending or cancelled. created_at: type: string description: Date/time the transfer was created. updated_at: type: string description: Date/time the transfer was last updated. completed_at: type: string description: Date/time the transfer was completed. creator_account_id: type: string description: Account UUID of transfer instructor. creator_contact_id: type: string description: Contact UUID of transfer instructor. reason: type: string description: Reason for the transfer. unique_request_id: type: string description: The user-generated idempotency key given to the transfer. example: id: 993d63bd-e151-11e6-a5af-080027a79e8f short_reference: BT-20200118-VMSCBS source_account_id: a7117404-e150-11e6-a5af-080027a79e8f destination_account_id: 946f2d58-e150-11e6-a5af-080027a79e8f currency: GBP amount: '1250.00' status: completed created_at: '2023-01-18T14:08:34.000Z' updated_at: '2023-01-18T14:08:34.000Z' completed_at: '2023-01-18T14:08:34.000Z' creator_account_id: 30cb8632-e152-11e6-a5af-080027a79e8f creator_contact_id: 262e3d2a-e152-11e6-a5af-080027a79e8f reason: Director's fees for March unique_request_id: 1234567890abc UnauthorizedError: type: object description: Authorization error. required: - error_code - error_messages properties: error_code: type: string description: A high-level error code for the whole request. enum: - auth_failed error_messages: type: object description: >- Detailed error information for individual input parameters that failed validation. Object keys are the names of the invalid input parameters. Each parameter may have one or more reasons why it failed. additionalProperties: type: array items: type: object description: >- An object that represents one of the reasons why the input parameter failed. required: - code - message properties: code: type: string description: >- A unique code that identifies this error. It can be used for translations. message: type: string description: An explanation of the error in English. params: type: object default: {} description: >- Relevant validation rules that failed. This can be used for translations. example: minlength: 1 maxlength: 255 example: error_code: auth_failed error_messages: api_key: - code: invalid_supplied_credentials message: Authentication failed with the supplied credentials params: {} UpdateAccountError: type: object description: | Client error information for the Update Account endpoint. required: - error_code - error_messages properties: error_code: type: string description: A high-level error code for the whole request. error_messages: type: object description: >- Detailed error information for individual input parameters that failed validation. Object keys are the names of the invalid input parameters. Each parameter may have one or more reasons why it failed. additionalProperties: type: array items: type: object description: >- An object that represents one of the reasons why the input parameter failed. required: - code - message properties: code: type: string description: >- A unique code that identifies this error. It can be used for translations. message: type: string description: An explanation of the error in English. params: type: object default: {} description: >- Relevant validation rules that failed. This can be used for translations. example: minlength: 1 maxlength: 255 UpdateBeneficiaryError: type: object description: | Client error information for the Update Beneficiary endpoint. required: - error_code - error_messages properties: error_code: type: string description: A high-level error code for the whole request. error_messages: type: object description: >- Detailed error information for individual input parameters that failed validation. Object keys are the names of the invalid input parameters. Each parameter may have one or more reasons why it failed. additionalProperties: type: array items: type: object description: >- An object that represents one of the reasons why the input parameter failed. required: - code - message properties: code: type: string description: >- A unique code that identifies this error. It can be used for translations. message: type: string description: An explanation of the error in English. params: type: object default: {} description: >- Relevant validation rules that failed. This can be used for translations. example: minlength: 1 maxlength: 255 UpdateContactError: type: object description: | Client error information for the Update Contact endpoint. required: - error_code - error_messages properties: error_code: type: string description: A high-level error code for the whole request. error_messages: type: object description: >- Detailed error information for individual input parameters that failed validation. Object keys are the names of the invalid input parameters. Each parameter may have one or more reasons why it failed. additionalProperties: type: array items: type: object description: >- An object that represents one of the reasons why the input parameter failed. required: - code - message properties: code: type: string description: >- A unique code that identifies this error. It can be used for translations. message: type: string description: An explanation of the error in English. params: type: object default: {} description: >- Relevant validation rules that failed. This can be used for translations. example: minlength: 1 maxlength: 255 UpdatePaymentError: type: object description: | Client error information for the Update Payment endpoint. required: - error_code - error_messages properties: error_code: type: string description: A high-level error code for the whole request. error_messages: type: object description: >- Detailed error information for individual input parameters that failed validation. Object keys are the names of the invalid input parameters. Each parameter may have one or more reasons why it failed. additionalProperties: type: array items: type: object description: >- An object that represents one of the reasons why the input parameter failed. required: - code - message properties: code: type: string description: >- A unique code that identifies this error. It can be used for translations. message: type: string description: An explanation of the error in English. params: type: object default: {} description: >- Relevant validation rules that failed. This can be used for translations. example: minlength: 1 maxlength: 255 ValidateBeneficiaryError: type: object description: | Client error information for the Validate Beneficiary endpoint. required: - error_code - error_messages properties: error_code: type: string description: A high-level error code for the whole request. error_messages: type: object description: >- Detailed error information for individual input parameters that failed validation. Object keys are the names of the invalid input parameters. Each parameter may have one or more reasons why it failed. additionalProperties: type: array items: type: object description: >- An object that represents one of the reasons why the input parameter failed. required: - code - message properties: code: type: string description: >- A unique code that identifies this error. It can be used for translations. message: type: string description: An explanation of the error in English. params: type: object default: {} description: >- Relevant validation rules that failed. This can be used for translations. example: minlength: 1 maxlength: 255 BeneficiaryAccountVerificationError: type: object description: | Client error information for the Beneficiary Account Verification (CoP) endpoint. required: - error_code - error_messages properties: error_code: type: string description: A high-level error code for the whole request. error_messages: type: object description: >- Detailed error information for individual input parameters that failed validation. Object keys are the names of the invalid input parameters. Each parameter may have one or more reasons why it failed. additionalProperties: type: array items: type: object description: >- An object that represents one of the reasons why the input parameter failed. required: - code - message properties: code: type: string description: >- A unique code that identifies this error. It can be used for translations. message: type: string description: An explanation of the error in English. params: type: object default: {} description: >- Relevant validation rules that failed. This can be used for translations. example: minlength: 1 maxlength: 255 ValidatePaymentError: type: object description: | Client error information for the Validate Payment endpoint. required: - error_code - error_messages properties: error_code: type: string description: A high-level error code for the whole request. error_messages: type: object description: >- Detailed error information for individual input parameters that failed validation. Object keys are the names of the invalid input parameters. Each parameter may have one or more reasons why it failed. additionalProperties: type: array items: type: object description: >- An object that represents one of the reasons why the input parameter failed. required: - code - message properties: code: type: string description: >- A unique code that identifies this error. It can be used for translations. message: type: string description: An explanation of the error in English. params: type: object default: {} description: >- Relevant validation rules that failed. This can be used for translations. example: minlength: 1 maxlength: 255 RetryNotificationError: type: object description: Client error information for the retry payment notification endpoint. required: - error_code - error_messages properties: error_code: type: string description: A high-level error code for the whole request. error_messages: type: object description: >- Detailed error information for input parameters that failed validation. Object keys are the names of the invalid input parameters. Each parameter may have one or more reasons why it failed. additionalProperties: type: array items: type: object description: >- An object that represents one of the reasons why the input parameter failed. required: - code - message properties: code: type: string description: >- A unique code that identifies this error. It can be used for translations. message: type: string description: An explanation of the error in English. params: type: object default: {} description: >- Relevant validation rules that failed. This can be used for translations. example: minlength: 1 maxlength: 255 ForbiddenError: type: object description: Permission error. required: - error_code - error_messages properties: error_code: type: string description: A high-level error code for the whole request. enum: - auth_failed error_messages: type: object description: >- Detailed error information on what permissions are missing so that the request could not be fulfilled additionalProperties: type: array items: type: object description: >- An object that represents the reasons why the request was not permitted. required: - code - message properties: code: type: string description: >- A unique code that identifies this error. It can be used for translations. message: type: string description: An explanation of the error in English. params: type: object default: {} description: >- Relevant validation rules that failed. This can be used for translations. example: minlength: 1 maxlength: 255 WithdrawalAccount: type: object description: Withdrawal account required: - id - account_name - account_holder_name - account_holder_dob - routing_code - account_number - currency - account_id additionalProperties: false properties: id: type: string description: The UUID of the withdrawal account. account_name: type: string description: The name of the withdrawal account. account_holder_name: type: string description: The name of the withdrawal account holder. account_holder_dob: type: string format: date description: The DOB of the withdrawal account holder. routing_code: type: string description: The routing code of the withdrawal account. account_number: type: string description: The account number of the withdrawal account. currency: type: string description: The currency of the withdrawal account. account_id: type: string description: The UUID of the CurrencyCloud account the withdrawal account is linked to. example: id: ffb9fdea-312b-4bc8-beb9-5e44ee2d2a8c account_name: TestAccount account_holder_name: John Smith account_holder_dob: '1987-05-12' routing_code: 987654321 account_number: 0123456789 currency: USD account_id: 82214b7e-9192-4d9e-82cf-e2c4b1670f23 WithdrawalPullFundsRequestDetails: type: object description: Details of a Withdrawal Pull Request. required: - id - withdrawal_account_id - reference - amount - created_at additionalProperties: false properties: id: type: string description: The ID for the Pull Request. withdrawal_account_id: type: string description: The ID of the withdrawal account to pull funds from. reference: type: string description: The reference provided at the time the request was made. amount: type: string description: The amount to be pulled from the withdrawal account. created_at: type: string format: date-time description: Date the pull funds request record was created. example: id: 82214b7e-9192-4d9e-82cf-e2c4b1670f23 withdrawal_account_id: ffb9fdea-312b-4bc8-beb9-5e44ee2d2a8c reference: Reference amount: 1000.00 created_at: '2019-04-18T08:17:22+00:00' WithdrawalPullFundsRequestError: type: object description: | Client error information for the Post WithdrawalAccount PullFunds endpoint. required: - error_code - error_messages properties: error_code: type: string description: A high-level error code for the whole request. error_messages: type: object description: >- Detailed error information for individual input parameters that failed validation. Object keys are the names of the invalid input parameters. Each parameter may have one or more reasons why it failed. additionalProperties: type: array items: type: object description: >- An object that represents one of the reasons why the input parameter failed. required: - code - message properties: code: type: string description: >- A unique code that identifies this error. It can be used for translations. message: type: string description: An explanation of the error in English. params: type: object default: {} description: >- Relevant validation rules that failed. This can be used for translations. example: minlength: 1 maxlength: 255 SimulateFunding: type: object description: SimulateFunding required: - id - account_id - state - sender_name - sender_address - sender_country - sender_reference - sender_account_number - sender_routing_code - receiver_account_number - receiver_routing_code - amount - currency - action - short_reference - updated_at - created_at additionalProperties: false properties: id: type: string description: The unique UUID for the simulated fund. account_id: type: string description: The account UUID the simulated fund was created for. state: type: string description: The state of the simulated fund. sender_name: type: string description: The sender's name. sender_address: type: string description: The sender's address. sender_country: type: string description: Two-digit sender country. sender_reference: type: string description: Sender reference. sender_account_number: type: string description: Sender account number. sender_routing_code: type: string description: Sender routing code. receiver_account_number: type: string description: A client or its sub-account's account number. receiver_routing_code: type: string description: Routing code for a client or its sub-account. amount: type: string description: Amount of the emulated transaction. currency: type: string description: Three-digit currency code. action: type: string description: Allows you to trigger approval or rejection behaviour. enum: - approve - reject short_reference: type: string description: The reference generated by the system to identify the fund. created_at: type: string description: The date-time the SSI was added to the account. format: date-time updated_at: type: string description: The date-time the SSI was last updated on the account. format: date-time example: id: 2090939e-b2f7-3f2b-1363-jfy28d74kc72 account_id: 2090939e-b2f7-3f2b-1363-4d235b3f58af state: pending sender_name: 'Mr. Sender' sender_address: Some Street sender_country: GB sender_reference: sender-ref" sender_account_number: 22223333 sender_routing_code: 222333 receiver_account_number: 22213332 receiver_routing_code: 776813 amount: '150.53' currency: GBP action: reject short_reference: REF-22122 created_at: '2018-05-14T14:18:30+00:00' updated_at: '2018-05-14T14:18:30+00:00' CreateSimulateFundingError: type: object description: | Client error information for the Create Simulated Funding endpoint. required: - error_code - error_messages properties: error_code: type: string description: A high-level error code for the whole request. error_messages: type: object description: >- Detailed error information for individual input parameters that failed validation. Object keys are the names of the invalid input parameters. Each parameter may have one or more reasons why it failed. additionalProperties: type: array items: type: object description: >- An object that represents one of the reasons why the input parameter failed. required: - code - message properties: code: type: string description: >- A unique code that identifies this error. It can be used for translations. message: type: string description: An explanation of the error in English. params: type: object default: {} description: >- Relevant validation rules that failed. This can be used for translations. example: minlength: 1 maxlength: 255