---
canonical: https://amplience.com/developers/docs/apis/content-management-reference/content-types/
title: "Content types"
description: "API reference for content type endpoints. Covers content type registration, updating, archiving, and assignment to repositories."
audience: Developer
date_published: 2023-08-29
date_modified: 2026-06-16
---

# Content types

**Base URL:** `https://api.amplience.net/v2/content`

> **Note: Authorization and status codes**
> For authorization and status codes see the [API Reference overview](https://amplience.com/developers/docs/apis/content-management-reference/).

## Content types

| Method | Endpoint | Summary |
|--------|----------|---------|
| `POST` | `/content-repositories/{contentRepositoryId}`<br/>`/content-types` | [Assign content type to content repository](#assign-content-type-to-content-repository) |
| `DELETE` | `/content-repositories/{contentRepositoryId}`<br/>`/content-types/{contentTypeId}` | [Remove content type from content repository](#remove-content-type-from-content-repository) |
| `GET` | `/content-types/{contentTypeId}` | [Get content type](#get-content-type) |
| `PATCH` | `/content-types/{contentTypeId}` | [Update content type](#update-content-type) |
| `POST` | `/content-types/{contentTypeId}/archive` | [Archive content type](#archive-content-type) |
| `POST` | `/content-types/{contentTypeId}/unarchive` | [Unarchive content type](#unarchive-content-type) |
| `POST` | `/hubs/{hubId}/content-types` | [Create content type](#create-content-type) |
| `GET` | `/hubs/{hubId}/content-types` | [List content types](#list-content-types) |

### Assign content type to content repository

`POST /content-repositories/{contentRepositoryId}/content-types`

<small>`https://api.amplience.net/v2/content/content-repositories/{contentRepositoryId}/content-types`</small>

Assign Content Type to a Content Repository

**Parameters**

| Name | In | Type | Required | Description |
|------|----|------|----------|-------------|
| `contentRepositoryId` | path | string | ✓ | Content Repository ID<br/>Example: `00112233445566778899aabb` |

**Request Body**

Content-Type: `application/json`

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `contentTypeId` | string | ✓ | Content Type ID |

<details>
<summary>Request example</summary>

```json
{
  "contentTypeId": "00112233445566778899aabb"
}
```

</details>

**Responses**

| Status | Description |
|--------|-------------|
| 201 | Updated Content Repository |

<details>
<summary>Response Example (201)</summary>

```json
{
  "id": "00112233445566778899aabb",
  "name": "inspiration",
  "label": "inspiration",
  "status": "ACTIVE",
  "features": [
    "slots"
  ],
  "type": "CONTENT",
  "contentTypes": [
    {
      "hubContentTypeId": "00112233445566778899aabb",
      "contentTypeUri": "http://example.com/content-type.json"
    }
  ],
  "itemLocales": [
    "en_US"
  ],
  "_links": {
    "self": {
      "href": "https://api.amplience.net/v2/content/content-repositories/00112233445566778899aabb"
    },
    "content-repository": {
      "href": "https://api.amplience.net/v2/content/content-repositories/00112233445566778899aabb"
    },
    "update": {
      "href": "https://api.amplience.net/v2/content/content-repositories/00112233445566778899aabb"
    },
    "delete": {
      "href": "https://api.amplience.net/v2/content/content-repositories/00112233445566778899aabb"
    }
  }
}
```

</details>

> **Note: Abbreviated response**
> The `_links` object in this example is truncated for readability: it shows 4 of the 19 links the API actually returns. Every content repository response includes the full standard set. See [Content repository response links](https://amplience.com/developers/docs/apis/content-management-reference/content-repositories/#content-repository-response-links) for the complete list.

### Remove content type from content repository

`DELETE /content-repositories/{contentRepositoryId}/content-types/{contentTypeId}`

<small>`https://api.amplience.net/v2/content/content-repositories/{contentRepositoryId}/content-types/{contentTypeId}`</small>

Remove a Content Type from a Content Repository

**Parameters**

| Name | In | Type | Required | Description |
|------|----|------|----------|-------------|
| `contentRepositoryId` | path | string | ✓ | Content Repository ID<br/>Example: `00112233445566778899aabb` |
| `contentTypeId` | path | string | ✓ | Content Type ID<br/>Example: `00112233445566778899aabb` |

**Responses**

| Status | Description |
|--------|-------------|
| 200 | Updated Content Repository |

<details>
<summary>Response Example (200)</summary>

```json
{
  "id": "00112233445566778899aabb",
  "name": "inspiration",
  "label": "inspiration",
  "status": "ACTIVE",
  "features": [
    "slots"
  ],
  "type": "CONTENT",
  "contentTypes": [
    {
      "hubContentTypeId": "00112233445566778899aabb",
      "contentTypeUri": "http://example.com/content-type.json"
    }
  ],
  "itemLocales": [
    "en_US"
  ],
  "_links": {
    "self": {
      "href": "https://api.amplience.net/v2/content/content-repositories/00112233445566778899aabb"
    },
    "content-repository": {
      "href": "https://api.amplience.net/v2/content/content-repositories/00112233445566778899aabb"
    },
    "update": {
      "href": "https://api.amplience.net/v2/content/content-repositories/00112233445566778899aabb"
    },
    "delete": {
      "href": "https://api.amplience.net/v2/content/content-repositories/00112233445566778899aabb"
    }
  }
}
```

</details>

> **Note: Abbreviated response**
> The `_links` object in this example is truncated for readability: it shows 4 of the 19 links the API actually returns. Every content repository response includes the full standard set. See [Content repository response links](https://amplience.com/developers/docs/apis/content-management-reference/content-repositories/#content-repository-response-links) for the complete list.

### Get content type

`GET /content-types/{contentTypeId}`

<small>`https://api.amplience.net/v2/content/content-types/{contentTypeId}`</small>

Get the request Content Type

**Parameters**

| Name | In | Type | Required | Description |
|------|----|------|----------|-------------|
| `contentTypeId` | path | string | ✓ | Content Type ID<br/>Example: `00112233445566778899aabb` |

**Responses**

| Status | Description |
|--------|-------------|
| 200 | Content Type |

<details>
<summary>Response Example (200)</summary>

```json
{
  "id": "00112233445566778899aabb",
  "contentTypeUri": "http://example.com/content-type.json",
  "status": "ACTIVE",
  "settings": {
    "label": "New Content Type",
    "icons": [
      {
        "size": 256,
        "url": "http://example.com/icon.png"
      }
    ],
    "visualizations": [
      {
        "label": "Desktop Website",
        "templatedUri": "http://example.com?vse={{vse}}",
        "default": true
      }
    ]
  },
  "_links": {
    "self": {
      "href": "https://api.amplience.net/v2/content/content-types/00112233445566778899aabb"
    },
    "archive": {
      "href": "https://api.amplience.net/v2/content/content-types/00112233445566778899aabb/archive"
    },
    "unarchive": {
      "href": "https://api.amplience.net/v2/content/content-types/00112233445566778899aabb/unarchive"
    },
    "content-type": {
      "href": "https://api.amplience.net/v2/content/content-types/00112233445566778899aabb"
    },
    "effective-content-type": {
      "href": "https://api.amplience.net/v2/content/content-types/00112233445566778899aabb/effective-content-type"
    },
    "content-type-schema": {
      "href": "https://api.amplience.net/v2/content/content-types/00112233445566778899aabb/schema"
    }
  }
}
```

</details>

### Update content type

`PATCH /content-types/{contentTypeId}`

<small>`https://api.amplience.net/v2/content/content-types/{contentTypeId}`</small>

Update the Content Type

**Parameters**

| Name | In | Type | Required | Description |
|------|----|------|----------|-------------|
| `contentTypeId` | path | string | ✓ | Content Type ID<br/>Example: `00112233445566778899aabb` |

**Request Body**

Content-Type: `application/json`

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `settings` | object |  |  |

<details>
<summary>Request example</summary>

```json
{
  "settings": {
    "label": "New Content Type",
    "icons": [
      {
        "size": 256,
        "url": "http://example.com/icon.png"
      }
    ],
    "visualizations": [
      {
        "label": "Desktop Website",
        "templatedUri": "http://example.com?vse={{vse}}",
        "default": true
      }
    ]
  }
}
```

</details>

**Responses**

| Status | Description |
|--------|-------------|
| 200 | Updated Content Type |

<details>
<summary>Response Example (200)</summary>

```json
{
  "id": "00112233445566778899aabb",
  "contentTypeUri": "http://example.com/content-type.json",
  "status": "ACTIVE",
  "settings": {
    "label": "New Content Type",
    "icons": [
      {
        "size": 256,
        "url": "http://example.com/icon.png"
      }
    ],
    "visualizations": [
      {
        "label": "Desktop Website",
        "templatedUri": "http://example.com?vse={{vse}}",
        "default": true
      }
    ]
  },
  "_links": {
    "self": {
      "href": "https://api.amplience.net/v2/content/content-types/00112233445566778899aabb"
    },
    "archive": {
      "href": "https://api.amplience.net/v2/content/content-types/00112233445566778899aabb/archive"
    },
    "unarchive": {
      "href": "https://api.amplience.net/v2/content/content-types/00112233445566778899aabb/unarchive"
    },
    "content-type": {
      "href": "https://api.amplience.net/v2/content/content-types/00112233445566778899aabb"
    },
    "effective-content-type": {
      "href": "https://api.amplience.net/v2/content/content-types/00112233445566778899aabb/effective-content-type"
    },
    "content-type-schema": {
      "href": "https://api.amplience.net/v2/content/content-types/00112233445566778899aabb/schema"
    }
  }
}
```

</details>

### Archive content type

`POST /content-types/{contentTypeId}/archive`

<small>`https://api.amplience.net/v2/content/content-types/{contentTypeId}/archive`</small>

Archive a Content Type

**Parameters**

| Name | In | Type | Required | Description |
|------|----|------|----------|-------------|
| `contentTypeId` | path | string | ✓ | Content Type ID<br/>Example: `00112233445566778899aabb` |

**Responses**

| Status | Description |
|--------|-------------|
| 200 | Archived Content Type |

<details>
<summary>Response Example (200)</summary>

```json
{
  "id": "00112233445566778899aabb",
  "contentTypeUri": "http://example.com/content-type.json",
  "status": "ARCHIVED",
  "settings": {
    "label": "New Content Type",
    "icons": [
      {
        "size": 256,
        "url": "http://example.com/icon.png"
      }
    ],
    "visualizations": [
      {
        "label": "Desktop Website",
        "templatedUri": "http://example.com?vse={{vse}}",
        "default": true
      }
    ]
  },
  "_links": {
    "self": {
      "href": "https://api.amplience.net/v2/content/content-types/00112233445566778899aabb"
    },
    "archive": {
      "href": "https://api.amplience.net/v2/content/content-types/00112233445566778899aabb/archive"
    },
    "unarchive": {
      "href": "https://api.amplience.net/v2/content/content-types/00112233445566778899aabb/unarchive"
    },
    "content-type": {
      "href": "https://api.amplience.net/v2/content/content-types/00112233445566778899aabb"
    },
    "effective-content-type": {
      "href": "https://api.amplience.net/v2/content/content-types/00112233445566778899aabb/effective-content-type"
    },
    "content-type-schema": {
      "href": "https://api.amplience.net/v2/content/content-types/00112233445566778899aabb/schema"
    }
  }
}
```

</details>

### Unarchive content type

`POST /content-types/{contentTypeId}/unarchive`

<small>`https://api.amplience.net/v2/content/content-types/{contentTypeId}/unarchive`</small>

Unarchive a Content Type

**Parameters**

| Name | In | Type | Required | Description |
|------|----|------|----------|-------------|
| `contentTypeId` | path | string | ✓ | Content Type ID<br/>Example: `00112233445566778899aabb` |

**Responses**

| Status | Description |
|--------|-------------|
| 200 | Unarchived Content Type |

<details>
<summary>Response Example (200)</summary>

```json
{
  "id": "00112233445566778899aabb",
  "contentTypeUri": "http://example.com/content-type.json",
  "status": "ACTIVE",
  "settings": {
    "label": "New Content Type",
    "icons": [
      {
        "size": 256,
        "url": "http://example.com/icon.png"
      }
    ],
    "visualizations": [
      {
        "label": "Desktop Website",
        "templatedUri": "http://example.com?vse={{vse}}",
        "default": true
      }
    ]
  },
  "_links": {
    "self": {
      "href": "https://api.amplience.net/v2/content/content-types/00112233445566778899aabb"
    },
    "archive": {
      "href": "https://api.amplience.net/v2/content/content-types/00112233445566778899aabb/archive"
    },
    "unarchive": {
      "href": "https://api.amplience.net/v2/content/content-types/00112233445566778899aabb/unarchive"
    },
    "content-type": {
      "href": "https://api.amplience.net/v2/content/content-types/00112233445566778899aabb"
    },
    "effective-content-type": {
      "href": "https://api.amplience.net/v2/content/content-types/00112233445566778899aabb/effective-content-type"
    },
    "content-type-schema": {
      "href": "https://api.amplience.net/v2/content/content-types/00112233445566778899aabb/schema"
    }
  }
}
```

</details>

### Create content type

`POST /hubs/{hubId}/content-types`

<small>`https://api.amplience.net/v2/content/hubs/{hubId}/content-types`</small>

Create a new Content Type

**Parameters**

| Name | In | Type | Required | Description |
|------|----|------|----------|-------------|
| `hubId` | path | string | ✓ | Hub ID<br/>Example: `00112233445566778899aabb` |

**Request Body**

Content-Type: `application/json`

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `contentTypeUri` | string | ✓ | Content Type URI |
| `settings` | object | ✓ |  |

<details>
<summary>Request example</summary>

```json
{
  "contentTypeUri": "http://example.com/content-type.json",
  "settings": {
    "icons": [],
    "visualizations": []
  }
}
```

</details>

**Responses**

| Status | Description |
|--------|-------------|
| 201 | Created Content Type |

<details>
<summary>Response Example (201)</summary>

```json
{
  "id": "00112233445566778899aabb",
  "contentTypeUri": "http://example.com/content-type.json",
  "status": "ACTIVE",
  "settings": {
    "label": "New Content Type",
    "icons": [
      {
        "size": 256,
        "url": "http://example.com/icon.png"
      }
    ],
    "visualizations": [
      {
        "label": "Desktop Website",
        "templatedUri": "http://example.com?vse={{vse}}",
        "default": true
      }
    ]
  },
  "_links": {
    "self": {
      "href": "https://api.amplience.net/v2/content/content-types/00112233445566778899aabb"
    },
    "archive": {
      "href": "https://api.amplience.net/v2/content/content-types/00112233445566778899aabb/archive"
    },
    "unarchive": {
      "href": "https://api.amplience.net/v2/content/content-types/00112233445566778899aabb/unarchive"
    },
    "content-type": {
      "href": "https://api.amplience.net/v2/content/content-types/00112233445566778899aabb"
    },
    "effective-content-type": {
      "href": "https://api.amplience.net/v2/content/content-types/00112233445566778899aabb/effective-content-type"
    },
    "content-type-schema": {
      "href": "https://api.amplience.net/v2/content/content-types/00112233445566778899aabb/schema"
    }
  }
}
```

</details>

### List content types

`GET /hubs/{hubId}/content-types`

<small>`https://api.amplience.net/v2/content/hubs/{hubId}/content-types`</small>

List Content Types for a Hub

**Parameters**

| Name | In | Type | Required | Description |
|------|----|------|----------|-------------|
| `hubId` | path | string | ✓ | Hub ID<br/>Example: `00112233445566778899aabb` |
| `page` | query | integer |  | Page number<br/>Example: `0` |
| `size` | query | integer |  | Page size<br/>Example: `20` |
| `sort` | query | string |  | Sort paramter<br/>Example: `contentTypeUri,asc` |
| `status` | query | string |  | Comma seperated list of statuses<br/>Example: `ACTIVE,ARCHIVED` |

**Responses**

| Status | Description |
|--------|-------------|
| 200 | Paginated Content Types |

<details>
<summary>Response Example (200)</summary>

```json
{
  "_embedded": {
    "content-types": [
      {
        "id": "00112233445566778899aabb",
        "contentTypeUri": "http://example.com/content-type.json",
        "status": "ACTIVE",
        "settings": {
          "label": "New Content Type",
          "icons": [],
          "visualizations": []
        },
        "_links": {
          "self": {
            "href": "https://api.amplience.net/v2/content/content-types/00112233445566778899aabb"
          },
          "archive": {
            "href": "https://api.amplience.net/v2/content/content-types/00112233445566778899aabb/archive"
          },
          "unarchive": {
            "href": "https://api.amplience.net/v2/content/content-types/00112233445566778899aabb/unarchive"
          },
          "content-type": {
            "href": "https://api.amplience.net/v2/content/content-types/00112233445566778899aabb"
          },
          "effective-content-type": {
            "href": "https://api.amplience.net/v2/content/content-types/00112233445566778899aabb/effective-content-type"
          },
          "content-type-schema": {
            "href": "https://api.amplience.net/v2/content/content-types/00112233445566778899aabb/schema"
          }
        }
      }
    ]
  },
  "_links": {
    "self": {
      "href": "https://api.amplience.net/v2/content/content-type/00112233445566778899aabb?page=0&size=20"
    },
    "first": {
      "href": "https://api.amplience.net/v2/content/content-type/00112233445566778899aabb?page=0&size=20"
    },
    "last": {
      "href": "https://api.amplience.net/v2/content/content-type/00112233445566778899aabb?page=0&size=20"
    }
  },
  "page": {
    "size": 20,
    "totalElements": 1,
    "totalPages": 1,
    "number": 0
  }
}
```

</details>
