openapi: 3.1.0 info: title: Couchbase Analytics Service REST Allowed CIDRs Projects API description: The Couchbase Analytics Service REST API provides access to the Analytics service for running complex analytical queries on operational data without impacting performance of key-value operations. It supports SQL++ queries for analytics, management of links to external data sources, and configuration of user-defined libraries. The service enables real-time analytics on JSON data alongside transactional workloads. version: '7.6' contact: name: Couchbase Support url: https://support.couchbase.com termsOfService: https://www.couchbase.com/terms-of-use servers: - url: https://localhost:8095 description: Analytics Service (default port) - url: https://localhost:18095 description: Analytics Service (SSL) security: - basicAuth: [] tags: - name: Projects description: Endpoints for creating, listing, updating, and deleting projects within an organization. paths: /v4/organizations/{organizationId}/projects: get: operationId: listProjects summary: List projects description: Returns the list of projects within the specified organization. tags: - Projects parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/perPage' responses: '200': description: Successful retrieval of projects content: application/json: schema: $ref: '#/components/schemas/PaginatedResponse' '401': description: Unauthorized access '429': description: Rate limit exceeded post: operationId: createProject summary: Create a project description: Creates a new project within the specified organization. tags: - Projects parameters: - $ref: '#/components/parameters/organizationId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ProjectCreateRequest' responses: '201': description: Project created successfully content: application/json: schema: $ref: '#/components/schemas/Project' '400': description: Invalid project configuration '401': description: Unauthorized access '429': description: Rate limit exceeded /v4/organizations/{organizationId}/projects/{projectId}: get: operationId: getProject summary: Get project details description: Returns detailed information about a specific project. tags: - Projects parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/projectId' responses: '200': description: Successful retrieval of project details content: application/json: schema: $ref: '#/components/schemas/Project' '401': description: Unauthorized access '404': description: Project not found '429': description: Rate limit exceeded put: operationId: updateProject summary: Update a project description: Updates the configuration of an existing project. tags: - Projects parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/projectId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ProjectCreateRequest' responses: '204': description: Project updated successfully '400': description: Invalid project configuration '401': description: Unauthorized access '404': description: Project not found '429': description: Rate limit exceeded delete: operationId: deleteProject summary: Delete a project description: Deletes the specified project. All resources within the project must be deleted first. tags: - Projects parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/projectId' responses: '204': description: Project deleted successfully '401': description: Unauthorized access '404': description: Project not found '422': description: Project contains active resources '429': description: Rate limit exceeded components: parameters: page: name: page in: query required: false description: Page number for pagination schema: type: integer minimum: 1 default: 1 perPage: name: perPage in: query required: false description: Number of items per page schema: type: integer minimum: 1 maximum: 100 default: 25 projectId: name: projectId in: path required: true description: The UUID of the project schema: type: string format: uuid organizationId: name: organizationId in: path required: true description: The UUID of the organization schema: type: string format: uuid schemas: ProjectCreateRequest: type: object description: Request to create or update a project required: - name properties: name: type: string description: Project name maxLength: 128 description: type: string description: Project description maxLength: 1024 Project: type: object description: Capella project within an organization properties: id: type: string format: uuid description: Project UUID name: type: string description: Project name description: type: string description: Project description audit: $ref: '#/components/schemas/AuditInfo' AuditInfo: type: object description: Audit timestamps properties: createdAt: type: string format: date-time description: Creation timestamp modifiedAt: type: string format: date-time description: Last modification timestamp createdBy: type: string description: User who created the resource modifiedBy: type: string description: User who last modified the resource version: type: integer description: Resource version number PaginatedResponse: type: object description: Paginated response wrapper properties: cursor: type: object description: Pagination cursor information properties: pages: type: object properties: page: type: integer description: Current page number next: type: integer description: Next page number previous: type: integer description: Previous page number last: type: integer description: Last page number perPage: type: integer description: Items per page totalItems: type: integer description: Total number of items data: type: array description: List of items items: {} securitySchemes: basicAuth: type: http scheme: basic description: HTTP Basic Authentication using Couchbase Server credentials. externalDocs: description: Couchbase Analytics Service REST API Documentation url: https://docs.couchbase.com/server/current/analytics/rest-analytics.html