{
	"info": {
		"_postman_id": "45e4d6e6-0323-45b7-b61f-f4cd2461f053",
		"name": "Sitefinity Web Services",
		"description": "This is a collection of sample request supported by Sitefinity Web Services REST API.",
		"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
	},
	"item": [
		{
			"_postman_id": "d16ebbb2-ad12-45e5-b9a3-9edd2c65a83e",
			"name": "00. Authenticate",
			"event": [
				{
					"listen": "test",
					"script": {
						"id": "90f232a5-a8d9-4f6b-8c23-c9301159959c",
						"type": "text/javascript",
						"exec": [
							"tests[\"Status code is 200\"] = responseCode.code === 200;",
							"",
							"var jsonData = JSON.parse(responseBody);",
							"",
							"postman.setEnvironmentVariable(\"token\", jsonData.access_token);",
							"postman.setEnvironmentVariable(\"token_type\", jsonData.token_type);",
							""
						]
					}
				}
			],
			"request": {
				"method": "POST",
				"header": [
					{
						"key": "Content-Type",
						"value": "application/x-www-form-urlencoded"
					}
				],
				"body": {
					"mode": "urlencoded",
					"urlencoded": [
						{
							"key": "username",
							"value": "{{username}}",
							"type": "text"
						},
						{
							"key": "password",
							"value": "{{password}}",
							"type": "text"
						},
						{
							"key": "grant_type",
							"value": "password",
							"type": "text"
						},
						{
							"key": "scope",
							"value": "openid",
							"type": "text"
						},
						{
							"key": "client_id",
							"value": "testApp",
							"type": "text"
						},
						{
							"key": "client_secret",
							"value": "secret",
							"type": "text"
						}
					]
				},
				"url": {
					"raw": "{{baseurl}}/Sitefinity/Authenticate/OpenID/connect/token",
					"host": [
						"{{baseurl}}"
					],
					"path": [
						"Sitefinity",
						"Authenticate",
						"OpenID",
						"connect",
						"token"
					]
				},
				"description": "Sitefinity Web Services REST APIs have a single entry point from which a generic hypermedia client can navigate to the resources in the service. In the response we see links to the $metadata document that describes the schema of the service and information about the content types exposed by the service like News, Blogs and Offices."
			},
			"response": []
		},
		{
			"_postman_id": "ace7cee4-0293-49e6-9881-d12edf85b6af",
			"name": "01. Read the service root",
			"event": [
				{
					"listen": "test",
					"script": {
						"id": "e70f79f9-5931-43c2-971c-300e45cf28d3",
						"type": "text/javascript",
						"exec": [
							"tests[\"Status code is 200\"] = responseCode.code === 200;"
						]
					}
				}
			],
			"request": {
				"auth": {
					"type": "noauth"
				},
				"method": "GET",
				"header": [
					{
						"key": "Authorization",
						"value": "{{token_type}} {{token}}"
					}
				],
				"body": {
					"mode": "raw",
					"raw": ""
				},
				"url": {
					"raw": "{{baseurl}}/api/default",
					"host": [
						"{{baseurl}}"
					],
					"path": [
						"api",
						"default"
					]
				},
				"description": "You can authenticate using the special */login* endpoint. The service returns a token that can be added as authentication header for requests that require authentication.\n\n**All requests after this one depend on the authorization token in the response.**"
			},
			"response": []
		},
		{
			"_postman_id": "6d975cec-d2c6-4063-b22d-01a77e092667",
			"name": "02. Read the service metadata",
			"event": [
				{
					"listen": "test",
					"script": {
						"type": "text/javascript",
						"exec": [
							"tests[\"Status code is 200\"] = responseCode.code === 200;",
							"tests[\"Body has Edmx tag\"] = responseBody.has(\"<edmx\");",
							"tests[\"Body has Schema tag\"] = responseBody.has(\"<Schema\");"
						]
					}
				}
			],
			"request": {
				"auth": {
					"type": "noauth"
				},
				"method": "GET",
				"header": [
					{
						"key": "Authorization",
						"value": "{{token_type}} {{token}}"
					}
				],
				"body": {},
				"url": {
					"raw": "{{baseurl}}/api/default/$metadata",
					"host": [
						"{{baseurl}}"
					],
					"path": [
						"api",
						"default",
						"$metadata"
					]
				},
				"description": "*$metadata* is a Sitefinity endpoint that contains a machine-readable description of the service model including type schemas, available operations, etc."
			},
			"response": []
		},
		{
			"_postman_id": "cd0fe4c1-7202-49cc-8e20-ffee43827f60",
			"name": "03. Read an entity set",
			"event": [
				{
					"listen": "test",
					"script": {
						"id": "33ea880d-012e-404b-822d-1e68b68e82e8",
						"type": "text/javascript",
						"exec": [
							"tests[\"Status code is 200\"] = responseCode.code === 200;",
							""
						]
					}
				}
			],
			"request": {
				"auth": {
					"type": "noauth"
				},
				"method": "GET",
				"header": [
					{
						"key": "Authorization",
						"value": "{{token_type}} {{token}}"
					}
				],
				"body": {},
				"url": {
					"raw": "{{baseurl}}/api/default/{{entity}}",
					"host": [
						"{{baseurl}}"
					],
					"path": [
						"api",
						"default",
						"{{entity}}"
					]
				},
				"description": "One of the most common responses from a REST API is a collection of resources. In this case we asked for the Job Openings collection. For each response, the Sitefinity service writes a self-described response (another REST principle) by annotating the response with a context URL. This context URL tells the service that the contents of the response are a collection of things in the Job Openings entity set.\n\nIf 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, but server-side paging is a mitigation against DoS attacks. The value property contains the bulk of the response."
			},
			"response": []
		},
		{
			"_postman_id": "7bd7574d-8ea0-4dea-818c-4b7795d6f4c9",
			"name": "04. Create an entity",
			"event": [
				{
					"listen": "test",
					"script": {
						"id": "3160ca36-c9b6-4b4c-93a5-7858b1f1123f",
						"type": "text/javascript",
						"exec": [
							"tests[\"Status code is 201\"] = responseCode.code === 201;",
							"",
							"var jsonData = JSON.parse(responseBody);",
							"postman.setGlobalVariable(\"item_id\", jsonData.Id);",
							""
						]
					}
				}
			],
			"request": {
				"auth": {
					"type": "noauth"
				},
				"method": "POST",
				"header": [
					{
						"key": "Content-Type",
						"value": "application/json"
					},
					{
						"key": "Authorization",
						"value": "{{token_type}} {{token}}"
					}
				],
				"body": {
					"mode": "raw",
					"raw": "{\r\n  \"Title\": \"basic news\"\r\n}"
				},
				"url": {
					"raw": "{{baseurl}}/api/default/{{entity}}",
					"host": [
						"{{baseurl}}"
					],
					"path": [
						"api",
						"default",
						"{{entity}}"
					]
				},
				"description": "To create a resource, send a POST to a collection. The request format can be viewed on the service */sfhelp* web page. Authorization header with a token is usually required for those requests."
			},
			"response": []
		},
		{
			"_postman_id": "a2e09922-45da-4e49-a186-675f365889d8",
			"name": "05. Update an entity",
			"event": [
				{
					"listen": "test",
					"script": {
						"type": "text/javascript",
						"exec": [
							"tests[\"Status code is 204\"] = responseCode.code === 204;"
						]
					}
				}
			],
			"request": {
				"auth": {
					"type": "noauth"
				},
				"method": "PATCH",
				"header": [
					{
						"key": "Content-Type",
						"value": "application/json"
					},
					{
						"key": "Authorization",
						"value": "{{token_type}} {{token}}"
					}
				],
				"body": {
					"mode": "raw",
					"raw": "{\r\n\tTitle: \"updated news\"\r\n}"
				},
				"url": {
					"raw": "{{baseurl}}/api/default/{{entity}}({{item_id}})",
					"host": [
						"{{baseurl}}"
					],
					"path": [
						"api",
						"default",
						"{{entity}}({{item_id}})"
					]
				},
				"description": "To update a resource, send a PATCH request with the properties you wish to modify. Authorization header with a token is usually required for those requests."
			},
			"response": []
		},
		{
			"_postman_id": "09feca59-d14f-4dbf-85ca-87fb508d780d",
			"name": "06. Get a single entity from an entity set",
			"event": [
				{
					"listen": "test",
					"script": {
						"id": "8f40dcae-2cb5-4a87-8651-834b0f3bfda9",
						"type": "text/javascript",
						"exec": [
							"tests[\"Status code is 200\"] = responseCode.code === 200;"
						]
					}
				}
			],
			"request": {
				"auth": {
					"type": "noauth"
				},
				"method": "GET",
				"header": [
					{
						"key": "Authorization",
						"value": "{{token_type}} {{token}}"
					}
				],
				"body": {},
				"url": {
					"raw": "{{baseurl}}/api/default/{{entity}}({{item_id}})",
					"host": [
						"{{baseurl}}"
					],
					"path": [
						"api",
						"default",
						"{{entity}}({{item_id}})"
					]
				},
				"description": "To get a particular entity from a collection, append an id segment enclosed in brackets."
			},
			"response": []
		},
		{
			"_postman_id": "6238afd7-c895-4d72-b4be-c51e7df0899b",
			"name": "07. Filter a collection",
			"event": [
				{
					"listen": "test",
					"script": {
						"id": "806ae560-aaf9-4256-bd48-bfa23d774247",
						"type": "text/javascript",
						"exec": [
							"tests[\"Status code is 200\"] = responseCode.code === 200;",
							""
						]
					}
				}
			],
			"request": {
				"auth": {
					"type": "noauth"
				},
				"method": "GET",
				"header": [
					{
						"key": "Authorization",
						"value": "{{token_type}} {{token}}"
					}
				],
				"body": {},
				"url": {
					"raw": "{{baseurl}}/api/default/{{entity}}?$filter=contains(Title,'news')",
					"host": [
						"{{baseurl}}"
					],
					"path": [
						"api",
						"default",
						"{{entity}}"
					],
					"query": [
						{
							"key": "$filter",
							"value": "contains(Title,'news')"
						}
					]
				},
				"description": "The *$filter* system query option can be used to filter any collection of resources. Note that the response to a filtered collection is a collection of the same type, regardless of the number of matched resources."
			},
			"response": []
		},
		{
			"_postman_id": "076b1ed0-a968-4140-b1af-738a86cebf15",
			"name": "08. Filter by language culture",
			"event": [
				{
					"listen": "test",
					"script": {
						"id": "c185b011-51f9-43f2-b030-52b8ffde2039",
						"type": "text/javascript",
						"exec": [
							"tests[\"Status code is 200\"] = responseCode.code === 200;",
							""
						]
					}
				}
			],
			"request": {
				"auth": {
					"type": "noauth"
				},
				"method": "GET",
				"header": [
					{
						"key": "Authorization",
						"value": "{{token_type}} {{token}}"
					}
				],
				"body": {},
				"url": {
					"raw": "{{baseurl}}/api/default/{{entity}}?sf_culture=en",
					"host": [
						"{{baseurl}}"
					],
					"path": [
						"api",
						"default",
						"{{entity}}"
					],
					"query": [
						{
							"key": "sf_culture",
							"value": "en"
						}
					]
				},
				"description": "You can query the items from a specific language culture when your Sitefinity is in multilingual mode. In this example only the Spanish translations of news items are returned."
			},
			"response": []
		},
		{
			"_postman_id": "967e9aa1-b6cf-4030-8a64-04f04d31489f",
			"name": "09. Filter by provider",
			"event": [
				{
					"listen": "test",
					"script": {
						"type": "text/javascript",
						"exec": [
							"tests[\"Status code is 200\"] = responseCode.code === 200;"
						]
					}
				}
			],
			"request": {
				"auth": {
					"type": "noauth"
				},
				"method": "GET",
				"header": [
					{
						"key": "Authorization",
						"value": "{{token_type}} {{token}}"
					}
				],
				"body": {},
				"url": {
					"raw": "{{baseurl}}/api/default/{{entity}}?sf_provider=OpenAccessDataProvider",
					"host": [
						"{{baseurl}}"
					],
					"path": [
						"api",
						"default",
						"{{entity}}"
					],
					"query": [
						{
							"key": "sf_provider",
							"value": "OpenAccessDataProvider"
						}
					]
				},
				"description": "There is support for filtering any type of content by the content provider. Just append *?sf_provider={your-provider}*, and only content from this provider will be returned. If you do not pass a provider the service always returns content from the default provider only."
			},
			"response": []
		},
		{
			"_postman_id": "69ea7446-82b6-4020-8468-b626a842195a",
			"name": "10. Get item from a specific culture and provider",
			"event": [
				{
					"listen": "test",
					"script": {
						"id": "89742e94-1266-4e4b-8849-e0e013c53595",
						"type": "text/javascript",
						"exec": [
							"tests[\"Status code is 200\"] = responseCode.code === 200;",
							""
						]
					}
				}
			],
			"request": {
				"auth": {
					"type": "noauth"
				},
				"method": "GET",
				"header": [
					{
						"key": "Authorization",
						"value": "{{token_type}} {{token}}"
					}
				],
				"body": {},
				"url": {
					"raw": "{{baseurl}}/api/default/newsitems({{item_id}})?sf_culture=en&sf_provider=OpenAccessDataProvider",
					"host": [
						"{{baseurl}}"
					],
					"path": [
						"api",
						"default",
						"newsitems({{item_id}})"
					],
					"query": [
						{
							"key": "sf_culture",
							"value": "en"
						},
						{
							"key": "sf_provider",
							"value": "OpenAccessDataProvider"
						}
					]
				},
				"description": "You can get an item in specific language culture by appending *?sf_culture={culture}* at the end of the query string."
			},
			"response": []
		},
		{
			"_postman_id": "a57a2f17-768a-4ae3-9f54-433c72f66b26",
			"name": "11. Sort a collection",
			"event": [
				{
					"listen": "test",
					"script": {
						"id": "88be4274-4010-461a-8d9a-f07ed9008fc8",
						"type": "text/javascript",
						"exec": [
							"tests[\"Status code is 200\"] = responseCode.code === 200;",
							""
						]
					}
				}
			],
			"request": {
				"auth": {
					"type": "noauth"
				},
				"method": "GET",
				"header": [
					{
						"key": "Authorization",
						"value": "{{token_type}} {{token}}"
					}
				],
				"body": {},
				"url": {
					"raw": "{{baseurl}}/api/default/{{entity}}?$orderby=Title desc",
					"host": [
						"{{baseurl}}"
					],
					"path": [
						"api",
						"default",
						"{{entity}}"
					],
					"query": [
						{
							"key": "$orderby",
							"value": "Title desc"
						}
					]
				},
				"description": "You can use *$orderby* system query option to request resources in ascending or descending order using *asc* or *desc*. In case *asc* or *desc* is not specified, then the resources will be ordered in ascending order. It is possible to sort on multiple attributes, these have to be comma separated."
			},
			"response": []
		},
		{
			"_postman_id": "ef0d9ec6-fb16-4c0b-b998-07284bd6641e",
			"name": "12. Pagination over a collection",
			"event": [
				{
					"listen": "test",
					"script": {
						"id": "0c5b30de-c026-43d2-8f15-4eac84014a98",
						"type": "text/javascript",
						"exec": [
							"tests[\"Status code is 200\"] = responseCode.code === 200;",
							"",
							""
						]
					}
				}
			],
			"request": {
				"auth": {
					"type": "noauth"
				},
				"method": "GET",
				"header": [
					{
						"key": "Authorization",
						"value": "{{token_type}} {{token}}"
					}
				],
				"body": {},
				"url": {
					"raw": "{{baseurl}}/api/default/{{entity}}?$orderby=Title asc&$skip=0&$top=1&$count=true",
					"host": [
						"{{baseurl}}"
					],
					"path": [
						"api",
						"default",
						"{{entity}}"
					],
					"query": [
						{
							"key": "$orderby",
							"value": "Title asc"
						},
						{
							"key": "$skip",
							"value": "0"
						},
						{
							"key": "$top",
							"value": "1"
						},
						{
							"key": "$count",
							"value": "true"
						}
					]
				},
				"description": "There are two types of paging in Sitefinity web services, server and client side. Clients can drive paging using *$top* and *$skip*. You can also combine paging and other filtering and sorting options."
			},
			"response": []
		},
		{
			"_postman_id": "a8edc871-baba-47b1-86fe-d89d2eae7fa7",
			"name": "13. Counting the elements in a collection",
			"event": [
				{
					"listen": "test",
					"script": {
						"type": "text/javascript",
						"exec": [
							"tests[\"Status code is 200\"] = responseCode.code === 200;",
							"",
							"tests[\"Response is a primitive number\"] = !isNaN(parseFloat(responseBody)) && isFinite(responseBody) === true;",
							""
						]
					}
				}
			],
			"request": {
				"auth": {
					"type": "noauth"
				},
				"method": "GET",
				"header": [
					{
						"key": "Authorization",
						"value": "{{token_type}} {{token}}"
					}
				],
				"body": {},
				"url": {
					"raw": "{{baseurl}}/api/default/{{entity}}/$count",
					"host": [
						"{{baseurl}}"
					],
					"path": [
						"api",
						"default",
						"{{entity}}",
						"$count"
					]
				},
				"description": "If you want to know how many items meet a condition, you can use the *$count* path segment. Note that the Content-Type header indicates that the content is text/plain."
			},
			"response": []
		},
		{
			"_postman_id": "4ccc8c6c-615c-4fd8-9a7e-0c820dc7f96c",
			"name": "14. Create taxon",
			"event": [
				{
					"listen": "test",
					"script": {
						"id": "a2321a5d-5325-4b19-8bdd-0a483fe0967b",
						"type": "text/javascript",
						"exec": [
							"tests[\"Successful POST request\"] = responseCode.code === 201;",
							"",
							"var jsonData = JSON.parse(responseBody);",
							"postman.setGlobalVariable(\"taxon_id\", jsonData.Id);"
						]
					}
				}
			],
			"request": {
				"auth": {
					"type": "noauth"
				},
				"method": "POST",
				"header": [
					{
						"key": "Content-Type",
						"value": "application/json"
					},
					{
						"key": "Authorization",
						"value": "{{token_type}} {{token}}"
					}
				],
				"body": {
					"mode": "raw",
					"raw": "{\n  \"Title\": \"latest news\",\n  \"TaxonomyId\": \"{{taxonomy_id}}\",\n  \"Name\": \"latest-news\"\n}"
				},
				"url": {
					"raw": "{{baseurl}}/api/default/flat-taxa",
					"host": [
						"{{baseurl}}"
					],
					"path": [
						"api",
						"default",
						"flat-taxa"
					]
				},
				"description": "Creating taxon for any taxonomy is simple. created from previous request. Just send a POST request to the taxonomy type url. In the body include the title of the new taxon and the id of the taxonomy."
			},
			"response": []
		},
		{
			"_postman_id": "7e0b19a5-0bbd-489d-8cc8-1cf605cb5fb3",
			"name": "15. Create an entity with a taxon",
			"event": [
				{
					"listen": "test",
					"script": {
						"id": "018e3acc-c268-4588-a27e-c48eeb555427",
						"type": "text/javascript",
						"exec": [
							"tests[\"Status code is 201\"] = responseCode.code === 201;",
							"",
							"var jsonData = JSON.parse(responseBody);",
							"postman.setGlobalVariable(\"item_with_taxon_id\", jsonData.Id);",
							""
						]
					}
				}
			],
			"request": {
				"auth": {
					"type": "noauth"
				},
				"method": "POST",
				"header": [
					{
						"key": "Content-Type",
						"value": "application/json"
					},
					{
						"key": "Authorization",
						"value": "{{token_type}} {{token}}"
					}
				],
				"body": {
					"mode": "raw",
					"raw": "{\r\n  \"Title\": \"news created with taxon\",\r\n  \"Tags\": [\"{{taxon_id}}\"]\r\n}"
				},
				"url": {
					"raw": "{{baseurl}}/api/default/{{entity}}",
					"host": [
						"{{baseurl}}"
					],
					"path": [
						"api",
						"default",
						"{{entity}}"
					]
				},
				"description": "To create a resource, send a POST to a collection. The request format can be viewed on the service */sfhelp* web page. Authorization header with a token is usually required for those requests."
			},
			"response": []
		},
		{
			"_postman_id": "09f6e18b-5ba7-4bcc-b13c-8fd3c68181ea",
			"name": "16. Get a single entity with taxon",
			"event": [
				{
					"listen": "test",
					"script": {
						"id": "9aa889b0-ff80-41a5-8db3-179a5042744b",
						"type": "text/javascript",
						"exec": [
							"tests[\"Status code is 200\"] = responseCode.code === 200;",
							""
						]
					}
				}
			],
			"request": {
				"auth": {
					"type": "noauth"
				},
				"method": "GET",
				"header": [
					{
						"key": "Authorization",
						"value": "{{token_type}} {{token}}"
					}
				],
				"body": {},
				"url": {
					"raw": "{{baseurl}}/api/default/{{entity}}({{item_with_taxon_id}})?$select=*",
					"host": [
						"{{baseurl}}"
					],
					"path": [
						"api",
						"default",
						"{{entity}}({{item_with_taxon_id}})"
					],
					"query": [
						{
							"key": "$select",
							"value": "*"
						}
					]
				},
				"description": "To get a particular entity from a collection, append an id segment enclosed in brackets."
			},
			"response": []
		},
		{
			"_postman_id": "de4868c4-5fa8-45a4-989d-a4527a9172b2",
			"name": "17. Get a single entity with partial selection of fields",
			"event": [
				{
					"listen": "test",
					"script": {
						"id": "9aa889b0-ff80-41a5-8db3-179a5042744b",
						"type": "text/javascript",
						"exec": [
							"tests[\"Status code is 200\"] = responseCode.code === 200;",
							""
						]
					}
				}
			],
			"request": {
				"auth": {
					"type": "noauth"
				},
				"method": "GET",
				"header": [
					{
						"key": "Authorization",
						"value": "{{token_type}} {{token}}"
					}
				],
				"body": {},
				"url": {
					"raw": "{{baseurl}}/api/default/{{entity}}({{item_with_taxon_id}})?$select=Title, Tags",
					"host": [
						"{{baseurl}}"
					],
					"path": [
						"api",
						"default",
						"{{entity}}({{item_with_taxon_id}})"
					],
					"query": [
						{
							"key": "$select",
							"value": "Title, Tags"
						}
					]
				},
				"description": "To get a particular entity from a collection, append an id segment enclosed in brackets."
			},
			"response": []
		},
		{
			"_postman_id": "f5a4fa6d-2c94-473c-b812-217351a7261f",
			"name": "18. Filter a collection using logic operators",
			"event": [
				{
					"listen": "test",
					"script": {
						"id": "3a840633-66e2-4f08-9648-06c7c0677fa1",
						"type": "text/javascript",
						"exec": [
							"tests[\"Status code is 200\"] = responseCode.code === 200;",
							""
						]
					}
				}
			],
			"request": {
				"auth": {
					"type": "noauth"
				},
				"method": "GET",
				"header": [
					{
						"key": "Authorization",
						"value": "{{token_type}} {{token}}"
					}
				],
				"body": {},
				"url": {
					"raw": "{{baseurl}}/api/default/{{entity}}?$filter=contains(Title,'taxon') and PublicationDate gt 2018-01-01T00:00:00Z",
					"host": [
						"{{baseurl}}"
					],
					"path": [
						"api",
						"default",
						"{{entity}}"
					],
					"query": [
						{
							"key": "$filter",
							"value": "contains(Title,'taxon') and PublicationDate gt 2018-01-01T00:00:00Z"
						}
					]
				},
				"description": "You can use and, or and not to create more complex filter clauses."
			},
			"response": []
		},
		{
			"_postman_id": "59ccbd45-5e73-4aaa-ab50-e96b92dd7c1f",
			"name": "19. Filter a collection based on a taxon",
			"event": [
				{
					"listen": "test",
					"script": {
						"id": "dd6ea417-c698-4f7d-9397-a3d2ed773598",
						"type": "text/javascript",
						"exec": [
							"tests[\"Status code is 200\"] = responseCode.code === 200;",
							""
						]
					}
				}
			],
			"request": {
				"auth": {
					"type": "noauth"
				},
				"method": "GET",
				"header": [
					{
						"key": "Authorization",
						"value": "{{token_type}} {{token}}"
					}
				],
				"body": {},
				"url": {
					"raw": "{{baseurl}}/api/default/{{entity}}?$filter=Tags/any(x:x eq {{taxon_id}})",
					"host": [
						"{{baseurl}}"
					],
					"path": [
						"api",
						"default",
						"{{entity}}"
					],
					"query": [
						{
							"key": "$filter",
							"value": "Tags/any(x:x eq {{taxon_id}})"
						}
					]
				},
				"description": "You can use any and lambda-style expressions to filter items by collection properties."
			},
			"response": []
		},
		{
			"_postman_id": "1a810fcb-3768-438b-af23-8707e1816d35",
			"name": "20. Delete an entity",
			"event": [
				{
					"listen": "test",
					"script": {
						"id": "93293a10-a051-419b-980e-707421c9b1b2",
						"type": "text/javascript",
						"exec": [
							"tests[\"Status code is 204\"] = responseCode.code === 204;"
						]
					}
				}
			],
			"request": {
				"auth": {
					"type": "noauth"
				},
				"method": "DELETE",
				"header": [
					{
						"key": "Authorization",
						"value": "{{token_type}} {{token}}"
					}
				],
				"body": {},
				"url": {
					"raw": "{{baseurl}}/api/default/{{entity}}({{item_with_taxon_id}})",
					"host": [
						"{{baseurl}}"
					],
					"path": [
						"api",
						"default",
						"{{entity}}({{item_with_taxon_id}})"
					]
				},
				"description": "To remove a resource, send an HTTP DELETE to the resource URL. Authorization header with a token is usually required for those requests."
			},
			"response": []
		},
		{
			"_postman_id": "0e2d23b2-0b26-485f-a99f-ccdd2b81a438",
			"name": "21. Create image",
			"event": [
				{
					"listen": "test",
					"script": {
						"id": "21c57302-b8a2-4ef5-a528-d41704083801",
						"type": "text/javascript",
						"exec": [
							"tests[\"Status code is 201\"] = responseCode.code === 201;",
							"",
							"var jsonData = JSON.parse(responseBody);",
							"postman.setGlobalVariable(\"image_id\", jsonData.Id);"
						]
					}
				}
			],
			"request": {
				"auth": {
					"type": "noauth"
				},
				"method": "POST",
				"header": [
					{
						"key": "Content-Type",
						"value": "image/jpeg"
					},
					{
						"key": "Authorization",
						"value": "{{token_type}} {{token}}"
					},
					{
						"key": "X-Sf-Properties",
						"value": "{ParentId:\"{{image_library_id}}\"}"
					}
				],
				"body": {
					"mode": "file",
					"file": {}
				},
				"url": {
					"raw": "{{baseurl}}/api/default/images",
					"host": [
						"{{baseurl}}"
					],
					"path": [
						"api",
						"default",
						"images"
					]
				},
				"description": "Media is also suported. **Add an image to the body** and send a POST request."
			},
			"response": []
		},
		{
			"_postman_id": "206c6def-3504-4b50-a04c-215584575bb9",
			"name": "22. Add image to culture",
			"event": [
				{
					"listen": "test",
					"script": {
						"type": "text/javascript",
						"exec": [
							"tests[\"Status code is 204\"] = responseCode.code === 204;"
						]
					}
				}
			],
			"request": {
				"method": "PATCH",
				"header": [
					{
						"key": "Content-Type",
						"value": "image/jpeg"
					},
					{
						"key": "Authorization",
						"value": "{{token_type}} {{token}}"
					}
				],
				"body": {
					"mode": "file",
					"file": {}
				},
				"url": {
					"raw": "{{baseurl}}/api/default/images({{image_id}})?sf_culture=de",
					"host": [
						"{{baseurl}}"
					],
					"path": [
						"api",
						"default",
						"images({{image_id}})"
					],
					"query": [
						{
							"key": "sf_culture",
							"value": "de"
						}
					]
				},
				"description": "To add different image for a specific language culture just append *?sf_culture={{your culture}}* to the URI of the image and make a PATCH request with the new image."
			},
			"response": []
		},
		{
			"_postman_id": "10cdf0e4-54a3-4523-9a04-40a16d79ed94",
			"name": "23. Relate",
			"event": [
				{
					"listen": "test",
					"script": {
						"type": "text/javascript",
						"exec": [
							"tests[\"Status code is 204\"] = responseCode.code === 204;"
						]
					}
				}
			],
			"request": {
				"method": "POST",
				"header": [
					{
						"key": "Content-Type",
						"value": "application/json"
					},
					{
						"key": "Authorization",
						"value": "{{token_type}} {{token}}"
					}
				],
				"body": {
					"mode": "raw",
					"raw": "{\r\n  \"@odata.id\":\"{{baseurl}}/api/default/images({{image_id}})\"\r\n}"
				},
				"url": {
					"raw": "{{baseurl}}/api/default/{{entity}}({{item_id}})/Images/$ref",
					"host": [
						"{{baseurl}}"
					],
					"path": [
						"api",
						"default",
						"{{entity}}({{item_id}})",
						"Images",
						"$ref"
					]
				},
				"description": "You can relate an item using */{relation}/$ref* endpoint. You must provide a *\\\"@odata.id\\\"* parameter with the related item full url in the body of the request."
			},
			"response": []
		},
		{
			"_postman_id": "1f4a9e5b-fbd1-47dd-99bb-c985e5ce8321",
			"name": "24. Expand related items",
			"event": [
				{
					"listen": "test",
					"script": {
						"id": "8651a8fc-9ba5-45b0-ac94-251a3c718660",
						"type": "text/javascript",
						"exec": [
							"tests[\"Status code is 200\"] = responseCode.code === 200;"
						]
					}
				}
			],
			"request": {
				"auth": {
					"type": "noauth"
				},
				"method": "GET",
				"header": [
					{
						"key": "Authorization",
						"value": "{{token_type}} {{token}}"
					}
				],
				"body": {},
				"url": {
					"raw": "{{baseurl}}/api/default/{{entity}}({{item_id}})?$expand=Images",
					"host": [
						"{{baseurl}}"
					],
					"path": [
						"api",
						"default",
						"{{entity}}({{item_id}})"
					],
					"query": [
						{
							"key": "$expand",
							"value": "Images"
						}
					]
				},
				"description": "You can use the *$expand* system query option to include parent information for hierarchical resources. In Sitefinity every child item has a navigational property called Parent. Keep in mind that navigational properties like Parent and Comments are capitalized."
			},
			"response": []
		},
		{
			"_postman_id": "fa48e289-06cd-47b3-ad74-97703a367094",
			"name": "25. Get related items",
			"event": [
				{
					"listen": "test",
					"script": {
						"id": "02fd9200-0399-4027-b6ce-700415e64999",
						"type": "text/javascript",
						"exec": [
							"tests[\"Status code is 200\"] = responseCode.code === 200;",
							""
						]
					}
				}
			],
			"request": {
				"method": "GET",
				"header": [
					{
						"key": "Authorization",
						"value": "{{token_type}} {{token}}"
					}
				],
				"body": {
					"mode": "formdata",
					"formdata": [
						"{",
						"\n",
						" ",
						" ",
						"\"",
						"E",
						"m",
						"a",
						"i",
						"l",
						"s",
						"\"",
						":",
						" ",
						"[",
						"\"",
						"m",
						"i",
						"a",
						"t",
						"h",
						"o",
						"m",
						"p",
						"s",
						"o",
						"n",
						"@",
						"c",
						"o",
						"n",
						"t",
						"o",
						"s",
						"o",
						".",
						"c",
						"o",
						"m",
						"\"",
						",",
						" ",
						"\"",
						"m",
						"i",
						"a",
						"t",
						"h",
						"o",
						"m",
						"p",
						"s",
						"o",
						"n",
						"@",
						"e",
						"x",
						"a",
						"m",
						"p",
						"l",
						"e",
						".",
						"c",
						"o",
						"m",
						"\"",
						"]",
						"\n",
						"}"
					]
				},
				"url": {
					"raw": "{{baseurl}}/api/default/{{entity}}({{item_id}})/Images",
					"host": [
						"{{baseurl}}"
					],
					"path": [
						"api",
						"default",
						"{{entity}}({{item_id}})",
						"Images"
					]
				},
				"description": "To navigate to related entities, append the related entity name as defined in $metadata"
			},
			"response": []
		},
		{
			"_postman_id": "caba95e0-899d-4059-8f1a-cf2901e60578",
			"name": "26. Delete relation",
			"event": [
				{
					"listen": "test",
					"script": {
						"type": "text/javascript",
						"exec": [
							"tests[\"Status code is 204\"] = responseCode.code === 204;"
						]
					}
				}
			],
			"request": {
				"method": "DELETE",
				"header": [
					{
						"key": "Content-Type",
						"value": "application/json"
					},
					{
						"key": "Authorization",
						"value": "{{token_type}} {{token}}"
					}
				],
				"body": {
					"mode": "raw",
					"raw": ""
				},
				"url": {
					"raw": "{{baseurl}}/api/default/{{entity}}({{item_id}})/Images({{image_id}})/$ref",
					"host": [
						"{{baseurl}}"
					],
					"path": [
						"api",
						"default",
						"{{entity}}({{item_id}})",
						"Images({{image_id}})",
						"$ref"
					]
				},
				"description": "You can delete a relation using the same endpoint */{relation}/$ref*, just send it with delete verb."
			},
			"response": []
		},
		{
			"_postman_id": "faa82b54-5acb-4fd8-95b3-a5bde973d427",
			"name": "27. Batch",
			"event": [
				{
					"listen": "test",
					"script": {
						"id": "8edfb6dd-bb16-4ab6-81cc-bdff613db0e1",
						"type": "text/javascript",
						"exec": [
							"tests[\"No 401 Unauthorized errors in body\"] = !(responseBody.has(\"401 Unauthorized\"));",
							"tests[\"No 404 Not Found in body\"] = !(responseBody.has(\"404 Not Found\"));",
							"tests[\"No 501 Internal server errors in body\"] = !(responseBody.has(\"500 Internal Server Error\"));"
						]
					}
				}
			],
			"request": {
				"auth": {
					"type": "noauth"
				},
				"method": "POST",
				"header": [
					{
						"key": "Content-Type",
						"value": "multipart/mixed; boundary=batch_36522ad7-fc75-4b56-8c71-56071383e77b"
					},
					{
						"key": "Authorization",
						"value": "{{token_type}} {{token}}"
					}
				],
				"body": {
					"mode": "raw",
					"raw": "--batch_36522ad7-fc75-4b56-8c71-56071383e77b\r\nContent-Type: multipart/mixed; boundary=changeset_54ac09ec-f437-4b08-9925-fd42ed7bd58f\r\n\r\n--changeset_54ac09ec-f437-4b08-9925-fd42ed7bd58f\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\nContent-ID: 1\r\n\r\nPOST /api/default/{{entity}} HTTP/1.1\r\nHost: host\r\nContent-Type: application/json;odata.metadata=minimal\r\n\r\n{\r\n\t\"Title\": \"news batch one\"\r\n}\r\n\r\n--changeset_54ac09ec-f437-4b08-9925-fd42ed7bd58f\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\nContent-ID: 2\r\n\r\nPOST /api/default/{{entity}} HTTP/1.1\r\nHost: host\r\nContent-Type: application/json;odata.metadata=minimal\r\n\r\n{\r\n  \"Title\": \"news batch two\"\r\n}\r\n\r\n--changeset_54ac09ec-f437-4b08-9925-fd42ed7bd58f--\r\n--batch_36522ad7-fc75-4b56-8c71-56071383e77b--"
				},
				"url": {
					"raw": "{{baseurl}}/api/default/$batch",
					"host": [
						"{{baseurl}}"
					],
					"path": [
						"api",
						"default",
						"$batch"
					]
				},
				"description": "Services support the collection of multiple individual HTTP requests into one single batched HTTP request. Here two job openings are created and then related in a single request."
			},
			"response": []
		}
	],
	"auth": {
		"type": "bearer",
		"bearer": [
			{
				"key": "token",
				"value": "{{token}}",
				"type": "string"
			}
		]
	},
	"event": [
		{
			"listen": "prerequest",
			"script": {
				"id": "7ae50242-cfff-411c-bb6c-0f249a6a0955",
				"type": "text/javascript",
				"exec": [
					""
				]
			}
		},
		{
			"listen": "test",
			"script": {
				"id": "fd866aa7-39f4-467e-8bb7-27a8a5f1fc2d",
				"type": "text/javascript",
				"exec": [
					""
				]
			}
		}
	]
}