Currencycloud Form API
The Form API from Currencycloud — 3 operation(s) for form.
The Form API from Currencycloud — 3 operation(s) for form.
openapi: 3.0.3
info:
title: api-onboarding Account Usage Form API
version: v1
servers:
- url: /onboarding
description: Relative URL
- url: https://api.currencycloud.com/onboarding
description: Production server (uses live data)
- url: https://devapi.currencycloud.com/onboarding
description: Dev server (uses test data)
tags:
- name: Form
paths:
/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
- MM
- MN
- MO
- MP
- MQ
- MR
- MS
- MT
- MU
- MV
- MW
- MX
- MY
- MZ
- NA
- NC
- NE
- NF
- NG
- NI
- NL
- 'NO'
- NP
- NR
- NU
- NZ
- OM
- PA
- PE
- PF
- PG
- PH
- PK
- PL
- PM
- PN
- PR
- PS
- PT
- PW
- PY
- QA
- RE
- RO
- RS
- RU
- RW
- SA
- SB
- SC
- SE
- SG
- SH
- SI
- SJ
- SK
- SL
- SM
- SN
- SO
- SR
- ST
- SV
- SX
- SZ
- TC
- TD
- TF
- TG
- TH
- TJ
- TK
- TL
- TM
- TN
- TO
- TR
- TT
- TV
- TW
- TZ
- UA
- UG
- UM
- US
- UY
- UZ
- VA
- VC
- VE
- VG
- VI
- VN
- VU
- WF
- WS
- XK
- YE
- YT
- ZA
- ZM
- ZW
- AND
- ANT
- ARE
- AFG
- ATG
- AIA
- ALB
- ARM
- AGO
- ATA
- ARG
- ASM
- AUT
- AUS
- ABW
- ALA
- AZE
- BIH
- BRB
- BGD
- BEL
- BFA
- BGR
- BHR
- BDI
- BEN
- BLM
- BMU
- BRN
- BOL
- BES
- BRA
- BHS
- BTN
- BVT
- BWA
- BLR
- BLZ
- CAN
- CCK
- COD
- CAF
- COG
- CHE
- CIV
- COK
- CHL
- CMR
- CHN
- COL
- CRI
- CPV
- CUW
- CXR
- CYP
- CZE
- DEU
- DJI
- DNK
- DMA
- DOM
- DZA
- ECU
- EST
- EGY
- ESH
- ERI
- ESP
- ETH
- FIN
- FJI
- FLK
- FSM
- FRO
- FRA
- GAB
- GBR
- GRD
- GEO
- GUF
- GGY
- GHA
- GIB
- GRL
- GMB
- GIN
- GLP
- GNQ
- GRC
- SGS
- GTM
- GUM
- GNB
- GUY
- HKG
- HMD
- HND
- HRV
- HTI
- HUN
- IDN
- IRL
- ISR
- IMN
- IND
- IOT
- IRQ
- ISL
- ITA
- JEY
- JAM
- JOR
- JPN
- KEN
- KGZ
- KHM
- KIR
- COM
- KNA
- KOR
- KWT
- CYM
- KAZ
- LAO
- LBN
- LCA
- LIE
- LKA
- LBR
- LSO
- LTU
- LUX
- LVA
- MAR
- MCO
- MDA
- MNE
- MAF
- MDG
- MHL
- MKD
- MLI
- MMR
- MNG
- MAC
- MNP
- MTQ
- MRT
- MSR
- MLT
- MUS
- MDV
- MWI
- MEX
- MYS
- MOZ
- NAM
- NCL
- NER
- NFK
- NGA
- NIC
- NLD
- NOR
- NPL
- NRU
- NIU
- NZL
- OMN
- PAN
- PER
- PYF
- PNG
- PHL
- PAK
- POL
- SPM
- PCN
- PRI
- PSE
- PRT
- PLW
- PRY
- QAT
- REU
- ROU
- SRB
- RUS
- RWA
- SAU
- SLB
- SYC
- SWE
- SGP
- SHN
- SVN
- SJM
- SVK
- SLE
- SMR
- SEN
- SOM
- SUR
- STP
- SLV
- SXM
- SWZ
- TCA
- TCD
- ATF
- TGO
- THA
- TJK
- TKL
- TLS
- TKM
- TUN
- TON
- TUR
- TTO
- TUV
- TWN
- TZA
- UKR
- UGA
- UMI
- USA
- URY
- UZB
- VAT
- VCT
- VEN
- VGB
- VIR
- VNM
- VUT
- WLF
- WSM
- UNK
- YEM
- MYT
- ZAF
- ZMB
- ZWE
email:
description: The applicant's email address.
type: string
entity_type:
description: Type of applicant - individual or corporate.
type: string
enum:
- individual
- corporate
referred_by:
description: How did the applicant hear about us.
type: string
nullable: true
phone_number:
description: The applicant's phone number.
type: string
nullable: true
contact_name:
description: The applicant's name.
type: string
nullable: true
delete:
summary: Delete Form
description: Deletes 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: Deletes form
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'
components:
schemas:
form_with_associations:
type: object
properties:
id:
type: string
description: The form's UUID.
detached_document_ids:
type: array
description: List of IDs for any uploaded supporting documents.
items:
type: string
affiliate_code:
type: string
description: Client's own use, e.g. to track lead source.
nullable: true
agreed_to_marketing_emails:
type: boolean
description: Agreed to marketing emails.
agreed_to_terms_and_conditions:
type: boolean
description: Agreed to terms and conditions.
agreed_to_corporate_authority:
type: boolean
description: Confirmed authority to act on behalf of company.
country:
description: Home country for individual applicants or country of registered address for corporate applicants. Two or three character ISO country code.
type: string
email:
description: The applicant's email address.
type: string
entity_type:
type: string
description: Type of applicant - individual or corporate.
brand_name:
type: string
brand_key:
type: string
referred_by:
description: How did the applicant hear about us.
type: string
nullable: true
products_required:
type: array
items:
type: string
state:
type: string
phone_number:
description: The applicant's phone number.
type: string
contact_name:
description: The applicant's name.
type: string
created_at:
type: string
format: date-time
description: Date and time the form was created.
updated_at:
type: string
format: date-time
description: Date and time the form was last updated.
business_information:
description: Further information about corporate applicants.
$ref: '#/components/schemas/business_information'
account_usage:
description: Information about the intended use of the account.
$ref: '#/components/schemas/account_usage'
people:
description: Information about people associated with the application.
type: array
items:
$ref: '#/components/schemas/person'
required:
- id
- agreed_to_marketing_emails
- agreed_to_terms_and_conditions
- country
- entity_type
- brand_name
- products_required
- created_at
- updated_at
form:
type: object
properties:
id:
type: string
description: The form's UUID.
detached_document_ids:
description: List of IDs for any uploaded supporting documents.
type: array
items:
type: string
affiliate_code:
description: Client's own use, e.g. to track lead source.
type: string
nullable: true
agreed_to_marketing_emails:
description: Agreed to marketing emails.
type: boolean
agreed_to_terms_and_conditions:
description: Agreed to terms and conditions.
type: boolean
agreed_to_corporate_authority:
description: Confirmed authority to act on behalf of company.
type: boolean
country:
description: Home country for individual applicant or country of registered address for corporate applicant.
type: string
email:
description: The applicant's email address.
type: string
entity_type:
description: Type of applicant - individual or corporate.
type: string
brand_name:
type: string
brand_key:
type: string
referred_by:
description: How did the applicant hear about us.
type: string
nullable: true
products_required:
type: array
items:
type: string
state:
type: string
phone_number:
description: The applicant's phone number.
type: string
contact_name:
type: string
description: The applicant's name.
created_at:
type: string
format: date-time
description: Date and time the form was created.
updated_at:
type: string
format: date-time
description: Date and time the form was last updated.
required:
- id
- agreed_to_marketing_emails
- agreed_to_terms_and_conditions
- brand_name
- country
- entity_type
- products_required
- created_at
- updated_at
validation_error_response:
type: object
properties:
status:
type: string
error_code:
type: string
reason:
type: string
error_messages:
type: object
required:
- status
- error_code
- reason
- error_messages
person:
type: object
properties:
id:
type: string
form_id:
type: string
document_ids:
type: array
description: List of IDs for any uploaded supporting documents.
items:
type: string
roles:
type: array
items:
type: string
first_name:
type: string
middle_name:
type: string
nullable: true
last_name:
type: string
dob:
type: string
format: date
nullable: true
phone_number:
type: string
nullable: true
email:
type: string
nullable: true
ownership_percentage:
type: number
minimum: 0
maximum: 100
id_number:
type: string
nullable: true
home_country:
type: string
passport_number:
type: string
nullable: true
passport_country_of_issue:
type: string
nullable: true
personal_address:
type: object
properties:
city:
type: string
street:
type: string
country:
type: string
postal_code:
type: string
apartment_number:
type: string
nullable: true
building_name:
type: string
nullable: true
building_number:
type: string
nullable: true
state_or_province:
type: string
nullable: true
created_at:
type: string
format: date-time
updated_at:
type: string
format: date-time
required:
- id
- roles
- first_name
- last_name
- home_country
not_found_response:
type: object
properties:
status:
type: string
error_code:
type: string
reason:
type: string
error_messages:
type: object
nullable: true
required:
- status
- error_code
- reason
- error_messages
create_form_request:
type: object
properties:
affiliate_code:
type: string
description: Client's own use, e.g. to track lead source.
nullable: true
agreed_to_marketing_emails:
type: boolean
description: Agreed to marketing emails.
agreed_to_terms_and_conditions:
type: boolean
description: Agreed to terms and conditions.
agreed_to_corporate_authority:
type: boolean
description: Confirmed authority to act on behalf of company.
country:
description: Home country for individual applicant or country of registered address for corporate applicant.
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
- MM
- MN
- MO
- MP
- MQ
- MR
- MS
- MT
- MU
- MV
- MW
- MX
- MY
- MZ
- NA
- NC
- NE
- NF
- NG
- NI
- NL
- 'NO'
- NP
- NR
- NU
- NZ
- OM
- PA
- PE
- PF
- PG
- PH
- PK
- PL
- PM
- PN
- PR
- PS
- PT
- PW
- PY
- QA
- RE
- RO
- RS
- RU
- RW
- SA
- SB
- SC
- SE
- SG
- SH
- SI
- SJ
- SK
- SL
- SM
- SN
- SO
- SR
- ST
- SV
- SX
- SZ
- TC
- TD
- TF
- TG
- TH
- TJ
- TK
# --- truncated at 32 KB (43 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/currencycloud/refs/heads/main/openapi/currencycloud-form-api-openapi.yml