This section describes the available GraphQL types.
Tip
|
A more intuitive way to discover the API is by using the Query Playground |
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" |
Name(Arguments):Type | Description |
---|---|
guillotine(siteKey: String ): HeadlessCms |
Type gathering all content retrieval requests |
Gathers all content retrieval requests.
-
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
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 |
queryDsl( query: QueryDSLInput, offset: Int, first: Int, sort: SortDslInput ): [Content] |
Queries contents |
queryDslConnection( query: QueryDSLInput!, after: String, first: Int, sort: SortDslInput, aggregations: [AggregationInput], highlight: HighlightInputType ): QueryDSLContentConnection |
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 |
The Content
interface is implemented by both built-in and custom defined content types. All content types are dynamically generated based on the installed schemas.
All types implementing Content
share the same fields, with the exception of the data
field, which offers a specific implementation per type.
Name(Arguments):Type | Description |
---|---|
_id: ID! |
Content ID |
_name: String! |
Content name |
_path(type: ContentPathType): String! |
Content path. In the site-less mode, the result will be returned in the raw value, in other words, |
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. |
xAsJson: JSON |
Content extra data as JSON |
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: Json): 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: 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
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.
Name(Arguments):Type | Description |
---|---|
totalCount: Int! |
Total number of related content |
edges: [ContentEdge] |
Edge to the related content |
pageInfo: PageInfo |
Paging information |
Field name: 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 |
highlightAsJson: JSON |
Result of highlight |
Name(Arguments):Type | Description |
---|---|
node: Content! |
Related content |
cursor: String! |
Edge cursor |
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 |
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 |
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 = |
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 |
Name (Arguments): Type | Description |
---|---|
name: String |
Style name |
aspectRatio: String |
The |
filter: String |
The |
Name (Arguments): Type | Description |
---|---|
intent: MediaIntentType |
Link intent. |
content: Content |
Related content |
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 |
Name(Arguments):Type | Description |
---|---|
inheritsPermissions: Boolean |
Inherit permissions from parent content |
permissions: [AccessControlEntry] |
Permissions |
Name(Arguments):Type | Description |
---|---|
principal: PrincipalKey |
Principal key |
allow: [Permission] |
Allowed permissions |
deny: [Permission] |
Denied permissions |
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 |
Representation of a content type definition
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 |
Name(Arguments):Type | Description |
---|---|
formItemType: FormItemType |
Form item type |
name: String |
Form item name |
label: String |
Form item label |
Name(Arguments):Type | Description |
---|---|
X-Data for |
|
X-Data for |
|
<applicationKey>: XData_<applicationKey>_ApplicationConfig |
X-Data for |
Name(Arguments):Type | Description |
---|---|
imageInfo: XData_media_imageInfo_DataConfig |
Related X-Data config |
cameraInfo: XData_media_cameraInfo_DataConfig |
Related X-Data config |
Name(Arguments):Type | Description |
---|---|
date: LocalDateTime |
Date |
make: String |
Make |
model: String |
Model |
lens: String |
Lens |
iso: String |
ISO |
focalLength: String |
Focal length |
focalLength35: String |
Focal length 35 |
exposureBias: String |
Exposure bias |
aperture(offset: Int, first: Int): [String] |
Aperture |
shutterTime: String |
Shutter time |
flash: String |
Flash |
autoFlashCompensation: String |
Auto flash compensation |
whiteBalance: String |
White balance |
exposureProgram: String |
Exposure program |
shootingMode: String |
Shooting mode |
meteringMode: String |
Metering mode |
exposureMode: String |
Exposure mode |
focusDistance: String |
Focus distance |
orientation: String |
Orientation |
Name(Arguments):Type | Description |
---|---|
gpsInfo: XData_base_gpsInfo_DataConfig |
GPS information |
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 |
Name(Arguments):Type | Description |
---|---|
descriptor: String |
Controller descriptor |
customized: Boolean |
True if the page is customized |
configAsJson: JSON |
Component config |
template: Content |
Related template content |
Name(Arguments):Type | Description |
---|---|
value(processHtml: ProcessHtmlInput): RichText! |
Text value |
Name(Arguments):Type | Description |
---|---|
name: String |
Attachment name |
label: String |
Attachment label |
size: Int |
Attachment size |
mimeType: String |
Attachment mime type |
attachmentUrl (download: Boolean, type: UrlType, params: Json): String |
Attachment URL |
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: |
Aggregations enable extracting statistical data from search results. Only one of the aggregation fields at a time can be specified.
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 |
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. |
Name(Arguments):Type | Description |
---|---|
field: String! |
The property path. |
ranges: [ NumberRangeInput ] |
The range-buckets to create. |
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. |
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 |
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. |
Query DSL input type. Only one field must be provided. More details about Query DSL you can find here.
Field name: Type | Description |
---|---|
boolean: BooleanDSLExpressionInput |
Boolean DSL expression |
ngram: NgramDSLExpressionInput |
Ngram DSL expression |
stemmed: StemmedDSLExpressionInput |
Stemmed DSL expression |
fulltext: FulltextDSLExpressionInput |
Fulltext DSL expression |
matchAll: MatchAllDSLExpressionInput |
MatchAll DSL expression |
pathMatch: PathMatchDSLExpressionInput |
PathMatch DSL expression |
range: RangeDSLExpressionInput |
Range DSL expression |
term: TermDSLExpressionInput |
Term DSL expression |
like: LikeDSLExpressionInput |
Like DSL expression |
In DSL expression |
|
exists: ExistsDSLExpressionInput |
Exists DSL expression |
Boolean DSL expression input type.
Field name: Type | Description |
---|---|
should: [QueryDSLInput] |
The query should appear in the matching document. |
must: [QueryDSLInput] |
The query must appear in matching documents and will contribute to the score. |
mustNot: [QueryDSLInput] |
The query must not appear in the matching documents |
filter: [QueryDSLInput] |
The query must appear in matching documents. |
boost: Float |
Any query operator result (expression or compound) can be boosted to change the relevance score of the nodes. |
Ngram DSL expression input type.
Field name: Type | Description |
---|---|
fields: [String]! |
List of fields (propertyPaths) to include in the search. |
query: String! |
A query string to match field value(s). Support the set of operators. |
operator: [DslOperatorType] |
DSL operator. By default, |
Stemmed DSL expression input type.
Field name: Type | Description |
---|---|
fields: [String]! |
List of fields (propertyPaths) to include in the search. |
query: String! |
A query string to match field value(s). Supports the set of operators. |
language: String! |
Content language that was used for stemming. List of supported languages. |
operator: DslOperatorType |
DSL operator. By default, |
boost: Float |
Any query operator result (expression or compound) can be boosted to change the relevance score of the nodes. |
Fulltext DSL expression input type.
Field name: Type | Description |
---|---|
fields: [String]! |
List of fields (propertyPaths) to include in the search. |
query: String! |
A query string to match field value(s). Supports the set of operators. |
operator: DslOperatorType |
DSL operator. By default, |
MatchAll DSL expression input type.
PathMatch DSL expression input type.
Possible value. Only one field must be provided.
Field name: Type | Description |
---|---|
string: String |
String value. |
double: Float |
String value |
long: Int |
Integer value. |
boolean: Boolean |
A value representing true or false. |
localDate: Date |
A date representation. Will be indexed with UTC timezone offset. For instance, |
localDateTime: LocalDateTime |
A date-time representation without timezone. Will be indexed with UTC timezone offset. For instance, |
localTime: LocalTime |
A time representation without date or timezone(nor subsecond). For instance, |
instant: DateTime |
A single point on the time-line (may include subsecond up to 9 digits). For instance, |
Range DSL expression input type.
Field name: Type | Description |
---|---|
field: String! |
Property name to search. |
Less than. |
|
Less than or equals. |
|
Greater than. |
|
Greater than or equals. |
|
boost: Float |
Any query operator result (expression or compound) can be boosted to change the relevance score of the nodes. |
Term DSL expression input type.
Field name: Type | Description |
---|---|
field: String! |
Property name to search. |
value: DSLExpressionValueInput! |
Exact property value. |
boost: Float |
Any query operator result (expression or compound) can be boosted to change the relevance score of the nodes. |
Like DSL expression input type. Returns nodes that contain the field matching a wildcard pattern. A wildcard operator ( * ) is a placeholder that matches one or more characters.
Field name: Type | Description |
---|---|
field: String! |
Property name to search. |
value: DSLExpressionValueInput! |
Search string. |
boost: Float |
Any query operator result (expression or compound) can be boosted to change the relevance score of the nodes. |
In DSL expression input type. Fetch nodes if a provided field contains any of listed values. Only one values
field must be provided.
Field name: Type | Description |
---|---|
field: String! |
Property name to search. |
boost: Float |
Any query operator result (expression or compound) can be boosted to change the relevance score of the nodes. |
stringValues: [String] |
String values. |
doubleValues: [Float] |
Float values. |
longValues: [Int] |
Integer values. |
booleanValues: [Boolean] |
Boolean values. |
localDateValues: [Date] |
Date values. Element of array is a date representation. Will be indexed with UTC timezone offset. For instance, |
localDateTimeValues: [LocalDateTime] |
LocalDateTime values. Element of array is a date-time representation without timezone. Will be indexed with UTC timezone offset. For instance, |
localTimeValues: [LocalTime] |
LocalTime values. Element of array is a time representation without date or timezone(nor subsecond). For instance, |
instantValues: [DateTime] |
DateTime values. Element of array is a single point on the time-line (may include subsecond up to 9 digits). For instance, |
Exists DSL expression input type. Returns nodes that contain a value for a field.
GeoPoint sort DSL expression input type.
Sort DSL expression input type.
Field name: Type | Description |
---|---|
field: String! |
Name of a field to sort by. |
direction: DslSortDirectionType |
|
location: GeoPointSortDslInput |
A geoPoint from which the distance factor should be calculated |
unit: DslGeoPointDistanceType |
The string representation of distance unit to use. Defaults to "m" or "meters". |
Highlight properties input type.
Field name: Type | Description |
---|---|
propertyName: String! |
Property name. |
fragmenter: HighlightFragmenterType |
Specifies how text should be broken up in highlight snippets: |
fragmentSize: Int |
The size of the highlighted fragment in characters. Defaults to 100. |
noMatchSize: Int |
The amount of characters you want to return from the beginning of the property if there are no matching fragments to highlight. Defaults to 0 (nothing is returned). |
numberOfFragments: Int |
The maximum number of fragments to return. If |
order: HighlightOrderType |
Sorts highlighted fragments by score when set to |
preTag: String |
Use in conjunction with |
postTag: String |
Use in conjunction with |
requireFieldMatch: Boolean |
Set to |
Highlight input type.
Field name: Type | Description |
---|---|
encoder: HighlightEncoderType |
Indicates if the snippet should be HTML encoded: |
tagsSchema: HighlightTagsSchemaType |
Set to |
fragmenter: HighlightFragmenterType |
Specifies how text should be broken up in highlight snippets: |
fragmentSize: Int |
The size of the highlighted fragment in characters. Defaults to 100. |
noMatchSize: Int |
The amount of characters you want to return from the beginning of the property if there are no matching fragments to highlight. Defaults to 0 (nothing is returned). |
numberOfFragments: Int |
The maximum number of fragments to return. If |
order: HighlightOrderType |
Sorts highlighted fragments by score when set to |
preTag: String |
Use in conjunction with |
postTag: String |
Use in conjunction with |
requireFieldMatch: Boolean |
Set to |
Enum values: READ , CREATE , MODIFY , DELETE , PUBLISH , READ_PERMISSIONS , WRITE_PERMISSIONS
DSL GeoPoint Distance type.
Enum values: m, meters, in, inch, yd, yards, ft, feet, km, kilometers, NM, nmi, nauticalmiles, mm, millimeters, cm, centimeters, mi, miles
Indicates if the snippet should be HTML encoded: default (no encoding) or html.
Enum values: default, html
Specifies how text should be broken up in highlight snippets: simple or span (default).
Enum values: simple, span