API Reference

Webhook configuration

Register your callback URL once via the self-serve config API; Teamcast signs and retries every delivery.

For the event catalog, payload shapes, and a signature-verification code sample, see Integration API → Webhooks. This page covers registering and testing your endpoint.

GET / PUT / DELETE /api/v2/me/webhook-config

Tenant self-serve config — authenticated via API key + tenant ID, or a Bearer token with webhook scopes. A secret auto-generates (256-bit, hex) when omitted; if supplied it must be ≥ 32 chars. Only the last 4 chars are returned on subsequent reads — store the full secret securely before leaving this response.

bash
curl -X PUT https://devapi.teamcast.ai/api/v2/me/webhook-config \
  -H "X-API-Key: tc_live_xxxx" -H "X-Tenant-ID: ten_01j2..." \
  -H "Content-Type: application/json" \
  -d '{
    "callback_url": "https://ats.example.com/webhooks/teamcast",
    "events": [],
    "is_active": true
  }'

# → {
#     "callback_url": "https://ats.example.com/webhooks/teamcast",
#     "secret_hint": "****ab12",
#     "events": [],
#     "is_active": true,
#     "updated_at": "2026-07-14T09:00:00.000Z"
#   }
FieldNotes
callback_urlMust be https:// — validated with a DNS-resolving SSRF guard at write time
secretMin 32 chars; omit to auto-generate. Never returned again after this call — only secret_hint (last 4 chars) is readable
eventsEmpty array = subscribe to all events
is_activeSet false to pause delivery without deleting the config

Resolution order

A given interview's webhook delivery target is resolved in this order: (1) a per-run callback_url passed at creation, (2) your tenant config from above, (3) a platform-level fallback config. Per-run overrides are https-only and immutable once the run is created.

Admin/platform staff can send a synthetic test delivery (no retry, no DLQ on failure) via POST /admin/tenants/:tenantId/webhook-test to confirm your endpoint is reachable and verifying signatures correctly before going live.
Was this page helpful?