creator_task.completed
The creator marked a manual perk as handed over; the grant is issued.
When this fires
The creator (or a teammate, an integration or an agent on their behalf) marks a creator task done: on the members page, through POST …/creator-tasks/{task}/complete or the MCP tool complete_creator_task. The access ledger row moves from pending to granted, this event says who did it, and member.resource_added follows for the same grant_id with mode creator_task.
Required ability
project-subscription:view — token must carry this at mint time to subscribe an endpoint to this event.
Payload
{
"id": "evt_01HX...",
"type": "creator_task.completed",
"created_at": "2026-09-12T10:35:00Z",
"api_version": "2026-05-01",
"project_id": "7f3d1c92-8b45-4e6a-9d21-5c8e0a4b6f13",
"data": {
"task_id": "9e4b2c71-3d58-4a6f-b0e2-7c1d5f8a9b34",
"grant_id": "7d1c3e9a-2b64-4f0e-9a58-3c6b1d8e2f47",
"subscription_id": "5b7e2d40-1a86-4c39-97f2-e83d0b16c5a4",
"subscriber_id": "2a91c4e7-6f38-4b52-8e0d-9c1a7b3f5d80",
"resource_id": "b73c5f21-9d80-4a6e-8215-4f70ce13a9d6",
"resource_kind": "manual",
"completed_at": "2026-09-12T10:35:00Z",
"completed_by_user_id": "0a7d3c1e-5b28-4f96-a3e1-6d9c2b8f4e10"
}
}Field reference
| Field | Type | Notes |
|---|---|---|
id | string ULID | Unique event id, prefixed evt_. Use for idempotent processing. |
type | string | Always creator_task.completed for this event. |
created_at | ISO 8601 timestamp | Server-side emission time. |
api_version | string | Webhook API contract version. |
project_id | string UUID | Project this event belongs to. |
data.task_id | string UUID | The task that was completed. |
data.grant_id | string UUID | The access ledger row, now granted. |
data.subscription_id | string UUID | Subscription that entitles the member. |
data.subscriber_id | string UUID | Subscriber's project-scoped user id. |
data.resource_id | string UUID | The manual resource. |
data.resource_kind | string | Always manual: only a manual perk opens a creator task. |
data.completed_at | ISO 8601 timestamp | When it was marked done. |
data.completed_by_user_id | string UUID | The creator or teammate who marked it done. |
Caveats
- Completing a task is not idempotent over the API: a second call for a completed task answers
422 VALIDATION_FAILED. - The member is not messaged by a bot on completion; tell them yourself, or let the portal show the perk as delivered.
Related events
creator_task.opened— the task being done.member.resource_added— raised for the same grant on completion.- Creator task events overview — back to family overview.
How is this guide?