{
	"info": {
		"_postman_id": "e2155ff2-3fe3-4c5e-bda7-4be0deaa99d3",
		"name": "Azure AI Search - Sharepoint",
		"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json",
		"_exporter_id": "36138998"
	},
	"item": [
		{
			"name": "1. Create DataSource",
			"request": {
				"method": "POST",
				"header": [
					{
						"key": "api-key",
						"value": "{{api-key}}",
						"type": "text"
					},
					{
						"key": "Content-Type",
						"value": "application/json",
						"type": "text"
					}
				],
				"body": {
					"mode": "raw",
					"raw": "{\n    \"name\": \"sharepoint-datasource\",\n    \"type\": \"sharepoint\",\n    \"credentials\": {\n        \"connectionString\": \"SharePointOnlineEndpoint={{share-point-online-endpoint}};ApplicationId={{microsoft-entra-application-id}};ApplicationSecret={{microsoft-entra-application-secret}};\"\n    },\n    \"container\": {\n        \"name\": \"defaultSiteLibrary\",\n        \"query\": null\n    }\n}",
					"options": {
						"raw": {
							"language": "json"
						}
					}
				},
				"url": {
					"raw": "https://{{service-name}}.search.windows.net/datasources?api-version={{api-version}}",
					"protocol": "https",
					"host": [
						"{{service-name}}",
						"search",
						"windows",
						"net"
					],
					"path": [
						"datasources"
					],
					"query": [
						{
							"key": "api-version",
							"value": "{{api-version}}"
						}
					]
				}
			},
			"response": []
		},
		{
			"name": "2. Create Index",
			"request": {
				"method": "POST",
				"header": [
					{
						"key": "api-key",
						"value": "{{api-key}}",
						"type": "text"
					},
					{
						"key": "Content-Type",
						"value": "application/json",
						"type": "text"
					}
				],
				"body": {
					"mode": "raw",
					"raw": "{\n    \"name\": \"sharepoint-index\",\n    \"fields\": [\n        {\n            \"name\": \"id\",\n            \"type\": \"Edm.String\",\n            \"key\": true,\n            \"searchable\": true,\n            \"analyzer\": \"keyword\"\n        },\n        {\n            \"name\": \"metadata_spo_item_name\",\n            \"type\": \"Edm.String\",\n            \"key\": false,\n            \"searchable\": true,\n            \"filterable\": false,\n            \"sortable\": false,\n            \"facetable\": false\n        },\n        {\n            \"name\": \"metadata_spo_item_path\",\n            \"type\": \"Edm.String\",\n            \"key\": false,\n            \"searchable\": false,\n            \"filterable\": false,\n            \"sortable\": false,\n            \"facetable\": false\n        },\n        {\n            \"name\": \"metadata_spo_item_content_type\",\n            \"type\": \"Edm.String\",\n            \"key\": false,\n            \"searchable\": false,\n            \"filterable\": true,\n            \"sortable\": false,\n            \"facetable\": true\n        },\n        {\n            \"name\": \"metadata_spo_item_weburi\",\n            \"type\": \"Edm.String\",\n            \"key\": false,\n            \"searchable\": false,\n            \"filterable\": false,\n            \"sortable\": false,\n            \"facetable\": false\n        },\n        {\n            \"name\": \"metadata_spo_item_last_modified\",\n            \"type\": \"Edm.DateTimeOffset\",\n            \"key\": false,\n            \"searchable\": false,\n            \"filterable\": false,\n            \"sortable\": true,\n            \"facetable\": false\n        },\n        {\n            \"name\": \"metadata_spo_item_size\",\n            \"type\": \"Edm.Int64\",\n            \"key\": false,\n            \"searchable\": false,\n            \"filterable\": false,\n            \"sortable\": false,\n            \"facetable\": false\n        },\n        {\n            \"name\": \"content\",\n            \"type\": \"Edm.String\",\n            \"searchable\": true,\n            \"filterable\": false,\n            \"sortable\": false,\n            \"facetable\": false\n        },\n        {\n            \"name\": \"parent_key\",\n            \"type\": \"Edm.String\",\n            \"filterable\": true\n        },\n        {\n            \"name\": \"embedding\",\n            \"type\": \"Collection(Edm.Single)\",\n            \"searchable\": true,\n            \"dimensions\": 1536,\n            \"vectorSearchProfile\": \"vectorizer-embedding\"\n        }\n    ],\n    \"vectorSearch\": {\n        \"profiles\": [\n            {\n                \"name\": \"vectorizer-embedding\",\n                \"algorithm\": \"hsnw-1\",\n                \"vectorizer\": \"embedding-vectorizer\"\n            }\n        ],\n        \"algorithms\": [\n            {\n                \"name\": \"hsnw-1\",\n                \"kind\": \"hnsw\",\n                \"hnswParameters\": {\n                    \"m\": 4,\n                    \"efConstruction\": 400,\n                    \"efSearch\": 500,\n                    \"metric\": \"cosine\"\n                }\n            }\n        ],\n        \"vectorizers\": [\n            {\n                \"name\": \"embedding-vectorizer\",\n                \"kind\": \"azureOpenAI\",\n                \"azureOpenAIParameters\": {\n                    \"resourceUri\": \"{{embedding-resource-url}}\",\n                    \"deploymentId\": \"{{embedding-deployment-id}}\",\n                    \"modelName\": \"{{embedding-model-name}}\",\n                    \"apiKey\": \"{{embedding-api-key}}\",\n                    \"authIdentity\": null\n                },\n                \"customWebApiParameters\": null\n            }\n        ]\n    }\n}",
					"options": {
						"raw": {
							"language": "json"
						}
					}
				},
				"url": {
					"raw": "https://{{service-name}}.search.windows.net/indexes?api-version={{api-version}}",
					"protocol": "https",
					"host": [
						"{{service-name}}",
						"search",
						"windows",
						"net"
					],
					"path": [
						"indexes"
					],
					"query": [
						{
							"key": "api-version",
							"value": "{{api-version}}"
						}
					]
				}
			},
			"response": []
		},
		{
			"name": "3. Create Skillset",
			"request": {
				"method": "PUT",
				"header": [
					{
						"key": "api-key",
						"value": "{{api-key}}",
						"type": "text"
					},
					{
						"key": "Content-Type",
						"value": "application/json",
						"type": "text"
					}
				],
				"body": {
					"mode": "raw",
					"raw": "{\n    \"@odata.context\": \"https://loyjoy-ai-search.search.windows.net/$metadata#skillsets/$entity\",\n    \"@odata.etag\": \"\\\"0x8DCD2580917230A\\\"\",\n    \"name\": \"chunk-and-embed\",\n    \"description\": null,\n    \"skills\": [\n        {\n            \"@odata.type\": \"#Microsoft.Skills.Text.LanguageDetectionSkill\",\n            \"name\": \"LanguageDetectionSkill\",\n            \"context\": \"/document\",\n            \"inputs\": [\n                {\n                    \"name\": \"text\",\n                    \"source\": \"/document/content\"\n                }\n            ],\n            \"outputs\": [\n                {\n                    \"name\": \"languageCode\",\n                    \"targetName\": \"language\"\n                }\n            ]\n        },\n        {\n            \"@odata.type\": \"#Microsoft.Skills.Text.SplitSkill\",\n            \"name\": \"SplitSkill\",\n            \"description\": null,\n            \"context\": \"/document\",\n            \"defaultLanguageCode\": \"en\",\n            \"textSplitMode\": \"pages\",\n            \"maximumPageLength\": 800,\n            \"pageOverlapLength\": 0,\n            \"maximumPagesToTake\": 0,\n            \"inputs\": [\n                {\n                    \"name\": \"text\",\n                    \"source\": \"/document/content\"\n                },\n                {\n                    \"name\": \"languageCode\",\n                    \"source\": \"/document/language\"\n                }\n            ],\n            \"outputs\": [\n                {\n                    \"name\": \"textItems\",\n                    \"targetName\": \"chunks\"\n                }\n            ]\n        },\n        {\n            \"@odata.type\": \"#Microsoft.Skills.Text.AzureOpenAIEmbeddingSkill\",\n            \"name\": \"AzureOpenAIEmbeddingSkill\",\n            \"description\": null,\n            \"context\": \"/document/chunks/*\",\n            \"resourceUri\": \"{{embedding-resource-url}}\",\n            \"apiKey\": \"{{embedding-api-key}}\",\n            \"deploymentId\": \"{{embedding-deployment-id}}\",\n            \"dimensions\": 1536,\n            \"modelName\": \"{{embedding-model-name}}\",\n            \"inputs\": [\n                {\n                    \"name\": \"text\",\n                    \"source\": \"/document/chunks/*\"\n                }\n            ],\n            \"outputs\": [\n                {\n                    \"name\": \"embedding\",\n                    \"targetName\": \"embedding\"\n                }\n            ],\n            \"authIdentity\": null\n        }\n    ],\n    \"cognitiveServices\": null,\n    \"knowledgeStore\": null,\n    \"indexProjections\": {\n        \"selectors\": [\n            {\n                \"targetIndexName\": \"sharepoint-index\",\n                \"parentKeyFieldName\": \"parent_key\",\n                \"sourceContext\": \"/document/chunks/*\",\n                \"mappings\": [\n                    {\n                        \"name\": \"content\",\n                        \"source\": \"/document/chunks/*\"\n                    },\n                    {\n                        \"name\": \"metadata_spo_item_name\",\n                        \"source\": \"/document/metadata_spo_item_name\"\n                    },\n                    {\n                        \"name\": \"metadata_spo_item_path\",\n                        \"source\": \"/document/metadata_spo_item_path\"\n                    },\n                    {\n                        \"name\": \"metadata_spo_item_content_type\",\n                        \"source\": \"/document/metadata_spo_item_content_type\"\n                    },\n                    {\n                        \"name\": \"metadata_spo_item_last_modified\",\n                        \"source\": \"/document/metadata_spo_item_last_modified\"\n                    },\n                    {\n                        \"name\": \"metadata_spo_item_weburi\",\n                        \"source\": \"/document/metadata_spo_item_weburi\"\n                    },\n                    {\n                        \"name\": \"metadata_spo_item_size\",\n                        \"source\": \"/document/metadata_spo_item_size\"\n                    },\n                    {\n                        \"name\": \"embedding\",\n                        \"source\": \"/document/chunks/*/embedding\"\n                    }\n                ]\n            }\n        ],\n        \"parameters\": {\n            \"projectionMode\": \"skipIndexingParentDocuments\"\n        }\n    },\n    \"encryptionKey\": null\n}",
					"options": {
						"raw": {
							"language": "json"
						}
					}
				},
				"url": {
					"raw": "https://{{service-name}}.search.windows.net/skillsets/chunk-and-embed?api-version={{api-version}}",
					"protocol": "https",
					"host": [
						"{{service-name}}",
						"search",
						"windows",
						"net"
					],
					"path": [
						"skillsets",
						"chunk-and-embed"
					],
					"query": [
						{
							"key": "api-version",
							"value": "{{api-version}}"
						}
					]
				}
			},
			"response": []
		},
		{
			"name": "4. Create Indexer",
			"request": {
				"method": "POST",
				"header": [
					{
						"key": "api-key",
						"value": "{{api-key}}",
						"type": "text"
					},
					{
						"key": "Content-Type",
						"value": "application/json",
						"type": "text"
					}
				],
				"body": {
					"mode": "raw",
					"raw": "{\n    \"name\": \"sharepoint-indexer\",\n    \"dataSourceName\": \"sharepoint-datasource\",\n    \"targetIndexName\": \"sharepoint-index\",\n    \"skillsetName\": \"chunk-and-embed\",\n    \"schedule\": {\n        \"interval\": \"PT1H\",\n        \"startTime\": \"2024-09-01T08:00:00.7Z\"\n    },\n    \"parameters\": {\n        \"batchSize\": null,\n        \"maxFailedItems\": null,\n        \"maxFailedItemsPerBatch\": null,\n        \"base64EncodeKeys\": null,\n        \"configuration\": {\n            \"indexedFileNameExtensions\": \".pdf, .docx\",\n            \"excludedFileNameExtensions\": \".png, .jpg\",\n            \"dataToExtract\": \"contentAndMetadata\"\n        }\n    },\n    \"fieldMappings\": [\n        {\n            \"sourceFieldName\": \"metadata_spo_site_library_item_id\",\n            \"targetFieldName\": \"id\",\n            \"mappingFunction\": {\n                \"name\": \"base64Encode\"\n            }\n        }\n    ]\n}",
					"options": {
						"raw": {
							"language": "json"
						}
					}
				},
				"url": {
					"raw": "https://{{service-name}}.search.windows.net/indexers?api-version={{api-version}}",
					"protocol": "https",
					"host": [
						"{{service-name}}",
						"search",
						"windows",
						"net"
					],
					"path": [
						"indexers"
					],
					"query": [
						{
							"key": "api-version",
							"value": "{{api-version}}"
						}
					]
				}
			},
			"response": []
		},
		{
			"name": "4.1 Get Indexer Status",
			"request": {
				"method": "POST",
				"header": [
					{
						"key": "api-key",
						"value": "{{api-key}}",
						"type": "text"
					},
					{
						"key": "Content-Type",
						"value": "application/json",
						"type": "text"
					}
				],
				"body": {
					"mode": "raw",
					"raw": "{\n    \"name\": \"sharepoint-indexer\",\n    \"dataSourceName\": \"sharepoint-datasource\",\n    \"targetIndexName\": \"sharepoint-index\",\n    \"skillsetName\": \"chunk-and-embed\",\n    \"schedule\": {\n        \"interval\": \"PT1H\",\n        \"startTime\": \"2024-09-01T08:00:00.7Z\"\n    },\n    \"parameters\": {\n        \"batchSize\": null,\n        \"maxFailedItems\": null,\n        \"maxFailedItemsPerBatch\": null,\n        \"base64EncodeKeys\": null,\n        \"configuration\": {\n            \"indexedFileNameExtensions\": \".pdf, .docx\",\n            \"excludedFileNameExtensions\": \".png, .jpg\",\n            \"dataToExtract\": \"contentAndMetadata\"\n        }\n    },\n    \"fieldMappings\": [\n        {\n            \"sourceFieldName\": \"metadata_spo_site_library_item_id\",\n            \"targetFieldName\": \"id\",\n            \"mappingFunction\": {\n                \"name\": \"base64Encode\"\n            }\n        }\n    ]\n}",
					"options": {
						"raw": {
							"language": "json"
						}
					}
				},
				"url": {
					"raw": "https://{{service-name}}.search.windows.net/indexers?api-version={{api-version}}",
					"protocol": "https",
					"host": [
						"{{service-name}}",
						"search",
						"windows",
						"net"
					],
					"path": [
						"indexers"
					],
					"query": [
						{
							"key": "api-version",
							"value": "{{api-version}}"
						}
					]
				}
			},
			"response": []
		},
		{
			"name": "Sample Vector Search",
			"request": {
				"method": "POST",
				"header": [
					{
						"key": "api-key",
						"value": "{{query-api-key}}",
						"type": "text"
					},
					{
						"key": "Content-Type",
						"value": "application/json",
						"type": "text"
					}
				],
				"body": {
					"mode": "raw",
					"raw": "{\n    \"select\": \"*\",\n    \"vectorQueries\": [\n        {\n            \"kind\": \"text\",\n            \"text\": \"Can you tell me what a bert model is?\",\n            \"fields\": \"embedding\",\n            \"k\": 3,\n            \"exhaustive\": false\n        }\n    ]\n}",
					"options": {
						"raw": {
							"language": "json"
						}
					}
				},
				"url": {
					"raw": "https://{{service-name}}.search.windows.net/indexes/sharepoint-index/docs/search?api-version={{api-version}}",
					"protocol": "https",
					"host": [
						"{{service-name}}",
						"search",
						"windows",
						"net"
					],
					"path": [
						"indexes",
						"sharepoint-index",
						"docs",
						"search"
					],
					"query": [
						{
							"key": "api-version",
							"value": "{{api-version}}"
						}
					]
				}
			},
			"response": []
		}
	],
	"event": [
		{
			"listen": "prerequest",
			"script": {
				"type": "text/javascript",
				"packages": {},
				"exec": [
					""
				]
			}
		},
		{
			"listen": "test",
			"script": {
				"type": "text/javascript",
				"packages": {},
				"exec": [
					""
				]
			}
		}
	],
	"variable": [
		{
			"key": "api-key",
			"value": "",
			"type": "string"
		},
		{
			"key": "api-version",
			"value": "2024-05-01-preview",
			"type": "string"
		},
		{
			"key": "embedding-api-key",
			"value": "",
			"type": "string"
		},
		{
			"key": "embedding-deployment-id",
			"value": "",
			"type": "string"
		},
		{
			"key": "embedding-model-name",
			"value": "text-embedding-ada-002",
			"type": "string"
		},
		{
			"key": "embedding-resource-url",
			"value": "",
			"type": "string"
		},
		{
			"key": "microsoft-entra-application-id",
			"value": "",
			"type": "string"
		},
		{
			"key": "microsoft-entra-application-secret",
			"value": "",
			"type": "string"
		},
		{
			"key": "query-api-key",
			"value": "",
			"type": "string"
		},
		{
			"key": "service-name",
			"value": "",
			"type": "string"
		},
		{
			"key": "share-point-online-endpoint",
			"value": "",
			"type": "string"
		}
	]
}