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

# Tags and hashtags

> Calendar Tags are coloured labels. Social hashtags are text. The assistant does not add #tags unless you ask

Two different things share a word. Mixing them up is how a calendar colour becomes `#fyp` in the copy, or how an API call looks like it "skipped" a tag that still exists.

## Calendar Tags

Tags are coloured labels on a post. They live at the bottom left of the composer, next to **Repeat Post Every...**. The first tag's colour becomes the strip on the calendar card; the tag names are written into that strip. They do not change what the calendar filters show.

| What you want               | What you do                                          |
| --------------------------- | ---------------------------------------------------- |
| Make one                    | Picker → **Add New Tag** → name and colour           |
| Put it on a post            | Click the row                                        |
| Take it off this post       | Click the row again                                  |
| Delete it for the workspace | Red **×** on an unselected row, then confirm by name |

The picker lists tags that are not soft-deleted. There is **no rename in the picker**. A tag you have outgrown is a delete and a new one.

### API

The create body carries a top-level `tags` array:

```json theme={"system"}
"tags": [{ "value": "Launch", "label": "Launch" }]
```

She matches `label` against `tags.name` in your organisation. A name she has never seen is skipped, not created, so make the tag in the app first.

Soft-delete is `deletedAt` on the tag row. Existing posts keep the colour. The attach query does **not** require `deletedAt: null`, so a soft-deleted tag can still attach by **label** over the API even though it no longer appears in the picker.

Rename exists as `PUT /posts/tags/:id`. The live picker does not call it. An unused editor in the source has a rename field; it is not wired into Create Post.

## Social hashtags

`#photography` and `#fyp` are just characters in the post. They count against the platform limit. They are not calendar Tags.

The in-app assistant and Auto Post prompts tell the model **not** to add hashtags unless you asked for them. She will still keep hashtags you typed yourself.

<Note>
  Mintlify page metadata does not use a `hashtags:` field. Social examples stay in the body, like this: `#fyp`.
</Note>

## Related

<CardGroup cols={2}>
  <Card title="Reusable content" icon="rotate" href="/using/reusable-content">
    Social Sets, signatures, and the picker in the composer
  </Card>

  <Card title="Calendar" icon="calendar" href="/using/calendar">
    How tag colour reads across a week
  </Card>

  <Card title="Writing a post" icon="pen" href="/using/writing-a-post">
    Where tags sit on the composer bar
  </Card>

  <Card title="Create Post API" icon="code" href="/public-api/posts/create">
    The `tags` array on `POST /posts`
  </Card>
</CardGroup>
