---
title: "Create a label"
description: "Colour is optional; omitted, the label renders in the default."
url: "https://openemail.uk/docs/api/labels/create"
area: "API"
category: "Mailbox"
---

# Create a label

Colour is optional; omitted, the label renders in the default.

`POST /labels`

## POST /labels

Colour is optional; omitted, the label renders in the default.

## Example

Needs `labels:write`.

**curl**

```
curl -X POST "$OE/labels" -H "$AUTH" -H "Content-Type: application/json" \
  -d '{
    "name": "Invoices",
    "color": { "backgroundColor": "#e8f0fe", "textColor": "#1967d2" }
  }'
```

**Response**

```
{ "object": "label", "id": "USER_INVOICES", "name": "Invoices" }
```

> Read `id` back from the response rather than building it. It comes from the name today, and that is not part of the contract.
