---
title: "Get a targeting attribute's values"
method: GET
path: "/targeting-attributes/{attribute}/values"
tags: ["Targeting Attributes"]
---

# Get a targeting attribute's values

`GET /targeting-attributes/{attribute}/values`

## Request

- Base URL: `https://api.sovrn.com/sovrnos/v1`
- URL: `https://api.sovrn.com/sovrnos/v1/targeting-attributes/{attribute}/values`
- Auth: API key in header `x-api-key`

The accepted values for one enumerated attribute. Free-text attributes have no list to enumerate, and asking for one returns `400`, so check `valueFormat` first.

## Path parameters

- `attribute` 'device.geo.country' | 'geo.zip' | 'site.domain' | 'app.bundleId' | 'device.deviceType' | 'adUnit.size' | 'audience.segmentids' | 'device.language' | 'device.geo.region' | 'content.categorization.v3' | 'content.genre' | 'publisher.id' | 'content.categorization.v1' | 'imp.tagid', required

## Response `200`

The accepted values for the attribute.

- AttributeValueList
  - `attribute` 'device.geo.country' | 'geo.zip' | 'site.domain' | 'app.bundleId' | 'device.deviceType' | 'adUnit.size' | 'audience.segmentids' | 'device.language' | 'device.geo.region' | 'content.categorization.v3' | 'content.genre' | 'publisher.id' | 'content.categorization.v1' | 'imp.tagid', required
  - `total` integer, required
  - `data` AttributeValue[], required
    - `value` string, required
    - `label` string, required

## Other responses

- `400`: The attribute accepts free text (no list to enumerate; `message` only) or the attribute key is unrecognized (framework-shaped). Check `valueFormat` first.
- `401`: The API key was missing or not accepted. **Not JSON**: a bare `text/plain` string: `api key not provided`, `invalid api key`, or `invalid api key syntax`.
- `403`: The key is valid but not permitted. `{"message": "Insufficient scope"}`: a read-only key sent a write (`POST` or `PATCH`). It is checked before the body is validated, even with `?dryRun=true`. `{"message": "Partner not authorized for this API"}`: the account is not enabled for this API. It is checked after the request is validated, so an invalid request gets its `400` first.
- `502`: The downstream deal system rejected the request, or returned a result the API could not use. On a create the deal may already exist, so check with your Sovrn representative before retrying; on a `PATCH` that set `status`, re-send the same request until it returns `200`. An archived deal refuses every edit with a `502`, so re-sending will not help. Carries a required `upstream` field. See the Errors guide.

---

[API](https://skmtc.dev/sovrn/apis/curation-api.md) - [All operations](https://skmtc.dev/sovrn/apis/curation-api/llms.txt) - [OpenAPI document](https://skmtc.dev/sovrn/apis/curation-api/revisions/0ef84c7a4a94?raw)
