openapi: '3.1.2' info: title: Elastic Cloud Serverless API description: "This API enables you to manage Elastic Cloud Serverless Projects.\nYou can create, update, and delete projects, as well as manage project features and usage.\n\nYou can find more information and examples using this API in the [documentation](https://www.elastic.co/docs/deploy-manage/deploy/elastic-cloud/manage-serverless-projects-using-api).\n\n## API principles\n\nThe Elastic Cloud Serverless REST API is built following REST principles:\n\n* Resources (such as projects) are represented as URIs.\n* Standard HTTP response codes and verbs are used (GET, POST, PUT, PATCH and DELETE).\n* API calls are stateless. Every request that you make happens in isolation from other calls and must include all the information necessary to fulfill the request.\n* JSON is the data interchange format.\n\n## Open API Specification\n\nThe Project Management API is documented using the [OpenAPI Specification](https://en.wikipedia.org/wiki/OpenAPI_Specification). The current supported version of the specification is 3.0.\nFor details, check the [API reference](https://www.elastic.co/docs/api/doc/elastic-cloud-serverless/) or download the [OpenAPI Specification](https://www.elastic.co/docs/api/doc/elastic-cloud-serverless.yaml).\nThis specification can be used to generate client SDKs, or on tools that support it, such as the [Swagger Editor](https://editor.swagger.io/).\n\n## Documentation source and versions\n \nThis documentation is derived from a private repository.\nIt is provided under license [Attribution-NonCommercial-NoDerivatives 4.0 International](https://creativecommons.org/licenses/by-nc-nd/4.0/).\n" version: 0.1.0 x-doc-license: name: Attribution-NonCommercial-NoDerivatives 4.0 International url: https://creativecommons.org/licenses/by-nc-nd/4.0/ x-feedbackLink: label: Feedback url: https://github.com/elastic/docs-content/issues/new?assignees=&labels=feedback%2Ccommunity&projects=&template=api-feedback.yaml&title=%5BFeedback%5D%3A+ servers: - url: https://api.elastic-cloud.com paths: /api/v1/serverless/capabilities: get: tags: - capabilities summary: Get organization capabilities description: Returns the capabilities that apply to the authenticated user's organization. operationId: getOrganizationCapabilities responses: '200': description: The capabilities for the user's organization. content: application/json: schema: $ref: '#/components/schemas/Capabilities' '401': $ref: '#/components/responses/Unauthorized' /api/v1/serverless/projects/elasticsearch: get: tags: - elasticsearch projects summary: Get Elasticsearch projects description: Fetches a list of Elasticsearch projects. operationId: listElasticsearchProjects parameters: - name: traffic_filter in: query description: Filters the returned list of projects. Only projects associated with the provided traffic_filter will be returned. schema: type: string - name: linked in: query description: 'Contains a project ID. If specified, the result will be filtered to only those origin projects that are linked to the specified project ID in a cross-project search configuration.' schema: $ref: '#/components/schemas/ProjectID' - name: tags in: query description: 'If specified, the result will be filtered to only those projects that have the specified tags and corresponding values.' style: deepObject explode: true schema: $ref: '#/components/schemas/ProjectTags' responses: '200': description: The Elasticsearch project list content: application/json: schema: $ref: '#/components/schemas/ElasticsearchProjectList' '401': $ref: '#/components/responses/Unauthorized' post: tags: - elasticsearch projects summary: Create an Elasticsearch project description: 'Create an Elasticsearch project. The response will include the created project details, such as the project ID, the credentials to access the project, and the endpoints to access different apps such as Elasticsearch and Kibana. The credentials can be regenerated at any time using the _reset-credentials endpoint.' operationId: createElasticsearchProject parameters: - name: exclude_credentials in: query description: 'If true, the username and password fields in the response credentials are set to empty strings and no usable credentials are returned. Credentials can be retrieved later using the _reset-credentials endpoint.' schema: type: boolean requestBody: description: Configuration of the elasticsearch project to create. content: application/json: schema: $ref: '#/components/schemas/CreateElasticsearchProjectRequest' example: name: Example project region_id: aws-us-east-1 required: true responses: '201': description: The created elasticsearch project. headers: ETag: schema: type: string content: application/json: schema: $ref: '#/components/schemas/ElasticsearchProjectCreated' '400': $ref: '#/components/responses/BadRequest' '422': $ref: '#/components/responses/UnprocessableEntity' '/api/v1/serverless/projects/elasticsearch/{id}': get: tags: - elasticsearch projects summary: Get an Elasticsearch project operationId: getElasticsearchProject responses: '200': description: The requested Elasticsearch project headers: ETag: schema: type: string content: application/json: schema: $ref: '#/components/schemas/ElasticsearchProject' '404': $ref: '#/components/responses/NotFound' patch: tags: - elasticsearch projects summary: Update an Elasticsearch project description: Only the fields included in the body of the request will be updated. operationId: patchElasticsearchProject parameters: - name: If-Match in: header description: ETag value fetched in a previous GET project request. Used to prevent simultaneous updates schema: type: string requestBody: description: The Elasticsearch project patch body content: application/json: schema: $ref: '#/components/schemas/PatchElasticsearchProjectRequest' example: name: Example project required: true responses: '200': description: The updated Elasticsearch project. headers: ETag: schema: type: string content: application/json: schema: $ref: '#/components/schemas/ElasticsearchProject' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' '412': $ref: '#/components/responses/PreconditionFailed' delete: tags: - elasticsearch projects summary: Delete an Elasticsearch project operationId: deleteElasticsearchProject parameters: - name: If-Match in: header description: ETag value fetched in a previous GET project request. Used to prevent simultaneous updates schema: type: string responses: '200': description: Project deletion scheduled. headers: ETag: schema: type: string '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' '412': $ref: '#/components/responses/PreconditionFailed' parameters: - name: id in: path description: The ID of the project required: true schema: $ref: '#/components/schemas/ProjectID' '/api/v1/serverless/projects/elasticsearch/{id}/_can-delete': get: tags: - elasticsearch projects summary: Get Elasticsearch project delete status description: Find issues that would prevent deletion of a project operationId: getElasticsearchProjectCanDelete responses: '200': description: The requested delete status content: application/json: schema: $ref: '#/components/schemas/CanDeleteResponse' '404': $ref: '#/components/responses/NotFound' parameters: - name: id in: path description: The ID of the project required: true schema: $ref: '#/components/schemas/ProjectID' '/api/v1/serverless/projects/elasticsearch/{id}/_reset-credentials': post: tags: - elasticsearch projects summary: Reset the project credentials description: 'Retrieve new project credentials, invalidating the previous ones.' operationId: resetElasticsearchProjectCredentials responses: '200': description: The new project credentials. headers: ETag: schema: type: string content: application/json: schema: $ref: '#/components/schemas/ProjectCredentials' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' parameters: - name: id in: path description: The ID of the project required: true schema: $ref: '#/components/schemas/ProjectID' - name: If-Match in: header description: ETag value fetched in a previous GET project request. Used to prevent simultaneous updates schema: type: string '/api/v1/serverless/projects/elasticsearch/{id}/_resume': post: tags: - elasticsearch projects summary: Resume Elasticsearch project description: Resume a previously suspended Elasticsearch project. Projects can be automatically suspended after their trial period has expired. operationId: resumeElasticsearchProject parameters: - name: If-Match in: header description: ETag value fetched in a previous GET project request. Used to prevent simultaneous updates. schema: type: string responses: '200': description: Project resumption scheduled. headers: ETag: schema: type: string '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' '412': $ref: '#/components/responses/PreconditionFailed' parameters: - name: id in: path description: The ID of the project required: true schema: $ref: '#/components/schemas/ProjectID' '/api/v1/serverless/projects/elasticsearch/{id}/link-candidates': get: tags: - elasticsearch projects summary: Get Elasticsearch project link candidates description: The response contains the list of projects which can be linked to the specified Elasticsearch project in a cross-project search configuration. operationId: getElasticsearchProjectLinkCandidates responses: '200': description: The requested link candidate projects content: application/json: schema: $ref: '#/components/schemas/LinkedCandidatesList' '404': $ref: '#/components/responses/NotFound' parameters: - name: id in: path description: The ID of the project required: true schema: $ref: '#/components/schemas/ProjectID' - name: types in: query description: One or more types of projects to return as link candidates. schema: type: array items: $ref: '#/components/schemas/ProjectType' - name: csp in: query description: The Cloud Service Provider to filter the link candidate projects by. schema: type: string - name: region in: query description: The region to filter the link candidate projects by. schema: type: string - name: name in: query description: The project name to filter the link candidates by. schema: type: string - name: alias in: query description: The project alias to filter the link candidates by. schema: type: string - name: tags in: query description: 'If specified, the result will be filtered to only those projects that have the specified tags and corresponding values.' style: deepObject explode: true schema: $ref: '#/components/schemas/ProjectTags' example: 'tags[environment]': production 'tags[team]': team-a '/api/v1/serverless/projects/elasticsearch/{id}/roles': get: tags: - elasticsearch projects summary: Get roles for an Elasticsearch project description: Retrieve the custom roles defined for an Elasticsearch project. operationId: getElasticsearchProjectRoles responses: '200': description: The requested roles headers: ETag: schema: type: string content: application/json: schema: $ref: '#/components/schemas/ProjectRolesByProjectID' '404': $ref: '#/components/responses/NotFound' parameters: - name: id in: path description: The ID of the project required: true schema: $ref: '#/components/schemas/ProjectID' '/api/v1/serverless/projects/elasticsearch/{id}/status': get: tags: - elasticsearch projects summary: Get the status of an Elasticsearch project description: The response indicates whether the project is initialized and ready to be used. The phase will change from "initializing" to "initialized" when the project is ready. operationId: getElasticsearchProjectStatus responses: '200': description: The requested Elasticsearch project status content: application/json: schema: $ref: '#/components/schemas/ProjectStatus' '404': $ref: '#/components/responses/NotFound' parameters: - name: id in: path description: The ID of the project required: true schema: $ref: '#/components/schemas/ProjectID' /api/v1/serverless/projects/observability: get: tags: - observability projects summary: Get Observability projects description: Fetches a list of Observability projects. operationId: listObservabilityProjects parameters: - name: traffic_filter in: query description: traffic filters associated with this project schema: type: string - name: linked in: query description: 'Contains a project ID. If specified, the result will be filtered to only those origin projects that are linked to the specified project ID in a cross-project search configuration.' schema: $ref: '#/components/schemas/ProjectID' - name: tags in: query description: 'If specified, the result will be filtered to only those projects that have the specified tags and corresponding values.' style: deepObject explode: true schema: $ref: '#/components/schemas/ProjectTags' responses: '200': description: The Observability project list content: application/json: schema: $ref: '#/components/schemas/ObservabilityProjectList' '401': $ref: '#/components/responses/Unauthorized' post: tags: - observability projects summary: Create an observability project description: 'The response will include the created project details, such as the project ID, the credentials to access the project, and the endpoints to access different apps such as Elasticsearch, Kibana and APM. The credentials can be regenerated at any time using the _reset-credentials endpoint.' operationId: createObservabilityProject parameters: - name: exclude_credentials in: query description: 'If true, the username and password fields in the response credentials are set to empty strings and no usable credentials are returned. Credentials can be retrieved later using the _reset-credentials endpoint.' schema: type: boolean requestBody: description: Configuration of the observability project to create. content: application/json: schema: $ref: '#/components/schemas/CreateObservabilityProjectRequest' example: name: Example project region_id: aws-us-east-1 required: true responses: '201': description: The created observability project. headers: ETag: schema: type: string content: application/json: schema: $ref: '#/components/schemas/ObservabilityProjectCreated' '400': $ref: '#/components/responses/BadRequest' '422': $ref: '#/components/responses/UnprocessableEntity' '/api/v1/serverless/projects/observability/{id}': get: tags: - observability projects summary: Get an Observability project operationId: getObservabilityProject responses: '200': description: The requested Observability project headers: ETag: schema: type: string content: application/json: schema: $ref: '#/components/schemas/ObservabilityProject' '404': $ref: '#/components/responses/NotFound' patch: tags: - observability projects summary: Update an Observability project description: Only the fields included in the body of the request will be updated. operationId: patchObservabilityProject parameters: - name: If-Match in: header description: ETag value fetched in a previous GET project request. Used to prevent simultaneous updates schema: type: string requestBody: description: The patched Observability project content: application/json: schema: $ref: '#/components/schemas/PatchObservabilityProjectRequest' example: name: Example project required: true responses: '200': description: The updated Observability project. headers: ETag: schema: type: string content: application/json: schema: $ref: '#/components/schemas/ObservabilityProject' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' '412': $ref: '#/components/responses/PreconditionFailed' delete: tags: - observability projects summary: Delete an Observability project operationId: deleteObservabilityProject parameters: - name: If-Match in: header description: ETag value fetched in a previous GET project request. Used to prevent simultaneous updates schema: type: string responses: '200': description: Project deletion scheduled. headers: ETag: schema: type: string '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' '412': $ref: '#/components/responses/PreconditionFailed' parameters: - name: id in: path description: The ID of the project required: true schema: $ref: '#/components/schemas/ProjectID' '/api/v1/serverless/projects/observability/{id}/_can-delete': get: tags: - observability projects summary: Get Observability project delete status description: Find issues that would prevent deletion of a project operationId: getObservabilityProjectCanDelete responses: '200': description: The requested delete status content: application/json: schema: $ref: '#/components/schemas/CanDeleteResponse' '404': $ref: '#/components/responses/NotFound' parameters: - name: id in: path description: The ID of the project required: true schema: $ref: '#/components/schemas/ProjectID' '/api/v1/serverless/projects/observability/{id}/_reset-credentials': post: tags: - observability projects summary: Reset the project credentials description: 'Retrieve new project credentials, invalidating the previous ones.' operationId: resetObservabilityProjectCredentials responses: '200': description: The new project credentials. headers: ETag: schema: type: string content: application/json: schema: $ref: '#/components/schemas/ProjectCredentials' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' parameters: - name: id in: path description: The ID of the project required: true schema: $ref: '#/components/schemas/ProjectID' - name: If-Match in: header description: ETag value fetched in a previous GET project request. Used to prevent simultaneous updates schema: type: string '/api/v1/serverless/projects/observability/{id}/_resume': post: tags: - observability projects summary: Resume Observability project description: Resume a previously suspended Observability project. Projects can be automatically suspended after their trial period has expired. operationId: resumeObservabilityProject parameters: - name: If-Match in: header description: ETag value fetched in a previous GET project request. Used to prevent simultaneous updates. schema: type: string responses: '200': description: Project resumption scheduled. headers: ETag: schema: type: string '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' '412': $ref: '#/components/responses/PreconditionFailed' parameters: - name: id in: path description: The ID of the project required: true schema: $ref: '#/components/schemas/ProjectID' '/api/v1/serverless/projects/observability/{id}/link-candidates': get: tags: - observability projects summary: Get Observability project link candidates description: The response contains the list of projects which can be linked to the specified Observability project in a cross-project search configuration. operationId: getObservabilityProjectLinkCandidates responses: '200': description: The requested link candidate projects content: application/json: schema: $ref: '#/components/schemas/LinkedCandidatesList' '404': $ref: '#/components/responses/NotFound' parameters: - name: id in: path description: The ID of the project required: true schema: $ref: '#/components/schemas/ProjectID' - name: types in: query description: One or more types of projects to return as link candidates. schema: type: array items: $ref: '#/components/schemas/ProjectType' - name: csp in: query description: The Cloud Service Provider to filter the link candidate projects by. schema: type: string - name: region in: query description: The region to filter the link candidate projects by. schema: type: string - name: name in: query description: The project name to filter the link candidates by. schema: type: string - name: alias in: query description: The project alias to filter the link candidates by. schema: type: string - name: tags in: query description: 'If specified, the result will be filtered to only those projects that have the specified tags and corresponding values.' style: deepObject explode: true schema: $ref: '#/components/schemas/ProjectTags' example: 'tags[environment]': production 'tags[team]': team-a '/api/v1/serverless/projects/observability/{id}/roles': get: tags: - observability projects summary: Get roles for an Observability project description: Retrieve the custom roles defined for an Observability project. operationId: getObservabilityProjectRoles responses: '200': description: The requested roles headers: ETag: schema: type: string content: application/json: schema: $ref: '#/components/schemas/ProjectRolesByProjectID' '404': $ref: '#/components/responses/NotFound' parameters: - name: id in: path description: The ID of the project required: true schema: $ref: '#/components/schemas/ProjectID' '/api/v1/serverless/projects/observability/{id}/status': get: tags: - observability projects summary: Get the status of an Observability project description: The response indicates whether the project is initialized and ready to be used. The phase will change from "initializing" to "initialized" when the project is ready. operationId: getObservabilityProjectStatus responses: '200': description: The requested Observability project status content: application/json: schema: $ref: '#/components/schemas/ProjectStatus' '404': $ref: '#/components/responses/NotFound' parameters: - name: id in: path description: The ID of the project required: true schema: $ref: '#/components/schemas/ProjectID' /api/v1/serverless/projects/security: get: tags: - security projects summary: Get Security projects description: Fetches a list of Security projects. operationId: listSecurityProjects parameters: - name: traffic_filter in: query description: traffic filters associated with this project schema: type: string - name: linked in: query description: 'Contains a project ID. If specified, the result will be filtered to only those origin projects that are linked to the specified project ID in a cross-project search configuration.' schema: $ref: '#/components/schemas/ProjectID' - name: tags in: query description: 'If specified, the result will be filtered to only those projects that have the specified tags and corresponding values.' style: deepObject explode: true schema: $ref: '#/components/schemas/ProjectTags' responses: '200': description: The Security project list content: application/json: schema: $ref: '#/components/schemas/SecurityProjectList' '401': $ref: '#/components/responses/Unauthorized' post: tags: - security projects summary: Create a security project description: 'The response will include the created project details, such as the project ID, the credentials to access the project, and the endpoints to access different apps such as Elasticsearch and Kibana. The credentials can be regenerated at any time using the _reset-credentials endpoint.' operationId: createSecurityProject parameters: - name: exclude_credentials in: query description: 'If true, the username and password fields in the response credentials are set to empty strings and no usable credentials are returned. Credentials can be retrieved later using the _reset-credentials endpoint.' schema: type: boolean requestBody: description: Configuration of the security project to create. content: application/json: schema: $ref: '#/components/schemas/CreateSecurityProjectRequest' example: name: Example project region_id: aws-us-east-1 required: true responses: '201': description: The created security project. headers: ETag: schema: type: string content: application/json: schema: $ref: '#/components/schemas/SecurityProjectCreated' '400': $ref: '#/components/responses/BadRequest' '422': $ref: '#/components/responses/UnprocessableEntity' '/api/v1/serverless/projects/security/{id}': get: tags: - security projects summary: Get a Security project operationId: getSecurityProject responses: '200': description: The requested Security project headers: ETag: schema: type: string content: application/json: schema: $ref: '#/components/schemas/SecurityProject' '404': $ref: '#/components/responses/NotFound' patch: tags: - security projects summary: Update a Security project description: Only the fields included in the body of the request will be updated. operationId: patchSecurityProject parameters: - name: If-Match in: header description: ETag value fetched in a previous GET project request. Used to prevent simultaneous updates schema: type: string requestBody: description: The patched Security project content: application/json: schema: $ref: '#/components/schemas/PatchSecurityProjectRequest' example: name: Example project required: true responses: '200': description: The updated Security project. headers: ETag: schema: type: string content: application/json: schema: $ref: '#/components/schemas/SecurityProject' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' '412': $ref: '#/components/responses/PreconditionFailed' delete: tags: - security projects summary: Delete a Security project operationId: deleteSecurityProject parameters: - name: If-Match in: header description: ETag value fetched in a previous GET project request. Used to prevent simultaneous updates schema: type: string responses: '200': description: Project deletion scheduled. headers: ETag: schema: type: string '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' '412': $ref: '#/components/responses/PreconditionFailed' parameters: - name: id in: path description: The ID of the project required: true schema: $ref: '#/components/schemas/ProjectID' '/api/v1/serverless/projects/security/{id}/_can-delete': get: tags: - security projects summary: Get Security project delete status description: Find issues that would prevent deletion of a project operationId: getSecurityProjectCanDelete responses: '200': description: The requested delete status content: application/json: schema: $ref: '#/components/schemas/CanDeleteResponse' '404': $ref: '#/components/responses/NotFound' parameters: - name: id in: path description: The ID of the project required: true schema: $ref: '#/components/schemas/ProjectID' '/api/v1/serverless/projects/security/{id}/_reset-credentials': post: tags: - security projects summary: Reset the project credentials description: 'Retrieve new project credentials, invalidating the previous ones.' operationId: resetSecurityProjectCredentials responses: '200': description: The new project credentials. headers: ETag: schema: type: string content: application/json: schema: $ref: '#/components/schemas/ProjectCredentials' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' parameters: - name: id in: path description: The ID of the project required: true schema: $ref: '#/components/schemas/ProjectID' - name: If-Match in: header description: ETag value fetched in a previous GET project request. Used to prevent simultaneous updates schema: type: string '/api/v1/serverless/projects/security/{id}/_resume': post: tags: - security projects summary: Resume Security project description: Resume a previously suspended Security project. Projects can be automatically suspended after their trial period has expired. operationId: resumeSecurityProject parameters: - name: If-Match in: header description: ETag value fetched in a previous GET project request. Used to prevent simultaneous updates. schema: type: string responses: '200': description: Project resumption scheduled. headers: ETag: schema: type: string '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' '412': $ref: '#/components/responses/PreconditionFailed' parameters: - name: id in: path description: The ID of the project required: true schema: $ref: '#/components/schemas/ProjectID' '/api/v1/serverless/projects/security/{id}/link-candidates': get: tags: - security projects summary: Get Security project link candidates description: The response contains the list of projects which can be linked to the specified Security project in a cross-project search configuration. operationId: getSecurityProjectLinkCandidates responses: '200': description: The requested link candidate projects content: application/json: schema: $ref: '#/components/schemas/LinkedCandidatesList' '404': $ref: '#/components/responses/NotFound' parameters: - name: id in: path description: The ID of the project required: true schema: $ref: '#/components/schemas/ProjectID' - name: types in: query description: One or more types of projects to return as link candidates. schema: type: array items: $ref: '#/components/schemas/ProjectType' - name: csp in: query description: The Cloud Service Provider to filter the link candidate projects by. schema: type: string - name: region in: query description: The region to filter the link candidate projects by. schema: type: string - name: name in: query description: The project name to filter the link candidates by. schema: type: string - name: alias in: query description: The project alias to filter the link candidates by. schema: type: string - name: tags in: query description: 'If specified, the result will be filtered to only those projects that have the specified tags and corresponding values.' style: deepObject explode: true schema: $ref: '#/components/schemas/ProjectTags' example: 'tags[environment]': production 'tags[team]': team-a '/api/v1/serverless/projects/security/{id}/roles': get: tags: - security projects summary: Get roles for a Security project description: Retrieve the custom roles defined for a Security project. operationId: getSecurityProjectRoles responses: '200': description: The requested roles headers: ETag: schema: type: string content: application/json: schema: $ref: '#/components/schemas/ProjectRolesByProjectID' '404': $ref: '#/components/responses/NotFound' parameters: - name: id in: path description: The ID of the project required: true schema: $ref: '#/components/schemas/ProjectID' '/api/v1/serverless/projects/security/{id}/status': get: tags: - security projects summary: Get the status of a Security project description: The response indicates whether the project is initialized and ready to be used. The phase will change from "initializing" to "initialized" when the project is ready. operationId: getSecurityProjectStatus responses: '200': description: The requested Security project status content: application/json: schema: $ref: '#/components/schemas/ProjectStatus' '404': $ref: '#/components/responses/NotFound' parameters: - name: id in: path description: The ID of the project required: true schema: $ref: '#/components/schemas/ProjectID' /api/v1/serverless/projects/vectordb: get: tags: - vectordb projects summary: Get VectorDB projects description: Fetches a list of VectorDB projects. operationId: listVectorDBProjects parameters: - name: traffic_filter in: query description: Filters the returned list of projects. Only projects associated with the provided traffic_filter will be returned. schema: type: string - name: linked in: query description: 'Contains a project ID. If specified, the result will be filtered to only those origin projects that are linked to the specified project ID in a cross-project search configuration.' schema: $ref: '#/components/schemas/ProjectID' - name: tags in: query description: 'If specified, the result will be filtered to only those projects that have the specified tags and corresponding values.' style: deepObject explode: true schema: $ref: '#/components/schemas/ProjectTags' responses: '200': description: The VectorDB project list content: application/json: schema: $ref: '#/components/schemas/VectorDBProjectList' '401': $ref: '#/components/responses/Unauthorized' post: tags: - vectordb projects summary: Create a VectorDB project description: 'Create a VectorDB project. The response will include the created project details, such as the project ID, the credentials to access the project, and the endpoints to access different apps. The credentials can be regenerated at any time using the _reset-credentials endpoint.' operationId: createVectorDBProject parameters: - name: exclude_credentials in: query description: 'If true, the username and password fields in the response credentials are set to empty strings and no usable credentials are returned. Credentials can be retrieved later using the _reset-credentials endpoint.' schema: type: boolean requestBody: description: Configuration of the VectorDB project to create. content: application/json: schema: $ref: '#/components/schemas/CreateVectorDBProjectRequest' example: name: Example project region_id: aws-us-east-1 required: true responses: '201': description: The created VectorDB project. headers: ETag: schema: type: string content: application/json: schema: $ref: '#/components/schemas/VectorDBProjectCreated' '400': $ref: '#/components/responses/BadRequest' '422': $ref: '#/components/responses/UnprocessableEntity' '/api/v1/serverless/projects/vectordb/{id}': get: tags: - vectordb projects summary: Get a VectorDB project operationId: getVectorDBProject responses: '200': description: The requested VectorDB project headers: ETag: schema: type: string content: application/json: schema: $ref: '#/components/schemas/VectorDBProject' '404': $ref: '#/components/responses/NotFound' patch: tags: - vectordb projects summary: Update a VectorDB project description: Only the fields included in the body of the request will be updated. operationId: patchVectorDBProject parameters: - name: If-Match in: header description: ETag value fetched in a previous GET project request. Used to prevent simultaneous updates schema: type: string requestBody: description: The VectorDB project patch body content: application/json: schema: $ref: '#/components/schemas/PatchVectorDBProjectRequest' example: name: Example project required: true responses: '200': description: The updated VectorDB project. headers: ETag: schema: type: string content: application/json: schema: $ref: '#/components/schemas/VectorDBProject' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' '412': $ref: '#/components/responses/PreconditionFailed' delete: tags: - vectordb projects summary: Delete a VectorDB project operationId: deleteVectorDBProject parameters: - name: If-Match in: header description: ETag value fetched in a previous GET project request. Used to prevent simultaneous updates schema: type: string responses: '200': description: Project deletion scheduled. headers: ETag: schema: type: string '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' '412': $ref: '#/components/responses/PreconditionFailed' parameters: - name: id in: path description: The ID of the project required: true schema: $ref: '#/components/schemas/ProjectID' '/api/v1/serverless/projects/vectordb/{id}/_can-delete': get: tags: - vectordb projects summary: Get VectorDB project delete status description: Find issues that would prevent deletion of a project operationId: getVectorDBProjectCanDelete responses: '200': description: The requested delete status content: application/json: schema: $ref: '#/components/schemas/CanDeleteResponse' '404': $ref: '#/components/responses/NotFound' parameters: - name: id in: path description: The ID of the project required: true schema: $ref: '#/components/schemas/ProjectID' '/api/v1/serverless/projects/vectordb/{id}/_reset-credentials': post: tags: - vectordb projects summary: Reset the project credentials description: 'Retrieve new project credentials, invalidating the previous ones.' operationId: resetVectorDBProjectCredentials responses: '200': description: The new project credentials. headers: ETag: schema: type: string content: application/json: schema: $ref: '#/components/schemas/ProjectCredentials' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' parameters: - name: id in: path description: The ID of the project required: true schema: $ref: '#/components/schemas/ProjectID' - name: If-Match in: header description: ETag value fetched in a previous GET project request. Used to prevent simultaneous updates schema: type: string '/api/v1/serverless/projects/vectordb/{id}/_resume': post: tags: - vectordb projects summary: Resume VectorDB project description: Resume a previously suspended VectorDB project. Projects can be automatically suspended after their trial period has expired. operationId: resumeVectorDBProject parameters: - name: If-Match in: header description: ETag value fetched in a previous GET project request. Used to prevent simultaneous updates. schema: type: string responses: '200': description: Project resumption scheduled. headers: ETag: schema: type: string '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' '412': $ref: '#/components/responses/PreconditionFailed' parameters: - name: id in: path description: The ID of the project required: true schema: $ref: '#/components/schemas/ProjectID' '/api/v1/serverless/projects/vectordb/{id}/link-candidates': get: tags: - vectordb projects summary: Get VectorDB project link candidates description: The response contains the list of projects which can be linked to the specified VectorDB project in a cross-project search configuration. operationId: getVectorDBProjectLinkCandidates responses: '200': description: The requested link candidate projects content: application/json: schema: $ref: '#/components/schemas/LinkedCandidatesList' '404': $ref: '#/components/responses/NotFound' parameters: - name: id in: path description: The ID of the project required: true schema: $ref: '#/components/schemas/ProjectID' - name: types in: query description: One or more types of projects to return as link candidates. schema: type: array items: $ref: '#/components/schemas/ProjectType' - name: csp in: query description: The Cloud Service Provider to filter the link candidate projects by. schema: type: string - name: region in: query description: The region to filter the link candidate projects by. schema: type: string - name: name in: query description: The project name to filter the link candidates by. schema: type: string - name: alias in: query description: The project alias to filter the link candidates by. schema: type: string - name: tags in: query description: 'If specified, the result will be filtered to only those projects that have the specified tags and corresponding values.' style: deepObject explode: true schema: $ref: '#/components/schemas/ProjectTags' example: 'tags[environment]': production 'tags[team]': team-a '/api/v1/serverless/projects/vectordb/{id}/roles': get: tags: - vectordb projects summary: Get roles for a VectorDB project description: Retrieve the custom roles defined for a VectorDB project. operationId: getVectorDBProjectRoles responses: '200': description: The requested roles headers: ETag: schema: type: string content: application/json: schema: $ref: '#/components/schemas/ProjectRolesByProjectID' '404': $ref: '#/components/responses/NotFound' parameters: - name: id in: path description: The ID of the project required: true schema: $ref: '#/components/schemas/ProjectID' '/api/v1/serverless/projects/vectordb/{id}/status': get: tags: - vectordb projects summary: Get the status of a VectorDB project description: The response indicates whether the project is initialized and ready to be used. The phase will change from \"initializing\" to \"initialized\" when the project is ready. operationId: getVectorDBProjectStatus responses: '200': description: The requested VectorDB project status content: application/json: schema: $ref: '#/components/schemas/ProjectStatus' '404': $ref: '#/components/responses/NotFound' parameters: - name: id in: path description: The ID of the project required: true schema: $ref: '#/components/schemas/ProjectID' /api/v1/serverless/regions: get: tags: - regions summary: Get regions description: Retrieve the available cloud service provider regions where a project can be created. operationId: listRegions responses: '200': description: The regions list content: application/json: schema: type: array items: $ref: '#/components/schemas/Region' '401': $ref: '#/components/responses/Unauthorized' '/api/v1/serverless/regions/{id}': get: tags: - regions summary: Get a region description: Retrieve the details of a cloud service provider region. operationId: getRegion responses: '200': description: The requested region content: application/json: schema: $ref: '#/components/schemas/Region' '404': $ref: '#/components/responses/NotFound' parameters: - name: id in: path description: ID of the region required: true schema: $ref: '#/components/schemas/RegionID' /api/v1/serverless/traffic-filters: get: tags: - traffic filters summary: List traffic filters description: "Lists the organization's traffic filters. Up to 1000 filters are returned per call; use the X-Elastic-Page-Size header to request a smaller page. When more results remain, the response carries a next_page token to send back in the X-Elastic-Next-Page header. Keep paging until next_page is absent: a page filled exactly to the page size still returns a token, and the page that follows it may be empty.\n" operationId: listTrafficFilters parameters: - name: include_by_default in: query description: Retrieves a list of resources that have include_by_default set or not set schema: type: boolean default: false - name: region in: query description: If provided limits the traffic filters to that region only. schema: type: string - name: X-Elastic-Page-Size in: header description: Maximum number of traffic filters returned in the response. Defaults to 1000. schema: $ref: '#/components/schemas/TrafficFilterPageSize' - name: X-Elastic-Next-Page in: header description: 'The next_page token from a previous response, to fetch the page that follows it.' schema: type: string example: YyMzY1MDQiLCJtYXgiOiJGRiJ9fV0= responses: '200': description: The collection of traffic filters were successfully returned. content: application/json: schema: $ref: '#/components/schemas/TrafficFilterList' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '500': $ref: '#/components/responses/InternalServerError' post: tags: - traffic filters summary: Create a traffic filter description: "Creates a traffic filter that consists of a set of rules.\n\nSee [Private connectivity](https://www.elastic.co/docs/deploy-manage/security/private-connectivity)\nfor setup guides and regional service names.\n\n### AWS PrivateLink (`type: vpce`)\n\nEach rule must include:\n\n- `source` — the VPC endpoint ID (format: `vpce-` followed by 17 lowercase hex characters).\n\nDo not set `azure_endpoint_name` or `azure_endpoint_guid` on AWS rules.\n\n### Azure Private Link (`type: private_endpoint`)\n\nEach rule must include:\n\n- `azure_endpoint_name` — the Azure Private Endpoint resource name (2–80 characters).\n- `azure_endpoint_guid` — the PE **resource GUID** (`properties.resourceGuid`), a lowercase UUID.\n This is not the ARM resource ID.\n\nDo not set `source` on Azure rules.\n\n### GCP Private Service Connect (`type: psc_endpoint`)\n\nEach rule must include:\n\n- `source` — the decimal PSC connection ID reported by the consumer forwarding rule.\n\nDo not set `azure_endpoint_name` or `azure_endpoint_guid` on GCP rules. GCP PSC\nconnections are accepted automatically by the service attachment, so creating this\ntraffic filter does not trigger a cloud approval or resolution operation.\n" operationId: createTrafficFilter requestBody: $ref: '#/components/requestBodies/CreateTrafficFilterRequestBody' responses: '201': description: The traffic filter definition is valid and the creation has started. headers: ETag: schema: type: string content: application/json: schema: $ref: '#/components/schemas/TrafficFilterInfo' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '409': $ref: '#/components/responses/Conflict' '500': $ref: '#/components/responses/InternalServerError' /api/v1/serverless/traffic-filters/metadata: get: tags: - traffic filters summary: List PrivateLink region metadata description: "Returns region-specific PrivateLink connectivity metadata. Optionally filter by region or csp. If no matches are found, returns 200 with an empty regions array.\n" operationId: getTrafficFilterMetadata parameters: - name: region in: query description: 'Filter metadata to a specific region (e.g. aws-eu-west-1, azure-australiaeast).' schema: minLength: 1 type: string - name: csp in: query description: 'Filter metadata to a specific cloud service provider (aws, azure, gcp).' schema: minLength: 1 type: string responses: '200': description: Metadata returned. content: application/json: schema: $ref: '#/components/schemas/TrafficFilterMetadata' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '500': $ref: '#/components/responses/InternalServerError' '/api/v1/serverless/traffic-filters/{id}': get: tags: - traffic filters summary: Retrieves the traffic filter by ID. description: Retrieves a list of resources that are associated to the specified traffic filter. operationId: getTrafficFilter responses: '200': description: The container for a set of traffic filter rules. headers: ETag: schema: type: string content: application/json: schema: $ref: '#/components/schemas/TrafficFilterInfo' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' patch: tags: - traffic filters summary: Updates a traffic filter description: Updates the traffic filter with the definition. operationId: patchTrafficFilter requestBody: $ref: '#/components/requestBodies/PatchTrafficFilterBody' responses: '200': description: The traffic filter definition was valid and the update has started. headers: ETag: schema: type: string content: application/json: schema: $ref: '#/components/schemas/TrafficFilterInfo' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' '500': $ref: '#/components/responses/InternalServerError' x-doc: tag: traffic filters delete: tags: - traffic filters summary: Delete a traffic filter description: Deletes the traffic filter by ID. operationId: deleteTrafficFilter responses: '204': description: The traffic filter was successfully deleted. headers: ETag: schema: type: string '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' '500': $ref: '#/components/responses/InternalServerError' parameters: - name: id in: path description: The traffic filter ID. required: true schema: type: string /api/v1/configuration/monitoring/ignore-filters: get: tags: - monitoring summary: List ignore filters description: "Returns the list of ignore filters that can be applied to the logs from a project to suppress noisy or low-value log records before ingestion, helping control log volume and cost.\n" operationId: listIgnoreFilters parameters: - name: type in: query description: Filter the results to ignore filters of the given type. schema: $ref: '#/components/schemas/IgnoreFilterType' responses: '200': description: The list of available ignore filters. content: application/json: schema: $ref: '#/components/schemas/IgnoreFilterList' '400': $ref: '#/components/responses/BadRequest' '/api/v1/configuration/monitoring/ignore-filters/{id}': get: tags: - monitoring summary: Get an ignore filter description: "Returns the details of a single log ignore filter.\n" operationId: getIgnoreFilter parameters: - name: id in: path description: The identifier of the ignore filter. required: true schema: type: string example: audit-ignore-data-reads responses: '200': description: The requested ignore filter. content: application/json: schema: $ref: '#/components/schemas/IgnoreFilter' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' components: schemas: CanDeleteResponse: required: - linked_projects - monitored_projects - can_be_deleted type: object properties: linked_projects: type: array items: $ref: '#/components/schemas/DependentProjectSummary' description: Details about linked origins that affect deletion. monitored_projects: type: array items: $ref: '#/components/schemas/DependentProjectSummary' description: Details about projects being monitored by the target project that affect deletion. can_be_deleted: type: boolean description: Indicates whether the project can be deleted. description: Container for deletion eligibility details. Capabilities: required: - cross_project_search - quotas type: object properties: cross_project_search: $ref: '#/components/schemas/CrossProjectSearchCapabilities' quotas: $ref: '#/components/schemas/Quotas' description: Capabilities that apply to the user's organization. CloudID: type: string description: 'The cloud ID, an encoded string that provides other Elastic services with the necessary information to connect to this Elasticsearch and Kibana.' example: my_project:LmF3cy5lbGFzdG CommonProjectFields: required: - id - name - alias - region_id - metadata - cloud_id type: object properties: id: $ref: '#/components/schemas/ProjectID' name: $ref: '#/components/schemas/ProjectName' alias: $ref: '#/components/schemas/ProjectAliasWithSuffix' region_id: $ref: '#/components/schemas/RegionID' metadata: $ref: '#/components/schemas/ProjectMetadata' cloud_id: $ref: '#/components/schemas/CloudID' traffic_filters: $ref: '#/components/schemas/TrafficFilters' linked: $ref: '#/components/schemas/LinkConfiguration' monitoring: $ref: '#/components/schemas/Monitoring' description: Common fields of serverless projects. CreateElasticsearchProjectRequest: required: - name - region_id type: object properties: name: $ref: '#/components/schemas/ProjectName' alias: $ref: '#/components/schemas/ProjectAlias' region_id: $ref: '#/components/schemas/RegionID' optimized_for: $ref: '#/components/schemas/ElasticsearchOptimizedFor' search_lake: $ref: '#/components/schemas/ElasticsearchSearchLake' traffic_filters: $ref: '#/components/schemas/TrafficFilters' linked: $ref: '#/components/schemas/CreateLinkedRequest' metadata: $ref: '#/components/schemas/ProjectMetadataRequest' monitoring: $ref: '#/components/schemas/MonitoringCreateRequest' additionalProperties: false description: A request to create an Elasticsearch serverless project. CreateLinkedProjectRequest: required: - type type: object properties: type: $ref: '#/components/schemas/ProjectType' additionalProperties: false description: Details of the linked project CreateLinkedRequest: required: - projects type: object properties: projects: minProperties: 1 type: object additionalProperties: $ref: '#/components/schemas/CreateLinkedProjectRequest' additionalProperties: false description: Configuration for linked projects associated with this project CreateObservabilityProjectRequest: required: - name - region_id type: object properties: name: $ref: '#/components/schemas/ProjectName' alias: $ref: '#/components/schemas/ProjectAlias' region_id: $ref: '#/components/schemas/RegionID' traffic_filters: $ref: '#/components/schemas/TrafficFilters' product_tier: $ref: '#/components/schemas/ObservabilityProjectProductTier' linked: $ref: '#/components/schemas/CreateLinkedRequest' metadata: $ref: '#/components/schemas/ProjectMetadataRequest' monitoring: $ref: '#/components/schemas/MonitoringCreateRequest' additionalProperties: false description: A request to create an Observability project. CreateSecurityProjectRequest: required: - name - region_id type: object properties: name: $ref: '#/components/schemas/ProjectName' alias: $ref: '#/components/schemas/ProjectAlias' region_id: $ref: '#/components/schemas/RegionID' admin_features_package: $ref: '#/components/schemas/SecurityAdminFeaturesPackage' product_types: maxItems: 3 minItems: 1 type: array items: $ref: '#/components/schemas/SecurityProductType' default: - product_line: security product_tier: complete - product_line: cloud product_tier: complete - product_line: endpoint product_tier: complete search_lake: $ref: '#/components/schemas/SecuritySearchLake' traffic_filters: $ref: '#/components/schemas/TrafficFilters' linked: $ref: '#/components/schemas/CreateLinkedRequest' metadata: $ref: '#/components/schemas/ProjectMetadataRequest' monitoring: $ref: '#/components/schemas/MonitoringCreateRequest' additionalProperties: false description: A request to create a Security project. CreateVectorDBProjectRequest: required: - name - region_id type: object properties: name: $ref: '#/components/schemas/ProjectName' alias: $ref: '#/components/schemas/ProjectAlias' region_id: $ref: '#/components/schemas/RegionID' search_lake: $ref: '#/components/schemas/VectorDBSearchLake' traffic_filters: $ref: '#/components/schemas/TrafficFilters' linked: $ref: '#/components/schemas/CreateLinkedRequest' metadata: $ref: '#/components/schemas/ProjectMetadataRequest' monitoring: $ref: '#/components/schemas/MonitoringCreateRequest' additionalProperties: false description: A request to create a VectorDB serverless project. CrossProjectSearchCapabilities: required: - max_linked_projects type: object properties: max_linked_projects: type: integer description: The maximum number of projects that can be linked to an origin project. example: 100 description: Cross-project search capabilities of the organization. DataRetention: type: - 'null' - object properties: max_retention_days: maximum: 3681 minimum: 7 type: - 'null' - integer description: Maximum number of days allowed for retaining data in Elasticsearch data streams. Can be set to "null" for unlimited. A default of 396 will be applied if no value is specified on project creation. default_retention_days: maximum: 3681 minimum: 7 type: - 'null' - integer description: Default number of days during which data remains available in Elasticsearch data streams. Can be set to "null" for unlimited. A default of 396 will be applied if no value is specified on project creation. description: Configuration to control the data retention in Elasticsearch data streams. DependentProjectSummary: required: - id - type type: object properties: id: $ref: '#/components/schemas/ProjectID' name: $ref: '#/components/schemas/ProjectName' alias: $ref: '#/components/schemas/ProjectAlias' type: $ref: '#/components/schemas/ProjectType' description: Summary details of a project. ElasticsearchOptimizedFor: enum: - general_purpose - vector type: string description: "The purpose for which the hardware of this elasticsearch project is optimized. Also known as the Elasticsearch project subtype.\n\n- The `general_purpose` option is suitable for most search use cases. For example, it is the right profile for full-text search, sparse vectors, and dense vectors that use compression such as BBQ. It is used by default when you create projects from the UI.\n- The `vector` option is recommended only for uncompressed dense vectors (`dense_vector` fields with `int4` or `int8` quantization strategies) and high dimensionality. Refer to documentation about billing dimensions for the impact to virtual compute unit (VCU) consumption.\n" externalDocs: description: Elasticsearch Serverless billing dimensions url: https://www.elastic.co/docs/deploy-manage/cloud-organization/billing/elasticsearch-billing-dimensions example: general_purpose ElasticsearchProject: allOf: - $ref: '#/components/schemas/CommonProjectFields' - $ref: '#/components/schemas/ElasticsearchProjectFields' description: An Elasticsearch serverless project. ElasticsearchProjectCreated: allOf: - $ref: '#/components/schemas/ElasticsearchProject' - required: - credentials type: object properties: credentials: $ref: '#/components/schemas/ProjectCredentials' description: The created Elasticsearch project along with credentials to access Elasticsearch. ElasticsearchProjectEndpoints: required: - elasticsearch - kibana - ingest type: object properties: elasticsearch: type: string description: The endpoint to access elasticsearch. example: https://my-project-alias-df6c6d.es.us-east-1.aws.elastic.cloud kibana: type: string description: The endpoint to access kibana. example: https://my-project-alias-df6c6d.kb.us-east-1.aws.elastic.cloud ingest: type: string description: The endpoint to access the Managed OpenTelemetry Collector. example: https://my-project-alias-df6c6d.ingest.us-east-1.aws.elastic.cloud description: The endpoints to access the different apps of the project. ElasticsearchProjectFields: required: - type - optimized_for - endpoints type: object properties: type: enum: - elasticsearch type: string description: the type of the project optimized_for: $ref: '#/components/schemas/ElasticsearchOptimizedFor' search_lake: $ref: '#/components/schemas/ElasticsearchSearchLake' endpoints: $ref: '#/components/schemas/ElasticsearchProjectEndpoints' private_endpoints: $ref: '#/components/schemas/ElasticsearchProjectPrivateEndpoints' description: Specific fields of an Elasticsearch serverless project. ElasticsearchProjectList: required: - items type: object properties: next_page: type: string description: A token to fetch the next page. example: YyMzY1MDQiLCJtYXgiOiJGRiJ9fV0= deprecated: true items: type: array items: $ref: '#/components/schemas/ElasticsearchProject' description: The actual projects. description: A paginated list of serverless elasticsearch projects. ElasticsearchProjectPrivateEndpoints: required: - elasticsearch - kibana - ingest type: object properties: elasticsearch: type: string description: The PrivateLink endpoint URL to access elasticsearch. example: https://my-project-alias-df6c6d.es.private.us-east-1.aws.elastic.cloud kibana: type: string description: The PrivateLink endpoint URL to access kibana. example: https://my-project-alias-df6c6d.kb.private.us-east-1.aws.elastic.cloud ingest: type: string description: The PrivateLink endpoint URL to access the Managed OpenTelemetry Collector. example: https://my-project-alias-df6c6d.ingest.private.us-east-1.aws.elastic.cloud description: Private endpoints (URLs) for Elasticsearch projects when PrivateLink is enabled. ElasticsearchSearchLake: type: object properties: search_power: maximum: 3000 minimum: 28 type: integer description: 'Controls how fast searches are against your project data. When ingested, a certain amount of data is loaded into a cache that makes it super fast to query. You can either increase the performance of searches on cached data by adding replicas, or reduce the quantity of cached data by a static factor to save on costs.' example: 100 boost_window: maximum: 180 minimum: 1 type: integer description: 'Determines how much data can benefit from faster search. When ingested, a certain amount of data is loaded into a cache that makes it super fast to query. The system dynamically adjusts the cache allocated to your project based on how much data you ingest during the period defined by your Search Boost Window.' example: 100 description: Configuration for entire set of capabilities that make the data searchable in Elasticsearch. ErrorResponse: required: - message - code type: object properties: message: type: string description: A human-readable message of the error. example: Explicative error message code: type: string description: An identifier for this type of error. example: code.error description: An error response returned by the API. IgnoreFilterRef: required: - id type: object properties: id: type: string description: The unique identifier of the ignore filter. example: audit-ignore-data-reads additionalProperties: false description: Reference to a logging ignore filter applied to a logging category. LinkConfiguration: required: - projects type: object properties: projects: type: object additionalProperties: $ref: '#/components/schemas/LinkedProject' additionalProperties: false description: Configuration for projects linked to this project LinkedCandidateProject: required: - id - name - alias - type - csp - region - tags - linked type: object properties: id: $ref: '#/components/schemas/ProjectID' name: $ref: '#/components/schemas/ProjectName' alias: $ref: '#/components/schemas/ProjectAlias' type: $ref: '#/components/schemas/ProjectType' csp: type: string region: $ref: '#/components/schemas/RegionID' tags: $ref: '#/components/schemas/ProjectTags' linked: type: boolean description: Indicates whether the project is already linked to the requesting project. LinkedCandidatesList: required: - items type: object properties: items: type: array items: $ref: '#/components/schemas/LinkedCandidateProject' description: The linked candidates. description: A list of all projects that can be linked for a project. LinkedProject: required: - status - type type: object properties: status: $ref: '#/components/schemas/LinkedProjectStatus' type: $ref: '#/components/schemas/ProjectType' LinkedProjectStatus: enum: - enabled - suspended - deleted type: string description: The state of the linked project. Logging: type: object properties: audit: $ref: '#/components/schemas/LoggingCategory' description: Configuration for project logs. LoggingCategory: required: - destination - enabled type: object properties: destination: $ref: '#/components/schemas/LoggingDestination' enabled: type: boolean description: 'When true, logs from this category are delivered to the configured destination. When false, delivery is paused but the configuration is preserved.' ignore_filters: type: array items: $ref: '#/components/schemas/IgnoreFilterRef' description: References to logging ignore filters applied to reduce the volume of logs delivered for this category. description: Configuration for logs from a specific category. LoggingCategoryCreateRequest: required: - destination type: object properties: destination: $ref: '#/components/schemas/LoggingDestinationCreateRequest' enabled: type: boolean description: 'When true (default), logs from this category are delivered to the configured destination. When false, delivery is paused but the configuration is preserved.' default: true ignore_filters: maxItems: 10 type: array items: $ref: '#/components/schemas/IgnoreFilterRef' description: References to logging ignore filters applied to reduce the volume of logs delivered for this category. additionalProperties: false description: Configuration for logs from a specific category. LoggingCreateRequest: type: object properties: audit: $ref: '#/components/schemas/LoggingCategoryCreateRequest' additionalProperties: false description: Configuration for project logs. LoggingDestination: required: - project_id - project_type - status type: object properties: project_id: $ref: '#/components/schemas/ProjectID' project_type: $ref: '#/components/schemas/ProjectType' status: $ref: '#/components/schemas/LoggingDestinationStatus' description: Configuration for destination of logs. LoggingDestinationCreateRequest: required: - project_id type: object properties: project_id: $ref: '#/components/schemas/ProjectID' project_type: $ref: '#/components/schemas/ProjectType' additionalProperties: false description: Configuration for destination of logs. LoggingDestinationStatus: enum: - enabled - suspended - deleted type: string description: 'The state of log delivery to this destination. Controlled by the system and read-only: it is set to `suspended` or `deleted` when the destination project is suspended or deleted. Logs are only delivered when this is `enabled` and the logging category''s `enabled` flag is true.' Monitoring: type: object properties: logging: $ref: '#/components/schemas/Logging' description: Configuration for monitoring a project. MonitoringCreateRequest: type: object properties: logging: $ref: '#/components/schemas/LoggingCreateRequest' description: Configuration for monitoring a project. MultiErrorResponse: required: - errors type: object properties: errors: type: array items: $ref: '#/components/schemas/ErrorResponse' description: A non-empty list of errors. ObservabilityProject: allOf: - $ref: '#/components/schemas/CommonProjectFields' - $ref: '#/components/schemas/ObservabilityProjectFields' description: An Observability project. ObservabilityProjectCreated: allOf: - $ref: '#/components/schemas/ObservabilityProject' - required: - credentials type: object properties: credentials: $ref: '#/components/schemas/ProjectCredentials' description: The created Observability project along with credentials to access Elasticsearch. ObservabilityProjectEndpoints: required: - elasticsearch - kibana - apm - ingest type: object properties: elasticsearch: type: string description: The endpoint to access elasticsearch. kibana: type: string description: The endpoint to access kibana. apm: type: string description: The endpoint to access apm. ingest: type: string description: The endpoint to access the Managed OTLP Endpoint. description: The endpoints to access the different apps of the project. ObservabilityProjectFields: required: - type - endpoints type: object properties: type: enum: - observability type: string description: the type of the project product_tier: $ref: '#/components/schemas/ObservabilityProjectProductTier' endpoints: $ref: '#/components/schemas/ObservabilityProjectEndpoints' private_endpoints: $ref: '#/components/schemas/ObservabilityProjectPrivateEndpoints' description: Specific fields of an Observability project. ObservabilityProjectList: required: - items type: object properties: next_page: type: string description: A token to fetch the next page. deprecated: true items: type: array items: $ref: '#/components/schemas/ObservabilityProject' description: The actual projects. description: A paginated list of serverless Observability projects. ObservabilityProjectPrivateEndpoints: required: - elasticsearch - kibana - apm - ingest type: object properties: elasticsearch: type: string description: The PrivateLink endpoint URL to access elasticsearch. example: https://my-project-alias-df6c6d.es.private.us-east-1.aws.elastic.cloud kibana: type: string description: The PrivateLink endpoint URL to access kibana. example: https://my-project-alias-df6c6d.kb.private.us-east-1.aws.elastic.cloud apm: type: string description: The PrivateLink endpoint URL to access APM. example: https://my-project-alias-df6c6d.apm.private.us-east-1.aws.elastic.cloud ingest: type: string description: The PrivateLink endpoint URL to access the Managed OTLP Endpoint. example: https://my-project-alias-df6c6d.ingest.private.us-east-1.aws.elastic.cloud description: Private endpoints (URLs) for Observability projects when PrivateLink is enabled. ObservabilityProjectProductTier: enum: - complete - logs_essentials type: string description: the tier of the observability project. The default is "complete" when not specified at creation time. x-enumNames: - ObservabilityProjectProductTierComplete - ObservabilityProjectProductTierLogsEssentials OptionalElasticsearchSearchLake: type: - 'null' - object properties: search_power: maximum: 3000 minimum: 28 type: - 'null' - integer description: 'Controls how fast searches are against your project data. When ingested, a certain amount of data is loaded into a cache that makes it super fast to query. You can either increase the performance of searches on cached data by adding replicas, or reduce the quantity of cached data by a static factor to save on costs. Pass `null` to reset the Search Power to the default value.' boost_window: maximum: 180 minimum: 1 type: - 'null' - integer description: 'Determines how much data can benefit from faster search. When ingested, a certain amount of data is loaded into a cache that makes it super fast to query. The system dynamically adjusts the cache allocated to your project based on how much data you ingest during the period defined by your Search Boost Window. Pass `null` to reset the Search Boost Window to the default value.' description: Configuration for entire set of capabilities that make the data searchable in Elasticsearch. Pass `null` to reset configuration to the default values. OptionalLinkConfiguration: type: - 'null' - object properties: projects: minProperties: 1 type: object additionalProperties: $ref: '#/components/schemas/OptionalLinkedProject' additionalProperties: false description: Configuration for projects linked to this project OptionalLinkedProject: required: - type type: - 'null' - object properties: type: $ref: '#/components/schemas/ProjectType' additionalProperties: false description: Details of the linked project OptionalLogging: type: - 'null' - object properties: audit: $ref: '#/components/schemas/OptionalLoggingCategory' additionalProperties: false description: Configuration for project logs. Pass `null` to reset all log configuration. OptionalLoggingCategory: type: - 'null' - object properties: destination: $ref: '#/components/schemas/LoggingDestinationCreateRequest' enabled: type: boolean description: 'When true, logs from this category are delivered to the configured destination. When false, delivery is paused but the configuration is preserved. Omit to leave the current value unchanged.' ignore_filters: maxItems: 10 type: - 'null' - array items: $ref: '#/components/schemas/IgnoreFilterRef' description: Named ignore filters applied to reduce the volume of logs delivered for this category. Can be passed as `null` to remove all ignore filters for this category. additionalProperties: false description: Configuration for logs from a specific category. Pass as `null` to reset configuration for this category of logs. OptionalMetadata: minProperties: 1 type: object properties: tags: $ref: '#/components/schemas/ProjectPatchTags' annotations: $ref: '#/components/schemas/ProjectPatchAnnotations' additionalProperties: false description: Metadata about the project OptionalMonitoring: type: - 'null' - object properties: logging: $ref: '#/components/schemas/OptionalLogging' additionalProperties: false description: Configuration for monitoring a project. Pass `null` to reset all monitoring configuration. OptionalSecurityAdminFeaturesPackage: enum: - standard - enterprise type: - 'null' - string description: 'admin features package (BYOK, BYOIDP, CCS, CCR). Pass `null` to reset the admin features package to the default value.' OptionalSecuritySearchLake: type: - 'null' - object properties: data_retention: $ref: '#/components/schemas/DataRetention' description: Configuration for the entire set of capabilities that make the data searchable in Security. OptionalTrafficFilters: type: - 'null' - array items: $ref: '#/components/schemas/TrafficFilter' description: traffic filters IDs OptionalVectorDBSearchLake: type: - 'null' - object properties: search_power: multipleOf: 100 maximum: 1900 minimum: 100 type: - 'null' - integer description: Controls how fast searches are against your project data. Must be a multiple of 100. Pass `null` to reset the Search Power to the default value. description: Configuration for entire set of capabilities that make the data searchable in VectorDB. Pass `null` to reset configuration to the default values. PatchElasticsearchProjectRequest: type: object properties: name: $ref: '#/components/schemas/ProjectName' alias: $ref: '#/components/schemas/ProjectAlias' search_lake: $ref: '#/components/schemas/OptionalElasticsearchSearchLake' traffic_filters: $ref: '#/components/schemas/OptionalTrafficFilters' linked: $ref: '#/components/schemas/OptionalLinkConfiguration' metadata: $ref: '#/components/schemas/OptionalMetadata' monitoring: $ref: '#/components/schemas/OptionalMonitoring' additionalProperties: false description: A request to patch an existing Elasticsearch serverless project. PatchObservabilityProjectRequest: type: object properties: name: $ref: '#/components/schemas/ProjectName' alias: $ref: '#/components/schemas/ProjectAlias' traffic_filters: $ref: '#/components/schemas/OptionalTrafficFilters' linked: $ref: '#/components/schemas/OptionalLinkConfiguration' product_tier: $ref: '#/components/schemas/ObservabilityProjectProductTier' metadata: $ref: '#/components/schemas/OptionalMetadata' monitoring: $ref: '#/components/schemas/OptionalMonitoring' additionalProperties: false description: A request to update an existing Observability project. PatchSecurityProjectRequest: type: object properties: name: $ref: '#/components/schemas/ProjectName' alias: $ref: '#/components/schemas/ProjectAlias' admin_features_package: $ref: '#/components/schemas/OptionalSecurityAdminFeaturesPackage' product_types: maxItems: 3 minItems: 1 type: - 'null' - array items: $ref: '#/components/schemas/SecurityProductType' search_lake: $ref: '#/components/schemas/OptionalSecuritySearchLake' traffic_filters: $ref: '#/components/schemas/OptionalTrafficFilters' metadata: $ref: '#/components/schemas/OptionalMetadata' linked: $ref: '#/components/schemas/OptionalLinkConfiguration' monitoring: $ref: '#/components/schemas/OptionalMonitoring' additionalProperties: false description: A request to patch an existing Security project. PatchVectorDBProjectRequest: type: object properties: name: $ref: '#/components/schemas/ProjectName' alias: $ref: '#/components/schemas/ProjectAlias' search_lake: $ref: '#/components/schemas/OptionalVectorDBSearchLake' traffic_filters: $ref: '#/components/schemas/OptionalTrafficFilters' linked: $ref: '#/components/schemas/OptionalLinkConfiguration' metadata: $ref: '#/components/schemas/OptionalMetadata' monitoring: $ref: '#/components/schemas/OptionalMonitoring' additionalProperties: false description: A request to patch an existing VectorDB serverless project. ProjectAlias: maxLength: 50 minLength: 1 pattern: '^[a-zA-Z]{1}(?:[a-zA-Z0-9-]*[a-zA-Z0-9]{1})?$' type: string description: A custom domain label compatible with RFC-1035 standards. Derived from the project name by default. example: my-project-alias ProjectAliasWithSuffix: maxLength: 57 minLength: 8 pattern: '^[a-zA-Z]{1}(?:[a-zA-Z0-9-]*[a-zA-Z0-9]{1})?$' type: string description: A domain label compatible with RFC-1035 standards. Project alias with a unique suffix added by the system to avoid naming conflicts. example: my-project-alias-bdc0f7 ProjectAnnotationPatchValue: maxLength: 128 minLength: 1 pattern: '^[a-zA-Z0-9][a-zA-Z0-9_-]*$' type: - 'null' - string ProjectAnnotationValue: maxLength: 128 minLength: 1 pattern: '^[a-zA-Z0-9][a-zA-Z0-9_-]*$' type: string ProjectAnnotations: maxProperties: 64 minProperties: 1 type: object additionalProperties: $ref: '#/components/schemas/ProjectAnnotationValue' description: 'Annotations associated with a project, as key-value pairs that keep their case. A project can have at most 64 annotations, separate from its tags. Each key must start with a letter, contain only letters, digits, underscores and hyphens (a-zA-Z0-9_-), and be at most 32 characters long. Annotations can''t be used in cross-project search and can''t filter the project list.' ProjectCredentials: required: - username - password type: object properties: username: type: string description: Basic auth username that can be used to access the Elasticsearch API. example: admin password: type: string description: Basic auth password that can be used to access the Elasticsearch API. format: password example: '*****' description: Basic auth credentials to access the Elasticsearch API. ProjectID: pattern: '^[a-z0-9]{32}$' type: string description: ID of the project. ProjectMetadata: required: - created_at - created_by - organization_id type: object properties: created_at: type: string description: Date and time when the project was created. format: date-time created_by: $ref: '#/components/schemas/UserID' organization_id: type: string description: The Organization ID who owns the project. example: '198583657190' suspended_at: type: string description: Date and time when the project was suspended. format: date-time suspended_reason: type: string description: Reason why the project was suspended. example: trial expired tags: $ref: '#/components/schemas/ProjectTags' system_tags: $ref: '#/components/schemas/ProjectSystemTags' annotations: $ref: '#/components/schemas/ProjectAnnotations' description: Additional details about the project. ProjectMetadataRequest: minProperties: 1 type: object properties: tags: $ref: '#/components/schemas/ProjectTags' annotations: $ref: '#/components/schemas/ProjectAnnotations' additionalProperties: false description: Metadata request for a project with tags and annotations. ProjectName: maxLength: 255 minLength: 1 type: string description: Descriptive name for a project. example: my project ProjectPatchAnnotations: minProperties: 1 type: object additionalProperties: $ref: '#/components/schemas/ProjectAnnotationPatchValue' description: 'Annotations to set or delete on a project. A value sets or overwrites the key, and `null` deletes it. Keys that are left out are unchanged. After the patch, a project can have at most 64 annotations.' ProjectPatchTags: minProperties: 1 type: object additionalProperties: $ref: '#/components/schemas/ProjectTagPatchValue' description: Tags that need to be updated for a project. The maximum number of tags that can be updated is 64. ProjectRole: type: string description: A role name for a particular project ProjectRoleDescription: type: string description: A role description for a particular role ProjectRoleDetails: required: - name - description type: object properties: name: $ref: '#/components/schemas/ProjectRole' description: $ref: '#/components/schemas/ProjectRoleDescription' description: Roles of a serverless project. ProjectRoles: type: object properties: roles: type: array items: $ref: '#/components/schemas/ProjectRoleDetails' ProjectRolesByProjectID: type: object additionalProperties: $ref: '#/components/schemas/ProjectRoles' ProjectStatus: required: - phase type: object properties: phase: $ref: '#/components/schemas/ProjectStatusPhase' phase_change_timestamp: type: string description: Date and time when the project changed to the current phase. format: date-time description: Status of a serverless project. ProjectStatusPhase: enum: - initializing - initialized - deleting - suspending - suspended type: string description: "Current phase of the project:\n- initializing: the project is still being created and is not ready for use yet. Projects being resumed or restored transition back to this phase.\n- initialized: the project has been created successfully and is ready for use\n- deleting: the project is being deleted but the process has not completed yet. The project is not usable in this phase.\n- deleted: the project has been deleted. This is a terminal phase, after which the project will be removed from the system after a certain retention period.\n- suspending: the project is being suspended but the process has not completed yet. The project is not usable in this phase.\n- suspended: the project has been suspended. The project is not usable in this phase.\n" ProjectSystemTags: type: object additionalProperties: $ref: '#/components/schemas/ProjectTagValue' description: System tags associated with a project in the form of key-value pairs. These tags are added by the internal system and are read-only. The keys are prefixed with an underscore to differentiate them from user tags. ProjectTagPatchValue: maxLength: 128 minLength: 1 pattern: '^[a-z0-9][a-z0-9_-]*$' type: - 'null' - string ProjectTagValue: maxLength: 128 minLength: 1 pattern: '^[a-z0-9][a-z0-9_-]*$' type: string ProjectTags: maxProperties: 64 minProperties: 1 type: object additionalProperties: $ref: '#/components/schemas/ProjectTagValue' description: 'Tags associated with a project in the form of key-value pairs. Tags are limited to a minimum of 1 and a maximum of 64 per project. Each tag key must begin with a lowercase letter (a-z), contain only lowercase letters, digits, underscores, and hyphens (a-z0-9_-), and have a maximum length of 32 characters.' ProjectType: enum: - elasticsearch - observability - security - vectordb type: string description: The type of the linked project x-enumNames: - ProjectTypeElasticsearch - ProjectTypeObservability - ProjectTypeSecurity - ProjectTypeVectorDB Quotas: required: - max_projects type: object properties: max_projects: type: integer description: The maximum number of projects that can be created in the organization. example: 500 description: Quota limits that apply to the organization. RegionID: type: string description: Unique human-readable identifier for a region in Elastic Cloud. example: aws-us-east-1 SecurityAdminFeaturesPackage: enum: - standard - enterprise type: string description: 'admin features package (BYOK, BYOIDP, CCS, CCR)' SecurityProductLine: enum: - security - cloud - endpoint type: string description: The identifier of the Security Solution product line. SecurityProductTier: enum: - complete - essentials type: string description: The identifier of the Security Solution product tier. x-enumNames: - SecurityProductTierComplete - SecurityProductTierEssentials - SecurityProductTierSearchAiLake - SecurityProductTierAiSocEngine SecurityProductType: required: - product_line - product_tier type: object properties: product_line: $ref: '#/components/schemas/SecurityProductLine' product_tier: $ref: '#/components/schemas/SecurityProductTier' description: Defines Security product type object with product line and tier dimensions. SecurityProject: allOf: - $ref: '#/components/schemas/CommonProjectFields' - $ref: '#/components/schemas/SecurityProjectFields' description: A Security project. SecurityProjectCreated: allOf: - $ref: '#/components/schemas/SecurityProject' - required: - credentials type: object properties: credentials: $ref: '#/components/schemas/ProjectCredentials' description: The created Security project along with credentials to access Elasticsearch. SecurityProjectEndpoints: required: - elasticsearch - kibana - ingest type: object properties: elasticsearch: type: string description: The endpoint to access elasticsearch. kibana: type: string description: The endpoint to access kibana. ingest: type: string description: The endpoint to access the Managed OTLP Endpoint. description: The endpoints to access the different apps of the project. SecurityProjectFields: required: - type - endpoints type: object properties: type: enum: - security type: string description: the type of the project endpoints: $ref: '#/components/schemas/SecurityProjectEndpoints' private_endpoints: $ref: '#/components/schemas/SecurityProjectPrivateEndpoints' search_lake: $ref: '#/components/schemas/SecuritySearchLake' admin_features_package: $ref: '#/components/schemas/SecurityAdminFeaturesPackage' product_types: maxItems: 3 minItems: 1 type: array items: $ref: '#/components/schemas/SecurityProductType' default: - product_line: security product_tier: complete - product_line: cloud product_tier: complete - product_line: endpoint product_tier: complete description: Specific fields of a Security project. SecurityProjectList: required: - items type: object properties: next_page: type: string description: A token to fetch the next page. deprecated: true items: type: array items: $ref: '#/components/schemas/SecurityProject' description: The actual projects. description: A paginated list of serverless Security projects. SecurityProjectPrivateEndpoints: required: - elasticsearch - kibana - ingest type: object properties: elasticsearch: type: string description: The PrivateLink endpoint URL to access elasticsearch. example: https://my-project-alias-df6c6d.es.private.us-east-1.aws.elastic.cloud kibana: type: string description: The PrivateLink endpoint URL to access kibana. example: https://my-project-alias-df6c6d.kb.private.us-east-1.aws.elastic.cloud ingest: type: string description: The PrivateLink endpoint URL to access the Managed OTLP Endpoint. example: https://my-project-alias-df6c6d.ingest.private.us-east-1.aws.elastic.cloud description: Private endpoints (URLs) for Security projects when PrivateLink is enabled. SecuritySearchLake: type: object properties: data_retention: $ref: '#/components/schemas/DataRetention' description: Configuration for the entire set of capabilities that make the data searchable in Security. TrafficFilter: required: - id type: object properties: id: type: string description: traffic filter ID example: traffic-filter-1 description: traffic filters association info TrafficFilters: type: array items: $ref: '#/components/schemas/TrafficFilter' description: traffic filters IDs UserID: type: string description: ID of the user. example: '1014289666002276' VectorDBProject: allOf: - $ref: '#/components/schemas/CommonProjectFields' - $ref: '#/components/schemas/VectorDBProjectFields' description: A VectorDB serverless project. VectorDBProjectCreated: allOf: - $ref: '#/components/schemas/VectorDBProject' - required: - credentials type: object properties: credentials: $ref: '#/components/schemas/ProjectCredentials' description: The created VectorDB project along with credentials to access the project. VectorDBProjectEndpoints: required: - elasticsearch - kibana type: object properties: elasticsearch: type: string description: The endpoint to access elasticsearch. example: https://my-project-alias-df6c6d.es.us-east-1.aws.elastic.cloud kibana: type: string description: The endpoint to access kibana. example: https://my-project-alias-df6c6d.kb.us-east-1.aws.elastic.cloud description: The endpoints to access the different apps of the project. VectorDBProjectFields: required: - type - endpoints type: object properties: type: enum: - vectordb type: string description: the type of the project x-enumNames: - VectorDB endpoints: $ref: '#/components/schemas/VectorDBProjectEndpoints' private_endpoints: $ref: '#/components/schemas/VectorDBProjectPrivateEndpoints' search_lake: $ref: '#/components/schemas/VectorDBSearchLake' description: Specific fields of a VectorDB serverless project. VectorDBProjectList: required: - items type: object properties: next_page: type: string description: A token to fetch the next page. example: YyMzY1MDQiLCJtYXgiOiJGRiJ9fV0= deprecated: true items: type: array items: $ref: '#/components/schemas/VectorDBProject' description: The actual projects. description: A paginated list of serverless VectorDB projects. VectorDBProjectPrivateEndpoints: required: - elasticsearch - kibana type: object properties: elasticsearch: type: string description: The PrivateLink endpoint URL to access elasticsearch. example: https://my-project-alias-df6c6d.es.private.us-east-1.aws.elastic.cloud kibana: type: string description: The PrivateLink endpoint URL to access kibana. example: https://my-project-alias-df6c6d.kb.private.us-east-1.aws.elastic.cloud description: Private endpoints (URLs) for VectorDB projects when PrivateLink is enabled. VectorDBSearchLake: type: object properties: search_power: multipleOf: 100 maximum: 1900 minimum: 100 type: integer description: Controls how fast searches are against your project data. Must be a multiple of 100. example: 100 description: Configuration for entire set of capabilities that make the data searchable in VectorDB. CSP: enum: - aws - gcp - azure type: string description: The identifier of the cloud service provider hosting this region. CountryCode: type: string description: ISO 3166-1 alpha-2 country code which this region is associated with example: US Region: required: - id - name - csp - csp_region - country_code - project_creation_enabled type: object properties: id: $ref: '#/components/schemas/RegionID' name: type: string description: The human readable name for the region example: US (Virginia) csp: $ref: '#/components/schemas/CSP' csp_region: type: string description: The unique identifier of the underlying cloud service provider region. example: us-east-1 country_code: $ref: '#/components/schemas/CountryCode' project_creation_enabled: type: boolean description: Specifies whether the region is available for project creation description: A Cloud Service Provider region. CreateTrafficFilterRequest: required: - name - region - type type: object properties: name: maxLength: 128 minLength: 1 type: string description: Name of the traffic filter description: maxLength: 512 minLength: 0 type: string description: Description of the traffic filter type: $ref: '#/components/schemas/TrafficFilterType' include_by_default: type: boolean description: Should the traffic filter be automatically included in the new projects region: maxLength: 32 minLength: 1 type: string description: "Serverless region ID the filter applies to (e.g. `azure-australiaeast`, `aws-eu-west-1`).\nThe filter can only be attached to projects in this region.\n" example: azure-australiaeast rules: type: array items: $ref: '#/components/schemas/TrafficFilterRule' description: "List of rules. Required fields depend on `type`:\n- `ip`, `vpce` and `psc_endpoint` use `source`.\n- `private_endpoint` uses `azure_endpoint_name` and `azure_endpoint_guid`, not `source`.\n" description: The specification for traffic filter. TrafficFilterPageSize: maximum: 1000 minimum: 1 type: integer description: Maximum number of items returned in a single page of a list response. PatchTrafficFilterRequest: type: object properties: name: type: string description: Name of the traffic filter description: type: string description: Description of the traffic filter include_by_default: type: boolean description: Should the traffic filter be automatically included in the new projects rules: type: array items: $ref: '#/components/schemas/TrafficFilterRule' description: List of rules description: The specification for traffic filter. TrafficFilterAvailabilityZone: required: - name - id type: object properties: name: type: string id: type: string TrafficFilterInfo: required: - id - include_by_default - name - region - rules - type type: object properties: id: maxLength: 32 minLength: 32 type: string description: The traffic filter ID name: maxLength: 128 minLength: 1 type: string description: Name of the traffic filter description: maxLength: 512 minLength: 0 type: string description: Description of the traffic filter type: $ref: '#/components/schemas/TrafficFilterType' include_by_default: type: boolean description: Should the traffic filter be automatically included in the new projects region: maxLength: 32 minLength: 1 type: string description: The traffic filter can be attached only to projects in the specific region rules: type: array items: $ref: '#/components/schemas/TrafficFilterRule' description: List of rules description: The container for a set of traffic filter rules. TrafficFilterList: required: - items type: object properties: next_page: type: - 'null' - string description: "A token to fetch the next page, to be sent back in the X-Elastic-Next-Page header. Absent when there are no further pages. When present it does not guarantee the next page is non-empty, so keep paging until it is absent.\n" example: YyMzY1MDQiLCJtYXgiOiJGRiJ9fV0= items: type: array items: $ref: '#/components/schemas/TrafficFilterInfo' description: List of traffic filters description: The container for a set of traffic filter. TrafficFilterMetadata: type: object properties: regions: type: array items: $ref: '#/components/schemas/TrafficFilterRegionMetadata' description: Region-scoped PrivateLink metadata. TrafficFilterRegionMetadata: required: - region - csp - private_service_name - private_hosted_zone_domain_name - availability_zones type: object properties: region: type: string description: 'Serverless region ID (e.g. `azure-australiaeast`, `aws-eu-west-1`).' example: azure-australiaeast csp: enum: - aws - azure - gcp type: string description: Cloud service provider. example: azure vpc_service_name: type: string description: Deprecated. Use private_service_name instead. Kept for backward compatibility. deprecated: true private_service_name: type: string description: "CSP-specific PrivateLink service identifier. Use the `/metadata` endpoint to look up\nthe value for your region. See also [Private connectivity](https://www.elastic.co/docs/deploy-manage/security/private-connectivity).\n- **AWS**: VPC endpoint service name (e.g. `com.amazonaws.vpce.eu-west-1.vpce-svc-…`).\n- **Azure**: Private Link Service alias (e.g. `australiaeast-prod-….australiaeast.azure.privatelinkservice`).\n- **GCP**: Service Attachment URI.\n" example: australiaeast-prod-012-privatelink-service.a0cf0c1a-33ab-4528-81e7-9cb23608f94e.australiaeast.azure.privatelinkservice private_hosted_zone_domain_name: type: string description: "Private DNS suffix for project endpoints in this region. Create DNS records pointing\nto your Private Endpoint under this zone.\n" example: private.australiaeast.azure.elastic.cloud availability_zones: type: array items: $ref: '#/components/schemas/TrafficFilterAvailabilityZone' TrafficFilterRule: type: object properties: description: type: string description: Optional human-readable description of the rule. source: type: string description: "Allowed source for `ip`, `vpce`, or `psc_endpoint` filters: an IP address, CIDR\nmask, AWS VPC endpoint ID (`vpce-` followed by 17 lowercase hex characters), or\nGCP PSC connection ID.\nMust not be set for `private_endpoint` filters.\n" example: vpce-0123456789abcdef0 azure_endpoint_name: maxLength: 80 minLength: 2 pattern: '^[a-zA-Z0-9][-\w.]{0,78}[\w]$' type: string description: "Azure Private Endpoint resource name. Required for `private_endpoint` filters;\nnot applicable to `ip`, `vpce`, or `psc_endpoint` filters.\nMust be 2–80 characters, start with an alphanumeric character, and end with an\nalphanumeric character or underscore. May contain alphanumerics, underscores,\nperiods, and hyphens.\n" example: my-private-endpoint azure_endpoint_guid: pattern: '^[a-f0-9]{8}-([a-f0-9]{4}-){3}[a-f0-9]{12}$' type: string description: "Azure Private Endpoint **resource GUID** (`properties.resourceGuid` from the Azure\nresource). Required for `private_endpoint` filters. Must be a lowercase UUID.\nThis is not the ARM resource ID.\n" example: 7c0f05e4-e32b-4b10-a246-7b77f7dcc63c description: "A single traffic filter rule. Which fields are required depends on the parent filter's\n`type` — the fields are mutually exclusive between Azure and IP/private-connectivity rules.\n" TrafficFilterType: maxLength: 32 minLength: 1 enum: - ip - vpce - private_endpoint - psc_endpoint type: string description: "Type of the traffic filter. Determines which rule fields are valid:\n- `ip` — IP/CIDR allowlist (`source`)\n- `vpce` — AWS PrivateLink VPC endpoint (`source`)\n- `private_endpoint` — Azure Private Link (`azure_endpoint_name`, `azure_endpoint_guid`)\n- `psc_endpoint` — GCP Private Service Connect endpoint (`source`)\n" IgnoreFilter: required: - id - name - description - type type: object properties: id: type: string description: "The unique identifier of the ignore filter, used as the `{id}` path parameter.\nThe predefined ignore filter identifiers are:\n- `audit-ignore-data-reads`: ignore data searches and reads. - `audit-ignore-ui-requests`: ignore UI requests. - `audit-ignore-data-writes`: ignore data writes. - `audit-ignore-successful-authentications`: ignore successful sign-ins. - `audit-ignore-successful-iam-checks`: ignore routine user and role checks.\n" example: audit-ignore-data-reads name: type: string description: The human-readable name of the ignore filter. example: Ignore data searches and reads description: type: string description: A description of what the ignore filter suppresses and when to use it. example: Suppress internal monitoring service-account noise common to all projects. type: $ref: '#/components/schemas/IgnoreFilterType' description: "A named filter used to drop noisy or low-value log records before ingestion, helping control log volume and cost.\n" IgnoreFilterList: required: - items type: object properties: items: type: array items: $ref: '#/components/schemas/IgnoreFilter' description: The ignore filters in the catalog. description: A list of ignore filters. IgnoreFilterType: enum: - audit type: string description: The kind of log this ignore filter applies to. responses: BadRequest: description: Bad request content: application/json: schema: $ref: '#/components/schemas/MultiErrorResponse' NotFound: description: Not Found content: application/json: schema: $ref: '#/components/schemas/MultiErrorResponse' Unauthorized: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/MultiErrorResponse' UnprocessableEntity: description: Unprocessable entity content: application/json: schema: $ref: '#/components/schemas/MultiErrorResponse' Conflict: description: Conflict content: application/json: schema: $ref: '#/components/schemas/MultiErrorResponse' PreconditionFailed: description: Precondition failed content: application/json: schema: $ref: '#/components/schemas/MultiErrorResponse' Forbidden: description: Forbidden content: application/json: schema: $ref: '#/components/schemas/MultiErrorResponse' InternalServerError: description: Internal server error content: application/json: schema: $ref: '#/components/schemas/MultiErrorResponse' requestBodies: CreateTrafficFilterRequestBody: description: The specification for traffic filter. content: application/json: schema: $ref: '#/components/schemas/CreateTrafficFilterRequest' examples: azurePrivateEndpoint: summary: Azure Private Endpoint filter description: "Use for Azure Private Link. Requires a pending PE connection created against\nthe region's PLS alias from the metadata endpoint.\n" value: name: my-azure-pl-filter description: Allow traffic from office VNet region: azure-australiaeast type: private_endpoint include_by_default: false rules: - description: Office VNet PE azure_endpoint_name: my-private-endpoint azure_endpoint_guid: 7c0f05e4-e32b-4b10-a246-7b77f7dcc63c awsVpce: summary: AWS PrivateLink filter value: name: my-aws-pl-filter region: aws-eu-west-1 type: vpce include_by_default: false rules: - source: vpce-0123456789abcdef0 gcpPscEndpoint: summary: GCP Private Service Connect filter value: name: my-gcp-psc-filter region: gcp-us-central1 type: psc_endpoint include_by_default: false rules: - source: '12345678901234567890' ipFilter: summary: IP allowlist filter value: name: my-ip-filter region: aws-eu-west-1 type: ip include_by_default: false rules: - source: 203.0.113.0/24 required: true PatchTrafficFilterBody: description: The specification for traffic filter. content: application/json: schema: $ref: '#/components/schemas/PatchTrafficFilterRequest' required: true securitySchemes: apiKey: type: apiKey description: "API keys are used to authenticate requests to the Elastic Cloud Serverless REST API.\nGenerate your secret API key in https://cloud.elastic.co/account/keys\nYou must provide the API key for all API requests in the Authorization header as follows:\n\n```\n\"Authorization: ApiKey $API_KEY\"\n```\n\nFor example, if you interact with the API using the curl command:\n\n```\ncurl -H \"Authorization: ApiKey essu_...\" https://api.elastic-cloud.com/api/v1/serverless/projects/elasticsearch\n```\n" name: Authorization in: header security: - apiKey: [ ] tags: - name: elasticsearch projects description: Management of Elasticsearch projects - name: capabilities description: Capabilities that apply to the user's organization - name: observability projects description: Management of Observability projects - name: security projects description: Management of Security projects - name: vectordb projects description: Management of VectorDB projects - name: regions description: Cloud service provider regions - name: traffic filters description: "Create, read, update, and delete traffic filters for Serverless projects, and retrieve\nregional PrivateLink metadata (AWS VPC endpoint service names, Azure PLS aliases, GCP\nservice attachment URIs).\n" - name: monitoring description: Management of monitoring configuration.