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