Error 404 Not Found

GET https://edit.dxp.alpha.se7enx.com/robots.txt

Forwarded to ErrorController (0d58e6)

GraphQL requests

2 HTTP queries on GraphQL endpoint(s)

Refresh with latest query
200 March 23, 2026 15:58 schema: default 256199
# Time Info
1 198 ms
200 March 23, 2026 15:58 schema: default de5c38
# Time Info
1 132 ms

Schema: default

schema {
  query: Domain
  mutation: ItemMutation
}

type UntypedContent implements DomainContent & Node {
  "The Content item's unique ID."
  id: ID!

  "The item's content type"
  _type: ContentType

  "Underlying content info item"
  _content: Content @deprecated(reason: "Renamed to _info")

  "Underlying content info item"
  _info: Content

  "Main location"
  _location: Location

  "All the locations"
  _allLocations: [Location]

  "The content item's name, in the prioritized language(s), based on the object name pattern"
  _name: String

  "The content item's url alias, based on the main location."
  _url: String

  _thumbnail: Thumbnail
  reason: String
}

interface DomainContent {
  "Item's content info"
  _info: Content

  "Underlying content item"
  _content: Content @deprecated(reason: "Renamed to _info")

  "Item's content type"
  _type: ContentType

  "The content's main location"
  _location: Location

  "All the content's locations"
  _allLocations: [Location]

  "The content item's name, in the prioritized language(s), based on the object name pattern"
  _name: String

  "The content item's url alias, based on the main location."
  _url: String

  _thumbnail: Thumbnail
}

"An Ibexa repository ContentInfo."
type Content {
  "The Content item's unique ID."
  id: Int

  "The content type ID of the Content item."
  contentTypeId: Int!

  "The content type of the Content item."
  contentType: ContentType

  "The computed name (via name schema) in the main language of the Content item."
  name: String

  "The section to which the Content object is assigned."
  section: Section

  "Version number of the published version, or 1 for a newly created draft."
  currentVersionNo: Int

  "The currently published version"
  currentVersion: Version

  "All content versions."
  versions: [Version]

  "If the Content item has a published version."
  published: Boolean

  "The user id of the owner of the Content object"
  ownerId: Int

  "The owner user of the Content object"
  owner: User

  "Date the Content item was last modified on."
  modificationDate: DateTime

  "Date the Content item was first published on."
  publishedDate: DateTime

  "Indicates if the Content object is shown in the mainlanguage if its not present in an other requested language."
  alwaysAvailable: Boolean

  "A global unique id of the Content object"
  remoteId: String

  "The main language code of the Content object. If the available flag is set to true the Content is shown in this language if the requested language does not exist."
  mainLanguageCode: String

  "Identifier of the Content item's main location."
  mainLocationId: Int

  "Content item's main location."
  mainLocation: Location

  "All the locations of the Content item"
  locations: [Location]

  "Relations from this Content"
  relations: [ContentRelation]

  "Relations to this Content"
  reverseRelations: [ContentRelation]

  "Content States."
  states: [ObjectState]
}

"An Ibexa repository ContentType."
type ContentType {
  "The content type's unique ID."
  id: Int!

  "The content type's description"
  description(language: RepositoryLanguage = null): String

  "The ContentType's Field Definitions."
  fieldDefinitions: [FieldDefinition]

  "The status of the content type. One of ContentType::STATUS_DEFINED|ContentType::STATUS_DRAFT|ContentType::STATUS_MODIFIED."
  status: Int

  "The identifier of the content type."
  identifier: String

  "The content type's name in the main language"
  name(language: RepositoryLanguage = null): String

  "The content type's names in all languages"
  names: [String]

  "The date of the creation of this content type."
  creationDate: DateTime

  "the date of the last modification of this content type."
  modificationDate: DateTime

  "The user id of the creator of this content type."
  creatorId: Int

  "The user who created this content type."
  creator: User

  "The user id of the user which has last modified this content type"
  modifierId: Int

  "The user which has last modified this content type"
  modifier: User

  "A global unique id of the content type."
  remoteId: String

  "URL alias schema. If nothing is provided, nameSchema will be used instead."
  urlAliasSchema: String

  "The name schema."
  nameSchema: String

  "This flag hints to UIs if type may have children or not."
  isContainer: Boolean

  "The main language of the content type names and description used for fallback."
  mainLanguageCode: String

  "If an instance of a content type is created the always available flag is set by default this this value."
  defaultAlwaysAvailable: Boolean

  "Specifies which property the child locations should be sorted on by default when created. Valid values are found at {@link Location::SORT_FIELD_*}"
  defaultSortField: Int

  "Specifies whether the sort order should be ascending or descending by default when created. Valid values are {@link Location::SORT_ORDER_*}"
  defaultSortOrder: Int

  groups: [ContentTypeGroup]
}

enum RepositoryLanguage {
  "English (United Kingdom)"
  eng_GB
}

"An Ibexa repository FieldDefinition."
type FieldDefinition {
  "The id of the field definition."
  id: Int

  "The field definition name, either in the most prioritized language, or in the language given as an argument"
  name(language: RepositoryLanguage = null): String

  "The field definition description, either in the most prioritized language, or in the language given as an argument"
  description(language: RepositoryLanguage = null): String

  "The system identifier of the field definition."
  identifier: String

  "The field group name."
  fieldGroup: String

  "The position of the field definition in the content type"
  position: Int

  "The identifier of the field type (ibexa_string, ibexa_integer...)."
  fieldTypeIdentifier: String

  "Indicates if this field can be a thumbnail."
  isThumbnail: Boolean

  "Indicates if fields of this definition are translatable."
  isTranslatable: Boolean

  "Indicates if this field is used for information collection"
  isRequired: Boolean

  "Indicates if the content is searchable by this attribute"
  isSearchable: Boolean
}

"A date"
type DateTime {
  "Date formatted with a date() format"
  format(
    "A pattern compatible with date()"
    pattern: String

    constant: DateFormatConstant
  ): String

  "The raw string value"
  timestamp: Int
}

enum DateFormatConstant {
  "Y-m-d\\TH:i:sP"
  atom

  "l, d-M-Y H:i:s T"
  cookie

  "Y-M-D\\TH:I:SO"
  iso8601

  "D, D M Y H:I:S O"
  rfc822

  "L, D-M-Y H:I:S T"
  rfc850

  "D, D M Y H:I:S O"
  rfc1036

  "D, D M Y H:I:S O"
  rfc1123

  "D, D M Y H:I:S O"
  rfc2822

  "Y-M-D\\TH:I:SP"
  rfc3339

  "Y-M-D\\TH:I:S.VP"
  rfc3339_extended

  "D, D M Y H:I:S O"
  rss

  "Y-M-D\\TH:I:SP"
  w3c
}

"An Ibexa repository User."
type User {
  "The Content item's id. Shortcut to ContentInfo {id}."
  id: Int

  name: String
  content: UserItem

  "Current version metadata"
  version: Version

  enabled: Boolean
  maxLogin: Int
  groups: [UserGroup]
  thumbnail: Thumbnail
}

type UserItem implements Item & Node {
  "The Content item's unique ID."
  id: ID!

  "The item's content type"
  _type: ContentType

  "Underlying content info item"
  _contentInfo: Content

  "Main location"
  _location: Location

  "All the locations"
  _allLocations: [Location]

  "The content item's name, in the prioritized language(s), based on the object name pattern"
  _name: String

  "The content item's url alias, based on the main location."
  _url: String

  _thumbnail: Thumbnail
  firstName(language: RepositoryLanguage): String
  lastName(language: RepositoryLanguage): String
  userAccount: String
  signature(language: RepositoryLanguage): String
  image(language: RepositoryLanguage): ImageFieldValue
}

interface Item {
  "Item's content info"
  _contentInfo: Content

  "Item's content type"
  _type: ContentType

  "The content's main location"
  _location: Location

  "All the content's locations"
  _allLocations: [Location]

  "The content item's name, in the prioritized language(s), based on the object name pattern"
  _name: String

  "The content item's url alias for the current location."
  _url: String

  _thumbnail: Thumbnail
}

"An Ibexa repository location."
type Location {
  "The unique ID of the location."
  id: Int!

  "The ID of the Content item referenced by the Location."
  contentId: Int!

  "Position of the Location among its siblings when sorted using priority/"
  priority: Int

  "Indicates that the Location is explicitly marked as hidden."
  hidden: Boolean

  "Indicates that the Location is implicitly marked as hidden by a parent location"
  invisible: Boolean

  "A global unique id of the content object"
  remoteId: String

  "The id of the parent location"
  parentLocationId: Int

  "The parent location"
  parentLocation: Location

  "The path to the Location in the Tree."
  pathString: String

  "Same as $pathString but as array, e.g. [ 1, 2, 4, 23 ]"
  path: [Int]

  "Depth location has in the location tree"
  depth: Int

  children(
    after: String
    first: Int
    before: String
    last: Int

    "A sort clause, or array of clauses. Add _desc after a clause to reverse it"
    sortBy: [LocationSortByOptions]
  ): LocationConnection
  urlAliases(custom: Boolean): [LocationUrlAlias]
  contentInfo: Content
  content: DomainContent
}

enum LocationSortByOptions {
  "Sort by content id"
  _contentId

  "Sort by content name"
  _name

  "Sort by last modification date"
  _dateModified

  "Sort by initial publication date"
  _datePublished

  "Sort by content section identifier"
  _sectionIdentifier

  "Sort by section name"
  _sectionName

  "Sort by score"
  _score

  "Reverse the previous sorting option"
  _desc
  _depth
  _locationId
  _isMainLocation
  _path
  _priority
  _visibility
}

"A connection to a list of items."
type LocationConnection {
  sliceSize: Int!
  orderBy: String
  totalCount: Int
  pages: [ConnectionPage]

  "Information to aid in pagination."
  pageInfo: PageInfo!

  "Information to aid in pagination."
  edges: [LocationEdge]
}

type ConnectionPage {
  number: Int
  cursor: String
}

"Information about pagination in a connection."
type PageInfo {
  "When paginating forwards, are there more items?"
  hasNextPage: Boolean!

  "When paginating backwards, are there more items?"
  hasPreviousPage: Boolean!

  "When paginating backwards, the cursor to continue."
  startCursor: String

  "When paginating forwards, the cursor to continue."
  endCursor: String
}

"An edge in a connection."
type LocationEdge {
  "The item at the end of the edge."
  node: Location

  "A cursor for use in pagination."
  cursor: String!
}

type LocationUrlAlias implements UrlAlias {
  id: String
  path: String
  languageCodes: [String]
  alwaysAvailable: Boolean
  isHistory: Boolean
  isCustom: Boolean
  forward: Boolean
  location: Location
}

interface UrlAlias {
  id: String
  path: String
  languageCodes: [String]
  alwaysAvailable: Boolean
  isHistory: Boolean
  isCustom: Boolean
  forward: Boolean
}

type Thumbnail {
  "The image's URI (example: 'https://example.com/var/site/storage/images/_aliases/small/9/8/1/0/189-1-eng-GB/image.png')"
  uri: String

  "The width as number of pixels (example: 320)"
  width: Int

  "The height as number of pixels (example: 200)"
  height: Int

  alternativeText: String
  mimeType: String
}

"Fetches an object given its ID"
interface Node {
  "The ID of an object"
  id: ID!
}

type ImageFieldValue {
  "String representation of the value"
  text: String

  id: String
  alternativeText: String
  fileName: String
  fileSize: Int
  uri: String
  width: Int
  height: Int
  additionalData: ImageAdditionalData
  variations(
    "One or more variation identifiers."
    identifier: [ImageVariationIdentifier]!
  ): [ImageVariation]
  variation(
    "A variation identifier."
    identifier: ImageVariationIdentifier!
  ): ImageVariation
}

type ImageAdditionalData {
  "The X value of focal point"
  focalPointX: Int

  "The Y value of focal point"
  focalPointY: Int
}

enum ImageVariationIdentifier {
  original
  reference
  small
  tiny
  medium
  large
  ezplatform_admin_ui_profile_picture_user_menu
}

type ImageVariation {
  "The image's URI (example: 'https://example.com/var/site/storage/images/_aliases/small/9/8/1/0/189-1-eng-GB/image.png')"
  uri: String

  "The name of the image alias (example: 'original')"
  name: String

  "The MIME type (for example 'image/png')"
  mimeType: String

  "The name of the file (for example 'my_image.png')"
  fileName: String

  "When the variation was last modified"
  lastModified: DateTime

  "The width as number of pixels (example: 320)"
  width: Int

  "The height as number of pixels (example: 200)"
  height: Int
}

"Content Version metadata"
type Version {
  id: Int
  versionNumber: Int
  names: [String]
  name(language: RepositoryLanguage): String
  modificationDate: DateTime
  creationDate: DateTime
  creatorId: Int
  creator: User
  status: Int
  initialLanguageCode: String
  languageCodes: [String]
}

type UserGroup {
  "The Content item's id. Shortcut to ContentInfo {id}."
  id: Int

  name: String

  "The User Group content item"
  content: UserGroupItem

  "Current version"
  version: Version

  parentGroup: UserGroup
  subGroups: [UserGroup]
  users: [User]
}

type UserGroupItem implements Item & Node {
  "The Content item's unique ID."
  id: ID!

  "The item's content type"
  _type: ContentType

  "Underlying content info item"
  _contentInfo: Content

  "Main location"
  _location: Location

  "All the locations"
  _allLocations: [Location]

  "The content item's name, in the prioritized language(s), based on the object name pattern"
  _name: String

  "The content item's url alias, based on the main location."
  _url: String

  _thumbnail: Thumbnail
  name(language: RepositoryLanguage): String
  description(language: RepositoryLanguage): String
}

type ContentTypeGroup {
  id: Int
  identifier: String
  creationDate: DateTime
  modificationDate: DateTime
  creatorId: Int
  creator: User
  modifierId: Int
  modifier: User
  contentTypes: [ContentType]
  groups: [ContentTypeGroup]
}

"An Ibexa repository section."
type Section {
  "The Section's unique ID."
  id: Int!

  "The Section's system identifier."
  identifier: String

  "The Section's name."
  name: String
}

type ContentRelation {
  sourceFieldDefinitionIdentifier: String
  sourceContent: DomainContent
  destinationContent: DomainContent
  type: RelationType
}

enum RelationType {
  common
  embed
  link
  field
  asset
}

"An Ibexa content object state."
type ObjectState {
  "The ObjectState's unique ID."
  id: Int!

  "The ObjectState's system identifier."
  identifier: String

  "The ObjectState's priority used for ordering."
  priority: Int

  "The ObjectStateGroup's language codes."
  languageCodes: [String]

  group: ObjectStateGroup
}

"An Ibexa content object state group."
type ObjectStateGroup {
  "The ObjectStateGroup's unique ID."
  id: Int!

  "The ObjectStateGroup's system identifier."
  identifier: String

  "The ObjectStateGroup's default language code."
  defaultLanguageCode: String

  "The ObjectStateGroup's language codes."
  languageCodes: [String]

  "List of ObjectStates under ObjectStateGroup."
  states: [ObjectState]
}

type Domain {
  "Ibexa repository API"
  _repository: Repository

  "Fetches an object given its ID"
  node(
    "The ID of an object"
    id: ID!
  ): Node

  "An item, whatever its type"
  item(
    "Content ID of the article"
    contentId: Int

    "Content remote ID of the article"
    remoteId: String

    "Location ID of the article"
    locationId: Int

    "Location remote ID of the article"
    locationRemoteId: String

    "URL alias of the article"
    urlAlias: String
  ): Item

  content: ItemGroupContent
  users: ItemGroupUsers
  media: ItemGroupMedia
}

"Ibexa repository"
type Repository {
  location(
    "A location id"
    locationId: Int

    "A location remote id"
    remoteId: Int

    "A location url alias: 'path/to/content-item'"
    urlAlias: String
  ): Location
  contentType(
    "Resolves using the unique ContentType id."
    id: Int

    "Resolves using the unique ContentType identifier."
    identifier: String
  ): ContentType
  contentTypes(groupId: String, groupIdentifier: String): [ContentType]

  "Fetches Object State Group by ID."
  objectStateGroup(
    "ID of the Object State Group"
    id: Int
  ): ObjectStateGroup

  "Fetches all Object State Groups."
  objectStateGroups: [ObjectStateGroup]

  "Fetches Object State by ID."
  objectState(
    "ID of the Object State"
    id: Int
  ): ObjectState

  "Fetches Object States assigned to given Group ID."
  objectStates(
    "ID of the ObjectStateGroup"
    groupId: Int
  ): [ObjectState]
}

type ItemGroupContent {
  "The contenttype group's properties"
  _info: ContentTypeGroup

  "Content types from this group"
  _types: ItemGroupContentTypes

  "No description available"
  articles(
    after: String
    first: Int
    before: String
    last: Int

    "A Content query used to filter results"
    query: ContentSearchQuery

    "A Sort Clause, or array of Clauses. Add _desc after a Clause to reverse it"
    sortBy: [SortByOptions]
  ): ArticleItemConnection

  "No description available"
  article(
    "Content ID of the article"
    contentId: Int

    "Content remote ID of the article"
    remoteId: String

    "Location ID of the article"
    locationId: Int

    "Location remote ID of the article"
    locationRemoteId: String

    "URL alias of the article"
    urlAlias: String
  ): ArticleItem

  "No description available"
  folders(
    after: String
    first: Int
    before: String
    last: Int

    "A Content query used to filter results"
    query: ContentSearchQuery

    "A Sort Clause, or array of Clauses. Add _desc after a Clause to reverse it"
    sortBy: [SortByOptions]
  ): FolderItemConnection

  "No description available"
  folder(
    "Content ID of the folder"
    contentId: Int

    "Content remote ID of the folder"
    remoteId: String

    "Location ID of the folder"
    locationId: Int

    "Location remote ID of the folder"
    locationRemoteId: String

    "URL alias of the folder"
    urlAlias: String
  ): FolderItem
}

type ItemGroupContentTypes {
  article: ArticleItemType
  folder: FolderItemType
}

type ArticleItemType implements ItemType {
  _info: ContentType
  title: TextLineFieldDefinition
  shortTitle: TextLineFieldDefinition
  author: MatrixFieldDefinition
  intro: MatrixFieldDefinition
  body: MatrixFieldDefinition
  enableComments: CheckboxFieldDefinition
  image: RelationFieldDefinition
}

interface ItemType {
  "The content type's properties"
  _info: ContentType
}

"An Ibexa repository FieldDefinition."
type TextLineFieldDefinition {
  "The id of the field definition."
  id: Int

  "The field definition name, either in the most prioritized language, or in the language given as an argument"
  name(language: RepositoryLanguage = null): String

  "The field definition description, either in the most prioritized language, or in the language given as an argument"
  description(language: RepositoryLanguage = null): String

  "The system identifier of the field definition."
  identifier: String

  "The field group name."
  fieldGroup: String

  "The position of the field definition in the content type"
  position: Int

  "The identifier of the field type (ibexa_string, ibexa_integer...)."
  fieldTypeIdentifier: String

  "Indicates if this field can be a thumbnail."
  isThumbnail: Boolean

  "Indicates if fields of this definition are translatable."
  isTranslatable: Boolean

  "Indicates if this field is used for information collection"
  isRequired: Boolean

  "Indicates if the content is searchable by this attribute"
  isSearchable: Boolean

  constraints: TextLineFieldDefinitionConstraints
  defaultValue: String
}

type TextLineFieldDefinitionConstraints {
  minLength: Int
  maxLength: Int
}

type MatrixFieldDefinition {
  settings: MatrixFieldDefinitionSettings
}

type MatrixFieldDefinitionSettings {
  columns: [MatrixFieldDefinitionColumn]
  minimumRows: Int
}

type MatrixFieldDefinitionColumn {
  name: String
  identifier: String
}

"An Ibexa repository FieldDefinition."
type CheckboxFieldDefinition {
  "The id of the field definition."
  id: Int

  "The field definition name, either in the most prioritized language, or in the language given as an argument"
  name(language: RepositoryLanguage = null): String

  "The field definition description, either in the most prioritized language, or in the language given as an argument"
  description(language: RepositoryLanguage = null): String

  "The system identifier of the field definition."
  identifier: String

  "The field group name."
  fieldGroup: String

  "The position of the field definition in the content type"
  position: Int

  "The identifier of the field type (ibexa_string, ibexa_integer...)."
  fieldTypeIdentifier: String

  "Indicates if this field can be a thumbnail."
  isThumbnail: Boolean

  "Indicates if fields of this definition are translatable."
  isTranslatable: Boolean

  "Indicates if this field is used for information collection"
  isRequired: Boolean

  "Indicates if the content is searchable by this attribute"
  isSearchable: Boolean

  defaultValue: Boolean
}

type RelationFieldDefinition {
  settings: RelationFieldDefinitionSettings
}

type RelationFieldDefinitionSettings {
  selectionMethod: String
  selectionDefaultLocation: String
  selectionContentTypes: [Int]
}

type FolderItemType implements ItemType {
  _info: ContentType
  name: TextLineFieldDefinition
  shortName: TextLineFieldDefinition
  shortDescription: MatrixFieldDefinition
  description: MatrixFieldDefinition
}

input ContentSearchQuery {
  "Content type identifier filter"
  ContentTypeIdentifier: [ContentTypeIdentifier]

  "Filter on content type id"
  ContentTypeId: [String]

  "Filter on any text from the content item"
  Text: String

  "Filter the date the content was initially created on"
  Created: DateInput

  "Filter on the date the content was last modified on"
  Modified: DateInput

  "Filter content based on its parent location id"
  ParentLocationId: [Int]

  "Field filter"
  Field: [FieldCriterionInput]
  SortBy: SortByOptions
}

enum ContentTypeIdentifier {
  "No description available"
  article

  "No description available"
  folder

  "No description available"
  user

  "No description available"
  user_group

  "No description available"
  file

  "No description available"
  image
}

input DateInput {
  "Before the given date or time."
  before: String

  "After the given date or time."
  after: String

  "On the given date or time."
  on: String
}

input FieldCriterionInput {
  "A field definition identifier"
  target: String

  "Between two values"
  between: [String]

  "Contains the value"
  contains: String

  "Equal to one of the given values"
  in: [String]

  "Equal to the value"
  eq: String

  "Greater than the value"
  gt: String

  "Greater than or equal to the value"
  gte: String

  "Lesser than the value"
  lt: String

  "Lesser than or equal to the value"
  lte: String

  "Like the value"
  like: String
}

enum SortByOptions {
  "Sort by content id"
  _contentId

  "Sort by content name"
  _name

  "Sort by last modification date"
  _dateModified

  "Sort by initial publication date"
  _datePublished

  "Sort by content section identifier"
  _sectionIdentifier

  "Sort by section name"
  _sectionName

  "Sort by score"
  _score

  "Reverse the previous sorting option"
  _desc
}

"A connection to a list of items."
type ArticleItemConnection {
  sliceSize: Int!
  orderBy: String

  "Information to aid in pagination."
  pageInfo: PageInfo!

  "Information to aid in pagination."
  edges: [ArticleItemEdge]
}

"An edge in a connection."
type ArticleItemEdge {
  "The item at the end of the edge."
  node: ArticleItem

  "A cursor for use in pagination."
  cursor: String!
}

type ArticleItem implements Item & Node {
  "The Content item's unique ID."
  id: ID!

  "The item's content type"
  _type: ContentType

  "Underlying content info item"
  _contentInfo: Content

  "Main location"
  _location: Location

  "All the locations"
  _allLocations: [Location]

  "The content item's name, in the prioritized language(s), based on the object name pattern"
  _name: String

  "The content item's url alias, based on the main location."
  _url: String

  _thumbnail: Thumbnail
  title(language: RepositoryLanguage): String
  shortTitle(language: RepositoryLanguage): String
  author(language: RepositoryLanguage): [AuthorFieldValue]
  intro(language: RepositoryLanguage): RichTextFieldValue
  body(language: RepositoryLanguage): RichTextFieldValue
  enableComments: Boolean
  image(language: RepositoryLanguage): Item
}

type AuthorFieldValue {
  id: Int
  name: String
  email: String
}

type RichTextFieldValue {
  "String representation of the value"
  text: String

  "The raw docbook xml"
  xml: String

  "Plain text representation of the value, without tags. Warning: the text representation may not be perfect."
  plaintext: String

  "HTML5 representation."
  html5: String

  "Editable HTML5 representation."
  html5_edit: String
}

"A connection to a list of items."
type FolderItemConnection {
  sliceSize: Int!
  orderBy: String

  "Information to aid in pagination."
  pageInfo: PageInfo!

  "Information to aid in pagination."
  edges: [FolderItemEdge]
}

"An edge in a connection."
type FolderItemEdge {
  "The item at the end of the edge."
  node: FolderItem

  "A cursor for use in pagination."
  cursor: String!
}

type FolderItem implements Item & Node {
  "The Content item's unique ID."
  id: ID!

  "The item's content type"
  _type: ContentType

  "Underlying content info item"
  _contentInfo: Content

  "Main location"
  _location: Location

  "All the locations"
  _allLocations: [Location]

  "The content item's name, in the prioritized language(s), based on the object name pattern"
  _name: String

  "The content item's url alias, based on the main location."
  _url: String

  _thumbnail: Thumbnail
  name(language: RepositoryLanguage): String
  shortName(language: RepositoryLanguage): String
  shortDescription(language: RepositoryLanguage): RichTextFieldValue
  description(language: RepositoryLanguage): RichTextFieldValue
}

type ItemGroupUsers {
  "The contenttype group's properties"
  _info: ContentTypeGroup

  "Content types from this group"
  _types: ItemGroupUsersTypes

  "No description available"
  users(
    after: String
    first: Int
    before: String
    last: Int

    "A Content query used to filter results"
    query: ContentSearchQuery

    "A Sort Clause, or array of Clauses. Add _desc after a Clause to reverse it"
    sortBy: [SortByOptions]
  ): UserItemConnection

  "No description available"
  user(
    "Content ID of the user"
    contentId: Int

    "Content remote ID of the user"
    remoteId: String

    "Location ID of the user"
    locationId: Int

    "Location remote ID of the user"
    locationRemoteId: String

    "URL alias of the user"
    urlAlias: String
  ): UserItem

  "No description available"
  userGroups(
    after: String
    first: Int
    before: String
    last: Int

    "A Content query used to filter results"
    query: ContentSearchQuery

    "A Sort Clause, or array of Clauses. Add _desc after a Clause to reverse it"
    sortBy: [SortByOptions]
  ): UserGroupItemConnection

  "No description available"
  userGroup(
    "Content ID of the user_group"
    contentId: Int

    "Content remote ID of the user_group"
    remoteId: String

    "Location ID of the user_group"
    locationId: Int

    "Location remote ID of the user_group"
    locationRemoteId: String

    "URL alias of the user_group"
    urlAlias: String
  ): UserGroupItem
}

type ItemGroupUsersTypes {
  user: UserItemType
  userGroup: UserGroupItemType
}

type UserItemType implements ItemType {
  _info: ContentType
  firstName: TextLineFieldDefinition
  lastName: TextLineFieldDefinition
  userAccount: MatrixFieldDefinition
  signature: TextBlockFieldDefinition
  image: BinaryFieldDefinition
}

"An Ibexa repository FieldDefinition."
type TextBlockFieldDefinition {
  "The id of the field definition."
  id: Int

  "The field definition name, either in the most prioritized language, or in the language given as an argument"
  name(language: RepositoryLanguage = null): String

  "The field definition description, either in the most prioritized language, or in the language given as an argument"
  description(language: RepositoryLanguage = null): String

  "The system identifier of the field definition."
  identifier: String

  "The field group name."
  fieldGroup: String

  "The position of the field definition in the content type"
  position: Int

  "The identifier of the field type (ibexa_string, ibexa_integer...)."
  fieldTypeIdentifier: String

  "Indicates if this field can be a thumbnail."
  isThumbnail: Boolean

  "Indicates if fields of this definition are translatable."
  isTranslatable: Boolean

  "Indicates if this field is used for information collection"
  isRequired: Boolean

  "Indicates if the content is searchable by this attribute"
  isSearchable: Boolean

  defaultValue: String
}

"An Ibexa repository FieldDefinition."
type BinaryFieldDefinition {
  "The id of the field definition."
  id: Int

  "The field definition name, either in the most prioritized language, or in the language given as an argument"
  name(language: RepositoryLanguage = null): String

  "The field definition description, either in the most prioritized language, or in the language given as an argument"
  description(language: RepositoryLanguage = null): String

  "The system identifier of the field definition."
  identifier: String

  "The field group name."
  fieldGroup: String

  "The position of the field definition in the content type"
  position: Int

  "The identifier of the field type (ibexa_string, ibexa_integer...)."
  fieldTypeIdentifier: String

  "Indicates if this field can be a thumbnail."
  isThumbnail: Boolean

  "Indicates if fields of this definition are translatable."
  isTranslatable: Boolean

  "Indicates if this field is used for information collection"
  isRequired: Boolean

  "Indicates if the content is searchable by this attribute"
  isSearchable: Boolean

  constraints: BinaryFieldDefinitionConstraints
}

type BinaryFieldDefinitionConstraints {
  maxFileSize: Int
}

type UserGroupItemType implements ItemType {
  _info: ContentType
  name: TextLineFieldDefinition
  description: TextLineFieldDefinition
}

"A connection to a list of items."
type UserItemConnection {
  sliceSize: Int!
  orderBy: String

  "Information to aid in pagination."
  pageInfo: PageInfo!

  "Information to aid in pagination."
  edges: [UserItemEdge]
}

"An edge in a connection."
type UserItemEdge {
  "The item at the end of the edge."
  node: UserItem

  "A cursor for use in pagination."
  cursor: String!
}

"A connection to a list of items."
type UserGroupItemConnection {
  sliceSize: Int!
  orderBy: String

  "Information to aid in pagination."
  pageInfo: PageInfo!

  "Information to aid in pagination."
  edges: [UserGroupItemEdge]
}

"An edge in a connection."
type UserGroupItemEdge {
  "The item at the end of the edge."
  node: UserGroupItem

  "A cursor for use in pagination."
  cursor: String!
}

type ItemGroupMedia {
  "The contenttype group's properties"
  _info: ContentTypeGroup

  "Content types from this group"
  _types: ItemGroupMediaTypes

  "No description available"
  files(
    after: String
    first: Int
    before: String
    last: Int

    "A Content query used to filter results"
    query: ContentSearchQuery

    "A Sort Clause, or array of Clauses. Add _desc after a Clause to reverse it"
    sortBy: [SortByOptions]
  ): FileItemConnection

  "No description available"
  file(
    "Content ID of the file"
    contentId: Int

    "Content remote ID of the file"
    remoteId: String

    "Location ID of the file"
    locationId: Int

    "Location remote ID of the file"
    locationRemoteId: String

    "URL alias of the file"
    urlAlias: String
  ): FileItem

  "No description available"
  images(
    after: String
    first: Int
    before: String
    last: Int

    "A Content query used to filter results"
    query: ContentSearchQuery

    "A Sort Clause, or array of Clauses. Add _desc after a Clause to reverse it"
    sortBy: [SortByOptions]
  ): ImageItemConnection

  "No description available"
  image(
    "Content ID of the image"
    contentId: Int

    "Content remote ID of the image"
    remoteId: String

    "Location ID of the image"
    locationId: Int

    "Location remote ID of the image"
    locationRemoteId: String

    "URL alias of the image"
    urlAlias: String
  ): ImageItem
}

type ItemGroupMediaTypes {
  file: FileItemType
  image: ImageItemType
}

type FileItemType implements ItemType {
  _info: ContentType
  name: TextLineFieldDefinition
  description: MatrixFieldDefinition
  file: BinaryFieldDefinition
}

type ImageItemType implements ItemType {
  _info: ContentType
  name: TextLineFieldDefinition
  caption: MatrixFieldDefinition
  image: BinaryFieldDefinition
}

"A connection to a list of items."
type FileItemConnection {
  sliceSize: Int!
  orderBy: String

  "Information to aid in pagination."
  pageInfo: PageInfo!

  "Information to aid in pagination."
  edges: [FileItemEdge]
}

"An edge in a connection."
type FileItemEdge {
  "The item at the end of the edge."
  node: FileItem

  "A cursor for use in pagination."
  cursor: String!
}

type FileItem implements Item & Node {
  "The Content item's unique ID."
  id: ID!

  "The item's content type"
  _type: ContentType

  "Underlying content info item"
  _contentInfo: Content

  "Main location"
  _location: Location

  "All the locations"
  _allLocations: [Location]

  "The content item's name, in the prioritized language(s), based on the object name pattern"
  _name: String

  "The content item's url alias, based on the main location."
  _url: String

  _thumbnail: Thumbnail
  name(language: RepositoryLanguage): String
  description(language: RepositoryLanguage): RichTextFieldValue
  file(language: RepositoryLanguage): BinaryFileFieldValue
}

type BinaryFileFieldValue {
  fileName: String
  fileSize: Int
  mimeType: String
  uri: String
}

"A connection to a list of items."
type ImageItemConnection {
  sliceSize: Int!
  orderBy: String

  "Information to aid in pagination."
  pageInfo: PageInfo!

  "Information to aid in pagination."
  edges: [ImageItemEdge]
}

"An edge in a connection."
type ImageItemEdge {
  "The item at the end of the edge."
  node: ImageItem

  "A cursor for use in pagination."
  cursor: String!
}

type ImageItem implements Item & Node {
  "The Content item's unique ID."
  id: ID!

  "The item's content type"
  _type: ContentType

  "Underlying content info item"
  _contentInfo: Content

  "Main location"
  _location: Location

  "All the locations"
  _allLocations: [Location]

  "The content item's name, in the prioritized language(s), based on the object name pattern"
  _name: String

  "The content item's url alias, based on the main location."
  _url: String

  _thumbnail: Thumbnail
  name(language: RepositoryLanguage): String
  caption(language: RepositoryLanguage): RichTextFieldValue
  image(language: RepositoryLanguage): ImageFieldValue
}

type ItemMutation {
  deleteContent(
    "Global ID of the content item to delete"
    id: ID

    "ID of the content item to delete"
    contentId: Int
  ): DeleteContentPayload
  uploadFiles(
    "The location ID of a container to upload the files to"
    locationId: Int!

    files: [FileUpload]!

    "The language the content items must be created in"
    language: RepositoryLanguage!
  ): UploadedFilesPayload
  createToken(username: String!, password: String!): CreatedTokenPayload
  createArticle(
    input: ArticleItemCreateInput!

    "The language the content should be created/updated in."
    language: RepositoryLanguage!

    parentLocationId: Int!
  ): ArticleItem!
  updateArticle(
    input: ArticleItemUpdateInput!

    "The language the content should be created/updated in."
    language: RepositoryLanguage!

    "ID of the content item to update"
    id: ID

    "Repository content ID of the content item to update"
    contentId: Int

    "Optional version number to update. If it is a draft, it is saved, not published. If it is archived, it is used as the source version for the update, to complete missing fields."
    versionNo: Int
  ): ArticleItem!
  createFolder(
    input: FolderItemCreateInput!

    "The language the content should be created/updated in."
    language: RepositoryLanguage!

    parentLocationId: Int!
  ): FolderItem!
  updateFolder(
    input: FolderItemUpdateInput!

    "The language the content should be created/updated in."
    language: RepositoryLanguage!

    "ID of the content item to update"
    id: ID

    "Repository content ID of the content item to update"
    contentId: Int

    "Optional version number to update. If it is a draft, it is saved, not published. If it is archived, it is used as the source version for the update, to complete missing fields."
    versionNo: Int
  ): FolderItem!
  createUser(
    input: UserItemCreateInput!

    "The language the content should be created/updated in."
    language: RepositoryLanguage!

    parentLocationId: Int!
  ): UserItem!
  updateUser(
    input: UserItemUpdateInput!

    "The language the content should be created/updated in."
    language: RepositoryLanguage!

    "ID of the content item to update"
    id: ID

    "Repository content ID of the content item to update"
    contentId: Int

    "Optional version number to update. If it is a draft, it is saved, not published. If it is archived, it is used as the source version for the update, to complete missing fields."
    versionNo: Int
  ): UserItem!
  createUserGroup(
    input: UserGroupItemCreateInput!

    "The language the content should be created/updated in."
    language: RepositoryLanguage!

    parentLocationId: Int!
  ): UserGroupItem!
  updateUserGroup(
    input: UserGroupItemUpdateInput!

    "The language the content should be created/updated in."
    language: RepositoryLanguage!

    "ID of the content item to update"
    id: ID

    "Repository content ID of the content item to update"
    contentId: Int

    "Optional version number to update. If it is a draft, it is saved, not published. If it is archived, it is used as the source version for the update, to complete missing fields."
    versionNo: Int
  ): UserGroupItem!
  createFile(
    input: FileItemCreateInput!

    "The language the content should be created/updated in."
    language: RepositoryLanguage!

    parentLocationId: Int!
  ): FileItem!
  updateFile(
    input: FileItemUpdateInput!

    "The language the content should be created/updated in."
    language: RepositoryLanguage!

    "ID of the content item to update"
    id: ID

    "Repository content ID of the content item to update"
    contentId: Int

    "Optional version number to update. If it is a draft, it is saved, not published. If it is archived, it is used as the source version for the update, to complete missing fields."
    versionNo: Int
  ): FileItem!
  createImage(
    input: ImageItemCreateInput!

    "The language the content should be created/updated in."
    language: RepositoryLanguage!

    parentLocationId: Int!
  ): ImageItem!
  updateImage(
    input: ImageItemUpdateInput!

    "The language the content should be created/updated in."
    language: RepositoryLanguage!

    "ID of the content item to update"
    id: ID

    "Repository content ID of the content item to update"
    contentId: Int

    "Optional version number to update. If it is a draft, it is saved, not published. If it is archived, it is used as the source version for the update, to complete missing fields."
    versionNo: Int
  ): ImageItem!
}

type DeleteContentPayload {
  "Numerical content id"
  contentId: Int

  "Global ID"
  id: ID
}

scalar FileUpload

type UploadedFilesPayload {
  files: [DomainContent]
  warnings: [String]
}

type CreatedTokenPayload {
  token: String

  "The reason why authentication has failed, if it has"
  message: String
}

input ArticleItemCreateInput {
  title: String!
  shortTitle: String
  author: [AuthorInput]
  intro: RichTextFieldInput!
  body: RichTextFieldInput
  enableComments: Boolean
  image: Int
}

input AuthorInput {
  "Author's Id in the collection that holds it. If not set or -1, an Id will be generated when added to the collection"
  id: Int

  "The author's name"
  name: String

  "The author's email address"
  email: String
}

input RichTextFieldInput {
  format: RichTextFieldInputFormat
  input: String
}

enum RichTextFieldInputFormat {
  markdown
  html
}

input ArticleItemUpdateInput {
  title: String
  shortTitle: String
  author: [AuthorInput]
  intro: RichTextFieldInput
  body: RichTextFieldInput
  enableComments: Boolean
  image: Int
}

input FolderItemCreateInput {
  name: String!
  shortName: String
  shortDescription: RichTextFieldInput
  description: RichTextFieldInput
}

input FolderItemUpdateInput {
  name: String
  shortName: String
  shortDescription: RichTextFieldInput
  description: RichTextFieldInput
}

input UserItemCreateInput {
  firstName: String!
  lastName: String!
  userAccount: String!
  signature: String
  image: ImageFieldInput
}

input ImageFieldInput {
  name: String
  alternativeText: String
  file: FileUpload
}

input UserItemUpdateInput {
  firstName: String
  lastName: String
  userAccount: String
  signature: String
  image: ImageFieldInput
}

input UserGroupItemCreateInput {
  name: String!
  description: String
}

input UserGroupItemUpdateInput {
  name: String
  description: String
}

input FileItemCreateInput {
  name: String!
  description: RichTextFieldInput
  file: BinaryFieldInput!
}

input BinaryFieldInput {
  "The media file"
  file: FileUpload!

  "The media's name. Will use the upload file's name if not provided."
  fileName: String
}

input FileItemUpdateInput {
  name: String
  description: RichTextFieldInput
  file: BinaryFieldInput
}

input ImageItemCreateInput {
  name: String!
  caption: RichTextFieldInput
  image: ImageFieldInput
}

input ImageItemUpdateInput {
  name: String
  caption: RichTextFieldInput
  image: ImageFieldInput
}