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/ApiCredentialResponseSchema" 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 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: "202": description: API Credential deletion accepted 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" 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}/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: 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 ApiCredentialListItemSchema: type: object properties: name: type: string description: Human-readable name of the API Credential. 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" 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. 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. example: 2024-08-15T12:34:56.000Z required: - name - description - enabled - organizationId - clientId - roles - createdBy - createdDate - lastUpdatedBy - lastUpdatedDate ApiCredentialsListResponseDTO: type: object properties: items: description: List of API Credentials. type: array items: $ref: "#/components/schemas/ApiCredentialListItemSchema" count: type: number description: Total number of API Credentials listed in the response. example: 1 required: - items - count ApiCredentialResponseSchema: type: object properties: name: type: string description: Human-readable name of the API Credential. 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" 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. 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. 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. Only POST responses include the Client Secret. For other methods, responses return an empty string. example: clientSecretabcd1234EXAMPLE required: - name - description - enabled - organizationId - clientId - roles - createdBy - createdDate - lastUpdatedBy - lastUpdatedDate - clientSecret ApiCredentialCreateRequestDTO: type: object properties: name: type: string description: Human-readable name of the API Credential. 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" required: - name - description - enabled - roles ApiCredentialUpdateRequestDTO: type: object properties: name: type: string description: Human-readable name of the API Credential. 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" 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: number description: Total number of workspaces example: 5 required: - items - count DefaultErrorDTO: type: object properties: statusCode: type: number message: type: string 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