Skip to main content

Tags

Organize and categorize reports using tags.

Overview

Tags provide a flexible way to categorize and organize reports. Multiple tags can be applied to a single report, and tags can be used for filtering and search.

GET /api/reports/{id}/tags

Get all tags associated with a report.

Authentication: Required

Path Parameters:

ParameterTypeDescription
idstringReport ID

Response:

The tag assignments for this report.

List a report’s tagsGET /api/reports/admin:sales-overview/tags
The tag assignments (TagEntity rows) for this report.
Response · 200
{
"_links": {
"self": {
"href": "https://informer.example.com/api/reports/admin%3Asales-overview/tags"
}
},
"start": 0,
"count": 1,
"total": 1,
"_embedded": {
"inf:tag-entity": [
{
"_links": {
"self": {
"href": "https://informer.example.com/api/reports/00000000-0000-4000-8000-000000000001/tags/00000000-0000-4000-8000-000000000002"
}
},
"id": "00000000-0000-4000-8000-000000000003",
"tagId": "00000000-0000-4000-8000-000000000002",
"datasetId": null,
"queryId": null,
"reportId": "00000000-0000-4000-8000-000000000001",
"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": null,
"source": null,
"sourceId": null,
"createdAt": "2026-01-15T16:20:00.000Z",
"updatedAt": "2026-01-15T16:20:00.000Z"
}
}
}
]
}
}
Captured from the API examples test suite; ids and timestamps are normalized.

Response Fields:

FieldTypeDescription
idstringTag entity UUID
tagIdstringTag identifier
reportIdstringReport ID

The embedded inf:tag contains full tag metadata including name and color.


GET /api/reports/{id}/tags/{tagId}

Get a specific tag association.

Authentication: Required

Path Parameters:

ParameterTypeDescription
idstringReport ID
tagIdstringTag ID

Response:

Get a tag assignmentGET /api/reports/admin:sales-overview/tags/00000000-0000-4000-8000-000000000001
Response · 200
{
"_links": {
"self": {
"href": "https://informer.example.com/api/reports/admin%3Asales-overview/tags/00000000-0000-4000-8000-000000000001"
},
"inf:report": {
"href": "https://informer.example.com/api/reports/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": null,
"queryId": null,
"reportId": "00000000-0000-4000-8000-000000000002",
"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"
}
Captured from the API examples test suite; ids and timestamps are normalized.

PUT /api/reports/{id}/tags/{tagId}

Add a tag to a report.

Authentication: Required

Permissions: report:assignTags

Path Parameters:

ParameterTypeDescription
idstringReport ID
tagIdstringTag ID to add

Request Body:

Empty body or {}

Response:

Responds 200. The tag must already exist (create tags via the Tags API).

Assign a tag to a reportPUT /api/reports/admin:sales-overview/tags/00000000-0000-4000-8000-000000000001
tagId is an existing tag (create tags via the Tags API). Idempotent.
Response · 200
{
"_links": {
"self": {
"href": "https://informer.example.com/api/reports/admin%3Asales-overview/tags/00000000-0000-4000-8000-000000000001"
}
},
"id": "00000000-0000-4000-8000-000000000002",
"tenant": "acme",
"tagId": "00000000-0000-4000-8000-000000000001",
"reportId": "00000000-0000-4000-8000-000000000003",
"updatedAt": "2026-01-15T16:20:00.000Z",
"createdAt": "2026-01-15T16:20:00.000Z",
"_altid": null,
"datasetId": null,
"queryId": null,
"templateId": null,
"source": null,
"sourceId": null,
"datasourceId": null,
"jobId": null,
"assistantId": null,
"libraryId": null,
"toolkitId": null,
"integrationId": null,
"appId": null
}
Captured from the API examples test suite; ids and timestamps are normalized.

Behavior:

  • Creates a tag association if it doesn't exist
  • Idempotent - safe to call multiple times
  • The tag must already exist (see Tag API for creating tags)
  • Executes in a database transaction

Use Case:

Associate an existing tag with a report for categorization.


DELETE /api/reports/{id}/tags/{tagId}

Remove a tag from a report.

Authentication: Required

Permissions: report:assignTags

Path Parameters:

ParameterTypeDescription
idstringReport ID
tagIdstringTag ID to remove

Response:

Responds 200 on success.

Remove a tag from a reportDELETE /api/reports/admin:sales-overview/tags/00000000-0000-4000-8000-000000000001
Response · 200 · no body
Captured from the API examples test suite; ids and timestamps are normalized.

Behavior:

  • Removes the tag association
  • Does not delete the tag itself (only removes from this report)
  • Executes in a database transaction

Use Case:

Remove a tag categorization from a report.


Tag Management Workflow

1. List available tags

GET /api/tags

2. Apply tag to report

PUT /api/reports/team:sales-dashboard/tags/sales

3. View report's tags

GET /api/reports/team:sales-dashboard/tags

4. Remove tag

DELETE /api/reports/team:sales-dashboard/tags/sales

Tag Best Practices

Use tags for:

  • Department/team categorization (sales, marketing, finance)
  • Report type classification (dashboard, analysis, summary)
  • Data domain (customer, product, revenue)
  • Update frequency (daily, weekly, monthly)
  • Status labels (draft, published, archived)

Tag naming:

  • Use lowercase with hyphens for multi-word tags
  • Keep tag IDs short and meaningful
  • Use consistent naming conventions across the organization

Example tag structure:

dept:sales
dept:marketing
type:dashboard
type:analysis
freq:daily
freq:weekly
domain:customer
domain:product

  • GET /api/tags - List all available tags
  • POST /api/tags - Create a new tag
  • GET /api/tags/{id} - Get tag details
  • PUT /api/tags/{id} - Update tag properties
  • DELETE /api/tags/{id} - Delete a tag

See the Tag API documentation for full tag management capabilities.