Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
api-version header to indicate the API version you intend to use. If no version is specified the latest version of the API will be used.


GET https://cdn.umbraco.io/content
Accept-Language: en-USGET https://cdn.umbraco.io/content?culture=en-US

> Install-Package Umbraco.Headless.Client.Netquery {
allContent(
preview: true
) {
edges {
node {
name
}
}
}
}import {Client} from '@umbraco/headless-client'
const client = new Client({
projectAlias: 'your-project-alias',
apiKey: 'your-api-key',
language: 'iso-code',
preview: true,
})using Umbraco.Headless.Client.Net.Delivery;
class Program
{
static async Task Main(string[] args)
{
var previewService = new ContentPreviewService("your-project-alias", "your-api-key");
}
}20.86.53.156
20.86.53.157








node -v in your terminal.> dotnet restore
> dotnet runBooting Umbraco Headless console
Enter the Project Alias of your Headless Project[A] Fetch and show Content Tree
[B] Fetch and show Media Tree
[C] Show Root Content
[D] Show Root Media
[E] List Content URLs
[F] Upload image to Media Library
[X] ExitEnter your choice:
a
Fetching and listing Content tree
+- Home
+- AboutEnter your choice:
d
Fetching and showing root Media
'Company Logo' can be seen on: https://media.umbraco.io/dev-docs/8d7c736482a65b4/company_logo.jpg
'Company Logo Small' can be seen on: https://media.umbraco.io/dev-docs/8d7c73648f72d6a/company_logo_small.jpg
'Product01' can be seen on: https://media.umbraco.io/dev-docs/8d7c7364978df6c/Product01.jpg
'Product02' can be seen on: https://media.umbraco.io/dev-docs/8d7c7364a0b846c/Product02.jpg
'Product03' can be seen on: https://media.umbraco.io/dev-docs/8d7c7364a0b846c/Product03.jpgnpm init -ynpm install @umbraco/headless-client //Importing the Client Library
const { Client } = require('@umbraco/headless-client')
//Connecting to the Heartcore project on Cloud
const client = new Client({
projectAlias: 'your-project-alias',
apiKey: 'your-api-key'
})
//Create an async function to fetch content and media
async function run() {
try {
//Fetch all content from the root
const contentResult = await client.delivery.content.root()
//Fetch a media item by its ID
const mediaResult = await client.delivery.media.byId('your-media-id')
//Log results
console.log('Content:', JSON.stringify(contentResult, null, 2))
console.log('Media:', JSON.stringify(mediaResult, null, 2))
} catch (error) {
console.error('Error fetching data:', error.response ? error.response.data : error.message)
}
}
run()
node app.js
client.delivery.content.root();
client.delivery.media.root();
client.delivery.content.ancestors(contentId);
client.delivery.content.children(parentId);
client.delivery.content.byId(contentId);client.management.content.create()
client.management.contentType.all()Documentation for Custom Grid Editors in Umbraco Heartcore
GET https://cdn.umbraco.io/redirect
Accept-Language: en-USGET https://cdn.umbraco.io/redirect?culture=en-USAccept-Language: {culture}
Api-Version: 2.3
Umb-Project-Alias: {project-alias}{
"error": {
"code": "LanguageForCultureNotFound",
"message": "Could not find a language for culture en-GB."
}
}?page={integer=1}
?pageSize={integer=10}{
"redirects": {
"/root5/": [
"/root4",
"/root3",
"/root2",
"/root"
],
"/root5/child/": [
"/root4/child",
"/root3/child",
"/root2/child",
"/root/child"
]
},
"_totalItems": 2,
"_totalPages": 1,
"_page": 1,
"_pageSize": 10,
"_links": {
"self": {
"href": "https://cdn.umbraco.io/redirect?page=1&pageSize=10"
}
}
}{
"url": "/home",
"redirectUrls": [
"/home-redirect-example-1",
"/home-redirect-example-2"
]
}Save buttonSave buttonDelete button









{
allContent {
items {
name
}
}
}
HTMLElement
A guide to building an Umbraco Heartcore project
export default class extends HTMLElement {
}#value // private field
get value() { return this.#value }
set value(value) { this.#value = value }import { LitElement } from 'https://cdn.jsdelivr.net/gh/lit/dist@2/all/lit-all.min.js'
export default class extends LitElement {
static properties = {
value: { type: String }
}
}{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "string"
}{
"url": "udi://media/45d27aa9fcb446e48ef4a07d754d9c9d",
"altText": "An example image"
}{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"altText": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri-reference"
}
},
"required": [
"url"
]
}












Api-Version: 2
Umb-Project-Alias: {project-alias}{
"error": {
"code": "Unauthorized",
"message": "Authorization has been denied for this request."
}
}{
"_links": {
"self": {
"href": "https://api.umbraco.io/relation/type"
},
"relationtypes": [
{
"href": "https://api.umbraco.io/relation/type/relateDocumentOnCopy"
},
{
"href": "https://api.umbraco.io/relation/type/relateParentDocumentOnDelete"
},
{
"href": "https://api.umbraco.io/relation/type/relateParentMediaFolderOnDelete"
}
]
},
"_embedded": {
"relationtypes": [
{
"name": "Relate Document On Copy",
"alias": "relateDocumentOnCopy",
"isBidirectional": true,
"parentObjectType": "DOCUMENT",
"childObjectType": "DOCUMENT",
"_createDate": "0001-01-01T00:00:00Z",
"_id": "4cbeb612-e689-3563-b755-bf3ede295433",
"_updateDate": "0001-01-01T00:00:00Z",
"_links": {
"self": {
"href": "https://api.umbraco.io/relation/type/relateDocumentOnCopy"
},
"root": {
"href": "https://api.umbraco.io/relation/type"
}
}
},
{
"name": "Relate Parent Document On Delete",
"alias": "relateParentDocumentOnDelete",
"isBidirectional": false,
"parentObjectType": "DOCUMENT",
"childObjectType": "DOCUMENT",
"_createDate": "0001-01-01T00:00:00Z",
"_id": "0cc3507c-66ab-3091-8913-3d998148e423",
"_updateDate": "0001-01-01T00:00:00Z",
"_links": {
"self": {
"href": "https://api.umbraco.io/relation/type/relateParentDocumentOnDelete"
},
"root": {
"href": "https://api.umbraco.io/relation/type"
}
}
},
{
"name": "Relate Parent Media Folder On Delete",
"alias": "relateParentMediaFolderOnDelete",
"isBidirectional": false,
"parentObjectType": "MEDIA",
"childObjectType": "MEDIA",
"_createDate": "0001-01-01T00:00:00Z",
"_id": "8307994f-faf2-3844-bab9-72d34514edf2",
"_updateDate": "0001-01-01T00:00:00Z",
"_links": {
"self": {
"href": "https://api.umbraco.io/relation/type/relateParentMediaFolderOnDelete"
},
"root": {
"href": "https://api.umbraco.io/relation/type"
}
}
}
]
}
}{
"name": "Relate Document On Copy",
"alias": "relateDocumentOnCopy",
"isBidirectional": true,
"parentObjectType": "DOCUMENT",
"childObjectType": "DOCUMENT",
"_createDate": "0001-01-01T00:00:00Z",
"_id": "4cbeb612-e689-3563-b755-bf3ede295433",
"_updateDate": "0001-01-01T00:00:00Z",
"_links": {
"self": {
"href": "https://api.umbraco.io/relation/type/relateDocumentOnCopy"
},
"root": {
"href": "https://api.umbraco.io/relation/type"
}
}
}{
"query": "query($url: String) { content(url: $url) { name } }",
"variables": {
"url": "/"
}
}












1truetrueViews/DefaultUmbraco
Api-Version: 2
Umb-Project-Alias: {project-alias}{
"error": {
"code": "Unauthorized",
"message": "Authorization has been denied for this request."
}
}{
"_links": {
"self": {
"href": "/api/member/group"
},
"membergroups": {
"href": "/api/member/group/Club%20Blue%20Members",
"href": "/api/member/group/Elite%20Shoppers%20Group"
}
},
"_embedded": {
"membergroups": [
{
"name": "Club Blue Members",
"_createDate": "2019-10-10T12:02:50.83Z",
"_id": "15a1a854-596c-4b72-b462-769015a6b0eb",
"_updateDate": "0001-01-01T00:00:00Z",
"_links": {
"self": {
"href": "/api/member/group/Club%20Blue%20Members"
}
}
},
{
"name": "Elite Shoppers Group",
"_createDate": "2019-10-10T12:09:58.5982624Z",
"_id": "1ae62150-e54c-4fd7-aabe-9ad46d1b7109",
"_updateDate": "0001-01-01T00:00:00Z",
"_links": {
"self": {
"href": "/api/member/group/Elite%20Shoppers%20Group"
}
}
}
]
}
}{
"name": "Club Blue Members",
"_createDate": "2019-10-10T12:02:50.83Z",
"_id": "15a1a854-596c-4b72-b462-769015a6b0eb",
"_updateDate": "0001-01-01T00:00:00Z",
"_links": {
"self": {
"href": "/api/member/group/Club%20Blue%20Members"
}
}
}{
"name": "Elite Shoppers Group"
}{
"name": "Elite Shoppers Group",
"_createDate": "2019-10-10T12:09:58.5982624Z",
"_id": "1ae62150-e54c-4fd7-aabe-9ad46d1b7109",
"_updateDate": "2019-10-10T12:09:58.5982624Z",
"_links": {
"self": {
"href": "/api/member/group/Elite%20Shoppers%20Group"
}
}
}{
"name": "Elite Shoppers Group",
"_createDate": "2019-10-10T12:09:58.597Z",
"_id": "1ae62150-e54c-4fd7-aabe-9ad46d1b7109",
"_updateDate": "0001-01-01T00:00:00Z",
"_deleteDate": "2019-10-10T12:10:45.0657415Z",
"_links": {
"self": {
"href": "/api/member/group/Elite%20Shoppers%20Group"
}
}
}{
"Heartcore": {
"ProjectAlias": "demo-headless",
"ApiKey": ""
}
}dotnet restore
dotnet rundotnet watch run@model Umbraco.Headless.Client.Net.Delivery.Models.Content
@{
Layout = null;
}using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Umbraco.Headless.Client.Samples.Web.Mvc;
namespace Umbraco.Headless.Client.Samples.Web.Controllers
{
public class HomePageController : Controller
{
public HomePageController(UmbracoContext umbracoContext) : base(umbracoContext)
{
}
public IActionResult Index()
{
return View(UmbracoContext.Content);
}
}
}@using Umbraco.Headless.Client.Net.Delivery.Models;
@model HeroPage
@{
Layout = null;
}
<!DOCTYPE HTML>
<html>
<head>
<title>@Model.Title</title>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no" />
</head>
<body>
<h1>@Model.Heading</h1>
<div>
<p>@Html.Raw(Model.BodyText)</p>
<img src="@(Model.PromoImage?.Url)?width=300" />
</div>
</body>
</html>POST https://graphql.umbraco.io/
Umb-Project-Alias: {project-alias}POST https://graphql.umbraco.io/
Api-Key: {api-key}query {
content(preview: true) {
name
}
}{
"extensions": {
"persistedQuery": {
"alias": "{Alias}"
}
}
}{
"extensions": {
"persistedQuery": {
"alias": "{Alias}"
}
},
"variables": {
"url": "/"
}
}{
"_id": "0134604b-f583-4ebc-a3b6-c26ce0f1a11b",
"indicator": "*",
"name": "Contact Us",
"nextLabel": "Next",
"previousLabel": "Previous",
"submitLabel": "Submit",
"disableDefaultStylesheet": false,
"fieldIndicationType": "MARK_MANDATORY_FIELDS",
"hideFieldValidation": false,
"invalidErrorMessage": "Please provide a valid value for {0}",
"messageOnSubmit": "0",
"requiredErrorMessage": "Please provide a value for {0}",
"showValidationSummary": false,
"pages": [
{
"caption": "Contact details",
"fieldsets": [
{
"columns": [
{
"width": 12,
"fields": [
{
"caption": "Name",
"alias": "name",
"containsSensitiveData": false,
"required": true,
"requiredErrorMessage": "Please enter your name",
"settings": {
"defaultValue": "",
"placeholder": "Full name",
"patternInvalidErrorMessage": "Please provide a valid value for Name"
},
"preValues": [],
"type": "text"
},
{
"caption": "Email",
"alias": "email",
"containsSensitiveData": false,
"required": true,
"requiredErrorMessage": "Please enter a valid email",
"settings": {
"placeholder": "Your email address",
"defaultValue": "",
"pattern": "[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+.[a-zA-Z0-9-.]+",
"patternInvalidErrorMessage": "Please provide a valid value for Email"
},
"preValues": [],
"type": "text"
},
{
"caption": "Consent for storing submitted data",
"alias": "dataConsent",
"containsSensitiveData": false,
"required": true,
"requiredErrorMessage": "Consent is required to store and process the data in this form.",
"settings": {
"acceptCopy": "Yes, I give permission to store and process my data",
"patternInvalidErrorMessage": "Please provide a valid value for Consent for storing submitted data"
},
"type": "consent"
}
]
}
]
}
]
}
],
"_links": {
"self": {
"href": "https://api.umbraco.io/forms/0134604b-f583-4ebc-a3b6-c26ce0f1a11b"
}
}
}> Install-Package Umbraco.Headless.Client.Netvar managementService = new ContentManagementService("project-alias", "api-key-value");
var forms = await managementService.Forms.GetAll();var managementService = new ContentManagementService("project-alias", "api-key-value");
var contactForm = await managementService.Forms.GetById(new Guid("0134604b-f583-4ebc-a3b6-c26ce0f1a11b"));> npm install --save @umbraco/headless-clientimport { Client } from '@umbraco/headless-client'
const client = new Client({
projectAlias: 'project-alias'
})
client.setAPIKey('api-key-value')const forms = await client.management.forms.all()const form = await client.management.forms.byId('0134604b-f583-4ebc-a3b6-c26ce0f1a11b'){
"name": "John Smith",
"email": "[email protected]",
"dataConsent": "on"
}var entry = new Dictionary<string, object>
{
{"name", "John Smith"},
{"email", "[email protected]"},
{"dataConsent", true}
};
var managementService = new ContentManagementService("project-alias", "api-key-value");
await managementService.Forms.SubmitEntry(new Guid("0134604b-f583-4ebc-a3b6-c26ce0f1a11b"), entry);const entry = {
"name": "John Smith",
"email": "[email protected]",
"dataConsent": "on"
}
await client.management.forms.submitEntry('0134604b-f583-4ebc-a3b6-c26ce0f1a11b', entry)query {
allProduct(
where: {
price_gte: 100
}
) {
edges {
node {
name
price
}
}
}
}query {
allContent(
where: {
AND: [
{ level_any: [2, 3] }
{ updateDate_gt: "2020-09-13" }
]
}
) {
edges {
node {
name
}
}
}
}query {
allContent(
where: {
NOT: [
{ name_starts_with: "t" }
]
}
) {
edges {
node {
name
}
}
}
}query {
allContent(
where: {
AND: [
{ level_any: [1, 2] }
{
NOT: [
{
OR: [
{ name_starts_with: "b" }
{ name_starts_with: "j" }
]
}
]
}
]
}
) {
edges {
node {
name
}
}
}
}query {
allPosts(where: { author: { name: "Rasmus" } }) {
edges {
node {
name
url
}
}
}
}query {
allProduct(
preview: true
) {
edges {
node {
name
}
}
}
}query {
allProduct(
orderBy: price_ASC
) {
edges {
node {
name
}
}
}
}query {
allProduct(
orderBy: [ price_ASC, name_ASC ]
) {
edges {
node {
name
price
}
}
}
}query {
allProduct(
first: 50
) {
edges {
cursor
node {
name
price
}
}
}
}query {
allProduct(
first: 50
) {
edges {
cursor
node {
name
price
}
}
pageInfo {
endCursor
hasNextPage
}
}
}query {
allProduct(
first: 50
where: {
price_gte: 100
}
orderBy: [price_ASC, name_ASC]
) {
edges {
cursor
node {
name
price
}
}
pageInfo {
endCursor
hasNextPage
}
}
}Documentation for Umbraco Heartcore REST APIs
{
"Heartcore": {
"ProjectAlias": "your-project-alias",
"ApiKey": "your-api-key"
}
}var managementService = new ContentManagementService("your-project-alias", "your-api-key");```csharp
private readonly ContentManagementService _contentManagementService;
public UmbracoService(ContentManagementService contentManagementService)
{
_contentManagementService = contentManagementService;
}
```var content = await _contentManagementService.Content.GetRoot();var content = await _contentManagementService.Content.GetById(yourGuidObject);
//or
var content = await _contentManagementService.Content.GetById(Guid.Parse("your-guid-as-a-string"));var content = await _contentManagementService.Content.GetChildren(yourGuidObject);
//or
var content = await _contentManagementService.Content.GetChildren(Guid.Parse("your-guid-as-a-string"));var newContent = await _contentManagementService.Content.Create(yourContentObject);var updatedContent = await _contentManagementService.Content.Update(yourContentObject);var publishedContent = await _contentManagementService.Content.Publish(yourGuidObject);
//or
var publishedContent = await _contentManagementService.Content.Publish(Guid.Parse("your-guid-as-a-string"));var publishedContent = await _contentManagementService.Content.Publish(yourGuidObject, "en-US");
//or
var publishedContent = await _contentManagementService.Content.Publish(Guid.Parse("your-guid-as-a-string"), "en-US");var unpublishedContent = await _contentManagementService.Content.Unpublish(yourGuidObject);
//or
var unpublishedContent = await _contentManagementService.Content.Unpublish(Guid.Parse("your-guid-as-a-string"));var unpublishedContent = await _contentManagementService.Content.Unpublish(yourGuidObject, "en-US");
//or
var unpublishedContent = await _contentManagementService.Content.Unpublish(Guid.Parse("your-guid-as-a-string"), "en-US");var deletedContent = await _contentManagementService.Content.Delete(yourGuidObject);
//or
var deletedContent = await _contentManagementService.Content.Delete(Guid.Parse("your-guid-as-a-string"));var rootMedia = await _contentManagementService.Media.GetRoot();var media = await _contentManagementService.Media.GetById(yourGuidObject);
//or
var media = await _contentManagementService.Media.GetById(Guid.Parse("your-guid-as-a-string"));var mediaChildren = await _contentManagementService.Media.GetChildren(yourGuidObject);
//or
var mediaChildren = await _contentManagementService.Media.GetChildren(Guid.Parse("your-guid-as-a-string"));var newMedia = await _contentManagementService.Media.Create(yourMediaObject);var updatedMedia = await _contentManagementService.Media.Update(yourMediaObject);var deletedMedia = await _contentManagementService.Media.Delete(yourGuidObject);
//or
var deletedMedia = await _contentManagementService.Media.Delete(Guid.Parse("your-guid-as-a-string"));{
//"_currentVersionState": {
// "$invariant": "PUBLISHED"
//},
"name": {
"$invariant": "Star Wars Blog"
},
//"_updateDate": {
// "$invariant": "2023-02-08T13:26:16.6Z"
//},
//"_hasChildren": false,
//"_level": 1,
//"_createDate": "2023-02-08T13:21:35.27Z",
//"_id": "a6126eb4-c667-466c-ae7c-252a5b2e7be9",
"contentTypeAlias": "blog",
//"sortOrder": 0,
"image": {
"$invariant": [{
//"key": "394c9bfd-be7b-486d-968a-ce844aa76b5e",
"mediaKey": "766c9c5b-f4eb-4a5c-b94e-06701eafcbab",
//"crops": [],
//"focalPoint": null
}]
}
}//You cannot use this request body as-is, as the mediaKey will differ.
{
"name": {
"$invariant": "Star Wars Blog"
},
"contentTypeAlias": "blog",
"image": {
"$invariant": [{
"mediaKey": "766c9c5b-f4eb-4a5c-b94e-06701eafcbab",
}]
}
}














var media = new Umbraco.Headless.Client.Net.Management.Models.Media {
Name = "name-of-media",
MediaTypeAlias = "File",
ParentId = parentFolderGuidObject};
media.SetValue(
"umbracoFile",
fileName,
new FileInfoPart(new FileInfo(imagePath),
fileName,
$"image/{Path.GetExtension(imagePath).Trim('.')}"));var media = new Umbraco.Headless.Client.Net.Management.Models.Media {
Name = "name-of-media",
MediaTypeAlias = "Image",
ParentId = parentFolderGuidObject};
media.SetValue(
"umbracoFile",
new { src = fileName },
new FileInfoPart(new FileInfo(imagePath),
fileName,
$"image/{Path.GetExtension(imagePath).Trim('.')}"));Api-Version: 2
Umb-Project-Alias: {project-alias}{
"error": {
"code": "NotFound",
"message": "Media with id 'b6f11172-373f-4473-af0f-0b0e5aefd21c' could not be found."
}
}{
"_links": {
"self": {
"href": "https://cdn.umbraco.io/media"
},
"media": [
{
"href": "https://cdn.umbraco.io/media/b6f11172-373f-4473-af0f-0b0e5aefd21c"
},
{
"href": "https://cdn.umbraco.io/media/1fd2ecaf-f371-4c00-9306-867fa4585e7a"
},
{
"href": "https://cdn.umbraco.io/media/6d5bf746-cb82-45c5-bd15-dd3798209b87"
}
]
},
"_embedded": {
"media": [
{
"_creatorName": "Rasmus",
"_url": "",
"_writerName": "Rasmus",
"_hasChildren": true,
"_level": 1,
"_createDate": "2019-06-17T13:46:41.47Z",
"_id": "b6f11172-373f-4473-af0f-0b0e5aefd21c",
"_updateDate": "2019-06-17T13:46:41.47Z",
"_links": {
"self": {
"href": "https://cdn.umbraco.io/media/b6f11172-373f-4473-af0f-0b0e5aefd21c"
}
},
"mediaTypeAlias": "Folder",
"name": "Design",
"sortOrder": 1
},
{
"_creatorName": "Rasmus",
"_url": "",
"_writerName": "Rasmus",
"_hasChildren": true,
"_level": 1,
"_createDate": "2019-06-17T13:46:41.64Z",
"_id": "1fd2ecaf-f371-4c00-9306-867fa4585e7a",
"_updateDate": "2019-06-17T13:46:41.64Z",
"_links": {
"self": {
"href": "https://cdn.umbraco.io/media/1fd2ecaf-f371-4c00-9306-867fa4585e7a"
}
},
"mediaTypeAlias": "Folder",
"name": "People",
"sortOrder": 1
},
{
"_creatorName": "Rasmus",
"_url": "",
"_writerName": "Rasmus",
"_hasChildren": true,
"_level": 1,
"_createDate": "2019-06-17T13:46:41.783Z",
"_id": "6d5bf746-cb82-45c5-bd15-dd3798209b87",
"_updateDate": "2019-06-17T13:46:41.783Z",
"_links": {
"self": {
"href": "https://cdn.umbraco.io/media/6d5bf746-cb82-45c5-bd15-dd3798209b87"
}
},
"mediaTypeAlias": "Folder",
"name": "Products",
"sortOrder": 1
}
]
}
}{
"_creatorName": "Rasmus",
"_url": "https://media.umbraco.io/my-headless-site/media/662af6ca411a4c93a6c722c4845698e7/00000006000000000000000000000000/16403439029_f500be349b_o.jpg",
"_writerName": "Rasmus",
"_hasChildren": false,
"_level": 2,
"_createDate": "2019-06-17T13:46:42.203Z",
"_id": "662af6ca-411a-4c93-a6c7-22c4845698e7",
"_updateDate": "2019-06-17T13:46:42.203Z",
"_links": {
"self": {
"href": "https://cdn.umbraco.io/media/662af6ca-411a-4c93-a6c7-22c4845698e7"
},
"root": {
"href": "https://cdn.umbraco.io/media"
},
"children": {
"href": "https://cdn.umbraco.io/media/662af6ca-411a-4c93-a6c7-22c4845698e7/children"
},
"parent": {
"href": "https://cdn.umbraco.io/media/b6f11172-373f-4473-af0f-0b0e5aefd21c"
}
},
"mediaTypeAlias": "Image",
"name": "Umbraco Campari Meeting Room",
"parentId": "b6f11172-373f-4473-af0f-0b0e5aefd21c",
"sortOrder": 0,
"umbracoFile": {
"src": "/media/662af6ca411a4c93a6c722c4845698e7/00000006000000000000000000000000/16403439029_f500be349b_o.jpg",
"focalPoint": null,
"crops": null
},
"umbracoWidth": 1600,
"umbracoHeight": 1067,
"umbracoBytes": 759116,
"umbracoExtension": "jpg"
}?page={integer=1}
?pageSize={integer=10}{
"_totalItems": 1,
"_totalPages": 1,
"_page": 1,
"_pageSize": 10,
"_links": {
"self": {
"href": "https://cdn.umbraco.io/media/b6f11172-373f-4473-af0f-0b0e5aefd21c/children?page=1"
},
"page": {
"href": "https://cdn.umbraco.io/media/{id}/children{?page,pageSize}",
"templated": true
},
"root": {
"href": "https://cdn.umbraco.io/media"
},
"media": {
"href": "https://cdn.umbraco.io/media/662af6ca-411a-4c93-a6c7-22c4845698e7"
}
},
"_embedded": {
"media": [
{
"_creatorName": "Rasmus",
"_url": "https://media.umbraco.io/my-headless-site/media/662af6ca411a4c93a6c722c4845698e7/00000006000000000000000000000000/16403439029_f500be349b_o.jpg",
"_writerName": "Rasmus",
"_contentTypeAlias": "Image",
"_createDate": "2019-06-17T13:46:42.203Z",
"_updateDate": "2019-06-17T13:46:42.203Z",
"_hasChildren": false,
"_id": "662af6ca-411a-4c93-a6c7-22c4845698e7",
"_level": 2,
"_name": "Umbraco Campari Meeting Room",
"_parentId": "b6f11172-373f-4473-af0f-0b0e5aefd21c",
"_sortOrder": 0,
"_links": {
"self": {
"href": "https://cdn.umbraco.io/media/662af6ca-411a-4c93-a6c7-22c4845698e7"
},
"root": {
"href": "https://cdn.umbraco.io/media"
},
"children": {
"href": "https://cdn.umbraco.io/media/662af6ca-411a-4c93-a6c7-22c4845698e7/children"
}
},
"umbracoFile": {
"src": "/media/662af6ca411a4c93a6c722c4845698e7/00000006000000000000000000000000/16403439029_f500be349b_o.jpg",
"focalPoint": null,
"crops": null
},
"umbracoWidth": 1600,
"umbracoHeight": 1067,
"umbracoBytes": 759116,
"umbracoExtension": "jpg"
}
]
}
}GET https://cdn.umbraco.io/content
Umb-Project-Alias: project-aliasGET https://cdn.umbraco.io/content?Umb-Project-Alias=project-aliasGET https://cdn.umbraco.io/content
api-version: 2GET https://cdn.umbraco.io/content?api-version=2GET https://cdn.umbraco.io/content
Accept: application/json+hal;v=2GET https://api.umbraco.io/
Authorization: Basic {base64-encoded-string}GET https://api.umbraco.io/
Api-Key: {api-key}POST https://api.umbraco.io/oauth/token
Content-Type: application/x-www-form-urlencoded
grant_type=password&username={username}&password={password}GET https://api.umbraco.io/
Authorization: Bearer {token}POST https://cdn.umbraco.io/member/oauth/token
Content-Type: application/x-www-form-urlencoded
grant_type=password&username={username}&password={password}GET https://cdn.umbraco.io/
Authorization: Bearer {token}








Api-Version: 2
Umb-Project-Alias: {project-alias}{
"error": {
"code": "Unauthorized",
"message": "Authorization has been denied for this request."
}
}{
"_failedPasswordAttempts": 0,
"_groups": [
"Club Blue Members"
],
"_lastLoginDate": "2019-10-10T12:04:24Z",
"_lastPasswordChangeDate": "2019-10-10T12:04:24Z",
"_createDate": "2019-10-10T12:04:24.203Z",
"_id": "153c22ad-2940-4d1c-9253-f62a2a873915",
"_updateDate": "2019-10-10T12:04:24.487Z",
"_links": {
"self": {
"href": "https://api.umbraco.io/member/john%40example.com"
},
"membertype": {
"href": "https://api.umbraco.io/member/type/Member"
}
},
"comments": "First Club Blue Member",
"email": "[email protected]",
"isApproved": true,
"isLockedOut": false,
"memberTypeAlias": "Member",
"username": "[email protected]",
"name": "John Doe"
}{
"comments": "A Valued Club Blue Member",
"email": "[email protected]",
"isApproved": true,
"isLockedOut": false,
"memberTypeAlias": "Member",
"username": "[email protected]",
"name": "Jane Doe"
}{
"_failedPasswordAttempts": 0,
"_groups": [],
"_createDate": "2019-10-10T12:18:06.6087436Z",
"_id": "fbabbae4-738d-406a-a7b6-e6684a622882",
"_updateDate": "2019-10-10T12:18:06.6087436Z",
"_links": {
"self": {
"href": "https://api.umbraco.io/member/john%40example.com"
},
"membertype": {
"href": "https://api.umbraco.io/member/type/Member"
}
},
"comments": "A Valued Club Blue Member",
"email": "[email protected]",
"isApproved": true,
"isLockedOut": false,
"memberTypeAlias": "Member",
"username": "[email protected]",
"name": "Jane Doe"
}{
"comments": "A Valued Club Blue Member",
"email": "[email protected]",
"isApproved": true,
"isLockedOut": false,
"memberTypeAlias": "Member",
"username": "[email protected]",
"name": "Jane A. Doe"
}{
"_failedPasswordAttempts": 0,
"_groups": [],
"_createDate": "2019-10-10T12:19:57.053Z",
"_id": "59c97163-0ece-4b92-893a-d3da4af2c888",
"_updateDate": "2019-10-10T12:20:30.1886381Z",
"_links": {
"self": {
"href": "https://api.umbraco.io/member/jane%40example.com"
},
"membertype": {
"href": "https://api.umbraco.io/member/type/Member"
}
},
"comments": "A Valued Club Blue Member",
"email": "[email protected]",
"isApproved": true,
"isLockedOut": false,
"memberTypeAlias": "Member",
"username": "[email protected]",
"name": "Jane A. Doe"
}{
"_failedPasswordAttempts": 0,
"_groups": [],
"_lastLoginDate": "2019-10-10T12:04:24Z",
"_lastPasswordChangeDate": "2019-10-10T12:04:24Z",
"_createDate": "2019-10-10T12:04:24.203Z",
"_id": "153c22ad-2940-4d1c-9253-f62a2a873915",
"_updateDate": "2019-10-10T12:04:24.487Z",
"_deleteDate": "2019-10-10T12:16:41.2371252Z",
"_links": {
"self": {
"href": "https://api.umbraco.io/member/john%40example.com"
},
"membertype": {
"href": "https://api.umbraco.io/member/type/Member"
}
},
"comments": "First Club Blue Member",
"email": "[email protected]",
"isApproved": true,
"isLockedOut": false,
"memberTypeAlias": "Member",
"username": "[email protected]",
"name": "John Doe"
}{
"currentPassword": "<current password>",
"newPassword": "<new password>"
}{
"_failedPasswordAttempts": 0,
"_groups": [],
"_createDate": "2019-10-10T12:19:57.053Z",
"_id": "59c97163-0ece-4b92-893a-d3da4af2c888",
"_updateDate": "2019-10-10T12:20:30.1886381Z",
"_links": {
"self": {
"href": "https://api.umbraco.io/member/jane%40example.com"
},
"membertype": {
"href": "https://api.umbraco.io/member/type/Member"
}
},
"comments": "A Valued Club Blue Member",
"email": "[email protected]",
"isApproved": true,
"isLockedOut": false,
"memberTypeAlias": "Member",
"username": "[email protected]",
"name": "Jane A. Doe"
}{
"token": "ydAcKSmv+zAdPqFeYPuBAGojmFvJeiI2B6K79x0eOGX5EMevdu/vs16eq5sZ85crk2V+/7JmxN6s/5MJFvNg2K9Iex3cFmNlI8uTmvw2HuQzCr3Zo9KyKh19Gy4iTfzx+Q3Q0z1TCuSdBxjpiI6nuQ==",
"expires_in": 86399,
"_links": {
"self": {
"href": "/api/member/jane%40example.com/password/reset-token"
},
"member": {
"href": "/api/member/jane%40example.com"
}
},
"_embedded": {
"member": {
"_failedPasswordAttempts": 0,
"_groups": [],
"_createDate": "2019-10-10T12:19:57.053Z",
"_id": "59c97163-0ece-4b92-893a-d3da4af2c888",
"_updateDate": "2019-10-10T12:20:30.1886381Z",
"_links": {
"self": {
"href": "https://api.umbraco.io/member/jane%40example.com"
},
"membertype": {
"href": "https://api.umbraco.io/member/type/Member"
}
},
"comments": "A Valued Club Blue Member",
"email": "[email protected]",
"isApproved": true,
"isLockedOut": false,
"memberTypeAlias": "Member",
"username": "[email protected]",
"name": "Jane A. Doe"
}
}{
"token": "ydAcKSmv+zAdPqFeYPuBAGojmFvJeiI2B6K79x0eOGX5EMevdu/vs16eq5sZ85crk2V+/7JmxN6s/5MJFvNg2K9Iex3cFmNlI8uTmvw2HuQzCr3Zo9KyKh19Gy4iTfzx+Q3Q0z1TCuSdBxjpiI6nuQ==",
"newPassword": "<new password>"
}{
"_failedPasswordAttempts": 0,
"_groups": [],
"_createDate": "2019-10-10T12:18:06.6087436Z",
"_id": "fbabbae4-738d-406a-a7b6-e6684a622882",
"_updateDate": "2019-10-10T12:18:06.6087436Z",
"_links": {
"self": {
"href": "https://api.umbraco.io/member/john%40example.com"
},
"membertype": {
"href": "https://api.umbraco.io/member/type/Member"
}
},
"comments": "A Valued Club Blue Member",
"email": "[email protected]",
"isApproved": true,
"isLockedOut": false,
"memberTypeAlias": "Member",
"username": "[email protected]",
"name": "Jane Doe"
}Api-Version: 2
Umb-Project-Alias: {project-alias}{
"error": {
"code": "Unauthorized",
"message": "Authorization has been denied for this request."
}
}{
"_links": {
"self": {
"href": "https://api.umbraco.io/member/type"
},
"membertypes": [
{
"href": "https://api.umbraco.io/member/type/Member"
},
{
"href": "https://api.umbraco.io/member/type/shopMembers"
}
]
},
"_embedded": {
"membertypes": [
{
"alias": "Member",
"compositions": [],
"groups": [
{
"name": "Membership",
"sortOrder": 1,
"properties": [
{
"isSensitive": false,
"memberCanEdit": false,
"memberCanView": false,
"alias": "umbracoMemberComments",
"label": "Comments",
"propertyEditorAlias": "Umbraco.TextArea",
"sortOrder": 0,
"validation": {
"required": false
}
},
{
"isSensitive": false,
"memberCanEdit": false,
"memberCanView": false,
"alias": "umbracoMemberFailedPasswordAttempts",
"label": "Failed Password Attempts",
"propertyEditorAlias": "Umbraco.Label",
"sortOrder": 1,
"validation": {
"required": false
}
},
{
"isSensitive": false,
"memberCanEdit": false,
"memberCanView": false,
"alias": "umbracoMemberApproved",
"label": "Is Approved",
"propertyEditorAlias": "Umbraco.TrueFalse",
"sortOrder": 2,
"validation": {
"required": false
}
},
{
"isSensitive": false,
"memberCanEdit": false,
"memberCanView": false,
"alias": "umbracoMemberLockedOut",
"label": "Is Locked Out",
"propertyEditorAlias": "Umbraco.TrueFalse",
"sortOrder": 3,
"validation": {
"required": false
}
},
{
"isSensitive": false,
"memberCanEdit": false,
"memberCanView": false,
"alias": "umbracoMemberLastLockoutDate",
"label": "Last Lockout Date",
"propertyEditorAlias": "Umbraco.Label",
"sortOrder": 4,
"validation": {
"required": false
}
},
{
"isSensitive": false,
"memberCanEdit": false,
"memberCanView": false,
"alias": "umbracoMemberLastLogin",
"label": "Last Login Date",
"propertyEditorAlias": "Umbraco.Label",
"sortOrder": 5,
"validation": {
"required": false
}
},
{
"isSensitive": false,
"memberCanEdit": false,
"memberCanView": false,
"alias": "umbracoMemberLastPasswordChangeDate",
"label": "Last Password Change Date",
"propertyEditorAlias": "Umbraco.Label",
"sortOrder": 6,
"validation": {
"required": false
}
}
]
}
],
"name": "Member",
"_createDate": "2019-09-20T12:07:43.987Z",
"_id": "d59be02f-1df9-4228-aa1e-01917d806cda",
"_updateDate": "2019-09-20T12:07:43.987Z",
"_links": {
"self": {
"href": "https://api.umbraco.io/member/type/Member"
},
"root": {
"href": "https://api.umbraco.io/member/type"
}
}
},
{
"alias": "shopMembers",
"compositions": [],
"groups": [
{
"name": "Shop Details",
"sortOrder": 0,
"properties": [
{
"isSensitive": false,
"memberCanEdit": false,
"memberCanView": true,
"alias": "favouriteProduct",
"label": "Favourite Product",
"propertyEditorAlias": "Umbraco.TextBox",
"sortOrder": 0,
"validation": {
"required": true
}
}
]
},
{
"name": "Membership",
"sortOrder": 1,
"properties": [
{
"isSensitive": false,
"memberCanEdit": false,
"memberCanView": false,
"alias": "umbracoMemberComments",
"label": "Comments",
"propertyEditorAlias": "Umbraco.TextArea",
"sortOrder": 0,
"validation": {
"required": false
}
},
{
"isSensitive": false,
"memberCanEdit": false,
"memberCanView": false,
"alias": "umbracoMemberFailedPasswordAttempts",
"label": "Failed Password Attempts",
"propertyEditorAlias": "Umbraco.Label",
"sortOrder": 1,
"validation": {
"required": false
}
},
{
"isSensitive": false,
"memberCanEdit": false,
"memberCanView": false,
"alias": "umbracoMemberApproved",
"label": "Is Approved",
"propertyEditorAlias": "Umbraco.TrueFalse",
"sortOrder": 2,
"validation": {
"required": false
}
},
{
"isSensitive": false,
"memberCanEdit": false,
"memberCanView": false,
"alias": "umbracoMemberLockedOut",
"label": "Is Locked Out",
"propertyEditorAlias": "Umbraco.TrueFalse",
"sortOrder": 3,
"validation": {
"required": false
}
},
{
"isSensitive": false,
"memberCanEdit": false,
"memberCanView": false,
"alias": "umbracoMemberLastLockoutDate",
"label": "Last Lockout Date",
"propertyEditorAlias": "Umbraco.Label",
"sortOrder": 4,
"validation": {
"required": false
}
},
{
"isSensitive": false,
"memberCanEdit": false,
"memberCanView": false,
"alias": "umbracoMemberLastLogin",
"label": "Last Login Date",
"propertyEditorAlias": "Umbraco.Label",
"sortOrder": 5,
"validation": {
"required": false
}
},
{
"isSensitive": false,
"memberCanEdit": false,
"memberCanView": false,
"alias": "umbracoMemberLastPasswordChangeDate",
"label": "Last Password Change Date",
"propertyEditorAlias": "Umbraco.Label",
"sortOrder": 6,
"validation": {
"required": false
}
},
{
"isSensitive": false,
"memberCanEdit": false,
"memberCanView": false,
"alias": "umbracoMemberPasswordRetrievalAnswer",
"label": "Password Answer",
"propertyEditorAlias": "Umbraco.Label",
"sortOrder": 7,
"validation": {
"required": false
}
},
{
"isSensitive": false,
"memberCanEdit": false,
"memberCanView": false,
"alias": "umbracoMemberPasswordRetrievalQuestion",
"label": "Password Question",
"propertyEditorAlias": "Umbraco.Label",
"sortOrder": 8,
"validation": {
"required": false
}
}
]
}
],
"name": "Shop Members",
"_createDate": "2019-10-10T12:07:17.37Z",
"_id": "ff345c85-dd87-49f2-a1de-ab7a23e54aea",
"_updateDate": "2019-10-10T12:07:17.37Z",
"_links": {
"self": {
"href": "https://api.umbraco.io/member/type/shopMembers"
},
"root": {
"href": "https://api.umbraco.io/member/type"
}
}
}
]
}
}{
"alias": "Member",
"compositions": [],
"groups": [
{
"name": "Membership",
"sortOrder": 1,
"properties": [
{
"isSensitive": false,
"memberCanEdit": false,
"memberCanView": false,
"alias": "umbracoMemberComments",
"label": "Comments",
"propertyEditorAlias": "Umbraco.TextArea",
"sortOrder": 0,
"validation": {
"required": false
}
},
{
"isSensitive": false,
"memberCanEdit": false,
"memberCanView": false,
"alias": "umbracoMemberFailedPasswordAttempts",
"label": "Failed Password Attempts",
"propertyEditorAlias": "Umbraco.Label",
"sortOrder": 1,
"validation": {
"required": false
}
},
{
"isSensitive": false,
"memberCanEdit": false,
"memberCanView": false,
"alias": "umbracoMemberApproved",
"label": "Is Approved",
"propertyEditorAlias": "Umbraco.TrueFalse",
"sortOrder": 2,
"validation": {
"required": false
}
},
{
"isSensitive": false,
"memberCanEdit": false,
"memberCanView": false,
"alias": "umbracoMemberLockedOut",
"label": "Is Locked Out",
"propertyEditorAlias": "Umbraco.TrueFalse",
"sortOrder": 3,
"validation": {
"required": false
}
},
{
"isSensitive": false,
"memberCanEdit": false,
"memberCanView": false,
"alias": "umbracoMemberLastLockoutDate",
"label": "Last Lockout Date",
"propertyEditorAlias": "Umbraco.Label",
"sortOrder": 4,
"validation": {
"required": false
}
},
{
"isSensitive": false,
"memberCanEdit": false,
"memberCanView": false,
"alias": "umbracoMemberLastLogin",
"label": "Last Login Date",
"propertyEditorAlias": "Umbraco.Label",
"sortOrder": 5,
"validation": {
"required": false
}
},
{
"isSensitive": false,
"memberCanEdit": false,
"memberCanView": false,
"alias": "umbracoMemberLastPasswordChangeDate",
"label": "Last Password Change Date",
"propertyEditorAlias": "Umbraco.Label",
"sortOrder": 6,
"validation": {
"required": false
}
}
]
}
],
"name": "Member",
"_createDate": "2019-09-20T12:07:43.987Z",
"_id": "d59be02f-1df9-4228-aa1e-01917d806cda",
"_updateDate": "2019-09-20T12:07:43.987Z",
"_links": {
"self": {
"href": "https://api.umbraco.io/member/type/Member"
},
"root": {
"href": "https://api.umbraco.io/member/type"
}
}
}Api-Version: 2
Umb-Project-Alias: {project-alias}{
"error": {
"code": "Unauthorized",
"message": "Authorization has been denied for this request."
}
}{
"_links": {
"self": {
"href": "https://api.umbraco.io/language"
},
"languages": [
{
"href": "https://api.umbraco.io/language/en-US"
},
{
"href": "https://api.umbraco.io/language/da-DK"
}
]
},
"_embedded": {
"languages": [
{
"isoCode": "en-US",
"cultureName": "English (United States)",
"isDefault": true,
"isMandatory": false,
"_createDate": "0001-01-01T00:00:00Z",
"_id": "2a8adac1-c405-4de8-997b-cacc68f75dd2",
"_updateDate": "0001-01-01T00:00:00Z",
"_links": {
"self": {
"href": "https://api.umbraco.io/language/en-US"
},
"root": {
"href": "https://api.umbraco.io/language"
}
}
},
{
"isoCode": "da-DK",
"cultureName": "Danish",
"isDefault": false,
"isMandatory": false,
"_createDate": "0001-01-01T00:00:00Z",
"_id": "afe0b0d0-7bb9-4b1b-b4f3-3c2b5d14c4cc",
"_updateDate": "0001-01-01T00:00:00Z",
"_links": {
"self": {
"href": "https://api.umbraco.io/language/da-DK"
},
"root": {
"href": "https://api.umbraco.io/language"
}
}
}
]
}
}{
"isoCode": "en-US",
"cultureName": "English (United States)",
"isDefault": true,
"isMandatory": false,
"_createDate": "0001-01-01T00:00:00Z",
"_id": "d29bb164-7afb-471f-b49f-81c91200b56c",
"_updateDate": "0001-01-01T00:00:00Z",
"_links": {
"self": {
"href": "https://api.umbraco.io/language/en-US"
},
"root": {
"href": "https://api.umbraco.io/language"
}
}
}{
"isoCode": "da-DK",
"cultureName": "Danish",
"isDefault": false,
"isMandatory": false
}{
"isoCode": "da-DK",
"cultureName": "Danish",
"isDefault": false,
"isMandatory": false,
"_createDate": "2019-10-10T11:39:57.270409Z",
"_id": "4cb6b2c5-0de4-42c9-bcfc-a86f58eb8763",
"_updateDate": "2019-10-10T11:39:57.270409Z",
"_links": {
"self": {
"href": "https://api.umbraco.io/language/da-DK"
},
"root": {
"href": "https://api.umbraco.io/language"
}
}
}{
"isoCode": "da-DK",
"cultureName": "Danish",
"isDefault": false,
"isMandatory": true
}{
"isoCode": "da-DK",
"cultureName": "Danish",
"isDefault": false,
"isMandatory": true,
"_createDate": "2019-10-10T11:39:57.270409Z",
"_id": "4cb6b2c5-0de4-42c9-bcfc-a86f58eb8763",
"_updateDate": "2019-10-10T11:39:57.270409Z",
"_links": {
"self": {
"href": "https://api.umbraco.io/language/da-DK"
},
"root": {
"href": "https://api.umbraco.io/language"
}
}
}{
"isoCode": "da-DK",
"cultureName": "Danish",
"isDefault": false,
"isMandatory": false,
"_createDate": "0001-01-01T00:00:00Z",
"_id": "afe0b0d0-7bb9-4b1b-b4f3-3c2b5d14c4cc",
"_updateDate": "0001-01-01T00:00:00Z",
"_deleteDate": "2019-10-10T11:43:16.0824903Z",
"_links": {
"self": {
"href": "https://api.umbraco.io/language/da-DK"
},
"root": {
"href": "https://api.umbraco.io/language"
}
}
}Learn how to query Umbraco Heartcore with GraphQL.
export default class extends HTMLElement { #textarea
#template = `<textarea
rows="1"
placeholder="Write here..."
class="textstring input-block-level"
style="font-size: 36px; line-height: 45px; font-weight: bold"></textarea>` constructor() {
super()
this.innerHTML = this.#template
this.#textarea = this.querySelector('textarea')
} click() {
this.#textarea.focus()
} get value() { return this.#textarea.value }
set value(value) {
this.#textarea.value = value || ''
}
}import { LitElement, css, html } from 'https://cdn.jsdelivr.net/gh/lit/dist@2/all/lit-all.min.js'
export default class extends LitElement {
static properties = {
value: { type: Array },
}
static styles = css`
.container {
display: grid;
grid-gap: 5px;
grid-template-columns: repeat(auto-fit, 200px);
padding: 5px;
}
.add-button {
font-family: var(--font-family-base);
font-size: var(--font-size-base);
line-height: var(--line-height-base);
cursor: pointer;
width: 200px;
height: 200px;
padding: 20px;
padding-bottom: 30px;
background-color: var(--color-white);
border: 4px dashed var(--color-gray-8);
text-align: center;
box-sizing: border-box;
}
.add-button svg {
display: block;
fill: var(--color-gray-8);
font-size: 85px;
line-height: 1;
display: inline-block;
height: 1.15em;
width: 1.15em;
margin: 10px auto;
}
.add-button div {
color: var(--color-black);
font-size: 14px;
font-weight: 700;
}
`
render() {
return html`<div class="container">
<button class="add-button">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
<path d="M246.486 299.31l-85.604-91.047-58.21 107.66v29.658h289.12c-36.821-31.753-114.476-99.682-114.476-99.682l-30.83 53.411zM347 230.786c16.062 0 29.073-13 29.073-29.06 0-16.04-13.012-29.062-29.073-29.062-16.019 0-29.038 13.021-29.038 29.062 0 16.06 13.019 29.06 29.038 29.06zM37.74 102.699v306.569h434.688V102.699H37.74zm396.082 267.916H77.635l-.016-228.033h354.928v.017h1.275v228.016z"></path>
</svg>
<div>Add image</div>
</button>
</div>`
}
}import { LitElement, css, html } from 'https://cdn.jsdelivr.net/gh/lit/dist@2/all/lit-all.min.js'export default class extends LitElement { static properties = {
value: { type: Array },
} static styles = css`
.container {
display: grid;
grid-gap: 5px;
grid-template-columns: repeat(auto-fit, 200px);
padding: 5px;
}
.add-button {
font-family: var(--font-family-base);
font-size: var(--font-size-base);
line-height: var(--line-height-base);
cursor: pointer;
width: 200px;
height: 200px;
padding: 20px;
padding-bottom: 30px;
background-color: var(--color-white);
border: 4px dashed var(--color-gray-8);
text-align: center;
box-sizing: border-box;
}
.add-button svg {
display: block;
fill: var(--color-gray-8);
font-size: 85px;
line-height: 1;
display: inline-block;
height: 1.15em;
width: 1.15em;
margin: 10px auto;
}
.add-button div {
color: var(--color-black);
font-size: 14px;
font-weight: 700;
} render() {
return html`<div class="container">
<button class="add-button">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
<path d="M246.486 299.31l-85.604-91.047-58.21 107.66v29.658h289.12c-36.821-31.753-114.476-99.682-114.476-99.682l-30.83 53.411zM347 230.786c16.062 0 29.073-13 29.073-29.06 0-16.04-13.012-29.062-29.073-29.062-16.019 0-29.038 13.021-29.038 29.062 0 16.06 13.019 29.06 29.038 29.06zM37.74 102.699v306.569h434.688V102.699H37.74zm396.082 267.916H77.635l-.016-228.033h354.928v.017h1.275v228.016z"></path>
</svg>
<div>Add image</div>
</button>
</div>`
}
}import { mediaPicker } from 'https://cdn.jsdelivr.net/npm/@umbraco/headless-backoffice-bridge@0/headless-backoffice-bridge.min.js'showPicker() {
mediaPicker.show({
disableFolderSelect: true,
onlyImages: true,
showDetails: true,
submit: (items) => {
const selected = items[0]
if(!this.value) this.value = []
this.value.push(({ url: selected.udi, ...selected }))
this.requestUpdate('value')
}
})
}<button type="button" class="add-button" @click=${() => this.showPicker()}>render() {
const items = this.value || []
return html`<div class="container">
${items.map(image => html`<umbh-image width="200" height="200" udi=${image.udi} alt=${image.altText} .focalPoint=${image.focalPoint}></umbh-image>`)}
<button class="add-button" @click=${() => this.showPicker()}>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
<path d="M246.486 299.31l-85.604-91.047-58.21 107.66v29.658h289.12c-36.821-31.753-114.476-99.682-114.476-99.682l-30.83 53.411zM347 230.786c16.062 0 29.073-13 29.073-29.06 0-16.04-13.012-29.062-29.073-29.062-16.019 0-29.038 13.021-29.038 29.062 0 16.06 13.019 29.06 29.038 29.06zM37.74 102.699v306.569h434.688V102.699H37.74zm396.082 267.916H77.635l-.016-228.033h354.928v.017h1.275v228.016z"></path>
</svg>
<div>Add image</div>
</button>
</div>`
}import { mediaPicker } from '@headless-backoffice-bridge'{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "array",
"items": {
"type": "object"
}
}{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "array",
"items": {
"type": "object",
"properties": {
"url": { "type": "string", "format": "uri-reference" }
}
}
}Api-Version: 2
Umb-Project-Alias: {project-alias}{
"error": {
"code": "Unauthorized",
"message": "Authorization has been denied for this request."
}
}{
"_id": 4,
"parentId": "af3e08fc-fb90-4c78-b11c-c1a0cf43bd31",
"childId": "e0c5f0e5-c1f0-4422-9ac0-6dbb536e8eb5",
"relationTypeAlias": "relateDocumentOnCopy",
"comment": "Testing relations for relateDocumentOnCopy",
"_links": {
"self": {
"href": "https://api.umbraco.io/relation/4"
}
}
}{
"_links": {
"self": {
"href": "https://api.umbraco.io/relation/parent/"
},
"relations": {
"href": "https://api.umbraco.io/relation/4"
}
},
"_embedded": {
"relations": [
{
"_id": 4,
"parentId": "af3e08fc-fb90-4c78-b11c-c1a0cf43bd31",
"childId": "e0c5f0e5-c1f0-4422-9ac0-6dbb536e8eb5",
"relationTypeAlias": "relateDocumentOnCopy",
"comment": "Testing relations for relateDocumentOnCopy",
"_links": {
"self": {
"href": "https://api.umbraco.io/relation/4"
}
}
}
]
}
}{
"_links": {
"self": {
"href": "https://api.umbraco.io/relation/parent/af3e08fc-fb90-4c78-b11c-c1a0cf43bd31"
},
"relations": {
"href": "https://api.umbraco.io/relation/4"
}
},
"_embedded": {
"relations": [
{
"_id": 4,
"parentId": "af3e08fc-fb90-4c78-b11c-c1a0cf43bd31",
"childId": "e0c5f0e5-c1f0-4422-9ac0-6dbb536e8eb5",
"relationTypeAlias": "relateDocumentOnCopy",
"comment": "Testing relations for relateDocumentOnCopy",
"_links": {
"self": {
"href": "https://api.umbraco.io/relation/4"
}
}
}
]
}
}{
"_links": {
"self": {
"href": "https://api.umbraco.io/relation/child/e0c5f0e5-c1f0-4422-9ac0-6dbb536e8eb5"
},
"relations": {
"href": "https://api.umbraco.io/relation/4"
}
},
"_embedded": {
"relations": [
{
"_id": 4,
"parentId": "af3e08fc-fb90-4c78-b11c-c1a0cf43bd31",
"childId": "e0c5f0e5-c1f0-4422-9ac0-6dbb536e8eb5",
"relationTypeAlias": "relateDocumentOnCopy",
"comment": "Testing relations for relateDocumentOnCopy",
"_links": {
"self": {
"href": "https://api.umbraco.io/relation/4"
}
}
}
]
}
}{
"parentId": "af3e08fc-fb90-4c78-b11c-c1a0cf43bd31",
"childId": "e0c5f0e5-c1f0-4422-9ac0-6dbb536e8eb5",
"relationTypeAlias": "relateDocumentOnCopy",
"comment": "Testing relations for relateDocumentOnCopy"
}{
"_id": 4,
"parentId": "af3e08fc-fb90-4c78-b11c-c1a0cf43bd31",
"childId": "e0c5f0e5-c1f0-4422-9ac0-6dbb536e8eb5",
"relationTypeAlias": "relateDocumentOnCopy",
"comment": "Testing relations for relateDocumentOnCopy",
"_links": {
"self": {
"href": "https://api.umbraco.io/relation/4"
}
}
}{
"_id": 4,
"parentId": "af3e08fc-fb90-4c78-b11c-c1a0cf43bd31",
"childId": "e0c5f0e5-c1f0-4422-9ac0-6dbb536e8eb5",
"relationTypeAlias": "relateDocumentOnCopy",
"comment": "Testing relations for relateDocumentOnCopy",
"_links": {
"self": {
"href": "https://api.umbraco.io/relation/4"
}
}
}














{
"query": "..."
}{
frontpage(url: "/home/") {
name
url
heroTitle
}
}{
"data": {
"frontpage": {
"name": "Home",
"url": "/home/",
"heroTitle": "Umbraco Heartcore"
}
}
}{
content(url: "/home/") {
name
... on Frontpage {
heroTitle
heroSubtitle
heroImage {
url(width: 1980, height: 430, cropMode: CROP)
}
}
}
}{
"data": {
"content": {
"name": "Home",
"heroTitle": "Umbraco Heartcore",
"heroSubtitle": "Umbraco Heartcore is a headless CMS by Umbraco. With Heartcore, you can use the Umbraco backoffice to manage content and media that's ready to be displayed on any device.",
"heroImage": {
"url": "https://media.umbraco.io/demo-headless/8d832c5cee78cf8/umbraco-heartcore-preview.png?mode=crop&width=1980&height=430&upscale=false"
}
}
}
}{
content(url: "/home/") {
name
... on HeroComposition {
heroTitle
heroSubtitle
heroImage {
url(width: 1980, height: 430, cropMode: CROP)
}
}
}
}{
frontpage(url: "/home/") {
elements {
... on TextAndImage {
title
text
showLargeImage
image {
small: url(width: 320, height: 240, cropMode: CROP)
medium: url(width: 480, height: 360, cropMode: CROP)
large: url(width: 1024, height: 768, cropMode: CROP)
}
}
}
}
}{
frontpage(url: "/home/") {
children {
edges {
node {
name
url
}
}
}
}
}{
frontpage(url: "/home/") {
footerTitle
footerLinks {
name
target
type
url
}
}
}{
global: frontpage(url: "/home/") {
mainNavigation: children {
edges {
node {
name
url
}
}
}
footerTitle
footerLinks {
name
target
type
url
}
}
}{
"data": {
"global": {
"mainNavigation": {
"edges": [
{
"node": {
"name": "What is a Headless CMS?",
"url": "/home/what-is-a-headless-cms/"
}
},
{
"node": {
"name": "What you get with Umbraco Heartcore",
"url": "/home/what-you-get-with-umbraco-heartcore/"
}
}
]
},
"footerTitle": "About Umbraco",
"footerLinks": [
{
"name": "Umbraco Website",
"target": "_blank",
"type": "EXTERNAL",
"url": "https://umbraco.com/products/umbraco-heartcore"
},
{
"name": "Umbraco Heartcore Documentation",
"target": "_blank",
"type": "EXTERNAL",
"url": "https://docs.umbraco.com/umbraco-heartcore/"
}
]
}
}
}query ($url: String!){
content(url: $url) {
name
... on HeroComposition {
heroTitle
heroSubtitle
heroImage {
url(width: 1980, height: 430, cropMode: CROP)
}
}
}
}{
"query": "...",
"variables": {
"url": "/home/"
}
}query($url: String!) {
content(url: $url) {
...Hero
...UniqueSellingPoints
...Elements
}
global: frontpage(url: "/home/") {
mainNavigation: children {
edges {
node {
name
url
}
}
}
footerTitle
footerLinks {
name
target
type
url
}
}
}
fragment Hero on HeroComposition {
heroTitle
heroSubtitle
heroImage {
url(width: 1980, height: 430, cropMode: CROP)
}
}
fragment Elements on ElementsComposition {
elements {
... on TextAndImage {
title
text
showLargeImage
image {
small: url(width: 320, height: 240, cropMode: CROP)
medium: url(width: 480, height: 360, cropMode: CROP)
large: url(width: 1024, height: 768, cropMode: CROP)
}
}
}
}
fragment UniqueSellingPoints on UniqueSellingPointsComposition {
uniqueSellingPointsTitle
uniqueSellingPoints {
... on UniqueSellingPoint {
title
text
link {
name
target
type
url
}
image {
url
}
}
}
}{
"url":"/home/"
}













Api-Version: 2
Umb-Project-Alias: {project-alias}{
"error": {
"code": "Forbidden",
"message": "Authorization has been denied for this request."
}
}{
"_links": {
"self": {
"href": "https://api.umbraco.io/content/type"
},
"contenttypes": [
{
"href": "https://api.umbraco.io/content/type/contentBase"
},
{
"href": "https://api.umbraco.io/content/type/feature"
},
{
"href": "https://api.umbraco.io/content/type/navigationBase"
},
{
"href": "https://api.umbraco.io/content/type/home"
},
{
"href": "https://api.umbraco.io/content/type/blog"
},
{
"href": "https://api.umbraco.io/content/type/blogpost"
},
{
"href": "https://api.umbraco.io/content/type/products"
},
{
"href": "https://api.umbraco.io/content/type/product"
}
]
},
"_embedded": {
"contenttypes": [
{
"allowCultureVariant": false,
"alias": "blog",
"compositions": [
"contentBase",
"navigationBase"
],
"groups": [
{
"name": "Content",
"sortOrder": 10,
"properties": [
{
"allowCultureVariant": false,
"alias": "pageTitle",
"label": "Page Title",
"propertyEditorAlias": "Umbraco.TextBox",
"sortOrder": 0,
"validation": {
"required": false
}
},
{
"allowCultureVariant": false,
"alias": "bodyText",
"configuration": {
"editor": null,
"blocks": null,
"useLiveEditing": false,
"overlaySize": null,
"hideLabel": false,
"mediaParentId": null,
"ignoreUserStartNodes": false
},
"label": "Content",
"propertyEditorAlias": "Umbraco.TinyMCE",
"sortOrder": 1,
"validation": {
"required": false
}
}
]
},
{
"name": "Navigation & SEO",
"sortOrder": 20,
"properties": [
{
"allowCultureVariant": false,
"alias": "seoMetaDescription",
"label": "Description",
"propertyEditorAlias": "Umbraco.TextArea",
"sortOrder": 0,
"validation": {
"required": false
}
},
{
"allowCultureVariant": false,
"alias": "keywords",
"configuration": {
"group": "default",
"storageType": "Json",
"Delimiter": "\u0000"
},
"label": "Keywords",
"propertyEditorAlias": "Umbraco.Tags",
"sortOrder": 1,
"validation": {
"required": false
}
},
{
"allowCultureVariant": false,
"alias": "umbNaviHide",
"configuration": {
"default": false,
"showLabels": false,
"labelOn": null,
"labelOff": null
},
"label": "Hide in Navigation",
"propertyEditorAlias": "Umbraco.TrueFalse",
"sortOrder": 2,
"validation": {
"required": false
}
}
]
},
{
"name": "Settings",
"sortOrder": 0,
"properties": [
{
"allowCultureVariant": false,
"alias": "howManyPostsShouldBeShown",
"configuration": {
"enableRange": false,
"initVal1": 10.0,
"initVal2": 0.0,
"minVal": 1.0,
"maxVal": 50.0,
"step": 1.0
},
"label": "How many posts should be shown?",
"propertyEditorAlias": "Umbraco.Slider",
"sortOrder": 0,
"validation": {
"required": false
}
},
{
"allowCultureVariant": false,
"alias": "disqusShortname",
"description": "To use comments, you'll need to sign up for Disqus and enter your shortname here (more info: https://help.disqus.com/customer/portal/articles/472097-universal-embed-code)",
"label": "Disqus Shortname",
"propertyEditorAlias": "Umbraco.TextBox",
"sortOrder": 1,
"validation": {
"required": false
}
}
]
}
],
"name": "Blog",
"_createDate": "2019-10-04T11:04:28.35Z",
"_id": "558f0270-76dc-4b81-bd4b-0687eecce904",
"_updateDate": "2019-10-04T11:04:28.35Z",
"_links": {
"self": {
"href": "https://api.umbraco.io/content/type/blog"
},
"root": {
"href": "https://api.umbraco.io/content/type"
}
}
},
{
"allowCultureVariant": false,
"alias": "blogpost",
"compositions": [
"navigationBase"
],
"groups": [
{
"name": "Navigation & SEO",
"sortOrder": 20,
"properties": [
{
"allowCultureVariant": false,
"alias": "seoMetaDescription",
"label": "Description",
"propertyEditorAlias": "Umbraco.TextArea",
"sortOrder": 0,
"validation": {
"required": false
}
},
{
"allowCultureVariant": false,
"alias": "keywords",
"configuration": {
"group": "default",
"storageType": "Json",
"Delimiter": "\u0000"
},
"label": "Keywords",
"propertyEditorAlias": "Umbraco.Tags",
"sortOrder": 1,
"validation": {
"required": false
}
},
{
"allowCultureVariant": false,
"alias": "umbNaviHide",
"configuration": {
"default": false,
"showLabels": false,
"labelOn": null,
"labelOff": null
},
"label": "Hide in Navigation",
"propertyEditorAlias": "Umbraco.TrueFalse",
"sortOrder": 2,
"validation": {
"required": false
}
}
]
},
{
"name": "Content",
"sortOrder": 0,
"properties": [
{
"allowCultureVariant": false,
"alias": "pageTitle",
"label": "Page Title",
"propertyEditorAlias": "Umbraco.TextBox",
"sortOrder": 0,
"validation": {
"required": true
}
},
{
"allowCultureVariant": false,
"alias": "categories",
"configuration": {
"group": "default",
"storageType": "Json",
"Delimiter": "\u0000"
},
"label": "Categories (tags)",
"propertyEditorAlias": "Umbraco.Tags",
"sortOrder": 1,
"validation": {
"required": false
}
},
{
"allowCultureVariant": false,
"alias": "excerpt",
"label": "Excerpt",
"propertyEditorAlias": "Umbraco.TextArea",
"sortOrder": 2,
"validation": {
"required": true
}
},
{
"allowCultureVariant": false,
"alias": "bodyText",
"configuration": {
"editor": null,
"blocks": null,
"useLiveEditing": false,
"overlaySize": null,
"hideLabel": false,
"mediaParentId": null,
"ignoreUserStartNodes": false
},
"label": "Content",
"propertyEditorAlias": "Umbraco.TinyMCE",
"sortOrder": 3,
"validation": {
"required": false
}
}
]
}
],
"name": "Blogpost",
"_createDate": "2019-10-04T11:10:04.247Z",
"_id": "5cb405d5-cb5e-4408-8117-f0ac51fcf524",
"_updateDate": "2019-10-04T11:10:04.247Z",
"_links": {
"self": {
"href": "https://api.umbraco.io/content/type/blogpost"
},
"root": {
"href": "https://api.umbraco.io/content/type"
}
}
}
]
}
}{
"allowCultureVariant": false,
"alias": "home",
"compositions": [],
"groups": [
{
"name": "Hero",
"sortOrder": 0,
"properties": [
{
"allowCultureVariant": false,
"alias": "heroHeader",
"description": "This is the main headline for the hero area on the Homepage",
"label": "Header",
"propertyEditorAlias": "Umbraco.TextBox",
"sortOrder": 0,
"validation": {
"required": true
}
},
{
"allowCultureVariant": false,
"alias": "heroDescription",
"label": "Description",
"propertyEditorAlias": "Umbraco.TextArea",
"sortOrder": 1,
"validation": {
"required": true
}
},
{
"allowCultureVariant": false,
"alias": "heroCTACaption",
"label": "Call to Action Caption",
"propertyEditorAlias": "Umbraco.TextBox",
"sortOrder": 2,
"validation": {
"required": true
}
},
{
"allowCultureVariant": false,
"alias": "heroCTALink",
"label": "Call to Action Link",
"propertyEditorAlias": "Umbraco.ContentPicker",
"sortOrder": 3,
"validation": {
"required": false
}
}
]
},
{
"name": "Content",
"sortOrder": 1,
"properties": [
{
"allowCultureVariant": false,
"alias": "bodyText",
"label": "Content",
"propertyEditorAlias": "Umbraco.TinyMCE",
"sortOrder": 0,
"validation": {
"required": false
}
}
]
},
{
"name": "Footer",
"sortOrder": 2,
"properties": [
{
"allowCultureVariant": false,
"alias": "footerHeader",
"label": "Header",
"propertyEditorAlias": "Umbraco.TextBox",
"sortOrder": 0,
"validation": {
"required": false
}
},
{
"allowCultureVariant": false,
"alias": "footerDescription",
"label": "Description",
"propertyEditorAlias": "Umbraco.TextArea",
"sortOrder": 1,
"validation": {
"required": false
}
},
{
"allowCultureVariant": false,
"alias": "footerCTACaption",
"description": "Caption on the Call To Action Button",
"label": "Call to Action Caption",
"propertyEditorAlias": "Umbraco.TextBox",
"sortOrder": 2,
"validation": {
"required": false
}
},
{
"allowCultureVariant": false,
"alias": "footerCTALink",
"label": "Call to Action Link",
"propertyEditorAlias": "Umbraco.ContentPicker",
"sortOrder": 3,
"validation": {
"required": true
}
},
{
"allowCultureVariant": false,
"alias": "footerAddress",
"label": "Address",
"propertyEditorAlias": "Umbraco.TextBox",
"sortOrder": 4,
"validation": {
"required": true
}
}
]
},
{
"name": "Design",
"sortOrder": 3,
"properties": [
{
"allowCultureVariant": false,
"alias": "heroBackgroundImage",
"configuration": {
"filter": null,
"multiple": false,
"validationLimit": {
"min": 0,
"max": 1
},
"startNodeId": null,
"enableLocalFocalPoint": false,
"crops": null,
"ignoreUserStartNodes": false
},
"description": "Spice up the homepage by adding a beautiful photo that relates to your business",
"label": "Hero Background",
"propertyEditorAlias": "Umbraco.MediaPicker3",
"sortOrder": 0,
"validation": {
"required": true
}
},
{
"allowCultureVariant": false,
"alias": "font",
"configuration": {
"items": {
"1": {
"value": "Serif",
"sortOrder": 1
},
"2": {
"value": "Sans-serif",
"sortOrder": 2
}
}
},
"label": "Font",
"propertyEditorAlias": "Umbraco.RadioButtonList",
"sortOrder": 1,
"validation": {
"required": true
}
},
{
"allowCultureVariant": false,
"alias": "colorTheme",
"configuration": {
"items": {
"1": {
"value": "Red",
"sortOrder": 1
},
"2": {
"value": "Blue",
"sortOrder": 2
},
"3": {
"value": "Green",
"sortOrder": 3
}
}
},
"label": "Color Theme",
"propertyEditorAlias": "Umbraco.RadioButtonList",
"sortOrder": 2,
"validation": {
"required": true
}
},
{
"allowCultureVariant": false,
"alias": "sitename",
"description": "Used on the homepage as well as the title and social cards",
"label": "Sitename",
"propertyEditorAlias": "Umbraco.TextBox",
"sortOrder": 3,
"validation": {
"required": true
}
},
{
"allowCultureVariant": false,
"alias": "logo",
"configuration": {
"filter": null,
"multiple": false,
"validationLimit": {
"min": 0,
"max": 1
},
"startNodeId": null,
"enableLocalFocalPoint": false,
"crops": null,
"ignoreUserStartNodes": false
},
"description": "Optional. If you add a logo it'll be used in the upper left corner instead of the site name. Make sure to use a transparent logo for best results",
"label": "Logo",
"propertyEditorAlias": "Umbraco.MediaPicker3",
"sortOrder": 4,
"validation": {
"required": false
}
}
]
}
],
"name": "Home",
"_createDate": "2019-10-04T10:54:53.297Z",
"_id": "0a87cb29-ba6e-4520-8ce6-85e70d89e539",
"_updateDate": "2019-10-04T10:54:53.297Z",
"_links": {
"self": {
"href": "https://api.umbraco.io/content/type/home"
},
"root": {
"href": "https://api.umbraco.io/content/type"
}
}
}Api-Version: 2
Umb-Project-Alias: {project-alias}{
"error": {
"code": "Unauthorized",
"message": "Authorization has been denied for this request."
}
}{
"_links": {
"self": {
"href": "https://api.umbraco.io/media/type"
},
"root": {
"href": "https://api.umbraco.io/media/type"
},
"mediatypes": [
{
"href": "https://api.umbraco.io/media/type/Folder"
},
{
"href": "https://api.umbraco.io/media/type/Image"
},
{
"href": "https://api.umbraco.io/media/type/File"
}
]
},
"_embedded": {
"mediatypes": [
{
"alias": "Folder",
"compositions": [],
"groups": [],
"name": "Folder",
"_createDate": "2019-09-20T12:07:43.973Z",
"_id": "f38bd2d7-65d0-48e6-95dc-87ce06ec2d3d",
"_updateDate": "2019-09-20T12:07:43.973Z",
"_links": {
"self": {
"href": "https://api.umbraco.io/media/type/Folder"
}
}
},
{
"alias": "Image",
"compositions": [],
"groups": [
{
"name": "Image",
"sortOrder": 1,
"properties": [
{
"alias": "umbracoFile",
"label": "Upload image",
"propertyEditorAlias": "Umbraco.ImageCropper",
"sortOrder": 0,
"validation": {
"required": true
}
},
{
"alias": "umbracoWidth",
"description": "in pixels",
"label": "Width",
"propertyEditorAlias": "Umbraco.Label",
"sortOrder": 1,
"validation": {
"required": false
}
},
{
"alias": "umbracoHeight",
"description": "in pixels",
"label": "Height",
"propertyEditorAlias": "Umbraco.Label",
"sortOrder": 2,
"validation": {
"required": false
}
},
{
"alias": "umbracoBytes",
"description": "in bytes",
"label": "Size",
"propertyEditorAlias": "Umbraco.Label",
"sortOrder": 3,
"validation": {
"required": false
}
},
{
"alias": "umbracoExtension",
"label": "Type",
"propertyEditorAlias": "Umbraco.Label",
"sortOrder": 4,
"validation": {
"required": false
}
}
]
}
],
"name": "Image",
"_createDate": "2019-09-20T12:07:43.973Z",
"_id": "cc07b313-0843-4aa8-bbda-871c8da728c8",
"_updateDate": "2019-09-20T12:07:43.973Z",
"_links": {
"self": {
"href": "https://api.umbraco.io/media/type/Image"
}
}
},
{
"alias": "File",
"compositions": [],
"groups": [
{
"name": "File",
"sortOrder": 1,
"properties": [
{
"alias": "umbracoFile",
"label": "Upload file",
"propertyEditorAlias": "Umbraco.UploadField",
"sortOrder": 0,
"validation": {
"required": true
}
},
{
"alias": "umbracoExtension",
"label": "Type",
"propertyEditorAlias": "Umbraco.Label",
"sortOrder": 1,
"validation": {
"required": false
}
},
{
"alias": "umbracoBytes",
"description": "in bytes",
"label": "Size",
"propertyEditorAlias": "Umbraco.Label",
"sortOrder": 2,
"validation": {
"required": false
}
}
]
}
],
"name": "File",
"_createDate": "2019-09-20T12:07:43.973Z",
"_id": "4c52d8ab-54e6-40cd-999c-7a5f24903e4d",
"_updateDate": "2019-09-20T12:07:43.973Z",
"_links": {
"self": {
"href": "https://api.umbraco.io/media/type/File"
}
}
}
]
}
}{
"alias": "Image",
"compositions": [],
"groups": [
{
"name": "Image",
"sortOrder": 1,
"properties": [
{
"alias": "umbracoFile",
"label": "Upload image",
"propertyEditorAlias": "Umbraco.ImageCropper",
"sortOrder": 0,
"validation": {
"required": true
}
},
{
"alias": "umbracoWidth",
"description": "in pixels",
"label": "Width",
"propertyEditorAlias": "Umbraco.Label",
"sortOrder": 1,
"validation": {
"required": false
}
},
{
"alias": "umbracoHeight",
"description": "in pixels",
"label": "Height",
"propertyEditorAlias": "Umbraco.Label",
"sortOrder": 2,
"validation": {
"required": false
}
},
{
"alias": "umbracoBytes",
"description": "in bytes",
"label": "Size",
"propertyEditorAlias": "Umbraco.Label",
"sortOrder": 3,
"validation": {
"required": false
}
},
{
"alias": "umbracoExtension",
"label": "Type",
"propertyEditorAlias": "Umbraco.Label",
"sortOrder": 4,
"validation": {
"required": false
}
}
]
}
],
"name": "Image",
"_createDate": "2019-09-20T12:07:43.973Z",
"_id": "cc07b313-0843-4aa8-bbda-871c8da728c8",
"_updateDate": "2019-09-20T12:07:43.973Z",
"_links": {
"self": {
"href": "https://api.umbraco.io/media/type/Image"
}
}
}Api-Version: 2.1
Umb-Project-Alias: {project-alias}{
"error": {
"code": "Unauthorized",
"message": "Authorization has been denied for this request."
}
}{
"_links": {
"self": {
"href": "/api/forms"
},
"forms": {
"href": "/api/forms/2edaf583-cf66-4d57-930c-f0772c3d1c52"
}
},
"_embedded": {
"forms": [
{
"_id": "2edaf583-cf66-4d57-930c-f0772c3d1c52",
"indicator": "*",
"name": "Contact",
"nextLabel": "Next",
"previousLabel": "Previous",
"submitLabel": "Submit",
"disableDefaultStylesheet": false,
"fieldIndicationType": "MARK_MANDATORY_FIELDS",
"hideFieldValidation": false,
"messageOnSubmit": "Thank you",
"showValidationSummary": false,
"pages": [
{
"fieldsets": [
{
"columns": [
{
"width": 12,
"fields": [
{
"caption": "Name",
"alias": "name",
"required": true,
"requiredErrorMessage": "Please provide a value for Name",
"settings": {
"placeholder": "John Smith",
"defaultValue": ""
},
"type": "text"
},
{
"caption": "Email",
"alias": "email",
"required": true,
"requiredErrorMessage": "Please provide a value for Email",
"settings": {
"placeholder": "[email protected]",
"defaultValue": "",
"pattern": "[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+.[a-zA-Z0-9-.]+",
"patternInvalidErrorMessage": "Please enter a valid email address"
},
"type": "text"
},
{
"caption": "Message",
"alias": "message",
"required": false,
"requiredErrorMessage": "Please provide a value for Message",
"settings": {
"defaultValue": "",
"placeholder": ""
},
"type": "textarea"
},
{
"caption": "Consent for storing submitted data",
"alias": "dataConsent",
"required": true,
"requiredErrorMessage": "Consent is required to store and process the data in this form.",
"settings": {
"acceptCopy": "Yes, I give permission to store and process my data"
},
"type": "dataConsent"
}
]
}
]
}
]
}
],
"_links": {
"self": {
"href": "/api/forms/2edaf583-cf66-4d57-930c-f0772c3d1c52"
}
}
}
]
}
}{
"_id": "2edaf583-cf66-4d57-930c-f0772c3d1c52",
"indicator": "*",
"name": "Contact",
"nextLabel": "Next",
"previousLabel": "Previous",
"submitLabel": "Submit",
"disableDefaultStylesheet": false,
"fieldIndicationType": "MARK_MANDATORY_FIELDS",
"hideFieldValidation": false,
"messageOnSubmit": "Thank you",
"showValidationSummary": false,
"pages": [
{
"fieldsets": [
{
"columns": [
{
"width": 12,
"fields": [
{
"caption": "Name",
"alias": "name",
"required": true,
"requiredErrorMessage": "Please provide a value for Name",
"settings": {
"placeholder": "John Smith",
"defaultValue": ""
},
"type": "text"
},
{
"caption": "Email",
"alias": "email",
"required": true,
"requiredErrorMessage": "Please provide a value for Email",
"settings": {
"placeholder": "[email protected]",
"defaultValue": "",
"pattern": "[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+.[a-zA-Z0-9-.]+",
"patternInvalidErrorMessage": "Please enter a valid email address"
},
"type": "text"
},
{
"caption": "Message",
"alias": "message",
"required": false,
"requiredErrorMessage": "Please provide a value for Message",
"settings": {
"defaultValue": "",
"placeholder": ""
},
"type": "textarea"
},
{
"caption": "Consent for storing submitted data",
"alias": "dataConsent",
"required": true,
"requiredErrorMessage": "Consent is required to store and process the data in this form.",
"settings": {
"acceptCopy": "Yes, I give permission to store and process my data"
},
"type": "dataConsent"
}
]
}
]
}
]
}
],
"_links": {
"self": {
"href": "/api/forms/2edaf583-cf66-4d57-930c-f0772c3d1c52"
}
}
}{
"name": "Jonh Smith",
"email": "[email protected]",
"dataConsent": "on"
}Api-Version: 2
Umb-Project-Alias: {project-alias}{
"error": {
"code": "Unauthorized",
"message": "Authorization has been denied for this request."
}
}{
"_links": {
"self": {
"href": "https://api.umbraco.io/media"
},
"media": [
{
"href": "https://api.umbraco.io/media/{id}",
"templated": true
},
{
"href": "https://api.umbraco.io/media/7bfa2332-cf7f-4c97-941d-50f43f085b06"
},
{
"href": "https://api.umbraco.io/media/bff96d2a-18a7-4d72-b788-72e2034a5514"
},
{
"href": "https://api.umbraco.io/media/9924b6e9-51fd-4686-ad9a-cb59dbe9b4b1"
}
],
"children": {
"href": "https://api.umbraco.io/media/{id}/children{?page,pageSize}",
"templated": true
},
"mediatype": {
"href": "https://api.umbraco.io/media/type/{alias}",
"templated": true
}
},
"_embedded": {
"media": [
{
"_hasChildren": true,
"_level": 1,
"_createDate": "2019-10-04T11:46:06.653Z",
"_id": "7bfa2332-cf7f-4c97-941d-50f43f085b06",
"_updateDate": "2019-10-04T11:46:06.653Z",
"_links": {
"self": {
"href": "https://api.umbraco.io/media/7bfa2332-cf7f-4c97-941d-50f43f085b06"
},
"root": {
"href": "https://api.umbraco.io/media"
},
"children": {
"href": "https://api.umbraco.io/media/7bfa2332-cf7f-4c97-941d-50f43f085b06/children"
},
"mediatype": {
"href": "https://api.umbraco.io/media/type/Folder"
}
},
"mediaTypeAlias": "Folder",
"name": "Design",
"sortOrder": 1
},
{
"_hasChildren": true,
"_level": 1,
"_createDate": "2019-10-04T11:46:14.32Z",
"_id": "bff96d2a-18a7-4d72-b788-72e2034a5514",
"_updateDate": "2019-10-04T11:46:14.32Z",
"_links": {
"self": {
"href": "https://api.umbraco.io/media/bff96d2a-18a7-4d72-b788-72e2034a5514"
},
"root": {
"href": "https://api.umbraco.io/media"
},
"children": {
"href": "https://api.umbraco.io/media/bff96d2a-18a7-4d72-b788-72e2034a5514/children"
},
"mediatype": {
"href": "https://api.umbraco.io/media/type/Folder"
}
},
"mediaTypeAlias": "Folder",
"name": "People",
"sortOrder": 2
},
{
"_hasChildren": true,
"_level": 1,
"_createDate": "2019-10-04T11:46:21.433Z",
"_id": "9924b6e9-51fd-4686-ad9a-cb59dbe9b4b1",
"_updateDate": "2019-10-04T11:46:21.433Z",
"_links": {
"self": {
"href": "https://api.umbraco.io/media/9924b6e9-51fd-4686-ad9a-cb59dbe9b4b1"
},
"root": {
"href": "https://api.umbraco.io/media"
},
"children": {
"href": "https://api.umbraco.io/media/9924b6e9-51fd-4686-ad9a-cb59dbe9b4b1/children"
},
"mediatype": {
"href": "https://api.umbraco.io/media/type/Folder"
}
},
"mediaTypeAlias": "Folder",
"name": "Products",
"sortOrder": 3
}
]
}
}{
"_hasChildren": false,
"_level": 2,
"_createDate": "2019-10-04T13:08:52.203Z",
"_id": "f2311d74-bc19-465b-8028-4af79f47f155",
"_updateDate": "2019-10-04T13:08:52.203Z",
"_links": {
"self": {
"href": "https://api.umbraco.io/media/f2311d74-bc19-465b-8028-4af79f47f155"
},
"root": {
"href": "https://api.umbraco.io/media"
},
"children": {
"href": "https://api.umbraco.io/media/f2311d74-bc19-465b-8028-4af79f47f155/children"
},
"mediatype": {
"href": "https://api.umbraco.io/media/type/Image"
}
},
"mediaTypeAlias": "Image",
"name": "Banjo",
"parentId": "9924b6e9-51fd-4686-ad9a-cb59dbe9b4b1",
"sortOrder": 4,
"umbracoFile": {
"src": "/media/oiodd2qz/7373036290_5e8420bf36_b.jpg",
"focalPoint": {
"left": 0.5,
"top": 0.5
},
"crops": null
},
"umbracoWidth": "1024",
"umbracoHeight": "683",
"umbracoBytes": "299546",
"umbracoExtension": "jpg"
}?page={integer=1}
?pageSize={integer=10}{
"_totalItems": 5,
"_totalPages": 1,
"_page": 1,
"_pageSize": 10,
"_links": {
"self": {
"href": "https://api.umbraco.io/media/bff96d2a-18a7-4d72-b788-72e2034a5514/children?page=1"
},
"media": [
{
"href": "https://api.umbraco.io/media/b0d9704a-8c1a-498f-8892-d3a18acc6f01"
},
{
"href": "https://api.umbraco.io/media/3bc8bf5c-5f39-4a49-b8f3-a09c265aa739"
},
{
"href": "https://api.umbraco.io/media/9b4a8092-a157-4a0e-9626-1f320a7a5f79"
},
{
"href": "https://api.umbraco.io/media/9012c147-90dc-4c7e-8249-4b4092aff340"
},
{
"href": "https://api.umbraco.io/media/313bf02d-bfba-4d61-a12c-1fbdbe0fee1c"
}
]
},
"_embedded": {
"media": [
{
"_hasChildren": false,
"_level": 2,
"_createDate": "2019-10-04T11:49:57.863Z",
"_id": "b0d9704a-8c1a-498f-8892-d3a18acc6f01",
"_updateDate": "2019-10-04T11:49:57.863Z",
"_links": {
"self": {
"href": "https://api.umbraco.io/media/b0d9704a-8c1a-498f-8892-d3a18acc6f01"
},
"root": {
"href": "https://api.umbraco.io/media"
},
"children": {
"href": "https://api.umbraco.io/media/b0d9704a-8c1a-498f-8892-d3a18acc6f01/children"
},
"mediatype": {
"href": "https://api.umbraco.io/media/type/Image"
}
},
"mediaTypeAlias": "Image",
"name": "Jan Skovgaard",
"parentId": "bff96d2a-18a7-4d72-b788-72e2034a5514",
"sortOrder": 0,
"umbracoFile": {
"src": "/media/jryntma0/18720470241_ff77768544_h.jpg",
"focalPoint": {
"left": 0.5,
"top": 0.5
},
"crops": null
},
"umbracoWidth": "1600",
"umbracoHeight": "1067",
"umbracoBytes": "240126",
"umbracoExtension": "jpg"
},
{
"_hasChildren": false,
"_level": 2,
"_createDate": "2019-10-04T11:50:12.933Z",
"_id": "3bc8bf5c-5f39-4a49-b8f3-a09c265aa739",
"_updateDate": "2019-10-04T11:50:12.933Z",
"_links": {
"self": {
"href": "https://api.umbraco.io/media/3bc8bf5c-5f39-4a49-b8f3-a09c265aa739"
},
"root": {
"href": "https://api.umbraco.io/media"
},
"children": {
"href": "https://api.umbraco.io/media/3bc8bf5c-5f39-4a49-b8f3-a09c265aa739/children"
},
"mediatype": {
"href": "https://api.umbraco.io/media/type/Image"
}
},
"mediaTypeAlias": "Image",
"name": "Matt Brailsford",
"parentId": "bff96d2a-18a7-4d72-b788-72e2034a5514",
"sortOrder": 1,
"umbracoFile": {
"src": "/media/lk5nqozz/18531852339_981b067419_h.jpg",
"focalPoint": {
"left": 0.5,
"top": 0.5
},
"crops": null
},
"umbracoWidth": "1600",
"umbracoHeight": "1067",
"umbracoBytes": "438249",
"umbracoExtension": "jpg"
},
{
"_hasChildren": false,
"_level": 2,
"_createDate": "2019-10-04T11:57:36.863Z",
"_id": "9b4a8092-a157-4a0e-9626-1f320a7a5f79",
"_updateDate": "2019-10-04T11:57:36.863Z",
"_links": {
"self": {
"href": "https://api.umbraco.io/media/9b4a8092-a157-4a0e-9626-1f320a7a5f79"
},
"root": {
"href": "https://api.umbraco.io/media"
},
"children": {
"href": "https://api.umbraco.io/media/9b4a8092-a157-4a0e-9626-1f320a7a5f79/children"
},
"mediatype": {
"href": "https://api.umbraco.io/media/type/Image"
}
},
"mediaTypeAlias": "Image",
"name": "Lee Kelleher",
"parentId": "bff96d2a-18a7-4d72-b788-72e2034a5514",
"sortOrder": 2,
"umbracoFile": {
"src": "/media/ssaevg0x/18531854019_351c579559_h.jpg",
"focalPoint": {
"left": 0.5,
"top": 0.5
},
"crops": null
},
"umbracoWidth": "1600",
"umbracoHeight": "1067",
"umbracoBytes": "324821",
"umbracoExtension": "jpg"
},
{
"_hasChildren": false,
"_level": 2,
"_createDate": "2019-10-04T11:57:56.267Z",
"_id": "9012c147-90dc-4c7e-8249-4b4092aff340",
"_updateDate": "2019-10-04T11:57:56.267Z",
"_links": {
"self": {
"href": "https://api.umbraco.io/media/9012c147-90dc-4c7e-8249-4b4092aff340"
},
"root": {
"href": "https://api.umbraco.io/media"
},
"children": {
"href": "https://api.umbraco.io/media/9012c147-90dc-4c7e-8249-4b4092aff340/children"
},
"mediatype": {
"href": "https://api.umbraco.io/media/type/Image"
}
},
"mediaTypeAlias": "Image",
"name": "Jeavon Leopold",
"parentId": "bff96d2a-18a7-4d72-b788-72e2034a5514",
"sortOrder": 3,
"umbracoFile": {
"src": "/media/ihabfeg2/18095416144_44a566a5f4_h.jpg",
"focalPoint": {
"left": 0.5,
"top": 0.5
},
"crops": null
},
"umbracoWidth": "1600",
"umbracoHeight": "1067",
"umbracoBytes": "348162",
"umbracoExtension": "jpg"
},
{
"_hasChildren": false,
"_level": 2,
"_createDate": "2019-10-04T11:58:15.54Z",
"_id": "313bf02d-bfba-4d61-a12c-1fbdbe0fee1c",
"_updateDate": "2019-10-04T11:58:15.54Z",
"_links": {
"self": {
"href": "https://api.umbraco.io/media/313bf02d-bfba-4d61-a12c-1fbdbe0fee1c"
},
"root": {
"href": "https://api.umbraco.io/media"
},
"children": {
"href": "https://api.umbraco.io/media/313bf02d-bfba-4d61-a12c-1fbdbe0fee1c/children"
},
"mediatype": {
"href": "https://api.umbraco.io/media/type/Image"
}
},
"mediaTypeAlias": "Image",
"name": "Jeroen Breuer",
"parentId": "bff96d2a-18a7-4d72-b788-72e2034a5514",
"sortOrder": 4,
"umbracoFile": {
"src": "/media/fpydwmn0/18530280048_459b8b61b2_h.jpg",
"focalPoint": {
"left": 0.5,
"top": 0.5
},
"crops": null
},
"umbracoWidth": "1600",
"umbracoHeight": "1067",
"umbracoBytes": "240519",
"umbracoExtension": "jpg"
}
]
}
}--MultipartBoundary
Content-Disposition: form-data; name="content"
Content-Type: application/json
{
"mediaTypeAlias": "Image",
"name": "Han Solo",
"parentId": "7bfa2332-cf7f-4c97-941d-50f43f085b06",
"umbracoFile": { "src": "han-solo.png" }
}
--MultipartBoundary
Content-Disposition: form-data; name="umbracoFile"; fileName="han-solo.png"
Content-Type: image/png
BINARY DATA
--MultipartBoundary--{
"_hasChildren": false,
"_level": 2,
"_createDate": "2019-10-10T12:24:58.76Z",
"_id": "b60a1257-4bef-4d5a-aeb6-4af17b6233b2",
"_updateDate": "2019-10-10T12:24:58.76Z",
"_deleteDate": "2019-10-10T12:25:15.3860527Z",
"_links": {
"self": {
"href": "https://api.umbraco.io/media/b60a1257-4bef-4d5a-aeb6-4af17b6233b2"
},
"root": {
"href": "https://api.umbraco.io/media"
},
"children": {
"href": "https://api.umbraco.io/media/b60a1257-4bef-4d5a-aeb6-4af17b6233b2/children"
},
"mediatype": {
"href": "https://api.umbraco.io/media/type/Image"
}
},
"mediaTypeAlias": "Image",
"name": "Han Solo",
"parentId": "7bfa2332-cf7f-4c97-941d-50f43f085b06",
"sortOrder": 1,
"umbracoFile": {
"src": "/media/kejavnxp/han-solo.png",
"focalPoint": {
"left": 0.5,
"top": 0.5
},
"crops": null
},
"umbracoWidth": "672",
"umbracoHeight": "896",
"umbracoBytes": "489855",
"umbracoExtension": "png"
}Content-Type: multipart/form-data; boundary=MultipartBoundry
--MultipartBoundry
Content-Disposition: form-data; name="content"
Content-Type: application/json
{
"mediaTypeAlias": "Image",
"name": "Han Solo",
"parentId": "7bfa2332-cf7f-4c97-941d-50f43f085b06",
"sortOrder": 1,
"umbracoFile": { "src": "han-solo.png" }
}
--MultipartBoundry
Content-Disposition: form-data; name="umbracoFile"
Content-Type: image/png
BINARY DATA
--MultipartBoundry--{
"_hasChildren": false,
"_level": 2,
"_createDate": "2019-10-10T12:24:58.76Z",
"_id": "b60a1257-4bef-4d5a-aeb6-4af17b6233b2",
"_updateDate": "2019-10-10T12:24:58.76Z",
"_deleteDate": "2019-10-10T12:25:15.3860527Z",
"_links": {
"self": {
"href": "https://api.umbraco.io/media/b60a1257-4bef-4d5a-aeb6-4af17b6233b2"
},
"root": {
"href": "https://api.umbraco.io/media"
},
"children": {
"href": "https://api.umbraco.io/media/b60a1257-4bef-4d5a-aeb6-4af17b6233b2/children"
},
"mediatype": {
"href": "https://api.umbraco.io/media/type/Image"
}
},
"mediaTypeAlias": "Image",
"name": "Han Solo",
"parentId": "7bfa2332-cf7f-4c97-941d-50f43f085b06",
"sortOrder": 1,
"umbracoFile": {
"src": "/media/kejavnxp/han-solo.png",
"focalPoint": {
"left": 0.5,
"top": 0.5
},
"crops": null
},
"umbracoWidth": "672",
"umbracoHeight": "896",
"umbracoBytes": "489855",
"umbracoExtension": "png"
}{
"_hasChildren": false,
"_level": 2,
"_createDate": "2019-10-10T12:24:58.76Z",
"_id": "b60a1257-4bef-4d5a-aeb6-4af17b6233b2",
"_updateDate": "2019-10-10T12:24:58.76Z",
"_deleteDate": "2019-10-10T12:25:15.3860527Z",
"_links": {
"self": {
"href": "https://api.umbraco.io/media/b60a1257-4bef-4d5a-aeb6-4af17b6233b2"
},
"root": {
"href": "https://api.umbraco.io/media"
},
"children": {
"href": "https://api.umbraco.io/media/b60a1257-4bef-4d5a-aeb6-4af17b6233b2/children"
},
"mediatype": {
"href": "https://api.umbraco.io/media/type/Image"
}
},
"mediaTypeAlias": "Image",
"name": "Han Solo",
"parentId": "7bfa2332-cf7f-4c97-941d-50f43f085b06",
"sortOrder": 1,
"umbracoFile": {
"src": "/media/kejavnxp/han-solo.png",
"focalPoint": {
"left": 0.5,
"top": 0.5
},
"crops": null
},
"umbracoWidth": "672",
"umbracoHeight": "896",
"umbracoBytes": "489855",
"umbracoExtension": "png"
}Api-Version: 2
Umb-Project-Alias: {project-alias}{
"error": {
"code": "Forbidden",
"message": "Authorization has been denied for this request."
}
}{
"_links": {
"self": {
"href": "https://api.umbraco.io/content"
},
"content": [
{
"href": "https://api.umbraco.io/content/{id}",
"templated": true
},
{
"href": "https://api.umbraco.io/content/6eb240ce-8f78-4467-ab51-68918cde2866"
}
],
"children": {
"href": "https://api.umbraco.io/content/{id}/children{?page,pageSize}",
"templated": true
},
"publish": {
"href": "https://api.umbraco.io/content/{id}/publish{?culture}",
"templated": true
},
"unpublish": {
"href": "https://api.umbraco.io/content/{id}/unpublish{?culture}",
"templated": true
},
"contenttype": {
"href": "https://api.umbraco.io/content/type/{alias}",
"templated": true
}
},
"_embedded": {
"content": [
{
"_currentVersionState": {
"$invariant": "PUBLISHED"
},
"name": {
"$invariant": "Home"
},
"_updateDate": {
"$invariant": "2019-10-07T07:58:48.477Z"
},
"_hasChildren": true,
"_level": 1,
"_createDate": "2019-10-07T07:45:21.363Z",
"_id": "6eb240ce-8f78-4467-ab51-68918cde2866",
"_links": {
"self": {
"href": "https://api.umbraco.io/content/6eb240ce-8f78-4467-ab51-68918cde2866"
},
"root": {
"href": "https://api.umbraco.io/content"
},
"children": {
"href": "https://api.umbraco.io/content/6eb240ce-8f78-4467-ab51-68918cde2866/children"
},
"publish": {
"href": "https://api.umbraco.io/content/6eb240ce-8f78-4467-ab51-68918cde2866/publish"
},
"unpublish": {
"href": "https://api.umbraco.io/content/6eb240ce-8f78-4467-ab51-68918cde2866/unpublish"
},
"contenttype": {
"href": "https://api.umbraco.io/content/type/home"
}
},
"contentTypeAlias": "home",
"sortOrder": 4,
"heroHeader": {
"$invariant": "Umbraco Demo"
},
"heroDescription": {
"$invariant": "Moonfish, steelhead, lamprey southern flounder tadpole fish sculpin bigeye, blue-redstripe danio collared dogfish. Smalleye squaretail goldfish arowana butterflyfish pipefish wolf-herring jewel tetra, shiner; gibberfish red velvetfish. Thornyhead yellowfin pike threadsail ayu cutlassfish."
},
"heroCTACaption": {
"$invariant": "Check our products"
},
"heroCTALink": {
"$invariant": "umb://document/082333be34b14c2d81a6be92640094fc"
},
"bodyText": {
"$invariant": null
},
"footerHeader": {
"$invariant": "Umbraco Demo"
},
"footerDescription": {
"$invariant": "Curabitur arcu erat, accumsan id imperdiet et, porttitor at sem. Curabitur arcu erat, accumsan id imperdiet et, porttitor at sem. Vivamus suscipit tortor eget felis porttitor volutpat"
},
"footerCTACaption": {
"$invariant": "Read All on the Blog"
},
"footerCTALink": {
"$invariant": "umb://document/8007e923e62a4ac1a33fcaf3052582f4"
},
"footerAddress": {
"$invariant": "Umbraco HQ - Unicorn Square - Haubergsvej 1 - 5000 Odense C - Denmark - +45 70 26 11 62"
},
"heroBackgroundImage": {
"$invariant": "umb://media/76966940c9ba471686cef3854a7f5bd6"
},
"font": {
"$invariant": "serif"
},
"colorTheme": {
"$invariant": "earth"
},
"sitename": {
"$invariant": "Umbraco Sample Site"
},
"logo": {
"$invariant": ""
}
}
]
}
}{
"_currentVersionState": {
"$invariant": "PUBLISHED"
},
"name": {
"$invariant": "Unicorn"
},
"_updateDate": {
"$invariant": "2019-10-07T11:50:56.5Z"
},
"_hasChildren": false,
"_level": 3,
"_createDate": "2019-10-07T11:50:34.48Z",
"_id": "3de82763-c4bb-4bca-8f79-7b211b3ffffa",
"_links": {
"self": {
"href": "https://api.umbraco.io/content/3de82763-c4bb-4bca-8f79-7b211b3ffffa"
},
"root": {
"href": "https://api.umbraco.io/content"
},
"children": {
"href": "https://api.umbraco.io/content/3de82763-c4bb-4bca-8f79-7b211b3ffffa/children"
},
"publish": {
"href": "https://api.umbraco.io/content/3de82763-c4bb-4bca-8f79-7b211b3ffffa/publish"
},
"unpublish": {
"href": "https://api.umbraco.io/content/3de82763-c4bb-4bca-8f79-7b211b3ffffa/unpublish"
},
"contenttype": {
"href": "https://api.umbraco.io/content/type/product"
}
},
"contentTypeAlias": "product",
"parentId": "082333be-34b1-4c2d-81a6-be92640094fc",
"sortOrder": 0,
"productName": {
"$invariant": "Unicorn"
},
"price": {
"$invariant": "249"
},
"category": {
"$invariant": [
"animals"
]
},
"description": {
"$invariant": "Quisque velit nisi, pretium ut lacinia in, elementum id enim. Vivamus magna justo, lacinia eget consectetur sed, convallis at tellus. Cras ultricies ligula sed magna dictum porta."
},
"sku": {
"$invariant": "UMB-UNICORN"
},
"photos": {
"$invariant": "umb://media/8199c666b05c4527b857b99bee2e0616"
},
"features": {
"$invariant": ""
},
"bodyText": {
"$invariant": null
}
}?page={integer=1}
?pageSize={integer=10}{
"_totalItems": 3,
"_totalPages": 1,
"_page": 1,
"_pageSize": 10,
"_links": {
"self": {
"href": "https://api.umbraco.io/content/8007e923-e62a-4ac1-a33f-caf3052582f4/children?page=1"
},
"content": [
{
"href": "https://api.umbraco.io/content/e0c5f0e5-c1f0-4422-9ac0-6dbb536e8eb5"
},
{
"href": "https://api.umbraco.io/content/041067a0-74f5-4d03-92af-40c3c0aa13e7"
},
{
"href": "https://api.umbraco.io/content/af3e08fc-fb90-4c78-b11c-c1a0cf43bd31"
}
]
},
"_embedded": {
"content": [
{
"_currentVersionState": {
"$invariant": "PUBLISHED"
},
"name": {
"$invariant": "This will be great"
},
"_updateDate": {
"$invariant": "2019-10-07T11:52:31.143Z"
},
"_hasChildren": false,
"_level": 3,
"_createDate": "2019-10-07T11:52:31.143Z",
"_id": "e0c5f0e5-c1f0-4422-9ac0-6dbb536e8eb5",
"_links": {
"self": {
"href": "https://api.umbraco.io/content/e0c5f0e5-c1f0-4422-9ac0-6dbb536e8eb5"
},
"root": {
"href": "https://api.umbraco.io/content"
},
"children": {
"href": "https://api.umbraco.io/content/e0c5f0e5-c1f0-4422-9ac0-6dbb536e8eb5/children"
},
"publish": {
"href": "https://api.umbraco.io/content/e0c5f0e5-c1f0-4422-9ac0-6dbb536e8eb5/publish"
},
"unpublish": {
"href": "https://api.umbraco.io/content/e0c5f0e5-c1f0-4422-9ac0-6dbb536e8eb5/unpublish"
},
"contenttype": {
"href": "https://api.umbraco.io/content/type/blogpost"
}
},
"contentTypeAlias": "blogpost",
"parentId": "8007e923-e62a-4ac1-a33f-caf3052582f4",
"sortOrder": 0,
"seoMetaDescription": {
"$invariant": ""
},
"keywords": {
"$invariant": []
},
"umbNaviHide": {
"$invariant": "0"
},
"pageTitle": {
"$invariant": "This will be great"
},
"categories": {
"$invariant": [
"great",
"umbraco"
]
},
"excerpt": {
"$invariant": "Proin eget tortor risus. Curabitur arcu erat, accumsan id imperdiet et, porttitor at sem. Vivamus magna justo, lacinia eget consectetur sed"
},
"bodyText": {
"$invariant": null
}
},
{
"_currentVersionState": {
"$invariant": "PUBLISHED"
},
"name": {
"$invariant": "Another one"
},
"_updateDate": {
"$invariant": "2019-10-07T11:53:09.653Z"
},
"_hasChildren": false,
"_level": 3,
"_createDate": "2019-10-07T11:53:09.653Z",
"_id": "041067a0-74f5-4d03-92af-40c3c0aa13e7",
"_links": {
"self": {
"href": "https://api.umbraco.io/content/041067a0-74f5-4d03-92af-40c3c0aa13e7"
},
"root": {
"href": "https://api.umbraco.io/content"
},
"children": {
"href": "https://api.umbraco.io/content/041067a0-74f5-4d03-92af-40c3c0aa13e7/children"
},
"publish": {
"href": "https://api.umbraco.io/content/041067a0-74f5-4d03-92af-40c3c0aa13e7/publish"
},
"unpublish": {
"href": "https://api.umbraco.io/content/041067a0-74f5-4d03-92af-40c3c0aa13e7/unpublish"
},
"contenttype": {
"href": "https://api.umbraco.io/content/type/blogpost"
}
},
"contentTypeAlias": "blogpost",
"parentId": "8007e923-e62a-4ac1-a33f-caf3052582f4",
"sortOrder": 0,
"seoMetaDescription": {
"$invariant": ""
},
"keywords": {
"$invariant": []
},
"umbNaviHide": {
"$invariant": "0"
},
"pageTitle": {
"$invariant": "Another one"
},
"categories": {
"$invariant": [
"cg16",
"codegarden",
"umbraco"
]
},
"excerpt": {
"$invariant": "Donec sollicitudin molestie malesuada. Vivamus suscipit tortor eget felis porttitor volutpat. Sed porttitor lectus nibh."
},
"bodyText": {
"$invariant": "<p>Donec sollicitudin molestie malesuada. Proin eget tortor risus. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus magna justo, lacinia eget consectetur sed, convallis at tellus. Vivamus magna justo, lacinia eget consectetur sed, convallis at tellus. Curabitur arcu erat, accumsan id imperdiet et, porttitor at sem. Nulla porttitor accumsan tincidunt. Vivamus magna justo, lacinia eget consectetur sed, convallis at tellus. Nulla porttitor accumsan tincidunt. Donec rutrum congue leo eget malesuada.</p>\n<p>Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Donec velit neque, auctor sit amet aliquam vel, ullamcorper sit amet ligula. Pellentesque in ipsum id orci porta dapibus. Donec rutrum congue leo eget malesuada. Nulla porttitor accumsan tincidunt. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Donec velit neque, auctor sit amet aliquam vel, ullamcorper sit amet ligula. Curabitur non nulla sit amet nisl tempus convallis quis ac lectus. Proin eget tortor risus. Pellentesque in ipsum id orci porta dapibus. Proin eget tortor risus. Sed porttitor lectus nibh.</p>\n<p>Pellentesque in ipsum id orci porta dapibus. Curabitur aliquet quam id dui posuere blandit. Praesent sapien massa, convallis a pellentesque nec, egestas non nisi. Praesent sapien massa, convallis a pellentesque nec, egestas non nisi. Curabitur non nulla sit amet nisl tempus convallis quis ac lectus. Praesent sapien massa, convallis a pellentesque nec, egestas non nisi. Donec rutrum congue leo eget malesuada. Donec rutrum congue leo eget malesuada. Sed porttitor lectus nibh. Nulla quis lorem ut libero malesuada feugiat.</p>"
}
},
{
"_currentVersionState": {
"$invariant": "PUBLISHED"
},
"name": {
"$invariant": "My Blog Post"
},
"_updateDate": {
"$invariant": "2019-10-07T11:54:00.657Z"
},
"_hasChildren": false,
"_level": 3,
"_createDate": "2019-10-07T11:54:00.657Z",
"_id": "af3e08fc-fb90-4c78-b11c-c1a0cf43bd31",
"_links": {
"self": {
"href": "https://api.umbraco.io/content/af3e08fc-fb90-4c78-b11c-c1a0cf43bd31"
},
"root": {
"href": "https://api.umbraco.io/content"
},
"children": {
"href": "https://api.umbraco.io/content/af3e08fc-fb90-4c78-b11c-c1a0cf43bd31/children"
},
"publish": {
"href": "https://api.umbraco.io/content/af3e08fc-fb90-4c78-b11c-c1a0cf43bd31/publish"
},
"unpublish": {
"href": "https://api.umbraco.io/content/af3e08fc-fb90-4c78-b11c-c1a0cf43bd31/unpublish"
},
"contenttype": {
"href": "https://api.umbraco.io/content/type/blogpost"
}
},
"contentTypeAlias": "blogpost",
"parentId": "8007e923-e62a-4ac1-a33f-caf3052582f4",
"sortOrder": 0,
"seoMetaDescription": {
"$invariant": ""
},
"keywords": {
"$invariant": []
},
"umbNaviHide": {
"$invariant": "0"
},
"pageTitle": {
"$invariant": "My Blog Post"
},
"categories": {
"$invariant": [
"demo",
"umbraco",
"starterkit",
"lorem ipsum"
]
},
"excerpt": {
"$invariant": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla quis lorem ut libero malesuada feugiat. Donec rutrum congue leo eget malesuada. Donec rutrum congue leo eget malesuada."
},
"bodyText": {
"$invariant": "<div class=\"anyipsum-output\">\n<p>Bacon ipsum dolor amet alcatra pig cow sirloin. Jerky pig kielbasa, pork chop beef spare ribs sirloin. Ham hock sausage biltong meatball pastrami capicola boudin alcatra chicken. Salami kielbasa short ribs shoulder brisket tri-tip, cupim meatball pork chop capicola. Kielbasa short ribs strip steak t-bone frankfurter. Pancetta kevin salami, turducken landjaeger sausage pig.</p>\n<p>Sausage tongue doner short ribs tri-tip pork belly. Kielbasa swine bresaola salami pork short ribs ribeye jerky ground round boudin burgdoggen. Beef ribs ribeye flank biltong cupim andouille beef kielbasa meatloaf ham sausage. Pancetta chuck picanha short loin pork t-bone ball tip, boudin buffalo biltong chicken kevin.</p>\n<p>Salami cupim sirloin turducken pancetta ground round spare ribs. Ham hock capicola prosciutto salami meatball alcatra. Ribeye t-bone pancetta burgdoggen, pork chop beef ribs cupim meatball. Tail pork belly leberkas, frankfurter burgdoggen beef ribs bresaola fatback turducken flank picanha filet mignon. Pig bresaola pancetta venison cow.</p>\n<p>Ham drumstick cupim pork belly t-bone shoulder. Prosciutto flank ham filet mignon shank. Fatback shank capicola, buffalo pig bacon kevin corned beef jerky turkey pork belly venison. Pork belly drumstick beef ribs corned beef. Short loin meatloaf capicola spare ribs chuck burgdoggen. Shankle ground round cow, biltong hamburger t-bone leberkas turkey. Swine leberkas kielbasa hamburger sirloin bacon.</p>\n<p>Cow turducken buffalo alcatra filet mignon kevin pastrami tail. Jerky short loin boudin pork chop. Corned beef tri-tip picanha pork pig boudin capicola sirloin flank. Ham hock cupim prosciutto fatback.</p>\n</div>\n<div class=\"anyipsum-form-header\">Does your lorem ipsum text long for something a little meatier? Give our generator a try… it’s tasty!</div>"
}
}
]
}
}{
"name": {
"$invariant": "Another one"
},
"contentTypeAlias": "blogpost",
"parentId": "8007e923-e62a-4ac1-a33f-caf3052582f4",
"sortOrder": 0,
"seoMetaDescription": {
"$invariant": ""
},
"keywords": {
"$invariant": []
},
"umbNaviHide": {
"$invariant": "0"
},
"pageTitle": {
"$invariant": "Another one"
},
"categories": {
"$invariant": [
"cg16",
"codegarden",
"umbraco"
]
},
"excerpt": {
"$invariant": "Donec sollicitudin molestie malesuada. Vivamus suscipit tortor eget felis porttitor volutpat. Sed porttitor lectus nibh."
},
"multinodeTreePicker": {
"$invariant": "umb://document/067c7c926709487ab01be84168b333cf,umb://document/8a4dec90cf394028a743eae0729d47ba,umb://document/5fdd887233394a3492000bbf74e3b005"
},
"bodyText": {
"$invariant": "<p>Donec sollicitudin molestie malesuada. Proin eget tortor risus. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus magna justo, lacinia eget consectetur sed, convallis at tellus. Vivamus magna justo, lacinia eget consectetur sed, convallis at tellus. Curabitur arcu erat, accumsan id imperdiet et, porttitor at sem. Nulla porttitor accumsan tincidunt. Vivamus magna justo, lacinia eget consectetur sed, convallis at tellus. Nulla porttitor accumsan tincidunt. Donec rutrum congue leo eget malesuada.</p>\n<p>Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Donec velit neque, auctor sit amet aliquam vel, ullamcorper sit amet ligula. Pellentesque in ipsum id orci porta dapibus. Donec rutrum congue leo eget malesuada. Nulla porttitor accumsan tincidunt. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Donec velit neque, auctor sit amet aliquam vel, ullamcorper sit amet ligula. Curabitur non nulla sit amet nisl tempus convallis quis ac lectus. Proin eget tortor risus. Pellentesque in ipsum id orci porta dapibus. Proin eget tortor risus. Sed porttitor lectus nibh.</p>\n<p>Pellentesque in ipsum id orci porta dapibus. Curabitur aliquet quam id dui posuere blandit. Praesent sapien massa, convallis a pellentesque nec, egestas non nisi. Praesent sapien massa, convallis a pellentesque nec, egestas non nisi. Curabitur non nulla sit amet nisl tempus convallis quis ac lectus. Praesent sapien massa, convallis a pellentesque nec, egestas non nisi. Donec rutrum congue leo eget malesuada. Donec rutrum congue leo eget malesuada. Sed porttitor lectus nibh. Nulla quis lorem ut libero malesuada feugiat.</p>"
}
}{
"_currentVersionState": {
"$invariant": "DRAFT"
},
"name": {
"$invariant": "Another one"
},
"_updateDate": {
"$invariant": "2019-10-10T11:19:04.3988745+00:00"
},
"_hasChildren": false,
"_level": 3,
"_createDate": "2019-10-07T11:53:09.653Z",
"_id": "041067a0-74f5-4d03-92af-40c3c0aa13e7",
"_links": {
"self": {
"href": "https://api.umbraco.io/content/041067a0-74f5-4d03-92af-40c3c0aa13e7"
},
"root": {
"href": "https://api.umbraco.io/content"
},
"children": {
"href": "https://api.umbraco.io/content/041067a0-74f5-4d03-92af-40c3c0aa13e7/children"
},
"publish": {
"href": "https://api.umbraco.io/content/041067a0-74f5-4d03-92af-40c3c0aa13e7/publish"
},
"unpublish": {
"href": "https://api.umbraco.io/content/041067a0-74f5-4d03-92af-40c3c0aa13e7/unpublish"
},
"contenttype": {
"href": "https://api.umbraco.io/content/type/blogpost"
}
},
"contentTypeAlias": "blogpost",
"parentId": "8007e923-e62a-4ac1-a33f-caf3052582f4",
"sortOrder": 0,
"seoMetaDescription": {
"$invariant": ""
},
"keywords": {
"$invariant": []
},
"umbNaviHide": {
"$invariant": "0"
},
"pageTitle": {
"$invariant": "Another one"
},
"categories": {
"$invariant": [
"cg16",
"codegarden",
"umbraco"
]
},
"excerpt": {
"$invariant": "Donec sollicitudin molestie malesuada. Vivamus suscipit tortor eget felis porttitor volutpat. Sed porttitor lectus nibh."
},
"bodyText": {
"$invariant": "<p>Donec sollicitudin molestie malesuada. Proin eget tortor risus. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus magna justo, lacinia eget consectetur sed, convallis at tellus. Vivamus magna justo, lacinia eget consectetur sed, convallis at tellus. Curabitur arcu erat, accumsan id imperdiet et, porttitor at sem. Nulla porttitor accumsan tincidunt. Vivamus magna justo, lacinia eget consectetur sed, convallis at tellus. Nulla porttitor accumsan tincidunt. Donec rutrum congue leo eget malesuada.</p>\n<p>Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Donec velit neque, auctor sit amet aliquam vel, ullamcorper sit amet ligula. Pellentesque in ipsum id orci porta dapibus. Donec rutrum congue leo eget malesuada. Nulla porttitor accumsan tincidunt. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Donec velit neque, auctor sit amet aliquam vel, ullamcorper sit amet ligula. Curabitur non nulla sit amet nisl tempus convallis quis ac lectus. Proin eget tortor risus. Pellentesque in ipsum id orci porta dapibus. Proin eget tortor risus. Sed porttitor lectus nibh.</p>\n<p>Pellentesque in ipsum id orci porta dapibus. Curabitur aliquet quam id dui posuere blandit. Praesent sapien massa, convallis a pellentesque nec, egestas non nisi. Praesent sapien massa, convallis a pellentesque nec, egestas non nisi. Curabitur non nulla sit amet nisl tempus convallis quis ac lectus. Praesent sapien massa, convallis a pellentesque nec, egestas non nisi. Donec rutrum congue leo eget malesuada. Donec rutrum congue leo eget malesuada. Sed porttitor lectus nibh. Nulla quis lorem ut libero malesuada feugiat.</p>"
}
}Content-Type: multipart/form-data; boundary=MultipartBoundry
--MultipartBoundry
Content-Disposition: form-data; name="content"
Content-Type: application/json
{
"contentTypeAlias": "withUpload",
"name": {
"en-US": "Upload Test"
},
"text": { "$invariant": "Here's some text" },
"fileUpload": { "en-US": "han-solo.png" }
}
--MultipartBoundry
Content-Disposition: form-data; name="fileUpload.en-US"
Content-Type: image/png
BINARY DATA
--MultipartBoundry--{
"contentTypeAlias": "withUpload",
"_createDate": "2019-08-08T10:07:50.2777311+02:00",
"_currentVersionState": {
"en-US": "DRAFT",
"da": "NOT_CREATED"
},
"name": {
"en-US": "Upload Test",
"da": null
},
"_updateDate": {
"en-US": "2019-08-08T10:07:50.2828014+02:00",
"da": null
},
"_hasChildren": false,
"_id": "511a0927-3c56-4ec0-b308-1dea07753795",
"_level": 1,
"sortOrder": 21,
"_links": {
"self": {
"href": "https://api.umbraco.io/content/511a0927-3c56-4ec0-b308-1dea07753795"
},
"root": {
"href": "https://api.umbraco.io/content"
},
"children": {
"href": "https://api.umbraco.io/content/511a0927-3c56-4ec0-b308-1dea07753795/children"
}
},
"fileUpload": {
"en-US": "/media/dg4gynhr/han-solo.png",
"da": ""
},
"text": {
"$invariant": "Here's some text"
}
}{
"name": {
"$invariant": "Another one"
},
"contentTypeAlias": "blogpost",
"parentId": "8007e923-e62a-4ac1-a33f-caf3052582f4",
"sortOrder": 0,
"seoMetaDescription": {
"$invariant": ""
},
"keywords": {
"$invariant": []
},
"umbNaviHide": {
"$invariant": "0"
},
"pageTitle": {
"$invariant": "Another one"
},
"categories": {
"$invariant": [
"cg16",
"codegarden",
"umbraco"
]
},
"excerpt": {
"$invariant": "Donec sollicitudin molestie malesuada. Vivamus suscipit tortor eget felis porttitor volutpat. Sed porttitor lectus nibh."
},
"multinodeTreePicker": {
"$invariant": "umb://document/067c7c926709487ab01be84168b333cf,umb://document/8a4dec90cf394028a743eae0729d47ba,umb://document/5fdd887233394a3492000bbf74e3b005"
},
"bodyText": {
"$invariant": "<p>Lorem Ipsum</p>"
}
}{
"_currentVersionState": {
"$invariant": "DRAFT"
},
"name": {
"$invariant": "Another one"
},
"_updateDate": {
"$invariant": "2019-10-07T11:53:09.653Z"
},
"_hasChildren": false,
"_level": 3,
"_createDate": "2019-10-07T11:53:09.653Z",
"_id": "041067a0-74f5-4d03-92af-40c3c0aa13e7",
"_deleteDate": "2019-10-10T11:19:53.6828938Z",
"_links": {
"self": {
"href": "https://api.umbraco.io/content/041067a0-74f5-4d03-92af-40c3c0aa13e7"
},
"root": {
"href": "https://api.umbraco.io/content"
},
"children": {
"href": "https://api.umbraco.io/content/041067a0-74f5-4d03-92af-40c3c0aa13e7/children"
},
"publish": {
"href": "https://api.umbraco.io/content/041067a0-74f5-4d03-92af-40c3c0aa13e7/publish"
},
"unpublish": {
"href": "https://api.umbraco.io/content/041067a0-74f5-4d03-92af-40c3c0aa13e7/unpublish"
},
"contenttype": {
"href": "https://api.umbraco.io/content/type/blogpost"
}
},
"contentTypeAlias": "blogpost",
"parentId": "8007e923-e62a-4ac1-a33f-caf3052582f4",
"sortOrder": 0,
"seoMetaDescription": {
"$invariant": ""
},
"keywords": {
"$invariant": []
},
"umbNaviHide": {
"$invariant": "0"
},
"pageTitle": {
"$invariant": "Another one"
},
"categories": {
"$invariant": [
"cg16",
"codegarden",
"umbraco"
]
},
"excerpt": {
"$invariant": "Donec sollicitudin molestie malesuada. Vivamus suscipit tortor eget felis porttitor volutpat. Sed porttitor lectus nibh."
},
"bodyText": {
"$invariant": "<p>Lorem Ipsum</p>"
}
}?culture={string=en-US}{
"_currentVersionState": {
"$invariant": "PUBLISHED"
},
"name": {
"$invariant": "Another one"
},
"_updateDate": {
"$invariant": "2019-10-10T11:19:04.3988745+00:00"
},
"_hasChildren": false,
"_level": 3,
"_createDate": "2019-10-07T11:53:09.653Z",
"_id": "041067a0-74f5-4d03-92af-40c3c0aa13e7",
"_links": {
"self": {
"href": "https://api.umbraco.io/content/041067a0-74f5-4d03-92af-40c3c0aa13e7"
},
"root": {
"href": "https://api.umbraco.io/content"
},
"children": {
"href": "https://api.umbraco.io/content/041067a0-74f5-4d03-92af-40c3c0aa13e7/children"
},
"publish": {
"href": "https://api.umbraco.io/content/041067a0-74f5-4d03-92af-40c3c0aa13e7/publish"
},
"unpublish": {
"href": "https://api.umbraco.io/content/041067a0-74f5-4d03-92af-40c3c0aa13e7/unpublish"
},
"contenttype": {
"href": "https://api.umbraco.io/content/type/blogpost"
}
},
"contentTypeAlias": "blogpost",
"parentId": "8007e923-e62a-4ac1-a33f-caf3052582f4",
"sortOrder": 0,
"seoMetaDescription": {
"$invariant": ""
},
"keywords": {
"$invariant": []
},
"umbNaviHide": {
"$invariant": "0"
},
"pageTitle": {
"$invariant": "Another one"
},
"categories": {
"$invariant": [
"cg16",
"codegarden",
"umbraco"
]
},
"excerpt": {
"$invariant": "Donec sollicitudin molestie malesuada. Vivamus suscipit tortor eget felis porttitor volutpat. Sed porttitor lectus nibh."
},
"bodyText": {
"$invariant": "<p>Donec sollicitudin molestie malesuada. Proin eget tortor risus. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus magna justo, lacinia eget consectetur sed, convallis at tellus. Vivamus magna justo, lacinia eget consectetur sed, convallis at tellus. Curabitur arcu erat, accumsan id imperdiet et, porttitor at sem. Nulla porttitor accumsan tincidunt. Vivamus magna justo, lacinia eget consectetur sed, convallis at tellus. Nulla porttitor accumsan tincidunt. Donec rutrum congue leo eget malesuada.</p>\n<p>Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Donec velit neque, auctor sit amet aliquam vel, ullamcorper sit amet ligula. Pellentesque in ipsum id orci porta dapibus. Donec rutrum congue leo eget malesuada. Nulla porttitor accumsan tincidunt. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Donec velit neque, auctor sit amet aliquam vel, ullamcorper sit amet ligula. Curabitur non nulla sit amet nisl tempus convallis quis ac lectus. Proin eget tortor risus. Pellentesque in ipsum id orci porta dapibus. Proin eget tortor risus. Sed porttitor lectus nibh.</p>\n<p>Pellentesque in ipsum id orci porta dapibus. Curabitur aliquet quam id dui posuere blandit. Praesent sapien massa, convallis a pellentesque nec, egestas non nisi. Praesent sapien massa, convallis a pellentesque nec, egestas non nisi. Curabitur non nulla sit amet nisl tempus convallis quis ac lectus. Praesent sapien massa, convallis a pellentesque nec, egestas non nisi. Donec rutrum congue leo eget malesuada. Donec rutrum congue leo eget malesuada. Sed porttitor lectus nibh. Nulla quis lorem ut libero malesuada feugiat.</p>"
}
}?culture={string=en-US}{
"_currentVersionState": {
"$invariant": "DRAFT"
},
"name": {
"$invariant": "Another one"
},
"_updateDate": {
"$invariant": "2019-10-10T11:15:38.5964706+00:00"
},
"_hasChildren": false,
"_level": 3,
"_createDate": "2019-10-07T11:53:09.653Z",
"_id": "041067a0-74f5-4d03-92af-40c3c0aa13e7",
"_links": {
"self": {
"href": "https://api.umbraco.io/content/041067a0-74f5-4d03-92af-40c3c0aa13e7"
},
"root": {
"href": "https://api.umbraco.io/content"
},
"children": {
"href": "https://api.umbraco.io/content/041067a0-74f5-4d03-92af-40c3c0aa13e7/children"
},
"publish": {
"href": "https://api.umbraco.io/content/041067a0-74f5-4d03-92af-40c3c0aa13e7/publish"
},
"unpublish": {
"href": "https://api.umbraco.io/content/041067a0-74f5-4d03-92af-40c3c0aa13e7/unpublish"
},
"contenttype": {
"href": "https://api.umbraco.io/content/type/blogpost"
}
},
"contentTypeAlias": "blogpost",
"parentId": "8007e923-e62a-4ac1-a33f-caf3052582f4",
"sortOrder": 0,
"seoMetaDescription": {
"$invariant": ""
},
"keywords": {
"$invariant": []
},
"umbNaviHide": {
"$invariant": "0"
},
"pageTitle": {
"$invariant": "Another one"
},
"categories": {
"$invariant": [
"cg16",
"codegarden",
"umbraco"
]
},
"excerpt": {
"$invariant": "Donec sollicitudin molestie malesuada. Vivamus suscipit tortor eget felis porttitor volutpat. Sed porttitor lectus nibh."
},
"bodyText": {
"$invariant": "<p>Donec sollicitudin molestie malesuada. Proin eget tortor risus. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus magna justo, lacinia eget consectetur sed, convallis at tellus. Vivamus magna justo, lacinia eget consectetur sed, convallis at tellus. Curabitur arcu erat, accumsan id imperdiet et, porttitor at sem. Nulla porttitor accumsan tincidunt. Vivamus magna justo, lacinia eget consectetur sed, convallis at tellus. Nulla porttitor accumsan tincidunt. Donec rutrum congue leo eget malesuada.</p>\n<p>Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Donec velit neque, auctor sit amet aliquam vel, ullamcorper sit amet ligula. Pellentesque in ipsum id orci porta dapibus. Donec rutrum congue leo eget malesuada. Nulla porttitor accumsan tincidunt. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Donec velit neque, auctor sit amet aliquam vel, ullamcorper sit amet ligula. Curabitur non nulla sit amet nisl tempus convallis quis ac lectus. Proin eget tortor risus. Pellentesque in ipsum id orci porta dapibus. Proin eget tortor risus. Sed porttitor lectus nibh.</p>\n<p>Pellentesque in ipsum id orci porta dapibus. Curabitur aliquet quam id dui posuere blandit. Praesent sapien massa, convallis a pellentesque nec, egestas non nisi. Praesent sapien massa, convallis a pellentesque nec, egestas non nisi. Curabitur non nulla sit amet nisl tempus convallis quis ac lectus. Praesent sapien massa, convallis a pellentesque nec, egestas non nisi. Donec rutrum congue leo eget malesuada. Donec rutrum congue leo eget malesuada. Sed porttitor lectus nibh. Nulla quis lorem ut libero malesuada feugiat.</p>"
}
}{
"_currentVersionState": {
"$invariant": "PUBLISHED"
},
"name": {
"$invariant": "Another one"
},
"_updateDate": {
"$invariant": "2019-10-07T11:53:09.653Z"
},
"_hasChildren": false,
"_level": 3,
"_createDate": "2019-10-07T11:53:09.653Z",
"_id": "041067a0-74f5-4d03-92af-40c3c0aa13e7",
"_deleteDate": "2019-10-10T11:19:53.6828938Z",
"_links": {
"self": {
"href": "https://api.umbraco.io/content/041067a0-74f5-4d03-92af-40c3c0aa13e7"
},
"root": {
"href": "https://api.umbraco.io/content"
},
"children": {
"href": "https://api.umbraco.io/content/041067a0-74f5-4d03-92af-40c3c0aa13e7/children"
},
"publish": {
"href": "https://api.umbraco.io/content/041067a0-74f5-4d03-92af-40c3c0aa13e7/publish"
},
"unpublish": {
"href": "https://api.umbraco.io/content/041067a0-74f5-4d03-92af-40c3c0aa13e7/unpublish"
},
"contenttype": {
"href": "https://api.umbraco.io/content/type/blogpost"
}
},
"contentTypeAlias": "blogpost",
"parentId": "8007e923-e62a-4ac1-a33f-caf3052582f4",
"sortOrder": 0,
"seoMetaDescription": {
"$invariant": ""
},
"keywords": {
"$invariant": []
},
"umbNaviHide": {
"$invariant": "0"
},
"pageTitle": {
"$invariant": "Another one"
},
"categories": {
"$invariant": [
"cg16",
"codegarden",
"umbraco"
]
},
"excerpt": {
"$invariant": "Donec sollicitudin molestie malesuada. Vivamus suscipit tortor eget felis porttitor volutpat. Sed porttitor lectus nibh."
},
"bodyText": {
"$invariant": "<p>Donec sollicitudin molestie malesuada. Proin eget tortor risus. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus magna justo, lacinia eget consectetur sed, convallis at tellus. Vivamus magna justo, lacinia eget consectetur sed, convallis at tellus. Curabitur arcu erat, accumsan id imperdiet et, porttitor at sem. Nulla porttitor accumsan tincidunt. Vivamus magna justo, lacinia eget consectetur sed, convallis at tellus. Nulla porttitor accumsan tincidunt. Donec rutrum congue leo eget malesuada.</p>\n<p>Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Donec velit neque, auctor sit amet aliquam vel, ullamcorper sit amet ligula. Pellentesque in ipsum id orci porta dapibus. Donec rutrum congue leo eget malesuada. Nulla porttitor accumsan tincidunt. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Donec velit neque, auctor sit amet aliquam vel, ullamcorper sit amet ligula. Curabitur non nulla sit amet nisl tempus convallis quis ac lectus. Proin eget tortor risus. Pellentesque in ipsum id orci porta dapibus. Proin eget tortor risus. Sed porttitor lectus nibh.</p>\n<p>Pellentesque in ipsum id orci porta dapibus. Curabitur aliquet quam id dui posuere blandit. Praesent sapien massa, convallis a pellentesque nec, egestas non nisi. Praesent sapien massa, convallis a pellentesque nec, egestas non nisi. Curabitur non nulla sit amet nisl tempus convallis quis ac lectus. Praesent sapien massa, convallis a pellentesque nec, egestas non nisi. Donec rutrum congue leo eget malesuada. Donec rutrum congue leo eget malesuada. Sed porttitor lectus nibh. Nulla quis lorem ut libero malesuada feugiat.</p>"
}
}Accept-Language: {culture}
Api-Version: 2
Umb-Project-Alias: {project-alias}{
"error": {
"code": "LanguageForCultureNotFound",
"message": "Could not find a language for culture en-GB."
}
}?hyperlinks={boolean=true}
?contentType={string}{
"_links": {
"self": {
"href": "https://cdn.umbraco.io/content"
},
"content": [
{
"href": "https://cdn.umbraco.io/content/e8ad9b65-cff6-4952-ac5b-efe56a60db62"
}
]
},
"_embedded": {
"content": [
{
"_creatorName": "Rasmus",
"_url": "/people/",
"_urls": {
"en-us": "/people/"
},
"_writerName": "Rasmus",
"_hasChildren": true,
"_level": 1,
"_createDate": "2019-06-17T13:46:24.543Z",
"_id": "e8ad9b65-cff6-4952-ac5b-efe56a60db62",
"_updateDate": "2019-06-17T13:46:54.97Z",
"_links": {
"self": {
"href": "https://cdn.umbraco.io/content/e8ad9b65-cff6-4952-ac5b-efe56a60db62"
}
},
"contentTypeAlias": "people",
"name": "People",
"sortOrder": 1,
"seoMetaDescription": "",
"keywords": [],
"umbracoNavihide": false,
"pageTitle": "Nice crazy people",
"featuredPeople": null
},
{
"_creatorName": "Rasmus",
"_url": "/products/",
"_urls": {
"en-us": "/products/"
},
"_writerName": "Rasmus",
"_hasChildren": true,
"_level": 1,
"_createDate": "2019-06-17T13:46:24.093Z",
"_id": "ec4aafcc-0c25-4f25-a8fe-705bfae1d324",
"_updateDate": "2019-09-17T14:43:14.827Z",
"_links": {
"self": {
"href": "https://cdn.umbraco.io/content/ec4aafcc-0c25-4f25-a8fe-705bfae1d324"
}
},
"contentTypeAlias": "products",
"name": "Products",
"sortOrder": 3,
"seoMetaDescription": "",
"keywords": [],
"umbracoNavihide": false,
"pageTitle": "Our Gorgeous Selection",
"defaultCurrency": "€",
"featuredProducts": [
{
"_creatorName": "Rasmus",
"_url": "/products/biker-jacket/",
"_writerName": "Rasmus",
"_hasChildren": false,
"_level": 2,
"_createDate": "2019-06-17T13:46:24.497Z",
"_id": "262beb70-53a6-49b8-9e98-cfde2e85a78e",
"_updateDate": "2019-09-16T11:25:44.433Z",
"_links": null,
"contentTypeAlias": "product",
"name": "Biker Jacket",
"parentId": "ec4aafcc-0c25-4f25-a8fe-705bfae1d324",
"sortOrder": 7,
"productName": "Biker Jacket",
"price": 199.0,
"description": "Donec rutrum congue leo eget malesuada. Vivamus suscipit tortor eget felis porttitor volutpat.",
"sku": "UMB-BIKER-JACKET",
"photos": null,
"features": [
{
"contentTypeAlias": "feature",
"featureName": "Free shipping",
"featureDetails": "Isn't that awesome - you only pay for the product"
},
{
"contentTypeAlias": "feature",
"featureName": "1 Day return policy",
"featureDetails": "You'll need to make up your mind fast"
},
{
"contentTypeAlias": "feature",
"featureName": "100 Years warranty",
"featureDetails": "But if you're satisfied it'll last a lifetime"
}
]
},
{
"_creatorName": "Rasmus",
"_url": "/products/tattoo/",
"_urls": {
"en-us": "/products/tattoo/"
},
"_writerName": "Rasmus",
"_hasChildren": false,
"_level": 2,
"_createDate": "2019-06-17T13:46:24.14Z",
"_id": "df1eb830-411b-4d41-a343-3917b76d533c",
"_updateDate": "2019-06-26T22:11:05.727Z",
"_links": null,
"contentTypeAlias": "product",
"name": "Tattoo",
"parentId": "ec4aafcc-0c25-4f25-a8fe-705bfae1d324",
"sortOrder": 0,
"productName": "Tattoo",
"price": 499.0,
"description": "Cras ultricies ligula sed magna dictum porta.",
"sku": "UMB-TATTOO",
"photos": null,
"features": []
},
{
"_creatorName": "Rasmus",
"_url": "/products/unicorn/",
"_urls": {
"en-us": "/products/unicorn/"
},
"_writerName": "Rasmus",
"_hasChildren": false,
"_level": 2,
"_createDate": "2019-06-17T13:46:24.187Z",
"_id": "4e96411a-b8e1-435f-9322-2faee30ef5f2",
"_updateDate": "2019-06-26T22:11:05.803Z",
"_links": null,
"contentTypeAlias": "product",
"name": "Unicorn",
"parentId": "ec4aafcc-0c25-4f25-a8fe-705bfae1d324",
"sortOrder": 1,
"productName": "Unicorn",
"price": 249.0,
"description": "Quisque velit nisi, pretium ut lacinia in, elementum id enim. Vivamus magna justo, lacinia eget consectetur sed, convallis at tellus. Cras ultricies ligula sed magna dictum porta.",
"sku": "UMB-UNICORN",
"photos": null,
"features": []
}
]
}
]
}
}?hyperlinks={boolean=true}
?depth={integer=1}{
"_creatorName": "Rasmus",
"_url": "/products/",
"_urls": {
"en-us": "/products/"
},
"_writerName": "Rasmus",
"_hasChildren": true,
"_level": 1,
"_createDate": "2019-06-17T13:46:24.093Z",
"_id": "ec4aafcc-0c25-4f25-a8fe-705bfae1d324",
"_updateDate": "2019-09-17T14:43:14.827Z",
"_links": {
"self": {
"href": "https://cdn.umbraco.io/content/content/ec4aafcc-0c25-4f25-a8fe-705bfae1d324"
},
"featuredproducts": [
{
"href": "https://cdn.umbraco.io/content/262beb70-53a6-49b8-9e98-cfde2e85a78e",
"title": "Biker Jacket"
},
{
"href": "https://cdn.umbraco.io/content/df1eb830-411b-4d41-a343-3917b76d533c",
"title": "Tattoo"
},
{
"href": "https://cdn.umbraco.io/content/4e96411a-b8e1-435f-9322-2faee30ef5f2",
"title": "Unicorn"
}
],
"root": {
"href": "https://cdn.umbraco.io/content"
},
"children": {
"href": "https://cdn.umbraco.io/content/ec4aafcc-0c25-4f25-a8fe-705bfae1d324/children"
},
"ancestors": {
"href": "https://cdn.umbraco.io/content/ec4aafcc-0c25-4f25-a8fe-705bfae1d324/ancestors"
},
"descendants": {
"href": "https://cdn.umbraco.io/content/ec4aafcc-0c25-4f25-a8fe-705bfae1d324/descendants"
},
"parent": {
"href": "https://cdn.umbraco.io/content"
}
},
"contentTypeAlias": "products",
"name": "Products",
"sortOrder": 3,
"seoMetaDescription": "",
"keywords": [],
"umbracoNavihide": false,
"pageTitle": "Our Gorgeous Selection",
"defaultCurrency": "€",
"featuredProducts": [
{
"_creatorName": "Rasmus",
"_url": "/products/biker-jacket/",
"_urls": {
"en-us": "/products/biker-jacket/"
},
"_writerName": "Rasmus",
"_hasChildren": false,
"_level": 2,
"_createDate": "2019-06-17T13:46:24.497Z",
"_id": "262beb70-53a6-49b8-9e98-cfde2e85a78e",
"_updateDate": "2019-09-16T11:25:44.433Z",
"_links": {
"photos": {
"href": "https://cdn.umbraco.io/media/55514845-b8bd-487c-b370-9724852fd6bb",
"title": "Biker Jacket"
}
},
"contentTypeAlias": "product",
"name": "Biker Jacket",
"parentId": "ec4aafcc-0c25-4f25-a8fe-705bfae1d324",
"sortOrder": 7,
"productName": "Biker Jacket",
"price": 199.0,
"description": "Donec rutrum congue leo eget malesuada. Vivamus suscipit tortor eget felis porttitor volutpat.",
"sku": "UMB-BIKER-JACKET",
"photos": null,
"features": [
{
"contentTypeAlias": "feature",
"featureName": "Free shipping",
"featureDetails": "Isn't that awesome - you only pay for the product"
},
{
"contentTypeAlias": "feature",
"featureName": "1 Day return policy",
"featureDetails": "You'll need to make up your mind fast"
},
{
"contentTypeAlias": "feature",
"featureName": "100 Years warranty",
"featureDetails": "But if you're satisfied it'll last a lifetime"
}
]
},
{
"_creatorName": "Rasmus",
"_url": "/products/tattoo/",
"_urls": {
"en-us": "/products/tattoo/"
},
"_writerName": "Rasmus",
"_hasChildren": false,
"_level": 2,
"_createDate": "2019-06-17T13:46:24.14Z",
"_id": "df1eb830-411b-4d41-a343-3917b76d533c",
"_updateDate": "2019-06-26T22:11:05.727Z",
"_links": {
"photos": {
"href": "https://cdn.umbraco.io/media/20e3a8ff-ad1b-4fe9-b48c-b8461c46d2d0",
"title": "Tattoo"
}
},
"contentTypeAlias": "product",
"name": "Tattoo",
"parentId": "ec4aafcc-0c25-4f25-a8fe-705bfae1d324",
"sortOrder": 0,
"productName": "Tattoo",
"price": 499.0,
"description": "Cras ultricies ligula sed magna dictum porta.",
"sku": "UMB-TATTOO",
"photos": null,
"features": []
},
{
"_creatorName": "Rasmus",
"_url": "/products/unicorn/",
"_urls": {
"en-us": "/products/unicorn/"
},
"_writerName": "Rasmus",
"_hasChildren": false,
"_level": 2,
"_createDate": "2019-06-17T13:46:24.187Z",
"_id": "4e96411a-b8e1-435f-9322-2faee30ef5f2",
"_updateDate": "2019-06-26T22:11:05.803Z",
"_links": {
"photos": {
"href": "https://cdn.umbraco.io/media/1bc5280b-8658-4027-89d9-58e2576e469b",
"title": "Unicorn"
}
},
"contentTypeAlias": "product",
"name": "Unicorn",
"parentId": "ec4aafcc-0c25-4f25-a8fe-705bfae1d324",
"sortOrder": 1,
"productName": "Unicorn",
"price": 249.0,
"description": "Quisque velit nisi, pretium ut lacinia in, elementum id enim. Vivamus magna justo, lacinia eget consectetur sed, convallis at tellus. Cras ultricies ligula sed magna dictum porta.",
"sku": "UMB-UNICORN",
"photos": null,
"features": []
}
]
}?hyperlinks={boolean=true}
?depth={integer=1}{
"_creatorName": "Rasmus",
"_url": "/people/",
"_urls": {
"en-us": "/people/"
},
"_writerName": "Rasmus",
"_hasChildren": true,
"_level": 1,
"_createDate": "2019-06-17T13:46:24.543Z",
"_id": "e8ad9b65-cff6-4952-ac5b-efe56a60db62",
"_updateDate": "2019-06-17T13:46:54.97Z",
"_links": {
"self": {
"href": "https://cdn.umbraco.io/content/e8ad9b65-cff6-4952-ac5b-efe56a60db62"
}
},
"contentTypeAlias": "people",
"name": "People",
"sortOrder": 1,
"seoMetaDescription": "",
"keywords": [],
"umbracoNavihide": false,
"pageTitle": "Nice crazy people",
"featuredPeople": null
}?hyperlinks={boolean=true}
?page={integer=1}
?pageSize={integer=10}{
"_totalItems": 3,
"_totalPages": 1,
"_page": 1,
"_pageSize": 10,
"_links": {
"self": {
"href": "https://cdn.umbraco.io/content/type?contentType=product&page=1&pageSize=10"
},
"page": {
"href": "https://cdn.umbraco.io/content/type{?contentType,page,pageSize}",
"templated": true
},
"root": {
"href": "https://cdn.umbraco.io/content{?contentType}",
"templated": true
},
"content": [
{
"href": "https://cdn.umbraco.io/content/df1eb830-411b-4d41-a343-3917b76d533c"
},
{
"href": "https://cdn.umbraco.io/content/4e96411a-b8e1-435f-9322-2faee30ef5f2"
},
{
"href": "https://cdn.umbraco.io/content/d390a562-107d-4f02-8df7-57aa86bad752"
}
]
},
"_embedded": {
"content": [
{
"_creatorName": "Rasmus",
"_url": "/products/tattoo/",
"_urls": {
"en-us": "/products/tattoo/"
},
"_writerName": "Rasmus",
"_hasChildren": false,
"_level": 2,
"_createDate": "2019-06-17T13:46:24.14Z",
"_id": "df1eb830-411b-4d41-a343-3917b76d533c",
"_updateDate": "2019-06-26T22:11:05.727Z",
"_links": {
"self": {
"href": "https://cdn.umbraco.io/content/df1eb830-411b-4d41-a343-3917b76d533c"
},
"photos": {
"href": "https://cdn.umbraco.io/media/20e3a8ff-ad1b-4fe9-b48c-b8461c46d2d0",
"title": "Tattoo"
},
"root": {
"href": "https://cdn.umbraco.io/content{?contentType}",
"templated": true
},
"children": {
"href": "https://cdn.umbraco.io/content/df1eb830-411b-4d41-a343-3917b76d533c/children"
},
"ancestors": {
"href": "https://cdn.umbraco.io/content/df1eb830-411b-4d41-a343-3917b76d533c/ancestors"
},
"descendants": {
"href": "https://cdn.umbraco.io/content/df1eb830-411b-4d41-a343-3917b76d533c/descendants"
},
"parent": {
"href": "https://cdn.umbraco.io/content/ec4aafcc-0c25-4f25-a8fe-705bfae1d324"
}
},
"contentTypeAlias": "product",
"name": "Tattoo",
"parentId": "ec4aafcc-0c25-4f25-a8fe-705bfae1d324",
"sortOrder": 0,
"productName": "Tattoo",
"price": 499.0,
"description": "Cras ultricies ligula sed magna dictum porta.",
"sku": "UMB-TATTOO",
"photos": {
"_creatorName": "Rasmus",
"_url": "https://media.umbraco.io/my-headless-site/media/20e3a8ffad1b4fe9b48cb8461c46d2d0/00000006000000000000000000000000/7371127652_e01b6ab56f_b.jpg",
"_writerName": "Rasmus",
"_hasChildren": false,
"_level": 2,
"_createDate": "2019-06-17T13:46:42.503Z",
"_id": "20e3a8ff-ad1b-4fe9-b48c-b8461c46d2d0",
"_updateDate": "2019-06-17T13:46:42.503Z",
"_links": null,
"mediaTypeAlias": "Image",
"name": "Tattoo",
"parentId": "6d5bf746-cb82-45c5-bd15-dd3798209b87",
"sortOrder": 0,
"umbracoFile": {
"src": "/media/20e3a8ffad1b4fe9b48cb8461c46d2d0/00000006000000000000000000000000/7371127652_e01b6ab56f_b.jpg",
"focalPoint": null,
"crops": null
},
"umbracoWidth": 683,
"umbracoHeight": 1024,
"umbracoBytes": 258796,
"umbracoExtension": "jpg"
},
"features": []
},
{
"_creatorName": "Rasmus",
"_url": "/products/unicorn/",
"_urls": {
"en-us": "/products/unicorn/"
},
"_writerName": "Rasmus",
"_hasChildren": false,
"_level": 2,
"_createDate": "2019-06-17T13:46:24.187Z",
"_id": "4e96411a-b8e1-435f-9322-2faee30ef5f2",
"_updateDate": "2019-06-26T22:11:05.803Z",
"_links": {
"self": {
"href": "https://cdn.umbraco.io/content/4e96411a-b8e1-435f-9322-2faee30ef5f2"
},
"photos": {
"href": "https://cdn.umbraco.io/media/1bc5280b-8658-4027-89d9-58e2576e469b",
"title": "Unicorn"
},
"root": {
"href": "https://cdn.umbraco.io/content{?contentType}",
"templated": true
},
"children": {
"href": "https://cdn.umbraco.io/content/4e96411a-b8e1-435f-9322-2faee30ef5f2/children"
},
"ancestors": {
"href": "https://cdn.umbraco.io/content/4e96411a-b8e1-435f-9322-2faee30ef5f2/ancestors"
},
"descendants": {
"href": "https://cdn.umbraco.io/content/4e96411a-b8e1-435f-9322-2faee30ef5f2/descendants"
},
"parent": {
"href": "https://cdn.umbraco.io/content/ec4aafcc-0c25-4f25-a8fe-705bfae1d324"
}
},
"contentTypeAlias": "product",
"name": "Unicorn",
"parentId": "ec4aafcc-0c25-4f25-a8fe-705bfae1d324",
"sortOrder": 1,
"productName": "Unicorn",
"price": 249.0,
"description": "Quisque velit nisi, pretium ut lacinia in, elementum id enim. Vivamus magna justo, lacinia eget consectetur sed, convallis at tellus. Cras ultricies ligula sed magna dictum porta.",
"sku": "UMB-UNICORN",
"photos": {
"_creatorName": "Rasmus",
"_url": "https://media.umbraco.io/my-headless-site/media/1bc5280b8658402789d958e2576e469b/00000006000000000000000000000000/14272036539_469ca21d5c_h.jpg",
"_writerName": "Rasmus",
"_hasChildren": false,
"_level": 2,
"_createDate": "2019-06-17T13:46:42.64Z",
"_id": "1bc5280b-8658-4027-89d9-58e2576e469b",
"_updateDate": "2019-06-17T13:46:42.64Z",
"_links": null,
"mediaTypeAlias": "Image",
"name": "Unicorn",
"parentId": "6d5bf746-cb82-45c5-bd15-dd3798209b87",
"sortOrder": 0,
"umbracoFile": {
"src": "/media/1bc5280b8658402789d958e2576e469b/00000006000000000000000000000000/14272036539_469ca21d5c_h.jpg",
"focalPoint": null,
"crops": null
},
"umbracoWidth": 1067,
"umbracoHeight": 1600,
"umbracoBytes": 367954,
"umbracoExtension": "jpg"
},
"features": []
},
{
"_creatorName": "Rasmus",
"_url": "/products/ping-pong-ball/",
"_urls": {
"en-us": "/products/ping-pong-ball/"
},
"_writerName": "Rasmus",
"_hasChildren": false,
"_level": 2,
"_createDate": "2019-06-17T13:46:24.247Z",
"_id": "d390a562-107d-4f02-8df7-57aa86bad752",
"_updateDate": "2019-06-26T22:11:05.847Z",
"_links": {
"self": {
"href": "https://cdn.umbraco.io/content/d390a562-107d-4f02-8df7-57aa86bad752"
},
"photos": {
"href": "https://cdn.umbraco.io/media/c09ec77f-08e3-466a-ac58-c979befd3cd6",
"title": "Ping Pong Ball"
},
"root": {
"href": "https://cdn.umbraco.io/content{?contentType}",
"templated": true
},
"children": {
"href": "https://cdn.umbraco.io/content/d390a562-107d-4f02-8df7-57aa86bad752/children"
},
"ancestors": {
"href": "https://cdn.umbraco.io/content/d390a562-107d-4f02-8df7-57aa86bad752/ancestors"
},
"descendants": {
"href": "https://cdn.umbraco.io/content/d390a562-107d-4f02-8df7-57aa86bad752/descendants"
},
"parent": {
"href": "https://cdn.umbraco.io/content/ec4aafcc-0c25-4f25-a8fe-705bfae1d324"
}
},
"contentTypeAlias": "product",
"name": "Ping Pong Ball",
"parentId": "ec4aafcc-0c25-4f25-a8fe-705bfae1d324",
"sortOrder": 2,
"productName": "Ping Pong Ball",
"price": 2.0,
"description": "Vivamus suscipit tortor eget felis porttitor volutpat. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Cras ultricies ligula sed magna dictum porta.",
"sku": "UMB-PINGPONG",
"photos": {
"_creatorName": "Rasmus",
"_url": "https://media.umbraco.io/my-headless-site/media/c09ec77f08e3466aac58c979befd3cd6/00000006000000000000000000000000/5852022211_9028df67c0_b.jpg",
"_writerName": "Rasmus",
"_hasChildren": false,
"_level": 2,
"_createDate": "2019-06-17T13:46:42.767Z",
"_id": "c09ec77f-08e3-466a-ac58-c979befd3cd6",
"_updateDate": "2019-06-17T13:46:42.767Z",
"_links": null,
"mediaTypeAlias": "Image",
"name": "Ping Pong Ball",
"parentId": "6d5bf746-cb82-45c5-bd15-dd3798209b87",
"sortOrder": 0,
"umbracoFile": {
"src": "/media/c09ec77f08e3466aac58c979befd3cd6/00000006000000000000000000000000/5852022211_9028df67c0_b.jpg",
"focalPoint": null,
"crops": null
},
"umbracoWidth": 1024,
"umbracoHeight": 683,
"umbracoBytes": 205417,
"umbracoExtension": "jpg"
},
"features": []
}
]
}
}?hyperlinks={boolean=true}
?contentType={string}{
"_links": {
"self": {
"href": "https://cdn.umbraco.io/content/4f0b7052-d854-43b5-bb7c-6c82af4d96d1/ancestors"
},
"content": [
{
"href": "https://cdn.umbraco.io/content/e8ad9b65-cff6-4952-ac5b-efe56a60db62"
},
{
"href": "https://cdn.umbraco.io/content/32ded4f8-191a-418e-a4c9-0dabceba90ee"
}
]
},
"_embedded": {
"content": [
{
"_creatorName": "Rasmus",
"_url": "/home/people/",
"_urls": {
"en-us": "/home/people/"
},
"_writerName": "Rasmus",
"_hasChildren": true,
"_level": 2,
"_createDate": "2019-06-17T13:46:24.543Z",
"_id": "e8ad9b65-cff6-4952-ac5b-efe56a60db62",
"_updateDate": "2019-06-17T13:46:54.97Z",
"_links": {
"self": {
"href": "https://cdn.umbraco.io/content/e8ad9b65-cff6-4952-ac5b-efe56a60db62"
},
"root": {
"href": "https://cdn.umbraco.io/content"
},
"children": {
"href": "https://cdn.umbraco.io/content/e8ad9b65-cff6-4952-ac5b-efe56a60db62/children"
},
"ancestors": {
"href": "https://cdn.umbraco.io/content/e8ad9b65-cff6-4952-ac5b-efe56a60db62/ancestors"
},
"descendants": {
"href": "https://cdn.umbraco.io/content/e8ad9b65-cff6-4952-ac5b-efe56a60db62/descendants"
},
"parent": {
"href": "https://cdn.umbraco.io/content/32ded4f8-191a-418e-a4c9-0dabceba90ee"
}
},
"contentTypeAlias": "people",
"name": "People",
"parentId": "32ded4f8-191a-418e-a4c9-0dabceba90ee",
"sortOrder": 0,
"seoMetaDescription": "",
"keywords": [],
"umbracoNavihide": false,
"pageTitle": "Nice crazy people",
"featuredPeople": null
},
{
"_creatorName": "Rasmus",
"_url": "/home/",
"_urls": {
"en-us": "/home/"
},
"_writerName": "Rasmus",
"_hasChildren": true,
"_level": 1,
"_createDate": "2019-06-17T13:46:24.012Z",
"_id": "32ded4f8-191a-418e-a4c9-0dabceba90ee",
"_updateDate": "2019-06-17T13:46:24.012Z",
"_links": {
"self": {
"href": "https://cdn.umbraco.io/content/32ded4f8-191a-418e-a4c9-0dabceba90ee"
},
"root": {
"href": "https://cdn.umbraco.io/content"
},
"children": {
"href": "https://cdn.umbraco.io/content/32ded4f8-191a-418e-a4c9-0dabceba90ee/children"
},
"ancestors": {
"href": "https://cdn.umbraco.io/content/32ded4f8-191a-418e-a4c9-0dabceba90ee/ancestors"
},
"descendants": {
"href": "https://cdn.umbraco.io/content/32ded4f8-191a-418e-a4c9-0dabceba90ee/descendants"
},
"parent": {
"href": "https://cdn.umbraco.io/content"
}
},
"contentTypeAlias": "home",
"name": "Home",
"sortOrder": 4
}
]
}
}?hyperlinks={boolean=true}
?contentType={string}
?page={integer=1}
?pageSize={integer=10}{
"_totalItems": 3,
"_totalPages": 1,
"_page": 1,
"_pageSize": 10,
"_links": {
"self": {
"href": "https://cdn.umbraco.io/content/ec4aafcc-0c25-4f25-a8fe-705bfae1d324/children?page=1"
},
"page": {
"href": "https://cdn.umbraco.io/content/{id}/children{?page,pageSize}",
"templated": true
},
"root": {
"href": "https://cdn.umbraco.io/content"
},
"content": [
{
"href": "https://cdn.umbraco.io/content/df1eb830-411b-4d41-a343-3917b76d533c"
},
{
"href": "https://cdn.umbraco.io/content/4e96411a-b8e1-435f-9322-2faee30ef5f2"
},
{
"href": "https://cdn.umbraco.io/content/d390a562-107d-4f02-8df7-57aa86bad752"
}
]
},
"_embedded": {
"content": [
{
"_creatorName": "Rasmus",
"_url": "/products/tattoo/",
"_urls": {
"en-us": "/products/tattoo/"
},
"_writerName": "Rasmus",
"_hasChildren": false,
"_level": 2,
"_createDate": "2019-06-17T13:46:24.14Z",
"_id": "df1eb830-411b-4d41-a343-3917b76d533c",
"_updateDate": "2019-06-26T22:11:05.727Z",
"_links": {
"self": {
"href": "https://cdn.umbraco.io/content/df1eb830-411b-4d41-a343-3917b76d533c"
},
"photos": {
"href": "https://cdn.umbraco.io/media/20e3a8ff-ad1b-4fe9-b48c-b8461c46d2d0",
"title": "Tattoo"
},
"root": {
"href": "https://cdn.umbraco.io/content"
},
"children": {
"href": "https://cdn.umbraco.io/content/df1eb830-411b-4d41-a343-3917b76d533c/children"
},
"ancestors": {
"href": "https://cdn.umbraco.io/content/df1eb830-411b-4d41-a343-3917b76d533c/ancestors"
},
"descendants": {
"href": "https://cdn.umbraco.io/content/df1eb830-411b-4d41-a343-3917b76d533c/descendants"
},
"parent": {
"href": "https://cdn.umbraco.io/content/ec4aafcc-0c25-4f25-a8fe-705bfae1d324"
}
},
"contentTypeAlias": "product",
"name": "Tattoo",
"parentId": "ec4aafcc-0c25-4f25-a8fe-705bfae1d324",
"sortOrder": 0,
"productName": "Tattoo",
"price": 499.0,
"description": "Cras ultricies ligula sed magna dictum porta.",
"sku": "UMB-TATTOO",
"photos": {
"_creatorName": "Rasmus",
"_url": "https://media.umbraco.io/my-headless-site/media/20e3a8ffad1b4fe9b48cb8461c46d2d0/00000006000000000000000000000000/7371127652_e01b6ab56f_b.jpg",
"_writerName": "Rasmus",
"_hasChildren": false,
"_level": 2,
"_createDate": "2019-06-17T13:46:42.503Z",
"_id": "20e3a8ff-ad1b-4fe9-b48c-b8461c46d2d0",
"_updateDate": "2019-06-17T13:46:42.503Z",
"_links": null,
"mediaTypeAlias": "Image",
"name": "Tattoo",
"parentId": "6d5bf746-cb82-45c5-bd15-dd3798209b87",
"sortOrder": 0,
"umbracoFile": {
"src": "/media/20e3a8ffad1b4fe9b48cb8461c46d2d0/00000006000000000000000000000000/7371127652_e01b6ab56f_b.jpg",
"focalPoint": null,
"crops": null
},
"umbracoWidth": 683,
"umbracoHeight": 1024,
"umbracoBytes": 258796,
"umbracoExtension": "jpg"
},
"features": []
},
{
"_creatorName": "Rasmus",
"_url": "/products/unicorn/",
"_urls": {
"en-us": "/products/unicorn/"
},
"_writerName": "Rasmus",
"_hasChildren": false,
"_level": 2,
"_createDate": "2019-06-17T13:46:24.187Z",
"_id": "4e96411a-b8e1-435f-9322-2faee30ef5f2",
"_updateDate": "2019-06-26T22:11:05.803Z",
"_links": {
"self": {
"href": "https://cdn.umbraco.io/content/4e96411a-b8e1-435f-9322-2faee30ef5f2"
},
"photos": {
"href": "https://cdn.umbraco.io/media/1bc5280b-8658-4027-89d9-58e2576e469b",
"title": "Unicorn"
},
"root": {
"href": "https://cdn.umbraco.io/content"
},
"children": {
"href": "https://cdn.umbraco.io/content/4e96411a-b8e1-435f-9322-2faee30ef5f2/children"
},
"ancestors": {
"href": "https://cdn.umbraco.io/content/4e96411a-b8e1-435f-9322-2faee30ef5f2/ancestors"
},
"descendants": {
"href": "https://cdn.umbraco.io/content/4e96411a-b8e1-435f-9322-2faee30ef5f2/descendants"
},
"parent": {
"href": "https://cdn.umbraco.io/content/ec4aafcc-0c25-4f25-a8fe-705bfae1d324"
}
},
"contentTypeAlias": "product",
"name": "Unicorn",
"parentId": "ec4aafcc-0c25-4f25-a8fe-705bfae1d324",
"sortOrder": 1,
"productName": "Unicorn",
"price": 249.0,
"description": "Quisque velit nisi, pretium ut lacinia in, elementum id enim. Vivamus magna justo, lacinia eget consectetur sed, convallis at tellus. Cras ultricies ligula sed magna dictum porta.",
"sku": "UMB-UNICORN",
"photos": {
"_creatorName": "Rasmus",
"_url": "https://media.umbraco.io/my-headless-site/media/1bc5280b8658402789d958e2576e469b/00000006000000000000000000000000/14272036539_469ca21d5c_h.jpg",
"_writerName": "Rasmus",
"_hasChildren": false,
"_level": 2,
"_createDate": "2019-06-17T13:46:42.64Z",
"_id": "1bc5280b-8658-4027-89d9-58e2576e469b",
"_updateDate": "2019-06-17T13:46:42.64Z",
"_links": null,
"mediaTypeAlias": "Image",
"name": "Unicorn",
"parentId": "6d5bf746-cb82-45c5-bd15-dd3798209b87",
"sortOrder": 0,
"umbracoFile": {
"src": "/media/1bc5280b8658402789d958e2576e469b/00000006000000000000000000000000/14272036539_469ca21d5c_h.jpg",
"focalPoint": null,
"crops": null
},
"umbracoWidth": 1067,
"umbracoHeight": 1600,
"umbracoBytes": 367954,
"umbracoExtension": "jpg"
},
"features": []
},
{
"_creatorName": "Rasmus",
"_url": "/products/ping-pong-ball/",
"_urls": {
"en-us": "/products/ping-pong-ball/"
},
"_writerName": "Rasmus",
"_hasChildren": false,
"_level": 2,
"_createDate": "2019-06-17T13:46:24.247Z",
"_id": "d390a562-107d-4f02-8df7-57aa86bad752",
"_updateDate": "2019-06-26T22:11:05.847Z",
"_links": {
"self": {
"href": "https://cdn.umbraco.io/content/d390a562-107d-4f02-8df7-57aa86bad752"
},
"photos": {
"href": "https://cdn.umbraco.io/media/c09ec77f-08e3-466a-ac58-c979befd3cd6",
"title": "Ping Pong Ball"
},
"root": {
"href": "https://cdn.umbraco.io/content"
},
"children": {
"href": "https://cdn.umbraco.io/content/d390a562-107d-4f02-8df7-57aa86bad752/children"
},
"ancestors": {
"href": "https://cdn.umbraco.io/content/d390a562-107d-4f02-8df7-57aa86bad752/ancestors"
},
"descendants": {
"href": "https://cdn.umbraco.io/content/d390a562-107d-4f02-8df7-57aa86bad752/descendants"
},
"parent": {
"href": "https://cdn.umbraco.io/content/ec4aafcc-0c25-4f25-a8fe-705bfae1d324"
}
},
"contentTypeAlias": "product",
"name": "Ping Pong Ball",
"parentId": "ec4aafcc-0c25-4f25-a8fe-705bfae1d324",
"sortOrder": 2,
"productName": "Ping Pong Ball",
"price": 2.0,
"description": "Vivamus suscipit tortor eget felis porttitor volutpat. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Cras ultricies ligula sed magna dictum porta.",
"sku": "UMB-PINGPONG",
"photos": {
"_creatorName": "Rasmus",
"_url": "https://media.umbraco.io/my-headless-site/media/c09ec77f08e3466aac58c979befd3cd6/00000006000000000000000000000000/5852022211_9028df67c0_b.jpg",
"_writerName": "Rasmus",
"_hasChildren": false,
"_level": 2,
"_createDate": "2019-06-17T13:46:42.767Z",
"_id": "c09ec77f-08e3-466a-ac58-c979befd3cd6",
"_updateDate": "2019-06-17T13:46:42.767Z",
"_links": null,
"mediaTypeAlias": "Image",
"name": "Ping Pong Ball",
"parentId": "6d5bf746-cb82-45c5-bd15-dd3798209b87",
"sortOrder": 0,
"umbracoFile": {
"src": "/media/c09ec77f08e3466aac58c979befd3cd6/00000006000000000000000000000000/5852022211_9028df67c0_b.jpg",
"focalPoint": null,
"crops": null
},
"umbracoWidth": 1024,
"umbracoHeight": 683,
"umbracoBytes": 205417,
"umbracoExtension": "jpg"
},
"features": []
}
]
}
}?hyperlinks={boolean=true}
?contentType={string}
?page={integer=1}
?pageSize={integer=10}{
"_totalItems": 3,
"_totalPages": 1,
"_page": 1,
"_pageSize": 10,
"_links": {
"self": {
"href": "https://cdn.umbraco.io/content/ec4aafcc-0c25-4f25-a8fe-705bfae1d324/descendants?page=1"
},
"page": {
"href": "https://cdn.umbraco.io/content/{id}/descendants{?page,pageSize}",
"templated": true
},
"root": {
"href": "https://cdn.umbraco.io/content"
},
"content": [
{
"href": "https://cdn.umbraco.io/content/df1eb830-411b-4d41-a343-3917b76d533c"
},
{
"href": "https://cdn.umbraco.io/content/4e96411a-b8e1-435f-9322-2faee30ef5f2"
},
{
"href": "https://cdn.umbraco.io/content/d390a562-107d-4f02-8df7-57aa86bad752"
}
]
},
"_embedded": {
"content": [
{
"_creatorName": "Rasmus",
"_url": "/products/tattoo/",
"_urls": {
"en-us": "/products/tattoo/"
},
"_writerName": "Rasmus",
"_hasChildren": false,
"_level": 2,
"_createDate": "2019-06-17T13:46:24.14Z",
"_id": "df1eb830-411b-4d41-a343-3917b76d533c",
"_updateDate": "2019-06-26T22:11:05.727Z",
"_links": {
"self": {
"href": "https://cdn.umbraco.io/content/df1eb830-411b-4d41-a343-3917b76d533c"
},
"photos": {
"href": "https://cdn.umbraco.io/media/20e3a8ff-ad1b-4fe9-b48c-b8461c46d2d0",
"title": "Tattoo"
},
"root": {
"href": "https://cdn.umbraco.io/content"
},
"children": {
"href": "https://cdn.umbraco.io/content/df1eb830-411b-4d41-a343-3917b76d533c/children"
},
"ancestors": {
"href": "https://cdn.umbraco.io/content/df1eb830-411b-4d41-a343-3917b76d533c/ancestors"
},
"descendants": {
"href": "https://cdn.umbraco.io/content/df1eb830-411b-4d41-a343-3917b76d533c/descendants"
},
"parent": {
"href": "https://cdn.umbraco.io/content/ec4aafcc-0c25-4f25-a8fe-705bfae1d324"
}
},
"contentTypeAlias": "product",
"name": "Tattoo",
"parentId": "ec4aafcc-0c25-4f25-a8fe-705bfae1d324",
"sortOrder": 0,
"productName": "Tattoo",
"price": 499.0,
"description": "Cras ultricies ligula sed magna dictum porta.",
"sku": "UMB-TATTOO",
"photos": {
"_creatorName": "Rasmus",
"_url": "https://media.umbraco.io/my-headless-site/media/20e3a8ffad1b4fe9b48cb8461c46d2d0/00000006000000000000000000000000/7371127652_e01b6ab56f_b.jpg",
"_writerName": "Rasmus",
"_hasChildren": false,
"_level": 2,
"_createDate": "2019-06-17T13:46:42.503Z",
"_id": "20e3a8ff-ad1b-4fe9-b48c-b8461c46d2d0",
"_updateDate": "2019-06-17T13:46:42.503Z",
"_links": null,
"mediaTypeAlias": "Image",
"name": "Tattoo",
"parentId": "6d5bf746-cb82-45c5-bd15-dd3798209b87",
"sortOrder": 0,
"umbracoFile": {
"src": "/media/20e3a8ffad1b4fe9b48cb8461c46d2d0/00000006000000000000000000000000/7371127652_e01b6ab56f_b.jpg",
"focalPoint": null,
"crops": null
},
"umbracoWidth": 683,
"umbracoHeight": 1024,
"umbracoBytes": 258796,
"umbracoExtension": "jpg"
},
"features": []
},
{
"_creatorName": "Rasmus",
"_url": "/products/unicorn/",
"_urls": {
"en-us": "/products/unicorn/"
},
"_writerName": "Rasmus",
"_hasChildren": false,
"_level": 2,
"_createDate": "2019-06-17T13:46:24.187Z",
"_id": "4e96411a-b8e1-435f-9322-2faee30ef5f2",
"_updateDate": "2019-06-26T22:11:05.803Z",
"_links": {
"self": {
"href": "https://cdn.umbraco.io/content/4e96411a-b8e1-435f-9322-2faee30ef5f2"
},
"photos": {
"href": "https://cdn.umbraco.io/media/1bc5280b-8658-4027-89d9-58e2576e469b",
"title": "Unicorn"
},
"root": {
"href": "https://cdn.umbraco.io/content"
},
"children": {
"href": "https://cdn.umbraco.io/content/4e96411a-b8e1-435f-9322-2faee30ef5f2/children"
},
"ancestors": {
"href": "https://cdn.umbraco.io/content/4e96411a-b8e1-435f-9322-2faee30ef5f2/ancestors"
},
"descendants": {
"href": "https://cdn.umbraco.io/content/4e96411a-b8e1-435f-9322-2faee30ef5f2/descendants"
},
"parent": {
"href": "https://cdn.umbraco.io/content/ec4aafcc-0c25-4f25-a8fe-705bfae1d324"
}
},
"contentTypeAlias": "product",
"name": "Unicorn",
"parentId": "ec4aafcc-0c25-4f25-a8fe-705bfae1d324",
"sortOrder": 1,
"productName": "Unicorn",
"price": 249.0,
"description": "Quisque velit nisi, pretium ut lacinia in, elementum id enim. Vivamus magna justo, lacinia eget consectetur sed, convallis at tellus. Cras ultricies ligula sed magna dictum porta.",
"sku": "UMB-UNICORN",
"photos": {
"_creatorName": "Rasmus",
"_url": "https://media.umbraco.io/my-headless-site/media/1bc5280b8658402789d958e2576e469b/00000006000000000000000000000000/14272036539_469ca21d5c_h.jpg",
"_writerName": "Rasmus",
"_hasChildren": false,
"_level": 2,
"_createDate": "2019-06-17T13:46:42.64Z",
"_id": "1bc5280b-8658-4027-89d9-58e2576e469b",
"_updateDate": "2019-06-17T13:46:42.64Z",
"_links": null,
"mediaTypeAlias": "Image",
"name": "Unicorn",
"parentId": "6d5bf746-cb82-45c5-bd15-dd3798209b87",
"sortOrder": 0,
"umbracoFile": {
"src": "/media/1bc5280b8658402789d958e2576e469b/00000006000000000000000000000000/14272036539_469ca21d5c_h.jpg",
"focalPoint": null,
"crops": null
},
"umbracoWidth": 1067,
"umbracoHeight": 1600,
"umbracoBytes": 367954,
"umbracoExtension": "jpg"
},
"features": []
},
{
"_creatorName": "Rasmus",
"_url": "/products/ping-pong-ball/",
"_urls": {
"en-us": "/products/ping-pong-ball/"
},
"_writerName": "Rasmus",
"_hasChildren": false,
"_level": 2,
"_createDate": "2019-06-17T13:46:24.247Z",
"_id": "d390a562-107d-4f02-8df7-57aa86bad752",
"_updateDate": "2019-06-26T22:11:05.847Z",
"_links": {
"self": {
"href": "https://cdn.umbraco.io/content/d390a562-107d-4f02-8df7-57aa86bad752"
},
"photos": {
"href": "https://cdn.umbraco.io/media/c09ec77f-08e3-466a-ac58-c979befd3cd6",
"title": "Ping Pong Ball"
},
"root": {
"href": "https://cdn.umbraco.io/content"
},
"children": {
"href": "https://cdn.umbraco.io/content/d390a562-107d-4f02-8df7-57aa86bad752/children"
},
"ancestors": {
"href": "https://cdn.umbraco.io/content/d390a562-107d-4f02-8df7-57aa86bad752/ancestors"
},
"descendants": {
"href": "https://cdn.umbraco.io/content/d390a562-107d-4f02-8df7-57aa86bad752/descendants"
},
"parent": {
"href": "https://cdn.umbraco.io/content/ec4aafcc-0c25-4f25-a8fe-705bfae1d324"
}
},
"contentTypeAlias": "product",
"name": "Ping Pong Ball",
"parentId": "ec4aafcc-0c25-4f25-a8fe-705bfae1d324",
"sortOrder": 2,
"productName": "Ping Pong Ball",
"price": 2.0,
"description": "Vivamus suscipit tortor eget felis porttitor volutpat. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Cras ultricies ligula sed magna dictum porta.",
"sku": "UMB-PINGPONG",
"photos": {
"_creatorName": "Rasmus",
"_url": "https://media.umbraco.io/my-headless-site/media/c09ec77f08e3466aac58c979befd3cd6/00000006000000000000000000000000/5852022211_9028df67c0_b.jpg",
"_writerName": "Rasmus",
"_hasChildren": false,
"_level": 2,
"_createDate": "2019-06-17T13:46:42.767Z",
"_id": "c09ec77f-08e3-466a-ac58-c979befd3cd6",
"_updateDate": "2019-06-17T13:46:42.767Z",
"_links": null,
"mediaTypeAlias": "Image",
"name": "Ping Pong Ball",
"parentId": "6d5bf746-cb82-45c5-bd15-dd3798209b87",
"sortOrder": 0,
"umbracoFile": {
"src": "/media/c09ec77f08e3466aac58c979befd3cd6/00000006000000000000000000000000/5852022211_9028df67c0_b.jpg",
"focalPoint": null,
"crops": null
},
"umbracoWidth": 1024,
"umbracoHeight": 683,
"umbracoBytes": 205417,
"umbracoExtension": "jpg"
},
"features": []
}
]
}
}{
"contentTypeAlias": "",
"properties": [{
"alias": "title",
"value": "world",
"match": "CONTAINS"
}]
}{
"contentTypeAlias": "",
"properties": [{
"alias": "title",
"value": "page",
"match": "LIKE"
}]
}?hyperlinks={boolean=true}
?page={integer=1}
?pageSize={integer=10}Api-Version: 2.1
Umb-Project-Alias: {project-alias}{
"contentTypeAlias": "product",
"properties": [{
"alias": "productName",
"value": "Jacket",
"match": "CONTAINS"
},
{
"alias": "description",
"value": "Vivamus",
"match": "CONTAINS"
}]
}{
"_totalItems": 1,
"_totalPages": 1,
"_page": 1,
"_pageSize": 10,
"_links": {
"self": {
"href": "https://cdn.umbraco.io/content/filter?page=1&pageSize=10"
},
"page": {
"href": "https://cdn.umbraco.io/content/filter{?page,pageSize}",
"templated": true
},
"root": {
"href": "https://cdn.umbraco.io/content{?contentType}"
},
"content": {
"href": "https://cdn.umbraco.io/content/262beb70-53a6-49b8-9e98-cfde2e85a78e"
}
},
"_embedded": {
"content": [
{
"_creatorName": "Rasmus",
"_url": "/products/biker-jacket/",
"_urls": {
"en-us": "/products/biker-jacket/"
},
"_writerName": "Rasmus",
"_hasChildren": false,
"_level": 2,
"_createDate": "2019-06-17T13:46:24.497Z",
"_id": "262beb70-53a6-49b8-9e98-cfde2e85a78e",
"_updateDate": "2019-09-16T11:25:44.433Z",
"_links": {
"self": {
"href": "https://cdn.umbraco.io/content/262beb70-53a6-49b8-9e98-cfde2e85a78e"
},
"photos": {
"href": "https://cdn.umbraco.io/media/55514845-b8bd-487c-b370-9724852fd6bb",
"title": "Biker Jacket"
},
"root": {
"href": "https://cdn.umbraco.io/content"
},
"children": {
"href": "https://cdn.umbraco.io/content/262beb70-53a6-49b8-9e98-cfde2e85a78e/children"
},
"ancestors": {
"href": "https://cdn.umbraco.io/content/262beb70-53a6-49b8-9e98-cfde2e85a78e/ancestors"
},
"descendants": {
"href": "https://cdn.umbraco.io/content/262beb70-53a6-49b8-9e98-cfde2e85a78e/descendants"
},
"parent": {
"href": "https://cdn.umbraco.io/content/ec4aafcc-0c25-4f25-a8fe-705bfae1d324"
}
},
"contentTypeAlias": "product",
"name": "Biker Jacket",
"parentId": "ec4aafcc-0c25-4f25-a8fe-705bfae1d324",
"sortOrder": 7,
"productName": "Biker Jacket",
"price": 199.0,
"description": "Donec rutrum congue leo eget malesuada. Vivamus suscipit tortor eget felis porttitor volutpat.",
"sku": "UMB-BIKER-JACKET",
"photos": {
"_creatorName": "Rasmus",
"_url": "https://media.umbraco.io/my-headless-site/media/55514845b8bd487cb3709724852fd6bb/00000006000000000000000000000000/4730684907_8a7f8759cb_b.jpg",
"_writerName": "Rasmus",
"_hasChildren": false,
"_level": 2,
"_createDate": "2019-06-17T13:46:42.377Z",
"_id": "55514845-b8bd-487c-b370-9724852fd6bb",
"_updateDate": "2019-06-17T13:46:42.377Z",
"_links": null,
"mediaTypeAlias": "Image",
"name": "Biker Jacket",
"parentId": "6d5bf746-cb82-45c5-bd15-dd3798209b87",
"sortOrder": 0,
"umbracoFile": {
"src": "/media/55514845b8bd487cb3709724852fd6bb/00000006000000000000000000000000/4730684907_8a7f8759cb_b.jpg",
"focalPoint": null,
"crops": null
},
"umbracoWidth": 680,
"umbracoHeight": 1024,
"umbracoBytes": 224349,
"umbracoExtension": "jpg"
},
"features": [
{
"contentTypeAlias": "feature",
"featureName": "Free shipping",
"featureDetails": "Isn't that awesome - you only pay for the product"
},
{
"contentTypeAlias": "feature",
"featureName": "1 Day return policy",
"featureDetails": "You'll need to make up your mind fast"
},
{
"contentTypeAlias": "feature",
"featureName": "100 Years warranty",
"featureDetails": "But if you're satisfied it'll last a lifetime"
}
]
}
]
}
}?hyperlinks={boolean=true}
?page={integer=1}
?pageSize={integer=10}{
"_totalItems": 1,
"_totalPages": 1,
"_page": 1,
"_pageSize": 10,
"_links": {
"self": {
"href": "https://cdn.umbraco.io/content/search?term=jacket&page=1&pageSize=10"
},
"page": {
"href": "https://cdn.umbraco.io/content/search{?term,page,pageSize}",
"templated": true
},
"root": {
"href": "https://cdn.umbraco.io/content"
},
"content": {
"href": "https://cdn.umbraco.io/content/262beb70-53a6-49b8-9e98-cfde2e85a78e"
}
},
"_embedded": {
"content": [
{
"_creatorName": "Rasmus",
"_url": "/products/biker-jacket/",
"_urls": {
"en-us": "/products/biker-jacket/"
},
"_writerName": "Rasmus",
"_hasChildren": false,
"_level": 2,
"_createDate": "2019-06-17T13:46:24.497Z",
"_id": "262beb70-53a6-49b8-9e98-cfde2e85a78e",
"_updateDate": "2019-09-16T11:25:44.433Z",
"_links": {
"self": {
"href": "https://cdn.umbraco.io/content/262beb70-53a6-49b8-9e98-cfde2e85a78e"
},
"photos": {
"href": "https://cdn.umbraco.io/media/55514845-b8bd-487c-b370-9724852fd6bb",
"title": "Biker Jacket"
},
"root": {
"href": "https://cdn.umbraco.io/content"
},
"children": {
"href": "https://cdn.umbraco.io/content/262beb70-53a6-49b8-9e98-cfde2e85a78e/children"
},
"ancestors": {
"href": "https://cdn.umbraco.io/content/262beb70-53a6-49b8-9e98-cfde2e85a78e/ancestors"
},
"descendants": {
"href": "https://cdn.umbraco.io/content/262beb70-53a6-49b8-9e98-cfde2e85a78e/descendants"
},
"parent": {
"href": "https://cdn.umbraco.io/content/ec4aafcc-0c25-4f25-a8fe-705bfae1d324"
}
},
"contentTypeAlias": "product",
"name": "Biker Jacket",
"parentId": "ec4aafcc-0c25-4f25-a8fe-705bfae1d324",
"sortOrder": 7,
"productName": "Biker Jacket",
"price": 199.0,
"description": "Donec rutrum congue leo eget malesuada. Vivamus suscipit tortor eget felis porttitor volutpat.",
"sku": "UMB-BIKER-JACKET",
"photos": {
"_creatorName": "Rasmus",
"_url": "https://media.umbraco.io/my-headless-site/media/55514845b8bd487cb3709724852fd6bb/00000006000000000000000000000000/4730684907_8a7f8759cb_b.jpg",
"_writerName": "Rasmus",
"_hasChildren": false,
"_level": 2,
"_createDate": "2019-06-17T13:46:42.377Z",
"_id": "55514845-b8bd-487c-b370-9724852fd6bb",
"_updateDate": "2019-06-17T13:46:42.377Z",
"_links": null,
"mediaTypeAlias": "Image",
"name": "Biker Jacket",
"parentId": "6d5bf746-cb82-45c5-bd15-dd3798209b87",
"sortOrder": 0,
"umbracoFile": {
"src": "/media/55514845b8bd487cb3709724852fd6bb/00000006000000000000000000000000/4730684907_8a7f8759cb_b.jpg",
"focalPoint": null,
"crops": null
},
"umbracoWidth": 680,
"umbracoHeight": 1024,
"umbracoBytes": 224349,
"umbracoExtension": "jpg"
},
"features": [
{
"contentTypeAlias": "feature",
"featureName": "Free shipping",
"featureDetails": "Isn't that awesome - you only pay for the product"
},
{
"contentTypeAlias": "feature",
"featureName": "1 Day return policy",
"featureDetails": "You'll need to make up your mind fast"
},
{
"contentTypeAlias": "feature",
"featureName": "100 Years warranty",
"featureDetails": "But if you're satisfied it'll last a lifetime"
}
]
}
]
}
}Documentation for Umbraco Heartcore GraphQL schema generation
interface NavigationBase {
seoMetaDescription: String
umbracoNavihide: Boolean
}type Feature implements Element {
contentTypeAlias: String!
featureName: String
featureDescription: String
}type Product implements Content & NavigationBase {
ancestors(...): ContentConnection!
category: [String]
children(...): ContentConnection!
contentTypeAlias: String!
createDate: DateTime!
descendants(...): ContentConnection!
description: String
features: [Element]
id: ID!
level: Int!
name: String
parent: Content
photos: Media
price: Decimal
productName: String
sku: String
sortOrder: Int!
seoMetaDescription: String
umbracoNavihide: Boolean
updateDate: DateTime
url: String
}type ProductConnection {
edges: [ProductEdge]
pageInfo: PageInfo
}
type ProductEdge {
cursor: String!
node: Product
}type Product implements Content & NavigationBase {
...
productName(culture: String): String
...
}type Query {
"""
Get Content by its unique identifier or url. Either id or url must be specified but not both.
"""
content(
"""
The unique identifier of the content.
"""
id: ID,
"""
The url of the content.
"""
url: String,
"""
The culture to fetch the content in. If empty the default culture will be used.
"""
culture: String
"""
Specifies if draft content should be returned. Requires the request to be authenticated.
"""
preview: Boolean
): Content
"""
Get all Content.
"""
allContent(
"""
Specifies the number of edges to return starting from `after` or the first entry if `after` is not specified.
"""
first: Int,
"""
Only look at connected edges with cursors greater than the value of `after`.
"""
after: String,
"""
Specifies the number of edges to return counting reversely from `before`, or the last entry if `before` is not specified.
"""
last: Int,
"""
Only look at connected edges with cursors smaller than the value of `before`.
"""
before: String,
"""
The culture to fetch the value in. If empty the default culture will be used.
"""
culture: String,
"""
Specifies if draft content should be returned. Requires the request to be authenticated.
"""
preview: Boolean
"""
Filter the returned data.
"""
where: ContentFilterInput,
"""
Sort the returned data.
"""
orderBy: [ContentOrderByInput]
): ContentConnection!
}type Query {
...
allProduct(first: Int, after: String, last: Int, before: String, culture: String, preview: Boolean, where: ProductFilterInput, orderBy: [ProductOrderByInput]): ProductConnection!
product(culture: String, id: ID, url: String, preview: Boolean): Product
...
}type BlockGrid {
"""
Items in the grid.
"""
items: [BlockGridItem]!
"""
Number of columns in the grid.
"""
gridColumns: Int!
}{
contentPage {
blocks {
gridColumns
}
}
}{
"data": {
"contentPage": {
"blocks": {
"gridColumns": 12
}
}
}
}type BlockGridArea {
"""
Name of the area.
"""
alias: String!
"""
Items in the area.
"""
items: [BlockGridItem]!
"""
Number of rows spanned by the area.
"""
rowSpan: Int!
"""
Number of columns spanned by the area.
"""
columnSpan: Int!
}{
contentPage {
blocks {
items {
areas: {
alias
columnSpan
items {
title
}
}
}
}
}
}{
"data": {
"contentPage": {
"blocks": {
"items": [{
"areas": [{
"alias": "mainArea",
"columnSpan": 12,
"items": [{
"title": "Essential Heartcore Tips: Volume 4"
}]
}]
}]
}
}
}
}type BlockGridItem {
"""
The content.
"""
content: Element!
"""
The settings.
"""
settings: Element
"""
Number of rows spanned by the item.
"""
rowSpan: Int!
"""
Number of columns spanned by the item.
"""
columSpan: Int!
"""
Number of columns in child areas.
"""
areaGridColumns: Int!
"""
Number of columns in child areas.
"""
areas: [BlockGridArea]
}{
contentPage {
blocks {
items: {
content: {
title
}
settings: {
openLinkInNewTab
}
rowSpan
columnSpan
}
}
}
}{
"data": {
"contentPage": {
"blocks": {
"items": [{
"content": {
"title": "Essential Heartcore Tips: Volume 7"
},
"settings": {
"openLinkInNewTab": false
},
"rowSpan": 1,
"columnSpan": 4
}]
}
}
}
}type BlockListItem {
"""
The content.
"""
content: Element!
"""
The settings.
"""
settings: Element
}{
textPage {
elements {
content {
title
}
settings {
showLargeImage
}
}
}
}{
"data": {
"textPage": {
"elements": [{
"content": {
"title": "Why use Umbraco Heartcore?"
},
"settings" {
"showLargeImage": true
}
}]
}
}
}# Represents a range of decimals.
type DecimalRange {
"""
Maximum value of the range.
"""
maximum: Decimal!
"""
Minimum value of the range.
"""
minimum: Decimal!
}{
product {
durability {
minimum
maximum
}
}
}{
"data": {
"product": {
"durability": {
"minimum": 7,
"maximum": 10
}
}
}
}"""
A string containing HTML code.
"""
scalar HTML{
product {
description
}
}{
"data": {
"product": {
"description": "<p>A nice leather jacket.</p>"
}
}
}type ImageCropper {
"""
The predefined crops.
"""
crops: [ImageCropperCrop]!
"""
The image url with crop parameters.
"""
cropUrl(
"""
The crop alias.
"""
alias: String
"""
Change background color of the image.
"""
backgroundColor: String
"""
The width of the output image.
"""
width: Int
"""
The height of the output image.
"""
height: Int
"""
Quality percentage of the output image.
"""
quality: Int
"""
The image crop mode.
"""
cropMode: ImageCropMode
"""
The image crop anchor.
"""
cropAnchor: ImageCropAnchor
"""
Use a dimension as a ratio.
"""
ratioMode: ImageCropRatioMode
"""
The format of the output image.
"""
format: ImageCropFormat
"""
Use focal point to generate an output image using the focal point instead of the predefined crop if there is one.
"""
preferFocalPoint: Boolean = false
"""
If the image should be upscaled to requested dimensions.
"""
upscale: Boolean = false
): String
"""
The focal point position.
"""
focalPoint: ImageCropperFocalPoint!
"""
The focal point url template.
"""
focalPointUrlTemplate: String!
"""
The image url.
"""
url: String!
}{
product {
photo {
cropUrl(width: 1980, height: 430)
}
}
}{
"data": {
"product": {
"photo": {
"cropUrl": "https://media.umbraco.io/demo-headless/8d76d2e84a24637/new-color-umbraco-stickers-1.jpg?anchor=center&mode=crop&width=1980&height=430&upscale=false"
}
}
}
}enum ImageCropAnchor {
"""
Anchors the position of the image to the bottom of it's bounding container.
"""
BOTTOM
"""
Anchors the position of the image to the bottom left side of it's bounding container.
"""
BOTTOM_LEFT
"""
Anchors the position of the image to the bottom right side of it's bounding container.
"""
BOTTOM_RIGHT
"""
Anchors the position of the image to the center of it's bounding container.
"""
CENTER
"""
Anchors the position of the image to the left of it's bounding container.
"""
LEFT
"""
Anchors the position of the image to the right of it's bounding container.
"""
RIGHT
"""
Anchors the position of the image to the top of it's bounding container.
"""
TOP
"""
Anchors the position of the image to the top left side of it's bounding container.
"""
TOP_LEFT
"""
Anchors the position of the image to the top right side of it's bounding container.
"""
TOP_RIGHT
}{
product {
photo {
cropUrl(width:1980, height: 430, cropAnchor: TOP_LEFT)
}
}
}{
"data": {
"product": {
"photo": {
"cropUrl": "https://media.umbraco.io/demo-headless/8d76d2e84a24637/new-color-umbraco-stickers-1.jpg?anchor=topleft&mode=crop&width=1980&height=430&upscale=false"
}
}
}
}enum ImageCropFormat {
PNG
JPG
GIF
WEBP
}{
product {
photo {
cropUrl(width:1980, height: 430, format: WEBP)
}
}
}{
"data": {
"product": {
"photo": {
"cropUrl": "https://media.umbraco.io/demo-headless/8d76d2e84a24637/new-color-umbraco-stickers-1.jpg?anchor=center&mode=crop&width=1980&height=430&upscale=false&format=webp"
}
}
}
}enum ImageCropMode {
"""
When upscaling an image the image pixels themselves are not resized, rather the image is padded to fit the given dimensions.
"""
BOX_PAD
"""
Resizes the image to the given dimensions. If the set dimensions do not match the aspect ratio of the original image then the output is cropped to match the new aspect ratio.
"""
CROP
"""
Resizes the image to the given dimensions. If the set dimensions do not match the aspect ratio of the original image then the output is resized to the maximum possible value in each direction while maintaining the original aspect ratio.
"""
MAX
"""
Resizes the image until the shortest side reaches the set given dimension. This will maintain the aspect ratio of the original image. Upscaling is disabled in this mode and the original image will be returned if attempted.
"""
MIN
"""
Passing a single dimension will automatically preserve the aspect ratio of the original image. If the requested aspect ratio is different then the image will be padded to fit.
"""
PAD
"""
Resizes the image to the given dimensions. If the set dimensions do not match the aspect ratio of the original image then the output is stretched to match the new aspect ratio.
"""
STRETCH
}{
product {
photo {
cropUrl(width:1980, height: 430, cropMode: PAD)
}
}
}{
"data": {
"product": {
"photo": {
"cropUrl": "https://media.umbraco.io/demo-headless/8d76d2e84a24637/new-color-umbraco-stickers-1.jpg?anchor=center&mode=pad&width=1980&height=430&upscale=false"
}
}
}
}enum ImageCropRatioMode {
"""
Calculate the image ratio based on the height.
"""
HEIGHT
"""
Calculate the image ratio based on the width.
"""
WIDTH
}{
product {
photo {
cropUrl(width:1980, height: 430, ratioMode: WIDTH)
}
}
}{
"data": {
"product": {
"photo": {
"cropUrl": "https://media.umbraco.io/demo-headless/8d76d2e84a24637/new-color-umbraco-stickers-1.jpg?anchor=center&mode=crop&height=430&widthratio=4.6046511627906976744186046512&upscale=false"
}
}
}
}type ImageCropperCrop {
"""
The crop alias.
"""
alias: String!
"""
The crop coordinates.
"""
coordinates: ImageCropperCropCoordinates
"""
The crop height.
"""
height: Int!
"""
The crop width.
"""
width: Int!
}{
product {
photo {
crops {
alias
height
width
}
}
}
}{
"data": {
"product": {
"photo": {
"crops": {
"alias": "Hero",
"height": 600,
"width": 1580
}
}
}
}
}type ImageCropperCropCoordinates {
x1: Decimal!
x2: Decimal!
y1: Decimal!
y2: Decimal!
}{
product {
photo {
crops {
coordinates {
x1
x2
y1
y2
}
}
}
}
}{
"data": {
"product": {
"photo": {
"crops": {
"coordinates": {
"x1": 0.08901424149934925,
"x2": 0.055992598445931165,
"y1": 0.3183501211863771,
"y2": 0.4660414375419126
}
}
}
}
}
}type ImageCropperFocalPoint {
"""
The left position.
"""
left: Decimal!
"""
The top position.
"""
top: Decimal!
}{
product {
photo {
focalPoint {
left
top
}
}
}
}{
"data": {
"product": {
"photo": {
"focalPoint": {
"left": 0.5,
"top": 0.5
}
}
}
}
}"""
The `JSON` scalar type represents JSON values as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf).
"""
scalar JSON{
product {
data
}
}{
"data": {
"product": {
"data": {
"size": "100x100x100 mm",
"weight": "300 g"
}
}
}
}type Link {
"""
The name of the Link.
"""
name: String!
"""
The link target.
"""
target: String
"""
The link type.
"""
type: LintType!
"""
The link udi if type is CONTENT or MEDIA.
"""
udi: String
"""
The url.
"""
url: String!
}{
product {
link {
name
target
type
udi
url
}
}
}{
"data": {
"product": {
"link": {
"name": "Umbraco",
"target": "_blank",
"type": "EXTERNAL",
"udi": null,
"url": "https://umbraco.com/"
}
}
}
}enum LintType {
"""
The link is a Content link.
"""
CONTENT
"""
The link is an external link.
"""
EXTERNAL
"""
The link is a media link.
"""
MEDIA
}{
product {
link {
type
}
}
}{
"data": {
"product": {
"link": {
"type": "CONTENT"
}
}
}
}type MediaWithCrops {
"""
The predefined crops.
"""
crops: [ImageCropperCrop]!
"""
The image url with crop parameters.
"""
cropUrl(
"""
The crop alias.
"""
alias: String
"""
Change background color of the image.
"""
backgroundColor: String
"""
The width of the output image.
"""
width: Int
"""
The height of the output image.
"""
height: Int
"""
Quality percentage of the output image.
"""
quality: Int
"""
The image crop mode.
"""
cropMode: ImageCropMode
"""
The image crop anchor.
"""
cropAnchor: ImageCropAnchor
"""
Use a dimension as a ratio.
"""
ratioMode: ImageCropRatioMode
"""
The format of the output image.
"""
format: ImageCropFormat
"""
Use focal point to generate an output image using the focal point instead of the predefined crop if there is one.
"""
preferFocalPoint: Boolean = false
"""
If the image should be upscaled to requested dimensions.
"""
upscale: Boolean = false
): String
"""
The focal point position.
"""
focalPoint: ImageCropperFocalPoint!
"""
The focal point url template.
"""
focalPointUrlTemplate: String!
"""
The media
"""
media: Media!
"""
The image url.
"""
url: String!
}{
product {
photo {
cropUrl(width: 1980, height: 430)
}
}
}{
"data": {
"product": {
"photo": {
"cropUrl": "https://media.umbraco.io/demo-headless/8d76d2e84a24637/new-color-umbraco-stickers-1.jpg?anchor=center&mode=crop&width=1980&height=430&upscale=false"
}
}
}
}type OurUmbracoGMaps {
address: OurUmbracoGMapsAddress
mapconfig: OurUmbracoGMapsMapConfig
}{
frontpage {
location {
address {
coordinates {
lat
lng
}
}
mapconfig {
zoom
}
}
}
}{
"data": {
"frontpage": {
"location": {
"address": {
"lat": 55.4063759,
"lng": 10.3887197
},
"mapconfig": {
"zoom": 19
}
}
}
}
}type OurUmbracoGMapsAddress {
coordinates: OurUmbracoGMapsCoordinate
}{
frontpage {
location {
address {
coordinates {
lat
lng
}
}
}
}
}{
"data": {
"frontpage": {
"location": {
"address": {
"lat": 55.4063759,
"lng": 10.3887197
}
}
}
}
}type OurUmbracoGMapsMapConfig {
apikey: String
zoom: Int
centerCoordinates: OurUmbracoGMapsCoordinate
maptype: OurUmbracoGMapsMapType
mapstyle: JSON
}{
frontpage {
location {
mapconfig {
apikey
zoom
centerCoordinates {
lat
lng
}
maptype
}
}
}
}{
"data": {
"frontpage": {
"location": {
"mapconfig": {
"apikey": "my-api-key",
"zoom": 19,
"centerCoordinates": {
"lat": 55.4063759,
"lng": 10.3887197
},
"maptype": "satellite"
}
}
}
}
}type OurUmbracoGMapsCoordinate {
coordinates: String
lat: Decimal
lng: Decimal
isEmpty: Boolean
}{
frontpage {
location {
address {
coordinates {
coordinates
lat
lng
isEmpty
}
}
}
}
}{
"data": {
"frontpage": {
"location": {
"address": {
"coordinates": "55.4063759,10.3887197",
"lat": 55.4063759,
"lng": 10.3887197,
"isEmpty": false
}
}
}
}
}enum OurUmbracoGMapsMapType {
roadmap
satellite
hybrid
terrain
styled_map
}"""
Information about pagination in a connection.
"""
type PageInfo {
"""
When paginating forwards, the cursor to continue.
"""
endCursor: String
"""
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
}{
allProduct(first: 2) {
pageInfo {
endCursor
hasNextPage
hasPreviousPage
startCursor
}
}
}{
"data": {
"allProduct": {
"pageInfo": {
"endCursor": "eyJ0cmVlUGF0aCI6WzYsMV19",
"hasNextPage": true,
"hasPreviousPage": false,
"startCursor": "eyJ0cmVlUGF0aCI6WzYsMF19"
}}
}
}
}type PickedColor {
"""
The color.
"""
color: String!
"""
The label.
"""
label: String!
}{
product {
color
}
}{
"data": {
"product": {
"color": {
"color": "ff0000",
"label": "Red"
}
}
}
}interface Element {
"""
The Content Type alias.
"""
contentTypeAlias: String!
}{
product {
features {
contentTypeAlias
}
}
}{
"data": {
"product": {
"features": {
"contentTypeAlias": "feature"
}
}
}
}interface Content {
"""
The ancestors.
"""
ancestors(
"""
Specifies the number of edges to return starting from `after` or the first entry if `after` is not specified.
"""
first: Int,
"""
Only look at connected edges with cursors greater than the value of `after`.
"""
after: String,
"""
Specifies the number of edges to return counting reversely from `before`, or the last entry if `before` is not specified.
"""
last: Int,
"""
Only look at connected edges with cursors smaller than the value of `before`.
"""
before: String
"""
The culture to fetch the value in. If empty the contents culture will be used.
"""
culture: String
"""
Filter the returned data.
"""
where: ContentFilterInput,
"""
Sort the returned data.
"""
orderBy: [ContentOrderByInput],
): ContentConnection!
"""
The children.
"""
children(
"""
Specifies the number of edges to return starting from `after` or the first entry if `after` is not specified.
"""
first: Int,
"""
Only look at connected edges with cursors greater than the value of `after`.
"""
after: String,
"""
Specifies the number of edges to return counting reversely from `before`, or the last entry if `before` is not specified.
"""
last: Int,
"""
Only look at connected edges with cursors smaller than the value of `before`.
"""
before: String
"""
The culture to fetch the value in. If empty the contents culture will be used.
"""
culture: String
"""
Filter the returned data.
"""
where: ContentFilterInput,
"""
Sort the returned data.
"""
orderBy: [ContentOrderByInput],
): ContentConnection!
"""
The Content Type alias.
"""
contentTypeAlias: String!
"""
The create date.
"""
createDate: DateTime!
"""
The descendants.
"""
descendants(
"""
Specifies the number of edges to return starting from `after` or the first entry if `after` is not specified.
"""
first: Int,
"""
Only look at connected edges with cursors greater than the value of `after`.
"""
after: String,
"""
Specifies the number of edges to return counting reversely from `before`, or the last entry if `before` is not specified.
"""
last: Int,
"""
Only look at connected edges with cursors smaller than the value of `before`.
"""
before: String
"""
The culture to fetch the value in. If empty the contents culture will be used.
"""
culture: String
"""
Filter the returned data.
"""
where: ContentFilterInput,
"""
Sort the returned data.
"""
orderBy: [ContentOrderByInput],
): ContentConnection!
"""
The unique identifier.
"""
id: ID!
"""
The level.
"""
level: Int!
"""
The name.
"""
name(
"""
The culture to fetch the value in. If empty the contents culture will be used.
"""
culture: String
): String
"""
The parent Content, can be null if content is at root.
"""
parent(
"""
The culture to fetch the value in. If empty the contents culture will be used.
"""
culture: String
): Content
"""
The sort order.
"""
sortOrder: Int!
"""
The update date.
"""
updateDate(
"""
The culture to fetch the value in. If empty the contents culture will be used.
"""
culture: String
): DateTime
"""
The url.
"""
url(
"""
The culture to fetch the value in. If empty the contents culture will be used.
"""
culture: String
): String
}"""
A connection from an object to a list of objects of type `Content`.
"""
type ContentConnection {
"""
A list of all of the objects returned in the connection.
This is a convenience field provided for quickly exploring the API;
rather than querying for \"{ edges { node } }\" when no edge data is needed, this field can be used instead.
Note that when clients like Relay need to fetch the \"cursor\" field on the edge to enable efficient pagination,
this shortcut cannot be used, "and the full \"{ edges { node } } \" version should be used instead.
"""
items: [Content]!
"""
A list of edges.
"""
edges: [ContentEdge]!
"""
Information to aid in pagination.
"""
pageInfo: PageInfo!
}"""
An edge in a connection from an object to another object of type `Content`
"""
type ContentEdge {
"""
A cursor for use in pagination.
"""
cursor: String!
"""
The item at the end of the edge.
"""
node: Content
}interface Media {
"""
The ancestors.
"""
ancestors(
"""
Specifies the number of edges to return starting from `after` or the first entry if `after` is not specified.
"""
first: Int,
"""
Only look at connected edges with cursors greater than the value of `after`.
"""
after: String,
"""
Specifies the number of edges to return counting reversely from `before`, or the last entry if `before` is not specified.
"""
last: Int,
"""
Only look at connected edges with cursors smaller than the value of `before`.
"""
before: String
): MediaConnection!
"""
The children.
"""
children(
"""
Specifies the number of edges to return starting from `after` or the first entry if `after` is not specified.
"""
first: Int,
"""
Only look at connected edges with cursors greater than the value of `after`.
"""
after: String,
"""
Specifies the number of edges to return counting reversely from `before`, or the last entry if `before` is not specified.
"""
last: Int,
"""
Only look at connected edges with cursors smaller than the value of `before`.
"""
before: String
): MediaConnection!
"""
The create date.
"""
createDate: DateTime!
"""
The descendants.
"""
descendants(
"""
Specifies the number of edges to return starting from `after` or the first entry if `after` is not specified.
"""
first: Int,
"""
Only look at connected edges with cursors greater than the value of `after`.
"""
after: String,
"""
Specifies the number of edges to return counting reversely from `before`, or the last entry if `before` is not specified.
"""
last: Int,
"""
Only look at connected edges with cursors smaller than the value of `before`.
"""
before: String
): MediaConnection!
"""
The unique identifier.
"""
id: ID!
"""
The level.
"""
level: Int!
"""
The Media Type alias
"""
mediaTypeAlias: String!
"""
The name.
"""
name: String!
"""
The parent Content, can be null if content is at root.
"""
parent: Media
"""
The sort order.
"""
sortOrder: Int!
"""
The update date.
"""
updateDate: DateTime
"""
The url.
"""
url(
"""
Change the background color of the image.
"""
backgroundColor: String,
"""
The width of the output image.
"""
width: Int,
"""
The height of the output image.
"""
height: Int,
"""
Quality percentage of the output image.
"""
quality: Int,
"""
The image crop mode.
"""
cropMode: ImageCropMode,
"""
The image crop anchor.
"""
cropAnchor: ImageCropAnchor,
"""
Use a dimension as a ratio.
"""
ratioMode: ImageCropRatioMode,
"""
If the image should be upscaled to requested dimensions.
"""
upscale: Boolean = false,
"""
Change the format of the output image.
"""
format: ImageCropFormat
): String
}"""
A connection from an object to a list of objects of type `Media`.
"""
type MediaConnection {
"""
A list of all of the objects returned in the connection.
This is a convenience field provided for quickly exploring the API;
rather than querying for \"{ edges { node } }\" when no edge data is needed, this field can be used instead.
Note that when clients like Relay need to fetch the \"cursor\" field on the edge to enable efficient pagination,
this shortcut cannot be used, "and the full \"{ edges { node } } \" version should be used instead.
"""
items: [Media]!
"""
A list of edges.
"""
edges: [MediaEdge]!
"""
Information to aid in pagination.
"""
pageInfo: PageInfo!
}"""
An edge in a connection from an object to another object of type `Media`
"""
type MediaEdge {
"""
A cursor for use in pagination.
"""
cursor: String!
"""
The item at the end of the edge.
"""
node: Media
}"""
A filter input for the type `Content`.
"""
input ContentFilterInput {
"""
All of the filters must match.
"""
AND: [ContentFilterInput]
"""
Some of the filters must match.
"""
OR: [ContentFilterInput]
"""
None of the filters must match.
"""
NOT: [ContentFilterInput]
"""
Field must equal value.
"""
contentTypeAlias: String
"""
Field must match any of the values.
"""
contentTypeAlias_any: [String]
"""
Field must start with the value.
"""
contentTypeAlias_starts_with: String
"""
Field must end with the value.
"""
contentTypeAlias_ends_with: String
"""
Field must contain the value.
"""
contentTypeAlias_contains: String
"""
Field must equal value.
"""
createDate: DateTime
"""
Field must be greater than the value.
"""
createDate_gt: DateTime
"""
Field must be greater than or equal the value.
"""
createDate_gte: DateTime
"""
Field must be less than the value.
"""
createDate_lt: DateTime
"""
Field must be less than or equal the value.
"""
createDate_lte: DateTime
"""
Field must equal value.
"""
id: ID
"""
Field must match any of the values.
"""
id_any: [ID]
"""
Field must equal value.
"""
level: Int
"""
Field must be greater than the value.
"""
level_gt: Int
"""
Field must be greater than or equal the value.
"""
level_gte: Int
"""
Field must be less than the value.
"""
level_lt: Int
"""
Field must be less than or equal the value.
"""
level_lte: Int
"""
Field must match any of the values.
"""
level_any: [Int]
"""
Field must equal value.
"""
name: String
"""
Field must match any of the values.
"""
name_any: [String]
"""
Field must start with the value.
"""
name_starts_with: String
"""
Field must end with the value.
"""
name_ends_with: String
"""
Field must contain the value.
"""
name_contains: String
"""
Field must equal value.
"""
sortOrder: Int
"""
Field must be greater than the value.
"""
sortOrder_gt: Int
"""
Field must be greater than or equal the value.
"""
sortOrder_gte: Int
"""
Field must be less than the value.
"""
sortOrder_lt: Int
"""
Field must be less than or equal the value.
"""
sortOrder_lte: Int
"""
Field must match any of the values.
"""
sortOrder_any: [Int]
"""
Field must equal value.
"""
updateDate: DateTime
"""
Field must be greater than the value.
"""
updateDate_gt: DateTime
"""
Field must be greater than or equal the value.
"""
updateDate_gte: DateTime
"""
Field must be less than the value.
"""
updateDate_lt: DateTime
"""
Field must be less than or equal the value.
"""
updateDate_lte: DateTime
}Product implements Content {
...
sku: String
...
}"""
A filter input for the type `Product`.
"""
input ProductFilterInput {
"""
All of the filters must match.
"""
AND: [ProductFilterInput]
"""
Some of the filters must match.
"""
OR: [ProductFilterInput]
"""
None of the filters must match.
"""
NOT: [ProductFilterInput]
...
"""
Field must equal value.
"""
sku: String
"""
Field must match any of the values.
"""
sku_any: [String]
"""
Field must start with the value.
"""
sku_starts_with: String
"""
Field must end with the value.
"""
sku_ends_with: String
"""
Field must contain the value.
"""
sku_contains: String
...
}Product implements Content {
...
price: Decimal
...
}"""
A filter input for the type `Product`.
"""
input ProductFilterInput {
"""
All of the filters must match.
"""
AND: [ProductFilterInput]
"""
Some of the filters must match.
"""
OR: [ProductFilterInput]
"""
None of the filters must match.
"""
NOT: [ProductFilterInput]
...
"""
Field must equal value.
"""
price: Decimal
"""
Field must be greater than the value.
"""
price_gt: Decimal
"""
Field must be greater than or equal to the value.
"""
price_gte: Decimal
"""
Field must be less than the value.
"""
price_lt: Decimal
"""
Field must be less than or equal to the value.
"""
price_lte: Decimal
"""
Field must match any of the values.
"""
price_any: [Decimal]
...
}Product implements Content {
...
purchase: Boolean
...
}"""
A filter input for the type `Product`.
"""
input ProductFilterInput {
"""
All of the filters must match.
"""
AND: [ProductFilterInput]
"""
Some of the filters must match.
"""
OR: [ProductFilterInput]
"""
None of the filters must match.
"""
NOT: [ProductFilterInput]
....
# Field must equal value.
purchase: Boolean
...
}Product implements Content {
availableDate: DateTime
...
}"""
A filter input for the type `Product`.
"""
input ProductFilterInput {
"""
All of the filters must match.
"""
AND: [ProductFilterInput]
"""
Some of the filters must match.
"""
OR: [ProductFilterInput]
"""
None of the filters must match.
"""
NOT: [ProductFilterInput]
...
"""
Field must equal value.
"""
availableDate: DateTime
"""
Field must be greater than the value.
"""
availableDate_gt: DateTime
"""
Field must be greater than or equal to the value.
"""
availableDate_gte: DateTime
"""
Field must be less than the value.
"""
availableDate_lt: DateTime
"""
Field must be less than or equal to the value.
"""
availableDate_lte: DateTime
...
}"""
A filter input for the type `Media`.
"""
input MediaFilterInput {
"""
All of the filters must match.
"""
AND: [MediaFilterInput]
"""
Some of the filters must match.
"""
OR: [MediaFilterInput]
"""
None of the filters must match.
"""
NOT: [MediaFilterInput]
"""
Field must equal value.
"""
mediaTypeAlias: String
"""
Field must match any of the values.
"""
mediaTypeAlias_any: [String]
"""
Field must start with the value.
"""
mediaTypeAlias_starts_with: String
"""
Field must end with the value.
"""
mediaTypeAlias_ends_with: String
"""
Field must contain the value.
"""
mediaTypeAlias_contains: String
"""
Field must equal value.
"""
createDate: DateTime
"""
Field must be greater than the value.
"""
createDate_gt: DateTime
"""
Field must be greater than or equal the value.
"""
createDate_gte: DateTime
"""
Field must be less than the value.
"""
createDate_lt: DateTime
"""
Field must be less than or equal the value.
"""
createDate_lte: DateTime
"""
Field must equal value.
"""
id: ID
"""
Field must match any of the values.
"""
id_any: [ID]
"""
Field must equal value.
"""
level: Int
"""
Field must be greater than the value.
"""
level_gt: Int
"""
Field must be greater than or equal the value.
"""
level_gte: Int
"""
Field must be less than the value.
"""
level_lt: Int
"""
Field must be less than or equal the value.
"""
level_lte: Int
"""
Field must match any of the values.
"""
level_any: [Int]
"""
Field must equal value.
"""
name: String
"""
Field must match any of the values.
"""
name_any: [String]
"""
Field must start with the value.
"""
name_starts_with: String
"""
Field must end with the value.
"""
name_ends_with: String
"""
Field must contain the value.
"""
name_contains: String
"""
Field must equal value.
"""
sortOrder: Int
"""
Field must be greater than the value.
"""
sortOrder_gt: Int
"""
Field must be greater than or equal the value.
"""
sortOrder_gte: Int
"""
Field must be less than the value.
"""
sortOrder_lt: Int
"""
Field must be less than or equal the value.
"""
sortOrder_lte: Int
"""
Field must match any of the values.
"""
sortOrder_any: [Int]
"""
Field must equal value.
"""
updateDate: DateTime
"""
Field must be greater than the value.
"""
updateDate_gt: DateTime
"""
Field must be greater than or equal the value.
"""
updateDate_gte: DateTime
"""
Field must be less than the value.
"""
updateDate_lt: DateTime
"""
Field must be less than or equal the value.
"""
updateDate_lte: DateTime
}Product implements Content {
...
tags: [String]
...
}# A filter input for the type `Product`.
input ProductFilterInput {
"""
All of the filters must match.
"""
AND: [ProductFilterInput]
"""
Some of the filters must match.
"""
OR: [ProductFilterInput]
"""
None of the filters must match.
"""
NOT: [ProductFilterInput]
...
"""
Field must match all of the values.
"""
tags_all: [String]
"""
Field must match any of the values.
"""
tags_some: [String]
...
}``"""
An order input for the type `Content`.
"""
enum ContentOrderByInput {
"""
Order by `contentTypeAlias` in ascending order.
"""
contentTypeAlias_ASC
"""
Order by `contentTypeAlias` in descending order.
"""
contentTypeAlias_DESC
"""
Order by `createDate` in ascending order.
"""
createDate_ASC
"""
Order by `createDate` in descending order.
"""
createDate_DESC
"""
Order by `level` in ascending order.
"""
level_ASC
"""
Order by `level` in descending order.
"""
level_DESC
"""
Order by `name` in ascending order.
"""
name_ASC
"""
Order by `name` in descending order.
"""
name_DESC
"""
Order by `path` in ascending order.
"""
path_ASC
"""
Order by `path` in descending order.
"""
path_DESC
"""
Order by `sortOrder` in ascending order.
"""
sortOrder_ASC
"""
Order by `sortOrder` in descending order.
"""
sortOrder_DESC
"""
Order by `updateDate` in ascending order.
"""
updateDate_ASC
"""
Order by `updateDate` in descending order.
"""
updateDate_DESC
}`
### Custom OrderBy Fields
Given the following type:
```graphql
Product implements Content {
...
price: Decimal
sku: String
...
}"""
An order by input for the type `Product`.
"""
enum ProductOrderByInput {
...
"""
Order by `price` in ascending order.
"""
price_ASC
"""
Order by `price` in descending order.
"""
price_DESC
"""
Order by `sku` in ascending order.
"""
sku_ASC
# Order by `sku` in descending order.
sku_DESC
...
}