Tags
Assign tags to Datasets for organization and discovery. Tags themselves are
tenant-wide entities (POST /api/tags with { name, color? } creates one);
these routes manage their assignment to a Dataset.
GET /api/datasets/{id}/tags
List the Dataset's tag assignments, with each Tag embedded.
Authentication: Required
List a Dataset's tagsGET /api/datasets/admin:northwind-orders/tags
Tag assignments with the Tag embedded.
Response · 200
{
"_links": {
"self": {
"href": "https://informer.example.com/api/datasets/admin%3Anorthwind-orders/tags"
}
},
"start": 0,
"count": 1,
"total": 1,
"_embedded": {
"inf:tag-entity": [
{
"_links": {
"self": {
"href": "https://informer.example.com/api/datasets/00000000-0000-4000-8000-000000000001/tags/00000000-0000-4000-8000-000000000002"
}
},
"id": "00000000-0000-4000-8000-000000000003",
"tagId": "00000000-0000-4000-8000-000000000002",
"datasetId": "00000000-0000-4000-8000-000000000001",
"queryId": null,
"reportId": null,
"templateId": null,
"datasourceId": null,
"jobId": null,
"assistantId": null,
"libraryId": null,
"appId": null,
"toolkitId": null,
"integrationId": null,
"source": null,
"sourceId": null,
"createdAt": "2026-01-15T16:20:00.000Z",
"updatedAt": "2026-01-15T16:20:00.000Z",
"tenant": "acme",
"_embedded": {
"inf:tag": {
"_links": {
"self": {
"href": "https://informer.example.com/api/tags/00000000-0000-4000-8000-000000000002"
}
},
"permissions": {
"edit": true,
"delete": true,
"write": true,
"rename": true
},
"id": "00000000-0000-4000-8000-000000000002",
"tenant": "acme",
"name": "Quarterly",
"color": "blue",
"source": null,
"sourceId": null,
"createdAt": "2026-01-15T16:20:00.000Z",
"updatedAt": "2026-01-15T16:20:00.000Z"
}
}
}
]
}
}
GET /api/datasets/{id}/tags/{tagId}
Get one tag assignment. Answers 404 when the tag is not assigned to the
Dataset.
Authentication: Required
Get one tag assignmentGET /api/datasets/admin:northwind-orders/tags/00000000-0000-4000-8000-000000000001
Response · 200
{
"_links": {
"self": {
"href": "https://informer.example.com/api/datasets/admin%3Anorthwind-orders/tags/00000000-0000-4000-8000-000000000001"
},
"inf:dataset": {
"href": "https://informer.example.com/api/datasets/00000000-0000-4000-8000-000000000002"
},
"inf:tag": {
"href": "https://informer.example.com/api/tags/00000000-0000-4000-8000-000000000001"
}
},
"id": "00000000-0000-4000-8000-000000000003",
"tagId": "00000000-0000-4000-8000-000000000001",
"datasetId": "00000000-0000-4000-8000-000000000002",
"queryId": null,
"reportId": null,
"templateId": null,
"datasourceId": null,
"jobId": null,
"assistantId": null,
"libraryId": null,
"appId": null,
"toolkitId": null,
"integrationId": null,
"source": null,
"sourceId": null,
"createdAt": "2026-01-15T16:20:00.000Z",
"updatedAt": "2026-01-15T16:20:00.000Z",
"tenant": "acme"
}
PUT /api/datasets/{id}/tags/{tagId}
Assign a tag to the Dataset (upsert; an empty body is fine).
Authentication: Required
Permission: dataset:assignTags (Data Wizard or above on the owning
team)
Tag a DatasetPUT /api/datasets/admin:northwind-orders/tags/00000000-0000-4000-8000-000000000001
tagId references an existing Tag (POST /api/tags creates one). The body is empty; PUT upserts the assignment.
Request body
{}
Response · 200
{
"_links": {
"self": {
"href": "https://informer.example.com/api/datasets/admin%3Anorthwind-orders/tags/00000000-0000-4000-8000-000000000001"
}
},
"id": "00000000-0000-4000-8000-000000000002",
"tenant": "acme",
"datasetId": "00000000-0000-4000-8000-000000000003",
"tagId": "00000000-0000-4000-8000-000000000001",
"updatedAt": "2026-01-15T16:20:00.000Z",
"createdAt": "2026-01-15T16:20:00.000Z",
"_altid": null,
"reportId": null,
"queryId": null,
"templateId": null,
"source": null,
"sourceId": null,
"datasourceId": null,
"jobId": null,
"assistantId": null,
"libraryId": null,
"toolkitId": null,
"integrationId": null,
"appId": null
}
DELETE /api/datasets/{id}/tags/{tagId}
Remove a tag assignment. The Tag itself survives for use elsewhere.
Authentication: Required
Permission: dataset:assignTags (Data Wizard or above on the owning
team)
Untag a DatasetDELETE /api/datasets/admin:northwind-orders/tags/00000000-0000-4000-8000-000000000001
Removes the assignment only; the Tag itself survives. Responds 200 with an empty body.
Response · 200 · no body
Responds 200 with an empty body.