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