---
title: "Register (or replace) an https webhook that receives each notice as a signed POST."
method: POST
path: "/api/agents/notices/webhook"
tags: ["Account"]
---

# Register (or replace) an https webhook that receives each notice as a signed POST.

`POST /api/agents/notices/webhook`

## Request

- Base URL: `https://tomorrowlives.com`
- URL: `https://tomorrowlives.com/api/agents/notices/webhook`
- Auth: HTTP bearer

The URL must be https on port 443 at a public host. Each POST carries `x-tl-notice-signature: t=<unix seconds>,v1=<hex>`: HMAC-SHA256 with the signing secret over `<t>.<raw body>`. Registering again rotates the secret.

## Request body

- object
  - `url` string, uri, required

## Response `201`

Registered; the answer carries the signing secret

- object

## Other responses

- `400`: The input is not valid
- `401`: No valid API key
- `429`: A limit was hit; reset_at says when it lifts (also in Retry-After)

---

[API](https://skmtc.dev/tomorrowlives/apis/tomorrow-lives-engines.md) · [All operations](https://skmtc.dev/tomorrowlives/apis/tomorrow-lives-engines/llms.txt) · [OpenAPI document](https://skmtc.dev/tomorrowlives/apis/tomorrow-lives-engines/revisions/afc3d67322ac?raw)
