---
title: "Trigger attestation"
method: POST
path: "/core/kyb/processes/attestation/trigger"
tags: ["KYB"]
---

# Trigger attestation

`POST /core/kyb/processes/attestation/trigger`

## Request

- Base URL: `https://api.enterprise.sandbox.uphold.com`
- URL: `https://api.enterprise.sandbox.uphold.com/core/kyb/processes/attestation/trigger`
- Auth: OAuth 2
  - Client credentials
  - Token URL: `/core/oauth2/token` scopes: `core.kyb.attestation:trigger`
- TypeScript: <https://skmtc.dev/uphold/apis/core-api/docs/core/kyb/processes/attestation/trigger/post.ts> (a function with typed inputs; its response is checked against the schema)

Trigger the attestation process for a business user, initiating all verifications that will populate the attestation output.

## Headers

- `X-On-Behalf-Of` string
- `X-Uphold-User-Ip` union
  - string, ipv4
  - string, ipv6
- `X-Uphold-User-Agent` string
- `X-Uphold-User-Origin` string
- `X-Uphold-User-Country` string
- `X-Uphold-User-Subdivision` string
- `X-Uphold-User-City` string

## Response `200`

Attestation process triggered.

- object
  - `attestation` KybAttestation, required: The KYB attestation object.
    - `code` 'attestation', required: The code of the KYB process.
    - `status` 'ok' | 'failed' | 'running' | 'pending' | 'exempt', required: Status of the KYB process.
    - `output` object: Output of the KYB process.
      - `checks` union[], required: The list of checks performed as part of the KYB attestation.
        - union
          - object
            - `code` 'business-online-presence', required
            - `status` 'not-started' | 'skipped' | 'in-progress' | 'in-review' | 'approved' | 'rejected', required: The status of the check
            - `reason` string: The reason associated with the check's current status (e.g., the reason for the `rejected` status).
            - `note` string: Any additional note related to the check result.
          - object
            - `code` 'business-classification', required
            - `status` 'not-started' | 'skipped' | 'in-progress' | 'in-review' | 'approved' | 'rejected', required: The status of the check
            - `reason` string: The reason associated with the check's current status (e.g., the reason for the `rejected` status).
            - `note` string: Any additional note related to the check result.
          - object
            - `code` 'business-registry', required
            - `status` 'not-started' | 'skipped' | 'in-progress' | 'in-review' | 'approved' | 'rejected', required: The status of the check
            - `reason` string: The reason associated with the check's current status (e.g., the reason for the `rejected` status).
            - `note` string: Any additional note related to the check result.
          - object
            - `code` 'business-registrations', required
            - `status` 'not-started' | 'skipped' | 'in-progress' | 'in-review' | 'approved' | 'rejected', required: The status of the check
            - `reason` string: The reason associated with the check's current status (e.g., the reason for the `rejected` status).
            - `note` string: Any additional note related to the check result.
          - object
            - `code` 'business-associated-persons', required
            - `status` 'not-started' | 'skipped' | 'in-progress' | 'in-review' | 'approved' | 'rejected', required: The status of the check
            - `reason` string: The reason associated with the check's current status (e.g., the reason for the `rejected` status).
            - `note` string: Any additional note related to the check result.
          - object
            - `code` 'business-adverse-media', required
            - `status` 'not-started' | 'skipped' | 'in-progress' | 'in-review' | 'approved' | 'rejected', required: The status of the check
            - `reason` string: The reason associated with the check's current status (e.g., the reason for the `rejected` status).
            - `note` string: Any additional note related to the check result.
          - object
            - `code` 'business-address-lookup', required
            - `status` 'not-started' | 'skipped' | 'in-progress' | 'in-review' | 'approved' | 'rejected', required: The status of the check
            - `reason` string: The reason associated with the check's current status (e.g., the reason for the `rejected` status).
            - `note` string: Any additional note related to the check result.
          - object
            - `code` 'business-tin-database', required
            - `status` 'not-started' | 'skipped' | 'in-progress' | 'in-review' | 'approved' | 'rejected', required: The status of the check
            - `reason` string: The reason associated with the check's current status (e.g., the reason for the `rejected` status).
            - `note` string: Any additional note related to the check result.
          - object
            - `code` 'business-screening', required
            - `status` 'not-started' | 'skipped' | 'in-progress' | 'in-review' | 'approved' | 'rejected', required: The status of the check
            - `reason` string: The reason associated with the check's current status (e.g., the reason for the `rejected` status).
            - `note` string: Any additional note related to the check result.
          - object
            - `code` 'business-documents', required
            - `status` 'not-started' | 'skipped' | 'in-progress' | 'in-review' | 'approved' | 'rejected', required: The status of the check
            - `reason` string: The reason associated with the check's current status (e.g., the reason for the `rejected` status).
            - `note` string: Any additional note related to the check result.
          - object
            - `code` 'licensing-verification', required
            - `status` 'not-started' | 'skipped' | 'in-progress' | 'in-review' | 'approved' | 'rejected', required: The status of the check
            - `reason` string: The reason associated with the check's current status (e.g., the reason for the `rejected` status).
            - `note` string: Any additional note related to the check result.
          - object
            - `code` 'associated-persons-screening', required
            - `status` 'not-started' | 'skipped' | 'in-progress' | 'in-review' | 'approved' | 'rejected', required: The status of the check
            - `reason` string: The reason associated with the check's current status (e.g., the reason for the `rejected` status).
            - `note` string: Any additional note related to the check result.
          - object
            - `code` 'associated-persons-address-lookup', required
            - `status` 'not-started' | 'skipped' | 'in-progress' | 'in-review' | 'approved' | 'rejected', required: The status of the check
            - `reason` string: The reason associated with the check's current status (e.g., the reason for the `rejected` status).
            - `note` string: Any additional note related to the check result.
          - object
            - `code` 'associated-persons-tin-database', required
            - `status` 'not-started' | 'skipped' | 'in-progress' | 'in-review' | 'approved' | 'rejected', required: The status of the check
            - `reason` string: The reason associated with the check's current status (e.g., the reason for the `rejected` status).
            - `note` string: Any additional note related to the check result.

## Other responses

- `401`: Unauthorized.
- `403`: Forbidden.
- `409`: Business logic error.
- `429`: Too Many Requests.

---

[API](https://skmtc.dev/uphold/apis/core-api.md) - [All operations](https://skmtc.dev/uphold/apis/core-api/llms.txt) - [OpenAPI document](https://skmtc.dev/uphold/apis/core-api/revisions/6c663575c57a?raw)
