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

# Event delivery to your endpoint

> Sentinel POSTs this to each webhook endpoint you add under
**Developer → Webhooks**. Verify `X-Sentinel-Signature-V2`: the hex
HMAC-SHA256 of `<X-Sentinel-Timestamp>.<raw body>` keyed with the
endpoint's signing secret (also accept `X-Sentinel-Signature-V2-Next`
during a secret rotation), and reject timestamps more than 5 minutes
old. Answer any 2xx within 10 seconds. Failed deliveries are retried
after 1 minute, 5 minutes, 30 minutes, 2 hours, 6 hours and 24 hours.




## OpenAPI

````yaml /sentinel/openapi.yaml webhook sentinelEvent
openapi: 3.1.0
info:
  title: Sentinel API
  version: 1.0.0
  summary: >-
    KYC, KYB, AML screening, document (IDP) checks and transaction monitoring
    for Kenya and East Africa.
  description: |
    The Sentinel API by Deeptrack lets your systems run identity, business and
    AML checks without opening the dashboard.

    **Authentication.** Send your API key as a bearer token:
    `Authorization: Bearer gt_live_…` (or `gt_test_…`). Create keys in
    Sentinel under **Developer → API Keys**. Each key has scopes; a key
    without the scope a route needs gets `403`.

    **Test mode.** Test keys (`gt_test_`) return a sandbox result at once
    (`status: completed`, `verdict: pass`, `sandbox: true`), are never
    charged, and store none of the names, numbers or images you send.

    **Asynchronous checks.** `POST /v1/verify/*` answers `202` with an `id`.
    The result arrives by webhook (`sentinel.scan.complete`) or with
    `GET /v1/verify/{id}`.

    **Errors.** Every error is JSON with an `error` message; validation
    errors add `details`, describing what each field takes.

    **Rate limits.** Per key, by plan (Trial 10/min, Starter 60, Growth 200,
    Business 500, Enterprise 1,000), plus an organization-wide cap. A limited
    request gets `429` with `Retry-After` in seconds.

    **Pagination.** List endpoints take `limit` (1–100) and `before`; pass
    the previous answer's `nextCursor` as `before` to get the next page.
    `nextCursor` is `null` on the last page.

    Guides with curl, Node and Python examples are in the Sentinel manual,
    chapters C1 to C9.
  contact:
    name: Deeptrack
    email: tech@deeptrack.io
    url: https://deeptrack.io
  x-changelog: See the manual, chapter C9 (API reference, OpenAPI and Postman).
servers:
  - url: https://robust-parakeet-542.convex.site
    description: >-
      Sentinel production API. Shown on the API Keys page; it may move to an
      api.* address, which will be announced in C9.
security:
  - bearerAuth: []
tags:
  - name: KYC
    description: Identity checks (document, liveness, face match, IPRS and AML).
  - name: KYB
    description: Business checks (registration, address, directors and owners).
  - name: Documents
    description: >-
      IDP document checks (identity documents, proof of address, KRA PIN
      certificates).
  - name: AML
    description: Sanctions, PEP and watch-list screening, and ongoing monitoring.
  - name: Transactions
    description: Transaction monitoring (Business and Enterprise plans, and the trial).
  - name: Capture links
    description: Links a customer opens on their phone to capture their ID and a selfie.
  - name: Results
    description: Read checks and their results.
  - name: Credits
    description: Credit balance, prices and usage.
paths: {}
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: 'Your API key: gt_live_… or gt_test_…'

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.