Onfido Applicants API

The Applicants API from Onfido — 3 operation(s) for applicants.

OpenAPI Specification

onfido-applicants-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  contact:
    name: Onfido
    url: https://public.support.onfido.com
  description: "\nCreate trust at onboarding and beyond with a complete, AI-powered digital\nidentity solution built to help you know your customers online. \nAutomation allows you to acquire new customers and reduce costs while\nmeeting global KYC and AML compliance."
  license:
    name: MIT
  title: Onfido Applicants API
  version: v3.6
servers:
- url: https://api.{region}.onfido.com/v3.6
  variables:
    region:
      default: eu
      enum:
      - eu
      - us
      - ca
security:
- Token: []
tags:
- name: Applicants
paths:
  /applicants:
    get:
      description: 'Lists all applicants you''ve created, sorted by creation date in descending order.

        '
      operationId: list_applicants
      parameters:
      - description: The page to return. The first page is `page=1`
        in: query
        name: page
        schema:
          default: 1
          type: integer
      - description: The number of objects per page.
        in: query
        name: per_page
        schema:
          default: 20
          type: integer
      - description: Whether to also include applicants scheduled for deletion.
        in: query
        name: include_deleted
        schema:
          default: false
          type: boolean
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Applicants_list'
          description: A list of applicants
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Unexpected error
      summary: List Applicants
      tags:
      - Applicants
    post:
      description: 'Creates a single applicant. Returns an applicant object.

        '
      operationId: create_applicant
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/applicant_builder'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/applicant'
          description: Created
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Unexpected error
      summary: Create Applicant
      tags:
      - Applicants
  /applicants/{applicant_id}:
    delete:
      description: 'Deletes a single applicant.

        '
      operationId: delete_applicant
      parameters:
      - in: path
        name: applicant_id
        required: true
        schema:
          format: uuid
          type: string
      responses:
        '204':
          description: No Content
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Unexpected error
      summary: Delete Applicant
      tags:
      - Applicants
    get:
      description: 'Retrieves a single applicant. Returns an applicant object.

        '
      operationId: find_applicant
      parameters:
      - in: path
        name: applicant_id
        required: true
        schema:
          format: uuid
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/applicant'
          description: Applicant object
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Unexpected error
      summary: Retrieve Applicant
      tags:
      - Applicants
    put:
      description: 'Allows updating applicant''s information before any checks is created.

        - Partial updates - Addresses and ID numbers present will replace existing ones - Same applicant validations to create applicant

        '
      operationId: update_applicant
      parameters:
      - in: path
        name: applicant_id
        required: true
        schema:
          format: uuid
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/applicant_updater'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/applicant'
          description: Applicant Object
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Unexpected error
      summary: Update Applicant
      tags:
      - Applicants
  /applicants/{applicant_id}/restore:
    post:
      description: 'Restores a single applicant scheduled for deletion.

        '
      operationId: restore_applicant
      parameters:
      - in: path
        name: applicant_id
        required: true
        schema:
          format: uuid
          type: string
      responses:
        '204':
          description: No Content
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Unexpected error
      summary: Restore Applicant
      tags:
      - Applicants
components:
  schemas:
    ErrorProperties:
      example:
        type: type
        message: message
        fields:
          key: ''
      properties:
        type:
          type: string
        message:
          type: string
        fields:
          additionalProperties: true
          type: object
      title: ErrorProperties
      type: object
    address_builder:
      allOf:
      - $ref: '#/components/schemas/address_shared'
    applicant_updater:
      allOf:
      - $ref: '#/components/schemas/applicant_shared'
      - $ref: '#/components/schemas/applicant_request'
      - $ref: '#/components/schemas/applicant_update'
    location_shared:
      properties:
        ip_address:
          description: The applicant's ip address.
          type: string
        country_of_residence:
          allOf:
          - $ref: '#/components/schemas/country_codes'
          description: The applicant's country of residence in 3-letter ISO code.
          example: GBR
      type: object
    applicant:
      allOf:
      - $ref: '#/components/schemas/applicant_shared'
      - $ref: '#/components/schemas/applicant_response'
      example:
        address:
          building_name: building_name
          country: country
          town: town
          flat_number: flat_number
          street: street
          postcode: postcode
          state: state
          line3: line3
          line2: line2
          building_number: building_number
          line1: line1
          sub_street: sub_street
        sandbox: true
        last_name: last_name
        created_at: '2000-01-23T04:56:07.000Z'
        id_numbers:
        - type: ssn
          state_code: state_code
          value: value
        - type: ssn
          state_code: state_code
          value: value
        dob: '2000-01-23T00:00:00.000Z'
        delete_at: '2000-01-23T04:56:07.000Z'
        phone_number: phone_number
        location:
          country_of_residence: GBR
          ip_address: ip_address
        id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
        href: href
        first_name: first_name
        email: email
    applicant_create:
      properties:
        first_name:
          description: The applicant's first name
          pattern: ^[^!#$%*=<>;{}"]*$
          type: string
        last_name:
          description: The applicant's surname
          pattern: ^[^!#$%*=<>;{}"]*$
          type: string
      required:
      - first_name
      - last_name
    applicant_update:
      properties:
        first_name:
          description: The applicant's first name
          pattern: ^[^!#$%*=<>;{}"]*$
          type: string
        last_name:
          description: The applicant's surname
          pattern: ^[^!#$%*=<>;{}"]*$
          type: string
    applicant_request:
      properties:
        consents:
          description: The applicant's consents
          items:
            $ref: '#/components/schemas/applicant_consent_builder'
          type: array
        address:
          $ref: '#/components/schemas/address_builder'
        location:
          $ref: '#/components/schemas/location_builder'
      type: object
    Applicants_list:
      example:
        applicants:
        - address:
            building_name: building_name
            country: country
            town: town
            flat_number: flat_number
            street: street
            postcode: postcode
            state: state
            line3: line3
            line2: line2
            building_number: building_number
            line1: line1
            sub_street: sub_street
          sandbox: true
          last_name: last_name
          created_at: '2000-01-23T04:56:07.000Z'
          id_numbers:
          - type: ssn
            state_code: state_code
            value: value
          - type: ssn
            state_code: state_code
            value: value
          dob: '2000-01-23T00:00:00.000Z'
          delete_at: '2000-01-23T04:56:07.000Z'
          phone_number: phone_number
          location:
            country_of_residence: GBR
            ip_address: ip_address
          id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          href: href
          first_name: first_name
          email: email
        - address:
            building_name: building_name
            country: country
            town: town
            flat_number: flat_number
            street: street
            postcode: postcode
            state: state
            line3: line3
            line2: line2
            building_number: building_number
            line1: line1
            sub_street: sub_street
          sandbox: true
          last_name: last_name
          created_at: '2000-01-23T04:56:07.000Z'
          id_numbers:
          - type: ssn
            state_code: state_code
            value: value
          - type: ssn
            state_code: state_code
            value: value
          dob: '2000-01-23T00:00:00.000Z'
          delete_at: '2000-01-23T04:56:07.000Z'
          phone_number: phone_number
          location:
            country_of_residence: GBR
            ip_address: ip_address
          id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          href: href
          first_name: first_name
          email: email
      properties:
        applicants:
          items:
            $ref: '#/components/schemas/applicant'
          type: array
      required:
      - applicants
      title: Applicants list
      type: object
    id_number:
      example:
        type: ssn
        state_code: state_code
        value: value
      properties:
        type:
          description: Type of ID number.
          enum:
          - ssn
          - social_insurance
          - tax_id
          - identity_card
          - driving_licence
          - share_code
          - voter_id
          - passport
          - other
          type: string
        value:
          description: Value of ID number
          type: string
        state_code:
          description: Two letter code of issuing state (state-issued driving licenses only)
          type: string
      type: object
    location:
      allOf:
      - $ref: '#/components/schemas/location_shared'
      example:
        country_of_residence: GBR
        ip_address: ip_address
    applicant_consent_name:
      enum:
      - privacy_notices_read
      - ssn_verification
      - phone_number_verification
      type: string
    country_codes:
      enum:
      - ABW
      - AFG
      - AGO
      - AIA
      - ALA
      - ALB
      - AND
      - ARE
      - ARG
      - ARM
      - ASM
      - ATA
      - ATF
      - ATG
      - AUS
      - AUT
      - AZE
      - BDI
      - BEL
      - BEN
      - BES
      - BFA
      - BGD
      - BGR
      - BHR
      - BHS
      - BIH
      - BLM
      - BLR
      - BLZ
      - BMU
      - BOL
      - BRA
      - BRB
      - BRN
      - BTN
      - BVT
      - BWA
      - CAF
      - CAN
      - CCK
      - CHE
      - CHL
      - CHN
      - CIV
      - CMR
      - COD
      - COG
      - COK
      - COL
      - COM
      - CPV
      - CRI
      - CUB
      - CUW
      - CXR
      - CYM
      - CYP
      - CZE
      - DEU
      - DJI
      - DMA
      - DNK
      - DOM
      - DZA
      - ECU
      - EGY
      - ERI
      - ESH
      - ESP
      - EST
      - ETH
      - FIN
      - FJI
      - FLK
      - FRA
      - FRO
      - FSM
      - GAB
      - GBR
      - GEO
      - GGY
      - GHA
      - GIB
      - GIN
      - GLP
      - GMB
      - GNB
      - GNQ
      - GRC
      - GRD
      - GRL
      - GTM
      - GUF
      - GUM
      - GUY
      - HKG
      - HMD
      - HND
      - HRV
      - HTI
      - HUN
      - IDN
      - IMN
      - IND
      - IOT
      - IRL
      - IRN
      - IRQ
      - ISL
      - ISR
      - ITA
      - JAM
      - JEY
      - JOR
      - JPN
      - KAZ
      - KEN
      - KGZ
      - KHM
      - KIR
      - KNA
      - KOR
      - KWT
      - LAO
      - LBN
      - LBR
      - LBY
      - LCA
      - LIE
      - LKA
      - LSO
      - LTU
      - LUX
      - LVA
      - MAC
      - MAF
      - MAR
      - MCO
      - MDA
      - MDG
      - MDV
      - MEX
      - MHL
      - MKD
      - MLI
      - MLT
      - MMR
      - MNE
      - MNG
      - MNP
      - MOZ
      - MRT
      - MSR
      - MTQ
      - MUS
      - MWI
      - MYS
      - MYT
      - NAM
      - NCL
      - NER
      - NFK
      - NGA
      - NIC
      - NIU
      - NLD
      - NOR
      - NPL
      - NRU
      - NZL
      - OMN
      - PAK
      - PAN
      - PCN
      - PER
      - PHL
      - PLW
      - PNG
      - POL
      - PRI
      - PRK
      - PRT
      - PRY
      - PSE
      - PYF
      - QAT
      - REU
      - RKS
      - ROU
      - RUS
      - RWA
      - SAU
      - SDN
      - SEN
      - SGP
      - SGS
      - SHN
      - SJM
      - SLB
      - SLE
      - SLV
      - SMR
      - SOM
      - SPM
      - SRB
      - SSD
      - STP
      - SUR
      - SVK
      - SVN
      - SWE
      - SWZ
      - SXM
      - SYC
      - SYR
      - TCA
      - TCD
      - TGO
      - THA
      - TJK
      - TKL
      - TKM
      - TLS
      - TON
      - TTO
      - TUN
      - TUR
      - TUV
      - TWN
      - TZA
      - UGA
      - UKR
      - UMI
      - URY
      - USA
      - UZB
      - VAT
      - VCT
      - VEN
      - VGB
      - VIR
      - VNM
      - VUT
      - WLF
      - WSM
      - YEM
      - ZAF
      - ZMB
      - ZWE
      type: string
    address:
      allOf:
      - $ref: '#/components/schemas/address_shared'
      example:
        building_name: building_name
        country: country
        town: town
        flat_number: flat_number
        street: street
        postcode: postcode
        state: state
        line3: line3
        line2: line2
        building_number: building_number
        line1: line1
        sub_street: sub_street
    applicant_builder:
      allOf:
      - $ref: '#/components/schemas/applicant_shared'
      - $ref: '#/components/schemas/applicant_request'
      - $ref: '#/components/schemas/applicant_create'
    location_builder:
      allOf:
      - $ref: '#/components/schemas/location_shared'
    address_shared:
      properties:
        flat_number:
          description: The flat number of this address
          type: string
        building_number:
          description: The building number of this address
          type: string
        building_name:
          description: The building name of this address
          type: string
        street:
          description: The street of the applicant's address
          type: string
        sub_street:
          description: The sub-street of the applicant's address
          type: string
        town:
          description: The town of the applicant's address
          type: string
        postcode:
          description: The postcode or ZIP of the applicant's address
          type: string
        country:
          allOf:
          - $ref: '#/components/schemas/country_codes'
          description: The 3 character ISO country code of this address. For example, GBR is the country code for the United Kingdom
          type: string
        state:
          description: The address state. US states must use the USPS abbreviation (see also ISO 3166-2:US), for example AK, CA, or TX.
          type: string
        line1:
          description: Line 1 of the applicant's address
          nullable: true
          pattern: ^[^!$%^*=<>]*$
          type: string
        line2:
          description: Line 2 of the applicant's address
          nullable: true
          pattern: ^[^!$%^*=<>]*$
          type: string
        line3:
          description: Line 3 of the applicant's address
          nullable: true
          pattern: ^[^!$%^*=<>]*$
          type: string
      required:
      - country
      - postcode
      type: object
    applicant_shared:
      properties:
        email:
          description: The applicant's email address. Required if doing a US check, or a UK check for which `applicant_provides_data` is `true`.
          type: string
        dob:
          description: The applicant's date of birth
          format: date
          type: string
        id_numbers:
          items:
            $ref: '#/components/schemas/id_number'
          type: array
        phone_number:
          description: The applicant's phone number
          type: string
      type: object
    applicant_response:
      properties:
        first_name:
          description: The applicant's first name
          pattern: ^[^!#$%*=<>;{}"]*$
          type: string
        last_name:
          description: The applicant's surname
          pattern: ^[^!#$%*=<>;{}"]*$
          type: string
        id:
          description: The unique identifier for the applicant.
          format: uuid
          type: string
        created_at:
          description: The date and time when this applicant was created.
          format: date-time
          type: string
        delete_at:
          description: The date and time when this applicant is scheduled to be deleted.
          format: date-time
          type: string
        href:
          description: The uri of this resource.
          type: string
        sandbox:
          type: boolean
        address:
          $ref: '#/components/schemas/address'
        location:
          $ref: '#/components/schemas/location'
      required:
      - id
      type: object
    Error:
      example:
        error:
          type: type
          message: message
          fields:
            key: ''
      properties:
        error:
          $ref: '#/components/schemas/ErrorProperties'
      title: Error
      type: object
    applicant_consent_builder:
      properties:
        name:
          $ref: '#/components/schemas/applicant_consent_name'
        granted:
          type: boolean
      required:
      - granted
      - name
      type: object
  securitySchemes:
    Token:
      in: header
      name: Authorization
      type: apiKey
externalDocs:
  url: https://documentation.onfido.com