
Wiring up a webhook consumer?
Copy & paste these docs to your favorite coding agent.
Memelord sends an HTTP POST to each configured Webhook URL when a mission completes. The JSON body is flat: post text plus finished media.
Return any 2xx to acknowledge. Requests time out after 15 seconds. Delivery is best-effort and sent once — there is no automatic retry, and a non-2xx response is recorded as a failed delivery.
| Header | Type | Description |
|---|---|---|
| Content-Type | string | application/json |
| X-Memelord-Event | string | mission.completed |
| X-Memelord-Delivery-Id | string | Same as the body id. |
| Field | Type | Description |
|---|---|---|
| event | string | mission.completed |
| version | number | Schema version. 1 |
| id | string | Unique id for this mission run. Use it to ignore a duplicate you have already processed. |
| title | string | Mission name. |
| text | string or null | Post text / caption. |
| created_at | string | ISO 8601 timestamp. |
| media | MediaItem[] | Finished media. Empty for text-only. |
| Field | Type | Description |
|---|---|---|
| type | string | image, video, audio, or file |
| url | string | Signed, time-limited URL to the media. |
| thumbnail_url | string? | Poster / thumbnail, when available. |
| alt_text | string? | Accessibility text, when available. |
{
"event": "mission.completed",
"version": 1,
"id": "2c3bf7df-1a76-495d-9733-88dba6da8253",
"title": "Daily Deadlock meme",
"text": "Valve still has no balance team and the memes write themselves.",
"created_at": "2026-05-30T12:01:29.000Z",
"media": [
{
"type": "video",
"url": "https://assets.memelord.com/...signed....mp4",
"thumbnail_url": "https://assets.memelord.com/...thumb.webp"
}
]
}id is unique per mission run — use it to ignore a duplicate you have already processed.version bumps on breaking changes.