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: Retrieve all API credentials for the specified Organization. operationId: v1.apiCredentials.listApiCredentials parameters: - name: organizationId required: true in: path description: The id of the Organization that owns the API credentials. schema: type: string responses: "200": description: The API credentials have been 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 /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 x-speakeasy-unknown-values: allow WorkspaceRole: type: string enum: - owner - admin - user - noaccess description: Role in 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 for 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 for the product example: admin allOf: - $ref: "#/components/schemas/ProductRole" required: - product - role WorkspaceRoleSchema: type: object properties: workspaceId: type: string description: Workspace identifier example: main workspaceRole: description: Role in the workspace example: admin allOf: - $ref: "#/components/schemas/WorkspaceRole" products: description: Product roles in the workspace type: array items: $ref: "#/components/schemas/ProductRoleSchema" required: - workspaceId - workspaceRole ApiCredentialRolesSchema: type: object properties: organizationRole: description: Organization-level role example: admin allOf: - $ref: "#/components/schemas/OrganizationRole" workspaces: description: Workspace roles assigned to this credential type: array items: $ref: "#/components/schemas/WorkspaceRoleSchema" required: - organizationRole ApiCredentialSchema: type: object properties: name: type: string description: Human friendly name of the credential example: Default API credential description: type: string description: Description of how or where the credential is used example: Used by automation to manage workspaces enabled: type: boolean description: Whether the credential is enabled example: true workspaceId: type: string description: Workspace identifier example: main organizationId: type: string description: Organization identifier example: org-123 clientId: type: string description: Client identifier example: client_ABC123 clientSecret: type: string description: Client secret example: super-secret-value roles: description: Role assignments for this credential allOf: - $ref: "#/components/schemas/ApiCredentialRolesSchema" createdBy: type: string description: User who created the credential example: user@example.com createdDate: type: string description: ISO-8601 timestamp when the credential was created example: 2024-08-15T12:34:56.000Z lastUpdatedBy: type: string description: User who last updated the credential example: user@example.com lastUpdatedDate: type: string description: ISO-8601 timestamp when the credential was last updated example: 2024-08-15T12:34:56.000Z required: - name - description - enabled - workspaceId - organizationId - clientId - clientSecret - roles - createdBy - createdDate - lastUpdatedBy - lastUpdatedDate ApiCredentialsListResponseDTO: type: object properties: items: description: List of API credentials type: array items: $ref: "#/components/schemas/ApiCredentialSchema" count: type: number description: Total number of API credentials example: 1 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 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 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 example: Production Environment description: type: string description: Detailed description of the workspace example: Main production workspace for customer data processing tags: description: Tags associated with the workspace example: - production - customer-data type: array items: type: string 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 example: Production Environment description: type: string description: Detailed description of the workspace example: Main production workspace for customer data processing tags: description: Tags associated with the workspace example: - production - customer-data type: array items: type: string required: - workspaceId WorkspacePatchRequestDTO: type: object properties: alias: type: string description: User-friendly alias for the workspace example: Production Environment description: type: string description: Detailed description of the workspace example: Main production workspace for customer data processing tags: description: Tags associated with the workspace example: - production - customer-data type: array items: type: string 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