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

# Overview

> APIs for creating, updating, and managing content in your Publive CMS

The Content Management Service (CMS) provides full CRUD access to your content. Use these APIs to create, update, retrieve, and delete posts, categories, tags, and media programmatically.

**Base URL:** `https://cms.thepublive.com/publisher/{publisher_id}/`

<Info>
  All CMS endpoints require HTTP Basic Auth via the `Authorization` header. Request `Content-Type` varies by endpoint — most POST/PATCH endpoints use `application/json`, but check each endpoint's page: for example, Media Library's create/update endpoints require `multipart/form-data` or `application/x-www-form-urlencoded` instead.
</Info>

## Resources

| Resource                                                       | Endpoints                              | Description                                  |
| -------------------------------------------------------------- | -------------------------------------- | -------------------------------------------- |
| [Categories](/dxp/api-reference/content-management/categories) | List, Create, Retrieve, Update, Delete | Manage content categories                    |
| [Tags](/dxp/api-reference/content-management/tags)             | List, Create, Retrieve, Update, Delete | Manage content tags                          |
| [Posts](/dxp/api-reference/content-management/posts)           | List, Create, Retrieve, Update, Delete | Manage articles, videos, galleries, and more |
| [Media Library](/dxp/api-reference/content-management/media)   | List, Create, Retrieve, Update, Delete | Manage images, videos, and files             |

## Common patterns

### Authentication

```bash theme={null}
-H 'Authorization: Basic <BASE64_AUTH_TOKEN>'
-H 'Content-Type: application/json'  # varies by endpoint — see each endpoint's page
```

### Pagination

All list endpoints return paginated results:

```json theme={null}
{
  "count": 245,
  "next": "https://cms.thepublive.com/publisher/123/category/?page=2&limit=10",
  "previous": null,
  "results": [...]
}
```

| Parameter | Default | Max  |
| --------- | ------- | ---- |
| `page`    | 1       | 1000 |
| `limit`   | 10      | 50   |

### Update method

Most update endpoints use **PATCH** (partial update) — you only need to send the fields you want to change. Form Schema's update endpoint is the exception and uses **PUT** (full replace).

### Success responses

| Operation | Status | Message                 |
| --------- | ------ | ----------------------- |
| Create    | 201    | "Created Successfully"  |
| Update    | 200    | "Updated Successfully"  |
| Delete    | 200    | "Deleted successfully!" |
