Skip to main content
POST
/
publisher
/
{publisher_id}
/
entities
/
content-type
Create Custom Content Type
curl --request POST \
  --url https://cms.thepublive.com/publisher/{publisher_id}/entities/content-type/ \
  --header 'Authorization: Basic <encoded-value>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "type": "<string>",
  "name": "<string>",
  "api_slug": "<string>",
  "api_collections_slug": "<string>",
  "response_type": "<string>",
  "field_types": [
    {}
  ],
  "groups": [
    {}
  ],
  "components": [
    {}
  ],
  "settings": {},
  "global_system_default": true
}
'
{
  "status": "success",
  "message": "Created Successfully",
  "data": {
    "id": "sch_abc123",
    "type": "Collection",
    "name": "Movies",
    "api_slug": "movie",
    "api_collections_slug": "movies",
    "response_type": "json",
    "field_types": [
      {
        "name": "name",
        "type": "short_text",
        "validations": { "required": {}, "group_editable": true },
        "meta_data": {
          "type": { "value": "input" },
          "label": { "value": "name" },
          "placeholder": { "value": "" },
          "default": { "value": null },
          "tooltip": { "value": "" }
        }
      },
      {
        "name": "link",
        "type": "url",
        "validations": { "required": {}, "group_editable": true },
        "meta_data": {
          "type": { "value": "input" },
          "label": { "value": "link" },
          "placeholder": { "value": "" },
          "default": { "value": null },
          "tooltip": { "value": "" }
        }
      }
    ],
    "groups": [],
    "components": [],
    "settings": {
      "entry_title": "name",
      "searchable_fields": [],
      "filter_fields": [],
      "allowed_states": ["Published", "Draft", "Scheduled", "Approval Pending"],
      "access_control": {},
      "enable_component_preview": false,
      "enable_content_rule": false,
      "enable_custom_date": false,
      "enable_seo_properties": false,
      "enable_code_ingestion": false
    },
    "global_system_default": false
  }
}
Creates a new custom content type schema with a defined set of field types and settings.
publisher_id
string
required
Your Publisher ID
type
string
required
Schema type. Accepted values: Collection (multiple entries)
name
string
required
Display name for the content type (e.g. "Movies")
api_slug
string
required
Immutable Singular API slug used for single-entry endpoints (e.g. "movie")
api_collections_slug
string
required
Immutable Plural API slug used for collection endpoints (e.g. "movies")
response_type
string
default:"json"
Response format. Currently supports json.
field_types
array
Array of field definitions. Each object supports:
KeyTypeRequiredDescription
namestringYesField identifier
typestringYesField type: short_text, long_text, url, integer, boolean, media, etc.
meta_dataobjectNoUI metadata — label, tooltip, type, placeholder, default (each wrapped as {"value": ...})
validationsobjectNoValidation rules — required, group_editable
group_idstringNoField group assignment
groups
array
Field group definitions for organizing fields in the editor.
components
array
Associated custom component schema IDs.
settings
object
Type-level settings.
KeyTypeDescription
entry_titlestringField name used as the entry’s display title
searchable_fieldsarrayFields available for full-text search
filter_fieldsarrayFields available as filters in listings
allowed_statesarrayPermitted states: Published, Draft, Scheduled, Approval Pending
access_controlobjectRole-based access configuration
enable_component_previewbooleanEnable live component preview
enable_content_rulebooleanEnable content rules engine
enable_custom_datebooleanAllow custom publish date
enable_seo_propertiesbooleanShow SEO fields on entries
enable_code_ingestionbooleanAllow code-based content ingestion
global_system_default
boolean
default:"false"
Mark this as a system-level default type.

Example Request

curl -X POST \
  'https://cms.thepublive.com/publisher/123/entities/content-type/' \
  -H 'Authorization: Basic <BASE64_AUTH_TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{
    "type": "Collection",
    "name": "Movies",
    "api_slug": "movie",
    "api_collections_slug": "movies",
    "response_type": "json",
    "settings": {
      "entry_title": "name",
      "searchable_fields": [],
      "filter_fields": [],
      "allowed_states": ["Published", "Draft", "Scheduled", "Approval Pending"],
      "access_control": {},
      "enable_component_preview": false,
      "enable_content_rule": false,
      "enable_custom_date": false,
      "enable_seo_properties": false,
      "enable_code_ingestion": false
    },
    "field_types": [
      {
        "name": "name",
        "type": "short_text",
        "validations": { "required": {}, "group_editable": true },
        "meta_data": {
          "type": { "value": "input" },
          "label": { "value": "name" },
          "placeholder": { "value": "" },
          "default": { "value": null },
          "tooltip": { "value": "" }
        }
      },
      {
        "name": "link",
        "type": "url",
        "validations": { "required": {}, "group_editable": true },
        "meta_data": {
          "type": { "value": "input" },
          "label": { "value": "link" },
          "placeholder": { "value": "" },
          "default": { "value": null },
          "tooltip": { "value": "" }
        }
      }
    ],
    "groups": [],
    "components": [],
    "global_system_default": false
  }'
{
  "status": "success",
  "message": "Created Successfully",
  "data": {
    "id": "sch_abc123",
    "type": "Collection",
    "name": "Movies",
    "api_slug": "movie",
    "api_collections_slug": "movies",
    "response_type": "json",
    "field_types": [
      {
        "name": "name",
        "type": "short_text",
        "validations": { "required": {}, "group_editable": true },
        "meta_data": {
          "type": { "value": "input" },
          "label": { "value": "name" },
          "placeholder": { "value": "" },
          "default": { "value": null },
          "tooltip": { "value": "" }
        }
      },
      {
        "name": "link",
        "type": "url",
        "validations": { "required": {}, "group_editable": true },
        "meta_data": {
          "type": { "value": "input" },
          "label": { "value": "link" },
          "placeholder": { "value": "" },
          "default": { "value": null },
          "tooltip": { "value": "" }
        }
      }
    ],
    "groups": [],
    "components": [],
    "settings": {
      "entry_title": "name",
      "searchable_fields": [],
      "filter_fields": [],
      "allowed_states": ["Published", "Draft", "Scheduled", "Approval Pending"],
      "access_control": {},
      "enable_component_preview": false,
      "enable_content_rule": false,
      "enable_custom_date": false,
      "enable_seo_properties": false,
      "enable_code_ingestion": false
    },
    "global_system_default": false
  }
}
Last modified on April 23, 2026