CRUD Operations
To perform CRUD operations via the web services you work with the endpoint for the desired content.
Get the available content types (entity sets) exposed by the OData services
Request type: GET
Format: {{baseurl}}/api/default
The call to the service root returns all available content types (entities) you can work with via the OData web services
Read the service metadata
Request type: GET
Format: {{baseurl}}/api/default/$metadata
$metadata is a Sitefinity endpoint that contains a machine-readable description of the service model including type schemas, available operations, and so on.
Get a collection of items
Request type: GET
Format: {{baseurl}}/api/default/{{entity}}
One of the most common scenarios when working with web services is to get a list of items from a specified type (entity). For example, to get a list of news items, use http://yoursite.com/api/default/newsitems.
The value property of the response contains the collection of items.
NOTE: If the @odata.nextLink annotation is present, the server opted to split the result set across multiple pages. The client can also drive paging using $top and $skip. For more information refer to the Pagination over a collection section in this article.
Get an item by Id
Request type: GET
Format: {{baseurl}}/api/default/{{entity}}({{item_id}})
To get an item, using its Id, specify the entity this item belongs to, and append an id segment enclosed in brackets
Get images from a specific album
Request type: GET
Format: {{baseurl}}/api/default/images?$filter=ParentId eq {{image_library_id}}
To get images from a specified album, query the images entity URL and filter by the ParentIdfield, specifying the Id of the album.
Get blog posts for a specific blog
Request type: GET
Format: {{baseurl}}/api/default/blogposts?$filter=ParentId eq {{blog_id}}
You can filter hierarchical content using the ParentId field. For instance, to get the blog posts created for a given blog, pass the blog Id to the filter by ParentId
Create an item
Request type: POST
Format: {{baseurl}}/api/default/{{entity}}
To create an item, send a POST request to the entity endpoint, and specify the item properties in JSON format inside the request body. For example: {Title: Sample news item}
. The request format can be viewed on the service /sfhelp web page. Authorization header with a token is usually required for those requests.
NOTE: Setting the PublicationDate and ExpirationDate fields is not supported when using the OData web services. This is part of the item scheduling functionality, which is not exposed through the OData services.
Create a taxon
Request type: POST
Format: {{baseurl}}/api/default/{{entity}}
To create a taxon for any taxonomy you must send a POST request to the taxonomy entity url. In the body include the title of the new taxon and the id of the taxonomy. For example, to create a new tag you must specify http://mysite.com /api/default/flat-taxa and pass the following JSON in the body:
{
"Title": "latest news",
"TaxonomyId": "{{taxonomy_id}}",
"Name": "latest-news"
}
Specify taxa when creating a new item
Request type: POST
Format: {{baseurl}}/api/default/{{entity}}
To create a new item and classify it with a taxon, send a POST request to the entity url, and in the body of the request pass the classification field name and the Id of the taxon you want to classify the item with. For example, to create a news item and classify it with a tag you must send a POST to: https://mysite.com/api/default/news and in the body of the request have a JSON similar to:
{
"Title": "Sample news item created with taxon",
"Tags": ["{{taxon_id}}"]
}
The request format can be viewed on the service /sfhelp web page. Authorization header with a token is usually required for those requests.
Create an image
Request type: POST
Format: {{baseurl}}/api/default/images
To create media content, send a POST request to the images entity URL, and add the image binary to the body of the request. Add an X-Sf-Properties header to specify the Id of the image library where you want to create the image, for example: {ParentId:"{{image_library_id}}"}
Upload a different image for a specific culture
Request type: PATCH
Format: {{baseurl}}/api/default/images({{image_id}})?sf_culture=de
To add different image for a specific language culture, you must make a PATCH request to the images entity URL, pass the Id of the image you want to update, and append a ?sf_culture={{your culture}} parameter to specify for which culture you’ll be making the update. Pass the image binary data in the body of the request
Update an item
Request type: PATCH
Format: {{baseurl}}/api/default/{{entity}}({{item_id}})
To update an item, send a PATCH request with the properties you wish to modify. Authorization header with a token is usually required for those requests.
Delete an item
Request type: DELETE
Format: {{baseurl}}/api/default/{{entity}}({{item_id}})
To delete an item, send an HTTP DELETE to the resource URL. Authorization header with a token is usually required for those requests.