Assisters API
API Reference

Webhooks

Create and manage webhook endpoints that receive event notifications

Webhooks Management

Register HTTPS endpoints that receive a POST notification whenever a subscribed event occurs on your account. These management endpoints are authenticated with your dashboard session (cookie-based), not with an API key, and live under api.assisters.dev/api/webhooks.

The signing secret is returned only once, at creation time. Use it to verify the authenticity of incoming webhook payloads. Webhook URLs must be public HTTPS endpoints — private, loopback, and metadata addresses are rejected.

Supported Events

EventTriggered when
chat.startedA chat completion request begins
chat.completedA chat completion finishes
api_key.createdA new API key is created
api_key.deletedAn API key is deleted
subscription.updatedYour subscription changes
usage.limit_reachedA usage limit is reached

List Webhooks

Endpoint

GET https://api.assisters.dev/api/webhooks

Returns up to 100 of your webhooks, newest first. Secrets are never included.

Response

{
  "webhooks": [
    {
      "id": "w1b2c3d4-...",
      "name": "Production notifier",
      "url": "https://example.com/hooks/assisters",
      "events": ["chat.completed", "api_key.created"],
      "enabled": true,
      "created_at": "2026-06-01T08:00:00.000Z",
      "updated_at": "2026-06-01T08:00:00.000Z"
    }
  ]
}

Get a Webhook

Endpoint

GET https://api.assisters.dev/api/webhooks/{id}

Response

{
  "webhook": {
    "id": "w1b2c3d4-...",
    "name": "Production notifier",
    "url": "https://example.com/hooks/assisters",
    "events": ["chat.completed"],
    "enabled": true,
    "created_at": "2026-06-01T08:00:00.000Z",
    "updated_at": "2026-06-01T08:00:00.000Z"
  }
}

Create a Webhook

Endpoint

POST https://api.assisters.dev/api/webhooks

Request Body

stringrequired

A human-readable name for the webhook.

stringrequired

The public HTTPS endpoint to deliver events to. Maximum 2048 characters.

arrayrequired

A non-empty array of event names to subscribe to. See Supported Events.

Response

Returns 201 Created with the webhook record and the signing secret — shown only this once.

{
  "webhook": {
    "id": "w1b2c3d4-...",
    "name": "Production notifier",
    "url": "https://example.com/hooks/assisters",
    "events": ["chat.completed"],
    "enabled": true,
    "created_at": "2026-06-11T12:00:00.000Z",
    "updated_at": "2026-06-11T12:00:00.000Z"
  },
  "secret": "a1b2c3d4e5f6..."
}

Update a Webhook

Endpoint

PATCH https://api.assisters.dev/api/webhooks/{id}

Request Body

Supply only the fields you want to change.

string

A new name for the webhook.

string

A new public HTTPS delivery endpoint.

array

A replacement non-empty array of subscribed event names.

boolean

Set to false to pause deliveries without deleting the webhook.

Response

{
  "webhook": {
    "id": "w1b2c3d4-...",
    "name": "Production notifier",
    "url": "https://example.com/hooks/assisters",
    "events": ["chat.completed", "usage.limit_reached"],
    "enabled": true,
    "created_at": "2026-06-01T08:00:00.000Z",
    "updated_at": "2026-06-11T12:00:00.000Z"
  }
}

Delete a Webhook

Endpoint

DELETE https://api.assisters.dev/api/webhooks/{id}

Response

{
  "success": true
}

Error Responses

Service Status

Check live API uptime and incidents