UNPKG

qdrant-client

Version:
1,716 lines (1,715 loc) 217 kB
{ "paths": { "/telemetry": { "get": { "summary": "Collect telemetry data", "description": "Collect telemetry data including app info, system info, collections info, cluster info, configs and statistics", "operationId": "telemetry", "tags": [ "service" ], "parameters": [ { "name": "anonymize", "in": "query", "description": "If true, anonymize result", "required": false, "schema": { "type": "boolean" } } ], "responses": { "default": { "description": "error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "4XX": { "description": "error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "200": { "description": "successful operation", "content": { "application/json": { "schema": { "type": "object", "properties": { "time": { "type": "number", "format": "float", "description": "Time spent to process this request" }, "status": { "type": "string", "enum": [ "ok" ] }, "result": { "$ref": "#/components/schemas/TelemetryData" } } } } } } } } }, "/metrics": { "get": { "summary": "Collect Prometheus metrics data", "description": "Collect metrics data including app info, collections info, cluster info and statistics", "operationId": "metrics", "tags": [ "service" ], "parameters": [ { "name": "anonymize", "in": "query", "description": "If true, anonymize result", "required": false, "schema": { "type": "boolean" } } ], "responses": { "200": { "description": "Metrics data in Prometheus format", "content": { "text/plain": { "schema": { "type": "string", "example": "# HELP app_info information about qdrant server\n# TYPE app_info counter\napp_info{name=\"qdrant\",version=\"0.11.1\"} 1\n# HELP cluster_enabled is cluster support enabled\n# TYPE cluster_enabled gauge\ncluster_enabled 0\n# HELP collections_total number of collections\n# TYPE collections_total gauge\ncollections_total 1\n" } } } }, "4XX": { "description": "error" } } } }, "/locks": { "post": { "summary": "Set lock options", "description": "Set lock options. If write is locked, all write operations and collection creation are forbidden. Returns previous lock options", "operationId": "post_locks", "tags": [ "service" ], "requestBody": { "description": "Lock options and optional error message", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LocksOption" } } } }, "responses": { "default": { "description": "error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "4XX": { "description": "error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "200": { "description": "successful operation", "content": { "application/json": { "schema": { "type": "object", "properties": { "time": { "type": "number", "format": "float", "description": "Time spent to process this request" }, "status": { "type": "string", "enum": [ "ok" ] }, "result": { "$ref": "#/components/schemas/LocksOption" } } } } } } } }, "get": { "summary": "Get lock options", "description": "Get lock options. If write is locked, all write operations and collection creation are forbidden", "operationId": "get_locks", "tags": [ "service" ], "responses": { "default": { "description": "error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "4XX": { "description": "error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "200": { "description": "successful operation", "content": { "application/json": { "schema": { "type": "object", "properties": { "time": { "type": "number", "format": "float", "description": "Time spent to process this request" }, "status": { "type": "string", "enum": [ "ok" ] }, "result": { "$ref": "#/components/schemas/LocksOption" } } } } } } } } }, "/cluster": { "get": { "tags": [ "cluster" ], "summary": "Get cluster status info", "description": "Get information about the current state and composition of the cluster", "operationId": "cluster_status", "responses": { "default": { "description": "error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "4XX": { "description": "error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "200": { "description": "successful operation", "content": { "application/json": { "schema": { "type": "object", "properties": { "time": { "type": "number", "format": "float", "description": "Time spent to process this request" }, "status": { "type": "string", "enum": [ "ok" ] }, "result": { "$ref": "#/components/schemas/ClusterStatus" } } } } } } } } }, "/cluster/recover": { "post": { "tags": [ "cluster" ], "summary": "Tries to recover current peer Raft state.", "operationId": "recover_current_peer", "responses": { "default": { "description": "error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "4XX": { "description": "error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "200": { "description": "successful operation", "content": { "application/json": { "schema": { "type": "object", "properties": { "time": { "type": "number", "format": "float", "description": "Time spent to process this request" }, "status": { "type": "string", "enum": [ "ok" ] }, "result": { "type": "boolean" } } } } } } } } }, "/cluster/peer/{peer_id}": { "delete": { "tags": [ "cluster" ], "summary": "Remove peer from the cluster", "description": "Tries to remove peer from the cluster. Will return an error if peer has shards on it.", "operationId": "remove_peer", "parameters": [ { "name": "peer_id", "in": "path", "description": "Id of the peer", "required": true, "schema": { "type": "integer" } }, { "name": "force", "in": "query", "description": "If true - removes peer even if it has shards/replicas on it.", "schema": { "type": "boolean", "default": false } } ], "responses": { "default": { "description": "error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "4XX": { "description": "error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "200": { "description": "successful operation", "content": { "application/json": { "schema": { "type": "object", "properties": { "time": { "type": "number", "format": "float", "description": "Time spent to process this request" }, "status": { "type": "string", "enum": [ "ok" ] }, "result": { "type": "boolean" } } } } } } } } }, "/collections": { "get": { "tags": [ "collections" ], "summary": "List collections", "description": "Get list name of all existing collections", "operationId": "get_collections", "responses": { "default": { "description": "error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "4XX": { "description": "error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "200": { "description": "successful operation", "content": { "application/json": { "schema": { "type": "object", "properties": { "time": { "type": "number", "format": "float", "description": "Time spent to process this request" }, "status": { "type": "string", "enum": [ "ok" ] }, "result": { "$ref": "#/components/schemas/CollectionsResponse" } } } } } } } } }, "/collections/{collection_name}": { "get": { "tags": [ "collections" ], "summary": "Collection info", "description": "Get detailed information about specified existing collection", "operationId": "get_collection", "parameters": [ { "name": "collection_name", "in": "path", "description": "Name of the collection to retrieve", "required": true, "schema": { "type": "string" } } ], "responses": { "default": { "description": "error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "4XX": { "description": "error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "200": { "description": "successful operation", "content": { "application/json": { "schema": { "type": "object", "properties": { "time": { "type": "number", "format": "float", "description": "Time spent to process this request" }, "status": { "type": "string", "enum": [ "ok" ] }, "result": { "$ref": "#/components/schemas/CollectionInfo" } } } } } } } }, "put": { "tags": [ "collections" ], "summary": "Create collection", "description": "Create new collection with given parameters", "operationId": "create_collection", "requestBody": { "description": "Parameters of a new collection", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateCollection" } } } }, "parameters": [ { "name": "collection_name", "in": "path", "description": "Name of the new collection", "required": true, "schema": { "type": "string" } }, { "name": "timeout", "in": "query", "description": "Wait for operation commit timeout in seconds. \nIf timeout is reached - request will return with service error.\n", "schema": { "type": "integer" } } ], "responses": { "default": { "description": "error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "4XX": { "description": "error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "200": { "description": "successful operation", "content": { "application/json": { "schema": { "type": "object", "properties": { "time": { "type": "number", "format": "float", "description": "Time spent to process this request" }, "status": { "type": "string", "enum": [ "ok" ] }, "result": { "type": "boolean" } } } } } } } }, "patch": { "tags": [ "collections" ], "summary": "Update collection parameters", "description": "Update parameters of the existing collection", "operationId": "update_collection", "requestBody": { "description": "New parameters", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateCollection" } } } }, "parameters": [ { "name": "collection_name", "in": "path", "description": "Name of the collection to update", "required": true, "schema": { "type": "string" } }, { "name": "timeout", "in": "query", "description": "Wait for operation commit timeout in seconds. \nIf timeout is reached - request will return with service error.\n", "schema": { "type": "integer" } } ], "responses": { "default": { "description": "error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "4XX": { "description": "error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "200": { "description": "successful operation", "content": { "application/json": { "schema": { "type": "object", "properties": { "time": { "type": "number", "format": "float", "description": "Time spent to process this request" }, "status": { "type": "string", "enum": [ "ok" ] }, "result": { "type": "boolean" } } } } } } } }, "delete": { "tags": [ "collections" ], "summary": "Delete collection", "description": "Drop collection and all associated data", "operationId": "delete_collection", "parameters": [ { "name": "collection_name", "in": "path", "description": "Name of the collection to delete", "required": true, "schema": { "type": "string" } }, { "name": "timeout", "in": "query", "description": "Wait for operation commit timeout in seconds. \nIf timeout is reached - request will return with service error.\n", "schema": { "type": "integer" } } ], "responses": { "default": { "description": "error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "4XX": { "description": "error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "200": { "description": "successful operation", "content": { "application/json": { "schema": { "type": "object", "properties": { "time": { "type": "number", "format": "float", "description": "Time spent to process this request" }, "status": { "type": "string", "enum": [ "ok" ] }, "result": { "type": "boolean" } } } } } } } } }, "/collections/aliases": { "post": { "tags": [ "collections" ], "summary": "Update aliases of the collections", "operationId": "update_aliases", "requestBody": { "description": "Alias update operations", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ChangeAliasesOperation" } } } }, "parameters": [ { "name": "timeout", "in": "query", "description": "Wait for operation commit timeout in seconds. \nIf timeout is reached - request will return with service error.\n", "schema": { "type": "integer" } } ], "responses": { "default": { "description": "error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "4XX": { "description": "error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "200": { "description": "successful operation", "content": { "application/json": { "schema": { "type": "object", "properties": { "time": { "type": "number", "format": "float", "description": "Time spent to process this request" }, "status": { "type": "string", "enum": [ "ok" ] }, "result": { "type": "boolean" } } } } } } } } }, "/collections/{collection_name}/index": { "put": { "tags": [ "collections" ], "summary": "Create index for field in collection", "description": "Create index for field in collection", "operationId": "create_field_index", "parameters": [ { "name": "collection_name", "in": "path", "description": "Name of the collection", "required": true, "schema": { "type": "string" } }, { "name": "wait", "in": "query", "description": "If true, wait for changes to actually happen", "required": false, "schema": { "type": "boolean" } }, { "name": "ordering", "in": "query", "description": "define ordering guarantees for the operation", "required": false, "schema": { "$ref": "#/components/schemas/WriteOrdering" } } ], "requestBody": { "description": "Field name", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateFieldIndex" } } } }, "responses": { "default": { "description": "error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "4XX": { "description": "error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "200": { "description": "successful operation", "content": { "application/json": { "schema": { "type": "object", "properties": { "time": { "type": "number", "format": "float", "description": "Time spent to process this request" }, "status": { "type": "string", "enum": [ "ok" ] }, "result": { "$ref": "#/components/schemas/UpdateResult" } } } } } } } } }, "/collections/{collection_name}/index/{field_name}": { "delete": { "tags": [ "collections" ], "summary": "Delete index for field in collection", "description": "Delete field index for collection", "operationId": "delete_field_index", "parameters": [ { "name": "collection_name", "in": "path", "description": "Name of the collection", "required": true, "schema": { "type": "string" } }, { "name": "field_name", "in": "path", "description": "Name of the field where to delete the index", "required": true, "schema": { "type": "string" } }, { "name": "wait", "in": "query", "description": "If true, wait for changes to actually happen", "required": false, "schema": { "type": "boolean" } }, { "name": "ordering", "in": "query", "description": "define ordering guarantees for the operation", "required": false, "schema": { "$ref": "#/components/schemas/WriteOrdering" } } ], "responses": { "default": { "description": "error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "4XX": { "description": "error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "200": { "description": "successful operation", "content": { "application/json": { "schema": { "type": "object", "properties": { "time": { "type": "number", "format": "float", "description": "Time spent to process this request" }, "status": { "type": "string", "enum": [ "ok" ] }, "result": { "$ref": "#/components/schemas/UpdateResult" } } } } } } } } }, "/collections/{collection_name}/cluster": { "get": { "tags": [ "collections", "cluster" ], "summary": "Collection cluster info", "description": "Get cluster information for a collection", "operationId": "collection_cluster_info", "parameters": [ { "name": "collection_name", "in": "path", "description": "Name of the collection to retrieve the cluster info for", "required": true, "schema": { "type": "string" } } ], "responses": { "default": { "description": "error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "4XX": { "description": "error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "200": { "description": "successful operation", "content": { "application/json": { "schema": { "type": "object", "properties": { "time": { "type": "number", "format": "float", "description": "Time spent to process this request" }, "status": { "type": "string", "enum": [ "ok" ] }, "result": { "$ref": "#/components/schemas/CollectionClusterInfo" } } } } } } } }, "post": { "tags": [ "collections", "cluster" ], "summary": "Update collection cluster setup", "operationId": "update_collection_cluster", "requestBody": { "description": "Collection cluster update operations", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ClusterOperations" } } } }, "parameters": [ { "name": "collection_name", "in": "path", "description": "Name of the collection on which to to apply the cluster update operation", "required": true, "schema": { "type": "string" } }, { "name": "timeout", "in": "query", "description": "Wait for operation commit timeout in seconds. \nIf timeout is reached - request will return with service error.\n", "schema": { "type": "integer" } } ], "responses": { "default": { "description": "error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "4XX": { "description": "error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "200": { "description": "successful operation", "content": { "application/json": { "schema": { "type": "object", "properties": { "time": { "type": "number", "format": "float", "description": "Time spent to process this request" }, "status": { "type": "string", "enum": [ "ok" ] }, "result": { "type": "boolean" } } } } } } } } }, "/collections/{collection_name}/aliases": { "get": { "tags": [ "collections" ], "summary": "List aliases for collection", "description": "Get list of all aliases for a collection", "operationId": "get_collection_aliases", "parameters": [ { "name": "collection_name", "in": "path", "description": "Name of the collection", "required": true, "schema": { "type": "string" } } ], "responses": { "default": { "description": "error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "4XX": { "description": "error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "200": { "description": "successful operation", "content": { "application/json": { "schema": { "type": "object", "properties": { "time": { "type": "number", "format": "float", "description": "Time spent to process this request" }, "status": { "type": "string", "enum": [ "ok" ] }, "result": { "$ref": "#/components/schemas/CollectionsAliasesResponse" } } } } } } } } }, "/aliases": { "get": { "tags": [ "collections" ], "summary": "List collections aliases", "description": "Get list of all existing collections aliases", "operationId": "get_collections_aliases", "responses": { "default": { "description": "error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "4XX": { "description": "error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "200": { "description": "successful operation", "content": { "application/json": { "schema": { "type": "object", "properties": { "time": { "type": "number", "format": "float", "description": "Time spent to process this request" }, "status": { "type": "string", "enum": [ "ok" ] }, "result": { "$ref": "#/components/schemas/CollectionsAliasesResponse" } } } } } } } } }, "/collections/{collection_name}/snapshots/upload": { "post": { "tags": [ "snapshots", "collections" ], "summary": "Recover from an uploaded snapshot", "description": "Recover local collection data from an uploaded snapshot. This will overwrite any data, stored on this node, for the collection. If collection does not exist - it will be created.", "operationId": "recover_from_uploaded_snapshot", "parameters": [ { "name": "collection_name", "in": "path", "description": "Name of the collection", "required": true, "schema": { "type": "string" } }, { "name": "wait", "in": "query", "description": "If true, wait for changes to actually happen. If false - let changes happen in background. Default is true.", "required": false, "schema": { "type": "boolean" } }, { "name": "priority", "in": "query", "description": "Defines source of truth for snapshot recovery", "required": false, "schema": { "$ref": "#/components/schemas/SnapshotPriority" } } ], "requestBody": { "description": "Snapshot to recover from", "content": { "multipart/form-data": { "schema": { "type": "object", "properties": { "snapshot": { "type": "string", "format": "binary" } } } } } }, "responses": { "default": { "description": "error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "4XX": { "description": "error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "200": { "description": "successful operation", "content": { "application/json": { "schema": { "type": "object", "properties": { "time": { "type": "number", "format": "float", "description": "Time spent to process this request" }, "status": { "type": "string", "enum": [ "ok" ] }, "result": { "type": "boolean" } } } } } }, "202": { "description": "operation is accepted", "content": { "application/json": { "schema": { "type": "object", "properties": { "time": { "type": "number", "format": "float", "description": "Time spent to process this request" }, "status": { "type": "string", "enum": [ "accepted" ] } } } } } } } } }, "/collections/{collection_name}/snapshots/recover": { "put": { "tags": [ "snapshots", "collections" ], "summary": "Recover from a snapshot", "description": "Recover local collection data from a snapshot. This will overwrite any data, stored on this node, for the collection. If collection does not exist - it will be created.", "operationId": "recover_from_snapshot", "parameters": [ { "name": "collection_name", "in": "path", "description": "Name of the collection", "required": true, "schema": { "type": "string" } }, { "name": "wait", "in": "query", "description": "If true, wait for changes to actually happen. If false - let changes happen in background. Default is true.", "required": false, "schema": { "type": "boolean" } } ], "requestBody": { "description": "Snapshot to recover from", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SnapshotRecover" } } } }, "responses": { "default": { "description": "error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "4XX": { "description": "error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "200": { "description": "successful operation", "content": { "application/json": { "schema": { "type": "object", "properties": { "time": { "type": "number", "format": "float", "description": "Time spent to process this request" }, "status": { "type": "string", "enum": [ "ok" ] }, "result": { "type": "boolean" } } } } } }, "202": { "description": "operation is accepted", "content": { "application/json": { "schema": { "type": "object", "properties": { "time": { "type": "number", "format": "float", "description": "Time spent to process this request" }, "status": { "type": "string", "enum": [ "accepted" ] } } } } } } } } }, "/collections/{collection_name}/snapshots": { "get": { "tags": [ "snapshots", "collections" ], "summary": "List collection snapshots", "description": "Get list of snapshots for a collection", "operationId": "list_snapshots", "parameters": [ { "name": "collection_name", "in": "path", "description": "Name of the collection", "required": true, "schema": { "type": "string" } } ], "responses": { "default": { "description": "error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "4XX": { "description": "error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "200": { "description": "successful operation", "content": { "application/json": { "schema": { "type": "object", "properties": { "time": { "type": "number", "format": "float", "description": "Time spent to process this request" }, "status": { "type": "string", "enum": [ "ok" ] }, "result": { "type": "array", "items": { "$ref": "#/components/schemas/SnapshotDescription" } } } } } } } } }, "post": { "tags": [ "snapshots", "collections" ], "summary": "Create collection snapshot", "description": "Create new snapshot for a collection", "operationId": "create_snapshot", "parameters": [ { "name": "collection_name", "in": "path", "description": "Name of the collection for which to create a snapshot", "required": true, "schema": { "type": "string" } }, { "name": "wait", "in": "query", "description": "If true, wait for changes to actually happen. If false - let changes happen in background. Default is true.", "required": false, "schema": { "type": "boolean" } } ], "responses": { "default": { "description": "error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "4XX": { "description": "error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "200": { "description": "successful operation", "content": { "application/json": { "schema": { "type": "object",