---
title: "List label assignments for resource targets"
method: POST
path: "/labels/assignments"
tags: ["labels"]
---

# List label assignments for resource targets

`POST /labels/assignments`

## Request

- Base URL: `https://api.axiom.co/v2`
- URL: `https://api.axiom.co/v2/labels/assignments`
- Auth: OAuth 2
  - Authorization code: `https://accounts.google.com/o/oauth2/v2/auth`
  - Token URL: `https://www.googleapis.com/oauth2/v4/token`
- TypeScript: <https://skmtc.dev/axiom/apis/axiom-public-api/docs/labels/assignments/post.ts> (a function with typed inputs; its response is checked against the schema)

Accepts 1-500 unique resource targets and preserves their request order. Returns exactly one result per target. An eligible target without assignments, a target that does not exist, and a target that the caller cannot access all return an empty labelIds array. The response does not distinguish these cases. labelIds is a set with no meaningful order. The operation is safe and idempotent despite using POST. Eligible targets are owned saved dashboards, visible integration dashboards, readable datasets, visible monitors, and visible notifiers. Each target is checked using its resource's read permission; missing permissions yield empty labelIds for that target. Dashboards shared into the organization are not eligible. A target that uses the wrong identifier for its type returns 400. An unknown target type, duplicate targets, and more than 500 targets fail request validation with 422. An internal failure while resolving targets fails the whole request instead of returning empty label sets.

## Request body

- LabelAssignmentsQuery
  - `targets` LabelAssignmentTarget[], required
    - `dataset` string: Required only for frontend-generated integration dashboards and rejected for other target types. Use the current dataset name. Assignments use the underlying dataset instance, so permanent deletion and recreation do not restore old labels.
    - `id` string: Public identifier for the resource. Use the dashboard UID for a dashboard, the dataset name for a dataset, and the ID returned by the monitor, notifier, or backend-provided integration dashboard APIs.
    - `templateId` string: Stable frontend-owned template key for a frontend-generated integration dashboard, such as k8s.stats. Requires dataset and rejects id. Whitespace and control characters are rejected.
    - `type` 'dashboard' | 'integration_dashboard' | 'dataset' | 'monitor' | 'notifier', required

## Response `200`

One result for each requested target, in request order. labelIds is empty when the target has no assignments, does not exist, or is not accessible to the caller. The response does not distinguish those cases. labelIds is a set with no meaningful order.

- LabelAssignmentResult[]
  - `labelIds` LabelID[], required
  - `target` LabelAssignmentTarget, required: A resource that supports organization labels. Single-identifier targets use id; frontend-generated integration dashboards use templateId and dataset.
    - `dataset` string: Required only for frontend-generated integration dashboards and rejected for other target types. Use the current dataset name. Assignments use the underlying dataset instance, so permanent deletion and recreation do not restore old labels.
    - `id` string: Public identifier for the resource. Use the dashboard UID for a dashboard, the dataset name for a dataset, and the ID returned by the monitor, notifier, or backend-provided integration dashboard APIs.
    - `templateId` string: Stable frontend-owned template key for a frontend-generated integration dashboard, such as k8s.stats. Requires dataset and rejects id. Whitespace and control characters are rejected.
    - `type` 'dashboard' | 'integration_dashboard' | 'dataset' | 'monitor' | 'notifier', required

## Other responses

- `400`: A target uses the wrong identifier for its type.
- `422`: Request validation failed. The request contains an unknown target type, duplicate targets, or more than 500 targets.

## Changes

- **2026-11-02** (v2) `e3baf3b85e8d`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/axiom/apis/axiom-public-api/changes/labels/assignments/post.md)

---

[API](https://skmtc.dev/axiom/apis/axiom-public-api.md) - [All operations](https://skmtc.dev/axiom/apis/axiom-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/axiom/apis/axiom-public-api/revisions/7e39a295e3ba?raw)
