openapi: 3.0.3 info: title: Weaviate REST authz batch API description: '# Introduction
Weaviate is an open source, AI-native vector database that helps developers create intuitive and reliable AI-powered applications.
### Base Path
The base path for the Weaviate server is structured as `[YOUR-WEAVIATE-HOST]:[PORT]/v1`. As an example, if you wish to access the `schema` endpoint on a local instance, you would navigate to `http://localhost:8080/v1/schema`. Ensure you replace `[YOUR-WEAVIATE-HOST]` and `[PORT]` with your actual server host and port number respectively.
### Questions?
If you have any comments or questions, please feel free to reach out to us at the community forum [https://forum.weaviate.io/](https://forum.weaviate.io/).
### Issues?
If you find a bug or want to file a feature request, please open an issue on our GitHub repository for [Weaviate](https://github.com/weaviate/weaviate).
### Need more documentation?
For a quickstart, code examples, concepts and more, please visit our [documentation page](https://docs.weaviate.io/weaviate).' version: 1.38.0-dev servers: - url: http://localhost:8080 description: Local Weaviate instance security: - ApiKeyAuth: [] - BearerAuth: [] tags: - name: batch paths: /batch/objects: post: summary: Weaviate Create Objects In Batch description: Registers multiple data objects in a single request for efficiency. Metadata and schema values for each object are validated.

**Note (idempotence)**:
This operation is idempotent based on the object UUIDs provided. If an object with a given UUID already exists, it will be overwritten (similar to a PUT operation for that specific object within the batch). tags: - batch operationId: batch.objects.create parameters: - name: consistency_level in: query required: false description: Determines how many replicas must acknowledge a request before it is considered successful. schema: type: string requestBody: content: application/json: schema: type: object properties: fields: type: array description: Controls which fields are returned in the response for each object. Default is `ALL`. items: type: string enum: - ALL - class - schema - id - creationTimeUnix default: ALL objects: type: array description: Array of objects to be created. items: $ref: '#/components/schemas/Object' responses: '200': description: Request processed successfully. Individual object statuses are provided in the response body. content: application/json: schema: type: array items: $ref: '#/components/schemas/ObjectsGetResponse' '400': description: Malformed request. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized or invalid credentials. '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '422': description: The request syntax is correct, but the server couldn't process it due to semantic issues. Please check the values in your request. Ensure the collection exists and the object properties are valid. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: An error occurred while trying to fulfill the request. Check the ErrorResponse for details. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' x-microcks-operation: delay: 100 delete: summary: Weaviate Delete Objects In Batch description: Removes multiple data objects based on a filter specified in the request body.

Deletion occurs based on the filter criteria provided in the `where` clause. There is a configurable limit (default 10,000, set via `QUERY_MAXIMUM_RESULTS`) on how many objects can be deleted in a single batch request to prevent excessive resource usage. Objects are deleted in the order they match the filter. To delete more objects than the limit allows, repeat the request until no more matching objects are found. tags: - batch operationId: batch.objects.delete parameters: - name: consistency_level in: query required: false description: Determines how many replicas must acknowledge a request before it is considered successful. schema: type: string - name: tenant in: query required: false description: Specifies the tenant in a request targeting a multi-tenant collection (class). schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/BatchDelete' responses: '200': description: Request processed successfully. See response body for matching objects and deletion results. content: application/json: schema: $ref: '#/components/schemas/BatchDeleteResponse' '400': description: Malformed request. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized or invalid credentials. '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '422': description: Invalid data provided. Please check the values in your request (e.g., invalid filter). content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: An error occurred while trying to fulfill the request. Check the ErrorResponse for details. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' x-microcks-operation: delay: 100 /batch/references: post: summary: Weaviate Create Cross-References In Bulk description: Batch create cross-references between collection items in bulk. tags: - batch operationId: batch.references.create parameters: - name: consistency_level in: query required: false description: Determines how many replicas must acknowledge a request before it is considered successful. schema: type: string requestBody: content: application/json: schema: type: array items: $ref: '#/components/schemas/BatchReference' responses: '200': description: 'Request Successful. Warning: A successful request does not guarantee that every batched reference was successfully created. Inspect the response body to see which references succeeded and which failed.' content: application/json: schema: type: array items: $ref: '#/components/schemas/BatchReferenceResponse' '400': description: Malformed request. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized or invalid credentials. '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '422': description: The request syntax is correct, but the server couldn't process it due to semantic issues. Please check the values in your request. Ensure the collection exists and the object properties are valid. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: An error has occurred while trying to fulfill the request. Most likely the ErrorResponse will contain more information about the error. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' x-microcks-operation: delay: 100 components: schemas: AdditionalProperties: type: object description: (Response only) Additional meta information about a single object. additionalProperties: type: object Deprecation: type: object properties: id: type: string description: The id that uniquely identifies this particular deprecation (mostly used internally). status: type: string description: Whether the problematic API functionality is deprecated (planned to be removed) or already removed. apiType: type: string description: 'Describes which API is affected, usually one of: REST, GraphQL and gRPC.' msg: type: string description: What this deprecation is about. mitigation: type: string description: User-required object to not be affected by the (planned) removal. sinceVersion: type: string description: The deprecation was introduced in this version. plannedRemovalVersion: type: string description: A best-effort guess of which upcoming version will remove the feature entirely. removedIn: type: string description: If the feature has already been removed, it was removed in this version. removedTime: type: string format: date-time description: If the feature has already been removed, it was removed at this timestamp. sinceTime: type: string format: date-time description: The deprecation was introduced at this timestamp. locations: type: array description: The locations within the specified API affected by this deprecation. items: type: string C11yVector: type: array description: A vector representation of the object in the Contextionary. If provided at object creation, this wil take precedence over any vectorizer setting. items: type: number format: float WhereFilterGeoRange: type: object description: Filter within a distance of a georange. properties: geoCoordinates: $ref: '#/components/schemas/GeoCoordinates' distance: type: object properties: max: type: number format: float64 BatchDeleteResponse: type: object description: Delete Objects response. properties: match: type: object description: Outlines how to find the objects to be deleted. properties: class: type: string description: The name of the collection (class) from which to delete objects. example: City where: $ref: '#/components/schemas/WhereFilter' output: type: string description: 'Controls the verbosity of the output, possible values are: `minimal`, `verbose`. Defaults to `minimal`.' default: minimal deletionTimeUnixMilli: type: integer format: int64 description: Timestamp of deletion in milliseconds since epoch UTC. dryRun: type: boolean description: If true, objects will not be deleted yet, but merely listed. Defaults to false. default: false results: type: object properties: matches: type: number format: int64 description: How many objects were matched by the filter. limit: type: number format: int64 description: The most amount of objects that can be deleted in a single query, equals [`QUERY_MAXIMUM_RESULTS`](https://docs.weaviate.io/deploy/configuration/env-vars#QUERY_MAXIMUM_RESULTS). successful: type: number format: int64 description: How many objects were successfully deleted in this round. failed: type: number format: int64 description: How many objects should have been deleted but could not be deleted. objects: type: array description: With output set to `minimal` only objects with error occurred will the be described. Successfully deleted objects would be omitted. Output set to `verbose` will list all of the objects with their respective statuses. items: format: object description: Results for this specific Object. properties: id: type: string format: uuid description: The UUID of the object. status: type: string enum: - SUCCESS - DRYRUN - FAILED default: SUCCESS errors: $ref: '#/components/schemas/ErrorResponse' Object: type: object properties: class: type: string description: Name of the collection (class) the object belongs to. vectorWeights: $ref: '#/components/schemas/VectorWeights' properties: $ref: '#/components/schemas/PropertySchema' id: type: string format: uuid description: The UUID of the object. creationTimeUnix: type: integer format: int64 description: (Response only) Timestamp of creation of this object in milliseconds since epoch UTC. lastUpdateTimeUnix: type: integer format: int64 description: (Response only) Timestamp of the last object update in milliseconds since epoch UTC. vector: $ref: '#/components/schemas/C11yVector' vectors: $ref: '#/components/schemas/Vectors' tenant: type: string description: The name of the tenant the object belongs to. additional: $ref: '#/components/schemas/AdditionalProperties' PropertySchema: type: object description: Names and values of an individual property. A returned response may also contain additional metadata, such as from classification or feature projection. BatchDelete: type: object properties: match: type: object description: Outlines how to find the objects to be deleted. properties: class: type: string description: The name of the collection (class) from which to delete objects. example: City where: $ref: '#/components/schemas/WhereFilter' output: type: string description: 'Controls the verbosity of the output, possible values are: `minimal`, `verbose`. Defaults to `minimal`.' default: minimal deletionTimeUnixMilli: type: integer format: int64 description: Timestamp of deletion in milliseconds since epoch UTC. dryRun: type: boolean description: If true, the call will show which objects would be matched using the specified filter without deleting any objects.

Depending on the configured verbosity, you will either receive a count of affected objects, or a list of IDs. default: false GeoCoordinates: properties: latitude: type: number format: float description: The latitude of the point on earth in decimal form. longitude: type: number format: float description: The longitude of the point on earth in decimal form. Vector: type: object description: A vector representation of the object. If provided at object creation, this wil take precedence over any vectorizer setting. VectorWeights: type: object description: 'Allow custom overrides of vector weights as math expressions. E.g. `pancake`: `7` will set the weight for the word pancake to 7 in the vectorization, whereas `w * 3` would triple the originally calculated word. This is an open object, with OpenAPI Specification 3.0 this will be more detailed. See Weaviate docs for more info. In the future this will become a key/value (string/string) object.' WhereFilter: type: object description: Filter search results using a where filter. properties: operands: type: array description: Combine multiple where filters, requires 'And' or 'Or' operator. items: $ref: '#/components/schemas/WhereFilter' operator: type: string description: Operator to use. enum: - And - Or - Equal - Like - NotEqual - GreaterThan - GreaterThanEqual - LessThan - LessThanEqual - WithinGeoRange - IsNull - ContainsAny - ContainsAll - ContainsNone - Not example: GreaterThanEqual path: type: array description: Path to the property currently being filtered. example: - inCity - city - name items: type: string valueInt: type: integer format: int64 description: value as integer example: 2000 valueNumber: type: number format: float64 description: value as number/float example: 3.14 valueBoolean: type: boolean description: value as boolean example: false valueString: type: string description: value as text (deprecated as of v1.19; alias for valueText) example: my search term valueText: type: string description: value as text example: my search term valueDate: type: string description: value as date (as string) example: TODO valueIntArray: type: array description: value as integer example: '[100, 200]' items: type: integer format: int64 valueNumberArray: type: array description: value as number/float example: - 3.14 items: type: number format: float64 valueBooleanArray: type: array description: value as boolean example: - true - false items: type: boolean valueStringArray: type: array description: value as text (deprecated as of v1.19; alias for valueText) example: - my search term items: type: string valueTextArray: type: array description: value as text example: - my search term items: type: string valueDateArray: type: array description: value as date (as string) example: TODO items: type: string valueGeoRange: $ref: '#/components/schemas/WhereFilterGeoRange' ObjectsGetResponse: allOf: - $ref: '#/components/schemas/Object' - properties: deprecations: type: array items: $ref: '#/components/schemas/Deprecation' - properties: result: format: object description: Results for this specific object. properties: status: type: string enum: - SUCCESS - FAILED default: SUCCESS errors: $ref: '#/components/schemas/ErrorResponse' ErrorResponse: type: object description: An error response returned by Weaviate endpoints. properties: error: type: array items: type: object properties: message: type: string BatchReferenceResponse: allOf: - $ref: '#/components/schemas/BatchReference' - properties: result: format: object description: Results for this specific reference. properties: status: type: string enum: - SUCCESS - FAILED default: SUCCESS errors: $ref: '#/components/schemas/ErrorResponse' BatchReference: properties: from: type: string format: uri description: Long-form beacon-style URI to identify the source of the cross-reference, including the property name. Should be in the form of `weaviate://localhost/objects///`, where `` and `` must represent the cross-reference property of the source class to be used. example: weaviate://localhost/Zoo/a5d09582-4239-4702-81c9-92a6e0122bb4/hasAnimals to: type: string format: uri description: Short-form URI to point to the cross-reference. Should be in the form of `weaviate://localhost/` for the example of a local cross-reference to an object. example: weaviate://localhost/97525810-a9a5-4eb0-858a-71449aeb007f tenant: type: string description: Name of the reference tenant. Vectors: type: object description: A map of named vectors for multi-vector representations. additionalProperties: $ref: '#/components/schemas/Vector' securitySchemes: ApiKeyAuth: type: apiKey in: header name: Authorization description: API key authentication BearerAuth: type: http scheme: bearer bearerFormat: JWT description: OIDC/JWT bearer authentication