---
title: "Delete a user label"
method: DELETE
path: "/v0/profiles/{address}/labels"
tags: ["Profiles"]
---

# Delete a user label

`DELETE /v0/profiles/{address}/labels`

## Request

- Base URL: `https://api.formo.so`
- URL: `https://api.formo.so/v0/profiles/{address}/labels`
- Auth: HTTP bearer

Delete a label from a wallet. Pass chain_id to scope the deletion to a specific chain; omit it to match labels without a chain scope. Requires profiles:write scope.

## Path parameters

- `address` string, required

## Request body

- object
  - `tag_id` string, required: Label identifier to delete
  - `chain_id` string: Optional chain identifier to scope the deletion

## Response `204`

Label deleted. No body; the caller already knows the new state.

## Other responses

- `400`: The request was rejected. `code` is either `INVALID_VALIDATION_REQUEST` (Zod schema mismatch; `details` carries a `{ fieldPath: message }` map) or `BAD_REQUEST` (semantic validation failure outside Zod, e.g. mismatched IDs, business-rule violations). Branch on `code`, not status, to tell the two apart.
- `401`: Missing or invalid API key.
- `403`: The API key is valid but lacks the required scope for this endpoint.
- `404`: The requested resource does not exist or is not visible to this API key's workspace.
- `429`: Per-workspace rate limit exceeded. Inspect the `RateLimit-*` response headers and back off.
- `500`: An unexpected error occurred on the server. The error has been logged; retry with exponential backoff.

---

[API](https://skmtc.dev/formo/apis/formo-public-api.md) · [All operations](https://skmtc.dev/formo/apis/formo-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/formo/apis/formo-public-api/revisions/67ada57df63c?raw)
