Currencycloud Onboarding API (beta pilot)
Sub-account and contact onboarding pilot surface.
Sub-account and contact onboarding pilot surface.
---
openapi: 3.0.3
info:
title: api-onboarding
version: v1
paths:
"/v1/forms/{form_id}/account_usage":
get:
summary: Get Account Usage
description: Gets the associated account usage for a form. The account usage outlines how the applicant intends to use their account.
tags:
- Account Usage
x-api-group: Onboard
security:
- AuthToken: []
parameters:
- name: form_id
description: Form UUID
in: path
required: true
schema:
type: string
responses:
'200':
description: Account usage found
content:
application/json:
schema:
type: object
properties:
data:
"$ref": "#/components/schemas/account_usage"
'404':
description: Returns error if form not found
content:
application/json:
schema:
"$ref": "#/components/schemas/not_found_response"
put:
summary: Update Account Usage
description: Updates a form's associated account usage. The account usage outlines how the applicant intends to use their account.
tags:
- Account Usage
x-api-group: Onboard
security:
- AuthToken: []
parameters:
- name: form_id
description: Form UUID
in: path
required: true
schema:
type: string
responses:
'200':
description: Updates account usage.
content:
application/json:
schema:
type: object
properties:
data:
"$ref": "#/components/schemas/account_usage"
'422':
description: Form is already submitted
content:
application/json:
schema:
"$ref": "#/components/schemas/validation_error_response"
'400':
description: Returns error if any request body schema validation fails
content:
application/json:
schema:
"$ref": "#/components/schemas/validation_error_response"
'404':
description: Form not found
content:
application/json:
schema:
"$ref": "#/components/schemas/not_found_response"
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/create_account_usage_request"
delete:
summary: Delete Account Usage
description: Deletes the account usage for the specified application form.
tags:
- Account Usage
x-api-group: Onboard
security:
- AuthToken: []
parameters:
- name: form_id
description: Form UUID
in: path
required: true
schema:
type: string
responses:
'200':
description: Deletes account usage if it exists
content:
application/json:
schema:
type: object
properties:
data:
type: object
properties:
message:
type: string
form_id:
type: string
description: Form UUID
required:
- message
- form_id
'422':
description: Form is already submitted
content:
application/json:
schema:
"$ref": "#/components/schemas/validation_error_response"
'404':
description: Form not found
content:
application/json:
schema:
"$ref": "#/components/schemas/not_found_response"
"/v1/forms/{form_id}/business_information":
get:
summary: Get Business Information
description: Gets the business information for the specified application form. Business information is only relevant to corporate applications.
tags:
- Business Information
x-api-group: Onboard
security:
- AuthToken: []
parameters:
- name: form_id
description: Form UUID
in: path
required: true
schema:
type: string
responses:
'200':
description: Business information found
content:
application/json:
schema:
type: object
properties:
data:
"$ref": "#/components/schemas/business_information"
'404':
description: Returns error if form is not found
content:
application/json:
schema:
"$ref": "#/components/schemas/not_found_response"
put:
summary: Update Business Information
description: Updates the business information for the specified application form. Business information is only relevant to corporate applications.
tags:
- Business Information
x-api-group: Onboard
security:
- AuthToken: []
parameters:
- name: form_id
description: Form UUID
in: path
required: true
schema:
type: string
responses:
'200':
description: Updates business information
content:
application/json:
schema:
type: object
properties:
data:
"$ref": "#/components/schemas/business_information"
'400':
description: Returns error if any request body schema validation fails
content:
application/json:
schema:
"$ref": "#/components/schemas/validation_error_response"
'422':
description: Returns error if form has already been submitted
content:
application/json:
schema:
"$ref": "#/components/schemas/validation_error_response"
'404':
description: Returns error if form is not found
content:
application/json:
schema:
"$ref": "#/components/schemas/not_found_response"
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/create_business_information_request"
delete:
summary: Delete Business Information
description: Deletes the business information for the specified form.
tags:
- Business Information
x-api-group: Onboard
security:
- AuthToken: []
parameters:
- name: form_id
description: Form UUID
in: path
required: true
schema:
type: string
responses:
'200':
description: Deletes business information if it exists
content:
application/json:
schema:
type: object
properties:
data:
type: object
properties:
message:
type: string
form_id:
type: string
description: Form UUID
required:
- message
- form_id
'422':
description: Form is already submitted
content:
application/json:
schema:
"$ref": "#/components/schemas/validation_error_response"
'404':
description: Form not found
content:
application/json:
schema:
"$ref": "#/components/schemas/not_found_response"
"/v1/countries":
get:
summary: Get countries
description: Returns a list of all countries.
tags:
- Country
x-api-group: Onboard
security:
- AuthToken: []
responses:
'200':
description: List of countries.
content:
application/json:
schema:
type: object
properties:
data:
type: object
properties:
countries:
type: array
description: List of countries.
items:
type: object
properties:
id:
type: string
description: Country UUID
iso2:
type: string
description: Two character ISO country code.
iso3:
type: string
description: Three character ISO country code.
name:
type: string
description: Country name
dial_code:
type: string
description: Country telephone dial code.
eea_country:
type: boolean
description: Member of the EEA (European Economic Area).
permitted_jurisdiction:
type: boolean
description: Is one of our <a href="https://support.currencycloud.com/hc/en-gb/articles/360017599560">permitted jurisdictions</a>.
document_types:
type: array
description: List of acceptable ID documents.
items:
type: string
created_at:
type: string
description: Date the Country entity was created.
updated_at:
type: string
description: Date the Country entity was last updated.
required:
- id
- iso2
- iso3
- name
- eea_country
- permitted_jurisdiction
"/v1/countries/{country_code}/document_types":
get:
summary: Get Document Types
description: Returns a list of acceptable ID documents for the country specified.
tags:
- Country
x-api-group: Onboard
security:
- AuthToken: []
parameters:
- name: country_code
description: Two or three character ISO code for the country.
in: path
required: true
schema:
type: string
responses:
'200':
description: Get country document types (ISO3).
content:
application/json:
schema:
type: object
properties:
data:
type: object
properties:
document_types:
type: array
description: List of acceptable ID documents for the country.
items:
type: string
'404':
description: Incorrect country sent in params
content:
application/json:
schema:
"$ref": "#/components/schemas/not_found_response"
"/v1/currencies/supported":
get:
summary: Get Supported Currencies
description: Returns a list of supported currencies.
tags:
- Currency
x-api-group: Onboard
security:
- AuthToken: []
responses:
'200':
description: List of supported currencies.
content:
application/json:
schema:
type: object
properties:
data:
properties:
currencies:
type: array
items:
type: object
properties:
id:
description: Currency UUID
type: string
iso3:
type: string
description: Three character ISO currency code.
name:
type: string
description: Currency name
supported:
type: boolean
description: Supported currency
created_at:
type: string
description: Date the currency entity was created.
updated_at:
type: string
description: Date the currency entity was last updated.
required:
- id
- iso3
- name
"/v1/forms/{form_id}/documents/{document_id}/document_images":
post:
summary: Create Document Image
description: Records an image of a document that's required for the specified application form. For more information, see the "Uploading documents" section of <a href="../guides/integration-guides/onboarding-api-pilot">our guide.</a>
tags:
- Document Images
x-api-group: Onboard
security:
- AuthToken: []
parameters:
- name: form_id
description: Form UUID
in: path
required: true
schema:
type: string
- name: document_id
in: path
description: Document UUID
required: true
schema:
type: string
responses:
'201':
description: Document image attached
content:
application/json:
schema:
type: object
properties:
data:
"$ref": "#/components/schemas/document_image"
'422':
description: Form is already submitted
content:
application/json:
schema:
"$ref": "#/components/schemas/validation_error_response"
'404':
description: Document not found
content:
application/json:
schema:
"$ref": "#/components/schemas/not_found_response"
'400':
description: Invalid side in request params
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/create_document_image_request"
get:
summary: Get Document Images
description: Returns all document images for the specified document.
tags:
- Document Images
x-api-group: Onboard
security:
- AuthToken: []
parameters:
- name: form_id
description: Form UUID
in: path
required: true
schema:
type: string
- name: document_id
in: path
description: Document UUID
required: true
schema:
type: string
responses:
'200':
description: Retrieves document images
content:
application/json:
schema:
type: object
properties:
document_images:
type: array
items:
"$ref": "#/components/schemas/document_image"
'404':
description: Document image not found with incorrect form id
content:
application/json:
schema:
"$ref": "#/components/schemas/not_found_response"
"/v1/forms/{form_id}/documents/{document_id}/document_images/{document_image_id}":
delete:
summary: Delete Document Image
description: Deletes the specified image of a document attached to the specified form.
tags:
- Document Images
x-api-group: Onboard
security:
- AuthToken: []
parameters:
- name: form_id
description: Form UUID
in: path
required: true
schema:
type: string
- name: document_id
in: path
description: Document UUID
required: true
schema:
type: string
- name: document_image_id
description: Document Image UUID.
in: path
required: true
schema:
type: string
responses:
'200':
description: Deletes the document image
content:
application/json:
schema:
type: object
properties:
data:
type: object
properties:
message:
type: string
document_image_id:
description: Document Image UUID.
type: string
required:
- message
- document_image_id
'422':
description: Form is already submitted
content:
application/json:
schema:
"$ref": "#/components/schemas/validation_error_response"
'404':
description: Document image not found
content:
application/json:
schema:
"$ref": "#/components/schemas/not_found_response"
"/v1/forms/{form_id}/documents":
post:
summary: Create Document
description: Adds a validation document to the specified form. For more information on uploading documents, see <a href="../guides/integration-guides/onboarding-api-pilot/#uploading-documents">our guide.</a>
tags:
- Documents
x-api-group: Onboard
security:
- AuthToken: []
parameters:
- name: form_id
description: Form UUID
in: path
required: true
schema:
type: string
responses:
'201':
description: Creates a document when correct params are provided
content:
application/json:
schema:
type: object
properties:
data:
"$ref": "#/components/schemas/document"
'422':
description: Form is already submitted
content:
application/json:
schema:
"$ref": "#/components/schemas/validation_error_response"
'400':
description: Invalid parameter in request params
content:
application/json:
schema:
"$ref": "#/components/schemas/validation_error_response"
'404':
description: Form not found
content:
application/json:
schema:
"$ref": "#/components/schemas/not_found_response"
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/create_document_request"
get:
summary: Get Documents
description: Returns the uploaded documents for the specified application form.
tags:
- Documents
x-api-group: Onboard
security:
- AuthToken: []
parameters:
- name: form_id
description: Form UUID
in: path
required: true
schema:
type: string
responses:
'200':
description: Retrieves all form documents
content:
application/json:
schema:
type: object
properties:
documents:
type: array
items:
"$ref": "#/components/schemas/document_with_image_ids"
'404':
description: Form not found
content:
application/json:
schema:
"$ref": "#/components/schemas/not_found_response"
"/v1/forms/{form_id}/documents/{document_id}":
delete:
summary: Delete Document
description: Deletes a document attached to the specified application form.
tags:
- Documents
x-api-group: Onboard
security:
- AuthToken: []
parameters:
- name: form_id
description: Form UUID
in: path
required: true
schema:
type: string
- name: document_id
in: path
required: true
schema:
type: string
responses:
'200':
description: Deletes the document
content:
application/json:
schema:
type: object
properties:
data:
type: object
properties:
message:
type: string
document_id:
type: string
required:
- message
- document_id
'422':
description: Form is already submitted
content:
application/json:
schema:
"$ref": "#/components/schemas/validation_error_response"
'404':
description: Document not found
content:
application/json:
schema:
"$ref": "#/components/schemas/not_found_response"
"/v1/forms/{form_id}/submit":
post:
summary: Submit Form
description: Submits the application form.
tags:
- Form
x-api-group: Onboard
security:
- AuthToken: []
parameters:
- name: form_id
description: Form UUID
in: path
required: true
schema:
type: string
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
properties:
data:
"$ref": "#/components/schemas/form"
'422':
description: Form already submitted
content:
application/json:
schema:
"$ref": "#/components/schemas/validation_error_response"
"/v1/forms":
get:
summary: Get Forms
description: Retrieves all application forms for the house account.
tags:
- Form
x-api-group: Onboard
security:
- AuthToken: []
parameters:
- name: order
in: query
schema:
type: string
- name: order_asc_desc
in: query
schema:
type: string
- name: application_status
in: query
description: Filter by application_status.
schema:
type: string
enum:
- new
- submitted
- name: entity_type
description: Type of applicant - individual or corporate.
in: query
schema:
type: string
enum:
- individual
- corporate
- name: page
description: Page number
in: query
schema:
type: integer
- name: per_page
description: Number of results per page.
in: query
schema:
type: integer
responses:
'200':
description: Retrieves all forms for a house_account_id
content:
application/json:
schema:
type: object
properties:
forms:
type: array
items:
"$ref": "#/components/schemas/form_with_associations"
pagination:
type: object
properties:
total_entries:
type: integer
minimum: 0
total_pages:
type: integer
minimum: 0
current_page:
type: integer
minimum: 1
per_page:
type: integer
minimum: 1
previous_page:
type: integer
minimum: 1
nullable: true
next_page:
type: integer
minimum: 1
nullable: true
order:
type: string
order_asc_desc:
type: string
required:
- total_entries
- total_pages
- current_page
- per_page
- previous_page
- next_page
- order
- order_asc_desc
'400':
description: Returns error if request validation errors occur
content:
application/json:
schema:
"$ref": "#/components/schemas/validation_error_response"
post:
summary: Create Form
description: Creates a new application form. Returns the new form entity on success.
tags:
- Form
x-api-group: Onboard
security:
- AuthToken: []
parameters: []
responses:
'400':
description: Invalid parameter in request params
content:
application/json:
schema:
"$ref": "#/components/schemas/validation_error_response"
'201':
description: Creates a form when correct params are provided
content:
application/json:
schema:
type: object
properties:
data:
"$ref": "#/components/schemas/form"
requestBody:
content:
application/json:
schema:
"$ref": "#/components/schemas/create_form_request"
"/v1/forms/{form_id}":
get:
summary: Get Form
description: Retrieves the application form with the given ID.
tags:
- Form
x-api-group: Onboard
security:
- AuthToken: []
parameters:
- name: form_id
description: Form UUID
in: path
required: true
schema:
type: string
responses:
'200':
description: Retrieves form if the UUID exists
content:
application/json:
schema:
type: object
properties:
data:
"$ref": "#/components/schemas/form_with_associations"
'404':
description: Record not found - Invalid UUID
content:
application/json:
schema:
"$ref": "#/components/schemas/not_found_response"
put:
summary: Update Form
description: Updates an application form.
tags:
- Form
x-api-group: Onboard
security:
- AuthToken: []
parameters:
- name: form_id
description: Form UUID
in: path
required: true
schema:
type: string
responses:
'400':
description: Invalid parameter in request params
content:
application/json:
schema:
"$ref": "#/components/schemas/validation_error_response"
'200':
description: Updates form when correct params are provided
content:
application/json:
schema:
type: object
properties:
data:
"$ref": "#/components/schemas/form"
'422':
description: Form is already submitted
content:
application/json:
schema:
"$ref": "#/components/schemas/validation_error_response"
'404':
description: Form not found
content:
application/json:
schema:
"$ref": "#/components/schemas/not_found_response"
requestBody:
content:
application/json:
schema:
type: object
properties:
affiliate_code:
description: Client's own use, e.g. to track lead source.
type: string
nullable: true
country:
description: Home country for individual applicants or country of registered address for corporate applicants. Two or three character ISO country code.
type: string
enum:
- AD
- AN
- AE
- AF
- AG
- AI
- AL
- AM
- AO
- AQ
- AR
- AS
- AT
- AU
- AW
- AX
- AZ
- BA
- BB
- BD
- BE
- BF
- BG
- BH
- BI
- BJ
- BL
- BM
- BN
- BO
- BQ
- BR
- BS
- BT
- BV
- BW
- BY
- BZ
- CA
- CC
- CD
- CF
- CG
- CH
- CI
- CK
- CL
- CM
- CN
- CO
- CR
- CV
- CW
- CX
- CY
- CZ
- DE
- DJ
- DK
- DM
- DO
- DZ
- EC
- EE
- EG
- EH
- ER
- ES
- ET
- FI
- FJ
- FK
- FM
- FO
- FR
- GA
- GB
- GD
- GE
- GF
- GG
- GH
- GI
- GL
- GM
- GN
- GP
- GQ
- GR
- GS
- GT
- GU
- GW
- GY
- HK
- HM
- HN
- HR
- HT
- HU
- ID
- IE
- IL
- IM
- IN
- IO
- IQ
- IS
- IT
- JE
- JM
- JO
- JP
- KE
- KG
- KH
- KI
- KM
- KN
- KR
- KW
- KY
- KZ
- LA
- LB
- LC
- LI
- LK
- LR
- LS
- LT
- LU
- LV
- MA
- MC
- MD
- ME
- MF
- MG
- MH
- MK
- ML
# --- truncated at 32 KB (124 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/currencycloud/refs/heads/main/openapi/currencycloud-onboarding-openapi-original.yml