Currencycloud Onboarding API (beta pilot)

Sub-account and contact onboarding pilot surface.

OpenAPI Specification

currencycloud-onboarding-openapi-original.yml Raw ↑
---
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