diff --git a/open-api.json b/open-api.json
index 8e01bc5..5ecbf9e 100644
--- a/open-api.json
+++ b/open-api.json
@@ -1,13805 +1,11437 @@
{
- "openapi": "3.1.0",
- "info": {
- "title": "meilisearch",
- "description": "Meilisearch HTTP server",
- "contact": {
- "name": "Quentin de Quelen",
- "email": "quentin@dequelen.me"
+ "openapi": "3.1.0",
+ "info": {
+ "title": "meilisearch",
+ "description": "Meilisearch HTTP server",
+ "contact": {
+ "name": "Quentin de Quelen",
+ "email": "quentin@dequelen.me"
+ },
+ "license": {
+ "name": "MIT",
+ "identifier": "MIT"
+ },
+ "version": "1.17.0"
},
- "license": {
- "name": "MIT",
- "identifier": "MIT"
- },
- "version": "1.15.2"
- },
- "servers": [
- {
- "url": "/",
- "description": "Local server"
- }
- ],
- "paths": {
- "/batches": {
- "get": {
- "tags": [
- "Batches"
- ],
- "summary": "Get batches",
- "description": "List all batches, regardless of index. The batch objects are contained in the results array.\nBatches are always returned in descending order of uid. This means that by default, the most recently created batch objects appear first.\nBatch results are paginated and can be filtered with query parameters.",
- "operationId": "get_batches",
- "parameters": [
- {
- "name": "limit",
- "in": "query",
- "description": "Maximum number of results to return.",
- "required": false,
- "schema": {
- "type": "integer",
- "format": "u-int32",
- "default": 20,
- "minimum": 0
- },
- "example": 12
- },
- {
- "name": "from",
- "in": "query",
- "description": "Fetch the next set of results from the given uid.",
- "required": false,
- "schema": {
- "type": "integer",
- "format": "u-int32",
- "minimum": 0
- },
- "example": 12421
- },
- {
- "name": "reverse",
- "in": "query",
- "description": "The order you want to retrieve the objects.",
- "required": false,
- "schema": {
- "type": "boolean"
- },
- "example": true
- },
- {
- "name": "batchUids",
- "in": "query",
- "description": "Permits to filter tasks by their batch uid. By default, when the `batchUids` query parameter is not set, all task uids are returned. It's possible to specify several batch uids by separating them with the `,` character.",
- "required": false,
- "schema": {
- "type": "integer",
- "format": "u-int32",
- "minimum": 0
- },
- "example": 12421
- },
- {
- "name": "uids",
- "in": "query",
- "description": "Permits to filter tasks by their uid. By default, when the uids query parameter is not set, all task uids are returned. It's possible to specify several uids by separating them with the `,` character.",
- "required": false,
- "schema": {
- "type": "array",
- "items": {
- "type": "integer",
- "format": "u-int32",
- "minimum": 0
- }
- },
- "example": [
- 231,
- 423,
- 598,
- "*"
- ]
- },
- {
- "name": "canceledBy",
- "in": "query",
- "description": "Permits to filter tasks using the uid of the task that canceled them. It's possible to specify several task uids by separating them with the `,` character.",
- "required": false,
- "schema": {
- "type": "array",
- "items": {
- "type": "integer",
- "format": "u-int32",
- "minimum": 0
- }
- },
- "example": [
- 374,
- "*"
- ]
- },
- {
- "name": "types",
- "in": "query",
- "description": "Permits to filter tasks by their related type. By default, when `types` query parameter is not set, all task types are returned. It's possible to specify several types by separating them with the `,` character.",
- "required": false,
- "schema": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "example": [
- "documentAdditionOrUpdate",
- "*"
- ]
- },
- {
- "name": "statuses",
- "in": "query",
- "description": "Permits to filter tasks by their status. By default, when `statuses` query parameter is not set, all task statuses are returned. It's possible to specify several statuses by separating them with the `,` character.",
- "required": false,
- "schema": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/Status"
- }
- },
- "example": [
- "succeeded",
- "failed",
- "canceled",
- "enqueued",
- "processing",
- "*"
- ]
- },
- {
- "name": "indexUids",
- "in": "query",
- "description": "Permits to filter tasks by their related index. By default, when `indexUids` query parameter is not set, the tasks of all the indexes are returned. It is possible to specify several indexes by separating them with the `,` character.",
- "required": false,
- "schema": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "example": [
- "movies",
- "theater",
- "*"
- ]
- },
- {
- "name": "afterEnqueuedAt",
- "in": "query",
- "description": "Permits to filter tasks based on their enqueuedAt time. Matches tasks enqueued after the given date. Supports RFC 3339 date format.",
- "required": false,
- "schema": {
- "type": "string"
- },
- "example": [
- "2024-08-08T16:37:09.971Z",
- "*"
- ]
- },
- {
- "name": "beforeEnqueuedAt",
- "in": "query",
- "description": "Permits to filter tasks based on their enqueuedAt time. Matches tasks enqueued before the given date. Supports RFC 3339 date format.",
- "required": false,
- "schema": {
- "type": "string"
- },
- "example": [
- "2024-08-08T16:37:09.971Z",
- "*"
- ]
- },
- {
- "name": "afterStartedAt",
- "in": "query",
- "description": "Permits to filter tasks based on their startedAt time. Matches tasks started after the given date. Supports RFC 3339 date format.",
- "required": false,
- "schema": {
- "type": "string"
- },
- "example": [
- "2024-08-08T16:37:09.971Z",
- "*"
- ]
- },
- {
- "name": "beforeStartedAt",
- "in": "query",
- "description": "Permits to filter tasks based on their startedAt time. Matches tasks started before the given date. Supports RFC 3339 date format.",
- "required": false,
- "schema": {
- "type": "string"
- },
- "example": [
- "2024-08-08T16:37:09.971Z",
- "*"
- ]
- },
- {
- "name": "afterFinishedAt",
- "in": "query",
- "description": "Permits to filter tasks based on their finishedAt time. Matches tasks finished after the given date. Supports RFC 3339 date format.",
- "required": false,
- "schema": {
- "type": "string"
- },
- "example": [
- "2024-08-08T16:37:09.971Z",
- "*"
- ]
- },
- {
- "name": "beforeFinishedAt",
- "in": "query",
- "description": "Permits to filter tasks based on their finishedAt time. Matches tasks finished before the given date. Supports RFC 3339 date format.",
- "required": false,
- "schema": {
- "type": "string"
- },
- "example": [
- "2024-08-08T16:37:09.971Z",
- "*"
- ]
- }
- ],
- "responses": {
- "200": {
- "description": "Return the batches",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/AllBatches"
- },
- "example": {
- "results": [
- {
- "uid": 2,
- "details": {
- "stopWords": [
- "of",
- "the"
- ]
- },
- "progress": null,
- "stats": {
- "totalNbTasks": 1,
- "status": {
- "succeeded": 1
- },
- "types": {
- "settingsUpdate": 1
- },
- "indexUids": {
- "INDEX_NAME": 1
- }
- },
- "duration": "PT0.110083S",
- "startedAt": "2024-12-10T15:49:04.995321Z",
- "finishedAt": "2024-12-10T15:49:05.105404Z"
- }
- ],
- "total": 3,
- "limit": 1,
- "from": 2,
- "next": 1
- }
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "tasks.get",
- "tasks.*",
- "*"
- ]
- }
- ]
- }
- },
- "/batches/{batchUid}": {
- "get": {
- "tags": [
- "Batches"
- ],
- "summary": "Get one batch",
- "description": "Get a single batch.",
- "operationId": "get_batch",
- "parameters": [
- {
- "name": "batchUid",
- "in": "path",
- "description": "The unique batch id",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "8685"
- }
- ],
- "responses": {
- "200": {
- "description": "Return the batch",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/BatchView"
- },
- "example": {
- "uid": 1,
- "details": {
- "receivedDocuments": 1,
- "indexedDocuments": 1
- },
- "progress": null,
- "stats": {
- "totalNbTasks": 1,
- "status": {
- "succeeded": 1
+ "servers": [{
+ "url": "/",
+ "description": "Local server"
+ }],
+ "paths": {
+ "/batches": {
+ "get": {
+ "tags": ["Batches"],
+ "summary": "Get batches",
+ "description": "List all batches, regardless of index. The batch objects are contained in the results array.\nBatches are always returned in descending order of uid. This means that by default, the most recently created batch objects appear first.\nBatch results are paginated and can be filtered with query parameters.",
+ "operationId": "get_batches",
+ "parameters": [{
+ "name": "limit",
+ "in": "query",
+ "description": "Maximum number of results to return.",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "format": "u-int32",
+ "default": 20,
+ "minimum": 0
},
- "types": {
- "documentAdditionOrUpdate": 1
+ "example": 12
+ }, {
+ "name": "from",
+ "in": "query",
+ "description": "Fetch the next set of results from the given uid.",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "format": "u-int32",
+ "minimum": 0
},
- "indexUids": {
- "INDEX_NAME": 1
+ "example": 12421
+ }, {
+ "name": "reverse",
+ "in": "query",
+ "description": "The order you want to retrieve the objects.",
+ "required": false,
+ "schema": {
+ "type": "boolean"
+ },
+ "example": true
+ }, {
+ "name": "batchUids",
+ "in": "query",
+ "description": "Permits to filter tasks by their batch uid. By default, when the `batchUids` query parameter is not set, all task uids are returned. It's possible to specify several batch uids by separating them with the `,` character.",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "format": "u-int32",
+ "minimum": 0
+ },
+ "example": 12421
+ }, {
+ "name": "uids",
+ "in": "query",
+ "description": "Permits to filter tasks by their uid. By default, when the uids query parameter is not set, all task uids are returned. It's possible to specify several uids by separating them with the `,` character.",
+ "required": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "integer",
+ "format": "u-int32",
+ "minimum": 0
+ }
+ },
+ "example": [231, 423, 598, "*"]
+ }, {
+ "name": "canceledBy",
+ "in": "query",
+ "description": "Permits to filter tasks using the uid of the task that canceled them. It's possible to specify several task uids by separating them with the `,` character.",
+ "required": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "integer",
+ "format": "u-int32",
+ "minimum": 0
+ }
+ },
+ "example": [374, "*"]
+ }, {
+ "name": "types",
+ "in": "query",
+ "description": "Permits to filter tasks by their related type. By default, when `types` query parameter is not set, all task types are returned. It's possible to specify several types by separating them with the `,` character.",
+ "required": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "example": ["documentAdditionOrUpdate", "*"]
+ }, {
+ "name": "statuses",
+ "in": "query",
+ "description": "Permits to filter tasks by their status. By default, when `statuses` query parameter is not set, all task statuses are returned. It's possible to specify several statuses by separating them with the `,` character.",
+ "required": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Status"
+ }
+ },
+ "example": ["succeeded", "failed", "canceled", "enqueued", "processing", "*"]
+ }, {
+ "name": "indexUids",
+ "in": "query",
+ "description": "Permits to filter tasks by their related index. By default, when `indexUids` query parameter is not set, the tasks of all the indexes are returned. It is possible to specify several indexes by separating them with the `,` character.",
+ "required": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "example": ["movies", "theater", "*"]
+ }, {
+ "name": "afterEnqueuedAt",
+ "in": "query",
+ "description": "Permits to filter tasks based on their enqueuedAt time. Matches tasks enqueued after the given date. Supports RFC 3339 date format.",
+ "required": false,
+ "schema": {
+ "type": "string"
+ },
+ "example": ["2024-08-08T16:37:09.971Z", "*"]
+ }, {
+ "name": "beforeEnqueuedAt",
+ "in": "query",
+ "description": "Permits to filter tasks based on their enqueuedAt time. Matches tasks enqueued before the given date. Supports RFC 3339 date format.",
+ "required": false,
+ "schema": {
+ "type": "string"
+ },
+ "example": ["2024-08-08T16:37:09.971Z", "*"]
+ }, {
+ "name": "afterStartedAt",
+ "in": "query",
+ "description": "Permits to filter tasks based on their startedAt time. Matches tasks started after the given date. Supports RFC 3339 date format.",
+ "required": false,
+ "schema": {
+ "type": "string"
+ },
+ "example": ["2024-08-08T16:37:09.971Z", "*"]
+ }, {
+ "name": "beforeStartedAt",
+ "in": "query",
+ "description": "Permits to filter tasks based on their startedAt time. Matches tasks started before the given date. Supports RFC 3339 date format.",
+ "required": false,
+ "schema": {
+ "type": "string"
+ },
+ "example": ["2024-08-08T16:37:09.971Z", "*"]
+ }, {
+ "name": "afterFinishedAt",
+ "in": "query",
+ "description": "Permits to filter tasks based on their finishedAt time. Matches tasks finished after the given date. Supports RFC 3339 date format.",
+ "required": false,
+ "schema": {
+ "type": "string"
+ },
+ "example": ["2024-08-08T16:37:09.971Z", "*"]
+ }, {
+ "name": "beforeFinishedAt",
+ "in": "query",
+ "description": "Permits to filter tasks based on their finishedAt time. Matches tasks finished before the given date. Supports RFC 3339 date format.",
+ "required": false,
+ "schema": {
+ "type": "string"
+ },
+ "example": ["2024-08-08T16:37:09.971Z", "*"]
+ }],
+ "responses": {
+ "200": {
+ "description": "Return the batches",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/AllBatches"
+ },
+ "example": {
+ "results": [{
+ "uid": 2,
+ "details": {
+ "stopWords": ["of", "the"]
+ },
+ "progress": null,
+ "stats": {
+ "totalNbTasks": 1,
+ "status": {
+ "succeeded": 1
+ },
+ "types": {
+ "settingsUpdate": 1
+ },
+ "indexUids": {
+ "INDEX_NAME": 1
+ }
+ },
+ "duration": "PT0.110083S",
+ "startedAt": "2024-12-10T15:49:04.995321Z",
+ "finishedAt": "2024-12-10T15:49:05.105404Z"
+ }],
+ "total": 3,
+ "limit": 1,
+ "from": 2,
+ "next": 1
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["tasks.get", "tasks.*", "*"]
+ }]
+ }
+ },
+ "/batches/{batchUid}": {
+ "get": {
+ "tags": ["Batches"],
+ "summary": "Get one batch",
+ "description": "Get a single batch.",
+ "operationId": "get_batch",
+ "parameters": [{
+ "name": "batchUid",
+ "in": "path",
+ "description": "The unique batch id",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "8685"
+ }],
+ "responses": {
+ "200": {
+ "description": "Return the batch",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BatchView"
+ },
+ "example": {
+ "uid": 1,
+ "details": {
+ "receivedDocuments": 1,
+ "indexedDocuments": 1
+ },
+ "progress": null,
+ "stats": {
+ "totalNbTasks": 1,
+ "status": {
+ "succeeded": 1
+ },
+ "types": {
+ "documentAdditionOrUpdate": 1
+ },
+ "indexUids": {
+ "INDEX_NAME": 1
+ }
+ },
+ "duration": "PT0.364788S",
+ "startedAt": "2024-12-10T15:48:49.672141Z",
+ "finishedAt": "2024-12-10T15:48:50.036929Z"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["tasks.get", "tasks.*", "*"]
+ }]
+ }
+ },
+ "/dumps": {
+ "post": {
+ "tags": ["Dumps"],
+ "summary": "Create a dump",
+ "description": "Triggers a dump creation process. Once the process is complete, a dump is created in the\n[dump directory](https://www.meilisearch.com/docs/learn/self_hosted/configure_meilisearch_at_launch#dump-directory).\nIf the dump directory does not exist yet, it will be created.",
+ "operationId": "create_dump",
+ "responses": {
+ "202": {
+ "description": "Dump is being created",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SummarizedTaskView"
+ },
+ "example": {
+ "taskUid": 0,
+ "indexUid": null,
+ "status": "enqueued",
+ "type": "DumpCreation",
+ "enqueuedAt": "2021-01-01T09:39:00.000000Z"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["dumps.create", "dumps.*", "*"]
+ }]
+ }
+ },
+ "/experimental-features": {
+ "get": {
+ "tags": ["Experimental features"],
+ "summary": "Get all experimental features",
+ "description": "Get a list of all experimental features that can be activated via the /experimental-features route and whether or not they are currently activated.",
+ "operationId": "get_features",
+ "responses": {
+ "200": {
+ "description": "Experimental features are returned",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/RuntimeTogglableFeatures"
+ },
+ "example": {
+ "metrics": true,
+ "logsRoute": false,
+ "editDocumentsByFunction": false,
+ "containsFilter": false,
+ "network": false,
+ "getTaskDocumentsRoute": false,
+ "compositeEmbedders": false,
+ "chatCompletions": false,
+ "multimodal": false
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["experimental_features.get", "experimental_features.*", "*"]
+ }]
+ },
+ "patch": {
+ "tags": ["Experimental features"],
+ "summary": "Configure experimental features",
+ "description": "Activate or deactivate experimental features.",
+ "operationId": "patch_features",
+ "responses": {
+ "200": {
+ "description": "Experimental features are returned",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/RuntimeTogglableFeatures"
+ },
+ "example": {
+ "metrics": true,
+ "logsRoute": false,
+ "editDocumentsByFunction": false,
+ "containsFilter": false,
+ "network": false,
+ "getTaskDocumentsRoute": false,
+ "compositeEmbedders": false,
+ "chatCompletions": false,
+ "multimodal": false
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["experimental_features.update", "experimental_features.*", "*"]
+ }]
+ }
+ },
+ "/export": {
+ "post": {
+ "tags": ["Export"],
+ "operationId": "export",
+ "responses": {
+ "202": {
+ "description": "Export successfully enqueued",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SummarizedTaskView"
+ },
+ "example": {
+ "taskUid": 1,
+ "status": "enqueued",
+ "type": "export",
+ "enqueuedAt": "2021-08-11T09:25:53.000000Z"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["export", "*"]
+ }]
+ }
+ },
+ "/health": {
+ "get": {
+ "tags": ["Health"],
+ "summary": "Get Health",
+ "description": "The health check endpoint enables you to periodically test the health of your Meilisearch instance.",
+ "operationId": "get_health",
+ "responses": {
+ "200": {
+ "description": "Instance is healthy",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HealthResponse"
+ },
+ "example": {
+ "status": "available"
+ }
+ }
+ }
}
- },
- "duration": "PT0.364788S",
- "startedAt": "2024-12-10T15:48:49.672141Z",
- "finishedAt": "2024-12-10T15:48:50.036929Z"
- }
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "tasks.get",
- "tasks.*",
- "*"
- ]
- }
- ]
- }
- },
- "/dumps": {
- "post": {
- "tags": [
- "Dumps"
- ],
- "summary": "Create a dump",
- "description": "Triggers a dump creation process. Once the process is complete, a dump is created in the\n[dump directory](https://www.meilisearch.com/docs/learn/self_hosted/configure_meilisearch_at_launch#dump-directory).\nIf the dump directory does not exist yet, it will be created.",
- "operationId": "create_dump",
- "responses": {
- "202": {
- "description": "Dump is being created",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SummarizedTaskView"
- },
- "example": {
- "taskUid": 0,
- "indexUid": null,
- "status": "enqueued",
- "type": "DumpCreation",
- "enqueuedAt": "2021-01-01T09:39:00.000000Z"
- }
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "dumps.create",
- "dumps.*",
- "*"
- ]
- }
- ]
- }
- },
- "/experimental-features": {
- "get": {
- "tags": [
- "Experimental features"
- ],
- "summary": "Get all experimental features",
- "description": "Get a list of all experimental features that can be activated via the /experimental-features route and whether or not they are currently activated.",
- "operationId": "get_features",
- "responses": {
- "200": {
- "description": "Experimental features are returned",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/RuntimeTogglableFeatures"
- },
- "example": {
- "metrics": true,
- "logsRoute": false,
- "editDocumentsByFunction": false,
- "containsFilter": false,
- "network": false,
- "getTaskDocumentsRoute": false,
- "compositeEmbedders": false,
- "chatCompletions": false
- }
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "experimental_features.get",
- "experimental_features.*",
- "*"
- ]
- }
- ]
- },
- "patch": {
- "tags": [
- "Experimental features"
- ],
- "summary": "Configure experimental features",
- "description": "Activate or deactivate experimental features.",
- "operationId": "patch_features",
- "responses": {
- "200": {
- "description": "Experimental features are returned",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/RuntimeTogglableFeatures"
- },
- "example": {
- "metrics": true,
- "logsRoute": false,
- "editDocumentsByFunction": false,
- "containsFilter": false,
- "network": false,
- "getTaskDocumentsRoute": false,
- "compositeEmbedders": false,
- "chatCompletions": false
- }
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "experimental_features.update",
- "experimental_features.*",
- "*"
- ]
- }
- ]
- }
- },
- "/health": {
- "get": {
- "tags": [
- "Health"
- ],
- "summary": "Get Health",
- "description": "The health check endpoint enables you to periodically test the health of your Meilisearch instance.",
- "operationId": "get_health",
- "responses": {
- "200": {
- "description": "Instance is healthy",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/HealthResponse"
- },
- "example": {
- "status": "available"
- }
- }
- }
- }
- }
- }
- },
- "/indexes": {
- "get": {
- "tags": [
- "Indexes"
- ],
- "summary": "List indexes",
- "description": "List all indexes.",
- "operationId": "list_indexes",
- "parameters": [
- {
- "name": "offset",
- "in": "query",
- "description": "The number of indexes to skip before starting to retrieve anything",
- "required": false,
- "schema": {
- "type": "integer",
- "minimum": 0
- },
- "example": 100
- },
- {
- "name": "limit",
- "in": "query",
- "description": "The number of indexes to retrieve",
- "required": false,
- "schema": {
- "type": "integer",
- "default": 20,
- "minimum": 0
- },
- "example": 1
- }
- ],
- "responses": {
- "200": {
- "description": "Indexes are returned",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/PaginationView_IndexView"
- },
- "example": {
- "results": [
- {
- "uid": "movies",
- "primaryKey": "movie_id",
- "createdAt": "2019-11-20T09:40:33.711324Z",
- "updatedAt": "2019-11-20T09:40:33.711324Z"
- }
- ],
- "limit": 1,
- "offset": 0,
- "total": 1
- }
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "indexes.get",
- "indexes.*",
- "*"
- ]
- }
- ]
- },
- "post": {
- "tags": [
- "Indexes"
- ],
- "summary": "Create index",
- "description": "Create an index.",
- "operationId": "create_index",
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/IndexCreateRequest"
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "description": "Task successfully enqueued",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SummarizedTaskView"
- },
- "example": {
- "taskUid": 147,
- "indexUid": "movies",
- "status": "enqueued",
- "type": "indexCreation",
- "enqueuedAt": "2024-08-08T17:05:55.791772Z"
- }
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "indexes.create",
- "indexes.*",
- "*"
- ]
- }
- ]
- }
- },
- "/indexes/{indexUid}": {
- "get": {
- "tags": [
- "Indexes"
- ],
- "summary": "Get index",
- "description": "Get information about an index.",
- "operationId": "get_index",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- }
- ],
- "responses": {
- "200": {
- "description": "The index is returned",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/IndexView"
- },
- "example": {
- "uid": "movies",
- "primaryKey": "movie_id",
- "createdAt": "2019-11-20T09:40:33.711324Z",
- "updatedAt": "2019-11-20T09:40:33.711324Z"
- }
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- },
- "404": {
- "description": "Index not found",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "Index `movies` not found.",
- "code": "index_not_found",
- "type": "invalid_request",
- "link": "https://docs.meilisearch.com/errors#index_not_found"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "indexes.get",
- "indexes.*",
- "*"
- ]
- }
- ]
- },
- "delete": {
- "tags": [
- "Indexes"
- ],
- "summary": "Delete index",
- "description": "Delete an index.",
- "operationId": "delete_index",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- }
- ],
- "responses": {
- "202": {
- "description": "Task successfully enqueued",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SummarizedTaskView"
- },
- "example": {
- "taskUid": 0,
- "indexUid": "movies",
- "status": "enqueued",
- "type": "indexDeletion",
- "enqueuedAt": "2021-01-01T09:39:00.000000Z"
- }
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "indexes.delete",
- "indexes.*",
- "*"
- ]
- }
- ]
- },
- "patch": {
- "tags": [
- "Indexes"
- ],
- "summary": "Update index",
- "description": "Update the `primaryKey` of an index.\nReturn an error if the index doesn't exists yet or if it contains documents.",
- "operationId": "update_index",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- }
- ],
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/UpdateIndexRequest"
- }
- }
- },
- "required": true
- },
- "responses": {
- "202": {
- "description": "Task successfully enqueued",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SummarizedTaskView"
- },
- "example": {
- "taskUid": 0,
- "indexUid": "movies",
- "status": "enqueued",
- "type": "indexUpdate",
- "enqueuedAt": "2021-01-01T09:39:00.000000Z"
- }
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "indexes.update",
- "indexes.*",
- "*"
- ]
- }
- ]
- }
- },
- "/indexes/{indexUid}/delete-batch": {
- "post": {
- "tags": [
- "Documents"
- ],
- "summary": "Delete documents by batch",
- "description": "Delete a set of documents based on an array of document ids.",
- "operationId": "delete_documents_batch",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- }
- ],
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "type": "array",
- "items": {}
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "description": "Task successfully enqueued",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SummarizedTaskView"
- },
- "example": {
- "taskUid": 147,
- "indexUid": null,
- "status": "enqueued",
- "type": "documentAdditionOrUpdate",
- "enqueuedAt": "2024-08-08T17:05:55.791772Z"
- }
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "documents.delete",
- "documents.*",
- "*"
- ]
- }
- ]
- }
- },
- "/indexes/{indexUid}/documents": {
- "get": {
- "tags": [
- "Documents"
- ],
- "summary": "Get documents",
- "description": "Get documents by batches.",
- "operationId": "get_documents",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- },
- {
- "name": "offset",
- "in": "query",
- "required": false,
- "schema": {
- "type": "integer",
- "minimum": 0
- }
- },
- {
- "name": "limit",
- "in": "query",
- "required": false,
- "schema": {
- "type": "integer",
- "minimum": 0
- }
- },
- {
- "name": "fields",
- "in": "query",
- "required": false,
- "schema": {
- "type": "array",
- "items": {
- "type": "string"
- }
- }
- },
- {
- "name": "retrieveVectors",
- "in": "query",
- "required": false,
- "schema": {
- "type": "boolean"
- }
- },
- {
- "name": "ids",
- "in": "query",
- "required": false,
- "schema": {
- "type": "array",
- "items": {
- "type": "string"
- }
- }
- },
- {
- "name": "filter",
- "in": "query",
- "required": false,
- "schema": {
- "type": "string"
- },
- "example": "popularity > 1000"
- }
- ],
- "responses": {
- "200": {
- "description": "The documents are returned",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/PaginationView_Value"
- },
- "example": {
- "results": [
- {
- "id": 25684,
- "title": "American Ninja 5",
- "poster": "https://image.tmdb.org/t/p/w1280/iuAQVI4mvjI83wnirpD8GVNRVuY.jpg",
- "overview": "When a scientists daughter is kidnapped, American Ninja, attempts to find her, but this time he teams up with a youngster he has trained in the ways of the ninja.",
- "release_date": 725846400
- },
- {
- "id": 45881,
- "title": "The Bridge of San Luis Rey",
- "poster": "https://image.tmdb.org/t/p/w500/4X7quIcdkc24Cveg5XdpfRqxtYA.jpg",
- "overview": "The Bridge of San Luis Rey is American author Thornton Wilder's second novel, first published in 1927 to worldwide acclaim. It tells the story of several interrelated people who die in the collapse of an Inca rope-fiber suspension bridge in Peru, and the events that lead up to their being on the bridge.[ A friar who has witnessed the tragic accident then goes about inquiring into the lives of the victims, seeking some sort of cosmic answer to the question of why each had to die. The novel won the Pulitzer Prize in 1928.",
- "release_date": 1072915200
- }
- ],
- "limit": 20,
- "offset": 0,
- "total": 2
- }
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- },
- "404": {
- "description": "Index not found",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "Index `movies` not found.",
- "code": "index_not_found",
- "type": "invalid_request",
- "link": "https://docs.meilisearch.com/errors#index_not_found"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "documents.get",
- "documents.*",
- "*"
- ]
- }
- ]
- },
- "put": {
- "tags": [
- "Documents"
- ],
- "summary": "Add or update documents",
- "description": "Add a list of documents or update them if they already exist.\nIf you send an already existing document (same id) the old document will be only partially updated according to the fields of the new document. Thus, any fields not present in the new document are kept and remained unchanged.\nTo completely overwrite a document, see Add or replace documents route.\n> info\n> If the provided index does not exist, it will be created.\n> info\n> Use the reserved `_geo` object to add geo coordinates to a document. `_geo` is an object made of `lat` and `lng` field.\n>\n> When the vectorStore feature is enabled you can use the reserved `_vectors` field in your documents.\n> It can accept an array of floats, multiple arrays of floats in an outer array or an object.\n> This object accepts keys corresponding to the different embedders defined your index settings.",
- "operationId": "update_documents",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- },
- {
- "name": "primaryKey",
- "in": "query",
- "description": "The primary key of the documents. primaryKey is optional. If you want to set the primary key of your index through this route,\nit only has to be done the first time you add documents to the index. After which it will be ignored if given.",
- "required": false,
- "schema": {
- "type": "string"
- },
- "example": "id"
- },
- {
- "name": "csvDelimiter",
- "in": "query",
- "description": "Customize the csv delimiter when importing CSV documents.",
- "required": true,
- "schema": {
- "type": "string",
- "default": ","
- },
- "example": ";"
- }
- ],
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {}
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "description": "Task successfully enqueued",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SummarizedTaskView"
- },
- "example": {
- "taskUid": 147,
- "indexUid": null,
- "status": "enqueued",
- "type": "documentAdditionOrUpdate",
- "enqueuedAt": "2024-08-08T17:05:55.791772Z"
- }
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "documents.add",
- "documents.*",
- "*"
- ]
- }
- ]
- },
- "post": {
- "tags": [
- "Documents"
- ],
- "summary": "Add or replace documents",
- "description": "Add a list of documents or replace them if they already exist.\n\nIf you send an already existing document (same id) the whole existing document will be overwritten by the new document. Fields previously in the document not present in the new document are removed.\n\nFor a partial update of the document see Add or update documents route.\n> info\n> If the provided index does not exist, it will be created.\n> info\n> Use the reserved `_geo` object to add geo coordinates to a document. `_geo` is an object made of `lat` and `lng` field.\n>\n> When the vectorStore feature is enabled you can use the reserved `_vectors` field in your documents.\n> It can accept an array of floats, multiple arrays of floats in an outer array or an object.\n> This object accepts keys corresponding to the different embedders defined your index settings.",
- "operationId": "replace_documents",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- },
- {
- "name": "primaryKey",
- "in": "query",
- "description": "The primary key of the documents. primaryKey is optional. If you want to set the primary key of your index through this route,\nit only has to be done the first time you add documents to the index. After which it will be ignored if given.",
- "required": false,
- "schema": {
- "type": "string"
- },
- "example": "id"
- },
- {
- "name": "csvDelimiter",
- "in": "query",
- "description": "Customize the csv delimiter when importing CSV documents.",
- "required": true,
- "schema": {
- "type": "string",
- "default": ","
- },
- "example": ";"
- }
- ],
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {}
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "description": "Task successfully enqueued",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SummarizedTaskView"
- },
- "example": {
- "taskUid": 147,
- "indexUid": null,
- "status": "enqueued",
- "type": "documentAdditionOrUpdate",
- "enqueuedAt": "2024-08-08T17:05:55.791772Z"
- }
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "documents.add",
- "documents.*",
- "*"
- ]
- }
- ]
- },
- "delete": {
- "tags": [
- "Documents"
- ],
- "summary": "Delete all documents",
- "description": "Delete all documents in the specified index.",
- "operationId": "clear_all_documents",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- }
- ],
- "responses": {
- "200": {
- "description": "Task successfully enqueued",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SummarizedTaskView"
- },
- "example": {
- "taskUid": 147,
- "indexUid": null,
- "status": "enqueued",
- "type": "documentDeletion",
- "enqueuedAt": "2024-08-08T17:05:55.791772Z"
- }
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "documents.delete",
- "documents.*",
- "*"
- ]
- }
- ]
- }
- },
- "/indexes/{indexUid}/documents/delete": {
- "post": {
- "tags": [
- "Documents"
- ],
- "summary": "Delete documents by filter",
- "description": "Delete a set of documents based on a filter.",
- "operationId": "delete_documents_by_filter",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- }
- ],
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/DocumentDeletionByFilter"
- }
- }
- },
- "required": true
- },
- "responses": {
- "202": {
- "description": "Task successfully enqueued",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SummarizedTaskView"
- },
- "example": {
- "taskUid": 147,
- "indexUid": null,
- "status": "enqueued",
- "type": "documentDeletion",
- "enqueuedAt": "2024-08-08T17:05:55.791772Z"
- }
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "documents.delete",
- "documents.*",
- "*"
- ]
- }
- ]
- }
- },
- "/indexes/{indexUid}/documents/edit": {
- "post": {
- "tags": [
- "Documents"
- ],
- "summary": "Edit documents by function.",
- "description": "Use a [RHAI function](https://rhai.rs/book/engine/hello-world.html) to edit one or more documents directly in Meilisearch.",
- "operationId": "edit_documents_by_function",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- }
- ],
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/DocumentEditionByFunction"
- }
- }
- },
- "required": true
- },
- "responses": {
- "202": {
- "description": "Task successfully enqueued",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SummarizedTaskView"
- },
- "example": {
- "taskUid": 147,
- "indexUid": null,
- "status": "enqueued",
- "type": "documentDeletion",
- "enqueuedAt": "2024-08-08T17:05:55.791772Z"
- }
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "documents.*",
- "*"
- ]
- }
- ]
- }
- },
- "/indexes/{indexUid}/documents/fetch": {
- "post": {
- "tags": [
- "Documents"
- ],
- "summary": "Get documents with POST",
- "description": "Get a set of documents.",
- "operationId": "documents_by_query_post",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- }
- ],
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/BrowseQuery"
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "description": "Task successfully enqueued",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/PaginationView_Value"
- },
- "example": {
- "results": [
- {
- "title": "The Travels of Ibn Battuta",
- "genres": [
- "Travel",
- "Adventure"
- ],
- "language": "English",
- "rating": 4.5
- },
- {
- "title": "Pride and Prejudice",
- "genres": [
- "Classics",
- "Fiction",
- "Romance",
- "Literature"
- ],
- "language": "English",
- "rating": 4
- }
- ],
- "offset": 0,
- "limit": 2,
- "total": 5
- }
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "documents.delete",
- "documents.*",
- "*"
- ]
- }
- ]
- }
- },
- "/indexes/{indexUid}/documents/{documentId}": {
- "get": {
- "tags": [
- "Documents"
- ],
- "summary": "Get one document",
- "description": "Get one document from its primary key.",
- "operationId": "get_document",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- },
- {
- "name": "documentId",
- "in": "path",
- "description": "The document identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "85087"
- },
- {
- "name": "fields",
- "in": "query",
- "required": false,
- "schema": {
- "type": "array",
- "items": {
- "type": "string"
- }
- }
- },
- {
- "name": "retrieveVectors",
- "in": "query",
- "required": false,
- "schema": {
- "type": "boolean"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "The document is returned",
- "content": {
- "application/json": {
- "schema": {},
- "example": {
- "id": 25684,
- "title": "American Ninja 5",
- "poster": "https://image.tmdb.org/t/p/w1280/iuAQVI4mvjI83wnirpD8GVNRVuY.jpg",
- "overview": "When a scientists daughter is kidnapped, American Ninja, attempts to find her, but this time he teams up with a youngster he has trained in the ways of the ninja.",
- "release_date": 725846400
- }
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- },
- "404": {
- "description": "Document not found",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "Document `a` not found.",
- "code": "document_not_found",
- "type": "invalid_request",
- "link": "https://docs.meilisearch.com/errors#document_not_found"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "documents.get",
- "documents.*",
- "*"
- ]
- }
- ]
- },
- "delete": {
- "tags": [
- "Documents"
- ],
- "summary": "Delete a document",
- "description": "Delete a single document by id.",
- "operationId": "delete_document",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- },
- {
- "name": "documentId",
- "in": "path",
- "description": "Document Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "853"
- }
- ],
- "responses": {
- "200": {
- "description": "Task successfully enqueued",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SummarizedTaskView"
- },
- "example": {
- "taskUid": 147,
- "indexUid": null,
- "status": "enqueued",
- "type": "documentAdditionOrUpdate",
- "enqueuedAt": "2024-08-08T17:05:55.791772Z"
- }
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "documents.delete",
- "documents.*",
- "*"
- ]
- }
- ]
- }
- },
- "/indexes/{indexUid}/facet-search": {
- "post": {
- "tags": [
- "Facet Search"
- ],
- "summary": "Perform a facet search",
- "description": "Search for a facet value within a given facet.",
- "operationId": "search",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- }
- ],
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/FacetSearchQuery"
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "description": "The documents are returned",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SearchResult"
- },
- "example": {
- "hits": [
- {
- "id": 2770,
- "title": "American Pie 2",
- "poster": "https://image.tmdb.org/t/p/w1280/q4LNgUnRfltxzp3gf1MAGiK5LhV.jpg",
- "overview": "The whole gang are back and as close as ever. They decide to get even closer by spending the summer together at a beach house. They decide to hold the biggestโฆ",
- "release_date": 997405200
- },
- {
- "id": 190859,
- "title": "American Sniper",
- "poster": "https://image.tmdb.org/t/p/w1280/svPHnYE7N5NAGO49dBmRhq0vDQ3.jpg",
- "overview": "U.S. Navy SEAL Chris Kyle takes his sole missionโprotect his comradesโto heart and becomes one of the most lethal snipers in American history. His pinpoint accuracy not only saves countless lives but also makes him a primeโฆ",
- "release_date": 1418256000
- }
- ],
- "offset": 0,
- "limit": 2,
- "estimatedTotalHits": 976,
- "processingTimeMs": 35,
- "query": "american "
- }
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- },
- "404": {
- "description": "Index not found",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "Index `movies` not found.",
- "code": "index_not_found",
- "type": "invalid_request",
- "link": "https://docs.meilisearch.com/errors#index_not_found"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "search",
- "*"
- ]
- }
- ]
- }
- },
- "/indexes/{indexUid}/search": {
- "get": {
- "tags": [
- "Indexes",
- "Search"
- ],
- "summary": "Search an index with GET",
- "description": "Search for documents matching a specific query in the given index.",
- "operationId": "search_with_url_query",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- },
- {
- "name": "q",
- "in": "query",
- "required": false,
- "schema": {
- "type": "string"
- }
- },
- {
- "name": "vector",
- "in": "query",
- "required": true,
- "schema": {
- "type": "array",
- "items": {
- "type": "number",
- "format": "float"
- }
- },
- "explode": false
- },
- {
- "name": "offset",
- "in": "query",
- "required": true,
- "schema": {
- "type": "integer",
- "default": 0,
- "minimum": 0
- }
- },
- {
- "name": "limit",
- "in": "query",
- "required": true,
- "schema": {
- "type": "integer",
- "default": 20,
- "minimum": 0
- }
- },
- {
- "name": "page",
- "in": "query",
- "required": false,
- "schema": {
- "type": "integer",
- "minimum": 0
- }
- },
- {
- "name": "hitsPerPage",
- "in": "query",
- "required": false,
- "schema": {
- "type": "integer",
- "minimum": 0
- }
- },
- {
- "name": "attributesToRetrieve",
- "in": "query",
- "required": true,
- "schema": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "explode": false
- },
- {
- "name": "retrieveVectors",
- "in": "query",
- "required": true,
- "schema": {
- "type": "boolean"
- }
- },
- {
- "name": "attributesToCrop",
- "in": "query",
- "required": true,
- "schema": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "explode": false
- },
- {
- "name": "cropLength",
- "in": "query",
- "required": true,
- "schema": {
- "type": "integer",
- "default": 10,
- "minimum": 0
- }
- },
- {
- "name": "attributesToHighlight",
- "in": "query",
- "required": true,
- "schema": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "explode": false
- },
- {
- "name": "filter",
- "in": "query",
- "required": false,
- "schema": {
- "type": "string"
- }
- },
- {
- "name": "sort",
- "in": "query",
- "required": false,
- "schema": {
- "type": "string"
- }
- },
- {
- "name": "distinct",
- "in": "query",
- "required": false,
- "schema": {
- "type": "string"
- }
- },
- {
- "name": "showMatchesPosition",
- "in": "query",
- "required": true,
- "schema": {
- "type": "boolean"
- }
- },
- {
- "name": "showRankingScore",
- "in": "query",
- "required": true,
- "schema": {
- "type": "boolean"
- }
- },
- {
- "name": "showRankingScoreDetails",
- "in": "query",
- "required": true,
- "schema": {
- "type": "boolean"
- }
- },
- {
- "name": "facets",
- "in": "query",
- "required": true,
- "schema": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "explode": false
- },
- {
- "name": "highlightPreTag",
- "in": "query",
- "required": true,
- "schema": {
- "type": "string",
- "default": ""
- }
- },
- {
- "name": "highlightPostTag",
- "in": "query",
- "required": true,
- "schema": {
- "type": "string",
- "default": ""
- }
- },
- {
- "name": "cropMarker",
- "in": "query",
- "required": true,
- "schema": {
- "type": "string",
- "default": "โฆ"
- }
- },
- {
- "name": "matchingStrategy",
- "in": "query",
- "required": true,
- "schema": {
- "$ref": "#/components/schemas/MatchingStrategy"
- }
- },
- {
- "name": "attributesToSearchOn",
- "in": "query",
- "required": true,
- "schema": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "explode": false
- },
- {
- "name": "hybridEmbedder",
- "in": "query",
- "required": false,
- "schema": {
- "type": "string"
- }
- },
- {
- "name": "hybridSemanticRatio",
- "in": "query",
- "required": true,
- "schema": {
- "type": "number",
- "format": "float"
- }
- },
- {
- "name": "rankingScoreThreshold",
- "in": "query",
- "required": true,
- "schema": {
- "type": "number",
- "format": "float"
- }
- },
- {
- "name": "locales",
- "in": "query",
- "required": true,
- "schema": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/Locale"
- }
- },
- "explode": false
- }
- ],
- "responses": {
- "200": {
- "description": "The documents are returned",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SearchResult"
- },
- "example": {
- "hits": [
- {
- "id": 2770,
- "title": "American Pie 2",
- "poster": "https://image.tmdb.org/t/p/w1280/q4LNgUnRfltxzp3gf1MAGiK5LhV.jpg",
- "overview": "The whole gang are back and as close as ever. They decide to get even closer by spending the summer together at a beach house. They decide to hold the biggestโฆ",
- "release_date": 997405200
- },
- {
- "id": 190859,
- "title": "American Sniper",
- "poster": "https://image.tmdb.org/t/p/w1280/svPHnYE7N5NAGO49dBmRhq0vDQ3.jpg",
- "overview": "U.S. Navy SEAL Chris Kyle takes his sole missionโprotect his comradesโto heart and becomes one of the most lethal snipers in American history. His pinpoint accuracy not only saves countless lives but also makes him a primeโฆ",
- "release_date": 1418256000
- }
- ],
- "offset": 0,
- "limit": 2,
- "estimatedTotalHits": 976,
- "processingTimeMs": 35,
- "query": "american "
- }
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- },
- "404": {
- "description": "Index not found",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "Index `movies` not found.",
- "code": "index_not_found",
- "type": "invalid_request",
- "link": "https://docs.meilisearch.com/errors#index_not_found"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "search",
- "*"
- ]
- }
- ]
- },
- "post": {
- "tags": [
- "Indexes",
- "Search"
- ],
- "summary": "Search with POST",
- "description": "Search for documents matching a specific query in the given index.",
- "operationId": "search_with_post",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- }
- ],
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SearchQuery"
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "description": "The documents are returned",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SearchResult"
- },
- "example": {
- "hits": [
- {
- "id": 2770,
- "title": "American Pie 2",
- "poster": "https://image.tmdb.org/t/p/w1280/q4LNgUnRfltxzp3gf1MAGiK5LhV.jpg",
- "overview": "The whole gang are back and as close as ever. They decide to get even closer by spending the summer together at a beach house. They decide to hold the biggestโฆ",
- "release_date": 997405200
- },
- {
- "id": 190859,
- "title": "American Sniper",
- "poster": "https://image.tmdb.org/t/p/w1280/svPHnYE7N5NAGO49dBmRhq0vDQ3.jpg",
- "overview": "U.S. Navy SEAL Chris Kyle takes his sole missionโprotect his comradesโto heart and becomes one of the most lethal snipers in American history. His pinpoint accuracy not only saves countless lives but also makes him a primeโฆ",
- "release_date": 1418256000
- }
- ],
- "offset": 0,
- "limit": 2,
- "estimatedTotalHits": 976,
- "processingTimeMs": 35,
- "query": "american "
- }
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- },
- "404": {
- "description": "Index not found",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "Index `movies` not found.",
- "code": "index_not_found",
- "type": "invalid_request",
- "link": "https://docs.meilisearch.com/errors#index_not_found"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "search",
- "*"
- ]
- }
- ]
- }
- },
- "/indexes/{indexUid}/settings": {
- "get": {
- "tags": [
- "Settings"
- ],
- "summary": "All settings",
- "description": "This route allows you to retrieve, configure, or reset all of an index's settings at once.",
- "operationId": "get_all",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- }
- ],
- "responses": {
- "200": {
- "description": "Settings are returned",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/Settings_Unchecked"
- },
- "example": {}
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
}
- }
}
- }
},
- "security": [
- {
- "Bearer": [
- "settings.update",
- "settings.*",
- "*"
- ]
- }
- ]
- },
- "delete": {
- "tags": [
- "Settings"
- ],
- "summary": "Reset settings",
- "description": "Reset all the settings of an index to their default value.",
- "operationId": "delete_all",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- }
- ],
- "responses": {
- "200": {
- "description": "Task successfully enqueued",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SummarizedTaskView"
- },
- "example": {
- "taskUid": 147,
- "indexUid": "movies",
- "status": "enqueued",
- "type": "settingsUpdate",
- "enqueuedAt": "2024-08-08T17:05:55.791772Z"
- }
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "settings.update",
- "settings.*",
- "*"
- ]
- }
- ]
- },
- "patch": {
- "tags": [
- "Settings"
- ],
- "summary": "Update settings",
- "description": "Update the settings of an index.\nPassing null to an index setting will reset it to its default value.\nUpdates in the settings route are partial. This means that any parameters not provided in the body will be left unchanged.\nIf the provided index does not exist, it will be created.",
- "operationId": "update_all",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- }
- ],
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/Settings_Unchecked"
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "description": "Task successfully enqueued",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SummarizedTaskView"
- },
- "example": {
- "taskUid": 147,
- "indexUid": "movies",
- "status": "enqueued",
- "type": "settingsUpdate",
- "enqueuedAt": "2024-08-08T17:05:55.791772Z"
- }
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "settings.update",
- "settings.*",
- "*"
- ]
- }
- ]
- }
- },
- "/indexes/{indexUid}/settings/chat": {
- "get": {
- "tags": [
- "Settings"
- ],
- "summary": "Get chat",
- "description": "Get an user defined chat",
- "operationId": "getchat",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- }
- ],
- "responses": {
- "200": {
- "description": "chat is returned",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ChatSettings"
- },
- "example": {}
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "settings.get",
- "settings.*",
- "*"
- ]
- }
- ]
- },
- "put": {
- "tags": [
- "Settings"
- ],
- "summary": "Update chat",
- "description": "Update an index's user defined chat",
- "operationId": "putchat",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- }
- ],
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ChatSettings"
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "description": "Task successfully enqueued",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SummarizedTaskView"
- },
- "example": {
- "taskUid": 147,
- "indexUid": "movies",
- "status": "enqueued",
- "type": "settingsUpdate",
- "enqueuedAt": "2024-08-08T17:05:55.791772Z"
- }
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "settings.update",
- "settings.*",
- "*"
- ]
- }
- ]
- },
- "delete": {
- "tags": [
- "Settings"
- ],
- "summary": "Reset chat",
- "description": "Reset an index's chat to its default value",
- "operationId": "deletechat",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- }
- ],
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ChatSettings"
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "description": "Task successfully enqueued",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SummarizedTaskView"
- },
- "example": {
- "taskUid": 147,
- "indexUid": "movies",
- "status": "enqueued",
- "type": "settingsUpdate",
- "enqueuedAt": "2024-08-08T17:05:55.791772Z"
- }
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "settings.update",
- "settings.*",
- "*"
- ]
- }
- ]
- }
- },
- "/indexes/{indexUid}/settings/dictionary": {
- "get": {
- "tags": [
- "Settings"
- ],
- "summary": "Get dictionary",
- "description": "Get an user defined dictionary",
- "operationId": "getdictionary",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- }
- ],
- "responses": {
- "200": {
- "description": "dictionary is returned",
- "content": {
- "application/json": {
- "schema": {
- "type": "array",
- "items": {
- "type": "string"
- },
- "uniqueItems": true
+ "/indexes": {
+ "get": {
+ "tags": ["Indexes"],
+ "summary": "List indexes",
+ "description": "List all indexes.",
+ "operationId": "list_indexes",
+ "parameters": [{
+ "name": "offset",
+ "in": "query",
+ "description": "The number of indexes to skip before starting to retrieve anything",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "minimum": 0
+ },
+ "example": 100
+ }, {
+ "name": "limit",
+ "in": "query",
+ "description": "The number of indexes to retrieve",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "default": 20,
+ "minimum": 0
+ },
+ "example": 1
+ }],
+ "responses": {
+ "200": {
+ "description": "Indexes are returned",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/PaginationView_IndexView"
+ },
+ "example": {
+ "results": [{
+ "uid": "movies",
+ "primaryKey": "movie_id",
+ "createdAt": "2019-11-20T09:40:33.711324Z",
+ "updatedAt": "2019-11-20T09:40:33.711324Z"
+ }],
+ "limit": 1,
+ "offset": 0,
+ "total": 1
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
},
- "example": []
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "settings.get",
- "settings.*",
- "*"
- ]
- }
- ]
- },
- "put": {
- "tags": [
- "Settings"
- ],
- "summary": "Update dictionary",
- "description": "Update an index's user defined dictionary",
- "operationId": "putdictionary",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- }
- ],
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "type": "array",
- "items": {
- "type": "string"
- },
- "uniqueItems": true
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "description": "Task successfully enqueued",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SummarizedTaskView"
- },
- "example": {
- "taskUid": 147,
- "indexUid": "movies",
- "status": "enqueued",
- "type": "settingsUpdate",
- "enqueuedAt": "2024-08-08T17:05:55.791772Z"
- }
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "settings.update",
- "settings.*",
- "*"
- ]
- }
- ]
- },
- "delete": {
- "tags": [
- "Settings"
- ],
- "summary": "Reset dictionary",
- "description": "Reset an index's dictionary to its default value",
- "operationId": "deletedictionary",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- }
- ],
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "type": "array",
- "items": {
- "type": "string"
- },
- "uniqueItems": true
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "description": "Task successfully enqueued",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SummarizedTaskView"
- },
- "example": {
- "taskUid": 147,
- "indexUid": "movies",
- "status": "enqueued",
- "type": "settingsUpdate",
- "enqueuedAt": "2024-08-08T17:05:55.791772Z"
- }
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "settings.update",
- "settings.*",
- "*"
- ]
- }
- ]
- }
- },
- "/indexes/{indexUid}/settings/displayed-attributes": {
- "get": {
- "tags": [
- "Settings"
- ],
- "summary": "Get displayedAttributes",
- "description": "Get an user defined displayedAttributes",
- "operationId": "getdisplayedAttributes",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- }
- ],
- "responses": {
- "200": {
- "description": "displayedAttributes is returned",
- "content": {
- "application/json": {
- "schema": {
- "type": "array",
- "items": {
- "type": "string"
- }
+ "security": [{
+ "Bearer": ["indexes.get", "indexes.*", "*"]
+ }]
+ },
+ "post": {
+ "tags": ["Indexes"],
+ "summary": "Create index",
+ "description": "Create an index.",
+ "operationId": "create_index",
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/IndexCreateRequest"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "description": "Task successfully enqueued",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SummarizedTaskView"
+ },
+ "example": {
+ "taskUid": 147,
+ "indexUid": "movies",
+ "status": "enqueued",
+ "type": "indexCreation",
+ "enqueuedAt": "2024-08-08T17:05:55.791772Z"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
},
- "example": []
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "settings.get",
- "settings.*",
- "*"
- ]
- }
- ]
- },
- "put": {
- "tags": [
- "Settings"
- ],
- "summary": "Update displayedAttributes",
- "description": "Update an index's user defined displayedAttributes",
- "operationId": "putdisplayedAttributes",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- }
- ],
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "type": "array",
- "items": {
- "type": "string"
- }
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "description": "Task successfully enqueued",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SummarizedTaskView"
- },
- "example": {
- "taskUid": 147,
- "indexUid": "movies",
- "status": "enqueued",
- "type": "settingsUpdate",
- "enqueuedAt": "2024-08-08T17:05:55.791772Z"
- }
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "settings.update",
- "settings.*",
- "*"
- ]
- }
- ]
- },
- "delete": {
- "tags": [
- "Settings"
- ],
- "summary": "Reset displayedAttributes",
- "description": "Reset an index's displayedAttributes to its default value",
- "operationId": "deletedisplayedAttributes",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- }
- ],
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "type": "array",
- "items": {
- "type": "string"
- }
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "description": "Task successfully enqueued",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SummarizedTaskView"
- },
- "example": {
- "taskUid": 147,
- "indexUid": "movies",
- "status": "enqueued",
- "type": "settingsUpdate",
- "enqueuedAt": "2024-08-08T17:05:55.791772Z"
- }
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "settings.update",
- "settings.*",
- "*"
- ]
- }
- ]
- }
- },
- "/indexes/{indexUid}/settings/distinct-attribute": {
- "get": {
- "tags": [
- "Settings"
- ],
- "summary": "Get distinctAttribute",
- "description": "Get an user defined distinctAttribute",
- "operationId": "getdistinctAttribute",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- }
- ],
- "responses": {
- "200": {
- "description": "distinctAttribute is returned",
- "content": {
- "application/json": {
- "schema": {
- "type": "string"
- },
- "example": ""
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "settings.get",
- "settings.*",
- "*"
- ]
- }
- ]
- },
- "put": {
- "tags": [
- "Settings"
- ],
- "summary": "Update distinctAttribute",
- "description": "Update an index's user defined distinctAttribute",
- "operationId": "putdistinctAttribute",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- }
- ],
- "requestBody": {
- "content": {
- "text/plain": {
- "schema": {
- "type": "string"
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "description": "Task successfully enqueued",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SummarizedTaskView"
- },
- "example": {
- "taskUid": 147,
- "indexUid": "movies",
- "status": "enqueued",
- "type": "settingsUpdate",
- "enqueuedAt": "2024-08-08T17:05:55.791772Z"
- }
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "settings.update",
- "settings.*",
- "*"
- ]
- }
- ]
- },
- "delete": {
- "tags": [
- "Settings"
- ],
- "summary": "Reset distinctAttribute",
- "description": "Reset an index's distinctAttribute to its default value",
- "operationId": "deletedistinctAttribute",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- }
- ],
- "requestBody": {
- "content": {
- "text/plain": {
- "schema": {
- "type": "string"
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "description": "Task successfully enqueued",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SummarizedTaskView"
- },
- "example": {
- "taskUid": 147,
- "indexUid": "movies",
- "status": "enqueued",
- "type": "settingsUpdate",
- "enqueuedAt": "2024-08-08T17:05:55.791772Z"
- }
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "settings.update",
- "settings.*",
- "*"
- ]
- }
- ]
- }
- },
- "/indexes/{indexUid}/settings/embedders": {
- "get": {
- "tags": [
- "Settings"
- ],
- "summary": "Get embedders",
- "description": "Get an user defined embedders",
- "operationId": "getembedders",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- }
- ],
- "responses": {
- "200": {
- "description": "embedders is returned",
- "content": {
- "application/json": {
- "schema": {
- "type": "object",
- "additionalProperties": {
- "$ref": "#/components/schemas/SettingEmbeddingSettings"
- },
- "propertyNames": {
- "type": "string"
- }
+ "security": [{
+ "Bearer": ["indexes.create", "indexes.*", "*"]
+ }]
+ }
+ },
+ "/indexes/{indexUid}": {
+ "get": {
+ "tags": ["Indexes"],
+ "summary": "Get index",
+ "description": "Get information about an index.",
+ "operationId": "get_index",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }],
+ "responses": {
+ "200": {
+ "description": "The index is returned",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/IndexView"
+ },
+ "example": {
+ "uid": "movies",
+ "primaryKey": "movie_id",
+ "createdAt": "2019-11-20T09:40:33.711324Z",
+ "updatedAt": "2019-11-20T09:40:33.711324Z"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "Index not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "Index `movies` not found.",
+ "code": "index_not_found",
+ "type": "invalid_request",
+ "link": "https://docs.meilisearch.com/errors#index_not_found"
+ }
+ }
+ }
+ }
},
- "example": {}
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "settings.get",
- "settings.*",
- "*"
- ]
- }
- ]
- },
- "delete": {
- "tags": [
- "Settings"
- ],
- "summary": "Reset embedders",
- "description": "Reset an index's embedders to its default value",
- "operationId": "deleteembedders",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- }
- ],
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "type": "object",
- "additionalProperties": {
- "$ref": "#/components/schemas/SettingEmbeddingSettings"
+ "security": [{
+ "Bearer": ["indexes.get", "indexes.*", "*"]
+ }]
+ },
+ "delete": {
+ "tags": ["Indexes"],
+ "summary": "Delete index",
+ "description": "Delete an index.",
+ "operationId": "delete_index",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }],
+ "responses": {
+ "202": {
+ "description": "Task successfully enqueued",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SummarizedTaskView"
+ },
+ "example": {
+ "taskUid": 0,
+ "indexUid": "movies",
+ "status": "enqueued",
+ "type": "indexDeletion",
+ "enqueuedAt": "2021-01-01T09:39:00.000000Z"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
},
- "propertyNames": {
- "type": "string"
- }
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "description": "Task successfully enqueued",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SummarizedTaskView"
- },
- "example": {
- "taskUid": 147,
- "indexUid": "movies",
- "status": "enqueued",
- "type": "settingsUpdate",
- "enqueuedAt": "2024-08-08T17:05:55.791772Z"
- }
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "settings.update",
- "settings.*",
- "*"
- ]
- }
- ]
- },
- "patch": {
- "tags": [
- "Settings"
- ],
- "summary": "Update embedders",
- "description": "Update an index's user defined embedders",
- "operationId": "patchembedders",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- }
- ],
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "type": "object",
- "additionalProperties": {
- "$ref": "#/components/schemas/SettingEmbeddingSettings"
+ "security": [{
+ "Bearer": ["indexes.delete", "indexes.*", "*"]
+ }]
+ },
+ "patch": {
+ "tags": ["Indexes"],
+ "summary": "Update index",
+ "description": "Update the `primaryKey` of an index.\nReturn an error if the index doesn't exists yet or if it contains documents.",
+ "operationId": "update_index",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/UpdateIndexRequest"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "202": {
+ "description": "Task successfully enqueued",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SummarizedTaskView"
+ },
+ "example": {
+ "taskUid": 0,
+ "indexUid": "movies",
+ "status": "enqueued",
+ "type": "indexUpdate",
+ "enqueuedAt": "2021-01-01T09:39:00.000000Z"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
},
- "propertyNames": {
- "type": "string"
- }
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "description": "Task successfully enqueued",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SummarizedTaskView"
- },
- "example": {
- "taskUid": 147,
- "indexUid": "movies",
- "status": "enqueued",
- "type": "settingsUpdate",
- "enqueuedAt": "2024-08-08T17:05:55.791772Z"
- }
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "settings.update",
- "settings.*",
- "*"
- ]
- }
- ]
- }
- },
- "/indexes/{indexUid}/settings/facet-search": {
- "get": {
- "tags": [
- "Settings"
- ],
- "summary": "Get facetSearch",
- "description": "Get an user defined facetSearch",
- "operationId": "getfacetSearch",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- }
- ],
- "responses": {
- "200": {
- "description": "facetSearch is returned",
- "content": {
- "application/json": {
- "schema": {
- "type": "boolean"
- },
- "example": false
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "settings.get",
- "settings.*",
- "*"
- ]
- }
- ]
- },
- "put": {
- "tags": [
- "Settings"
- ],
- "summary": "Update facetSearch",
- "description": "Update an index's user defined facetSearch",
- "operationId": "putfacetSearch",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- }
- ],
- "requestBody": {
- "content": {
- "text/plain": {
- "schema": {
- "type": "boolean"
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "description": "Task successfully enqueued",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SummarizedTaskView"
- },
- "example": {
- "taskUid": 147,
- "indexUid": "movies",
- "status": "enqueued",
- "type": "settingsUpdate",
- "enqueuedAt": "2024-08-08T17:05:55.791772Z"
- }
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "settings.update",
- "settings.*",
- "*"
- ]
- }
- ]
- },
- "delete": {
- "tags": [
- "Settings"
- ],
- "summary": "Reset facetSearch",
- "description": "Reset an index's facetSearch to its default value",
- "operationId": "deletefacetSearch",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- }
- ],
- "requestBody": {
- "content": {
- "text/plain": {
- "schema": {
- "type": "boolean"
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "description": "Task successfully enqueued",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SummarizedTaskView"
- },
- "example": {
- "taskUid": 147,
- "indexUid": "movies",
- "status": "enqueued",
- "type": "settingsUpdate",
- "enqueuedAt": "2024-08-08T17:05:55.791772Z"
- }
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "settings.update",
- "settings.*",
- "*"
- ]
- }
- ]
- }
- },
- "/indexes/{indexUid}/settings/faceting": {
- "get": {
- "tags": [
- "Settings"
- ],
- "summary": "Get faceting",
- "description": "Get an user defined faceting",
- "operationId": "getfaceting",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- }
- ],
- "responses": {
- "200": {
- "description": "faceting is returned",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/FacetingSettings"
- },
- "example": {}
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "settings.get",
- "settings.*",
- "*"
- ]
- }
- ]
- },
- "delete": {
- "tags": [
- "Settings"
- ],
- "summary": "Reset faceting",
- "description": "Reset an index's faceting to its default value",
- "operationId": "deletefaceting",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- }
- ],
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/FacetingSettings"
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "description": "Task successfully enqueued",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SummarizedTaskView"
- },
- "example": {
- "taskUid": 147,
- "indexUid": "movies",
- "status": "enqueued",
- "type": "settingsUpdate",
- "enqueuedAt": "2024-08-08T17:05:55.791772Z"
- }
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "settings.update",
- "settings.*",
- "*"
- ]
- }
- ]
- },
- "patch": {
- "tags": [
- "Settings"
- ],
- "summary": "Update faceting",
- "description": "Update an index's user defined faceting",
- "operationId": "patchfaceting",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- }
- ],
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/FacetingSettings"
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "description": "Task successfully enqueued",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SummarizedTaskView"
- },
- "example": {
- "taskUid": 147,
- "indexUid": "movies",
- "status": "enqueued",
- "type": "settingsUpdate",
- "enqueuedAt": "2024-08-08T17:05:55.791772Z"
- }
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "settings.update",
- "settings.*",
- "*"
- ]
- }
- ]
- }
- },
- "/indexes/{indexUid}/settings/filterable-attributes": {
- "get": {
- "tags": [
- "Settings"
- ],
- "summary": "Get filterableAttributes",
- "description": "Get an user defined filterableAttributes",
- "operationId": "getfilterableAttributes",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- }
- ],
- "responses": {
- "200": {
- "description": "filterableAttributes is returned",
- "content": {
- "application/json": {
- "schema": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/FilterableAttributesRule"
- }
- },
- "example": []
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "settings.get",
- "settings.*",
- "*"
- ]
- }
- ]
- },
- "put": {
- "tags": [
- "Settings"
- ],
- "summary": "Update filterableAttributes",
- "description": "Update an index's user defined filterableAttributes",
- "operationId": "putfilterableAttributes",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- }
- ],
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/FilterableAttributesRule"
- }
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "description": "Task successfully enqueued",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SummarizedTaskView"
- },
- "example": {
- "taskUid": 147,
- "indexUid": "movies",
- "status": "enqueued",
- "type": "settingsUpdate",
- "enqueuedAt": "2024-08-08T17:05:55.791772Z"
- }
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "settings.update",
- "settings.*",
- "*"
- ]
- }
- ]
- },
- "delete": {
- "tags": [
- "Settings"
- ],
- "summary": "Reset filterableAttributes",
- "description": "Reset an index's filterableAttributes to its default value",
- "operationId": "deletefilterableAttributes",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- }
- ],
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/FilterableAttributesRule"
- }
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "description": "Task successfully enqueued",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SummarizedTaskView"
- },
- "example": {
- "taskUid": 147,
- "indexUid": "movies",
- "status": "enqueued",
- "type": "settingsUpdate",
- "enqueuedAt": "2024-08-08T17:05:55.791772Z"
- }
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "settings.update",
- "settings.*",
- "*"
- ]
- }
- ]
- }
- },
- "/indexes/{indexUid}/settings/localized-attributes": {
- "get": {
- "tags": [
- "Settings"
- ],
- "summary": "Get localizedAttributes",
- "description": "Get an user defined localizedAttributes",
- "operationId": "getlocalizedAttributes",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- }
- ],
- "responses": {
- "200": {
- "description": "localizedAttributes is returned",
- "content": {
- "application/json": {
- "schema": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/LocalizedAttributesRuleView"
- }
- },
- "example": []
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "settings.get",
- "settings.*",
- "*"
- ]
- }
- ]
- },
- "put": {
- "tags": [
- "Settings"
- ],
- "summary": "Update localizedAttributes",
- "description": "Update an index's user defined localizedAttributes",
- "operationId": "putlocalizedAttributes",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- }
- ],
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/LocalizedAttributesRuleView"
- }
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "description": "Task successfully enqueued",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SummarizedTaskView"
- },
- "example": {
- "taskUid": 147,
- "indexUid": "movies",
- "status": "enqueued",
- "type": "settingsUpdate",
- "enqueuedAt": "2024-08-08T17:05:55.791772Z"
- }
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "settings.update",
- "settings.*",
- "*"
- ]
- }
- ]
- },
- "delete": {
- "tags": [
- "Settings"
- ],
- "summary": "Reset localizedAttributes",
- "description": "Reset an index's localizedAttributes to its default value",
- "operationId": "deletelocalizedAttributes",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- }
- ],
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/LocalizedAttributesRuleView"
- }
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "description": "Task successfully enqueued",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SummarizedTaskView"
- },
- "example": {
- "taskUid": 147,
- "indexUid": "movies",
- "status": "enqueued",
- "type": "settingsUpdate",
- "enqueuedAt": "2024-08-08T17:05:55.791772Z"
- }
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "settings.update",
- "settings.*",
- "*"
- ]
- }
- ]
- }
- },
- "/indexes/{indexUid}/settings/non-separator-tokens": {
- "get": {
- "tags": [
- "Settings"
- ],
- "summary": "Get nonSeparatorTokens",
- "description": "Get an user defined nonSeparatorTokens",
- "operationId": "getnonSeparatorTokens",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- }
- ],
- "responses": {
- "200": {
- "description": "nonSeparatorTokens is returned",
- "content": {
- "application/json": {
- "schema": {
- "type": "array",
- "items": {
- "type": "string"
- },
- "uniqueItems": true
+ "security": [{
+ "Bearer": ["indexes.update", "indexes.*", "*"]
+ }]
+ }
+ },
+ "/indexes/{indexUid}/delete-batch": {
+ "post": {
+ "tags": ["Documents"],
+ "summary": "Delete documents by batch",
+ "description": "Delete a set of documents based on an array of document ids.",
+ "operationId": "delete_documents_batch",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {}
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "description": "Task successfully enqueued",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SummarizedTaskView"
+ },
+ "example": {
+ "taskUid": 147,
+ "indexUid": null,
+ "status": "enqueued",
+ "type": "documentAdditionOrUpdate",
+ "enqueuedAt": "2024-08-08T17:05:55.791772Z"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
},
- "example": []
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "settings.get",
- "settings.*",
- "*"
- ]
- }
- ]
- },
- "put": {
- "tags": [
- "Settings"
- ],
- "summary": "Update nonSeparatorTokens",
- "description": "Update an index's user defined nonSeparatorTokens",
- "operationId": "putnonSeparatorTokens",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- }
- ],
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "type": "array",
- "items": {
- "type": "string"
- },
- "uniqueItems": true
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "description": "Task successfully enqueued",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SummarizedTaskView"
- },
- "example": {
- "taskUid": 147,
- "indexUid": "movies",
- "status": "enqueued",
- "type": "settingsUpdate",
- "enqueuedAt": "2024-08-08T17:05:55.791772Z"
- }
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "settings.update",
- "settings.*",
- "*"
- ]
- }
- ]
- },
- "delete": {
- "tags": [
- "Settings"
- ],
- "summary": "Reset nonSeparatorTokens",
- "description": "Reset an index's nonSeparatorTokens to its default value",
- "operationId": "deletenonSeparatorTokens",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- }
- ],
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "type": "array",
- "items": {
- "type": "string"
- },
- "uniqueItems": true
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "description": "Task successfully enqueued",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SummarizedTaskView"
- },
- "example": {
- "taskUid": 147,
- "indexUid": "movies",
- "status": "enqueued",
- "type": "settingsUpdate",
- "enqueuedAt": "2024-08-08T17:05:55.791772Z"
- }
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "settings.update",
- "settings.*",
- "*"
- ]
- }
- ]
- }
- },
- "/indexes/{indexUid}/settings/pagination": {
- "get": {
- "tags": [
- "Settings"
- ],
- "summary": "Get pagination",
- "description": "Get an user defined pagination",
- "operationId": "getpagination",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- }
- ],
- "responses": {
- "200": {
- "description": "pagination is returned",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/PaginationSettings"
- },
- "example": {}
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "settings.get",
- "settings.*",
- "*"
- ]
- }
- ]
- },
- "delete": {
- "tags": [
- "Settings"
- ],
- "summary": "Reset pagination",
- "description": "Reset an index's pagination to its default value",
- "operationId": "deletepagination",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- }
- ],
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/PaginationSettings"
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "description": "Task successfully enqueued",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SummarizedTaskView"
- },
- "example": {
- "taskUid": 147,
- "indexUid": "movies",
- "status": "enqueued",
- "type": "settingsUpdate",
- "enqueuedAt": "2024-08-08T17:05:55.791772Z"
- }
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "settings.update",
- "settings.*",
- "*"
- ]
- }
- ]
- },
- "patch": {
- "tags": [
- "Settings"
- ],
- "summary": "Update pagination",
- "description": "Update an index's user defined pagination",
- "operationId": "patchpagination",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- }
- ],
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/PaginationSettings"
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "description": "Task successfully enqueued",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SummarizedTaskView"
- },
- "example": {
- "taskUid": 147,
- "indexUid": "movies",
- "status": "enqueued",
- "type": "settingsUpdate",
- "enqueuedAt": "2024-08-08T17:05:55.791772Z"
- }
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "settings.update",
- "settings.*",
- "*"
- ]
- }
- ]
- }
- },
- "/indexes/{indexUid}/settings/prefix-search": {
- "get": {
- "tags": [
- "Settings"
- ],
- "summary": "Get prefixSearch",
- "description": "Get an user defined prefixSearch",
- "operationId": "getprefixSearch",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- }
- ],
- "responses": {
- "200": {
- "description": "prefixSearch is returned",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/PrefixSearchSettings"
- },
- "example": "indexingTime"
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "settings.get",
- "settings.*",
- "*"
- ]
- }
- ]
- },
- "put": {
- "tags": [
- "Settings"
- ],
- "summary": "Update prefixSearch",
- "description": "Update an index's user defined prefixSearch",
- "operationId": "putprefixSearch",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- }
- ],
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/PrefixSearchSettings"
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "description": "Task successfully enqueued",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SummarizedTaskView"
- },
- "example": {
- "taskUid": 147,
- "indexUid": "movies",
- "status": "enqueued",
- "type": "settingsUpdate",
- "enqueuedAt": "2024-08-08T17:05:55.791772Z"
- }
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "settings.update",
- "settings.*",
- "*"
- ]
- }
- ]
- },
- "delete": {
- "tags": [
- "Settings"
- ],
- "summary": "Reset prefixSearch",
- "description": "Reset an index's prefixSearch to its default value",
- "operationId": "deleteprefixSearch",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- }
- ],
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/PrefixSearchSettings"
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "description": "Task successfully enqueued",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SummarizedTaskView"
- },
- "example": {
- "taskUid": 147,
- "indexUid": "movies",
- "status": "enqueued",
- "type": "settingsUpdate",
- "enqueuedAt": "2024-08-08T17:05:55.791772Z"
- }
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "settings.update",
- "settings.*",
- "*"
- ]
- }
- ]
- }
- },
- "/indexes/{indexUid}/settings/proximity-precision": {
- "get": {
- "tags": [
- "Settings"
- ],
- "summary": "Get proximityPrecision",
- "description": "Get an user defined proximityPrecision",
- "operationId": "getproximityPrecision",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- }
- ],
- "responses": {
- "200": {
- "description": "proximityPrecision is returned",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ProximityPrecisionView"
- },
- "example": "byWord"
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "settings.get",
- "settings.*",
- "*"
- ]
- }
- ]
- },
- "put": {
- "tags": [
- "Settings"
- ],
- "summary": "Update proximityPrecision",
- "description": "Update an index's user defined proximityPrecision",
- "operationId": "putproximityPrecision",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- }
- ],
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ProximityPrecisionView"
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "description": "Task successfully enqueued",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SummarizedTaskView"
- },
- "example": {
- "taskUid": 147,
- "indexUid": "movies",
- "status": "enqueued",
- "type": "settingsUpdate",
- "enqueuedAt": "2024-08-08T17:05:55.791772Z"
- }
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "settings.update",
- "settings.*",
- "*"
- ]
- }
- ]
- },
- "delete": {
- "tags": [
- "Settings"
- ],
- "summary": "Reset proximityPrecision",
- "description": "Reset an index's proximityPrecision to its default value",
- "operationId": "deleteproximityPrecision",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- }
- ],
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ProximityPrecisionView"
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "description": "Task successfully enqueued",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SummarizedTaskView"
- },
- "example": {
- "taskUid": 147,
- "indexUid": "movies",
- "status": "enqueued",
- "type": "settingsUpdate",
- "enqueuedAt": "2024-08-08T17:05:55.791772Z"
- }
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "settings.update",
- "settings.*",
- "*"
- ]
- }
- ]
- }
- },
- "/indexes/{indexUid}/settings/ranking-rules": {
- "get": {
- "tags": [
- "Settings"
- ],
- "summary": "Get rankingRules",
- "description": "Get an user defined rankingRules",
- "operationId": "getrankingRules",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- }
- ],
- "responses": {
- "200": {
- "description": "rankingRules is returned",
- "content": {
- "application/json": {
- "schema": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/RankingRuleView"
- }
- },
- "example": []
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "settings.get",
- "settings.*",
- "*"
- ]
- }
- ]
- },
- "put": {
- "tags": [
- "Settings"
- ],
- "summary": "Update rankingRules",
- "description": "Update an index's user defined rankingRules",
- "operationId": "putrankingRules",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- }
- ],
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/RankingRuleView"
- }
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "description": "Task successfully enqueued",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SummarizedTaskView"
- },
- "example": {
- "taskUid": 147,
- "indexUid": "movies",
- "status": "enqueued",
- "type": "settingsUpdate",
- "enqueuedAt": "2024-08-08T17:05:55.791772Z"
- }
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "settings.update",
- "settings.*",
- "*"
- ]
- }
- ]
- },
- "delete": {
- "tags": [
- "Settings"
- ],
- "summary": "Reset rankingRules",
- "description": "Reset an index's rankingRules to its default value",
- "operationId": "deleterankingRules",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- }
- ],
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/RankingRuleView"
- }
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "description": "Task successfully enqueued",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SummarizedTaskView"
- },
- "example": {
- "taskUid": 147,
- "indexUid": "movies",
- "status": "enqueued",
- "type": "settingsUpdate",
- "enqueuedAt": "2024-08-08T17:05:55.791772Z"
- }
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
+ "security": [{
+ "Bearer": ["documents.delete", "documents.*", "*"]
+ }]
+ }
+ },
+ "/indexes/{indexUid}/documents": {
+ "get": {
+ "tags": ["Documents"],
+ "summary": "Get documents",
+ "description": "Get documents by batches.",
+ "operationId": "get_documents",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }, {
+ "name": "offset",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "minimum": 0
+ }
+ }, {
+ "name": "limit",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "minimum": 0
+ }
+ }, {
+ "name": "fields",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }, {
+ "name": "retrieveVectors",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "boolean"
+ }
+ }, {
+ "name": "ids",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }, {
+ "name": "filter",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "string"
+ },
+ "example": "popularity > 1000"
+ }, {
+ "name": "sort",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ }],
+ "responses": {
+ "200": {
+ "description": "The documents are returned",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/PaginationView_Value"
+ },
+ "example": {
+ "results": [{
+ "id": 25684,
+ "title": "American Ninja 5",
+ "poster": "https://image.tmdb.org/t/p/w1280/iuAQVI4mvjI83wnirpD8GVNRVuY.jpg",
+ "overview": "When a scientists daughter is kidnapped, American Ninja, attempts to find her, but this time he teams up with a youngster he has trained in the ways of the ninja.",
+ "release_date": 725846400
+ }, {
+ "id": 45881,
+ "title": "The Bridge of San Luis Rey",
+ "poster": "https://image.tmdb.org/t/p/w500/4X7quIcdkc24Cveg5XdpfRqxtYA.jpg",
+ "overview": "The Bridge of San Luis Rey is American author Thornton Wilder's second novel, first published in 1927 to worldwide acclaim. It tells the story of several interrelated people who die in the collapse of an Inca rope-fiber suspension bridge in Peru, and the events that lead up to their being on the bridge.[ A friar who has witnessed the tragic accident then goes about inquiring into the lives of the victims, seeking some sort of cosmic answer to the question of why each had to die. The novel won the Pulitzer Prize in 1928.",
+ "release_date": 1072915200
+ }],
+ "limit": 20,
+ "offset": 0,
+ "total": 2
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "Index not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "Index `movies` not found.",
+ "code": "index_not_found",
+ "type": "invalid_request",
+ "link": "https://docs.meilisearch.com/errors#index_not_found"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["documents.get", "documents.*", "*"]
+ }]
+ },
+ "put": {
+ "tags": ["Documents"],
+ "summary": "Add or update documents",
+ "description": "Add a list of documents or update them if they already exist.\nIf you send an already existing document (same id) the old document will be only partially updated according to the fields of the new document. Thus, any fields not present in the new document are kept and remained unchanged.\nTo completely overwrite a document, see Add or replace documents route.\n> info\n> If the provided index does not exist, it will be created.\n> info\n> Use the reserved `_geo` object to add geo coordinates to a document. `_geo` is an object made of `lat` and `lng` field.\n>\n> When the vectorStore feature is enabled you can use the reserved `_vectors` field in your documents.\n> It can accept an array of floats, multiple arrays of floats in an outer array or an object.\n> This object accepts keys corresponding to the different embedders defined your index settings.",
+ "operationId": "update_documents",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }, {
+ "name": "primaryKey",
+ "in": "query",
+ "description": "The primary key of the documents. primaryKey is optional. If you want to set the primary key of your index through this route,\nit only has to be done the first time you add documents to the index. After which it will be ignored if given.",
+ "required": false,
+ "schema": {
+ "type": "string"
+ },
+ "example": "id"
+ }, {
+ "name": "csvDelimiter",
+ "in": "query",
+ "description": "Customize the csv delimiter when importing CSV documents.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "default": ","
+ },
+ "example": ";"
+ }],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {}
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "description": "Task successfully enqueued",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SummarizedTaskView"
+ },
+ "example": {
+ "taskUid": 147,
+ "indexUid": null,
+ "status": "enqueued",
+ "type": "documentAdditionOrUpdate",
+ "enqueuedAt": "2024-08-08T17:05:55.791772Z"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["documents.add", "documents.*", "*"]
+ }]
+ },
+ "post": {
+ "tags": ["Documents"],
+ "summary": "Add or replace documents",
+ "description": "Add a list of documents or replace them if they already exist.\n\nIf you send an already existing document (same id) the whole existing document will be overwritten by the new document. Fields previously in the document not present in the new document are removed.\n\nFor a partial update of the document see Add or update documents route.\n> info\n> If the provided index does not exist, it will be created.\n> info\n> Use the reserved `_geo` object to add geo coordinates to a document. `_geo` is an object made of `lat` and `lng` field.\n>\n> When the vectorStore feature is enabled you can use the reserved `_vectors` field in your documents.\n> It can accept an array of floats, multiple arrays of floats in an outer array or an object.\n> This object accepts keys corresponding to the different embedders defined your index settings.",
+ "operationId": "replace_documents",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }, {
+ "name": "primaryKey",
+ "in": "query",
+ "description": "The primary key of the documents. primaryKey is optional. If you want to set the primary key of your index through this route,\nit only has to be done the first time you add documents to the index. After which it will be ignored if given.",
+ "required": false,
+ "schema": {
+ "type": "string"
+ },
+ "example": "id"
+ }, {
+ "name": "csvDelimiter",
+ "in": "query",
+ "description": "Customize the csv delimiter when importing CSV documents.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "default": ","
+ },
+ "example": ";"
+ }],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {}
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "description": "Task successfully enqueued",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SummarizedTaskView"
+ },
+ "example": {
+ "taskUid": 147,
+ "indexUid": null,
+ "status": "enqueued",
+ "type": "documentAdditionOrUpdate",
+ "enqueuedAt": "2024-08-08T17:05:55.791772Z"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["documents.add", "documents.*", "*"]
+ }]
+ },
+ "delete": {
+ "tags": ["Documents"],
+ "summary": "Delete all documents",
+ "description": "Delete all documents in the specified index.",
+ "operationId": "clear_all_documents",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }],
+ "responses": {
+ "200": {
+ "description": "Task successfully enqueued",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SummarizedTaskView"
+ },
+ "example": {
+ "taskUid": 147,
+ "indexUid": null,
+ "status": "enqueued",
+ "type": "documentDeletion",
+ "enqueuedAt": "2024-08-08T17:05:55.791772Z"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["documents.delete", "documents.*", "*"]
+ }]
+ }
+ },
+ "/indexes/{indexUid}/documents/delete": {
+ "post": {
+ "tags": ["Documents"],
+ "summary": "Delete documents by filter",
+ "description": "Delete a set of documents based on a filter.",
+ "operationId": "delete_documents_by_filter",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/DocumentDeletionByFilter"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "202": {
+ "description": "Task successfully enqueued",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SummarizedTaskView"
+ },
+ "example": {
+ "taskUid": 147,
+ "indexUid": null,
+ "status": "enqueued",
+ "type": "documentDeletion",
+ "enqueuedAt": "2024-08-08T17:05:55.791772Z"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["documents.delete", "documents.*", "*"]
+ }]
+ }
+ },
+ "/indexes/{indexUid}/documents/edit": {
+ "post": {
+ "tags": ["Documents"],
+ "summary": "Edit documents by function.",
+ "description": "Use a [RHAI function](https://rhai.rs/book/engine/hello-world.html) to edit one or more documents directly in Meilisearch.",
+ "operationId": "edit_documents_by_function",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/DocumentEditionByFunction"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "202": {
+ "description": "Task successfully enqueued",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SummarizedTaskView"
+ },
+ "example": {
+ "taskUid": 147,
+ "indexUid": null,
+ "status": "enqueued",
+ "type": "documentDeletion",
+ "enqueuedAt": "2024-08-08T17:05:55.791772Z"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["documents.*", "*"]
+ }]
+ }
+ },
+ "/indexes/{indexUid}/documents/fetch": {
+ "post": {
+ "tags": ["Documents"],
+ "summary": "Get documents with POST",
+ "description": "Get a set of documents.",
+ "operationId": "documents_by_query_post",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BrowseQuery"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "description": "Task successfully enqueued",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/PaginationView_Value"
+ },
+ "example": {
+ "results": [{
+ "title": "The Travels of Ibn Battuta",
+ "genres": ["Travel", "Adventure"],
+ "language": "English",
+ "rating": 4.5
+ }, {
+ "title": "Pride and Prejudice",
+ "genres": ["Classics", "Fiction", "Romance", "Literature"],
+ "language": "English",
+ "rating": 4
+ }],
+ "offset": 0,
+ "limit": 2,
+ "total": 5
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["documents.delete", "documents.*", "*"]
+ }]
+ }
+ },
+ "/indexes/{indexUid}/documents/{documentId}": {
+ "get": {
+ "tags": ["Documents"],
+ "summary": "Get one document",
+ "description": "Get one document from its primary key.",
+ "operationId": "get_document",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }, {
+ "name": "documentId",
+ "in": "path",
+ "description": "The document identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "85087"
+ }, {
+ "name": "fields",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }, {
+ "name": "retrieveVectors",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "boolean"
+ }
+ }],
+ "responses": {
+ "200": {
+ "description": "The document is returned",
+ "content": {
+ "application/json": {
+ "schema": {},
+ "example": {
+ "id": 25684,
+ "title": "American Ninja 5",
+ "poster": "https://image.tmdb.org/t/p/w1280/iuAQVI4mvjI83wnirpD8GVNRVuY.jpg",
+ "overview": "When a scientists daughter is kidnapped, American Ninja, attempts to find her, but this time he teams up with a youngster he has trained in the ways of the ninja.",
+ "release_date": 725846400
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "Document not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "Document `a` not found.",
+ "code": "document_not_found",
+ "type": "invalid_request",
+ "link": "https://docs.meilisearch.com/errors#document_not_found"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["documents.get", "documents.*", "*"]
+ }]
+ },
+ "delete": {
+ "tags": ["Documents"],
+ "summary": "Delete a document",
+ "description": "Delete a single document by id.",
+ "operationId": "delete_document",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }, {
+ "name": "documentId",
+ "in": "path",
+ "description": "Document Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "853"
+ }],
+ "responses": {
+ "200": {
+ "description": "Task successfully enqueued",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SummarizedTaskView"
+ },
+ "example": {
+ "taskUid": 147,
+ "indexUid": null,
+ "status": "enqueued",
+ "type": "documentAdditionOrUpdate",
+ "enqueuedAt": "2024-08-08T17:05:55.791772Z"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["documents.delete", "documents.*", "*"]
+ }]
+ }
+ },
+ "/indexes/{indexUid}/facet-search": {
+ "post": {
+ "tags": ["Facet Search"],
+ "summary": "Perform a facet search",
+ "description": "Search for a facet value within a given facet.",
+ "operationId": "search",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/FacetSearchQuery"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "description": "The documents are returned",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SearchResult"
+ },
+ "example": {
+ "hits": [{
+ "id": 2770,
+ "title": "American Pie 2",
+ "poster": "https://image.tmdb.org/t/p/w1280/q4LNgUnRfltxzp3gf1MAGiK5LhV.jpg",
+ "overview": "The whole gang are back and as close as ever. They decide to get even closer by spending the summer together at a beach house. They decide to hold the biggestโฆ",
+ "release_date": 997405200
+ }, {
+ "id": 190859,
+ "title": "American Sniper",
+ "poster": "https://image.tmdb.org/t/p/w1280/svPHnYE7N5NAGO49dBmRhq0vDQ3.jpg",
+ "overview": "U.S. Navy SEAL Chris Kyle takes his sole missionโprotect his comradesโto heart and becomes one of the most lethal snipers in American history. His pinpoint accuracy not only saves countless lives but also makes him a primeโฆ",
+ "release_date": 1418256000
+ }],
+ "offset": 0,
+ "limit": 2,
+ "estimatedTotalHits": 976,
+ "processingTimeMs": 35,
+ "query": "american "
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "Index not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "Index `movies` not found.",
+ "code": "index_not_found",
+ "type": "invalid_request",
+ "link": "https://docs.meilisearch.com/errors#index_not_found"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["search", "*"]
+ }]
+ }
+ },
+ "/indexes/{indexUid}/search": {
+ "get": {
+ "tags": ["Indexes", "Search"],
+ "summary": "Search an index with GET",
+ "description": "Search for documents matching a specific query in the given index.",
+ "operationId": "search_with_url_query",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }, {
+ "name": "q",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ }, {
+ "name": "vector",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "number",
+ "format": "float"
+ }
+ },
+ "explode": false
+ }, {
+ "name": "offset",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "default": 0,
+ "minimum": 0
+ }
+ }, {
+ "name": "limit",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "default": 20,
+ "minimum": 0
+ }
+ }, {
+ "name": "page",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "minimum": 0
+ }
+ }, {
+ "name": "hitsPerPage",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "minimum": 0
+ }
+ }, {
+ "name": "attributesToRetrieve",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "explode": false
+ }, {
+ "name": "retrieveVectors",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "boolean"
+ }
+ }, {
+ "name": "attributesToCrop",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "explode": false
+ }, {
+ "name": "cropLength",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "default": 10,
+ "minimum": 0
+ }
+ }, {
+ "name": "attributesToHighlight",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "explode": false
+ }, {
+ "name": "filter",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ }, {
+ "name": "sort",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ }, {
+ "name": "distinct",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ }, {
+ "name": "showMatchesPosition",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "boolean"
+ }
+ }, {
+ "name": "showRankingScore",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "boolean"
+ }
+ }, {
+ "name": "showRankingScoreDetails",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "boolean"
+ }
+ }, {
+ "name": "facets",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "explode": false
+ }, {
+ "name": "highlightPreTag",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "default": ""
+ }
+ }, {
+ "name": "highlightPostTag",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "default": ""
+ }
+ }, {
+ "name": "cropMarker",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "default": "โฆ"
+ }
+ }, {
+ "name": "matchingStrategy",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/MatchingStrategy"
+ }
+ }, {
+ "name": "attributesToSearchOn",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "explode": false
+ }, {
+ "name": "hybridEmbedder",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ }, {
+ "name": "hybridSemanticRatio",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "number",
+ "format": "float"
+ }
+ }, {
+ "name": "rankingScoreThreshold",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "number",
+ "format": "float"
+ }
+ }, {
+ "name": "locales",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Locale"
+ }
+ },
+ "explode": false
+ }],
+ "responses": {
+ "200": {
+ "description": "The documents are returned",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SearchResult"
+ },
+ "example": {
+ "hits": [{
+ "id": 2770,
+ "title": "American Pie 2",
+ "poster": "https://image.tmdb.org/t/p/w1280/q4LNgUnRfltxzp3gf1MAGiK5LhV.jpg",
+ "overview": "The whole gang are back and as close as ever. They decide to get even closer by spending the summer together at a beach house. They decide to hold the biggestโฆ",
+ "release_date": 997405200
+ }, {
+ "id": 190859,
+ "title": "American Sniper",
+ "poster": "https://image.tmdb.org/t/p/w1280/svPHnYE7N5NAGO49dBmRhq0vDQ3.jpg",
+ "overview": "U.S. Navy SEAL Chris Kyle takes his sole missionโprotect his comradesโto heart and becomes one of the most lethal snipers in American history. His pinpoint accuracy not only saves countless lives but also makes him a primeโฆ",
+ "release_date": 1418256000
+ }],
+ "offset": 0,
+ "limit": 2,
+ "estimatedTotalHits": 976,
+ "processingTimeMs": 35,
+ "query": "american "
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "Index not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "Index `movies` not found.",
+ "code": "index_not_found",
+ "type": "invalid_request",
+ "link": "https://docs.meilisearch.com/errors#index_not_found"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["search", "*"]
+ }]
+ },
+ "post": {
+ "tags": ["Indexes", "Search"],
+ "summary": "Search with POST",
+ "description": "Search for documents matching a specific query in the given index.",
+ "operationId": "search_with_post",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SearchQuery"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "description": "The documents are returned",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SearchResult"
+ },
+ "example": {
+ "hits": [{
+ "id": 2770,
+ "title": "American Pie 2",
+ "poster": "https://image.tmdb.org/t/p/w1280/q4LNgUnRfltxzp3gf1MAGiK5LhV.jpg",
+ "overview": "The whole gang are back and as close as ever. They decide to get even closer by spending the summer together at a beach house. They decide to hold the biggestโฆ",
+ "release_date": 997405200
+ }, {
+ "id": 190859,
+ "title": "American Sniper",
+ "poster": "https://image.tmdb.org/t/p/w1280/svPHnYE7N5NAGO49dBmRhq0vDQ3.jpg",
+ "overview": "U.S. Navy SEAL Chris Kyle takes his sole missionโprotect his comradesโto heart and becomes one of the most lethal snipers in American history. His pinpoint accuracy not only saves countless lives but also makes him a primeโฆ",
+ "release_date": 1418256000
+ }],
+ "offset": 0,
+ "limit": 2,
+ "estimatedTotalHits": 976,
+ "processingTimeMs": 35,
+ "query": "american "
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "Index not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "Index `movies` not found.",
+ "code": "index_not_found",
+ "type": "invalid_request",
+ "link": "https://docs.meilisearch.com/errors#index_not_found"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["search", "*"]
+ }]
+ }
+ },
+ "/indexes/{indexUid}/settings": {
+ "get": {
+ "tags": ["Settings"],
+ "summary": "All settings",
+ "description": "This route allows you to retrieve, configure, or reset all of an index's settings at once.",
+ "operationId": "get_all",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }],
+ "responses": {
+ "200": {
+ "description": "Settings are returned",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Settings_Unchecked"
+ },
+ "example": {}
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["settings.update", "settings.*", "*"]
+ }]
+ },
+ "delete": {
+ "tags": ["Settings"],
+ "summary": "Reset settings",
+ "description": "Reset all the settings of an index to their default value.",
+ "operationId": "delete_all",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }],
+ "responses": {
+ "200": {
+ "description": "Task successfully enqueued",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SummarizedTaskView"
+ },
+ "example": {
+ "taskUid": 147,
+ "indexUid": "movies",
+ "status": "enqueued",
+ "type": "settingsUpdate",
+ "enqueuedAt": "2024-08-08T17:05:55.791772Z"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["settings.update", "settings.*", "*"]
+ }]
+ },
+ "patch": {
+ "tags": ["Settings"],
+ "summary": "Update settings",
+ "description": "Update the settings of an index.\nPassing null to an index setting will reset it to its default value.\nUpdates in the settings route are partial. This means that any parameters not provided in the body will be left unchanged.\nIf the provided index does not exist, it will be created.",
+ "operationId": "update_all",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Settings_Unchecked"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "description": "Task successfully enqueued",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SummarizedTaskView"
+ },
+ "example": {
+ "taskUid": 147,
+ "indexUid": "movies",
+ "status": "enqueued",
+ "type": "settingsUpdate",
+ "enqueuedAt": "2024-08-08T17:05:55.791772Z"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["settings.update", "settings.*", "*"]
+ }]
+ }
+ },
+ "/indexes/{indexUid}/settings/chat": {
+ "get": {
+ "tags": ["Settings"],
+ "summary": "Get chat",
+ "description": "Get an user defined chat",
+ "operationId": "getchat",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }],
+ "responses": {
+ "200": {
+ "description": "chat is returned",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ChatSettings"
+ },
+ "example": {}
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["settings.get", "settings.*", "*"]
+ }]
+ },
+ "delete": {
+ "tags": ["Settings"],
+ "summary": "Reset chat",
+ "description": "Reset an index's chat to its default value",
+ "operationId": "deletechat",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ChatSettings"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "description": "Task successfully enqueued",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SummarizedTaskView"
+ },
+ "example": {
+ "taskUid": 147,
+ "indexUid": "movies",
+ "status": "enqueued",
+ "type": "settingsUpdate",
+ "enqueuedAt": "2024-08-08T17:05:55.791772Z"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["settings.update", "settings.*", "*"]
+ }]
+ },
+ "patch": {
+ "tags": ["Settings"],
+ "summary": "Update chat",
+ "description": "Update an index's user defined chat",
+ "operationId": "patchchat",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ChatSettings"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "description": "Task successfully enqueued",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SummarizedTaskView"
+ },
+ "example": {
+ "taskUid": 147,
+ "indexUid": "movies",
+ "status": "enqueued",
+ "type": "settingsUpdate",
+ "enqueuedAt": "2024-08-08T17:05:55.791772Z"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["settings.update", "settings.*", "*"]
+ }]
+ }
+ },
+ "/indexes/{indexUid}/settings/dictionary": {
+ "get": {
+ "tags": ["Settings"],
+ "summary": "Get dictionary",
+ "description": "Get an user defined dictionary",
+ "operationId": "getdictionary",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }],
+ "responses": {
+ "200": {
+ "description": "dictionary is returned",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "uniqueItems": true
+ },
+ "example": []
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["settings.get", "settings.*", "*"]
+ }]
+ },
+ "put": {
+ "tags": ["Settings"],
+ "summary": "Update dictionary",
+ "description": "Update an index's user defined dictionary",
+ "operationId": "putdictionary",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "uniqueItems": true
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "description": "Task successfully enqueued",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SummarizedTaskView"
+ },
+ "example": {
+ "taskUid": 147,
+ "indexUid": "movies",
+ "status": "enqueued",
+ "type": "settingsUpdate",
+ "enqueuedAt": "2024-08-08T17:05:55.791772Z"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["settings.update", "settings.*", "*"]
+ }]
+ },
+ "delete": {
+ "tags": ["Settings"],
+ "summary": "Reset dictionary",
+ "description": "Reset an index's dictionary to its default value",
+ "operationId": "deletedictionary",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "uniqueItems": true
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "description": "Task successfully enqueued",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SummarizedTaskView"
+ },
+ "example": {
+ "taskUid": 147,
+ "indexUid": "movies",
+ "status": "enqueued",
+ "type": "settingsUpdate",
+ "enqueuedAt": "2024-08-08T17:05:55.791772Z"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["settings.update", "settings.*", "*"]
+ }]
+ }
+ },
+ "/indexes/{indexUid}/settings/displayed-attributes": {
+ "get": {
+ "tags": ["Settings"],
+ "summary": "Get displayedAttributes",
+ "description": "Get an user defined displayedAttributes",
+ "operationId": "getdisplayedAttributes",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }],
+ "responses": {
+ "200": {
+ "description": "displayedAttributes is returned",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "example": []
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["settings.get", "settings.*", "*"]
+ }]
+ },
+ "put": {
+ "tags": ["Settings"],
+ "summary": "Update displayedAttributes",
+ "description": "Update an index's user defined displayedAttributes",
+ "operationId": "putdisplayedAttributes",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "description": "Task successfully enqueued",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SummarizedTaskView"
+ },
+ "example": {
+ "taskUid": 147,
+ "indexUid": "movies",
+ "status": "enqueued",
+ "type": "settingsUpdate",
+ "enqueuedAt": "2024-08-08T17:05:55.791772Z"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["settings.update", "settings.*", "*"]
+ }]
+ },
+ "delete": {
+ "tags": ["Settings"],
+ "summary": "Reset displayedAttributes",
+ "description": "Reset an index's displayedAttributes to its default value",
+ "operationId": "deletedisplayedAttributes",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "description": "Task successfully enqueued",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SummarizedTaskView"
+ },
+ "example": {
+ "taskUid": 147,
+ "indexUid": "movies",
+ "status": "enqueued",
+ "type": "settingsUpdate",
+ "enqueuedAt": "2024-08-08T17:05:55.791772Z"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["settings.update", "settings.*", "*"]
+ }]
+ }
+ },
+ "/indexes/{indexUid}/settings/distinct-attribute": {
+ "get": {
+ "tags": ["Settings"],
+ "summary": "Get distinctAttribute",
+ "description": "Get an user defined distinctAttribute",
+ "operationId": "getdistinctAttribute",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }],
+ "responses": {
+ "200": {
+ "description": "distinctAttribute is returned",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "string"
+ },
+ "example": ""
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["settings.get", "settings.*", "*"]
+ }]
+ },
+ "put": {
+ "tags": ["Settings"],
+ "summary": "Update distinctAttribute",
+ "description": "Update an index's user defined distinctAttribute",
+ "operationId": "putdistinctAttribute",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }],
+ "requestBody": {
+ "content": {
+ "text/plain": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "description": "Task successfully enqueued",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SummarizedTaskView"
+ },
+ "example": {
+ "taskUid": 147,
+ "indexUid": "movies",
+ "status": "enqueued",
+ "type": "settingsUpdate",
+ "enqueuedAt": "2024-08-08T17:05:55.791772Z"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["settings.update", "settings.*", "*"]
+ }]
+ },
+ "delete": {
+ "tags": ["Settings"],
+ "summary": "Reset distinctAttribute",
+ "description": "Reset an index's distinctAttribute to its default value",
+ "operationId": "deletedistinctAttribute",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }],
+ "requestBody": {
+ "content": {
+ "text/plain": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "description": "Task successfully enqueued",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SummarizedTaskView"
+ },
+ "example": {
+ "taskUid": 147,
+ "indexUid": "movies",
+ "status": "enqueued",
+ "type": "settingsUpdate",
+ "enqueuedAt": "2024-08-08T17:05:55.791772Z"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["settings.update", "settings.*", "*"]
+ }]
+ }
+ },
+ "/indexes/{indexUid}/settings/embedders": {
+ "get": {
+ "tags": ["Settings"],
+ "summary": "Get embedders",
+ "description": "Get an user defined embedders",
+ "operationId": "getembedders",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }],
+ "responses": {
+ "200": {
+ "description": "embedders is returned",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/components/schemas/SettingEmbeddingSettings"
+ },
+ "propertyNames": {
+ "type": "string"
+ }
+ },
+ "example": {}
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["settings.get", "settings.*", "*"]
+ }]
+ },
+ "delete": {
+ "tags": ["Settings"],
+ "summary": "Reset embedders",
+ "description": "Reset an index's embedders to its default value",
+ "operationId": "deleteembedders",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/components/schemas/SettingEmbeddingSettings"
+ },
+ "propertyNames": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "description": "Task successfully enqueued",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SummarizedTaskView"
+ },
+ "example": {
+ "taskUid": 147,
+ "indexUid": "movies",
+ "status": "enqueued",
+ "type": "settingsUpdate",
+ "enqueuedAt": "2024-08-08T17:05:55.791772Z"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["settings.update", "settings.*", "*"]
+ }]
+ },
+ "patch": {
+ "tags": ["Settings"],
+ "summary": "Update embedders",
+ "description": "Update an index's user defined embedders",
+ "operationId": "patchembedders",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/components/schemas/SettingEmbeddingSettings"
+ },
+ "propertyNames": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "description": "Task successfully enqueued",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SummarizedTaskView"
+ },
+ "example": {
+ "taskUid": 147,
+ "indexUid": "movies",
+ "status": "enqueued",
+ "type": "settingsUpdate",
+ "enqueuedAt": "2024-08-08T17:05:55.791772Z"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["settings.update", "settings.*", "*"]
+ }]
+ }
+ },
+ "/indexes/{indexUid}/settings/facet-search": {
+ "get": {
+ "tags": ["Settings"],
+ "summary": "Get facetSearch",
+ "description": "Get an user defined facetSearch",
+ "operationId": "getfacetSearch",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }],
+ "responses": {
+ "200": {
+ "description": "facetSearch is returned",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "boolean"
+ },
+ "example": false
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["settings.get", "settings.*", "*"]
+ }]
+ },
+ "put": {
+ "tags": ["Settings"],
+ "summary": "Update facetSearch",
+ "description": "Update an index's user defined facetSearch",
+ "operationId": "putfacetSearch",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }],
+ "requestBody": {
+ "content": {
+ "text/plain": {
+ "schema": {
+ "type": "boolean"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "description": "Task successfully enqueued",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SummarizedTaskView"
+ },
+ "example": {
+ "taskUid": 147,
+ "indexUid": "movies",
+ "status": "enqueued",
+ "type": "settingsUpdate",
+ "enqueuedAt": "2024-08-08T17:05:55.791772Z"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["settings.update", "settings.*", "*"]
+ }]
+ },
+ "delete": {
+ "tags": ["Settings"],
+ "summary": "Reset facetSearch",
+ "description": "Reset an index's facetSearch to its default value",
+ "operationId": "deletefacetSearch",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }],
+ "requestBody": {
+ "content": {
+ "text/plain": {
+ "schema": {
+ "type": "boolean"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "description": "Task successfully enqueued",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SummarizedTaskView"
+ },
+ "example": {
+ "taskUid": 147,
+ "indexUid": "movies",
+ "status": "enqueued",
+ "type": "settingsUpdate",
+ "enqueuedAt": "2024-08-08T17:05:55.791772Z"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["settings.update", "settings.*", "*"]
+ }]
+ }
+ },
+ "/indexes/{indexUid}/settings/faceting": {
+ "get": {
+ "tags": ["Settings"],
+ "summary": "Get faceting",
+ "description": "Get an user defined faceting",
+ "operationId": "getfaceting",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }],
+ "responses": {
+ "200": {
+ "description": "faceting is returned",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/FacetingSettings"
+ },
+ "example": {}
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["settings.get", "settings.*", "*"]
+ }]
+ },
+ "delete": {
+ "tags": ["Settings"],
+ "summary": "Reset faceting",
+ "description": "Reset an index's faceting to its default value",
+ "operationId": "deletefaceting",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/FacetingSettings"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "description": "Task successfully enqueued",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SummarizedTaskView"
+ },
+ "example": {
+ "taskUid": 147,
+ "indexUid": "movies",
+ "status": "enqueued",
+ "type": "settingsUpdate",
+ "enqueuedAt": "2024-08-08T17:05:55.791772Z"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["settings.update", "settings.*", "*"]
+ }]
+ },
+ "patch": {
+ "tags": ["Settings"],
+ "summary": "Update faceting",
+ "description": "Update an index's user defined faceting",
+ "operationId": "patchfaceting",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/FacetingSettings"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "description": "Task successfully enqueued",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SummarizedTaskView"
+ },
+ "example": {
+ "taskUid": 147,
+ "indexUid": "movies",
+ "status": "enqueued",
+ "type": "settingsUpdate",
+ "enqueuedAt": "2024-08-08T17:05:55.791772Z"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["settings.update", "settings.*", "*"]
+ }]
+ }
+ },
+ "/indexes/{indexUid}/settings/filterable-attributes": {
+ "get": {
+ "tags": ["Settings"],
+ "summary": "Get filterableAttributes",
+ "description": "Get an user defined filterableAttributes",
+ "operationId": "getfilterableAttributes",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }],
+ "responses": {
+ "200": {
+ "description": "filterableAttributes is returned",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/FilterableAttributesRule"
+ }
+ },
+ "example": []
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["settings.get", "settings.*", "*"]
+ }]
+ },
+ "put": {
+ "tags": ["Settings"],
+ "summary": "Update filterableAttributes",
+ "description": "Update an index's user defined filterableAttributes",
+ "operationId": "putfilterableAttributes",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/FilterableAttributesRule"
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "description": "Task successfully enqueued",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SummarizedTaskView"
+ },
+ "example": {
+ "taskUid": 147,
+ "indexUid": "movies",
+ "status": "enqueued",
+ "type": "settingsUpdate",
+ "enqueuedAt": "2024-08-08T17:05:55.791772Z"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["settings.update", "settings.*", "*"]
+ }]
+ },
+ "delete": {
+ "tags": ["Settings"],
+ "summary": "Reset filterableAttributes",
+ "description": "Reset an index's filterableAttributes to its default value",
+ "operationId": "deletefilterableAttributes",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/FilterableAttributesRule"
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "description": "Task successfully enqueued",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SummarizedTaskView"
+ },
+ "example": {
+ "taskUid": 147,
+ "indexUid": "movies",
+ "status": "enqueued",
+ "type": "settingsUpdate",
+ "enqueuedAt": "2024-08-08T17:05:55.791772Z"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["settings.update", "settings.*", "*"]
+ }]
+ }
+ },
+ "/indexes/{indexUid}/settings/localized-attributes": {
+ "get": {
+ "tags": ["Settings"],
+ "summary": "Get localizedAttributes",
+ "description": "Get an user defined localizedAttributes",
+ "operationId": "getlocalizedAttributes",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }],
+ "responses": {
+ "200": {
+ "description": "localizedAttributes is returned",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/LocalizedAttributesRuleView"
+ }
+ },
+ "example": []
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["settings.get", "settings.*", "*"]
+ }]
+ },
+ "put": {
+ "tags": ["Settings"],
+ "summary": "Update localizedAttributes",
+ "description": "Update an index's user defined localizedAttributes",
+ "operationId": "putlocalizedAttributes",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/LocalizedAttributesRuleView"
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "description": "Task successfully enqueued",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SummarizedTaskView"
+ },
+ "example": {
+ "taskUid": 147,
+ "indexUid": "movies",
+ "status": "enqueued",
+ "type": "settingsUpdate",
+ "enqueuedAt": "2024-08-08T17:05:55.791772Z"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["settings.update", "settings.*", "*"]
+ }]
+ },
+ "delete": {
+ "tags": ["Settings"],
+ "summary": "Reset localizedAttributes",
+ "description": "Reset an index's localizedAttributes to its default value",
+ "operationId": "deletelocalizedAttributes",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/LocalizedAttributesRuleView"
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "description": "Task successfully enqueued",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SummarizedTaskView"
+ },
+ "example": {
+ "taskUid": 147,
+ "indexUid": "movies",
+ "status": "enqueued",
+ "type": "settingsUpdate",
+ "enqueuedAt": "2024-08-08T17:05:55.791772Z"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["settings.update", "settings.*", "*"]
+ }]
+ }
+ },
+ "/indexes/{indexUid}/settings/non-separator-tokens": {
+ "get": {
+ "tags": ["Settings"],
+ "summary": "Get nonSeparatorTokens",
+ "description": "Get an user defined nonSeparatorTokens",
+ "operationId": "getnonSeparatorTokens",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }],
+ "responses": {
+ "200": {
+ "description": "nonSeparatorTokens is returned",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "uniqueItems": true
+ },
+ "example": []
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["settings.get", "settings.*", "*"]
+ }]
+ },
+ "put": {
+ "tags": ["Settings"],
+ "summary": "Update nonSeparatorTokens",
+ "description": "Update an index's user defined nonSeparatorTokens",
+ "operationId": "putnonSeparatorTokens",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "uniqueItems": true
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "description": "Task successfully enqueued",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SummarizedTaskView"
+ },
+ "example": {
+ "taskUid": 147,
+ "indexUid": "movies",
+ "status": "enqueued",
+ "type": "settingsUpdate",
+ "enqueuedAt": "2024-08-08T17:05:55.791772Z"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["settings.update", "settings.*", "*"]
+ }]
+ },
+ "delete": {
+ "tags": ["Settings"],
+ "summary": "Reset nonSeparatorTokens",
+ "description": "Reset an index's nonSeparatorTokens to its default value",
+ "operationId": "deletenonSeparatorTokens",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "uniqueItems": true
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "description": "Task successfully enqueued",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SummarizedTaskView"
+ },
+ "example": {
+ "taskUid": 147,
+ "indexUid": "movies",
+ "status": "enqueued",
+ "type": "settingsUpdate",
+ "enqueuedAt": "2024-08-08T17:05:55.791772Z"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["settings.update", "settings.*", "*"]
+ }]
+ }
+ },
+ "/indexes/{indexUid}/settings/pagination": {
+ "get": {
+ "tags": ["Settings"],
+ "summary": "Get pagination",
+ "description": "Get an user defined pagination",
+ "operationId": "getpagination",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }],
+ "responses": {
+ "200": {
+ "description": "pagination is returned",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/PaginationSettings"
+ },
+ "example": {}
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["settings.get", "settings.*", "*"]
+ }]
+ },
+ "delete": {
+ "tags": ["Settings"],
+ "summary": "Reset pagination",
+ "description": "Reset an index's pagination to its default value",
+ "operationId": "deletepagination",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/PaginationSettings"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "description": "Task successfully enqueued",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SummarizedTaskView"
+ },
+ "example": {
+ "taskUid": 147,
+ "indexUid": "movies",
+ "status": "enqueued",
+ "type": "settingsUpdate",
+ "enqueuedAt": "2024-08-08T17:05:55.791772Z"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["settings.update", "settings.*", "*"]
+ }]
+ },
+ "patch": {
+ "tags": ["Settings"],
+ "summary": "Update pagination",
+ "description": "Update an index's user defined pagination",
+ "operationId": "patchpagination",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/PaginationSettings"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "description": "Task successfully enqueued",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SummarizedTaskView"
+ },
+ "example": {
+ "taskUid": 147,
+ "indexUid": "movies",
+ "status": "enqueued",
+ "type": "settingsUpdate",
+ "enqueuedAt": "2024-08-08T17:05:55.791772Z"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["settings.update", "settings.*", "*"]
+ }]
+ }
+ },
+ "/indexes/{indexUid}/settings/prefix-search": {
+ "get": {
+ "tags": ["Settings"],
+ "summary": "Get prefixSearch",
+ "description": "Get an user defined prefixSearch",
+ "operationId": "getprefixSearch",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }],
+ "responses": {
+ "200": {
+ "description": "prefixSearch is returned",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/PrefixSearchSettings"
+ },
+ "example": "indexingTime"
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["settings.get", "settings.*", "*"]
+ }]
+ },
+ "put": {
+ "tags": ["Settings"],
+ "summary": "Update prefixSearch",
+ "description": "Update an index's user defined prefixSearch",
+ "operationId": "putprefixSearch",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/PrefixSearchSettings"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "description": "Task successfully enqueued",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SummarizedTaskView"
+ },
+ "example": {
+ "taskUid": 147,
+ "indexUid": "movies",
+ "status": "enqueued",
+ "type": "settingsUpdate",
+ "enqueuedAt": "2024-08-08T17:05:55.791772Z"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["settings.update", "settings.*", "*"]
+ }]
+ },
+ "delete": {
+ "tags": ["Settings"],
+ "summary": "Reset prefixSearch",
+ "description": "Reset an index's prefixSearch to its default value",
+ "operationId": "deleteprefixSearch",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/PrefixSearchSettings"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "description": "Task successfully enqueued",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SummarizedTaskView"
+ },
+ "example": {
+ "taskUid": 147,
+ "indexUid": "movies",
+ "status": "enqueued",
+ "type": "settingsUpdate",
+ "enqueuedAt": "2024-08-08T17:05:55.791772Z"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["settings.update", "settings.*", "*"]
+ }]
+ }
+ },
+ "/indexes/{indexUid}/settings/proximity-precision": {
+ "get": {
+ "tags": ["Settings"],
+ "summary": "Get proximityPrecision",
+ "description": "Get an user defined proximityPrecision",
+ "operationId": "getproximityPrecision",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }],
+ "responses": {
+ "200": {
+ "description": "proximityPrecision is returned",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProximityPrecisionView"
+ },
+ "example": "byWord"
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["settings.get", "settings.*", "*"]
+ }]
+ },
+ "put": {
+ "tags": ["Settings"],
+ "summary": "Update proximityPrecision",
+ "description": "Update an index's user defined proximityPrecision",
+ "operationId": "putproximityPrecision",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProximityPrecisionView"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "description": "Task successfully enqueued",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SummarizedTaskView"
+ },
+ "example": {
+ "taskUid": 147,
+ "indexUid": "movies",
+ "status": "enqueued",
+ "type": "settingsUpdate",
+ "enqueuedAt": "2024-08-08T17:05:55.791772Z"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["settings.update", "settings.*", "*"]
+ }]
+ },
+ "delete": {
+ "tags": ["Settings"],
+ "summary": "Reset proximityPrecision",
+ "description": "Reset an index's proximityPrecision to its default value",
+ "operationId": "deleteproximityPrecision",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProximityPrecisionView"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "description": "Task successfully enqueued",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SummarizedTaskView"
+ },
+ "example": {
+ "taskUid": 147,
+ "indexUid": "movies",
+ "status": "enqueued",
+ "type": "settingsUpdate",
+ "enqueuedAt": "2024-08-08T17:05:55.791772Z"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["settings.update", "settings.*", "*"]
+ }]
+ }
+ },
+ "/indexes/{indexUid}/settings/ranking-rules": {
+ "get": {
+ "tags": ["Settings"],
+ "summary": "Get rankingRules",
+ "description": "Get an user defined rankingRules",
+ "operationId": "getrankingRules",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }],
+ "responses": {
+ "200": {
+ "description": "rankingRules is returned",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/RankingRuleView"
+ }
+ },
+ "example": []
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["settings.get", "settings.*", "*"]
+ }]
+ },
+ "put": {
+ "tags": ["Settings"],
+ "summary": "Update rankingRules",
+ "description": "Update an index's user defined rankingRules",
+ "operationId": "putrankingRules",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/RankingRuleView"
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "description": "Task successfully enqueued",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SummarizedTaskView"
+ },
+ "example": {
+ "taskUid": 147,
+ "indexUid": "movies",
+ "status": "enqueued",
+ "type": "settingsUpdate",
+ "enqueuedAt": "2024-08-08T17:05:55.791772Z"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["settings.update", "settings.*", "*"]
+ }]
+ },
+ "delete": {
+ "tags": ["Settings"],
+ "summary": "Reset rankingRules",
+ "description": "Reset an index's rankingRules to its default value",
+ "operationId": "deleterankingRules",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/RankingRuleView"
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "description": "Task successfully enqueued",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SummarizedTaskView"
+ },
+ "example": {
+ "taskUid": 147,
+ "indexUid": "movies",
+ "status": "enqueued",
+ "type": "settingsUpdate",
+ "enqueuedAt": "2024-08-08T17:05:55.791772Z"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["settings.update", "settings.*", "*"]
+ }]
+ }
+ },
+ "/indexes/{indexUid}/settings/search-cutoff-ms": {
+ "get": {
+ "tags": ["Settings"],
+ "summary": "Get searchCutoffMs",
+ "description": "Get an user defined searchCutoffMs",
+ "operationId": "getsearchCutoffMs",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }],
+ "responses": {
+ "200": {
+ "description": "searchCutoffMs is returned",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "integer",
+ "format": "u-int64",
+ "minimum": 0
+ },
+ "example": 0
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["settings.get", "settings.*", "*"]
+ }]
+ },
+ "put": {
+ "tags": ["Settings"],
+ "summary": "Update searchCutoffMs",
+ "description": "Update an index's user defined searchCutoffMs",
+ "operationId": "putsearchCutoffMs",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }],
+ "requestBody": {
+ "content": {
+ "text/plain": {
+ "schema": {
+ "type": "integer",
+ "format": "u-int64",
+ "minimum": 0
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "description": "Task successfully enqueued",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SummarizedTaskView"
+ },
+ "example": {
+ "taskUid": 147,
+ "indexUid": "movies",
+ "status": "enqueued",
+ "type": "settingsUpdate",
+ "enqueuedAt": "2024-08-08T17:05:55.791772Z"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["settings.update", "settings.*", "*"]
+ }]
+ },
+ "delete": {
+ "tags": ["Settings"],
+ "summary": "Reset searchCutoffMs",
+ "description": "Reset an index's searchCutoffMs to its default value",
+ "operationId": "deletesearchCutoffMs",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }],
+ "requestBody": {
+ "content": {
+ "text/plain": {
+ "schema": {
+ "type": "integer",
+ "format": "u-int64",
+ "minimum": 0
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "description": "Task successfully enqueued",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SummarizedTaskView"
+ },
+ "example": {
+ "taskUid": 147,
+ "indexUid": "movies",
+ "status": "enqueued",
+ "type": "settingsUpdate",
+ "enqueuedAt": "2024-08-08T17:05:55.791772Z"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["settings.update", "settings.*", "*"]
+ }]
+ }
+ },
+ "/indexes/{indexUid}/settings/searchable-attributes": {
+ "get": {
+ "tags": ["Settings"],
+ "summary": "Get searchableAttributes",
+ "description": "Get an user defined searchableAttributes",
+ "operationId": "getsearchableAttributes",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }],
+ "responses": {
+ "200": {
+ "description": "searchableAttributes is returned",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "example": []
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["settings.get", "settings.*", "*"]
+ }]
+ },
+ "put": {
+ "tags": ["Settings"],
+ "summary": "Update searchableAttributes",
+ "description": "Update an index's user defined searchableAttributes",
+ "operationId": "putsearchableAttributes",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "description": "Task successfully enqueued",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SummarizedTaskView"
+ },
+ "example": {
+ "taskUid": 147,
+ "indexUid": "movies",
+ "status": "enqueued",
+ "type": "settingsUpdate",
+ "enqueuedAt": "2024-08-08T17:05:55.791772Z"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["settings.update", "settings.*", "*"]
+ }]
+ },
+ "delete": {
+ "tags": ["Settings"],
+ "summary": "Reset searchableAttributes",
+ "description": "Reset an index's searchableAttributes to its default value",
+ "operationId": "deletesearchableAttributes",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "description": "Task successfully enqueued",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SummarizedTaskView"
+ },
+ "example": {
+ "taskUid": 147,
+ "indexUid": "movies",
+ "status": "enqueued",
+ "type": "settingsUpdate",
+ "enqueuedAt": "2024-08-08T17:05:55.791772Z"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["settings.update", "settings.*", "*"]
+ }]
+ }
+ },
+ "/indexes/{indexUid}/settings/separator-tokens": {
+ "get": {
+ "tags": ["Settings"],
+ "summary": "Get separatorTokens",
+ "description": "Get an user defined separatorTokens",
+ "operationId": "getseparatorTokens",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }],
+ "responses": {
+ "200": {
+ "description": "separatorTokens is returned",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "uniqueItems": true
+ },
+ "example": []
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["settings.get", "settings.*", "*"]
+ }]
+ },
+ "put": {
+ "tags": ["Settings"],
+ "summary": "Update separatorTokens",
+ "description": "Update an index's user defined separatorTokens",
+ "operationId": "putseparatorTokens",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "uniqueItems": true
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "description": "Task successfully enqueued",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SummarizedTaskView"
+ },
+ "example": {
+ "taskUid": 147,
+ "indexUid": "movies",
+ "status": "enqueued",
+ "type": "settingsUpdate",
+ "enqueuedAt": "2024-08-08T17:05:55.791772Z"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["settings.update", "settings.*", "*"]
+ }]
+ },
+ "delete": {
+ "tags": ["Settings"],
+ "summary": "Reset separatorTokens",
+ "description": "Reset an index's separatorTokens to its default value",
+ "operationId": "deleteseparatorTokens",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "uniqueItems": true
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "description": "Task successfully enqueued",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SummarizedTaskView"
+ },
+ "example": {
+ "taskUid": 147,
+ "indexUid": "movies",
+ "status": "enqueued",
+ "type": "settingsUpdate",
+ "enqueuedAt": "2024-08-08T17:05:55.791772Z"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["settings.update", "settings.*", "*"]
+ }]
+ }
+ },
+ "/indexes/{indexUid}/settings/sortable-attributes": {
+ "get": {
+ "tags": ["Settings"],
+ "summary": "Get sortableAttributes",
+ "description": "Get an user defined sortableAttributes",
+ "operationId": "getsortableAttributes",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }],
+ "responses": {
+ "200": {
+ "description": "sortableAttributes is returned",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "uniqueItems": true
+ },
+ "example": []
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["settings.get", "settings.*", "*"]
+ }]
+ },
+ "put": {
+ "tags": ["Settings"],
+ "summary": "Update sortableAttributes",
+ "description": "Update an index's user defined sortableAttributes",
+ "operationId": "putsortableAttributes",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "uniqueItems": true
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "description": "Task successfully enqueued",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SummarizedTaskView"
+ },
+ "example": {
+ "taskUid": 147,
+ "indexUid": "movies",
+ "status": "enqueued",
+ "type": "settingsUpdate",
+ "enqueuedAt": "2024-08-08T17:05:55.791772Z"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["settings.update", "settings.*", "*"]
+ }]
+ },
+ "delete": {
+ "tags": ["Settings"],
+ "summary": "Reset sortableAttributes",
+ "description": "Reset an index's sortableAttributes to its default value",
+ "operationId": "deletesortableAttributes",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "uniqueItems": true
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "description": "Task successfully enqueued",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SummarizedTaskView"
+ },
+ "example": {
+ "taskUid": 147,
+ "indexUid": "movies",
+ "status": "enqueued",
+ "type": "settingsUpdate",
+ "enqueuedAt": "2024-08-08T17:05:55.791772Z"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["settings.update", "settings.*", "*"]
+ }]
+ }
+ },
+ "/indexes/{indexUid}/settings/stop-words": {
+ "get": {
+ "tags": ["Settings"],
+ "summary": "Get stopWords",
+ "description": "Get an user defined stopWords",
+ "operationId": "getstopWords",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }],
+ "responses": {
+ "200": {
+ "description": "stopWords is returned",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "uniqueItems": true
+ },
+ "example": []
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["settings.get", "settings.*", "*"]
+ }]
+ },
+ "put": {
+ "tags": ["Settings"],
+ "summary": "Update stopWords",
+ "description": "Update an index's user defined stopWords",
+ "operationId": "putstopWords",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "uniqueItems": true
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "description": "Task successfully enqueued",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SummarizedTaskView"
+ },
+ "example": {
+ "taskUid": 147,
+ "indexUid": "movies",
+ "status": "enqueued",
+ "type": "settingsUpdate",
+ "enqueuedAt": "2024-08-08T17:05:55.791772Z"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["settings.update", "settings.*", "*"]
+ }]
+ },
+ "delete": {
+ "tags": ["Settings"],
+ "summary": "Reset stopWords",
+ "description": "Reset an index's stopWords to its default value",
+ "operationId": "deletestopWords",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "uniqueItems": true
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "description": "Task successfully enqueued",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SummarizedTaskView"
+ },
+ "example": {
+ "taskUid": 147,
+ "indexUid": "movies",
+ "status": "enqueued",
+ "type": "settingsUpdate",
+ "enqueuedAt": "2024-08-08T17:05:55.791772Z"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["settings.update", "settings.*", "*"]
+ }]
+ }
+ },
+ "/indexes/{indexUid}/settings/synonyms": {
+ "get": {
+ "tags": ["Settings"],
+ "summary": "Get synonyms",
+ "description": "Get an user defined synonyms",
+ "operationId": "getsynonyms",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }],
+ "responses": {
+ "200": {
+ "description": "synonyms is returned",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "propertyNames": {
+ "type": "string"
+ }
+ },
+ "example": {}
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["settings.get", "settings.*", "*"]
+ }]
+ },
+ "put": {
+ "tags": ["Settings"],
+ "summary": "Update synonyms",
+ "description": "Update an index's user defined synonyms",
+ "operationId": "putsynonyms",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "propertyNames": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "description": "Task successfully enqueued",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SummarizedTaskView"
+ },
+ "example": {
+ "taskUid": 147,
+ "indexUid": "movies",
+ "status": "enqueued",
+ "type": "settingsUpdate",
+ "enqueuedAt": "2024-08-08T17:05:55.791772Z"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["settings.update", "settings.*", "*"]
+ }]
+ },
+ "delete": {
+ "tags": ["Settings"],
+ "summary": "Reset synonyms",
+ "description": "Reset an index's synonyms to its default value",
+ "operationId": "deletesynonyms",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "propertyNames": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "description": "Task successfully enqueued",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SummarizedTaskView"
+ },
+ "example": {
+ "taskUid": 147,
+ "indexUid": "movies",
+ "status": "enqueued",
+ "type": "settingsUpdate",
+ "enqueuedAt": "2024-08-08T17:05:55.791772Z"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["settings.update", "settings.*", "*"]
+ }]
+ }
+ },
+ "/indexes/{indexUid}/settings/typo-tolerance": {
+ "get": {
+ "tags": ["Settings"],
+ "summary": "Get typoTolerance",
+ "description": "Get an user defined typoTolerance",
+ "operationId": "gettypoTolerance",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }],
+ "responses": {
+ "200": {
+ "description": "typoTolerance is returned",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/TypoSettings"
+ },
+ "example": {}
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["settings.get", "settings.*", "*"]
+ }]
+ },
+ "delete": {
+ "tags": ["Settings"],
+ "summary": "Reset typoTolerance",
+ "description": "Reset an index's typoTolerance to its default value",
+ "operationId": "deletetypoTolerance",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/TypoSettings"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "description": "Task successfully enqueued",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SummarizedTaskView"
+ },
+ "example": {
+ "taskUid": 147,
+ "indexUid": "movies",
+ "status": "enqueued",
+ "type": "settingsUpdate",
+ "enqueuedAt": "2024-08-08T17:05:55.791772Z"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["settings.update", "settings.*", "*"]
+ }]
+ },
+ "patch": {
+ "tags": ["Settings"],
+ "summary": "Update typoTolerance",
+ "description": "Update an index's user defined typoTolerance",
+ "operationId": "patchtypoTolerance",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/TypoSettings"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "description": "Task successfully enqueued",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SummarizedTaskView"
+ },
+ "example": {
+ "taskUid": 147,
+ "indexUid": "movies",
+ "status": "enqueued",
+ "type": "settingsUpdate",
+ "enqueuedAt": "2024-08-08T17:05:55.791772Z"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["settings.update", "settings.*", "*"]
+ }]
+ }
+ },
+ "/indexes/{indexUid}/similar": {
+ "get": {
+ "tags": ["Similar documents"],
+ "summary": "Get similar documents with GET",
+ "description": "Retrieve documents similar to a specific search result.",
+ "operationId": "similar_get",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }, {
+ "name": "id",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }, {
+ "name": "offset",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "default": 0,
+ "minimum": 0
+ }
+ }, {
+ "name": "limit",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "default": 20,
+ "minimum": 0
+ }
+ }, {
+ "name": "attributes_to_retrieve",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }, {
+ "name": "retrieve_vectors",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "boolean"
+ }
+ }, {
+ "name": "filter",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ }, {
+ "name": "show_ranking_score",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "boolean"
+ }
+ }, {
+ "name": "show_ranking_score_details",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "boolean"
+ }
+ }, {
+ "name": "ranking_score_threshold",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "number",
+ "format": "float"
+ }
+ }, {
+ "name": "embedder",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }],
+ "responses": {
+ "200": {
+ "description": "The documents are returned",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SimilarResult"
+ },
+ "example": {
+ "hits": [{
+ "id": 2770,
+ "title": "American Pie 2",
+ "poster": "https://image.tmdb.org/t/p/w1280/q4LNgUnRfltxzp3gf1MAGiK5LhV.jpg",
+ "overview": "The whole gang are back and as close as ever. They decide to get even closer by spending the summer together at a beach house. They decide to hold the biggestโฆ",
+ "release_date": 997405200
+ }, {
+ "id": 190859,
+ "title": "American Sniper",
+ "poster": "https://image.tmdb.org/t/p/w1280/svPHnYE7N5NAGO49dBmRhq0vDQ3.jpg",
+ "overview": "U.S. Navy SEAL Chris Kyle takes his sole missionโprotect his comradesโto heart and becomes one of the most lethal snipers in American history. His pinpoint accuracy not only saves countless lives but also makes him a primeโฆ",
+ "release_date": 1418256000
+ }],
+ "offset": 0,
+ "limit": 2,
+ "estimatedTotalHits": 976,
+ "processingTimeMs": 35,
+ "query": "american "
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "Index not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "Index `movies` not found.",
+ "code": "index_not_found",
+ "type": "invalid_request",
+ "link": "https://docs.meilisearch.com/errors#index_not_found"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["search", "*"]
+ }]
+ },
+ "post": {
+ "tags": ["Similar documents"],
+ "summary": "Get similar documents with POST",
+ "description": "Retrieve documents similar to a specific search result.",
+ "operationId": "similar_post",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SimilarQuery"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "description": "The documents are returned",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SimilarResult"
+ },
+ "example": {
+ "hits": [{
+ "id": 2770,
+ "title": "American Pie 2",
+ "poster": "https://image.tmdb.org/t/p/w1280/q4LNgUnRfltxzp3gf1MAGiK5LhV.jpg",
+ "overview": "The whole gang are back and as close as ever. They decide to get even closer by spending the summer together at a beach house. They decide to hold the biggestโฆ",
+ "release_date": 997405200
+ }, {
+ "id": 190859,
+ "title": "American Sniper",
+ "poster": "https://image.tmdb.org/t/p/w1280/svPHnYE7N5NAGO49dBmRhq0vDQ3.jpg",
+ "overview": "U.S. Navy SEAL Chris Kyle takes his sole missionโprotect his comradesโto heart and becomes one of the most lethal snipers in American history. His pinpoint accuracy not only saves countless lives but also makes him a primeโฆ",
+ "release_date": 1418256000
+ }],
+ "offset": 0,
+ "limit": 2,
+ "estimatedTotalHits": 976,
+ "processingTimeMs": 35,
+ "query": "american "
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "Index not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "Index `movies` not found.",
+ "code": "index_not_found",
+ "type": "invalid_request",
+ "link": "https://docs.meilisearch.com/errors#index_not_found"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["search", "*"]
+ }]
+ }
+ },
+ "/indexes/{indexUid}/stats": {
+ "get": {
+ "tags": ["Stats"],
+ "summary": "Get stats of index",
+ "description": "Get the stats of an index.",
+ "operationId": "get_index_stats",
+ "parameters": [{
+ "name": "indexUid",
+ "in": "path",
+ "description": "Index Unique Identifier",
+ "required": true,
+ "schema": {
+ "type": "string"
+ },
+ "example": "movies"
+ }],
+ "responses": {
+ "200": {
+ "description": "The stats of the index",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/IndexStats"
+ },
+ "example": {
+ "numberOfDocuments": 10,
+ "rawDocumentDbSize": 10,
+ "avgDocumentSize": 10,
+ "numberOfEmbeddings": 10,
+ "numberOfEmbeddedDocuments": 10,
+ "isIndexing": true,
+ "fieldDistribution": {
+ "genre": 10,
+ "author": 9
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "Index not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "Index `movies` not found.",
+ "code": "index_not_found",
+ "type": "invalid_request",
+ "link": "https://docs.meilisearch.com/errors#index_not_found"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["stats.get", "stats.*", "*"]
+ }]
+ }
+ },
+ "/keys": {
+ "get": {
+ "tags": ["Keys"],
+ "summary": "Get API Keys",
+ "description": "List all API Keys",
+ "operationId": "list_api_keys",
+ "parameters": [{
+ "name": "offset",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "default": 0,
+ "minimum": 0
+ }
+ }, {
+ "name": "limit",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "default": 20,
+ "minimum": 0
+ }
+ }],
+ "responses": {
+ "202": {
+ "description": "List of keys",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/PaginationView_KeyView"
+ },
+ "example": {
+ "results": [{
+ "uid": "01b4bc42-eb33-4041-b481-254d00cce834",
+ "key": "d0552b41536279a0ad88bd595327b96f01176a60c2243e906c52ac02375f9bc4",
+ "name": "An API Key",
+ "description": null,
+ "actions": ["documents.add"],
+ "indexes": ["movies"],
+ "expiresAt": "2022-11-12T10:00:00Z",
+ "createdAt": "2021-11-12T10:00:00Z",
+ "updatedAt": "2021-11-12T10:00:00Z"
+ }],
+ "limit": 20,
+ "offset": 0,
+ "total": 1
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["keys.get", "keys.*", "*"]
+ }]
+ },
+ "post": {
+ "tags": ["Keys"],
+ "summary": "Create an API Key",
+ "description": "Create an API Key.",
+ "operationId": "create_api_key",
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CreateApiKey"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "202": {
+ "description": "Key has been created",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/KeyView"
+ },
+ "example": {
+ "uid": "01b4bc42-eb33-4041-b481-254d00cce834",
+ "key": "d0552b41536279a0ad88bd595327b96f01176a60c2243e906c52ac02375f9bc4",
+ "name": "Indexing Products API key",
+ "description": null,
+ "actions": ["documents.add"],
+ "indexes": ["products"],
+ "expiresAt": "2021-11-13T00:00:00Z",
+ "createdAt": "2021-11-12T10:00:00Z",
+ "updatedAt": "2021-11-12T10:00:00Z"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["keys.create", "keys.*", "*"]
+ }]
+ }
+ },
+ "/keys/{uidOrKey}": {
+ "get": {
+ "tags": ["Keys"],
+ "summary": "Get an API Key",
+ "description": "Get an API key from its `uid` or its `key` field.",
+ "operationId": "get_api_key",
+ "parameters": [{
+ "name": "uidOrKey",
+ "in": "path",
+ "description": "The `uid` or `key` field of an existing API key",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "password"
+ },
+ "example": "7b198a7f-52a0-4188-8762-9ad93cd608b2"
+ }],
+ "responses": {
+ "200": {
+ "description": "The key is returned",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/KeyView"
+ },
+ "example": {
+ "uid": "01b4bc42-eb33-4041-b481-254d00cce834",
+ "key": "d0552b41536279a0ad88bd595327b96f01176a60c2243e906c52ac02375f9bc4",
+ "name": "An API Key",
+ "description": null,
+ "actions": ["documents.add"],
+ "indexes": ["movies"],
+ "expiresAt": "2022-11-12T10:00:00Z",
+ "createdAt": "2021-11-12T10:00:00Z",
+ "updatedAt": "2021-11-12T10:00:00Z"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["keys.get", "keys.*", "*"]
+ }]
+ },
+ "delete": {
+ "tags": ["Keys"],
+ "summary": "Delete a key",
+ "description": "Delete the specified API key.",
+ "operationId": "delete_api_key",
+ "parameters": [{
+ "name": "uidOrKey",
+ "in": "path",
+ "description": "The `uid` or `key` field of an existing API key",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "password"
+ },
+ "example": "7b198a7f-52a0-4188-8762-9ad93cd608b2"
+ }],
+ "responses": {
+ "204": {
+ "description": "The key have been removed"
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["keys.delete", "keys.*", "*"]
+ }]
+ },
+ "patch": {
+ "tags": ["Keys"],
+ "summary": "Update a Key",
+ "description": "Update the name and description of an API key.\nUpdates to keys are partial. This means you should provide only the fields you intend to update, as any fields not present in the payload will remain unchanged.",
+ "operationId": "patch_api_key",
+ "parameters": [{
+ "name": "uidOrKey",
+ "in": "path",
+ "description": "The `uid` or `key` field of an existing API key",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "password"
+ },
+ "example": "7b198a7f-52a0-4188-8762-9ad93cd608b2"
+ }],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/PatchApiKey"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "description": "The key have been updated",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/KeyView"
+ },
+ "example": {
+ "uid": "01b4bc42-eb33-4041-b481-254d00cce834",
+ "key": "d0552b41536279a0ad88bd595327b96f01176a60c2243e906c52ac02375f9bc4",
+ "name": "An API Key",
+ "description": null,
+ "actions": ["documents.add"],
+ "indexes": ["movies"],
+ "expiresAt": "2022-11-12T10:00:00Z",
+ "createdAt": "2021-11-12T10:00:00Z",
+ "updatedAt": "2021-11-12T10:00:00Z"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["keys.update", "keys.*", "*"]
+ }]
+ }
+ },
+ "/logs/stderr": {
+ "post": {
+ "tags": ["Logs"],
+ "summary": "Update target of the console logs",
+ "description": "This route lets you specify at runtime the level of the console logs outputted on stderr.",
+ "operationId": "update_stderr_target",
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/UpdateStderrLogs"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "204": {
+ "description": "The console logs have been updated"
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["metrics.get", "metrics.*", "*"]
+ }]
+ }
+ },
+ "/logs/stream": {
+ "post": {
+ "tags": ["Logs"],
+ "summary": "Retrieve logs",
+ "description": "Stream logs over HTTP. The format of the logs depends on the configuration specified in the payload.\nThe logs are sent as multi-part, and the stream never stops, so make sure your clients correctly handle that.\nTo make the server stop sending you logs, you can call the `DELETE /logs/stream` route.\n\nThere can only be one listener at a timeand an error will be returned if you call this route while it's being used by another client.",
+ "operationId": "get_logs",
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/GetLogs"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "description": "Logs are being returned",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "string"
+ },
+ "example": "\n2024-10-08T13:35:02.643750Z WARN HTTP request{method=GET host=\"localhost:7700\" route=/metrics query_parameters= user_agent=HTTPie/3.2.3 status_code=400 error=Getting metrics requires enabling the `metrics` experimental feature. See https://github.com/meilisearch/product/discussions/625}: tracing_actix_web::middleware: Error encountered while processing the incoming HTTP request: ResponseError { code: 400, message: \"Getting metrics requires enabling the `metrics` experimental feature. See https://github.com/meilisearch/product/discussions/625\", error_code: \"feature_not_enabled\", error_type: \"invalid_request\", error_link: \"https://docs.meilisearch.com/errors#feature_not_enabled\" }\n2024-10-08T13:35:02.644191Z INFO HTTP request{method=GET host=\"localhost:7700\" route=/metrics query_parameters= user_agent=HTTPie/3.2.3 status_code=400 error=Getting metrics requires enabling the `metrics` experimental feature. See https://github.com/meilisearch/product/discussions/625}: meilisearch: close time.busy=1.66ms time.idle=658ยตs\n2024-10-08T13:35:18.564152Z INFO HTTP request{method=PATCH host=\"localhost:7700\" route=/experimental-features query_parameters= user_agent=curl/8.6.0 status_code=200}: meilisearch: close time.busy=1.17ms time.idle=127ยตs\n2024-10-08T13:35:23.094987Z INFO HTTP request{method=GET host=\"localhost:7700\" route=/metrics query_parameters= user_agent=HTTPie/3.2.3 status_code=200}: meilisearch: close time.busy=2.12ms time.idle=595ยตs\n"
+ }
+ }
+ },
+ "400": {
+ "description": "The route is already being used",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The `/logs/stream` route is currently in use by someone else.",
+ "code": "bad_request",
+ "type": "invalid_request",
+ "link": "https://docs.meilisearch.com/errors#bad_request"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["metrics.get", "metrics.*", "*"]
+ }]
+ },
+ "delete": {
+ "tags": ["Logs"],
+ "summary": "Stop retrieving logs",
+ "description": "Call this route to make the engine stops sending logs through the `POST /logs/stream` route.",
+ "operationId": "cancel_logs",
+ "responses": {
+ "204": {
+ "description": "Logs are being returned"
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["metrics.get", "metrics.*", "*"]
+ }]
+ }
+ },
+ "/metrics": {
+ "get": {
+ "tags": ["Stats"],
+ "summary": "Get prometheus metrics",
+ "description": "Retrieve metrics on the engine. See https://www.meilisearch.com/docs/learn/experimental/metrics\nCurrently, [the feature is experimental](https://www.meilisearch.com/docs/learn/experimental/overview)\nwhich means it must be enabled.",
+ "operationId": "get_metrics",
+ "responses": {
+ "200": {
+ "description": "The metrics of the instance",
+ "content": {
+ "text/plain": {
+ "schema": {
+ "type": "string"
+ },
+ "example": "\n# HELP meilisearch_db_size_bytes Meilisearch DB Size In Bytes\n# TYPE meilisearch_db_size_bytes gauge\nmeilisearch_db_size_bytes 1130496\n# HELP meilisearch_http_requests_total Meilisearch HTTP requests total\n# TYPE meilisearch_http_requests_total counter\nmeilisearch_http_requests_total{method=\"GET\",path=\"/metrics\",status=\"400\"} 1\nmeilisearch_http_requests_total{method=\"PATCH\",path=\"/experimental-features\",status=\"200\"} 1\n# HELP meilisearch_http_response_time_seconds Meilisearch HTTP response times\n# TYPE meilisearch_http_response_time_seconds histogram\nmeilisearch_http_response_time_seconds_bucket{method=\"GET\",path=\"/metrics\",le=\"0.005\"} 0\nmeilisearch_http_response_time_seconds_bucket{method=\"GET\",path=\"/metrics\",le=\"0.01\"} 0\nmeilisearch_http_response_time_seconds_bucket{method=\"GET\",path=\"/metrics\",le=\"0.025\"} 0\nmeilisearch_http_response_time_seconds_bucket{method=\"GET\",path=\"/metrics\",le=\"0.05\"} 0\nmeilisearch_http_response_time_seconds_bucket{method=\"GET\",path=\"/metrics\",le=\"0.075\"} 0\nmeilisearch_http_response_time_seconds_bucket{method=\"GET\",path=\"/metrics\",le=\"0.1\"} 0\nmeilisearch_http_response_time_seconds_bucket{method=\"GET\",path=\"/metrics\",le=\"0.25\"} 0\nmeilisearch_http_response_time_seconds_bucket{method=\"GET\",path=\"/metrics\",le=\"0.5\"} 0\nmeilisearch_http_response_time_seconds_bucket{method=\"GET\",path=\"/metrics\",le=\"0.75\"} 0\nmeilisearch_http_response_time_seconds_bucket{method=\"GET\",path=\"/metrics\",le=\"1\"} 0\nmeilisearch_http_response_time_seconds_bucket{method=\"GET\",path=\"/metrics\",le=\"2.5\"} 0\nmeilisearch_http_response_time_seconds_bucket{method=\"GET\",path=\"/metrics\",le=\"5\"} 0\nmeilisearch_http_response_time_seconds_bucket{method=\"GET\",path=\"/metrics\",le=\"7.5\"} 0\nmeilisearch_http_response_time_seconds_bucket{method=\"GET\",path=\"/metrics\",le=\"10\"} 0\nmeilisearch_http_response_time_seconds_bucket{method=\"GET\",path=\"/metrics\",le=\"+Inf\"} 0\nmeilisearch_http_response_time_seconds_sum{method=\"GET\",path=\"/metrics\"} 0\nmeilisearch_http_response_time_seconds_count{method=\"GET\",path=\"/metrics\"} 0\n# HELP meilisearch_index_count Meilisearch Index Count\n# TYPE meilisearch_index_count gauge\nmeilisearch_index_count 1\n# HELP meilisearch_index_docs_count Meilisearch Index Docs Count\n# TYPE meilisearch_index_docs_count gauge\nmeilisearch_index_docs_count{index=\"mieli\"} 2\n# HELP meilisearch_is_indexing Meilisearch Is Indexing\n# TYPE meilisearch_is_indexing gauge\nmeilisearch_is_indexing 0\n# HELP meilisearch_last_update Meilisearch Last Update\n# TYPE meilisearch_last_update gauge\nmeilisearch_last_update 1726675964\n# HELP meilisearch_nb_tasks Meilisearch Number of tasks\n# TYPE meilisearch_nb_tasks gauge\nmeilisearch_nb_tasks{kind=\"indexes\",value=\"mieli\"} 39\nmeilisearch_nb_tasks{kind=\"statuses\",value=\"canceled\"} 0\nmeilisearch_nb_tasks{kind=\"statuses\",value=\"enqueued\"} 0\nmeilisearch_nb_tasks{kind=\"statuses\",value=\"failed\"} 4\nmeilisearch_nb_tasks{kind=\"statuses\",value=\"processing\"} 0\nmeilisearch_nb_tasks{kind=\"statuses\",value=\"succeeded\"} 35\nmeilisearch_nb_tasks{kind=\"types\",value=\"documentAdditionOrUpdate\"} 9\nmeilisearch_nb_tasks{kind=\"types\",value=\"documentDeletion\"} 0\nmeilisearch_nb_tasks{kind=\"types\",value=\"documentEdition\"} 0\nmeilisearch_nb_tasks{kind=\"types\",value=\"dumpCreation\"} 0\nmeilisearch_nb_tasks{kind=\"types\",value=\"indexCreation\"} 0\nmeilisearch_nb_tasks{kind=\"types\",value=\"indexDeletion\"} 8\nmeilisearch_nb_tasks{kind=\"types\",value=\"indexSwap\"} 0\nmeilisearch_nb_tasks{kind=\"types\",value=\"indexUpdate\"} 0\nmeilisearch_nb_tasks{kind=\"types\",value=\"settingsUpdate\"} 22\nmeilisearch_nb_tasks{kind=\"types\",value=\"snapshotCreation\"} 0\nmeilisearch_nb_tasks{kind=\"types\",value=\"taskCancelation\"} 0\nmeilisearch_nb_tasks{kind=\"types\",value=\"taskDeletion\"} 0\n# HELP meilisearch_used_db_size_bytes Meilisearch Used DB Size In Bytes\n# TYPE meilisearch_used_db_size_bytes gauge\nmeilisearch_used_db_size_bytes 409600\n"
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["metrics.get", "metrics.*", "*"]
+ }]
+ }
+ },
+ "/multi-search": {
+ "post": {
+ "tags": ["Multi-search"],
+ "summary": "Perform a multi-search",
+ "description": "Bundle multiple search queries in a single API request. Use this endpoint to search through multiple indexes at once.",
+ "operationId": "multi_search_with_post",
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/FederatedSearch"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "description": "Federated multi-search",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/FederatedSearchResult"
+ },
+ "example": {
+ "hits": [{
+ "id": 42,
+ "title": "Batman returns",
+ "overview": "The overview of batman returns",
+ "_federation": {
+ "indexUid": "movies",
+ "queriesPosition": 0
+ }
+ }, {
+ "comicsId": "batman-killing-joke",
+ "description": "This comic is really awesome",
+ "title": "Batman: the killing joke",
+ "_federation": {
+ "indexUid": "comics",
+ "queriesPosition": 1
+ }
+ }],
+ "processingTimeMs": 0,
+ "limit": 20,
+ "offset": 0,
+ "estimatedTotalHits": 2,
+ "semanticHitCount": 0
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["search", "*"]
+ }]
+ }
+ },
+ "/network": {
+ "get": {
+ "tags": ["Network"],
+ "summary": "Get network topology",
+ "description": "Get a list of all Meilisearch instances currently known to this instance.",
+ "operationId": "get_network",
+ "responses": {
+ "200": {
+ "description": "Known nodes are returned",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Network"
+ },
+ "example": {
+ "self": "ms-0",
+ "remotes": {
+ "ms-0": {
+ "url": "http://localhost:7700",
+ "searchApiKey": null
+ },
+ "ms-1": {
+ "url": "http://localhost:7701",
+ "searchApiKey": "foo"
+ },
+ "ms-2": {
+ "url": "http://localhost:7702",
+ "searchApiKey": "bar"
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["network.get", "*"]
+ }]
+ },
+ "patch": {
+ "tags": ["Network"],
+ "summary": "Configure Network",
+ "description": "Add or remove nodes from network.",
+ "operationId": "patch_network",
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Network"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "description": "New network state is returned",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Network"
+ },
+ "example": {
+ "self": "ms-0",
+ "remotes": {
+ "ms-0": {
+ "url": "http://localhost:7700",
+ "searchApiKey": null
+ },
+ "ms-1": {
+ "url": "http://localhost:7701",
+ "searchApiKey": "foo"
+ },
+ "ms-2": {
+ "url": "http://localhost:7702",
+ "searchApiKey": "bar"
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["network.update", "*"]
+ }]
+ }
+ },
+ "/snapshots": {
+ "post": {
+ "tags": ["Snapshots"],
+ "summary": "Create a snapshot",
+ "description": "Triggers a snapshot creation process. Once the process is complete, a snapshot is created in the snapshot directory. If the snapshot directory does not exist yet, it will be created.",
+ "operationId": "create_snapshot",
+ "responses": {
+ "202": {
+ "description": "Snapshot is being created",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SummarizedTaskView"
+ },
+ "example": {
+ "taskUid": 0,
+ "indexUid": null,
+ "status": "enqueued",
+ "type": "snapshotCreation",
+ "enqueuedAt": "2021-01-01T09:39:00.000000Z"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["snapshots.create", "snapshots.*", "*"]
+ }]
+ }
+ },
+ "/stats": {
+ "get": {
+ "tags": ["Stats"],
+ "summary": "Get stats of all indexes.",
+ "description": "Get stats of all indexes.",
+ "operationId": "get_stats",
+ "responses": {
+ "200": {
+ "description": "The stats of the instance",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Stats"
+ },
+ "example": {
+ "databaseSize": 567,
+ "usedDatabaseSize": 456,
+ "lastUpdate": "2019-11-20T09:40:33.711324Z",
+ "indexes": {
+ "movies": {
+ "numberOfDocuments": 10,
+ "rawDocumentDbSize": 100,
+ "maxDocumentSize": 16,
+ "avgDocumentSize": 10,
+ "isIndexing": true,
+ "fieldDistribution": {
+ "genre": 10,
+ "author": 9
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["stats.get", "stats.*", "*"]
+ }]
+ }
+ },
+ "/swap-indexes": {
+ "post": {
+ "tags": ["Indexes"],
+ "summary": "Swap indexes",
+ "description": "Swap the documents, settings, and task history of two or more indexes. You can only swap indexes in pairs. However, a single request can swap as many index pairs as you wish.\nSwapping indexes is an atomic transaction: either all indexes are successfully swapped, or none are.\nSwapping indexA and indexB will also replace every mention of indexA by indexB and vice-versa in the task history. enqueued tasks are left unmodified.",
+ "operationId": "swap_indexes",
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/SwapIndexesPayload"
+ }
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "description": "Task successfully enqueued",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SummarizedTaskView"
+ },
+ "example": {
+ "taskUid": 3,
+ "indexUid": null,
+ "status": "enqueued",
+ "type": "indexSwap",
+ "enqueuedAt": "2021-08-12T10:00:00.000000Z"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["search", "*"]
+ }]
+ }
+ },
+ "/tasks": {
+ "get": {
+ "tags": ["Tasks"],
+ "summary": "Get all tasks",
+ "description": "Get all [tasks](https://docs.meilisearch.com/learn/advanced/asynchronous_operations.html)",
+ "operationId": "get_tasks",
+ "parameters": [{
+ "name": "limit",
+ "in": "query",
+ "description": "Maximum number of results to return.",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "format": "u-int32",
+ "default": 20,
+ "minimum": 0
+ },
+ "example": 12
+ }, {
+ "name": "from",
+ "in": "query",
+ "description": "Fetch the next set of results from the given uid.",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "format": "u-int32",
+ "minimum": 0
+ },
+ "example": 12421
+ }, {
+ "name": "reverse",
+ "in": "query",
+ "description": "The order you want to retrieve the objects.",
+ "required": false,
+ "schema": {
+ "type": "boolean"
+ },
+ "example": true
+ }, {
+ "name": "batchUids",
+ "in": "query",
+ "description": "Permits to filter tasks by their batch uid. By default, when the `batchUids` query parameter is not set, all task uids are returned. It's possible to specify several batch uids by separating them with the `,` character.",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "format": "u-int32",
+ "minimum": 0
+ },
+ "example": 12421
+ }, {
+ "name": "uids",
+ "in": "query",
+ "description": "Permits to filter tasks by their uid. By default, when the uids query parameter is not set, all task uids are returned. It's possible to specify several uids by separating them with the `,` character.",
+ "required": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "integer",
+ "format": "u-int32",
+ "minimum": 0
+ }
+ },
+ "example": [231, 423, 598, "*"]
+ }, {
+ "name": "canceledBy",
+ "in": "query",
+ "description": "Permits to filter tasks using the uid of the task that canceled them. It's possible to specify several task uids by separating them with the `,` character.",
+ "required": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "integer",
+ "format": "u-int32",
+ "minimum": 0
+ }
+ },
+ "example": [374, "*"]
+ }, {
+ "name": "types",
+ "in": "query",
+ "description": "Permits to filter tasks by their related type. By default, when `types` query parameter is not set, all task types are returned. It's possible to specify several types by separating them with the `,` character.",
+ "required": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "example": ["documentAdditionOrUpdate", "*"]
+ }, {
+ "name": "statuses",
+ "in": "query",
+ "description": "Permits to filter tasks by their status. By default, when `statuses` query parameter is not set, all task statuses are returned. It's possible to specify several statuses by separating them with the `,` character.",
+ "required": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Status"
+ }
+ },
+ "example": ["succeeded", "failed", "canceled", "enqueued", "processing", "*"]
+ }, {
+ "name": "indexUids",
+ "in": "query",
+ "description": "Permits to filter tasks by their related index. By default, when `indexUids` query parameter is not set, the tasks of all the indexes are returned. It is possible to specify several indexes by separating them with the `,` character.",
+ "required": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "example": ["movies", "theater", "*"]
+ }, {
+ "name": "afterEnqueuedAt",
+ "in": "query",
+ "description": "Permits to filter tasks based on their enqueuedAt time. Matches tasks enqueued after the given date. Supports RFC 3339 date format.",
+ "required": false,
+ "schema": {
+ "type": "string"
+ },
+ "example": ["2024-08-08T16:37:09.971Z", "*"]
+ }, {
+ "name": "beforeEnqueuedAt",
+ "in": "query",
+ "description": "Permits to filter tasks based on their enqueuedAt time. Matches tasks enqueued before the given date. Supports RFC 3339 date format.",
+ "required": false,
+ "schema": {
+ "type": "string"
+ },
+ "example": ["2024-08-08T16:37:09.971Z", "*"]
+ }, {
+ "name": "afterStartedAt",
+ "in": "query",
+ "description": "Permits to filter tasks based on their startedAt time. Matches tasks started after the given date. Supports RFC 3339 date format.",
+ "required": false,
+ "schema": {
+ "type": "string"
+ },
+ "example": ["2024-08-08T16:37:09.971Z", "*"]
+ }, {
+ "name": "beforeStartedAt",
+ "in": "query",
+ "description": "Permits to filter tasks based on their startedAt time. Matches tasks started before the given date. Supports RFC 3339 date format.",
+ "required": false,
+ "schema": {
+ "type": "string"
+ },
+ "example": ["2024-08-08T16:37:09.971Z", "*"]
+ }, {
+ "name": "afterFinishedAt",
+ "in": "query",
+ "description": "Permits to filter tasks based on their finishedAt time. Matches tasks finished after the given date. Supports RFC 3339 date format.",
+ "required": false,
+ "schema": {
+ "type": "string"
+ },
+ "example": ["2024-08-08T16:37:09.971Z", "*"]
+ }, {
+ "name": "beforeFinishedAt",
+ "in": "query",
+ "description": "Permits to filter tasks based on their finishedAt time. Matches tasks finished before the given date. Supports RFC 3339 date format.",
+ "required": false,
+ "schema": {
+ "type": "string"
+ },
+ "example": ["2024-08-08T16:37:09.971Z", "*"]
+ }],
+ "responses": {
+ "200": {
+ "description": "Get all tasks",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/AllTasks"
+ },
+ "example": {
+ "results": [{
+ "uid": 144,
+ "indexUid": "mieli",
+ "status": "succeeded",
+ "type": "settingsUpdate",
+ "canceledBy": null,
+ "details": {
+ "settings": {
+ "filterableAttributes": ["play_count"]
+ }
+ },
+ "error": null,
+ "duration": "PT0.009330S",
+ "enqueuedAt": "2024-08-08T09:01:13.348471Z",
+ "startedAt": "2024-08-08T09:01:13.349442Z",
+ "finishedAt": "2024-08-08T09:01:13.358772Z"
+ }],
+ "total": 1,
+ "limit": 1,
+ "from": 144,
+ "next": null
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["tasks.get", "tasks.*", "*"]
+ }]
+ },
+ "delete": {
+ "tags": ["Tasks"],
+ "summary": "Delete tasks",
+ "description": "Delete [tasks](https://docs.meilisearch.com/learn/advanced/asynchronous_operations.html) on filter",
+ "operationId": "delete_tasks",
+ "parameters": [{
+ "name": "uids",
+ "in": "query",
+ "description": "Permits to filter tasks by their uid. By default, when the `uids` query parameter is not set, all task uids are returned. It's possible to specify several uids by separating them with the `,` character.",
+ "required": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "integer",
+ "format": "u-int32",
+ "minimum": 0
+ }
+ },
+ "example": [231, 423, 598, "*"]
+ }, {
+ "name": "batchUids",
+ "in": "query",
+ "description": "Lets you filter tasks by their `batchUid`.",
+ "required": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "integer",
+ "format": "u-int32",
+ "minimum": 0
+ }
+ },
+ "example": [231, 423, 598, "*"]
+ }, {
+ "name": "canceledBy",
+ "in": "query",
+ "description": "Permits to filter tasks using the uid of the task that canceled them. It's possible to specify several task uids by separating them with the `,` character.",
+ "required": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "integer",
+ "format": "u-int32",
+ "minimum": 0
+ }
+ },
+ "example": [374, "*"]
+ }, {
+ "name": "types",
+ "in": "query",
+ "description": "Permits to filter tasks by their related type. By default, when `types` query parameter is not set, all task types are returned. It's possible to specify several types by separating them with the `,` character.",
+ "required": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Kind"
+ }
+ },
+ "example": ["documentDeletion", "*"]
+ }, {
+ "name": "statuses",
+ "in": "query",
+ "description": "Permits to filter tasks by their status. By default, when `statuses` query parameter is not set, all task statuses are returned. It's possible to specify several statuses by separating them with the `,` character.",
+ "required": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Status"
+ }
+ },
+ "example": ["succeeded", "failed", "canceled", "*"]
+ }, {
+ "name": "indexUids",
+ "in": "query",
+ "description": "Permits to filter tasks by their related index. By default, when `indexUids` query parameter is not set, the tasks of all the indexes are returned. It is possible to specify several indexes by separating them with the `,` character.",
+ "required": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "example": ["movies", "theater", "*"]
+ }, {
+ "name": "afterEnqueuedAt",
+ "in": "query",
+ "description": "Permits to filter tasks based on their enqueuedAt time. Matches tasks enqueued after the given date. Supports RFC 3339 date format.",
+ "required": false,
+ "schema": {
+ "type": "string"
+ },
+ "example": ["2024-08-08T16:37:09.971Z", "*"]
+ }, {
+ "name": "beforeEnqueuedAt",
+ "in": "query",
+ "description": "Permits to filter tasks based on their enqueuedAt time. Matches tasks enqueued before the given date. Supports RFC 3339 date format.",
+ "required": false,
+ "schema": {
+ "type": "string"
+ },
+ "example": ["2024-08-08T16:37:09.971Z", "*"]
+ }, {
+ "name": "afterStartedAt",
+ "in": "query",
+ "description": "Permits to filter tasks based on their startedAt time. Matches tasks started after the given date. Supports RFC 3339 date format.",
+ "required": false,
+ "schema": {
+ "type": "string"
+ },
+ "example": ["2024-08-08T16:37:09.971Z", "*"]
+ }, {
+ "name": "beforeStartedAt",
+ "in": "query",
+ "description": "Permits to filter tasks based on their startedAt time. Matches tasks started before the given date. Supports RFC 3339 date format.",
+ "required": false,
+ "schema": {
+ "type": "string"
+ },
+ "example": ["2024-08-08T16:37:09.971Z", "*"]
+ }, {
+ "name": "afterFinishedAt",
+ "in": "query",
+ "description": "Permits to filter tasks based on their finishedAt time. Matches tasks finished after the given date. Supports RFC 3339 date format.",
+ "required": false,
+ "schema": {
+ "type": "string"
+ },
+ "example": ["2024-08-08T16:37:09.971Z", "*"]
+ }, {
+ "name": "beforeFinishedAt",
+ "in": "query",
+ "description": "Permits to filter tasks based on their finishedAt time. Matches tasks finished before the given date. Supports RFC 3339 date format.",
+ "required": false,
+ "schema": {
+ "type": "string"
+ },
+ "example": ["2024-08-08T16:37:09.971Z", "*"]
+ }],
+ "responses": {
+ "200": {
+ "description": "Task successfully enqueued",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SummarizedTaskView"
+ },
+ "example": {
+ "taskUid": 147,
+ "indexUid": null,
+ "status": "enqueued",
+ "type": "taskDeletion",
+ "enqueuedAt": "2024-08-08T17:05:55.791772Z"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "A filter is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "Query parameters to filter the tasks to delete are missing. Available query parameters are: `uids`, `indexUids`, `statuses`, `types`, `canceledBy`, `beforeEnqueuedAt`, `afterEnqueuedAt`, `beforeStartedAt`, `afterStartedAt`, `beforeFinishedAt`, `afterFinishedAt`.",
+ "code": "missing_task_filters",
+ "type": "invalid_request",
+ "link": "https://docs.meilisearch.com/errors#missing_task_filters"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "The task uid does not exists",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "Task :taskUid not found.",
+ "code": "task_not_found",
+ "type": "invalid_request",
+ "link": "https://docs.meilisearch.com/errors/#task_not_found"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["tasks.delete", "tasks.*", "*"]
+ }]
+ }
+ },
+ "/tasks/cancel": {
+ "post": {
+ "tags": ["Tasks"],
+ "summary": "Cancel tasks",
+ "description": "Cancel enqueued and/or processing [tasks](https://www.meilisearch.com/docs/learn/async/asynchronous_operations)",
+ "operationId": "cancel_tasks",
+ "parameters": [{
+ "name": "uids",
+ "in": "query",
+ "description": "Permits to filter tasks by their uid. By default, when the `uids` query parameter is not set, all task uids are returned. It's possible to specify several uids by separating them with the `,` character.",
+ "required": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "integer",
+ "format": "u-int32",
+ "minimum": 0
+ }
+ },
+ "example": [231, 423, 598, "*"]
+ }, {
+ "name": "batchUids",
+ "in": "query",
+ "description": "Lets you filter tasks by their `batchUid`.",
+ "required": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "integer",
+ "format": "u-int32",
+ "minimum": 0
+ }
+ },
+ "example": [231, 423, 598, "*"]
+ }, {
+ "name": "canceledBy",
+ "in": "query",
+ "description": "Permits to filter tasks using the uid of the task that canceled them. It's possible to specify several task uids by separating them with the `,` character.",
+ "required": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "integer",
+ "format": "u-int32",
+ "minimum": 0
+ }
+ },
+ "example": [374, "*"]
+ }, {
+ "name": "types",
+ "in": "query",
+ "description": "Permits to filter tasks by their related type. By default, when `types` query parameter is not set, all task types are returned. It's possible to specify several types by separating them with the `,` character.",
+ "required": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Kind"
+ }
+ },
+ "example": ["documentDeletion", "*"]
+ }, {
+ "name": "statuses",
+ "in": "query",
+ "description": "Permits to filter tasks by their status. By default, when `statuses` query parameter is not set, all task statuses are returned. It's possible to specify several statuses by separating them with the `,` character.",
+ "required": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Status"
+ }
+ },
+ "example": ["succeeded", "failed", "canceled", "*"]
+ }, {
+ "name": "indexUids",
+ "in": "query",
+ "description": "Permits to filter tasks by their related index. By default, when `indexUids` query parameter is not set, the tasks of all the indexes are returned. It is possible to specify several indexes by separating them with the `,` character.",
+ "required": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "example": ["movies", "theater", "*"]
+ }, {
+ "name": "afterEnqueuedAt",
+ "in": "query",
+ "description": "Permits to filter tasks based on their enqueuedAt time. Matches tasks enqueued after the given date. Supports RFC 3339 date format.",
+ "required": false,
+ "schema": {
+ "type": "string"
+ },
+ "example": ["2024-08-08T16:37:09.971Z", "*"]
+ }, {
+ "name": "beforeEnqueuedAt",
+ "in": "query",
+ "description": "Permits to filter tasks based on their enqueuedAt time. Matches tasks enqueued before the given date. Supports RFC 3339 date format.",
+ "required": false,
+ "schema": {
+ "type": "string"
+ },
+ "example": ["2024-08-08T16:37:09.971Z", "*"]
+ }, {
+ "name": "afterStartedAt",
+ "in": "query",
+ "description": "Permits to filter tasks based on their startedAt time. Matches tasks started after the given date. Supports RFC 3339 date format.",
+ "required": false,
+ "schema": {
+ "type": "string"
+ },
+ "example": ["2024-08-08T16:37:09.971Z", "*"]
+ }, {
+ "name": "beforeStartedAt",
+ "in": "query",
+ "description": "Permits to filter tasks based on their startedAt time. Matches tasks started before the given date. Supports RFC 3339 date format.",
+ "required": false,
+ "schema": {
+ "type": "string"
+ },
+ "example": ["2024-08-08T16:37:09.971Z", "*"]
+ }, {
+ "name": "afterFinishedAt",
+ "in": "query",
+ "description": "Permits to filter tasks based on their finishedAt time. Matches tasks finished after the given date. Supports RFC 3339 date format.",
+ "required": false,
+ "schema": {
+ "type": "string"
+ },
+ "example": ["2024-08-08T16:37:09.971Z", "*"]
+ }, {
+ "name": "beforeFinishedAt",
+ "in": "query",
+ "description": "Permits to filter tasks based on their finishedAt time. Matches tasks finished before the given date. Supports RFC 3339 date format.",
+ "required": false,
+ "schema": {
+ "type": "string"
+ },
+ "example": ["2024-08-08T16:37:09.971Z", "*"]
+ }],
+ "responses": {
+ "200": {
+ "description": "Task successfully enqueued",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SummarizedTaskView"
+ },
+ "example": {
+ "taskUid": 147,
+ "indexUid": null,
+ "status": "enqueued",
+ "type": "taskCancelation",
+ "enqueuedAt": "2024-08-08T17:05:55.791772Z"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "A filter is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "Query parameters to filter the tasks to cancel are missing. Available query parameters are: `uids`, `indexUids`, `statuses`, `types`, `canceledBy`, `beforeEnqueuedAt`, `afterEnqueuedAt`, `beforeStartedAt`, `afterStartedAt`, `beforeFinishedAt`, `afterFinishedAt`.",
+ "code": "missing_task_filters",
+ "type": "invalid_request",
+ "link": "https://docs.meilisearch.com/errors#missing_task_filters"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "The task uid does not exists",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "Task :taskUid not found.",
+ "code": "task_not_found",
+ "type": "invalid_request",
+ "link": "https://docs.meilisearch.com/errors/#task_not_found"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["tasks.cancel", "tasks.*", "*"]
+ }]
+ }
+ },
+ "/tasks/{taskUid}": {
+ "get": {
+ "tags": ["Tasks"],
+ "summary": "Get a task",
+ "description": "Get a [task](https://www.meilisearch.com/docs/learn/async/asynchronous_operations)",
+ "operationId": "get_task",
+ "parameters": [{
+ "name": "taskUid",
+ "in": "path",
+ "description": "The task identifier",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "u-int32"
+ },
+ "example": 0
+ }],
+ "responses": {
+ "200": {
+ "description": "Task successfully retrieved",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/TaskView"
+ },
+ "example": {
+ "uid": 1,
+ "indexUid": "movies",
+ "status": "succeeded",
+ "type": "documentAdditionOrUpdate",
+ "canceledBy": null,
+ "details": {
+ "receivedDocuments": 79000,
+ "indexedDocuments": 79000
+ },
+ "error": null,
+ "duration": "PT1S",
+ "enqueuedAt": "2021-01-01T09:39:00.000000Z",
+ "startedAt": "2021-01-01T09:39:01.000000Z",
+ "finishedAt": "2021-01-01T09:39:02.000000Z"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "The task uid does not exists",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "Task :taskUid not found.",
+ "code": "task_not_found",
+ "type": "invalid_request",
+ "link": "https://docs.meilisearch.com/errors/#task_not_found"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["tasks.get", "tasks.*", "*"]
+ }]
+ }
+ },
+ "/version": {
+ "get": {
+ "tags": ["Version"],
+ "summary": "Get version",
+ "description": "Current version of Meilisearch.",
+ "operationId": "get_version",
+ "responses": {
+ "200": {
+ "description": "Instance is healthy",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VersionResponse"
+ },
+ "example": {
+ "commitSha": "b46889b5f0f2f8b91438a08a358ba8f05fc09fc1",
+ "commitDate": "2021-07-08",
+ "pkgVersion": "0.23.0"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["version", "*"]
+ }]
+ }
+ },
+ "/webhooks": {
+ "get": {
+ "tags": ["Webhooks"],
+ "operationId": "get_webhooks",
+ "responses": {
+ "200": {
+ "description": "Webhooks are returned",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/WebhookResults"
+ },
+ "example": {
+ "results": [{
+ "uuid": "550e8400-e29b-41d4-a716-446655440000",
+ "url": "https://your.site/on-tasks-completed",
+ "headers": {
+ "Authorization": "Bearer a-secret-token"
+ },
+ "isEditable": true
+ }, {
+ "uuid": "550e8400-e29b-41d4-a716-446655440001",
+ "url": "https://another.site/on-tasks-completed",
+ "isEditable": true
+ }]
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "example": {
+ "message": "The Authorization header is missing. It must use the bearer authorization method.",
+ "code": "missing_authorization_header",
+ "type": "auth",
+ "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["webhooks.get", "webhooks.*", "*.get", "*"]
+ }]
+ },
+ "post": {
+ "tags": ["Webhooks"],
+ "operationId": "post_webhook",
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/WebhookSettings"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "201": {
+ "description": "Webhook created successfully",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/WebhookWithMetadata"
+ },
+ "example": {
+ "uuid": "550e8400-e29b-41d4-a716-446655440000",
+ "url": "https://your.site/on-tasks-completed",
+ "headers": {
+ "Authorization": "Bearer a-secret-token"
+ },
+ "isEditable": true
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["webhooks.create", "webhooks.*", "*"]
+ }]
+ }
+ },
+ "/webhooks/{uuid}": {
+ "get": {
+ "tags": ["Webhooks"],
+ "operationId": "get_webhook",
+ "parameters": [{
+ "name": "uuid",
+ "in": "path",
+ "description": "The universally unique identifier of the webhook",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }],
+ "responses": {
+ "200": {
+ "description": "Webhook found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/WebhookWithMetadata"
+ },
+ "example": {
+ "uuid": "550e8400-e29b-41d4-a716-446655440000",
+ "url": "https://your.site/on-tasks-completed",
+ "headers": {
+ "Authorization": "Bearer a-secret"
+ },
+ "isEditable": true
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "Webhook not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["webhooks.get", "webhooks.*", "*.get", "*"]
+ }]
+ },
+ "delete": {
+ "tags": ["Webhooks"],
+ "operationId": "delete_webhook",
+ "parameters": [{
+ "name": "uuid",
+ "in": "path",
+ "description": "The universally unique identifier of the webhook",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }],
+ "responses": {
+ "204": {
+ "description": "Webhook deleted successfully"
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "Webhook not found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["webhooks.delete", "webhooks.*", "*"]
+ }]
+ },
+ "patch": {
+ "tags": ["Webhooks"],
+ "operationId": "patch_webhook",
+ "parameters": [{
+ "name": "uuid",
+ "in": "path",
+ "description": "The universally unique identifier of the webhook",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/WebhookSettings"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "description": "Webhook updated successfully",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/WebhookWithMetadata"
+ },
+ "example": {
+ "uuid": "550e8400-e29b-41d4-a716-446655440000",
+ "url": "https://your.site/on-tasks-completed",
+ "headers": {
+ "Authorization": "Bearer a-secret-token"
+ },
+ "isEditable": true
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "The authorization header is missing",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ResponseError"
+ }
+ }
+ }
+ }
+ },
+ "security": [{
+ "Bearer": ["webhooks.update", "webhooks.*", "*"]
+ }]
}
- }
- },
- "security": [
- {
- "Bearer": [
- "settings.update",
- "settings.*",
- "*"
- ]
- }
- ]
- }
+ }
},
- "/indexes/{indexUid}/settings/search-cutoff-ms": {
- "get": {
- "tags": [
- "Settings"
- ],
- "summary": "Get searchCutoffMs",
- "description": "Get an user defined searchCutoffMs",
- "operationId": "getsearchCutoffMs",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- }
- ],
- "responses": {
- "200": {
- "description": "searchCutoffMs is returned",
- "content": {
- "application/json": {
- "schema": {
- "type": "integer",
- "format": "u-int64",
- "minimum": 0
- },
- "example": 0
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "settings.get",
- "settings.*",
- "*"
- ]
- }
- ]
- },
- "put": {
- "tags": [
- "Settings"
- ],
- "summary": "Update searchCutoffMs",
- "description": "Update an index's user defined searchCutoffMs",
- "operationId": "putsearchCutoffMs",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- }
- ],
- "requestBody": {
- "content": {
- "text/plain": {
- "schema": {
- "type": "integer",
- "format": "u-int64",
- "minimum": 0
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "description": "Task successfully enqueued",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SummarizedTaskView"
- },
- "example": {
- "taskUid": 147,
- "indexUid": "movies",
- "status": "enqueued",
- "type": "settingsUpdate",
- "enqueuedAt": "2024-08-08T17:05:55.791772Z"
- }
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ "components": {
+ "schemas": {
+ "Action": {
+ "type": "string",
+ "enum": ["*", "search", "documents.*", "documents.add", "documents.get", "documents.delete", "indexes.*", "indexes.create", "indexes.get", "indexes.update", "indexes.delete", "indexes.swap", "tasks.*", "tasks.cancel", "tasks.delete", "tasks.get", "settings.*", "settings.get", "settings.update", "stats.*", "stats.get", "metrics.*", "metrics.get", "dumps.*", "dumps.create", "snapshots.*", "snapshots.create", "version", "keys.create", "keys.get", "keys.update", "keys.delete", "experimental.get", "experimental.update", "export", "network.get", "network.update", "chatCompletions", "chats.*", "chats.get", "chats.delete", "chatsSettings.*", "chatsSettings.get", "chatsSettings.update", "*.get", "webhooks.get", "webhooks.update", "webhooks.delete", "webhooks.create", "webhooks.*"]
+ },
+ "AllBatches": {
+ "type": "object",
+ "required": ["results", "total", "limit"],
+ "properties": {
+ "results": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/BatchView"
+ }
+ },
+ "total": {
+ "type": "integer",
+ "format": "u-int64",
+ "minimum": 0
+ },
+ "limit": {
+ "type": "integer",
+ "format": "u-int32",
+ "minimum": 0
+ },
+ "from": {
+ "type": ["integer", "null"],
+ "format": "u-int32",
+ "minimum": 0
+ },
+ "next": {
+ "type": ["integer", "null"],
+ "format": "u-int32",
+ "minimum": 0
+ }
}
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "settings.update",
- "settings.*",
- "*"
- ]
- }
- ]
- },
- "delete": {
- "tags": [
- "Settings"
- ],
- "summary": "Reset searchCutoffMs",
- "description": "Reset an index's searchCutoffMs to its default value",
- "operationId": "deletesearchCutoffMs",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- }
- ],
- "requestBody": {
- "content": {
- "text/plain": {
- "schema": {
- "type": "integer",
- "format": "u-int64",
- "minimum": 0
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "description": "Task successfully enqueued",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SummarizedTaskView"
- },
- "example": {
- "taskUid": 147,
- "indexUid": "movies",
- "status": "enqueued",
- "type": "settingsUpdate",
- "enqueuedAt": "2024-08-08T17:05:55.791772Z"
+ },
+ "AllTasks": {
+ "type": "object",
+ "required": ["results", "total", "limit"],
+ "properties": {
+ "results": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/TaskView"
+ },
+ "description": "The list of tasks that matched the filter."
+ },
+ "total": {
+ "type": "integer",
+ "format": "u-int64",
+ "description": "Total number of browsable results using offset/limit parameters for the given resource.",
+ "minimum": 0
+ },
+ "limit": {
+ "type": "integer",
+ "format": "u-int32",
+ "description": "Limit given for the query. If limit is not provided as a query parameter, this parameter displays the default limit value.",
+ "minimum": 0
+ },
+ "from": {
+ "type": ["integer", "null"],
+ "format": "u-int32",
+ "description": "The first task uid returned.",
+ "minimum": 0
+ },
+ "next": {
+ "type": ["integer", "null"],
+ "format": "u-int32",
+ "description": "Represents the value to send in from to fetch the next slice of the results. The first item for the next slice starts at this exact number. When the returned value is null, it means that all the data have been browsed in the given order.",
+ "minimum": 0
+ }
}
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ },
+ "AttributePatterns": {
+ "type": "object",
+ "required": ["patterns"],
+ "properties": {
+ "patterns": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "example": ["title", "overview_*", "release_date"]
+ }
}
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "settings.update",
- "settings.*",
- "*"
- ]
- }
- ]
- }
- },
- "/indexes/{indexUid}/settings/searchable-attributes": {
- "get": {
- "tags": [
- "Settings"
- ],
- "summary": "Get searchableAttributes",
- "description": "Get an user defined searchableAttributes",
- "operationId": "getsearchableAttributes",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- }
- ],
- "responses": {
- "200": {
- "description": "searchableAttributes is returned",
- "content": {
- "application/json": {
- "schema": {
- "type": "array",
- "items": {
- "type": "string"
- }
+ },
+ "BTreeMap": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "required": ["start", "length"],
+ "properties": {
+ "start": {
+ "type": "integer",
+ "minimum": 0
+ },
+ "length": {
+ "type": "integer",
+ "minimum": 0
+ },
+ "indices": {
+ "type": ["array", "null"],
+ "items": {
+ "type": "integer",
+ "minimum": 0
+ }
+ }
+ }
+ }
},
- "example": []
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "settings.get",
- "settings.*",
- "*"
- ]
- }
- ]
- },
- "put": {
- "tags": [
- "Settings"
- ],
- "summary": "Update searchableAttributes",
- "description": "Update an index's user defined searchableAttributes",
- "operationId": "putsearchableAttributes",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- }
- ],
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "type": "array",
- "items": {
- "type": "string"
- }
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "description": "Task successfully enqueued",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SummarizedTaskView"
- },
- "example": {
- "taskUid": 147,
- "indexUid": "movies",
- "status": "enqueued",
- "type": "settingsUpdate",
- "enqueuedAt": "2024-08-08T17:05:55.791772Z"
- }
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "settings.update",
- "settings.*",
- "*"
- ]
- }
- ]
- },
- "delete": {
- "tags": [
- "Settings"
- ],
- "summary": "Reset searchableAttributes",
- "description": "Reset an index's searchableAttributes to its default value",
- "operationId": "deletesearchableAttributes",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- }
- ],
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "type": "array",
- "items": {
- "type": "string"
- }
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "description": "Task successfully enqueued",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SummarizedTaskView"
- },
- "example": {
- "taskUid": 147,
- "indexUid": "movies",
- "status": "enqueued",
- "type": "settingsUpdate",
- "enqueuedAt": "2024-08-08T17:05:55.791772Z"
- }
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "settings.update",
- "settings.*",
- "*"
- ]
- }
- ]
- }
- },
- "/indexes/{indexUid}/settings/separator-tokens": {
- "get": {
- "tags": [
- "Settings"
- ],
- "summary": "Get separatorTokens",
- "description": "Get an user defined separatorTokens",
- "operationId": "getseparatorTokens",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- }
- ],
- "responses": {
- "200": {
- "description": "separatorTokens is returned",
- "content": {
- "application/json": {
- "schema": {
- "type": "array",
- "items": {
+ "propertyNames": {
"type": "string"
- },
- "uniqueItems": true
- },
- "example": []
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "settings.get",
- "settings.*",
- "*"
- ]
- }
- ]
- },
- "put": {
- "tags": [
- "Settings"
- ],
- "summary": "Update separatorTokens",
- "description": "Update an index's user defined separatorTokens",
- "operationId": "putseparatorTokens",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- }
- ],
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "type": "array",
- "items": {
- "type": "string"
- },
- "uniqueItems": true
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "description": "Task successfully enqueued",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SummarizedTaskView"
- },
- "example": {
- "taskUid": 147,
- "indexUid": "movies",
- "status": "enqueued",
- "type": "settingsUpdate",
- "enqueuedAt": "2024-08-08T17:05:55.791772Z"
}
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ },
+ "BatchStats": {
+ "type": "object",
+ "required": ["totalNbTasks", "status", "types", "indexUids"],
+ "properties": {
+ "totalNbTasks": {
+ "$ref": "#/components/schemas/u32"
+ },
+ "status": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "integer",
+ "format": "u-int32",
+ "minimum": 0
+ },
+ "propertyNames": {
+ "type": "string",
+ "description": "The status of a task.",
+ "enum": ["enqueued", "processing", "succeeded", "failed", "canceled"],
+ "example": "processing"
+ }
+ },
+ "types": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "integer",
+ "format": "u-int32",
+ "minimum": 0
+ },
+ "propertyNames": {
+ "type": "string",
+ "description": "The type of the task.",
+ "enum": ["documentAdditionOrUpdate", "documentEdition", "documentDeletion", "settingsUpdate", "indexCreation", "indexDeletion", "indexUpdate", "indexSwap", "taskCancelation", "taskDeletion", "dumpCreation", "snapshotCreation", "export", "upgradeDatabase"],
+ "example": ["documentAdditionOrUpdate", "documentEdition", "documentDeletion", "settingsUpdate", "indexCreation", "indexDeletion", "indexUpdate", "indexSwap", "taskCancelation", "taskDeletion", "dumpCreation", "snapshotCreation", "export", "upgradeDatabase"]
+ }
+ },
+ "indexUids": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "integer",
+ "format": "u-int32",
+ "minimum": 0
+ },
+ "propertyNames": {
+ "type": "string"
+ }
+ },
+ "progressTrace": {
+ "type": "object",
+ "additionalProperties": {},
+ "propertyNames": {
+ "type": "string"
+ }
+ },
+ "writeChannelCongestion": {
+ "type": ["object", "null"],
+ "additionalProperties": {},
+ "propertyNames": {
+ "type": "string"
+ }
+ },
+ "internalDatabaseSizes": {
+ "type": "object",
+ "additionalProperties": {},
+ "propertyNames": {
+ "type": "string"
+ }
+ }
}
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "settings.update",
- "settings.*",
- "*"
- ]
- }
- ]
- },
- "delete": {
- "tags": [
- "Settings"
- ],
- "summary": "Reset separatorTokens",
- "description": "Reset an index's separatorTokens to its default value",
- "operationId": "deleteseparatorTokens",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- }
- ],
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "type": "array",
- "items": {
- "type": "string"
- },
- "uniqueItems": true
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "description": "Task successfully enqueued",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SummarizedTaskView"
- },
- "example": {
- "taskUid": 147,
- "indexUid": "movies",
- "status": "enqueued",
- "type": "settingsUpdate",
- "enqueuedAt": "2024-08-08T17:05:55.791772Z"
+ },
+ "BatchStatsView": {
+ "allOf": [{
+ "$ref": "#/components/schemas/BatchStats"
+ }, {
+ "type": "object",
+ "properties": {
+ "embedderRequests": {
+ "$ref": "#/components/schemas/EmbedderStatsView"
+ }
+ }
+ }]
+ },
+ "BatchView": {
+ "type": "object",
+ "required": ["uid", "details", "stats"],
+ "properties": {
+ "uid": {
+ "$ref": "#/components/schemas/u32"
+ },
+ "progress": {
+ "oneOf": [{
+ "type": "null"
+ }, {
+ "$ref": "#/components/schemas/ProgressView"
+ }]
+ },
+ "details": {
+ "$ref": "#/components/schemas/DetailsView"
+ },
+ "stats": {
+ "$ref": "#/components/schemas/BatchStatsView"
+ },
+ "duration": {
+ "type": ["string", "null"]
+ },
+ "startedAt": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "finishedAt": {
+ "type": ["string", "null"],
+ "format": "date-time"
+ },
+ "batchStrategy": {
+ "type": "string"
+ }
}
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ },
+ "BrowseQuery": {
+ "type": "object",
+ "required": ["offset", "limit", "retrieveVectors"],
+ "properties": {
+ "offset": {
+ "type": "integer",
+ "example": 150,
+ "minimum": 0
+ },
+ "limit": {
+ "type": "integer",
+ "default": 20,
+ "example": 1,
+ "minimum": 0
+ },
+ "fields": {
+ "type": ["array", "null"],
+ "items": {
+ "type": "string"
+ },
+ "example": ["title, description"]
+ },
+ "retrieveVectors": {
+ "type": "boolean",
+ "example": true
+ },
+ "ids": {
+ "type": ["array", "null"],
+ "items": {
+ "type": "string"
+ },
+ "example": ["cody", "finn", "brandy", "gambit"]
+ },
+ "filter": {},
+ "sort": {
+ "type": ["array", "null"],
+ "items": {
+ "type": "string"
+ },
+ "example": ["title:asc", "rating:desc"]
+ }
}
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "settings.update",
- "settings.*",
- "*"
- ]
- }
- ]
- }
- },
- "/indexes/{indexUid}/settings/sortable-attributes": {
- "get": {
- "tags": [
- "Settings"
- ],
- "summary": "Get sortableAttributes",
- "description": "Get an user defined sortableAttributes",
- "operationId": "getsortableAttributes",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- }
- ],
- "responses": {
- "200": {
- "description": "sortableAttributes is returned",
- "content": {
- "application/json": {
- "schema": {
- "type": "array",
- "items": {
- "type": "string"
- },
- "uniqueItems": true
+ },
+ "ChatSearchParams": {
+ "type": "object",
+ "properties": {
+ "hybrid": {
+ "oneOf": [{
+ "type": "null"
+ }, {
+ "$ref": "#/components/schemas/HybridQuery"
+ }]
+ },
+ "limit": {
+ "type": ["integer", "null"],
+ "minimum": 0
+ },
+ "sort": {
+ "type": ["array", "null"],
+ "items": {
+ "type": "string"
+ }
+ },
+ "distinct": {
+ "type": ["string", "null"]
+ },
+ "matchingStrategy": {
+ "oneOf": [{
+ "type": "null"
+ }, {
+ "$ref": "#/components/schemas/MatchingStrategy"
+ }]
+ },
+ "attributesToSearchOn": {
+ "type": ["array", "null"],
+ "items": {
+ "type": "string"
+ }
+ },
+ "rankingScoreThreshold": {
+ "oneOf": [{
+ "type": "null"
+ }, {
+ "$ref": "#/components/schemas/RankingScoreThreshold"
+ }]
+ }
},
- "example": []
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "settings.get",
- "settings.*",
- "*"
- ]
- }
- ]
- },
- "put": {
- "tags": [
- "Settings"
- ],
- "summary": "Update sortableAttributes",
- "description": "Update an index's user defined sortableAttributes",
- "operationId": "putsortableAttributes",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- }
- ],
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "type": "array",
- "items": {
- "type": "string"
- },
- "uniqueItems": true
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "description": "Task successfully enqueued",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SummarizedTaskView"
- },
- "example": {
- "taskUid": 147,
- "indexUid": "movies",
- "status": "enqueued",
- "type": "settingsUpdate",
- "enqueuedAt": "2024-08-08T17:05:55.791772Z"
- }
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "settings.update",
- "settings.*",
- "*"
- ]
- }
- ]
- },
- "delete": {
- "tags": [
- "Settings"
- ],
- "summary": "Reset sortableAttributes",
- "description": "Reset an index's sortableAttributes to its default value",
- "operationId": "deletesortableAttributes",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- }
- ],
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "type": "array",
- "items": {
- "type": "string"
- },
- "uniqueItems": true
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "description": "Task successfully enqueued",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SummarizedTaskView"
- },
- "example": {
- "taskUid": 147,
- "indexUid": "movies",
- "status": "enqueued",
- "type": "settingsUpdate",
- "enqueuedAt": "2024-08-08T17:05:55.791772Z"
- }
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "settings.update",
- "settings.*",
- "*"
- ]
- }
- ]
- }
- },
- "/indexes/{indexUid}/settings/stop-words": {
- "get": {
- "tags": [
- "Settings"
- ],
- "summary": "Get stopWords",
- "description": "Get an user defined stopWords",
- "operationId": "getstopWords",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- }
- ],
- "responses": {
- "200": {
- "description": "stopWords is returned",
- "content": {
- "application/json": {
- "schema": {
- "type": "array",
- "items": {
- "type": "string"
- },
- "uniqueItems": true
+ "additionalProperties": false
+ },
+ "ChatSettings": {
+ "type": "object",
+ "properties": {
+ "description": {
+ "type": ["string", "null"]
+ },
+ "documentTemplate": {
+ "type": ["string", "null"],
+ "description": "A liquid template used to render documents to a text that can be embedded.\n\nMeillisearch interpolates the template for each document and sends the resulting text to the embedder.\nThe embedder then generates document vectors based on this text."
+ },
+ "documentTemplateMaxBytes": {
+ "type": ["integer", "null"],
+ "description": "Rendered texts are truncated to this size. Defaults to 400.",
+ "minimum": 0
+ },
+ "searchParameters": {
+ "oneOf": [{
+ "type": "null"
+ }, {
+ "$ref": "#/components/schemas/ChatSearchParams",
+ "description": "The search parameters to use for the LLM."
+ }]
+ }
},
- "example": []
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ "additionalProperties": false
+ },
+ "Code": {
+ "type": "string",
+ "enum": ["api_key_already_exists", "api_key_not_found", "bad_parameter", "bad_request", "database_size_limit_reached", "document_not_found", "dump_already_processing", "dump_not_found", "dump_process_failed", "duplicate_index_found", "immutable_api_key_actions", "immutable_api_key_created_at", "immutable_api_key_expires_at", "immutable_api_key_indexes", "immutable_api_key_key", "immutable_api_key_uid", "immutable_api_key_updated_at", "immutable_index_created_at", "immutable_index_uid", "immutable_index_updated_at", "index_already_exists", "index_creation_failed", "index_not_found", "index_primary_key_already_exists", "index_primary_key_multiple_candidates_found", "index_primary_key_no_candidate_found", "internal", "invalid_api_key", "invalid_api_key_actions", "invalid_api_key_description", "invalid_api_key_expires_at", "invalid_api_key_indexes", "invalid_api_key_limit", "invalid_api_key_name", "invalid_api_key_offset", "invalid_api_key_uid", "invalid_content_type", "invalid_document_csv_delimiter", "invalid_document_fields", "invalid_document_retrieve_vectors", "missing_document_filter", "missing_document_edition_function", "invalid_document_filter", "invalid_document_sort", "invalid_document_geo_field", "invalid_vector_dimensions", "invalid_vectors_type", "invalid_document_id", "invalid_document_ids", "invalid_document_limit", "invalid_document_offset", "invalid_search_embedder", "invalid_similar_embedder", "invalid_search_hybrid_query", "invalid_index_limit", "invalid_index_offset", "invalid_index_primary_key", "invalid_index_uid", "invalid_multi_search_facets", "invalid_multi_search_facets_by_index", "invalid_multi_search_facet_order", "invalid_multi_search_federated", "invalid_multi_search_federation_options", "invalid_multi_search_max_values_per_facet", "invalid_multi_search_merge_facets", "invalid_multi_search_query_facets", "invalid_multi_search_query_pagination", "invalid_multi_search_query_ranking_rules", "invalid_multi_search_query_position", "invalid_multi_search_remote", "invalid_multi_search_weight", "invalid_network_remotes", "invalid_network_self", "invalid_network_search_api_key", "invalid_network_url", "invalid_search_attributes_to_search_on", "invalid_search_attributes_to_crop", "invalid_search_attributes_to_highlight", "invalid_similar_attributes_to_retrieve", "invalid_similar_retrieve_vectors", "invalid_search_attributes_to_retrieve", "invalid_search_ranking_score_threshold", "invalid_similar_ranking_score_threshold", "invalid_search_retrieve_vectors", "invalid_search_crop_length", "invalid_search_crop_marker", "invalid_search_facets", "invalid_search_semantic_ratio", "invalid_search_locales", "invalid_facet_search_exhaustive_facet_count", "invalid_facet_search_facet_name", "invalid_similar_id", "invalid_search_filter", "invalid_similar_filter", "invalid_search_highlight_post_tag", "invalid_search_highlight_pre_tag", "invalid_search_hits_per_page", "invalid_similar_limit", "invalid_search_limit", "invalid_search_matching_strategy", "invalid_similar_offset", "invalid_search_offset", "invalid_search_page", "invalid_search_q", "invalid_facet_search_query", "invalid_facet_search_name", "facet_search_disabled", "invalid_search_vector", "invalid_search_media", "invalid_search_show_matches_position", "invalid_search_show_ranking_score", "invalid_similar_show_ranking_score", "invalid_search_show_ranking_score_details", "invalid_similar_show_ranking_score_details", "invalid_search_sort", "invalid_search_distinct", "invalid_search_media_and_vector", "invalid_settings_displayed_attributes", "invalid_settings_distinct_attribute", "invalid_settings_proximity_precision", "invalid_settings_facet_search", "invalid_settings_prefix_search", "invalid_settings_faceting", "invalid_settings_filterable_attributes", "invalid_settings_pagination", "invalid_settings_search_cutoff_ms", "invalid_settings_embedders", "invalid_settings_ranking_rules", "invalid_settings_searchable_attributes", "invalid_settings_sortable_attributes", "invalid_settings_stop_words", "invalid_settings_non_separator_tokens", "invalid_settings_separator_tokens", "invalid_settings_dictionary", "invalid_settings_synonyms", "invalid_settings_typo_tolerance", "invalid_settings_localized_attributes", "invalid_state", "invalid_store_file", "invalid_swap_duplicate_index_found", "invalid_swap_indexes", "invalid_task_after_enqueued_at", "invalid_task_after_finished_at", "invalid_task_after_started_at", "invalid_task_before_enqueued_at", "invalid_task_before_finished_at", "invalid_task_before_started_at", "invalid_task_canceled_by", "invalid_task_from", "invalid_task_limit", "invalid_task_reverse", "invalid_task_statuses", "invalid_task_types", "invalid_task_uids", "invalid_batch_uids", "io_error", "feature_not_enabled", "malformed_payload", "max_fields_limit_exceeded", "missing_api_key_actions", "missing_api_key_expires_at", "missing_api_key_indexes", "missing_authorization_header", "missing_content_type", "missing_document_id", "missing_facet_search_facet_name", "missing_index_uid", "missing_master_key", "missing_network_url", "missing_payload", "missing_search_hybrid", "missing_swap_indexes", "missing_task_filters", "no_space_left_on_device", "payload_too_large", "remote_bad_response", "remote_bad_request", "remote_could_not_send_request", "remote_invalid_api_key", "remote_remote_error", "remote_timeout", "too_many_search_requests", "task_not_found", "task_file_not_found", "batch_not_found", "too_many_open_files", "too_many_vectors", "unretrievable_document", "unretrievable_error_code", "unsupported_media_type", "vector_embedding_error", "not_found_similar_id", "invalid_document_edition_context", "invalid_document_edition_function_filter", "edit_documents_by_function_error", "invalid_settings_index_chat", "invalid_export_url", "invalid_export_api_key", "invalid_export_payload_size", "invalid_export_indexes_patterns", "invalid_export_index_filter", "invalid_export_index_override_settings", "unimplemented_external_function_calling", "unimplemented_non_streaming_chat_completions", "unimplemented_multi_choice_chat_completions", "chat_not_found", "invalid_chat_setting_document_template", "invalid_chat_completion_org_id", "invalid_chat_completion_project_id", "invalid_chat_completion_api_version", "invalid_chat_completion_deployment_id", "invalid_chat_completion_source", "invalid_chat_completion_base_api", "invalid_chat_completion_api_key", "invalid_chat_completion_prompts", "invalid_chat_completion_system_prompt", "invalid_chat_completion_search_description_prompt", "invalid_chat_completion_search_query_param_prompt", "invalid_chat_completion_search_filter_param_prompt", "invalid_chat_completion_search_index_uid_param_prompt", "invalid_chat_completion_pre_query_prompt", "invalid_webhooks", "invalid_webhook_url", "invalid_webhook_headers", "immutable_webhook", "invalid_webhook_uuid", "webhook_not_found", "immutable_webhook_uuid", "immutable_webhook_is_editable"]
+ },
+ "ComputedFacets": {
+ "type": "object",
+ "required": ["distribution", "stats"],
+ "properties": {
+ "distribution": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "integer",
+ "format": "u-int64",
+ "minimum": 0
+ },
+ "propertyNames": {
+ "type": "string"
+ }
+ },
+ "propertyNames": {
+ "type": "string"
+ }
+ },
+ "stats": {
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/components/schemas/FacetStats"
+ },
+ "propertyNames": {
+ "type": "string"
+ }
+ }
}
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "settings.get",
- "settings.*",
- "*"
- ]
- }
- ]
- },
- "put": {
- "tags": [
- "Settings"
- ],
- "summary": "Update stopWords",
- "description": "Update an index's user defined stopWords",
- "operationId": "putstopWords",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- }
- ],
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "type": "array",
- "items": {
- "type": "string"
- },
- "uniqueItems": true
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "description": "Task successfully enqueued",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SummarizedTaskView"
- },
- "example": {
- "taskUid": 147,
- "indexUid": "movies",
- "status": "enqueued",
- "type": "settingsUpdate",
- "enqueuedAt": "2024-08-08T17:05:55.791772Z"
+ },
+ "CreateApiKey": {
+ "type": "object",
+ "required": ["uid", "actions", "indexes"],
+ "properties": {
+ "description": {
+ "type": ["string", "null"],
+ "description": "A description for the key. `null` if empty.",
+ "example": null
+ },
+ "name": {
+ "type": ["string", "null"],
+ "description": "A human-readable name for the key. `null` if empty.",
+ "example": "Indexing Products API key"
+ },
+ "uid": {
+ "type": "string",
+ "format": "uuid",
+ "description": "A uuid v4 to identify the API Key. If not specified, it's generated by Meilisearch.",
+ "example": null
+ },
+ "actions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Action"
+ },
+ "description": "A list of actions permitted for the key. `[\"*\"]` for all actions. The `*` character can be used as a wildcard when located at the last position. e.g. `documents.*` to authorize access on all documents endpoints.",
+ "example": ["documents.add"]
+ },
+ "indexes": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A list of accessible indexes permitted for the key. `[\"*\"]` for all indexes. The `*` character can be used as a wildcard when located at the last position. e.g. `products_*` to allow access to all indexes whose names start with `products_`.",
+ "example": ["products"]
+ },
+ "expiresAt": {
+ "type": ["string", "null"],
+ "format": "date-time",
+ "description": "Represent the expiration date and time as RFC 3339 format. `null` equals to no expiration time."
+ }
+ }
+ },
+ "DetailsExportIndexSettings": {
+ "allOf": [{
+ "$ref": "#/components/schemas/ExportIndexSettings"
+ }, {
+ "type": "object",
+ "properties": {
+ "matchedDocuments": {
+ "type": ["integer", "null"],
+ "format": "u-int64",
+ "minimum": 0
+ }
+ }
+ }]
+ },
+ "DetailsView": {
+ "allOf": [{
+ "oneOf": [{
+ "type": "null"
+ }, {
+ "$ref": "#/components/schemas/Settings_Unchecked",
+ "description": "[Learn more about the settings in this guide](https://www.meilisearch.com/docs/reference/api/settings)."
+ }]
+ }, {
+ "type": "object",
+ "properties": {
+ "receivedDocuments": {
+ "type": ["integer", "null"],
+ "format": "u-int64",
+ "description": "Number of documents received for documentAdditionOrUpdate task.",
+ "minimum": 0
+ },
+ "indexedDocuments": {
+ "type": ["integer", "null"],
+ "format": "u-int64",
+ "description": "Number of documents finally indexed for documentAdditionOrUpdate task or a documentAdditionOrUpdate batch of tasks.",
+ "minimum": 0
+ },
+ "editedDocuments": {
+ "type": ["integer", "null"],
+ "format": "u-int64",
+ "description": "Number of documents edited for editDocumentByFunction task.",
+ "minimum": 0
+ },
+ "primaryKey": {
+ "type": ["string", "null"],
+ "description": "Value for the primaryKey field encountered if any for indexCreation or indexUpdate task."
+ },
+ "providedIds": {
+ "type": ["integer", "null"],
+ "description": "Number of provided document ids for the documentDeletion task.",
+ "minimum": 0
+ },
+ "deletedDocuments": {
+ "type": ["integer", "null"],
+ "format": "u-int64",
+ "description": "Number of documents finally deleted for documentDeletion and indexDeletion tasks.",
+ "minimum": 0
+ },
+ "matchedTasks": {
+ "type": ["integer", "null"],
+ "format": "u-int64",
+ "description": "Number of tasks that match the request for taskCancelation or taskDeletion tasks.",
+ "minimum": 0
+ },
+ "canceledTasks": {
+ "type": ["integer", "null"],
+ "format": "u-int64",
+ "description": "Number of tasks canceled for taskCancelation.",
+ "minimum": 0
+ },
+ "deletedTasks": {
+ "type": ["integer", "null"],
+ "format": "u-int64",
+ "description": "Number of tasks deleted for taskDeletion.",
+ "minimum": 0
+ },
+ "originalFilter": {
+ "type": ["string", "null"],
+ "description": "Original filter query for taskCancelation or taskDeletion tasks."
+ },
+ "dumpUid": {
+ "type": ["string", "null"],
+ "description": "Identifier generated for the dump for dumpCreation task."
+ },
+ "context": {
+ "type": ["object", "null"]
+ },
+ "function": {
+ "type": ["string", "null"]
+ },
+ "swaps": {
+ "type": ["array", "null"],
+ "items": {
+ "$ref": "#/components/schemas/IndexSwap"
+ }
+ },
+ "upgradeFrom": {
+ "type": ["string", "null"]
+ },
+ "upgradeTo": {
+ "type": ["string", "null"]
+ },
+ "url": {
+ "type": ["string", "null"]
+ },
+ "apiKey": {
+ "type": ["string", "null"]
+ },
+ "payloadSize": {
+ "type": ["string", "null"]
+ },
+ "indexes": {
+ "type": ["object", "null"],
+ "additionalProperties": {
+ "$ref": "#/components/schemas/DetailsExportIndexSettings"
+ },
+ "propertyNames": {
+ "type": "string"
+ }
+ }
+ }
+ }]
+ },
+ "DistributionShift": {
+ "type": "object",
+ "description": "Describes the mean and sigma of distribution of embedding similarity in the embedding space.\n\nThe intended use is to make the similarity score more comparable to the regular ranking score.\nThis allows to correct effects where results are too \"packed\" around a certain value.",
+ "required": ["current_mean", "current_sigma"],
+ "properties": {
+ "current_mean": {
+ "type": "number",
+ "format": "float",
+ "description": "Value where the results are \"packed\".\n\nSimilarity scores are translated so that they are packed around 0.5 instead"
+ },
+ "current_sigma": {
+ "type": "number",
+ "format": "float",
+ "description": "standard deviation of a similarity score.\n\nSet below 0.4 to make the results less packed around the mean, and above 0.4 to make them more packed."
+ }
}
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ },
+ "DocumentDeletionByFilter": {
+ "type": "object",
+ "required": ["filter"],
+ "properties": {
+ "filter": {}
}
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "settings.update",
- "settings.*",
- "*"
- ]
- }
- ]
- },
- "delete": {
- "tags": [
- "Settings"
- ],
- "summary": "Reset stopWords",
- "description": "Reset an index's stopWords to its default value",
- "operationId": "deletestopWords",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- }
- ],
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "type": "array",
- "items": {
- "type": "string"
- },
- "uniqueItems": true
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "description": "Task successfully enqueued",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SummarizedTaskView"
- },
- "example": {
- "taskUid": 147,
- "indexUid": "movies",
- "status": "enqueued",
- "type": "settingsUpdate",
- "enqueuedAt": "2024-08-08T17:05:55.791772Z"
+ },
+ "DocumentEditionByFunction": {
+ "type": "object",
+ "required": ["function"],
+ "properties": {
+ "filter": {
+ "description": "A string containing a RHAI function."
+ },
+ "context": {
+ "description": "A string containing a filter expression."
+ },
+ "function": {
+ "type": "string",
+ "description": "An object with data Meilisearch should make available for the editing function."
+ }
}
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ },
+ "EmbedderSource": {
+ "type": "string",
+ "enum": ["openAi", "huggingFace", "ollama", "userProvided", "rest", "composite"]
+ },
+ "EmbedderStatsView": {
+ "type": "object",
+ "required": ["total", "failed"],
+ "properties": {
+ "total": {
+ "type": "integer",
+ "minimum": 0
+ },
+ "failed": {
+ "type": "integer",
+ "minimum": 0
+ },
+ "lastError": {
+ "type": ["string", "null"]
+ }
}
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "settings.update",
- "settings.*",
- "*"
- ]
- }
- ]
- }
- },
- "/indexes/{indexUid}/settings/synonyms": {
- "get": {
- "tags": [
- "Settings"
- ],
- "summary": "Get synonyms",
- "description": "Get an user defined synonyms",
- "operationId": "getsynonyms",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- }
- ],
- "responses": {
- "200": {
- "description": "synonyms is returned",
- "content": {
- "application/json": {
- "schema": {
- "type": "object",
- "additionalProperties": {
- "type": "array",
- "items": {
- "type": "string"
+ },
+ "ErrorType": {
+ "type": "string",
+ "enum": ["internal", "invalid_request", "auth", "system"]
+ },
+ "Export": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": ["string", "null"],
+ "example": "https://ms-1234.heaven.meilisearch.com"
+ },
+ "apiKey": {
+ "type": ["string", "null"],
+ "example": "1234abcd"
+ },
+ "payloadSize": {
+ "type": ["string", "null"],
+ "example": "24MiB"
+ },
+ "indexes": {
+ "type": ["object", "null"],
+ "additionalProperties": {
+ "$ref": "#/components/schemas/ExportIndexSettings"
+ },
+ "propertyNames": {
+ "type": "string"
+ },
+ "example": {
+ "*": {
+ "filter": null
+ }
+ }
}
- },
- "propertyNames": {
- "type": "string"
- }
- },
- "example": {}
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
}
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "settings.get",
- "settings.*",
- "*"
- ]
- }
- ]
- },
- "put": {
- "tags": [
- "Settings"
- ],
- "summary": "Update synonyms",
- "description": "Update an index's user defined synonyms",
- "operationId": "putsynonyms",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- }
- ],
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
+ },
+ "ExportIndexSettings": {
"type": "object",
- "additionalProperties": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "propertyNames": {
- "type": "string"
+ "properties": {
+ "filter": {
+ "type": ["string", "null"],
+ "example": "genres = action"
+ },
+ "overrideSettings": {
+ "type": ["boolean", "null"],
+ "example": true
+ }
}
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "description": "Task successfully enqueued",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SummarizedTaskView"
- },
- "example": {
- "taskUid": 147,
- "indexUid": "movies",
- "status": "enqueued",
- "type": "settingsUpdate",
- "enqueuedAt": "2024-08-08T17:05:55.791772Z"
+ },
+ "FacetSearchQuery": {
+ "type": "object",
+ "required": ["facet_name", "matching_strategy"],
+ "properties": {
+ "facet_query": {
+ "type": ["string", "null"]
+ },
+ "facet_name": {
+ "type": "string"
+ },
+ "q": {
+ "type": ["string", "null"]
+ },
+ "vector": {
+ "type": ["array", "null"],
+ "items": {
+ "type": "number",
+ "format": "float"
+ }
+ },
+ "media": {},
+ "hybrid": {
+ "oneOf": [{
+ "type": "null"
+ }, {
+ "$ref": "#/components/schemas/HybridQuery"
+ }]
+ },
+ "filter": {},
+ "matching_strategy": {
+ "$ref": "#/components/schemas/MatchingStrategy"
+ },
+ "attributes_to_search_on": {
+ "type": ["array", "null"],
+ "items": {
+ "type": "string"
+ }
+ },
+ "ranking_score_threshold": {
+ "oneOf": [{
+ "type": "null"
+ }, {
+ "$ref": "#/components/schemas/RankingScoreThreshold"
+ }]
+ },
+ "locales": {
+ "type": ["array", "null"],
+ "items": {
+ "$ref": "#/components/schemas/Locale"
+ }
+ },
+ "exhaustive_facet_count": {
+ "type": ["boolean", "null"]
+ }
}
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ },
+ "FacetStats": {
+ "type": "object",
+ "required": ["min", "max"],
+ "properties": {
+ "min": {
+ "type": "number",
+ "format": "double"
+ },
+ "max": {
+ "type": "number",
+ "format": "double"
+ }
}
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "settings.update",
- "settings.*",
- "*"
- ]
- }
- ]
- },
- "delete": {
- "tags": [
- "Settings"
- ],
- "summary": "Reset synonyms",
- "description": "Reset an index's synonyms to its default value",
- "operationId": "deletesynonyms",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- }
- ],
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
+ },
+ "FacetValuesSort": {
+ "type": "string",
+ "enum": ["alpha", "count"]
+ },
+ "FacetingSettings": {
+ "type": "object",
+ "properties": {
+ "maxValuesPerFacet": {
+ "type": ["integer", "null"],
+ "example": 10,
+ "minimum": 0
+ },
+ "sortFacetValuesBy": {
+ "type": ["object", "null"],
+ "additionalProperties": {
+ "$ref": "#/components/schemas/FacetValuesSort"
+ },
+ "propertyNames": {
+ "type": "string"
+ },
+ "example": {
+ "genre": "count"
+ }
+ }
+ },
+ "additionalProperties": false
+ },
+ "FederatedFacets": {
"type": "object",
"additionalProperties": {
- "type": "array",
- "items": {
- "type": "string"
- }
+ "$ref": "#/components/schemas/ComputedFacets"
},
"propertyNames": {
- "type": "string"
- }
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "description": "Task successfully enqueued",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SummarizedTaskView"
- },
- "example": {
- "taskUid": 147,
- "indexUid": "movies",
- "status": "enqueued",
- "type": "settingsUpdate",
- "enqueuedAt": "2024-08-08T17:05:55.791772Z"
- }
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "settings.update",
- "settings.*",
- "*"
- ]
- }
- ]
- }
- },
- "/indexes/{indexUid}/settings/typo-tolerance": {
- "get": {
- "tags": [
- "Settings"
- ],
- "summary": "Get typoTolerance",
- "description": "Get an user defined typoTolerance",
- "operationId": "gettypoTolerance",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- }
- ],
- "responses": {
- "200": {
- "description": "typoTolerance is returned",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/TypoSettings"
- },
- "example": {}
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "settings.get",
- "settings.*",
- "*"
- ]
- }
- ]
- },
- "delete": {
- "tags": [
- "Settings"
- ],
- "summary": "Reset typoTolerance",
- "description": "Reset an index's typoTolerance to its default value",
- "operationId": "deletetypoTolerance",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- }
- ],
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/TypoSettings"
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "description": "Task successfully enqueued",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SummarizedTaskView"
- },
- "example": {
- "taskUid": 147,
- "indexUid": "movies",
- "status": "enqueued",
- "type": "settingsUpdate",
- "enqueuedAt": "2024-08-08T17:05:55.791772Z"
- }
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "settings.update",
- "settings.*",
- "*"
- ]
- }
- ]
- },
- "patch": {
- "tags": [
- "Settings"
- ],
- "summary": "Update typoTolerance",
- "description": "Update an index's user defined typoTolerance",
- "operationId": "patchtypoTolerance",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- }
- ],
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/TypoSettings"
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "description": "Task successfully enqueued",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SummarizedTaskView"
- },
- "example": {
- "taskUid": 147,
- "indexUid": "movies",
- "status": "enqueued",
- "type": "settingsUpdate",
- "enqueuedAt": "2024-08-08T17:05:55.791772Z"
- }
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "settings.update",
- "settings.*",
- "*"
- ]
- }
- ]
- }
- },
- "/indexes/{indexUid}/similar": {
- "get": {
- "tags": [
- "Similar documents"
- ],
- "summary": "Get similar documents with GET",
- "description": "Retrieve documents similar to a specific search result.",
- "operationId": "similar_get",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- },
- {
- "name": "id",
- "in": "query",
- "required": true,
- "schema": {
- "type": "string"
- }
- },
- {
- "name": "offset",
- "in": "query",
- "required": true,
- "schema": {
- "type": "integer",
- "default": 0,
- "minimum": 0
- }
- },
- {
- "name": "limit",
- "in": "query",
- "required": true,
- "schema": {
- "type": "integer",
- "default": 20,
- "minimum": 0
- }
- },
- {
- "name": "attributes_to_retrieve",
- "in": "query",
- "required": true,
- "schema": {
- "type": "array",
- "items": {
- "type": "string"
- }
- }
- },
- {
- "name": "retrieve_vectors",
- "in": "query",
- "required": true,
- "schema": {
- "type": "boolean"
- }
- },
- {
- "name": "filter",
- "in": "query",
- "required": false,
- "schema": {
- "type": "string"
- }
- },
- {
- "name": "show_ranking_score",
- "in": "query",
- "required": true,
- "schema": {
- "type": "boolean"
- }
- },
- {
- "name": "show_ranking_score_details",
- "in": "query",
- "required": true,
- "schema": {
- "type": "boolean"
- }
- },
- {
- "name": "ranking_score_threshold",
- "in": "query",
- "required": false,
- "schema": {
- "type": "number",
- "format": "float"
- }
- },
- {
- "name": "embedder",
- "in": "query",
- "required": true,
- "schema": {
- "type": "string"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "The documents are returned",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SimilarResult"
- },
- "example": {
- "hits": [
- {
- "id": 2770,
- "title": "American Pie 2",
- "poster": "https://image.tmdb.org/t/p/w1280/q4LNgUnRfltxzp3gf1MAGiK5LhV.jpg",
- "overview": "The whole gang are back and as close as ever. They decide to get even closer by spending the summer together at a beach house. They decide to hold the biggestโฆ",
- "release_date": 997405200
- },
- {
- "id": 190859,
- "title": "American Sniper",
- "poster": "https://image.tmdb.org/t/p/w1280/svPHnYE7N5NAGO49dBmRhq0vDQ3.jpg",
- "overview": "U.S. Navy SEAL Chris Kyle takes his sole missionโprotect his comradesโto heart and becomes one of the most lethal snipers in American history. His pinpoint accuracy not only saves countless lives but also makes him a primeโฆ",
- "release_date": 1418256000
- }
- ],
- "offset": 0,
- "limit": 2,
- "estimatedTotalHits": 976,
- "processingTimeMs": 35,
- "query": "american "
- }
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- },
- "404": {
- "description": "Index not found",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "Index `movies` not found.",
- "code": "index_not_found",
- "type": "invalid_request",
- "link": "https://docs.meilisearch.com/errors#index_not_found"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "search",
- "*"
- ]
- }
- ]
- },
- "post": {
- "tags": [
- "Similar documents"
- ],
- "summary": "Get similar documents with POST",
- "description": "Retrieve documents similar to a specific search result.",
- "operationId": "similar_post",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- }
- ],
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SimilarQuery"
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "description": "The documents are returned",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SimilarResult"
- },
- "example": {
- "hits": [
- {
- "id": 2770,
- "title": "American Pie 2",
- "poster": "https://image.tmdb.org/t/p/w1280/q4LNgUnRfltxzp3gf1MAGiK5LhV.jpg",
- "overview": "The whole gang are back and as close as ever. They decide to get even closer by spending the summer together at a beach house. They decide to hold the biggestโฆ",
- "release_date": 997405200
- },
- {
- "id": 190859,
- "title": "American Sniper",
- "poster": "https://image.tmdb.org/t/p/w1280/svPHnYE7N5NAGO49dBmRhq0vDQ3.jpg",
- "overview": "U.S. Navy SEAL Chris Kyle takes his sole missionโprotect his comradesโto heart and becomes one of the most lethal snipers in American history. His pinpoint accuracy not only saves countless lives but also makes him a primeโฆ",
- "release_date": 1418256000
- }
- ],
- "offset": 0,
- "limit": 2,
- "estimatedTotalHits": 976,
- "processingTimeMs": 35,
- "query": "american "
- }
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- },
- "404": {
- "description": "Index not found",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "Index `movies` not found.",
- "code": "index_not_found",
- "type": "invalid_request",
- "link": "https://docs.meilisearch.com/errors#index_not_found"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "search",
- "*"
- ]
- }
- ]
- }
- },
- "/indexes/{indexUid}/stats": {
- "get": {
- "tags": [
- "Stats"
- ],
- "summary": "Get stats of index",
- "description": "Get the stats of an index.",
- "operationId": "get_index_stats",
- "parameters": [
- {
- "name": "indexUid",
- "in": "path",
- "description": "Index Unique Identifier",
- "required": true,
- "schema": {
- "type": "string"
- },
- "example": "movies"
- }
- ],
- "responses": {
- "200": {
- "description": "The stats of the index",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/IndexStats"
- },
- "example": {
- "numberOfDocuments": 10,
- "rawDocumentDbSize": 10,
- "avgDocumentSize": 10,
- "numberOfEmbeddings": 10,
- "numberOfEmbeddedDocuments": 10,
- "isIndexing": true,
- "fieldDistribution": {
- "genre": 10,
- "author": 9
- }
- }
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- },
- "404": {
- "description": "Index not found",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "Index `movies` not found.",
- "code": "index_not_found",
- "type": "invalid_request",
- "link": "https://docs.meilisearch.com/errors#index_not_found"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "stats.get",
- "stats.*",
- "*"
- ]
- }
- ]
- }
- },
- "/keys": {
- "get": {
- "tags": [
- "Keys"
- ],
- "summary": "Get API Keys",
- "description": "List all API Keys",
- "operationId": "list_api_keys",
- "parameters": [
- {
- "name": "offset",
- "in": "query",
- "required": true,
- "schema": {
- "type": "integer",
- "default": 0,
- "minimum": 0
- }
- },
- {
- "name": "limit",
- "in": "query",
- "required": true,
- "schema": {
- "type": "integer",
- "default": 20,
- "minimum": 0
- }
- }
- ],
- "responses": {
- "202": {
- "description": "List of keys",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/PaginationView_KeyView"
- },
- "example": {
- "results": [
- {
- "uid": "01b4bc42-eb33-4041-b481-254d00cce834",
- "key": "d0552b41536279a0ad88bd595327b96f01176a60c2243e906c52ac02375f9bc4",
- "name": "An API Key",
- "description": null,
- "actions": [
- "documents.add"
- ],
- "indexes": [
- "movies"
- ],
- "expiresAt": "2022-11-12T10:00:00Z",
- "createdAt": "2021-11-12T10:00:00Z",
- "updatedAt": "2021-11-12T10:00:00Z"
- }
- ],
- "limit": 20,
- "offset": 0,
- "total": 1
- }
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "keys.get",
- "keys.*",
- "*"
- ]
- }
- ]
- },
- "post": {
- "tags": [
- "Keys"
- ],
- "summary": "Create an API Key",
- "description": "Create an API Key.",
- "operationId": "create_api_key",
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/CreateApiKey"
- }
- }
- },
- "required": true
- },
- "responses": {
- "202": {
- "description": "Key has been created",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/KeyView"
- },
- "example": {
- "uid": "01b4bc42-eb33-4041-b481-254d00cce834",
- "key": "d0552b41536279a0ad88bd595327b96f01176a60c2243e906c52ac02375f9bc4",
- "name": "Indexing Products API key",
- "description": null,
- "actions": [
- "documents.add"
- ],
- "indexes": [
- "products"
- ],
- "expiresAt": "2021-11-13T00:00:00Z",
- "createdAt": "2021-11-12T10:00:00Z",
- "updatedAt": "2021-11-12T10:00:00Z"
- }
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "keys.create",
- "keys.*",
- "*"
- ]
- }
- ]
- }
- },
- "/keys/{uidOrKey}": {
- "get": {
- "tags": [
- "Keys"
- ],
- "summary": "Get an API Key",
- "description": "Get an API key from its `uid` or its `key` field.",
- "operationId": "get_api_key",
- "parameters": [
- {
- "name": "uidOrKey",
- "in": "path",
- "description": "The `uid` or `key` field of an existing API key",
- "required": true,
- "schema": {
- "type": "string",
- "format": "password"
- },
- "example": "7b198a7f-52a0-4188-8762-9ad93cd608b2"
- }
- ],
- "responses": {
- "200": {
- "description": "The key is returned",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/KeyView"
- },
- "example": {
- "uid": "01b4bc42-eb33-4041-b481-254d00cce834",
- "key": "d0552b41536279a0ad88bd595327b96f01176a60c2243e906c52ac02375f9bc4",
- "name": "An API Key",
- "description": null,
- "actions": [
- "documents.add"
- ],
- "indexes": [
- "movies"
- ],
- "expiresAt": "2022-11-12T10:00:00Z",
- "createdAt": "2021-11-12T10:00:00Z",
- "updatedAt": "2021-11-12T10:00:00Z"
- }
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "keys.get",
- "keys.*",
- "*"
- ]
- }
- ]
- },
- "delete": {
- "tags": [
- "Keys"
- ],
- "summary": "Delete a key",
- "description": "Delete the specified API key.",
- "operationId": "delete_api_key",
- "parameters": [
- {
- "name": "uidOrKey",
- "in": "path",
- "description": "The `uid` or `key` field of an existing API key",
- "required": true,
- "schema": {
- "type": "string",
- "format": "password"
- },
- "example": "7b198a7f-52a0-4188-8762-9ad93cd608b2"
- }
- ],
- "responses": {
- "204": {
- "description": "The key have been removed"
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "keys.delete",
- "keys.*",
- "*"
- ]
- }
- ]
- },
- "patch": {
- "tags": [
- "Keys"
- ],
- "summary": "Update a Key",
- "description": "Update the name and description of an API key.\nUpdates to keys are partial. This means you should provide only the fields you intend to update, as any fields not present in the payload will remain unchanged.",
- "operationId": "patch_api_key",
- "parameters": [
- {
- "name": "uidOrKey",
- "in": "path",
- "description": "The `uid` or `key` field of an existing API key",
- "required": true,
- "schema": {
- "type": "string",
- "format": "password"
- },
- "example": "7b198a7f-52a0-4188-8762-9ad93cd608b2"
- }
- ],
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/PatchApiKey"
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "description": "The key have been updated",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/KeyView"
- },
- "example": {
- "uid": "01b4bc42-eb33-4041-b481-254d00cce834",
- "key": "d0552b41536279a0ad88bd595327b96f01176a60c2243e906c52ac02375f9bc4",
- "name": "An API Key",
- "description": null,
- "actions": [
- "documents.add"
- ],
- "indexes": [
- "movies"
- ],
- "expiresAt": "2022-11-12T10:00:00Z",
- "createdAt": "2021-11-12T10:00:00Z",
- "updatedAt": "2021-11-12T10:00:00Z"
- }
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "keys.update",
- "keys.*",
- "*"
- ]
- }
- ]
- }
- },
- "/logs/stderr": {
- "post": {
- "tags": [
- "Logs"
- ],
- "summary": "Update target of the console logs",
- "description": "This route lets you specify at runtime the level of the console logs outputted on stderr.",
- "operationId": "update_stderr_target",
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/UpdateStderrLogs"
- }
- }
- },
- "required": true
- },
- "responses": {
- "204": {
- "description": "The console logs have been updated"
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
- }
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "metrics.get",
- "metrics.*",
- "*"
- ]
- }
- ]
- }
- },
- "/logs/stream": {
- "post": {
- "tags": [
- "Logs"
- ],
- "summary": "Retrieve logs",
- "description": "Stream logs over HTTP. The format of the logs depends on the configuration specified in the payload.\nThe logs are sent as multi-part, and the stream never stops, so make sure your clients correctly handle that.\nTo make the server stop sending you logs, you can call the `DELETE /logs/stream` route.\n\nThere can only be one listener at a timeand an error will be returned if you call this route while it's being used by another client.",
- "operationId": "get_logs",
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/GetLogs"
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "description": "Logs are being returned",
- "content": {
- "application/json": {
- "schema": {
- "type": "string"
- },
- "example": "\n2024-10-08T13:35:02.643750Z WARN HTTP request{method=GET host=\"localhost:7700\" route=/metrics query_parameters= user_agent=HTTPie/3.2.3 status_code=400 error=Getting metrics requires enabling the `metrics` experimental feature. See https://github.com/meilisearch/product/discussions/625}: tracing_actix_web::middleware: Error encountered while processing the incoming HTTP request: ResponseError { code: 400, message: \"Getting metrics requires enabling the `metrics` experimental feature. See https://github.com/meilisearch/product/discussions/625\", error_code: \"feature_not_enabled\", error_type: \"invalid_request\", error_link: \"https://docs.meilisearch.com/errors#feature_not_enabled\" }\n2024-10-08T13:35:02.644191Z INFO HTTP request{method=GET host=\"localhost:7700\" route=/metrics query_parameters= user_agent=HTTPie/3.2.3 status_code=400 error=Getting metrics requires enabling the `metrics` experimental feature. See https://github.com/meilisearch/product/discussions/625}: meilisearch: close time.busy=1.66ms time.idle=658ยตs\n2024-10-08T13:35:18.564152Z INFO HTTP request{method=PATCH host=\"localhost:7700\" route=/experimental-features query_parameters= user_agent=curl/8.6.0 status_code=200}: meilisearch: close time.busy=1.17ms time.idle=127ยตs\n2024-10-08T13:35:23.094987Z INFO HTTP request{method=GET host=\"localhost:7700\" route=/metrics query_parameters= user_agent=HTTPie/3.2.3 status_code=200}: meilisearch: close time.busy=2.12ms time.idle=595ยตs\n"
- }
- }
- },
- "400": {
- "description": "The route is already being used",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The `/logs/stream` route is currently in use by someone else.",
- "code": "bad_request",
- "type": "invalid_request",
- "link": "https://docs.meilisearch.com/errors#bad_request"
+ "type": "string"
}
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ },
+ "FederatedSearch": {
+ "type": "object",
+ "required": ["queries"],
+ "properties": {
+ "queries": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/SearchQueryWithIndex"
+ }
+ },
+ "federation": {
+ "oneOf": [{
+ "type": "null"
+ }, {
+ "$ref": "#/components/schemas/Federation"
+ }]
+ }
}
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "metrics.get",
- "metrics.*",
- "*"
- ]
- }
- ]
- },
- "delete": {
- "tags": [
- "Logs"
- ],
- "summary": "Stop retrieving logs",
- "description": "Call this route to make the engine stops sending logs through the `POST /logs/stream` route.",
- "operationId": "cancel_logs",
- "responses": {
- "204": {
- "description": "Logs are being returned"
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ },
+ "FederatedSearchResult": {
+ "allOf": [{
+ "$ref": "#/components/schemas/HitsInfo"
+ }, {
+ "type": "object",
+ "required": ["hits", "processingTimeMs"],
+ "properties": {
+ "hits": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/SearchHit"
+ }
+ },
+ "processingTimeMs": {
+ "type": "integer",
+ "minimum": 0
+ },
+ "semanticHitCount": {
+ "type": ["integer", "null"],
+ "format": "u-int32",
+ "minimum": 0
+ },
+ "facetDistribution": {
+ "type": ["object", "null"],
+ "additionalProperties": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "integer",
+ "format": "u-int64",
+ "minimum": 0
+ },
+ "propertyNames": {
+ "type": "string"
+ }
+ },
+ "propertyNames": {
+ "type": "string"
+ }
+ },
+ "facetStats": {
+ "type": ["object", "null"],
+ "additionalProperties": {
+ "$ref": "#/components/schemas/FacetStats"
+ },
+ "propertyNames": {
+ "type": "string"
+ }
+ },
+ "facetsByIndex": {
+ "$ref": "#/components/schemas/FederatedFacets"
+ },
+ "remoteErrors": {
+ "type": ["object", "null"],
+ "additionalProperties": {
+ "$ref": "#/components/schemas/ResponseError"
+ },
+ "propertyNames": {
+ "type": "string"
+ }
+ }
+ }
+ }]
+ },
+ "Federation": {
+ "type": "object",
+ "required": ["limit", "offset", "facetsByIndex"],
+ "properties": {
+ "limit": {
+ "type": "integer",
+ "minimum": 0
+ },
+ "offset": {
+ "type": "integer",
+ "minimum": 0
+ },
+ "facetsByIndex": {
+ "type": "object",
+ "additionalProperties": {
+ "type": ["array", "null"],
+ "items": {
+ "type": "string"
+ }
+ },
+ "propertyNames": {
+ "type": "string",
+ "description": "An index uid is composed of only ascii alphanumeric characters, - and _, between 1 and 400\nbytes long",
+ "example": "movies"
+ }
+ },
+ "mergeFacets": {
+ "oneOf": [{
+ "type": "null"
+ }, {
+ "$ref": "#/components/schemas/MergeFacets"
+ }]
+ }
}
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "metrics.get",
- "metrics.*",
- "*"
- ]
- }
- ]
- }
- },
- "/metrics": {
- "get": {
- "tags": [
- "Stats"
- ],
- "summary": "Get prometheus metrics",
- "description": "Retrieve metrics on the engine. See https://www.meilisearch.com/docs/learn/experimental/metrics\nCurrently, [the feature is experimental](https://www.meilisearch.com/docs/learn/experimental/overview)\nwhich means it must be enabled.",
- "operationId": "get_metrics",
- "responses": {
- "200": {
- "description": "The metrics of the instance",
- "content": {
- "text/plain": {
- "schema": {
- "type": "string"
- },
- "example": "\n# HELP meilisearch_db_size_bytes Meilisearch DB Size In Bytes\n# TYPE meilisearch_db_size_bytes gauge\nmeilisearch_db_size_bytes 1130496\n# HELP meilisearch_http_requests_total Meilisearch HTTP requests total\n# TYPE meilisearch_http_requests_total counter\nmeilisearch_http_requests_total{method=\"GET\",path=\"/metrics\",status=\"400\"} 1\nmeilisearch_http_requests_total{method=\"PATCH\",path=\"/experimental-features\",status=\"200\"} 1\n# HELP meilisearch_http_response_time_seconds Meilisearch HTTP response times\n# TYPE meilisearch_http_response_time_seconds histogram\nmeilisearch_http_response_time_seconds_bucket{method=\"GET\",path=\"/metrics\",le=\"0.005\"} 0\nmeilisearch_http_response_time_seconds_bucket{method=\"GET\",path=\"/metrics\",le=\"0.01\"} 0\nmeilisearch_http_response_time_seconds_bucket{method=\"GET\",path=\"/metrics\",le=\"0.025\"} 0\nmeilisearch_http_response_time_seconds_bucket{method=\"GET\",path=\"/metrics\",le=\"0.05\"} 0\nmeilisearch_http_response_time_seconds_bucket{method=\"GET\",path=\"/metrics\",le=\"0.075\"} 0\nmeilisearch_http_response_time_seconds_bucket{method=\"GET\",path=\"/metrics\",le=\"0.1\"} 0\nmeilisearch_http_response_time_seconds_bucket{method=\"GET\",path=\"/metrics\",le=\"0.25\"} 0\nmeilisearch_http_response_time_seconds_bucket{method=\"GET\",path=\"/metrics\",le=\"0.5\"} 0\nmeilisearch_http_response_time_seconds_bucket{method=\"GET\",path=\"/metrics\",le=\"0.75\"} 0\nmeilisearch_http_response_time_seconds_bucket{method=\"GET\",path=\"/metrics\",le=\"1\"} 0\nmeilisearch_http_response_time_seconds_bucket{method=\"GET\",path=\"/metrics\",le=\"2.5\"} 0\nmeilisearch_http_response_time_seconds_bucket{method=\"GET\",path=\"/metrics\",le=\"5\"} 0\nmeilisearch_http_response_time_seconds_bucket{method=\"GET\",path=\"/metrics\",le=\"7.5\"} 0\nmeilisearch_http_response_time_seconds_bucket{method=\"GET\",path=\"/metrics\",le=\"10\"} 0\nmeilisearch_http_response_time_seconds_bucket{method=\"GET\",path=\"/metrics\",le=\"+Inf\"} 0\nmeilisearch_http_response_time_seconds_sum{method=\"GET\",path=\"/metrics\"} 0\nmeilisearch_http_response_time_seconds_count{method=\"GET\",path=\"/metrics\"} 0\n# HELP meilisearch_index_count Meilisearch Index Count\n# TYPE meilisearch_index_count gauge\nmeilisearch_index_count 1\n# HELP meilisearch_index_docs_count Meilisearch Index Docs Count\n# TYPE meilisearch_index_docs_count gauge\nmeilisearch_index_docs_count{index=\"mieli\"} 2\n# HELP meilisearch_is_indexing Meilisearch Is Indexing\n# TYPE meilisearch_is_indexing gauge\nmeilisearch_is_indexing 0\n# HELP meilisearch_last_update Meilisearch Last Update\n# TYPE meilisearch_last_update gauge\nmeilisearch_last_update 1726675964\n# HELP meilisearch_nb_tasks Meilisearch Number of tasks\n# TYPE meilisearch_nb_tasks gauge\nmeilisearch_nb_tasks{kind=\"indexes\",value=\"mieli\"} 39\nmeilisearch_nb_tasks{kind=\"statuses\",value=\"canceled\"} 0\nmeilisearch_nb_tasks{kind=\"statuses\",value=\"enqueued\"} 0\nmeilisearch_nb_tasks{kind=\"statuses\",value=\"failed\"} 4\nmeilisearch_nb_tasks{kind=\"statuses\",value=\"processing\"} 0\nmeilisearch_nb_tasks{kind=\"statuses\",value=\"succeeded\"} 35\nmeilisearch_nb_tasks{kind=\"types\",value=\"documentAdditionOrUpdate\"} 9\nmeilisearch_nb_tasks{kind=\"types\",value=\"documentDeletion\"} 0\nmeilisearch_nb_tasks{kind=\"types\",value=\"documentEdition\"} 0\nmeilisearch_nb_tasks{kind=\"types\",value=\"dumpCreation\"} 0\nmeilisearch_nb_tasks{kind=\"types\",value=\"indexCreation\"} 0\nmeilisearch_nb_tasks{kind=\"types\",value=\"indexDeletion\"} 8\nmeilisearch_nb_tasks{kind=\"types\",value=\"indexSwap\"} 0\nmeilisearch_nb_tasks{kind=\"types\",value=\"indexUpdate\"} 0\nmeilisearch_nb_tasks{kind=\"types\",value=\"settingsUpdate\"} 22\nmeilisearch_nb_tasks{kind=\"types\",value=\"snapshotCreation\"} 0\nmeilisearch_nb_tasks{kind=\"types\",value=\"taskCancelation\"} 0\nmeilisearch_nb_tasks{kind=\"types\",value=\"taskDeletion\"} 0\n# HELP meilisearch_used_db_size_bytes Meilisearch Used DB Size In Bytes\n# TYPE meilisearch_used_db_size_bytes gauge\nmeilisearch_used_db_size_bytes 409600\n"
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ },
+ "FederationOptions": {
+ "type": "object",
+ "required": ["weight"],
+ "properties": {
+ "weight": {
+ "type": "number",
+ "format": "double"
+ },
+ "remote": {
+ "type": ["string", "null"]
+ },
+ "queryPosition": {
+ "type": ["integer", "null"],
+ "minimum": 0
+ }
}
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "metrics.get",
- "metrics.*",
- "*"
- ]
- }
- ]
- }
- },
- "/multi-search": {
- "post": {
- "tags": [
- "Multi-search"
- ],
- "summary": "Perform a multi-search",
- "description": "Bundle multiple search queries in a single API request. Use this endpoint to search through multiple indexes at once.",
- "operationId": "multi_search_with_post",
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/FederatedSearch"
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "description": "Federated multi-search",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/FederatedSearchResult"
- },
- "example": {
- "hits": [
- {
- "id": 42,
- "title": "Batman returns",
- "overview": "The overview of batman returns",
- "_federation": {
- "indexUid": "movies",
- "queriesPosition": 0
- }
- },
- {
- "comicsId": "batman-killing-joke",
- "description": "This comic is really awesome",
- "title": "Batman: the killing joke",
- "_federation": {
- "indexUid": "comics",
- "queriesPosition": 1
- }
- }
- ],
- "processingTimeMs": 0,
- "limit": 20,
- "offset": 0,
- "estimatedTotalHits": 2,
- "semanticHitCount": 0
+ },
+ "FilterFeatures": {
+ "type": "object",
+ "properties": {
+ "equality": {
+ "type": "boolean"
+ },
+ "comparison": {
+ "type": "boolean"
+ }
+ },
+ "additionalProperties": false
+ },
+ "FilterableAttributesFeatures": {
+ "type": "object",
+ "properties": {
+ "facetSearch": {
+ "type": "boolean"
+ },
+ "filter": {
+ "$ref": "#/components/schemas/FilterFeatures"
+ }
+ },
+ "additionalProperties": false
+ },
+ "FilterableAttributesPatterns": {
+ "type": "object",
+ "required": ["attributePatterns"],
+ "properties": {
+ "attributePatterns": {
+ "$ref": "#/components/schemas/AttributePatterns"
+ },
+ "features": {
+ "$ref": "#/components/schemas/FilterableAttributesFeatures"
+ }
+ },
+ "additionalProperties": false
+ },
+ "FilterableAttributesRule": {
+ "oneOf": [{
+ "type": "string"
+ }, {
+ "$ref": "#/components/schemas/FilterableAttributesPatterns"
+ }]
+ },
+ "GetLogs": {
+ "type": "object",
+ "required": ["target", "mode", "profileMemory"],
+ "properties": {
+ "target": {
+ "type": "string",
+ "description": "Lets you specify which parts of the code you want to inspect and is formatted like that: code_part=log_level,code_part=log_level\n- If the `code_part` is missing, then the `log_level` will be applied to everything.\n- If the `log_level` is missing, then the `code_part` will be selected in `info` log level.",
+ "default": "info",
+ "example": "milli=trace,index_scheduler,actix_web=off"
+ },
+ "mode": {
+ "oneOf": [{
+ "$ref": "#/components/schemas/LogMode",
+ "description": "Lets you customize the format of the logs."
+ }],
+ "default": "Human"
+ },
+ "profileMemory": {
+ "type": "boolean",
+ "description": "A boolean to indicate if you want to profile the memory as well. This is only useful while using the `profile` mode.\nBe cautious, though; it slows down the engine a lot.",
+ "default": false
+ }
}
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ },
+ "HealthResponse": {
+ "type": "object",
+ "required": ["status"],
+ "properties": {
+ "status": {
+ "$ref": "#/components/schemas/HealthStatus",
+ "description": "The status of the instance."
+ }
}
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "search",
- "*"
- ]
- }
- ]
- }
- },
- "/network": {
- "get": {
- "tags": [
- "Network"
- ],
- "summary": "Get network topology",
- "description": "Get a list of all Meilisearch instances currently known to this instance.",
- "operationId": "get_network",
- "responses": {
- "200": {
- "description": "Known nodes are returned",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/Network"
- },
- "example": {
- "self": "ms-0",
- "remotes": {
- "ms-0": {
- "url": "http://localhost:7700",
- "searchApiKey": null
- },
- "ms-1": {
- "url": "http://localhost:7701",
- "searchApiKey": "foo"
- },
- "ms-2": {
- "url": "http://localhost:7702",
- "searchApiKey": "bar"
- }
- }
+ },
+ "HealthStatus": {
+ "type": "string",
+ "enum": ["available"]
+ },
+ "HitsInfo": {
+ "oneOf": [{
+ "type": "object",
+ "required": ["hitsPerPage", "page", "totalPages", "totalHits"],
+ "properties": {
+ "hitsPerPage": {
+ "type": "integer",
+ "minimum": 0
+ },
+ "page": {
+ "type": "integer",
+ "minimum": 0
+ },
+ "totalPages": {
+ "type": "integer",
+ "minimum": 0
+ },
+ "totalHits": {
+ "type": "integer",
+ "minimum": 0
+ }
+ }
+ }, {
+ "type": "object",
+ "required": ["limit", "offset", "estimatedTotalHits"],
+ "properties": {
+ "limit": {
+ "type": "integer",
+ "minimum": 0
+ },
+ "offset": {
+ "type": "integer",
+ "minimum": 0
+ },
+ "estimatedTotalHits": {
+ "type": "integer",
+ "minimum": 0
+ }
+ }
+ }]
+ },
+ "HybridQuery": {
+ "type": "object",
+ "required": ["embedder"],
+ "properties": {
+ "semanticRatio": {
+ "type": "number",
+ "format": "float"
+ },
+ "embedder": {
+ "type": "string"
+ }
}
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ },
+ "IndexCreateRequest": {
+ "type": "object",
+ "required": ["uid"],
+ "properties": {
+ "uid": {
+ "$ref": "#/components/schemas/IndexUid",
+ "description": "The name of the index"
+ },
+ "primaryKey": {
+ "type": ["string", "null"],
+ "description": "The primary key of the index",
+ "example": "id"
+ }
}
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "network.get",
- "network.*",
- "*"
- ]
- }
- ]
- },
- "patch": {
- "tags": [
- "Network"
- ],
- "summary": "Configure Network",
- "description": "Add or remove nodes from network.",
- "operationId": "patch_network",
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/Network"
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "description": "New network state is returned",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/Network"
- },
- "example": {
- "self": "ms-0",
- "remotes": {
- "ms-0": {
- "url": "http://localhost:7700",
- "searchApiKey": null
- },
- "ms-1": {
- "url": "http://localhost:7701",
- "searchApiKey": "foo"
- },
- "ms-2": {
- "url": "http://localhost:7702",
- "searchApiKey": "bar"
- }
- }
+ },
+ "IndexStats": {
+ "type": "object",
+ "description": "Stats of an `Index`, as known to the `stats` route.",
+ "required": ["numberOfDocuments", "rawDocumentDbSize", "avgDocumentSize", "isIndexing", "fieldDistribution"],
+ "properties": {
+ "numberOfDocuments": {
+ "type": "integer",
+ "format": "u-int64",
+ "description": "Number of documents in the index",
+ "minimum": 0
+ },
+ "rawDocumentDbSize": {
+ "type": "integer",
+ "format": "u-int64",
+ "description": "Size of the documents database, in bytes.",
+ "minimum": 0
+ },
+ "avgDocumentSize": {
+ "type": "integer",
+ "format": "u-int64",
+ "description": "Average size of a document in the documents database.",
+ "minimum": 0
+ },
+ "isIndexing": {
+ "type": "boolean",
+ "description": "Whether or not the index is currently ingesting document"
+ },
+ "numberOfEmbeddings": {
+ "type": ["integer", "null"],
+ "format": "u-int64",
+ "description": "Number of embeddings in the index",
+ "minimum": 0
+ },
+ "numberOfEmbeddedDocuments": {
+ "type": ["integer", "null"],
+ "format": "u-int64",
+ "description": "Number of embedded documents in the index",
+ "minimum": 0
+ },
+ "fieldDistribution": {
+ "type": "object",
+ "description": "Association of every field name with the number of times it occurs in the documents.",
+ "additionalProperties": {
+ "type": "integer",
+ "format": "u-int64",
+ "minimum": 0
+ },
+ "propertyNames": {
+ "type": "string"
+ }
+ }
}
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ },
+ "IndexSwap": {
+ "type": "object",
+ "required": ["indexes"],
+ "properties": {
+ "indexes": {
+ "type": "array",
+ "items": false,
+ "prefixItems": [{
+ "type": "string"
+ }, {
+ "type": "string"
+ }]
+ }
}
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "network.update",
- "network.*",
- "*"
- ]
- }
- ]
- }
- },
- "/snapshots": {
- "post": {
- "tags": [
- "Snapshots"
- ],
- "summary": "Create a snapshot",
- "description": "Triggers a snapshot creation process. Once the process is complete, a snapshot is created in the snapshot directory. If the snapshot directory does not exist yet, it will be created.",
- "operationId": "create_snapshot",
- "responses": {
- "202": {
- "description": "Snapshot is being created",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SummarizedTaskView"
- },
- "example": {
- "taskUid": 0,
- "indexUid": null,
- "status": "enqueued",
- "type": "snapshotCreation",
- "enqueuedAt": "2021-01-01T09:39:00.000000Z"
+ },
+ "IndexUid": {
+ "type": "string",
+ "description": "An index uid is composed of only ascii alphanumeric characters, - and _, between 1 and 400\nbytes long",
+ "example": "movies"
+ },
+ "IndexView": {
+ "type": "object",
+ "required": ["uid", "createdAt", "updatedAt"],
+ "properties": {
+ "uid": {
+ "type": "string",
+ "description": "Unique identifier for the index"
+ },
+ "createdAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "An `RFC 3339` format for date/time/duration."
+ },
+ "updatedAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "An `RFC 3339` format for date/time/duration."
+ },
+ "primaryKey": {
+ "type": ["string", "null"],
+ "description": "Custom primaryKey for documents"
+ }
}
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ },
+ "KeyView": {
+ "type": "object",
+ "required": ["key", "uid", "actions", "indexes", "createdAt", "updatedAt"],
+ "properties": {
+ "name": {
+ "type": ["string", "null"],
+ "description": "The name of the API Key if any"
+ },
+ "description": {
+ "type": ["string", "null"],
+ "description": "The description of the API Key if any"
+ },
+ "key": {
+ "type": "string",
+ "description": "The actual API Key you can send to Meilisearch"
+ },
+ "uid": {
+ "type": "string",
+ "format": "uuid",
+ "description": "The `Uuid` specified while creating the key or autogenerated by Meilisearch."
+ },
+ "actions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Action"
+ },
+ "description": "The actions accessible with this key."
+ },
+ "indexes": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The indexes accessible with this key."
+ },
+ "expiresAt": {
+ "type": ["string", "null"],
+ "format": "date-time",
+ "description": "The expiration date of the key. Once this timestamp is exceeded the key is not deleted but cannot be used anymore."
+ },
+ "createdAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The date of creation of this API Key.",
+ "readOnly": true
+ },
+ "updatedAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The date of the last update made on this key.",
+ "readOnly": true
+ }
}
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "snapshots.create",
- "snapshots.*",
- "*"
- ]
- }
- ]
- }
- },
- "/stats": {
- "get": {
- "tags": [
- "Stats"
- ],
- "summary": "Get stats of all indexes.",
- "description": "Get stats of all indexes.",
- "operationId": "get_stats",
- "responses": {
- "200": {
- "description": "The stats of the instance",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/Stats"
- },
- "example": {
- "databaseSize": 567,
- "usedDatabaseSize": 456,
- "lastUpdate": "2019-11-20T09:40:33.711324Z",
- "indexes": {
- "movies": {
- "numberOfDocuments": 10,
- "rawDocumentDbSize": 100,
- "maxDocumentSize": 16,
- "avgDocumentSize": 10,
- "isIndexing": true,
- "fieldDistribution": {
- "genre": 10,
- "author": 9
- }
- }
- }
+ },
+ "Kind": {
+ "type": "string",
+ "description": "The type of the task.",
+ "enum": ["documentAdditionOrUpdate", "documentEdition", "documentDeletion", "settingsUpdate", "indexCreation", "indexDeletion", "indexUpdate", "indexSwap", "taskCancelation", "taskDeletion", "dumpCreation", "snapshotCreation", "export", "upgradeDatabase"],
+ "example": ["documentAdditionOrUpdate", "documentEdition", "documentDeletion", "settingsUpdate", "indexCreation", "indexDeletion", "indexUpdate", "indexSwap", "taskCancelation", "taskDeletion", "dumpCreation", "snapshotCreation", "export", "upgradeDatabase"]
+ },
+ "Locale": {
+ "type": "string",
+ "enum": ["af", "ak", "am", "ar", "az", "be", "bn", "bg", "ca", "cs", "da", "de", "el", "en", "eo", "et", "fi", "fr", "gu", "he", "hi", "hr", "hu", "hy", "id", "it", "jv", "ja", "kn", "ka", "km", "ko", "la", "lv", "lt", "ml", "mr", "mk", "my", "ne", "nl", "nb", "or", "pa", "fa", "pl", "pt", "ro", "ru", "si", "sk", "sl", "sn", "es", "sr", "sv", "ta", "te", "tl", "th", "tk", "tr", "uk", "ur", "uz", "vi", "yi", "zh", "zu", "afr", "aka", "amh", "ara", "aze", "bel", "ben", "bul", "cat", "ces", "dan", "deu", "ell", "eng", "epo", "est", "fin", "fra", "guj", "heb", "hin", "hrv", "hun", "hye", "ind", "ita", "jav", "jpn", "kan", "kat", "khm", "kor", "lat", "lav", "lit", "mal", "mar", "mkd", "mya", "nep", "nld", "nob", "ori", "pan", "pes", "pol", "por", "ron", "rus", "sin", "slk", "slv", "sna", "spa", "srp", "swe", "tam", "tel", "tgl", "tha", "tuk", "tur", "ukr", "urd", "uzb", "vie", "yid", "zho", "zul", "cmn"]
+ },
+ "LocalizedAttributesRuleView": {
+ "type": "object",
+ "required": ["attributePatterns", "locales"],
+ "properties": {
+ "attributePatterns": {
+ "$ref": "#/components/schemas/AttributePatterns"
+ },
+ "locales": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Locale"
+ }
+ }
}
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ },
+ "LogMode": {
+ "type": "string",
+ "enum": ["human", "json", "profile"]
+ },
+ "MatchingStrategy": {
+ "type": "string",
+ "description": "This is unfortunately a duplication of the struct in .\nThe reason why it is duplicated is because milli cannot depend on meilisearch. It would be cyclic imports.",
+ "enum": ["last", "all", "frequency"]
+ },
+ "MergeFacets": {
+ "type": "object",
+ "properties": {
+ "maxValuesPerFacet": {
+ "type": ["integer", "null"],
+ "minimum": 0
+ }
}
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "stats.get",
- "stats.*",
- "*"
- ]
- }
- ]
- }
- },
- "/swap-indexes": {
- "post": {
- "tags": [
- "Indexes"
- ],
- "summary": "Swap indexes",
- "description": "Swap the documents, settings, and task history of two or more indexes. You can only swap indexes in pairs. However, a single request can swap as many index pairs as you wish.\nSwapping indexes is an atomic transaction: either all indexes are successfully swapped, or none are.\nSwapping indexA and indexB will also replace every mention of indexA by indexB and vice-versa in the task history. enqueued tasks are left unmodified.",
- "operationId": "swap_indexes",
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/SwapIndexesPayload"
+ },
+ "MinWordSizeTyposSetting": {
+ "type": "object",
+ "properties": {
+ "oneTypo": {
+ "type": ["integer", "null"],
+ "format": "u-int8",
+ "example": 5,
+ "minimum": 0
+ },
+ "twoTypos": {
+ "type": ["integer", "null"],
+ "format": "u-int8",
+ "example": 9,
+ "minimum": 0
+ }
+ },
+ "additionalProperties": false
+ },
+ "Network": {
+ "type": "object",
+ "properties": {
+ "remotes": {
+ "type": ["object", "null"],
+ "additionalProperties": {
+ "$ref": "#/components/schemas/Remote"
+ },
+ "propertyNames": {
+ "type": "string"
+ },
+ "example": "http://localhost:7700"
+ },
+ "self": {
+ "type": ["string", "null"],
+ "example": "ms-00"
+ }
}
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "description": "Task successfully enqueued",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SummarizedTaskView"
- },
- "example": {
- "taskUid": 3,
- "indexUid": null,
- "status": "enqueued",
- "type": "indexSwap",
- "enqueuedAt": "2021-08-12T10:00:00.000000Z"
+ },
+ "OverridePooling": {
+ "type": "string",
+ "enum": ["useModel", "forceCls", "forceMean"]
+ },
+ "PaginationSettings": {
+ "type": "object",
+ "properties": {
+ "maxTotalHits": {
+ "type": ["integer", "null"],
+ "example": 250,
+ "minimum": 0
+ }
+ },
+ "additionalProperties": false
+ },
+ "PaginationView_IndexView": {
+ "type": "object",
+ "required": ["results", "offset", "limit", "total"],
+ "properties": {
+ "results": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "required": ["uid", "createdAt", "updatedAt"],
+ "properties": {
+ "uid": {
+ "type": "string",
+ "description": "Unique identifier for the index"
+ },
+ "createdAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "An `RFC 3339` format for date/time/duration."
+ },
+ "updatedAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "An `RFC 3339` format for date/time/duration."
+ },
+ "primaryKey": {
+ "type": ["string", "null"],
+ "description": "Custom primaryKey for documents"
+ }
+ }
+ }
+ },
+ "offset": {
+ "type": "integer",
+ "minimum": 0
+ },
+ "limit": {
+ "type": "integer",
+ "minimum": 0
+ },
+ "total": {
+ "type": "integer",
+ "minimum": 0
+ }
}
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ },
+ "PaginationView_KeyView": {
+ "type": "object",
+ "required": ["results", "offset", "limit", "total"],
+ "properties": {
+ "results": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "required": ["key", "uid", "actions", "indexes", "createdAt", "updatedAt"],
+ "properties": {
+ "name": {
+ "type": ["string", "null"],
+ "description": "The name of the API Key if any"
+ },
+ "description": {
+ "type": ["string", "null"],
+ "description": "The description of the API Key if any"
+ },
+ "key": {
+ "type": "string",
+ "description": "The actual API Key you can send to Meilisearch"
+ },
+ "uid": {
+ "type": "string",
+ "format": "uuid",
+ "description": "The `Uuid` specified while creating the key or autogenerated by Meilisearch."
+ },
+ "actions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Action"
+ },
+ "description": "The actions accessible with this key."
+ },
+ "indexes": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The indexes accessible with this key."
+ },
+ "expiresAt": {
+ "type": ["string", "null"],
+ "format": "date-time",
+ "description": "The expiration date of the key. Once this timestamp is exceeded the key is not deleted but cannot be used anymore."
+ },
+ "createdAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The date of creation of this API Key.",
+ "readOnly": true
+ },
+ "updatedAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The date of the last update made on this key.",
+ "readOnly": true
+ }
+ }
+ }
+ },
+ "offset": {
+ "type": "integer",
+ "minimum": 0
+ },
+ "limit": {
+ "type": "integer",
+ "minimum": 0
+ },
+ "total": {
+ "type": "integer",
+ "minimum": 0
+ }
}
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "search",
- "*"
- ]
- }
- ]
- }
- },
- "/tasks": {
- "get": {
- "tags": [
- "Tasks"
- ],
- "summary": "Get all tasks",
- "description": "Get all [tasks](https://docs.meilisearch.com/learn/advanced/asynchronous_operations.html)",
- "operationId": "get_tasks",
- "parameters": [
- {
- "name": "limit",
- "in": "query",
- "description": "Maximum number of results to return.",
- "required": false,
- "schema": {
- "type": "integer",
- "format": "u-int32",
- "default": 20,
- "minimum": 0
- },
- "example": 12
- },
- {
- "name": "from",
- "in": "query",
- "description": "Fetch the next set of results from the given uid.",
- "required": false,
- "schema": {
- "type": "integer",
- "format": "u-int32",
- "minimum": 0
- },
- "example": 12421
- },
- {
- "name": "reverse",
- "in": "query",
- "description": "The order you want to retrieve the objects.",
- "required": false,
- "schema": {
- "type": "boolean"
- },
- "example": true
- },
- {
- "name": "batchUids",
- "in": "query",
- "description": "Permits to filter tasks by their batch uid. By default, when the `batchUids` query parameter is not set, all task uids are returned. It's possible to specify several batch uids by separating them with the `,` character.",
- "required": false,
- "schema": {
- "type": "integer",
- "format": "u-int32",
- "minimum": 0
- },
- "example": 12421
- },
- {
- "name": "uids",
- "in": "query",
- "description": "Permits to filter tasks by their uid. By default, when the uids query parameter is not set, all task uids are returned. It's possible to specify several uids by separating them with the `,` character.",
- "required": false,
- "schema": {
- "type": "array",
- "items": {
- "type": "integer",
- "format": "u-int32",
- "minimum": 0
- }
- },
- "example": [
- 231,
- 423,
- 598,
- "*"
- ]
- },
- {
- "name": "canceledBy",
- "in": "query",
- "description": "Permits to filter tasks using the uid of the task that canceled them. It's possible to specify several task uids by separating them with the `,` character.",
- "required": false,
- "schema": {
- "type": "array",
- "items": {
- "type": "integer",
- "format": "u-int32",
- "minimum": 0
- }
- },
- "example": [
- 374,
- "*"
- ]
- },
- {
- "name": "types",
- "in": "query",
- "description": "Permits to filter tasks by their related type. By default, when `types` query parameter is not set, all task types are returned. It's possible to specify several types by separating them with the `,` character.",
- "required": false,
- "schema": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "example": [
- "documentAdditionOrUpdate",
- "*"
- ]
- },
- {
- "name": "statuses",
- "in": "query",
- "description": "Permits to filter tasks by their status. By default, when `statuses` query parameter is not set, all task statuses are returned. It's possible to specify several statuses by separating them with the `,` character.",
- "required": false,
- "schema": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/Status"
- }
- },
- "example": [
- "succeeded",
- "failed",
- "canceled",
- "enqueued",
- "processing",
- "*"
- ]
- },
- {
- "name": "indexUids",
- "in": "query",
- "description": "Permits to filter tasks by their related index. By default, when `indexUids` query parameter is not set, the tasks of all the indexes are returned. It is possible to specify several indexes by separating them with the `,` character.",
- "required": false,
- "schema": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "example": [
- "movies",
- "theater",
- "*"
- ]
- },
- {
- "name": "afterEnqueuedAt",
- "in": "query",
- "description": "Permits to filter tasks based on their enqueuedAt time. Matches tasks enqueued after the given date. Supports RFC 3339 date format.",
- "required": false,
- "schema": {
- "type": "string"
- },
- "example": [
- "2024-08-08T16:37:09.971Z",
- "*"
- ]
- },
- {
- "name": "beforeEnqueuedAt",
- "in": "query",
- "description": "Permits to filter tasks based on their enqueuedAt time. Matches tasks enqueued before the given date. Supports RFC 3339 date format.",
- "required": false,
- "schema": {
- "type": "string"
- },
- "example": [
- "2024-08-08T16:37:09.971Z",
- "*"
- ]
- },
- {
- "name": "afterStartedAt",
- "in": "query",
- "description": "Permits to filter tasks based on their startedAt time. Matches tasks started after the given date. Supports RFC 3339 date format.",
- "required": false,
- "schema": {
- "type": "string"
- },
- "example": [
- "2024-08-08T16:37:09.971Z",
- "*"
- ]
- },
- {
- "name": "beforeStartedAt",
- "in": "query",
- "description": "Permits to filter tasks based on their startedAt time. Matches tasks started before the given date. Supports RFC 3339 date format.",
- "required": false,
- "schema": {
- "type": "string"
- },
- "example": [
- "2024-08-08T16:37:09.971Z",
- "*"
- ]
- },
- {
- "name": "afterFinishedAt",
- "in": "query",
- "description": "Permits to filter tasks based on their finishedAt time. Matches tasks finished after the given date. Supports RFC 3339 date format.",
- "required": false,
- "schema": {
- "type": "string"
- },
- "example": [
- "2024-08-08T16:37:09.971Z",
- "*"
- ]
- },
- {
- "name": "beforeFinishedAt",
- "in": "query",
- "description": "Permits to filter tasks based on their finishedAt time. Matches tasks finished before the given date. Supports RFC 3339 date format.",
- "required": false,
- "schema": {
- "type": "string"
- },
- "example": [
- "2024-08-08T16:37:09.971Z",
- "*"
- ]
- }
- ],
- "responses": {
- "200": {
- "description": "Get all tasks",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/AllTasks"
- },
- "example": {
- "results": [
- {
- "uid": 144,
- "indexUid": "mieli",
- "status": "succeeded",
- "type": "settingsUpdate",
- "canceledBy": null,
- "details": {
- "settings": {
- "filterableAttributes": [
- "play_count"
- ]
- }
- },
- "error": null,
- "duration": "PT0.009330S",
- "enqueuedAt": "2024-08-08T09:01:13.348471Z",
- "startedAt": "2024-08-08T09:01:13.349442Z",
- "finishedAt": "2024-08-08T09:01:13.358772Z"
- }
- ],
- "total": 1,
- "limit": 1,
- "from": 144,
- "next": null
+ },
+ "PaginationView_Value": {
+ "type": "object",
+ "required": ["results", "offset", "limit", "total"],
+ "properties": {
+ "results": {
+ "type": "array",
+ "items": {}
+ },
+ "offset": {
+ "type": "integer",
+ "minimum": 0
+ },
+ "limit": {
+ "type": "integer",
+ "minimum": 0
+ },
+ "total": {
+ "type": "integer",
+ "minimum": 0
+ }
}
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ },
+ "PatchApiKey": {
+ "type": "object",
+ "properties": {
+ "description": {
+ "type": ["string", "null"],
+ "example": "This key is used to update documents in the products index"
+ },
+ "name": {
+ "type": ["string", "null"],
+ "example": "Indexing Products API key"
+ }
}
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "tasks.get",
- "tasks.*",
- "*"
- ]
- }
- ]
- },
- "delete": {
- "tags": [
- "Tasks"
- ],
- "summary": "Delete tasks",
- "description": "Delete [tasks](https://docs.meilisearch.com/learn/advanced/asynchronous_operations.html) on filter",
- "operationId": "delete_tasks",
- "parameters": [
- {
- "name": "uids",
- "in": "query",
- "description": "Permits to filter tasks by their uid. By default, when the `uids` query parameter is not set, all task uids are returned. It's possible to specify several uids by separating them with the `,` character.",
- "required": false,
- "schema": {
- "type": "array",
- "items": {
- "type": "integer",
- "format": "u-int32",
- "minimum": 0
- }
- },
- "example": [
- 231,
- 423,
- 598,
- "*"
- ]
- },
- {
- "name": "batchUids",
- "in": "query",
- "description": "Lets you filter tasks by their `batchUid`.",
- "required": false,
- "schema": {
- "type": "array",
- "items": {
- "type": "integer",
- "format": "u-int32",
- "minimum": 0
- }
- },
- "example": [
- 231,
- 423,
- 598,
- "*"
- ]
- },
- {
- "name": "canceledBy",
- "in": "query",
- "description": "Permits to filter tasks using the uid of the task that canceled them. It's possible to specify several task uids by separating them with the `,` character.",
- "required": false,
- "schema": {
- "type": "array",
- "items": {
- "type": "integer",
- "format": "u-int32",
- "minimum": 0
- }
- },
- "example": [
- 374,
- "*"
- ]
- },
- {
- "name": "types",
- "in": "query",
- "description": "Permits to filter tasks by their related type. By default, when `types` query parameter is not set, all task types are returned. It's possible to specify several types by separating them with the `,` character.",
- "required": false,
- "schema": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/Kind"
- }
- },
- "example": [
- "documentDeletion",
- "*"
- ]
- },
- {
- "name": "statuses",
- "in": "query",
- "description": "Permits to filter tasks by their status. By default, when `statuses` query parameter is not set, all task statuses are returned. It's possible to specify several statuses by separating them with the `,` character.",
- "required": false,
- "schema": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/Status"
- }
- },
- "example": [
- "succeeded",
- "failed",
- "canceled",
- "*"
- ]
- },
- {
- "name": "indexUids",
- "in": "query",
- "description": "Permits to filter tasks by their related index. By default, when `indexUids` query parameter is not set, the tasks of all the indexes are returned. It is possible to specify several indexes by separating them with the `,` character.",
- "required": false,
- "schema": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "example": [
- "movies",
- "theater",
- "*"
- ]
- },
- {
- "name": "afterEnqueuedAt",
- "in": "query",
- "description": "Permits to filter tasks based on their enqueuedAt time. Matches tasks enqueued after the given date. Supports RFC 3339 date format.",
- "required": false,
- "schema": {
- "type": "string"
- },
- "example": [
- "2024-08-08T16:37:09.971Z",
- "*"
- ]
- },
- {
- "name": "beforeEnqueuedAt",
- "in": "query",
- "description": "Permits to filter tasks based on their enqueuedAt time. Matches tasks enqueued before the given date. Supports RFC 3339 date format.",
- "required": false,
- "schema": {
- "type": "string"
- },
- "example": [
- "2024-08-08T16:37:09.971Z",
- "*"
- ]
- },
- {
- "name": "afterStartedAt",
- "in": "query",
- "description": "Permits to filter tasks based on their startedAt time. Matches tasks started after the given date. Supports RFC 3339 date format.",
- "required": false,
- "schema": {
- "type": "string"
- },
- "example": [
- "2024-08-08T16:37:09.971Z",
- "*"
- ]
- },
- {
- "name": "beforeStartedAt",
- "in": "query",
- "description": "Permits to filter tasks based on their startedAt time. Matches tasks started before the given date. Supports RFC 3339 date format.",
- "required": false,
- "schema": {
- "type": "string"
- },
- "example": [
- "2024-08-08T16:37:09.971Z",
- "*"
- ]
- },
- {
- "name": "afterFinishedAt",
- "in": "query",
- "description": "Permits to filter tasks based on their finishedAt time. Matches tasks finished after the given date. Supports RFC 3339 date format.",
- "required": false,
- "schema": {
- "type": "string"
- },
- "example": [
- "2024-08-08T16:37:09.971Z",
- "*"
- ]
- },
- {
- "name": "beforeFinishedAt",
- "in": "query",
- "description": "Permits to filter tasks based on their finishedAt time. Matches tasks finished before the given date. Supports RFC 3339 date format.",
- "required": false,
- "schema": {
- "type": "string"
- },
- "example": [
- "2024-08-08T16:37:09.971Z",
- "*"
- ]
- }
- ],
- "responses": {
- "200": {
- "description": "Task successfully enqueued",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SummarizedTaskView"
- },
- "example": {
- "taskUid": 147,
- "indexUid": null,
- "status": "enqueued",
- "type": "taskDeletion",
- "enqueuedAt": "2024-08-08T17:05:55.791772Z"
+ },
+ "PrefixSearchSettings": {
+ "type": "string",
+ "enum": ["indexingTime", "disabled"]
+ },
+ "ProgressStepView": {
+ "type": "object",
+ "required": ["currentStep", "finished", "total"],
+ "properties": {
+ "currentStep": {
+ "type": "string"
+ },
+ "finished": {
+ "type": "integer",
+ "format": "u-int32",
+ "minimum": 0
+ },
+ "total": {
+ "type": "integer",
+ "format": "u-int32",
+ "minimum": 0
+ }
}
- }
- }
- },
- "400": {
- "description": "A filter is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "Query parameters to filter the tasks to delete are missing. Available query parameters are: `uids`, `indexUids`, `statuses`, `types`, `canceledBy`, `beforeEnqueuedAt`, `afterEnqueuedAt`, `beforeStartedAt`, `afterStartedAt`, `beforeFinishedAt`, `afterFinishedAt`.",
- "code": "missing_task_filters",
- "type": "invalid_request",
- "link": "https://docs.meilisearch.com/errors#missing_task_filters"
+ },
+ "ProgressView": {
+ "type": "object",
+ "required": ["steps", "percentage"],
+ "properties": {
+ "steps": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ProgressStepView"
+ }
+ },
+ "percentage": {
+ "type": "number",
+ "format": "float"
+ }
}
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ },
+ "ProximityPrecisionView": {
+ "type": "string",
+ "enum": ["byWord", "byAttribute"]
+ },
+ "RankingRuleView": {
+ "oneOf": [{
+ "type": "string",
+ "description": "Sorted by decreasing number of matched query terms.\nQuery words at the front of an attribute is considered better than if it was at the back.",
+ "enum": ["Words"]
+ }, {
+ "type": "string",
+ "description": "Sorted by increasing number of typos.",
+ "enum": ["Typo"]
+ }, {
+ "type": "string",
+ "description": "Sorted by increasing distance between matched query terms.",
+ "enum": ["Proximity"]
+ }, {
+ "type": "string",
+ "description": "Documents with quey words contained in more important\nattributes are considered better.",
+ "enum": ["Attribute"]
+ }, {
+ "type": "string",
+ "description": "Dynamically sort at query time the documents. None, one or multiple Asc/Desc sortable\nattributes can be used in place of this criterion at query time.",
+ "enum": ["Sort"]
+ }, {
+ "type": "string",
+ "description": "Sorted by the similarity of the matched words with the query words.",
+ "enum": ["Exactness"]
+ }, {
+ "type": "object",
+ "description": "Sorted by the increasing value of the field specified.",
+ "required": ["Asc"],
+ "properties": {
+ "Asc": {
+ "type": "string",
+ "description": "Sorted by the increasing value of the field specified."
+ }
+ }
+ }, {
+ "type": "object",
+ "description": "Sorted by the decreasing value of the field specified.",
+ "required": ["Desc"],
+ "properties": {
+ "Desc": {
+ "type": "string",
+ "description": "Sorted by the decreasing value of the field specified."
+ }
+ }
+ }]
+ },
+ "RankingScoreThreshold": {
+ "type": "number",
+ "format": "double"
+ },
+ "Remote": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": ["string", "null"],
+ "example": {
+ "ms-0": {
+ "url": "http://localhost:7700",
+ "searchApiKey": null
+ },
+ "ms-1": {
+ "url": "http://localhost:7701",
+ "searchApiKey": "foo"
+ },
+ "ms-2": {
+ "url": "http://localhost:7702",
+ "searchApiKey": "bar"
+ }
+ }
+ },
+ "searchApiKey": {
+ "type": ["string", "null"],
+ "example": "XWnBI8QHUc-4IlqbKPLUDuhftNq19mQtjc6JvmivzJU"
+ }
}
- }
- }
- },
- "404": {
- "description": "The task uid does not exists",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "Task :taskUid not found.",
- "code": "task_not_found",
- "type": "invalid_request",
- "link": "https://docs.meilisearch.com/errors/#task_not_found"
+ },
+ "ResponseError": {
+ "type": "object",
+ "required": ["message", "code", "type", "link"],
+ "properties": {
+ "message": {
+ "type": "string",
+ "description": "The error message."
+ },
+ "code": {
+ "$ref": "#/components/schemas/Code",
+ "description": "The error code."
+ },
+ "type": {
+ "$ref": "#/components/schemas/ErrorType",
+ "description": "The error type."
+ },
+ "link": {
+ "type": "string",
+ "description": "A link to the documentation about this specific error."
+ }
}
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "tasks.delete",
- "tasks.*",
- "*"
- ]
- }
- ]
- }
- },
- "/tasks/cancel": {
- "post": {
- "tags": [
- "Tasks"
- ],
- "summary": "Cancel tasks",
- "description": "Cancel enqueued and/or processing [tasks](https://www.meilisearch.com/docs/learn/async/asynchronous_operations)",
- "operationId": "cancel_tasks",
- "parameters": [
- {
- "name": "uids",
- "in": "query",
- "description": "Permits to filter tasks by their uid. By default, when the `uids` query parameter is not set, all task uids are returned. It's possible to specify several uids by separating them with the `,` character.",
- "required": false,
- "schema": {
- "type": "array",
- "items": {
- "type": "integer",
- "format": "u-int32",
- "minimum": 0
- }
- },
- "example": [
- 231,
- 423,
- 598,
- "*"
- ]
- },
- {
- "name": "batchUids",
- "in": "query",
- "description": "Lets you filter tasks by their `batchUid`.",
- "required": false,
- "schema": {
- "type": "array",
- "items": {
- "type": "integer",
- "format": "u-int32",
- "minimum": 0
- }
- },
- "example": [
- 231,
- 423,
- 598,
- "*"
- ]
- },
- {
- "name": "canceledBy",
- "in": "query",
- "description": "Permits to filter tasks using the uid of the task that canceled them. It's possible to specify several task uids by separating them with the `,` character.",
- "required": false,
- "schema": {
- "type": "array",
- "items": {
- "type": "integer",
- "format": "u-int32",
- "minimum": 0
- }
- },
- "example": [
- 374,
- "*"
- ]
- },
- {
- "name": "types",
- "in": "query",
- "description": "Permits to filter tasks by their related type. By default, when `types` query parameter is not set, all task types are returned. It's possible to specify several types by separating them with the `,` character.",
- "required": false,
- "schema": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/Kind"
- }
- },
- "example": [
- "documentDeletion",
- "*"
- ]
- },
- {
- "name": "statuses",
- "in": "query",
- "description": "Permits to filter tasks by their status. By default, when `statuses` query parameter is not set, all task statuses are returned. It's possible to specify several statuses by separating them with the `,` character.",
- "required": false,
- "schema": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/Status"
- }
- },
- "example": [
- "succeeded",
- "failed",
- "canceled",
- "*"
- ]
- },
- {
- "name": "indexUids",
- "in": "query",
- "description": "Permits to filter tasks by their related index. By default, when `indexUids` query parameter is not set, the tasks of all the indexes are returned. It is possible to specify several indexes by separating them with the `,` character.",
- "required": false,
- "schema": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "example": [
- "movies",
- "theater",
- "*"
- ]
- },
- {
- "name": "afterEnqueuedAt",
- "in": "query",
- "description": "Permits to filter tasks based on their enqueuedAt time. Matches tasks enqueued after the given date. Supports RFC 3339 date format.",
- "required": false,
- "schema": {
- "type": "string"
- },
- "example": [
- "2024-08-08T16:37:09.971Z",
- "*"
- ]
- },
- {
- "name": "beforeEnqueuedAt",
- "in": "query",
- "description": "Permits to filter tasks based on their enqueuedAt time. Matches tasks enqueued before the given date. Supports RFC 3339 date format.",
- "required": false,
- "schema": {
- "type": "string"
- },
- "example": [
- "2024-08-08T16:37:09.971Z",
- "*"
- ]
- },
- {
- "name": "afterStartedAt",
- "in": "query",
- "description": "Permits to filter tasks based on their startedAt time. Matches tasks started after the given date. Supports RFC 3339 date format.",
- "required": false,
- "schema": {
- "type": "string"
- },
- "example": [
- "2024-08-08T16:37:09.971Z",
- "*"
- ]
- },
- {
- "name": "beforeStartedAt",
- "in": "query",
- "description": "Permits to filter tasks based on their startedAt time. Matches tasks started before the given date. Supports RFC 3339 date format.",
- "required": false,
- "schema": {
- "type": "string"
- },
- "example": [
- "2024-08-08T16:37:09.971Z",
- "*"
- ]
- },
- {
- "name": "afterFinishedAt",
- "in": "query",
- "description": "Permits to filter tasks based on their finishedAt time. Matches tasks finished after the given date. Supports RFC 3339 date format.",
- "required": false,
- "schema": {
- "type": "string"
- },
- "example": [
- "2024-08-08T16:37:09.971Z",
- "*"
- ]
- },
- {
- "name": "beforeFinishedAt",
- "in": "query",
- "description": "Permits to filter tasks based on their finishedAt time. Matches tasks finished before the given date. Supports RFC 3339 date format.",
- "required": false,
- "schema": {
- "type": "string"
- },
- "example": [
- "2024-08-08T16:37:09.971Z",
- "*"
- ]
- }
- ],
- "responses": {
- "200": {
- "description": "Task successfully enqueued",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/SummarizedTaskView"
- },
- "example": {
- "taskUid": 147,
- "indexUid": null,
- "status": "enqueued",
- "type": "taskCancelation",
- "enqueuedAt": "2024-08-08T17:05:55.791772Z"
+ },
+ "RuntimeTogglableFeatures": {
+ "type": "object",
+ "properties": {
+ "metrics": {
+ "type": ["boolean", "null"]
+ },
+ "logsRoute": {
+ "type": ["boolean", "null"]
+ },
+ "editDocumentsByFunction": {
+ "type": ["boolean", "null"]
+ },
+ "containsFilter": {
+ "type": ["boolean", "null"]
+ },
+ "network": {
+ "type": ["boolean", "null"]
+ },
+ "getTaskDocumentsRoute": {
+ "type": ["boolean", "null"]
+ },
+ "compositeEmbedders": {
+ "type": ["boolean", "null"]
+ },
+ "chatCompletions": {
+ "type": ["boolean", "null"]
+ },
+ "multimodal": {
+ "type": ["boolean", "null"]
+ }
}
- }
- }
- },
- "400": {
- "description": "A filter is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "Query parameters to filter the tasks to cancel are missing. Available query parameters are: `uids`, `indexUids`, `statuses`, `types`, `canceledBy`, `beforeEnqueuedAt`, `afterEnqueuedAt`, `beforeStartedAt`, `afterStartedAt`, `beforeFinishedAt`, `afterFinishedAt`.",
- "code": "missing_task_filters",
- "type": "invalid_request",
- "link": "https://docs.meilisearch.com/errors#missing_task_filters"
+ },
+ "SearchHit": {
+ "type": "object",
+ "properties": {
+ "_formatted": {
+ "type": "object",
+ "additionalProperties": true
+ },
+ "_matchesPosition": {
+ "oneOf": [{
+ "type": "null"
+ }, {
+ "$ref": "#/components/schemas/BTreeMap"
+ }]
+ },
+ "_rankingScore": {
+ "type": ["number", "null"],
+ "format": "double"
+ },
+ "_rankingScoreDetails": {
+ "type": ["object", "null"],
+ "additionalProperties": {},
+ "propertyNames": {
+ "type": "string"
+ }
+ }
+ },
+ "additionalProperties": {}
+ },
+ "SearchQuery": {
+ "type": "object",
+ "required": ["offset", "limit", "retrieve_vectors", "crop_length", "show_matches_position", "show_ranking_score", "show_ranking_score_details", "highlight_pre_tag", "highlight_post_tag", "crop_marker", "matching_strategy"],
+ "properties": {
+ "q": {
+ "type": ["string", "null"]
+ },
+ "vector": {
+ "type": ["array", "null"],
+ "items": {
+ "type": "number",
+ "format": "float"
+ }
+ },
+ "media": {},
+ "hybrid": {
+ "oneOf": [{
+ "type": "null"
+ }, {
+ "$ref": "#/components/schemas/HybridQuery"
+ }]
+ },
+ "offset": {
+ "type": "integer",
+ "default": 0,
+ "minimum": 0
+ },
+ "limit": {
+ "type": "integer",
+ "default": 20,
+ "minimum": 0
+ },
+ "page": {
+ "type": ["integer", "null"],
+ "minimum": 0
+ },
+ "hits_per_page": {
+ "type": ["integer", "null"],
+ "minimum": 0
+ },
+ "attributes_to_retrieve": {
+ "type": ["array", "null"],
+ "items": {
+ "type": "string"
+ },
+ "uniqueItems": true
+ },
+ "retrieve_vectors": {
+ "type": "boolean"
+ },
+ "attributes_to_crop": {
+ "type": ["array", "null"],
+ "items": {
+ "type": "string"
+ }
+ },
+ "crop_length": {
+ "type": "integer",
+ "default": 10,
+ "minimum": 0
+ },
+ "attributes_to_highlight": {
+ "type": ["array", "null"],
+ "items": {
+ "type": "string"
+ },
+ "uniqueItems": true
+ },
+ "show_matches_position": {
+ "type": "boolean"
+ },
+ "show_ranking_score": {
+ "type": "boolean"
+ },
+ "show_ranking_score_details": {
+ "type": "boolean"
+ },
+ "filter": {},
+ "sort": {
+ "type": ["array", "null"],
+ "items": {
+ "type": "string"
+ }
+ },
+ "distinct": {
+ "type": ["string", "null"]
+ },
+ "facets": {
+ "type": ["array", "null"],
+ "items": {
+ "type": "string"
+ }
+ },
+ "highlight_pre_tag": {
+ "type": "string",
+ "default": ""
+ },
+ "highlight_post_tag": {
+ "type": "string",
+ "default": ""
+ },
+ "crop_marker": {
+ "type": "string",
+ "default": "โฆ"
+ },
+ "matching_strategy": {
+ "$ref": "#/components/schemas/MatchingStrategy"
+ },
+ "attributes_to_search_on": {
+ "type": ["array", "null"],
+ "items": {
+ "type": "string"
+ }
+ },
+ "ranking_score_threshold": {
+ "oneOf": [{
+ "type": "null"
+ }, {
+ "$ref": "#/components/schemas/RankingScoreThreshold"
+ }]
+ },
+ "locales": {
+ "type": ["array", "null"],
+ "items": {
+ "$ref": "#/components/schemas/Locale"
+ }
+ }
}
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ },
+ "SearchQueryWithIndex": {
+ "type": "object",
+ "description": "A `SearchQuery` + an index UID and optional FederationOptions.",
+ "required": ["indexUid", "retrieveVectors", "cropLength", "showRankingScore", "showRankingScoreDetails", "showMatchesPosition", "highlightPreTag", "highlightPostTag", "cropMarker", "matchingStrategy"],
+ "properties": {
+ "indexUid": {
+ "$ref": "#/components/schemas/IndexUid"
+ },
+ "q": {
+ "type": ["string", "null"]
+ },
+ "vector": {
+ "type": ["array", "null"],
+ "items": {
+ "type": "number",
+ "format": "float"
+ }
+ },
+ "media": {},
+ "hybrid": {
+ "oneOf": [{
+ "type": "null"
+ }, {
+ "$ref": "#/components/schemas/HybridQuery"
+ }]
+ },
+ "offset": {
+ "type": ["integer", "null"],
+ "minimum": 0
+ },
+ "limit": {
+ "type": ["integer", "null"],
+ "minimum": 0
+ },
+ "page": {
+ "type": ["integer", "null"],
+ "minimum": 0
+ },
+ "hitsPerPage": {
+ "type": ["integer", "null"],
+ "minimum": 0
+ },
+ "attributesToRetrieve": {
+ "type": ["array", "null"],
+ "items": {
+ "type": "string"
+ },
+ "uniqueItems": true
+ },
+ "retrieveVectors": {
+ "type": "boolean"
+ },
+ "attributesToCrop": {
+ "type": ["array", "null"],
+ "items": {
+ "type": "string"
+ }
+ },
+ "cropLength": {
+ "type": "integer",
+ "minimum": 0
+ },
+ "attributesToHighlight": {
+ "type": ["array", "null"],
+ "items": {
+ "type": "string"
+ },
+ "uniqueItems": true
+ },
+ "showRankingScore": {
+ "type": "boolean"
+ },
+ "showRankingScoreDetails": {
+ "type": "boolean"
+ },
+ "showMatchesPosition": {
+ "type": "boolean"
+ },
+ "filter": {},
+ "sort": {
+ "type": ["array", "null"],
+ "items": {
+ "type": "string"
+ }
+ },
+ "distinct": {
+ "type": ["string", "null"]
+ },
+ "facets": {
+ "type": ["array", "null"],
+ "items": {
+ "type": "string"
+ }
+ },
+ "highlightPreTag": {
+ "type": "string"
+ },
+ "highlightPostTag": {
+ "type": "string"
+ },
+ "cropMarker": {
+ "type": "string"
+ },
+ "matchingStrategy": {
+ "$ref": "#/components/schemas/MatchingStrategy"
+ },
+ "attributesToSearchOn": {
+ "type": ["array", "null"],
+ "items": {
+ "type": "string"
+ }
+ },
+ "rankingScoreThreshold": {
+ "oneOf": [{
+ "type": "null"
+ }, {
+ "$ref": "#/components/schemas/RankingScoreThreshold"
+ }]
+ },
+ "locales": {
+ "type": ["array", "null"],
+ "items": {
+ "$ref": "#/components/schemas/Locale"
+ }
+ },
+ "federationOptions": {
+ "oneOf": [{
+ "type": "null"
+ }, {
+ "$ref": "#/components/schemas/FederationOptions"
+ }]
+ }
}
- }
- }
- },
- "404": {
- "description": "The task uid does not exists",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "Task :taskUid not found.",
- "code": "task_not_found",
- "type": "invalid_request",
- "link": "https://docs.meilisearch.com/errors/#task_not_found"
+ },
+ "SearchResult": {
+ "allOf": [{
+ "$ref": "#/components/schemas/HitsInfo"
+ }, {
+ "type": "object",
+ "required": ["hits", "query", "processingTimeMs"],
+ "properties": {
+ "hits": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/SearchHit"
+ }
+ },
+ "query": {
+ "type": "string"
+ },
+ "processingTimeMs": {
+ "type": "integer",
+ "minimum": 0
+ },
+ "facetDistribution": {
+ "type": ["object", "null"],
+ "additionalProperties": {},
+ "propertyNames": {
+ "type": "string"
+ }
+ },
+ "facetStats": {
+ "type": ["object", "null"],
+ "additionalProperties": {
+ "$ref": "#/components/schemas/FacetStats"
+ },
+ "propertyNames": {
+ "type": "string"
+ }
+ },
+ "semanticHitCount": {
+ "type": ["integer", "null"],
+ "format": "u-int32",
+ "minimum": 0
+ }
+ }
+ }]
+ },
+ "SearchResultWithIndex": {
+ "allOf": [{
+ "$ref": "#/components/schemas/SearchResult"
+ }, {
+ "type": "object",
+ "required": ["indexUid"],
+ "properties": {
+ "indexUid": {
+ "type": "string"
+ }
+ }
+ }]
+ },
+ "SearchResults": {
+ "type": "object",
+ "required": ["results"],
+ "properties": {
+ "results": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/SearchResultWithIndex"
+ }
+ }
}
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "tasks.cancel",
- "tasks.*",
- "*"
- ]
- }
- ]
- }
- },
- "/tasks/{taskUid}": {
- "get": {
- "tags": [
- "Tasks"
- ],
- "summary": "Get a task",
- "description": "Get a [task](https://www.meilisearch.com/docs/learn/async/asynchronous_operations)",
- "operationId": "get_task",
- "parameters": [
- {
- "name": "taskUid",
- "in": "path",
- "description": "The task identifier",
- "required": true,
- "schema": {
- "type": "string",
- "format": "u-int32"
- },
- "example": 0
- }
- ],
- "responses": {
- "200": {
- "description": "Task successfully retrieved",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/TaskView"
- },
- "example": {
- "uid": 1,
- "indexUid": "movies",
- "status": "succeeded",
- "type": "documentAdditionOrUpdate",
- "canceledBy": null,
- "details": {
- "receivedDocuments": 79000,
- "indexedDocuments": 79000
- },
- "error": null,
- "duration": "PT1S",
- "enqueuedAt": "2021-01-01T09:39:00.000000Z",
- "startedAt": "2021-01-01T09:39:01.000000Z",
- "finishedAt": "2021-01-01T09:39:02.000000Z"
+ },
+ "SettingEmbeddingSettings": {
+ "type": "object",
+ "description": "\"Technical\" type that is required due to utoipa.\n\nWe did not find a way to implement [`utoipa::ToSchema`] for the [`Setting`] enum,\nbut most types can use the `value_type` macro parameter to workaround that issue.\n\nHowever that type is used in the settings route, including through the macro that auto-generate\nall the settings route, so we can't remap the `value_type`.",
+ "properties": {
+ "inner": {
+ "oneOf": [{
+ "type": "null"
+ }, {
+ "type": "object",
+ "properties": {
+ "source": {
+ "oneOf": [{
+ "type": "null"
+ }, {
+ "$ref": "#/components/schemas/EmbedderSource",
+ "description": "The source used to provide the embeddings.\n\nWhich embedder parameters are available and mandatory is determined by the value of this setting.\n\n# ๐ Reindexing\n\n- ๐๏ธ Changing the value of this parameter always regenerates embeddings.\n\n# Defaults\n\n- Defaults to `openAi`"
+ }]
+ },
+ "model": {
+ "type": ["string", "null"],
+ "description": "The name of the model to use.\n\n# Mandatory\n\n- This parameter is mandatory for source `ollama`\n\n# Availability\n\n- This parameter is available for sources `openAi`, `huggingFace`, `ollama`\n\n# ๐ Reindexing\n\n- ๐๏ธ Changing the value of this parameter always regenerates embeddings.\n\n# Defaults\n\n- For source `openAi`, defaults to `text-embedding-3-small`\n- For source `huggingFace`, defaults to `BAAI/bge-base-en-v1.5`"
+ },
+ "revision": {
+ "type": ["string", "null"],
+ "description": "The revision (commit SHA1) of the model to use.\n\nIf unspecified, Meilisearch picks the latest revision of the model.\n\n# Availability\n\n- This parameter is available for source `huggingFace`\n\n# ๐ Reindexing\n\n- ๐๏ธ Changing the value of this parameter always regenerates embeddings\n\n# Defaults\n\n- When `model` is set to default, defaults to `617ca489d9e86b49b8167676d8220688b99db36e`\n- Otherwise, defaults to `null`"
+ },
+ "pooling": {
+ "oneOf": [{
+ "type": "null"
+ }, {
+ "$ref": "#/components/schemas/OverridePooling",
+ "description": "The pooling method to use.\n\n# Availability\n\n- This parameter is available for source `huggingFace`\n\n# ๐ Reindexing\n\n- ๐๏ธ Changing the value of this parameter always regenerates embeddings\n\n# Defaults\n\n- Defaults to `useModel`\n\n# Compatibility Note\n\n- Embedders created before this parameter was available default to `forceMean` to preserve the existing behavior."
+ }]
+ },
+ "apiKey": {
+ "type": ["string", "null"],
+ "description": "The API key to pass to the remote embedder while making requests.\n\n# Availability\n\n- This parameter is available for source `openAi`, `ollama`, `rest`\n\n# ๐ Reindexing\n\n- ๐ฑ Changing the value of this parameter never regenerates embeddings\n\n# Defaults\n\n- For source `openAi`, the key is read from `OPENAI_API_KEY`, then `MEILI_OPENAI_API_KEY`.\n- For other sources, no bearer token is sent if this parameter is not set.\n\n# Note\n\n- This setting is partially hidden when returned by the settings"
+ },
+ "dimensions": {
+ "type": ["string", "null"],
+ "description": "The expected dimensions of the embeddings produced by this embedder.\n\n# Mandatory\n\n- This parameter is mandatory for source `userProvided`\n\n# Availability\n\n- This parameter is available for source `openAi`, `ollama`, `rest`, `userProvided`\n\n# ๐ Reindexing\n\n- ๐๏ธ When the source is `openAi`, changing the value of this parameter always regenerates embeddings\n- ๐ฑ For other sources, changing the value of this parameter never regenerates embeddings\n\n# Defaults\n\n- For source `openAi`, the dimensions is the maximum allowed by the model.\n- For sources `ollama` and `rest`, the dimensions are inferred by embedding a sample text."
+ },
+ "binaryQuantized": {
+ "type": ["boolean", "null"],
+ "description": "Whether to binary quantize the embeddings of this embedder.\n\nBinary quantized embeddings are smaller than regular embeddings, which improves\ndisk usage and retrieval speed, at the cost of relevancy.\n\n# Availability\n\n- This parameter is available for all embedders\n\n# ๐ Reindexing\n\n- ๐๏ธ When set to `true`, embeddings are not regenerated, but they are binary quantized, which takes time.\n\n# Defaults\n\n- Defaults to `false`\n\n# Note\n\nAs binary quantization is a destructive operation, it is not possible to disable again this setting after\nfirst enabling it. If you are unsure of whether the performance-relevancy tradeoff is right for you,\nwe recommend to use this parameter on a test index first."
+ },
+ "documentTemplate": {
+ "type": ["boolean", "null"],
+ "description": "A liquid template used to render documents to a text that can be embedded.\n\nMeillisearch interpolates the template for each document and sends the resulting text to the embedder.\nThe embedder then generates document vectors based on this text.\n\n# Availability\n\n- This parameter is available for source `openAi`, `huggingFace`, `ollama` and `rest\n\n# ๐ Reindexing\n\n- ๐๏ธ When modified, embeddings are regenerated for documents whose rendering through the template produces a different text."
+ },
+ "documentTemplateMaxBytes": {
+ "type": ["integer", "null"],
+ "description": "Rendered texts are truncated to this size.\n\n# Availability\n\n- This parameter is available for source `openAi`, `huggingFace`, `ollama` and `rest`\n\n# ๐ Reindexing\n\n- ๐๏ธ When increased, embeddings are regenerated for documents whose rendering through the template produces a different text.\n- ๐ฑ When decreased, embeddings are never regenerated\n\n# Default\n\n- Defaults to 400",
+ "minimum": 0
+ },
+ "url": {
+ "type": ["string", "null"],
+ "description": "URL to reach the remote embedder.\n\n# Mandatory\n\n- This parameter is mandatory for source `rest`\n\n# Availability\n\n- This parameter is available for source `openAi`, `ollama` and `rest`\n\n# ๐ Reindexing\n\n- ๐ฑ When modified for source `openAi`, embeddings are never regenerated\n- ๐๏ธ When modified for sources `ollama` and `rest`, embeddings are always regenerated"
+ },
+ "indexingFragments": {
+ "type": ["object", "null"],
+ "description": "Template fragments that will be reassembled and sent to the remote embedder at indexing time.\n\n# Availability\n\n- This parameter is available for sources `rest`.\n\n# ๐ Reindexing\n\n- ๐๏ธ When a fragment is deleted by passing `null` to its name, the corresponding embeddings are removed from documents.\n- ๐๏ธ When a fragment is modified, the corresponding embeddings are regenerated if their rendered version changes.",
+ "additionalProperties": {},
+ "propertyNames": {
+ "type": "string"
+ }
+ },
+ "searchFragments": {
+ "type": ["object", "null"],
+ "description": "Template fragments that will be reassembled and sent to the remote embedder at search time.\n\n# Availability\n\n- This parameter is available for sources `rest`.\n\n# ๐ Reindexing\n\n- ๐ฑ Changing the value of this parameter never regenerates embeddings",
+ "additionalProperties": {},
+ "propertyNames": {
+ "type": "string"
+ }
+ },
+ "request": {
+ "description": "Template request to send to the remote embedder.\n\n# Mandatory\n\n- This parameter is mandatory for source `rest`\n\n# Availability\n\n- This parameter is available for source `rest`\n\n# ๐ Reindexing\n\n- ๐๏ธ Changing the value of this parameter always regenerates embeddings"
+ },
+ "response": {
+ "description": "Template response indicating how to find the embeddings in the response from the remote embedder.\n\n# Mandatory\n\n- This parameter is mandatory for source `rest`\n\n# Availability\n\n- This parameter is available for source `rest`\n\n# ๐ Reindexing\n\n- ๐๏ธ Changing the value of this parameter always regenerates embeddings"
+ },
+ "headers": {
+ "type": ["object", "null"],
+ "description": "Additional headers to send to the remote embedder.\n\n# Availability\n\n- This parameter is available for source `rest`\n\n# ๐ Reindexing\n\n- ๐ฑ Changing the value of this parameter never regenerates embeddings",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "propertyNames": {
+ "type": "string"
+ }
+ },
+ "searchEmbedder": {
+ "oneOf": [{
+ "type": "null"
+ }, {
+ "$ref": "#/components/schemas/SubEmbeddingSettings"
+ }]
+ },
+ "indexingEmbedder": {
+ "oneOf": [{
+ "type": "null"
+ }, {
+ "$ref": "#/components/schemas/SubEmbeddingSettings"
+ }]
+ },
+ "distribution": {
+ "oneOf": [{
+ "type": "null"
+ }, {
+ "$ref": "#/components/schemas/DistributionShift",
+ "description": "Affine transformation applied to the semantic score to make it more comparable to the ranking score.\n\n# Availability\n\n- This parameter is available for all embedders\n\n# ๐ Reindexing\n\n- ๐ฑ Changing the value of this parameter never regenerates embeddings"
+ }]
+ }
+ },
+ "additionalProperties": false
+ }]
+ }
}
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ },
+ "Settings_Checked": {
+ "type": "object",
+ "description": "Holds all the settings for an index. `T` can either be `Checked` if they represents settings\nwhose validity is guaranteed, or `Unchecked` if they need to be validated. In the later case, a\ncall to `check` will return a `Settings` from a `Settings`.",
+ "properties": {
+ "displayedAttributes": {
+ "type": ["array", "null"],
+ "items": {
+ "type": "string"
+ },
+ "description": "Fields displayed in the returned documents.",
+ "example": ["id", "title", "description", "url"]
+ },
+ "searchableAttributes": {
+ "type": ["array", "null"],
+ "items": {
+ "type": "string"
+ },
+ "description": "Fields in which to search for matching query words sorted by order of importance.",
+ "example": ["title", "description"]
+ },
+ "filterableAttributes": {
+ "type": ["array", "null"],
+ "items": {
+ "$ref": "#/components/schemas/FilterableAttributesRule"
+ },
+ "description": "Attributes to use for faceting and filtering. See [Filtering and Faceted Search](https://www.meilisearch.com/docs/learn/filtering_and_sorting/search_with_facet_filters).",
+ "example": ["release_date", "genre"]
+ },
+ "sortableAttributes": {
+ "type": ["array", "null"],
+ "items": {
+ "type": "string"
+ },
+ "description": "Attributes to use when sorting search results.",
+ "example": ["release_date"]
+ },
+ "rankingRules": {
+ "type": ["array", "null"],
+ "items": {
+ "type": "string"
+ },
+ "description": "List of ranking rules sorted by order of importance. The order is customizable.\n[A list of ordered built-in ranking rules](https://www.meilisearch.com/docs/learn/relevancy/relevancy).",
+ "example": ["words", "typo", "proximity", "attribute", "exactness"]
+ },
+ "stopWords": {
+ "type": ["array", "null"],
+ "items": {
+ "type": "string"
+ },
+ "description": "List of words ignored when present in search queries.",
+ "example": ["the", "a", "them", "their"]
+ },
+ "nonSeparatorTokens": {
+ "type": ["array", "null"],
+ "items": {
+ "type": "string"
+ },
+ "description": "List of characters not delimiting where one term begins and ends.",
+ "example": [" ", "\n"]
+ },
+ "separatorTokens": {
+ "type": ["array", "null"],
+ "items": {
+ "type": "string"
+ },
+ "description": "List of characters delimiting where one term begins and ends.",
+ "example": ["S"]
+ },
+ "dictionary": {
+ "type": ["array", "null"],
+ "items": {
+ "type": "string"
+ },
+ "description": "List of strings Meilisearch should parse as a single term.",
+ "example": ["iPhone pro"]
+ },
+ "synonyms": {
+ "type": ["object", "null"],
+ "description": "List of associated words treated similarly. A word associated to an array of word as synonyms.",
+ "additionalProperties": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "propertyNames": {
+ "type": "string"
+ },
+ "example": {
+ "he": ["she", "they", "them"],
+ "phone": ["iPhone", "android"]
+ }
+ },
+ "distinctAttribute": {
+ "type": ["string", "null"],
+ "description": "Search returns documents with distinct (different) values of the given field.",
+ "example": "sku"
+ },
+ "proximityPrecision": {
+ "type": ["string", "null"],
+ "description": "Precision level when calculating the proximity ranking rule.",
+ "example": "byAttribute"
+ },
+ "typoTolerance": {
+ "oneOf": [{
+ "type": "null"
+ }, {
+ "$ref": "#/components/schemas/TypoSettings",
+ "description": "Customize typo tolerance feature."
+ }]
+ },
+ "faceting": {
+ "oneOf": [{
+ "type": "null"
+ }, {
+ "$ref": "#/components/schemas/FacetingSettings",
+ "description": "Faceting settings."
+ }]
+ },
+ "pagination": {
+ "oneOf": [{
+ "type": "null"
+ }, {
+ "$ref": "#/components/schemas/PaginationSettings",
+ "description": "Pagination settings."
+ }]
+ },
+ "embedders": {
+ "type": ["object", "null"],
+ "description": "Embedder required for performing semantic search queries.",
+ "additionalProperties": {
+ "$ref": "#/components/schemas/SettingEmbeddingSettings"
+ },
+ "propertyNames": {
+ "type": "string"
+ }
+ },
+ "searchCutoffMs": {
+ "type": ["integer", "null"],
+ "format": "u-int64",
+ "description": "Maximum duration of a search query.",
+ "example": 50,
+ "minimum": 0
+ },
+ "localizedAttributes": {
+ "type": ["array", "null"],
+ "items": {
+ "$ref": "#/components/schemas/LocalizedAttributesRuleView"
+ },
+ "example": 50
+ },
+ "facetSearch": {
+ "type": ["boolean", "null"],
+ "example": true
+ },
+ "prefixSearch": {
+ "oneOf": [{
+ "type": "null"
+ }, {
+ "$ref": "#/components/schemas/PrefixSearchSettings"
+ }]
+ },
+ "chat": {
+ "oneOf": [{
+ "type": "null"
+ }, {
+ "$ref": "#/components/schemas/ChatSettings",
+ "description": "Customize the chat prompting."
+ }]
+ }
+ },
+ "additionalProperties": false
+ },
+ "Settings_Unchecked": {
+ "type": "object",
+ "description": "Holds all the settings for an index. `T` can either be `Checked` if they represents settings\nwhose validity is guaranteed, or `Unchecked` if they need to be validated. In the later case, a\ncall to `check` will return a `Settings` from a `Settings`.",
+ "properties": {
+ "displayedAttributes": {
+ "type": ["array", "null"],
+ "items": {
+ "type": "string"
+ },
+ "description": "Fields displayed in the returned documents.",
+ "example": ["id", "title", "description", "url"]
+ },
+ "searchableAttributes": {
+ "type": ["array", "null"],
+ "items": {
+ "type": "string"
+ },
+ "description": "Fields in which to search for matching query words sorted by order of importance.",
+ "example": ["title", "description"]
+ },
+ "filterableAttributes": {
+ "type": ["array", "null"],
+ "items": {
+ "$ref": "#/components/schemas/FilterableAttributesRule"
+ },
+ "description": "Attributes to use for faceting and filtering. See [Filtering and Faceted Search](https://www.meilisearch.com/docs/learn/filtering_and_sorting/search_with_facet_filters).",
+ "example": ["release_date", "genre"]
+ },
+ "sortableAttributes": {
+ "type": ["array", "null"],
+ "items": {
+ "type": "string"
+ },
+ "description": "Attributes to use when sorting search results.",
+ "example": ["release_date"]
+ },
+ "rankingRules": {
+ "type": ["array", "null"],
+ "items": {
+ "type": "string"
+ },
+ "description": "List of ranking rules sorted by order of importance. The order is customizable.\n[A list of ordered built-in ranking rules](https://www.meilisearch.com/docs/learn/relevancy/relevancy).",
+ "example": ["words", "typo", "proximity", "attribute", "exactness"]
+ },
+ "stopWords": {
+ "type": ["array", "null"],
+ "items": {
+ "type": "string"
+ },
+ "description": "List of words ignored when present in search queries.",
+ "example": ["the", "a", "them", "their"]
+ },
+ "nonSeparatorTokens": {
+ "type": ["array", "null"],
+ "items": {
+ "type": "string"
+ },
+ "description": "List of characters not delimiting where one term begins and ends.",
+ "example": [" ", "\n"]
+ },
+ "separatorTokens": {
+ "type": ["array", "null"],
+ "items": {
+ "type": "string"
+ },
+ "description": "List of characters delimiting where one term begins and ends.",
+ "example": ["S"]
+ },
+ "dictionary": {
+ "type": ["array", "null"],
+ "items": {
+ "type": "string"
+ },
+ "description": "List of strings Meilisearch should parse as a single term.",
+ "example": ["iPhone pro"]
+ },
+ "synonyms": {
+ "type": ["object", "null"],
+ "description": "List of associated words treated similarly. A word associated to an array of word as synonyms.",
+ "additionalProperties": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "propertyNames": {
+ "type": "string"
+ },
+ "example": {
+ "he": ["she", "they", "them"],
+ "phone": ["iPhone", "android"]
+ }
+ },
+ "distinctAttribute": {
+ "type": ["string", "null"],
+ "description": "Search returns documents with distinct (different) values of the given field.",
+ "example": "sku"
+ },
+ "proximityPrecision": {
+ "type": ["string", "null"],
+ "description": "Precision level when calculating the proximity ranking rule.",
+ "example": "byAttribute"
+ },
+ "typoTolerance": {
+ "oneOf": [{
+ "type": "null"
+ }, {
+ "$ref": "#/components/schemas/TypoSettings",
+ "description": "Customize typo tolerance feature."
+ }]
+ },
+ "faceting": {
+ "oneOf": [{
+ "type": "null"
+ }, {
+ "$ref": "#/components/schemas/FacetingSettings",
+ "description": "Faceting settings."
+ }]
+ },
+ "pagination": {
+ "oneOf": [{
+ "type": "null"
+ }, {
+ "$ref": "#/components/schemas/PaginationSettings",
+ "description": "Pagination settings."
+ }]
+ },
+ "embedders": {
+ "type": ["object", "null"],
+ "description": "Embedder required for performing semantic search queries.",
+ "additionalProperties": {
+ "$ref": "#/components/schemas/SettingEmbeddingSettings"
+ },
+ "propertyNames": {
+ "type": "string"
+ }
+ },
+ "searchCutoffMs": {
+ "type": ["integer", "null"],
+ "format": "u-int64",
+ "description": "Maximum duration of a search query.",
+ "example": 50,
+ "minimum": 0
+ },
+ "localizedAttributes": {
+ "type": ["array", "null"],
+ "items": {
+ "$ref": "#/components/schemas/LocalizedAttributesRuleView"
+ },
+ "example": 50
+ },
+ "facetSearch": {
+ "type": ["boolean", "null"],
+ "example": true
+ },
+ "prefixSearch": {
+ "oneOf": [{
+ "type": "null"
+ }, {
+ "$ref": "#/components/schemas/PrefixSearchSettings"
+ }]
+ },
+ "chat": {
+ "oneOf": [{
+ "type": "null"
+ }, {
+ "$ref": "#/components/schemas/ChatSettings",
+ "description": "Customize the chat prompting."
+ }]
+ }
+ },
+ "additionalProperties": false
+ },
+ "SimilarQuery": {
+ "type": "object",
+ "required": ["id", "offset", "limit", "embedder", "retrieve_vectors", "show_ranking_score", "show_ranking_score_details", "ranking_score_threshold"],
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "offset": {
+ "type": "integer",
+ "minimum": 0
+ },
+ "limit": {
+ "type": "integer",
+ "minimum": 0
+ },
+ "filter": {},
+ "embedder": {
+ "type": "string"
+ },
+ "attributes_to_retrieve": {
+ "type": ["array", "null"],
+ "items": {
+ "type": "string"
+ },
+ "uniqueItems": true
+ },
+ "retrieve_vectors": {
+ "type": "boolean"
+ },
+ "show_ranking_score": {
+ "type": "boolean"
+ },
+ "show_ranking_score_details": {
+ "type": "boolean"
+ },
+ "ranking_score_threshold": {
+ "type": "number",
+ "format": "double"
+ }
}
- }
- }
- },
- "404": {
- "description": "The task uid does not exists",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "Task :taskUid not found.",
- "code": "task_not_found",
- "type": "invalid_request",
- "link": "https://docs.meilisearch.com/errors/#task_not_found"
+ },
+ "SimilarResult": {
+ "allOf": [{
+ "$ref": "#/components/schemas/HitsInfo"
+ }, {
+ "type": "object",
+ "required": ["hits", "id", "processingTimeMs"],
+ "properties": {
+ "hits": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/SearchHit"
+ }
+ },
+ "id": {
+ "type": "string"
+ },
+ "processingTimeMs": {
+ "type": "integer",
+ "minimum": 0
+ }
+ }
+ }]
+ },
+ "Stats": {
+ "type": "object",
+ "required": ["databaseSize", "usedDatabaseSize", "indexes"],
+ "properties": {
+ "databaseSize": {
+ "type": "integer",
+ "format": "u-int64",
+ "description": "The disk space used by the database, in bytes.",
+ "minimum": 0
+ },
+ "usedDatabaseSize": {
+ "type": "integer",
+ "format": "u-int64",
+ "description": "The size of the database, in bytes.",
+ "minimum": 0
+ },
+ "lastUpdate": {
+ "type": ["string", "null"],
+ "format": "date-time",
+ "description": "The date of the last update in the RFC 3339 formats. Can be `null` if no update has ever been processed."
+ },
+ "indexes": {
+ "type": "object",
+ "description": "The stats of every individual index your API key lets you access.",
+ "additionalProperties": {
+ "$ref": "#/components/schemas/IndexStats"
+ },
+ "propertyNames": {
+ "type": "string"
+ }
+ }
}
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "tasks.get",
- "tasks.*",
- "*"
- ]
- }
- ]
- }
- },
- "/version": {
- "get": {
- "tags": [
- "Version"
- ],
- "summary": "Get version",
- "description": "Current version of Meilisearch.",
- "operationId": "get_version",
- "responses": {
- "200": {
- "description": "Instance is healthy",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/VersionResponse"
- },
- "example": {
- "commitSha": "b46889b5f0f2f8b91438a08a358ba8f05fc09fc1",
- "commitDate": "2021-07-08",
- "pkgVersion": "0.23.0"
+ },
+ "Status": {
+ "type": "string",
+ "description": "The status of a task.",
+ "enum": ["enqueued", "processing", "succeeded", "failed", "canceled"],
+ "example": "processing"
+ },
+ "SubEmbeddingSettings": {
+ "type": "object",
+ "properties": {
+ "source": {
+ "oneOf": [{
+ "type": "null"
+ }, {
+ "$ref": "#/components/schemas/EmbedderSource",
+ "description": "The source used to provide the embeddings.\n\nWhich embedder parameters are available and mandatory is determined by the value of this setting.\n\n# ๐ Reindexing\n\n- ๐๏ธ Changing the value of this parameter always regenerates embeddings.\n\n# Defaults\n\n- Defaults to `openAi`"
+ }]
+ },
+ "model": {
+ "type": ["string", "null"],
+ "description": "The name of the model to use.\n\n# Mandatory\n\n- This parameter is mandatory for source `ollama`\n\n# Availability\n\n- This parameter is available for sources `openAi`, `huggingFace`, `ollama`\n\n# ๐ Reindexing\n\n- ๐๏ธ Changing the value of this parameter always regenerates embeddings.\n\n# Defaults\n\n- For source `openAi`, defaults to `text-embedding-3-small`\n- For source `huggingFace`, defaults to `BAAI/bge-base-en-v1.5`"
+ },
+ "revision": {
+ "type": ["string", "null"],
+ "description": "The revision (commit SHA1) of the model to use.\n\nIf unspecified, Meilisearch picks the latest revision of the model.\n\n# Availability\n\n- This parameter is available for source `huggingFace`\n\n# ๐ Reindexing\n\n- ๐๏ธ Changing the value of this parameter always regenerates embeddings\n\n# Defaults\n\n- When `model` is set to default, defaults to `617ca489d9e86b49b8167676d8220688b99db36e`\n- Otherwise, defaults to `null`"
+ },
+ "pooling": {
+ "oneOf": [{
+ "type": "null"
+ }, {
+ "$ref": "#/components/schemas/OverridePooling",
+ "description": "The pooling method to use.\n\n# Availability\n\n- This parameter is available for source `huggingFace`\n\n# ๐ Reindexing\n\n- ๐๏ธ Changing the value of this parameter always regenerates embeddings\n\n# Defaults\n\n- Defaults to `useModel`\n\n# Compatibility Note\n\n- Embedders created before this parameter was available default to `forceMean` to preserve the existing behavior."
+ }]
+ },
+ "apiKey": {
+ "type": ["string", "null"],
+ "description": "The API key to pass to the remote embedder while making requests.\n\n# Availability\n\n- This parameter is available for source `openAi`, `ollama`, `rest`\n\n# ๐ Reindexing\n\n- ๐ฑ Changing the value of this parameter never regenerates embeddings\n\n# Defaults\n\n- For source `openAi`, the key is read from `OPENAI_API_KEY`, then `MEILI_OPENAI_API_KEY`.\n- For other sources, no bearer token is sent if this parameter is not set.\n\n# Note\n\n- This setting is partially hidden when returned by the settings"
+ },
+ "dimensions": {
+ "type": ["string", "null"],
+ "description": "The expected dimensions of the embeddings produced by this embedder.\n\n# Mandatory\n\n- This parameter is mandatory for source `userProvided`\n\n# Availability\n\n- This parameter is available for source `openAi`, `ollama`, `rest`, `userProvided`\n\n# ๐ Reindexing\n\n- ๐๏ธ When the source is `openAi`, changing the value of this parameter always regenerates embeddings\n- ๐ฑ For other sources, changing the value of this parameter never regenerates embeddings\n\n# Defaults\n\n- For source `openAi`, the dimensions is the maximum allowed by the model.\n- For sources `ollama` and `rest`, the dimensions are inferred by embedding a sample text."
+ },
+ "documentTemplate": {
+ "type": ["boolean", "null"],
+ "description": "A liquid template used to render documents to a text that can be embedded.\n\nMeillisearch interpolates the template for each document and sends the resulting text to the embedder.\nThe embedder then generates document vectors based on this text.\n\n# Availability\n\n- This parameter is available for source `openAi`, `huggingFace`, `ollama` and `rest\n\n# ๐ Reindexing\n\n- ๐๏ธ When modified, embeddings are regenerated for documents whose rendering through the template produces a different text."
+ },
+ "documentTemplateMaxBytes": {
+ "type": ["integer", "null"],
+ "description": "Rendered texts are truncated to this size.\n\n# Availability\n\n- This parameter is available for source `openAi`, `huggingFace`, `ollama` and `rest`\n\n# ๐ Reindexing\n\n- ๐๏ธ When increased, embeddings are regenerated for documents whose rendering through the template produces a different text.\n- ๐ฑ When decreased, embeddings are never regenerated\n\n# Default\n\n- Defaults to 400",
+ "minimum": 0
+ },
+ "url": {
+ "type": ["string", "null"],
+ "description": "URL to reach the remote embedder.\n\n# Mandatory\n\n- This parameter is mandatory for source `rest`\n\n# Availability\n\n- This parameter is available for source `openAi`, `ollama` and `rest`\n\n# ๐ Reindexing\n\n- ๐ฑ When modified for source `openAi`, embeddings are never regenerated\n- ๐๏ธ When modified for sources `ollama` and `rest`, embeddings are always regenerated"
+ },
+ "indexingFragments": {
+ "type": ["object", "null"],
+ "description": "Template fragments that will be reassembled and sent to the remote embedder at indexing time.\n\n# Availability\n\n- This parameter is available for sources `rest`.\n\n# ๐ Reindexing\n\n- ๐๏ธ When a fragment is deleted by passing `null` to its name, the corresponding embeddings are removed from documents.\n- ๐๏ธ When a fragment is modified, the corresponding embeddings are regenerated if their rendered version changes.",
+ "additionalProperties": {},
+ "propertyNames": {
+ "type": "string"
+ }
+ },
+ "searchFragments": {
+ "type": ["object", "null"],
+ "description": "Template fragments that will be reassembled and sent to the remote embedder at search time.\n\n# Availability\n\n- This parameter is available for sources `rest`.\n\n# ๐ Reindexing\n\n- ๐ฑ Changing the value of this parameter never regenerates embeddings",
+ "additionalProperties": {},
+ "propertyNames": {
+ "type": "string"
+ }
+ },
+ "request": {
+ "description": "Template request to send to the remote embedder.\n\n# Mandatory\n\n- This parameter is mandatory for source `rest`\n\n# Availability\n\n- This parameter is available for source `rest`\n\n# ๐ Reindexing\n\n- ๐๏ธ Changing the value of this parameter always regenerates embeddings"
+ },
+ "response": {
+ "description": "Template response indicating how to find the embeddings in the response from the remote embedder.\n\n# Mandatory\n\n- This parameter is mandatory for source `rest`\n\n# Availability\n\n- This parameter is available for source `rest`\n\n# ๐ Reindexing\n\n- ๐๏ธ Changing the value of this parameter always regenerates embeddings"
+ },
+ "headers": {
+ "type": ["object", "null"],
+ "description": "Additional headers to send to the remote embedder.\n\n# Availability\n\n- This parameter is available for source `rest`\n\n# ๐ Reindexing\n\n- ๐ฑ Changing the value of this parameter never regenerates embeddings",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "propertyNames": {
+ "type": "string"
+ }
+ }
+ },
+ "additionalProperties": false
+ },
+ "SummarizedTaskView": {
+ "type": "object",
+ "required": ["taskUid", "status", "type", "enqueuedAt"],
+ "properties": {
+ "taskUid": {
+ "type": "integer",
+ "format": "u-int32",
+ "description": "The task unique identifier.",
+ "minimum": 0
+ },
+ "indexUid": {
+ "type": ["string", "null"],
+ "description": "The index affected by this task. May be `null` if the task is not linked to any index."
+ },
+ "status": {
+ "$ref": "#/components/schemas/Status",
+ "description": "The status of the task."
+ },
+ "type": {
+ "$ref": "#/components/schemas/Kind",
+ "description": "The type of the task."
+ },
+ "enqueuedAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The date on which the task was enqueued."
+ }
}
- }
- }
- },
- "401": {
- "description": "The authorization header is missing",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "example": {
- "message": "The Authorization header is missing. It must use the bearer authorization method.",
- "code": "missing_authorization_header",
- "type": "auth",
- "link": "https://docs.meilisearch.com/errors#missing_authorization_header"
+ },
+ "SwapIndexesPayload": {
+ "type": "object",
+ "required": ["indexes"],
+ "properties": {
+ "indexes": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/IndexUid"
+ },
+ "description": "Array of the two indexUids to be swapped"
+ }
}
- }
- }
- }
- },
- "security": [
- {
- "Bearer": [
- "version",
- "*"
- ]
- }
- ]
- }
- }
- },
- "components": {
- "schemas": {
- "Action": {
- "type": "string",
- "enum": [
- "*",
- "search",
- "documents.*",
- "documents.add",
- "documents.get",
- "documents.delete",
- "indexes.*",
- "indexes.create",
- "indexes.get",
- "indexes.update",
- "indexes.delete",
- "indexes.swap",
- "tasks.*",
- "tasks.cancel",
- "tasks.delete",
- "tasks.get",
- "settings.*",
- "settings.get",
- "settings.update",
- "stats.*",
- "stats.get",
- "metrics.*",
- "metrics.get",
- "dumps.*",
- "dumps.create",
- "snapshots.*",
- "snapshots.create",
- "version",
- "keys.create",
- "keys.get",
- "keys.update",
- "keys.delete",
- "experimental.get",
- "experimental.update",
- "network.get",
- "network.update",
- "chatCompletions",
- "chats.*",
- "chats.get",
- "chats.delete",
- "chatsSettings.*",
- "chatsSettings.get",
- "chatsSettings.update"
- ]
- },
- "AllBatches": {
- "type": "object",
- "required": [
- "results",
- "total",
- "limit"
- ],
- "properties": {
- "results": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/BatchView"
- }
- },
- "total": {
- "type": "integer",
- "format": "u-int64",
- "minimum": 0
- },
- "limit": {
- "type": "integer",
- "format": "u-int32",
- "minimum": 0
- },
- "from": {
- "type": [
- "integer",
- "null"
- ],
- "format": "u-int32",
- "minimum": 0
- },
- "next": {
- "type": [
- "integer",
- "null"
- ],
- "format": "u-int32",
- "minimum": 0
- }
- }
- },
- "AllTasks": {
- "type": "object",
- "required": [
- "results",
- "total",
- "limit"
- ],
- "properties": {
- "results": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/TaskView"
- },
- "description": "The list of tasks that matched the filter."
- },
- "total": {
- "type": "integer",
- "format": "u-int64",
- "description": "Total number of browsable results using offset/limit parameters for the given resource.",
- "minimum": 0
- },
- "limit": {
- "type": "integer",
- "format": "u-int32",
- "description": "Limit given for the query. If limit is not provided as a query parameter, this parameter displays the default limit value.",
- "minimum": 0
- },
- "from": {
- "type": [
- "integer",
- "null"
- ],
- "format": "u-int32",
- "description": "The first task uid returned.",
- "minimum": 0
- },
- "next": {
- "type": [
- "integer",
- "null"
- ],
- "format": "u-int32",
- "description": "Represents the value to send in from to fetch the next slice of the results. The first item for the next slice starts at this exact number. When the returned value is null, it means that all the data have been browsed in the given order.",
- "minimum": 0
- }
- }
- },
- "AttributePatterns": {
- "type": "object",
- "required": [
- "patterns"
- ],
- "properties": {
- "patterns": {
- "type": "array",
- "items": {
- "type": "string"
- },
- "example": [
- "title",
- "overview_*",
- "release_date"
- ]
- }
- }
- },
- "BTreeMap": {
- "type": "object",
- "additionalProperties": {
- "type": "array",
- "items": {
- "type": "object",
- "required": [
- "start",
- "length"
- ],
- "properties": {
- "start": {
- "type": "integer",
- "minimum": 0
- },
- "length": {
- "type": "integer",
- "minimum": 0
- },
- "indices": {
- "type": [
- "array",
- "null"
- ],
- "items": {
- "type": "integer",
- "minimum": 0
+ },
+ "TaskView": {
+ "type": "object",
+ "required": ["uid", "status", "type", "enqueuedAt"],
+ "properties": {
+ "uid": {
+ "type": "integer",
+ "format": "u-int32",
+ "description": "The unique sequential identifier of the task.",
+ "example": 4312,
+ "minimum": 0
+ },
+ "batchUid": {
+ "type": ["integer", "null"],
+ "format": "u-int32",
+ "description": "The unique identifier of the index where this task is operated.",
+ "example": "movies",
+ "minimum": 0
+ },
+ "indexUid": {
+ "type": ["string", "null"]
+ },
+ "status": {
+ "$ref": "#/components/schemas/Status"
+ },
+ "type": {
+ "$ref": "#/components/schemas/Kind",
+ "description": "The type of the task."
+ },
+ "canceledBy": {
+ "type": ["integer", "null"],
+ "format": "u-int32",
+ "description": "The uid of the task that performed the taskCancelation if the task has been canceled.",
+ "example": 4326,
+ "minimum": 0
+ },
+ "details": {
+ "oneOf": [{
+ "type": "null"
+ }, {
+ "$ref": "#/components/schemas/DetailsView"
+ }]
+ },
+ "error": {
+ "oneOf": [{
+ "type": "null"
+ }, {
+ "$ref": "#/components/schemas/ResponseError"
+ }]
+ },
+ "duration": {
+ "type": ["string", "null"],
+ "description": "Total elasped time the engine was in processing state expressed as a `ISO-8601` duration format.",
+ "example": null
+ },
+ "enqueuedAt": {
+ "type": "string",
+ "description": "An `RFC 3339` format for date/time/duration.",
+ "example": "2024-08-08_14:12:09.393Z"
+ },
+ "startedAt": {
+ "type": "string",
+ "description": "An `RFC 3339` format for date/time/duration.",
+ "example": "2024-08-08_14:12:09.393Z"
+ },
+ "finishedAt": {
+ "type": "string",
+ "description": "An `RFC 3339` format for date/time/duration.",
+ "example": "2024-08-08_14:12:09.393Z"
+ }
}
- }
- }
- }
- },
- "propertyNames": {
- "type": "string"
- }
- },
- "BatchStats": {
- "type": "object",
- "required": [
- "totalNbTasks",
- "status",
- "types",
- "indexUids"
- ],
- "properties": {
- "totalNbTasks": {
- "$ref": "#/components/schemas/u32"
- },
- "status": {
- "type": "object",
- "additionalProperties": {
- "type": "integer",
- "format": "u-int32",
- "minimum": 0
- },
- "propertyNames": {
- "type": "string",
- "description": "The status of a task.",
- "enum": [
- "enqueued",
- "processing",
- "succeeded",
- "failed",
- "canceled"
- ],
- "example": "processing"
- }
- },
- "types": {
- "type": "object",
- "additionalProperties": {
- "type": "integer",
- "format": "u-int32",
- "minimum": 0
- },
- "propertyNames": {
- "type": "string",
- "description": "The type of the task.",
- "enum": [
- "documentAdditionOrUpdate",
- "documentEdition",
- "documentDeletion",
- "settingsUpdate",
- "indexCreation",
- "indexDeletion",
- "indexUpdate",
- "indexSwap",
- "taskCancelation",
- "taskDeletion",
- "dumpCreation",
- "snapshotCreation",
- "upgradeDatabase"
- ],
- "example": [
- "documentAdditionOrUpdate",
- "documentEdition",
- "documentDeletion",
- "settingsUpdate",
- "indexCreation",
- "indexDeletion",
- "indexUpdate",
- "indexSwap",
- "taskCancelation",
- "taskDeletion",
- "dumpCreation",
- "snapshotCreation",
- "upgradeDatabase"
- ]
- }
- },
- "indexUids": {
- "type": "object",
- "additionalProperties": {
- "type": "integer",
- "format": "u-int32",
- "minimum": 0
- },
- "propertyNames": {
- "type": "string"
- }
- },
- "progressTrace": {
- "type": "object",
- "additionalProperties": {},
- "propertyNames": {
- "type": "string"
- }
- },
- "writeChannelCongestion": {
- "type": [
- "object",
- "null"
- ],
- "additionalProperties": {},
- "propertyNames": {
- "type": "string"
- }
- },
- "internalDatabaseSizes": {
- "type": "object",
- "additionalProperties": {},
- "propertyNames": {
- "type": "string"
- }
- }
- }
- },
- "BatchView": {
- "type": "object",
- "required": [
- "uid",
- "details",
- "stats"
- ],
- "properties": {
- "uid": {
- "$ref": "#/components/schemas/u32"
- },
- "progress": {
- "oneOf": [
- {
- "type": "null"
- },
- {
- "$ref": "#/components/schemas/ProgressView"
- }
- ]
- },
- "details": {
- "$ref": "#/components/schemas/DetailsView"
- },
- "stats": {
- "$ref": "#/components/schemas/BatchStats"
- },
- "duration": {
- "type": [
- "string",
- "null"
- ]
- },
- "startedAt": {
- "type": "string",
- "format": "date-time"
- },
- "finishedAt": {
- "type": [
- "string",
- "null"
- ],
- "format": "date-time"
- },
- "batchStrategy": {
- "type": "string"
- }
- }
- },
- "BrowseQuery": {
- "type": "object",
- "required": [
- "offset",
- "limit",
- "retrieveVectors"
- ],
- "properties": {
- "offset": {
- "type": "integer",
- "example": 150,
- "minimum": 0
- },
- "limit": {
- "type": "integer",
- "default": 20,
- "example": 1,
- "minimum": 0
- },
- "fields": {
- "type": [
- "array",
- "null"
- ],
- "items": {
- "type": "string"
- },
- "example": [
- "title, description"
- ]
- },
- "retrieveVectors": {
- "type": "boolean",
- "example": true
- },
- "ids": {
- "type": [
- "array",
- "null"
- ],
- "items": {
- "type": "string"
- },
- "example": [
- "cody",
- "finn",
- "brandy",
- "gambit"
- ]
- },
- "filter": {}
- }
- },
- "ChatSearchParams": {
- "type": "object",
- "properties": {
- "hybrid": {
- "oneOf": [
- {
- "type": "null"
- },
- {
- "$ref": "#/components/schemas/HybridQuery"
- }
- ]
- },
- "limit": {
- "type": [
- "integer",
- "null"
- ],
- "minimum": 0
- },
- "sort": {
- "type": [
- "array",
- "null"
- ],
- "items": {
- "type": "string"
- }
- },
- "distinct": {
- "type": [
- "string",
- "null"
- ]
- },
- "matchingStrategy": {
- "oneOf": [
- {
- "type": "null"
- },
- {
- "$ref": "#/components/schemas/MatchingStrategy"
- }
- ]
- },
- "attributesToSearchOn": {
- "type": [
- "array",
- "null"
- ],
- "items": {
- "type": "string"
- }
- },
- "rankingScoreThreshold": {
- "oneOf": [
- {
- "type": "null"
- },
- {
- "$ref": "#/components/schemas/RankingScoreThreshold"
- }
- ]
- }
- },
- "additionalProperties": false
- },
- "ChatSettings": {
- "type": "object",
- "properties": {
- "description": {
- "type": [
- "string",
- "null"
- ]
- },
- "documentTemplate": {
- "type": [
- "string",
- "null"
- ],
- "description": "A liquid template used to render documents to a text that can be embedded.\n\nMeillisearch interpolates the template for each document and sends the resulting text to the embedder.\nThe embedder then generates document vectors based on this text."
- },
- "documentTemplateMaxBytes": {
- "type": [
- "integer",
- "null"
- ],
- "description": "Rendered texts are truncated to this size. Defaults to 400.",
- "minimum": 0
- },
- "searchParameters": {
- "oneOf": [
- {
- "type": "null"
- },
- {
- "$ref": "#/components/schemas/ChatSearchParams",
- "description": "The search parameters to use for the LLM."
- }
- ]
- }
- },
- "additionalProperties": false
- },
- "Code": {
- "type": "string",
- "enum": [
- "api_key_already_exists",
- "api_key_not_found",
- "bad_parameter",
- "bad_request",
- "database_size_limit_reached",
- "document_not_found",
- "dump_already_processing",
- "dump_not_found",
- "dump_process_failed",
- "duplicate_index_found",
- "immutable_api_key_actions",
- "immutable_api_key_created_at",
- "immutable_api_key_expires_at",
- "immutable_api_key_indexes",
- "immutable_api_key_key",
- "immutable_api_key_uid",
- "immutable_api_key_updated_at",
- "immutable_index_created_at",
- "immutable_index_uid",
- "immutable_index_updated_at",
- "index_already_exists",
- "index_creation_failed",
- "index_not_found",
- "index_primary_key_already_exists",
- "index_primary_key_multiple_candidates_found",
- "index_primary_key_no_candidate_found",
- "internal",
- "invalid_api_key",
- "invalid_api_key_actions",
- "invalid_api_key_description",
- "invalid_api_key_expires_at",
- "invalid_api_key_indexes",
- "invalid_api_key_limit",
- "invalid_api_key_name",
- "invalid_api_key_offset",
- "invalid_api_key_uid",
- "invalid_content_type",
- "invalid_document_csv_delimiter",
- "invalid_document_fields",
- "invalid_document_retrieve_vectors",
- "missing_document_filter",
- "missing_document_edition_function",
- "invalid_document_filter",
- "invalid_document_geo_field",
- "invalid_vector_dimensions",
- "invalid_vectors_type",
- "invalid_document_id",
- "invalid_document_ids",
- "invalid_document_limit",
- "invalid_document_offset",
- "invalid_search_embedder",
- "invalid_similar_embedder",
- "invalid_search_hybrid_query",
- "invalid_index_limit",
- "invalid_index_offset",
- "invalid_index_primary_key",
- "invalid_index_uid",
- "invalid_multi_search_facets",
- "invalid_multi_search_facets_by_index",
- "invalid_multi_search_facet_order",
- "invalid_multi_search_federated",
- "invalid_multi_search_federation_options",
- "invalid_multi_search_max_values_per_facet",
- "invalid_multi_search_merge_facets",
- "invalid_multi_search_query_facets",
- "invalid_multi_search_query_pagination",
- "invalid_multi_search_query_ranking_rules",
- "invalid_multi_search_query_position",
- "invalid_multi_search_remote",
- "invalid_multi_search_weight",
- "invalid_network_remotes",
- "invalid_network_self",
- "invalid_network_search_api_key",
- "invalid_network_url",
- "invalid_search_attributes_to_search_on",
- "invalid_search_attributes_to_crop",
- "invalid_search_attributes_to_highlight",
- "invalid_similar_attributes_to_retrieve",
- "invalid_similar_retrieve_vectors",
- "invalid_search_attributes_to_retrieve",
- "invalid_search_ranking_score_threshold",
- "invalid_similar_ranking_score_threshold",
- "invalid_search_retrieve_vectors",
- "invalid_search_crop_length",
- "invalid_search_crop_marker",
- "invalid_search_facets",
- "invalid_search_semantic_ratio",
- "invalid_search_locales",
- "invalid_facet_search_exhaustive_facet_count",
- "invalid_facet_search_facet_name",
- "invalid_similar_id",
- "invalid_search_filter",
- "invalid_similar_filter",
- "invalid_search_highlight_post_tag",
- "invalid_search_highlight_pre_tag",
- "invalid_search_hits_per_page",
- "invalid_similar_limit",
- "invalid_search_limit",
- "invalid_search_matching_strategy",
- "invalid_similar_offset",
- "invalid_search_offset",
- "invalid_search_page",
- "invalid_search_q",
- "invalid_facet_search_query",
- "invalid_facet_search_name",
- "facet_search_disabled",
- "invalid_search_vector",
- "invalid_search_show_matches_position",
- "invalid_search_show_ranking_score",
- "invalid_similar_show_ranking_score",
- "invalid_search_show_ranking_score_details",
- "invalid_similar_show_ranking_score_details",
- "invalid_search_sort",
- "invalid_search_distinct",
- "invalid_settings_displayed_attributes",
- "invalid_settings_distinct_attribute",
- "invalid_settings_proximity_precision",
- "invalid_settings_facet_search",
- "invalid_settings_prefix_search",
- "invalid_settings_faceting",
- "invalid_settings_filterable_attributes",
- "invalid_settings_pagination",
- "invalid_settings_search_cutoff_ms",
- "invalid_settings_embedders",
- "invalid_settings_ranking_rules",
- "invalid_settings_searchable_attributes",
- "invalid_settings_sortable_attributes",
- "invalid_settings_stop_words",
- "invalid_settings_non_separator_tokens",
- "invalid_settings_separator_tokens",
- "invalid_settings_dictionary",
- "invalid_settings_synonyms",
- "invalid_settings_typo_tolerance",
- "invalid_settings_localized_attributes",
- "invalid_state",
- "invalid_store_file",
- "invalid_swap_duplicate_index_found",
- "invalid_swap_indexes",
- "invalid_task_after_enqueued_at",
- "invalid_task_after_finished_at",
- "invalid_task_after_started_at",
- "invalid_task_before_enqueued_at",
- "invalid_task_before_finished_at",
- "invalid_task_before_started_at",
- "invalid_task_canceled_by",
- "invalid_task_from",
- "invalid_task_limit",
- "invalid_task_reverse",
- "invalid_task_statuses",
- "invalid_task_types",
- "invalid_task_uids",
- "invalid_batch_uids",
- "io_error",
- "feature_not_enabled",
- "malformed_payload",
- "max_fields_limit_exceeded",
- "missing_api_key_actions",
- "missing_api_key_expires_at",
- "missing_api_key_indexes",
- "missing_authorization_header",
- "missing_content_type",
- "missing_document_id",
- "missing_facet_search_facet_name",
- "missing_index_uid",
- "missing_master_key",
- "missing_network_url",
- "missing_payload",
- "missing_search_hybrid",
- "missing_swap_indexes",
- "missing_task_filters",
- "no_space_left_on_device",
- "payload_too_large",
- "remote_bad_response",
- "remote_bad_request",
- "remote_could_not_send_request",
- "remote_invalid_api_key",
- "remote_remote_error",
- "remote_timeout",
- "too_many_search_requests",
- "task_not_found",
- "task_file_not_found",
- "batch_not_found",
- "too_many_open_files",
- "too_many_vectors",
- "unretrievable_document",
- "unretrievable_error_code",
- "unsupported_media_type",
- "vector_embedding_error",
- "not_found_similar_id",
- "invalid_document_edition_context",
- "invalid_document_edition_function_filter",
- "edit_documents_by_function_error",
- "invalid_settings_index_chat",
- "unimplemented_external_function_calling",
- "unimplemented_non_streaming_chat_completions",
- "unimplemented_multi_choice_chat_completions",
- "chat_not_found",
- "invalid_chat_setting_document_template",
- "invalid_chat_completion_org_id",
- "invalid_chat_completion_project_id",
- "invalid_chat_completion_api_version",
- "invalid_chat_completion_deployment_id",
- "invalid_chat_completion_source",
- "invalid_chat_completion_base_api",
- "invalid_chat_completion_api_key",
- "invalid_chat_completion_prompts",
- "invalid_chat_completion_system_prompt",
- "invalid_chat_completion_search_description_prompt",
- "invalid_chat_completion_search_query_param_prompt",
- "invalid_chat_completion_search_index_uid_param_prompt",
- "invalid_chat_completion_pre_query_prompt"
- ]
- },
- "ComputedFacets": {
- "type": "object",
- "required": [
- "distribution",
- "stats"
- ],
- "properties": {
- "distribution": {
- "type": "object",
- "additionalProperties": {
- "type": "object",
- "additionalProperties": {
- "type": "integer",
- "format": "u-int64",
- "minimum": 0
- },
- "propertyNames": {
- "type": "string"
- }
},
- "propertyNames": {
- "type": "string"
- }
- },
- "stats": {
- "type": "object",
- "additionalProperties": {
- "$ref": "#/components/schemas/FacetStats"
- },
- "propertyNames": {
- "type": "string"
- }
- }
- }
- },
- "CreateApiKey": {
- "type": "object",
- "required": [
- "uid",
- "actions",
- "indexes"
- ],
- "properties": {
- "description": {
- "type": [
- "string",
- "null"
- ],
- "description": "A description for the key. `null` if empty.",
- "example": null
- },
- "name": {
- "type": [
- "string",
- "null"
- ],
- "description": "A human-readable name for the key. `null` if empty.",
- "example": "Indexing Products API key"
- },
- "uid": {
- "type": "string",
- "format": "uuid",
- "description": "A uuid v4 to identify the API Key. If not specified, it's generated by Meilisearch.",
- "example": null
- },
- "actions": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/Action"
- },
- "description": "A list of actions permitted for the key. `[\"*\"]` for all actions. The `*` character can be used as a wildcard when located at the last position. e.g. `documents.*` to authorize access on all documents endpoints.",
- "example": [
- "documents.add"
- ]
- },
- "indexes": {
- "type": "array",
- "items": {
- "type": "string"
- },
- "description": "A list of accessible indexes permitted for the key. `[\"*\"]` for all indexes. The `*` character can be used as a wildcard when located at the last position. e.g. `products_*` to allow access to all indexes whose names start with `products_`.",
- "example": [
- "products"
- ]
- },
- "expiresAt": {
- "type": [
- "string",
- "null"
- ],
- "format": "date-time",
- "description": "Represent the expiration date and time as RFC 3339 format. `null` equals to no expiration time."
- }
- }
- },
- "DetailsView": {
- "allOf": [
- {
- "oneOf": [
- {
- "type": "null"
- },
- {
- "$ref": "#/components/schemas/Settings_Unchecked",
- "description": "[Learn more about the settings in this guide](https://www.meilisearch.com/docs/reference/api/settings)."
- }
- ]
- },
- {
- "type": "object",
- "properties": {
- "receivedDocuments": {
- "type": [
- "integer",
- "null"
- ],
- "format": "u-int64",
- "description": "Number of documents received for documentAdditionOrUpdate task.",
- "minimum": 0
- },
- "indexedDocuments": {
- "type": [
- "integer",
- "null"
- ],
- "format": "u-int64",
- "description": "Number of documents finally indexed for documentAdditionOrUpdate task or a documentAdditionOrUpdate batch of tasks.",
- "minimum": 0
- },
- "editedDocuments": {
- "type": [
- "integer",
- "null"
- ],
- "format": "u-int64",
- "description": "Number of documents edited for editDocumentByFunction task.",
- "minimum": 0
- },
- "primaryKey": {
- "type": [
- "string",
- "null"
- ],
- "description": "Value for the primaryKey field encountered if any for indexCreation or indexUpdate task."
- },
- "providedIds": {
- "type": [
- "integer",
- "null"
- ],
- "description": "Number of provided document ids for the documentDeletion task.",
- "minimum": 0
- },
- "deletedDocuments": {
- "type": [
- "integer",
- "null"
- ],
- "format": "u-int64",
- "description": "Number of documents finally deleted for documentDeletion and indexDeletion tasks.",
- "minimum": 0
- },
- "matchedTasks": {
- "type": [
- "integer",
- "null"
- ],
- "format": "u-int64",
- "description": "Number of tasks that match the request for taskCancelation or taskDeletion tasks.",
- "minimum": 0
- },
- "canceledTasks": {
- "type": [
- "integer",
- "null"
- ],
- "format": "u-int64",
- "description": "Number of tasks canceled for taskCancelation.",
- "minimum": 0
- },
- "deletedTasks": {
- "type": [
- "integer",
- "null"
- ],
- "format": "u-int64",
- "description": "Number of tasks deleted for taskDeletion.",
- "minimum": 0
- },
- "originalFilter": {
- "type": [
- "string",
- "null"
- ],
- "description": "Original filter query for taskCancelation or taskDeletion tasks."
- },
- "dumpUid": {
- "type": [
- "string",
- "null"
- ],
- "description": "Identifier generated for the dump for dumpCreation task."
- },
- "context": {
- "type": [
- "object",
- "null"
- ]
- },
- "function": {
- "type": [
- "string",
- "null"
- ]
- },
- "swaps": {
- "type": [
- "array",
- "null"
- ],
- "items": {
- "$ref": "#/components/schemas/IndexSwap"
+ "TypoSettings": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": ["boolean", "null"],
+ "example": true
+ },
+ "minWordSizeForTypos": {
+ "oneOf": [{
+ "type": "null"
+ }, {
+ "$ref": "#/components/schemas/MinWordSizeTyposSetting"
+ }]
+ },
+ "disableOnWords": {
+ "type": ["array", "null"],
+ "items": {
+ "type": "string"
+ },
+ "example": ["iPhone", "phone"],
+ "uniqueItems": true
+ },
+ "disableOnAttributes": {
+ "type": ["array", "null"],
+ "items": {
+ "type": "string"
+ },
+ "example": ["uuid", "url"],
+ "uniqueItems": true
+ },
+ "disableOnNumbers": {
+ "type": ["boolean", "null"],
+ "example": true
+ }
+ },
+ "additionalProperties": false
+ },
+ "Unchecked": {
+ "default": null
+ },
+ "UpdateIndexRequest": {
+ "type": "object",
+ "properties": {
+ "primaryKey": {
+ "type": ["string", "null"],
+ "description": "The new primary key of the index"
+ }
}
- },
- "upgradeFrom": {
- "type": [
- "string",
- "null"
- ]
- },
- "upgradeTo": {
- "type": [
- "string",
- "null"
- ]
- }
- }
- }
- ]
- },
- "DistributionShift": {
- "type": "object",
- "description": "Describes the mean and sigma of distribution of embedding similarity in the embedding space.\n\nThe intended use is to make the similarity score more comparable to the regular ranking score.\nThis allows to correct effects where results are too \"packed\" around a certain value.",
- "required": [
- "current_mean",
- "current_sigma"
- ],
- "properties": {
- "current_mean": {
- "type": "number",
- "format": "float",
- "description": "Value where the results are \"packed\".\n\nSimilarity scores are translated so that they are packed around 0.5 instead"
- },
- "current_sigma": {
- "type": "number",
- "format": "float",
- "description": "standard deviation of a similarity score.\n\nSet below 0.4 to make the results less packed around the mean, and above 0.4 to make them more packed."
- }
- }
- },
- "DocumentDeletionByFilter": {
- "type": "object",
- "required": [
- "filter"
- ],
- "properties": {
- "filter": {}
- }
- },
- "DocumentEditionByFunction": {
- "type": "object",
- "required": [
- "function"
- ],
- "properties": {
- "filter": {
- "description": "A string containing a RHAI function."
- },
- "context": {
- "description": "A string containing a filter expression."
- },
- "function": {
- "type": "string",
- "description": "An object with data Meilisearch should make available for the editing function."
- }
- }
- },
- "EmbedderSource": {
- "type": "string",
- "enum": [
- "openAi",
- "huggingFace",
- "ollama",
- "userProvided",
- "rest",
- "composite"
- ]
- },
- "ErrorType": {
- "type": "string",
- "enum": [
- "internal",
- "invalid_request",
- "auth",
- "system"
- ]
- },
- "FacetSearchQuery": {
- "type": "object",
- "required": [
- "facet_name",
- "matching_strategy"
- ],
- "properties": {
- "facet_query": {
- "type": [
- "string",
- "null"
- ]
- },
- "facet_name": {
- "type": "string"
- },
- "q": {
- "type": [
- "string",
- "null"
- ]
- },
- "vector": {
- "type": [
- "array",
- "null"
- ],
- "items": {
- "type": "number",
- "format": "float"
- }
- },
- "hybrid": {
- "oneOf": [
- {
- "type": "null"
- },
- {
- "$ref": "#/components/schemas/HybridQuery"
- }
- ]
- },
- "filter": {},
- "matching_strategy": {
- "$ref": "#/components/schemas/MatchingStrategy"
- },
- "attributes_to_search_on": {
- "type": [
- "array",
- "null"
- ],
- "items": {
- "type": "string"
- }
- },
- "ranking_score_threshold": {
- "oneOf": [
- {
- "type": "null"
- },
- {
- "$ref": "#/components/schemas/RankingScoreThreshold"
- }
- ]
- },
- "locales": {
- "type": [
- "array",
- "null"
- ],
- "items": {
- "$ref": "#/components/schemas/Locale"
- }
- },
- "exhaustive_facet_count": {
- "type": [
- "boolean",
- "null"
- ]
- }
- }
- },
- "FacetStats": {
- "type": "object",
- "required": [
- "min",
- "max"
- ],
- "properties": {
- "min": {
- "type": "number",
- "format": "double"
- },
- "max": {
- "type": "number",
- "format": "double"
- }
- }
- },
- "FacetValuesSort": {
- "type": "string",
- "enum": [
- "alpha",
- "count"
- ]
- },
- "FacetingSettings": {
- "type": "object",
- "properties": {
- "maxValuesPerFacet": {
- "type": [
- "integer",
- "null"
- ],
- "example": 10,
- "minimum": 0
- },
- "sortFacetValuesBy": {
- "type": [
- "object",
- "null"
- ],
- "additionalProperties": {
- "$ref": "#/components/schemas/FacetValuesSort"
- },
- "propertyNames": {
- "type": "string"
- },
- "example": {
- "genre": "count"
- }
- }
- },
- "additionalProperties": false
- },
- "FederatedFacets": {
- "type": "object",
- "additionalProperties": {
- "$ref": "#/components/schemas/ComputedFacets"
- },
- "propertyNames": {
- "type": "string"
- }
- },
- "FederatedSearch": {
- "type": "object",
- "required": [
- "queries"
- ],
- "properties": {
- "queries": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/SearchQueryWithIndex"
- }
- },
- "federation": {
- "oneOf": [
- {
- "type": "null"
- },
- {
- "$ref": "#/components/schemas/Federation"
- }
- ]
- }
- }
- },
- "FederatedSearchResult": {
- "allOf": [
- {
- "$ref": "#/components/schemas/HitsInfo"
- },
- {
- "type": "object",
- "required": [
- "hits",
- "processingTimeMs"
- ],
- "properties": {
- "hits": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/SearchHit"
+ },
+ "UpdateStderrLogs": {
+ "type": "object",
+ "required": ["target"],
+ "properties": {
+ "target": {
+ "type": "string",
+ "description": "Lets you specify which parts of the code you want to inspect and is formatted like that: code_part=log_level,code_part=log_level\n- If the `code_part` is missing, then the `log_level` will be applied to everything.\n- If the `log_level` is missing, then the `code_part` will be selected in `info` log level.",
+ "default": "info",
+ "example": "milli=trace,index_scheduler,actix_web=off"
+ }
}
- },
- "processingTimeMs": {
- "type": "integer",
- "minimum": 0
- },
- "semanticHitCount": {
- "type": [
- "integer",
- "null"
- ],
- "format": "u-int32",
- "minimum": 0
- },
- "facetDistribution": {
- "type": [
- "object",
- "null"
- ],
- "additionalProperties": {
- "type": "object",
- "additionalProperties": {
- "type": "integer",
- "format": "u-int64",
- "minimum": 0
- },
- "propertyNames": {
- "type": "string"
- }
- },
- "propertyNames": {
- "type": "string"
+ },
+ "VersionResponse": {
+ "type": "object",
+ "required": ["commitSha", "commitDate", "pkgVersion"],
+ "properties": {
+ "commitSha": {
+ "type": "string",
+ "description": "The commit used to compile this build of Meilisearch."
+ },
+ "commitDate": {
+ "type": "string",
+ "description": "The date of this build."
+ },
+ "pkgVersion": {
+ "type": "string",
+ "description": "The version of Meilisearch."
+ }
}
- },
- "facetStats": {
- "type": [
- "object",
- "null"
- ],
- "additionalProperties": {
- "$ref": "#/components/schemas/FacetStats"
- },
- "propertyNames": {
- "type": "string"
+ },
+ "WebhookResults": {
+ "type": "object",
+ "required": ["results"],
+ "properties": {
+ "results": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/WebhookWithMetadata"
+ }
+ }
}
- },
- "facetsByIndex": {
- "$ref": "#/components/schemas/FederatedFacets"
- },
- "remoteErrors": {
- "type": [
- "object",
- "null"
- ],
- "additionalProperties": {
- "$ref": "#/components/schemas/ResponseError"
- },
- "propertyNames": {
- "type": "string"
+ },
+ "WebhookSettings": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": ["string", "null"],
+ "example": "https://your.site/on-tasks-completed"
+ },
+ "headers": {
+ "type": ["object", "null"],
+ "additionalProperties": {
+ "type": "string"
+ },
+ "propertyNames": {
+ "type": "string"
+ },
+ "example": {
+ "Authorization": "Bearer a-secret-token"
+ }
+ }
}
- }
- }
- }
- ]
- },
- "Federation": {
- "type": "object",
- "required": [
- "limit",
- "offset",
- "facetsByIndex"
- ],
- "properties": {
- "limit": {
- "type": "integer",
- "minimum": 0
- },
- "offset": {
- "type": "integer",
- "minimum": 0
- },
- "facetsByIndex": {
- "type": "object",
- "additionalProperties": {
- "type": [
- "array",
- "null"
- ],
- "items": {
- "type": "string"
- }
- },
- "propertyNames": {
- "type": "string",
- "description": "An index uid is composed of only ascii alphanumeric characters, - and _, between 1 and 400\nbytes long",
- "example": "movies"
- }
- },
- "mergeFacets": {
- "oneOf": [
- {
- "type": "null"
- },
- {
- "$ref": "#/components/schemas/MergeFacets"
- }
- ]
- }
- }
- },
- "FederationOptions": {
- "type": "object",
- "required": [
- "weight"
- ],
- "properties": {
- "weight": {
- "type": "number",
- "format": "double"
- },
- "remote": {
- "type": [
- "string",
- "null"
- ]
- },
- "queryPosition": {
- "type": [
- "integer",
- "null"
- ],
- "minimum": 0
- }
- }
- },
- "FilterFeatures": {
- "type": "object",
- "properties": {
- "equality": {
- "type": "boolean"
- },
- "comparison": {
- "type": "boolean"
- }
- },
- "additionalProperties": false
- },
- "FilterableAttributesFeatures": {
- "type": "object",
- "properties": {
- "facetSearch": {
- "type": "boolean"
- },
- "filter": {
- "$ref": "#/components/schemas/FilterFeatures"
- }
- },
- "additionalProperties": false
- },
- "FilterableAttributesPatterns": {
- "type": "object",
- "required": [
- "attributePatterns"
- ],
- "properties": {
- "attributePatterns": {
- "$ref": "#/components/schemas/AttributePatterns"
- },
- "features": {
- "$ref": "#/components/schemas/FilterableAttributesFeatures"
- }
- },
- "additionalProperties": false
- },
- "FilterableAttributesRule": {
- "oneOf": [
- {
- "type": "string"
- },
- {
- "$ref": "#/components/schemas/FilterableAttributesPatterns"
- }
- ]
- },
- "GetLogs": {
- "type": "object",
- "required": [
- "target",
- "mode",
- "profileMemory"
- ],
- "properties": {
- "target": {
- "type": "string",
- "description": "Lets you specify which parts of the code you want to inspect and is formatted like that: code_part=log_level,code_part=log_level\n- If the `code_part` is missing, then the `log_level` will be applied to everything.\n- If the `log_level` is missing, then the `code_part` will be selected in `info` log level.",
- "default": "info",
- "example": "milli=trace,index_scheduler,actix_web=off"
- },
- "mode": {
- "oneOf": [
- {
- "$ref": "#/components/schemas/LogMode",
- "description": "Lets you customize the format of the logs."
- }
- ],
- "default": "Human"
- },
- "profileMemory": {
- "type": "boolean",
- "description": "A boolean to indicate if you want to profile the memory as well. This is only useful while using the `profile` mode.\nBe cautious, though; it slows down the engine a lot.",
- "default": false
- }
- }
- },
- "HealthResponse": {
- "type": "object",
- "required": [
- "status"
- ],
- "properties": {
- "status": {
- "$ref": "#/components/schemas/HealthStatus",
- "description": "The status of the instance."
- }
- }
- },
- "HealthStatus": {
- "type": "string",
- "enum": [
- "available"
- ]
- },
- "HitsInfo": {
- "oneOf": [
- {
- "type": "object",
- "required": [
- "hitsPerPage",
- "page",
- "totalPages",
- "totalHits"
- ],
- "properties": {
- "hitsPerPage": {
- "type": "integer",
- "minimum": 0
- },
- "page": {
- "type": "integer",
- "minimum": 0
- },
- "totalPages": {
- "type": "integer",
- "minimum": 0
- },
- "totalHits": {
- "type": "integer",
- "minimum": 0
- }
- }
- },
- {
- "type": "object",
- "required": [
- "limit",
- "offset",
- "estimatedTotalHits"
- ],
- "properties": {
- "limit": {
- "type": "integer",
- "minimum": 0
- },
- "offset": {
- "type": "integer",
- "minimum": 0
- },
- "estimatedTotalHits": {
+ },
+ "WebhookWithMetadata": {
+ "allOf": [{
+ "$ref": "#/components/schemas/WebhookSettings"
+ }, {
+ "type": "object",
+ "required": ["uuid", "isEditable"],
+ "properties": {
+ "uuid": {
+ "type": "string",
+ "format": "uuid"
+ },
+ "isEditable": {
+ "type": "boolean"
+ }
+ }
+ }]
+ },
+ "u32": {
"type": "integer",
+ "format": "u-int32",
"minimum": 0
- }
- }
- }
- ]
- },
- "HybridQuery": {
- "type": "object",
- "required": [
- "embedder"
- ],
- "properties": {
- "semanticRatio": {
- "type": "number",
- "format": "float"
- },
- "embedder": {
- "type": "string"
- }
- }
- },
- "IndexCreateRequest": {
- "type": "object",
- "required": [
- "uid"
- ],
- "properties": {
- "uid": {
- "$ref": "#/components/schemas/IndexUid",
- "description": "The name of the index"
- },
- "primaryKey": {
- "type": [
- "string",
- "null"
- ],
- "description": "The primary key of the index",
- "example": "id"
- }
- }
- },
- "IndexStats": {
- "type": "object",
- "description": "Stats of an `Index`, as known to the `stats` route.",
- "required": [
- "numberOfDocuments",
- "rawDocumentDbSize",
- "avgDocumentSize",
- "isIndexing",
- "fieldDistribution"
- ],
- "properties": {
- "numberOfDocuments": {
- "type": "integer",
- "format": "u-int64",
- "description": "Number of documents in the index",
- "minimum": 0
- },
- "rawDocumentDbSize": {
- "type": "integer",
- "format": "u-int64",
- "description": "Size of the documents database, in bytes.",
- "minimum": 0
- },
- "avgDocumentSize": {
- "type": "integer",
- "format": "u-int64",
- "description": "Average size of a document in the documents database.",
- "minimum": 0
- },
- "isIndexing": {
- "type": "boolean",
- "description": "Whether or not the index is currently ingesting document"
- },
- "numberOfEmbeddings": {
- "type": [
- "integer",
- "null"
- ],
- "format": "u-int64",
- "description": "Number of embeddings in the index",
- "minimum": 0
- },
- "numberOfEmbeddedDocuments": {
- "type": [
- "integer",
- "null"
- ],
- "format": "u-int64",
- "description": "Number of embedded documents in the index",
- "minimum": 0
- },
- "fieldDistribution": {
- "type": "object",
- "description": "Association of every field name with the number of times it occurs in the documents.",
- "additionalProperties": {
- "type": "integer",
- "format": "u-int64",
- "minimum": 0
- },
- "propertyNames": {
- "type": "string"
- }
- }
- }
- },
- "IndexSwap": {
- "type": "object",
- "required": [
- "indexes"
- ],
- "properties": {
- "indexes": {
- "type": "array",
- "items": false,
- "prefixItems": [
- {
- "type": "string"
- },
- {
- "type": "string"
- }
- ]
- }
- }
- },
- "IndexUid": {
- "type": "string",
- "description": "An index uid is composed of only ascii alphanumeric characters, - and _, between 1 and 400\nbytes long",
- "example": "movies"
- },
- "IndexView": {
- "type": "object",
- "required": [
- "uid",
- "createdAt",
- "updatedAt"
- ],
- "properties": {
- "uid": {
- "type": "string",
- "description": "Unique identifier for the index"
- },
- "createdAt": {
- "type": "string",
- "format": "date-time",
- "description": "An `RFC 3339` format for date/time/duration."
- },
- "updatedAt": {
- "type": "string",
- "format": "date-time",
- "description": "An `RFC 3339` format for date/time/duration."
- },
- "primaryKey": {
- "type": [
- "string",
- "null"
- ],
- "description": "Custom primaryKey for documents"
- }
- }
- },
- "KeyView": {
- "type": "object",
- "required": [
- "key",
- "uid",
- "actions",
- "indexes",
- "createdAt",
- "updatedAt"
- ],
- "properties": {
- "name": {
- "type": [
- "string",
- "null"
- ],
- "description": "The name of the API Key if any"
- },
- "description": {
- "type": [
- "string",
- "null"
- ],
- "description": "The description of the API Key if any"
- },
- "key": {
- "type": "string",
- "description": "The actual API Key you can send to Meilisearch"
- },
- "uid": {
- "type": "string",
- "format": "uuid",
- "description": "The `Uuid` specified while creating the key or autogenerated by Meilisearch."
- },
- "actions": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/Action"
- },
- "description": "The actions accessible with this key."
- },
- "indexes": {
- "type": "array",
- "items": {
- "type": "string"
- },
- "description": "The indexes accessible with this key."
- },
- "expiresAt": {
- "type": [
- "string",
- "null"
- ],
- "format": "date-time",
- "description": "The expiration date of the key. Once this timestamp is exceeded the key is not deleted but cannot be used anymore."
- },
- "createdAt": {
- "type": "string",
- "format": "date-time",
- "description": "The date of creation of this API Key.",
- "readOnly": true
- },
- "updatedAt": {
- "type": "string",
- "format": "date-time",
- "description": "The date of the last update made on this key.",
- "readOnly": true
- }
- }
- },
- "Kind": {
- "type": "string",
- "description": "The type of the task.",
- "enum": [
- "documentAdditionOrUpdate",
- "documentEdition",
- "documentDeletion",
- "settingsUpdate",
- "indexCreation",
- "indexDeletion",
- "indexUpdate",
- "indexSwap",
- "taskCancelation",
- "taskDeletion",
- "dumpCreation",
- "snapshotCreation",
- "upgradeDatabase"
- ],
- "example": [
- "documentAdditionOrUpdate",
- "documentEdition",
- "documentDeletion",
- "settingsUpdate",
- "indexCreation",
- "indexDeletion",
- "indexUpdate",
- "indexSwap",
- "taskCancelation",
- "taskDeletion",
- "dumpCreation",
- "snapshotCreation",
- "upgradeDatabase"
- ]
- },
- "Locale": {
- "type": "string",
- "enum": [
- "af",
- "ak",
- "am",
- "ar",
- "az",
- "be",
- "bn",
- "bg",
- "ca",
- "cs",
- "da",
- "de",
- "el",
- "en",
- "eo",
- "et",
- "fi",
- "fr",
- "gu",
- "he",
- "hi",
- "hr",
- "hu",
- "hy",
- "id",
- "it",
- "jv",
- "ja",
- "kn",
- "ka",
- "km",
- "ko",
- "la",
- "lv",
- "lt",
- "ml",
- "mr",
- "mk",
- "my",
- "ne",
- "nl",
- "nb",
- "or",
- "pa",
- "fa",
- "pl",
- "pt",
- "ro",
- "ru",
- "si",
- "sk",
- "sl",
- "sn",
- "es",
- "sr",
- "sv",
- "ta",
- "te",
- "tl",
- "th",
- "tk",
- "tr",
- "uk",
- "ur",
- "uz",
- "vi",
- "yi",
- "zh",
- "zu",
- "afr",
- "aka",
- "amh",
- "ara",
- "aze",
- "bel",
- "ben",
- "bul",
- "cat",
- "ces",
- "dan",
- "deu",
- "ell",
- "eng",
- "epo",
- "est",
- "fin",
- "fra",
- "guj",
- "heb",
- "hin",
- "hrv",
- "hun",
- "hye",
- "ind",
- "ita",
- "jav",
- "jpn",
- "kan",
- "kat",
- "khm",
- "kor",
- "lat",
- "lav",
- "lit",
- "mal",
- "mar",
- "mkd",
- "mya",
- "nep",
- "nld",
- "nob",
- "ori",
- "pan",
- "pes",
- "pol",
- "por",
- "ron",
- "rus",
- "sin",
- "slk",
- "slv",
- "sna",
- "spa",
- "srp",
- "swe",
- "tam",
- "tel",
- "tgl",
- "tha",
- "tuk",
- "tur",
- "ukr",
- "urd",
- "uzb",
- "vie",
- "yid",
- "zho",
- "zul",
- "cmn"
- ]
- },
- "LocalizedAttributesRuleView": {
- "type": "object",
- "required": [
- "attributePatterns",
- "locales"
- ],
- "properties": {
- "attributePatterns": {
- "$ref": "#/components/schemas/AttributePatterns"
- },
- "locales": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/Locale"
}
- }
- }
- },
- "LogMode": {
- "type": "string",
- "enum": [
- "human",
- "json",
- "profile"
- ]
- },
- "MatchingStrategy": {
- "type": "string",
- "description": "This is unfortunately a duplication of the struct in .\nThe reason why it is duplicated is because milli cannot depend on meilisearch. It would be cyclic imports.",
- "enum": [
- "last",
- "all",
- "frequency"
- ]
- },
- "MergeFacets": {
- "type": "object",
- "properties": {
- "maxValuesPerFacet": {
- "type": [
- "integer",
- "null"
- ],
- "minimum": 0
- }
- }
- },
- "MinWordSizeTyposSetting": {
- "type": "object",
- "properties": {
- "oneTypo": {
- "type": [
- "integer",
- "null"
- ],
- "format": "u-int8",
- "example": 5,
- "minimum": 0
- },
- "twoTypos": {
- "type": [
- "integer",
- "null"
- ],
- "format": "u-int8",
- "example": 9,
- "minimum": 0
- }
- },
- "additionalProperties": false
- },
- "Network": {
- "type": "object",
- "properties": {
- "remotes": {
- "type": [
- "object",
- "null"
- ],
- "additionalProperties": {
- "$ref": "#/components/schemas/Remote"
- },
- "propertyNames": {
- "type": "string"
- },
- "example": "http://localhost:7700"
- },
- "self": {
- "type": [
- "string",
- "null"
- ],
- "example": "ms-00"
- }
- }
- },
- "OverridePooling": {
- "type": "string",
- "enum": [
- "useModel",
- "forceCls",
- "forceMean"
- ]
- },
- "PaginationSettings": {
- "type": "object",
- "properties": {
- "maxTotalHits": {
- "type": [
- "integer",
- "null"
- ],
- "example": 250,
- "minimum": 0
- }
},
- "additionalProperties": false
- },
- "PaginationView_IndexView": {
- "type": "object",
- "required": [
- "results",
- "offset",
- "limit",
- "total"
- ],
- "properties": {
- "results": {
- "type": "array",
- "items": {
- "type": "object",
- "required": [
- "uid",
- "createdAt",
- "updatedAt"
- ],
- "properties": {
- "uid": {
- "type": "string",
- "description": "Unique identifier for the index"
- },
- "createdAt": {
- "type": "string",
- "format": "date-time",
- "description": "An `RFC 3339` format for date/time/duration."
- },
- "updatedAt": {
- "type": "string",
- "format": "date-time",
- "description": "An `RFC 3339` format for date/time/duration."
- },
- "primaryKey": {
- "type": [
- "string",
- "null"
- ],
- "description": "Custom primaryKey for documents"
- }
- }
+ "securitySchemes": {
+ "Bearer": {
+ "type": "http",
+ "scheme": "bearer",
+ "bearerFormat": "Uuidv4, string or JWT",
+ "description": "An API key is a token that you provide when making API calls. Include the token in a header parameter called `Authorization`.\nExample: `Authorization: Bearer 8fece4405662dd830e4cb265e7e047aab2e79672a760a12712d2a263c9003509`"
}
- },
- "offset": {
- "type": "integer",
- "minimum": 0
- },
- "limit": {
- "type": "integer",
- "minimum": 0
- },
- "total": {
- "type": "integer",
- "minimum": 0
- }
}
- },
- "PaginationView_KeyView": {
- "type": "object",
- "required": [
- "results",
- "offset",
- "limit",
- "total"
- ],
- "properties": {
- "results": {
- "type": "array",
- "items": {
- "type": "object",
- "required": [
- "key",
- "uid",
- "actions",
- "indexes",
- "createdAt",
- "updatedAt"
- ],
- "properties": {
- "name": {
- "type": [
- "string",
- "null"
- ],
- "description": "The name of the API Key if any"
- },
- "description": {
- "type": [
- "string",
- "null"
- ],
- "description": "The description of the API Key if any"
- },
- "key": {
- "type": "string",
- "description": "The actual API Key you can send to Meilisearch"
- },
- "uid": {
- "type": "string",
- "format": "uuid",
- "description": "The `Uuid` specified while creating the key or autogenerated by Meilisearch."
- },
- "actions": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/Action"
- },
- "description": "The actions accessible with this key."
- },
- "indexes": {
- "type": "array",
- "items": {
- "type": "string"
- },
- "description": "The indexes accessible with this key."
- },
- "expiresAt": {
- "type": [
- "string",
- "null"
- ],
- "format": "date-time",
- "description": "The expiration date of the key. Once this timestamp is exceeded the key is not deleted but cannot be used anymore."
- },
- "createdAt": {
- "type": "string",
- "format": "date-time",
- "description": "The date of creation of this API Key.",
- "readOnly": true
- },
- "updatedAt": {
- "type": "string",
- "format": "date-time",
- "description": "The date of the last update made on this key.",
- "readOnly": true
- }
- }
- }
- },
- "offset": {
- "type": "integer",
- "minimum": 0
- },
- "limit": {
- "type": "integer",
- "minimum": 0
- },
- "total": {
- "type": "integer",
- "minimum": 0
- }
- }
- },
- "PaginationView_Value": {
- "type": "object",
- "required": [
- "results",
- "offset",
- "limit",
- "total"
- ],
- "properties": {
- "results": {
- "type": "array",
- "items": {}
- },
- "offset": {
- "type": "integer",
- "minimum": 0
- },
- "limit": {
- "type": "integer",
- "minimum": 0
- },
- "total": {
- "type": "integer",
- "minimum": 0
- }
- }
- },
- "PatchApiKey": {
- "type": "object",
- "properties": {
- "description": {
- "type": [
- "string",
- "null"
- ],
- "example": "This key is used to update documents in the products index"
- },
- "name": {
- "type": [
- "string",
- "null"
- ],
- "example": "Indexing Products API key"
- }
- }
- },
- "PrefixSearchSettings": {
- "type": "string",
- "enum": [
- "indexingTime",
- "disabled"
- ]
- },
- "ProgressStepView": {
- "type": "object",
- "required": [
- "currentStep",
- "finished",
- "total"
- ],
- "properties": {
- "currentStep": {
- "type": "string"
- },
- "finished": {
- "type": "integer",
- "format": "u-int32",
- "minimum": 0
- },
- "total": {
- "type": "integer",
- "format": "u-int32",
- "minimum": 0
- }
+ },
+ "tags": [{
+ "name": "Stats",
+ "description": "Stats gives extended information and metrics about indexes and the Meilisearch database."
+ }, {
+ "name": "Tasks",
+ "description": "The tasks route gives information about the progress of the [asynchronous operations](https://docs.meilisearch.com/learn/advanced/asynchronous_operations.html).",
+ "externalDocs": {
+ "url": "https://www.meilisearch.com/docs/reference/api/tasks",
+ "description": null
}
- },
- "ProgressView": {
- "type": "object",
- "required": [
- "steps",
- "percentage"
- ],
- "properties": {
- "steps": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/ProgressStepView"
- }
- },
- "percentage": {
- "type": "number",
- "format": "float"
- }
+ }, {
+ "name": "Batches",
+ "description": "The /batches route gives information about the progress of batches of asynchronous operations.",
+ "externalDocs": {
+ "url": "https://www.meilisearch.com/docs/reference/api/batches",
+ "description": null
}
- },
- "ProximityPrecisionView": {
- "type": "string",
- "enum": [
- "byWord",
- "byAttribute"
- ]
- },
- "RankingRuleView": {
- "oneOf": [
- {
- "type": "string",
- "description": "Sorted by decreasing number of matched query terms.\nQuery words at the front of an attribute is considered better than if it was at the back.",
- "enum": [
- "Words"
- ]
- },
- {
- "type": "string",
- "description": "Sorted by increasing number of typos.",
- "enum": [
- "Typo"
- ]
- },
- {
- "type": "string",
- "description": "Sorted by increasing distance between matched query terms.",
- "enum": [
- "Proximity"
- ]
- },
- {
- "type": "string",
- "description": "Documents with quey words contained in more important\nattributes are considered better.",
- "enum": [
- "Attribute"
- ]
- },
- {
- "type": "string",
- "description": "Dynamically sort at query time the documents. None, one or multiple Asc/Desc sortable\nattributes can be used in place of this criterion at query time.",
- "enum": [
- "Sort"
- ]
- },
- {
- "type": "string",
- "description": "Sorted by the similarity of the matched words with the query words.",
- "enum": [
- "Exactness"
- ]
- },
- {
- "type": "object",
- "description": "Sorted by the increasing value of the field specified.",
- "required": [
- "Asc"
- ],
- "properties": {
- "Asc": {
- "type": "string",
- "description": "Sorted by the increasing value of the field specified."
- }
- }
- },
- {
- "type": "object",
- "description": "Sorted by the decreasing value of the field specified.",
- "required": [
- "Desc"
- ],
- "properties": {
- "Desc": {
- "type": "string",
- "description": "Sorted by the decreasing value of the field specified."
- }
- }
- }
- ]
- },
- "RankingScoreThreshold": {
- "type": "number",
- "format": "double"
- },
- "Remote": {
- "type": "object",
- "properties": {
- "url": {
- "type": [
- "string",
- "null"
- ],
- "example": {
- "ms-0": {
- "url": "http://localhost:7700",
- "searchApiKey": null
- },
- "ms-1": {
- "url": "http://localhost:7701",
- "searchApiKey": "foo"
- },
- "ms-2": {
- "url": "http://localhost:7702",
- "searchApiKey": "bar"
- }
- }
- },
- "searchApiKey": {
- "type": [
- "string",
- "null"
- ],
- "example": "XWnBI8QHUc-4IlqbKPLUDuhftNq19mQtjc6JvmivzJU"
- }
+ }, {
+ "name": "Indexes",
+ "description": "An index is an entity that gathers a set of [documents](https://www.meilisearch.com/docs/learn/getting_started/documents) with its own [settings](https://www.meilisearch.com/docs/reference/api/settings). Learn more about indexes.",
+ "externalDocs": {
+ "url": "https://www.meilisearch.com/docs/reference/api/indexes",
+ "description": null
}
- },
- "ResponseError": {
- "type": "object",
- "required": [
- "message",
- "code",
- "type",
- "link"
- ],
- "properties": {
- "message": {
- "type": "string",
- "description": "The error message."
- },
- "code": {
- "$ref": "#/components/schemas/Code",
- "description": "The error code."
- },
- "type": {
- "$ref": "#/components/schemas/ErrorType",
- "description": "The error type."
- },
- "link": {
- "type": "string",
- "description": "A link to the documentation about this specific error."
- }
+ }, {
+ "name": "Documents",
+ "description": "Documents are objects composed of fields that can store any type of data. Each field contains an attribute and its associated value. Documents are stored inside [indexes](https://www.meilisearch.com/docs/learn/getting_started/indexes).",
+ "externalDocs": {
+ "url": "https://www.meilisearch.com/docs/learn/getting_started/documents",
+ "description": null
}
- },
- "RuntimeTogglableFeatures": {
- "type": "object",
- "properties": {
- "metrics": {
- "type": [
- "boolean",
- "null"
- ]
- },
- "logsRoute": {
- "type": [
- "boolean",
- "null"
- ]
- },
- "editDocumentsByFunction": {
- "type": [
- "boolean",
- "null"
- ]
- },
- "containsFilter": {
- "type": [
- "boolean",
- "null"
- ]
- },
- "network": {
- "type": [
- "boolean",
- "null"
- ]
- },
- "getTaskDocumentsRoute": {
- "type": [
- "boolean",
- "null"
- ]
- },
- "compositeEmbedders": {
- "type": [
- "boolean",
- "null"
- ]
- },
- "chatCompletions": {
- "type": [
- "boolean",
- "null"
- ]
- }
+ }, {
+ "name": "Facet Search",
+ "description": "The `/facet-search` route allows you to search for facet values. Facet search supports prefix search and typo tolerance. The returned hits are sorted lexicographically in ascending order. You can configure how facets are sorted using the sortFacetValuesBy property of the faceting index settings.",
+ "externalDocs": {
+ "url": "https://www.meilisearch.com/docs/reference/api/facet_search",
+ "description": null
}
- },
- "SearchHit": {
- "type": "object",
- "properties": {
- "_formatted": {
- "type": "object",
- "additionalProperties": true
- },
- "_matchesPosition": {
- "oneOf": [
- {
- "type": "null"
- },
- {
- "$ref": "#/components/schemas/BTreeMap"
- }
- ]
- },
- "_rankingScore": {
- "type": [
- "number",
- "null"
- ],
- "format": "double"
- },
- "_rankingScoreDetails": {
- "type": [
- "object",
- "null"
- ],
- "additionalProperties": {},
- "propertyNames": {
- "type": "string"
- }
- }
- },
- "additionalProperties": {}
- },
- "SearchQuery": {
- "type": "object",
- "required": [
- "offset",
- "limit",
- "retrieve_vectors",
- "crop_length",
- "show_matches_position",
- "show_ranking_score",
- "show_ranking_score_details",
- "highlight_pre_tag",
- "highlight_post_tag",
- "crop_marker",
- "matching_strategy"
- ],
- "properties": {
- "q": {
- "type": [
- "string",
- "null"
- ]
- },
- "vector": {
- "type": [
- "array",
- "null"
- ],
- "items": {
- "type": "number",
- "format": "float"
- }
- },
- "hybrid": {
- "oneOf": [
- {
- "type": "null"
- },
- {
- "$ref": "#/components/schemas/HybridQuery"
- }
- ]
- },
- "offset": {
- "type": "integer",
- "default": 0,
- "minimum": 0
- },
- "limit": {
- "type": "integer",
- "default": 20,
- "minimum": 0
- },
- "page": {
- "type": [
- "integer",
- "null"
- ],
- "minimum": 0
- },
- "hits_per_page": {
- "type": [
- "integer",
- "null"
- ],
- "minimum": 0
- },
- "attributes_to_retrieve": {
- "type": [
- "array",
- "null"
- ],
- "items": {
- "type": "string"
- },
- "uniqueItems": true
- },
- "retrieve_vectors": {
- "type": "boolean"
- },
- "attributes_to_crop": {
- "type": [
- "array",
- "null"
- ],
- "items": {
- "type": "string"
- }
- },
- "crop_length": {
- "type": "integer",
- "default": 10,
- "minimum": 0
- },
- "attributes_to_highlight": {
- "type": [
- "array",
- "null"
- ],
- "items": {
- "type": "string"
- },
- "uniqueItems": true
- },
- "show_matches_position": {
- "type": "boolean"
- },
- "show_ranking_score": {
- "type": "boolean"
- },
- "show_ranking_score_details": {
- "type": "boolean"
- },
- "filter": {},
- "sort": {
- "type": [
- "array",
- "null"
- ],
- "items": {
- "type": "string"
- }
- },
- "distinct": {
- "type": [
- "string",
- "null"
- ]
- },
- "facets": {
- "type": [
- "array",
- "null"
- ],
- "items": {
- "type": "string"
- }
- },
- "highlight_pre_tag": {
- "type": "string",
- "default": ""
- },
- "highlight_post_tag": {
- "type": "string",
- "default": ""
- },
- "crop_marker": {
- "type": "string",
- "default": "โฆ"
- },
- "matching_strategy": {
- "$ref": "#/components/schemas/MatchingStrategy"
- },
- "attributes_to_search_on": {
- "type": [
- "array",
- "null"
- ],
- "items": {
- "type": "string"
- }
- },
- "ranking_score_threshold": {
- "oneOf": [
- {
- "type": "null"
- },
- {
- "$ref": "#/components/schemas/RankingScoreThreshold"
- }
- ]
- },
- "locales": {
- "type": [
- "array",
- "null"
- ],
- "items": {
- "$ref": "#/components/schemas/Locale"
- }
- }
+ }, {
+ "name": "Similar documents",
+ "description": "The /similar route uses AI-powered search to return a number of documents similar to a target document.\n\nMeilisearch exposes two routes for retrieving similar documents: POST and GET. In the majority of cases, POST will offer better performance and ease of use.",
+ "externalDocs": {
+ "url": "https://www.meilisearch.com/docs/reference/api/similar",
+ "description": null
}
- },
- "SearchQueryWithIndex": {
- "type": "object",
- "description": "A `SearchQuery` + an index UID and optional FederationOptions.",
- "required": [
- "indexUid",
- "retrieveVectors",
- "cropLength",
- "showRankingScore",
- "showRankingScoreDetails",
- "showMatchesPosition",
- "highlightPreTag",
- "highlightPostTag",
- "cropMarker",
- "matchingStrategy"
- ],
- "properties": {
- "indexUid": {
- "$ref": "#/components/schemas/IndexUid"
- },
- "q": {
- "type": [
- "string",
- "null"
- ]
- },
- "vector": {
- "type": [
- "array",
- "null"
- ],
- "items": {
- "type": "number",
- "format": "float"
- }
- },
- "hybrid": {
- "oneOf": [
- {
- "type": "null"
- },
- {
- "$ref": "#/components/schemas/HybridQuery"
- }
- ]
- },
- "offset": {
- "type": [
- "integer",
- "null"
- ],
- "minimum": 0
- },
- "limit": {
- "type": [
- "integer",
- "null"
- ],
- "minimum": 0
- },
- "page": {
- "type": [
- "integer",
- "null"
- ],
- "minimum": 0
- },
- "hitsPerPage": {
- "type": [
- "integer",
- "null"
- ],
- "minimum": 0
- },
- "attributesToRetrieve": {
- "type": [
- "array",
- "null"
- ],
- "items": {
- "type": "string"
- },
- "uniqueItems": true
- },
- "retrieveVectors": {
- "type": "boolean"
- },
- "attributesToCrop": {
- "type": [
- "array",
- "null"
- ],
- "items": {
- "type": "string"
- }
- },
- "cropLength": {
- "type": "integer",
- "minimum": 0
- },
- "attributesToHighlight": {
- "type": [
- "array",
- "null"
- ],
- "items": {
- "type": "string"
- },
- "uniqueItems": true
- },
- "showRankingScore": {
- "type": "boolean"
- },
- "showRankingScoreDetails": {
- "type": "boolean"
- },
- "showMatchesPosition": {
- "type": "boolean"
- },
- "filter": {},
- "sort": {
- "type": [
- "array",
- "null"
- ],
- "items": {
- "type": "string"
- }
- },
- "distinct": {
- "type": [
- "string",
- "null"
- ]
- },
- "facets": {
- "type": [
- "array",
- "null"
- ],
- "items": {
- "type": "string"
- }
- },
- "highlightPreTag": {
- "type": "string"
- },
- "highlightPostTag": {
- "type": "string"
- },
- "cropMarker": {
- "type": "string"
- },
- "matchingStrategy": {
- "$ref": "#/components/schemas/MatchingStrategy"
- },
- "attributesToSearchOn": {
- "type": [
- "array",
- "null"
- ],
- "items": {
- "type": "string"
- }
- },
- "rankingScoreThreshold": {
- "oneOf": [
- {
- "type": "null"
- },
- {
- "$ref": "#/components/schemas/RankingScoreThreshold"
- }
- ]
- },
- "locales": {
- "type": [
- "array",
- "null"
- ],
- "items": {
- "$ref": "#/components/schemas/Locale"
- }
- },
- "federationOptions": {
- "oneOf": [
- {
- "type": "null"
- },
- {
- "$ref": "#/components/schemas/FederationOptions"
- }
- ]
- }
+ }, {
+ "name": "Settings",
+ "description": "Use the /settings route to customize search settings for a given index. You can either modify all index settings at once using the update settings endpoint, or use a child route to configure a single setting.",
+ "externalDocs": {
+ "url": "https://www.meilisearch.com/docs/reference/api/settings",
+ "description": null
}
- },
- "SearchResult": {
- "allOf": [
- {
- "$ref": "#/components/schemas/HitsInfo"
- },
- {
- "type": "object",
- "required": [
- "hits",
- "query",
- "processingTimeMs"
- ],
- "properties": {
- "hits": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/SearchHit"
- }
- },
- "query": {
- "type": "string"
- },
- "processingTimeMs": {
- "type": "integer",
- "minimum": 0
- },
- "facetDistribution": {
- "type": [
- "object",
- "null"
- ],
- "additionalProperties": {},
- "propertyNames": {
- "type": "string"
- }
- },
- "facetStats": {
- "type": [
- "object",
- "null"
- ],
- "additionalProperties": {
- "$ref": "#/components/schemas/FacetStats"
- },
- "propertyNames": {
- "type": "string"
- }
- },
- "semanticHitCount": {
- "type": [
- "integer",
- "null"
- ],
- "format": "u-int32",
- "minimum": 0
- }
- }
- }
- ]
- },
- "SearchResultWithIndex": {
- "allOf": [
- {
- "$ref": "#/components/schemas/SearchResult"
- },
- {
- "type": "object",
- "required": [
- "indexUid"
- ],
- "properties": {
- "indexUid": {
- "type": "string"
- }
- }
- }
- ]
- },
- "SearchResults": {
- "type": "object",
- "required": [
- "results"
- ],
- "properties": {
- "results": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/SearchResultWithIndex"
- }
- }
+ }, {
+ "name": "Search",
+ "description": "Meilisearch exposes two routes to perform searches:\n\n- A POST route: this is the preferred route when using API authentication, as it allows [preflight request](https://developer.mozilla.org/en-US/docs/Glossary/Preflight_request) caching and better performance.\n- A GET route: the usage of this route is discouraged, unless you have good reason to do otherwise (specific caching abilities for example)",
+ "externalDocs": {
+ "url": "https://www.meilisearch.com/docs/reference/api/search",
+ "description": null
}
- },
- "SettingEmbeddingSettings": {
- "type": "object",
- "description": "\"Technical\" type that is required due to utoipa.\n\nWe did not find a way to implement [`utoipa::ToSchema`] for the [`Setting`] enum,\nbut most types can use the `value_type` macro parameter to workaround that issue.\n\nHowever that type is used in the settings route, including through the macro that auto-generate\nall the settings route, so we can't remap the `value_type`.",
- "properties": {
- "inner": {
- "oneOf": [
- {
- "type": "null"
- },
- {
- "type": "object",
- "properties": {
- "source": {
- "oneOf": [
- {
- "type": "null"
- },
- {
- "$ref": "#/components/schemas/EmbedderSource",
- "description": "The source used to provide the embeddings.\n\nWhich embedder parameters are available and mandatory is determined by the value of this setting.\n\n# ๐ Reindexing\n\n- ๐๏ธ Changing the value of this parameter always regenerates embeddings.\n\n# Defaults\n\n- Defaults to `openAi`"
- }
- ]
- },
- "model": {
- "type": [
- "string",
- "null"
- ],
- "description": "The name of the model to use.\n\n# Mandatory\n\n- This parameter is mandatory for source `ollama`\n\n# Availability\n\n- This parameter is available for sources `openAi`, `huggingFace`, `ollama`\n\n# ๐ Reindexing\n\n- ๐๏ธ Changing the value of this parameter always regenerates embeddings.\n\n# Defaults\n\n- For source `openAi`, defaults to `text-embedding-3-small`\n- For source `huggingFace`, defaults to `BAAI/bge-base-en-v1.5`"
- },
- "revision": {
- "type": [
- "string",
- "null"
- ],
- "description": "The revision (commit SHA1) of the model to use.\n\nIf unspecified, Meilisearch picks the latest revision of the model.\n\n# Availability\n\n- This parameter is available for source `huggingFace`\n\n# ๐ Reindexing\n\n- ๐๏ธ Changing the value of this parameter always regenerates embeddings\n\n# Defaults\n\n- When `model` is set to default, defaults to `617ca489d9e86b49b8167676d8220688b99db36e`\n- Otherwise, defaults to `null`"
- },
- "pooling": {
- "oneOf": [
- {
- "type": "null"
- },
- {
- "$ref": "#/components/schemas/OverridePooling",
- "description": "The pooling method to use.\n\n# Availability\n\n- This parameter is available for source `huggingFace`\n\n# ๐ Reindexing\n\n- ๐๏ธ Changing the value of this parameter always regenerates embeddings\n\n# Defaults\n\n- Defaults to `useModel`\n\n# Compatibility Note\n\n- Embedders created before this parameter was available default to `forceMean` to preserve the existing behavior."
- }
- ]
- },
- "apiKey": {
- "type": [
- "string",
- "null"
- ],
- "description": "The API key to pass to the remote embedder while making requests.\n\n# Availability\n\n- This parameter is available for source `openAi`, `ollama`, `rest`\n\n# ๐ Reindexing\n\n- ๐ฑ Changing the value of this parameter never regenerates embeddings\n\n# Defaults\n\n- For source `openAi`, the key is read from `OPENAI_API_KEY`, then `MEILI_OPENAI_API_KEY`.\n- For other sources, no bearer token is sent if this parameter is not set.\n\n# Note\n\n- This setting is partially hidden when returned by the settings"
- },
- "dimensions": {
- "type": [
- "string",
- "null"
- ],
- "description": "The expected dimensions of the embeddings produced by this embedder.\n\n# Mandatory\n\n- This parameter is mandatory for source `userProvided`\n\n# Availability\n\n- This parameter is available for source `openAi`, `ollama`, `rest`, `userProvided`\n\n# ๐ Reindexing\n\n- ๐๏ธ When the source is `openAi`, changing the value of this parameter always regenerates embeddings\n- ๐ฑ For other sources, changing the value of this parameter never regenerates embeddings\n\n# Defaults\n\n- For source `openAi`, the dimensions is the maximum allowed by the model.\n- For sources `ollama` and `rest`, the dimensions are inferred by embedding a sample text."
- },
- "binaryQuantized": {
- "type": [
- "boolean",
- "null"
- ],
- "description": "Whether to binary quantize the embeddings of this embedder.\n\nBinary quantized embeddings are smaller than regular embeddings, which improves\ndisk usage and retrieval speed, at the cost of relevancy.\n\n# Availability\n\n- This parameter is available for all embedders\n\n# ๐ Reindexing\n\n- ๐๏ธ When set to `true`, embeddings are not regenerated, but they are binary quantized, which takes time.\n\n# Defaults\n\n- Defaults to `false`\n\n# Note\n\nAs binary quantization is a destructive operation, it is not possible to disable again this setting after\nfirst enabling it. If you are unsure of whether the performance-relevancy tradeoff is right for you,\nwe recommend to use this parameter on a test index first."
- },
- "documentTemplate": {
- "type": [
- "boolean",
- "null"
- ],
- "description": "A liquid template used to render documents to a text that can be embedded.\n\nMeillisearch interpolates the template for each document and sends the resulting text to the embedder.\nThe embedder then generates document vectors based on this text.\n\n# Availability\n\n- This parameter is available for source `openAi`, `huggingFace`, `ollama` and `rest\n\n# ๐ Reindexing\n\n- ๐๏ธ When modified, embeddings are regenerated for documents whose rendering through the template produces a different text."
- },
- "documentTemplateMaxBytes": {
- "type": [
- "integer",
- "null"
- ],
- "description": "Rendered texts are truncated to this size.\n\n# Availability\n\n- This parameter is available for source `openAi`, `huggingFace`, `ollama` and `rest`\n\n# ๐ Reindexing\n\n- ๐๏ธ When increased, embeddings are regenerated for documents whose rendering through the template produces a different text.\n- ๐ฑ When decreased, embeddings are never regenerated\n\n# Default\n\n- Defaults to 400",
- "minimum": 0
- },
- "url": {
- "type": [
- "string",
- "null"
- ],
- "description": "URL to reach the remote embedder.\n\n# Mandatory\n\n- This parameter is mandatory for source `rest`\n\n# Availability\n\n- This parameter is available for source `openAi`, `ollama` and `rest`\n\n# ๐ Reindexing\n\n- ๐ฑ When modified for source `openAi`, embeddings are never regenerated\n- ๐๏ธ When modified for sources `ollama` and `rest`, embeddings are always regenerated"
- },
- "request": {
- "description": "Template request to send to the remote embedder.\n\n# Mandatory\n\n- This parameter is mandatory for source `rest`\n\n# Availability\n\n- This parameter is available for source `rest`\n\n# ๐ Reindexing\n\n- ๐๏ธ Changing the value of this parameter always regenerates embeddings"
- },
- "response": {
- "description": "Template response indicating how to find the embeddings in the response from the remote embedder.\n\n# Mandatory\n\n- This parameter is mandatory for source `rest`\n\n# Availability\n\n- This parameter is available for source `rest`\n\n# ๐ Reindexing\n\n- ๐๏ธ Changing the value of this parameter always regenerates embeddings"
- },
- "headers": {
- "type": [
- "object",
- "null"
- ],
- "description": "Additional headers to send to the remote embedder.\n\n# Availability\n\n- This parameter is available for source `rest`\n\n# ๐ Reindexing\n\n- ๐ฑ Changing the value of this parameter never regenerates embeddings",
- "additionalProperties": {
- "type": "string"
- },
- "propertyNames": {
- "type": "string"
- }
- },
- "searchEmbedder": {
- "oneOf": [
- {
- "type": "null"
- },
- {
- "$ref": "#/components/schemas/SubEmbeddingSettings"
- }
- ]
- },
- "indexingEmbedder": {
- "oneOf": [
- {
- "type": "null"
- },
- {
- "$ref": "#/components/schemas/SubEmbeddingSettings"
- }
- ]
- },
- "distribution": {
- "oneOf": [
- {
- "type": "null"
- },
- {
- "$ref": "#/components/schemas/DistributionShift",
- "description": "Affine transformation applied to the semantic score to make it more comparable to the ranking score.\n\n# Availability\n\n- This parameter is available for all embedders\n\n# ๐ Reindexing\n\n- ๐ฑ Changing the value of this parameter never regenerates embeddings"
- }
- ]
- }
- },
- "additionalProperties": false
- }
- ]
- }
+ }, {
+ "name": "Snapshots",
+ "description": "The snapshots route allows the creation of database snapshots. Snapshots are .snapshot files that can be used to launch Meilisearch.\nCreating a snapshot is also referred to as exporting it, whereas launching Meilisearch with a snapshot is referred to as importing it.\nDuring a snapshot export, all indexes of the current instance are exportedโtogether with their documents and settingsโand saved as a single .snapshot file.\nDuring a snapshot import, all indexes contained in the indicated .snapshot file are imported along with their associated documents and settings.\nSnapshot imports are performed at launch using an option.",
+ "externalDocs": {
+ "url": "https://www.meilisearch.com/docs/reference/api/snapshots",
+ "description": null
}
- },
- "Settings_Checked": {
- "type": "object",
- "description": "Holds all the settings for an index. `T` can either be `Checked` if they represents settings\nwhose validity is guaranteed, or `Unchecked` if they need to be validated. In the later case, a\ncall to `check` will return a `Settings` from a `Settings`.",
- "properties": {
- "displayedAttributes": {
- "type": [
- "array",
- "null"
- ],
- "items": {
- "type": "string"
- },
- "description": "Fields displayed in the returned documents.",
- "example": [
- "id",
- "title",
- "description",
- "url"
- ]
- },
- "searchableAttributes": {
- "type": [
- "array",
- "null"
- ],
- "items": {
- "type": "string"
- },
- "description": "Fields in which to search for matching query words sorted by order of importance.",
- "example": [
- "title",
- "description"
- ]
- },
- "filterableAttributes": {
- "type": [
- "array",
- "null"
- ],
- "items": {
- "$ref": "#/components/schemas/FilterableAttributesRule"
- },
- "description": "Attributes to use for faceting and filtering. See [Filtering and Faceted Search](https://www.meilisearch.com/docs/learn/filtering_and_sorting/search_with_facet_filters).",
- "example": [
- "release_date",
- "genre"
- ]
- },
- "sortableAttributes": {
- "type": [
- "array",
- "null"
- ],
- "items": {
- "type": "string"
- },
- "description": "Attributes to use when sorting search results.",
- "example": [
- "release_date"
- ]
- },
- "rankingRules": {
- "type": [
- "array",
- "null"
- ],
- "items": {
- "type": "string"
- },
- "description": "List of ranking rules sorted by order of importance. The order is customizable.\n[A list of ordered built-in ranking rules](https://www.meilisearch.com/docs/learn/relevancy/relevancy).",
- "example": [
- "words",
- "typo",
- "proximity",
- "attribute",
- "exactness"
- ]
- },
- "stopWords": {
- "type": [
- "array",
- "null"
- ],
- "items": {
- "type": "string"
- },
- "description": "List of words ignored when present in search queries.",
- "example": [
- "the",
- "a",
- "them",
- "their"
- ]
- },
- "nonSeparatorTokens": {
- "type": [
- "array",
- "null"
- ],
- "items": {
- "type": "string"
- },
- "description": "List of characters not delimiting where one term begins and ends.",
- "example": [
- " ",
- "\n"
- ]
- },
- "separatorTokens": {
- "type": [
- "array",
- "null"
- ],
- "items": {
- "type": "string"
- },
- "description": "List of characters delimiting where one term begins and ends.",
- "example": [
- "S"
- ]
- },
- "dictionary": {
- "type": [
- "array",
- "null"
- ],
- "items": {
- "type": "string"
- },
- "description": "List of strings Meilisearch should parse as a single term.",
- "example": [
- "iPhone pro"
- ]
- },
- "synonyms": {
- "type": [
- "object",
- "null"
- ],
- "description": "List of associated words treated similarly. A word associated to an array of word as synonyms.",
- "additionalProperties": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "propertyNames": {
- "type": "string"
- },
- "example": {
- "he": [
- "she",
- "they",
- "them"
- ],
- "phone": [
- "iPhone",
- "android"
- ]
- }
- },
- "distinctAttribute": {
- "type": [
- "string",
- "null"
- ],
- "description": "Search returns documents with distinct (different) values of the given field.",
- "example": "sku"
- },
- "proximityPrecision": {
- "type": [
- "string",
- "null"
- ],
- "description": "Precision level when calculating the proximity ranking rule.",
- "example": "byAttribute"
- },
- "typoTolerance": {
- "oneOf": [
- {
- "type": "null"
- },
- {
- "$ref": "#/components/schemas/TypoSettings",
- "description": "Customize typo tolerance feature."
- }
- ]
- },
- "faceting": {
- "oneOf": [
- {
- "type": "null"
- },
- {
- "$ref": "#/components/schemas/FacetingSettings",
- "description": "Faceting settings."
- }
- ]
- },
- "pagination": {
- "oneOf": [
- {
- "type": "null"
- },
- {
- "$ref": "#/components/schemas/PaginationSettings",
- "description": "Pagination settings."
- }
- ]
- },
- "embedders": {
- "type": [
- "object",
- "null"
- ],
- "description": "Embedder required for performing semantic search queries.",
- "additionalProperties": {
- "$ref": "#/components/schemas/SettingEmbeddingSettings"
- },
- "propertyNames": {
- "type": "string"
- }
- },
- "searchCutoffMs": {
- "type": [
- "integer",
- "null"
- ],
- "format": "u-int64",
- "description": "Maximum duration of a search query.",
- "example": 50,
- "minimum": 0
- },
- "localizedAttributes": {
- "type": [
- "array",
- "null"
- ],
- "items": {
- "$ref": "#/components/schemas/LocalizedAttributesRuleView"
- },
- "example": 50
- },
- "facetSearch": {
- "type": [
- "boolean",
- "null"
- ],
- "example": true
- },
- "prefixSearch": {
- "oneOf": [
- {
- "type": "null"
- },
- {
- "$ref": "#/components/schemas/PrefixSearchSettings"
- }
- ]
- },
- "chat": {
- "oneOf": [
- {
- "type": "null"
- },
- {
- "$ref": "#/components/schemas/ChatSettings",
- "description": "Customize the chat prompting."
- }
- ]
- }
- },
- "additionalProperties": false
- },
- "Settings_Unchecked": {
- "type": "object",
- "description": "Holds all the settings for an index. `T` can either be `Checked` if they represents settings\nwhose validity is guaranteed, or `Unchecked` if they need to be validated. In the later case, a\ncall to `check` will return a `Settings` from a `Settings`.",
- "properties": {
- "displayedAttributes": {
- "type": [
- "array",
- "null"
- ],
- "items": {
- "type": "string"
- },
- "description": "Fields displayed in the returned documents.",
- "example": [
- "id",
- "title",
- "description",
- "url"
- ]
- },
- "searchableAttributes": {
- "type": [
- "array",
- "null"
- ],
- "items": {
- "type": "string"
- },
- "description": "Fields in which to search for matching query words sorted by order of importance.",
- "example": [
- "title",
- "description"
- ]
- },
- "filterableAttributes": {
- "type": [
- "array",
- "null"
- ],
- "items": {
- "$ref": "#/components/schemas/FilterableAttributesRule"
- },
- "description": "Attributes to use for faceting and filtering. See [Filtering and Faceted Search](https://www.meilisearch.com/docs/learn/filtering_and_sorting/search_with_facet_filters).",
- "example": [
- "release_date",
- "genre"
- ]
- },
- "sortableAttributes": {
- "type": [
- "array",
- "null"
- ],
- "items": {
- "type": "string"
- },
- "description": "Attributes to use when sorting search results.",
- "example": [
- "release_date"
- ]
- },
- "rankingRules": {
- "type": [
- "array",
- "null"
- ],
- "items": {
- "type": "string"
- },
- "description": "List of ranking rules sorted by order of importance. The order is customizable.\n[A list of ordered built-in ranking rules](https://www.meilisearch.com/docs/learn/relevancy/relevancy).",
- "example": [
- "words",
- "typo",
- "proximity",
- "attribute",
- "exactness"
- ]
- },
- "stopWords": {
- "type": [
- "array",
- "null"
- ],
- "items": {
- "type": "string"
- },
- "description": "List of words ignored when present in search queries.",
- "example": [
- "the",
- "a",
- "them",
- "their"
- ]
- },
- "nonSeparatorTokens": {
- "type": [
- "array",
- "null"
- ],
- "items": {
- "type": "string"
- },
- "description": "List of characters not delimiting where one term begins and ends.",
- "example": [
- " ",
- "\n"
- ]
- },
- "separatorTokens": {
- "type": [
- "array",
- "null"
- ],
- "items": {
- "type": "string"
- },
- "description": "List of characters delimiting where one term begins and ends.",
- "example": [
- "S"
- ]
- },
- "dictionary": {
- "type": [
- "array",
- "null"
- ],
- "items": {
- "type": "string"
- },
- "description": "List of strings Meilisearch should parse as a single term.",
- "example": [
- "iPhone pro"
- ]
- },
- "synonyms": {
- "type": [
- "object",
- "null"
- ],
- "description": "List of associated words treated similarly. A word associated to an array of word as synonyms.",
- "additionalProperties": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "propertyNames": {
- "type": "string"
- },
- "example": {
- "he": [
- "she",
- "they",
- "them"
- ],
- "phone": [
- "iPhone",
- "android"
- ]
- }
- },
- "distinctAttribute": {
- "type": [
- "string",
- "null"
- ],
- "description": "Search returns documents with distinct (different) values of the given field.",
- "example": "sku"
- },
- "proximityPrecision": {
- "type": [
- "string",
- "null"
- ],
- "description": "Precision level when calculating the proximity ranking rule.",
- "example": "byAttribute"
- },
- "typoTolerance": {
- "oneOf": [
- {
- "type": "null"
- },
- {
- "$ref": "#/components/schemas/TypoSettings",
- "description": "Customize typo tolerance feature."
- }
- ]
- },
- "faceting": {
- "oneOf": [
- {
- "type": "null"
- },
- {
- "$ref": "#/components/schemas/FacetingSettings",
- "description": "Faceting settings."
- }
- ]
- },
- "pagination": {
- "oneOf": [
- {
- "type": "null"
- },
- {
- "$ref": "#/components/schemas/PaginationSettings",
- "description": "Pagination settings."
- }
- ]
- },
- "embedders": {
- "type": [
- "object",
- "null"
- ],
- "description": "Embedder required for performing semantic search queries.",
- "additionalProperties": {
- "$ref": "#/components/schemas/SettingEmbeddingSettings"
- },
- "propertyNames": {
- "type": "string"
- }
- },
- "searchCutoffMs": {
- "type": [
- "integer",
- "null"
- ],
- "format": "u-int64",
- "description": "Maximum duration of a search query.",
- "example": 50,
- "minimum": 0
- },
- "localizedAttributes": {
- "type": [
- "array",
- "null"
- ],
- "items": {
- "$ref": "#/components/schemas/LocalizedAttributesRuleView"
- },
- "example": 50
- },
- "facetSearch": {
- "type": [
- "boolean",
- "null"
- ],
- "example": true
- },
- "prefixSearch": {
- "oneOf": [
- {
- "type": "null"
- },
- {
- "$ref": "#/components/schemas/PrefixSearchSettings"
- }
- ]
- },
- "chat": {
- "oneOf": [
- {
- "type": "null"
- },
- {
- "$ref": "#/components/schemas/ChatSettings",
- "description": "Customize the chat prompting."
- }
- ]
- }
- },
- "additionalProperties": false
- },
- "SimilarQuery": {
- "type": "object",
- "required": [
- "id",
- "offset",
- "limit",
- "embedder",
- "retrieve_vectors",
- "show_ranking_score",
- "show_ranking_score_details",
- "ranking_score_threshold"
- ],
- "properties": {
- "id": {
- "type": "string"
- },
- "offset": {
- "type": "integer",
- "minimum": 0
- },
- "limit": {
- "type": "integer",
- "minimum": 0
- },
- "filter": {},
- "embedder": {
- "type": "string"
- },
- "attributes_to_retrieve": {
- "type": [
- "array",
- "null"
- ],
- "items": {
- "type": "string"
- },
- "uniqueItems": true
- },
- "retrieve_vectors": {
- "type": "boolean"
- },
- "show_ranking_score": {
- "type": "boolean"
- },
- "show_ranking_score_details": {
- "type": "boolean"
- },
- "ranking_score_threshold": {
- "type": "number",
- "format": "double"
- }
+ }, {
+ "name": "Dumps",
+ "description": "The `dumps` route allows the creation of database dumps.\nDumps are `.dump` files that can be used to launch Meilisearch. Dumps are compatible between Meilisearch versions.\nCreating a dump is also referred to as exporting it, whereas launching Meilisearch with a dump is referred to as importing it.\nDuring a [dump export](https://www.meilisearch.com/docs/reference/api/dump#create-a-dump), all indexes of the current instance are\nexportedโtogether with their documents and settingsโand saved as a single `.dump` file. During a dump import,\nall indexes contained in the indicated `.dump` file are imported along with their associated documents and settings.\nAny existing index with the same uid as an index in the dump file will be overwritten.\nDump imports are [performed at launch](https://www.meilisearch.com/docs/learn/advanced/dumps#importing-a-dump) using an option.",
+ "externalDocs": {
+ "url": "https://www.meilisearch.com/docs/reference/api/dump",
+ "description": null
}
- },
- "SimilarResult": {
- "allOf": [
- {
- "$ref": "#/components/schemas/HitsInfo"
- },
- {
- "type": "object",
- "required": [
- "hits",
- "id",
- "processingTimeMs"
- ],
- "properties": {
- "hits": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/SearchHit"
- }
- },
- "id": {
- "type": "string"
- },
- "processingTimeMs": {
- "type": "integer",
- "minimum": 0
- }
- }
- }
- ]
- },
- "Stats": {
- "type": "object",
- "required": [
- "databaseSize",
- "usedDatabaseSize",
- "indexes"
- ],
- "properties": {
- "databaseSize": {
- "type": "integer",
- "format": "u-int64",
- "description": "The disk space used by the database, in bytes.",
- "minimum": 0
- },
- "usedDatabaseSize": {
- "type": "integer",
- "format": "u-int64",
- "description": "The size of the database, in bytes.",
- "minimum": 0
- },
- "lastUpdate": {
- "type": [
- "string",
- "null"
- ],
- "format": "date-time",
- "description": "The date of the last update in the RFC 3339 formats. Can be `null` if no update has ever been processed."
- },
- "indexes": {
- "type": "object",
- "description": "The stats of every individual index your API key lets you access.",
- "additionalProperties": {
- "$ref": "#/components/schemas/IndexStats"
- },
- "propertyNames": {
- "type": "string"
- }
- }
+ }, {
+ "name": "Keys",
+ "description": "Manage API `keys` for a Meilisearch instance. Each key has a given set of permissions.\nYou must have the master key or the default admin key to access the keys route. More information about the keys and their rights.\nAccessing any route under `/keys` without having set a master key will result in an error.",
+ "externalDocs": {
+ "url": "https://www.meilisearch.com/docs/reference/api/keys",
+ "description": null
}
- },
- "Status": {
- "type": "string",
- "description": "The status of a task.",
- "enum": [
- "enqueued",
- "processing",
- "succeeded",
- "failed",
- "canceled"
- ],
- "example": "processing"
- },
- "SubEmbeddingSettings": {
- "type": "object",
- "properties": {
- "source": {
- "oneOf": [
- {
- "type": "null"
- },
- {
- "$ref": "#/components/schemas/EmbedderSource",
- "description": "The source used to provide the embeddings.\n\nWhich embedder parameters are available and mandatory is determined by the value of this setting.\n\n# ๐ Reindexing\n\n- ๐๏ธ Changing the value of this parameter always regenerates embeddings.\n\n# Defaults\n\n- Defaults to `openAi`"
- }
- ]
- },
- "model": {
- "type": [
- "string",
- "null"
- ],
- "description": "The name of the model to use.\n\n# Mandatory\n\n- This parameter is mandatory for source `ollama`\n\n# Availability\n\n- This parameter is available for sources `openAi`, `huggingFace`, `ollama`\n\n# ๐ Reindexing\n\n- ๐๏ธ Changing the value of this parameter always regenerates embeddings.\n\n# Defaults\n\n- For source `openAi`, defaults to `text-embedding-3-small`\n- For source `huggingFace`, defaults to `BAAI/bge-base-en-v1.5`"
- },
- "revision": {
- "type": [
- "string",
- "null"
- ],
- "description": "The revision (commit SHA1) of the model to use.\n\nIf unspecified, Meilisearch picks the latest revision of the model.\n\n# Availability\n\n- This parameter is available for source `huggingFace`\n\n# ๐ Reindexing\n\n- ๐๏ธ Changing the value of this parameter always regenerates embeddings\n\n# Defaults\n\n- When `model` is set to default, defaults to `617ca489d9e86b49b8167676d8220688b99db36e`\n- Otherwise, defaults to `null`"
- },
- "pooling": {
- "oneOf": [
- {
- "type": "null"
- },
- {
- "$ref": "#/components/schemas/OverridePooling",
- "description": "The pooling method to use.\n\n# Availability\n\n- This parameter is available for source `huggingFace`\n\n# ๐ Reindexing\n\n- ๐๏ธ Changing the value of this parameter always regenerates embeddings\n\n# Defaults\n\n- Defaults to `useModel`\n\n# Compatibility Note\n\n- Embedders created before this parameter was available default to `forceMean` to preserve the existing behavior."
- }
- ]
- },
- "apiKey": {
- "type": [
- "string",
- "null"
- ],
- "description": "The API key to pass to the remote embedder while making requests.\n\n# Availability\n\n- This parameter is available for source `openAi`, `ollama`, `rest`\n\n# ๐ Reindexing\n\n- ๐ฑ Changing the value of this parameter never regenerates embeddings\n\n# Defaults\n\n- For source `openAi`, the key is read from `OPENAI_API_KEY`, then `MEILI_OPENAI_API_KEY`.\n- For other sources, no bearer token is sent if this parameter is not set.\n\n# Note\n\n- This setting is partially hidden when returned by the settings"
- },
- "dimensions": {
- "type": [
- "string",
- "null"
- ],
- "description": "The expected dimensions of the embeddings produced by this embedder.\n\n# Mandatory\n\n- This parameter is mandatory for source `userProvided`\n\n# Availability\n\n- This parameter is available for source `openAi`, `ollama`, `rest`, `userProvided`\n\n# ๐ Reindexing\n\n- ๐๏ธ When the source is `openAi`, changing the value of this parameter always regenerates embeddings\n- ๐ฑ For other sources, changing the value of this parameter never regenerates embeddings\n\n# Defaults\n\n- For source `openAi`, the dimensions is the maximum allowed by the model.\n- For sources `ollama` and `rest`, the dimensions are inferred by embedding a sample text."
- },
- "documentTemplate": {
- "type": [
- "boolean",
- "null"
- ],
- "description": "A liquid template used to render documents to a text that can be embedded.\n\nMeillisearch interpolates the template for each document and sends the resulting text to the embedder.\nThe embedder then generates document vectors based on this text.\n\n# Availability\n\n- This parameter is available for source `openAi`, `huggingFace`, `ollama` and `rest\n\n# ๐ Reindexing\n\n- ๐๏ธ When modified, embeddings are regenerated for documents whose rendering through the template produces a different text."
- },
- "documentTemplateMaxBytes": {
- "type": [
- "integer",
- "null"
- ],
- "description": "Rendered texts are truncated to this size.\n\n# Availability\n\n- This parameter is available for source `openAi`, `huggingFace`, `ollama` and `rest`\n\n# ๐ Reindexing\n\n- ๐๏ธ When increased, embeddings are regenerated for documents whose rendering through the template produces a different text.\n- ๐ฑ When decreased, embeddings are never regenerated\n\n# Default\n\n- Defaults to 400",
- "minimum": 0
- },
- "url": {
- "type": [
- "string",
- "null"
- ],
- "description": "URL to reach the remote embedder.\n\n# Mandatory\n\n- This parameter is mandatory for source `rest`\n\n# Availability\n\n- This parameter is available for source `openAi`, `ollama` and `rest`\n\n# ๐ Reindexing\n\n- ๐ฑ When modified for source `openAi`, embeddings are never regenerated\n- ๐๏ธ When modified for sources `ollama` and `rest`, embeddings are always regenerated"
- },
- "request": {
- "description": "Template request to send to the remote embedder.\n\n# Mandatory\n\n- This parameter is mandatory for source `rest`\n\n# Availability\n\n- This parameter is available for source `rest`\n\n# ๐ Reindexing\n\n- ๐๏ธ Changing the value of this parameter always regenerates embeddings"
- },
- "response": {
- "description": "Template response indicating how to find the embeddings in the response from the remote embedder.\n\n# Mandatory\n\n- This parameter is mandatory for source `rest`\n\n# Availability\n\n- This parameter is available for source `rest`\n\n# ๐ Reindexing\n\n- ๐๏ธ Changing the value of this parameter always regenerates embeddings"
- },
- "headers": {
- "type": [
- "object",
- "null"
- ],
- "description": "Additional headers to send to the remote embedder.\n\n# Availability\n\n- This parameter is available for source `rest`\n\n# ๐ Reindexing\n\n- ๐ฑ Changing the value of this parameter never regenerates embeddings",
- "additionalProperties": {
- "type": "string"
- },
- "propertyNames": {
- "type": "string"
- }
- }
- },
- "additionalProperties": false
- },
- "SummarizedTaskView": {
- "type": "object",
- "required": [
- "taskUid",
- "status",
- "type",
- "enqueuedAt"
- ],
- "properties": {
- "taskUid": {
- "type": "integer",
- "format": "u-int32",
- "description": "The task unique identifier.",
- "minimum": 0
- },
- "indexUid": {
- "type": [
- "string",
- "null"
- ],
- "description": "The index affected by this task. May be `null` if the task is not linked to any index."
- },
- "status": {
- "$ref": "#/components/schemas/Status",
- "description": "The status of the task."
- },
- "type": {
- "$ref": "#/components/schemas/Kind",
- "description": "The type of the task."
- },
- "enqueuedAt": {
- "type": "string",
- "format": "date-time",
- "description": "The date on which the task was enqueued."
- }
+ }, {
+ "name": "Logs",
+ "description": "Everything about retrieving or customizing logs.\nCurrently [experimental](https://www.meilisearch.com/docs/learn/experimental/overview).",
+ "externalDocs": {
+ "url": "https://www.meilisearch.com/docs/learn/experimental/log_customization",
+ "description": null
}
- },
- "SwapIndexesPayload": {
- "type": "object",
- "required": [
- "indexes"
- ],
- "properties": {
- "indexes": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/IndexUid"
- },
- "description": "Array of the two indexUids to be swapped"
- }
+ }, {
+ "name": "Multi-search",
+ "description": "The `/multi-search` route allows you to perform multiple search queries on one or more indexes by bundling them into a single HTTP request. Multi-search is also known as federated search.",
+ "externalDocs": {
+ "url": "https://www.meilisearch.com/docs/reference/api/multi_search",
+ "description": null
}
- },
- "TaskView": {
- "type": "object",
- "required": [
- "uid",
- "status",
- "type",
- "enqueuedAt"
- ],
- "properties": {
- "uid": {
- "type": "integer",
- "format": "u-int32",
- "description": "The unique sequential identifier of the task.",
- "example": 4312,
- "minimum": 0
- },
- "batchUid": {
- "type": [
- "integer",
- "null"
- ],
- "format": "u-int32",
- "description": "The unique identifier of the index where this task is operated.",
- "example": "movies",
- "minimum": 0
- },
- "indexUid": {
- "type": [
- "string",
- "null"
- ]
- },
- "status": {
- "$ref": "#/components/schemas/Status"
- },
- "type": {
- "$ref": "#/components/schemas/Kind",
- "description": "The type of the task."
- },
- "canceledBy": {
- "type": [
- "integer",
- "null"
- ],
- "format": "u-int32",
- "description": "The uid of the task that performed the taskCancelation if the task has been canceled.",
- "example": 4326,
- "minimum": 0
- },
- "details": {
- "oneOf": [
- {
- "type": "null"
- },
- {
- "$ref": "#/components/schemas/DetailsView"
- }
- ]
- },
- "error": {
- "oneOf": [
- {
- "type": "null"
- },
- {
- "$ref": "#/components/schemas/ResponseError"
- }
- ]
- },
- "duration": {
- "type": [
- "string",
- "null"
- ],
- "description": "Total elasped time the engine was in processing state expressed as a `ISO-8601` duration format.",
- "example": null
- },
- "enqueuedAt": {
- "type": "string",
- "description": "An `RFC 3339` format for date/time/duration.",
- "example": "2024-08-08_14:12:09.393Z"
- },
- "startedAt": {
- "type": "string",
- "description": "An `RFC 3339` format for date/time/duration.",
- "example": "2024-08-08_14:12:09.393Z"
- },
- "finishedAt": {
- "type": "string",
- "description": "An `RFC 3339` format for date/time/duration.",
- "example": "2024-08-08_14:12:09.393Z"
- }
+ }, {
+ "name": "Experimental features",
+ "description": "The `/experimental-features` route allows you to activate or deactivate some of Meilisearch's experimental features.\n\nThis route is **synchronous**. This means that no task object will be returned, and any activated or deactivated features will be made available or unavailable immediately.",
+ "externalDocs": {
+ "url": "https://www.meilisearch.com/docs/reference/api/experimental_features",
+ "description": null
}
- },
- "TypoSettings": {
- "type": "object",
- "properties": {
- "enabled": {
- "type": [
- "boolean",
- "null"
- ],
- "example": true
- },
- "minWordSizeForTypos": {
- "oneOf": [
- {
- "type": "null"
- },
- {
- "$ref": "#/components/schemas/MinWordSizeTyposSetting"
- }
- ]
- },
- "disableOnWords": {
- "type": [
- "array",
- "null"
- ],
- "items": {
- "type": "string"
- },
- "example": [
- "iPhone",
- "phone"
- ],
- "uniqueItems": true
- },
- "disableOnAttributes": {
- "type": [
- "array",
- "null"
- ],
- "items": {
- "type": "string"
- },
- "example": [
- "uuid",
- "url"
- ],
- "uniqueItems": true
- },
- "disableOnNumbers": {
- "type": [
- "boolean",
- "null"
- ],
- "example": true
- }
- },
- "additionalProperties": false
- },
- "Unchecked": {
- "default": null
- },
- "UpdateIndexRequest": {
- "type": "object",
- "properties": {
- "primaryKey": {
- "type": [
- "string",
- "null"
- ],
- "description": "The new primary key of the index"
- }
+ }, {
+ "name": "Export",
+ "description": "The `/export` route allows you to trigger an export process to a remote Meilisearch instance.",
+ "externalDocs": {
+ "url": "https://www.meilisearch.com/docs/reference/api/export",
+ "description": null
}
- },
- "UpdateStderrLogs": {
- "type": "object",
- "required": [
- "target"
- ],
- "properties": {
- "target": {
- "type": "string",
- "description": "Lets you specify which parts of the code you want to inspect and is formatted like that: code_part=log_level,code_part=log_level\n- If the `code_part` is missing, then the `log_level` will be applied to everything.\n- If the `log_level` is missing, then the `code_part` will be selected in `info` log level.",
- "default": "info",
- "example": "milli=trace,index_scheduler,actix_web=off"
- }
+ }, {
+ "name": "Network",
+ "description": "The `/network` route allows you to describe the topology of a network of Meilisearch instances.\n\nThis route is **synchronous**. This means that no task object will be returned, and any change to the network will be made available immediately.",
+ "externalDocs": {
+ "url": "https://www.meilisearch.com/docs/reference/api/network",
+ "description": null
}
- },
- "VersionResponse": {
- "type": "object",
- "required": [
- "commitSha",
- "commitDate",
- "pkgVersion"
- ],
- "properties": {
- "commitSha": {
- "type": "string",
- "description": "The commit used to compile this build of Meilisearch."
- },
- "commitDate": {
- "type": "string",
- "description": "The date of this build."
- },
- "pkgVersion": {
- "type": "string",
- "description": "The version of Meilisearch."
- }
+ }, {
+ "name": "Webhooks",
+ "description": "The `/webhooks` route allows you to register endpoints to be called once tasks are processed.",
+ "externalDocs": {
+ "url": "https://www.meilisearch.com/docs/reference/api/webhooks",
+ "description": null
}
- },
- "u32": {
- "type": "integer",
- "format": "u-int32",
- "minimum": 0
- }
- },
- "securitySchemes": {
- "Bearer": {
- "type": "http",
- "scheme": "bearer",
- "bearerFormat": "Uuidv4, string or JWT",
- "description": "An API key is a token that you provide when making API calls. Include the token in a header parameter called `Authorization`.\nExample: `Authorization: Bearer 8fece4405662dd830e4cb265e7e047aab2e79672a760a12712d2a263c9003509`"
- }
- }
- },
- "tags": [
- {
- "name": "Stats",
- "description": "Stats gives extended information and metrics about indexes and the Meilisearch database."
- },
- {
- "name": "Tasks",
- "description": "The tasks route gives information about the progress of the [asynchronous operations](https://docs.meilisearch.com/learn/advanced/asynchronous_operations.html).",
- "externalDocs": {
- "url": "https://www.meilisearch.com/docs/reference/api/tasks",
- "description": null
- }
- },
- {
- "name": "Batches",
- "description": "The /batches route gives information about the progress of batches of asynchronous operations.",
- "externalDocs": {
- "url": "https://www.meilisearch.com/docs/reference/api/batches",
- "description": null
- }
- },
- {
- "name": "Indexes",
- "description": "An index is an entity that gathers a set of [documents](https://www.meilisearch.com/docs/learn/getting_started/documents) with its own [settings](https://www.meilisearch.com/docs/reference/api/settings). Learn more about indexes.",
- "externalDocs": {
- "url": "https://www.meilisearch.com/docs/reference/api/indexes",
- "description": null
- }
- },
- {
- "name": "Documents",
- "description": "Documents are objects composed of fields that can store any type of data. Each field contains an attribute and its associated value. Documents are stored inside [indexes](https://www.meilisearch.com/docs/learn/getting_started/indexes).",
- "externalDocs": {
- "url": "https://www.meilisearch.com/docs/learn/getting_started/documents",
- "description": null
- }
- },
- {
- "name": "Facet Search",
- "description": "The `/facet-search` route allows you to search for facet values. Facet search supports prefix search and typo tolerance. The returned hits are sorted lexicographically in ascending order. You can configure how facets are sorted using the sortFacetValuesBy property of the faceting index settings.",
- "externalDocs": {
- "url": "https://www.meilisearch.com/docs/reference/api/facet_search",
- "description": null
- }
- },
- {
- "name": "Similar documents",
- "description": "The /similar route uses AI-powered search to return a number of documents similar to a target document.\n\nMeilisearch exposes two routes for retrieving similar documents: POST and GET. In the majority of cases, POST will offer better performance and ease of use.",
- "externalDocs": {
- "url": "https://www.meilisearch.com/docs/reference/api/similar",
- "description": null
- }
- },
- {
- "name": "Settings",
- "description": "Use the /settings route to customize search settings for a given index. You can either modify all index settings at once using the update settings endpoint, or use a child route to configure a single setting.",
- "externalDocs": {
- "url": "https://www.meilisearch.com/docs/reference/api/settings",
- "description": null
- }
- },
- {
- "name": "Search",
- "description": "Meilisearch exposes two routes to perform searches:\n\n- A POST route: this is the preferred route when using API authentication, as it allows [preflight request](https://developer.mozilla.org/en-US/docs/Glossary/Preflight_request) caching and better performance.\n- A GET route: the usage of this route is discouraged, unless you have good reason to do otherwise (specific caching abilities for example)",
- "externalDocs": {
- "url": "https://www.meilisearch.com/docs/reference/api/search",
- "description": null
- }
- },
- {
- "name": "Snapshots",
- "description": "The snapshots route allows the creation of database snapshots. Snapshots are .snapshot files that can be used to launch Meilisearch.\nCreating a snapshot is also referred to as exporting it, whereas launching Meilisearch with a snapshot is referred to as importing it.\nDuring a snapshot export, all indexes of the current instance are exportedโtogether with their documents and settingsโand saved as a single .snapshot file.\nDuring a snapshot import, all indexes contained in the indicated .snapshot file are imported along with their associated documents and settings.\nSnapshot imports are performed at launch using an option.",
- "externalDocs": {
- "url": "https://www.meilisearch.com/docs/reference/api/snapshots",
- "description": null
- }
- },
- {
- "name": "Dumps",
- "description": "The `dumps` route allows the creation of database dumps.\nDumps are `.dump` files that can be used to launch Meilisearch. Dumps are compatible between Meilisearch versions.\nCreating a dump is also referred to as exporting it, whereas launching Meilisearch with a dump is referred to as importing it.\nDuring a [dump export](https://www.meilisearch.com/docs/reference/api/dump#create-a-dump), all indexes of the current instance are\nexportedโtogether with their documents and settingsโand saved as a single `.dump` file. During a dump import,\nall indexes contained in the indicated `.dump` file are imported along with their associated documents and settings.\nAny existing index with the same uid as an index in the dump file will be overwritten.\nDump imports are [performed at launch](https://www.meilisearch.com/docs/learn/advanced/dumps#importing-a-dump) using an option.",
- "externalDocs": {
- "url": "https://www.meilisearch.com/docs/reference/api/dump",
- "description": null
- }
- },
- {
- "name": "Keys",
- "description": "Manage API `keys` for a Meilisearch instance. Each key has a given set of permissions.\nYou must have the master key or the default admin key to access the keys route. More information about the keys and their rights.\nAccessing any route under `/keys` without having set a master key will result in an error.",
- "externalDocs": {
- "url": "https://www.meilisearch.com/docs/reference/api/keys",
- "description": null
- }
- },
- {
- "name": "Logs",
- "description": "Everything about retrieving or customizing logs.\nCurrently [experimental](https://www.meilisearch.com/docs/learn/experimental/overview).",
- "externalDocs": {
- "url": "https://www.meilisearch.com/docs/learn/experimental/log_customization",
- "description": null
- }
- },
- {
- "name": "Multi-search",
- "description": "The `/multi-search` route allows you to perform multiple search queries on one or more indexes by bundling them into a single HTTP request. Multi-search is also known as federated search.",
- "externalDocs": {
- "url": "https://www.meilisearch.com/docs/reference/api/multi_search",
- "description": null
- }
- },
- {
- "name": "Experimental features",
- "description": "The `/experimental-features` route allows you to activate or deactivate some of Meilisearch's experimental features.\n\nThis route is **synchronous**. This means that no task object will be returned, and any activated or deactivated features will be made available or unavailable immediately.",
- "externalDocs": {
- "url": "https://www.meilisearch.com/docs/reference/api/experimental_features",
- "description": null
- }
- },
- {
- "name": "Network",
- "description": "The `/network` route allows you to describe the topology of a network of Meilisearch instances.\n\nThis route is **synchronous**. This means that no task object will be returned, and any change to the network will be made available immediately.",
- "externalDocs": {
- "url": "https://www.meilisearch.com/docs/reference/api/network",
- "description": null
- }
- }
- ]
-}
+ }]
+}
\ No newline at end of file