Skip to main content
All queries return the latest published versions only. For draft content, use the preview query with a preview token.

Query Schema

type Query {
  # Components
  components(search: String, page: Int = 1, limit: Int = 20): ComponentList!
  component(id: ID!): Component

  # Packages
  packages(page: Int = 1, limit: Int = 20): PackageList!
  package(version: String!): Package

  # Content
  contents(
    typeId: ID
    tags: [String!]
    locale: String
    search: String
    filter: ContentFilter
    sort: [SortCriteria!]
    page: Int = 1
    limit: Int = 20
  ): ContentList!
  content(id: ID!): Content

  # Content Types
  contentTypes(search: String, page: Int = 1, limit: Int = 20): ContentTypeList!
  contentType(id: ID!): ContentType

  # Assets
  assets(
    type: String
    tags: [String!]
    search: String
    filter: AssetFilter
    sort: [SortCriteria!]
    page: Int = 1
    limit: Int = 20
  ): AssetList!
  asset(id: ID!): Asset

  # Tags
  tags(search: String, page: Int = 1, limit: Int = 20): TagList!
  tag(id: ID!): Tag

  # Saved Searches
  savedSearches(type: SavedSearchType, page: Int = 1, limit: Int = 20): SavedSearchList!
  savedSearch(id: ID!): SavedSearch
  executeSavedSearch(id: ID!, page: Int = 1, limit: Int = 20): SavedSearchResult!

  # Preview Links (token-based auth)
  preview(token: String!, version: Int): PreviewResult!

  # Normalized caching
  resolvedPackageData(id: ID!): ResolvedPackageData
}

Common Parameters

Pagination

Most list queries support pagination:
ParameterTypeDefaultDescription
pageInt1Page number (1-indexed)
limitInt20Items per page (max 100)

Filtering

List queries support filtering via the filter parameter:
filter: {
  fieldName: { operator: value }
}
Common operators: eq, ne, gt, gte, lt, lte, like, in, notIn

Sorting

List queries support sorting via the sort parameter:
sort: [{ field: "fieldName", order: ASC }]

Available Queries