openapi: 3.1.0 paths: /: get: operationId: getHealthStatus parameters: [] responses: "200": description: Health status content: application/json: schema: type: object properties: status: type: string example: OK default: description: Default error response content: application/json: schema: $ref: "#/components/schemas/DefaultErrorDTO" summary: Get the health status of the application tags: - health x-speakeasy-group: health x-speakeasy-name-override: get /v1/organizations/{organizationId}/api-credentials: get: description: Get a list of all API Credentials for the specified Organization. operationId: v1.apiCredentials.listApiCredentials parameters: - name: organizationId required: true in: path description: The id of the Organization whose API Credentials you want to list. schema: type: string responses: "200": description: API Credentials retrieved content: application/json: schema: $ref: "#/components/schemas/ApiCredentialsListResponseDTO" default: description: Default error response content: application/json: schema: $ref: "#/components/schemas/DefaultErrorDTO" summary: List API Credentials for an Organization tags: - apiCredentials x-speakeasy-group: apiCredentials x-speakeasy-name-override: list post: description: Create a new API Credential for the specified Organization. operationId: v1.apiCredentials.createApiCredential parameters: - name: organizationId required: true in: path description: The id of the Organization where you want to create the API Credential. schema: type: string requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/ApiCredentialCreateRequestDTO" responses: "201": description: API Credential created content: application/json: schema: $ref: "#/components/schemas/ApiCredentialCreateResponseSchema" "409": description: Could not create API Credential because it already exists "422": description: API Credential limit reached content: application/json: schema: $ref: "#/components/schemas/DefaultErrorDTO" default: description: Default error response content: application/json: schema: $ref: "#/components/schemas/DefaultErrorDTO" summary: Create an API Credential tags: - apiCredentials x-speakeasy-group: apiCredentials x-speakeasy-name-override: create /v1/organizations/{organizationId}/api-credentials/{apiCredentialId}: patch: description: Update the specified API Credential. operationId: v1.apiCredentials.updateApiCredential parameters: - name: organizationId required: true in: path description: The id of the Organization whose API Credential you want to update. schema: type: string - name: apiCredentialId required: true in: path description: The clientId of the API Credential to update. schema: type: string requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/ApiCredentialUpdateRequestDTO" responses: "204": description: API Credential updated "404": description: API Credential not found "409": description: Could not update API Credential because the name is already in use default: description: Default error response content: application/json: schema: $ref: "#/components/schemas/DefaultErrorDTO" summary: Update an API Credential tags: - apiCredentials x-speakeasy-group: apiCredentials x-speakeasy-name-override: update delete: description: Delete the specified API Credential. operationId: v1.apiCredentials.deleteApiCredential parameters: - name: organizationId required: true in: path description: The id of the Organization whose API Credential you want to delete. schema: type: string - name: apiCredentialId required: true in: path description: The clientId of the API Credential to delete. schema: type: string responses: "204": description: API Credential deleted "404": description: API Credential not found default: description: Default error response content: application/json: schema: $ref: "#/components/schemas/DefaultErrorDTO" summary: Delete an API Credential tags: - apiCredentials x-speakeasy-group: apiCredentials x-speakeasy-name-override: delete get: description: Get the specified API Credential. operationId: v1.apiCredentials.getApiCredential parameters: - name: organizationId required: true in: path description: The id of the Organization whose API Credential you want to retrieve. schema: type: string - name: apiCredentialId required: true in: path description: The clientId of the API Credential to retrieve. schema: type: string responses: "200": description: API Credential retrieved content: application/json: schema: $ref: "#/components/schemas/ApiCredentialResponseSchema" "404": description: API Credential not found default: description: Default error response content: application/json: schema: $ref: "#/components/schemas/DefaultErrorDTO" summary: Get an API Credential tags: - apiCredentials x-speakeasy-group: apiCredentials x-speakeasy-name-override: get /v1/organizations/{organizationId}/billing/credits/contracts-utilization: get: description: >- **This endpoint is in development with restricted availability**. We do not recommend using this endpoint in production. Functionality might change without notice. Contact [Cribl Support](https://cribl.io/support/) to request access. Get cumulative credit utilization data grouped by contract period for the specified Organization. operationId: v1.billing.getContractsUtilization parameters: - name: organizationId required: true in: path description: The id of the Organization. schema: type: string - name: startingOn required: true in: query description: Inclusive start of the query date range in ISO 8601 format. schema: format: date-time example: 2025-05-01T00:00:00.000Z type: string - name: endingBefore required: true in: query description: Exclusive end of the query date range in ISO 8601 format. schema: format: date-time example: 2025-06-01T00:00:00.000Z type: string - name: window required: true in: query description: Aggregation granularity for credit utilization data. schema: $ref: "#/components/schemas/BillingWindow" responses: "200": description: Contract credit utilization data. content: application/json: schema: $ref: "#/components/schemas/ContractsUtilizationResponseDTO" "503": description: FinOps endpoints are in development with restricted availability. Contact Cribl Support to request access. default: description: Default error response content: application/json: schema: $ref: "#/components/schemas/DefaultErrorDTO" summary: "[In development] Get contract credit utilization" tags: - billing x-speakeasy-group: billing x-speakeasy-name-override: getContractsUtilization /v1/organizations/{organizationId}/billing/credits/timeseries: get: description: >- **This endpoint is in development with restricted availability**. We do not recommend using this endpoint in production. Functionality might change without notice. Contact [Cribl Support](https://cribl.io/support/) to request access. Get credit consumption timeseries data for the specified Organization, broken down by dimensions such as product and usage type. operationId: v1.billing.getCreditsTimeseries parameters: - name: organizationId required: true in: path description: The id of the Organization. schema: type: string - name: startingOn required: true in: query description: Inclusive start of the query date range in ISO 8601 format. schema: format: date-time example: 2025-05-01T00:00:00.000Z type: string - name: endingBefore required: true in: query description: Exclusive end of the query date range in ISO 8601 format. schema: format: date-time example: 2025-06-01T00:00:00.000Z type: string - name: window required: true in: query description: Aggregation granularity for timeseries data. schema: $ref: "#/components/schemas/BillingWindow" responses: "200": description: Credits timeseries data. content: application/json: schema: $ref: "#/components/schemas/CreditsTimeseriesResponseDTO" "503": description: FinOps endpoints are in development with restricted availability. Contact Cribl Support to request access. default: description: Default error response content: application/json: schema: $ref: "#/components/schemas/DefaultErrorDTO" summary: "[In development] Get credits timeseries" tags: - billing x-speakeasy-group: billing x-speakeasy-name-override: getCreditsTimeseries /v1/organizations/{organizationId}/billing/credits/stats: get: description: >- **This endpoint is in development with restricted availability**. We do not recommend using this endpoint in production. Functionality might change without notice. Contact [Cribl Support](https://cribl.io/support/) to request access. Get credit balance totals, consumption totals, and contract date ranges for the specified Organization. operationId: v1.billing.getCreditsStats parameters: - name: organizationId required: true in: path description: The id of the Organization. schema: type: string - name: startingOn required: true in: query description: Inclusive start of the query date range in ISO 8601 format. schema: format: date-time example: 2025-05-01T00:00:00.000Z type: string - name: endingBefore required: true in: query description: Exclusive end of the query date range in ISO 8601 format. schema: format: date-time example: 2025-06-01T00:00:00.000Z type: string - name: window required: true in: query description: Aggregation granularity for credit balance and consumption. schema: $ref: "#/components/schemas/BillingWindow" responses: "200": description: Credit balance and consumption totals. content: application/json: schema: $ref: "#/components/schemas/CreditsStatsResponseDTO" "503": description: FinOps endpoints are in development with restricted availability. Contact Cribl Support to request access. default: description: Default error response content: application/json: schema: $ref: "#/components/schemas/DefaultErrorDTO" summary: "[In development] Get credit balance and consumption" tags: - billing x-speakeasy-group: billing x-speakeasy-name-override: getCreditsStats /v1/organizations/{organizationId}/billing/credits/grants: get: description: >- **This endpoint is in development with restricted availability**. We do not recommend using this endpoint in production. Functionality might change without notice. Contact [Cribl Support](https://cribl.io/support/) to request access. Get credit grants (purchases, rollovers, and refunds) for the specified Organization. operationId: v1.billing.getCreditsGrants parameters: - name: organizationId required: true in: path description: The id of the Organization. schema: type: string - name: startingOn required: true in: query description: Inclusive start of the query date range in ISO 8601 format. schema: format: date-time example: 2025-05-01T00:00:00.000Z type: string - name: endingBefore required: true in: query description: Exclusive end of the query date range in ISO 8601 format. schema: format: date-time example: 2025-06-01T00:00:00.000Z type: string - name: window required: true in: query description: Aggregation granularity for credit grant data. schema: $ref: "#/components/schemas/BillingWindow" responses: "200": description: Credit grants for the queried period. content: application/json: schema: $ref: "#/components/schemas/CreditGrantsResponseDTO" "503": description: FinOps endpoints are in development with restricted availability. Contact Cribl Support to request access. default: description: Default error response content: application/json: schema: $ref: "#/components/schemas/DefaultErrorDTO" summary: "[In development] Get credit grants" tags: - billing x-speakeasy-group: billing x-speakeasy-name-override: getCreditsGrants /v1/organizations/{organizationId}/workspaces: post: description: Create a new Workspace in the specified Organization. operationId: v1.workspaces.createWorkspace parameters: - name: organizationId required: true in: path description: The id of the Organization where you want to create the Workspace. schema: type: string requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/WorkspaceCreateRequestDTO" responses: "201": description: The Workspace has been successfully created content: application/json: schema: $ref: "#/components/schemas/WorkspaceSchema" default: description: Default error response content: application/json: schema: $ref: "#/components/schemas/DefaultErrorDTO" summary: Create a Workspace in the specified Organization tags: - workspaces x-speakeasy-group: workspaces x-speakeasy-name-override: create get: description: Get a list of all Workspaces for the specified Organization. operationId: v1.workspaces.listWorkspaces parameters: - name: organizationId required: true in: path description: The id of the Organization that contains the Workspaces. schema: type: string responses: "200": description: List of Workspaces has been successfully retrieved content: application/json: schema: $ref: "#/components/schemas/WorkspacesListResponseDTO" default: description: Default error response content: application/json: schema: $ref: "#/components/schemas/DefaultErrorDTO" summary: List all Workspaces for the specified Organization tags: - workspaces x-speakeasy-group: workspaces x-speakeasy-name-override: list /v1/organizations/{organizationId}/workspaces/{workspaceId}: patch: description: Update the specified Workspace. operationId: v1.workspaces.updateWorkspace parameters: - name: organizationId required: true in: path description: The id of the Organization that contains the Workspace. schema: type: string - name: workspaceId required: true in: path description: The id of the Workspace to update. schema: type: string requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/WorkspacePatchRequestDTO" responses: "204": description: The Workspace has been successfully updated default: description: Default error response content: application/json: schema: $ref: "#/components/schemas/DefaultErrorDTO" summary: Update a Workspace tags: - workspaces x-speakeasy-group: workspaces x-speakeasy-name-override: update delete: description: Delete the specified Workspace in the specified Organization. operationId: v1.workspaces.deleteWorkspace parameters: - name: organizationId required: true in: path description: The id of the Organization that contains the Workspace. schema: type: string - name: workspaceId required: true in: path description: The id of the Workspace to delete. schema: type: string responses: "202": description: The Workspace deletion has been accepted default: description: Default error response content: application/json: schema: $ref: "#/components/schemas/DefaultErrorDTO" summary: Delete a Workspace tags: - workspaces x-speakeasy-group: workspaces x-speakeasy-name-override: delete get: description: Get the specified Workspace. operationId: v1.workspaces.getWorkspace parameters: - name: organizationId required: true in: path description: The id of the Organization that contains the Workspace. schema: type: string - name: workspaceId required: true in: path description: The id of the Workspace to get. schema: type: string responses: "200": description: The Workspace details have been retrieved content: application/json: schema: $ref: "#/components/schemas/WorkspaceSchema" default: description: Default error response content: application/json: schema: $ref: "#/components/schemas/DefaultErrorDTO" summary: Get a Workspace tags: - workspaces x-speakeasy-group: workspaces x-speakeasy-name-override: get info: title: Cribl.Cloud Public API description: Public API for the Cribl.Cloud platform. Powers the Speakeasy SDK. version: "1.0" contact: name: Support url: https://portal.support.cribl.io email: "" tags: - name: apiCredentials description: Operations related to API credentials - name: billing description: Operations related to Billing and FinOps data - name: workspaces description: Operations related to Workspaces - name: health description: Operations related to application health status servers: - url: https://gateway.cribl.cloud components: securitySchemes: clientOauth: type: oauth2 flows: clientCredentials: tokenUrl: https://login.cribl.cloud/oauth/token scopes: {} x-speakeasy-token-endpoint-additional-properties: audience: type: string example: https://api.cribl.cloud bearerAuth: scheme: bearer bearerFormat: JWT type: http schemas: OrganizationRole: type: string enum: - owner - admin - user description: Organization-level Role assigned to the API Credential. x-speakeasy-unknown-values: allow WorkspaceRole: type: string enum: - owner - admin - user - noaccess description: Role assigned to the API Credential on the Workspace. x-speakeasy-unknown-values: allow ProductName: type: string enum: - edge - search - stream - lake description: Product name. x-speakeasy-unknown-values: allow ProductRole: type: string enum: - admin - editor - reader - user - noaccess description: Role assigned to the API Credential on the product. x-speakeasy-unknown-values: allow ProductRoleSchema: type: object properties: product: description: Product name. example: stream allOf: - $ref: "#/components/schemas/ProductName" role: description: Role assigned to the API Credential on the product. example: admin allOf: - $ref: "#/components/schemas/ProductRole" required: - product - role WorkspaceRoleSchema: type: object properties: workspaceId: type: string description: Unique ID of the Workspace. example: main workspaceRole: description: Role assigned to the API Credential on the Workspace. example: admin allOf: - $ref: "#/components/schemas/WorkspaceRole" products: description: Product-level Roles assigned to the API Credential for the Workspace. type: array items: $ref: "#/components/schemas/ProductRoleSchema" required: - workspaceId - workspaceRole ApiCredentialRolesSchema: type: object properties: organizationRole: description: Organization-level Role assigned to the API Credential. example: admin allOf: - $ref: "#/components/schemas/OrganizationRole" workspaces: description: Workspace-level Roles assigned to the API Credential. type: array items: $ref: "#/components/schemas/WorkspaceRoleSchema" required: - organizationRole ApiCredentialResponseSchema: type: object properties: name: type: string description: Human-readable name of the API Credential. maxLength: 140 pattern: ^[A-Za-z0-9-]+$ example: Auto-Manage-Workspaces description: type: string description: Brief description of the purpose and usage for the API Credential. maxLength: 140 example: Used for automated Workspace management enabled: type: boolean description: If true, the API Credential is enabled. Otherwise, false. example: true organizationId: type: string description: Unique ID of the Organization. example: org-123 clientId: type: string description: Client ID for the API Credential. example: clientIdabcd1234EXAMPLE roles: description: Role assignments for the API Credential. allOf: - $ref: "#/components/schemas/ApiCredentialRolesSchema" ipAllowlist: description: CIDR range enforced as the IP allowlist for the API Credential. An empty array means that the API Credential has no IP restrictions. example: - 10.0.0.1/32 type: array items: type: string createdBy: type: string description: Member who created the API Credential. example: user@example.com createdDate: type: string description: ISO 8601 timestamp when the API Credential was created. format: date-time example: 2024-08-15T12:34:56.000Z lastUpdatedBy: type: string description: Member who last updated the API Credential. example: user@example.com lastUpdatedDate: type: string description: ISO 8601 timestamp when the API Credential was last updated. format: date-time example: 2024-08-15T12:34:56.000Z required: - name - description - enabled - organizationId - clientId - roles - ipAllowlist - createdBy - createdDate - lastUpdatedBy - lastUpdatedDate ApiCredentialsListResponseDTO: type: object properties: items: description: List of API Credentials. type: array items: $ref: "#/components/schemas/ApiCredentialResponseSchema" count: type: integer description: Total number of API Credentials listed in the response. example: 1 required: - items - count ApiCredentialCreateResponseSchema: type: object properties: name: type: string description: Human-readable name of the API Credential. maxLength: 140 pattern: ^[A-Za-z0-9-]+$ example: Auto-Manage-Workspaces description: type: string description: Brief description of the purpose and usage for the API Credential. maxLength: 140 example: Used for automated Workspace management enabled: type: boolean description: If true, the API Credential is enabled. Otherwise, false. example: true organizationId: type: string description: Unique ID of the Organization. example: org-123 clientId: type: string description: Client ID for the API Credential. example: clientIdabcd1234EXAMPLE roles: description: Role assignments for the API Credential. allOf: - $ref: "#/components/schemas/ApiCredentialRolesSchema" ipAllowlist: description: CIDR range enforced as the IP allowlist for the API Credential. An empty array means that the API Credential has no IP restrictions. example: - 10.0.0.1/32 type: array items: type: string createdBy: type: string description: Member who created the API Credential. example: user@example.com createdDate: type: string description: ISO 8601 timestamp when the API Credential was created. format: date-time example: 2024-08-15T12:34:56.000Z lastUpdatedBy: type: string description: Member who last updated the API Credential. example: user@example.com lastUpdatedDate: type: string description: ISO 8601 timestamp when the API Credential was last updated. format: date-time example: 2024-08-15T12:34:56.000Z clientSecret: type: string description: Client Secret for the API Credential. The Client Secret is sensitive information and should be kept private. Returned only in the POST response when the API Credential is created. Never returned in GET responses. If you need the Client Secret again, you must rotate credentials and retrieve the new Client Secret from the POST response. example: clientSecretabcd1234EXAMPLE required: - name - description - enabled - organizationId - clientId - roles - ipAllowlist - createdBy - createdDate - lastUpdatedBy - lastUpdatedDate - clientSecret ApiCredentialCreateRequestDTO: type: object properties: name: type: string description: Human-readable name of the API Credential. maxLength: 140 pattern: ^[A-Za-z0-9-]+$ example: Auto-Manage-Workspaces description: type: string description: Brief description of the purpose and usage for the API Credential. maxLength: 140 example: Used for automated Workspace management enabled: type: boolean description: If true, the API Credential is enabled. Otherwise, false. example: true roles: description: Role assignments for the API Credential. allOf: - $ref: "#/components/schemas/ApiCredentialRolesSchema" ipAllowlist: description: CIDR range enforced as the IP allowlist for the API Credential. example: - 10.0.0.1/32 type: array items: type: string required: - name - description - enabled - roles ApiCredentialUpdateRequestDTO: type: object properties: name: type: string description: Human-readable name of the API Credential. maxLength: 140 pattern: ^[A-Za-z0-9-]+$ example: Auto-Manage-Workspaces description: type: string description: Brief description of the purpose and usage for the API Credential. maxLength: 140 example: Used for automated Workspace management enabled: type: boolean description: If true, the API Credential is enabled. Otherwise, false. example: true roles: description: Role assignments for the API Credential. allOf: - $ref: "#/components/schemas/ApiCredentialRolesSchema" ipAllowlist: description: Omit to leave unchanged. Pass an empty array to clear the stored IP allowlist. example: - 10.0.0.1/32 type: array items: type: string CreditsUtilizationItemSchema: type: object properties: date: format: date-time type: string description: Date of the aggregation window in ISO 8601 format. example: 2025-05-01T00:00:00.000Z credits: type: number description: Number of credits consumed in the aggregation window. example: 147722.91698535177 required: - date - credits ContractUtilizationSchema: type: object properties: contractStartDate: format: date-time type: string description: Contract start date in ISO 8601 format. example: 2025-04-29T00:00:00.000Z contractEndDate: format: date-time type: string description: Contract end date in ISO 8601 format. Present only when the contract is closed. example: 2025-05-30T00:00:00.000Z items: description: Cumulative credit utilization entries for the contract. type: array items: $ref: "#/components/schemas/CreditsUtilizationItemSchema" required: - contractStartDate - items ContractsUtilizationResponseDTO: type: object properties: contracts: description: Contract utilization data, grouped by contract period. type: array items: $ref: "#/components/schemas/ContractUtilizationSchema" required: - contracts BillingWindow: type: string enum: - monthly - daily x-speakeasy-unknown-values: allow CreditsTimeseriesDimensionSchema: type: object properties: dimension: type: string description: Dimension label for the credit breakdown. example: stream credits: type: number description: Number of credits attributed to the dimension. example: 42150.5 required: - dimension - credits CreditsTimeseriesItemSchema: type: object properties: date: format: date-time type: string description: Date of the aggregation window in ISO 8601 format. example: 2025-05-01T00:00:00.000Z credits: type: number description: Total credits consumed in the aggregation window. example: 147722.92 dimensions: description: Credit breakdown by dimension. type: array items: $ref: "#/components/schemas/CreditsTimeseriesDimensionSchema" required: - date - credits - dimensions CreditsTimeseriesResponseDTO: type: object properties: items: description: Credit timeseries data points. type: array items: $ref: "#/components/schemas/CreditsTimeseriesItemSchema" count: type: number description: Total number of items in the response. example: 12 required: - items - count CreditsStatsContractSchema: type: object properties: startDate: format: date-time type: string description: Contract start date in ISO 8601 format. example: 2025-09-17T00:00:00.000Z endDate: format: date-time type: string description: Contract end date in ISO 8601 format. Present only when the contract is closed. example: 2026-08-02T00:00:00.000Z required: - startDate CreditsStatsResponseDTO: type: object properties: totalCreditsRemaining: type: number description: Total credits remaining across all contracts. example: 5127123.69 totalCreditsUsed: type: number description: Total credits consumed across all contracts. example: 2555625.49 totalCreditsAcquired: type: number description: Total credits acquired across all contracts. example: 11061354.6 contracts: description: Contract periods ordered by contract start date in reverse chronological order (newest first). type: array items: $ref: "#/components/schemas/CreditsStatsContractSchema" required: - totalCreditsRemaining - totalCreditsUsed - totalCreditsAcquired CreditGrantType: type: string enum: - Refund - Rollover - Purchased description: Type of the credit grant. x-speakeasy-unknown-values: allow CreditGrantSchema: type: object properties: date: format: date-time type: string description: Date the grant was issued, in ISO 8601 format. example: 2025-10-29T00:00:00.000Z creditsAcquired: type: number description: Number of credits acquired by the grant. example: 6000000 type: description: Type of the credit grant. example: Purchased allOf: - $ref: "#/components/schemas/CreditGrantType" required: - date - creditsAcquired - type CreditGrantsResponseDTO: type: object properties: items: description: Credit grants for the queried period. type: array items: $ref: "#/components/schemas/CreditGrantSchema" count: type: number description: Total number of items in the response. example: 3 required: - items - count AWSRegions: type: string enum: - us-west-2 - us-east-1 - us-east-2 - eu-central-1 - eu-central-2 - eu-west-2 - ap-southeast-1 - ap-southeast-2 - ca-central-1 - ap-northeast-1 - sa-east-1 - eu-west-1 - eu-west-3 description: AWS region where the Workspace is deployed. x-speakeasy-unknown-values: allow WorkspaceState: type: string enum: - Provisioning - Active - Inactive - Failed - Deprovisioning description: Current state of the Workspace. x-speakeasy-unknown-values: allow WorkspaceSchema: type: object properties: workspaceId: type: string description: Unique identifier for the Workspace. minLength: 4 maxLength: 41 pattern: ^[a-z0-9]*$ example: main region: description: AWS region where the Workspace is deployed. example: us-west-2 allOf: - $ref: "#/components/schemas/AWSRegions" leaderFQDN: type: string description: Fully Qualified Domain Name (FQDN) of the Workspace Leader. example: workspace-leader.example.com state: description: Current state of the Workspace. example: Active allOf: - $ref: "#/components/schemas/WorkspaceState" alias: type: string description: User-friendly alias for the Workspace. maxLength: 30 example: Production Environment description: type: string description: Brief description of the Workspace. maxLength: 255 example: Main production Workspace for customer data processing tags: type: array description: Tags associated with the Workspace. items: type: string maxLength: 30 maxItems: 3 example: - production - customer-data required: - workspaceId - region - leaderFQDN - state WorkspaceCreateRequestDTO: type: object properties: workspaceId: type: string description: Unique identifier for the Workspace. minLength: 4 maxLength: 41 pattern: ^[a-z0-9]*$ example: main alias: type: string description: User-friendly alias for the Workspace. maxLength: 30 example: Production Environment description: type: string description: Brief description of the Workspace. maxLength: 255 example: Main production Workspace for customer data processing tags: type: array description: Tags associated with the Workspace. items: type: string maxLength: 30 maxItems: 3 example: - production - customer-data required: - workspaceId WorkspacePatchRequestDTO: type: object properties: alias: type: string description: User-friendly alias for the Workspace. maxLength: 30 example: Production Environment description: type: string description: Brief description of the Workspace. maxLength: 255 example: Main production Workspace for customer data processing tags: type: array description: Tags associated with the Workspace. items: type: string maxLength: 30 maxItems: 3 example: - production - customer-data WorkspacesListResponseDTO: type: object properties: items: description: List of workspaces type: array items: $ref: "#/components/schemas/WorkspaceSchema" count: type: integer description: Total number of workspaces example: 5 required: - items - count DefaultErrorDTO: type: object properties: statusCode: type: integer description: HTTP status code. example: 400 message: type: string description: Human-readable error message. example: Bad Request required: - statusCode - message security: - clientOauth: [] - bearerAuth: [] x-speakeasy-retries: strategy: backoff backoff: initialInterval: 500 maxInterval: 60000 maxElapsedTime: 3600000 exponent: 1.5 statusCodes: - "502" - "503" - "504" retryConnectionErrors: true