The tags API is a pure JSON layer designed for use by the Blade frontend and external integrations alike. Every endpoint under theDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/0m1n3m/contacts-db/llms.txt
Use this file to discover all available pages before exploring further.
/api/tags and /api/tasks/{task}/tags prefixes returns application/json regardless of the request’s Accept header. The web-form variants at /tags and /tasks/{task}/tags behave identically but redirect instead of returning JSON — use the /api/ prefix when building programmatic clients.
All endpoints require session authentication and email verification. Tag creation and modification require the admin or editor role; tag deletion requires admin.
Tag Management
GET /api/tags
Returns all tags in the system as a flat JSON array, ordered by insertion order. Role: any authenticated user Response:POST /api/tags
Creates a new tag. If nocolor is provided, the default #3B82F6 (blue) is applied.
Role: admin or editor (returns 403 for viewers)
Tag label. Maximum 50 characters. Must be non-empty.
Hex colour code for the tag badge, in the format
#RRGGBB (case-insensitive). For example: #fc4539 or #3B82F6. Defaults to #3B82F6 if omitted.201 Created):
PATCH /api/tags/
Updates an existing tag’s name, colour, or both. Fields are optional — omitted fields are left unchanged. Role: admin or editorUpdated tag label. Maximum 50 characters.
Updated hex colour code in
#RRGGBB format.200 OK):
DELETE /api/tags/
Permanently deletes a tag. Existing task–tag relationships are also removed (cascade). Role: admin only (returns403 for editors and viewers)
Example response (200 OK):
Deleting a tag removes it from all tasks that currently have it attached. This action cannot be undone.
Task Tags
GET /api/tasks//tags
Returns all tags currently attached to the specified task. Role: any authenticated userThe ID of the task whose tags you want to retrieve.
POST /api/tasks//tags/
Attaches an existing tag to a task. Idempotent — attaching a tag that is already attached does not create a duplicate. Role: admin, or editor who created the task. Returns403 for viewers and for editors who did not create the task.
The ID of the task to tag.
The ID of the tag to attach.
For the web-form variant at
POST /tasks/{task}/tags, pass the tag ID in a tag_id body parameter rather than in the URL path.200 OK):
DELETE /api/tasks//tags/
Detaches a tag from a task. Role: admin, or editor who created the task.The ID of the task to remove the tag from.
The ID of the tag to detach.
200 OK):
Task Dependencies
Task dependencies track prerequisite relationships between tasks. Each dependency record links a task to another task that must be completed before it.GET /api/tasks//dependencies
Returns all dependencies and subtasks for the specified task. The response object has two keys:dependencies (tasks that this task depends on) and subtasks (tasks that depend on this task).
Role: any authenticated user
The ID of the task whose dependency graph you want to retrieve.
200 OK):
POST /api/tasks//dependencies
Adds a dependency relationship to a task. TheCreateTaskDependencyAction checks for circular dependencies and raises a 422 if one is detected.
Role: admin, or editor who created the task.
The ID of the task that gains a dependency (i.e. the task that depends on another).
The ID of the prerequisite task — the task that must be completed first.
Relationship type. One of:
depends_on, blocks, relates_to. Defaults to depends_on if omitted.201 Created):
422 Unprocessable Entity):
DELETE /api/tasks//dependencies/
Removes a dependency record from a task. Role: admin, or editor who created the task. Also validates that the dependency belongs to the given task (returns403 if not).
The ID of the parent task.
The ID of the dependency record to remove.
200 OK):