Umbraco Heartcore
CMSCloudDXP
  • What is Umbraco Heartcore?
    • Compare with Umbraco CMS
  • Versions and updates
  • Getting Started
    • API Browser
    • Backoffice Users and API Keys
    • Building a project from scratch
    • Environments
    • GraphQL Playground
    • Preview
    • The Umbraco Cloud Portal
    • Tour of the Backoffice
    • Using the Forms API
    • Webhooks
    • Deployment workflow
      • Content and media transfer / restore
      • Structure deployments
  • API Documentation
    • API Documentation
      • Rate Limits
    • Content Delivery
      • Content
      • Media
      • Redirect API
    • Content Management
      • Umbraco Forms
      • Languages
      • Content
        • Content Types
      • Media
        • Media Types
      • Members
        • Member Groups
        • Member Types
      • Relations
        • Relation Types
    • GraphQL API
      • Filtering and Ordering
      • Property Editors
      • Schema Generation
      • Persisted Queries
  • Backoffice
    • Custom Grid Editors
  • Client Libraries
    • Client Libraries
    • .NET Core Console Application
    • Node.js Client library
    • .NET Client library
      • MVC Sample
      • Content Management Sample
  • Tutorials
    • Custom Grid Editors
    • Querying with GraphQL
    • Creating content with media
  • Release Notes
    • February 2024
    • April 2024
    • August 2024
    • September 2024
    • April 2025
Powered by GitBook
On this page
  • Table of Contents
  • Common Headers
  • Authentication
  • Permissions
  • Errors
  • Get root content
  • Success Response
  • Get by id
  • Success Response
  • Get children
  • Success Response
  • Create content
  • Request
  • Success Response
  • Create content with files
  • Request
  • Success Response
  • Update content
  • Request
  • Success Response
  • Publish content
  • Success Response
  • Unpublish content
  • Success Response
  • Delete content
  • Success Response

Was this helpful?

Edit on GitHub
Export as PDF
  1. API Documentation
  2. Content Management

Content

PreviousLanguagesNextContent Types

Last updated 1 year ago

Was this helpful?

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" }.

{
    "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.

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" }.

{
    "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>"
    }
}

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 documentation.

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 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.

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 documentation.

UDI Identifiers
UDI Identifiers
Common Headers
Authentication
Permissions
Errors
Get Root Content
Get By Id
Get Children
Create Content
Create Content with Files
Update Content
Publish Content
Unpublish Content
Delete Content
Create content with files