---
title: "Update labels"
method: PATCH
path: "/ad_accounts/{ad_account_id}/labels"
tags: ["labels"]
---

# Update labels

`PATCH /ad_accounts/{ad_account_id}/labels`

[Closed beta](/docs/getting-started/using-beta-and-restricted-features/)

Change the properties of one or more labels.

## Path parameters

- `ad_account_id` string, required

## Request body

- LabelUpdateRequest
  - `labels` LabelUpdateItem[], required — Labels that you are applying to the campaign.
    - `id` string, required
    - `status` 'ACTIVE' | 'ARCHIVED' — Label status values.
    - `value` string — Label name. 100-character limit.

## Response `200`

The request has succeeded.

- LabelsResponse
  - `errors` LabelError[] — Labels that were not successfully applied.
    - `data` LabelErrorData
      - `id` string
      - `label_type` 'BRAND' | 'CUSTOM' | 'null', nullable — Category for the labeled items. You can apply one BRAND label to a campaign. You can apply 30 CUSTOM labels to a campaign.
      - `status` 'ACTIVE' | 'ARCHIVED' | 'null', nullable — The new status you want to give the label, either `ACTIVE` (in use) or no longer in use (`ARCHIVED`).
      - `value` string — Label name. 100-character limit.
    - `error_messages` string[]
  - `labels` Label[]
    - `id` string, required
    - `label_type` 'BRAND' | 'CUSTOM' | 'null', nullable, required — Category for the labeled items. You can apply one BRAND label to a campaign. You can apply 30 CUSTOM labels to a campaign.
    - `status` 'ACTIVE' | 'ARCHIVED' | 'null', nullable — The new status you want to give the label, either `ACTIVE` (in use) or no longer in use (`ARCHIVED`).
    - `value` string, required — Label name. 100-character limit.

## Other responses

- `400` — The request could not be understood by the server due to unexpected data.
- `401` — Authentication is required and has either failed or not been provided.
- `403` — The request was valid, but the server is refusing action. The user might not have the necessary permissions for a resource.
- `404` — The requested resource could not be found on this server.
- `429` — The user has sent too many requests in a given amount of time and is being rate limited.
- `default` — An unexpected error response.

## Changes

- **2026-06-04** (v5) `b698c180678a` — 6 breaking, 4 warning, 10 info
  - added `#/components/schemas/Pinterest.Lib.IntegerFormatType` to the `labels/items/id` request property `allOf` list
  - the request property `labels/items/status` became not nullable
  - removed the enum value `undefined` of the request property `labels/items/status`
  - the `labels/items/id` request property type changed from `string` to no type
  - …16 more
- **2025-10-16** (v5) `14c297539b64` — 6 breaking, 16 warning, 2 info
  - the response property `errors/items/data/label_type` became nullable for the status `200`
  - the response property `errors/items/data/parent_type` became nullable for the status `200`
  - the response property `errors/items/data/status` became nullable for the status `200`
  - the response property `labels/items/label_type` became nullable for the status `200`
  - …20 more
- **2025-08-14** (v5) `7d64d863909a` — 1 warning
  - the `labels/items/value` request property's maxLength was set to `100`
- **2025-07-16** (v5) `43134ca41f18` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/pinterest/apis/pinterest-rest-api/changes/ad_accounts/:ad_account_id/labels/patch.md)

---

[API](https://skmtc.dev/pinterest/apis/pinterest-rest-api.md) · [All operations](https://skmtc.dev/pinterest/apis/pinterest-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/pinterest/pinterest-rest-api/revisions/b698c180678a/schema)
