Content Type

Last updated: July 3, 2026

The CDA (Content Delivery API) is a read-only API that delivers published resources to public visitors. This page covers how to read a published Content Type, the template (schema) that a Content follows. By reading this template through CDA, which fields it has and, for each field, its type, whether it is localized, whether it is required, and its validation rules, you can know in advance the shape of the published Content that follows the template.

CDA has only read (GET) endpoints; creating, editing, and publishing a Content Type is the responsibility of CMA Content Type. For CDA's common behavior, such as authentication and the published delivery model (the published snapshot, revision, and published-only visibility), see the CDA overview. A Content Type is a template schema, so its reads do not take a locale parameter.

Resource structure

The following is how CDA delivers, in a single read, the published Content Type "Product" from the demo Space. Along with sys (system properties), it has body properties such as name, displayField, publishWithAuthor, and fields.

{
  "sys": {
    "id": "3trmXRM3RqbgSnifyg7PAmlxvX4fGY",
    "type": "ContentType",
    "space": { "sys": { "id": "tcq4V2Xb", "type": "Refer", "targetType": "Space" } },
    "createdAt": "2026-06-17T16:22:01.047Z",
    "updatedAt": "2026-06-18T03:05:11.424Z",
    "revision": 7
  },
  "name": "Product",
  "displayField": "productName",
  "fields": [
    { "id": "3hzbux8gsnb4h", "name": "Product Name", "apiName": "productName", "type": "ShortText", "localized": true, "required": true, "validations": [], "disabled": false },
    { "id": "4usptben4t1z", "name": "Price", "apiName": "price", "type": "Long", "localized": false, "required": false, "validations": [], "disabled": false },
    { "id": "21zuem8be6o6j", "name": "Description", "apiName": "description", "type": "RichText", "localized": true, "required": false, "validations": [], "disabled": false },
    { "id": "2mr5ylgtheegr", "name": "Photo", "apiName": "photo", "type": "Refer", "localized": false, "required": false, "validations": [], "disabled": false, "targetType": "Media" },
    {
      "id": "5bpmiwo2woq8",
      "name": "Brand",
      "apiName": "brand",
      "type": "Refer",
      "localized": false,
      "required": false,
      "validations": [
        { "referContentType": [ { "sys": { "id": "3trmXRM3RqbgSnifyg7PLjv7PDSdHg", "type": "Refer", "targetType": "ContentType" } } ] }
      ],
      "disabled": false,
      "targetType": "Content"
    }
  ],
  "publishWithAuthor": false
}

Key properties:

  • sys.id: The unique identifier of the Content Type. It goes into {contentTypeId} in the single-read path.
  • sys.revision: The version at the time it was published. Because CDA does not carry the management version, revision is the only value that points to the published version.
  • name: The name of the Content Type (e.g. Product).
  • displayField: The apiName of the field used to represent each Content in the content studio list (e.g. productName).
  • publishWithAuthor: Whether to include author information when a Content is published (false in the example).
  • fields: The list of fields this template defines. The structure of each entry is described in Fields below.

System properties (sys)

The sys of a published Content Type carries only properties for the published snapshot. space, createdBy, and updatedBy are in the Refer shape ({ "sys": { "id", "type": "Refer", "targetType" } }).

PropertyTypeDescription
idstringUnique resource identifier.
typestringResource kind. For a Content Type this is always "ContentType".
spaceRefer<Space>The Space this Content Type belongs to.
createdAtstring (date-time)Creation time.
updatedAtstring (date-time)Last update time.
revisionintegerThe version at the time it was published. Each publish records the version at that moment here.
createdByRefer<User>The user who created it. Included only when the Content Type's publishWithAuthor is on.
updatedByRefer<User>The user who last updated it. Included only when publishWithAuthor is on.

Because this is a published snapshot, the version, status, publish, and archive found in CMA's sys are not carried. revision is the only value that points to the published version.

Fields

fields is the list of fields this Content Type defines. Each entry has the following structure (FieldDefinition).

KeyTypeDescription
idstringThe unique identifier of the field.
namestringThe field name shown in the content studio (e.g. Product Name).
apiNamestringThe key that refers to this field in the API. The published Content's fields also reads values by this key.
typestring (enum)The type of the field. See Field types (type) below.
localizedbooleanWhether it can hold multilingual values.
requiredbooleanWhether input is required.
validationsarrayThe list of validation rules applied to the value. An empty array [] if there are no rules.
disabledbooleanWhether it is disabled.
targetTypestring (enum)Only when type is Refer. Whether the reference target is Content or Media.
itemsobjectOnly when type is Array. The definition of the array elements (a Refer element or a ShortText element).

Field types (type)

type determines how the value is stored and retrieved. Some types behave differently in search.

typeMeaningNotes
ShortTextShort single-line text.Suited for exact keyword lookup.
LongTextLong body text.Supports full-text similarity search.
RichTextFormatted body.Not searchable; used for formatted presentation.
LongInteger.Example: price price.
NumberReal number (including decimals).
BooleanTrue/false.
DateDate and time.
JsonArbitrary JSON structure.
LocationLocation (coordinates).
ReferA reference pointing to another resource.Specify Content or Media with targetType.
ArrayAn array holding multiple values.Accompanied by an element definition in items.

In the "Product" example, Product Name is ShortText, Price is Long, Description is RichText, Photo is Refer (targetType: Media), and Brand is Refer (targetType: Content). The Brand field uses referContentType in validations to restrict references to only Content of a specific Content Type (here, "Brand", whose sys.id is 3trmXRM3RqbgSnifyg7PLjv7PDSdHg).

The full catalog of validation rule keys usable in validations is documented in CMA Content Type. The published snapshot that CDA delivers carries the same structure unchanged.

API

The base URL for the two endpoints below is https://cda.weegloo.com/v1, and a Bearer token that authenticates against CDA is required in the Authorization header. Because a Content Type is a template (schema) and is not subject to value resolution, it does not accept the locale query parameter, unlike a Content read.