---
title: "Send an event to an agent webhook endpoint"
method: POST
path: "/wh/{token}"
tags: ["Agent Webhooks"]
---

# Send an event to an agent webhook endpoint

`POST /wh/{token}`

## Request

- Base URL: `https://api.atako.ai`
- URL: `https://api.atako.ai/wh/{token}`
- Auth: none required

The body is read raw and verified with the endpoint signature scheme (none, shared secret, generic HMAC, Standard Webhooks, Stripe, GitHub, custom). Transient outcomes (duplicate, filtered, rate-limited, over quota, paused) still answer 200 with the stored status, so providers do not retry into the limits.

## Path parameters

- `token` string, required

## Response `200`

`status` is delivered, pending_agent, deduped, skipped or quarantined; `reason` is set for skipped/quarantined.

- object
  - `ok` boolean, required
  - `eventId` string, uuid
  - `status` 'delivered' | 'pending_agent' | 'deduped' | 'skipped' | 'quarantined'
  - `reason` string

## Other responses

- `401`: INVALID_SIGNATURE
- `404`: UNKNOWN_ENDPOINT
- `410`: ENDPOINT_INACTIVE
- `413`: PAYLOAD_TOO_LARGE
- `429`: Too many requests from this IP.

---

[API](https://skmtc.dev/atako/apis/atako-api.md) · [All operations](https://skmtc.dev/atako/apis/atako-api/llms.txt) · [OpenAPI document](https://skmtc.dev/atako/apis/atako-api/revisions/aa555c56fbd7?raw)
