> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nedzo.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Create a contact tag

> Create a tag in a workspace.

Every plan can use this endpoint. Every request needs `workspaceId`.

## Body

**workspaceId** `string` *required*

The workspace. Required.

**name** `string` *required*

The tag name, 1 to 100 characters after trimming. Names are not case-sensitive: the tag is stored lowercase, so `"VIP"` becomes `"vip"`.

This endpoint takes names of up to 100 characters. The `tags` field on [create](https://docs.nedzo.ai/api-reference/contacts/create.md), [update](https://docs.nedzo.ai/api-reference/contacts/update.md) and [upsert](https://docs.nedzo.ai/api-reference/contacts/upsert.md) takes names of up to 255.

```bash cURL theme={null}
curl -X POST "https://api.nedzo.ai/v1/contacts/tags" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "workspaceId": "789e4567-e89b-12d3-a456-426614174000", "name": "VIP" }'
```

```json 201 Created theme={null}
{ "id": "9b2f6c1e-1d2a-4f3b-8c4d-5e6f7a8b9c0d", "workspaceId": "789e4567-e89b-12d3-a456-426614174000", "name": "vip", "createdAt": "2026-10-11T12:00:00Z", "updatedAt": "2026-10-11T12:00:00Z" }
```

## Errors

| Status | When |
| - | - |
| `400` | `name` is missing, empty or longer than 100 characters, `workspaceId` is not a UUID, or `workspaceId` is missing. |
| `404` | The workspace is not in this key's scope. |
| `409` | The workspace already has a tag with this name, in any case. The message is `A tag with this name already exists`. |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.