Content
BASE URL: https://api.umbraco.io
Table of Contents
Common Headers
Api-Version: 2
Umb-Project-Alias: {project-alias}
Authentication
Authentication is required for this API. This means that you must supply a Bearer Token via an Authorization header. Alternatively, you can supply an API Key via an Authorization or Api-Key header.
Permissions
In addition to the specific permissions listed under each endpoint, all requests requires:
Access to the Content Section of the Umbraco Backoffice and
That the content being accessed is beneath the users start node configured in Umbraco
Errors
If an error occours you will receive a HTTP status code along with an API error code and an error message in the response body.
Status Code | Error Code | Message |
---|---|---|
400 | BadRequest | Body cannot be empty. |
401 | Unauthorized | Authorization has been denied for this request. |
403 | Forbidden | You are not authorized to access the given resource. |
404 | NotFound | Content with id '{id}' could not be found. |
422 | ValidationFailed | Validation error occured when trying to save or update the content item. |
500 | InternalServerError | Internal server error. |
JSON example:
{
"error": {
"code": "Forbidden",
"message": "Authorization has been denied for this request."
}
}
Get root content
Get all content at the root of the tree, which the authorized user has access to according to the 'Start node'-permissions.
URL: /content
Method: GET
Permissions required : Browse Node
Success Response
Code: 200
Content Example:
{
"_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": ""
}
}
]
}
}
Get by id
Get specific content item by GUID ID. Includes all language variations.
URL: /content/{id}
Method: GET
Permissions required : Browse Node
Success Response
Code: 200
Content Example:
{
"_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
}
}
Get children
Get a list of children (content items) by parent GUID ID. Includes all language variations per content item.
URL: /content/{id}/children
Method: GET
Query Strings
?page={integer=1}
?pageSize={integer=10}
Permissions required : Browse Node
Success Response
Code: 200
Content Example:
{
"_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>"
}
}
]
}
}
Create content
Create a new content item with one or more language variations.
All newly created content will be DRAFT
by default. If you want to publish it you will need to issue a publish request as well.
URL: /content
Method: POST
Permissions required : Create
Request
In this example only one language exists, so the properties are marked with $invariant
in the create request. If multiple languages exists the culture for each of the languages would be defined for each of the properties - example: "name": { "en-US": "Another one", "da-DK": "Endnu en" }
.
If a property uses a multinode treepicker editor, the value should be a comma-separated list of Umbraco UDI Identifiers. In the example below, the UDI Identifiers are referencing content items. To learn more see the UDI Identifiers documentation.
{
"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>"
}
}
Success Response
Code: 201
Content Example:
{
"_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>"
}
}
Create content with files
Create a new content item with one or more language variations and files.
When content contains an upload field it is possible to send a file along with the request to create new content. This is done by sending a multi-part request with the JSON body and the file.
If the content item doesn't include files then you can send a standard reqeust with a JSON payload to create a new content item.
All newly created content will be DRAFT
by default. If you want to publish it you will need to issue a publish request as well.
URL: /content
Method: POST
Header: Content-Type: multipart/form-data; boundary=MultipartBoundry
Permissions required : Create
Request
The request must contain a field named content
that contains the content JSON.
For the files being uploaded the field names must be in the format propertyName.culture
. An example could be when the content has an upload property with the name fileUpload
and the file is being uploaded to the en-US
lanugage. In that case the field name should be fileUpload.en-US
.
The property must also be includud in the content JSON and the value shoud be the filename.
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--
Success Response
Code: 201
Content Example:
{
"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"
}
}
Update content
Updates an existing content item that has one or more language variations.
When content contains an upload field it is possible to send a file along with the request to update content. This is done by sending a multi-part request with the json body and the file, see Create content with files for an example. If the content item doesn't include files then you can send a standard reqeust with a JSON payload to update the content item.
URL: /content/{id}
Method: PUT
Permissions required : Update
Request
In this example only one language exists, so the properties are marked with $invariant
. If multiple languages existed the culture for each of the languages would be defined for each of the properties. Ie.: "name": { "en-US": "Another one", "da-DK": "Endnu en" }
.
If a property uses a multinode treepicker editor, the value should be a comma-separated list of Umbraco UDI Identifiers. In the example below, the UDI Identifiers are referencing content items. To learn more see the UDI Identifiers documentation.
{
"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>"
}
}
Success Response
Code: 200
Content Example:
{
"_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>"
}
}
Publish content
Publish specific content item with all language variations or for a specific language.
URL: /content/{id}/publish
Method: PUT
Query Strings
?culture={string=en-US}
Permissions required : Publish
Success Response
Code: 200
Content Example:
{
"_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>"
}
}
Unpublish content
Unpublish specific content item with all language variations or for a specific language.
URL: /content/{id}/unpublish
Method: PUT
Query Strings
?culture={string=en-US}
Permissions required : Unpublish
Success Response
Code: 200
Content Example:
{
"_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>"
}
}
Delete content
Delete a specific content item with all its language variations.
URL: /content/{id}
Method: DELETE
Permissions required : Delete
Success Response
Code: 200
Content Example:
DELETE https://api.umbraco.io/content/041067a0-74f5-4d03-92af-40c3c0aa13e7
{
"_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>"
}
}
Last updated