API
Contents
This documentation lists and describes all static GraphQL types
Common arguments
Name | Remark | Default value |
---|---|---|
key |
Designs a content path or content ID |
|
offset |
Start index |
0 |
first |
Number of content to fetch |
10 |
sort |
Sorting expression |
"_score DESC" |
Object Types
Query
Fields
Name(Arguments):Type | Description |
---|---|
guillotine: HeadlessCms |
Type gathering all content retrieval requests |
HeadlessCms
Gathers all content retrieval requests.
Remarks
-
Most requests expect a key as argument. If the key is not specified, then the matched content will be the one corresponding to the current execution context
Fields
Name(Arguments):Type | Description |
---|---|
get(key: ID): Content |
Fetches a content |
getChildren( key: ID, offset: Int, first: Int, sort: String ): [Content] |
Fetches the children of a content |
getChildrenConnection( key: ID, after: String, first: Int, sort: String ): ContentConnection |
Fetches the children of a content and return the result as a connection |
getPermissions(key: ID): Permissions |
Fetches the permissions on a content |
getSite: portal_Site |
Fetches the parent site of the content corresponding to the current execution context |
query( query: String, offset: Int, first: Int, sort: String, contentTypes: [String], filters: [FilterInput] ): [Content] |
Queries contents |
queryConnection( query: String!, after: String, first: Int, sort: String, contentTypes: [String], aggregations: [AggregationInput], filters: [FilterInput] ): QueryContentConnection |
Queries contents and returns the result as a connection |
getType(name: String!): ContentType |
Retrieves the properties and icon of the specified content type |
getTypes: [ContentType] |
Retrieves the list of all content types available for the current site |
Content
Interface of all contents.
Fields
Name(Arguments):Type | Description |
---|---|
_id: ID! |
Content ID |
_name: String! |
Content name |
_path(type: ContentPathType): String! |
Content path. The |
creator: PrincipalKey |
Content creator |
modifier: PrincipalKey |
Last content modifier |
createdTime: String |
Content creation time |
modifiedTime: String |
Last content modification time |
owner: PrincipalKey |
Content owner |
type: String |
Content type |
displayName: String |
Content display name |
hasChildren: Boolean |
true if the content has children content |
language: String |
Content language |
valid: Boolean |
true if the content is valid |
dataAsJson: JSON |
Content data |
x: [ExtraData] |
Content extra data. This field is deprecated and will be removed starting from version 6.0.0. |
xAsJson: JSON |
Content extra data |
pageAsJson: JSON |
Page specific information |
pageTemplate: Content |
Related page template content |
components: [Component] |
Flattened list of page components |
attachments: [Attachment] |
Content attachments |
publish: PublishInfo |
Publication information |
pageUrl(type: UrlType, params: String): String |
Util field to generate a URL pointing to the content |
site: portal_Site |
Link to the nearest site |
parent: Content |
Link to the content parent |
children( offset: Int, first: Int, sort: String ): [Content] |
Link to the direct child contents |
childrenConnection( after: String, first: Int, sort: String ): ContentConnection |
Connection to the direct child contents |
permissions: Permissions |
Content permissions |
Direct Known Subtypes
Direct Known Subtypes: portal_Site , base_Folder , media_Code , media_Executable , media_Text , media_Vector , media_Spreadsheet , media_Data , base_Structured , base_Shortcut , base_Media , media_Document , media_Video , media_Presentation , media_Archive , media_Audio , portal_PageTemplate , media_Unknown , portal_TemplateFolder , media_Image , base_Unstructured , portal_Fragment
ContentConnection
To ease the pagination of relationship to a content, the type ContentConnection has been created to represent this connection. It allows you to :
-
Paginate through the list of contents.
-
Ask for information about the connection itself, like totalCount or pageInfo.
-
Ask for information about the edge itself, like cursor.
Fields
Name(Arguments):Type | Description |
---|---|
totalCount: Int! |
Total number of related content |
edges: [ContentEdge] |
Edge to the related content |
pageInfo: PageInfo |
Paging information |
QueryContentConnection
Fields
Name(Arguments):Type | Description |
---|---|
totalCount: Int! |
Total number of related content |
edges: [ContentEdge] |
Edge to the related content |
pageInfo: PageInfo |
Paging information |
aggregationAsJson: JSON |
Result of aggregations |
PageInfo
Fields
Name(Arguments):Type | Description |
---|---|
startCursor: String! |
Start cursor of the pagination |
endCursor: String! |
End cursor of the pagination |
hasNext: Boolean! |
Has more related contents at end cursor |
RichText
Represents result of HtmlArea processing.
Name (Arguments): Type | Description |
---|---|
raw: String |
HtmlArea raw value |
processedHtml: String |
HtmlArea with processed value that contains replaced internal links to resources, content and translated macros. For macros without descriptors processing will be skipped |
macrosAsJson: JSON |
Represents macro details in JSON format |
macros: [Macro] |
Represents details of macros which were detected in the |
images: [Image] |
Represents details of images which were detected in the HtmlArea value, except images with |
links: [Link] |
Represents details of links which were detected in the HtmlArea value, which represent |
Macro
Dynamic type which contains macro details. By default contains two fields: disable
and embed
, other fields will be added dynamically based on macro descriptors for provided applicationKeys
during schema creation. Given applicationKeys
are expected to have the same order as in the site configs. It means that first macro descriptor that was matched will be used to process it.
Name (Arguments): Type | Description |
---|---|
ref: String |
Reference to macro in the processedHtml field |
name: String |
Macro name |
descriptor: String |
Macro descriptor, for instance |
body: String |
Related content |
config: MacroConfig |
Macro config |
MacroConfig
Dynamic type, that contains fields based on macro names which are belong to apps of the site.
Name (Arguments): Type | Description |
---|---|
disable: Macro_system_disable_DataConfig |
Related content for |
Related content for |
|
macroName: Macro_<appKey>_<macroName>_DataConfig |
Related content for macro with name = |
Macro_system_disable_DataConfig
Name (Arguments): Type | Description |
---|---|
body: String |
Related content |
Macro_system_embed_DataConfig
Name (Arguments): Type | Description |
---|---|
body: String |
Related content |
Image
Represents details for image found and processed in the RichText type.
Name (Arguments): Type | Description |
---|---|
image: Content |
Related content |
ref: String |
Reference to image in the processedHtml field |
style: ImageStyle |
Related styles to image |
ImageStyle
Name (Arguments): Type | Description |
---|---|
name: String |
Style name |
aspectRatio: String |
The |
filter: String |
The |
Media
Name (Arguments): Type | Description |
---|---|
intent: MediaIntentType |
Link intent. |
content: Content |
Related content |
Link
Name (Arguments): Type | Description |
---|---|
uri: String |
Link URI |
ref: String |
Reference to link in the |
media: Media |
Related media content. This field has |
content: Content |
Related content. This field has |
Permissions
Fields
Name(Arguments):Type | Description |
---|---|
inheritsPermissions: Boolean |
Inherit permissions from parent content |
permissions: [AccessControlEntry] |
Permissions |
AccessControlEntry
Fields
Name(Arguments):Type | Description |
---|---|
principal: PrincipalKey |
Principal key |
allow: [Permission] |
Allowed permissions |
deny: [Permission] |
Denied permissions |
PrincipalKey
Fields
Name(Arguments):Type | Description |
---|---|
value: String |
Principal key value |
type: PrincipalType |
Principal type |
idProvider: String |
ID Provider name |
principalId: String |
Principal ID inside this user store |
ContentType
Representation of a content type definition
Fields
Name(Arguments):Type | Description |
---|---|
name: String |
Content type name |
displayName: String |
Content type display name |
description: String |
Content type description |
superType: String |
Parent content type |
abstract: Boolean |
true if the content type is abstract |
final: Boolean |
true if the content type cannot be used as super type |
allowChildContent: Boolean |
true if content can be added under a content of this type |
contentDisplayNameScript: String |
|
icon: Icon |
|
form: [FormItem] |
Content type fields schema |
getInstances( offset: Int , first: Int , query: String , sort: String ): [Content] |
Util field returning the contents of this type |
getInstanceConnection( after: String , first: Int , query: String , sort: String ): ContentConnection |
Util field returning the contents of this type as a connection |
FormItem
Fields
Name(Arguments):Type | Description |
---|---|
formItemType: FormItemType |
Form item type |
name: String |
Form item name |
label: String |
Form item label |
Direct Known Subtypes
Direct Known Subtypes: FormInput , FormOptionSet , FormLayout , FormItemSet
Component
Fields
Name(Arguments):Type | Description |
---|---|
path: String |
Component path |
type: ComponentType |
Component type |
page: PageComponentData |
Data for page components |
layout: LayoutComponentData |
Data for layout components |
image: ImageComponentData |
Data for image components |
part: PartComponentData |
Data for part components |
text: TextComponentData |
Data for text components |
fragment: FragmentComponentData |
Data for fragment components |
LayoutComponentData
Fields
Name(Arguments):Type | Description |
---|---|
descriptor: String! |
Controller descriptor |
configAsJson: JSON |
Component config |
ImageComponentData
Fields
Name(Arguments):Type | Description |
---|---|
id: ID! |
Image key |
caption: String |
Image caption |
image: media_Image |
Related image content |
PartComponentData
Fields
Name(Arguments):Type | Description |
---|---|
descriptor: String! |
Controller descriptor |
configAsJson: JSON |
Component config |
TextComponentData
Fields
Name(Arguments):Type | Description |
---|---|
value(processHtml: ProcessHtmlInput): RichText! |
Text value |
FragmentComponentData
Fields
Name(Arguments):Type | Description |
---|---|
id: ID! |
Fragment key |
fragment: Content |
Related fragment content |
Attachment
Fields
Name(Arguments):Type | Description |
---|---|
name: String |
Attachment name |
label: String |
Attachment label |
size: Int |
Attachment size |
mimeType: String |
Attachment mime type |
attachmentUrl: String |
Attachment URL |
PublishInfo
Fields
Name(Arguments):Type | Description |
---|---|
from: String |
Scheduled publication start time |
to: String |
Scheduled publication end time |
first: String |
First publication time |
ProcessHtmlInput
Fields
Name(Arguments):Type | Description |
---|---|
type: UrlType |
URL type |
imageWidths: [Int] |
Generates image URLs for given widths which will be used in the |
imageSizes: String |
Specifies image width for a specific browser resolution in the following format: |
Aggregation Input Types
AggregationInput
Aggregations enable extracting statistical data from search results. Only one of the aggregation fields at a time can be specified.
Fields
Name(Arguments):Type | Description |
---|---|
name: String! |
Aggregation name |
subAggregations: [AggregationInput] |
Sub aggregations |
terms: TermsAggregationInput |
Terms aggregation |
stats: StatsAggregationInput |
Stats aggregation |
range: RangeAggregationInput |
Range aggregation |
dateRange: DateRangeAggregationInput |
DateRange aggregation |
dateHistogram: DateHistogramAggregationInput |
DateHistogram aggregation |
getDistance: GeoDistanceAggregationInput |
GeoDistance aggregation |
min: MinAggregationInput |
Min aggregation |
max: MaxAggregationInput |
Max aggregation |
count: ValueCountAggregationInput |
ValueCount aggregation |
TermsAggregationInput
Fields
Name(Arguments):Type | Description |
---|---|
field: String! |
The property path |
order: String |
How to order the results, type and direction. Supports _term (Alphabetic ordering of bucket keys) and _count (Numeric ordering of bucket sizes) types. Defaults to _term ASC. |
size: Int |
Bucket size, ordered by the given orderType and orderDirection. Defaults to 10. |
minDocCount: Int |
Only include bucket in result if number of hits more or equal minDocCount. |
StatsAggregationInput
Fields
Name(Arguments):Type | Description |
---|---|
field: String! |
The property path |
RangeAggregationInput
Fields
Name(Arguments):Type | Description |
---|---|
field: String! |
The property path. |
ranges: [ NumberRangeInput ] |
The range-buckets to create. |
NumberRangeInput
Fields
Name(Arguments):Type | Description |
---|---|
from: Float |
From-value is included in bucket. |
to: Float |
To-value is excluded. |
DateRangeAggregationInput
Fields
Name(Arguments):Type | Description |
---|---|
field: String! |
The property path. |
format: String |
Date/time format for buckets. Defaults to |
ranges: [ DateRangeInput ] |
The range-buckets to create. |
DateRangeInput
Fields
Name(Arguments):Type | Description |
---|---|
from: String |
From-value is included in bucket. |
to: String |
To-value is excluded. |
DateHistogramAggregationInput
Fields
Name(Arguments):Type | Description |
---|---|
field: String! |
The property path. |
interval: String |
The time-unit interval for buckets. Supported time-unit notations are |
format: String |
Date/time format for buckets. Defaults to |
minDocCount: Int |
Only include bucket in result if number of hits is equal or greater than |
GeoDistanceAggregationInput
Fields
Name(Arguments):Type | Description |
---|---|
field: String! |
The property path. |
unit: String |
The measurement unit to use for the ranges. Allowed values are either full name or the abbreviation of the following: km (kilometers), m (meters), cm (centimeters), mm (millimeters), mi (miles), yd (yards), ft (feet) or nmi (nauticalmiles). |
origin: GeoPointInput |
The GeoPoint from which the distance is measured. |
ranges: [ NumberRangeInput ] |
The range-buckets to create. |
GeoPointInput
Fields
Name(Arguments):Type | Description |
---|---|
lat: String! |
The latitude. |
lon: String! |
The longitude. |
Filter Input Types
FilterInput
Fields
Name(Arguments):Type | Description |
---|---|
boolean: BooleanFilterInput |
Boolean filter |
exists: ExistsFilterInput |
ExistsFilter |
notExists: NotExistsFilterInput |
NotExists filter |
hasValue: HasValueFilterInput |
HasValue filter |
ids: IdsFilterInput |
Ids filter |
BooleanFilterInput
Fields
Name(Arguments):Type | Description |
---|---|
must: [FilterInput] |
All functions on the |
mustNot: [FilterInput] |
All functions in the |
should: [FilterInput] |
At least one function in the |
ExistsFilterInput
Fields
Name(Arguments):Type | Description |
---|---|
field: String! |
The property path |
NotExistsFilterInput
Fields
Name(Arguments):Type | Description |
---|---|
field: String! |
The property path |
HasValueFilterInput
Only one value field can be specified.
Fields
Name(Arguments):Type | Description |
---|---|
field: String! |
The property path |
stringValues: [String] |
Array of string values to find a match |
intValues: [Int] |
Array of integer values to find a match |
booleanValues: [Boolean] |
Array of boolean values to find a match |
floatValues: [Float] |
Array of float values to find a match |
IdsFilterInput
Fields
Name(Arguments):Type | Description |
---|---|
values: [String] |
Array of ids to match |
Enum Types
PrincipalType
Enum values: user , group , role
Permission
Enum values: READ , CREATE , MODIFY , DELETE , PUBLISH , READ_PERMISSIONS , WRITE_PERMISSIONS
FormItemType
Enum values: ItemSet , Layout , Input , OptionSet
UrlType
Enum values: server , absolute
ComponentType
Enum values: page , layout , image , part , text , fragment
ContentPathType
Enum values: siteRelative
MediaIntentType
Enum values: download , inline