An extension pack for the EPiServer ServiceAPI
Branch: master
Clone or download
Pull request Compare This branch is 117 commits ahead of AThraen:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
ServiceAPIExtensions
nuget
.gitignore
README.md
ServiceAPIExtensions.sln

README.md

ServiceAPIExtensions

An extension pack for the EPiServer ServiceAPI

Can be installed through Nuget on any EPiServer CMS 9.x site with the ServiceAPI installed. Currently adds some ContentAPI and some ContentTypeAPI extensions, enabling you to do most CRUD operations on IContent as well as fetch meta data on Content Types. Useful for integrations and migrations.

Currently supported syntax:

GET /episerverapi/content/{reference} https://episerverapi.azurewebsites.net/episerverapi/content/start Get's Content at Reference. Reference can be guid, ID, 'root','start','globalblock','siteblock'. Returns {"property":"value", ...} Supports query parameter: Select={List of property names}

PUT /episerverapi/content/{reference} Updates the content item with the body object content.

POST /episerverapi/content/{reference}/Publish Publishes the content

GET /episerverapi/content/{reference}/{Property name} Returns the string representation of that property

GET /episerverapi/content/{reference}/children https://episerverapi.azurewebsites.net/episerverapi/content/start/children Get's children of content. Returns {"Children":[{"property":"value", ...}, {}]} Supports Query parameters: Skip and Take (for pagination), and Select={list of property names}.

POST /episerverapi/content/{parent-reference}/Create/{content-type}/{optional:Save Action} https://episerverapi.azurewebsites.net/episerverapi/content/start/create/StandardPage Creates a new content item below the provided parent, of the given type. The Content Type should be the name of the content type. The parent-reference should be a reference to an existing content item. The post body should be resolvable to a Dictionary<string,object>. Whereever a property name matches, it'll assign the value. If a property "SaveAction" is set to "Publish" it will publish the content right away. Returns {'reference':'new reference'}.

POST /episerverapi/content/{reference}/upload/{name} Uploads a blob to a given Media data content item (reference). The Name is the filename being uploaded. The POST body should contain the binary data. Returns void.

GET /episerverapi/content/EnsurePathExist/{content-type}/{*path} Ensures that the provided path exist - otherwise it'll create it using the assigned container content-type. Returns a {reference=last created node}.

GET /episerverapi/content/{reference}/move/{new parent ref} Moves the content.

Content Type API

GET /episerverapi/contenttype/list Lists all Content Types

GET /episerverapi/contenttype/{contenttype} Returns details on that content type

GET /episerverapi/contenttype/typefor/{extension} Returns the content type that can handle that specific media type.