complete_creator_task
Mark a hand-arranged perk as handed over, so the subscriber's grant is issued and announced.
Purpose
Records that the creator did the thing a manual perk needed: the task is marked done by the token's user, the access ledger row moves from pending to granted, and creator_task.completed then member.resource_added are raised for the grant. Use it after the creator confirms they handed the perk over — never to tidy the list.
It records a fact about the real world
Completing a task says the member received their perk. Read the task back with
list_creator_tasks and confirm with the creator first.
Required ability
project-subscription:update
Input schema
{
"type": "object",
"required": ["task_id"],
"properties": {
"task_id": { "type": "string", "description": "UUID of the task to complete, from list_creator_tasks or the creator_task.opened event." }
}
}Output shape
{
"data": {
"id": "9e4b2c71-3d58-4a6f-b0e2-7c1d5f8a9b34",
"grant_id": "7d1c3e9a-2b64-4f0e-9a58-3c6b1d8e2f47",
"project_id": "7f3d1c92-8b45-4e6a-9d21-5c8e0a4b6f13",
"subscription_id": "5b7e2d40-1a86-4c39-97f2-e83d0b16c5a4",
"subscriber_id": "2a91c4e7-6f38-4b52-8e0d-9c1a7b3f5d80",
"resource_id": "b73c5f21-9d80-4a6e-8215-4f70ce13a9d6",
"resource_title": "Welcome packet",
"instructions": "Give Ada Lovelace access to Welcome packet.",
"due_at": null,
"completed_at": "2026-09-12T10:35:00+00:00",
"completed_by_user_id": "0a7d3c1e-5b28-4f96-a3e1-6d9c2b8f4e10",
"created_at": "2026-09-12T10:05:30+00:00"
}
}Example prompts
"I've sent Ada her welcome packet — mark that task done."
Failure modes
VALIDATION_FAILED— the task is already done, or its purchase has ended so there is nothing left to grant.RESOURCE_NOT_FOUND— unknowntask_id, or a task outside the token's scope.AUTHENTICATION_REQUIRED— no authenticated user on the request.TOKEN_MISSING_ABILITY— token lacksproject-subscription:update.
Related
How is this guide?