> ## Documentation Index
> Fetch the complete documentation index at: https://doc.youverify.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Global ID Validation

> Validates government-issued IDs and personal identifiable information (PII) globally by comparing user-provided data against government, authoritative, and commercial data sources.



## OpenAPI

````yaml /api-reference/specs/quickcheck.json post /v2/api/identity/global/validate
openapi: 3.0.3
info:
  title: Youverify Quick Check API
  version: 2.0.0
  description: >-
    All Quick Check endpoints (KYC identity verification by country, KYB
    business verification by country, and AML/watchlist screening). Assembled
    from doc.youverify.co/api-reference-sdk/api-reference/quick-check, endpoints
    kept in the exact order they appear in the GitBook navigation. Some
    endpoints (address-verification "create a candidate" / "get states" /
    "retrieve" / "history") are documented twice in the source docs — once for
    individuals under KYC, once for businesses under KYB — and are the exact
    same request/response shape. They appear ONCE here (at their first, KYC,
    position) tagged with both sections so the file stays valid OpenAPI.


    Account-wide error responses (401, 429, 500 on every endpoint; 402 on paid
    verification calls; 404 on lookup-by-ID calls) are sourced verbatim from
    Youverify's own "Youverify OS Error Codes" and "Response Codes" pages
    (doc.youverify.co/youverify-os-error-codes, /get-started/response-codes) and
    attached via components.responses, since those pages document them
    account-wide rather than per endpoint. Any error example that a specific
    endpoint's own page actually showed is kept exactly as documented there
    instead of being replaced by these.
  contact:
    name: Youverify Support
    email: support@youverify.co
servers:
  - url: https://api.youverify.co
    description: Production (live, billed)
  - url: https://api.sandbox.youverify.co
    description: Sandbox (test data, not billed)
security:
  - ApiKeyAuth: []
tags:
  - name: KYC - Global
    description: Identity data-matching endpoints that work across countries.
  - name: KYC - South Africa
    description: South Africa-specific identity, phone and bank verification.
  - name: KYC - Kenya
    description: Kenya-specific identity, phone, bank, credit and employment verification.
  - name: KYC - Ghana
    description: Ghana-specific identity verification (passport, SSNIT, voter's card).
  - name: KYC - Nigeria
    description: >-
      Nigeria-specific identity, phone, bank and credit verification (BVN, NIN,
      etc).
  - name: KYC - Cote D'Ivoire
    description: Cote D'Ivoire-specific national ID and residence card verification.
  - name: KYC - General
    description: >-
      Identity retrieval, history and facial comparison, not tied to one
      country.
  - name: KYC - Address Verification (Individuals)
    description: >-
      Physical and digital address verification workflows for individuals. Note:
      these same endpoints are also documented under KYB for businesses — see
      merge notes.
  - name: KYB - Global
    description: >-
      Business search, bulk-upload and premium company-search endpoints not tied
      to one country.
  - name: KYB - Nigeria
    description: Nigeria-specific business address verification and tax ID checks.
  - name: KYB - South Africa
    description: South Africa-specific business account and address verification.
  - name: KYB - Cote D'Ivoire
    description: Cote D'Ivoire-specific company filings lookup.
  - name: AML Screening
    description: PEP, sanctions, adverse-media and crypto AML screening.
  - name: AML Watchlist
    description: Manage your own custom AML watchlist.
paths:
  /v2/api/identity/global/validate:
    post:
      tags:
        - KYC - Global
      summary: Global ID Validation
      description: >-
        Validates government-issued IDs and personal identifiable information
        (PII) globally by comparing user-provided data against government,
        authoritative, and commercial data sources.
      operationId: validateGlobalIdentity
      parameters:
        - name: token
          in: header
          required: true
          schema:
            type: string
          description: API secret token
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: string
                  description: Candidate's National ID (required for specific countries)
                isSubjectConsent:
                  type: boolean
                  description: Indicate that subject has given consent. Must be true
                lastName:
                  type: string
                  description: Last name to compare against the ID and/or credit file
                firstName:
                  type: string
                  description: First name to compare against an ID and/or credit file
                dateOfBirth:
                  type: string
                  description: Date of Birth to compare against ID and/or credit file
                fullName:
                  type: string
                  description: >-
                    Full name of the candidate to compare against the ID and/or
                    credit file
                mobile:
                  type: string
                  description: Phone Number to compare against the ID and/or credit file
                email:
                  type: string
                  description: Email to compare against the ID and/or credit file
                countryCode:
                  type: string
                  description: >-
                    Two-letter country code that complies with ISO 3166-1
                    alpha-2
                advanced:
                  type: boolean
                  description: >-
                    Perform an Advanced Search (not available in certain
                    countries)
                addressDetails:
                  type: object
                  description: Address details object for address matching
                  properties:
                    addressLine1:
                      type: string
                      description: Address line for comparison
                    addressLine2:
                      type: string
                      description: Address line for comparison
                    houseNumber:
                      type: string
                      description: >-
                        House number to compare against the ID and/or credit
                        file
                    street:
                      type: string
                      description: Street name to compare against an ID and/or credit file
                    city:
                      type: string
                      description: City name to compare against the ID and/or credit file
                    postalCode:
                      type: string
                      description: Postal code to compare against the ID and/or credit file
                    state:
                      type: string
                      description: State name to compare against the ID and/or credit file
                    countryCode:
                      type: string
                      description: Two-letter country code of the address
              required:
                - isSubjectConsent
                - countryCode
            example:
              addressDetails:
                addressLine1: 19 CASUARINA
                addressLine2: ''
                houseNumber: '19'
                street: CASUARINA
                city: KILMORE
                postalCode: '3764'
                state: ''
                countryCode: AU
              fullName: TOM CLARKE
              firstName: TOM
              lastName: CLARKE
              id: '12345678'
              countryCode: AU
              dateOfBirth: '1800-01-01'
              mobile: ''
              email: ''
              advanced: true
              isSubjectConsent: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              example:
                success: true
                statusCode: 200
                message: success
                data:
                  id: 6525026f085d5ae6ac556b6f
                  fullName: TOM CLARKE
                  firstName: TOM
                  lastName: CLARKE
                  dateOfBirth: '1800-01-01'
                  mobile: ''
                  email: ''
                  addressDetails:
                    addressLine1: 19 CASUARINA
                    addressLine2: ''
                    houseNumber: '19'
                    street: CASUARINA
                    city: KILMORE
                    postalCode: '3764'
                    state: ''
                    countryCode: AU
                  validationDetails:
                    fullName:
                      status: partial_matched
                      value: TOM CLARKE
                      validationMessage: Partial match made on Complete Name
                    lastName:
                      status: full_matched
                      value: CLARKE
                      validationMessage: Full match made on Last Name/Surname
                    address:
                      status: partial_matched
                      value: 19 CASUARINA
                      validationMessage: >-
                        Partial match made on Address Elements provided in
                        Address Lines
                    city:
                      status: full_matched
                      value: KILMORE
                      validationMessage: Full match made on City/Locality
                    postalCode:
                      status: full_matched
                      value: '3764'
                      validationMessage: Full match made on Postal Code/Zip Code
                    state:
                      status: full_matched
                      value: ''
                      validationMessage: Full match made on State/Province
                    firstName:
                      status: not_matched
                      value: TOM
                      validationMessage: No match made on First Name/Given Name
                    houseNumber:
                      status: not_matched
                      value: '19'
                      validationMessage: No match made on House Number/Street Number
                    street:
                      status: not_matched
                      value: CASUARINA
                      validationMessage: No match made on Street/Thoroughfare
                    dateOfBirth:
                      status: not_matched
                      value: '1800-01-01'
                      validationMessage: No match made on Date of Birth
                    dayOfBirth:
                      status: not_matched
                      value: '01'
                      validationMessage: No match made on Day of Birth
                    monthOfBirth:
                      status: not_matched
                      value: '01'
                      validationMessage: No match made on Month of Birth
                    yearOfBirth:
                      status: not_matched
                      value: '1800'
                      validationMessage: No match made on Year of Birth
                    percentage:
                      percentageFullyMatched: 36
                      percentageNotMatched: 40
                      percentagePartialMatched: 24
                  addressReliability:
                    reliability: '10'
                    adaptation: '30'
                  identityReliability:
                    reliability: '30'
                    adaptation: '0'
                  overallReliability:
                    reliability: '30'
                    adaptation: '30'
                  parentId: null
                  status: found
                  reason: null
                  dataValidation: true
                  isConsent: true
                  idNumber: '12345678'
                  businessId: 62b2e8b281442b03187f7896
                  type: globalIdentityValidation
                  requestedAt: '2023-10-10T07:51:12.278Z'
                  requestedById: 62b2e8b381442b75857f7898
                  country: Global
                  createdAt: '2023-10-10T07:51:12.487Z'
                  lastModifiedAt: '2023-10-10T07:51:12.487Z'
                  adverseMediaReport: null
                  metadata: {}
                  requestedBy:
                    firstName: API
                    lastName: user
                    middleName: ''
                    id: 62b2e8b381442b25857f788
                links: []
        '401':
          $ref: '#/components/responses/Error401Unauthorized'
        '402':
          $ref: '#/components/responses/Error402PaymentRequired'
        '404':
          description: Resource not found
          content:
            application/json:
              example:
                success: false
                statusCode: 404
                message: You have attempted to get a resource that does not exist.
                name: ResourceNotFoundError
                data: {}
        '429':
          $ref: '#/components/responses/Error429TooManyRequests'
        '500':
          $ref: '#/components/responses/Error500ServerError'
components:
  responses:
    Error401Unauthorized:
      description: Unauthorized — the token header is missing or invalid.
      content:
        application/json:
          example:
            success: false
            statusCode: 401
            message: Permission denied
            name: UnauthorizedError
            data: {}
    Error402PaymentRequired:
      description: Payment Required — your account balance is too low to run this check.
      content:
        application/json:
          example:
            success: false
            statusCode: 402
            message: Insufficient fund
            name: PaymentRequiredError
            data: {}
    Error429TooManyRequests:
      description: Too Many Requests — you have exceeded the rate limit; wait and retry.
      content:
        application/json:
          example:
            success: false
            statusCode: 429
            message: Too many requests
            name: RateLimitError
            data: {}
    Error500ServerError:
      description: >-
        Internal Server Error — a rare, unexpected failure on Youverify's side.
        Contact support@youverify.co if it persists.
      content:
        application/json:
          example:
            success: false
            statusCode: 500
            message: Internal Server Error
            name: Error
            data: {}
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: token
      description: Your Youverify API secret key. Never expose client-side.

````