ContentSync Logo

Entries

All data in the Content Cloud is an entry. Entries have different standard properties depending on their type. Content has an additional contentType property that determines what custom properties are available.

The information below explains the basic data structure for entries.

Basic types

Date

Dates are provided as an ISO string, e.g.,

  • 2025-01-22T06:00:45.000Z

JSON

Fields that are ambiguous or don’t provide a schema use the JSON field type. These fields can have any value and cannot be used for filtering or sorting content queries.

Sys properties

All entries have a set of shared properties between them that universally exist for any type of entry. These properties are available under entry.sys.

Basic properties

  • type: The type of entry as a string. One of:

    • Organization

    • Space

    • Environment

    • Locale

    • Client

    • ContentType

    • ContentTypeProperty

    • Content

    • Asset

    • Tag

    • ExternalEntryLink

    • ContentUserData

  • isPublished: true/false whether this entry / version is available through the regular APIs.

Unique identifiers

  • id: A unique identifier consisting of alphanumeric characters. This ID is generated by your Content Cloud automatically.

  • customId: A unique, custom identifier. E.g. home-page or privacy-policy.

  • uuid: A UUID that will be copied from your connected application, like Drupal.

  • versionId: A globally unique identifier for the exact version of this entry based on alphanumeric characters and forward slashes.

    • You can use this property as a version hash for caching.

(i) Please note that any combination of unique identifiers must remain unique for the lifetime of the entry. You cannot change the UUID or customId of an entry or add another entry with the same UUID or customId.

Localized properties

  • name: An optional, localizable name for the entry. Limited to 255 characters; labels/titles/names longer than this will be cut off but can still be queried as content fields.

Content entry properties

Content entries are always typed, but you can store untyped data using JSON properties.

Additional system properties are available under entry.sys:

  • slug: A unique path alias (text) for content like /example-content.

  • contentType: A link to the content type using the contentType.id property.

All other properties depend on the content type of the entry.

Localization

  • locale: The locale code used for the localizable properties of the current entry.

    • This may be different to the requested locale if the entry doesn’t exist in the requested locale but in a fallback locale.

REST properties

  • updatedAt: An optional Date property indicating when the current version was published. If the content revision is not published yet, this will provide the change date of the draft.

  • createdAt: An optional Date property indicating when this entry was published for the first time. If the content has not been published yet, this will be the time of the creation.

  • revision: An auto-incrementing number that can be used as a unique identifier per entry.

  • publishedVersion: If the content is published, this will be equal to the current revision number.

  • space: A link to the space.

  • environment: A link to the environment.

GraphQL properties

  • publishedAt: An optional Date property indicating when the current version was published. If the content revision is not published yet, this will provide the change date of the draft.

  • firstPublishedAt: An optional Date property indicating when this entry was published for the first time. If the content has not been published yet, this will be the time of the creation.

  • publishedVersion: If the content is published, this will be equal to the current revision number.

  • spaceId: The ID of the space.

  • environmentId: The ID of the environment.

Asset entries

Asset content (like Drupal File entities) has additional properties to deal with images and other assets:

  • assetEntry.fields:

    • title: String. A localizable name for the asset.

    • description: An optional, localizable string.

    • file: The asset file details.

      • fileName: String. The file name that is used to store the file in the system. Can be different from the title.

      • hash: MD5 file content hash. Multiple asset versions may share the same file content and the same hash.

      • contentType: The MIME type of the file. Either copied from your source application, like Drupal, or guessed based on the file name and file content.

      • mimeTypeGroup: One of:

        • image

        • audio

        • video

        • richtext

        • presentation

        • spreadsheet

        • pdfdocument

        • archive

        • code

        • markup

        • plaintext

        • attachment

        • other

      • downloadUrl, embedUrl, url, imageUrl: (see Assets API)

      • details:

        • size: The size of the file content in bytes.

        • image: (optional)

          • width: The width of the image, automatically taken from the file.

          • height: The height of the image, automatically taken from the file.

          • gravity: What to focus on the image as X/Y coordinates, e.g., 0.5x0.5 for the center of the image.

            • Will use the focal point from Drupal if one is provided.

The .assetEntry property is available under entry.sys.assetEntry in the GraphQL API or entry.assetEntry in the REST API. GraphQL properties are not nested.

Assets can also be queried independently of content entries under the asset REST / GraphQL endpoint.

Tag entries

Tag content (like Taxonomy Term entities in Drupal) has a shared name and ID that can be used to query for content using the metadata filter. Properties are

  • tagEntry:

    • id: String. A unique identifier for this tag.

    • name: String. A localizable name for the tag.

The .tagEntry property is available under entry.sys.tagEntry in the GraphQL API or entry.tagEntry in the REST API.

Tags can also be queried independently of content entries under the tag REST endpoint.