openapi: 3.0.4
info:
  title: Screening Supplier Platform API
  description: >
    # Introduction

    This documentation is designed to provide assistance to Access Screening
    Supplier Platform customers wishing to integrate with our API


    The API allows you to submit and retrieve different check results.


    # Overview 

    This page sets out a high level overview of the integration that can be
    created between 3rd party applications & Access Screening Supplier Platform.
  version: 1.0.0
servers:
  - url: https://preprod.supplierplatform.accessscreening.co.uk/api
    description: https://preprod.supplierplatform.accessscreening.co.uk/api
paths:
  /webhooks/subscriptions:
    get:
      tags:
        - Webhooks
      summary: Results
      operationId: get-webhook-subscription
      responses:
        '200':
          description: The OK response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/webhookSubscriptionsResultsResponse'
        '400':
          description: Payload of BadRequestExceptionModel
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/badRequestExceptionModel'
        '401':
          description: Unauthorized
      security:
        - bearer_auth: []
  /create-webhook-subscription:
    post:
      tags:
        - Webhooks
      summary: Create
      operationId: create-webhook-subscription
      requestBody:
        description: The Request Body
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/webhookSubscriptionCreateRequest'
        required: true
      responses:
        '200':
          description: The OK response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/webhookSubscriptionCreateResponse'
        '400':
          description: Payload of BadRequestExceptionModel
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/badRequestExceptionModel'
        '401':
          description: Unauthorized
      security:
        - bearer_auth: []
  /reference-data/disclosure/identity-documents/dbs-basic:
    post:
      tags:
        - DBS Basic England and Wales
      summary: Get Document Types
      operationId: disclosure-identity-document-types-dbs-basic
      requestBody:
        description: The Request Body
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/disclosureIdentityDocumentTypesDbsBasicRequest
        required: true
      responses:
        '200':
          description: The OK response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/disclosureIdentityDocumentTypesResponse'
        '400':
          description: Payload of BadRequestExceptionModel
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/badRequestExceptionModel'
        '401':
          description: Unauthorized
      security:
        - bearer_auth: []
  /reference-data/disclosure/identity-documents/dbs-basic-scotland:
    post:
      tags:
        - DS Basic Scotland
      summary: Get Document Types
      operationId: disclosure-identity-document-types
      requestBody:
        description: The Request Body
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/disclosureIdentityDocumentTypesDbsBasicScotlandRequest
        required: true
      responses:
        '200':
          description: The OK response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/disclosureIdentityDocumentTypesResponse'
        '400':
          description: Payload of BadRequestExceptionModel
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/badRequestExceptionModel'
        '401':
          description: Unauthorized
      security:
        - bearer_auth: []
  /reference-data/disclosure/identity-documents/dbs-standard:
    post:
      tags:
        - DBS Standard
      summary: Get Document Types
      operationId: disclosure-identity-document-types-dbs-standard
      requestBody:
        description: The Request Body
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/disclosureIdentityDocumentTypesDbsRequest'
        required: true
      responses:
        '200':
          description: The OK response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/disclosureIdentityDocumentTypesResponse'
        '400':
          description: Payload of BadRequestExceptionModel
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/badRequestExceptionModel'
        '401':
          description: Unauthorized
      security:
        - bearer_auth: []
  /reference-data/disclosure/identity-documents/dbs-enhanced:
    post:
      tags:
        - DBS Enhanced
      summary: Get Document Types
      operationId: disclosure-identity-document-types-dbs-enhanced
      requestBody:
        description: The Request Body
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/disclosureIdentityDocumentTypesDbsRequest'
        required: true
      responses:
        '200':
          description: The OK response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/disclosureIdentityDocumentTypesResponse'
        '400':
          description: Payload of BadRequestExceptionModel
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/badRequestExceptionModel'
        '401':
          description: Unauthorized
      security:
        - bearer_auth: []
  /reference-data/disclosure/ds-position-settings:
    post:
      tags:
        - DBS Enhanced
        - DBS Standard
      summary: Get Position Setting
      operationId: ds-position-settings
      requestBody:
        description: The Request Body
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/disclosureServicesPositionSettingRequest'
        required: true
      responses:
        '200':
          description: The OK response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/disclosureServicesPositionSettingResponse'
        '400':
          description: Payload of BadRequestExceptionModel
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/badRequestExceptionModel'
        '401':
          description: Unauthorized
      security:
        - bearer_auth: []
  /reference-data/disclosure/ds-positions:
    post:
      tags:
        - DBS Enhanced
        - DBS Standard
      summary: Get Postions
      operationId: ds-positions
      requestBody:
        description: The Request Body
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/disclosureServicesPositionRequest'
        required: true
      responses:
        '200':
          description: The OK response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/disclosureServicesPositionResponse'
        '400':
          description: Payload of BadRequestExceptionModel
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/badRequestExceptionModel'
        '401':
          description: Unauthorized
      security:
        - bearer_auth: []
  /retry-check:
    post:
      tags:
        - Retry
      summary: Retry a failed check
      operationId: retry-check
      parameters:
        - name: backgroundCheckUuid
          in: query
          description: The Background Check UUID for the check to retry
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The OK response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/retryCheckResponse'
        '400':
          description: Payload of BadRequestExceptionModel
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/badRequestExceptionModel'
        '401':
          description: Unauthorized
      security:
        - bearer_auth: []
  /digital-identity-generate-sdk-token:
    post:
      tags:
        - Digital Identity - Medium
        - Digital Identity - High
      summary: Generate Token
      operationId: digital-identity-generate-sdk-token
      requestBody:
        description: The Request Body
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/digitalIdentitySdkTokenCreateRequest'
        required: true
      responses:
        '200':
          description: The OK response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/digitalIdentitySdkTokenCreateResponse'
        '400':
          description: Payload of BadRequestExceptionModel
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/badRequestExceptionModel'
        '401':
          description: Unauthorized
      security:
        - bearer_auth: []
  /digital-identity-check-results:
    get:
      tags:
        - Digital Identity - Medium
        - Digital Identity - High
      summary: Results
      operationId: digital-identity-check-results
      parameters:
        - name: backgroundCheckUuid
          in: query
          description: The Background Check UUID for the digital identity results
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The OK response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/digitalIdentityResultsResponse'
        '400':
          description: Payload of BadRequestExceptionModel
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/badRequestExceptionModel'
        '401':
          description: Unauthorized
      security:
        - bearer_auth: []
  /digital-identity-medium:
    post:
      tags:
        - Digital Identity - Medium
      summary: Create
      operationId: digital-identity-medium
      parameters:
        - name: X-Check-Version
          in: header
          description: 'Optional Check Version (Default: current)'
          schema:
            enum:
              - current
              - next
            type: string
      requestBody:
        description: The Request Body
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/digitalIdentityMediumCreateRequest'
        required: true
      responses:
        '200':
          description: The OK response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/digitalIdentityMediumCreateResponse'
        '400':
          description: Payload of BadRequestExceptionModel
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/badRequestExceptionModel'
        '401':
          description: Unauthorized
      security:
        - bearer_auth: []
  /digital-identity-high:
    post:
      tags:
        - Digital Identity - High
      summary: Create
      operationId: digital-identity-high
      parameters:
        - name: X-Check-Version
          in: header
          description: 'Optional Check Version (Default: current)'
          schema:
            enum:
              - current
              - next
            type: string
      requestBody:
        description: The Request Body
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/digitalIdentityHighCreateRequest'
        required: true
      responses:
        '200':
          description: The OK response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/digitalIdentityHighCreateResponse'
        '400':
          description: Payload of BadRequestExceptionModel
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/badRequestExceptionModel'
        '401':
          description: Unauthorized
      security:
        - bearer_auth: []
  /sanctions:
    post:
      tags:
        - Sanctions
      summary: Create
      operationId: sanctions
      parameters:
        - name: X-Check-Version
          in: header
          description: 'Optional Check Version (Default: current)'
          schema:
            enum:
              - current
              - next
            type: string
      requestBody:
        description: The Request Body
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/sanctionsCreateRequest'
        required: true
      responses:
        '200':
          description: The OK response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/sanctionsCreateResponse'
        '400':
          description: Payload of BadRequestExceptionModel
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/badRequestExceptionModel'
        '401':
          description: Unauthorized
      security:
        - bearer_auth: []
  /sanctions-results:
    get:
      tags:
        - Sanctions
      summary: Results
      operationId: sanctions-results
      parameters:
        - name: backgroundCheckUuid
          in: query
          description: The Background Check UUID for the digital identity results
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The Request Body
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/sanctionsResultsResponse'
        '400':
          description: Payload of BadRequestExceptionModel
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/badRequestExceptionModel'
        '401':
          description: Unauthorized
      security:
        - bearer_auth: []
  /directorship:
    post:
      tags:
        - Directorship
      summary: Create
      operationId: directorship
      requestBody:
        description: The Request Body
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/directorshipCreateRequest'
        required: true
      responses:
        '200':
          description: The OK response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/baseCreateCheckResponse'
        '400':
          description: Payload of BadRequestExceptionModel
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/badRequestExceptionModel'
        '401':
          description: Unauthorized
      security:
        - bearer_auth: []
  /directorship-results:
    get:
      tags:
        - Directorship
      summary: Results
      operationId: directorship-results
      parameters:
        - name: backgroundCheckUuid
          in: query
          description: The UUID of the directorship check
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The OK response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/directorshipResultsResponse'
        '400':
          description: Payload of BadRequestExceptionModel
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/badRequestExceptionModel'
        '401':
          description: Unauthorized
      security:
        - bearer_auth: []
  /mrz-document-scan:
    post:
      tags:
        - MRZ Document Scan
      summary: Create
      operationId: mrz-document-scan
      requestBody:
        description: The Request Body
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/mrzDocumentScanCreateRequest'
        required: true
      responses:
        '200':
          description: The OK response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/mrzDocumentScanCreateResponse'
        '400':
          description: Payload of BadRequestExceptionModel
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/badRequestExceptionModel'
        '401':
          description: Unauthorized
      security:
        - bearer_auth: []
  /mrz-document-scan-results:
    get:
      tags:
        - MRZ Document Scan
      summary: Results
      operationId: mrz-document-scan-results
      parameters:
        - name: uuid
          in: query
          description: The Check UUID for the mrz document scan check results
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The OK response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/mrzDocumentScanResultsResponse'
        '400':
          description: Payload of BadRequestExceptionModel
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/badRequestExceptionModel'
        '401':
          description: Unauthorized
      security:
        - bearer_auth: []
  /rapid-employment-verification:
    post:
      tags:
        - Rapid Employment Verification
      summary: Create
      operationId: rapid-employment-verification
      parameters:
        - name: X-Check-Version
          in: header
          description: 'Optional Check Version (Default: current)'
          schema:
            enum:
              - current
              - next
            type: string
      requestBody:
        description: The Request Body
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/rapidEmploymentVerificationCreateRequest'
        required: true
      responses:
        '200':
          description: The OK response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rapidEmploymentVerificationCreateResponse'
        '400':
          description: Payload of BadRequestExceptionModel
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/badRequestExceptionModel'
        '401':
          description: Unauthorized
      security:
        - bearer_auth: []
  /rapid-employment-verification/employers/search:
    get:
      tags:
        - Rapid Employment Verification
      summary: Search for employers
      operationId: rapid-employment-verification-employer-search
      parameters:
        - name: name
          in: query
          description: The name or partial name of the employer to search for
          required: true
          schema:
            type: string
        - name: size
          in: query
          description: 'The maximum number of results to return (default: 10, max: 20)'
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: The OK response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/employerSearchResponse'
        '400':
          description: Payload of BadRequestExceptionModel
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/badRequestExceptionModel'
        '401':
          description: Unauthorized
      security:
        - bearer_auth: []
  /rapid-employment-verification-results:
    get:
      tags:
        - Rapid Employment Verification
      summary: Results
      operationId: rapid-employment-verification-results
      parameters:
        - name: backgroundCheckUuid
          in: query
          description: >-
            The Background Check UUID for the rapid employment verification
            results
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The OK response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/rapidEmploymentVerificationResultsResponse
        '400':
          description: Payload of BadRequestExceptionModel
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/badRequestExceptionModel'
        '401':
          description: Unauthorized
      security:
        - bearer_auth: []
  /social-media:
    post:
      tags:
        - Social Media
      summary: Create
      operationId: social-media
      requestBody:
        description: The Request Body
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/socialMediaCreateRequest'
        required: true
      responses:
        '200':
          description: The OK response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/baseCreateCheckResponse'
        '400':
          description: Payload of BadRequestExceptionModel
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/badRequestExceptionModel'
        '401':
          description: Unauthorized
      security:
        - bearer_auth: []
  /social-media-results:
    get:
      tags:
        - Social Media
      summary: Results
      operationId: social-media-results
      parameters:
        - name: backgroundCheckUuid
          in: query
          description: The UUID of the Social Media Check.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The OK response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/socialMediaResultResponse'
        '400':
          description: Payload of BadRequestExceptionModel
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/badRequestExceptionModel'
        '401':
          description: Unauthorized
      security:
        - bearer_auth: []
  /equifax-postcode-lookup:
    post:
      tags:
        - Identity Check
        - Adverse Financial Summary
        - Adverse Financial Detail
      summary: Lookup addresses by postcode
      operationId: equifax-postcode-lookup
      requestBody:
        description: The Request Body
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/postcodeLookupRequest'
        required: true
      responses:
        '200':
          description: The OK response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/postcodeLookupResponse'
        '400':
          description: Payload of BadRequestExceptionModel
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/badRequestExceptionModel'
        '401':
          description: Unauthorized
      security:
        - bearer_auth: []
  /equifax-match-address:
    post:
      tags:
        - Identity Check
        - Adverse Financial Summary
        - Adverse Financial Detail
      summary: Match Address
      operationId: equifax-match-address
      requestBody:
        description: The Request Body
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/matchAddressRequest'
        required: true
      responses:
        '200':
          description: The OK response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/matchAddressResponse'
        '400':
          description: Payload of BadRequestExceptionModel
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/badRequestExceptionModel'
        '401':
          description: Unauthorized
      security:
        - bearer_auth: []
  /identity-check:
    post:
      tags:
        - Identity Check
      summary: Create
      operationId: identity-check
      parameters:
        - name: X-Check-Version
          in: header
          description: 'Optional Check Version (Default: current)'
          schema:
            enum:
              - current
              - next
            type: string
      requestBody:
        description: The Request Body
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/identityCheckCreateRequest'
        required: true
      responses:
        '200':
          description: The OK response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/identityCheckCreateResponse'
        '400':
          description: Payload of BadRequestExceptionModel
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/badRequestExceptionModel'
        '401':
          description: Unauthorized
      security:
        - bearer_auth: []
  /identity-check-results:
    get:
      tags:
        - Identity Check
      summary: Results
      operationId: identity-check-results
      parameters:
        - name: backgroundCheckUuid
          in: query
          description: The Background Check UUID for the identity check results
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The OK response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/identityCheckResultsResponse'
        '400':
          description: Payload of BadRequestExceptionModel
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/badRequestExceptionModel'
        '401':
          description: Unauthorized
      security:
        - bearer_auth: []
  /adverse-financial-summary:
    post:
      tags:
        - Adverse Financial Summary
      summary: Create
      operationId: adverse-financial-summary
      parameters:
        - name: X-Check-Version
          in: header
          description: 'Optional Check Version (Default: current)'
          schema:
            enum:
              - current
              - next
            type: string
      requestBody:
        description: The Request Body
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/adverseFinancialSummaryCreateRequest'
        required: true
      responses:
        '200':
          description: The OK response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/adverseFinancialSummaryCreateResponse'
        '400':
          description: Payload of BadRequestExceptionModel
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/badRequestExceptionModel'
        '401':
          description: Unauthorized
      security:
        - bearer_auth: []
  /adverse-financial-summary-results:
    get:
      tags:
        - Adverse Financial Summary
      summary: Results
      operationId: adverse-financial-summary-results
      parameters:
        - name: backgroundCheckUuid
          in: query
          description: >-
            The Background Check UUID for the adverse financial summary check
            results
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The OK response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/adverseFinancialSummaryResultsResponse'
        '400':
          description: Payload of BadRequestExceptionModel
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/badRequestExceptionModel'
        '401':
          description: Unauthorized
      security:
        - bearer_auth: []
  /adverse-financial-detail:
    post:
      tags:
        - Adverse Financial Detail
      summary: Create
      operationId: adverse-financial-detail
      parameters:
        - name: X-Check-Version
          in: header
          description: 'Optional Check Version (Default: current)'
          schema:
            enum:
              - current
              - next
            type: string
      requestBody:
        description: The Request Body
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/adverseFinancialDetailCreateRequest'
        required: true
      responses:
        '200':
          description: The OK response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/adverseFinancialDetailCreateResponse'
        '400':
          description: Payload of BadRequestExceptionModel
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/badRequestExceptionModel'
        '401':
          description: Unauthorized
      security:
        - bearer_auth: []
  /adverse-financial-detail-results:
    get:
      tags:
        - Adverse Financial Detail
      summary: Results
      operationId: adverse-financial-detail-results
      parameters:
        - name: backgroundCheckUuid
          in: query
          description: The Background Check UUID for the adverse financial detail results
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The OK response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/adverseFinancialDetailResultsResponse'
        '400':
          description: Payload of BadRequestExceptionModel
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/badRequestExceptionModel'
        '401':
          description: Unauthorized
      security:
        - bearer_auth: []
  /employment-reference:
    post:
      tags:
        - Employment Reference
      summary: Create
      operationId: employment-reference
      requestBody:
        description: The Request Body
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/employmentReferenceRequest'
        required: true
      responses:
        '200':
          description: The OK response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/employmentReferenceResponse'
        '400':
          description: Payload of BadRequestExceptionModel
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/badRequestExceptionModel'
        '401':
          description: Unauthorized
      security:
        - bearer_auth: []
  /employment-reference-results:
    get:
      tags:
        - Employment Reference
      summary: Create
      operationId: employment-reference-results
      parameters:
        - name: backgroundCheckUuid
          in: query
          description: The Background Check UUID for the identity check results
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The OK response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/employmentReferenceResultReponse'
        '400':
          description: Payload of BadRequestExceptionModel
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/badRequestExceptionModel'
        '401':
          description: Unauthorized
      security:
        - bearer_auth: []
  /driving-licence:
    post:
      tags:
        - Driving Licence
      summary: Create
      operationId: driving-licence
      requestBody:
        description: The Request Body
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/drivingLicenceCreateRequest'
        required: true
      responses:
        '200':
          description: The OK response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/baseCreateCheckResponse'
        '400':
          description: Payload of BadRequestExceptionModel
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/badRequestExceptionModel'
        '401':
          description: Unauthorized
      security:
        - bearer_auth: []
  /driving-licence-results:
    get:
      tags:
        - Driving Licence
      summary: Results
      operationId: driving-licence-results
      parameters:
        - name: backgroundCheckUuid
          in: query
          description: The UUID of the driving licence check
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The OK response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/drivingLicenceResultResponse'
        '400':
          description: Payload of BadRequestExceptionModel
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/badRequestExceptionModel'
        '401':
          description: Unauthorized
      security:
        - bearer_auth: []
  /disclosure-services-results:
    get:
      tags:
        - DBS Enhanced
        - DBS Standard
        - DS Basic Scotland
      summary: Results
      operationId: disclosure-services-results
      parameters:
        - name: backgroundCheckUuid
          in: query
          description: The Background Check UUID for the identity check results
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The OK response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/disclosureServicesCheckResultsResponse'
        '400':
          description: Payload of BadRequestExceptionModel
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/badRequestExceptionModel'
        '401':
          description: Unauthorized
      security:
        - bearer_auth: []
  /disclosure-basic-eandw-results:
    get:
      tags:
        - DBS Basic England and Wales
      summary: Results
      operationId: disclosure-basic-eandw-results
      parameters:
        - name: backgroundCheckUuid
          in: query
          description: The Background Check UUID for the identity check results
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The OK response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/dbsEnglandAndWalesCheckResultsResponse'
        '400':
          description: Payload of BadRequestExceptionModel
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/badRequestExceptionModel'
        '401':
          description: Unauthorized
      security:
        - bearer_auth: []
  /disclosure-basic-scotland:
    post:
      tags:
        - DS Basic Scotland
      summary: Create
      operationId: disclosure-basic-scotland
      requestBody:
        description: The Request Body
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/dsBasicScotlandRequest'
        required: true
      responses:
        '200':
          description: The OK response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/dsBasicScotlandResponse'
        '400':
          description: Payload of BadRequestExceptionModel
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/badRequestExceptionModel'
        '401':
          description: Unauthorized
      security:
        - bearer_auth: []
  /disclosure-standard:
    post:
      tags:
        - DBS Standard
      summary: Create
      operationId: disclosure-standard
      requestBody:
        description: The Request Body
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/dbsStandardRequest'
        required: true
      responses:
        '200':
          description: The OK response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/dbsStandardResponse'
        '400':
          description: Payload of BadRequestExceptionModel
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/badRequestExceptionModel'
        '401':
          description: Unauthorized
      security:
        - bearer_auth: []
  /disclosure-enhanced:
    post:
      tags:
        - DBS Enhanced
      summary: Create
      operationId: disclosure-enhanced
      requestBody:
        description: The Request Body
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/dbsEnhancedRequest'
        required: true
      responses:
        '200':
          description: The OK response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/dbsEnhancedResponse'
        '400':
          description: Payload of BadRequestExceptionModel
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/badRequestExceptionModel'
        '401':
          description: Unauthorized
      security:
        - bearer_auth: []
  /disclosure-basic-eandw:
    post:
      tags:
        - DBS Basic England and Wales
      summary: Create
      operationId: disclosure-basic-eandw
      requestBody:
        description: The Request Body
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/dbsEAndWRequest'
        required: true
      responses:
        '200':
          description: The OK response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/dbsEAndWResponse'
        '400':
          description: Payload of BadRequestExceptionModel
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/badRequestExceptionModel'
        '401':
          description: Unauthorized
      security:
        - bearer_auth: []
  /dbs-update-service:
    post:
      tags:
        - DBS Update Service
      summary: Create
      operationId: dbs-update-service
      requestBody:
        description: The Request Body
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/dbsUpdateServiceCreateRequest'
        required: true
      responses:
        '200':
          description: The OK response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/baseCreateCheckResponse'
        '400':
          description: Payload of BadRequestExceptionModel
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/badRequestExceptionModel'
        '401':
          description: Unauthorized
      security:
        - bearer_auth: []
  /dbs-update-service-results:
    get:
      tags:
        - DBS Update Service
      summary: Get DBS Update Service Results
      operationId: dbs-update-service-results
      parameters:
        - name: checkUuid
          in: query
          description: The UUID of the DBS Update Service check
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The OK response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/dbsUpdateServiceResultsResponse'
        '400':
          description: Payload of BadRequestExceptionModel
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/badRequestExceptionModel'
        '401':
          description: Unauthorized
        '404':
          description: Not Found
      security:
        - bearer_auth: []
  /check-attachment:
    get:
      tags:
        - Checks
      summary: Get Check Attachments
      operationId: check-attachments
      parameters:
        - name: uuid
          in: query
          description: The UUID of the check.
          required: true
          schema:
            type: string
            format: uuid
        - name: id
          in: query
          description: The ID of the attachment.
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: A file stream of the requested attachment.
          content:
            application/pdf:
              schema:
                type: string
                format: binary
              examples:
                StreamExample:
                  value: stream
        '400':
          description: Payload of BadRequestExceptionModel
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/badRequestExceptionModel'
        '401':
          description: Unauthorized
        '404':
          description: Not Found
      security:
        - bearer_auth: []
  /GenerateToken:
    post:
      tags:
        - Authentication
      summary: Generate Token
      operationId: GenerateToken
      requestBody:
        description: The Request Body
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/generateTokenRequest'
        required: true
      responses:
        '200':
          description: The OK response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/generateTokenResponse'
        '401':
          description: Unauthorized
components:
  schemas:
    address:
      type: object
      properties:
        unstructuredAddress:
          $ref: '#/components/schemas/unstructuredaddress'
    adverseFinancialDetailCreateRequest:
      required:
        - candidate
        - currentAddress
        - metaData
      type: object
      properties:
        candidate:
          $ref: '#/components/schemas/equifaxCandidate'
        currentAddress:
          $ref: '#/components/schemas/equifaxCandidateAddress'
        metaData:
          $ref: '#/components/schemas/metaData'
      example:
        candidate:
          title: Mr
          firstName: John
          middleName: ''
          lastName: Doe
          dateOfBirth: '1985-05-20'
          email: john.doe@example.com
          gender: m
        currentAddress:
          addressId: '98001186436'
          houseNumber: '19'
          streetName: High Point
          city: London
          district: Eltham
          county: Greater London
          country: GB
          postCode: SE93PA
          fromDate: '2010-01-01'
          isCurrent: true
        metaData:
          yourReference: fc7b7a03-2699-4991-89e7-c739eada1506
          demoMode: false
          sandboxMode: false
    adverseFinancialDetailCreateResponse:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
        data:
          $ref: '#/components/schemas/dataModel'
      example:
        uuid: 00000000-0000-0000-0000-000000000000
        data:
          backgroundCheckUuid: 00000000-0000-0000-0000-000000000000
    adverseFinancialDetailResultsResponse:
      type: object
      properties:
        checkId:
          type: integer
          format: int32
        created:
          type: string
          format: date-time
          nullable: true
        started:
          type: string
          format: date-time
          nullable: true
        completed:
          type: string
          format: date-time
          nullable: true
        status:
          type: string
        yourReference:
          type: string
        customerName:
          type: string
        errors:
          type: array
          items:
            $ref: '#/components/schemas/resultError'
        data:
          $ref: '#/components/schemas/adverseFinancialDetailResultsResponseDetail'
      example:
        checkId: 0
        started: '2025-12-18T09:07:12.5852393Z'
        completed: '2025-12-18T09:12:12.5852396Z'
        status: Pending
        yourReference: ABC123
        customerName: Example Customer
        data:
          adverseFinancialHistoryDetail:
            numOfInsolvenciesLastYearNextAddress: '1'
            numOfInsolvenciesLast6YearsPreviousAddresses: '2'
            numOfInsolvenciesLast6YearsNextAddress: '3'
            numOfCcjsLast6YearsPrevAddresses: '4'
            numOfCcjsLast6YearsNextAddress: '5'
            numOfBankruptciesLast6YearsIcoPrevAddresses: '6'
            numOfBankruptciesLast6YearsIcoNextAddress: '7'
            numOfBankruptciesDrosLilasLast6YearsPrevAddresses: '8'
            numOfIvasLast6YearsNotSatisfiedPrevAddresses: '9'
          courtAndInsolvencyInformation:
            - address:
                type: supplied
                addressId: '98001186436'
                country: GB
                county: GREATER LONDON
                district: ELTHAM
                name: JOHN JAMES DOE
                number: '19'
                postcode: SE9 4BY
                postTown: LONDON
                street1: HIGH POINT
                fromDate: '2023-12-18'
                toDate: '2025-12-18'
              ccjType: CCJ
              courtCode: '1234'
              courtName: Central Court
              courtDate: '2024-12-18'
              oldCaseNumber: '123456'
              amount:
                Amount: '1000'
                Currency: GBP
              satisfiedDate: '2023-01-02'
          noticesOfCorrectionOrDispute:
            - address:
                type: supplied
                addressId: '98001186436'
                country: GB
                county: GREATER LONDON
                district: ELTHAM
                name: JOHN JAMES DOE
                number: '19'
                postcode: SE9 4BY
                postTown: LONDON
                street1: HIGH POINT
                fromDate: '2023-12-18'
                toDate: '2025-12-18'
              type: Dispute
              dateCreated: '2023-01-01'
              text: This is a dispute text.
          aliases:
            - title: Mr
              forename: John
              middleName: James
              surname: Doe
          adverseFinancialHistorySummary:
            potentialAliases: true
            valueOfMostRecentCcj: '500'
            valueOfCcjsLast6Years: '2000'
            numOfCcjsLastYear: '2'
            numOfCcjsLast6Years: '5'
            numOfInsolvenciesLast6Years: '3'
            numOfBankruptciesDrosLilasLast6Years: '1'
            numOfBankruptciesDrosLilasLast6YearsNotDischarged: '0'
            numOfPrevLinkedAddresses: '4'
            numOfNextLinkedAddresses: '2'
          clientRef: ece4da91-ccaa-41f3-9e39-9dfc69377de9
          candidateInformation:
            firstName: John
            middleName: James
            lastName: Doe
            dateOfBirth: '2007-12-18'
            addresses:
              - address: 19, HIGH POINT, ELTHAM, LONDON, SE9 3PA
                toDate: Current
                fromDate: '2017-12-18'
            note: Note
          stats:
            proofsOfResidencyCount: '2'
            proofsOfIdentityCount: '3'
            alertsCount: '1'
          identityInformation:
            electoralRollAndRollingRegisterCheck: '1'
            currentlyOnElectoralRoll: '2'
            nameMatchedAtAddressOnElectoralRegister: Non-deleted subject level Rolling Register information found
            electoralRollAndRollingRegisterDateOfBirthCheck: 'No'
            yearsSincePersonsElectoralRollEntry: '4'
            lengthOfResidenceCurrentAddress: None found
          electoralRollHistory:
            - address: 19, HIGH POINT, ELTHAM, LONDON, SE9 3PA
              name: John James Doe
              annualRegisterPeriodStart: 2021
              annualRegisterPeriodEnd: 2024
          rollingRegisterInformation:
            - address: 19, HIGH POINT, ELTHAM, LONDON, SE9 3PA
              name: John James Smith
              supplyDate: 12-2024
    adverseFinancialDetailResultsResponseDetail:
      type: object
      properties:
        adverseFinancialHistoryDetail:
          $ref: '#/components/schemas/adverseFinancialHistoryDetail'
        courtAndInsolvencyInformation:
          type: array
          items:
            $ref: '#/components/schemas/courtAndInsolvencyInformation'
        noticesOfCorrectionOrDispute:
          type: array
          items:
            $ref: '#/components/schemas/noticeOfCorrectionOrDispute'
        aliases:
          type: array
          items:
            $ref: '#/components/schemas/aliasDetail'
        adverseFinancialHistorySummary:
          $ref: '#/components/schemas/adverseFinancialHistorySummary'
        clientRef:
          type: string
        candidateInformation:
          $ref: '#/components/schemas/candidateInformationModel'
        stats:
          $ref: '#/components/schemas/statsModel'
        identityInformation:
          $ref: '#/components/schemas/identityInformationModel'
        electoralRollHistory:
          type: array
          items:
            $ref: '#/components/schemas/electoralRollEntryModel'
        rollingRegisterInformation:
          type: array
          items:
            $ref: '#/components/schemas/rollingRegisterEntryModel'
    adverseFinancialHistoryDetail:
      type: object
      properties:
        numOfInsolvenciesLastYearNextAddress:
          type: string
        numOfInsolvenciesLast6YearsPreviousAddresses:
          type: string
        numOfInsolvenciesLast6YearsNextAddress:
          type: string
        numOfCcjsLast6YearsPrevAddresses:
          type: string
        numOfCcjsLast6YearsNextAddress:
          type: string
        numOfBankruptciesLast6YearsIcoPrevAddresses:
          type: string
        numOfBankruptciesLast6YearsIcoNextAddress:
          type: string
        numOfBankruptciesDrosLilasLast6YearsPrevAddresses:
          type: string
        numOfIvasLast6YearsNotSatisfiedPrevAddresses:
          type: string
    adverseFinancialHistorySummary:
      type: object
      properties:
        potentialAliases:
          type: boolean
        valueOfMostRecentCcj:
          type: string
        valueOfCcjsLast6Years:
          type: string
        numOfCcjsLastYear:
          type: string
        numOfCcjsLast6Years:
          type: string
        numOfInsolvenciesLast6Years:
          type: string
        numOfBankruptciesDrosLilasLast6Years:
          type: string
        numOfBankruptciesDrosLilasLast6YearsNotDischarged:
          type: string
        numOfPrevLinkedAddresses:
          type: string
        numOfNextLinkedAddresses:
          type: string
    adverseFinancialSummaryCreateRequest:
      required:
        - candidate
        - currentAddress
        - metaData
      type: object
      properties:
        candidate:
          $ref: '#/components/schemas/equifaxCandidate'
        currentAddress:
          $ref: '#/components/schemas/equifaxCandidateAddress'
        metaData:
          $ref: '#/components/schemas/metaData'
      example:
        candidate:
          title: Mr
          firstName: John
          middleName: ''
          lastName: Doe
          dateOfBirth: '1985-05-20'
          email: john.doe@example.com
          gender: m
        currentAddress:
          addressId: '98001186436'
          houseNumber: '19'
          streetName: High Point
          city: London
          district: Eltham
          county: Greater London
          country: GB
          postCode: SE93PA
          fromDate: '2010-01-01'
          isCurrent: true
        metaData:
          yourReference: e4f0ef00-cb4c-4814-8913-07501e0e1ddf
          demoMode: false
          sandboxMode: false
    adverseFinancialSummaryCreateResponse:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
        data:
          $ref: '#/components/schemas/dataModel'
      example:
        uuid: 00000000-0000-0000-0000-000000000000
        data:
          backgroundCheckUuid: 00000000-0000-0000-0000-000000000000
    adverseFinancialSummaryResultsResponse:
      type: object
      properties:
        checkId:
          type: integer
          format: int32
        created:
          type: string
          format: date-time
          nullable: true
        started:
          type: string
          format: date-time
          nullable: true
        completed:
          type: string
          format: date-time
          nullable: true
        status:
          type: string
        yourReference:
          type: string
        customerName:
          type: string
        errors:
          type: array
          items:
            $ref: '#/components/schemas/resultError'
        data:
          $ref: '#/components/schemas/adverseFinancialSummaryResultsResponseDetail'
      example:
        checkId: 0
        started: '2025-12-18T09:07:12.5666547Z'
        completed: '2025-12-18T09:12:12.5666550Z'
        status: Pending
        yourReference: ABC123
        customerName: Example Customer
        data:
          adverseFinancialHistorySummary:
            potentialAliases: true
            valueOfMostRecentCcj: '500'
            valueOfCcjsLast6Years: '2000'
            numOfCcjsLastYear: '2'
            numOfCcjsLast6Years: '5'
            numOfInsolvenciesLast6Years: '3'
            numOfBankruptciesDrosLilasLast6Years: '1'
            numOfBankruptciesDrosLilasLast6YearsNotDischarged: '0'
            numOfPrevLinkedAddresses: '4'
            numOfNextLinkedAddresses: '2'
          clientRef: 5190817e-b12a-40bb-aabb-d7c580be6088
          candidateInformation:
            firstName: John
            middleName: James
            lastName: Doe
            dateOfBirth: '2007-12-18'
            addresses:
              - address: 19, HIGH POINT, ELTHAM, LONDON, SE9 3PA
                toDate: Current
                fromDate: '2017-12-18'
            note: Note
          stats:
            proofsOfResidencyCount: '2'
            proofsOfIdentityCount: '3'
            alertsCount: '1'
          identityInformation:
            electoralRollAndRollingRegisterCheck: '1'
            currentlyOnElectoralRoll: '2'
            nameMatchedAtAddressOnElectoralRegister: Non-deleted subject level Rolling Register information found
            electoralRollAndRollingRegisterDateOfBirthCheck: 'No'
            yearsSincePersonsElectoralRollEntry: '4'
            lengthOfResidenceCurrentAddress: None found
          electoralRollHistory:
            - address: 19, HIGH POINT, ELTHAM, LONDON, SE9 3PA
              name: John James Doe
              annualRegisterPeriodStart: 2021
              annualRegisterPeriodEnd: 2024
          rollingRegisterInformation:
            - address: 19, HIGH POINT, ELTHAM, LONDON, SE9 3PA
              name: John James Smith
              supplyDate: 12-2024
    adverseFinancialSummaryResultsResponseDetail:
      type: object
      properties:
        adverseFinancialHistorySummary:
          $ref: '#/components/schemas/adverseFinancialHistorySummary'
        clientRef:
          type: string
        candidateInformation:
          $ref: '#/components/schemas/candidateInformationModel'
        stats:
          $ref: '#/components/schemas/statsModel'
        identityInformation:
          $ref: '#/components/schemas/identityInformationModel'
        electoralRollHistory:
          type: array
          items:
            $ref: '#/components/schemas/electoralRollEntryModel'
        rollingRegisterInformation:
          type: array
          items:
            $ref: '#/components/schemas/rollingRegisterEntryModel'
    alert:
      type: object
      properties:
        crid:
          type: string
        message:
          type: string
        type:
          type: string
        score:
          type: integer
          format: int32
          nullable: true
        category:
          type: string
    aliasDetail:
      type: object
      properties:
        title:
          type: string
        forename:
          type: string
        middleName:
          type: string
        surname:
          type: string
    applicantAddress:
      type: object
      properties:
        postcode:
          type: string
        addressTown:
          type: string
        countryCode:
          type: string
        addressLine1:
          type: string
        addressLine2:
          type: string
        addressCounty:
          type: string
    applicantOtherNames:
      type: object
      properties:
        otherName:
          $ref: '#/components/schemas/otherName'
    applicantPersonalDetails:
      type: object
      properties:
        applicantGender:
          type: string
        applicantAddress:
          $ref: '#/components/schemas/applicantAddress'
        applicantSurname:
          type: string
        applicantForename:
          type: string
        applicantBirthTown:
          type: string
        applicantOtherNames:
          $ref: '#/components/schemas/applicantOtherNames'
        applicantDateOfBirth:
          type: string
        applicantBirthCountry:
          type: string
    attachment:
      type: object
      properties:
        createdAt:
          type: string
          format: date-time
        fileName:
          type: string
        description:
          type: string
        url:
          type: string
        fileType:
          type: string
    badRequestExceptionModel:
      type: object
      properties:
        detail:
          type: string
          nullable: true
        errorType:
          type: string
          nullable: true
        errors:
          type: array
          items:
            $ref: '#/components/schemas/error'
          nullable: true
        message:
          type: string
          nullable: true
      example:
        detail: The request is invalid
        errorType: '400: Bad Request'
        errors:
          - message: Candidate first name is required.
            field_name: firstName
          - message: Candidate last name is required.
            field_name: lastName
        message: The request is invalid
    baseCreateCheckResponse:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
        data:
          $ref: '#/components/schemas/dataModel'
      example:
        uuid: 54ec5224-a007-4b4b-987c-c2cc6fce4876
        data:
          backgroundCheckUuid: 54ec5224-a007-4b4b-987c-c2cc6fce4876
    candidateAddressModel:
      type: object
      properties:
        address:
          type: string
        toDate:
          type: string
        fromDate:
          type: string
    candidateInformationModel:
      type: object
      properties:
        firstName:
          type: string
        middleName:
          type: string
        lastName:
          type: string
        dateOfBirth:
          type: string
        addresses:
          type: array
          items:
            $ref: '#/components/schemas/candidateAddressModel'
        note:
          type: string
    choice:
      type: object
      properties:
        question:
          type: string
        answer:
          type: string
    companyAddress:
      type: object
      properties:
        acceptAppropriateOfficeAddressStatement:
          type: boolean
          nullable: true
        addressLine1:
          type: string
        addressLine2:
          type: string
        country:
          type: string
        etag:
          type: string
        kind:
          type: string
        links:
          $ref: '#/components/schemas/companyAddressLinks'
        locality:
          type: string
        postalCode:
          type: string
        premises:
          type: string
        region:
          type: string
    companyAddressLinks:
      type: object
      properties:
        self:
          type: string
          format: uri
    courtAndInsolvencyInformation:
      type: object
      properties:
        address:
          $ref: '#/components/schemas/equifaxAddressModel'
        ccjType:
          type: string
        courtCode:
          type: string
        courtName:
          type: string
        courtDate:
          type: string
        oldCaseNumber:
          type: string
        amount:
          type: object
          additionalProperties:
            type: string
        satisfiedDate:
          type: string
    dataModel:
      type: object
      properties:
        backgroundCheckUuid:
          type: string
          format: uuid
        detail:
          type: string
    dataModelWithToken:
      type: object
      properties:
        token:
          type: string
        expiry:
          type: string
        workflowRunId:
          type: string
          format: uuid
        backgroundCheckUuid:
          type: string
          format: uuid
        detail:
          type: string
    dataModelWithUrl:
      type: object
      properties:
        url:
          type: string
        backgroundCheckUuid:
          type: string
          format: uuid
        detail:
          type: string
    dateOnly:
      type: string
      format: date
      example: '2020-01-01'
      description: Date in the format YYYY-MM-DD
    dbsEAndWRequest:
      required:
        - candidateDeclarationHasUnspentConvictions
        - paperCertToCandidate
        - candidate
      type: object
      properties:
        disclosureType:
          type: string
          description: The level of disclosure check to perform
        candidate:
          $ref: '#/components/schemas/disclosureCandidate'
        addresses:
          type: array
          items:
            $ref: '#/components/schemas/disclosureAddress'
          description: The addresses to check against.
        birthDetails:
          $ref: '#/components/schemas/disclosureBirthDetails'
        passport:
          $ref: '#/components/schemas/disclosurePassport'
        drivingLicence:
          $ref: '#/components/schemas/disclosureDrivingLicence'
        identityDocuments:
          type: array
          items:
            $ref: '#/components/schemas/disclosureIdentityDocument'
          description: The optional identity document selections of the candidate.
        otherNames:
          type: array
          items:
            $ref: '#/components/schemas/disclosureOtherName'
          description: The other names of the candidate if required.
        hasReadPrivacyPolicy:
          type: boolean
          description: >-
            Indicates that the candidate has read all necessary privacy
            policies.
        hasSeenStatementOfFairProcessing:
          type: boolean
          description: >-
            Indicates that the candidate has seen the statement of fair
            processing.
        consentToObtainResult:
          type: boolean
          description: Indicates that the candidate has consented to obtain the result.
        candidateDeclarationHasUnspentConvictions:
          type: boolean
          description: >-
            The candidate's declaration as to whether they have unspent
            convictions.
        paperCertToCandidate:
          type: boolean
          description: >-
            Indicates whether the paper certificate should be sent to the
            candidate.
        paperCertRecipient:
          $ref: '#/components/schemas/paperCertificateRecipient'
        customerNameOnCert:
          type: boolean
          description: >-
            Indicates whether the customer name should be printed on the
            certificate.
        idVerifyName:
          type: string
          description: The name of the person who has verified the candidate's ID docs.
        sectionX:
          $ref: '#/components/schemas/dbsEAndWSectionX'
        purposeOfCheck:
          type: string
          description: The purpose of the check. Default = 'Employment'
        metaData:
          $ref: '#/components/schemas/metaData'
      example:
        disclosureType: DBS E&W
        candidate:
          title: Mrs
          middleName: Louise
          contactNumber: '01234567890'
          gender: F
          nationality: GB
          dateOfBirth: '1985-12-18'
          firstName: Jane
          lastName: Doe
          email: jane.doe@example.com
        addresses:
          - houseNumber: '1'
            streetName: High Street
            city: London
            county: Greater London
            country: GB
            postCode: SW1A1AA
            fromDate: '2010-01-01'
            isCurrent: true
        birthDetails:
          country: GB
          county: Greater London
          town: London
          nationality: British
        passport:
          number: '123456789'
          issueDate: '2010-01-01'
          nationality: British
          dateOfBirth: '1985-05-20'
          expiryDate: '2030-01-01'
          countryOfIssue: GB
        drivingLicence:
          number: DOE99855205JL8AD
          validFrom: '2020-01-01'
          validTo: '2029-12-31'
          dateOfBirth: '1985-05-20'
          countryOfIssue: GB
        identityDocuments:
          - documentType: dbs-passport
        otherNames:
          - firstName: Jane
            middleName: Louise
            lastName: Franks
            fromDate: '1985-05-20'
            toDate: '2020-01-01'
        hasReadPrivacyPolicy: true
        hasSeenStatementOfFairProcessing: true
        consentToObtainResult: true
        candidateDeclarationHasUnspentConvictions: false
        paperCertToCandidate: false
        paperCertRecipient:
          name: John Doe
          line1: 123 Fake Street
          postTown: Faketown
          postCode: SW1A1AA
          country: GB
        customerNameOnCert: true
        idVerifyName: John Doe
        sectionX:
          candidatePosition: Nurse
          customerName: Jane Doe
          employmentSector: nhs
        purposeOfCheck: employment
        metaData:
          yourReference: 0c7fcd9a-2d00-4928-be69-22400b9dec49
          demoMode: false
          sandboxMode: false
          customerName: Example Customer
    dbsEAndWResponse:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/postResponseData'
      example:
        data:
          backgroundCheckUuid: 2c0c7733-df99-48c7-bf17-090d9a836ed3
          detail: DBS Basic E & W Disclosure check initiated successfully
    dbsEandWResults:
      type: object
      properties:
        eResultInfo:
          $ref: '#/components/schemas/eResultInfo'
        applicantPersonalDetails:
          $ref: '#/components/schemas/applicantPersonalDetails'
    dbsEAndWSectionX:
      required:
        - candidatePosition
        - customerName
        - employmentSector
      type: object
      properties:
        candidatePosition:
          maxLength: 50
          type: string
          description: The candidate's position.
        customerName:
          maxLength: 50
          type: string
          description: The name of the customer.
        employmentSector:
          type: string
          description: The relevant sector of employment.
      description: Indicates the Section X information for this position.
      example:
        candidatePosition: Nurse
        customerName: Jane Doe
        employmentSector: nhs
    dbsEnglandAndWalesCheckDetailResponse:
      type: object
      properties:
        status:
          type: string
        dbsRef:
          type: string
        receivedDate:
          type: string
        organisation:
          type: string
        assembleCertificateDate:
          type: string
        certificateDespatchedDate:
          type: string
        policeNationalComputerSearchDate:
          type: string
        results:
          $ref: '#/components/schemas/dbsEandWResults'
    dbsEnglandAndWalesCheckResultsResponse:
      type: object
      properties:
        checkId:
          type: integer
          format: int32
        status:
          type: string
        created:
          type: string
          format: date-time
        completed:
          type: string
          format: date-time
          nullable: true
        errors:
          type: array
          items:
            $ref: '#/components/schemas/error'
        data:
          $ref: '#/components/schemas/dbsEnglandAndWalesCheckDetailResponse'
      example:
        - checkId: 1
          status: Completed
          created: '2025-12-18T09:07:12.6330611Z'
          completed: '2025-12-18T09:07:12.6330770Z'
          data:
            status: success
            dbsRef: '123456'
            receivedDate: '2025-12-18'
            organisation: Test Organisation
            assembleCertificateDate: '2025-12-18'
            certificateDespatchedDate: '2025-12-18'
            policeNationalComputerSearchDate: '2025-12-18'
            results:
              eResultInfo:
                disclosureType: Standard
                disclosureNumber: '123456'
                disclosureStatus: Clear
                disclosureIssueDate: '2025-12-18'
                regOrgApplicationReference: '123456'
              applicantPersonalDetails:
                applicantGender: F
                applicantAddress:
                  postcode: AB1 2CD
                  addressTown: Test Town
                  countryCode: GB
                  addressLine1: 1 Test Street
                  addressLine2: Test Town
                  addressCounty: Test County
                applicantSurname: Doe
                applicantForename: Jane
                applicantBirthTown: Greater Manchester
                applicantOtherNames:
                  otherName:
                    usedTo: '1987-01-26'
                    usedFrom: '1967-10-26'
                    otherForename: Jane
                    otherSurname: Smith
                applicantDateOfBirth: '1967-10-26'
                applicantBirthCountry: GB
    dbsEnhancedCandidate:
      type: object
      properties:
        niNumber:
          type: string
          description: The candidate's national insurance number.
        title:
          maxLength: 10
          type: string
          description: >-
            The persons Title. Valid values are: Mr, Mrs, Ms, Miss, Baron,
            Baroness, Brigadier, Canon, Captain, Dr, Duchess, Duke, Esq, Father,
            Hon, Inspector, Lady, Lord, Reverend, Rt Reveren, Sir, Sister,
            Squadron L, Wg Cdr, Lt Col, Major, Most Rever, Pastor, Professor,
            Rabbi, Rev Dr
        middleName:
          maxLength: 50
          type: string
          description: The persons Middle Name
        contactNumber:
          maxLength: 15
          type: string
          description: The persons contact number
          format: tel
        gender:
          maxLength: 1
          type: string
          description: >-
            The persons gender. Valid values are 'm' for Male and 'f' for
            Female.
        nationality:
          maxLength: 2
          minLength: 2
          type: string
          description: The persons Nationality
        dateOfBirth:
          type: string
          description: The persons Date of Birth
          format: date
        firstName:
          maxLength: 50
          type: string
          description: The persons First Name
        lastName:
          maxLength: 50
          type: string
          description: The persons Last Name
        email:
          maxLength: 75
          type: string
          description: The persons Email Address
          format: email
      description: The candidate on which to perform the check.
      example:
        title: Mrs
        middleName: Louise
        contactNumber: '01234567890'
        gender: F
        nationality: GB
        dateOfBirth: '1985-05-20'
        firstName: Jane
        lastName: Doe
        email: jane.doe@example.com
    dbsEnhancedRequest:
      required:
        - candidateDeclarationHasUnspentConvictions
        - candidateDeclarationHasUnprotectedConvictions
        - paperCertToCandidate
        - currentAddressChecked
        - candidate
      type: object
      properties:
        disclosureType:
          type: string
          description: The level of disclosure check to perform
        candidate:
          $ref: '#/components/schemas/dbsEnhancedCandidate'
        addresses:
          type: array
          items:
            $ref: '#/components/schemas/disclosureAddress'
          description: The addresses to check against.
        birthDetails:
          $ref: '#/components/schemas/disclosureBirthDetails'
        passport:
          $ref: '#/components/schemas/disclosurePassport'
        drivingLicence:
          $ref: '#/components/schemas/disclosureDrivingLicence'
        identityDocuments:
          type: array
          items:
            $ref: '#/components/schemas/disclosureIdentityDocument'
          description: The optional identity document selections of the candidate.
        otherNames:
          type: array
          items:
            $ref: '#/components/schemas/disclosureOtherName'
          description: The other names of the candidate if required.
        hasReadPrivacyPolicy:
          type: boolean
          description: >-
            Indicates that the candidate has read all necessary privacy
            policies.
        hasSeenStatementOfFairProcessing:
          type: boolean
          description: >-
            Indicates that the candidate has seen the statement of fair
            processing.
        consentToObtainResult:
          type: boolean
          description: Indicates that the candidate has consented to obtain the result.
        candidateDeclarationHasUnspentConvictions:
          type: boolean
          description: >-
            The candidate's declaration as to whether they have unspent
            convictions.
        candidateDeclarationHasUnprotectedConvictions:
          type: boolean
          description: >-
            The candidate's declaration as to whether they have unprotected
            convictions.
        paperCertToCandidate:
          type: boolean
          description: >-
            Indicates whether the paper certificate should be sent to the
            candidate.
        paperCertRecipient:
          $ref: '#/components/schemas/paperCertificateRecipient'
        customerNameOnCert:
          type: boolean
          description: >-
            Indicates whether the customer name should be printed on the
            certificate.
        idVerifyName:
          type: string
          description: The name of the person who has verified the candidate's ID docs.
        sectionX:
          $ref: '#/components/schemas/disclosurePositionSectionX'
        purposeOfCheck:
          type: string
          description: The purpose of the check. Default = 'Employment'
        currentAddressChecked:
          type: boolean
          description: Indicates whether the candidate's current address is checked.
        dsOrganisationId:
          type: integer
          description: The ID of the DS organisation to perform the check.
          format: int32
        metaData:
          $ref: '#/components/schemas/metaData'
      example:
        disclosureType: DBS Enhanced
        candidate:
          title: Mrs
          middleName: Louise
          contactNumber: '01234567890'
          gender: F
          nationality: GB
          dateOfBirth: '1985-05-20'
          firstName: Jane
          lastName: Doe
          email: jane.doe@example.com
        addresses:
          - houseNumber: '1'
            streetName: High Street
            city: London
            county: Greater London
            country: GB
            postCode: SW1A1AA
            fromDate: '2010-01-01'
            isCurrent: true
        birthDetails:
          country: GB
          county: Greater London
          town: London
          nationality: British
        passport:
          number: '123456789'
          issueDate: '2010-01-01'
          nationality: British
          dateOfBirth: '1985-05-20'
          expiryDate: '2030-01-01'
          countryOfIssue: GB
        drivingLicence:
          number: DOE99855205JL8AD
          validFrom: '2020-01-01'
          validTo: '2029-12-31'
          dateOfBirth: '1985-05-20'
          countryOfIssue: GB
        identityDocuments:
          - documentType: dbs-passport
        otherNames:
          - firstName: Jane
            middleName: Louise
            lastName: Franks
            fromDate: '1985-05-20'
            toDate: '2020-01-01'
        hasReadPrivacyPolicy: true
        hasSeenStatementOfFairProcessing: true
        consentToObtainResult: true
        candidateDeclarationHasUnspentConvictions: false
        candidateDeclarationHasUnprotectedConvictions: false
        paperCertToCandidate: false
        paperCertRecipient:
          name: John Doe
          line1: 123 Fake Street
          postTown: Faketown
          postCode: SW1A1AA
          country: GB
        customerNameOnCert: true
        idVerifyName: John Doe
        sectionX:
          disclosurePosition:
            positionId: 0
            childBarring: false
            adultBarring: false
            workingAtHomeAddress: false
            adultFirst: false
          customerName: Customer Name Example
        purposeOfCheck: employment
        currentAddressChecked: true
        dsOrganisationId: 894
        metaData:
          yourReference: e4db65ce-dc42-4fd9-a5de-8268dbc8aebe
          demoMode: false
          sandboxMode: false
          customerName: Example Customer
    dbsEnhancedResponse:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/postResponseData'
      example:
        data:
          backgroundCheckUuid: fb10d15e-be5d-46bc-b66c-82705a134eb3
          detail: DBS Enhanced Disclosure check initiated successfully
    dbsStandardRequest:
      required:
        - candidateDeclarationHasUnspentConvictions
        - candidateDeclarationHasUnprotectedConvictions
        - paperCertToCandidate
        - currentAddressChecked
        - candidate
      type: object
      properties:
        disclosureType:
          type: string
          description: The level of disclosure check to perform
        candidate:
          $ref: '#/components/schemas/disclosureCandidate'
        addresses:
          type: array
          items:
            $ref: '#/components/schemas/disclosureAddress'
          description: The addresses to check against.
        birthDetails:
          $ref: '#/components/schemas/disclosureBirthDetails'
        passport:
          $ref: '#/components/schemas/disclosurePassport'
        drivingLicence:
          $ref: '#/components/schemas/disclosureDrivingLicence'
        identityDocuments:
          type: array
          items:
            $ref: '#/components/schemas/disclosureIdentityDocument'
          description: The optional identity document selections of the candidate.
        otherNames:
          type: array
          items:
            $ref: '#/components/schemas/disclosureOtherName'
          description: The other names of the candidate if required.
        hasReadPrivacyPolicy:
          type: boolean
          description: >-
            Indicates that the candidate has read all necessary privacy
            policies.
        hasSeenStatementOfFairProcessing:
          type: boolean
          description: >-
            Indicates that the candidate has seen the statement of fair
            processing.
        consentToObtainResult:
          type: boolean
          description: Indicates that the candidate has consented to obtain the result.
        candidateDeclarationHasUnspentConvictions:
          type: boolean
          description: >-
            The candidate's declaration as to whether they have unspent
            convictions.
        candidateDeclarationHasUnprotectedConvictions:
          type: boolean
          description: >-
            The candidate's declaration as to whether they have unprotected
            convictions.
        paperCertToCandidate:
          type: boolean
          description: >-
            Indicates whether the paper certificate should be sent to the
            candidate.
        paperCertRecipient:
          $ref: '#/components/schemas/paperCertificateRecipient'
        customerNameOnCert:
          type: boolean
          description: >-
            Indicates whether the customer name should be printed on the
            certificate.
        idVerifyName:
          type: string
          description: The name of the person who has verified the candidate's ID docs.
        sectionX:
          $ref: '#/components/schemas/disclosurePositionSectionX'
        purposeOfCheck:
          type: string
          description: The purpose of the check. Default = 'Employment'
        currentAddressChecked:
          type: boolean
          description: Indicates whether the candidate's current address is checked.
        dsOrganisationId:
          type: integer
          description: The ID of the DS organisation to perform the check.
          format: int32
        metaData:
          $ref: '#/components/schemas/metaData'
      example:
        disclosureType: DBS Standard
        candidate:
          title: Mrs
          middleName: Louise
          contactNumber: '01234567890'
          gender: F
          nationality: GB
          dateOfBirth: '1985-12-18'
          firstName: Jane
          lastName: Doe
          email: jane.doe@example.com
        addresses:
          - houseNumber: '1'
            streetName: High Street
            city: London
            county: Greater London
            country: GB
            postCode: SW1A1AA
            fromDate: '2010-01-01'
            isCurrent: true
        birthDetails:
          country: GB
          county: Greater London
          town: London
          nationality: British
        passport:
          number: '123456789'
          issueDate: '2010-01-01'
          nationality: British
          dateOfBirth: '1985-05-20'
          expiryDate: '2030-01-01'
          countryOfIssue: GB
        drivingLicence:
          number: DOE99855205JL8AD
          validFrom: '2020-01-01'
          validTo: '2029-12-31'
          dateOfBirth: '1985-05-20'
          countryOfIssue: GB
        identityDocuments:
          - documentType: dbs-passport
        otherNames:
          - firstName: Jane
            middleName: Louise
            lastName: Franks
            fromDate: '1985-05-20'
            toDate: '2020-01-01'
        hasReadPrivacyPolicy: true
        hasSeenStatementOfFairProcessing: true
        consentToObtainResult: true
        candidateDeclarationHasUnspentConvictions: false
        candidateDeclarationHasUnprotectedConvictions: false
        paperCertToCandidate: false
        paperCertRecipient:
          name: John Doe
          line1: 123 Fake Street
          postTown: Faketown
          postCode: SW1A1AA
          country: GB
        customerNameOnCert: true
        idVerifyName: John Doe
        sectionX:
          disclosurePosition:
            positionId: 0
          customerName: Customer Name
        purposeOfCheck: employment
        currentAddressChecked: true
        dsOrganisationId: 894
        metaData:
          yourReference: 9faca4c1-5da9-49cb-945e-2ecbeb6db7b0
          demoMode: false
          sandboxMode: false
          customerName: Example Customer
    dbsStandardResponse:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/postResponseData'
      example:
        data:
          backgroundCheckUuid: f425bdac-5478-4a44-8b80-405ef3c8419a
          detail: DBS Standard Disclosure check initiated successfully
    dbsUpdateServiceCreateRequest:
      required:
        - organisationName
        - requesterForename
        - requesterSurname
        - certificateNumber
        - applicantSurname
        - applicantDateOfBirth
        - metaData
      type: object
      properties:
        organisationName:
          maxLength: 50
          pattern: ^(?!')[A-Za-z\s'-]+$
          type: string
        requesterForename:
          maxLength: 50
          pattern: ^(?!')[A-Za-z\s'-]+$
          type: string
        requesterSurname:
          maxLength: 50
          pattern: ^(?!')[A-Za-z\s'-]+$
          type: string
        certificateNumber:
          maxLength: 12
          minLength: 12
          pattern: ^\d{12}$
          type: string
        applicantSurname:
          maxLength: 50
          pattern: ^(?!')[A-Za-z\s'-]+$
          type: string
        applicantDateOfBirth:
          $ref: '#/components/schemas/dateOnly'
        webhookBaseUrl:
          type: string
        metaData:
          $ref: '#/components/schemas/metaData'
      example:
        organisationName: Example Organisation Ltd
        requesterForename: John
        requesterSurname: Smith
        certificateNumber: '123456789012'
        applicantSurname: Doe
        applicantDateOfBirth: '1990-01-15'
        metaData:
          yourReference: 56002f0d-5a9a-4535-8a7d-092d70c72ff7
          demoMode: true
          sandboxMode: true
          customerName: Example Customer
    dbsUpdateServiceResultsData:
      type: object
      properties:
        certificateStatus:
          type: string
        certificateHolderFullName:
          type: string
        certificateDateOfBirth:
          $ref: '#/components/schemas/dateOnly'
        certificateNumber:
          type: string
        certificatePrintDate:
          $ref: '#/components/schemas/dateOnly'
        checkPerformedByFullName:
          type: string
        checkPerformedOn:
          type: string
          format: date-time
          nullable: true
        reportUrl:
          type: string
      example:
        certificateStatus: No New Information
        certificateHolderFullName: Jane Doe
        certificateDateOfBirth: '1990-01-15'
        certificateNumber: '123456789012'
        certificatePrintDate: '2023-12-18'
        checkPerformedByFullName: John Smith
        checkPerformedOn: '2025-12-18T09:07:12.9058704Z'
        reportUrl: api/check-attachment?uuid=12345678-1234-1234-1234-123456789012&id=1
    dbsUpdateServiceResultsResponse:
      type: object
      properties:
        checkId:
          type: string
          format: uuid
        created:
          type: string
          format: date-time
          nullable: true
        started:
          type: string
          format: date-time
          nullable: true
        completed:
          type: string
          format: date-time
          nullable: true
        status:
          type: string
        yourReference:
          type: string
        customerName:
          type: string
        errors:
          type: array
          items:
            $ref: '#/components/schemas/resultError'
        data:
          $ref: '#/components/schemas/dbsUpdateServiceResultsData'
      example:
        checkId: 12345678-1234-1234-1234-123456789012
        created: '2025-12-17T09:07:12.9096503Z'
        started: '2025-12-17T09:08:12.9096513Z'
        completed: '2025-12-18T09:07:12.9096517Z'
        status: Completed
        yourReference: REF-12345
        customerName: Example Customer
        data:
          certificateStatus: No New Information
          certificateHolderFullName: Jane Doe
          certificateDateOfBirth: '1990-01-15'
          certificateNumber: '123456789012'
          certificatePrintDate: '2023-12-18'
          checkPerformedByFullName: John Smith
          checkPerformedOn: '2025-12-18T09:07:12.9096526Z'
          reportUrl: api/check-attachment?uuid=12345678-1234-1234-1234-123456789012&id=1
    digitalIdentityCheckModel:
      type: object
      properties:
        createdAt:
          type: string
          format: date-time
        status:
          enum:
            - InProgress
            - AwaitingApplicant
            - Complete
            - Withdrawn
            - Paused
            - Reopened
          type: string
          default: InProgress
        reports:
          type: array
          items:
            $ref: '#/components/schemas/digitalIdentityReportModel'
    digitalIdentityDocumentModel:
      type: object
      properties:
        documentType:
          type: string
        createdAt:
          type: string
          format: date-time
        fileName:
          type: string
        fileType:
          type: string
        url:
          type: string
    digitalIdentityHighCreateRequest:
      required:
        - candidate
        - currentAddress
      type: object
      properties:
        candidate:
          $ref: '#/components/schemas/onfidoCandidate'
        currentAddress:
          $ref: '#/components/schemas/onfidoCandidateAddress'
        metaData:
          $ref: '#/components/schemas/metaData'
      example:
        candidate:
          title: Mr
          firstName: John
          lastName: Doe
          dateOfBirth: '1980-01-01'
          email: john.doe@example.com
          nationality: GB
        currentAddress:
          houseNumber: '1'
          streetName: High Street
          city: London
          county: Greater London
          country: GB
          postCode: SW1A1AA
          fromDate: '2020-12-18'
          isCurrent: true
        metaData:
          yourReference: 951d39fc-6f5c-446b-ad73-b1e8644f5e46
          demoMode: true
          sandboxMode: true
          customerName: Example Customer
    digitalIdentityHighCreateResponse:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
        data:
          $ref: '#/components/schemas/dataModelWithToken'
    digitalIdentityMediumCreateRequest:
      required:
        - candidate
      type: object
      properties:
        candidate:
          $ref: '#/components/schemas/onfidoCandidate'
        metaData:
          $ref: '#/components/schemas/metaData'
      example:
        candidate:
          title: Mr
          firstName: John
          lastName: Doe
          dateOfBirth: '1980-01-01'
          email: john.doe@example.com
          nationality: GB
        metaData:
          yourReference: 8f19fdce-f510-4454-8cc6-d7ad44886a76
          demoMode: true
          sandboxMode: true
          customerName: Example Customer
    digitalIdentityMediumCreateResponse:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
        data:
          $ref: '#/components/schemas/dataModelWithToken'
      example:
        uuid: 9ca4cbf5-c32d-4e65-9c36-d078aff483f3
        data:
          token: <SDK TOKEN>
          expiry: '2025-12-18T10:07:12.4059259Z'
          workflowRunId: a97e19ee-5f84-4073-b6b0-44f622f78fb5
          backgroundCheckUuid: 9ca4cbf5-c32d-4e65-9c36-d078aff483f3
          detail: Digital Identity Check (medium) created successfully.
    digitalIdentityReportModel:
      type: object
      properties:
        createdAt:
          type: string
          format: date-time
        name:
          enum:
            - Document
            - DocumentVideo
            - DocumentWithAddressInformation
            - DocumentWithDrivingLicenceInformation
            - FacialSimilarityPhoto
            - FacialSimilarityPhotoFullyAuto
            - FacialSimilarityVideo
            - FacialSimilarityMotion
            - KnownFaces
            - IdentityEnhanced
            - WatchListAml
            - WatchlistEnhanced
            - WatchlistStandard
            - WatchlistPepsOnly
            - WatchlistSanctionsOnly
            - ProofOfAddres
            - UsDrivingLicence
            - DeviceIntelligence
            - DocumentWithDriverVerification
          type: string
          default: Document
        status:
          enum:
            - AwaitingData
            - AwaitingApproval
            - Cancelled
            - Complete
            - Withdrawn
            - Paused
          type: string
          default: AwaitingData
        result:
          enum:
            - Clear
            - Consider
            - Unidentified
            - null
          type: string
          default: Clear
        documentType:
          enum:
            - NationalIdentityCard
            - DrivingLicence
            - Passport
            - VoterId
            - WorkPermit
          type: string
          default: NationalIdentityCard
          nullable: true
        properties:
          type: object
        breakdown:
          type: object
    digitalIdentityResultsResponse:
      type: object
      properties:
        checkId:
          type: integer
          format: int32
        created:
          type: string
          format: date-time
          nullable: true
        started:
          type: string
          format: date-time
          nullable: true
        completed:
          type: string
          format: date-time
          nullable: true
        status:
          type: string
        yourReference:
          type: string
        customerName:
          type: string
        errors:
          type: array
          items:
            $ref: '#/components/schemas/resultError'
        data:
          $ref: '#/components/schemas/digitalIdentityResultsResponseDetail'
      example:
        - checkId: 0
          started: '2025-12-18T09:07:12.3776366Z'
          completed: '2025-12-18T09:12:12.3776515Z'
          status: Pending
          yourReference: ABC123
          customerName: Example Customer
          data:
            applicantName: John Doe
            applicantEmail: john.doe@example.com
            operatorEmail: operator@example.com
            createdAt: '2025-12-18T09:06:12.3792841Z'
            completedAt: '2025-12-18T09:07:12.3792986Z'
            status: approved
            reasons: []
            documents:
              - documentType: document
                createdAt: '2025-12-18T09:07:12.3794049Z'
                fileName: 09c749a3-d65e-4cf9-b2d6-4fc3021cb350
                fileType: jpg
                url: >-
                  api/check-attachment?uuid=b727445a-ad75-49e6-930e-6ddb1d6f437a&id=1
              - documentType: document
                createdAt: '2025-12-18T09:07:12.3794288Z'
                fileName: 638eaa10-10db-4faa-9c22-80d3bd5b21a0
                fileType: png
                url: >-
                  api/check-attachment?uuid=b727445a-ad75-49e6-930e-6ddb1d6f437a&id=2
            videos:
              - frameUrl: >-
                  api/check-attachment?uuid=b727445a-ad75-49e6-930e-6ddb1d6f437a&id=4
                fileName: cb4a41c9-e905-4270-85fe-5e4e4930b2b4
                fileType: video/mp4
                url: >-
                  api/check-attachment?uuid=b727445a-ad75-49e6-930e-6ddb1d6f437a&id=3
            checks:
              - createdAt: '2025-12-18T09:07:12.3795277Z'
                status: complete
                reports:
                  - createdAt: '2025-12-18T09:07:12.3795698Z'
                    name: facial_similarity_motion
                    status: complete
                    result: clear
              - createdAt: '2025-12-18T09:07:12.3796187Z'
                status: complete
                reports:
                  - createdAt: '2025-12-18T09:07:12.3796191Z'
                    name: document
                    status: complete
                    result: clear
                    documentType: passport
                    properties:
                      date_of_birth: '1990-01-01'
                      date_of_expiry: '2031-05-28'
                      document_numbers:
                        - type: document_number
                          value: '999999999'
                      document_type: passport
                      first_name: John
                      gender: null
                      issuing_country: GBR
                      last_name: Doe
                      nationality: null
                    breakdown:
                      visual_authenticity:
                        result: clear
                        breakdown:
                          spoofing_detection:
                            result: clear
                            properties:
                              score: 0.9512
                          liveness_detected:
                            result: clear
                            properties: {}
                      image_integrity:
                        result: clear
                        breakdown:
                          source_integrity:
                            result: clear
                            properties: {}
                          face_detected:
                            result: clear
                            properties: {}
                      face_comparison:
                        result: clear
                        breakdown:
                          face_match:
                            result: clear
                            properties:
                              score: 0.6512
                              document_id: 7a353960-9129-4dcd-ad36-1e4d3c3a7882
              - createdAt: '2025-12-18T09:07:12.3879157Z'
                status: complete
                reports:
                  - createdAt: '2025-12-18T09:07:12.3879168Z'
                    name: identity_enhanced
                    status: complete
                    result: clear
    digitalIdentityResultsResponseDetail:
      type: object
      properties:
        applicantName:
          type: string
        applicantEmail:
          type: string
        operatorEmail:
          type: string
        createdAt:
          type: string
          format: date-time
        completedAt:
          type: string
          format: date-time
          nullable: true
        status:
          enum:
            - Processing
            - AwaitingInput
            - Approved
            - Declined
            - Review
            - Abandoned
            - Error
          type: string
          default: Processing
        reasons:
          type: array
          items:
            type: string
        documents:
          type: array
          items:
            $ref: '#/components/schemas/digitalIdentityDocumentModel'
        videos:
          type: array
          items:
            $ref: '#/components/schemas/digitalIdentityVideoModel'
        checks:
          type: array
          items:
            $ref: '#/components/schemas/digitalIdentityCheckModel'
    digitalIdentitySdkTokenCreateRequest:
      type: object
      properties:
        background_check_uuid:
          type: string
          format: uuid
          nullable: true
    digitalIdentitySdkTokenCreateResponse:
      type: object
      properties:
        token:
          type: string
        expiry:
          type: string
      example:
        token: dummy_token
        expiry: '2025-12-18T10:37:12.3722339Z'
    digitalIdentityVideoModel:
      type: object
      properties:
        frameUrl:
          type: string
        fileName:
          type: string
        fileType:
          type: string
        url:
          type: string
    directorshipAddress:
      type: object
      properties:
        line1:
          type: string
        line2:
          type: string
        line3:
          type: string
        line4:
          type: string
        line5:
          type: string
        line6:
          type: string
        postcode:
          type: string
        country:
          type: string
    directorshipCreateRequest:
      required:
        - person
        - currentAddress
        - metaData
      type: object
      properties:
        person:
          $ref: '#/components/schemas/northRowPerson'
        currentAddress:
          $ref: '#/components/schemas/northRowAddress'
        metaData:
          $ref: '#/components/schemas/metaData'
      example:
        person:
          firstName: John
          lastName: Director
          email: john.director@example.com
          dateOfBirth: '1980-01-01'
          gender: m
        currentAddress:
          houseNumber: '19'
          streetName: High Point
          city: London
          county: Greater London
          country: GB
          postCode: SE9 3PA
          fromDate: '2010-01-01'
          isCurrent: true
        metaData:
          yourReference: 9c59aa24-16c5-45dc-8b50-e0b80a08de33
          demoMode: true
          sandboxMode: false
    directorshipDetails:
      type: object
      properties:
        name:
          type: string
        nationality:
          type: string
        dateOfBirth:
          type: string
        address:
          $ref: '#/components/schemas/directorshipAddress'
        directorships:
          type: array
          items:
            $ref: '#/components/schemas/directorships'
    directorshipResultsResponse:
      type: object
      properties:
        checkId:
          type: integer
          format: int32
        created:
          type: string
          format: date-time
          nullable: true
        started:
          type: string
          format: date-time
          nullable: true
        completed:
          type: string
          format: date-time
          nullable: true
        status:
          type: string
        yourReference:
          type: string
        customerName:
          type: string
        errors:
          type: array
          items:
            $ref: '#/components/schemas/resultError'
        data:
          $ref: '#/components/schemas/directorshipResultsResponseModel'
      example:
        - checkId: 1
          created: '2025-12-18T09:07:12.4455300Z'
          status: Pending
          yourReference: ABC123
          data:
            directorshipDetails:
              - name: Director
                nationality: British
                dateOfBirth: 01/01/1990
                address:
                  line1: Address line 1
                  line2: Address line 2
                  line3: Address line 3
                  line4: Address line 4
                  line5: Address line 5
                  line6: Address line 6
                  postcode: Postcode
                  country: Country
                directorships:
                  - companyName: Company Name
                    companyNumber: Company Number
                    companyStatus: Company Status
                    function: Director
                    appointedDate: 01/01/2020
                    resignationDate: 01/01/2024
                    companyAddress:
                      addressLine1: 1 Company Lane
                      addressLine2: Company Street
                      locality: London
                      postalCode: ABC DEF
                      region: Greater London
            disqualificationDetails:
              - firstName: Jane
                middleName: Louise
                lastName: Doe
                dob: 01/01/1990
                companyNumber: '12345'
                countryOfRegistration: United Kingdom
                disqualifications:
                  - address:
                      line1: Address line 1
                      line2: Address line 2
                      line3: Address line 3
                      line4: Address line 4
                      line5: Address line 5
                      line6: Address line 6
                      postcode: Postcode
                      country: Country
                    companyNames:
                      - Company Names
                    disqualificationReason:
                      act: Act example
                      article: Article example
                      descriptionIdentifier: Description identifier example
                      section: Section example
                    disqualificationType: Disqualification type example
                    startDate: 01/01/2020
                    endDate: 01/01/2021
            alerts:
              - crid: '1209'
                message: Alert message.
                type: Alert Type
                score: 100
                category: Alert Category
    directorshipResultsResponseModel:
      type: object
      properties:
        directorshipDetails:
          type: array
          items:
            $ref: '#/components/schemas/directorshipDetails'
        disqualificationDetails:
          type: array
          items:
            $ref: '#/components/schemas/disqualificationDetails'
        alerts:
          type: array
          items:
            $ref: '#/components/schemas/alert'
    directorships:
      type: object
      properties:
        type:
          type: string
        companyName:
          type: string
        companyNumber:
          type: string
        companyStatus:
          type: string
        function:
          type: string
        appointedDate:
          type: string
        resignationDate:
          type: string
        companyAddress:
          $ref: '#/components/schemas/companyAddress'
    disclosureAddress:
      required:
        - houseNumber
        - streetName
        - city
        - country
        - postCode
      type: object
      properties:
        houseNumber:
          maxLength: 50
          pattern: ^[A-Za-z0-9\s'&/(),.-]+$
          type: string
          description: The house number of the address.
        streetName:
          maxLength: 50
          pattern: ^[A-Za-z0-9\s'&/(),.-]+$
          type: string
          description: The street name of the address.
        city:
          maxLength: 30
          pattern: ^[A-Za-z0-9\s'&/(),.-]+$
          type: string
          description: The city of the address.
        county:
          maxLength: 30
          type: string
          description: The county of the address.
          nullable: true
        country:
          maxLength: 2
          minLength: 2
          type: string
          description: The country of the address.
        postCode:
          maxLength: 10
          type: string
          description: The post code of the address.
        fromDate:
          type: string
          description: The date from which the candidate lived at this address.
          format: date
        toDate:
          type: string
          description: The date to which the candidate lived at this address.
          format: date
          nullable: true
        isCurrent:
          type: boolean
          description: Whether the candidate currently lives at this address.
      example:
        houseNumber: '1'
        streetName: High Street
        city: London
        county: Greater London
        country: GB
        postCode: SW1A1AA
        fromDate: '2010-01-01'
        isCurrent: true
    disclosureBirthDetails:
      required:
        - country
        - county
        - town
        - nationality
      type: object
      properties:
        country:
          maxLength: 2
          minLength: 2
          type: string
          description: The country the person was born in.
        county:
          maxLength: 50
          type: string
          description: The county the person was born in.
        town:
          maxLength: 50
          type: string
          description: The town the person was born in.
        nationality:
          maxLength: 50
          type: string
          description: The person's nationality at birth.
      description: The required details of the candidate's birth.
      example:
        country: GB
        county: Greater London
        town: London
        nationality: British
    disclosureCandidate:
      required:
        - title
        - nationality
        - contactNumber
        - gender
        - dateOfBirth
      type: object
      properties:
        title:
          maxLength: 10
          type: string
          description: >-
            The persons Title. Valid values are: Mr, Mrs, Ms, Miss, Baron,
            Baroness, Brigadier, Canon, Captain, Dr, Duchess, Duke, Esq, Father,
            Hon, Inspector, Lady, Lord, Reverend, Rt Reveren, Sir, Sister,
            Squadron L, Wg Cdr, Lt Col, Major, Most Rever, Pastor, Professor,
            Rabbi, Rev Dr
        middleName:
          maxLength: 50
          type: string
          description: The persons Middle Name
        contactNumber:
          maxLength: 15
          type: string
          description: The persons contact number
          format: tel
        gender:
          maxLength: 1
          type: string
          description: >-
            The persons gender. Valid values are 'm' for Male and 'f' for
            Female.
        nationality:
          maxLength: 2
          minLength: 2
          type: string
          description: The persons Nationality
        dateOfBirth:
          type: string
          description: The persons Date of Birth
          format: date
        firstName:
          maxLength: 50
          type: string
          description: The persons First Name
        lastName:
          maxLength: 50
          type: string
          description: The persons Last Name
        email:
          maxLength: 75
          type: string
          description: The persons Email Address
          format: email
      description: The candidate on which to perform the check.
      example:
        title: Mrs
        middleName: Louise
        contactNumber: '01234567890'
        gender: F
        nationality: GB
        dateOfBirth: '1985-12-18'
        firstName: Jane
        lastName: Doe
        email: jane.doe@example.com
    disclosureDrivingLicence:
      type: object
      properties:
        number:
          type: string
        validFrom:
          $ref: '#/components/schemas/dateOnly'
        validTo:
          $ref: '#/components/schemas/dateOnly'
        dateOfBirth:
          $ref: '#/components/schemas/dateOnly'
        countryOfIssue:
          type: string
          description: The country the driving licence was issued in.
      description: The optional driving licence details of the candidate.
      example:
        number: DOE99855205JL8AD
        validFrom: '2020-01-01'
        validTo: '2029-12-31'
        dateOfBirth: '1985-05-20'
        countryOfIssue: GB
    disclosureIdentityDocument:
      required:
        - documentType
      type: object
      properties:
        documentType:
          type: string
          description: The type of document.
      example:
        documentType: dbs-passport
    disclosureIdentityDocumentGroup:
      type: object
      properties:
        groupName:
          type: string
        documents:
          type: array
          items:
            $ref: '#/components/schemas/disclosureIdentityDocument'
    disclosureIdentityDocumentTypesDbsBasicRequest:
      required:
        - countryCode
      type: object
      properties:
        countryCode:
          maxLength: 2
          minLength: 2
          type: string
        route:
          maximum: 2
          minimum: 1
          type: integer
          format: int32
        excludePassport:
          type: boolean
        excludeDrivingLicence:
          type: boolean
      example:
        countryCode: GB
        route: 1
        excludePassport: false
        excludeDrivingLicence: false
    disclosureIdentityDocumentTypesDbsBasicScotlandRequest:
      type: object
      properties:
        route:
          type: integer
          format: int32
        excludePassport:
          type: boolean
        excludeDrivingLicence:
          type: boolean
      example:
        route: 1
        excludePassport: false
        excludeDrivingLicence: false
    disclosureIdentityDocumentTypesDbsRequest:
      required:
        - countryCode
      type: object
      properties:
        countryCode:
          maxLength: 2
          minLength: 2
          type: string
        isVolunteer:
          type: boolean
        route:
          maximum: 3
          minimum: 1
          type: integer
          format: int32
        excludePassport:
          type: boolean
        excludeDrivingLicence:
          type: boolean
      example:
        countryCode: GB
        isVolunteer: false
        route: 1
        excludePassport: false
        excludeDrivingLicence: false
    disclosureIdentityDocumentTypesResponse:
      type: object
      properties:
        numberOfDocumentsRequired:
          type: integer
          format: int32
        nextRoute:
          type: integer
          format: int32
          nullable: true
        previousRoute:
          type: integer
          format: int32
          nullable: true
        documents:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/list_disclosureIdentityDocumentGroup'
      example:
        numberOfDocumentsRequired: 2
        nextRoute: 2
        documents:
          '1':
            - groupName: Group 1
              documents:
                - slug: dbs-passport
                  name: Passport
                  notes: Must be current and valid.
                - slug: dbs-driving-licence
                  name: Driving Licence Photocard
                  notes: >-
                    Can be either Full or Provisional. Must be from UK, Isle of
                    Man or Channel Island.
          '2':
            - groupName: Group 2a
              documents:
                - slug: dbs-driving-licence-none-uk
                  name: Current Driving Licence - Non UK
                  notes: >-
                    Can be Full or Provisional. All countries outside the UK
                    (exc. Isle of Man and Channel Islands).
                - slug: dbs-birth-certificate
                  name: 'Group 2a: Birth Certificate (issued after time of birth)'
                  notes: Must be from UK, Isle of Man and Channel Islands.
            - groupName: Group 2b
              documents:
                - slug: dbs-mortgage-statement
                  name: 'Group 2b: Mortgage Statement - Issued in the last 12 months'
                  notes: Must be from the UK.
                - slug: dbs-credit-card-statement
                  name: "Credit Card Statement - Issued in the last 3 months\r\n"
                  notes: Must be from UK. Must be issued within last 3 months.
    disclosureOtherName:
      type: object
      properties:
        firstName:
          type: string
          description: The persons First Name
        middleName:
          type: string
          description: The persons Middle Name
        lastName:
          type: string
          description: The persons Last Name
        fromDate:
          $ref: '#/components/schemas/dateOnly'
        toDate:
          $ref: '#/components/schemas/dateOnly'
      example:
        firstName: Jane
        middleName: Louise
        lastName: Franks
        fromDate: '1985-05-20'
        toDate: '2020-01-01'
    disclosurePassport:
      required:
        - number
        - issueDate
        - nationality
        - dateOfBirth
        - countryOfIssue
      type: object
      properties:
        number:
          maxLength: 11
          type: string
          description: The passport number.
        issueDate:
          $ref: '#/components/schemas/dateOnly'
        nationality:
          maxLength: 50
          type: string
          description: The Nationality shown on the passport.
        dateOfBirth:
          $ref: '#/components/schemas/dateOnly'
        expiryDate:
          $ref: '#/components/schemas/dateOnly'
        countryOfIssue:
          maxLength: 2
          minLength: 2
          type: string
          description: The country the passport was issued in.
      description: The optional passport details of the candidate.
      example:
        number: '123456789'
        issueDate: '2010-01-01'
        nationality: British
        dateOfBirth: '1985-05-20'
        expiryDate: '2030-01-01'
        countryOfIssue: GB
    disclosurePosition:
      required:
        - positionId
      type: object
      properties:
        positionId:
          minimum: 0
          exclusiveMinimum: true
          type: integer
          description: The candidate's position ID.
          format: int32
        childBarring:
          type: boolean
          description: >-
            Indicates if the candidate's position will involve working with
            children.
        adultBarring:
          type: boolean
          description: >-
            Indicates if the candidate's position will involve working with
            vulnerable adults.
        workingAtHomeAddress:
          type: boolean
          description: Indicates if the candidate's work from home address is provided.
        adultFirst:
          type: boolean
          description: >-
            Allows candidates working in care homes, domiciliary care agencies
            and adult placement schemes to start work under supervision before
            their DBS Enhanced certificate is completed. This type of check can
            only be used in exceptional circumstances and in accordance with
            specific Department of Health guidelines. Please note, by selecting
            this check, you accept the additional charge applied to this fast
            track check.'
      description: The candidate's position.
      example:
        positionId: 0
        childBarring: false
        adultBarring: false
        workingAtHomeAddress: false
        adultFirst: false
    disclosurePositionSectionX:
      required:
        - disclosurePosition
        - customerName
      type: object
      properties:
        disclosurePosition:
          $ref: '#/components/schemas/disclosurePosition'
        customerName:
          maxLength: 50
          type: string
          description: The name of the customer.
      description: Indicates the Section X information for this position.
      example:
        disclosurePosition:
          positionId: 0
          childBarring: false
          adultBarring: false
          workingAtHomeAddress: false
          adultFirst: false
        customerName: Customer Name Example
    disclosureServicesCheckDetailResponse:
      type: object
      properties:
        dsApplicationId:
          type: string
        results:
          $ref: '#/components/schemas/disclosureServicesResults'
    disclosureServicesCheckResultsResponse:
      type: object
      properties:
        checkId:
          type: integer
          format: int32
        status:
          type: string
        created:
          type: string
          format: date-time
        completed:
          type: string
          format: date-time
          nullable: true
        errors:
          type: array
          items:
            $ref: '#/components/schemas/error'
        data:
          $ref: '#/components/schemas/disclosureServicesCheckDetailResponse'
      example:
        - checkId: 1
          status: Completed
          created: '2025-12-18T09:07:12.6264255Z'
          completed: '2025-12-18T09:07:12.6264404Z'
          data:
            dsApplicationId: '123456'
            results:
              status: clear
              agencyReference: '123456'
              certificateNumber: '123456'
              issueDate: '2025-12-18T09:07:12.6265341Z'
    disclosureServicesPositionRequest:
      type: object
      properties:
        positionId:
          type: integer
          format: int32
          nullable: true
        positionName:
          type: string
        levelOfCheck:
          type: string
        workForceType:
          type: string
        positionSettingId:
          type: integer
          format: int32
          nullable: true
        inUse:
          type: boolean
          nullable: true
      example:
        positionId: 1
        positionName: Nurse
        levelOfCheck: ENHANCED
        workForceType: ADULT
        positionSettingId: 1
        inUse: true
    disclosureServicesPositionResponse:
      type: object
      properties:
        count:
          type: integer
          format: int32
        results:
          type: array
          items:
            $ref: '#/components/schemas/dsPositionModel'
      example:
        count: 1
        results:
          - positionId: 1
            positionName: Nurse
            levelOfCheck: ENHANCED
            workForceType: ADULT
            settingName: Hospital
            isRegulated: false
            isVolunteer: false
            inUse: true
    disclosureServicesPositionSettingRequest:
      type: object
      properties:
        positionSettingId:
          type: integer
          format: int32
          nullable: true
        settingName:
          type: string
      example:
        positionSettingId: 0
        settingName: Hospital
    disclosureServicesPositionSettingResponse:
      type: object
      properties:
        count:
          type: integer
          format: int32
        results:
          type: array
          items:
            $ref: '#/components/schemas/dsPositionSettingModel'
      example:
        count: 1
        results:
          - positionSettingId: 1
            settingName: Hospital
    disclosureServicesResults:
      type: object
      properties:
        status:
          type: string
        agencyReference:
          type: string
        certificateNumber:
          type: string
        issueDate:
          type: string
          format: date-time
          nullable: true
        rejectionMessages:
          type: string
    disqualification:
      type: object
      properties:
        address:
          $ref: '#/components/schemas/directorshipAddress'
        companyNames:
          type: array
          items:
            type: string
        disqualificationReason:
          $ref: '#/components/schemas/disqualificationReason'
        disqualificationType:
          type: string
        startDate:
          type: string
        endDate:
          type: string
    disqualificationDetails:
      type: object
      properties:
        firstName:
          type: string
        middleName:
          type: string
        lastName:
          type: string
        dob:
          type: string
        companyNumber:
          type: string
        countryOfRegistration:
          type: string
        disqualifications:
          type: array
          items:
            $ref: '#/components/schemas/disqualification'
    disqualificationReason:
      type: object
      properties:
        act:
          type: string
        article:
          type: string
        descriptionIdentifier:
          type: string
        section:
          type: string
    driver:
      type: object
      properties:
        drivingLicenceNumber:
          type: string
        firstNames:
          type: string
        lastName:
          type: string
        gender:
          type: string
        dateOfBirth:
          type: string
        address:
          $ref: '#/components/schemas/address'
    drivingLicenceCreateRequest:
      required:
        - person
      type: object
      properties:
        person:
          $ref: '#/components/schemas/drivingLicencePerson'
        drivingLicenceNumber:
          type: string
          description: The person's driving licence number.
        metaData:
          $ref: '#/components/schemas/metaData'
      example:
        person:
          firstName: Jane
          middleName: Louise
          lastName: Doe
          dateOfBirth: '1980-01-01'
          gender: f
        drivingLicenceNumber: DOE99851010JLB94
        metaData:
          yourReference: c0c08df2-c9f2-427b-884a-7247619bb4f2
          demoMode: false
          sandboxMode: false
          customerName: Example Customer
    drivingLicencePerson:
      type: object
      properties:
        firstName:
          type: string
          description: The person's first name.
        middleName:
          type: string
          description: The person's middle name.
        lastName:
          type: string
          description: The person's last name.
        dateOfBirth:
          type: string
          description: The person's date of birth.
          format: date
        gender:
          maxLength: 1
          type: string
          description: >-
            The person's Gender. Valid values are 'm' for male and 'f' for
            female.
      description: The person getting the DrivingLicence check.
      example:
        firstName: Jane
        middleName: Louise
        lastName: Doe
        dateOfBirth: '1980-01-01'
        gender: f
    drivingLicenceResultResponse:
      type: object
      properties:
        created:
          type: string
          format: date-time
          nullable: true
        started:
          type: string
          format: date-time
          nullable: true
        completed:
          type: string
          format: date-time
          nullable: true
        status:
          type: string
        yourReference:
          type: string
        customerName:
          type: string
        errors:
          type: array
          items:
            $ref: '#/components/schemas/resultError'
        data:
          $ref: '#/components/schemas/drivingLicenceResultResponseData'
      example:
        - created: '2025-12-18T08:07:12.6145457Z'
          started: '2025-12-18T08:37:12.6145465Z'
          completed: '2025-12-18T09:07:12.6145467Z'
          status: Completed
          yourReference: YourReference
          data:
            driver:
              drivingLicenceNumber: TCAEU610267NO9EK
              firstNames: NPBPG OYOT
              lastName: TCAEUCJ
              gender: m
              dateOfBirth: '1967-10-26'
              address:
                unstructuredAddress:
                  line1: 78 A TEST DATA DO NOT DELIVER
                  line5: GREAT YARMOUTH
                  postcode: NR30 4BH
            licence:
              type: Full
              status: Valid
            entitlement:
              - categoryCode: A
                categoryLegalLiteral: >-
                  A motorcycle of a power exceeding 35 kW or with a power to
                  weight ratio exceeding 0.2kW per kg, or A motorcycle of a
                  power not exceeding 35 kW with a power to weight ratio not
                  exceeding 0.2 kW per kg and derived from a vehicle of more
                  than double its power. A motor tricycle with a power exceeding
                  15 kW
                categoryType: Full
                fromDate: '2013-01-19'
                expiryDate: '2037-10-25'
                restrictions:
                  - restrictionCode: 79(03)
                    restrictionLiteral: Restricted to tricycles
            endorsements:
              - offenceCode: SP30
                offenceLegalLiteral: Exceeding statutory speed limit on a public road
                offenceDate: '2018-04-28'
                penaltyPoints: 3
            token:
              validFromDate: '1999-04-11'
              validToDate: '2037-10-25'
              issueNumber: '69'
    drivingLicenceResultResponseData:
      type: object
      properties:
        driver:
          $ref: '#/components/schemas/driver'
        licence:
          $ref: '#/components/schemas/licence'
        entitlement:
          type: array
          items:
            $ref: '#/components/schemas/entitlement'
        endorsements:
          type: array
          items:
            $ref: '#/components/schemas/endorsement'
        token:
          $ref: '#/components/schemas/token'
    dsBasicScotlandCandidate:
      type: object
      properties:
        mothersMaidenName:
          type: string
          description: The candidate's national insurance number.
        title:
          maxLength: 10
          type: string
          description: >-
            The persons Title. Valid values are: Mr, Mrs, Ms, Miss, Baron,
            Baroness, Brigadier, Canon, Captain, Dr, Duchess, Duke, Esq, Father,
            Hon, Inspector, Lady, Lord, Reverend, Rt Reveren, Sir, Sister,
            Squadron L, Wg Cdr, Lt Col, Major, Most Rever, Pastor, Professor,
            Rabbi, Rev Dr
        middleName:
          maxLength: 50
          type: string
          description: The persons Middle Name
        contactNumber:
          maxLength: 15
          type: string
          description: The persons contact number
          format: tel
        gender:
          maxLength: 1
          type: string
          description: >-
            The persons gender. Valid values are 'm' for Male and 'f' for
            Female.
        nationality:
          maxLength: 2
          minLength: 2
          type: string
          description: The persons Nationality
        dateOfBirth:
          type: string
          description: The persons Date of Birth
          format: date
        firstName:
          maxLength: 50
          type: string
          description: The persons First Name
        lastName:
          maxLength: 50
          type: string
          description: The persons Last Name
        email:
          maxLength: 75
          type: string
          description: The persons Email Address
          format: email
      description: The candidate on which to perform the check.
      example:
        mothersMaidenName: Smith
        title: Mrs
        middleName: Louise
        contactNumber: '01234567890'
        gender: F
        nationality: GB
        dateOfBirth: '1985-05-20'
        firstName: Jane
        lastName: Doe
        email: jane.doe@example.com
    dsBasicScotlandRequest:
      required:
        - candidateDeclarationHasUnspentConvictions
        - paperCertToCandidate
      type: object
      properties:
        disclosureType:
          type: string
          description: The level of disclosure check to perform
        candidate:
          $ref: '#/components/schemas/dsBasicScotlandCandidate'
        addresses:
          type: array
          items:
            $ref: '#/components/schemas/disclosureAddress'
          description: The addresses to check against.
        birthDetails:
          $ref: '#/components/schemas/disclosureBirthDetails'
        passport:
          $ref: '#/components/schemas/disclosurePassport'
        drivingLicence:
          $ref: '#/components/schemas/disclosureDrivingLicence'
        identityDocuments:
          type: array
          items:
            $ref: '#/components/schemas/disclosureIdentityDocument'
          description: The optional identity document selections of the candidate.
        otherNames:
          type: array
          items:
            $ref: '#/components/schemas/disclosureOtherName'
          description: The other names of the candidate if required.
        hasReadPrivacyPolicy:
          type: boolean
          description: >-
            Indicates that the candidate has read all necessary privacy
            policies.
        hasSeenStatementOfFairProcessing:
          type: boolean
          description: >-
            Indicates that the candidate has seen the statement of fair
            processing.
        consentToObtainResult:
          type: boolean
          description: Indicates that the candidate has consented to obtain the result.
        candidateDeclarationHasUnspentConvictions:
          type: boolean
          description: >-
            The candidate's declaration as to whether they have unspent
            convictions.
        paperCertToCandidate:
          type: boolean
          description: >-
            Indicates whether the paper certificate should be sent to the
            candidate.
        paperCertRecipient:
          $ref: '#/components/schemas/paperCertificateRecipient'
        customerNameOnCert:
          type: boolean
          description: >-
            Indicates whether the customer name should be printed on the
            certificate.
        idVerifyName:
          type: string
          description: The name of the person who has verified the candidate's ID docs.
        sectionX:
          $ref: '#/components/schemas/dsBasicScotlandSectionX'
        purposeOfCheck:
          type: string
          description: The purpose of the check. Default = 'Employment'
        dsOrganisationId:
          type: integer
          description: The ID of the DS organisation to perform the check.
          format: int32
        metaData:
          $ref: '#/components/schemas/metaData'
      example:
        disclosureType: DS Basic Scotland
        candidate:
          mothersMaidenName: Smith
          title: Mrs
          middleName: Louise
          contactNumber: '01234567890'
          gender: F
          nationality: GB
          dateOfBirth: '1985-05-20'
          firstName: Jane
          lastName: Doe
          email: jane.doe@example.com
        addresses:
          - houseNumber: '1'
            streetName: High Street
            city: London
            county: Greater London
            country: GB
            postCode: SW1A1AA
            fromDate: '2010-01-01'
            isCurrent: true
        birthDetails:
          country: GB
          county: Greater London
          town: London
          nationality: British
        passport:
          number: '123456789'
          issueDate: '2010-01-01'
          nationality: British
          dateOfBirth: '1985-05-20'
          expiryDate: '2030-01-01'
          countryOfIssue: GB
        drivingLicence:
          number: DOE99855205JL8AD
          validFrom: '2020-01-01'
          validTo: '2029-12-31'
          dateOfBirth: '1985-05-20'
          countryOfIssue: GB
        identityDocuments:
          - documentType: dbs-passport
        otherNames:
          - firstName: Jane
            middleName: Louise
            lastName: Franks
            fromDate: '1985-05-20'
            toDate: '2020-01-01'
        hasReadPrivacyPolicy: true
        hasSeenStatementOfFairProcessing: true
        consentToObtainResult: true
        candidateDeclarationHasUnspentConvictions: false
        paperCertToCandidate: false
        paperCertRecipient:
          name: John Doe
          line1: 123 Fake Street
          postTown: Faketown
          postCode: SW1A1AA
          country: GB
        customerNameOnCert: true
        idVerifyName: John Doe
        sectionX:
          candidatePosition: Nurse
        purposeOfCheck: employment
        dsOrganisationId: 894
        metaData:
          yourReference: c9bb83a4-0340-4bdc-978e-b1f571ec52ca
          demoMode: false
          sandboxMode: false
          customerName: Example Customer
    dsBasicScotlandResponse:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/postResponseData'
      example:
        data:
          backgroundCheckUuid: c6c48723-d0a3-417c-a837-965786702cc3
          detail: DS Basic Scotland Disclosure check initiated successfully
    dsBasicScotlandSectionX:
      type: object
      properties:
        candidatePosition:
          type: string
          description: The candidate's position.
      description: Indicates the Section X information for this position.
      example:
        candidatePosition: Nurse
    dsPositionModel:
      type: object
      properties:
        positionId:
          type: integer
          format: int32
        positionName:
          type: string
        levelOfCheck:
          type: string
        workForceType:
          type: string
        settingName:
          type: string
        isRegulated:
          type: boolean
        isVolunteer:
          type: boolean
        inUse:
          type: boolean
    dsPositionSettingModel:
      type: object
      properties:
        positionSettingId:
          type: integer
          format: int32
        settingName:
          type: string
    electoralRollEntryModel:
      type: object
      properties:
        address:
          type: string
        name:
          type: string
        annualRegisterPeriodStart:
          type: integer
          format: int32
        annualRegisterPeriodEnd:
          type: integer
          format: int32
    employer:
      type: object
      properties:
        id:
          type: string
          description: The unique identifier for the employer
        name:
          type: string
          description: The name of the employer
      example:
        id: '12345'
        name: Microsoft Corporation
    employerSearchResponse:
      type: object
      properties:
        employers:
          type: array
          items:
            $ref: '#/components/schemas/employer'
      example:
        employers:
          - id: '12345'
            name: Microsoft Corporation
    employmentReferenceCandidate:
      type: object
      properties:
        title:
          maxLength: 10
          type: string
          description: >-
            The persons Title. Valid values are: Mr, Mrs, Ms, Miss, Baron,
            Baroness, Brigadier, Canon, Captain, Dr, Duchess, Duke, Esq, Father,
            Hon, Inspector, Lady, Lord, Reverend, Rt Reveren, Sir, Sister,
            Squadron L, Wg Cdr, Lt Col, Major, Most Rever, Pastor, Professor,
            Rabbi, Rev Dr
          nullable: true
        middleName:
          maxLength: 50
          type: string
          description: The persons Middle Name
          nullable: true
        gender:
          maxLength: 1
          type: string
          description: >-
            The persons Gender. Valid values are 'm' for Male and 'f' for
            Female.
          nullable: true
        dateOfBirth:
          type: string
          description: The persons Date of Birth
          format: date
          nullable: true
        niNumber:
          maxLength: 9
          minLength: 9
          type: string
          description: The persons National Insurance Number
          nullable: true
        contactNumber:
          maxLength: 15
          type: string
          description: The persons Contact Number
          format: tel
          nullable: true
        nationality:
          maxLength: 2
          minLength: 2
          type: string
          description: The persons Nationality
          nullable: true
        firstName:
          maxLength: 50
          type: string
          description: The persons First Name
        lastName:
          maxLength: 50
          type: string
          description: The persons Last Name
        email:
          maxLength: 75
          type: string
          description: The persons Email Address
          format: email
      example:
        firstName: John
        lastName: Doe
        email: john.doe@example.com
    employmentReferenceReferee:
      required:
        - name
        - email
        - organisation
        - position
        - doNotContactReason
      type: object
      properties:
        name:
          maxLength: 100
          type: string
          description: The name of the referee.
        email:
          maxLength: 100
          type: string
          description: The email address of the referee.
          format: email
        position:
          maxLength: 100
          type: string
          description: The referee's position.
        doNotContact:
          type: boolean
          description: Indicates if the referee should not be contacted.
        contactNumber:
          maxLength: 15
          pattern: >-
            ^(?:(?:\+|00)([1-9]\d{0,2}))?[-. ]?(\(?\d{1,}\)?)[-./
            ]?([0-9][0-9][0-9])[-./ ]?([0-9]{4})$
          type: string
          description: The contact number of the referee.
        organisation:
          maxLength: 100
          type: string
          description: The referee's organisation.
        department:
          maxLength: 100
          type: string
          description: The referee's department.
        postalAddress:
          type: string
          description: The postal address of the referee.
        doNotContactReason:
          maxLength: 250
          type: string
          description: The reason why the referee should not be contacted.
      description: The referee for this reference.
      nullable: true
      example:
        name: John Doe
        email: example@email.com
        position: Example Position
        doNotContact: false
        organisation: Example Company
    employmentReferenceReference:
      required:
        - organisationName
        - referee
        - fromDate
        - isCurrent
        - position
      type: object
      properties:
        organisationName:
          maxLength: 100
          minLength: 1
          type: string
          description: The name of the organisation the candidate worked for.
        position:
          maxLength: 100
          type: string
          description: The position the candidate held.
        referee:
          $ref: '#/components/schemas/employmentReferenceReferee'
        fromDate:
          minLength: 1
          type: string
          description: The date the candidate started working for the organisation.
          format: date
        toDate:
          type: string
          description: The date the candidate stopped working for the organisation.
          format: date
          nullable: true
        isCurrent:
          type: boolean
          description: >-
            Indicates if the candidate is currently employed by the
            organisation.
          default: true
        department:
          maxLength: 100
          type: string
          description: The department the candidate worked in.
        notes:
          maxLength: 250
          type: string
          description: Notes about the candidate's employment.
      example:
        organisationName: Example Company
        position: Example Position
        referee:
          name: John Doe
          email: example@email.com
          position: Example Position
          doNotContact: false
          organisation: Example Company
        fromDate: '2015-12-18'
        toDate: '2023-12-18'
        isCurrent: false
    employmentReferenceRequest:
      type: object
      properties:
        candidate:
          $ref: '#/components/schemas/employmentReferenceCandidate'
        employmentReferences:
          type: array
          items:
            $ref: '#/components/schemas/employmentReferenceReference'
        metaData:
          $ref: '#/components/schemas/metaData'
      example:
        candidate:
          firstName: John
          lastName: Doe
          email: john.doe@example.com
        employmentReferences:
          - organisationName: Example Company
            position: Example Position
            referee:
              name: John Doe
              email: example@email.com
              position: Example Position
              doNotContact: false
              organisation: Example Company
            fromDate: '2015-12-18'
            toDate: '2023-12-18'
            isCurrent: false
        metaData:
          yourReference: 3df54aee-2746-4d2a-acb9-9e0b618dd8d2
          demoMode: false
          sandboxMode: false
          customerName: Example Customer
    employmentReferenceResponse:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/postResponseData'
      example:
        data:
          backgroundCheckUuid: b95d07cf-5313-4c70-b003-787d59b6f228
          detail: Rapid Employment Verification has been initiated.
    employmentReferenceResultReponse:
      type: object
      properties:
        references:
          type: array
          items:
            $ref: '#/components/schemas/reference'
    endorsement:
      type: object
      properties:
        offenceCode:
          type: string
        offenceLegalLiteral:
          type: string
        offenceDate:
          type: string
        penaltyPoints:
          type: integer
          format: int32
    entitlement:
      type: object
      properties:
        categoryCode:
          type: string
        categoryLegalLiteral:
          type: string
        categoryType:
          type: string
        fromDate:
          type: string
        expiryDate:
          type: string
        restrictions:
          type: array
          items:
            $ref: '#/components/schemas/restriction'
    equifaxAddressModel:
      type: object
      properties:
        type:
          type: string
          nullable: true
        addressId:
          type: string
          nullable: true
        country:
          type: string
          nullable: true
        county:
          type: string
          nullable: true
        district:
          type: string
          nullable: true
        name:
          type: string
          nullable: true
        number:
          type: string
          nullable: true
        poBox:
          type: string
          nullable: true
        postcode:
          type: string
          nullable: true
        postTown:
          type: string
          nullable: true
        street1:
          type: string
          nullable: true
        street2:
          type: string
          nullable: true
        subBuilding:
          type: string
          nullable: true
        fromDate:
          type: string
          format: date-time
          nullable: true
        toDate:
          type: string
          nullable: true
    equifaxCandidate:
      required:
        - title
        - gender
        - dateOfBirth
      type: object
      properties:
        title:
          maxLength: 10
          type: string
          description: >-
            The persons Title. Valid values are: Mr, Mrs, Ms, Miss, Baron,
            Baroness, Brigadier, Canon, Captain, Dr, Duchess, Duke, Esq, Father,
            Hon, Inspector, Lady, Lord, Reverend, Rt Reveren, Sir, Sister,
            Squadron L, Wg Cdr, Lt Col, Major, Most Rever, Pastor, Professor,
            Rabbi, Rev Dr
        firstName:
          maxLength: 50
          type: string
          description: The person's first name.
        middleName:
          maxLength: 50
          type: string
          description: The person's middle name.
          nullable: true
        lastName:
          maxLength: 50
          type: string
          description: The person's last name.
        dateOfBirth:
          type: string
          description: The person's date of birth.
          format: date
        email:
          maxLength: 75
          type: string
          description: The person's email.
        gender:
          maxLength: 1
          minLength: 0
          type: string
          description: >-
            The persons Gender. Valid values are 'm' for Male and 'f' for
            Female.
      example:
        title: Mr
        firstName: John
        middleName: ''
        lastName: Doe
        dateOfBirth: '1985-05-20'
        email: john.doe@example.com
        gender: m
    equifaxCandidateAddress:
      type: object
      properties:
        addressId:
          type: string
          description: >-
            The unique identifier of the address in the Equifax database. This
            is optional and can be null.
          nullable: true
        houseNumber:
          maxLength: 50
          type: string
          description: The house number of the address.
        streetName:
          maxLength: 50
          type: string
          description: The street name of the address.
        city:
          maxLength: 50
          type: string
          description: The city of the address.
        district:
          maxLength: 50
          type: string
          description: The district of the address.
          nullable: true
        county:
          maxLength: 50
          type: string
          description: The county of the address.
          nullable: true
        country:
          maxLength: 2
          minLength: 0
          type: string
          description: The country of the address.
        postCode:
          maxLength: 10
          type: string
          description: The post code of the address.
        fromDate:
          type: string
          description: The date from which the candidate lived at this address.
          format: date
        toDate:
          type: string
          description: The date to which the candidate lived at this address.
          format: date
          nullable: true
        isCurrent:
          type: boolean
          description: Whether the candidate currently lives at this address.
      example:
        addressId: '98001186436'
        houseNumber: '19'
        streetName: High Point
        city: London
        district: Eltham
        county: Greater London
        country: GB
        postCode: SE93PA
        fromDate: '2010-01-01'
        isCurrent: true
    eResultInfo:
      type: object
      properties:
        disclosureType:
          type: string
        disclosureNumber:
          type: string
        disclosureStatus:
          type: string
        disclosureIssueDate:
          type: string
        regOrgApplicationReference:
          type: string
    error:
      type: object
      properties:
        message:
          type: string
          nullable: true
        field_name:
          type: string
          nullable: true
    generateTokenRequest:
      type: object
      properties:
        grant_type:
          type: string
        client_id:
          type: string
          format: uuid
        client_secret:
          type: string
      example:
        grant_type: client_credentials
        client_id: 61988e5b-38c6-4bad-b9d2-572f6ecee52f
        client_secret: <Enter Client Secret>
    generateTokenResponse:
      type: object
      properties:
        access_token:
          type: string
        token_type:
          type: string
        expires_in:
          type: integer
          format: int32
      example:
        access_token: <JWT TOKEN>
        token_type: Bearer
        expires_in: 3600
    identityCheckCreateRequest:
      required:
        - candidate
        - currentAddress
        - metaData
      type: object
      properties:
        candidate:
          $ref: '#/components/schemas/equifaxCandidate'
        currentAddress:
          $ref: '#/components/schemas/equifaxCandidateAddress'
        metaData:
          $ref: '#/components/schemas/metaData'
      example:
        candidate:
          title: Mr
          firstName: John
          middleName: ''
          lastName: Doe
          dateOfBirth: '1985-05-20'
          email: john.doe@example.com
          gender: m
        currentAddress:
          addressId: '98001186436'
          houseNumber: '19'
          streetName: High Point
          city: London
          district: Eltham
          county: Greater London
          country: GB
          postCode: SE93PA
          fromDate: '2010-01-01'
          isCurrent: true
        metaData:
          yourReference: 3903e3d2-a340-4d73-a59c-0228deefa978
          demoMode: false
          sandboxMode: false
    identityCheckCreateResponse:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
        data:
          $ref: '#/components/schemas/dataModel'
      example:
        uuid: 00000000-0000-0000-0000-000000000000
        data:
          backgroundCheckUuid: 00000000-0000-0000-0000-000000000000
    identityCheckResultsResponse:
      type: object
      properties:
        checkId:
          type: integer
          format: int32
        created:
          type: string
          format: date-time
          nullable: true
        started:
          type: string
          format: date-time
          nullable: true
        completed:
          type: string
          format: date-time
          nullable: true
        status:
          type: string
        yourReference:
          type: string
        customerName:
          type: string
        errors:
          type: array
          items:
            $ref: '#/components/schemas/resultError'
        data:
          $ref: '#/components/schemas/identityCheckResultsResponseDetail'
      example:
        - checkId: 0
          started: '2025-12-18T09:07:12.5501825Z'
          completed: '2025-12-18T09:12:12.5501828Z'
          status: Pending
          yourReference: ABC123
          customerName: Example Customer
          data:
            clientRef: 93e29c59-5d76-4e2b-9da1-4a9d1635eb2a
            candidateInformation:
              firstName: John
              middleName: James
              lastName: Doe
              dateOfBirth: '2007-12-18'
              addresses:
                - address: 19, HIGH POINT, ELTHAM, LONDON, SE9 3PA
                  toDate: Current
                  fromDate: '2017-12-18'
              note: Note
            stats:
              proofsOfResidencyCount: '2'
              proofsOfIdentityCount: '3'
              alertsCount: '1'
            identityInformation:
              electoralRollAndRollingRegisterCheck: '1'
              currentlyOnElectoralRoll: '2'
              nameMatchedAtAddressOnElectoralRegister: Non-deleted subject level Rolling Register information found
              electoralRollAndRollingRegisterDateOfBirthCheck: 'No'
              yearsSincePersonsElectoralRollEntry: '4'
              lengthOfResidenceCurrentAddress: None found
            electoralRollHistory:
              - address: 19, HIGH POINT, ELTHAM, LONDON, SE9 3PA
                name: John James Doe
                annualRegisterPeriodStart: 2021
                annualRegisterPeriodEnd: 2024
            rollingRegisterInformation:
              - address: 19, HIGH POINT, ELTHAM, LONDON, SE9 3PA
                name: John James Smith
                supplyDate: 12-2024
    identityCheckResultsResponseDetail:
      type: object
      properties:
        clientRef:
          type: string
        candidateInformation:
          $ref: '#/components/schemas/candidateInformationModel'
        stats:
          $ref: '#/components/schemas/statsModel'
        identityInformation:
          $ref: '#/components/schemas/identityInformationModel'
        electoralRollHistory:
          type: array
          items:
            $ref: '#/components/schemas/electoralRollEntryModel'
        rollingRegisterInformation:
          type: array
          items:
            $ref: '#/components/schemas/rollingRegisterEntryModel'
    identityInformationModel:
      type: object
      properties:
        electoralRollAndRollingRegisterCheck:
          type: string
        currentlyOnElectoralRoll:
          type: string
        nameMatchedAtAddressOnElectoralRegister:
          type: string
        electoralRollAndRollingRegisterDateOfBirthCheck:
          type: string
        yearsSincePersonsElectoralRollEntry:
          type: string
        lengthOfResidenceCurrentAddress:
          type: string
    konfirAcademicReference:
      type: object
      properties:
        fromDate:
          type: string
          description: The date the candidate started studying at the institution.
          format: date
        toDate:
          type: string
          description: The date the candidate stopped studying at the institution.
          format: date
        isCurrent:
          type: boolean
          description: >-
            Indicates if the candidate is currently studying at this
            institution.
        organisation:
          maxLength: 100
          type: string
          description: The name of the institution the candidate studied at.
        department:
          type: string
          description: The department the candidate studied in.
        courseStudied:
          maxLength: 100
          type: string
          description: The course the candidate studied.
        gradeAchieved:
          maxLength: 100
          type: string
          description: The grade the candidate achieved.
        referee:
          $ref: '#/components/schemas/konfirReferee'
      example:
        fromDate: '2020-12-18'
        toDate: '2022-12-18'
        isCurrent: false
        organisation: Test University
        department: Computer Science
        courseStudied: Bachelor of Science in Computer Science
        gradeAchieved: First Class Honours
        referee:
          name: Jane Doe
          email: jane.doe@example.com
          contactNumber: '01612223333'
          organisation: Example University
          department: Admissions and Alumni
          position: Head of Admissions and Alumni
          postalAddress: 123 Example St, City, Country
    konfirCandidate:
      type: object
      properties:
        title:
          maxLength: 10
          type: string
          description: >-
            The persons Title. Valid values are: Mr, Mrs, Ms, Miss, Baron,
            Baroness, Brigadier, Canon, Captain, Dr, Duchess, Duke, Esq, Father,
            Hon, Inspector, Lady, Lord, Reverend, Rt Reveren, Sir, Sister,
            Squadron L, Wg Cdr, Lt Col, Major, Most Rever, Pastor, Professor,
            Rabbi, Rev Dr
        firstName:
          maxLength: 50
          type: string
          description: The persons First Name
        middleName:
          maxLength: 50
          type: string
          description: The persons Middle Name
        lastName:
          maxLength: 50
          type: string
          description: The persons Last Name
        email:
          maxLength: 75
          type: string
          description: The persons Email Address
          format: email
        contactNumber:
          maxLength: 15
          type: string
          description: The persons Contact Number
          format: tel
        dateOfBirth:
          type: string
          description: The persons Date of Birth
          format: date
        niNumber:
          maxLength: 9
          minLength: 9
          type: string
          description: The persons National Insurance Number
      example:
        title: Mr
        firstName: John
        middleName: James
        lastName: Doe
        email: john.doe@example.com
        contactNumber: '07911123456'
        dateOfBirth: '1995-12-18'
        niNumber: AB123456C
    konfirCandidateAddress:
      type: object
      properties:
        houseNumber:
          type: string
        houseName:
          type: string
        flat:
          type: string
        streetName:
          type: string
        city:
          type: string
        county:
          type: string
        country:
          type: string
        postCode:
          type: string
        fromDate:
          type: string
          format: date
        toDate:
          type: string
          format: date
          nullable: true
        isCurrent:
          type: boolean
      example:
        houseNumber: '19'
        houseName: The Test House
        streetName: High Point
        city: London
        county: Greater London
        country: GB
        postCode: SE9 3PA
        fromDate: '2020-12-18'
        isCurrent: true
    konfirEmploymentReference:
      required:
        - referee
      type: object
      properties:
        fromDate:
          type: string
          description: The date the candidate started working for the organisation.
          format: date
        toDate:
          type: string
          description: The date the candidate stopped working for the organisation.
          format: date
        isCurrent:
          type: boolean
          description: >-
            Indicates if the candidate is currently employed by the
            organisation.
        organisationName:
          maxLength: 100
          type: string
          description: The name of the organisation the candidate worked for.
        organisationId:
          type: string
          description: The ID of the organisation, if known.
          format: uuid
        department:
          maxLength: 100
          type: string
          description: The department the candidate worked in.
        position:
          maxLength: 100
          type: string
          description: The position the candidate held.
        notes:
          type: string
          description: Notes about the candidate's employment.
        referee:
          $ref: '#/components/schemas/konfirReferee'
      example:
        fromDate: '2023-12-18'
        toDate: '2024-12-18'
        isCurrent: false
        organisationName: Test X Ltd
        organisationId: c060a6dd-a309-44bd-9ba0-8d57390c199a
        position: Software Developer
        referee:
          name: Jane Doe
          email: jane.doe@example.com
          contactNumber: '01611112222'
          organisation: Test X Ltd
          department: Human Resources
          position: HR Manager
          postalAddress: 123 Example St, City, Country
          doNotContact: true
          doNotContactReason: I don't want them contacted.
    konfirGapReference:
      type: object
      properties:
        fromDate:
          type: string
          description: The date on which this gap started.
          format: date
        toDate:
          type: string
          description: The date on which this gap ended.
          format: date
        isCurrent:
          type: boolean
          description: Indicates if the gap is currently ongoing.
        reasonForGap:
          maxLength: 100
          type: string
          description: The reason for the gap in activity.
        additionalInformation:
          maxLength: 500
          type: string
          description: Additional information for the gap in activity.
      example:
        fromDate: '2022-12-18'
        toDate: '2023-12-18'
        isCurrent: false
        reasonForGap: Travel
        additionalInformation: Spent time volunteering in another country.
    konfirMetaData:
      type: object
      properties:
        redirectUrl:
          type: string
          description: URL to redirect after completion
          format: uri
        yourReference:
          maxLength: 50
          type: string
          description: Your Reference for this Check
        demoMode:
          type: boolean
        sandboxMode:
          type: boolean
        customerName:
          type: string
      example:
        redirectUrl: https://appuat.onboarded.co.uk/redirect
        yourReference: d7604266-bcf5-4375-9fd9-64487e961f33
        demoMode: true
        sandboxMode: true
        customerName: Example Customer
    konfirReferee:
      type: object
      properties:
        name:
          maxLength: 100
          type: string
          description: The name of the referee.
        email:
          maxLength: 254
          type: string
          description: The email address of the referee.
          format: email
        contactNumber:
          maxLength: 50
          type: string
          description: The contact number of the referee.
        organisation:
          maxLength: 100
          type: string
          description: The referee's organisation.
        department:
          maxLength: 100
          type: string
          description: The referee's department.
        position:
          maxLength: 100
          type: string
          description: The referee's position.
        postalAddress:
          type: string
          description: The postal address of the referee.
        doNotContact:
          type: boolean
          description: Indicates if the referee should not be contacted.
        doNotContactReason:
          maxLength: 250
          type: string
          description: The reason why the referee should not be contacted.
      description: The referee for this reference.
      nullable: true
      example:
        name: Jane Doe
        email: jane.doe@example.com
        contactNumber: '01611112222'
        organisation: Test X Ltd
        department: Human Resources
        position: HR Manager
        postalAddress: 123 Example St, City, Country
        doNotContact: true
        doNotContactReason: I don't want them contacted.
    licence:
      type: object
      properties:
        type:
          type: string
        status:
          type: string
    list_disclosureIdentityDocumentGroup:
      type: array
      items:
        $ref: '#/components/schemas/disclosureIdentityDocumentGroup'
    matchAddressRequest:
      type: object
      properties:
        address:
          $ref: '#/components/schemas/matchAddressRequestAddress'
        metaData:
          $ref: '#/components/schemas/metaData'
      example:
        address:
          houseNumber: '19'
          streetName: High Point
          city: London
          district: Eltham
          county: Greater London
          country: GB
          postCode: SE9 3PA
        metaData:
          yourReference: 658ec72f-5034-4521-b78d-b51e4f36a041
          demoMode: false
          sandboxMode: false
    matchAddressRequestAddress:
      type: object
      properties:
        houseNumber:
          maxLength: 50
          type: string
          description: The house number of the address.
        streetName:
          maxLength: 50
          type: string
          description: The street name of the address.
        line2:
          type: string
          description: The second line of the address.
          nullable: true
        city:
          maxLength: 50
          type: string
          description: The town or city of the address.
        district:
          maxLength: 50
          type: string
          description: The district of the address.
          nullable: true
        county:
          maxLength: 50
          type: string
          description: The county of the address.
          nullable: true
        country:
          maxLength: 2
          minLength: 2
          type: string
          description: The country of the address.
        postCode:
          maxLength: 10
          type: string
          description: The post code of the address.
      example:
        houseNumber: '19'
        streetName: High Point
        city: London
        district: Eltham
        county: Greater London
        country: GB
        postCode: SE9 3PA
    matchAddressResponse:
      type: object
      properties:
        matchStatus:
          type: string
        addresses:
          type: array
          items:
            $ref: '#/components/schemas/suggestedAddress'
      example:
        matchStatus: UniqueMatch
        addresses:
          - addressId: '1234567890'
            houseNumber: '1'
            streetName: High St
            city: London
            county: Greater London
            country: GB
            postcode: SW1A 1AA
    metaData:
      required:
        - yourReference
      type: object
      properties:
        yourReference:
          maxLength: 50
          type: string
          description: Your Reference for this Check
        demoMode:
          type: boolean
        sandboxMode:
          type: boolean
        customerName:
          maxLength: 50
          type: string
      example:
        yourReference: 42e5b0b8-4207-4c76-b98b-d7101d2ee8b3
        demoMode: true
        sandboxMode: true
        customerName: Example Customer
    mrzCoreScanDetails:
      type: object
      properties:
        initiatedDate:
          type: string
          format: date-time
        firstName:
          type: string
        lastName:
          type: string
        birthDate:
          $ref: '#/components/schemas/dateOnly'
        gender:
          type: string
        nationalityCode:
          type: string
        expiryDate:
          $ref: '#/components/schemas/dateOnly'
        nationalityName:
          type: string
        documentType:
          type: string
        documentNumber:
          type: string
        country:
          type: string
        electronicDecision:
          type: string
        documentBacksideCheck:
          type: string
        documentBlockingPolicyCheck:
          type: string
        documentExpiryCheck:
          type: string
        documentSupportCheck:
          type: string
        documentValidationCheck:
          type: string
        mrzLine:
          type: string
    mrzDocumentScanCandidate:
      type: object
      properties:
        firstName:
          type: string
        lastName:
          type: string
        email:
          type: string
      description: The candidate on which to perform the check.
      example:
        firstName: ANGELA ZOE
        lastName: UK SPECIMEN
        email: angela.zoe.specimen@example.com
    mrzDocumentScanCreateRequest:
      required:
        - candidate
        - documentContents
      type: object
      properties:
        candidate:
          $ref: '#/components/schemas/mrzDocumentScanCandidate'
        documentContents:
          maxLength: 27962026
          type: string
          description: The Documents to be MRZ Scanned
        metaData:
          $ref: '#/components/schemas/metaData'
      example:
        candidate:
          firstName: ANGELA ZOE
          lastName: UK SPECIMEN
          email: angela.zoe.specimen@example.com
        documentContents: ZXhhbXBsZSBjb250ZW50
        metaData:
          yourReference: ca3700a8-7b17-4c58-b67b-f2d8d333a10b
          demoMode: false
          sandboxMode: false
          customerName: Example Customer
    mrzDocumentScanCreateResponse:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
        data:
          $ref: '#/components/schemas/dataModel'
      example:
        uuid: 00000000-0000-0000-0000-000000000000
        data:
          backgroundCheckUuid: 00000000-0000-0000-0000-000000000000
    mrzDocumentScanResultsResponse:
      type: object
      properties:
        checkId:
          type: integer
          format: int32
        created:
          type: string
          format: date-time
          nullable: true
        started:
          type: string
          format: date-time
          nullable: true
        completed:
          type: string
          format: date-time
          nullable: true
        status:
          type: string
        yourReference:
          type: string
        customerName:
          type: string
        errors:
          type: array
          items:
            $ref: '#/components/schemas/resultError'
        data:
          $ref: '#/components/schemas/mrzDocumentScanResultsResponseDetail'
      example:
        - checkId: 1
          created: '2025-12-18T09:07:12.4801160Z'
          completed: '2025-12-18T09:07:12.4801167Z'
          status: Completed
          data:
            mrzCoreScanDetails:
              initiatedDate: '2025-12-18T09:07:12.4801931Z'
              firstName: John
              lastName: Doe
              birthDate: '1980-01-01'
              gender: M
              nationalityCode: GB
              expiryDate: '2025-01-01'
              nationalityName: United Kingdom
              documentType: Passport
              documentNumber: '123456789'
              country: GB
              electronicDecision: PASSED
              documentBacksideCheck: PASSED
              documentBlockingPolicyCheck: PASSED
              documentExpiryCheck: PASSED
              documentSupportCheck: PASSED
              documentValidationCheck: PASSED
              mrzLine: '123456789'
            mrzExtraScanDetails:
              issueDate: '2015-01-01'
              issuingAuthority: IssuingAuthority
    mrzDocumentScanResultsResponseDetail:
      type: object
      properties:
        mrzCoreScanDetails:
          $ref: '#/components/schemas/mrzCoreScanDetails'
        mrzExtraScanDetails:
          $ref: '#/components/schemas/mrzExtraScanDetails'
    mrzExtraScanDetails:
      type: object
      properties:
        issueDate:
          $ref: '#/components/schemas/dateOnly'
        issuingAuthority:
          type: string
    northRowAddress:
      type: object
      properties:
        houseNumber:
          maxLength: 50
          type: string
          description: The house number of the address.
        streetName:
          maxLength: 50
          type: string
          description: The street name of the address.
        city:
          maxLength: 50
          type: string
          description: The city of the address.
        county:
          maxLength: 50
          type: string
          description: The county of the address.
          nullable: true
        country:
          maxLength: 2
          minLength: 0
          type: string
          description: The country of the address.
        postCode:
          maxLength: 10
          type: string
          description: The post code of the address.
        fromDate:
          type: string
          description: The date from which the candidate lived at this address.
          format: date
        toDate:
          type: string
          description: The date to which the candidate lived at this address.
          format: date
          nullable: true
        isCurrent:
          type: boolean
          description: Whether the candidate currently lives at this address.
      example:
        houseNumber: '19'
        streetName: High Point
        city: London
        county: Greater London
        country: GB
        postCode: SE9 3PA
        fromDate: '2010-01-01'
        isCurrent: true
    northRowPerson:
      type: object
      properties:
        firstName:
          maxLength: 50
          type: string
          description: The persons First Name
        lastName:
          maxLength: 50
          type: string
          description: The persons Last Name
        email:
          maxLength: 75
          type: string
          description: The persons Email Address
          format: email
        title:
          maxLength: 10
          type: string
          description: >-
            The persons Title. Valid values are: Mr, Mrs, Ms, Miss, Baron,
            Baroness, Brigadier, Canon, Captain, Dr, Duchess, Duke, Esq, Father,
            Hon, Inspector, Lady, Lord, Reverend, Rt Reveren, Sir, Sister,
            Squadron L, Wg Cdr, Lt Col, Major, Most Rever, Pastor, Professor,
            Rabbi, Rev Dr
          deprecated: true
        dateOfBirth:
          type: string
          description: The persons Date of Birth
          format: date
        gender:
          type: string
          description: The persons Gender. Valid values are 'male' and 'female'.
      example:
        firstName: John
        lastName: Doe
        email: john.doe@example.com
        title: Mr
        dateOfBirth: '1980-01-01'
        gender: m
    noticeOfCorrectionOrDispute:
      type: object
      properties:
        address:
          $ref: '#/components/schemas/equifaxAddressModel'
        type:
          type: string
        dateCreated:
          type: string
        text:
          type: string
    onfidoCandidate:
      type: object
      properties:
        title:
          maxLength: 10
          type: string
          description: >-
            The persons Title. Valid values are: Mr, Mrs, Ms, Miss, Baron,
            Baroness, Brigadier, Canon, Captain, Dr, Duchess, Duke, Esq, Father,
            Hon, Inspector, Lady, Lord, Reverend, Rt Reveren, Sir, Sister,
            Squadron L, Wg Cdr, Lt Col, Major, Most Rever, Pastor, Professor,
            Rabbi, Rev Dr
        firstName:
          type: string
        lastName:
          type: string
        dateOfBirth:
          type: string
          format: date
          nullable: true
        email:
          type: string
        nationality:
          type: string
      example:
        title: Mr
        firstName: John
        lastName: Doe
        dateOfBirth: '1980-01-01'
        email: john.doe@example.com
        nationality: GB
    onfidoCandidateAddress:
      type: object
      properties:
        houseNumber:
          maxLength: 50
          type: string
          description: The house number of the address.
        streetName:
          maxLength: 50
          type: string
          description: The street name of the address.
        city:
          maxLength: 50
          type: string
          description: The city of the address.
        county:
          maxLength: 50
          type: string
          description: The county of the address.
          nullable: true
        country:
          maxLength: 2
          minLength: 2
          type: string
          description: The country of the address.
        postCode:
          maxLength: 10
          type: string
          description: The post code of the address.
        fromDate:
          type: string
          description: The date from which the candidate lived at this address.
          format: date
        toDate:
          type: string
          description: The date to which the candidate lived at this address.
          format: date
          nullable: true
        isCurrent:
          type: boolean
          description: Whether the candidate currently lives at this address.
      example:
        houseNumber: '1'
        streetName: High Street
        city: London
        county: Greater London
        country: GB
        postCode: SW1A1AA
        fromDate: '2020-12-18'
        isCurrent: true
    otherName:
      type: object
      properties:
        usedTo:
          type: string
        usedFrom:
          type: string
        otherForename:
          type: string
        otherSurname:
          type: string
    paperCertificateRecipient:
      required:
        - name
        - line1
        - postTown
        - postCode
        - country
      type: object
      properties:
        name:
          maxLength: 300
          type: string
          description: The name of the recipient.
        line1:
          maxLength: 60
          type: string
          description: The first line of the recipient address.
        line2:
          maxLength: 60
          type: string
          description: The second line of the recipient address.
        county:
          maxLength: 50
          type: string
          description: The county of the recipient address.
        postTown:
          maxLength: 50
          type: string
          description: The postal town of the recipient address.
        postCode:
          maxLength: 50
          type: string
          description: The postal code of the recipient address.
        country:
          maxLength: 2
          minLength: 2
          type: string
          description: The ISO2 country code of the recipient address.
      description: The details of the paper certificate recipient, if not the candidate.
      example:
        name: John Doe
        line1: 123 Fake Street
        postTown: Faketown
        postCode: SW1A1AA
        country: GB
    pepAndSanctionsResultModel:
      type: object
      properties:
        firstName:
          type: string
        lastName:
          type: string
        gender:
          type: string
        nationality:
          type: string
        dob:
          type: string
        deceased:
          type: boolean
          nullable: true
        dateOfDeath:
          type: string
        insolvent:
          type: boolean
        lawEnforcement:
          type: boolean
        pep:
          type: boolean
        pepLevelDetail:
          type: array
          items:
            $ref: '#/components/schemas/sanctionsPepLevelDetailNextModel'
        aliases:
          type: array
          items:
            $ref: '#/components/schemas/sanctionsAliasesNextModel'
        articles:
          type: array
          items:
            $ref: '#/components/schemas/sanctionsArticleNextModel'
        sanctions:
          type: array
          items:
            $ref: '#/components/schemas/sanctionsSourceNextModel'
        notes:
          type: array
          items:
            $ref: '#/components/schemas/sanctionsNotesNextModel'
        linkedBusinesses:
          type: array
          items:
            $ref: '#/components/schemas/sanctionsLinkedBusinessNextModel'
        linkedPeople:
          type: array
          items:
            $ref: '#/components/schemas/sanctionsLinkedPersonNextModel'
        politicalRoles:
          type: array
          items:
            $ref: '#/components/schemas/sanctionsPoliticalRoleNextModel'
    postcodeLookupRequest:
      required:
        - postCode
      type: object
      properties:
        postCode:
          maxLength: 10
          type: string
          description: The postcode to lookup addresses for.
        metaData:
          $ref: '#/components/schemas/metaData'
      example:
        postCode: SE9 3PA
        metaData:
          yourReference: 56180058-dbee-4693-a79b-470532893025
          demoMode: true
          sandboxMode: true
          customerName: Example Customer
    postcodeLookupResponse:
      type: object
      properties:
        totalResults:
          type: string
          description: The total number of addresses found for the postcode.
        addresses:
          type: array
          items:
            $ref: '#/components/schemas/suggestedAddress'
          description: The list of addresses found for the postcode.
      example:
        totalResults: '2'
        addresses:
          - addressId: '1234567890'
            houseNumber: '1'
            streetName: High St
            city: London
            county: Greater London
            country: GB
            postcode: SW1A 1AA
          - addressId: '0987654321'
            houseNumber: '2'
            streetName: High St
            city: London
            county: Greater London
            country: GB
            postcode: SW1A 1AA
    postResponseData:
      type: object
      properties:
        backgroundCheckUuid:
          type: string
          format: uuid
        detail:
          type: string
    question:
      type: object
      properties:
        text:
          type: string
        answer:
          type: string
    rapidEmploymentVerificationActivityModel:
      type: object
      properties:
        activityType:
          enum:
            - Unknown
            - Education
            - Employment
            - GapInEmployment
            - SelfEmployment
          type: string
          default: Unknown
        employerName:
          type: string
        startDate:
          type: string
          format: date-time
          nullable: true
        endDate:
          type: string
          format: date-time
          nullable: true
        jobTitle:
          type: string
        declareStatus:
          type: string
        verifiedStatus:
          enum:
            - Unknown
            - Verified
            - NotVerified
            - Review
          type: string
          default: Unknown
          nullable: true
        isDeclared:
          type: boolean
          nullable: true
        isConnected:
          type: boolean
          nullable: true
        isBilled:
          type: boolean
          deprecated: true
        sources:
          type: array
          items:
            $ref: '#/components/schemas/rapidEmploymentVerificationDataSourceModel'
    rapidEmploymentVerificationCreateRequest:
      required:
        - candidate
        - currentAddress
        - employmentReferences
        - metaData
      type: object
      properties:
        candidate:
          $ref: '#/components/schemas/konfirCandidate'
        currentAddress:
          $ref: '#/components/schemas/konfirCandidateAddress'
        employmentReferences:
          type: array
          items:
            $ref: '#/components/schemas/konfirEmploymentReference'
        academicReferences:
          type: array
          items:
            $ref: '#/components/schemas/konfirAcademicReference'
        gapReferences:
          type: array
          items:
            $ref: '#/components/schemas/konfirGapReference'
        metaData:
          $ref: '#/components/schemas/konfirMetaData'
      example:
        candidate:
          title: Mr
          firstName: John
          middleName: James
          lastName: Doe
          email: john.doe@example.com
          contactNumber: '07911123456'
          dateOfBirth: '1995-12-18'
          niNumber: AB123456C
        currentAddress:
          houseNumber: '19'
          houseName: The Test House
          streetName: High Point
          city: London
          county: Greater London
          country: GB
          postCode: SE9 3PA
          fromDate: '2020-12-18'
          isCurrent: true
        employmentReferences:
          - fromDate: '2022-12-18'
            toDate: '2024-12-18'
            isCurrent: false
            organisationName: Test X Ltd
            organisationId: c060a6dd-a309-44bd-9ba0-8d57390c199a
            position: Software Developer
            referee:
              name: Jane Doe
              email: jane.doe@example.com
              contactNumber: '01611112222'
              organisation: Test X Ltd
              department: Human Resources
              position: HR Manager
              postalAddress: 123 Example St, City, Country
              doNotContact: true
              doNotContactReason: I don't want them contacted.
        academicReferences:
          - fromDate: '2020-12-18'
            toDate: '2022-12-18'
            isCurrent: false
            organisation: Test University
            department: Computer Science
            courseStudied: Bachelor of Science in Computer Science
            gradeAchieved: First Class Honours
            referee:
              name: Jane Doe
              email: jane.doe@example.com
              contactNumber: '01612223333'
              organisation: Example University
              department: Admissions and Alumni
              position: Head of Admissions and Alumni
              postalAddress: 123 Example St, City, Country
        gapReferences:
          - fromDate: '2024-12-18'
            isCurrent: true
            reasonForGap: Travel
            additionalInformation: Spent time volunteering in another country.
        metaData:
          redirectUrl: https://appuat.onboarded.co.uk/redirect
          yourReference: da77ec58-187c-4c0d-b010-bdba4731f25e
          demoMode: true
          sandboxMode: true
          customerName: Example Customer
    rapidEmploymentVerificationCreateResponse:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
        data:
          $ref: '#/components/schemas/dataModelWithUrl'
      example:
        uuid: 7333c6f8-be2c-49fa-be34-656cb2789896
        data:
          url: https://app.konfir.com/AB123
          backgroundCheckUuid: 7333c6f8-be2c-49fa-be34-656cb2789896
          detail: Rapid Employment Verification Check created successfully.
    rapidEmploymentVerificationDataSourceModel:
      type: object
      properties:
        providerId:
          type: string
        providerName:
          type: string
    rapidEmploymentVerificationReportModel:
      type: object
      properties:
        createdAt:
          type: string
          format: date-time
          nullable: true
        downloadUrl:
          type: string
    rapidEmploymentVerificationResultsResponse:
      type: object
      properties:
        checkId:
          type: integer
          format: int32
        created:
          type: string
          format: date-time
          nullable: true
        started:
          type: string
          format: date-time
          nullable: true
        completed:
          type: string
          format: date-time
          nullable: true
        status:
          type: string
        yourReference:
          type: string
        customerName:
          type: string
        errors:
          type: array
          items:
            $ref: '#/components/schemas/resultError'
        data:
          $ref: >-
            #/components/schemas/rapidEmploymentVerificationResultsResponseDetail
      example:
        checkId: 1
        created: '2025-12-18T09:07:12.5190275Z'
        completed: '2025-12-18T09:07:12.5190278Z'
        status: Completed
        data:
          uuid: 3ae0146f-fb1a-431b-bdb7-ee4285d0b238
          status: 4
          timelineStatus: 5
          applicantId: 1
          applicantName: Joe Frazier
          applicantEmail: joe@frazier.com
          expiresAt: '2026-01-01T09:07:12.5190302Z'
          archivedAt: '2026-01-15T09:07:12.5190305Z'
          activities:
            - activityType: employment
              employerName: Employer Name
              startDate: '2025-12-17T09:07:12.5190317Z'
              endDate: '2025-12-18T09:07:12.5190318Z'
              jobTitle: Job Title
              declareStatus: Declared
              verifiedStatus: verified
              isDeclared: true
              isConnected: true
              sources:
                - providerId: hmrc
                  providerName: UK HMRC Records
          report:
            createdAt: '2025-12-18T09:07:12.5190325Z'
            downloadUrl: https://www.example.com/report.pdf
    rapidEmploymentVerificationResultsResponseDetail:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          nullable: true
        status:
          enum:
            - 0
            - 1
            - 2
            - 3
            - 4
            - 5
            - 6
          type: integer
          format: int32
          default: 0
          nullable: true
        timelineStatus:
          enum:
            - 0
            - 1
            - 2
            - 3
            - 4
            - 5
            - 6
            - 7
          type: integer
          format: int32
          default: 0
          nullable: true
        applicantId:
          type: integer
          format: int32
          deprecated: true
        applicantName:
          type: string
        applicantEmail:
          type: string
        expiresAt:
          type: string
          format: date-time
          nullable: true
        archivedAt:
          type: string
          format: date-time
          nullable: true
        activities:
          type: array
          items:
            $ref: '#/components/schemas/rapidEmploymentVerificationActivityModel'
        report:
          $ref: '#/components/schemas/rapidEmploymentVerificationReportModel'
      example:
        uuid: 78fdfa98-9efc-4808-86c5-c091b949e9c1
        status: 4
        timelineStatus: 5
        applicantId: 1
        applicantName: Joe Frazier
        applicantEmail: joe@frazier.com
        expiresAt: '2026-01-01T09:07:12.5092957Z'
        archivedAt: '2026-01-15T09:07:12.5093128Z'
        activities:
          - activityType: employment
            employerName: Employer Name
            startDate: '2025-12-17T09:07:12.5095735Z'
            endDate: '2025-12-18T09:07:12.5095901Z'
            jobTitle: Job Title
            declareStatus: Declared
            verifiedStatus: verified
            isDeclared: true
            isConnected: true
            sources:
              - providerId: hmrc
                providerName: UK HMRC Records
        report:
          createdAt: '2025-12-18T09:07:12.5098757Z'
          downloadUrl: https://www.example.com/report.pdf
    rating:
      type: object
      properties:
        area:
          type: string
        score:
          type: string
    referee:
      type: object
      properties:
        name:
          type: string
        email:
          type: string
        contactNumber:
          type: string
        faxNumber:
          type: string
        organisation:
          type: string
        department:
          type: string
        position:
          type: string
        doNotContact:
          type: boolean
        referenceRequest:
          $ref: '#/components/schemas/referenceRequest'
        postalAddress:
          type: string
        status:
          type: string
        doNotContactReason:
          type: string
        validated:
          type: string
          format: date-time
          nullable: true
        validationStatus:
          type: string
        validationNotes:
          type: string
    reference:
      type: object
      properties:
        status:
          type: string
        startDate:
          type: string
        endDate:
          type: string
        organisation:
          type: string
        department:
          type: string
        position:
          type: string
        correctedStartDate:
          type: string
        correctedEndDate:
          type: string
        correctedPosition:
          type: string
        reasonForGap:
          type: string
        referees:
          type: array
          items:
            $ref: '#/components/schemas/referee'
        referenceType:
          type: string
        rejectedReason:
          type: string
        responseTime:
          type: string
        userDecision:
          type: string
        uuid:
          type: string
        attachments:
          type: array
          items:
            $ref: '#/components/schemas/attachment'
    referenceRequest:
      type: object
      properties:
        uuid:
          type: string
        sent:
          type: string
          format: date-time
        status:
          type: string
        referenceResponse:
          $ref: '#/components/schemas/referenceResponse'
    referenceResponse:
      type: object
      properties:
        received:
          type: string
          format: date-time
        acknowledgementAgreed:
          type: string
        questions:
          type: array
          items:
            $ref: '#/components/schemas/question'
        choices:
          type: array
          items:
            $ref: '#/components/schemas/choice'
        ratings:
          type: array
          items:
            $ref: '#/components/schemas/rating'
    restriction:
      type: object
      properties:
        restrictionCode:
          type: string
        restrictionLiteral:
          type: string
    resultError:
      type: object
      properties:
        message:
          type: string
        propertyName:
          type: string
    retryCheckResponse:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
        message:
          type: string
    rollingRegisterEntryModel:
      type: object
      properties:
        address:
          type: string
        name:
          type: string
        supplyDate:
          type: string
    sanctionsAlertNextModel:
      type: object
      properties:
        message:
          type: string
        type:
          type: string
        score:
          type: integer
          format: int32
        category:
          type: string
    sanctionsAliasesNextModel:
      type: object
      properties:
        firstName:
          type: string
        middleName:
          type: string
        lastName:
          type: string
    sanctionsArticleNextModel:
      type: object
      properties:
        originalUrl:
          type: string
        providerUrl:
          type: string
        dateCollected:
          type: string
        categories:
          type: array
          items:
            type: string
        snippet:
          $ref: '#/components/schemas/sanctionsArticleSnippetNextModel'
    sanctionsArticleSnippetNextModel:
      type: object
      properties:
        title:
          type: string
        summary:
          type: string
        keywordsMatched:
          type: array
          items:
            type: string
    sanctionsCreateRequest:
      required:
        - candidate
        - currentAddress
        - metaData
      type: object
      properties:
        candidate:
          $ref: '#/components/schemas/northRowPerson'
        currentAddress:
          $ref: '#/components/schemas/northRowAddress'
        metaData:
          $ref: '#/components/schemas/metaData'
      example:
        candidate:
          firstName: John
          lastName: Doe
          email: john.doe@example.com
          title: Mr
          dateOfBirth: '1980-01-01'
          gender: m
        currentAddress:
          houseNumber: '19'
          streetName: High Point
          city: London
          county: Greater London
          country: GB
          postCode: SE9 3PA
          fromDate: '2010-01-01'
          isCurrent: true
        metaData:
          yourReference: 6d4b03c0-3973-47a4-b634-ce7216d16881
          demoMode: true
          sandboxMode: false
    sanctionsCreateResponse:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
        data:
          $ref: '#/components/schemas/dataModel'
      example:
        uuid: 00000000-0000-0000-0000-000000000000
        data:
          backgroundCheckUuid: 00000000-0000-0000-0000-000000000000
    sanctionsLinkedBusinessNextModel:
      type: object
      properties:
        businessName:
          type: string
        position:
          type: string
    sanctionsLinkedPersonNextModel:
      type: object
      properties:
        name:
          type: string
        association:
          type: string
    sanctionsNotesNextModel:
      type: object
      properties:
        dataSource:
          type: string
        text:
          type: string
        snippet:
          type: array
          items:
            $ref: '#/components/schemas/sanctionsNoteSnippetNextModel'
    sanctionsNoteSnippetNextModel:
      type: object
      properties:
        title:
          type: string
        summary:
          type: string
        keywordsMatched:
          type: array
          items:
            type: string
    sanctionsPepLevelDetailNextModel:
      type: object
      properties:
        level:
          type: string
        description:
          type: string
        subContentType:
          type: array
          items:
            $ref: '#/components/schemas/sanctionsSubContentTypeNextModel'
    sanctionsPoliticalRoleNextModel:
      type: object
      properties:
        role:
          type: string
        country:
          type: string
        dateFrom:
          type: string
        dateTo:
          type: string
    sanctionsRagScoreNextModel:
      type: object
      properties:
        rag:
          type: string
        score:
          type: integer
          format: int32
    sanctionsResultDataNextModel:
      type: object
      properties:
        ragScore:
          $ref: '#/components/schemas/sanctionsRagScoreNextModel'
        alerts:
          type: array
          items:
            $ref: '#/components/schemas/sanctionsAlertNextModel'
        pepAndSanctions:
          type: array
          items:
            $ref: '#/components/schemas/pepAndSanctionsResultModel'
    sanctionsResultsResponse:
      type: object
      properties:
        checkId:
          type: integer
          format: int32
        created:
          type: string
          format: date-time
          nullable: true
        started:
          type: string
          format: date-time
          nullable: true
        completed:
          type: string
          format: date-time
          nullable: true
        status:
          type: string
        yourReference:
          type: string
        customerName:
          type: string
        errors:
          type: array
          items:
            $ref: '#/components/schemas/resultError'
        data:
          $ref: '#/components/schemas/sanctionsResultDataNextModel'
      example:
        - checkId: 1
          created: '2025-12-18T09:07:12.4176440Z'
          status: Pending
          yourReference: ABC123
          data:
            ragScore:
              rag: Green
              score: 85
            alerts:
              - message: Alert message 1
                type: Type1
                score: 90
                category: Category1
              - message: Alert message 2
                type: Type2
                score: 75
                category: Category2
            pepAndSanctions:
              - firstName: John
                lastName: Doe
                gender: Male
                nationality: American
                dob: '1980-01-01'
                deceased: false
                dateOfDeath: ''
                insolvent: false
                lawEnforcement: false
                pep: false
                pepLevelDetail:
                  - level: Level 1
                    description: Senior official
                    subContentType:
                      - level: Sub-Level A
                        description: Head of State
                      - level: Sub-Level B
                        description: Minister of Finance
                aliases:
                  - firstName: John
                    middleName: J.
                    lastName: Doe
                articles:
                  - originalUrl: http://example.com/article
                    providerUrl: http://example.com/
                    dateCollected: '2025-01-01'
                    categories:
                      - News
                    snippet:
                      title: Investigative Report
                      summary: An investigation revealed...
                      keywordsMatched:
                        - Investigation
                        - Finance
                sanctions:
                  - sanctionType: OFAC
                    isCurrent: true
                notes:
                  - dataSource: OFAC
                    text: On sanctions list
                    snippet:
                      - title: OFAC Sanctions Entry
                        summary: Individual listed due to financial crime allegations.
                        keywordsMatched:
                          - OFAC
                          - Sanctions
                          - Financial Crime
                linkedBusinesses:
                  - businessName: Doe Inc
                    position: Owner
                linkedPeople:
                  - name: Jane Doe
                    association: Spouse
                politicalRoles:
                  - role: Mayor
                    country: USA
                    dateFrom: '2015-01-01'
                    dateTo: '2020-01-01'
    sanctionsSourceNextModel:
      type: object
      properties:
        sanctionType:
          type: string
        isCurrent:
          type: boolean
    sanctionsSubContentTypeNextModel:
      type: object
      properties:
        level:
          type: string
        description:
          type: string
    socialMediaCreateRequest:
      required:
        - person
      type: object
      properties:
        person:
          $ref: '#/components/schemas/socialMediaPerson'
        checkType:
          enum:
            - Essentials
            - Plus
          type: string
          description: The type of social media check. Either 'Essentials' or 'Plus'.
        metaData:
          $ref: '#/components/schemas/metaData'
      example:
        person:
          firstName: Jane
          lastName: Doe
          dateOfBirth: '2005-12-18'
          email: Jane.Doe@gmail.com
        checkType: Essentials
        metaData:
          yourReference: 5545b6ee-aa79-4da9-88fa-b82fb7c7255e
          demoMode: true
          sandboxMode: true
          customerName: Example Customer
    socialMediaPerson:
      type: object
      properties:
        firstName:
          type: string
          description: The person's first name.
        lastName:
          type: string
          description: The person's last name.
        dateOfBirth:
          type: string
          description: The person's date of birth.
          format: date
        email:
          type: string
          description: The person's email.
      example:
        firstName: Jane
        lastName: Doe
        dateOfBirth: '2005-12-18'
        email: Jane.Doe@gmail.com
    socialMediaResultResponse:
      type: object
      properties:
        created:
          type: string
          format: date-time
          nullable: true
        started:
          type: string
          format: date-time
          nullable: true
        completed:
          type: string
          format: date-time
          nullable: true
        status:
          type: string
        yourReference:
          type: string
        customerName:
          type: string
        errors:
          type: array
          items:
            $ref: '#/components/schemas/resultError'
        data:
          $ref: '#/components/schemas/socialMediaResultResponseData'
      example:
        - created: '2025-12-18T08:07:12.5291253Z'
          started: '2025-12-18T08:37:12.5291259Z'
          completed: '2025-12-18T09:07:12.5291263Z'
          status: Completed
          yourReference: YourReference
          data:
            reportUrl: https://www.example.com/report
            fileName: example.pdf
    socialMediaResultResponseData:
      type: object
      properties:
        reportUrl:
          type: string
        fileName:
          type: string
    statsModel:
      type: object
      properties:
        proofsOfResidencyCount:
          type: string
        proofsOfIdentityCount:
          type: string
        alertsCount:
          type: string
    suggestedAddress:
      type: object
      properties:
        addressId:
          type: string
          description: The unique identifier for the address in the Equifax database.
          nullable: true
        houseNumber:
          type: string
          description: The house number of the address.
          nullable: true
        streetName:
          type: string
          description: The street name of the address.
          nullable: true
        line2:
          type: string
          description: The second line of the address.
          nullable: true
        city:
          type: string
          description: The town or city of the address.
          nullable: true
        district:
          type: string
          description: The district of the address.
          nullable: true
        county:
          type: string
          description: The county of the address.
          nullable: true
        country:
          type: string
          description: The country of the address.
          nullable: true
        postcode:
          type: string
          description: The post code of the address.
          nullable: true
      example:
        addressId: '1234567890'
        houseNumber: '1'
        streetName: High St
        city: London
        county: Greater London
        country: GB
        postcode: SW1A 1AA
    token:
      type: object
      properties:
        validFromDate:
          type: string
        validToDate:
          type: string
        issueNumber:
          type: string
    unstructuredaddress:
      type: object
      properties:
        line1:
          type: string
        line5:
          type: string
        postcode:
          type: string
    webhookSubscriptionCreateRequest:
      required:
        - url
      type: object
      properties:
        url:
          type: string
        headers:
          type: object
          additionalProperties:
            type: string
        enabled:
          type: boolean
          nullable: true
        eventTypes:
          type: array
          items:
            type: string
      example:
        url: https://example.com/
        headers:
          X-example: Example
        enabled: true
        eventTypes:
          - CheckCompletedEvent
    webhookSubscriptionCreateResponse:
      type: object
      properties:
        id:
          type: integer
          format: int32
    webhookSubscriptionsResultsResponse:
      type: object
      properties:
        id:
          type: integer
          format: int32
        url:
          type: string
        headers:
          type: object
          additionalProperties:
            type: string
        enabled:
          type: boolean
        eventTypes:
          type: array
          items:
            type: string
      example:
        id: 123
        url: https://example.com/webhook
        headers:
          key: value
        enabled: true
        eventTypes:
          - CheckCompletedEvent
  headers:
    X-Check-Version:
      description: 'Optional Check Version (Default: current)'
      schema:
        enum:
          - next
        type: string
  securitySchemes:
    bearer_auth:
      type: http
      scheme: bearer
      bearerFormat: JWT
x-tagGroups:
  - name: Authentication
    tags:
      - Authentication
  - name: Checks
    tags:
      - Webhooks
      - DBS Basic England and Wales
      - DS Basic Scotland
      - DBS Standard
      - DBS Enhanced
      - Retry
      - Digital Identity - Medium
      - Digital Identity - High
      - Sanctions
      - Directorship
      - MRZ Document Scan
      - Rapid Employment Verification
      - Social Media
      - Identity Check
      - Adverse Financial Summary
      - Adverse Financial Detail
      - Employment Reference
      - Driving Licence
      - DBS Update Service
      - Checks
