Skip to content

The LakeSail platform API.

Beta Notice: This API is currently in beta. All endpoints, request/response
schemas, and authentication flows are subject to change.

Getting Started

Base URL

All API requests are made to:

https://platform.lakesail.com/api/v1

All requests and responses use application/json.

Authentication

Most endpoints require a Bearer token in the Authorization header:

Authorization: Bearer <token>

Both user sessions and service account API keys are passed as Bearer tokens.

Contact

Servers

https://platform.lakesail.com/{apiBase}/{apiVersion}

authentication

Account signup, login (password, SSO, one-time code), password reset, email verification, and logout.


List available permissions

GET
/auth/permissions

Returns all available permission definitions, including their descriptions and applicable resource types.

Responses

List of permission definitions

application/json
JSON
{
  
"items": [
  
  
{
  
  
  
"relation": "CanManageUsers",
  
  
  
"description": "Manage user resources",
  
  
  
"validObjectTypes": [
  
  
  
  
[
  
  
  
  
  
"organization",
  
  
  
  
  
"team"
  
  
  
  
]
  
  
  
],
  
  
  
"systemOnly": false
  
  
}
  
]
}

Playground

Samples


List available identity provider types

GET
/auth/identity-provider-types

Returns a list of identity provider types that organizations can configure. Only enabled and visible providers are returned.

Authorizations

BearerAuth
Type
HTTP (bearer)

Responses

A list of identity provider types is returned.

application/json
JSON
{
  
"items": [
  
  
{
  
  
  
"id": "keycloak",
  
  
  
"name": "string",
  
  
  
"description": "string",
  
  
  
"providerType": "string",
  
  
  
"capabilities": {
  
  
  
  
"dcr": {
  
  
  
  
  
"supported": true,
  
  
  
  
  
"requiresToken": true,
  
  
  
  
  
"tokenType": "string"
  
  
  
  
},
  
  
  
  
"requiresClientSecret": true
  
  
  
},
  
  
  
"metadata": {
  
  
  
  
"documentationUrl": "string",
  
  
  
  
"logoUrl": "string",
  
  
  
  
"setupComplexity": "string",
  
  
  
  
"vendorType": "string",
  
  
  
  
"defaultIssuer": "string",
  
  
  
  
"issuerTemplate": "string"
  
  
  
},
  
  
  
"enabled": true,
  
  
  
"visible": true,
  
  
  
"displayOrder": 0,
  
  
  
"createdAt": "string",
  
  
  
"updatedAt": "string"
  
  
}
  
]
}

Playground

Authorization

Samples


List identity providers

GET
/auth/idps

Returns a paginated list of all identity providers configured for the organization, including their type, status, and issuer information.

Authorizations

Organization
Type
API Key (header: LakeSail-Organization-Id)

Parameters

Query Parameters

limit

The maximum number of items to list.

Type
integer
Format
"int32"
Minimum
0
Maximum
100
Default
100
marker

The pagination token returned from the previous list operation.

Type
string

Responses

A list of identity providers is returned.

application/json
JSON
{
  
"items": [
  
  
{
  
  
  
"id": "A1B2C3D4E5",
  
  
  
"identityProviderTypeId": "keycloak",
  
  
  
"name": "Production Cluster",
  
  
  
"config": {
  
  
  
  
"oidc": {
  
  
  
  
  
"issuer": "string",
  
  
  
  
  
"clientId": "string",
  
  
  
  
  
"clientSecretConfigured": true,
  
  
  
  
  
"scopes": [
  
  
  
  
  
  
"string"
  
  
  
  
  
]
  
  
  
  
}
  
  
  
}
  
  
}
  
],
  
"marker": "string"
}

Playground

Authorization
Variables
Key
Value

Samples


Create an identity provider

POST
/auth/idps

Configures a new external identity provider (e.g. Okta, Azure AD, Google Workspace) for single sign-on. Users can then authenticate through this provider to access the organization.

Authorizations

BearerAuth
Type
HTTP (bearer)

Request Body

application/json
JSON
{
  
"identityProviderTypeId": "keycloak",
  
"name": "Production Cluster",
  
"configWrite": {
  
  
"oidc": {
  
  
  
"issuer": "string",
  
  
  
"clientId": "string",
  
  
  
"clientSecret": "string",
  
  
  
"scopes": [
  
  
  
  
"string"
  
  
  
]
  
  
}
  
}
}

Responses

The identity provider was created successfully.

application/json
JSON
{
  
"id": "A1B2C3D4E5",
  
"identityProviderTypeId": "keycloak",
  
"name": "Production Cluster",
  
"config": {
  
  
"oidc": {
  
  
  
"issuer": "string",
  
  
  
"clientId": "string",
  
  
  
"clientSecretConfigured": true,
  
  
  
"scopes": [
  
  
  
  
"string"
  
  
  
]
  
  
}
  
},
  
"configWrite": {
  
  
"oidc": {
  
  
  
"issuer": "string",
  
  
  
"clientId": "string",
  
  
  
"clientSecret": "string",
  
  
  
"scopes": [
  
  
  
  
"string"
  
  
  
]
  
  
}
  
},
  
"createdAt": "string",
  
"createdBy": "A1B2C3D4E5",
  
"updatedAt": "string",
  
"updatedBy": "A1B2C3D4E5"
}

Playground

Authorization
Body

Samples


Auto-setup identity provider

POST
/auth/idps/auto-setup

Discovers the OIDC configuration from the provider's base URL and automatically
registers LakeSail as an OAuth client using Dynamic Client Registration (RFC 7591).

The provider URL must be a fully-qualified URL including the scheme (http:// or https://).

Note: Not all identity providers support Dynamic Client Registration. The endpoint
will return an error if the provider does not support it.

Authorizations

BearerAuth
Type
HTTP (bearer)

Request Body

application/json
JSON
{
  
"name": "Company SSO",
  
"providerUrl": "https://keycloak.example.com/realms/myrealm",
  
"providerType": "okta",
  
"initialAccessToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9..."
}

Responses

Identity provider was successfully auto-configured.

application/json
JSON
{
  
"id": "A1B2C3D4E5",
  
"identityProviderTypeId": "keycloak",
  
"name": "Production Cluster",
  
"config": {
  
  
"oidc": {
  
  
  
"issuer": "string",
  
  
  
"clientId": "string",
  
  
  
"clientSecretConfigured": true,
  
  
  
"scopes": [
  
  
  
  
"string"
  
  
  
]
  
  
}
  
}
}

Playground

Authorization
Body

Samples


Describe an identity provider

GET
/auth/idps/{idp}

Returns the configuration details of an identity provider, including its type, issuer URL, and client settings.

Authorizations

Organization
Type
API Key (header: LakeSail-Organization-Id)

Responses

The information about the identity provider is returned.

application/json
JSON
{
  
"id": "A1B2C3D4E5",
  
"identityProviderTypeId": "keycloak",
  
"name": "Production Cluster",
  
"config": {
  
  
"oidc": {
  
  
  
"issuer": "string",
  
  
  
"clientId": "string",
  
  
  
"clientSecretConfigured": true,
  
  
  
"scopes": [
  
  
  
  
"string"
  
  
  
]
  
  
}
  
},
  
"configWrite": {
  
  
"oidc": {
  
  
  
"issuer": "string",
  
  
  
"clientId": "string",
  
  
  
"clientSecret": "string",
  
  
  
"scopes": [
  
  
  
  
"string"
  
  
  
]
  
  
}
  
},
  
"createdAt": "string",
  
"createdBy": "A1B2C3D4E5",
  
"updatedAt": "string",
  
"updatedBy": "A1B2C3D4E5"
}

Playground

Authorization

Samples


Delete an identity provider

DELETE
/auth/idps/{idp}

Removes an identity provider configuration. Users who authenticated exclusively through this provider will need an alternative sign-in method.

Authorizations

BearerAuth
Type
HTTP (bearer)

Responses

The requested operation was done successfully.

Playground

Authorization

Samples


Update an identity provider

PATCH
/auth/idps/{idp}

Modifies an identity provider's configuration, such as its display name, issuer URL, or client settings. Changes take effect for subsequent sign-in attempts.

Authorizations

BearerAuth
Type
HTTP (bearer)

Request Body

application/json
JSON
{
  
"name": "Production Cluster",
  
"configWrite": {
  
  
"oidc": {
  
  
  
"issuer": "string",
  
  
  
"clientId": "string",
  
  
  
"clientSecret": "string",
  
  
  
"scopes": [
  
  
  
  
"string"
  
  
  
]
  
  
}
  
}
}

Responses

The identity provider was updated successfully.

application/json
JSON
{
  
"id": "A1B2C3D4E5",
  
"identityProviderTypeId": "keycloak",
  
"name": "Production Cluster",
  
"config": {
  
  
"oidc": {
  
  
  
"issuer": "string",
  
  
  
"clientId": "string",
  
  
  
"clientSecretConfigured": true,
  
  
  
"scopes": [
  
  
  
  
"string"
  
  
  
]
  
  
}
  
}
}

Playground

Authorization
Body

Samples


Rotate an identity provider's client secret

POST
/auth/idps/{idp}/rotate-secret

Updates the client secret for an identity provider. The new secret must be obtained
from the identity provider's admin console first.

Authorizations

BearerAuth
Type
HTTP (bearer)

Request Body

application/json
JSON
{
  
"clientSecret": "string"
}

Responses

The client secret was rotated successfully.

application/json
JSON
{
  
"id": "A1B2C3D4E5",
  
"identityProviderTypeId": "keycloak",
  
"name": "Production Cluster",
  
"config": {
  
  
"oidc": {
  
  
  
"issuer": "string",
  
  
  
"clientId": "string",
  
  
  
"clientSecretConfigured": true,
  
  
  
"scopes": [
  
  
  
  
"string"
  
  
  
]
  
  
}
  
}
}

Playground

Authorization
Body

Samples


Test an identity provider connection

POST
/auth/idps/{idp}/test-connection

Validates the identity provider configuration by attempting to discover and fetch
the OIDC configuration from the provider's well-known endpoint.

Authorizations

BearerAuth
Type
HTTP (bearer)

Responses

The connection test result.

application/json
JSON
{
  
"success": true,
  
"message": "string",
  
"details": {
  
  
"issuer": "string",
  
  
"endpoints": {
  
  
  
"authorization": "string",
  
  
  
"token": "string",
  
  
  
"userinfo": "string",
  
  
  
"jwks": "string",
  
  
  
"endSession": "string"
  
  
},
  
  
"backchannelLogoutSupported": true,
  
  
"backchannelLogoutSessionSupported": true,
  
  
"frontchannelLogoutSupported": true,
  
  
"scopesSupported": [
  
  
  
"string"
  
  
],
  
  
"claimsSupported": [
  
  
  
"string"
  
  
]
  
}
}

Playground

Authorization

Samples


Get current user profile

GET
/me

Returns the profile and organization membership details of the currently authenticated user.

Authorizations

BearerAuth
Type
HTTP (bearer)

Responses

The information about the current identity is returned.

application/json
JSON
{
  
"root": {
  
},
  
"user": {
  
  
"id": "A1B2C3D4E5",
  
  
"email": "alice@example.com",
  
  
"givenName": "string",
  
  
"familyName": "string",
  
  
"displayName": "string",
  
  
"createdAt": "string",
  
  
"createdBy": "A1B2C3D4E5",
  
  
"updatedAt": "string",
  
  
"updatedBy": "A1B2C3D4E5"
  
},
  
"serviceAccount": {
  
  
"id": "A1B2C3D4E5",
  
  
"username": "ci-deploy-bot",
  
  
"description": "string",
  
  
"createdAt": "string",
  
  
"createdBy": "A1B2C3D4E5",
  
  
"updatedAt": "string",
  
  
"updatedBy": "A1B2C3D4E5"
  
}
}

Playground

Authorization

Samples


Update my profile

PATCH
/me

Modifies the authenticated user's profile information such as their display name or preferences.

Authorizations

BearerAuth
Type
HTTP (bearer)

Request Body

application/json
JSON
{
  
"email": "alice@example.com",
  
"givenName": "string",
  
"familyName": "string",
  
"displayName": "string"
}

Responses

The user profile was updated successfully.

application/json
JSON
{
  
"root": {
  
},
  
"user": {
  
  
"id": "A1B2C3D4E5",
  
  
"email": "alice@example.com",
  
  
"givenName": "string",
  
  
"familyName": "string",
  
  
"displayName": "string",
  
  
"createdAt": "string",
  
  
"createdBy": "A1B2C3D4E5",
  
  
"updatedAt": "string",
  
  
"updatedBy": "A1B2C3D4E5"
  
},
  
"serviceAccount": {
  
  
"id": "A1B2C3D4E5",
  
  
"username": "ci-deploy-bot",
  
  
"description": "string",
  
  
"createdAt": "string",
  
  
"createdBy": "A1B2C3D4E5",
  
  
"updatedAt": "string",
  
  
"updatedBy": "A1B2C3D4E5"
  
}
}

Playground

Authorization
Body

Samples


List my email addresses

GET
/me/emails

Returns all email addresses associated with the authenticated user's account, including their verification status.

Authorizations

BearerAuth
Type
HTTP (bearer)

Parameters

Query Parameters

limit

The maximum number of items to list.

Type
integer
Format
"int32"
Minimum
0
Maximum
100
Default
100
marker

The pagination token returned from the previous list operation.

Type
string

Responses

The email addresses of the current identity are returned.

application/json
JSON
{
  
"items": [
  
  
{
  
  
  
"userId": "A1B2C3D4E5",
  
  
  
"email": "alice@example.com",
  
  
  
"verifiedAt": "string",
  
  
  
"createdAt": "string",
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
"updatedAt": "string",
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
}
  
],
  
"marker": "string"
}

Playground

Authorization
Variables
Key
Value

Samples


Add an email address

POST
/me/emails

Adds a new email address to the current user's account and sends a verification email.

Authorizations

BearerAuth
Type
HTTP (bearer)

Request Body

application/json
JSON
{
  
"email": "alice@example.com"
}

Responses

The email address was added and a verification email has been sent.

application/json
JSON
{
  
"userId": "A1B2C3D4E5",
  
"email": "alice@example.com",
  
"verifiedAt": "string",
  
"createdAt": "string",
  
"createdBy": "A1B2C3D4E5",
  
"updatedAt": "string",
  
"updatedBy": "A1B2C3D4E5"
}

Playground

Authorization
Body

Samples


List my logins

GET
/me/logins

Returns all active (non-expired) logins for the currently authenticated user, including device, IP address, and user agent information.

Authorizations

BearerAuth
Type
HTTP (bearer)

Responses

The logins of the current user are returned.

application/json
JSON
{
  
"items": [
  
  
{
  
  
  
"id": "A1B2C3D4E5",
  
  
  
"deviceId": "string",
  
  
  
"authTime": "string",
  
  
  
"lastUsedAt": "string",
  
  
  
"expiresAt": "string",
  
  
  
"remoteIp": "string",
  
  
  
"userAgent": "string",
  
  
  
"isCurrent": true
  
  
}
  
]
}

Playground

Authorization

Samples


Revoke a login

DELETE
/me/logins/{loginId}

Revokes a specific active login for the currently authenticated user. This immediately invalidates the login's access token.

Authorizations

BearerAuth
Type
HTTP (bearer)

Responses

The requested operation was done successfully.

Playground

Authorization

Samples


List my trusted devices

GET
/me/trusted-devices

Returns all active (non-expired) trusted devices for the currently authenticated user. Trusted devices bypass two-factor authentication challenges.

Authorizations

BearerAuth
Type
HTTP (bearer)

Responses

The trusted devices of the current user are returned.

application/json
JSON
{
  
"items": [
  
  
{
  
  
  
"id": "A1B2C3D4E5",
  
  
  
"deviceId": "string",
  
  
  
"expiresAt": "string",
  
  
  
"createdAt": "string",
  
  
  
"remoteIp": "string",
  
  
  
"userAgent": "string"
  
  
}
  
]
}

Playground

Authorization

Samples


Revoke a trusted device

DELETE
/me/trusted-devices/{trustedDeviceId}

Revokes a specific trusted device for the currently authenticated user. Future logins from this device will require two-factor authentication.

Authorizations

BearerAuth
Type
HTTP (bearer)

Responses

The requested operation was done successfully.

Playground

Authorization

Samples


List my teams

GET
/me/teams

Returns all teams that the authenticated user is a member of, including their role within each team.

Authorizations

BearerAuth
Type
HTTP (bearer)

Responses

The teams of the current identity are returned.

application/json
JSON
{
  
"items": [
  
  
{
  
  
  
"id": "A1B2C3D4E5",
  
  
  
"organizationId": "A1B2C3D4E5",
  
  
  
"name": "string",
  
  
  
"createdAt": "string",
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
"updatedAt": "string",
  
  
  
"updatedBy": "A1B2C3D4E5",
  
  
  
"defaultRoleId": "A1B2C3D4E5"
  
  
}
  
]
}

Playground

Authorization

Samples


List users

GET
/org/users

Returns a paginated list of all user accounts in the organization.

Authorizations

BearerAuth
Type
HTTP (bearer)

Parameters

Query Parameters

limit

The maximum number of items to list.

Type
integer
Format
"int32"
Minimum
0
Maximum
100
Default
100
marker

The pagination token returned from the previous list operation.

Type
string

Responses

A list of users is returned.

application/json
JSON
{
  
"items": [
  
  
{
  
  
  
"id": "A1B2C3D4E5",
  
  
  
"email": "alice@example.com",
  
  
  
"givenName": "string",
  
  
  
"familyName": "string",
  
  
  
"displayName": "string",
  
  
  
"createdAt": "string",
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
"updatedAt": "string",
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
}
  
],
  
"marker": "string"
}

Playground

Authorization
Variables
Key
Value

Samples


Create a user

POST
/org/users

Creates a new user account in the platform with the specified profile information and credentials.

Authorizations

BearerAuth
Type
HTTP (bearer)

Request Body

application/json
JSON
{
  
"email": "alice@example.com",
  
"givenName": "string",
  
"familyName": "string",
  
"displayName": "string"
}

Responses

The user was created successfully.

application/json
JSON
{
  
"id": "A1B2C3D4E5",
  
"email": "alice@example.com",
  
"givenName": "string",
  
"familyName": "string",
  
"displayName": "string",
  
"createdAt": "string",
  
"createdBy": "A1B2C3D4E5",
  
"updatedAt": "string",
  
"updatedBy": "A1B2C3D4E5"
}

Playground

Authorization
Body

Samples


Describe a user

GET
/org/users/{user}

Returns the full details of a user account, including their profile information and account status.

Authorizations

BearerAuth
Type
HTTP (bearer)

Responses

The information about the user is returned.

application/json
JSON
{
  
"id": "A1B2C3D4E5",
  
"email": "alice@example.com",
  
"givenName": "string",
  
"familyName": "string",
  
"displayName": "string",
  
"createdAt": "string",
  
"createdBy": "A1B2C3D4E5",
  
"updatedAt": "string",
  
"updatedBy": "A1B2C3D4E5"
}

Playground

Authorization

Samples


Delete a user

DELETE
/org/users/{user}

Permanently removes a user account and revokes all their active sessions, organization memberships, and team assignments.

Authorizations

BearerAuth
Type
HTTP (bearer)

Responses

The requested operation was done successfully.

Playground

Authorization

Samples


Update a user

PATCH
/org/users/{user}

Modifies a user account's profile information or account settings.

Authorizations

BearerAuth
Type
HTTP (bearer)

Request Body

application/json
JSON
{
  
"email": "alice@example.com",
  
"givenName": "string",
  
"familyName": "string",
  
"displayName": "string"
}

Responses

The user was updated successfully.

application/json
JSON
{
  
"id": "A1B2C3D4E5",
  
"email": "alice@example.com",
  
"givenName": "string",
  
"familyName": "string",
  
"displayName": "string",
  
"createdAt": "string",
  
"createdBy": "A1B2C3D4E5",
  
"updatedAt": "string",
  
"updatedBy": "A1B2C3D4E5"
}

Playground

Authorization
Body

Samples


Reset user MFA

DELETE
/org/users/{user}/mfa

Deletes all MFA configurations (TOTP and recovery codes) for the specified user
and revokes all their active sessions. The user will be required to re-authenticate
and set up MFA again.

Authorizations

BearerAuth
Type
HTTP (bearer)

Responses

The requested operation was done successfully.

Playground

Authorization

Samples


Change user password

POST
/org/users/{user}/password

The current password must be provided in the request body.
For organization administrators, to reset password for a user without their current password, use the ResetPassword operation instead.

Authorizations

BearerAuth
Type
HTTP (bearer)

Request Body

application/json
JSON
{
  
"currentPassword": "string",
  
"newPassword": "string"
}

Responses

The requested operation was done successfully.

Playground

Authorization
Body

Samples


Reset user password

POST
/org/users/{user}/password/reset

Admin operation that generates a new temporary password for a user. To change the current user's own password, use ChangePassword instead.

Authorizations

BearerAuth
Type
HTTP (bearer)

Responses

The password was reset successfully.

application/json
JSON
{
  
"password": "string"
}

Playground

Authorization

Samples


List my catalogs

GET
/me/catalogs

Returns all catalogs that the current user can access based on their team memberships.
Includes team associations and external catalog references in the normalized response.

Authorizations

BearerAuth
Type
HTTP (bearer)

Parameters

Query Parameters

limit

The maximum number of items to list.

Type
integer
Format
"int32"
Minimum
0
Maximum
100
Default
100
page

The page number to retrieve (1-indexed). Used with limit to support offset-based pagination.

Type
integer
Format
"int32"
Minimum
1
Default
1
sortBy

The field to sort by.

Type
string
Valid values
"name""updatedAt"
Default
"name"
sortDirection

The direction to sort (ascending or descending).

Type
string
Valid values
"asc""desc"
Default
"asc"

Responses

A list of catalogs the current user can access is returned.

application/json
JSON
{
  
"total": 0,
  
"items": [
  
  
{
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
"teamIds": [
  
  
  
  
"A1B2C3D4E5"
  
  
  
],
  
  
  
"externalCatalogIds": [
  
  
  
  
"A1B2C3D4E5"
  
  
  
]
  
  
}
  
],
  
"included": {
  
  
"catalogs": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"name": "Production Cluster",
  
  
  
  
"provider": "glue",
  
  
  
  
"config": {
  
  
  
  
  
"initialDatabase": "default",
  
  
  
  
  
"initialDatabaseComment": "Default in-memory database for development"
  
  
  
  
},
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
  
}
  
  
],
  
  
"teams": [
  
  
  
{
  
  
  
  
"team": {
  
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
  
"organizationId": "A1B2C3D4E5",
  
  
  
  
  
"name": "string",
  
  
  
  
  
"createdAt": "string",
  
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
  
"updatedAt": "string",
  
  
  
  
  
"updatedBy": "A1B2C3D4E5",
  
  
  
  
  
"defaultRoleId": "A1B2C3D4E5"
  
  
  
  
},
  
  
  
  
"memberCount": 0
  
  
  
}
  
  
],
  
  
"externalCatalogs": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"connectionId": "A1B2C3D4E5",
  
  
  
  
"networkId": "A1B2C3D4E5",
  
  
  
  
"name": "Production Cluster",
  
  
  
  
"region": "us-east-1",
  
  
  
  
"config": {
  
  
  
  
  
"catalogName": "default"
  
  
  
  
},
  
  
  
  
"iacState": {
  
  
  
  
  
"projectName": "lakesail-byoc-cluster",
  
  
  
  
  
"stackName": "lakesail-prod-cluster-abc123"
  
  
  
  
},
  
  
  
  
"iacOutputs": {
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
},
  
  
  
  
"status": "string",
  
  
  
  
"statusMessage": "string",
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5",
  
  
  
  
"catalogId": "A1B2C3D4E5"
  
  
  
}
  
  
]
  
}
}

Playground

Authorization
Variables
Key
Value

Samples


List catalogs

GET
/workloads/catalogs

Returns all catalogs the caller has permission to view across the organization.

Authorizations

BearerAuth
Type
HTTP (bearer)

Parameters

Query Parameters

limit

The maximum number of items to list.

Type
integer
Format
"int32"
Minimum
0
Maximum
100
Default
100

Responses

A list of catalogs is returned.

application/json
JSON
{
  
"total": 0,
  
"items": [
  
  
{
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
"teamIds": [
  
  
  
  
"A1B2C3D4E5"
  
  
  
],
  
  
  
"externalCatalogIds": [
  
  
  
  
"A1B2C3D4E5"
  
  
  
]
  
  
}
  
],
  
"included": {
  
  
"catalogs": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"name": "Production Cluster",
  
  
  
  
"provider": "glue",
  
  
  
  
"config": {
  
  
  
  
  
"initialDatabase": "default",
  
  
  
  
  
"initialDatabaseComment": "Default in-memory database for development"
  
  
  
  
},
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
  
}
  
  
],
  
  
"teams": [
  
  
  
{
  
  
  
  
"team": {
  
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
  
"organizationId": "A1B2C3D4E5",
  
  
  
  
  
"name": "string",
  
  
  
  
  
"createdAt": "string",
  
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
  
"updatedAt": "string",
  
  
  
  
  
"updatedBy": "A1B2C3D4E5",
  
  
  
  
  
"defaultRoleId": "A1B2C3D4E5"
  
  
  
  
},
  
  
  
  
"memberCount": 0
  
  
  
}
  
  
],
  
  
"externalCatalogs": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"connectionId": "A1B2C3D4E5",
  
  
  
  
"networkId": "A1B2C3D4E5",
  
  
  
  
"name": "Production Cluster",
  
  
  
  
"region": "us-east-1",
  
  
  
  
"config": {
  
  
  
  
  
"catalogName": "default"
  
  
  
  
},
  
  
  
  
"iacState": {
  
  
  
  
  
"projectName": "lakesail-byoc-cluster",
  
  
  
  
  
"stackName": "lakesail-prod-cluster-abc123"
  
  
  
  
},
  
  
  
  
"iacOutputs": {
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
},
  
  
  
  
"status": "string",
  
  
  
  
"statusMessage": "string",
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5",
  
  
  
  
"catalogId": "A1B2C3D4E5"
  
  
  
}
  
  
]
  
}
}

Playground

Authorization
Variables
Key
Value

Samples


Create a catalog

POST
/workloads/catalogs

Creates a new catalog with the specified provider and configuration. Returns 409 if a catalog with the same name already exists.

Authorizations

BearerAuth
Type
HTTP (bearer)

Request Body

application/json
JSON
{
  
"name": "Production Cluster",
  
"provider": "glue",
  
"configWrite": {
  
  
"initialDatabase": "default",
  
  
"initialDatabaseComment": "Default in-memory database for development"
  
},
  
"teamIds": [
  
  
"A1B2C3D4E5"
  
]
}

Responses

The catalog was created successfully.

application/json
JSON
{
  
"id": "A1B2C3D4E5",
  
"name": "Production Cluster",
  
"provider": "glue",
  
"config": {
  
  
"initialDatabase": "default",
  
  
"initialDatabaseComment": "Default in-memory database for development"
  
},
  
"createdAt": "string",
  
"createdBy": "A1B2C3D4E5",
  
"updatedAt": "string",
  
"updatedBy": "A1B2C3D4E5"
}

Playground

Authorization
Body

Samples


Describe a catalog

GET
/workloads/catalogs/{catalog}

Returns the full details of a catalog, including its provider configuration.

Authorizations

BearerAuth
Type
HTTP (bearer)

Parameters

Path Parameters

catalog*

A catalog ID.

Required

Responses

The catalog details.

application/json
JSON
{
  
"id": "A1B2C3D4E5",
  
"name": "Production Cluster",
  
"provider": "glue",
  
"config": {
  
  
"initialDatabase": "default",
  
  
"initialDatabaseComment": "Default in-memory database for development"
  
},
  
"configWrite": {
  
  
"initialDatabase": "default",
  
  
"initialDatabaseComment": "Default in-memory database for development"
  
},
  
"createdAt": "string",
  
"createdBy": "A1B2C3D4E5",
  
"updatedAt": "string",
  
"updatedBy": "A1B2C3D4E5"
}

Playground

Authorization
Variables
Key
Value

Samples


Delete a catalog

DELETE
/workloads/catalogs/{catalog}

Permanently removes a catalog and its team associations. Queries that reference this catalog will need to be updated.

Authorizations

BearerAuth
Type
HTTP (bearer)

Parameters

Path Parameters

catalog*

A catalog ID.

Required

Responses

The requested operation was done successfully.

Playground

Authorization
Variables
Key
Value

Samples


Update a catalog

PATCH
/workloads/catalogs/{catalog}

Modifies a catalog's name or provider configuration.

Authorizations

BearerAuth
Type
HTTP (bearer)

Parameters

Path Parameters

catalog*

A catalog ID.

Required

Request Body

application/json
JSON
{
  
"name": "Production Cluster",
  
"configWrite": {
  
  
"initialDatabase": "default",
  
  
"initialDatabaseComment": "Default in-memory database for development"
  
}
}

Responses

The catalog was updated successfully.

application/json
JSON
{
  
"id": "A1B2C3D4E5",
  
"name": "Production Cluster",
  
"provider": "glue",
  
"config": {
  
  
"initialDatabase": "default",
  
  
"initialDatabaseComment": "Default in-memory database for development"
  
},
  
"createdAt": "string",
  
"createdBy": "A1B2C3D4E5",
  
"updatedAt": "string",
  
"updatedBy": "A1B2C3D4E5"
}

Playground

Authorization
Variables
Key
Value
Body

Samples


List catalog teams

GET
/workloads/catalogs/{catalog}/teams

Returns all teams that have been granted access to the specified catalog.

Authorizations

BearerAuth
Type
HTTP (bearer)

Parameters

Path Parameters

catalog*

A catalog ID.

Required

Responses

A list of catalog teams is returned.

application/json
JSON
{
  
"items": [
  
  
{
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
"teamId": "A1B2C3D4E5",
  
  
  
"createdAt": "string",
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
"updatedAt": "string",
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
}
  
]
}

Playground

Authorization
Variables
Key
Value

Samples


Add teams to a catalog

POST
/workloads/catalogs/{catalog}/teams

Grants one or more teams access to the specified catalog.

Authorizations

BearerAuth
Type
HTTP (bearer)

Parameters

Path Parameters

catalog*

A catalog ID.

Required

Request Body

application/json
JSON
{
  
"teamIds": [
  
  
"A1B2C3D4E5"
  
]
}

Responses

The teams were added to the catalog successfully.

application/json
JSON
{
  
"items": [
  
  
{
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
"teamId": "A1B2C3D4E5",
  
  
  
"createdAt": "string",
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
"updatedAt": "string",
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
}
  
]
}

Playground

Authorization
Variables
Key
Value
Body

Samples


Remove a team from a catalog

DELETE
/workloads/catalogs/{catalog}/teams/{team}

Revokes a team's access to the specified catalog.

Authorizations

BearerAuth
Type
HTTP (bearer)

Parameters

Path Parameters

catalog*

A catalog ID.

Required
team*

The team ID.

Required

Responses

The team was removed from the catalog successfully.

Playground

Authorization
Variables
Key
Value

Samples


List queries that use a catalog

GET
/workloads/catalogs/{catalog}/queries

Returns all queries that reference the specified catalog as a data source.

Authorizations

BearerAuth
Type
HTTP (bearer)

Parameters

Query Parameters

limit

The maximum number of items to list.

Type
integer
Format
"int32"
Minimum
0
Maximum
100
Default
100

Responses

A list of queries using this catalog is returned.

application/json
JSON
{
  
"total": 0,
  
"items": [
  
  
{
  
  
  
"queryId": "A1B2C3D4E5",
  
  
  
"teamIds": [
  
  
  
  
"A1B2C3D4E5"
  
  
  
],
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
"jobIds": [
  
  
  
  
"A1B2C3D4E5"
  
  
  
]
  
  
}
  
],
  
"included": {
  
  
"queries": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"memberId": "A1B2C3D4E5",
  
  
  
  
"name": "Daily Sales Summary",
  
  
  
  
"description": "Daily ETL pipeline for sales data",
  
  
  
  
"catalog_schema": "analytics",
  
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
  
"queryText": "SELECT region, SUM(amount) FROM sales GROUP BY region",
  
  
  
  
"tags": [
  
  
  
  
  
[
  
  
  
  
  
  
"etl",
  
  
  
  
  
  
"sales",
  
  
  
  
  
  
"daily"
  
  
  
  
  
]
  
  
  
  
],
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
  
}
  
  
],
  
  
"catalogs": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"name": "Production Cluster",
  
  
  
  
"provider": "glue",
  
  
  
  
"config": {
  
  
  
  
  
"initialDatabase": "default",
  
  
  
  
  
"initialDatabaseComment": "Default in-memory database for development"
  
  
  
  
},
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
  
}
  
  
],
  
  
"teams": [
  
  
  
{
  
  
  
  
"team": {
  
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
  
"organizationId": "A1B2C3D4E5",
  
  
  
  
  
"name": "string",
  
  
  
  
  
"createdAt": "string",
  
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
  
"updatedAt": "string",
  
  
  
  
  
"updatedBy": "A1B2C3D4E5",
  
  
  
  
  
"defaultRoleId": "A1B2C3D4E5"
  
  
  
  
},
  
  
  
  
"memberCount": 0
  
  
  
}
  
  
],
  
  
"jobs": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"memberId": "A1B2C3D4E5",
  
  
  
  
"jobKey": "daily-sales-etl",
  
  
  
  
"version": 3,
  
  
  
  
"currentVersion": 3,
  
  
  
  
"draftVersion": 4,
  
  
  
  
"basedOnVersion": 0,
  
  
  
  
"status": "active",
  
  
  
  
"clusterId": "A1B2C3D4E5",
  
  
  
  
"description": "Daily ETL pipeline for sales data",
  
  
  
  
"config": {
  
  
  
  
  
"sql": {
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"queryId": "Q1R2S3T4U5"
  
  
  
  
  
},
  
  
  
  
  
"python": {
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"packageName": "string",
  
  
  
  
  
  
"entryPoint": "string",
  
  
  
  
  
  
"parameters": [
  
  
  
  
  
  
  
[
  
  
  
  
  
  
  
  
"--name=job",
  
  
  
  
  
  
  
  
"one",
  
  
  
  
  
  
  
  
"two"
  
  
  
  
  
  
  
]
  
  
  
  
  
  
],
  
  
  
  
  
  
"namedParameters": {
  
  
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"compute": {
  
  
  
  
  
  
"driver": {
  
  
  
  
  
  
  
"instanceType": "c8g.2xlarge",
  
  
  
  
  
  
  
"ebsConfig": {
  
  
  
  
  
  
  
  
"volumeType": "gp3",
  
  
  
  
  
  
  
  
"volumeSize": 100,
  
  
  
  
  
  
  
  
"iops": 3000,
  
  
  
  
  
  
  
  
"throughput": 125,
  
  
  
  
  
  
  
  
"deleteOnTermination": true
  
  
  
  
  
  
  
}
  
  
  
  
  
  
},
  
  
  
  
  
  
"worker": {
  
  
  
  
  
  
  
"instanceType": "c8g.4xlarge",
  
  
  
  
  
  
  
"ebsConfig": {
  
  
  
  
  
  
  
  
"volumeType": "gp3",
  
  
  
  
  
  
  
  
"volumeSize": 100,
  
  
  
  
  
  
  
  
"iops": 3000,
  
  
  
  
  
  
  
  
"throughput": 125,
  
  
  
  
  
  
  
  
"deleteOnTermination": true
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
"maxNodes": 4,
  
  
  
  
  
  
  
"capacityType": "on-demand"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"lakesail": {
  
  
  
  
  
  
"executionMode": "standalone",
  
  
  
  
  
  
"maxRetries": 3,
  
  
  
  
  
  
"lakesailImageUri": "string",
  
  
  
  
  
  
"libraries": [
  
  
  
  
  
  
  
{
  
  
  
  
  
  
  
  
"pypi": {
  
  
  
  
  
  
  
  
  
"package": "string",
  
  
  
  
  
  
  
  
  
"repo": "string"
  
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
  
"requirements": {
  
  
  
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
  
  
  
"uri": "string"
  
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
  
"whl": "string"
  
  
  
  
  
  
  
}
  
  
  
  
  
  
],
  
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"timeoutSeconds": 3600,
  
  
  
  
"sourceConfig": {
  
  
  
  
  
"url": "https://github.com/acme/data-pipelines.git",
  
  
  
  
  
"provider": "string",
  
  
  
  
  
"reference": {
  
  
  
  
  
  
"type": "string",
  
  
  
  
  
  
"value": "main"
  
  
  
  
  
},
  
  
  
  
  
"snapshotCommit": "a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2"
  
  
  
  
},
  
  
  
  
"dependsOn": [
  
  
  
  
  
{
  
  
  
  
  
  
"jobKey": "A1B2C3D4E5"
  
  
  
  
  
}
  
  
  
  
],
  
  
  
  
"cronExpression": "0 2 * * *",
  
  
  
  
"cronTimezone": "America/New_York",
  
  
  
  
"concurrencyPolicy": "skip",
  
  
  
  
"maxConcurrentRuns": 1,
  
  
  
  
"missedSchedulePolicy": "latest",
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"nextRunAt": "string",
  
  
  
  
"lastScheduledAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
  
}
  
  
]
  
}
}

Playground

Authorization
Variables
Key
Value

Samples


List team catalogs

GET
/workloads/teams/{team}/catalogs

Returns all catalogs that have been assigned to the specified team.

Authorizations

BearerAuth
Type
HTTP (bearer)

Parameters

Query Parameters

limit

The maximum number of items to list.

Type
integer
Format
"int32"
Minimum
0
Maximum
100
Default
100

Responses

A list of team catalogs is returned.

application/json
JSON
{
  
"total": 0,
  
"items": [
  
  
{
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
"teamIds": [
  
  
  
  
"A1B2C3D4E5"
  
  
  
],
  
  
  
"externalCatalogIds": [
  
  
  
  
"A1B2C3D4E5"
  
  
  
]
  
  
}
  
],
  
"included": {
  
  
"catalogs": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"name": "Production Cluster",
  
  
  
  
"provider": "glue",
  
  
  
  
"config": {
  
  
  
  
  
"initialDatabase": "default",
  
  
  
  
  
"initialDatabaseComment": "Default in-memory database for development"
  
  
  
  
},
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
  
}
  
  
],
  
  
"teams": [
  
  
  
{
  
  
  
  
"team": {
  
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
  
"organizationId": "A1B2C3D4E5",
  
  
  
  
  
"name": "string",
  
  
  
  
  
"createdAt": "string",
  
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
  
"updatedAt": "string",
  
  
  
  
  
"updatedBy": "A1B2C3D4E5",
  
  
  
  
  
"defaultRoleId": "A1B2C3D4E5"
  
  
  
  
},
  
  
  
  
"memberCount": 0
  
  
  
}
  
  
],
  
  
"externalCatalogs": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"connectionId": "A1B2C3D4E5",
  
  
  
  
"networkId": "A1B2C3D4E5",
  
  
  
  
"name": "Production Cluster",
  
  
  
  
"region": "us-east-1",
  
  
  
  
"config": {
  
  
  
  
  
"catalogName": "default"
  
  
  
  
},
  
  
  
  
"iacState": {
  
  
  
  
  
"projectName": "lakesail-byoc-cluster",
  
  
  
  
  
"stackName": "lakesail-prod-cluster-abc123"
  
  
  
  
},
  
  
  
  
"iacOutputs": {
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
},
  
  
  
  
"status": "string",
  
  
  
  
"statusMessage": "string",
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5",
  
  
  
  
"catalogId": "A1B2C3D4E5"
  
  
  
}
  
  
]
  
}
}

Playground

Authorization
Variables
Key
Value

Samples


List my clusters

GET
/me/clusters

Returns all Kubernetes clusters that the current user can access based on their team memberships.

Authorizations

BearerAuth
Type
HTTP (bearer)

Parameters

Query Parameters

limit

The maximum number of items to list.

Type
integer
Format
"int32"
Minimum
0
Maximum
100
Default
100
page

The page number to retrieve (1-indexed). Used with limit to support offset-based pagination.

Type
integer
Format
"int32"
Minimum
1
Default
1
sortBy

The field to sort by.

Type
string
Valid values
"name"
Default
"name"
sortDirection

The direction to sort (ascending or descending).

Type
string
Valid values
"asc""desc"
Default
"asc"

Responses

A list of clusters the current user can access is returned.

application/json
JSON
{
  
"total": 0,
  
"items": [
  
  
{
  
  
  
"id": "A1B2C3D4E5",
  
  
  
"externalClusterId": "A1B2C3D4E5",
  
  
  
"connectionId": "A1B2C3D4E5"
  
  
}
  
],
  
"included": {
  
  
"clusters": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"name": "Production Cluster",
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5",
  
  
  
  
"externalClusterId": "A1B2C3D4E5",
  
  
  
  
"region": "us-east-1",
  
  
  
  
"connectionId": "A1B2C3D4E5",
  
  
  
  
"networkId": "A1B2C3D4E5",
  
  
  
  
"externalStatus": "string",
  
  
  
  
"operationId": "A1B2C3D4E5"
  
  
  
}
  
  
],
  
  
"connections": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"name": "Production Cluster",
  
  
  
  
"provider": "string",
  
  
  
  
"providerConfig": {
  
  
  
  
  
"accountId": "123456789012",
  
  
  
  
  
"region": "us-east-1",
  
  
  
  
  
"roleArn": "arn:aws:iam::123456789012:role/LakeSailConnection",
  
  
  
  
  
"externalIdSecretArn": "arn:aws:secretsmanager:us-east-1:123456789012:secret:lakesail-ext-id",
  
  
  
  
  
"stackArn": "arn:aws:cloudformation:us-east-1:123456789012:stack/lakesail-connection/abc123"
  
  
  
  
},
  
  
  
  
"status": "active",
  
  
  
  
"statusMessage": "string",
  
  
  
  
"lastUsedAt": "string",
  
  
  
  
"templateSyncedAt": "string",
  
  
  
  
"templateSyncMessage": "string",
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
  
}
  
  
],
  
  
"networks": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"connectionId": "A1B2C3D4E5",
  
  
  
  
"name": "Production Cluster",
  
  
  
  
"region": "us-east-1",
  
  
  
  
"providerNetworkId": "vpc-0a1b2c3d4e5f6g7h8",
  
  
  
  
"config": {
  
  
  
  
  
"cidr": "10.0.0.0/16"
  
  
  
  
},
  
  
  
  
"iacState": {
  
  
  
  
  
"projectName": "lakesail-byoc-cluster",
  
  
  
  
  
"stackName": "lakesail-prod-cluster-abc123"
  
  
  
  
},
  
  
  
  
"iacOutputs": {
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
},
  
  
  
  
"status": "string",
  
  
  
  
"statusMessage": "string",
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
  
}
  
  
],
  
  
"externalClusters": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"connectionId": "A1B2C3D4E5",
  
  
  
  
"networkId": "A1B2C3D4E5",
  
  
  
  
"clusterId": "A1B2C3D4E5",
  
  
  
  
"name": "Production Cluster",
  
  
  
  
"region": "us-east-1",
  
  
  
  
"status": "string",
  
  
  
  
"statusMessage": "string",
  
  
  
  
"config": {
  
  
  
  
  
"kubernetesVersion": "1.35",
  
  
  
  
  
"systemNodeGroup": {
  
  
  
  
  
  
"name": "system",
  
  
  
  
  
  
"instanceTypes": [
  
  
  
  
  
  
  
[
  
  
  
  
  
  
  
  
"m7g.large",
  
  
  
  
  
  
  
  
"m7g.xlarge"
  
  
  
  
  
  
  
]
  
  
  
  
  
  
],
  
  
  
  
  
  
"minSize": 1,
  
  
  
  
  
  
"maxSize": 3,
  
  
  
  
  
  
"desiredSize": 2,
  
  
  
  
  
  
"diskSizeGb": 100
  
  
  
  
  
},
  
  
  
  
  
"publicAccessCidrs": [
  
  
  
  
  
  
"string"
  
  
  
  
  
]
  
  
  
  
},
  
  
  
  
"providerMetadata": {
  
  
  
  
  
"clusterName": "string",
  
  
  
  
  
"clusterArn": "string"
  
  
  
  
},
  
  
  
  
"iacState": {
  
  
  
  
  
"projectName": "lakesail-byoc-cluster",
  
  
  
  
  
"stackName": "lakesail-prod-cluster-abc123"
  
  
  
  
},
  
  
  
  
"iacOutputs": {
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
},
  
  
  
  
"jobRunnerRoleArn": "arn:aws:iam::123456789012:role/lakesail-conn1234-clus5678-jr",
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5",
  
  
  
  
"lastHealthStatus": "string",
  
  
  
  
"lastHealthMessage": "string",
  
  
  
  
"lastHealthCheckAt": "string"
  
  
  
}
  
  
]
  
}
}

Playground

Authorization
Variables
Key
Value

Samples


Describe an accessible cluster

GET
/me/clusters/{cluster}

Returns a single Kubernetes cluster that the current user can access based on their team memberships.
Returns 404 if the cluster does not exist or the user has no access.

Authorizations

BearerAuth
Type
HTTP (bearer)

Responses

The cluster accessible by the current user is returned.

application/json
JSON
{
  
"item": {
  
  
"id": "A1B2C3D4E5",
  
  
"externalClusterId": "A1B2C3D4E5",
  
  
"connectionId": "A1B2C3D4E5"
  
},
  
"included": {
  
  
"clusters": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"name": "Production Cluster",
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5",
  
  
  
  
"externalClusterId": "A1B2C3D4E5",
  
  
  
  
"region": "us-east-1",
  
  
  
  
"connectionId": "A1B2C3D4E5",
  
  
  
  
"networkId": "A1B2C3D4E5",
  
  
  
  
"externalStatus": "string",
  
  
  
  
"operationId": "A1B2C3D4E5"
  
  
  
}
  
  
],
  
  
"connections": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"name": "Production Cluster",
  
  
  
  
"provider": "string",
  
  
  
  
"providerConfig": {
  
  
  
  
  
"accountId": "123456789012",
  
  
  
  
  
"region": "us-east-1",
  
  
  
  
  
"roleArn": "arn:aws:iam::123456789012:role/LakeSailConnection",
  
  
  
  
  
"externalIdSecretArn": "arn:aws:secretsmanager:us-east-1:123456789012:secret:lakesail-ext-id",
  
  
  
  
  
"stackArn": "arn:aws:cloudformation:us-east-1:123456789012:stack/lakesail-connection/abc123"
  
  
  
  
},
  
  
  
  
"status": "active",
  
  
  
  
"statusMessage": "string",
  
  
  
  
"lastUsedAt": "string",
  
  
  
  
"templateSyncedAt": "string",
  
  
  
  
"templateSyncMessage": "string",
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
  
}
  
  
],
  
  
"networks": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"connectionId": "A1B2C3D4E5",
  
  
  
  
"name": "Production Cluster",
  
  
  
  
"region": "us-east-1",
  
  
  
  
"providerNetworkId": "vpc-0a1b2c3d4e5f6g7h8",
  
  
  
  
"config": {
  
  
  
  
  
"cidr": "10.0.0.0/16"
  
  
  
  
},
  
  
  
  
"iacState": {
  
  
  
  
  
"projectName": "lakesail-byoc-cluster",
  
  
  
  
  
"stackName": "lakesail-prod-cluster-abc123"
  
  
  
  
},
  
  
  
  
"iacOutputs": {
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
},
  
  
  
  
"status": "string",
  
  
  
  
"statusMessage": "string",
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
  
}
  
  
],
  
  
"externalClusters": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"connectionId": "A1B2C3D4E5",
  
  
  
  
"networkId": "A1B2C3D4E5",
  
  
  
  
"clusterId": "A1B2C3D4E5",
  
  
  
  
"name": "Production Cluster",
  
  
  
  
"region": "us-east-1",
  
  
  
  
"status": "string",
  
  
  
  
"statusMessage": "string",
  
  
  
  
"config": {
  
  
  
  
  
"kubernetesVersion": "1.35",
  
  
  
  
  
"systemNodeGroup": {
  
  
  
  
  
  
"name": "system",
  
  
  
  
  
  
"instanceTypes": [
  
  
  
  
  
  
  
[
  
  
  
  
  
  
  
  
"m7g.large",
  
  
  
  
  
  
  
  
"m7g.xlarge"
  
  
  
  
  
  
  
]
  
  
  
  
  
  
],
  
  
  
  
  
  
"minSize": 1,
  
  
  
  
  
  
"maxSize": 3,
  
  
  
  
  
  
"desiredSize": 2,
  
  
  
  
  
  
"diskSizeGb": 100
  
  
  
  
  
},
  
  
  
  
  
"publicAccessCidrs": [
  
  
  
  
  
  
"string"
  
  
  
  
  
]
  
  
  
  
},
  
  
  
  
"providerMetadata": {
  
  
  
  
  
"clusterName": "string",
  
  
  
  
  
"clusterArn": "string"
  
  
  
  
},
  
  
  
  
"iacState": {
  
  
  
  
  
"projectName": "lakesail-byoc-cluster",
  
  
  
  
  
"stackName": "lakesail-prod-cluster-abc123"
  
  
  
  
},
  
  
  
  
"iacOutputs": {
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
},
  
  
  
  
"jobRunnerRoleArn": "arn:aws:iam::123456789012:role/lakesail-conn1234-clus5678-jr",
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5",
  
  
  
  
"lastHealthStatus": "string",
  
  
  
  
"lastHealthMessage": "string",
  
  
  
  
"lastHealthCheckAt": "string"
  
  
  
}
  
  
]
  
}
}

Playground

Authorization

Samples


List provisioned clusters

GET
/infra/clusters

Returns all provisioned clusters accessible to the organization across all connections, supporting marker-based pagination.

Authorizations

BearerAuth
Type
HTTP (bearer)

Parameters

Query Parameters

limit

The maximum number of items to list.

Type
integer
Format
"int32"
Minimum
0
Maximum
100
Default
100
marker

The pagination token returned from the previous list operation.

Type
string

Responses

List of External clusters with connection information.

application/json
JSON
{
  
"total": 0,
  
"items": [
  
  
{
  
  
  
"id": "A1B2C3D4E5",
  
  
  
"connectionId": "A1B2C3D4E5"
  
  
}
  
],
  
"included": {
  
  
"clusters": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"connectionId": "A1B2C3D4E5",
  
  
  
  
"networkId": "A1B2C3D4E5",
  
  
  
  
"clusterId": "A1B2C3D4E5",
  
  
  
  
"name": "Production Cluster",
  
  
  
  
"region": "us-east-1",
  
  
  
  
"status": "string",
  
  
  
  
"statusMessage": "string",
  
  
  
  
"config": {
  
  
  
  
  
"kubernetesVersion": "1.35",
  
  
  
  
  
"systemNodeGroup": {
  
  
  
  
  
  
"name": "system",
  
  
  
  
  
  
"instanceTypes": [
  
  
  
  
  
  
  
[
  
  
  
  
  
  
  
  
"m7g.large",
  
  
  
  
  
  
  
  
"m7g.xlarge"
  
  
  
  
  
  
  
]
  
  
  
  
  
  
],
  
  
  
  
  
  
"minSize": 1,
  
  
  
  
  
  
"maxSize": 3,
  
  
  
  
  
  
"desiredSize": 2,
  
  
  
  
  
  
"diskSizeGb": 100
  
  
  
  
  
},
  
  
  
  
  
"publicAccessCidrs": [
  
  
  
  
  
  
"string"
  
  
  
  
  
]
  
  
  
  
},
  
  
  
  
"providerMetadata": {
  
  
  
  
  
"clusterName": "string",
  
  
  
  
  
"clusterArn": "string"
  
  
  
  
},
  
  
  
  
"iacState": {
  
  
  
  
  
"projectName": "lakesail-byoc-cluster",
  
  
  
  
  
"stackName": "lakesail-prod-cluster-abc123"
  
  
  
  
},
  
  
  
  
"iacOutputs": {
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
},
  
  
  
  
"jobRunnerRoleArn": "arn:aws:iam::123456789012:role/lakesail-conn1234-clus5678-jr",
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5",
  
  
  
  
"lastHealthStatus": "string",
  
  
  
  
"lastHealthMessage": "string",
  
  
  
  
"lastHealthCheckAt": "string"
  
  
  
}
  
  
],
  
  
"connections": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"name": "Production Cluster",
  
  
  
  
"provider": "string",
  
  
  
  
"providerConfig": {
  
  
  
  
  
"accountId": "123456789012",
  
  
  
  
  
"region": "us-east-1",
  
  
  
  
  
"roleArn": "arn:aws:iam::123456789012:role/LakeSailConnection",
  
  
  
  
  
"externalIdSecretArn": "arn:aws:secretsmanager:us-east-1:123456789012:secret:lakesail-ext-id",
  
  
  
  
  
"stackArn": "arn:aws:cloudformation:us-east-1:123456789012:stack/lakesail-connection/abc123"
  
  
  
  
},
  
  
  
  
"status": "active",
  
  
  
  
"statusMessage": "string",
  
  
  
  
"lastUsedAt": "string",
  
  
  
  
"templateSyncedAt": "string",
  
  
  
  
"templateSyncMessage": "string",
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
  
}
  
  
],
  
  
"operations": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"organizationId": "A1B2C3D4E5",
  
  
  
  
"memberId": "A1B2C3D4E5",
  
  
  
  
"operation": "string",
  
  
  
  
"status": "string",
  
  
  
  
"result": {
  
  
  
  
  
"items": [
  
  
  
  
  
  
{
  
  
  
  
  
  
  
"provider": "string",
  
  
  
  
  
  
  
"instanceType": "string",
  
  
  
  
  
  
  
"vCpus": 0,
  
  
  
  
  
  
  
"memoryMiB": 0,
  
  
  
  
  
  
  
"architecture": "string",
  
  
  
  
  
  
  
"gpuCount": 0,
  
  
  
  
  
  
  
"instanceFamily": "string",
  
  
  
  
  
  
  
"maxPods": 0,
  
  
  
  
  
  
  
"group": "string",
  
  
  
  
  
  
  
"allocatableMilliCpu": 0
  
  
  
  
  
  
}
  
  
  
  
  
],
  
  
  
  
  
"metadata": {
  
  
  
  
  
  
"provider": "string",
  
  
  
  
  
  
"systemPodsPerNode": 0,
  
  
  
  
  
  
"systemPodsPerSystemNode": 0,
  
  
  
  
  
  
"systemPodsFixed": 0,
  
  
  
  
  
  
"systemPodsPerNodeMargin": 0,
  
  
  
  
  
  
"systemPodsFixedMargin": 0,
  
  
  
  
  
  
"systemMilliCPUPerNode": 0,
  
  
  
  
  
  
"systemMilliCPUFixed": 0,
  
  
  
  
  
  
"karpenterMilliCPUPerReplica": 0,
  
  
  
  
  
  
"karpenterReplicas": 0
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"error": {
  
  
  
  
  
"code": "string",
  
  
  
  
  
"message": "string",
  
  
  
  
  
"errorType": "string",
  
  
  
  
  
"details": {
  
  
  
  
  
  
"retryable": true,
  
  
  
  
  
  
"retryAfter": 0,
  
  
  
  
  
  
"fieldErrors": {
  
  
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
  
  
},
  
  
  
  
  
  
"requestId": "string",
  
  
  
  
  
  
"causedBy": "string"
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"progress": {
  
  
  
  
  
"stage": "string",
  
  
  
  
  
"message": "string",
  
  
  
  
  
"resources": [
  
  
  
  
  
  
{
  
  
  
  
  
  
  
"urn": "string",
  
  
  
  
  
  
  
"type": "string",
  
  
  
  
  
  
  
"name": "string",
  
  
  
  
  
  
  
"operation": "string",
  
  
  
  
  
  
  
"status": "string",
  
  
  
  
  
  
  
"duration": 0
  
  
  
  
  
  
}
  
  
  
  
  
],
  
  
  
  
  
"summary": {
  
  
  
  
  
  
"total": 0,
  
  
  
  
  
  
"pending": 0,
  
  
  
  
  
  
"running": 0,
  
  
  
  
  
  
"succeeded": 0,
  
  
  
  
  
  
"failed": 0,
  
  
  
  
  
  
"unchanged": 0
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"resourceType": "string",
  
  
  
  
"resourceId": "A1B2C3D4E5",
  
  
  
  
"createdAt": "string",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"startedAt": "string",
  
  
  
  
"completedAt": "string"
  
  
  
}
  
  
]
  
},
  
"marker": "string"
}

Playground

Authorization
Variables
Key
Value

Samples


Describe a provisioned cluster

GET
/infra/clusters/{cluster}

Returns the details of a specific provisioned cluster including its connection information and related entities.

Authorizations

BearerAuth
Type
HTTP (bearer)

Responses

External cluster details with connection information.

application/json
JSON
{
  
"item": {
  
  
"id": "A1B2C3D4E5",
  
  
"connectionId": "A1B2C3D4E5"
  
},
  
"included": {
  
  
"clusters": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"connectionId": "A1B2C3D4E5",
  
  
  
  
"networkId": "A1B2C3D4E5",
  
  
  
  
"clusterId": "A1B2C3D4E5",
  
  
  
  
"name": "Production Cluster",
  
  
  
  
"region": "us-east-1",
  
  
  
  
"status": "string",
  
  
  
  
"statusMessage": "string",
  
  
  
  
"config": {
  
  
  
  
  
"kubernetesVersion": "1.35",
  
  
  
  
  
"systemNodeGroup": {
  
  
  
  
  
  
"name": "system",
  
  
  
  
  
  
"instanceTypes": [
  
  
  
  
  
  
  
[
  
  
  
  
  
  
  
  
"m7g.large",
  
  
  
  
  
  
  
  
"m7g.xlarge"
  
  
  
  
  
  
  
]
  
  
  
  
  
  
],
  
  
  
  
  
  
"minSize": 1,
  
  
  
  
  
  
"maxSize": 3,
  
  
  
  
  
  
"desiredSize": 2,
  
  
  
  
  
  
"diskSizeGb": 100
  
  
  
  
  
},
  
  
  
  
  
"publicAccessCidrs": [
  
  
  
  
  
  
"string"
  
  
  
  
  
]
  
  
  
  
},
  
  
  
  
"providerMetadata": {
  
  
  
  
  
"clusterName": "string",
  
  
  
  
  
"clusterArn": "string"
  
  
  
  
},
  
  
  
  
"iacState": {
  
  
  
  
  
"projectName": "lakesail-byoc-cluster",
  
  
  
  
  
"stackName": "lakesail-prod-cluster-abc123"
  
  
  
  
},
  
  
  
  
"iacOutputs": {
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
},
  
  
  
  
"jobRunnerRoleArn": "arn:aws:iam::123456789012:role/lakesail-conn1234-clus5678-jr",
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5",
  
  
  
  
"lastHealthStatus": "string",
  
  
  
  
"lastHealthMessage": "string",
  
  
  
  
"lastHealthCheckAt": "string"
  
  
  
}
  
  
],
  
  
"connections": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"name": "Production Cluster",
  
  
  
  
"provider": "string",
  
  
  
  
"providerConfig": {
  
  
  
  
  
"accountId": "123456789012",
  
  
  
  
  
"region": "us-east-1",
  
  
  
  
  
"roleArn": "arn:aws:iam::123456789012:role/LakeSailConnection",
  
  
  
  
  
"externalIdSecretArn": "arn:aws:secretsmanager:us-east-1:123456789012:secret:lakesail-ext-id",
  
  
  
  
  
"stackArn": "arn:aws:cloudformation:us-east-1:123456789012:stack/lakesail-connection/abc123"
  
  
  
  
},
  
  
  
  
"status": "active",
  
  
  
  
"statusMessage": "string",
  
  
  
  
"lastUsedAt": "string",
  
  
  
  
"templateSyncedAt": "string",
  
  
  
  
"templateSyncMessage": "string",
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
  
}
  
  
],
  
  
"operations": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"organizationId": "A1B2C3D4E5",
  
  
  
  
"memberId": "A1B2C3D4E5",
  
  
  
  
"operation": "string",
  
  
  
  
"status": "string",
  
  
  
  
"result": {
  
  
  
  
  
"items": [
  
  
  
  
  
  
{
  
  
  
  
  
  
  
"provider": "string",
  
  
  
  
  
  
  
"instanceType": "string",
  
  
  
  
  
  
  
"vCpus": 0,
  
  
  
  
  
  
  
"memoryMiB": 0,
  
  
  
  
  
  
  
"architecture": "string",
  
  
  
  
  
  
  
"gpuCount": 0,
  
  
  
  
  
  
  
"instanceFamily": "string",
  
  
  
  
  
  
  
"maxPods": 0,
  
  
  
  
  
  
  
"group": "string",
  
  
  
  
  
  
  
"allocatableMilliCpu": 0
  
  
  
  
  
  
}
  
  
  
  
  
],
  
  
  
  
  
"metadata": {
  
  
  
  
  
  
"provider": "string",
  
  
  
  
  
  
"systemPodsPerNode": 0,
  
  
  
  
  
  
"systemPodsPerSystemNode": 0,
  
  
  
  
  
  
"systemPodsFixed": 0,
  
  
  
  
  
  
"systemPodsPerNodeMargin": 0,
  
  
  
  
  
  
"systemPodsFixedMargin": 0,
  
  
  
  
  
  
"systemMilliCPUPerNode": 0,
  
  
  
  
  
  
"systemMilliCPUFixed": 0,
  
  
  
  
  
  
"karpenterMilliCPUPerReplica": 0,
  
  
  
  
  
  
"karpenterReplicas": 0
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"error": {
  
  
  
  
  
"code": "string",
  
  
  
  
  
"message": "string",
  
  
  
  
  
"errorType": "string",
  
  
  
  
  
"details": {
  
  
  
  
  
  
"retryable": true,
  
  
  
  
  
  
"retryAfter": 0,
  
  
  
  
  
  
"fieldErrors": {
  
  
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
  
  
},
  
  
  
  
  
  
"requestId": "string",
  
  
  
  
  
  
"causedBy": "string"
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"progress": {
  
  
  
  
  
"stage": "string",
  
  
  
  
  
"message": "string",
  
  
  
  
  
"resources": [
  
  
  
  
  
  
{
  
  
  
  
  
  
  
"urn": "string",
  
  
  
  
  
  
  
"type": "string",
  
  
  
  
  
  
  
"name": "string",
  
  
  
  
  
  
  
"operation": "string",
  
  
  
  
  
  
  
"status": "string",
  
  
  
  
  
  
  
"duration": 0
  
  
  
  
  
  
}
  
  
  
  
  
],
  
  
  
  
  
"summary": {
  
  
  
  
  
  
"total": 0,
  
  
  
  
  
  
"pending": 0,
  
  
  
  
  
  
"running": 0,
  
  
  
  
  
  
"succeeded": 0,
  
  
  
  
  
  
"failed": 0,
  
  
  
  
  
  
"unchanged": 0
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"resourceType": "string",
  
  
  
  
"resourceId": "A1B2C3D4E5",
  
  
  
  
"createdAt": "string",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"startedAt": "string",
  
  
  
  
"completedAt": "string"
  
  
  
}
  
  
]
  
}
}

Playground

Authorization

Samples


Delete a provisioned cluster record

DELETE
/infra/clusters/{cluster}

Permanently deletes a provisioned cluster record. The cluster's infrastructure must
first be destroyed before the record can be deleted. A cluster in a failed state
may still have active infrastructure and should be destroyed first.

Authorizations

BearerAuth
Type
HTTP (bearer)

Responses

The requested operation was done successfully.

Playground

Authorization

Samples


List provisioned clusters by connection

GET
/infra/connections/{connection}/clusters

Returns the provisioned clusters within the specified connection.

Authorizations

BearerAuth
Type
HTTP (bearer)

Parameters

Query Parameters

limit

The maximum number of items to list.

Type
integer
Format
"int32"
Minimum
0
Maximum
100
Default
100
marker

The pagination token returned from the previous list operation.

Type
string

Responses

List of External clusters with connection information.

application/json
JSON
{
  
"total": 0,
  
"items": [
  
  
{
  
  
  
"id": "A1B2C3D4E5",
  
  
  
"connectionId": "A1B2C3D4E5"
  
  
}
  
],
  
"included": {
  
  
"clusters": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"connectionId": "A1B2C3D4E5",
  
  
  
  
"networkId": "A1B2C3D4E5",
  
  
  
  
"clusterId": "A1B2C3D4E5",
  
  
  
  
"name": "Production Cluster",
  
  
  
  
"region": "us-east-1",
  
  
  
  
"status": "string",
  
  
  
  
"statusMessage": "string",
  
  
  
  
"config": {
  
  
  
  
  
"kubernetesVersion": "1.35",
  
  
  
  
  
"systemNodeGroup": {
  
  
  
  
  
  
"name": "system",
  
  
  
  
  
  
"instanceTypes": [
  
  
  
  
  
  
  
[
  
  
  
  
  
  
  
  
"m7g.large",
  
  
  
  
  
  
  
  
"m7g.xlarge"
  
  
  
  
  
  
  
]
  
  
  
  
  
  
],
  
  
  
  
  
  
"minSize": 1,
  
  
  
  
  
  
"maxSize": 3,
  
  
  
  
  
  
"desiredSize": 2,
  
  
  
  
  
  
"diskSizeGb": 100
  
  
  
  
  
},
  
  
  
  
  
"publicAccessCidrs": [
  
  
  
  
  
  
"string"
  
  
  
  
  
]
  
  
  
  
},
  
  
  
  
"providerMetadata": {
  
  
  
  
  
"clusterName": "string",
  
  
  
  
  
"clusterArn": "string"
  
  
  
  
},
  
  
  
  
"iacState": {
  
  
  
  
  
"projectName": "lakesail-byoc-cluster",
  
  
  
  
  
"stackName": "lakesail-prod-cluster-abc123"
  
  
  
  
},
  
  
  
  
"iacOutputs": {
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
},
  
  
  
  
"jobRunnerRoleArn": "arn:aws:iam::123456789012:role/lakesail-conn1234-clus5678-jr",
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5",
  
  
  
  
"lastHealthStatus": "string",
  
  
  
  
"lastHealthMessage": "string",
  
  
  
  
"lastHealthCheckAt": "string"
  
  
  
}
  
  
],
  
  
"connections": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"name": "Production Cluster",
  
  
  
  
"provider": "string",
  
  
  
  
"providerConfig": {
  
  
  
  
  
"accountId": "123456789012",
  
  
  
  
  
"region": "us-east-1",
  
  
  
  
  
"roleArn": "arn:aws:iam::123456789012:role/LakeSailConnection",
  
  
  
  
  
"externalIdSecretArn": "arn:aws:secretsmanager:us-east-1:123456789012:secret:lakesail-ext-id",
  
  
  
  
  
"stackArn": "arn:aws:cloudformation:us-east-1:123456789012:stack/lakesail-connection/abc123"
  
  
  
  
},
  
  
  
  
"status": "active",
  
  
  
  
"statusMessage": "string",
  
  
  
  
"lastUsedAt": "string",
  
  
  
  
"templateSyncedAt": "string",
  
  
  
  
"templateSyncMessage": "string",
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
  
}
  
  
],
  
  
"operations": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"organizationId": "A1B2C3D4E5",
  
  
  
  
"memberId": "A1B2C3D4E5",
  
  
  
  
"operation": "string",
  
  
  
  
"status": "string",
  
  
  
  
"result": {
  
  
  
  
  
"items": [
  
  
  
  
  
  
{
  
  
  
  
  
  
  
"provider": "string",
  
  
  
  
  
  
  
"instanceType": "string",
  
  
  
  
  
  
  
"vCpus": 0,
  
  
  
  
  
  
  
"memoryMiB": 0,
  
  
  
  
  
  
  
"architecture": "string",
  
  
  
  
  
  
  
"gpuCount": 0,
  
  
  
  
  
  
  
"instanceFamily": "string",
  
  
  
  
  
  
  
"maxPods": 0,
  
  
  
  
  
  
  
"group": "string",
  
  
  
  
  
  
  
"allocatableMilliCpu": 0
  
  
  
  
  
  
}
  
  
  
  
  
],
  
  
  
  
  
"metadata": {
  
  
  
  
  
  
"provider": "string",
  
  
  
  
  
  
"systemPodsPerNode": 0,
  
  
  
  
  
  
"systemPodsPerSystemNode": 0,
  
  
  
  
  
  
"systemPodsFixed": 0,
  
  
  
  
  
  
"systemPodsPerNodeMargin": 0,
  
  
  
  
  
  
"systemPodsFixedMargin": 0,
  
  
  
  
  
  
"systemMilliCPUPerNode": 0,
  
  
  
  
  
  
"systemMilliCPUFixed": 0,
  
  
  
  
  
  
"karpenterMilliCPUPerReplica": 0,
  
  
  
  
  
  
"karpenterReplicas": 0
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"error": {
  
  
  
  
  
"code": "string",
  
  
  
  
  
"message": "string",
  
  
  
  
  
"errorType": "string",
  
  
  
  
  
"details": {
  
  
  
  
  
  
"retryable": true,
  
  
  
  
  
  
"retryAfter": 0,
  
  
  
  
  
  
"fieldErrors": {
  
  
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
  
  
},
  
  
  
  
  
  
"requestId": "string",
  
  
  
  
  
  
"causedBy": "string"
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"progress": {
  
  
  
  
  
"stage": "string",
  
  
  
  
  
"message": "string",
  
  
  
  
  
"resources": [
  
  
  
  
  
  
{
  
  
  
  
  
  
  
"urn": "string",
  
  
  
  
  
  
  
"type": "string",
  
  
  
  
  
  
  
"name": "string",
  
  
  
  
  
  
  
"operation": "string",
  
  
  
  
  
  
  
"status": "string",
  
  
  
  
  
  
  
"duration": 0
  
  
  
  
  
  
}
  
  
  
  
  
],
  
  
  
  
  
"summary": {
  
  
  
  
  
  
"total": 0,
  
  
  
  
  
  
"pending": 0,
  
  
  
  
  
  
"running": 0,
  
  
  
  
  
  
"succeeded": 0,
  
  
  
  
  
  
"failed": 0,
  
  
  
  
  
  
"unchanged": 0
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"resourceType": "string",
  
  
  
  
"resourceId": "A1B2C3D4E5",
  
  
  
  
"createdAt": "string",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"startedAt": "string",
  
  
  
  
"completedAt": "string"
  
  
  
}
  
  
]
  
},
  
"marker": "string"
}

Playground

Authorization
Variables
Key
Value

Samples


Create a provisioned cluster

POST
/infra/connections/{connection}/clusters

Creates a new EKS cluster in your AWS account via the specified connection. Requires an active connection and an active network.

Authorizations

BearerAuth
Type
HTTP (bearer)

Request Body

application/json
JSON
{
  
"connectionId": "A1B2C3D4E5",
  
"networkId": "A1B2C3D4E5",
  
"name": "Production Cluster",
  
"region": "us-east-1",
  
"config": {
  
  
"kubernetesVersion": "1.35",
  
  
"systemNodeGroup": {
  
  
  
"name": "system",
  
  
  
"instanceTypes": [
  
  
  
  
[
  
  
  
  
  
"m7g.large",
  
  
  
  
  
"m7g.xlarge"
  
  
  
  
]
  
  
  
],
  
  
  
"minSize": 1,
  
  
  
"maxSize": 3,
  
  
  
"desiredSize": 2,
  
  
  
"diskSizeGb": 100
  
  
},
  
  
"publicAccessCidrs": [
  
  
  
"string"
  
  
]
  
}
}

Responses

External cluster created successfully.

application/json
JSON
{
  
"id": "A1B2C3D4E5",
  
"connectionId": "A1B2C3D4E5",
  
"networkId": "A1B2C3D4E5",
  
"clusterId": "A1B2C3D4E5",
  
"name": "Production Cluster",
  
"region": "us-east-1",
  
"status": "string",
  
"statusMessage": "string",
  
"config": {
  
  
"kubernetesVersion": "1.35",
  
  
"systemNodeGroup": {
  
  
  
"name": "system",
  
  
  
"instanceTypes": [
  
  
  
  
[
  
  
  
  
  
"m7g.large",
  
  
  
  
  
"m7g.xlarge"
  
  
  
  
]
  
  
  
],
  
  
  
"minSize": 1,
  
  
  
"maxSize": 3,
  
  
  
"desiredSize": 2,
  
  
  
"diskSizeGb": 100
  
  
},
  
  
"publicAccessCidrs": [
  
  
  
"string"
  
  
]
  
},
  
"providerMetadata": {
  
  
"clusterName": "string",
  
  
"clusterArn": "string"
  
},
  
"iacState": {
  
  
"projectName": "lakesail-byoc-cluster",
  
  
"stackName": "lakesail-prod-cluster-abc123"
  
},
  
"iacOutputs": {
  
  
"additionalProperties": "string"
  
},
  
"jobRunnerRoleArn": "arn:aws:iam::123456789012:role/lakesail-conn1234-clus5678-jr",
  
"createdAt": "string",
  
"createdBy": "A1B2C3D4E5",
  
"updatedAt": "string",
  
"updatedBy": "A1B2C3D4E5",
  
"lastHealthStatus": "string",
  
"lastHealthMessage": "string",
  
"lastHealthCheckAt": "string"
}

Playground

Authorization
Body

Samples


Describe a provisioned cluster by connection

GET
/infra/connections/{connection}/clusters/{cluster}

Returns the details of a provisioned cluster, including its Kubernetes version, node group configuration, and provisioning status.

Authorizations

BearerAuth
Type
HTTP (bearer)

Responses

External cluster details with connection information.

application/json
JSON
{
  
"item": {
  
  
"id": "A1B2C3D4E5",
  
  
"connectionId": "A1B2C3D4E5"
  
},
  
"included": {
  
  
"clusters": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"connectionId": "A1B2C3D4E5",
  
  
  
  
"networkId": "A1B2C3D4E5",
  
  
  
  
"clusterId": "A1B2C3D4E5",
  
  
  
  
"name": "Production Cluster",
  
  
  
  
"region": "us-east-1",
  
  
  
  
"status": "string",
  
  
  
  
"statusMessage": "string",
  
  
  
  
"config": {
  
  
  
  
  
"kubernetesVersion": "1.35",
  
  
  
  
  
"systemNodeGroup": {
  
  
  
  
  
  
"name": "system",
  
  
  
  
  
  
"instanceTypes": [
  
  
  
  
  
  
  
[
  
  
  
  
  
  
  
  
"m7g.large",
  
  
  
  
  
  
  
  
"m7g.xlarge"
  
  
  
  
  
  
  
]
  
  
  
  
  
  
],
  
  
  
  
  
  
"minSize": 1,
  
  
  
  
  
  
"maxSize": 3,
  
  
  
  
  
  
"desiredSize": 2,
  
  
  
  
  
  
"diskSizeGb": 100
  
  
  
  
  
},
  
  
  
  
  
"publicAccessCidrs": [
  
  
  
  
  
  
"string"
  
  
  
  
  
]
  
  
  
  
},
  
  
  
  
"providerMetadata": {
  
  
  
  
  
"clusterName": "string",
  
  
  
  
  
"clusterArn": "string"
  
  
  
  
},
  
  
  
  
"iacState": {
  
  
  
  
  
"projectName": "lakesail-byoc-cluster",
  
  
  
  
  
"stackName": "lakesail-prod-cluster-abc123"
  
  
  
  
},
  
  
  
  
"iacOutputs": {
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
},
  
  
  
  
"jobRunnerRoleArn": "arn:aws:iam::123456789012:role/lakesail-conn1234-clus5678-jr",
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5",
  
  
  
  
"lastHealthStatus": "string",
  
  
  
  
"lastHealthMessage": "string",
  
  
  
  
"lastHealthCheckAt": "string"
  
  
  
}
  
  
],
  
  
"connections": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"name": "Production Cluster",
  
  
  
  
"provider": "string",
  
  
  
  
"providerConfig": {
  
  
  
  
  
"accountId": "123456789012",
  
  
  
  
  
"region": "us-east-1",
  
  
  
  
  
"roleArn": "arn:aws:iam::123456789012:role/LakeSailConnection",
  
  
  
  
  
"externalIdSecretArn": "arn:aws:secretsmanager:us-east-1:123456789012:secret:lakesail-ext-id",
  
  
  
  
  
"stackArn": "arn:aws:cloudformation:us-east-1:123456789012:stack/lakesail-connection/abc123"
  
  
  
  
},
  
  
  
  
"status": "active",
  
  
  
  
"statusMessage": "string",
  
  
  
  
"lastUsedAt": "string",
  
  
  
  
"templateSyncedAt": "string",
  
  
  
  
"templateSyncMessage": "string",
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
  
}
  
  
],
  
  
"operations": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"organizationId": "A1B2C3D4E5",
  
  
  
  
"memberId": "A1B2C3D4E5",
  
  
  
  
"operation": "string",
  
  
  
  
"status": "string",
  
  
  
  
"result": {
  
  
  
  
  
"items": [
  
  
  
  
  
  
{
  
  
  
  
  
  
  
"provider": "string",
  
  
  
  
  
  
  
"instanceType": "string",
  
  
  
  
  
  
  
"vCpus": 0,
  
  
  
  
  
  
  
"memoryMiB": 0,
  
  
  
  
  
  
  
"architecture": "string",
  
  
  
  
  
  
  
"gpuCount": 0,
  
  
  
  
  
  
  
"instanceFamily": "string",
  
  
  
  
  
  
  
"maxPods": 0,
  
  
  
  
  
  
  
"group": "string",
  
  
  
  
  
  
  
"allocatableMilliCpu": 0
  
  
  
  
  
  
}
  
  
  
  
  
],
  
  
  
  
  
"metadata": {
  
  
  
  
  
  
"provider": "string",
  
  
  
  
  
  
"systemPodsPerNode": 0,
  
  
  
  
  
  
"systemPodsPerSystemNode": 0,
  
  
  
  
  
  
"systemPodsFixed": 0,
  
  
  
  
  
  
"systemPodsPerNodeMargin": 0,
  
  
  
  
  
  
"systemPodsFixedMargin": 0,
  
  
  
  
  
  
"systemMilliCPUPerNode": 0,
  
  
  
  
  
  
"systemMilliCPUFixed": 0,
  
  
  
  
  
  
"karpenterMilliCPUPerReplica": 0,
  
  
  
  
  
  
"karpenterReplicas": 0
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"error": {
  
  
  
  
  
"code": "string",
  
  
  
  
  
"message": "string",
  
  
  
  
  
"errorType": "string",
  
  
  
  
  
"details": {
  
  
  
  
  
  
"retryable": true,
  
  
  
  
  
  
"retryAfter": 0,
  
  
  
  
  
  
"fieldErrors": {
  
  
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
  
  
},
  
  
  
  
  
  
"requestId": "string",
  
  
  
  
  
  
"causedBy": "string"
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"progress": {
  
  
  
  
  
"stage": "string",
  
  
  
  
  
"message": "string",
  
  
  
  
  
"resources": [
  
  
  
  
  
  
{
  
  
  
  
  
  
  
"urn": "string",
  
  
  
  
  
  
  
"type": "string",
  
  
  
  
  
  
  
"name": "string",
  
  
  
  
  
  
  
"operation": "string",
  
  
  
  
  
  
  
"status": "string",
  
  
  
  
  
  
  
"duration": 0
  
  
  
  
  
  
}
  
  
  
  
  
],
  
  
  
  
  
"summary": {
  
  
  
  
  
  
"total": 0,
  
  
  
  
  
  
"pending": 0,
  
  
  
  
  
  
"running": 0,
  
  
  
  
  
  
"succeeded": 0,
  
  
  
  
  
  
"failed": 0,
  
  
  
  
  
  
"unchanged": 0
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"resourceType": "string",
  
  
  
  
"resourceId": "A1B2C3D4E5",
  
  
  
  
"createdAt": "string",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"startedAt": "string",
  
  
  
  
"completedAt": "string"
  
  
  
}
  
  
]
  
}
}

Playground

Authorization

Samples


Update a provisioned cluster

POST
/infra/connections/{connection}/clusters/{cluster}

Update the Kubernetes version or node group configuration of a provisioned cluster. This triggers an asynchronous update process.

Authorizations

BearerAuth
Type
HTTP (bearer)

Request Body

application/json
JSON
{
  
"name": "Production Cluster",
  
"config": {
  
  
"kubernetesVersion": "1.35",
  
  
"systemNodeGroup": {
  
  
  
"name": "system",
  
  
  
"instanceTypes": [
  
  
  
  
[
  
  
  
  
  
"m7g.large",
  
  
  
  
  
"m7g.xlarge"
  
  
  
  
]
  
  
  
],
  
  
  
"minSize": 1,
  
  
  
"maxSize": 3,
  
  
  
"desiredSize": 2,
  
  
  
"diskSizeGb": 100
  
  
},
  
  
"publicAccessCidrs": [
  
  
  
"string"
  
  
]
  
}
}

Responses

External cluster upgrade started

application/json
JSON
{
  
"id": "A1B2C3D4E5",
  
"connectionId": "A1B2C3D4E5",
  
"networkId": "A1B2C3D4E5",
  
"clusterId": "A1B2C3D4E5",
  
"name": "Production Cluster",
  
"region": "us-east-1",
  
"status": "string",
  
"statusMessage": "string",
  
"config": {
  
  
"kubernetesVersion": "1.35",
  
  
"systemNodeGroup": {
  
  
  
"name": "system",
  
  
  
"instanceTypes": [
  
  
  
  
[
  
  
  
  
  
"m7g.large",
  
  
  
  
  
"m7g.xlarge"
  
  
  
  
]
  
  
  
],
  
  
  
"minSize": 1,
  
  
  
"maxSize": 3,
  
  
  
"desiredSize": 2,
  
  
  
"diskSizeGb": 100
  
  
},
  
  
"publicAccessCidrs": [
  
  
  
"string"
  
  
]
  
},
  
"providerMetadata": {
  
  
"clusterName": "string",
  
  
"clusterArn": "string"
  
},
  
"iacState": {
  
  
"projectName": "lakesail-byoc-cluster",
  
  
"stackName": "lakesail-prod-cluster-abc123"
  
},
  
"iacOutputs": {
  
  
"additionalProperties": "string"
  
},
  
"jobRunnerRoleArn": "arn:aws:iam::123456789012:role/lakesail-conn1234-clus5678-jr",
  
"createdAt": "string",
  
"createdBy": "A1B2C3D4E5",
  
"updatedAt": "string",
  
"updatedBy": "A1B2C3D4E5",
  
"lastHealthStatus": "string",
  
"lastHealthMessage": "string",
  
"lastHealthCheckAt": "string"
}

Playground

Authorization
Body

Samples


Destroy a provisioned cluster

DELETE
/infra/connections/{connection}/clusters/{cluster}

Initiates destruction of an active provisioned cluster's cloud infrastructure. The cluster record is retained for reference. Returns an operation ID for tracking progress.

Authorizations

BearerAuth
Type
HTTP (bearer)

Responses

Destruction operation initiated.

application/json
JSON
{
  
"id": "A1B2C3D4E5",
  
"organizationId": "A1B2C3D4E5",
  
"memberId": "A1B2C3D4E5",
  
"operation": "string",
  
"status": "string",
  
"result": {
  
  
"items": [
  
  
  
{
  
  
  
  
"provider": "string",
  
  
  
  
"instanceType": "string",
  
  
  
  
"vCpus": 0,
  
  
  
  
"memoryMiB": 0,
  
  
  
  
"architecture": "string",
  
  
  
  
"gpuCount": 0,
  
  
  
  
"instanceFamily": "string",
  
  
  
  
"maxPods": 0,
  
  
  
  
"group": "string",
  
  
  
  
"allocatableMilliCpu": 0
  
  
  
}
  
  
],
  
  
"metadata": {
  
  
  
"provider": "string",
  
  
  
"systemPodsPerNode": 0,
  
  
  
"systemPodsPerSystemNode": 0,
  
  
  
"systemPodsFixed": 0,
  
  
  
"systemPodsPerNodeMargin": 0,
  
  
  
"systemPodsFixedMargin": 0,
  
  
  
"systemMilliCPUPerNode": 0,
  
  
  
"systemMilliCPUFixed": 0,
  
  
  
"karpenterMilliCPUPerReplica": 0,
  
  
  
"karpenterReplicas": 0
  
  
}
  
},
  
"error": {
  
  
"code": "string",
  
  
"message": "string",
  
  
"errorType": "string",
  
  
"details": {
  
  
  
"retryable": true,
  
  
  
"retryAfter": 0,
  
  
  
"fieldErrors": {
  
  
  
  
"additionalProperties": "string"
  
  
  
},
  
  
  
"requestId": "string",
  
  
  
"causedBy": "string"
  
  
}
  
},
  
"progress": {
  
  
"stage": "string",
  
  
"message": "string",
  
  
"resources": [
  
  
  
{
  
  
  
  
"urn": "string",
  
  
  
  
"type": "string",
  
  
  
  
"name": "string",
  
  
  
  
"operation": "string",
  
  
  
  
"status": "string",
  
  
  
  
"duration": 0
  
  
  
}
  
  
],
  
  
"summary": {
  
  
  
"total": 0,
  
  
  
"pending": 0,
  
  
  
"running": 0,
  
  
  
"succeeded": 0,
  
  
  
"failed": 0,
  
  
  
"unchanged": 0
  
  
}
  
},
  
"resourceType": "string",
  
"resourceId": "A1B2C3D4E5",
  
"createdAt": "string",
  
"updatedAt": "string",
  
"startedAt": "string",
  
"completedAt": "string"
}

Playground

Authorization

Samples


Get provisioned cluster health status

GET
/infra/connections/{connection}/clusters/{cluster}/health

Returns the health status of the EKS cluster and its node groups.

Authorizations

BearerAuth
Type
HTTP (bearer)

Responses

External cluster health status

application/json
JSON
{
  
"status": "string",
  
"providerMetadata": {
  
  
"status": "ACTIVE"
  
},
  
"nodeGroups": [
  
  
{
  
  
  
"name": "string",
  
  
  
"status": "string",
  
  
  
"desiredSize": 0,
  
  
  
"readyNodes": 0,
  
  
  
"message": "string"
  
  
}
  
],
  
"systemPods": [
  
  
{
  
  
  
"name": "string",
  
  
  
"namespace": "string",
  
  
  
"ready": true,
  
  
  
"phase": "string",
  
  
  
"restartCount": 0,
  
  
  
"message": "string"
  
  
}
  
],
  
"totalNodes": 0,
  
"readyNodes": 0,
  
"lastCheckedAt": "string"
}

Playground

Authorization

Samples


Get provisioned cluster kubeconfig

GET
/infra/connections/{connection}/clusters/{cluster}/kubeconfig

Returns a kubeconfig that can be used to access the EKS cluster.

Authorizations

BearerAuth
Type
HTTP (bearer)

Responses

Kubeconfig for the External cluster.

application/json
JSON
{
  
"kubeconfig": "string",
  
"clusterEndpoint": "string",
  
"clusterCertificateAuthority": "string"
}

Playground

Authorization

Samples


Get provisioned cluster metrics

GET
/infra/connections/{connection}/clusters/{cluster}/metrics

Returns CPU and memory utilization metrics for the cluster over a specified period.

Authorizations

BearerAuth
Type
HTTP (bearer)

Parameters

Query Parameters

period

The period for metrics (e.g., "1h", "24h", "7d"). Default is "1h".

Type
string
Default
"1h"

Responses

External cluster metrics.

application/json
JSON
{
  
"cpuUtilization": [
  
  
{
  
  
  
"timestamp": "string",
  
  
  
"value": 0
  
  
}
  
],
  
"memoryUtilization": [
  
  
{
  
  
  
"timestamp": "string",
  
  
  
"value": 0
  
  
}
  
],
  
"estimatedCost": [
  
  
{
  
  
  
"timestamp": "string",
  
  
  
"value": 0
  
  
}
  
],
  
"activeJobCount": [
  
  
{
  
  
  
"timestamp": "string",
  
  
  
"value": 0
  
  
}
  
]
}

Playground

Authorization
Variables
Key
Value

Samples


Provision a cluster

POST
/infra/connections/{connection}/clusters/{cluster}/provision

Triggers provisioning of a cluster in pending status. Returns an operation ID for progress tracking.

Authorizations

BearerAuth
Type
HTTP (bearer)

Responses

Provisioning operation initiated.

application/json
JSON
{
  
"id": "A1B2C3D4E5",
  
"organizationId": "A1B2C3D4E5",
  
"memberId": "A1B2C3D4E5",
  
"operation": "string",
  
"status": "string",
  
"result": {
  
  
"items": [
  
  
  
{
  
  
  
  
"provider": "string",
  
  
  
  
"instanceType": "string",
  
  
  
  
"vCpus": 0,
  
  
  
  
"memoryMiB": 0,
  
  
  
  
"architecture": "string",
  
  
  
  
"gpuCount": 0,
  
  
  
  
"instanceFamily": "string",
  
  
  
  
"maxPods": 0,
  
  
  
  
"group": "string",
  
  
  
  
"allocatableMilliCpu": 0
  
  
  
}
  
  
],
  
  
"metadata": {
  
  
  
"provider": "string",
  
  
  
"systemPodsPerNode": 0,
  
  
  
"systemPodsPerSystemNode": 0,
  
  
  
"systemPodsFixed": 0,
  
  
  
"systemPodsPerNodeMargin": 0,
  
  
  
"systemPodsFixedMargin": 0,
  
  
  
"systemMilliCPUPerNode": 0,
  
  
  
"systemMilliCPUFixed": 0,
  
  
  
"karpenterMilliCPUPerReplica": 0,
  
  
  
"karpenterReplicas": 0
  
  
}
  
},
  
"error": {
  
  
"code": "string",
  
  
"message": "string",
  
  
"errorType": "string",
  
  
"details": {
  
  
  
"retryable": true,
  
  
  
"retryAfter": 0,
  
  
  
"fieldErrors": {
  
  
  
  
"additionalProperties": "string"
  
  
  
},
  
  
  
"requestId": "string",
  
  
  
"causedBy": "string"
  
  
}
  
},
  
"progress": {
  
  
"stage": "string",
  
  
"message": "string",
  
  
"resources": [
  
  
  
{
  
  
  
  
"urn": "string",
  
  
  
  
"type": "string",
  
  
  
  
"name": "string",
  
  
  
  
"operation": "string",
  
  
  
  
"status": "string",
  
  
  
  
"duration": 0
  
  
  
}
  
  
],
  
  
"summary": {
  
  
  
"total": 0,
  
  
  
"pending": 0,
  
  
  
"running": 0,
  
  
  
"succeeded": 0,
  
  
  
"failed": 0,
  
  
  
"unchanged": 0
  
  
}
  
},
  
"resourceType": "string",
  
"resourceId": "A1B2C3D4E5",
  
"createdAt": "string",
  
"updatedAt": "string",
  
"startedAt": "string",
  
"completedAt": "string"
}

Playground

Authorization

Samples


List my jobs

GET
/me/jobs

Returns all jobs that the current user can access based on their team memberships.
Includes team associations and latest job run references in the normalized response.

Authorizations

BearerAuth
Type
HTTP (bearer)

Parameters

Query Parameters

limit

The maximum number of items to list.

Type
integer
Format
"int32"
Minimum
0
Maximum
100
Default
100
page

The page number to retrieve (1-indexed). Used with limit to support offset-based pagination.

Type
integer
Format
"int32"
Minimum
1
Default
1
sortBy

The field to sort by.

Type
string
Valid values
"jobKey""createdAt"
Default
"createdAt"
sortDirection

The direction to sort (ascending or descending).

Type
string
Valid values
"asc""desc"
Default
"asc"

Responses

A list of jobs the current user can access is returned.

application/json
JSON
{
  
"total": 0,
  
"items": [
  
  
{
  
  
  
"jobId": "A1B2C3D4E5",
  
  
  
"latestJobRunId": "A1B2C3D4E5",
  
  
  
"teamIds": [
  
  
  
  
"A1B2C3D4E5"
  
  
  
]
  
  
}
  
],
  
"included": {
  
  
"jobs": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"memberId": "A1B2C3D4E5",
  
  
  
  
"jobKey": "daily-sales-etl",
  
  
  
  
"version": 3,
  
  
  
  
"currentVersion": 3,
  
  
  
  
"draftVersion": 4,
  
  
  
  
"basedOnVersion": 0,
  
  
  
  
"status": "active",
  
  
  
  
"clusterId": "A1B2C3D4E5",
  
  
  
  
"description": "Daily ETL pipeline for sales data",
  
  
  
  
"config": {
  
  
  
  
  
"sql": {
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"queryId": "Q1R2S3T4U5"
  
  
  
  
  
},
  
  
  
  
  
"python": {
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"packageName": "string",
  
  
  
  
  
  
"entryPoint": "string",
  
  
  
  
  
  
"parameters": [
  
  
  
  
  
  
  
[
  
  
  
  
  
  
  
  
"--name=job",
  
  
  
  
  
  
  
  
"one",
  
  
  
  
  
  
  
  
"two"
  
  
  
  
  
  
  
]
  
  
  
  
  
  
],
  
  
  
  
  
  
"namedParameters": {
  
  
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"compute": {
  
  
  
  
  
  
"driver": {
  
  
  
  
  
  
  
"instanceType": "c8g.2xlarge",
  
  
  
  
  
  
  
"ebsConfig": {
  
  
  
  
  
  
  
  
"volumeType": "gp3",
  
  
  
  
  
  
  
  
"volumeSize": 100,
  
  
  
  
  
  
  
  
"iops": 3000,
  
  
  
  
  
  
  
  
"throughput": 125,
  
  
  
  
  
  
  
  
"deleteOnTermination": true
  
  
  
  
  
  
  
}
  
  
  
  
  
  
},
  
  
  
  
  
  
"worker": {
  
  
  
  
  
  
  
"instanceType": "c8g.4xlarge",
  
  
  
  
  
  
  
"ebsConfig": {
  
  
  
  
  
  
  
  
"volumeType": "gp3",
  
  
  
  
  
  
  
  
"volumeSize": 100,
  
  
  
  
  
  
  
  
"iops": 3000,
  
  
  
  
  
  
  
  
"throughput": 125,
  
  
  
  
  
  
  
  
"deleteOnTermination": true
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
"maxNodes": 4,
  
  
  
  
  
  
  
"capacityType": "on-demand"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"lakesail": {
  
  
  
  
  
  
"executionMode": "standalone",
  
  
  
  
  
  
"maxRetries": 3,
  
  
  
  
  
  
"lakesailImageUri": "string",
  
  
  
  
  
  
"libraries": [
  
  
  
  
  
  
  
{
  
  
  
  
  
  
  
  
"pypi": {
  
  
  
  
  
  
  
  
  
"package": "string",
  
  
  
  
  
  
  
  
  
"repo": "string"
  
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
  
"requirements": {
  
  
  
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
  
  
  
"uri": "string"
  
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
  
"whl": "string"
  
  
  
  
  
  
  
}
  
  
  
  
  
  
],
  
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"timeoutSeconds": 3600,
  
  
  
  
"sourceConfig": {
  
  
  
  
  
"url": "https://github.com/acme/data-pipelines.git",
  
  
  
  
  
"provider": "string",
  
  
  
  
  
"reference": {
  
  
  
  
  
  
"type": "string",
  
  
  
  
  
  
"value": "main"
  
  
  
  
  
},
  
  
  
  
  
"snapshotCommit": "a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2"
  
  
  
  
},
  
  
  
  
"dependsOn": [
  
  
  
  
  
{
  
  
  
  
  
  
"jobKey": "A1B2C3D4E5"
  
  
  
  
  
}
  
  
  
  
],
  
  
  
  
"cronExpression": "0 2 * * *",
  
  
  
  
"cronTimezone": "America/New_York",
  
  
  
  
"concurrencyPolicy": "skip",
  
  
  
  
"maxConcurrentRuns": 1,
  
  
  
  
"missedSchedulePolicy": "latest",
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"nextRunAt": "string",
  
  
  
  
"lastScheduledAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
  
}
  
  
],
  
  
"jobRuns": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"jobId": "A1B2C3D4E5",
  
  
  
  
"jobVersion": 3,
  
  
  
  
"status": "string",
  
  
  
  
"statusMessage": "string",
  
  
  
  
"resourceCleanupMode": "always",
  
  
  
  
"dispatchedAt": "string",
  
  
  
  
"finishedAt": "string",
  
  
  
  
"runnerStartedAt": "string",
  
  
  
  
"runnerCompletedAt": "string",
  
  
  
  
"runnerExecutionTimeUs": 45200000,
  
  
  
  
"trigger": "manual",
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"results": {
  
  
  
  
  
"outputPath": "s3://lakesail-output/jobs/daily-sales-etl/runs/2026-04-06/"
  
  
  
  
},
  
  
  
  
"updatedBy": "A1B2C3D4E5",
  
  
  
  
"cleanedAt": "string"
  
  
  
}
  
  
],
  
  
"teams": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"organizationId": "A1B2C3D4E5",
  
  
  
  
"name": "string",
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5",
  
  
  
  
"defaultRoleId": "A1B2C3D4E5"
  
  
  
}
  
  
]
  
}
}

Playground

Authorization
Variables
Key
Value

Samples


List jobs

GET
/workloads/jobs

Returns a paginated list of all jobs in the organization, including their current status, active version, and schedule information.

Authorizations

BearerAuth
Type
HTTP (bearer)

Parameters

Query Parameters

limit

The maximum number of items to list.

Type
integer
Format
"int32"
Minimum
0
Maximum
100
Default
100

Responses

The list of LakeSail jobs is returned.

application/json
JSON
{
  
"total": 0,
  
"items": [
  
  
{
  
  
  
"jobId": "A1B2C3D4E5",
  
  
  
"latestJobRunId": "A1B2C3D4E5",
  
  
  
"teamIds": [
  
  
  
  
"A1B2C3D4E5"
  
  
  
]
  
  
}
  
],
  
"included": {
  
  
"jobs": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"memberId": "A1B2C3D4E5",
  
  
  
  
"jobKey": "daily-sales-etl",
  
  
  
  
"version": 3,
  
  
  
  
"currentVersion": 3,
  
  
  
  
"draftVersion": 4,
  
  
  
  
"basedOnVersion": 0,
  
  
  
  
"status": "active",
  
  
  
  
"clusterId": "A1B2C3D4E5",
  
  
  
  
"description": "Daily ETL pipeline for sales data",
  
  
  
  
"config": {
  
  
  
  
  
"sql": {
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"queryId": "Q1R2S3T4U5"
  
  
  
  
  
},
  
  
  
  
  
"python": {
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"packageName": "string",
  
  
  
  
  
  
"entryPoint": "string",
  
  
  
  
  
  
"parameters": [
  
  
  
  
  
  
  
[
  
  
  
  
  
  
  
  
"--name=job",
  
  
  
  
  
  
  
  
"one",
  
  
  
  
  
  
  
  
"two"
  
  
  
  
  
  
  
]
  
  
  
  
  
  
],
  
  
  
  
  
  
"namedParameters": {
  
  
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"compute": {
  
  
  
  
  
  
"driver": {
  
  
  
  
  
  
  
"instanceType": "c8g.2xlarge",
  
  
  
  
  
  
  
"ebsConfig": {
  
  
  
  
  
  
  
  
"volumeType": "gp3",
  
  
  
  
  
  
  
  
"volumeSize": 100,
  
  
  
  
  
  
  
  
"iops": 3000,
  
  
  
  
  
  
  
  
"throughput": 125,
  
  
  
  
  
  
  
  
"deleteOnTermination": true
  
  
  
  
  
  
  
}
  
  
  
  
  
  
},
  
  
  
  
  
  
"worker": {
  
  
  
  
  
  
  
"instanceType": "c8g.4xlarge",
  
  
  
  
  
  
  
"ebsConfig": {
  
  
  
  
  
  
  
  
"volumeType": "gp3",
  
  
  
  
  
  
  
  
"volumeSize": 100,
  
  
  
  
  
  
  
  
"iops": 3000,
  
  
  
  
  
  
  
  
"throughput": 125,
  
  
  
  
  
  
  
  
"deleteOnTermination": true
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
"maxNodes": 4,
  
  
  
  
  
  
  
"capacityType": "on-demand"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"lakesail": {
  
  
  
  
  
  
"executionMode": "standalone",
  
  
  
  
  
  
"maxRetries": 3,
  
  
  
  
  
  
"lakesailImageUri": "string",
  
  
  
  
  
  
"libraries": [
  
  
  
  
  
  
  
{
  
  
  
  
  
  
  
  
"pypi": {
  
  
  
  
  
  
  
  
  
"package": "string",
  
  
  
  
  
  
  
  
  
"repo": "string"
  
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
  
"requirements": {
  
  
  
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
  
  
  
"uri": "string"
  
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
  
"whl": "string"
  
  
  
  
  
  
  
}
  
  
  
  
  
  
],
  
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"timeoutSeconds": 3600,
  
  
  
  
"sourceConfig": {
  
  
  
  
  
"url": "https://github.com/acme/data-pipelines.git",
  
  
  
  
  
"provider": "string",
  
  
  
  
  
"reference": {
  
  
  
  
  
  
"type": "string",
  
  
  
  
  
  
"value": "main"
  
  
  
  
  
},
  
  
  
  
  
"snapshotCommit": "a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2"
  
  
  
  
},
  
  
  
  
"dependsOn": [
  
  
  
  
  
{
  
  
  
  
  
  
"jobKey": "A1B2C3D4E5"
  
  
  
  
  
}
  
  
  
  
],
  
  
  
  
"cronExpression": "0 2 * * *",
  
  
  
  
"cronTimezone": "America/New_York",
  
  
  
  
"concurrencyPolicy": "skip",
  
  
  
  
"maxConcurrentRuns": 1,
  
  
  
  
"missedSchedulePolicy": "latest",
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"nextRunAt": "string",
  
  
  
  
"lastScheduledAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
  
}
  
  
],
  
  
"jobRuns": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"jobId": "A1B2C3D4E5",
  
  
  
  
"jobVersion": 3,
  
  
  
  
"status": "string",
  
  
  
  
"statusMessage": "string",
  
  
  
  
"resourceCleanupMode": "always",
  
  
  
  
"dispatchedAt": "string",
  
  
  
  
"finishedAt": "string",
  
  
  
  
"runnerStartedAt": "string",
  
  
  
  
"runnerCompletedAt": "string",
  
  
  
  
"runnerExecutionTimeUs": 45200000,
  
  
  
  
"trigger": "manual",
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"results": {
  
  
  
  
  
"outputPath": "s3://lakesail-output/jobs/daily-sales-etl/runs/2026-04-06/"
  
  
  
  
},
  
  
  
  
"updatedBy": "A1B2C3D4E5",
  
  
  
  
"cleanedAt": "string"
  
  
  
}
  
  
],
  
  
"teams": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"organizationId": "A1B2C3D4E5",
  
  
  
  
"name": "string",
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5",
  
  
  
  
"defaultRoleId": "A1B2C3D4E5"
  
  
  
}
  
  
]
  
}
}

Playground

Authorization
Variables
Key
Value

Samples


Create a job

POST
/workloads/jobs

Defines a new job within the organization. The job is created with an initial published version containing the provided configuration, including the target cluster, schedule, and query assignments. Requires an active cluster and at least one team.

Authorizations

BearerAuth
Type
HTTP (bearer)

Request Body

application/json
JSON
{
  
"jobKey": "daily-sales-etl",
  
"status": "active",
  
"clusterId": "A1B2C3D4E5",
  
"description": "Daily ETL pipeline for sales data",
  
"config": {
  
  
"sql": {
  
  
  
"source": "string",
  
  
  
"queryId": "Q1R2S3T4U5"
  
  
},
  
  
"python": {
  
  
  
"source": "string",
  
  
  
"packageName": "string",
  
  
  
"entryPoint": "string",
  
  
  
"parameters": [
  
  
  
  
[
  
  
  
  
  
"--name=job",
  
  
  
  
  
"one",
  
  
  
  
  
"two"
  
  
  
  
]
  
  
  
],
  
  
  
"namedParameters": {
  
  
  
  
"additionalProperties": "string"
  
  
  
}
  
  
},
  
  
"compute": {
  
  
  
"driver": {
  
  
  
  
"instanceType": "c8g.2xlarge",
  
  
  
  
"ebsConfig": {
  
  
  
  
  
"volumeType": "gp3",
  
  
  
  
  
"volumeSize": 100,
  
  
  
  
  
"iops": 3000,
  
  
  
  
  
"throughput": 125,
  
  
  
  
  
"deleteOnTermination": true
  
  
  
  
}
  
  
  
},
  
  
  
"worker": {
  
  
  
  
"instanceType": "c8g.4xlarge",
  
  
  
  
"ebsConfig": {
  
  
  
  
  
"volumeType": "gp3",
  
  
  
  
  
"volumeSize": 100,
  
  
  
  
  
"iops": 3000,
  
  
  
  
  
"throughput": 125,
  
  
  
  
  
"deleteOnTermination": true
  
  
  
  
},
  
  
  
  
"maxNodes": 4,
  
  
  
  
"capacityType": "on-demand"
  
  
  
}
  
  
},
  
  
"lakesail": {
  
  
  
"executionMode": "standalone",
  
  
  
"maxRetries": 3,
  
  
  
"lakesailImageUri": "string",
  
  
  
"libraries": [
  
  
  
  
{
  
  
  
  
  
"pypi": {
  
  
  
  
  
  
"package": "string",
  
  
  
  
  
  
"repo": "string"
  
  
  
  
  
},
  
  
  
  
  
"requirements": {
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"uri": "string"
  
  
  
  
  
},
  
  
  
  
  
"whl": "string"
  
  
  
  
}
  
  
  
],
  
  
  
"additionalProperties": "string"
  
  
}
  
},
  
"timeoutSeconds": 3600,
  
"sourceConfig": {
  
  
"url": "https://github.com/acme/data-pipelines.git",
  
  
"provider": "string",
  
  
"reference": {
  
  
  
"type": "string",
  
  
  
"value": "main"
  
  
},
  
  
"snapshotCommit": "a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2"
  
},
  
"dependsOn": [
  
],
  
"teamIds": [
  
  
"A1B2C3D4E5"
  
]
}

Responses

The LakeSail job was created successfully.

application/json
JSON
{
  
"id": "A1B2C3D4E5",
  
"memberId": "A1B2C3D4E5",
  
"jobKey": "daily-sales-etl",
  
"version": 3,
  
"currentVersion": 3,
  
"draftVersion": 4,
  
"basedOnVersion": 0,
  
"status": "active",
  
"clusterId": "A1B2C3D4E5",
  
"description": "Daily ETL pipeline for sales data",
  
"config": {
  
  
"sql": {
  
  
  
"source": "string",
  
  
  
"queryId": "Q1R2S3T4U5"
  
  
},
  
  
"python": {
  
  
  
"source": "string",
  
  
  
"packageName": "string",
  
  
  
"entryPoint": "string",
  
  
  
"parameters": [
  
  
  
  
[
  
  
  
  
  
"--name=job",
  
  
  
  
  
"one",
  
  
  
  
  
"two"
  
  
  
  
]
  
  
  
],
  
  
  
"namedParameters": {
  
  
  
  
"additionalProperties": "string"
  
  
  
}
  
  
},
  
  
"compute": {
  
  
  
"driver": {
  
  
  
  
"instanceType": "c8g.2xlarge",
  
  
  
  
"ebsConfig": {
  
  
  
  
  
"volumeType": "gp3",
  
  
  
  
  
"volumeSize": 100,
  
  
  
  
  
"iops": 3000,
  
  
  
  
  
"throughput": 125,
  
  
  
  
  
"deleteOnTermination": true
  
  
  
  
}
  
  
  
},
  
  
  
"worker": {
  
  
  
  
"instanceType": "c8g.4xlarge",
  
  
  
  
"ebsConfig": {
  
  
  
  
  
"volumeType": "gp3",
  
  
  
  
  
"volumeSize": 100,
  
  
  
  
  
"iops": 3000,
  
  
  
  
  
"throughput": 125,
  
  
  
  
  
"deleteOnTermination": true
  
  
  
  
},
  
  
  
  
"maxNodes": 4,
  
  
  
  
"capacityType": "on-demand"
  
  
  
}
  
  
},
  
  
"lakesail": {
  
  
  
"executionMode": "standalone",
  
  
  
"maxRetries": 3,
  
  
  
"lakesailImageUri": "string",
  
  
  
"libraries": [
  
  
  
  
{
  
  
  
  
  
"pypi": {
  
  
  
  
  
  
"package": "string",
  
  
  
  
  
  
"repo": "string"
  
  
  
  
  
},
  
  
  
  
  
"requirements": {
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"uri": "string"
  
  
  
  
  
},
  
  
  
  
  
"whl": "string"
  
  
  
  
}
  
  
  
],
  
  
  
"additionalProperties": "string"
  
  
}
  
},
  
"timeoutSeconds": 3600,
  
"sourceConfig": {
  
  
"url": "https://github.com/acme/data-pipelines.git",
  
  
"provider": "string",
  
  
"reference": {
  
  
  
"type": "string",
  
  
  
"value": "main"
  
  
},
  
  
"snapshotCommit": "a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2"
  
},
  
"dependsOn": [
  
  
{
  
  
  
"jobKey": "A1B2C3D4E5"
  
  
}
  
],
  
"cronExpression": "0 2 * * *",
  
"cronTimezone": "America/New_York",
  
"concurrencyPolicy": "skip",
  
"maxConcurrentRuns": 1,
  
"missedSchedulePolicy": "latest",
  
"createdAt": "string",
  
"createdBy": "A1B2C3D4E5",
  
"updatedAt": "string",
  
"nextRunAt": "string",
  
"lastScheduledAt": "string",
  
"updatedBy": "A1B2C3D4E5"
}

Playground

Authorization
Body

Samples


Describe a job

GET
/workloads/jobs/{job}

Returns the full details of a job, including its current active version configuration, schedule, and associated cluster and query information.

Authorizations

BearerAuth
Type
HTTP (bearer)

Parameters

Path Parameters

job*

A LakeSail job ID.

Required

Responses

Job details with normalized entity references

application/json
JSON
{
  
"item": {
  
  
"jobId": "A1B2C3D4E5",
  
  
"latestJobRunId": "A1B2C3D4E5",
  
  
"teamIds": [
  
  
  
"A1B2C3D4E5"
  
  
]
  
},
  
"included": {
  
  
"jobs": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"memberId": "A1B2C3D4E5",
  
  
  
  
"jobKey": "daily-sales-etl",
  
  
  
  
"version": 3,
  
  
  
  
"currentVersion": 3,
  
  
  
  
"draftVersion": 4,
  
  
  
  
"basedOnVersion": 0,
  
  
  
  
"status": "active",
  
  
  
  
"clusterId": "A1B2C3D4E5",
  
  
  
  
"description": "Daily ETL pipeline for sales data",
  
  
  
  
"config": {
  
  
  
  
  
"sql": {
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"queryId": "Q1R2S3T4U5"
  
  
  
  
  
},
  
  
  
  
  
"python": {
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"packageName": "string",
  
  
  
  
  
  
"entryPoint": "string",
  
  
  
  
  
  
"parameters": [
  
  
  
  
  
  
  
[
  
  
  
  
  
  
  
  
"--name=job",
  
  
  
  
  
  
  
  
"one",
  
  
  
  
  
  
  
  
"two"
  
  
  
  
  
  
  
]
  
  
  
  
  
  
],
  
  
  
  
  
  
"namedParameters": {
  
  
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"compute": {
  
  
  
  
  
  
"driver": {
  
  
  
  
  
  
  
"instanceType": "c8g.2xlarge",
  
  
  
  
  
  
  
"ebsConfig": {
  
  
  
  
  
  
  
  
"volumeType": "gp3",
  
  
  
  
  
  
  
  
"volumeSize": 100,
  
  
  
  
  
  
  
  
"iops": 3000,
  
  
  
  
  
  
  
  
"throughput": 125,
  
  
  
  
  
  
  
  
"deleteOnTermination": true
  
  
  
  
  
  
  
}
  
  
  
  
  
  
},
  
  
  
  
  
  
"worker": {
  
  
  
  
  
  
  
"instanceType": "c8g.4xlarge",
  
  
  
  
  
  
  
"ebsConfig": {
  
  
  
  
  
  
  
  
"volumeType": "gp3",
  
  
  
  
  
  
  
  
"volumeSize": 100,
  
  
  
  
  
  
  
  
"iops": 3000,
  
  
  
  
  
  
  
  
"throughput": 125,
  
  
  
  
  
  
  
  
"deleteOnTermination": true
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
"maxNodes": 4,
  
  
  
  
  
  
  
"capacityType": "on-demand"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"lakesail": {
  
  
  
  
  
  
"executionMode": "standalone",
  
  
  
  
  
  
"maxRetries": 3,
  
  
  
  
  
  
"lakesailImageUri": "string",
  
  
  
  
  
  
"libraries": [
  
  
  
  
  
  
  
{
  
  
  
  
  
  
  
  
"pypi": {
  
  
  
  
  
  
  
  
  
"package": "string",
  
  
  
  
  
  
  
  
  
"repo": "string"
  
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
  
"requirements": {
  
  
  
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
  
  
  
"uri": "string"
  
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
  
"whl": "string"
  
  
  
  
  
  
  
}
  
  
  
  
  
  
],
  
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"timeoutSeconds": 3600,
  
  
  
  
"sourceConfig": {
  
  
  
  
  
"url": "https://github.com/acme/data-pipelines.git",
  
  
  
  
  
"provider": "string",
  
  
  
  
  
"reference": {
  
  
  
  
  
  
"type": "string",
  
  
  
  
  
  
"value": "main"
  
  
  
  
  
},
  
  
  
  
  
"snapshotCommit": "a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2"
  
  
  
  
},
  
  
  
  
"dependsOn": [
  
  
  
  
  
{
  
  
  
  
  
  
"jobKey": "A1B2C3D4E5"
  
  
  
  
  
}
  
  
  
  
],
  
  
  
  
"cronExpression": "0 2 * * *",
  
  
  
  
"cronTimezone": "America/New_York",
  
  
  
  
"concurrencyPolicy": "skip",
  
  
  
  
"maxConcurrentRuns": 1,
  
  
  
  
"missedSchedulePolicy": "latest",
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"nextRunAt": "string",
  
  
  
  
"lastScheduledAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
  
}
  
  
],
  
  
"jobRuns": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"jobId": "A1B2C3D4E5",
  
  
  
  
"jobVersion": 3,
  
  
  
  
"status": "string",
  
  
  
  
"statusMessage": "string",
  
  
  
  
"resourceCleanupMode": "always",
  
  
  
  
"dispatchedAt": "string",
  
  
  
  
"finishedAt": "string",
  
  
  
  
"runnerStartedAt": "string",
  
  
  
  
"runnerCompletedAt": "string",
  
  
  
  
"runnerExecutionTimeUs": 45200000,
  
  
  
  
"trigger": "manual",
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"results": {
  
  
  
  
  
"outputPath": "s3://lakesail-output/jobs/daily-sales-etl/runs/2026-04-06/"
  
  
  
  
},
  
  
  
  
"updatedBy": "A1B2C3D4E5",
  
  
  
  
"cleanedAt": "string"
  
  
  
}
  
  
],
  
  
"teams": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"organizationId": "A1B2C3D4E5",
  
  
  
  
"name": "string",
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5",
  
  
  
  
"defaultRoleId": "A1B2C3D4E5"
  
  
  
}
  
  
]
  
}
}

Playground

Authorization
Variables
Key
Value

Samples


Delete a job

DELETE
/workloads/jobs/{job}

Permanently removes a job and all its associated versions, runs, and team assignments. Active or pending runs are cancelled before deletion.

Authorizations

BearerAuth
Type
HTTP (bearer)

Parameters

Path Parameters

job*

A LakeSail job ID.

Required

Responses

The requested operation was done successfully.

Playground

Authorization
Variables
Key
Value

Samples


Update a job

PATCH
/workloads/jobs/{job}

Modifies a job's metadata such as its name or description. To change execution configuration (cluster, schedule, queries), create a new version using the versioning endpoints instead.

Authorizations

BearerAuth
Type
HTTP (bearer)

Parameters

Path Parameters

job*

A LakeSail job ID.

Required

Request Body

application/json
JSON
{
  
"jobKey": "daily-sales-etl",
  
"status": "active",
  
"description": "Daily ETL pipeline for sales data",
  
"version": 0
}

Responses

The LakeSail job was updated successfully.

application/json
JSON
{
  
"id": "A1B2C3D4E5",
  
"memberId": "A1B2C3D4E5",
  
"jobKey": "daily-sales-etl",
  
"version": 3,
  
"currentVersion": 3,
  
"draftVersion": 4,
  
"basedOnVersion": 0,
  
"status": "active",
  
"clusterId": "A1B2C3D4E5",
  
"description": "Daily ETL pipeline for sales data",
  
"config": {
  
  
"sql": {
  
  
  
"source": "string",
  
  
  
"queryId": "Q1R2S3T4U5"
  
  
},
  
  
"python": {
  
  
  
"source": "string",
  
  
  
"packageName": "string",
  
  
  
"entryPoint": "string",
  
  
  
"parameters": [
  
  
  
  
[
  
  
  
  
  
"--name=job",
  
  
  
  
  
"one",
  
  
  
  
  
"two"
  
  
  
  
]
  
  
  
],
  
  
  
"namedParameters": {
  
  
  
  
"additionalProperties": "string"
  
  
  
}
  
  
},
  
  
"compute": {
  
  
  
"driver": {
  
  
  
  
"instanceType": "c8g.2xlarge",
  
  
  
  
"ebsConfig": {
  
  
  
  
  
"volumeType": "gp3",
  
  
  
  
  
"volumeSize": 100,
  
  
  
  
  
"iops": 3000,
  
  
  
  
  
"throughput": 125,
  
  
  
  
  
"deleteOnTermination": true
  
  
  
  
}
  
  
  
},
  
  
  
"worker": {
  
  
  
  
"instanceType": "c8g.4xlarge",
  
  
  
  
"ebsConfig": {
  
  
  
  
  
"volumeType": "gp3",
  
  
  
  
  
"volumeSize": 100,
  
  
  
  
  
"iops": 3000,
  
  
  
  
  
"throughput": 125,
  
  
  
  
  
"deleteOnTermination": true
  
  
  
  
},
  
  
  
  
"maxNodes": 4,
  
  
  
  
"capacityType": "on-demand"
  
  
  
}
  
  
},
  
  
"lakesail": {
  
  
  
"executionMode": "standalone",
  
  
  
"maxRetries": 3,
  
  
  
"lakesailImageUri": "string",
  
  
  
"libraries": [
  
  
  
  
{
  
  
  
  
  
"pypi": {
  
  
  
  
  
  
"package": "string",
  
  
  
  
  
  
"repo": "string"
  
  
  
  
  
},
  
  
  
  
  
"requirements": {
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"uri": "string"
  
  
  
  
  
},
  
  
  
  
  
"whl": "string"
  
  
  
  
}
  
  
  
],
  
  
  
"additionalProperties": "string"
  
  
}
  
},
  
"timeoutSeconds": 3600,
  
"sourceConfig": {
  
  
"url": "https://github.com/acme/data-pipelines.git",
  
  
"provider": "string",
  
  
"reference": {
  
  
  
"type": "string",
  
  
  
"value": "main"
  
  
},
  
  
"snapshotCommit": "a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2"
  
},
  
"dependsOn": [
  
  
{
  
  
  
"jobKey": "A1B2C3D4E5"
  
  
}
  
],
  
"cronExpression": "0 2 * * *",
  
"cronTimezone": "America/New_York",
  
"concurrencyPolicy": "skip",
  
"maxConcurrentRuns": 1,
  
"missedSchedulePolicy": "latest",
  
"createdAt": "string",
  
"createdBy": "A1B2C3D4E5",
  
"updatedAt": "string",
  
"nextRunAt": "string",
  
"lastScheduledAt": "string",
  
"updatedBy": "A1B2C3D4E5"
}

Playground

Authorization
Variables
Key
Value
Body

Samples


Activate a job version

POST
/workloads/jobs/{job}/activate-version

Changes the job's active configuration to a previously published version.
The target version must exist and be published. Any existing draft version
must be discarded or published before activating a different version.

Authorizations

BearerAuth
Type
HTTP (bearer)

Parameters

Path Parameters

job*

A LakeSail job ID.

Required

Request Body

application/json
JSON
{
  
"version": 0
}

Responses

The specified version was activated successfully.

application/json
JSON
{
  
"id": "A1B2C3D4E5",
  
"memberId": "A1B2C3D4E5",
  
"jobKey": "daily-sales-etl",
  
"version": 3,
  
"currentVersion": 3,
  
"draftVersion": 4,
  
"basedOnVersion": 0,
  
"status": "active",
  
"clusterId": "A1B2C3D4E5",
  
"description": "Daily ETL pipeline for sales data",
  
"config": {
  
  
"sql": {
  
  
  
"source": "string",
  
  
  
"queryId": "Q1R2S3T4U5"
  
  
},
  
  
"python": {
  
  
  
"source": "string",
  
  
  
"packageName": "string",
  
  
  
"entryPoint": "string",
  
  
  
"parameters": [
  
  
  
  
[
  
  
  
  
  
"--name=job",
  
  
  
  
  
"one",
  
  
  
  
  
"two"
  
  
  
  
]
  
  
  
],
  
  
  
"namedParameters": {
  
  
  
  
"additionalProperties": "string"
  
  
  
}
  
  
},
  
  
"compute": {
  
  
  
"driver": {
  
  
  
  
"instanceType": "c8g.2xlarge",
  
  
  
  
"ebsConfig": {
  
  
  
  
  
"volumeType": "gp3",
  
  
  
  
  
"volumeSize": 100,
  
  
  
  
  
"iops": 3000,
  
  
  
  
  
"throughput": 125,
  
  
  
  
  
"deleteOnTermination": true
  
  
  
  
}
  
  
  
},
  
  
  
"worker": {
  
  
  
  
"instanceType": "c8g.4xlarge",
  
  
  
  
"ebsConfig": {
  
  
  
  
  
"volumeType": "gp3",
  
  
  
  
  
"volumeSize": 100,
  
  
  
  
  
"iops": 3000,
  
  
  
  
  
"throughput": 125,
  
  
  
  
  
"deleteOnTermination": true
  
  
  
  
},
  
  
  
  
"maxNodes": 4,
  
  
  
  
"capacityType": "on-demand"
  
  
  
}
  
  
},
  
  
"lakesail": {
  
  
  
"executionMode": "standalone",
  
  
  
"maxRetries": 3,
  
  
  
"lakesailImageUri": "string",
  
  
  
"libraries": [
  
  
  
  
{
  
  
  
  
  
"pypi": {
  
  
  
  
  
  
"package": "string",
  
  
  
  
  
  
"repo": "string"
  
  
  
  
  
},
  
  
  
  
  
"requirements": {
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"uri": "string"
  
  
  
  
  
},
  
  
  
  
  
"whl": "string"
  
  
  
  
}
  
  
  
],
  
  
  
"additionalProperties": "string"
  
  
}
  
},
  
"timeoutSeconds": 3600,
  
"sourceConfig": {
  
  
"url": "https://github.com/acme/data-pipelines.git",
  
  
"provider": "string",
  
  
"reference": {
  
  
  
"type": "string",
  
  
  
"value": "main"
  
  
},
  
  
"snapshotCommit": "a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2"
  
},
  
"dependsOn": [
  
  
{
  
  
  
"jobKey": "A1B2C3D4E5"
  
  
}
  
],
  
"cronExpression": "0 2 * * *",
  
"cronTimezone": "America/New_York",
  
"concurrencyPolicy": "skip",
  
"maxConcurrentRuns": 1,
  
"missedSchedulePolicy": "latest",
  
"createdAt": "string",
  
"createdBy": "A1B2C3D4E5",
  
"updatedAt": "string",
  
"nextRunAt": "string",
  
"lastScheduledAt": "string",
  
"updatedBy": "A1B2C3D4E5"
}

Playground

Authorization
Variables
Key
Value
Body

Samples


Describe the draft version of a job

GET
/workloads/jobs/{job}/draft

Returns the current draft version for the specified job.
Returns 404 if no draft version exists.

Authorizations

BearerAuth
Type
HTTP (bearer)

Parameters

Path Parameters

job*

A LakeSail job ID.

Required

Responses

The draft version details.

application/json
JSON
{
  
"jobId": "A1B2C3D4E5",
  
"version": 0,
  
"basedOnVersion": 0,
  
"status": "string",
  
"jobType": "string",
  
"clusterId": "A1B2C3D4E5",
  
"memberId": "A1B2C3D4E5",
  
"description": "Daily ETL pipeline for sales data",
  
"config": {
  
  
"sql": {
  
  
  
"source": "string",
  
  
  
"queryId": "Q1R2S3T4U5"
  
  
},
  
  
"python": {
  
  
  
"source": "string",
  
  
  
"packageName": "string",
  
  
  
"entryPoint": "string",
  
  
  
"parameters": [
  
  
  
  
[
  
  
  
  
  
"--name=job",
  
  
  
  
  
"one",
  
  
  
  
  
"two"
  
  
  
  
]
  
  
  
],
  
  
  
"namedParameters": {
  
  
  
  
"additionalProperties": "string"
  
  
  
}
  
  
},
  
  
"compute": {
  
  
  
"driver": {
  
  
  
  
"instanceType": "c8g.2xlarge",
  
  
  
  
"ebsConfig": {
  
  
  
  
  
"volumeType": "gp3",
  
  
  
  
  
"volumeSize": 100,
  
  
  
  
  
"iops": 3000,
  
  
  
  
  
"throughput": 125,
  
  
  
  
  
"deleteOnTermination": true
  
  
  
  
}
  
  
  
},
  
  
  
"worker": {
  
  
  
  
"instanceType": "c8g.4xlarge",
  
  
  
  
"ebsConfig": {
  
  
  
  
  
"volumeType": "gp3",
  
  
  
  
  
"volumeSize": 100,
  
  
  
  
  
"iops": 3000,
  
  
  
  
  
"throughput": 125,
  
  
  
  
  
"deleteOnTermination": true
  
  
  
  
},
  
  
  
  
"maxNodes": 4,
  
  
  
  
"capacityType": "on-demand"
  
  
  
}
  
  
},
  
  
"lakesail": {
  
  
  
"executionMode": "standalone",
  
  
  
"maxRetries": 3,
  
  
  
"lakesailImageUri": "string",
  
  
  
"libraries": [
  
  
  
  
{
  
  
  
  
  
"pypi": {
  
  
  
  
  
  
"package": "string",
  
  
  
  
  
  
"repo": "string"
  
  
  
  
  
},
  
  
  
  
  
"requirements": {
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"uri": "string"
  
  
  
  
  
},
  
  
  
  
  
"whl": "string"
  
  
  
  
}
  
  
  
],
  
  
  
"additionalProperties": "string"
  
  
}
  
},
  
"timeoutSeconds": 0,
  
"sourceConfig": {
  
  
"url": "https://github.com/acme/data-pipelines.git",
  
  
"provider": "string",
  
  
"reference": {
  
  
  
"type": "string",
  
  
  
"value": "main"
  
  
},
  
  
"snapshotCommit": "a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2"
  
},
  
"dependsOn": [
  
  
{
  
  
  
"jobKey": "A1B2C3D4E5"
  
  
}
  
],
  
"cronExpression": "string",
  
"cronTimezone": "string",
  
"concurrencyPolicy": "skip",
  
"maxConcurrentRuns": 0,
  
"missedSchedulePolicy": "latest",
  
"createdAt": "string",
  
"createdBy": "A1B2C3D4E5",
  
"updatedAt": "string",
  
"updatedBy": "A1B2C3D4E5"
}

Playground

Authorization
Variables
Key
Value

Samples


Create a new draft version for a job

POST
/workloads/jobs/{job}/draft

Creates a new draft version by copying the currently published version's
configuration. Fields provided in the request body override the copied values.
A job can have at most one draft version at a time. If a draft already exists,
returns 409 Conflict.

Authorizations

BearerAuth
Type
HTTP (bearer)

Parameters

Path Parameters

job*

A LakeSail job ID.

Required

Request Body

application/json
JSON
{
  
"clusterId": "A1B2C3D4E5",
  
"description": "Daily ETL pipeline for sales data",
  
"config": {
  
  
"sql": {
  
  
  
"source": "string",
  
  
  
"queryId": "Q1R2S3T4U5"
  
  
},
  
  
"python": {
  
  
  
"source": "string",
  
  
  
"packageName": "string",
  
  
  
"entryPoint": "string",
  
  
  
"parameters": [
  
  
  
  
[
  
  
  
  
  
"--name=job",
  
  
  
  
  
"one",
  
  
  
  
  
"two"
  
  
  
  
]
  
  
  
],
  
  
  
"namedParameters": {
  
  
  
  
"additionalProperties": "string"
  
  
  
}
  
  
},
  
  
"compute": {
  
  
  
"driver": {
  
  
  
  
"instanceType": "c8g.2xlarge",
  
  
  
  
"ebsConfig": {
  
  
  
  
  
"volumeType": "gp3",
  
  
  
  
  
"volumeSize": 100,
  
  
  
  
  
"iops": 3000,
  
  
  
  
  
"throughput": 125,
  
  
  
  
  
"deleteOnTermination": true
  
  
  
  
}
  
  
  
},
  
  
  
"worker": {
  
  
  
  
"instanceType": "c8g.4xlarge",
  
  
  
  
"ebsConfig": {
  
  
  
  
  
"volumeType": "gp3",
  
  
  
  
  
"volumeSize": 100,
  
  
  
  
  
"iops": 3000,
  
  
  
  
  
"throughput": 125,
  
  
  
  
  
"deleteOnTermination": true
  
  
  
  
},
  
  
  
  
"maxNodes": 4,
  
  
  
  
"capacityType": "on-demand"
  
  
  
}
  
  
},
  
  
"lakesail": {
  
  
  
"executionMode": "standalone",
  
  
  
"maxRetries": 3,
  
  
  
"lakesailImageUri": "string",
  
  
  
"libraries": [
  
  
  
  
{
  
  
  
  
  
"pypi": {
  
  
  
  
  
  
"package": "string",
  
  
  
  
  
  
"repo": "string"
  
  
  
  
  
},
  
  
  
  
  
"requirements": {
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"uri": "string"
  
  
  
  
  
},
  
  
  
  
  
"whl": "string"
  
  
  
  
}
  
  
  
],
  
  
  
"additionalProperties": "string"
  
  
}
  
},
  
"timeoutSeconds": 0,
  
"sourceConfig": {
  
  
"url": "https://github.com/acme/data-pipelines.git",
  
  
"provider": "string",
  
  
"reference": {
  
  
  
"type": "string",
  
  
  
"value": "main"
  
  
},
  
  
"snapshotCommit": "a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2"
  
},
  
"dependsOn": [
  
  
{
  
  
  
"jobKey": "A1B2C3D4E5"
  
  
}
  
],
  
"cronExpression": "string",
  
"cronTimezone": "string",
  
"concurrencyPolicy": "skip",
  
"maxConcurrentRuns": 0,
  
"missedSchedulePolicy": "latest"
}

Responses

A new draft version was created successfully.

application/json
JSON
{
  
"jobId": "A1B2C3D4E5",
  
"version": 0,
  
"basedOnVersion": 0,
  
"status": "string",
  
"jobType": "string",
  
"clusterId": "A1B2C3D4E5",
  
"memberId": "A1B2C3D4E5",
  
"description": "Daily ETL pipeline for sales data",
  
"config": {
  
  
"sql": {
  
  
  
"source": "string",
  
  
  
"queryId": "Q1R2S3T4U5"
  
  
},
  
  
"python": {
  
  
  
"source": "string",
  
  
  
"packageName": "string",
  
  
  
"entryPoint": "string",
  
  
  
"parameters": [
  
  
  
  
[
  
  
  
  
  
"--name=job",
  
  
  
  
  
"one",
  
  
  
  
  
"two"
  
  
  
  
]
  
  
  
],
  
  
  
"namedParameters": {
  
  
  
  
"additionalProperties": "string"
  
  
  
}
  
  
},
  
  
"compute": {
  
  
  
"driver": {
  
  
  
  
"instanceType": "c8g.2xlarge",
  
  
  
  
"ebsConfig": {
  
  
  
  
  
"volumeType": "gp3",
  
  
  
  
  
"volumeSize": 100,
  
  
  
  
  
"iops": 3000,
  
  
  
  
  
"throughput": 125,
  
  
  
  
  
"deleteOnTermination": true
  
  
  
  
}
  
  
  
},
  
  
  
"worker": {
  
  
  
  
"instanceType": "c8g.4xlarge",
  
  
  
  
"ebsConfig": {
  
  
  
  
  
"volumeType": "gp3",
  
  
  
  
  
"volumeSize": 100,
  
  
  
  
  
"iops": 3000,
  
  
  
  
  
"throughput": 125,
  
  
  
  
  
"deleteOnTermination": true
  
  
  
  
},
  
  
  
  
"maxNodes": 4,
  
  
  
  
"capacityType": "on-demand"
  
  
  
}
  
  
},
  
  
"lakesail": {
  
  
  
"executionMode": "standalone",
  
  
  
"maxRetries": 3,
  
  
  
"lakesailImageUri": "string",
  
  
  
"libraries": [
  
  
  
  
{
  
  
  
  
  
"pypi": {
  
  
  
  
  
  
"package": "string",
  
  
  
  
  
  
"repo": "string"
  
  
  
  
  
},
  
  
  
  
  
"requirements": {
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"uri": "string"
  
  
  
  
  
},
  
  
  
  
  
"whl": "string"
  
  
  
  
}
  
  
  
],
  
  
  
"additionalProperties": "string"
  
  
}
  
},
  
"timeoutSeconds": 0,
  
"sourceConfig": {
  
  
"url": "https://github.com/acme/data-pipelines.git",
  
  
"provider": "string",
  
  
"reference": {
  
  
  
"type": "string",
  
  
  
"value": "main"
  
  
},
  
  
"snapshotCommit": "a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2"
  
},
  
"dependsOn": [
  
  
{
  
  
  
"jobKey": "A1B2C3D4E5"
  
  
}
  
],
  
"cronExpression": "string",
  
"cronTimezone": "string",
  
"concurrencyPolicy": "skip",
  
"maxConcurrentRuns": 0,
  
"missedSchedulePolicy": "latest",
  
"createdAt": "string",
  
"createdBy": "A1B2C3D4E5",
  
"updatedAt": "string",
  
"updatedBy": "A1B2C3D4E5"
}

Playground

Authorization
Variables
Key
Value
Body

Samples


Discard the draft version of a job

DELETE
/workloads/jobs/{job}/draft

Discards (deletes) the current draft version without publishing it.
The job continues running its current published version unchanged.
Returns 404 if no draft version exists.

Authorizations

BearerAuth
Type
HTTP (bearer)

Parameters

Path Parameters

job*

A LakeSail job ID.

Required

Responses

The draft version was discarded successfully.

Playground

Authorization
Variables
Key
Value

Samples


Update the draft version of a job

PATCH
/workloads/jobs/{job}/draft

Updates fields on the current draft version. Only provided fields are modified;
omitted fields retain their current values. Returns 404 if no draft version exists.

Authorizations

BearerAuth
Type
HTTP (bearer)

Parameters

Path Parameters

job*

A LakeSail job ID.

Required

Request Body

application/json
JSON
{
  
"clusterId": "A1B2C3D4E5",
  
"description": "Daily ETL pipeline for sales data",
  
"config": {
  
  
"sql": {
  
  
  
"source": "string",
  
  
  
"queryId": "Q1R2S3T4U5"
  
  
},
  
  
"python": {
  
  
  
"source": "string",
  
  
  
"packageName": "string",
  
  
  
"entryPoint": "string",
  
  
  
"parameters": [
  
  
  
  
[
  
  
  
  
  
"--name=job",
  
  
  
  
  
"one",
  
  
  
  
  
"two"
  
  
  
  
]
  
  
  
],
  
  
  
"namedParameters": {
  
  
  
  
"additionalProperties": "string"
  
  
  
}
  
  
},
  
  
"compute": {
  
  
  
"driver": {
  
  
  
  
"instanceType": "c8g.2xlarge",
  
  
  
  
"ebsConfig": {
  
  
  
  
  
"volumeType": "gp3",
  
  
  
  
  
"volumeSize": 100,
  
  
  
  
  
"iops": 3000,
  
  
  
  
  
"throughput": 125,
  
  
  
  
  
"deleteOnTermination": true
  
  
  
  
}
  
  
  
},
  
  
  
"worker": {
  
  
  
  
"instanceType": "c8g.4xlarge",
  
  
  
  
"ebsConfig": {
  
  
  
  
  
"volumeType": "gp3",
  
  
  
  
  
"volumeSize": 100,
  
  
  
  
  
"iops": 3000,
  
  
  
  
  
"throughput": 125,
  
  
  
  
  
"deleteOnTermination": true
  
  
  
  
},
  
  
  
  
"maxNodes": 4,
  
  
  
  
"capacityType": "on-demand"
  
  
  
}
  
  
},
  
  
"lakesail": {
  
  
  
"executionMode": "standalone",
  
  
  
"maxRetries": 3,
  
  
  
"lakesailImageUri": "string",
  
  
  
"libraries": [
  
  
  
  
{
  
  
  
  
  
"pypi": {
  
  
  
  
  
  
"package": "string",
  
  
  
  
  
  
"repo": "string"
  
  
  
  
  
},
  
  
  
  
  
"requirements": {
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"uri": "string"
  
  
  
  
  
},
  
  
  
  
  
"whl": "string"
  
  
  
  
}
  
  
  
],
  
  
  
"additionalProperties": "string"
  
  
}
  
},
  
"timeoutSeconds": 0,
  
"sourceConfig": {
  
  
"url": "https://github.com/acme/data-pipelines.git",
  
  
"provider": "string",
  
  
"reference": {
  
  
  
"type": "string",
  
  
  
"value": "main"
  
  
},
  
  
"snapshotCommit": "a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2"
  
},
  
"dependsOn": [
  
  
{
  
  
  
"jobKey": "A1B2C3D4E5"
  
  
}
  
],
  
"cronExpression": "string",
  
"cronTimezone": "string",
  
"concurrencyPolicy": "skip",
  
"maxConcurrentRuns": 0,
  
"missedSchedulePolicy": "latest"
}

Responses

The draft version was updated successfully.

application/json
JSON
{
  
"jobId": "A1B2C3D4E5",
  
"version": 0,
  
"basedOnVersion": 0,
  
"status": "string",
  
"jobType": "string",
  
"clusterId": "A1B2C3D4E5",
  
"memberId": "A1B2C3D4E5",
  
"description": "Daily ETL pipeline for sales data",
  
"config": {
  
  
"sql": {
  
  
  
"source": "string",
  
  
  
"queryId": "Q1R2S3T4U5"
  
  
},
  
  
"python": {
  
  
  
"source": "string",
  
  
  
"packageName": "string",
  
  
  
"entryPoint": "string",
  
  
  
"parameters": [
  
  
  
  
[
  
  
  
  
  
"--name=job",
  
  
  
  
  
"one",
  
  
  
  
  
"two"
  
  
  
  
]
  
  
  
],
  
  
  
"namedParameters": {
  
  
  
  
"additionalProperties": "string"
  
  
  
}
  
  
},
  
  
"compute": {
  
  
  
"driver": {
  
  
  
  
"instanceType": "c8g.2xlarge",
  
  
  
  
"ebsConfig": {
  
  
  
  
  
"volumeType": "gp3",
  
  
  
  
  
"volumeSize": 100,
  
  
  
  
  
"iops": 3000,
  
  
  
  
  
"throughput": 125,
  
  
  
  
  
"deleteOnTermination": true
  
  
  
  
}
  
  
  
},
  
  
  
"worker": {
  
  
  
  
"instanceType": "c8g.4xlarge",
  
  
  
  
"ebsConfig": {
  
  
  
  
  
"volumeType": "gp3",
  
  
  
  
  
"volumeSize": 100,
  
  
  
  
  
"iops": 3000,
  
  
  
  
  
"throughput": 125,
  
  
  
  
  
"deleteOnTermination": true
  
  
  
  
},
  
  
  
  
"maxNodes": 4,
  
  
  
  
"capacityType": "on-demand"
  
  
  
}
  
  
},
  
  
"lakesail": {
  
  
  
"executionMode": "standalone",
  
  
  
"maxRetries": 3,
  
  
  
"lakesailImageUri": "string",
  
  
  
"libraries": [
  
  
  
  
{
  
  
  
  
  
"pypi": {
  
  
  
  
  
  
"package": "string",
  
  
  
  
  
  
"repo": "string"
  
  
  
  
  
},
  
  
  
  
  
"requirements": {
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"uri": "string"
  
  
  
  
  
},
  
  
  
  
  
"whl": "string"
  
  
  
  
}
  
  
  
],
  
  
  
"additionalProperties": "string"
  
  
}
  
},
  
"timeoutSeconds": 0,
  
"sourceConfig": {
  
  
"url": "https://github.com/acme/data-pipelines.git",
  
  
"provider": "string",
  
  
"reference": {
  
  
  
"type": "string",
  
  
  
"value": "main"
  
  
},
  
  
"snapshotCommit": "a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2"
  
},
  
"dependsOn": [
  
  
{
  
  
  
"jobKey": "A1B2C3D4E5"
  
  
}
  
],
  
"cronExpression": "string",
  
"cronTimezone": "string",
  
"concurrencyPolicy": "skip",
  
"maxConcurrentRuns": 0,
  
"missedSchedulePolicy": "latest",
  
"createdAt": "string",
  
"createdBy": "A1B2C3D4E5",
  
"updatedAt": "string",
  
"updatedBy": "A1B2C3D4E5"
}

Playground

Authorization
Variables
Key
Value
Body

Samples


Publish the draft version of a job

POST
/workloads/jobs/{job}/draft/publish

Publishes the current draft version, making it the new active configuration.
The draft version's status changes to 'published' and the job's version pointer
is updated. Returns 400 if no draft version exists, 404 if the job does not exist.

Authorizations

BearerAuth
Type
HTTP (bearer)

Parameters

Path Parameters

job*

A LakeSail job ID.

Required

Responses

The draft version was published successfully.

application/json
JSON
{
  
"id": "A1B2C3D4E5",
  
"memberId": "A1B2C3D4E5",
  
"jobKey": "daily-sales-etl",
  
"version": 3,
  
"currentVersion": 3,
  
"draftVersion": 4,
  
"basedOnVersion": 0,
  
"status": "active",
  
"clusterId": "A1B2C3D4E5",
  
"description": "Daily ETL pipeline for sales data",
  
"config": {
  
  
"sql": {
  
  
  
"source": "string",
  
  
  
"queryId": "Q1R2S3T4U5"
  
  
},
  
  
"python": {
  
  
  
"source": "string",
  
  
  
"packageName": "string",
  
  
  
"entryPoint": "string",
  
  
  
"parameters": [
  
  
  
  
[
  
  
  
  
  
"--name=job",
  
  
  
  
  
"one",
  
  
  
  
  
"two"
  
  
  
  
]
  
  
  
],
  
  
  
"namedParameters": {
  
  
  
  
"additionalProperties": "string"
  
  
  
}
  
  
},
  
  
"compute": {
  
  
  
"driver": {
  
  
  
  
"instanceType": "c8g.2xlarge",
  
  
  
  
"ebsConfig": {
  
  
  
  
  
"volumeType": "gp3",
  
  
  
  
  
"volumeSize": 100,
  
  
  
  
  
"iops": 3000,
  
  
  
  
  
"throughput": 125,
  
  
  
  
  
"deleteOnTermination": true
  
  
  
  
}
  
  
  
},
  
  
  
"worker": {
  
  
  
  
"instanceType": "c8g.4xlarge",
  
  
  
  
"ebsConfig": {
  
  
  
  
  
"volumeType": "gp3",
  
  
  
  
  
"volumeSize": 100,
  
  
  
  
  
"iops": 3000,
  
  
  
  
  
"throughput": 125,
  
  
  
  
  
"deleteOnTermination": true
  
  
  
  
},
  
  
  
  
"maxNodes": 4,
  
  
  
  
"capacityType": "on-demand"
  
  
  
}
  
  
},
  
  
"lakesail": {
  
  
  
"executionMode": "standalone",
  
  
  
"maxRetries": 3,
  
  
  
"lakesailImageUri": "string",
  
  
  
"libraries": [
  
  
  
  
{
  
  
  
  
  
"pypi": {
  
  
  
  
  
  
"package": "string",
  
  
  
  
  
  
"repo": "string"
  
  
  
  
  
},
  
  
  
  
  
"requirements": {
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"uri": "string"
  
  
  
  
  
},
  
  
  
  
  
"whl": "string"
  
  
  
  
}
  
  
  
],
  
  
  
"additionalProperties": "string"
  
  
}
  
},
  
"timeoutSeconds": 3600,
  
"sourceConfig": {
  
  
"url": "https://github.com/acme/data-pipelines.git",
  
  
"provider": "string",
  
  
"reference": {
  
  
  
"type": "string",
  
  
  
"value": "main"
  
  
},
  
  
"snapshotCommit": "a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2"
  
},
  
"dependsOn": [
  
  
{
  
  
  
"jobKey": "A1B2C3D4E5"
  
  
}
  
],
  
"cronExpression": "0 2 * * *",
  
"cronTimezone": "America/New_York",
  
"concurrencyPolicy": "skip",
  
"maxConcurrentRuns": 1,
  
"missedSchedulePolicy": "latest",
  
"createdAt": "string",
  
"createdBy": "A1B2C3D4E5",
  
"updatedAt": "string",
  
"nextRunAt": "string",
  
"lastScheduledAt": "string",
  
"updatedBy": "A1B2C3D4E5"
}

Playground

Authorization
Variables
Key
Value

Samples


List job teams

GET
/workloads/jobs/{job}/teams

Returns the teams that have been granted access to the specified job.

Authorizations

BearerAuth
Type
HTTP (bearer)

Parameters

Query Parameters

limit

The maximum number of items to list.

Type
integer
Format
"int32"
Minimum
0
Maximum
100
Default
100

Responses

The list of teams associated with the job is returned.

application/json
JSON
{
  
"total": 0,
  
"items": [
  
  
{
  
  
  
"team": {
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"organizationId": "A1B2C3D4E5",
  
  
  
  
"name": "string",
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5",
  
  
  
  
"defaultRoleId": "A1B2C3D4E5"
  
  
  
},
  
  
  
"memberCount": 0
  
  
}
  
]
}

Playground

Authorization
Variables
Key
Value

Samples


Add teams to a job

POST
/workloads/jobs/{job}/teams

Grants one or more teams access to a job. Team members inherit the ability to view the job and its runs based on their team role permissions.

Authorizations

BearerAuth
Type
HTTP (bearer)

Parameters

Path Parameters

job*

A LakeSail job ID.

Required

Request Body

application/json
JSON
{
  
"teamIds": [
  
  
"A1B2C3D4E5"
  
]
}

Responses

The teams were added to the job successfully.

application/json
JSON
{
  
"items": [
  
  
{
  
  
  
"jobId": "A1B2C3D4E5",
  
  
  
"teamId": "A1B2C3D4E5",
  
  
  
"createdAt": "string",
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
"updatedAt": "string",
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
}
  
]
}

Playground

Authorization
Variables
Key
Value
Body

Samples


Remove a team from a job

DELETE
/workloads/jobs/{job}/teams/{team}

Revokes a team's access to a job. Team members will no longer be able to view or interact with the job unless they have access through another team.

Authorizations

BearerAuth
Type
HTTP (bearer)

Parameters

Path Parameters

job*

A LakeSail job ID.

Required
team*

The team ID.

Required

Responses

The team was removed from the job successfully.

Playground

Authorization
Variables
Key
Value

Samples


List job versions

GET
/workloads/jobs/{job}/versions

Returns a paginated list of all published versions for a job, ordered by version number. Each version represents a point-in-time configuration snapshot.

Authorizations

BearerAuth
Type
HTTP (bearer)

Parameters

Query Parameters

limit

The maximum number of items to list.

Type
integer
Format
"int32"
Minimum
0
Maximum
100
Default
100
page

The page number to retrieve (1-indexed). Used with limit to support offset-based pagination.

Type
integer
Format
"int32"
Minimum
1
Default
1

Responses

The list of LakeSail job versions is returned.

application/json
JSON
{
  
"total": 0,
  
"items": [
  
  
{
  
  
  
"jobId": "A1B2C3D4E5",
  
  
  
"version": 0,
  
  
  
"basedOnVersion": 0,
  
  
  
"status": "string",
  
  
  
"jobType": "string",
  
  
  
"clusterId": "A1B2C3D4E5",
  
  
  
"memberId": "A1B2C3D4E5",
  
  
  
"description": "Daily ETL pipeline for sales data",
  
  
  
"config": {
  
  
  
  
"sql": {
  
  
  
  
  
"source": "string",
  
  
  
  
  
"queryId": "Q1R2S3T4U5"
  
  
  
  
},
  
  
  
  
"python": {
  
  
  
  
  
"source": "string",
  
  
  
  
  
"packageName": "string",
  
  
  
  
  
"entryPoint": "string",
  
  
  
  
  
"parameters": [
  
  
  
  
  
  
[
  
  
  
  
  
  
  
"--name=job",
  
  
  
  
  
  
  
"one",
  
  
  
  
  
  
  
"two"
  
  
  
  
  
  
]
  
  
  
  
  
],
  
  
  
  
  
"namedParameters": {
  
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"compute": {
  
  
  
  
  
"driver": {
  
  
  
  
  
  
"instanceType": "c8g.2xlarge",
  
  
  
  
  
  
"ebsConfig": {
  
  
  
  
  
  
  
"volumeType": "gp3",
  
  
  
  
  
  
  
"volumeSize": 100,
  
  
  
  
  
  
  
"iops": 3000,
  
  
  
  
  
  
  
"throughput": 125,
  
  
  
  
  
  
  
"deleteOnTermination": true
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"worker": {
  
  
  
  
  
  
"instanceType": "c8g.4xlarge",
  
  
  
  
  
  
"ebsConfig": {
  
  
  
  
  
  
  
"volumeType": "gp3",
  
  
  
  
  
  
  
"volumeSize": 100,
  
  
  
  
  
  
  
"iops": 3000,
  
  
  
  
  
  
  
"throughput": 125,
  
  
  
  
  
  
  
"deleteOnTermination": true
  
  
  
  
  
  
},
  
  
  
  
  
  
"maxNodes": 4,
  
  
  
  
  
  
"capacityType": "on-demand"
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"lakesail": {
  
  
  
  
  
"executionMode": "standalone",
  
  
  
  
  
"maxRetries": 3,
  
  
  
  
  
"lakesailImageUri": "string",
  
  
  
  
  
"libraries": [
  
  
  
  
  
  
{
  
  
  
  
  
  
  
"pypi": {
  
  
  
  
  
  
  
  
"package": "string",
  
  
  
  
  
  
  
  
"repo": "string"
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
"requirements": {
  
  
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
  
  
"uri": "string"
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
"whl": "string"
  
  
  
  
  
  
}
  
  
  
  
  
],
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
}
  
  
  
},
  
  
  
"timeoutSeconds": 0,
  
  
  
"sourceConfig": {
  
  
  
  
"url": "https://github.com/acme/data-pipelines.git",
  
  
  
  
"provider": "string",
  
  
  
  
"reference": {
  
  
  
  
  
"type": "string",
  
  
  
  
  
"value": "main"
  
  
  
  
},
  
  
  
  
"snapshotCommit": "a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2"
  
  
  
},
  
  
  
"dependsOn": [
  
  
  
  
{
  
  
  
  
  
"jobKey": "A1B2C3D4E5"
  
  
  
  
}
  
  
  
],
  
  
  
"cronExpression": "string",
  
  
  
"cronTimezone": "string",
  
  
  
"concurrencyPolicy": "skip",
  
  
  
"maxConcurrentRuns": 0,
  
  
  
"missedSchedulePolicy": "latest",
  
  
  
"createdAt": "string",
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
"updatedAt": "string",
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
}
  
]
}

Playground

Authorization
Variables
Key
Value

Samples


Create a job version

POST
/workloads/jobs/{job}/versions

Creates and publishes a new version for the job in a single request. This is
equivalent to creating a draft, updating fields, and publishing. The job must
not have an existing draft version.

Authorizations

BearerAuth
Type
HTTP (bearer)

Parameters

Path Parameters

job*

A LakeSail job ID.

Required

Request Body

application/json
JSON
{
  
"clusterId": "A1B2C3D4E5",
  
"description": "Daily ETL pipeline for sales data",
  
"config": {
  
  
"sql": {
  
  
  
"source": "string",
  
  
  
"queryId": "Q1R2S3T4U5"
  
  
},
  
  
"python": {
  
  
  
"source": "string",
  
  
  
"packageName": "string",
  
  
  
"entryPoint": "string",
  
  
  
"parameters": [
  
  
  
  
[
  
  
  
  
  
"--name=job",
  
  
  
  
  
"one",
  
  
  
  
  
"two"
  
  
  
  
]
  
  
  
],
  
  
  
"namedParameters": {
  
  
  
  
"additionalProperties": "string"
  
  
  
}
  
  
},
  
  
"compute": {
  
  
  
"driver": {
  
  
  
  
"instanceType": "c8g.2xlarge",
  
  
  
  
"ebsConfig": {
  
  
  
  
  
"volumeType": "gp3",
  
  
  
  
  
"volumeSize": 100,
  
  
  
  
  
"iops": 3000,
  
  
  
  
  
"throughput": 125,
  
  
  
  
  
"deleteOnTermination": true
  
  
  
  
}
  
  
  
},
  
  
  
"worker": {
  
  
  
  
"instanceType": "c8g.4xlarge",
  
  
  
  
"ebsConfig": {
  
  
  
  
  
"volumeType": "gp3",
  
  
  
  
  
"volumeSize": 100,
  
  
  
  
  
"iops": 3000,
  
  
  
  
  
"throughput": 125,
  
  
  
  
  
"deleteOnTermination": true
  
  
  
  
},
  
  
  
  
"maxNodes": 4,
  
  
  
  
"capacityType": "on-demand"
  
  
  
}
  
  
},
  
  
"lakesail": {
  
  
  
"executionMode": "standalone",
  
  
  
"maxRetries": 3,
  
  
  
"lakesailImageUri": "string",
  
  
  
"libraries": [
  
  
  
  
{
  
  
  
  
  
"pypi": {
  
  
  
  
  
  
"package": "string",
  
  
  
  
  
  
"repo": "string"
  
  
  
  
  
},
  
  
  
  
  
"requirements": {
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"uri": "string"
  
  
  
  
  
},
  
  
  
  
  
"whl": "string"
  
  
  
  
}
  
  
  
],
  
  
  
"additionalProperties": "string"
  
  
}
  
},
  
"timeoutSeconds": 0,
  
"sourceConfig": {
  
  
"url": "https://github.com/acme/data-pipelines.git",
  
  
"provider": "string",
  
  
"reference": {
  
  
  
"type": "string",
  
  
  
"value": "main"
  
  
},
  
  
"snapshotCommit": "a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2"
  
},
  
"dependsOn": [
  
  
{
  
  
  
"jobKey": "A1B2C3D4E5"
  
  
}
  
],
  
"cronExpression": "string",
  
"cronTimezone": "string",
  
"concurrencyPolicy": "skip",
  
"maxConcurrentRuns": 0,
  
"missedSchedulePolicy": "latest"
}

Responses

The job version was created and published successfully.

application/json
JSON
{
  
"jobId": "A1B2C3D4E5",
  
"version": 0,
  
"basedOnVersion": 0,
  
"status": "string",
  
"jobType": "string",
  
"clusterId": "A1B2C3D4E5",
  
"memberId": "A1B2C3D4E5",
  
"description": "Daily ETL pipeline for sales data",
  
"config": {
  
  
"sql": {
  
  
  
"source": "string",
  
  
  
"queryId": "Q1R2S3T4U5"
  
  
},
  
  
"python": {
  
  
  
"source": "string",
  
  
  
"packageName": "string",
  
  
  
"entryPoint": "string",
  
  
  
"parameters": [
  
  
  
  
[
  
  
  
  
  
"--name=job",
  
  
  
  
  
"one",
  
  
  
  
  
"two"
  
  
  
  
]
  
  
  
],
  
  
  
"namedParameters": {
  
  
  
  
"additionalProperties": "string"
  
  
  
}
  
  
},
  
  
"compute": {
  
  
  
"driver": {
  
  
  
  
"instanceType": "c8g.2xlarge",
  
  
  
  
"ebsConfig": {
  
  
  
  
  
"volumeType": "gp3",
  
  
  
  
  
"volumeSize": 100,
  
  
  
  
  
"iops": 3000,
  
  
  
  
  
"throughput": 125,
  
  
  
  
  
"deleteOnTermination": true
  
  
  
  
}
  
  
  
},
  
  
  
"worker": {
  
  
  
  
"instanceType": "c8g.4xlarge",
  
  
  
  
"ebsConfig": {
  
  
  
  
  
"volumeType": "gp3",
  
  
  
  
  
"volumeSize": 100,
  
  
  
  
  
"iops": 3000,
  
  
  
  
  
"throughput": 125,
  
  
  
  
  
"deleteOnTermination": true
  
  
  
  
},
  
  
  
  
"maxNodes": 4,
  
  
  
  
"capacityType": "on-demand"
  
  
  
}
  
  
},
  
  
"lakesail": {
  
  
  
"executionMode": "standalone",
  
  
  
"maxRetries": 3,
  
  
  
"lakesailImageUri": "string",
  
  
  
"libraries": [
  
  
  
  
{
  
  
  
  
  
"pypi": {
  
  
  
  
  
  
"package": "string",
  
  
  
  
  
  
"repo": "string"
  
  
  
  
  
},
  
  
  
  
  
"requirements": {
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"uri": "string"
  
  
  
  
  
},
  
  
  
  
  
"whl": "string"
  
  
  
  
}
  
  
  
],
  
  
  
"additionalProperties": "string"
  
  
}
  
},
  
"timeoutSeconds": 0,
  
"sourceConfig": {
  
  
"url": "https://github.com/acme/data-pipelines.git",
  
  
"provider": "string",
  
  
"reference": {
  
  
  
"type": "string",
  
  
  
"value": "main"
  
  
},
  
  
"snapshotCommit": "a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2"
  
},
  
"dependsOn": [
  
  
{
  
  
  
"jobKey": "A1B2C3D4E5"
  
  
}
  
],
  
"cronExpression": "string",
  
"cronTimezone": "string",
  
"concurrencyPolicy": "skip",
  
"maxConcurrentRuns": 0,
  
"missedSchedulePolicy": "latest",
  
"createdAt": "string",
  
"createdBy": "A1B2C3D4E5",
  
"updatedAt": "string",
  
"updatedBy": "A1B2C3D4E5"
}

Playground

Authorization
Variables
Key
Value
Body

Samples


Describe a job version

GET
/workloads/jobs/{job}/versions/{jobVersionNumber}

Returns the full configuration snapshot for a specific version of a job, including cluster assignment, schedule, queries, and dependency settings.

Authorizations

BearerAuth
Type
HTTP (bearer)

Parameters

Path Parameters

job*

A LakeSail job ID.

Required
jobVersionNumber*

A LakeSail job version.

Type
integer
Required
Format
"int32"
Minimum
1

Responses

Job details for the specified version, with normalized entity references

application/json
JSON
{
  
"item": {
  
  
"jobId": "A1B2C3D4E5",
  
  
"latestJobRunId": "A1B2C3D4E5",
  
  
"teamIds": [
  
  
  
"A1B2C3D4E5"
  
  
]
  
},
  
"included": {
  
  
"jobs": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"memberId": "A1B2C3D4E5",
  
  
  
  
"jobKey": "daily-sales-etl",
  
  
  
  
"version": 3,
  
  
  
  
"currentVersion": 3,
  
  
  
  
"draftVersion": 4,
  
  
  
  
"basedOnVersion": 0,
  
  
  
  
"status": "active",
  
  
  
  
"clusterId": "A1B2C3D4E5",
  
  
  
  
"description": "Daily ETL pipeline for sales data",
  
  
  
  
"config": {
  
  
  
  
  
"sql": {
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"queryId": "Q1R2S3T4U5"
  
  
  
  
  
},
  
  
  
  
  
"python": {
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"packageName": "string",
  
  
  
  
  
  
"entryPoint": "string",
  
  
  
  
  
  
"parameters": [
  
  
  
  
  
  
  
[
  
  
  
  
  
  
  
  
"--name=job",
  
  
  
  
  
  
  
  
"one",
  
  
  
  
  
  
  
  
"two"
  
  
  
  
  
  
  
]
  
  
  
  
  
  
],
  
  
  
  
  
  
"namedParameters": {
  
  
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"compute": {
  
  
  
  
  
  
"driver": {
  
  
  
  
  
  
  
"instanceType": "c8g.2xlarge",
  
  
  
  
  
  
  
"ebsConfig": {
  
  
  
  
  
  
  
  
"volumeType": "gp3",
  
  
  
  
  
  
  
  
"volumeSize": 100,
  
  
  
  
  
  
  
  
"iops": 3000,
  
  
  
  
  
  
  
  
"throughput": 125,
  
  
  
  
  
  
  
  
"deleteOnTermination": true
  
  
  
  
  
  
  
}
  
  
  
  
  
  
},
  
  
  
  
  
  
"worker": {
  
  
  
  
  
  
  
"instanceType": "c8g.4xlarge",
  
  
  
  
  
  
  
"ebsConfig": {
  
  
  
  
  
  
  
  
"volumeType": "gp3",
  
  
  
  
  
  
  
  
"volumeSize": 100,
  
  
  
  
  
  
  
  
"iops": 3000,
  
  
  
  
  
  
  
  
"throughput": 125,
  
  
  
  
  
  
  
  
"deleteOnTermination": true
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
"maxNodes": 4,
  
  
  
  
  
  
  
"capacityType": "on-demand"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"lakesail": {
  
  
  
  
  
  
"executionMode": "standalone",
  
  
  
  
  
  
"maxRetries": 3,
  
  
  
  
  
  
"lakesailImageUri": "string",
  
  
  
  
  
  
"libraries": [
  
  
  
  
  
  
  
{
  
  
  
  
  
  
  
  
"pypi": {
  
  
  
  
  
  
  
  
  
"package": "string",
  
  
  
  
  
  
  
  
  
"repo": "string"
  
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
  
"requirements": {
  
  
  
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
  
  
  
"uri": "string"
  
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
  
"whl": "string"
  
  
  
  
  
  
  
}
  
  
  
  
  
  
],
  
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"timeoutSeconds": 3600,
  
  
  
  
"sourceConfig": {
  
  
  
  
  
"url": "https://github.com/acme/data-pipelines.git",
  
  
  
  
  
"provider": "string",
  
  
  
  
  
"reference": {
  
  
  
  
  
  
"type": "string",
  
  
  
  
  
  
"value": "main"
  
  
  
  
  
},
  
  
  
  
  
"snapshotCommit": "a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2"
  
  
  
  
},
  
  
  
  
"dependsOn": [
  
  
  
  
  
{
  
  
  
  
  
  
"jobKey": "A1B2C3D4E5"
  
  
  
  
  
}
  
  
  
  
],
  
  
  
  
"cronExpression": "0 2 * * *",
  
  
  
  
"cronTimezone": "America/New_York",
  
  
  
  
"concurrencyPolicy": "skip",
  
  
  
  
"maxConcurrentRuns": 1,
  
  
  
  
"missedSchedulePolicy": "latest",
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"nextRunAt": "string",
  
  
  
  
"lastScheduledAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
  
}
  
  
],
  
  
"jobRuns": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"jobId": "A1B2C3D4E5",
  
  
  
  
"jobVersion": 3,
  
  
  
  
"status": "string",
  
  
  
  
"statusMessage": "string",
  
  
  
  
"resourceCleanupMode": "always",
  
  
  
  
"dispatchedAt": "string",
  
  
  
  
"finishedAt": "string",
  
  
  
  
"runnerStartedAt": "string",
  
  
  
  
"runnerCompletedAt": "string",
  
  
  
  
"runnerExecutionTimeUs": 45200000,
  
  
  
  
"trigger": "manual",
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"results": {
  
  
  
  
  
"outputPath": "s3://lakesail-output/jobs/daily-sales-etl/runs/2026-04-06/"
  
  
  
  
},
  
  
  
  
"updatedBy": "A1B2C3D4E5",
  
  
  
  
"cleanedAt": "string"
  
  
  
}
  
  
],
  
  
"teams": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"organizationId": "A1B2C3D4E5",
  
  
  
  
"name": "string",
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5",
  
  
  
  
"defaultRoleId": "A1B2C3D4E5"
  
  
  
}
  
  
]
  
}
}

Playground

Authorization
Variables
Key
Value

Samples


List team jobs

GET
/workloads/teams/{team}/jobs

Returns a paginated list of jobs that the specified team has been granted access to.

Authorizations

BearerAuth
Type
HTTP (bearer)

Parameters

Query Parameters

limit

The maximum number of items to list.

Type
integer
Format
"int32"
Minimum
0
Maximum
100
Default
100

Responses

The list of LakeSail jobs accessible to the team is returned.

application/json
JSON
{
  
"total": 0,
  
"items": [
  
  
{
  
  
  
"jobId": "A1B2C3D4E5",
  
  
  
"latestJobRunId": "A1B2C3D4E5",
  
  
  
"teamIds": [
  
  
  
  
"A1B2C3D4E5"
  
  
  
]
  
  
}
  
],
  
"included": {
  
  
"jobs": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"memberId": "A1B2C3D4E5",
  
  
  
  
"jobKey": "daily-sales-etl",
  
  
  
  
"version": 3,
  
  
  
  
"currentVersion": 3,
  
  
  
  
"draftVersion": 4,
  
  
  
  
"basedOnVersion": 0,
  
  
  
  
"status": "active",
  
  
  
  
"clusterId": "A1B2C3D4E5",
  
  
  
  
"description": "Daily ETL pipeline for sales data",
  
  
  
  
"config": {
  
  
  
  
  
"sql": {
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"queryId": "Q1R2S3T4U5"
  
  
  
  
  
},
  
  
  
  
  
"python": {
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"packageName": "string",
  
  
  
  
  
  
"entryPoint": "string",
  
  
  
  
  
  
"parameters": [
  
  
  
  
  
  
  
[
  
  
  
  
  
  
  
  
"--name=job",
  
  
  
  
  
  
  
  
"one",
  
  
  
  
  
  
  
  
"two"
  
  
  
  
  
  
  
]
  
  
  
  
  
  
],
  
  
  
  
  
  
"namedParameters": {
  
  
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"compute": {
  
  
  
  
  
  
"driver": {
  
  
  
  
  
  
  
"instanceType": "c8g.2xlarge",
  
  
  
  
  
  
  
"ebsConfig": {
  
  
  
  
  
  
  
  
"volumeType": "gp3",
  
  
  
  
  
  
  
  
"volumeSize": 100,
  
  
  
  
  
  
  
  
"iops": 3000,
  
  
  
  
  
  
  
  
"throughput": 125,
  
  
  
  
  
  
  
  
"deleteOnTermination": true
  
  
  
  
  
  
  
}
  
  
  
  
  
  
},
  
  
  
  
  
  
"worker": {
  
  
  
  
  
  
  
"instanceType": "c8g.4xlarge",
  
  
  
  
  
  
  
"ebsConfig": {
  
  
  
  
  
  
  
  
"volumeType": "gp3",
  
  
  
  
  
  
  
  
"volumeSize": 100,
  
  
  
  
  
  
  
  
"iops": 3000,
  
  
  
  
  
  
  
  
"throughput": 125,
  
  
  
  
  
  
  
  
"deleteOnTermination": true
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
"maxNodes": 4,
  
  
  
  
  
  
  
"capacityType": "on-demand"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"lakesail": {
  
  
  
  
  
  
"executionMode": "standalone",
  
  
  
  
  
  
"maxRetries": 3,
  
  
  
  
  
  
"lakesailImageUri": "string",
  
  
  
  
  
  
"libraries": [
  
  
  
  
  
  
  
{
  
  
  
  
  
  
  
  
"pypi": {
  
  
  
  
  
  
  
  
  
"package": "string",
  
  
  
  
  
  
  
  
  
"repo": "string"
  
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
  
"requirements": {
  
  
  
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
  
  
  
"uri": "string"
  
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
  
"whl": "string"
  
  
  
  
  
  
  
}
  
  
  
  
  
  
],
  
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"timeoutSeconds": 3600,
  
  
  
  
"sourceConfig": {
  
  
  
  
  
"url": "https://github.com/acme/data-pipelines.git",
  
  
  
  
  
"provider": "string",
  
  
  
  
  
"reference": {
  
  
  
  
  
  
"type": "string",
  
  
  
  
  
  
"value": "main"
  
  
  
  
  
},
  
  
  
  
  
"snapshotCommit": "a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2"
  
  
  
  
},
  
  
  
  
"dependsOn": [
  
  
  
  
  
{
  
  
  
  
  
  
"jobKey": "A1B2C3D4E5"
  
  
  
  
  
}
  
  
  
  
],
  
  
  
  
"cronExpression": "0 2 * * *",
  
  
  
  
"cronTimezone": "America/New_York",
  
  
  
  
"concurrencyPolicy": "skip",
  
  
  
  
"maxConcurrentRuns": 1,
  
  
  
  
"missedSchedulePolicy": "latest",
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"nextRunAt": "string",
  
  
  
  
"lastScheduledAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
  
}
  
  
],
  
  
"jobRuns": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"jobId": "A1B2C3D4E5",
  
  
  
  
"jobVersion": 3,
  
  
  
  
"status": "string",
  
  
  
  
"statusMessage": "string",
  
  
  
  
"resourceCleanupMode": "always",
  
  
  
  
"dispatchedAt": "string",
  
  
  
  
"finishedAt": "string",
  
  
  
  
"runnerStartedAt": "string",
  
  
  
  
"runnerCompletedAt": "string",
  
  
  
  
"runnerExecutionTimeUs": 45200000,
  
  
  
  
"trigger": "manual",
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"results": {
  
  
  
  
  
"outputPath": "s3://lakesail-output/jobs/daily-sales-etl/runs/2026-04-06/"
  
  
  
  
},
  
  
  
  
"updatedBy": "A1B2C3D4E5",
  
  
  
  
"cleanedAt": "string"
  
  
  
}
  
  
],
  
  
"teams": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"organizationId": "A1B2C3D4E5",
  
  
  
  
"name": "string",
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5",
  
  
  
  
"defaultRoleId": "A1B2C3D4E5"
  
  
  
}
  
  
]
  
}
}

Playground

Authorization
Variables
Key
Value

Samples


List jobs on a cluster

GET
/workloads/clusters/{cluster}/jobs

Returns a paginated list of jobs whose active version is configured to execute on the specified cluster.

Authorizations

BearerAuth
Type
HTTP (bearer)

Parameters

Query Parameters

limit

The maximum number of items to list.

Type
integer
Format
"int32"
Minimum
0
Maximum
100
Default
100

Responses

The list of LakeSail jobs configured to run on the cluster is returned.

application/json
JSON
{
  
"total": 0,
  
"items": [
  
  
{
  
  
  
"jobId": "A1B2C3D4E5",
  
  
  
"latestJobRunId": "A1B2C3D4E5",
  
  
  
"teamIds": [
  
  
  
  
"A1B2C3D4E5"
  
  
  
]
  
  
}
  
],
  
"included": {
  
  
"jobs": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"memberId": "A1B2C3D4E5",
  
  
  
  
"jobKey": "daily-sales-etl",
  
  
  
  
"version": 3,
  
  
  
  
"currentVersion": 3,
  
  
  
  
"draftVersion": 4,
  
  
  
  
"basedOnVersion": 0,
  
  
  
  
"status": "active",
  
  
  
  
"clusterId": "A1B2C3D4E5",
  
  
  
  
"description": "Daily ETL pipeline for sales data",
  
  
  
  
"config": {
  
  
  
  
  
"sql": {
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"queryId": "Q1R2S3T4U5"
  
  
  
  
  
},
  
  
  
  
  
"python": {
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"packageName": "string",
  
  
  
  
  
  
"entryPoint": "string",
  
  
  
  
  
  
"parameters": [
  
  
  
  
  
  
  
[
  
  
  
  
  
  
  
  
"--name=job",
  
  
  
  
  
  
  
  
"one",
  
  
  
  
  
  
  
  
"two"
  
  
  
  
  
  
  
]
  
  
  
  
  
  
],
  
  
  
  
  
  
"namedParameters": {
  
  
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"compute": {
  
  
  
  
  
  
"driver": {
  
  
  
  
  
  
  
"instanceType": "c8g.2xlarge",
  
  
  
  
  
  
  
"ebsConfig": {
  
  
  
  
  
  
  
  
"volumeType": "gp3",
  
  
  
  
  
  
  
  
"volumeSize": 100,
  
  
  
  
  
  
  
  
"iops": 3000,
  
  
  
  
  
  
  
  
"throughput": 125,
  
  
  
  
  
  
  
  
"deleteOnTermination": true
  
  
  
  
  
  
  
}
  
  
  
  
  
  
},
  
  
  
  
  
  
"worker": {
  
  
  
  
  
  
  
"instanceType": "c8g.4xlarge",
  
  
  
  
  
  
  
"ebsConfig": {
  
  
  
  
  
  
  
  
"volumeType": "gp3",
  
  
  
  
  
  
  
  
"volumeSize": 100,
  
  
  
  
  
  
  
  
"iops": 3000,
  
  
  
  
  
  
  
  
"throughput": 125,
  
  
  
  
  
  
  
  
"deleteOnTermination": true
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
"maxNodes": 4,
  
  
  
  
  
  
  
"capacityType": "on-demand"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"lakesail": {
  
  
  
  
  
  
"executionMode": "standalone",
  
  
  
  
  
  
"maxRetries": 3,
  
  
  
  
  
  
"lakesailImageUri": "string",
  
  
  
  
  
  
"libraries": [
  
  
  
  
  
  
  
{
  
  
  
  
  
  
  
  
"pypi": {
  
  
  
  
  
  
  
  
  
"package": "string",
  
  
  
  
  
  
  
  
  
"repo": "string"
  
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
  
"requirements": {
  
  
  
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
  
  
  
"uri": "string"
  
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
  
"whl": "string"
  
  
  
  
  
  
  
}
  
  
  
  
  
  
],
  
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"timeoutSeconds": 3600,
  
  
  
  
"sourceConfig": {
  
  
  
  
  
"url": "https://github.com/acme/data-pipelines.git",
  
  
  
  
  
"provider": "string",
  
  
  
  
  
"reference": {
  
  
  
  
  
  
"type": "string",
  
  
  
  
  
  
"value": "main"
  
  
  
  
  
},
  
  
  
  
  
"snapshotCommit": "a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2"
  
  
  
  
},
  
  
  
  
"dependsOn": [
  
  
  
  
  
{
  
  
  
  
  
  
"jobKey": "A1B2C3D4E5"
  
  
  
  
  
}
  
  
  
  
],
  
  
  
  
"cronExpression": "0 2 * * *",
  
  
  
  
"cronTimezone": "America/New_York",
  
  
  
  
"concurrencyPolicy": "skip",
  
  
  
  
"maxConcurrentRuns": 1,
  
  
  
  
"missedSchedulePolicy": "latest",
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"nextRunAt": "string",
  
  
  
  
"lastScheduledAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
  
}
  
  
],
  
  
"jobRuns": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"jobId": "A1B2C3D4E5",
  
  
  
  
"jobVersion": 3,
  
  
  
  
"status": "string",
  
  
  
  
"statusMessage": "string",
  
  
  
  
"resourceCleanupMode": "always",
  
  
  
  
"dispatchedAt": "string",
  
  
  
  
"finishedAt": "string",
  
  
  
  
"runnerStartedAt": "string",
  
  
  
  
"runnerCompletedAt": "string",
  
  
  
  
"runnerExecutionTimeUs": 45200000,
  
  
  
  
"trigger": "manual",
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"results": {
  
  
  
  
  
"outputPath": "s3://lakesail-output/jobs/daily-sales-etl/runs/2026-04-06/"
  
  
  
  
},
  
  
  
  
"updatedBy": "A1B2C3D4E5",
  
  
  
  
"cleanedAt": "string"
  
  
  
}
  
  
],
  
  
"teams": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"organizationId": "A1B2C3D4E5",
  
  
  
  
"name": "string",
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5",
  
  
  
  
"defaultRoleId": "A1B2C3D4E5"
  
  
  
}
  
  
]
  
}
}

Playground

Authorization
Variables
Key
Value

Samples


List my job runs

GET
/me/jobs/runs

Returns all job runs that the authenticated user can access based on their team memberships and role permissions.

Authorizations

BearerAuth
Type
HTTP (bearer)

Parameters

Query Parameters

limit

The maximum number of items to list.

Type
integer
Format
"int32"
Minimum
0
Maximum
100
Default
100
marker

The pagination token returned from the previous list operation.

Type
string

Responses

The list of job runs accessible by the current user is returned.

application/json
JSON
{
  
"total": 0,
  
"items": [
  
  
{
  
  
  
"id": "A1B2C3D4E5",
  
  
  
"jobId": "A1B2C3D4E5",
  
  
  
"jobVersion": 3,
  
  
  
"status": "string",
  
  
  
"statusMessage": "string",
  
  
  
"resourceCleanupMode": "always",
  
  
  
"dispatchedAt": "string",
  
  
  
"finishedAt": "string",
  
  
  
"runnerStartedAt": "string",
  
  
  
"runnerCompletedAt": "string",
  
  
  
"runnerExecutionTimeUs": 45200000,
  
  
  
"trigger": "manual",
  
  
  
"createdAt": "string",
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
"updatedAt": "string",
  
  
  
"results": {
  
  
  
  
"outputPath": "s3://lakesail-output/jobs/daily-sales-etl/runs/2026-04-06/"
  
  
  
},
  
  
  
"updatedBy": "A1B2C3D4E5",
  
  
  
"cleanedAt": "string"
  
  
}
  
],
  
"marker": "string"
}

Playground

Authorization
Variables
Key
Value

Samples


List job runs

GET
/workloads/jobs/{job}/runs

Returns a paginated list of runs for a specific job, ordered by creation time. Includes status, timing, and trigger information for each run.

Authorizations

BearerAuth
Type
HTTP (bearer)

Parameters

Query Parameters

limit

The maximum number of items to list.

Type
integer
Format
"int32"
Minimum
0
Maximum
100
Default
100
marker

The pagination token returned from the previous list operation.

Type
string

Responses

The list of LakeSail job runs is returned.

application/json
JSON
{
  
"total": 0,
  
"items": [
  
  
{
  
  
  
"id": "A1B2C3D4E5",
  
  
  
"jobId": "A1B2C3D4E5",
  
  
  
"jobVersion": 3,
  
  
  
"status": "string",
  
  
  
"statusMessage": "string",
  
  
  
"resourceCleanupMode": "always",
  
  
  
"dispatchedAt": "string",
  
  
  
"finishedAt": "string",
  
  
  
"runnerStartedAt": "string",
  
  
  
"runnerCompletedAt": "string",
  
  
  
"runnerExecutionTimeUs": 45200000,
  
  
  
"trigger": "manual",
  
  
  
"createdAt": "string",
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
"updatedAt": "string",
  
  
  
"results": {
  
  
  
  
"outputPath": "s3://lakesail-output/jobs/daily-sales-etl/runs/2026-04-06/"
  
  
  
},
  
  
  
"updatedBy": "A1B2C3D4E5",
  
  
  
"cleanedAt": "string"
  
  
}
  
],
  
"marker": "string"
}

Playground

Authorization
Variables
Key
Value

Samples


Create a job run

POST
/workloads/jobs/{job}/runs

Triggers a new execution of the job using its currently active version configuration. The run is placed in a pending state until released or automatically dispatched by the scheduler.

Authorizations

BearerAuth
Type
HTTP (bearer)

Parameters

Path Parameters

job*

A LakeSail job ID.

Required

Request Body

application/json
JSON
{
  
"jobId": "A1B2C3D4E5",
  
"jobVersion": 3,
  
"hold": true,
  
"resourceCleanupMode": "always"
}

Responses

The LakeSail job run was created successfully.

application/json
JSON
{
  
"id": "A1B2C3D4E5",
  
"jobId": "A1B2C3D4E5",
  
"jobVersion": 3,
  
"status": "string",
  
"statusMessage": "string",
  
"resourceCleanupMode": "always",
  
"dispatchedAt": "string",
  
"finishedAt": "string",
  
"runnerStartedAt": "string",
  
"runnerCompletedAt": "string",
  
"runnerExecutionTimeUs": 45200000,
  
"trigger": "manual",
  
"createdAt": "string",
  
"createdBy": "A1B2C3D4E5",
  
"updatedAt": "string",
  
"results": {
  
  
"outputPath": "s3://lakesail-output/jobs/daily-sales-etl/runs/2026-04-06/"
  
},
  
"updatedBy": "A1B2C3D4E5",
  
"cleanedAt": "string"
}

Playground

Authorization
Variables
Key
Value
Body

Samples


Describe a job run

GET
/workloads/jobs/{job}/runs/{jobRun}

Returns the full details of a job run, including its current status, timing information, and execution results.

Authorizations

BearerAuth
Type
HTTP (bearer)

Parameters

Path Parameters

job*

A LakeSail job ID.

Required
jobRun*

A LakeSail job run ID.

Required

Responses

The LakeSail job run is returned.

application/json
JSON
{
  
"id": "A1B2C3D4E5",
  
"jobId": "A1B2C3D4E5",
  
"jobVersion": 3,
  
"status": "string",
  
"statusMessage": "string",
  
"hold": true,
  
"resourceCleanupMode": "always",
  
"dispatchedAt": "string",
  
"finishedAt": "string",
  
"runnerStartedAt": "string",
  
"runnerCompletedAt": "string",
  
"runnerExecutionTimeUs": 45200000,
  
"trigger": "manual",
  
"createdAt": "string",
  
"createdBy": "A1B2C3D4E5",
  
"updatedAt": "string",
  
"results": {
  
  
"outputPath": "s3://lakesail-output/jobs/daily-sales-etl/runs/2026-04-06/"
  
},
  
"updatedBy": "A1B2C3D4E5",
  
"cleanedAt": "string"
}

Playground

Authorization
Variables
Key
Value

Samples


Delete a job run

DELETE
/workloads/jobs/{job}/runs/{jobRun}

Permanently removes a job run record. Only completed, failed, or cancelled runs can be deleted.

Authorizations

BearerAuth
Type
HTTP (bearer)

Parameters

Path Parameters

job*

A LakeSail job ID.

Required
jobRun*

A LakeSail job run ID.

Required

Responses

The requested operation was done successfully.

Playground

Authorization
Variables
Key
Value

Samples


Release a pending job run for execution

POST
/workloads/jobs/{job}/runs/{jobRun}/ready

Transitions a job run from pending to ready, making it eligible for execution.
Use this when orchestrating job runs that were created in pending status and
should be released once their dependencies are satisfied.
Returns 409 if the run is not currently in pending status.

Authorizations

BearerAuth
Type
HTTP (bearer)

Responses

The job run has been released and is now in ready status.

application/json
JSON
{
  
"id": "A1B2C3D4E5",
  
"jobId": "A1B2C3D4E5",
  
"jobVersion": 3,
  
"status": "string",
  
"statusMessage": "string",
  
"resourceCleanupMode": "always",
  
"dispatchedAt": "string",
  
"finishedAt": "string",
  
"runnerStartedAt": "string",
  
"runnerCompletedAt": "string",
  
"runnerExecutionTimeUs": 45200000,
  
"trigger": "manual",
  
"createdAt": "string",
  
"createdBy": "A1B2C3D4E5",
  
"updatedAt": "string",
  
"results": {
  
  
"outputPath": "s3://lakesail-output/jobs/daily-sales-etl/runs/2026-04-06/"
  
},
  
"updatedBy": "A1B2C3D4E5",
  
"cleanedAt": "string"
}

Playground

Authorization

Samples


Retry a job run

POST
/workloads/jobs/{job}/runs/{jobRun}/retry

Resets a terminal job run so it can be executed again.
The run keeps its original ID, version, parameters, and audit trail.

The run's status must be failed, timeout, or cancelled. By default
the run transitions to ready (immediately eligible for execution).
If hold is true in the request body, the run transitions to pending
instead, requiring a subsequent Release call before execution.

Returns 409 if the run is not in an allowed terminal status.

Authorizations

BearerAuth
Type
HTTP (bearer)

Request Body

application/json
JSON
{
  
"hold": true
}

Responses

The job run has been reset. Its status is ready (eligible for execution) or pending (held until released) depending on the hold flag in the request.

application/json
JSON
{
  
"id": "A1B2C3D4E5",
  
"jobId": "A1B2C3D4E5",
  
"jobVersion": 3,
  
"status": "string",
  
"statusMessage": "string",
  
"resourceCleanupMode": "always",
  
"dispatchedAt": "string",
  
"finishedAt": "string",
  
"runnerStartedAt": "string",
  
"runnerCompletedAt": "string",
  
"runnerExecutionTimeUs": 45200000,
  
"trigger": "manual",
  
"createdAt": "string",
  
"createdBy": "A1B2C3D4E5",
  
"updatedAt": "string",
  
"results": {
  
  
"outputPath": "s3://lakesail-output/jobs/daily-sales-etl/runs/2026-04-06/"
  
},
  
"updatedBy": "A1B2C3D4E5",
  
"cleanedAt": "string"
}

Playground

Authorization
Body

Samples


mfa

Multi-factor authentication enrollment, TOTP verification, and recovery codes.


Reset my MFA

DELETE
/me/mfa

Deletes all MFA configurations (TOTP and recovery codes) for the currently
authenticated user and revokes all active sessions, requiring re-authentication.

Authorizations

BearerAuth
Type
HTTP (bearer)

Responses

The requested operation was done successfully.

Playground

Authorization

Samples


List my queries

GET
/me/queries

Returns all queries that the current user can access based on their team memberships.
Includes team associations for each query in the normalized response.

Authorizations

BearerAuth
Type
HTTP (bearer)

Parameters

Query Parameters

limit

The maximum number of items to list.

Type
integer
Format
"int32"
Minimum
0
Maximum
100
Default
100
page

The page number to retrieve (1-indexed). Used with limit to support offset-based pagination.

Type
integer
Format
"int32"
Minimum
1
Default
1
sortBy

The field to sort by.

Type
string
Valid values
"name""updatedAt"
Default
"updatedAt"
sortDirection

The direction to sort (ascending or descending).

Type
string
Valid values
"asc""desc"
Default
"asc"

Responses

A list of queries the current user can access is returned.

application/json
JSON
{
  
"total": 0,
  
"items": [
  
  
{
  
  
  
"queryId": "A1B2C3D4E5",
  
  
  
"teamIds": [
  
  
  
  
"A1B2C3D4E5"
  
  
  
],
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
"jobIds": [
  
  
  
  
"A1B2C3D4E5"
  
  
  
]
  
  
}
  
],
  
"included": {
  
  
"queries": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"memberId": "A1B2C3D4E5",
  
  
  
  
"name": "Daily Sales Summary",
  
  
  
  
"description": "Daily ETL pipeline for sales data",
  
  
  
  
"catalog_schema": "analytics",
  
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
  
"queryText": "SELECT region, SUM(amount) FROM sales GROUP BY region",
  
  
  
  
"tags": [
  
  
  
  
  
[
  
  
  
  
  
  
"etl",
  
  
  
  
  
  
"sales",
  
  
  
  
  
  
"daily"
  
  
  
  
  
]
  
  
  
  
],
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
  
}
  
  
],
  
  
"catalogs": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"name": "Production Cluster",
  
  
  
  
"provider": "glue",
  
  
  
  
"config": {
  
  
  
  
  
"initialDatabase": "default",
  
  
  
  
  
"initialDatabaseComment": "Default in-memory database for development"
  
  
  
  
},
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
  
}
  
  
],
  
  
"teams": [
  
  
  
{
  
  
  
  
"team": {
  
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
  
"organizationId": "A1B2C3D4E5",
  
  
  
  
  
"name": "string",
  
  
  
  
  
"createdAt": "string",
  
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
  
"updatedAt": "string",
  
  
  
  
  
"updatedBy": "A1B2C3D4E5",
  
  
  
  
  
"defaultRoleId": "A1B2C3D4E5"
  
  
  
  
},
  
  
  
  
"memberCount": 0
  
  
  
}
  
  
],
  
  
"jobs": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"memberId": "A1B2C3D4E5",
  
  
  
  
"jobKey": "daily-sales-etl",
  
  
  
  
"version": 3,
  
  
  
  
"currentVersion": 3,
  
  
  
  
"draftVersion": 4,
  
  
  
  
"basedOnVersion": 0,
  
  
  
  
"status": "active",
  
  
  
  
"clusterId": "A1B2C3D4E5",
  
  
  
  
"description": "Daily ETL pipeline for sales data",
  
  
  
  
"config": {
  
  
  
  
  
"sql": {
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"queryId": "Q1R2S3T4U5"
  
  
  
  
  
},
  
  
  
  
  
"python": {
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"packageName": "string",
  
  
  
  
  
  
"entryPoint": "string",
  
  
  
  
  
  
"parameters": [
  
  
  
  
  
  
  
[
  
  
  
  
  
  
  
  
"--name=job",
  
  
  
  
  
  
  
  
"one",
  
  
  
  
  
  
  
  
"two"
  
  
  
  
  
  
  
]
  
  
  
  
  
  
],
  
  
  
  
  
  
"namedParameters": {
  
  
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"compute": {
  
  
  
  
  
  
"driver": {
  
  
  
  
  
  
  
"instanceType": "c8g.2xlarge",
  
  
  
  
  
  
  
"ebsConfig": {
  
  
  
  
  
  
  
  
"volumeType": "gp3",
  
  
  
  
  
  
  
  
"volumeSize": 100,
  
  
  
  
  
  
  
  
"iops": 3000,
  
  
  
  
  
  
  
  
"throughput": 125,
  
  
  
  
  
  
  
  
"deleteOnTermination": true
  
  
  
  
  
  
  
}
  
  
  
  
  
  
},
  
  
  
  
  
  
"worker": {
  
  
  
  
  
  
  
"instanceType": "c8g.4xlarge",
  
  
  
  
  
  
  
"ebsConfig": {
  
  
  
  
  
  
  
  
"volumeType": "gp3",
  
  
  
  
  
  
  
  
"volumeSize": 100,
  
  
  
  
  
  
  
  
"iops": 3000,
  
  
  
  
  
  
  
  
"throughput": 125,
  
  
  
  
  
  
  
  
"deleteOnTermination": true
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
"maxNodes": 4,
  
  
  
  
  
  
  
"capacityType": "on-demand"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"lakesail": {
  
  
  
  
  
  
"executionMode": "standalone",
  
  
  
  
  
  
"maxRetries": 3,
  
  
  
  
  
  
"lakesailImageUri": "string",
  
  
  
  
  
  
"libraries": [
  
  
  
  
  
  
  
{
  
  
  
  
  
  
  
  
"pypi": {
  
  
  
  
  
  
  
  
  
"package": "string",
  
  
  
  
  
  
  
  
  
"repo": "string"
  
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
  
"requirements": {
  
  
  
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
  
  
  
"uri": "string"
  
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
  
"whl": "string"
  
  
  
  
  
  
  
}
  
  
  
  
  
  
],
  
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"timeoutSeconds": 3600,
  
  
  
  
"sourceConfig": {
  
  
  
  
  
"url": "https://github.com/acme/data-pipelines.git",
  
  
  
  
  
"provider": "string",
  
  
  
  
  
"reference": {
  
  
  
  
  
  
"type": "string",
  
  
  
  
  
  
"value": "main"
  
  
  
  
  
},
  
  
  
  
  
"snapshotCommit": "a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2"
  
  
  
  
},
  
  
  
  
"dependsOn": [
  
  
  
  
  
{
  
  
  
  
  
  
"jobKey": "A1B2C3D4E5"
  
  
  
  
  
}
  
  
  
  
],
  
  
  
  
"cronExpression": "0 2 * * *",
  
  
  
  
"cronTimezone": "America/New_York",
  
  
  
  
"concurrencyPolicy": "skip",
  
  
  
  
"maxConcurrentRuns": 1,
  
  
  
  
"missedSchedulePolicy": "latest",
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"nextRunAt": "string",
  
  
  
  
"lastScheduledAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
  
}
  
  
]
  
}
}

Playground

Authorization
Variables
Key
Value

Samples


List queries

GET
/workloads/queries

Returns a paginated list of all queries in the organization, including their SQL statements and catalog configuration.

Authorizations

BearerAuth
Type
HTTP (bearer)

Parameters

Query Parameters

limit

The maximum number of items to list.

Type
integer
Format
"int32"
Minimum
0
Maximum
100
Default
100

Responses

A list of queries is returned.

application/json
JSON
{
  
"total": 0,
  
"items": [
  
  
{
  
  
  
"queryId": "A1B2C3D4E5",
  
  
  
"teamIds": [
  
  
  
  
"A1B2C3D4E5"
  
  
  
],
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
"jobIds": [
  
  
  
  
"A1B2C3D4E5"
  
  
  
]
  
  
}
  
],
  
"included": {
  
  
"queries": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"memberId": "A1B2C3D4E5",
  
  
  
  
"name": "Daily Sales Summary",
  
  
  
  
"description": "Daily ETL pipeline for sales data",
  
  
  
  
"catalog_schema": "analytics",
  
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
  
"queryText": "SELECT region, SUM(amount) FROM sales GROUP BY region",
  
  
  
  
"tags": [
  
  
  
  
  
[
  
  
  
  
  
  
"etl",
  
  
  
  
  
  
"sales",
  
  
  
  
  
  
"daily"
  
  
  
  
  
]
  
  
  
  
],
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
  
}
  
  
],
  
  
"catalogs": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"name": "Production Cluster",
  
  
  
  
"provider": "glue",
  
  
  
  
"config": {
  
  
  
  
  
"initialDatabase": "default",
  
  
  
  
  
"initialDatabaseComment": "Default in-memory database for development"
  
  
  
  
},
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
  
}
  
  
],
  
  
"teams": [
  
  
  
{
  
  
  
  
"team": {
  
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
  
"organizationId": "A1B2C3D4E5",
  
  
  
  
  
"name": "string",
  
  
  
  
  
"createdAt": "string",
  
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
  
"updatedAt": "string",
  
  
  
  
  
"updatedBy": "A1B2C3D4E5",
  
  
  
  
  
"defaultRoleId": "A1B2C3D4E5"
  
  
  
  
},
  
  
  
  
"memberCount": 0
  
  
  
}
  
  
],
  
  
"jobs": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"memberId": "A1B2C3D4E5",
  
  
  
  
"jobKey": "daily-sales-etl",
  
  
  
  
"version": 3,
  
  
  
  
"currentVersion": 3,
  
  
  
  
"draftVersion": 4,
  
  
  
  
"basedOnVersion": 0,
  
  
  
  
"status": "active",
  
  
  
  
"clusterId": "A1B2C3D4E5",
  
  
  
  
"description": "Daily ETL pipeline for sales data",
  
  
  
  
"config": {
  
  
  
  
  
"sql": {
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"queryId": "Q1R2S3T4U5"
  
  
  
  
  
},
  
  
  
  
  
"python": {
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"packageName": "string",
  
  
  
  
  
  
"entryPoint": "string",
  
  
  
  
  
  
"parameters": [
  
  
  
  
  
  
  
[
  
  
  
  
  
  
  
  
"--name=job",
  
  
  
  
  
  
  
  
"one",
  
  
  
  
  
  
  
  
"two"
  
  
  
  
  
  
  
]
  
  
  
  
  
  
],
  
  
  
  
  
  
"namedParameters": {
  
  
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"compute": {
  
  
  
  
  
  
"driver": {
  
  
  
  
  
  
  
"instanceType": "c8g.2xlarge",
  
  
  
  
  
  
  
"ebsConfig": {
  
  
  
  
  
  
  
  
"volumeType": "gp3",
  
  
  
  
  
  
  
  
"volumeSize": 100,
  
  
  
  
  
  
  
  
"iops": 3000,
  
  
  
  
  
  
  
  
"throughput": 125,
  
  
  
  
  
  
  
  
"deleteOnTermination": true
  
  
  
  
  
  
  
}
  
  
  
  
  
  
},
  
  
  
  
  
  
"worker": {
  
  
  
  
  
  
  
"instanceType": "c8g.4xlarge",
  
  
  
  
  
  
  
"ebsConfig": {
  
  
  
  
  
  
  
  
"volumeType": "gp3",
  
  
  
  
  
  
  
  
"volumeSize": 100,
  
  
  
  
  
  
  
  
"iops": 3000,
  
  
  
  
  
  
  
  
"throughput": 125,
  
  
  
  
  
  
  
  
"deleteOnTermination": true
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
"maxNodes": 4,
  
  
  
  
  
  
  
"capacityType": "on-demand"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"lakesail": {
  
  
  
  
  
  
"executionMode": "standalone",
  
  
  
  
  
  
"maxRetries": 3,
  
  
  
  
  
  
"lakesailImageUri": "string",
  
  
  
  
  
  
"libraries": [
  
  
  
  
  
  
  
{
  
  
  
  
  
  
  
  
"pypi": {
  
  
  
  
  
  
  
  
  
"package": "string",
  
  
  
  
  
  
  
  
  
"repo": "string"
  
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
  
"requirements": {
  
  
  
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
  
  
  
"uri": "string"
  
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
  
"whl": "string"
  
  
  
  
  
  
  
}
  
  
  
  
  
  
],
  
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"timeoutSeconds": 3600,
  
  
  
  
"sourceConfig": {
  
  
  
  
  
"url": "https://github.com/acme/data-pipelines.git",
  
  
  
  
  
"provider": "string",
  
  
  
  
  
"reference": {
  
  
  
  
  
  
"type": "string",
  
  
  
  
  
  
"value": "main"
  
  
  
  
  
},
  
  
  
  
  
"snapshotCommit": "a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2"
  
  
  
  
},
  
  
  
  
"dependsOn": [
  
  
  
  
  
{
  
  
  
  
  
  
"jobKey": "A1B2C3D4E5"
  
  
  
  
  
}
  
  
  
  
],
  
  
  
  
"cronExpression": "0 2 * * *",
  
  
  
  
"cronTimezone": "America/New_York",
  
  
  
  
"concurrencyPolicy": "skip",
  
  
  
  
"maxConcurrentRuns": 1,
  
  
  
  
"missedSchedulePolicy": "latest",
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"nextRunAt": "string",
  
  
  
  
"lastScheduledAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
  
}
  
  
]
  
}
}

Playground

Authorization
Variables
Key
Value

Samples


Create a query

POST
/workloads/queries

Defines a new reusable SQL query within the organization. Queries can be referenced by one or more jobs and shared with teams for collaborative use.

Authorizations

BearerAuth
Type
HTTP (bearer)

Request Body

application/json
JSON
{
  
"name": "Daily Sales Summary",
  
"description": "Daily ETL pipeline for sales data",
  
"catalog_schema": "analytics",
  
"catalogId": "A1B2C3D4E5",
  
"queryText": "SELECT region, SUM(amount) FROM sales GROUP BY region",
  
"tags": [
  
  
[
  
  
  
"etl",
  
  
  
"sales",
  
  
  
"daily"
  
  
]
  
],
  
"teamIds": [
  
  
"A1B2C3D4E5"
  
]
}

Responses

The query was created successfully.

application/json
JSON
{
  
"id": "A1B2C3D4E5",
  
"memberId": "A1B2C3D4E5",
  
"name": "Daily Sales Summary",
  
"description": "Daily ETL pipeline for sales data",
  
"catalog_schema": "analytics",
  
"catalogId": "A1B2C3D4E5",
  
"queryText": "SELECT region, SUM(amount) FROM sales GROUP BY region",
  
"tags": [
  
  
[
  
  
  
"etl",
  
  
  
"sales",
  
  
  
"daily"
  
  
]
  
],
  
"createdAt": "string",
  
"createdBy": "A1B2C3D4E5",
  
"updatedAt": "string",
  
"updatedBy": "A1B2C3D4E5"
}

Playground

Authorization
Body

Samples


Describe a query

GET
/workloads/queries/{query}

Returns the full details of a query, including its SQL statement, catalog provider, schema, and associated teams.

Authorizations

BearerAuth
Type
HTTP (bearer)

Parameters

Path Parameters

query*

A query ID.

Required

Responses

Query details with normalized entity references.

application/json
JSON
{
  
"item": {
  
  
"queryId": "A1B2C3D4E5",
  
  
"teamIds": [
  
  
  
"A1B2C3D4E5"
  
  
],
  
  
"catalogId": "A1B2C3D4E5",
  
  
"jobIds": [
  
  
  
"A1B2C3D4E5"
  
  
]
  
},
  
"included": {
  
  
"queries": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"memberId": "A1B2C3D4E5",
  
  
  
  
"name": "Daily Sales Summary",
  
  
  
  
"description": "Daily ETL pipeline for sales data",
  
  
  
  
"catalog_schema": "analytics",
  
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
  
"queryText": "SELECT region, SUM(amount) FROM sales GROUP BY region",
  
  
  
  
"tags": [
  
  
  
  
  
[
  
  
  
  
  
  
"etl",
  
  
  
  
  
  
"sales",
  
  
  
  
  
  
"daily"
  
  
  
  
  
]
  
  
  
  
],
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
  
}
  
  
],
  
  
"catalogs": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"name": "Production Cluster",
  
  
  
  
"provider": "glue",
  
  
  
  
"config": {
  
  
  
  
  
"initialDatabase": "default",
  
  
  
  
  
"initialDatabaseComment": "Default in-memory database for development"
  
  
  
  
},
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
  
}
  
  
],
  
  
"teams": [
  
  
  
{
  
  
  
  
"team": {
  
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
  
"organizationId": "A1B2C3D4E5",
  
  
  
  
  
"name": "string",
  
  
  
  
  
"createdAt": "string",
  
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
  
"updatedAt": "string",
  
  
  
  
  
"updatedBy": "A1B2C3D4E5",
  
  
  
  
  
"defaultRoleId": "A1B2C3D4E5"
  
  
  
  
},
  
  
  
  
"memberCount": 0
  
  
  
}
  
  
],
  
  
"jobs": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"memberId": "A1B2C3D4E5",
  
  
  
  
"jobKey": "daily-sales-etl",
  
  
  
  
"version": 3,
  
  
  
  
"currentVersion": 3,
  
  
  
  
"draftVersion": 4,
  
  
  
  
"basedOnVersion": 0,
  
  
  
  
"status": "active",
  
  
  
  
"clusterId": "A1B2C3D4E5",
  
  
  
  
"description": "Daily ETL pipeline for sales data",
  
  
  
  
"config": {
  
  
  
  
  
"sql": {
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"queryId": "Q1R2S3T4U5"
  
  
  
  
  
},
  
  
  
  
  
"python": {
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"packageName": "string",
  
  
  
  
  
  
"entryPoint": "string",
  
  
  
  
  
  
"parameters": [
  
  
  
  
  
  
  
[
  
  
  
  
  
  
  
  
"--name=job",
  
  
  
  
  
  
  
  
"one",
  
  
  
  
  
  
  
  
"two"
  
  
  
  
  
  
  
]
  
  
  
  
  
  
],
  
  
  
  
  
  
"namedParameters": {
  
  
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"compute": {
  
  
  
  
  
  
"driver": {
  
  
  
  
  
  
  
"instanceType": "c8g.2xlarge",
  
  
  
  
  
  
  
"ebsConfig": {
  
  
  
  
  
  
  
  
"volumeType": "gp3",
  
  
  
  
  
  
  
  
"volumeSize": 100,
  
  
  
  
  
  
  
  
"iops": 3000,
  
  
  
  
  
  
  
  
"throughput": 125,
  
  
  
  
  
  
  
  
"deleteOnTermination": true
  
  
  
  
  
  
  
}
  
  
  
  
  
  
},
  
  
  
  
  
  
"worker": {
  
  
  
  
  
  
  
"instanceType": "c8g.4xlarge",
  
  
  
  
  
  
  
"ebsConfig": {
  
  
  
  
  
  
  
  
"volumeType": "gp3",
  
  
  
  
  
  
  
  
"volumeSize": 100,
  
  
  
  
  
  
  
  
"iops": 3000,
  
  
  
  
  
  
  
  
"throughput": 125,
  
  
  
  
  
  
  
  
"deleteOnTermination": true
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
"maxNodes": 4,
  
  
  
  
  
  
  
"capacityType": "on-demand"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"lakesail": {
  
  
  
  
  
  
"executionMode": "standalone",
  
  
  
  
  
  
"maxRetries": 3,
  
  
  
  
  
  
"lakesailImageUri": "string",
  
  
  
  
  
  
"libraries": [
  
  
  
  
  
  
  
{
  
  
  
  
  
  
  
  
"pypi": {
  
  
  
  
  
  
  
  
  
"package": "string",
  
  
  
  
  
  
  
  
  
"repo": "string"
  
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
  
"requirements": {
  
  
  
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
  
  
  
"uri": "string"
  
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
  
"whl": "string"
  
  
  
  
  
  
  
}
  
  
  
  
  
  
],
  
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"timeoutSeconds": 3600,
  
  
  
  
"sourceConfig": {
  
  
  
  
  
"url": "https://github.com/acme/data-pipelines.git",
  
  
  
  
  
"provider": "string",
  
  
  
  
  
"reference": {
  
  
  
  
  
  
"type": "string",
  
  
  
  
  
  
"value": "main"
  
  
  
  
  
},
  
  
  
  
  
"snapshotCommit": "a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2"
  
  
  
  
},
  
  
  
  
"dependsOn": [
  
  
  
  
  
{
  
  
  
  
  
  
"jobKey": "A1B2C3D4E5"
  
  
  
  
  
}
  
  
  
  
],
  
  
  
  
"cronExpression": "0 2 * * *",
  
  
  
  
"cronTimezone": "America/New_York",
  
  
  
  
"concurrencyPolicy": "skip",
  
  
  
  
"maxConcurrentRuns": 1,
  
  
  
  
"missedSchedulePolicy": "latest",
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"nextRunAt": "string",
  
  
  
  
"lastScheduledAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
  
}
  
  
]
  
}
}

Playground

Authorization
Variables
Key
Value

Samples


Delete a query

DELETE
/workloads/queries/{query}

Permanently removes a query and its team assignments. Queries that are still referenced by active jobs cannot be deleted.

Authorizations

BearerAuth
Type
HTTP (bearer)

Parameters

Path Parameters

query*

A query ID.

Required

Responses

The requested operation was done successfully.

Playground

Authorization
Variables
Key
Value

Samples


Update a query

PATCH
/workloads/queries/{query}

Modifies a query's properties such as its name, SQL statement, catalog provider, or schema configuration.

Authorizations

BearerAuth
Type
HTTP (bearer)

Parameters

Path Parameters

query*

A query ID.

Required

Request Body

application/json
JSON
{
  
"name": "Daily Sales Summary",
  
"description": "Daily ETL pipeline for sales data",
  
"catalog_schema": "analytics",
  
"catalogId": "A1B2C3D4E5",
  
"queryText": "SELECT region, SUM(amount) FROM sales GROUP BY region",
  
"tags": [
  
  
[
  
  
  
"etl",
  
  
  
"sales",
  
  
  
"daily"
  
  
]
  
]
}

Responses

The query was updated successfully.

application/json
JSON
{
  
"id": "A1B2C3D4E5",
  
"memberId": "A1B2C3D4E5",
  
"name": "Daily Sales Summary",
  
"description": "Daily ETL pipeline for sales data",
  
"catalog_schema": "analytics",
  
"catalogId": "A1B2C3D4E5",
  
"queryText": "SELECT region, SUM(amount) FROM sales GROUP BY region",
  
"tags": [
  
  
[
  
  
  
"etl",
  
  
  
"sales",
  
  
  
"daily"
  
  
]
  
],
  
"createdAt": "string",
  
"createdBy": "A1B2C3D4E5",
  
"updatedAt": "string",
  
"updatedBy": "A1B2C3D4E5"
}

Playground

Authorization
Variables
Key
Value
Body

Samples


List query teams

GET
/workloads/queries/{query}/teams

Returns the teams that have been granted access to the specified query.

Authorizations

BearerAuth
Type
HTTP (bearer)

Parameters

Query Parameters

limit

The maximum number of items to list.

Type
integer
Format
"int32"
Minimum
0
Maximum
100
Default
100

Responses

The list of teams associated with the query is returned.

application/json
JSON
{
  
"total": 0,
  
"items": [
  
  
{
  
  
  
"team": {
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"organizationId": "A1B2C3D4E5",
  
  
  
  
"name": "string",
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5",
  
  
  
  
"defaultRoleId": "A1B2C3D4E5"
  
  
  
},
  
  
  
"memberCount": 0
  
  
}
  
]
}

Playground

Authorization
Variables
Key
Value

Samples


Add teams to a query

POST
/workloads/queries/{query}/teams

Grants one or more teams access to a query. Team members inherit the ability to view and use the query based on their team role permissions.

Authorizations

BearerAuth
Type
HTTP (bearer)

Parameters

Path Parameters

query*

A query ID.

Required

Request Body

application/json
JSON
{
  
"teamIds": [
  
  
"A1B2C3D4E5"
  
]
}

Responses

The teams were added to the query successfully.

application/json
JSON
{
  
"items": [
  
  
{
  
  
  
"queryId": "A1B2C3D4E5",
  
  
  
"teamId": "A1B2C3D4E5",
  
  
  
"createdAt": "string",
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
"updatedAt": "string",
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
}
  
]
}

Playground

Authorization
Variables
Key
Value
Body

Samples


Remove a team from a query

DELETE
/workloads/queries/{query}/teams/{team}

Revokes a team's access to a query. Team members will no longer be able to view or use the query unless they have access through another team.

Authorizations

BearerAuth
Type
HTTP (bearer)

Parameters

Path Parameters

query*

A query ID.

Required
team*

The team ID.

Required

Responses

The team was removed from the query successfully.

Playground

Authorization
Variables
Key
Value

Samples


List team queries

GET
/workloads/teams/{team}/queries

Returns a paginated list of queries that the specified team has been granted access to.

Authorizations

BearerAuth
Type
HTTP (bearer)

Parameters

Query Parameters

limit

The maximum number of items to list.

Type
integer
Format
"int32"
Minimum
0
Maximum
100
Default
100

Responses

A list of queries accessible to the team is returned.

application/json
JSON
{
  
"total": 0,
  
"items": [
  
  
{
  
  
  
"queryId": "A1B2C3D4E5",
  
  
  
"teamIds": [
  
  
  
  
"A1B2C3D4E5"
  
  
  
],
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
"jobIds": [
  
  
  
  
"A1B2C3D4E5"
  
  
  
]
  
  
}
  
],
  
"included": {
  
  
"queries": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"memberId": "A1B2C3D4E5",
  
  
  
  
"name": "Daily Sales Summary",
  
  
  
  
"description": "Daily ETL pipeline for sales data",
  
  
  
  
"catalog_schema": "analytics",
  
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
  
"queryText": "SELECT region, SUM(amount) FROM sales GROUP BY region",
  
  
  
  
"tags": [
  
  
  
  
  
[
  
  
  
  
  
  
"etl",
  
  
  
  
  
  
"sales",
  
  
  
  
  
  
"daily"
  
  
  
  
  
]
  
  
  
  
],
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
  
}
  
  
],
  
  
"catalogs": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"name": "Production Cluster",
  
  
  
  
"provider": "glue",
  
  
  
  
"config": {
  
  
  
  
  
"initialDatabase": "default",
  
  
  
  
  
"initialDatabaseComment": "Default in-memory database for development"
  
  
  
  
},
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
  
}
  
  
],
  
  
"teams": [
  
  
  
{
  
  
  
  
"team": {
  
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
  
"organizationId": "A1B2C3D4E5",
  
  
  
  
  
"name": "string",
  
  
  
  
  
"createdAt": "string",
  
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
  
"updatedAt": "string",
  
  
  
  
  
"updatedBy": "A1B2C3D4E5",
  
  
  
  
  
"defaultRoleId": "A1B2C3D4E5"
  
  
  
  
},
  
  
  
  
"memberCount": 0
  
  
  
}
  
  
],
  
  
"jobs": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"memberId": "A1B2C3D4E5",
  
  
  
  
"jobKey": "daily-sales-etl",
  
  
  
  
"version": 3,
  
  
  
  
"currentVersion": 3,
  
  
  
  
"draftVersion": 4,
  
  
  
  
"basedOnVersion": 0,
  
  
  
  
"status": "active",
  
  
  
  
"clusterId": "A1B2C3D4E5",
  
  
  
  
"description": "Daily ETL pipeline for sales data",
  
  
  
  
"config": {
  
  
  
  
  
"sql": {
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"queryId": "Q1R2S3T4U5"
  
  
  
  
  
},
  
  
  
  
  
"python": {
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"packageName": "string",
  
  
  
  
  
  
"entryPoint": "string",
  
  
  
  
  
  
"parameters": [
  
  
  
  
  
  
  
[
  
  
  
  
  
  
  
  
"--name=job",
  
  
  
  
  
  
  
  
"one",
  
  
  
  
  
  
  
  
"two"
  
  
  
  
  
  
  
]
  
  
  
  
  
  
],
  
  
  
  
  
  
"namedParameters": {
  
  
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"compute": {
  
  
  
  
  
  
"driver": {
  
  
  
  
  
  
  
"instanceType": "c8g.2xlarge",
  
  
  
  
  
  
  
"ebsConfig": {
  
  
  
  
  
  
  
  
"volumeType": "gp3",
  
  
  
  
  
  
  
  
"volumeSize": 100,
  
  
  
  
  
  
  
  
"iops": 3000,
  
  
  
  
  
  
  
  
"throughput": 125,
  
  
  
  
  
  
  
  
"deleteOnTermination": true
  
  
  
  
  
  
  
}
  
  
  
  
  
  
},
  
  
  
  
  
  
"worker": {
  
  
  
  
  
  
  
"instanceType": "c8g.4xlarge",
  
  
  
  
  
  
  
"ebsConfig": {
  
  
  
  
  
  
  
  
"volumeType": "gp3",
  
  
  
  
  
  
  
  
"volumeSize": 100,
  
  
  
  
  
  
  
  
"iops": 3000,
  
  
  
  
  
  
  
  
"throughput": 125,
  
  
  
  
  
  
  
  
"deleteOnTermination": true
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
"maxNodes": 4,
  
  
  
  
  
  
  
"capacityType": "on-demand"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"lakesail": {
  
  
  
  
  
  
"executionMode": "standalone",
  
  
  
  
  
  
"maxRetries": 3,
  
  
  
  
  
  
"lakesailImageUri": "string",
  
  
  
  
  
  
"libraries": [
  
  
  
  
  
  
  
{
  
  
  
  
  
  
  
  
"pypi": {
  
  
  
  
  
  
  
  
  
"package": "string",
  
  
  
  
  
  
  
  
  
"repo": "string"
  
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
  
"requirements": {
  
  
  
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
  
  
  
"uri": "string"
  
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
  
"whl": "string"
  
  
  
  
  
  
  
}
  
  
  
  
  
  
],
  
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"timeoutSeconds": 3600,
  
  
  
  
"sourceConfig": {
  
  
  
  
  
"url": "https://github.com/acme/data-pipelines.git",
  
  
  
  
  
"provider": "string",
  
  
  
  
  
"reference": {
  
  
  
  
  
  
"type": "string",
  
  
  
  
  
  
"value": "main"
  
  
  
  
  
},
  
  
  
  
  
"snapshotCommit": "a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2"
  
  
  
  
},
  
  
  
  
"dependsOn": [
  
  
  
  
  
{
  
  
  
  
  
  
"jobKey": "A1B2C3D4E5"
  
  
  
  
  
}
  
  
  
  
],
  
  
  
  
"cronExpression": "0 2 * * *",
  
  
  
  
"cronTimezone": "America/New_York",
  
  
  
  
"concurrencyPolicy": "skip",
  
  
  
  
"maxConcurrentRuns": 1,
  
  
  
  
"missedSchedulePolicy": "latest",
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"nextRunAt": "string",
  
  
  
  
"lastScheduledAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
  
}
  
  
]
  
}
}

Playground

Authorization
Variables
Key
Value

Samples


List teams

GET
/org/teams

Returns all teams within the organization, including their member counts and descriptions.

Authorizations

BearerAuth
Type
HTTP (bearer)

Parameters

Query Parameters

page

The page number to retrieve (1-indexed). Used with limit to support offset-based pagination.

Type
integer
Format
"int32"
Minimum
1
Default
1
limit

The maximum number of items to list.

Type
integer
Format
"int32"
Minimum
0
Maximum
100
Default
100
sortBy

The field to sort by.

Type
string
Valid values
"name""email"
Default
"name"
sortDirection

The direction to sort (ascending or descending).

Type
string
Valid values
"asc""desc"
Default
"asc"

Responses

A list of teams is returned.

application/json
JSON
{
  
"total": 0,
  
"items": [
  
  
{
  
  
  
"team": {
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"organizationId": "A1B2C3D4E5",
  
  
  
  
"name": "string",
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5",
  
  
  
  
"defaultRoleId": "A1B2C3D4E5"
  
  
  
},
  
  
  
"memberCount": 0
  
  
}
  
]
}

Playground

Authorization
Variables
Key
Value

Samples


Create a team

POST
/org/teams

Creates a new team within the organization. Teams are used to group members and control access to clusters, jobs, and queries.

Authorizations

BearerAuth
Type
HTTP (bearer)

Request Body

application/json
JSON
{
  
"organizationId": "A1B2C3D4E5",
  
"name": "string",
  
"defaultRoleId": "A1B2C3D4E5"
}

Responses

Successfully created team.

application/json
JSON
{
  
"team": {
  
  
"id": "A1B2C3D4E5",
  
  
"organizationId": "A1B2C3D4E5",
  
  
"name": "string",
  
  
"createdAt": "string",
  
  
"createdBy": "A1B2C3D4E5",
  
  
"updatedAt": "string",
  
  
"updatedBy": "A1B2C3D4E5",
  
  
"defaultRoleId": "A1B2C3D4E5"
  
},
  
"memberCount": 0
}

Playground

Authorization
Body

Samples


Describe a team

GET
/org/teams/{team}

Returns the full details of a team, including its name, description, and member count.

Authorizations

BearerAuth
Type
HTTP (bearer)

Responses

The team response.

application/json
JSON
{
  
"team": {
  
  
"id": "A1B2C3D4E5",
  
  
"organizationId": "A1B2C3D4E5",
  
  
"name": "string",
  
  
"createdAt": "string",
  
  
"createdBy": "A1B2C3D4E5",
  
  
"updatedAt": "string",
  
  
"updatedBy": "A1B2C3D4E5",
  
  
"defaultRoleId": "A1B2C3D4E5"
  
},
  
"memberCount": 0
}

Playground

Authorization

Samples


Delete a team

DELETE
/org/teams/{team}

Permanently removes a team and all its member assignments. Resources previously shared with this team become inaccessible to its former members unless they have access through another team.

Authorizations

BearerAuth
Type
HTTP (bearer)

Responses

The requested operation was done successfully.

Playground

Authorization

Samples


Update a team

PATCH
/org/teams/{team}

Modifies a team's metadata such as its name or description.

Authorizations

BearerAuth
Type
HTTP (bearer)

Request Body

application/json
JSON
{
  
"name": "string",
  
"defaultRoleId": "A1B2C3D4E5"
}

Responses

Successfully updated team.

application/json
JSON
{
  
"team": {
  
  
"id": "A1B2C3D4E5",
  
  
"organizationId": "A1B2C3D4E5",
  
  
"name": "string",
  
  
"createdAt": "string",
  
  
"createdBy": "A1B2C3D4E5",
  
  
"updatedAt": "string",
  
  
"updatedBy": "A1B2C3D4E5",
  
  
"defaultRoleId": "A1B2C3D4E5"
  
},
  
"memberCount": 0
}

Playground

Authorization
Body

Samples


List team members

GET
/org/teams/{team}/members

Returns all members of a team, including their assigned team roles.

Authorizations

BearerAuth
Type
HTTP (bearer)

Parameters

Query Parameters

page

The page number to retrieve (1-indexed). Used with limit to support offset-based pagination.

Type
integer
Format
"int32"
Minimum
1
Default
1
limit

The maximum number of items to list.

Type
integer
Format
"int32"
Minimum
0
Maximum
100
Default
100
sortBy

The field to sort by.

Type
string
Valid values
"name""email"
Default
"name"
sortDirection

The direction to sort (ascending or descending).

Type
string
Valid values
"asc""desc"
Default
"asc"

Responses

A list of team members is returned.

application/json
JSON
{
  
"total": 0,
  
"items": [
  
  
{
  
  
  
"memberId": "A1B2C3D4E5",
  
  
  
"userId": "A1B2C3D4E5",
  
  
  
"roleIds": [
  
  
  
  
"string"
  
  
  
],
  
  
  
"teamRoleIds": [
  
  
  
  
"string"
  
  
  
],
  
  
  
"isAutomatic": true
  
  
}
  
],
  
"included": {
  
  
"members": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"organizationId": "A1B2C3D4E5",
  
  
  
  
"userId": "A1B2C3D4E5",
  
  
  
  
"name": "string",
  
  
  
  
"email": "alice@example.com",
  
  
  
  
"preferences": {
  
  
  
  
},
  
  
  
  
"invitedByMemberId": "A1B2C3D4E5",
  
  
  
  
"inviteExpiresAt": "string",
  
  
  
  
"inviteAcceptedAt": "string",
  
  
  
  
"lastLoginAt": "string",
  
  
  
  
"lastActiveAt": "string",
  
  
  
  
"isEnabled": true,
  
  
  
  
"accountType": "managed",
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
  
}
  
  
],
  
  
"users": [
  
  
  
{
  
  
  
  
"user": {
  
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
  
"email": "alice@example.com",
  
  
  
  
  
"givenName": "string",
  
  
  
  
  
"familyName": "string",
  
  
  
  
  
"displayName": "string",
  
  
  
  
  
"createdAt": "string",
  
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
  
"updatedAt": "string",
  
  
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
  
  
},
  
  
  
  
"emails": [
  
  
  
  
  
{
  
  
  
  
  
  
"userId": "A1B2C3D4E5",
  
  
  
  
  
  
"email": "alice@example.com",
  
  
  
  
  
  
"verifiedAt": "string",
  
  
  
  
  
  
"createdAt": "string",
  
  
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
  
  
"updatedAt": "string",
  
  
  
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
  
  
  
}
  
  
  
  
],
  
  
  
  
"auth": {
  
  
  
  
  
"has2FA": true,
  
  
  
  
  
"hasPassword": true,
  
  
  
  
  
"hasRecovery": true
  
  
  
  
}
  
  
  
}
  
  
],
  
  
"roles": [
  
  
  
{
  
  
  
  
"role": {
  
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
  
"organizationId": "A1B2C3D4E5",
  
  
  
  
  
"name": "string",
  
  
  
  
  
"description": "string",
  
  
  
  
  
"allTeams": true,
  
  
  
  
  
"breakGlass": true,
  
  
  
  
  
"createdAt": "string",
  
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
  
"updatedAt": "string",
  
  
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
  
  
},
  
  
  
  
"memberCount": 0,
  
  
  
  
"permissionCount": 0
  
  
  
}
  
  
],
  
  
"teamRoles": [
  
  
  
{
  
  
  
  
"role": {
  
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
  
"organizationId": "A1B2C3D4E5",
  
  
  
  
  
"name": "string",
  
  
  
  
  
"description": "string",
  
  
  
  
  
"createdAt": "string",
  
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
  
"updatedAt": "string",
  
  
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
  
  
},
  
  
  
  
"memberCount": 0,
  
  
  
  
"permissionCount": 0
  
  
  
}
  
  
]
  
}
}

Playground

Authorization
Variables
Key
Value

Samples


Add a team member

POST
/org/teams/{team}/members/{member}

Adds an existing organization member to a team, granting them access to the team's associated resources (clusters, jobs, queries). If roleIds is omitted or empty, the team's configured default role is used.

Authorizations

BearerAuth
Type
HTTP (bearer)

Request Body

application/json
JSON
{
  
"roleIds": [
  
  
[
  
  
  
"ROLE123"
  
  
]
  
]
}

Responses

The member was added to the team successfully.

application/json
JSON
{
  
"id": "A1B2C3D4E5",
  
"memberId": "A1B2C3D4E5",
  
"teamId": "A1B2C3D4E5",
  
"isAutomatic": true,
  
"createdAt": "string",
  
"createdBy": "A1B2C3D4E5",
  
"updatedAt": "string",
  
"updatedBy": "A1B2C3D4E5"
}

Playground

Authorization
Body

Samples


Remove a team member

DELETE
/org/teams/{team}/members/{member}

Removes a member from a team. The member loses access to resources shared with this team unless they have access through another team.

Authorizations

BearerAuth
Type
HTTP (bearer)

Responses

The member was removed from the team successfully.

Playground

Authorization

Samples


Update team member roles

PUT
/org/teams/{team}/members/{member}/roles

Syncs the team roles for a team member by replacing all existing roles with the provided list.
At least one role must be provided; to remove a member from the team entirely use the
remove-team-member endpoint instead.
The member must be a member of the team before roles can be assigned.

Authorizations

BearerAuth
Type
HTTP (bearer)

Request Body

application/json
JSON
{
  
"roleIds": [
  
  
[
  
  
  
"ROLE123",
  
  
  
"ROLE456"
  
  
]
  
]
}

Responses

The requested operation was done successfully.

Playground

Authorization
Body

Samples


roles


List organization roles

GET
/org/roles

Returns all roles available within the organization, including their names and descriptions. Organization roles define the permissions a member has at the organization level.

Authorizations

BearerAuth
Type
HTTP (bearer)

Parameters

Query Parameters

page

The page number to retrieve (1-indexed). Used with limit to support offset-based pagination.

Type
integer
Format
"int32"
Minimum
1
Default
1
limit

The maximum number of items to list.

Type
integer
Format
"int32"
Minimum
0
Maximum
100
Default
100
search

Search term to filter results. Searches across relevant text fields like names and descriptions.

Type
string
Default
""
sortBy

The field to sort by.

Type
string
Valid values
"name"
Default
"name"
sortDirection

The direction to sort (ascending or descending).

Type
string
Valid values
"asc""desc"
Default
"asc"

Responses

A list of organization roles is returned.

application/json
JSON
{
  
"total": 0,
  
"items": [
  
  
{
  
  
  
"role": {
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"organizationId": "A1B2C3D4E5",
  
  
  
  
"name": "string",
  
  
  
  
"description": "string",
  
  
  
  
"allTeams": true,
  
  
  
  
"breakGlass": true,
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
  
},
  
  
  
"memberCount": 0,
  
  
  
"permissionCount": 0
  
  
}
  
]
}

Playground

Authorization
Variables
Key
Value

Samples


Describe an organization role

GET
/org/roles/{role}

Retrieves detailed information about a specific organization role, including all assigned permissions and permission bundles.

Authorizations

BearerAuth
Type
HTTP (bearer)

Parameters

Path Parameters

role*

The organization role ID.

Type
string
Required
Example"A1B2C3D4E5"
Min Length
1
Max Length
20
Pattern
"^[A-Z0-9]{1,20}$"

Responses

Organization role details retrieved successfully

application/json
JSON
{
  
"item": {
  
  
"roleId": "A1B2C3D4E5",
  
  
"permissionIds": [
  
  
  
"string"
  
  
],
  
  
"bundleIds": [
  
  
  
"string"
  
  
],
  
  
"bundlePermissions": {
  
  
  
"additionalProperties": [
  
  
  
  
"string"
  
  
  
]
  
  
}
  
},
  
"included": {
  
  
"roles": [
  
  
  
{
  
  
  
  
"role": {
  
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
  
"organizationId": "A1B2C3D4E5",
  
  
  
  
  
"name": "string",
  
  
  
  
  
"description": "string",
  
  
  
  
  
"allTeams": true,
  
  
  
  
  
"breakGlass": true,
  
  
  
  
  
"createdAt": "string",
  
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
  
"updatedAt": "string",
  
  
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
  
  
},
  
  
  
  
"memberCount": 0,
  
  
  
  
"permissionCount": 0
  
  
  
}
  
  
],
  
  
"permissions": [
  
  
  
{
  
  
  
  
"relation": "CanManageUsers",
  
  
  
  
"description": "Manage user resources",
  
  
  
  
"validObjectTypes": [
  
  
  
  
  
[
  
  
  
  
  
  
"organization",
  
  
  
  
  
  
"team"
  
  
  
  
  
]
  
  
  
  
],
  
  
  
  
"systemOnly": false
  
  
  
}
  
  
],
  
  
"bundles": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"code": "string",
  
  
  
  
"organizationId": "A1B2C3D4E5",
  
  
  
  
"name": "string",
  
  
  
  
"description": "string",
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
  
}
  
  
]
  
}
}

Playground

Authorization
Variables
Key
Value

Samples


List team roles

GET
/org/team-roles

Returns all team roles within the organization that can be assigned to team members.

Authorizations

BearerAuth
Type
HTTP (bearer)

Parameters

Query Parameters

page

The page number to retrieve (1-indexed). Used with limit to support offset-based pagination.

Type
integer
Format
"int32"
Minimum
1
Default
1
limit

The maximum number of items to list.

Type
integer
Format
"int32"
Minimum
0
Maximum
100
Default
100
search

Search term to filter results. Searches across relevant text fields like names and descriptions.

Type
string
Default
""
sortBy

The field to sort by.

Type
string
Valid values
"name"
Default
"name"
sortDirection

The direction to sort (ascending or descending).

Type
string
Valid values
"asc""desc"
Default
"asc"

Responses

A list of team roles is returned.

application/json
JSON
{
  
"total": 0,
  
"items": [
  
  
{
  
  
  
"role": {
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"organizationId": "A1B2C3D4E5",
  
  
  
  
"name": "string",
  
  
  
  
"description": "string",
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
  
},
  
  
  
"memberCount": 0,
  
  
  
"permissionCount": 0
  
  
}
  
]
}

Playground

Authorization
Variables
Key
Value

Samples


Describe a team role

GET
/org/team-roles/{role}

Retrieves detailed information about a specific team role, including all assigned permissions and permission bundles.

Authorizations

BearerAuth
Type
HTTP (bearer)

Parameters

Path Parameters

role*

The ID of the team role.

Type
string
Required

Responses

Team role details retrieved successfully

application/json
JSON
{
  
"item": {
  
  
"roleId": "A1B2C3D4E5",
  
  
"permissionIds": [
  
  
  
"string"
  
  
],
  
  
"bundleIds": [
  
  
  
"string"
  
  
],
  
  
"bundlePermissions": {
  
  
  
"additionalProperties": [
  
  
  
  
"string"
  
  
  
]
  
  
}
  
},
  
"included": {
  
  
"roles": [
  
  
  
{
  
  
  
  
"role": {
  
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
  
"organizationId": "A1B2C3D4E5",
  
  
  
  
  
"name": "string",
  
  
  
  
  
"description": "string",
  
  
  
  
  
"createdAt": "string",
  
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
  
"updatedAt": "string",
  
  
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
  
  
},
  
  
  
  
"memberCount": 0,
  
  
  
  
"permissionCount": 0
  
  
  
}
  
  
],
  
  
"permissions": [
  
  
  
{
  
  
  
  
"relation": "CanManageUsers",
  
  
  
  
"description": "Manage user resources",
  
  
  
  
"validObjectTypes": [
  
  
  
  
  
[
  
  
  
  
  
  
"organization",
  
  
  
  
  
  
"team"
  
  
  
  
  
]
  
  
  
  
],
  
  
  
  
"systemOnly": false
  
  
  
}
  
  
],
  
  
"bundles": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"code": "string",
  
  
  
  
"organizationId": "A1B2C3D4E5",
  
  
  
  
"name": "string",
  
  
  
  
"description": "string",
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
  
}
  
  
]
  
}
}

Playground

Authorization
Variables
Key
Value

Samples


invitations

Invite users to join the organization.


Create an invitation

POST
/org/invites

Sends an email invitation to a user to join the organization. If the user does not yet have an account, they will be guided through signup.

Authorizations

BearerAuth
Type
HTTP (bearer)

Request Body

application/json
JSON
{
  
"organizationId": "A1B2C3D4E5",
  
"name": "string",
  
"email": "alice@example.com",
  
"organizationRoleId": "A1B2C3D4E5",
  
"accountType": "managed",
  
"teamAssignments": [
  
  
{
  
  
  
"teamId": "A1B2C3D4E5",
  
  
  
"roleId": "A1B2C3D4E5"
  
  
}
  
],
  
"sendEmail": true
}

Responses

The invite was created successfully.

application/json
JSON
{
  
"id": "A1B2C3D4E5",
  
"organizationId": "A1B2C3D4E5",
  
"name": "string",
  
"email": "alice@example.com",
  
"organizationRoleId": "A1B2C3D4E5",
  
"accountType": "managed",
  
"invitationToken": "string",
  
"invitedAt": "string",
  
"createdAt": "string",
  
"createdBy": "A1B2C3D4E5",
  
"expiresAt": "string",
  
"organization": {
  
  
"id": "A1B2C3D4E5",
  
  
"slug": "acme-corp",
  
  
"name": "string",
  
  
"settings": {
  
  
  
"auth": {
  
  
  
  
"requireEmailVerification": true,
  
  
  
  
"allowLoginWithPassword": true,
  
  
  
  
"allowLoginWithEmail": true,
  
  
  
  
"requireDpop": true,
  
  
  
  
"checkBreachedPasswords": true,
  
  
  
  
"acr": "string"
  
  
  
},
  
  
  
"sessions": {
  
  
  
  
"maxRunningWorkloads": 0,
  
  
  
  
"maxConcurrentClients": 0,
  
  
  
  
"maxConcurrentSessionsPerMember": 0,
  
  
  
  
"endpointFallback": {
  
  
  
  
  
"defaults": {
  
  
  
  
  
  
"idleTimeoutSeconds": 0,
  
  
  
  
  
  
"idleCloseDelaySeconds": 0,
  
  
  
  
  
  
"maxDurationSeconds": 0
  
  
  
  
  
},
  
  
  
  
  
"maximums": {
  
  
  
  
  
  
"idleTimeoutSeconds": 0,
  
  
  
  
  
  
"idleCloseDelaySeconds": 0,
  
  
  
  
  
  
"maxDurationSeconds": 0
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"endpointDefaults": {
  
  
  
  
  
"spark_connect": {
  
  
  
  
  
  
"defaults": {
  
  
  
  
  
  
  
"idleTimeoutSeconds": 0,
  
  
  
  
  
  
  
"idleCloseDelaySeconds": 0,
  
  
  
  
  
  
  
"maxDurationSeconds": 0
  
  
  
  
  
  
},
  
  
  
  
  
  
"maximums": {
  
  
  
  
  
  
  
"idleTimeoutSeconds": 0,
  
  
  
  
  
  
  
"idleCloseDelaySeconds": 0,
  
  
  
  
  
  
  
"maxDurationSeconds": 0
  
  
  
  
  
  
}
  
  
  
  
  
}
  
  
  
  
}
  
  
  
}
  
  
},
  
  
"defaultTeamId": "A1B2C3D4E5",
  
  
"defaultOrgRoleId": "A1B2C3D4E5"
  
},
  
"inviteUrl": "string"
}

Playground

Authorization
Body

Samples


Describe an invitation

GET
/org/invites/{token}

Returns the details of a pending invitation, including the invited email address, expiration time, and current status.

Responses

The invite details.

application/json
JSON
{
  
"id": "A1B2C3D4E5",
  
"organizationId": "A1B2C3D4E5",
  
"name": "string",
  
"email": "alice@example.com",
  
"organizationRoleId": "A1B2C3D4E5",
  
"accountType": "managed",
  
"invitationToken": "string",
  
"invitedAt": "string",
  
"createdAt": "string",
  
"createdBy": "A1B2C3D4E5",
  
"expiresAt": "string",
  
"organization": {
  
  
"id": "A1B2C3D4E5",
  
  
"slug": "acme-corp",
  
  
"name": "string",
  
  
"settings": {
  
  
  
"auth": {
  
  
  
  
"requireEmailVerification": true,
  
  
  
  
"allowLoginWithPassword": true,
  
  
  
  
"allowLoginWithEmail": true,
  
  
  
  
"requireDpop": true,
  
  
  
  
"checkBreachedPasswords": true,
  
  
  
  
"acr": "string"
  
  
  
},
  
  
  
"sessions": {
  
  
  
  
"maxRunningWorkloads": 0,
  
  
  
  
"maxConcurrentClients": 0,
  
  
  
  
"maxConcurrentSessionsPerMember": 0,
  
  
  
  
"endpointFallback": {
  
  
  
  
  
"defaults": {
  
  
  
  
  
  
"idleTimeoutSeconds": 0,
  
  
  
  
  
  
"idleCloseDelaySeconds": 0,
  
  
  
  
  
  
"maxDurationSeconds": 0
  
  
  
  
  
},
  
  
  
  
  
"maximums": {
  
  
  
  
  
  
"idleTimeoutSeconds": 0,
  
  
  
  
  
  
"idleCloseDelaySeconds": 0,
  
  
  
  
  
  
"maxDurationSeconds": 0
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"endpointDefaults": {
  
  
  
  
  
"spark_connect": {
  
  
  
  
  
  
"defaults": {
  
  
  
  
  
  
  
"idleTimeoutSeconds": 0,
  
  
  
  
  
  
  
"idleCloseDelaySeconds": 0,
  
  
  
  
  
  
  
"maxDurationSeconds": 0
  
  
  
  
  
  
},
  
  
  
  
  
  
"maximums": {
  
  
  
  
  
  
  
"idleTimeoutSeconds": 0,
  
  
  
  
  
  
  
"idleCloseDelaySeconds": 0,
  
  
  
  
  
  
  
"maxDurationSeconds": 0
  
  
  
  
  
  
}
  
  
  
  
  
}
  
  
  
  
}
  
  
  
}
  
  
},
  
  
"defaultTeamId": "A1B2C3D4E5",
  
  
"defaultOrgRoleId": "A1B2C3D4E5"
  
},
  
"inviteUrl": "string"
}

Playground

Samples


Accept an invitation

POST
/org/invites/{token}/accept

Accepts a pending invitation, adding the authenticated user as a member of the organization.

Request Body

application/json
JSON
{
  
"user": {
  
  
"email": "string",
  
  
"givenName": "string",
  
  
"familyName": "string",
  
  
"password": "string"
  
}
}

Responses

The invite was accepted successfully.

application/json
JSON
{
  
"organization": {
  
  
"id": "A1B2C3D4E5",
  
  
"slug": "acme-corp",
  
  
"name": "string",
  
  
"settings": {
  
  
  
"auth": {
  
  
  
  
"requireEmailVerification": true,
  
  
  
  
"allowLoginWithPassword": true,
  
  
  
  
"allowLoginWithEmail": true,
  
  
  
  
"requireDpop": true,
  
  
  
  
"checkBreachedPasswords": true,
  
  
  
  
"acr": "string"
  
  
  
},
  
  
  
"sessions": {
  
  
  
  
"maxRunningWorkloads": 0,
  
  
  
  
"maxConcurrentClients": 0,
  
  
  
  
"maxConcurrentSessionsPerMember": 0,
  
  
  
  
"endpointFallback": {
  
  
  
  
  
"defaults": {
  
  
  
  
  
  
"idleTimeoutSeconds": 0,
  
  
  
  
  
  
"idleCloseDelaySeconds": 0,
  
  
  
  
  
  
"maxDurationSeconds": 0
  
  
  
  
  
},
  
  
  
  
  
"maximums": {
  
  
  
  
  
  
"idleTimeoutSeconds": 0,
  
  
  
  
  
  
"idleCloseDelaySeconds": 0,
  
  
  
  
  
  
"maxDurationSeconds": 0
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"endpointDefaults": {
  
  
  
  
  
"spark_connect": {
  
  
  
  
  
  
"defaults": {
  
  
  
  
  
  
  
"idleTimeoutSeconds": 0,
  
  
  
  
  
  
  
"idleCloseDelaySeconds": 0,
  
  
  
  
  
  
  
"maxDurationSeconds": 0
  
  
  
  
  
  
},
  
  
  
  
  
  
"maximums": {
  
  
  
  
  
  
  
"idleTimeoutSeconds": 0,
  
  
  
  
  
  
  
"idleCloseDelaySeconds": 0,
  
  
  
  
  
  
  
"maxDurationSeconds": 0
  
  
  
  
  
  
}
  
  
  
  
  
}
  
  
  
  
}
  
  
  
}
  
  
},
  
  
"defaultTeamId": "A1B2C3D4E5",
  
  
"defaultOrgRoleId": "A1B2C3D4E5"
  
},
  
"user": {
  
  
"id": "A1B2C3D4E5",
  
  
"email": "alice@example.com",
  
  
"givenName": "string",
  
  
"familyName": "string",
  
  
"displayName": "string",
  
  
"createdAt": "string",
  
  
"createdBy": "A1B2C3D4E5",
  
  
"updatedAt": "string",
  
  
"updatedBy": "A1B2C3D4E5"
  
},
  
"otaCode": "string",
  
"nextStep": "string"
}

Playground

Body

Samples


members


Search members

GET
/org/members

Returns a filtered list of organization members matching the search criteria, including their profiles and role assignments.

Authorizations

BearerAuth
Type
HTTP (bearer)

Parameters

Query Parameters

page

The page number to retrieve (1-indexed). Used with limit to support offset-based pagination.

Type
integer
Format
"int32"
Minimum
1
Default
1
limit

The maximum number of items to list.

Type
integer
Format
"int32"
Minimum
0
Maximum
100
Default
100
sortBy

The field to sort by.

Type
string
Valid values
"name""email"
Default
"name"
sortDirection

The direction to sort (ascending or descending).

Type
string
Valid values
"asc""desc"
Default
"asc"
filter

Filter criteria for members

Type
object

Responses

A paginated list of organization users with details is returned.

application/json
JSON
{
  
"total": 0,
  
"items": [
  
  
{
  
  
  
"memberId": "A1B2C3D4E5",
  
  
  
"userId": "A1B2C3D4E5",
  
  
  
"roleIds": [
  
  
  
  
"string"
  
  
  
],
  
  
  
"teamRoleIds": {
  
  
  
  
"additionalProperties": [
  
  
  
  
  
"string"
  
  
  
  
]
  
  
  
}
  
  
}
  
],
  
"included": {
  
  
"members": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"organizationId": "A1B2C3D4E5",
  
  
  
  
"userId": "A1B2C3D4E5",
  
  
  
  
"name": "string",
  
  
  
  
"email": "alice@example.com",
  
  
  
  
"preferences": {
  
  
  
  
},
  
  
  
  
"invitedByMemberId": "A1B2C3D4E5",
  
  
  
  
"inviteExpiresAt": "string",
  
  
  
  
"inviteAcceptedAt": "string",
  
  
  
  
"lastLoginAt": "string",
  
  
  
  
"lastActiveAt": "string",
  
  
  
  
"isEnabled": true,
  
  
  
  
"accountType": "managed",
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
  
}
  
  
],
  
  
"users": [
  
  
  
{
  
  
  
  
"user": {
  
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
  
"email": "alice@example.com",
  
  
  
  
  
"givenName": "string",
  
  
  
  
  
"familyName": "string",
  
  
  
  
  
"displayName": "string",
  
  
  
  
  
"createdAt": "string",
  
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
  
"updatedAt": "string",
  
  
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
  
  
},
  
  
  
  
"emails": [
  
  
  
  
  
{
  
  
  
  
  
  
"userId": "A1B2C3D4E5",
  
  
  
  
  
  
"email": "alice@example.com",
  
  
  
  
  
  
"verifiedAt": "string",
  
  
  
  
  
  
"createdAt": "string",
  
  
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
  
  
"updatedAt": "string",
  
  
  
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
  
  
  
}
  
  
  
  
],
  
  
  
  
"auth": {
  
  
  
  
  
"has2FA": true,
  
  
  
  
  
"hasPassword": true,
  
  
  
  
  
"hasRecovery": true
  
  
  
  
}
  
  
  
}
  
  
],
  
  
"roles": [
  
  
  
{
  
  
  
  
"role": {
  
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
  
"organizationId": "A1B2C3D4E5",
  
  
  
  
  
"name": "string",
  
  
  
  
  
"description": "string",
  
  
  
  
  
"allTeams": true,
  
  
  
  
  
"breakGlass": true,
  
  
  
  
  
"createdAt": "string",
  
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
  
"updatedAt": "string",
  
  
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
  
  
},
  
  
  
  
"memberCount": 0,
  
  
  
  
"permissionCount": 0
  
  
  
}
  
  
],
  
  
"teams": [
  
  
  
{
  
  
  
  
"team": {
  
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
  
"organizationId": "A1B2C3D4E5",
  
  
  
  
  
"name": "string",
  
  
  
  
  
"createdAt": "string",
  
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
  
"updatedAt": "string",
  
  
  
  
  
"updatedBy": "A1B2C3D4E5",
  
  
  
  
  
"defaultRoleId": "A1B2C3D4E5"
  
  
  
  
},
  
  
  
  
"memberCount": 0
  
  
  
}
  
  
],
  
  
"teamRoles": [
  
  
  
{
  
  
  
  
"role": {
  
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
  
"organizationId": "A1B2C3D4E5",
  
  
  
  
  
"name": "string",
  
  
  
  
  
"description": "string",
  
  
  
  
  
"createdAt": "string",
  
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
  
"updatedAt": "string",
  
  
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
  
  
},
  
  
  
  
"memberCount": 0,
  
  
  
  
"permissionCount": 0
  
  
  
}
  
  
],
  
  
"_entityRelations": {
  
  
  
"memberId": "A1B2C3D4E5",
  
  
  
"organizationRoleId": "A1B2C3D4E5",
  
  
  
"createdAt": "string",
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
"updatedAt": "string",
  
  
  
"updatedBy": "A1B2C3D4E5",
  
  
  
"id": "A1B2C3D4E5",
  
  
  
"teamId": "A1B2C3D4E5",
  
  
  
"isAutomatic": true,
  
  
  
"memberTeamId": "A1B2C3D4E5",
  
  
  
"teamRoleId": "A1B2C3D4E5"
  
  
}
  
}
}

Playground

Authorization
Variables
Key
Value

Samples


Describe an organization member

GET
/org/members/{member}

Returns the full details of an organization member, including their profile, assigned roles, and team memberships.

Authorizations

BearerAuth
Type
HTTP (bearer)

Responses

Organization user details retrieved successfully

application/json
JSON
{
  
"item": {
  
  
"memberId": "A1B2C3D4E5",
  
  
"userId": "A1B2C3D4E5",
  
  
"roleIds": [
  
  
  
"string"
  
  
],
  
  
"teamRoleIds": {
  
  
  
"additionalProperties": [
  
  
  
  
"string"
  
  
  
]
  
  
}
  
},
  
"included": {
  
  
"members": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"organizationId": "A1B2C3D4E5",
  
  
  
  
"userId": "A1B2C3D4E5",
  
  
  
  
"name": "string",
  
  
  
  
"email": "alice@example.com",
  
  
  
  
"preferences": {
  
  
  
  
},
  
  
  
  
"invitedByMemberId": "A1B2C3D4E5",
  
  
  
  
"inviteExpiresAt": "string",
  
  
  
  
"inviteAcceptedAt": "string",
  
  
  
  
"lastLoginAt": "string",
  
  
  
  
"lastActiveAt": "string",
  
  
  
  
"isEnabled": true,
  
  
  
  
"accountType": "managed",
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
  
}
  
  
],
  
  
"users": [
  
  
  
{
  
  
  
  
"user": {
  
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
  
"email": "alice@example.com",
  
  
  
  
  
"givenName": "string",
  
  
  
  
  
"familyName": "string",
  
  
  
  
  
"displayName": "string",
  
  
  
  
  
"createdAt": "string",
  
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
  
"updatedAt": "string",
  
  
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
  
  
},
  
  
  
  
"emails": [
  
  
  
  
  
{
  
  
  
  
  
  
"userId": "A1B2C3D4E5",
  
  
  
  
  
  
"email": "alice@example.com",
  
  
  
  
  
  
"verifiedAt": "string",
  
  
  
  
  
  
"createdAt": "string",
  
  
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
  
  
"updatedAt": "string",
  
  
  
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
  
  
  
}
  
  
  
  
],
  
  
  
  
"auth": {
  
  
  
  
  
"has2FA": true,
  
  
  
  
  
"hasPassword": true,
  
  
  
  
  
"hasRecovery": true
  
  
  
  
}
  
  
  
}
  
  
],
  
  
"roles": [
  
  
  
{
  
  
  
  
"role": {
  
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
  
"organizationId": "A1B2C3D4E5",
  
  
  
  
  
"name": "string",
  
  
  
  
  
"description": "string",
  
  
  
  
  
"allTeams": true,
  
  
  
  
  
"breakGlass": true,
  
  
  
  
  
"createdAt": "string",
  
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
  
"updatedAt": "string",
  
  
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
  
  
},
  
  
  
  
"memberCount": 0,
  
  
  
  
"permissionCount": 0
  
  
  
}
  
  
],
  
  
"teams": [
  
  
  
{
  
  
  
  
"team": {
  
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
  
"organizationId": "A1B2C3D4E5",
  
  
  
  
  
"name": "string",
  
  
  
  
  
"createdAt": "string",
  
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
  
"updatedAt": "string",
  
  
  
  
  
"updatedBy": "A1B2C3D4E5",
  
  
  
  
  
"defaultRoleId": "A1B2C3D4E5"
  
  
  
  
},
  
  
  
  
"memberCount": 0
  
  
  
}
  
  
],
  
  
"teamRoles": [
  
  
  
{
  
  
  
  
"role": {
  
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
  
"organizationId": "A1B2C3D4E5",
  
  
  
  
  
"name": "string",
  
  
  
  
  
"description": "string",
  
  
  
  
  
"createdAt": "string",
  
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
  
"updatedAt": "string",
  
  
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
  
  
},
  
  
  
  
"memberCount": 0,
  
  
  
  
"permissionCount": 0
  
  
  
}
  
  
],
  
  
"_entityRelations": {
  
  
  
"memberId": "A1B2C3D4E5",
  
  
  
"organizationRoleId": "A1B2C3D4E5",
  
  
  
"createdAt": "string",
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
"updatedAt": "string",
  
  
  
"updatedBy": "A1B2C3D4E5",
  
  
  
"id": "A1B2C3D4E5",
  
  
  
"teamId": "A1B2C3D4E5",
  
  
  
"isAutomatic": true,
  
  
  
"memberTeamId": "A1B2C3D4E5",
  
  
  
"teamRoleId": "A1B2C3D4E5"
  
  
}
  
}
}

Playground

Authorization

Samples


Remove a member

DELETE
/org/members/{member}

Removes a user from the organization and revokes all their assigned roles and team memberships.
The last Owner of the organization cannot be removed.

Authorizations

BearerAuth
Type
HTTP (bearer)

Responses

The requested operation was done successfully.

Playground

Authorization

Samples


Update a member

PATCH
/org/members/{member}

Modifies an organization member's profile information such as their display name.

Authorizations

BearerAuth
Type
HTTP (bearer)

Request Body

application/json
JSON
{
  
"name": "string",
  
"email": "alice@example.com",
  
"preferences": {
  
},
  
"invitationToken": "string",
  
"isEnabled": true
}

Responses

The updated organization user.

application/json
JSON
{
  
"id": "A1B2C3D4E5",
  
"organizationId": "A1B2C3D4E5",
  
"userId": "A1B2C3D4E5",
  
"name": "string",
  
"email": "alice@example.com",
  
"preferences": {
  
},
  
"invitationToken": "string",
  
"invitedByMemberId": "A1B2C3D4E5",
  
"inviteExpiresAt": "string",
  
"inviteAcceptedAt": "string",
  
"lastLoginAt": "string",
  
"lastActiveAt": "string",
  
"isEnabled": true,
  
"accountType": "managed",
  
"createdAt": "string",
  
"createdBy": "A1B2C3D4E5",
  
"updatedAt": "string",
  
"updatedBy": "A1B2C3D4E5"
}

Playground

Authorization
Body

Samples


Update member roles

PUT
/org/members/{member}/roles

Replaces all organization roles for a member with the provided list.
At least one role must be provided; to remove a member entirely use the
remove-member endpoint instead.
The last Owner of the organization cannot have their Owner role removed.

Authorizations

BearerAuth
Type
HTTP (bearer)

Request Body

application/json
JSON
{
  
"roleIds": [
  
  
[
  
  
  
"ROLE123",
  
  
  
"ROLE456"
  
  
]
  
]
}

Responses

The requested operation was done successfully.

Playground

Authorization
Body

Samples


authorization-policies

Fine-grained access control policies for users, teams, and service accounts.


List organization policies

GET
/org/policies

Returns all access policies defined at the organization level, showing which principals have been granted specific permissions.

Authorizations

BearerAuth
Type
HTTP (bearer)

Parameters

Query Parameters

limit

The maximum number of items to list.

Type
integer
Format
"int32"
Minimum
0
Maximum
100
Default
100
marker

The pagination token returned from the previous list operation.

Type
string

Responses

A list of resource policies is returned.

application/json
JSON
{
  
"items": [
  
  
{
  
  
  
"principal": {
  
  
  
  
"type": "string",
  
  
  
  
"id": "A1B2C3D4E5"
  
  
  
},
  
  
  
"permissions": [
  
  
  
  
"string"
  
  
  
],
  
  
  
"createdAt": "string",
  
  
  
"updatedAt": "string"
  
  
}
  
],
  
"marker": "string"
}

Playground

Authorization
Variables
Key
Value

Samples


Describe organization policy

GET
/org/policies/{principal}

Returns the organization-level access policy for a specific principal, including all permissions that have been explicitly granted.

Authorizations

BearerAuth
Type
HTTP (bearer)

Responses

The information about the resource policy is returned.

application/json
JSON
{
  
"principal": {
  
  
"type": "string",
  
  
"id": "A1B2C3D4E5"
  
},
  
"permissions": [
  
  
"string"
  
],
  
"createdAt": "string",
  
"updatedAt": "string"
}

Playground

Authorization

Samples


Set organization policy

PUT
/org/policies/{principal}

Sets the organization-level access policy for a principal, replacing any existing policy. Use this to grant or modify permissions for users or teams at the organization scope.

Authorizations

BearerAuth
Type
HTTP (bearer)

Request Body

application/json
JSON
{
  
"permissions": [
  
  
"string"
  
]
}

Responses

The existing resource policy was modified successfully.

application/json
JSON
{
  
"principal": {
  
  
"type": "string",
  
  
"id": "A1B2C3D4E5"
  
},
  
"permissions": [
  
  
"string"
  
],
  
"createdAt": "string",
  
"updatedAt": "string"
}

Playground

Authorization
Body

Samples


Delete organization policy

DELETE
/org/policies/{principal}

This revokes all permissions that have been granted to the principal organization-wide,
but the principal may still have permissions at the resource level.

Authorizations

BearerAuth
Type
HTTP (bearer)

Responses

The requested operation was done successfully.

Playground

Authorization

Samples


List cloud accounts

GET
/infra/connections

Returns a paginated list of cloud accounts configured for the organization.

Authorizations

BearerAuth
Type
HTTP (bearer)

Parameters

Query Parameters

limit

The maximum number of items to list.

Type
integer
Format
"int32"
Minimum
0
Maximum
100
Default
100
marker

The pagination token returned from the previous list operation.

Type
string

Responses

List of External connections.

application/json
JSON
{
  
"items": [
  
  
{
  
  
  
"id": "A1B2C3D4E5",
  
  
  
"name": "Production Cluster",
  
  
  
"provider": "string",
  
  
  
"providerConfig": {
  
  
  
  
"accountId": "123456789012",
  
  
  
  
"region": "us-east-1",
  
  
  
  
"roleArn": "arn:aws:iam::123456789012:role/LakeSailConnection",
  
  
  
  
"externalIdSecretArn": "arn:aws:secretsmanager:us-east-1:123456789012:secret:lakesail-ext-id",
  
  
  
  
"stackArn": "arn:aws:cloudformation:us-east-1:123456789012:stack/lakesail-connection/abc123"
  
  
  
},
  
  
  
"status": "active",
  
  
  
"statusMessage": "string",
  
  
  
"lastUsedAt": "string",
  
  
  
"templateSyncedAt": "string",
  
  
  
"templateSyncMessage": "string",
  
  
  
"createdAt": "string",
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
"updatedAt": "string",
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
}
  
],
  
"included": {
  
  
"operations": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"organizationId": "A1B2C3D4E5",
  
  
  
  
"memberId": "A1B2C3D4E5",
  
  
  
  
"operation": "string",
  
  
  
  
"status": "string",
  
  
  
  
"result": {
  
  
  
  
  
"items": [
  
  
  
  
  
  
{
  
  
  
  
  
  
  
"provider": "string",
  
  
  
  
  
  
  
"instanceType": "string",
  
  
  
  
  
  
  
"vCpus": 0,
  
  
  
  
  
  
  
"memoryMiB": 0,
  
  
  
  
  
  
  
"architecture": "string",
  
  
  
  
  
  
  
"gpuCount": 0,
  
  
  
  
  
  
  
"instanceFamily": "string",
  
  
  
  
  
  
  
"maxPods": 0,
  
  
  
  
  
  
  
"group": "string",
  
  
  
  
  
  
  
"allocatableMilliCpu": 0
  
  
  
  
  
  
}
  
  
  
  
  
],
  
  
  
  
  
"metadata": {
  
  
  
  
  
  
"provider": "string",
  
  
  
  
  
  
"systemPodsPerNode": 0,
  
  
  
  
  
  
"systemPodsPerSystemNode": 0,
  
  
  
  
  
  
"systemPodsFixed": 0,
  
  
  
  
  
  
"systemPodsPerNodeMargin": 0,
  
  
  
  
  
  
"systemPodsFixedMargin": 0,
  
  
  
  
  
  
"systemMilliCPUPerNode": 0,
  
  
  
  
  
  
"systemMilliCPUFixed": 0,
  
  
  
  
  
  
"karpenterMilliCPUPerReplica": 0,
  
  
  
  
  
  
"karpenterReplicas": 0
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"error": {
  
  
  
  
  
"code": "string",
  
  
  
  
  
"message": "string",
  
  
  
  
  
"errorType": "string",
  
  
  
  
  
"details": {
  
  
  
  
  
  
"retryable": true,
  
  
  
  
  
  
"retryAfter": 0,
  
  
  
  
  
  
"fieldErrors": {
  
  
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
  
  
},
  
  
  
  
  
  
"requestId": "string",
  
  
  
  
  
  
"causedBy": "string"
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"progress": {
  
  
  
  
  
"stage": "string",
  
  
  
  
  
"message": "string",
  
  
  
  
  
"resources": [
  
  
  
  
  
  
{
  
  
  
  
  
  
  
"urn": "string",
  
  
  
  
  
  
  
"type": "string",
  
  
  
  
  
  
  
"name": "string",
  
  
  
  
  
  
  
"operation": "string",
  
  
  
  
  
  
  
"status": "string",
  
  
  
  
  
  
  
"duration": 0
  
  
  
  
  
  
}
  
  
  
  
  
],
  
  
  
  
  
"summary": {
  
  
  
  
  
  
"total": 0,
  
  
  
  
  
  
"pending": 0,
  
  
  
  
  
  
"running": 0,
  
  
  
  
  
  
"succeeded": 0,
  
  
  
  
  
  
"failed": 0,
  
  
  
  
  
  
"unchanged": 0
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"resourceType": "string",
  
  
  
  
"resourceId": "A1B2C3D4E5",
  
  
  
  
"createdAt": "string",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"startedAt": "string",
  
  
  
  
"completedAt": "string"
  
  
  
}
  
  
]
  
},
  
"marker": "string"
}

Playground

Authorization
Variables
Key
Value

Samples


Create a cloud account

POST
/infra/connections

Creates a new cloud account and returns the CloudFormation template information needed for deployment.

Authorizations

BearerAuth
Type
HTTP (bearer)

Request Body

application/json
JSON
{
  
"name": "Production Cluster",
  
"provider": "string",
  
"providerConfig": {
  
  
"accountId": "123456789012",
  
  
"region": "us-east-1",
  
  
"roleArn": "arn:aws:iam::123456789012:role/LakeSailConnection",
  
  
"externalIdSecretArn": "arn:aws:secretsmanager:us-east-1:123456789012:secret:lakesail-ext-id",
  
  
"stackArn": "arn:aws:cloudformation:us-east-1:123456789012:stack/lakesail-connection/abc123"
  
}
}

Responses

External connection created successfully.

application/json
JSON
{
  
"id": "A1B2C3D4E5",
  
"name": "Production Cluster",
  
"provider": "string",
  
"providerConfig": {
  
  
"accountId": "123456789012",
  
  
"region": "us-east-1",
  
  
"roleArn": "arn:aws:iam::123456789012:role/LakeSailConnection",
  
  
"externalIdSecretArn": "arn:aws:secretsmanager:us-east-1:123456789012:secret:lakesail-ext-id",
  
  
"stackArn": "arn:aws:cloudformation:us-east-1:123456789012:stack/lakesail-connection/abc123"
  
},
  
"status": "active",
  
"statusMessage": "string",
  
"lastUsedAt": "string",
  
"templateSyncedAt": "string",
  
"templateSyncMessage": "string",
  
"createdAt": "string",
  
"createdBy": "A1B2C3D4E5",
  
"updatedAt": "string",
  
"updatedBy": "A1B2C3D4E5"
}

Playground

Authorization
Body

Samples


Describe a cloud account

GET
/infra/connections/{connection}

Returns the details of a cloud account, including its provider, region, deployment status, and associated resources.

Authorizations

BearerAuth
Type
HTTP (bearer)

Responses

External connection details.

application/json
JSON
{
  
"id": "A1B2C3D4E5",
  
"name": "Production Cluster",
  
"provider": "string",
  
"providerConfig": {
  
  
"accountId": "123456789012",
  
  
"region": "us-east-1",
  
  
"roleArn": "arn:aws:iam::123456789012:role/LakeSailConnection",
  
  
"externalIdSecretArn": "arn:aws:secretsmanager:us-east-1:123456789012:secret:lakesail-ext-id",
  
  
"stackArn": "arn:aws:cloudformation:us-east-1:123456789012:stack/lakesail-connection/abc123"
  
},
  
"status": "active",
  
"statusMessage": "string",
  
"lastUsedAt": "string",
  
"templateSyncedAt": "string",
  
"templateSyncMessage": "string",
  
"createdAt": "string",
  
"createdBy": "A1B2C3D4E5",
  
"updatedAt": "string",
  
"updatedBy": "A1B2C3D4E5"
}

Playground

Authorization

Samples


Delete a cloud account

DELETE
/infra/connections/{connection}

Permanently removes a cloud account. All associated clusters, networks, and catalogs must be destroyed before the connection can be deleted.

Authorizations

BearerAuth
Type
HTTP (bearer)

Responses

The requested operation was done successfully.

Playground

Authorization

Samples


Update a cloud account

PATCH
/infra/connections/{connection}

Modifies a cloud account's metadata such as its name.

Authorizations

BearerAuth
Type
HTTP (bearer)

Request Body

application/json
JSON
{
  
"name": "Production Cluster",
  
"providerConfig": {
  
  
"accountId": "123456789012",
  
  
"region": "us-east-1",
  
  
"roleArn": "arn:aws:iam::123456789012:role/LakeSailConnection",
  
  
"externalIdSecretArn": "arn:aws:secretsmanager:us-east-1:123456789012:secret:lakesail-ext-id",
  
  
"stackArn": "arn:aws:cloudformation:us-east-1:123456789012:stack/lakesail-connection/abc123"
  
}
}

Responses

Updated external connection.

application/json
JSON
{
  
"id": "A1B2C3D4E5",
  
"name": "Production Cluster",
  
"provider": "string",
  
"providerConfig": {
  
  
"accountId": "123456789012",
  
  
"region": "us-east-1",
  
  
"roleArn": "arn:aws:iam::123456789012:role/LakeSailConnection",
  
  
"externalIdSecretArn": "arn:aws:secretsmanager:us-east-1:123456789012:secret:lakesail-ext-id",
  
  
"stackArn": "arn:aws:cloudformation:us-east-1:123456789012:stack/lakesail-connection/abc123"
  
},
  
"status": "active",
  
"statusMessage": "string",
  
"lastUsedAt": "string",
  
"templateSyncedAt": "string",
  
"templateSyncMessage": "string",
  
"createdAt": "string",
  
"createdBy": "A1B2C3D4E5",
  
"updatedAt": "string",
  
"updatedBy": "A1B2C3D4E5"
}

Playground

Authorization
Body

Samples


List available cloud instance types

GET
/infra/connections/{connection}/instance-types

Returns EC2 instance types available in the cloud provider account for the specified connection. Supports filtering by region, architecture, CPU, and memory.

Authorizations

BearerAuth
Type
HTTP (bearer)

Parameters

Query Parameters

region

AWS region to list instance types for. If not provided, defaults to the connection's configured region.

Type
string
limit

The maximum number of items to list.

Type
integer
Format
"int32"
Minimum
0
Maximum
100
Default
100
architecture

Filter by architecture (x86_64 or arm64)

Type
string
Valid values
"x86_64""arm64"
minVCpus

Minimum number of vCPUs

Type
integer
Minimum
1
minMemoryMiB

Minimum memory in MiB

Type
integer
Minimum
1024

Responses

List of available instance types for the cloud provider.

application/json
JSON
{
  
"items": [
  
  
{
  
  
  
"provider": "string",
  
  
  
"instanceType": "string",
  
  
  
"vCpus": 0,
  
  
  
"memoryMiB": 0,
  
  
  
"architecture": "string",
  
  
  
"gpuCount": 0,
  
  
  
"instanceFamily": "string",
  
  
  
"maxPods": 0,
  
  
  
"group": "string",
  
  
  
"allocatableMilliCpu": 0
  
  
}
  
],
  
"metadata": {
  
  
"provider": "string",
  
  
"systemPodsPerNode": 0,
  
  
"systemPodsPerSystemNode": 0,
  
  
"systemPodsFixed": 0,
  
  
"systemPodsPerNodeMargin": 0,
  
  
"systemPodsFixedMargin": 0,
  
  
"systemMilliCPUPerNode": 0,
  
  
"systemMilliCPUFixed": 0,
  
  
"karpenterMilliCPUPerReplica": 0,
  
  
"karpenterReplicas": 0
  
}
}

Playground

Authorization
Variables
Key
Value

Samples


List available cloud provider regions

GET
/infra/connections/{connection}/regions

Returns the cloud provider regions available for provisioning external clusters and networks.

Authorizations

BearerAuth
Type
HTTP (bearer)

Responses

List of available cloud provider regions

application/json
JSON
{
  
"items": [
  
  
{
  
  
  
"provider": "string",
  
  
  
"regionCode": "us-east-1",
  
  
  
"regionName": "US East 1 (N. Virginia)",
  
  
  
"group": "string"
  
  
}
  
]
}

Playground

Authorization

Samples


Sync cloud account IaC template

POST
/infra/connections/{connection}/sync-template

Updates the CloudFormation stack for this connection with the latest template. The update runs asynchronously. Only available for active connections with a deployed stack.

Authorizations

BearerAuth
Type
HTTP (bearer)

Responses

Template sync operation initiated.

application/json
JSON
{
  
"id": "A1B2C3D4E5",
  
"organizationId": "A1B2C3D4E5",
  
"memberId": "A1B2C3D4E5",
  
"operation": "string",
  
"status": "string",
  
"result": {
  
  
"items": [
  
  
  
{
  
  
  
  
"provider": "string",
  
  
  
  
"instanceType": "string",
  
  
  
  
"vCpus": 0,
  
  
  
  
"memoryMiB": 0,
  
  
  
  
"architecture": "string",
  
  
  
  
"gpuCount": 0,
  
  
  
  
"instanceFamily": "string",
  
  
  
  
"maxPods": 0,
  
  
  
  
"group": "string",
  
  
  
  
"allocatableMilliCpu": 0
  
  
  
}
  
  
],
  
  
"metadata": {
  
  
  
"provider": "string",
  
  
  
"systemPodsPerNode": 0,
  
  
  
"systemPodsPerSystemNode": 0,
  
  
  
"systemPodsFixed": 0,
  
  
  
"systemPodsPerNodeMargin": 0,
  
  
  
"systemPodsFixedMargin": 0,
  
  
  
"systemMilliCPUPerNode": 0,
  
  
  
"systemMilliCPUFixed": 0,
  
  
  
"karpenterMilliCPUPerReplica": 0,
  
  
  
"karpenterReplicas": 0
  
  
}
  
},
  
"error": {
  
  
"code": "string",
  
  
"message": "string",
  
  
"errorType": "string",
  
  
"details": {
  
  
  
"retryable": true,
  
  
  
"retryAfter": 0,
  
  
  
"fieldErrors": {
  
  
  
  
"additionalProperties": "string"
  
  
  
},
  
  
  
"requestId": "string",
  
  
  
"causedBy": "string"
  
  
}
  
},
  
"progress": {
  
  
"stage": "string",
  
  
"message": "string",
  
  
"resources": [
  
  
  
{
  
  
  
  
"urn": "string",
  
  
  
  
"type": "string",
  
  
  
  
"name": "string",
  
  
  
  
"operation": "string",
  
  
  
  
"status": "string",
  
  
  
  
"duration": 0
  
  
  
}
  
  
],
  
  
"summary": {
  
  
  
"total": 0,
  
  
  
"pending": 0,
  
  
  
"running": 0,
  
  
  
"succeeded": 0,
  
  
  
"failed": 0,
  
  
  
"unchanged": 0
  
  
}
  
},
  
"resourceType": "string",
  
"resourceId": "A1B2C3D4E5",
  
"createdAt": "string",
  
"updatedAt": "string",
  
"startedAt": "string",
  
"completedAt": "string"
}

Playground

Authorization

Samples


Get connection template

GET
/infra/connections/{connection}/template

Returns the CloudFormation template URL and parameters needed to deploy the connection stack in the cloud account.

Authorizations

BearerAuth
Type
HTTP (bearer)

Responses

CloudFormation template information.

application/json
JSON
{
  
"templateUrl": "string",
  
"quickLaunchUrl": "string",
  
"downloadUrl": "string",
  
"parameters": {
  
  
"ConnectionId": "string",
  
  
"LakeSailPrincipal": "string",
  
  
"ExternalId": "string"
  
}
}

Playground

Authorization

Samples


Download connection template

GET
/infra/connections/{connection}/template/download

Downloads the CloudFormation template file with parameter defaults pre-filled, ready for upload to the AWS CloudFormation console. Use Get connection template for the URL and raw parameters instead.

Authorizations

BearerAuth
Type
HTTP (bearer)

Responses

CloudFormation template with defaults injected.

text/yaml

Playground

Authorization

Samples


Verify a cloud account

POST
/infra/connections/{connection}/verify

Validates that the cloud account is correctly configured. Call this after deploying the CloudFormation template.

Authorizations

BearerAuth
Type
HTTP (bearer)

Request Body

application/json
JSON
{
  
"roleArn": "string"
}

Responses

External connection verification result.

application/json
JSON
{
  
"id": "A1B2C3D4E5",
  
"name": "Production Cluster",
  
"provider": "string",
  
"providerConfig": {
  
  
"accountId": "123456789012",
  
  
"region": "us-east-1",
  
  
"roleArn": "arn:aws:iam::123456789012:role/LakeSailConnection",
  
  
"externalIdSecretArn": "arn:aws:secretsmanager:us-east-1:123456789012:secret:lakesail-ext-id",
  
  
"stackArn": "arn:aws:cloudformation:us-east-1:123456789012:stack/lakesail-connection/abc123"
  
},
  
"status": "active",
  
"statusMessage": "string",
  
"lastUsedAt": "string",
  
"templateSyncedAt": "string",
  
"templateSyncMessage": "string",
  
"createdAt": "string",
  
"createdBy": "A1B2C3D4E5",
  
"updatedAt": "string",
  
"updatedBy": "A1B2C3D4E5"
}

Playground

Authorization
Body

Samples


List available cloud provider networks

GET
/infra/connections/{connection}/provider-networks

Returns VPCs and subnets available in the cloud provider account for the specified connection and region.

Authorizations

BearerAuth
Type
HTTP (bearer)

Parameters

Query Parameters

region

AWS region to list networks for. If not provided, defaults to the connection's configured region.

Type
string

Responses

List of available networks

application/json
JSON
{
  
"items": [
  
  
{
  
  
  
"provider": "string",
  
  
  
"vpcId": "vpc-0123456789abcdef0",
  
  
  
"cidr": "10.0.0.0/16",
  
  
  
"name": "Production VPC",
  
  
  
"azCount": 3,
  
  
  
"state": "available",
  
  
  
"tags": {
  
  
  
  
"additionalProperties": "string"
  
  
  
}
  
  
}
  
]
}

Playground

Authorization
Variables
Key
Value

Samples


List cloud networks

GET
/infra/networks

Returns all managed networks created through the API across all connections, supporting marker-based pagination.

Authorizations

BearerAuth
Type
HTTP (bearer)

Parameters

Query Parameters

limit

The maximum number of items to list.

Type
integer
Format
"int32"
Minimum
0
Maximum
100
Default
100
marker

The pagination token returned from the previous list operation.

Type
string

Responses

List of managed external networks

application/json
JSON
{
  
"items": [
  
  
{
  
  
  
"id": "A1B2C3D4E5",
  
  
  
"connectionId": "A1B2C3D4E5",
  
  
  
"name": "Production Cluster",
  
  
  
"region": "us-east-1",
  
  
  
"providerNetworkId": "vpc-0a1b2c3d4e5f6g7h8",
  
  
  
"config": {
  
  
  
  
"cidr": "10.0.0.0/16"
  
  
  
},
  
  
  
"iacState": {
  
  
  
  
"projectName": "lakesail-byoc-cluster",
  
  
  
  
"stackName": "lakesail-prod-cluster-abc123"
  
  
  
},
  
  
  
"iacOutputs": {
  
  
  
  
"additionalProperties": "string"
  
  
  
},
  
  
  
"status": "string",
  
  
  
"statusMessage": "string",
  
  
  
"createdAt": "string",
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
"updatedAt": "string",
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
}
  
],
  
"included": {
  
  
"networks": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"connectionId": "A1B2C3D4E5",
  
  
  
  
"name": "Production Cluster",
  
  
  
  
"region": "us-east-1",
  
  
  
  
"providerNetworkId": "vpc-0a1b2c3d4e5f6g7h8",
  
  
  
  
"config": {
  
  
  
  
  
"cidr": "10.0.0.0/16"
  
  
  
  
},
  
  
  
  
"iacState": {
  
  
  
  
  
"projectName": "lakesail-byoc-cluster",
  
  
  
  
  
"stackName": "lakesail-prod-cluster-abc123"
  
  
  
  
},
  
  
  
  
"iacOutputs": {
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
},
  
  
  
  
"status": "string",
  
  
  
  
"statusMessage": "string",
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
  
}
  
  
],
  
  
"connections": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"name": "Production Cluster",
  
  
  
  
"provider": "string",
  
  
  
  
"providerConfig": {
  
  
  
  
  
"accountId": "123456789012",
  
  
  
  
  
"region": "us-east-1",
  
  
  
  
  
"roleArn": "arn:aws:iam::123456789012:role/LakeSailConnection",
  
  
  
  
  
"externalIdSecretArn": "arn:aws:secretsmanager:us-east-1:123456789012:secret:lakesail-ext-id",
  
  
  
  
  
"stackArn": "arn:aws:cloudformation:us-east-1:123456789012:stack/lakesail-connection/abc123"
  
  
  
  
},
  
  
  
  
"status": "active",
  
  
  
  
"statusMessage": "string",
  
  
  
  
"lastUsedAt": "string",
  
  
  
  
"templateSyncedAt": "string",
  
  
  
  
"templateSyncMessage": "string",
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
  
}
  
  
],
  
  
"clusters": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"connectionId": "A1B2C3D4E5",
  
  
  
  
"networkId": "A1B2C3D4E5",
  
  
  
  
"clusterId": "A1B2C3D4E5",
  
  
  
  
"name": "Production Cluster",
  
  
  
  
"region": "us-east-1",
  
  
  
  
"status": "string",
  
  
  
  
"statusMessage": "string",
  
  
  
  
"config": {
  
  
  
  
  
"kubernetesVersion": "1.35",
  
  
  
  
  
"systemNodeGroup": {
  
  
  
  
  
  
"name": "system",
  
  
  
  
  
  
"instanceTypes": [
  
  
  
  
  
  
  
[
  
  
  
  
  
  
  
  
"m7g.large",
  
  
  
  
  
  
  
  
"m7g.xlarge"
  
  
  
  
  
  
  
]
  
  
  
  
  
  
],
  
  
  
  
  
  
"minSize": 1,
  
  
  
  
  
  
"maxSize": 3,
  
  
  
  
  
  
"desiredSize": 2,
  
  
  
  
  
  
"diskSizeGb": 100
  
  
  
  
  
},
  
  
  
  
  
"publicAccessCidrs": [
  
  
  
  
  
  
"string"
  
  
  
  
  
]
  
  
  
  
},
  
  
  
  
"providerMetadata": {
  
  
  
  
  
"clusterName": "string",
  
  
  
  
  
"clusterArn": "string"
  
  
  
  
},
  
  
  
  
"iacState": {
  
  
  
  
  
"projectName": "lakesail-byoc-cluster",
  
  
  
  
  
"stackName": "lakesail-prod-cluster-abc123"
  
  
  
  
},
  
  
  
  
"iacOutputs": {
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
},
  
  
  
  
"jobRunnerRoleArn": "arn:aws:iam::123456789012:role/lakesail-conn1234-clus5678-jr",
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5",
  
  
  
  
"lastHealthStatus": "string",
  
  
  
  
"lastHealthMessage": "string",
  
  
  
  
"lastHealthCheckAt": "string"
  
  
  
}
  
  
],
  
  
"operations": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"organizationId": "A1B2C3D4E5",
  
  
  
  
"memberId": "A1B2C3D4E5",
  
  
  
  
"operation": "string",
  
  
  
  
"status": "string",
  
  
  
  
"result": {
  
  
  
  
  
"items": [
  
  
  
  
  
  
{
  
  
  
  
  
  
  
"provider": "string",
  
  
  
  
  
  
  
"instanceType": "string",
  
  
  
  
  
  
  
"vCpus": 0,
  
  
  
  
  
  
  
"memoryMiB": 0,
  
  
  
  
  
  
  
"architecture": "string",
  
  
  
  
  
  
  
"gpuCount": 0,
  
  
  
  
  
  
  
"instanceFamily": "string",
  
  
  
  
  
  
  
"maxPods": 0,
  
  
  
  
  
  
  
"group": "string",
  
  
  
  
  
  
  
"allocatableMilliCpu": 0
  
  
  
  
  
  
}
  
  
  
  
  
],
  
  
  
  
  
"metadata": {
  
  
  
  
  
  
"provider": "string",
  
  
  
  
  
  
"systemPodsPerNode": 0,
  
  
  
  
  
  
"systemPodsPerSystemNode": 0,
  
  
  
  
  
  
"systemPodsFixed": 0,
  
  
  
  
  
  
"systemPodsPerNodeMargin": 0,
  
  
  
  
  
  
"systemPodsFixedMargin": 0,
  
  
  
  
  
  
"systemMilliCPUPerNode": 0,
  
  
  
  
  
  
"systemMilliCPUFixed": 0,
  
  
  
  
  
  
"karpenterMilliCPUPerReplica": 0,
  
  
  
  
  
  
"karpenterReplicas": 0
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"error": {
  
  
  
  
  
"code": "string",
  
  
  
  
  
"message": "string",
  
  
  
  
  
"errorType": "string",
  
  
  
  
  
"details": {
  
  
  
  
  
  
"retryable": true,
  
  
  
  
  
  
"retryAfter": 0,
  
  
  
  
  
  
"fieldErrors": {
  
  
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
  
  
},
  
  
  
  
  
  
"requestId": "string",
  
  
  
  
  
  
"causedBy": "string"
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"progress": {
  
  
  
  
  
"stage": "string",
  
  
  
  
  
"message": "string",
  
  
  
  
  
"resources": [
  
  
  
  
  
  
{
  
  
  
  
  
  
  
"urn": "string",
  
  
  
  
  
  
  
"type": "string",
  
  
  
  
  
  
  
"name": "string",
  
  
  
  
  
  
  
"operation": "string",
  
  
  
  
  
  
  
"status": "string",
  
  
  
  
  
  
  
"duration": 0
  
  
  
  
  
  
}
  
  
  
  
  
],
  
  
  
  
  
"summary": {
  
  
  
  
  
  
"total": 0,
  
  
  
  
  
  
"pending": 0,
  
  
  
  
  
  
"running": 0,
  
  
  
  
  
  
"succeeded": 0,
  
  
  
  
  
  
"failed": 0,
  
  
  
  
  
  
"unchanged": 0
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"resourceType": "string",
  
  
  
  
"resourceId": "A1B2C3D4E5",
  
  
  
  
"createdAt": "string",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"startedAt": "string",
  
  
  
  
"completedAt": "string"
  
  
  
}
  
  
]
  
},
  
"marker": "string"
}

Playground

Authorization
Variables
Key
Value

Samples


Delete a cloud network record

DELETE
/infra/networks/{network}

Permanently deletes a cloud network record. The network's infrastructure must
first be destroyed before the record can be deleted. A network in a failed state
may still have active infrastructure and should be destroyed first.

Authorizations

BearerAuth
Type
HTTP (bearer)

Responses

The requested operation was done successfully.

Playground

Authorization

Samples


List cloud networks by connection

GET
/infra/connections/{connection}/networks

Returns the managed networks provisioned through the specified connection.

Authorizations

BearerAuth
Type
HTTP (bearer)

Parameters

Query Parameters

limit

The maximum number of items to list.

Type
integer
Format
"int32"
Minimum
0
Maximum
100
Default
100
marker

The pagination token returned from the previous list operation.

Type
string

Responses

List of managed external networks

application/json
JSON
{
  
"items": [
  
  
{
  
  
  
"id": "A1B2C3D4E5",
  
  
  
"connectionId": "A1B2C3D4E5",
  
  
  
"name": "Production Cluster",
  
  
  
"region": "us-east-1",
  
  
  
"providerNetworkId": "vpc-0a1b2c3d4e5f6g7h8",
  
  
  
"config": {
  
  
  
  
"cidr": "10.0.0.0/16"
  
  
  
},
  
  
  
"iacState": {
  
  
  
  
"projectName": "lakesail-byoc-cluster",
  
  
  
  
"stackName": "lakesail-prod-cluster-abc123"
  
  
  
},
  
  
  
"iacOutputs": {
  
  
  
  
"additionalProperties": "string"
  
  
  
},
  
  
  
"status": "string",
  
  
  
"statusMessage": "string",
  
  
  
"createdAt": "string",
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
"updatedAt": "string",
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
}
  
],
  
"included": {
  
  
"networks": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"connectionId": "A1B2C3D4E5",
  
  
  
  
"name": "Production Cluster",
  
  
  
  
"region": "us-east-1",
  
  
  
  
"providerNetworkId": "vpc-0a1b2c3d4e5f6g7h8",
  
  
  
  
"config": {
  
  
  
  
  
"cidr": "10.0.0.0/16"
  
  
  
  
},
  
  
  
  
"iacState": {
  
  
  
  
  
"projectName": "lakesail-byoc-cluster",
  
  
  
  
  
"stackName": "lakesail-prod-cluster-abc123"
  
  
  
  
},
  
  
  
  
"iacOutputs": {
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
},
  
  
  
  
"status": "string",
  
  
  
  
"statusMessage": "string",
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
  
}
  
  
],
  
  
"connections": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"name": "Production Cluster",
  
  
  
  
"provider": "string",
  
  
  
  
"providerConfig": {
  
  
  
  
  
"accountId": "123456789012",
  
  
  
  
  
"region": "us-east-1",
  
  
  
  
  
"roleArn": "arn:aws:iam::123456789012:role/LakeSailConnection",
  
  
  
  
  
"externalIdSecretArn": "arn:aws:secretsmanager:us-east-1:123456789012:secret:lakesail-ext-id",
  
  
  
  
  
"stackArn": "arn:aws:cloudformation:us-east-1:123456789012:stack/lakesail-connection/abc123"
  
  
  
  
},
  
  
  
  
"status": "active",
  
  
  
  
"statusMessage": "string",
  
  
  
  
"lastUsedAt": "string",
  
  
  
  
"templateSyncedAt": "string",
  
  
  
  
"templateSyncMessage": "string",
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
  
}
  
  
],
  
  
"clusters": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"connectionId": "A1B2C3D4E5",
  
  
  
  
"networkId": "A1B2C3D4E5",
  
  
  
  
"clusterId": "A1B2C3D4E5",
  
  
  
  
"name": "Production Cluster",
  
  
  
  
"region": "us-east-1",
  
  
  
  
"status": "string",
  
  
  
  
"statusMessage": "string",
  
  
  
  
"config": {
  
  
  
  
  
"kubernetesVersion": "1.35",
  
  
  
  
  
"systemNodeGroup": {
  
  
  
  
  
  
"name": "system",
  
  
  
  
  
  
"instanceTypes": [
  
  
  
  
  
  
  
[
  
  
  
  
  
  
  
  
"m7g.large",
  
  
  
  
  
  
  
  
"m7g.xlarge"
  
  
  
  
  
  
  
]
  
  
  
  
  
  
],
  
  
  
  
  
  
"minSize": 1,
  
  
  
  
  
  
"maxSize": 3,
  
  
  
  
  
  
"desiredSize": 2,
  
  
  
  
  
  
"diskSizeGb": 100
  
  
  
  
  
},
  
  
  
  
  
"publicAccessCidrs": [
  
  
  
  
  
  
"string"
  
  
  
  
  
]
  
  
  
  
},
  
  
  
  
"providerMetadata": {
  
  
  
  
  
"clusterName": "string",
  
  
  
  
  
"clusterArn": "string"
  
  
  
  
},
  
  
  
  
"iacState": {
  
  
  
  
  
"projectName": "lakesail-byoc-cluster",
  
  
  
  
  
"stackName": "lakesail-prod-cluster-abc123"
  
  
  
  
},
  
  
  
  
"iacOutputs": {
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
},
  
  
  
  
"jobRunnerRoleArn": "arn:aws:iam::123456789012:role/lakesail-conn1234-clus5678-jr",
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5",
  
  
  
  
"lastHealthStatus": "string",
  
  
  
  
"lastHealthMessage": "string",
  
  
  
  
"lastHealthCheckAt": "string"
  
  
  
}
  
  
],
  
  
"operations": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"organizationId": "A1B2C3D4E5",
  
  
  
  
"memberId": "A1B2C3D4E5",
  
  
  
  
"operation": "string",
  
  
  
  
"status": "string",
  
  
  
  
"result": {
  
  
  
  
  
"items": [
  
  
  
  
  
  
{
  
  
  
  
  
  
  
"provider": "string",
  
  
  
  
  
  
  
"instanceType": "string",
  
  
  
  
  
  
  
"vCpus": 0,
  
  
  
  
  
  
  
"memoryMiB": 0,
  
  
  
  
  
  
  
"architecture": "string",
  
  
  
  
  
  
  
"gpuCount": 0,
  
  
  
  
  
  
  
"instanceFamily": "string",
  
  
  
  
  
  
  
"maxPods": 0,
  
  
  
  
  
  
  
"group": "string",
  
  
  
  
  
  
  
"allocatableMilliCpu": 0
  
  
  
  
  
  
}
  
  
  
  
  
],
  
  
  
  
  
"metadata": {
  
  
  
  
  
  
"provider": "string",
  
  
  
  
  
  
"systemPodsPerNode": 0,
  
  
  
  
  
  
"systemPodsPerSystemNode": 0,
  
  
  
  
  
  
"systemPodsFixed": 0,
  
  
  
  
  
  
"systemPodsPerNodeMargin": 0,
  
  
  
  
  
  
"systemPodsFixedMargin": 0,
  
  
  
  
  
  
"systemMilliCPUPerNode": 0,
  
  
  
  
  
  
"systemMilliCPUFixed": 0,
  
  
  
  
  
  
"karpenterMilliCPUPerReplica": 0,
  
  
  
  
  
  
"karpenterReplicas": 0
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"error": {
  
  
  
  
  
"code": "string",
  
  
  
  
  
"message": "string",
  
  
  
  
  
"errorType": "string",
  
  
  
  
  
"details": {
  
  
  
  
  
  
"retryable": true,
  
  
  
  
  
  
"retryAfter": 0,
  
  
  
  
  
  
"fieldErrors": {
  
  
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
  
  
},
  
  
  
  
  
  
"requestId": "string",
  
  
  
  
  
  
"causedBy": "string"
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"progress": {
  
  
  
  
  
"stage": "string",
  
  
  
  
  
"message": "string",
  
  
  
  
  
"resources": [
  
  
  
  
  
  
{
  
  
  
  
  
  
  
"urn": "string",
  
  
  
  
  
  
  
"type": "string",
  
  
  
  
  
  
  
"name": "string",
  
  
  
  
  
  
  
"operation": "string",
  
  
  
  
  
  
  
"status": "string",
  
  
  
  
  
  
  
"duration": 0
  
  
  
  
  
  
}
  
  
  
  
  
],
  
  
  
  
  
"summary": {
  
  
  
  
  
  
"total": 0,
  
  
  
  
  
  
"pending": 0,
  
  
  
  
  
  
"running": 0,
  
  
  
  
  
  
"succeeded": 0,
  
  
  
  
  
  
"failed": 0,
  
  
  
  
  
  
"unchanged": 0
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"resourceType": "string",
  
  
  
  
"resourceId": "A1B2C3D4E5",
  
  
  
  
"createdAt": "string",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"startedAt": "string",
  
  
  
  
"completedAt": "string"
  
  
  
}
  
  
]
  
},
  
"marker": "string"
}

Playground

Authorization
Variables
Key
Value

Samples


Create a cloud network

POST
/infra/connections/{connection}/networks

Creates a new network in the customer's cloud account via the specified connection. Requires an active connection.

Authorizations

BearerAuth
Type
HTTP (bearer)

Request Body

application/json
JSON
{
  
"connectionId": "A1B2C3D4E5",
  
"name": "Production Cluster",
  
"region": "us-east-1",
  
"config": {
  
  
"cidr": "10.0.0.0/16"
  
}
}

Responses

Managed external network created successfully.

application/json
JSON
{
  
"id": "A1B2C3D4E5",
  
"connectionId": "A1B2C3D4E5",
  
"name": "Production Cluster",
  
"region": "us-east-1",
  
"providerNetworkId": "vpc-0a1b2c3d4e5f6g7h8",
  
"config": {
  
  
"cidr": "10.0.0.0/16"
  
},
  
"iacState": {
  
  
"projectName": "lakesail-byoc-cluster",
  
  
"stackName": "lakesail-prod-cluster-abc123"
  
},
  
"iacOutputs": {
  
  
"additionalProperties": "string"
  
},
  
"status": "string",
  
"statusMessage": "string",
  
"createdAt": "string",
  
"createdBy": "A1B2C3D4E5",
  
"updatedAt": "string",
  
"updatedBy": "A1B2C3D4E5"
}

Playground

Authorization
Body

Samples


Describe a cloud network

GET
/infra/connections/{connection}/networks/{network}

Returns the details of a cloud network, including its VPC configuration, subnets, and provisioning status.

Authorizations

BearerAuth
Type
HTTP (bearer)

Responses

Managed external network details with connection information.

application/json
JSON
{
  
"item": {
  
  
"id": "A1B2C3D4E5",
  
  
"connectionId": "A1B2C3D4E5"
  
},
  
"included": {
  
  
"networks": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"connectionId": "A1B2C3D4E5",
  
  
  
  
"name": "Production Cluster",
  
  
  
  
"region": "us-east-1",
  
  
  
  
"providerNetworkId": "vpc-0a1b2c3d4e5f6g7h8",
  
  
  
  
"config": {
  
  
  
  
  
"cidr": "10.0.0.0/16"
  
  
  
  
},
  
  
  
  
"iacState": {
  
  
  
  
  
"projectName": "lakesail-byoc-cluster",
  
  
  
  
  
"stackName": "lakesail-prod-cluster-abc123"
  
  
  
  
},
  
  
  
  
"iacOutputs": {
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
},
  
  
  
  
"status": "string",
  
  
  
  
"statusMessage": "string",
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
  
}
  
  
],
  
  
"connections": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"name": "Production Cluster",
  
  
  
  
"provider": "string",
  
  
  
  
"providerConfig": {
  
  
  
  
  
"accountId": "123456789012",
  
  
  
  
  
"region": "us-east-1",
  
  
  
  
  
"roleArn": "arn:aws:iam::123456789012:role/LakeSailConnection",
  
  
  
  
  
"externalIdSecretArn": "arn:aws:secretsmanager:us-east-1:123456789012:secret:lakesail-ext-id",
  
  
  
  
  
"stackArn": "arn:aws:cloudformation:us-east-1:123456789012:stack/lakesail-connection/abc123"
  
  
  
  
},
  
  
  
  
"status": "active",
  
  
  
  
"statusMessage": "string",
  
  
  
  
"lastUsedAt": "string",
  
  
  
  
"templateSyncedAt": "string",
  
  
  
  
"templateSyncMessage": "string",
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
  
}
  
  
],
  
  
"clusters": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"connectionId": "A1B2C3D4E5",
  
  
  
  
"networkId": "A1B2C3D4E5",
  
  
  
  
"clusterId": "A1B2C3D4E5",
  
  
  
  
"name": "Production Cluster",
  
  
  
  
"region": "us-east-1",
  
  
  
  
"status": "string",
  
  
  
  
"statusMessage": "string",
  
  
  
  
"config": {
  
  
  
  
  
"kubernetesVersion": "1.35",
  
  
  
  
  
"systemNodeGroup": {
  
  
  
  
  
  
"name": "system",
  
  
  
  
  
  
"instanceTypes": [
  
  
  
  
  
  
  
[
  
  
  
  
  
  
  
  
"m7g.large",
  
  
  
  
  
  
  
  
"m7g.xlarge"
  
  
  
  
  
  
  
]
  
  
  
  
  
  
],
  
  
  
  
  
  
"minSize": 1,
  
  
  
  
  
  
"maxSize": 3,
  
  
  
  
  
  
"desiredSize": 2,
  
  
  
  
  
  
"diskSizeGb": 100
  
  
  
  
  
},
  
  
  
  
  
"publicAccessCidrs": [
  
  
  
  
  
  
"string"
  
  
  
  
  
]
  
  
  
  
},
  
  
  
  
"providerMetadata": {
  
  
  
  
  
"clusterName": "string",
  
  
  
  
  
"clusterArn": "string"
  
  
  
  
},
  
  
  
  
"iacState": {
  
  
  
  
  
"projectName": "lakesail-byoc-cluster",
  
  
  
  
  
"stackName": "lakesail-prod-cluster-abc123"
  
  
  
  
},
  
  
  
  
"iacOutputs": {
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
},
  
  
  
  
"jobRunnerRoleArn": "arn:aws:iam::123456789012:role/lakesail-conn1234-clus5678-jr",
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5",
  
  
  
  
"lastHealthStatus": "string",
  
  
  
  
"lastHealthMessage": "string",
  
  
  
  
"lastHealthCheckAt": "string"
  
  
  
}
  
  
],
  
  
"operations": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"organizationId": "A1B2C3D4E5",
  
  
  
  
"memberId": "A1B2C3D4E5",
  
  
  
  
"operation": "string",
  
  
  
  
"status": "string",
  
  
  
  
"result": {
  
  
  
  
  
"items": [
  
  
  
  
  
  
{
  
  
  
  
  
  
  
"provider": "string",
  
  
  
  
  
  
  
"instanceType": "string",
  
  
  
  
  
  
  
"vCpus": 0,
  
  
  
  
  
  
  
"memoryMiB": 0,
  
  
  
  
  
  
  
"architecture": "string",
  
  
  
  
  
  
  
"gpuCount": 0,
  
  
  
  
  
  
  
"instanceFamily": "string",
  
  
  
  
  
  
  
"maxPods": 0,
  
  
  
  
  
  
  
"group": "string",
  
  
  
  
  
  
  
"allocatableMilliCpu": 0
  
  
  
  
  
  
}
  
  
  
  
  
],
  
  
  
  
  
"metadata": {
  
  
  
  
  
  
"provider": "string",
  
  
  
  
  
  
"systemPodsPerNode": 0,
  
  
  
  
  
  
"systemPodsPerSystemNode": 0,
  
  
  
  
  
  
"systemPodsFixed": 0,
  
  
  
  
  
  
"systemPodsPerNodeMargin": 0,
  
  
  
  
  
  
"systemPodsFixedMargin": 0,
  
  
  
  
  
  
"systemMilliCPUPerNode": 0,
  
  
  
  
  
  
"systemMilliCPUFixed": 0,
  
  
  
  
  
  
"karpenterMilliCPUPerReplica": 0,
  
  
  
  
  
  
"karpenterReplicas": 0
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"error": {
  
  
  
  
  
"code": "string",
  
  
  
  
  
"message": "string",
  
  
  
  
  
"errorType": "string",
  
  
  
  
  
"details": {
  
  
  
  
  
  
"retryable": true,
  
  
  
  
  
  
"retryAfter": 0,
  
  
  
  
  
  
"fieldErrors": {
  
  
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
  
  
},
  
  
  
  
  
  
"requestId": "string",
  
  
  
  
  
  
"causedBy": "string"
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"progress": {
  
  
  
  
  
"stage": "string",
  
  
  
  
  
"message": "string",
  
  
  
  
  
"resources": [
  
  
  
  
  
  
{
  
  
  
  
  
  
  
"urn": "string",
  
  
  
  
  
  
  
"type": "string",
  
  
  
  
  
  
  
"name": "string",
  
  
  
  
  
  
  
"operation": "string",
  
  
  
  
  
  
  
"status": "string",
  
  
  
  
  
  
  
"duration": 0
  
  
  
  
  
  
}
  
  
  
  
  
],
  
  
  
  
  
"summary": {
  
  
  
  
  
  
"total": 0,
  
  
  
  
  
  
"pending": 0,
  
  
  
  
  
  
"running": 0,
  
  
  
  
  
  
"succeeded": 0,
  
  
  
  
  
  
"failed": 0,
  
  
  
  
  
  
"unchanged": 0
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"resourceType": "string",
  
  
  
  
"resourceId": "A1B2C3D4E5",
  
  
  
  
"createdAt": "string",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"startedAt": "string",
  
  
  
  
"completedAt": "string"
  
  
  
}
  
  
]
  
}
}

Playground

Authorization

Samples


Destroy a cloud network

DELETE
/infra/connections/{connection}/networks/{network}

Initiates destruction of an active cloud network and all associated networking resources. All clusters and catalogs in the network must be destroyed first. The network record is retained for reference. Returns an operation ID for tracking progress.

Authorizations

BearerAuth
Type
HTTP (bearer)

Responses

Destruction operation initiated.

application/json
JSON
{
  
"id": "A1B2C3D4E5",
  
"organizationId": "A1B2C3D4E5",
  
"memberId": "A1B2C3D4E5",
  
"operation": "string",
  
"status": "string",
  
"result": {
  
  
"items": [
  
  
  
{
  
  
  
  
"provider": "string",
  
  
  
  
"instanceType": "string",
  
  
  
  
"vCpus": 0,
  
  
  
  
"memoryMiB": 0,
  
  
  
  
"architecture": "string",
  
  
  
  
"gpuCount": 0,
  
  
  
  
"instanceFamily": "string",
  
  
  
  
"maxPods": 0,
  
  
  
  
"group": "string",
  
  
  
  
"allocatableMilliCpu": 0
  
  
  
}
  
  
],
  
  
"metadata": {
  
  
  
"provider": "string",
  
  
  
"systemPodsPerNode": 0,
  
  
  
"systemPodsPerSystemNode": 0,
  
  
  
"systemPodsFixed": 0,
  
  
  
"systemPodsPerNodeMargin": 0,
  
  
  
"systemPodsFixedMargin": 0,
  
  
  
"systemMilliCPUPerNode": 0,
  
  
  
"systemMilliCPUFixed": 0,
  
  
  
"karpenterMilliCPUPerReplica": 0,
  
  
  
"karpenterReplicas": 0
  
  
}
  
},
  
"error": {
  
  
"code": "string",
  
  
"message": "string",
  
  
"errorType": "string",
  
  
"details": {
  
  
  
"retryable": true,
  
  
  
"retryAfter": 0,
  
  
  
"fieldErrors": {
  
  
  
  
"additionalProperties": "string"
  
  
  
},
  
  
  
"requestId": "string",
  
  
  
"causedBy": "string"
  
  
}
  
},
  
"progress": {
  
  
"stage": "string",
  
  
"message": "string",
  
  
"resources": [
  
  
  
{
  
  
  
  
"urn": "string",
  
  
  
  
"type": "string",
  
  
  
  
"name": "string",
  
  
  
  
"operation": "string",
  
  
  
  
"status": "string",
  
  
  
  
"duration": 0
  
  
  
}
  
  
],
  
  
"summary": {
  
  
  
"total": 0,
  
  
  
"pending": 0,
  
  
  
"running": 0,
  
  
  
"succeeded": 0,
  
  
  
"failed": 0,
  
  
  
"unchanged": 0
  
  
}
  
},
  
"resourceType": "string",
  
"resourceId": "A1B2C3D4E5",
  
"createdAt": "string",
  
"updatedAt": "string",
  
"startedAt": "string",
  
"completedAt": "string"
}

Playground

Authorization

Samples


Update a cloud network

PATCH
/infra/connections/{connection}/networks/{network}

Modifies a cloud network's metadata such as its name.

Authorizations

BearerAuth
Type
HTTP (bearer)

Request Body

application/json
JSON
{
  
"name": "Production Cluster",
  
"config": {
  
  
"cidr": "10.0.0.0/16"
  
}
}

Responses

Updated external network.

application/json
JSON
{
  
"id": "A1B2C3D4E5",
  
"connectionId": "A1B2C3D4E5",
  
"name": "Production Cluster",
  
"region": "us-east-1",
  
"providerNetworkId": "vpc-0a1b2c3d4e5f6g7h8",
  
"config": {
  
  
"cidr": "10.0.0.0/16"
  
},
  
"iacState": {
  
  
"projectName": "lakesail-byoc-cluster",
  
  
"stackName": "lakesail-prod-cluster-abc123"
  
},
  
"iacOutputs": {
  
  
"additionalProperties": "string"
  
},
  
"status": "string",
  
"statusMessage": "string",
  
"createdAt": "string",
  
"createdBy": "A1B2C3D4E5",
  
"updatedAt": "string",
  
"updatedBy": "A1B2C3D4E5"
}

Playground

Authorization
Body

Samples


Provision a cloud network

POST
/infra/connections/{connection}/networks/{network}/provision

Triggers provisioning of a cloud network in pending status. Returns an operation ID for progress tracking.

Authorizations

BearerAuth
Type
HTTP (bearer)

Responses

Provisioning operation initiated.

application/json
JSON
{
  
"id": "A1B2C3D4E5",
  
"organizationId": "A1B2C3D4E5",
  
"memberId": "A1B2C3D4E5",
  
"operation": "string",
  
"status": "string",
  
"result": {
  
  
"items": [
  
  
  
{
  
  
  
  
"provider": "string",
  
  
  
  
"instanceType": "string",
  
  
  
  
"vCpus": 0,
  
  
  
  
"memoryMiB": 0,
  
  
  
  
"architecture": "string",
  
  
  
  
"gpuCount": 0,
  
  
  
  
"instanceFamily": "string",
  
  
  
  
"maxPods": 0,
  
  
  
  
"group": "string",
  
  
  
  
"allocatableMilliCpu": 0
  
  
  
}
  
  
],
  
  
"metadata": {
  
  
  
"provider": "string",
  
  
  
"systemPodsPerNode": 0,
  
  
  
"systemPodsPerSystemNode": 0,
  
  
  
"systemPodsFixed": 0,
  
  
  
"systemPodsPerNodeMargin": 0,
  
  
  
"systemPodsFixedMargin": 0,
  
  
  
"systemMilliCPUPerNode": 0,
  
  
  
"systemMilliCPUFixed": 0,
  
  
  
"karpenterMilliCPUPerReplica": 0,
  
  
  
"karpenterReplicas": 0
  
  
}
  
},
  
"error": {
  
  
"code": "string",
  
  
"message": "string",
  
  
"errorType": "string",
  
  
"details": {
  
  
  
"retryable": true,
  
  
  
"retryAfter": 0,
  
  
  
"fieldErrors": {
  
  
  
  
"additionalProperties": "string"
  
  
  
},
  
  
  
"requestId": "string",
  
  
  
"causedBy": "string"
  
  
}
  
},
  
"progress": {
  
  
"stage": "string",
  
  
"message": "string",
  
  
"resources": [
  
  
  
{
  
  
  
  
"urn": "string",
  
  
  
  
"type": "string",
  
  
  
  
"name": "string",
  
  
  
  
"operation": "string",
  
  
  
  
"status": "string",
  
  
  
  
"duration": 0
  
  
  
}
  
  
],
  
  
"summary": {
  
  
  
"total": 0,
  
  
  
"pending": 0,
  
  
  
"running": 0,
  
  
  
"succeeded": 0,
  
  
  
"failed": 0,
  
  
  
"unchanged": 0
  
  
}
  
},
  
"resourceType": "string",
  
"resourceId": "A1B2C3D4E5",
  
"createdAt": "string",
  
"updatedAt": "string",
  
"startedAt": "string",
  
"completedAt": "string"
}

Playground

Authorization

Samples


List sessions

GET
/workloads/sessions

Returns sessions visible to the caller. Members see their own sessions; team admins see all sessions in their team; org admins see all sessions.

Authorizations

BearerAuth
Type
HTTP (bearer)

Parameters

Query Parameters

teamId

Filter sessions by team.

Type
string
Example"A1B2C3D4E5"
Min Length
1
Max Length
20
Pattern
"^[A-Z0-9]{1,20}$"
endpoint_type

Filter sessions by endpoint type.

Type
string
Valid values
"spark_connect"
status

Filter sessions by status.

Type
string
Valid values
"pending""active""idle""closed""failed"
limit

The maximum number of items to list.

Type
integer
Format
"int32"
Minimum
0
Maximum
100
Default
100
marker

The pagination token returned from the previous list operation.

Type
string

Responses

The list of sessions.

application/json
JSON
{
  
"total": 0,
  
"items": [
  
  
{
  
  
  
"id": "A1B2C3D4E5",
  
  
  
"computeInstanceId": "A1B2C3D4E5",
  
  
  
"memberId": "A1B2C3D4E5",
  
  
  
"serviceAccountId": "A1B2C3D4E5"
  
  
}
  
],
  
"included": {
  
  
"sessions": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"endpointType": "string",
  
  
  
  
"name": "Production Cluster",
  
  
  
  
"status": "string",
  
  
  
  
"workloadId": "A1B2C3D4E5",
  
  
  
  
"teamId": "A1B2C3D4E5",
  
  
  
  
"memberId": "A1B2C3D4E5",
  
  
  
  
"serviceAccountId": "A1B2C3D4E5",
  
  
  
  
"notebookId": "A1B2C3D4E5",
  
  
  
  
"terminationReason": "string",
  
  
  
  
"statusMessage": "string",
  
  
  
  
"connectionInfo": {
  
  
  
  
  
"proxyAuthUrl": "string",
  
  
  
  
  
"grpcEndpoint": "string"
  
  
  
  
},
  
  
  
  
"lastActivityAt": "string",
  
  
  
  
"idleSince": "string",
  
  
  
  
"closedAt": "string",
  
  
  
  
"timeoutAt": "string",
  
  
  
  
"config": {
  
  
  
  
  
"idleTimeoutSeconds": 0,
  
  
  
  
  
"idleCloseDelaySeconds": 0,
  
  
  
  
  
"maxDurationSeconds": 0
  
  
  
  
},
  
  
  
  
"metadata": {
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
},
  
  
  
  
"createdAt": "string",
  
  
  
  
"updatedAt": "string"
  
  
  
}
  
  
],
  
  
"members": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"organizationId": "A1B2C3D4E5",
  
  
  
  
"userId": "A1B2C3D4E5",
  
  
  
  
"name": "string",
  
  
  
  
"email": "alice@example.com",
  
  
  
  
"preferences": {
  
  
  
  
},
  
  
  
  
"invitedByMemberId": "A1B2C3D4E5",
  
  
  
  
"inviteExpiresAt": "string",
  
  
  
  
"inviteAcceptedAt": "string",
  
  
  
  
"lastLoginAt": "string",
  
  
  
  
"lastActiveAt": "string",
  
  
  
  
"isEnabled": true,
  
  
  
  
"accountType": "managed",
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
  
}
  
  
],
  
  
"serviceAccounts": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"username": "ci-deploy-bot",
  
  
  
  
"description": "string",
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
  
}
  
  
],
  
  
"workloads": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"workloadConfigId": "A1B2C3D4E5",
  
  
  
  
"infraStatus": "string",
  
  
  
  
"shutdownPolicy": "string",
  
  
  
  
"endpoints": {
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
},
  
  
  
  
"provisionedAt": "string",
  
  
  
  
"cleanedAt": "string",
  
  
  
  
"lastActivityAt": "string",
  
  
  
  
"statusMessage": "string",
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
  
}
  
  
],
  
  
"workloadConfigs": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"name": "Production Cluster",
  
  
  
  
"workloadType": "string",
  
  
  
  
"clusterId": "A1B2C3D4E5",
  
  
  
  
"teamId": "A1B2C3D4E5",
  
  
  
  
"config": {
  
  
  
  
  
"sail": {
  
  
  
  
  
  
"executionMode": "standalone",
  
  
  
  
  
  
"compute": {
  
  
  
  
  
  
  
"driver": {
  
  
  
  
  
  
  
  
"instanceType": "c8g.2xlarge",
  
  
  
  
  
  
  
  
"ebsConfig": {
  
  
  
  
  
  
  
  
  
"volumeType": "gp3",
  
  
  
  
  
  
  
  
  
"volumeSize": 100,
  
  
  
  
  
  
  
  
  
"iops": 3000,
  
  
  
  
  
  
  
  
  
"throughput": 125,
  
  
  
  
  
  
  
  
  
"deleteOnTermination": true
  
  
  
  
  
  
  
  
}
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
"worker": {
  
  
  
  
  
  
  
  
"instanceType": "c8g.4xlarge",
  
  
  
  
  
  
  
  
"ebsConfig": {
  
  
  
  
  
  
  
  
  
"volumeType": "gp3",
  
  
  
  
  
  
  
  
  
"volumeSize": 100,
  
  
  
  
  
  
  
  
  
"iops": 3000,
  
  
  
  
  
  
  
  
  
"throughput": 125,
  
  
  
  
  
  
  
  
  
"deleteOnTermination": true
  
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
  
"maxNodes": 4,
  
  
  
  
  
  
  
  
"capacityType": "on-demand"
  
  
  
  
  
  
  
}
  
  
  
  
  
  
},
  
  
  
  
  
  
"lakesailImageUri": "string",
  
  
  
  
  
  
"libraries": [
  
  
  
  
  
  
  
{
  
  
  
  
  
  
  
  
"pypi": {
  
  
  
  
  
  
  
  
  
"package": "string",
  
  
  
  
  
  
  
  
  
"repo": "string"
  
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
  
"requirements": {
  
  
  
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
  
  
  
"uri": "string"
  
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
  
"whl": "string"
  
  
  
  
  
  
  
}
  
  
  
  
  
  
],
  
  
  
  
  
  
"extraEnv": {
  
  
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
  
  
}
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"endpointLimits": {
  
  
  
  
  
"spark_connect": 0
  
  
  
  
},
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
  
}
  
  
]
  
},
  
"marker": "string"
}

Playground

Authorization
Variables
Key
Value

Samples


Create a session

POST
/workloads/sessions

Creates a new session. Resolves or creates a compute config, finds a reusable compute instance or provisions a new one, and returns the session in pending state. The session transitions to active on the first proxy request after the compute instance is ready.

Authorizations

BearerAuth
Type
HTTP (bearer)

Request Body

application/json
JSON
{
  
"endpointType": "string",
  
"name": "Production Cluster",
  
"teamId": "A1B2C3D4E5",
  
"memberId": "A1B2C3D4E5",
  
"serviceAccountId": "A1B2C3D4E5",
  
"notebookId": "A1B2C3D4E5",
  
"config": {
  
  
"idleTimeoutSeconds": 0,
  
  
"idleCloseDelaySeconds": 0,
  
  
"maxDurationSeconds": 0
  
},
  
"metadata": {
  
  
"additionalProperties": "string"
  
},
  
"workloadConfigId": "A1B2C3D4E5",
  
"allowShared": false
}

Responses

The session was created successfully.

application/json
JSON
{
  
"id": "A1B2C3D4E5",
  
"endpointType": "string",
  
"name": "Production Cluster",
  
"status": "string",
  
"workloadId": "A1B2C3D4E5",
  
"teamId": "A1B2C3D4E5",
  
"memberId": "A1B2C3D4E5",
  
"serviceAccountId": "A1B2C3D4E5",
  
"notebookId": "A1B2C3D4E5",
  
"terminationReason": "string",
  
"statusMessage": "string",
  
"connectionInfo": {
  
  
"proxyAuthUrl": "string",
  
  
"grpcEndpoint": "string"
  
},
  
"lastActivityAt": "string",
  
"idleSince": "string",
  
"closedAt": "string",
  
"timeoutAt": "string",
  
"config": {
  
  
"idleTimeoutSeconds": 0,
  
  
"idleCloseDelaySeconds": 0,
  
  
"maxDurationSeconds": 0
  
},
  
"metadata": {
  
  
"additionalProperties": "string"
  
},
  
"createdAt": "string",
  
"updatedAt": "string"
}

Playground

Authorization
Body

Samples


Describe a session

GET
/workloads/sessions/{session}

Returns the session details. For the session owner, includes connectionInfo with the proxy authentication URL (HTTP-transport endpoints) or gRPC endpoint (gRPC-transport endpoints).

Authorizations

BearerAuth
Type
HTTP (bearer)

Responses

The session was retrieved successfully.

application/json
JSON
{
  
"id": "A1B2C3D4E5",
  
"endpointType": "string",
  
"name": "Production Cluster",
  
"status": "string",
  
"workloadId": "A1B2C3D4E5",
  
"teamId": "A1B2C3D4E5",
  
"memberId": "A1B2C3D4E5",
  
"serviceAccountId": "A1B2C3D4E5",
  
"notebookId": "A1B2C3D4E5",
  
"terminationReason": "string",
  
"statusMessage": "string",
  
"connectionInfo": {
  
  
"proxyAuthUrl": "string",
  
  
"grpcEndpoint": "string"
  
},
  
"lastActivityAt": "string",
  
"idleSince": "string",
  
"closedAt": "string",
  
"timeoutAt": "string",
  
"config": {
  
  
"idleTimeoutSeconds": 0,
  
  
"idleCloseDelaySeconds": 0,
  
  
"maxDurationSeconds": 0
  
},
  
"metadata": {
  
  
"additionalProperties": "string"
  
},
  
"createdAt": "string",
  
"updatedAt": "string"
}

Playground

Authorization

Samples


Close a session

DELETE
/workloads/sessions/{session}

Closes the session immediately. The session transitions to closed and closed_at is set. Infrastructure cleanup (marimo pod, compute instance) is handled asynchronously. Can be called by the session owner, team admin, or org admin.

Authorizations

BearerAuth
Type
HTTP (bearer)

Responses

The session was closed successfully.

Playground

Authorization

Samples


Issue a session proxy token

POST
/workloads/sessions/{session}/token

Issues a short-lived signed JWT bearer token for authenticating with the session gRPC proxy. Use the grpcEndpoint from the session's connectionInfo as the dial address and pass the token as Authorization: Bearer in the gRPC metadata. The token encodes the session ID and routing target; no additional metadata header is required. Only the session owner (or an org admin) can issue a token.

Authorizations

BearerAuth
Type
HTTP (bearer)

Request Body

application/json
JSON
{
  
"durationSeconds": 28800
}

Responses

A bearer token for gRPC proxy access.

application/json
JSON
{
  
"token": "string",
  
"expiresAt": "string"
}

Playground

Authorization
Body

Samples


Relaunch a closed session

POST
/workloads/sessions/{session}/relaunch

Creates a new session using the same workload configuration as a previously closed or failed session. Useful for restarting a recurring session without having to reconfigure compute settings from scratch.
The original session must be in a terminal state (closed or failed). A brand-new session ID is returned — the original session is not mutated. The caller must be the original session owner.

Authorizations

BearerAuth
Type
HTTP (bearer)

Responses

The session was relaunched successfully.

application/json
JSON
{
  
"id": "A1B2C3D4E5",
  
"endpointType": "string",
  
"name": "Production Cluster",
  
"status": "string",
  
"workloadId": "A1B2C3D4E5",
  
"teamId": "A1B2C3D4E5",
  
"memberId": "A1B2C3D4E5",
  
"serviceAccountId": "A1B2C3D4E5",
  
"notebookId": "A1B2C3D4E5",
  
"terminationReason": "string",
  
"statusMessage": "string",
  
"connectionInfo": {
  
  
"proxyAuthUrl": "string",
  
  
"grpcEndpoint": "string"
  
},
  
"lastActivityAt": "string",
  
"idleSince": "string",
  
"closedAt": "string",
  
"timeoutAt": "string",
  
"config": {
  
  
"idleTimeoutSeconds": 0,
  
  
"idleCloseDelaySeconds": 0,
  
  
"maxDurationSeconds": 0
  
},
  
"metadata": {
  
  
"additionalProperties": "string"
  
},
  
"createdAt": "string",
  
"updatedAt": "string"
}

Playground

Authorization

Samples


List workload configs

GET
/workloads/compute-configs

Returns workload configs visible to the caller. Org admins see all configs; team admins see configs belonging to their teams; members see configs for teams they belong to. Anonymous (inline) configs are excluded.

Authorizations

BearerAuth
Type
HTTP (bearer)

Parameters

Query Parameters

teamId

Filter workload configs by team.

Type
string
Example"A1B2C3D4E5"
Min Length
1
Max Length
20
Pattern
"^[A-Z0-9]{1,20}$"
limit

The maximum number of items to list.

Type
integer
Format
"int32"
Minimum
0
Maximum
100
Default
100
marker

The pagination token returned from the previous list operation.

Type
string

Responses

The list of workload configs.

application/json
JSON
{
  
"items": [
  
  
{
  
  
  
"id": "A1B2C3D4E5",
  
  
  
"name": "Production Cluster",
  
  
  
"workloadType": "string",
  
  
  
"clusterId": "A1B2C3D4E5",
  
  
  
"teamId": "A1B2C3D4E5",
  
  
  
"config": {
  
  
  
  
"sail": {
  
  
  
  
  
"executionMode": "standalone",
  
  
  
  
  
"compute": {
  
  
  
  
  
  
"driver": {
  
  
  
  
  
  
  
"instanceType": "c8g.2xlarge",
  
  
  
  
  
  
  
"ebsConfig": {
  
  
  
  
  
  
  
  
"volumeType": "gp3",
  
  
  
  
  
  
  
  
"volumeSize": 100,
  
  
  
  
  
  
  
  
"iops": 3000,
  
  
  
  
  
  
  
  
"throughput": 125,
  
  
  
  
  
  
  
  
"deleteOnTermination": true
  
  
  
  
  
  
  
}
  
  
  
  
  
  
},
  
  
  
  
  
  
"worker": {
  
  
  
  
  
  
  
"instanceType": "c8g.4xlarge",
  
  
  
  
  
  
  
"ebsConfig": {
  
  
  
  
  
  
  
  
"volumeType": "gp3",
  
  
  
  
  
  
  
  
"volumeSize": 100,
  
  
  
  
  
  
  
  
"iops": 3000,
  
  
  
  
  
  
  
  
"throughput": 125,
  
  
  
  
  
  
  
  
"deleteOnTermination": true
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
"maxNodes": 4,
  
  
  
  
  
  
  
"capacityType": "on-demand"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"lakesailImageUri": "string",
  
  
  
  
  
"libraries": [
  
  
  
  
  
  
{
  
  
  
  
  
  
  
"pypi": {
  
  
  
  
  
  
  
  
"package": "string",
  
  
  
  
  
  
  
  
"repo": "string"
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
"requirements": {
  
  
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
  
  
"uri": "string"
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
"whl": "string"
  
  
  
  
  
  
}
  
  
  
  
  
],
  
  
  
  
  
"extraEnv": {
  
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
  
}
  
  
  
  
}
  
  
  
},
  
  
  
"endpointLimits": {
  
  
  
  
"spark_connect": 0
  
  
  
},
  
  
  
"createdAt": "string",
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
"updatedAt": "string",
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
}
  
],
  
"marker": "string"
}

Playground

Authorization
Variables
Key
Value

Samples


Create a workload config

POST
/workloads/compute-configs

Creates a named workload config for a team. Named configs can be reused across multiple sessions and shared with team members. Once created, workloadType, clusterId, and teamId are immutable.

Authorizations

BearerAuth
Type
HTTP (bearer)

Request Body

application/json
JSON
{
  
"name": "Production Cluster",
  
"workloadType": "string",
  
"clusterId": "A1B2C3D4E5",
  
"teamId": "A1B2C3D4E5",
  
"config": {
  
  
"sail": {
  
  
  
"executionMode": "standalone",
  
  
  
"compute": {
  
  
  
  
"driver": {
  
  
  
  
  
"instanceType": "c8g.2xlarge",
  
  
  
  
  
"ebsConfig": {
  
  
  
  
  
  
"volumeType": "gp3",
  
  
  
  
  
  
"volumeSize": 100,
  
  
  
  
  
  
"iops": 3000,
  
  
  
  
  
  
"throughput": 125,
  
  
  
  
  
  
"deleteOnTermination": true
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"worker": {
  
  
  
  
  
"instanceType": "c8g.4xlarge",
  
  
  
  
  
"ebsConfig": {
  
  
  
  
  
  
"volumeType": "gp3",
  
  
  
  
  
  
"volumeSize": 100,
  
  
  
  
  
  
"iops": 3000,
  
  
  
  
  
  
"throughput": 125,
  
  
  
  
  
  
"deleteOnTermination": true
  
  
  
  
  
},
  
  
  
  
  
"maxNodes": 4,
  
  
  
  
  
"capacityType": "on-demand"
  
  
  
  
}
  
  
  
},
  
  
  
"lakesailImageUri": "string",
  
  
  
"libraries": [
  
  
  
  
{
  
  
  
  
  
"pypi": {
  
  
  
  
  
  
"package": "string",
  
  
  
  
  
  
"repo": "string"
  
  
  
  
  
},
  
  
  
  
  
"requirements": {
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"uri": "string"
  
  
  
  
  
},
  
  
  
  
  
"whl": "string"
  
  
  
  
}
  
  
  
],
  
  
  
"extraEnv": {
  
  
  
  
"additionalProperties": "string"
  
  
  
}
  
  
}
  
},
  
"endpointLimits": {
  
  
"spark_connect": 0
  
}
}

Responses

The workload config was created successfully.

application/json
JSON
{
  
"id": "A1B2C3D4E5",
  
"name": "Production Cluster",
  
"workloadType": "string",
  
"clusterId": "A1B2C3D4E5",
  
"teamId": "A1B2C3D4E5",
  
"config": {
  
  
"sail": {
  
  
  
"executionMode": "standalone",
  
  
  
"compute": {
  
  
  
  
"driver": {
  
  
  
  
  
"instanceType": "c8g.2xlarge",
  
  
  
  
  
"ebsConfig": {
  
  
  
  
  
  
"volumeType": "gp3",
  
  
  
  
  
  
"volumeSize": 100,
  
  
  
  
  
  
"iops": 3000,
  
  
  
  
  
  
"throughput": 125,
  
  
  
  
  
  
"deleteOnTermination": true
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"worker": {
  
  
  
  
  
"instanceType": "c8g.4xlarge",
  
  
  
  
  
"ebsConfig": {
  
  
  
  
  
  
"volumeType": "gp3",
  
  
  
  
  
  
"volumeSize": 100,
  
  
  
  
  
  
"iops": 3000,
  
  
  
  
  
  
"throughput": 125,
  
  
  
  
  
  
"deleteOnTermination": true
  
  
  
  
  
},
  
  
  
  
  
"maxNodes": 4,
  
  
  
  
  
"capacityType": "on-demand"
  
  
  
  
}
  
  
  
},
  
  
  
"lakesailImageUri": "string",
  
  
  
"libraries": [
  
  
  
  
{
  
  
  
  
  
"pypi": {
  
  
  
  
  
  
"package": "string",
  
  
  
  
  
  
"repo": "string"
  
  
  
  
  
},
  
  
  
  
  
"requirements": {
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"uri": "string"
  
  
  
  
  
},
  
  
  
  
  
"whl": "string"
  
  
  
  
}
  
  
  
],
  
  
  
"extraEnv": {
  
  
  
  
"additionalProperties": "string"
  
  
  
}
  
  
}
  
},
  
"endpointLimits": {
  
  
"spark_connect": 0
  
},
  
"createdAt": "string",
  
"createdBy": "A1B2C3D4E5",
  
"updatedAt": "string",
  
"updatedBy": "A1B2C3D4E5"
}

Playground

Authorization
Body

Samples


Describe a workload config

GET
/workloads/compute-configs/{workloadConfig}

Returns the full detail of a workload config.

Authorizations

BearerAuth
Type
HTTP (bearer)

Responses

The workload config was retrieved successfully.

application/json
JSON
{
  
"id": "A1B2C3D4E5",
  
"name": "Production Cluster",
  
"workloadType": "string",
  
"clusterId": "A1B2C3D4E5",
  
"teamId": "A1B2C3D4E5",
  
"config": {
  
  
"sail": {
  
  
  
"executionMode": "standalone",
  
  
  
"compute": {
  
  
  
  
"driver": {
  
  
  
  
  
"instanceType": "c8g.2xlarge",
  
  
  
  
  
"ebsConfig": {
  
  
  
  
  
  
"volumeType": "gp3",
  
  
  
  
  
  
"volumeSize": 100,
  
  
  
  
  
  
"iops": 3000,
  
  
  
  
  
  
"throughput": 125,
  
  
  
  
  
  
"deleteOnTermination": true
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"worker": {
  
  
  
  
  
"instanceType": "c8g.4xlarge",
  
  
  
  
  
"ebsConfig": {
  
  
  
  
  
  
"volumeType": "gp3",
  
  
  
  
  
  
"volumeSize": 100,
  
  
  
  
  
  
"iops": 3000,
  
  
  
  
  
  
"throughput": 125,
  
  
  
  
  
  
"deleteOnTermination": true
  
  
  
  
  
},
  
  
  
  
  
"maxNodes": 4,
  
  
  
  
  
"capacityType": "on-demand"
  
  
  
  
}
  
  
  
},
  
  
  
"lakesailImageUri": "string",
  
  
  
"libraries": [
  
  
  
  
{
  
  
  
  
  
"pypi": {
  
  
  
  
  
  
"package": "string",
  
  
  
  
  
  
"repo": "string"
  
  
  
  
  
},
  
  
  
  
  
"requirements": {
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"uri": "string"
  
  
  
  
  
},
  
  
  
  
  
"whl": "string"
  
  
  
  
}
  
  
  
],
  
  
  
"extraEnv": {
  
  
  
  
"additionalProperties": "string"
  
  
  
}
  
  
}
  
},
  
"endpointLimits": {
  
  
"spark_connect": 0
  
},
  
"createdAt": "string",
  
"createdBy": "A1B2C3D4E5",
  
"updatedAt": "string",
  
"updatedBy": "A1B2C3D4E5"
}

Playground

Authorization

Samples


List available notification event types

GET
/notifications/event-types

Returns the list of event types that notification rules can subscribe to. Includes shortcut types (e.g., 'any terminal status') that expand into individual event types at rule creation time.

Authorizations

BearerAuth
Type
HTTP (bearer)

Responses

A list of available notification event types.

application/json
JSON
{
  
"items": [
  
  
{
  
  
  
"key": "string",
  
  
  
"resourceType": "string",
  
  
  
"label": "string",
  
  
  
"description": "string",
  
  
  
"expandsTo": [
  
  
  
  
"string"
  
  
  
]
  
  
}
  
]
}

Playground

Authorization

Samples


List notification channels

GET
/notifications/channels

Lists notification channels for the organization, optionally filtered by team or member ownership.

Authorizations

BearerAuth
Type
HTTP (bearer)

Parameters

Query Parameters

limit

The maximum number of items to list.

Type
integer
Format
"int32"
Minimum
0
Maximum
100
Default
100
marker

The pagination token returned from the previous list operation.

Type
string
teamId

Filter by team ID.

Type
string
Example"A1B2C3D4E5"
Min Length
1
Max Length
20
Pattern
"^[A-Z0-9]{1,20}$"
memberId

Filter by member ID.

Type
string
Example"A1B2C3D4E5"
Min Length
1
Max Length
20
Pattern
"^[A-Z0-9]{1,20}$"

Responses

A list of notification channels.

application/json
JSON
{
  
"items": [
  
  
{
  
  
  
"id": "A1B2C3D4E5",
  
  
  
"type": "string",
  
  
  
"name": "Production Cluster",
  
  
  
"teamId": "A1B2C3D4E5",
  
  
  
"memberId": "A1B2C3D4E5",
  
  
  
"config": {
  
  
  
  
"memberId": "A1B2C3D4E5"
  
  
  
},
  
  
  
"status": "active",
  
  
  
"statusMessage": "string",
  
  
  
"verifiedAt": "string",
  
  
  
"createdAt": "string",
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
"updatedAt": "string",
  
  
  
"updatedBy": "A1B2C3D4E5",
  
  
  
"supportsDigest": true
  
  
}
  
],
  
"marker": "string"
}

Playground

Authorization
Variables
Key
Value

Samples


Create a notification channel

POST
/notifications/channels

Creates a new notification channel for delivering notifications to a team or member destination (email or webhook).

Authorizations

BearerAuth
Type
HTTP (bearer)

Request Body

application/json
JSON
"string"

Responses

The notification channel was created successfully.

application/json
JSON
{
  
"id": "A1B2C3D4E5",
  
"type": "string",
  
"name": "Production Cluster",
  
"teamId": "A1B2C3D4E5",
  
"memberId": "A1B2C3D4E5",
  
"config": {
  
  
"memberId": "A1B2C3D4E5"
  
},
  
"configWrite": {
  
  
"memberId": "A1B2C3D4E5"
  
},
  
"status": "active",
  
"statusMessage": "string",
  
"verifiedAt": "string",
  
"createdAt": "string",
  
"createdBy": "A1B2C3D4E5",
  
"updatedAt": "string",
  
"updatedBy": "A1B2C3D4E5",
  
"supportsDigest": true
}

Playground

Authorization
Body

Samples


Get notification channel details

GET
/notifications/channels/{channel}

Returns the details of a specific notification channel.

Authorizations

BearerAuth
Type
HTTP (bearer)

Responses

The notification channel details.

application/json
JSON
{
  
"id": "A1B2C3D4E5",
  
"type": "string",
  
"name": "Production Cluster",
  
"teamId": "A1B2C3D4E5",
  
"memberId": "A1B2C3D4E5",
  
"config": {
  
  
"memberId": "A1B2C3D4E5"
  
},
  
"configWrite": {
  
  
"memberId": "A1B2C3D4E5"
  
},
  
"status": "active",
  
"statusMessage": "string",
  
"verifiedAt": "string",
  
"createdAt": "string",
  
"createdBy": "A1B2C3D4E5",
  
"updatedAt": "string",
  
"updatedBy": "A1B2C3D4E5",
  
"supportsDigest": true
}

Playground

Authorization

Samples


Delete a notification channel

DELETE
/notifications/channels/{channel}

Soft-deletes a notification channel. The channel is marked as deleted but preserved for delivery log history.

Authorizations

BearerAuth
Type
HTTP (bearer)

Responses

The notification channel was deleted successfully.

Playground

Authorization

Samples


Update a notification channel

PATCH
/notifications/channels/{channel}

Updates the configuration of an existing notification channel.

Authorizations

BearerAuth
Type
HTTP (bearer)

Request Body

application/json
JSON
{
  
"name": "Production Cluster",
  
"configWrite": {
  
  
"memberId": "A1B2C3D4E5"
  
},
  
"status": "active"
}

Responses

The notification channel was updated successfully.

application/json
JSON
{
  
"id": "A1B2C3D4E5",
  
"type": "string",
  
"name": "Production Cluster",
  
"teamId": "A1B2C3D4E5",
  
"memberId": "A1B2C3D4E5",
  
"config": {
  
  
"memberId": "A1B2C3D4E5"
  
},
  
"configWrite": {
  
  
"memberId": "A1B2C3D4E5"
  
},
  
"status": "active",
  
"statusMessage": "string",
  
"verifiedAt": "string",
  
"createdAt": "string",
  
"createdBy": "A1B2C3D4E5",
  
"updatedAt": "string",
  
"updatedBy": "A1B2C3D4E5",
  
"supportsDigest": true
}

Playground

Authorization
Body

Samples


Send a test notification

POST
/notifications/channels/{channel}/test

Sends a test notification to verify the channel is configured correctly. On success, sets the channel's verifiedAt timestamp.

Authorizations

BearerAuth
Type
HTTP (bearer)

Responses

The test notification was sent successfully.

Playground

Authorization

Samples


List notification rules

GET
/notifications/rules

Lists notification rules for the organization, optionally filtered by team, member, resource type, or scope type.

Authorizations

BearerAuth
Type
HTTP (bearer)

Parameters

Query Parameters

limit

The maximum number of items to list.

Type
integer
Format
"int32"
Minimum
0
Maximum
100
Default
100
marker

The pagination token returned from the previous list operation.

Type
string
teamId

Filter by team ID.

memberId

Filter by member ID.

resourceType

Filter rules by resource type.

Type
string
scopeType

Filter rules by scope type.

Type
string
Valid values
"resource""team""organization""own_resources"

Responses

A list of notification rules.

application/json
JSON
{
  
"items": [
  
  
{
  
  
  
"id": "A1B2C3D4E5",
  
  
  
"name": "Production Cluster",
  
  
  
"teamId": "A1B2C3D4E5",
  
  
  
"memberId": "A1B2C3D4E5",
  
  
  
"resourceType": "string",
  
  
  
"scopeType": "string",
  
  
  
"scopeId": "A1B2C3D4E5",
  
  
  
"eventTypes": [
  
  
  
  
"string"
  
  
  
],
  
  
  
"deliveryMode": "string",
  
  
  
"channelIds": [
  
  
  
  
"string"
  
  
  
],
  
  
  
"enabled": true,
  
  
  
"digestTime": "08:00",
  
  
  
"digestTimezone": "America/New_York",
  
  
  
"digestDayOfWeek": 0,
  
  
  
"mutedUntil": "string",
  
  
  
"createdAt": "string",
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
"updatedAt": "string",
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
}
  
],
  
"marker": "string"
}

Playground

Authorization
Variables
Key
Value

Samples


Create a notification rule

POST
/notifications/rules

Creates a new notification rule that maps event types to notification channels.

Authorizations

BearerAuth
Type
HTTP (bearer)

Request Body

application/json
JSON
"string"

Responses

The notification rule was created successfully.

application/json
JSON
{
  
"id": "A1B2C3D4E5",
  
"name": "Production Cluster",
  
"teamId": "A1B2C3D4E5",
  
"memberId": "A1B2C3D4E5",
  
"resourceType": "string",
  
"scopeType": "string",
  
"scopeId": "A1B2C3D4E5",
  
"eventTypes": [
  
  
"string"
  
],
  
"deliveryMode": "string",
  
"channelIds": [
  
  
"string"
  
],
  
"enabled": true,
  
"digestTime": "08:00",
  
"digestTimezone": "America/New_York",
  
"digestDayOfWeek": 0,
  
"mutedUntil": "string",
  
"createdAt": "string",
  
"createdBy": "A1B2C3D4E5",
  
"updatedAt": "string",
  
"updatedBy": "A1B2C3D4E5"
}

Playground

Authorization
Body

Samples


Get notification rule details

GET
/notifications/rules/{rule}

Returns the details of a specific notification rule.

Authorizations

BearerAuth
Type
HTTP (bearer)

Responses

The notification rule details.

application/json
JSON
{
  
"id": "A1B2C3D4E5",
  
"name": "Production Cluster",
  
"teamId": "A1B2C3D4E5",
  
"memberId": "A1B2C3D4E5",
  
"resourceType": "string",
  
"scopeType": "string",
  
"scopeId": "A1B2C3D4E5",
  
"eventTypes": [
  
  
"string"
  
],
  
"deliveryMode": "string",
  
"channelIds": [
  
  
"string"
  
],
  
"enabled": true,
  
"digestTime": "08:00",
  
"digestTimezone": "America/New_York",
  
"digestDayOfWeek": 0,
  
"mutedUntil": "string",
  
"createdAt": "string",
  
"createdBy": "A1B2C3D4E5",
  
"updatedAt": "string",
  
"updatedBy": "A1B2C3D4E5"
}

Playground

Authorization

Samples


Delete a notification rule

DELETE
/notifications/rules/{rule}

Deletes a notification rule. Future events will no longer match this rule.

Authorizations

BearerAuth
Type
HTTP (bearer)

Responses

The notification rule was deleted successfully.

Playground

Authorization

Samples


Update a notification rule

PATCH
/notifications/rules/{rule}

Updates an existing notification rule (including enable/disable).

Authorizations

BearerAuth
Type
HTTP (bearer)

Request Body

application/json
JSON
{
  
"name": "Production Cluster",
  
"eventTypes": [
  
  
"string"
  
],
  
"deliveryMode": "string",
  
"channelIds": [
  
  
"string"
  
],
  
"enabled": true,
  
"digestTime": "08:00",
  
"digestTimezone": "America/New_York",
  
"digestDayOfWeek": 0,
  
"mutedUntil": "string"
}

Responses

The notification rule was updated successfully.

application/json
JSON
{
  
"id": "A1B2C3D4E5",
  
"name": "Production Cluster",
  
"teamId": "A1B2C3D4E5",
  
"memberId": "A1B2C3D4E5",
  
"resourceType": "string",
  
"scopeType": "string",
  
"scopeId": "A1B2C3D4E5",
  
"eventTypes": [
  
  
"string"
  
],
  
"deliveryMode": "string",
  
"channelIds": [
  
  
"string"
  
],
  
"enabled": true,
  
"digestTime": "08:00",
  
"digestTimezone": "America/New_York",
  
"digestDayOfWeek": 0,
  
"mutedUntil": "string",
  
"createdAt": "string",
  
"createdBy": "A1B2C3D4E5",
  
"updatedAt": "string",
  
"updatedBy": "A1B2C3D4E5"
}

Playground

Authorization
Body

Samples


List notification delivery history

GET
/notifications

Lists notification delivery log entries, optionally filtered by channel, rule, or status.

Authorizations

BearerAuth
Type
HTTP (bearer)

Parameters

Query Parameters

limit

The maximum number of items to list.

Type
integer
Format
"int32"
Minimum
0
Maximum
100
Default
100
marker

The pagination token returned from the previous list operation.

Type
string
channelId

Filter by channel ID.

Type
string
Example"A1B2C3D4E5"
Min Length
1
Max Length
20
Pattern
"^[A-Z0-9]{1,20}$"
ruleId

Filter by rule ID.

Type
string
Example"A1B2C3D4E5"
Min Length
1
Max Length
20
Pattern
"^[A-Z0-9]{1,20}$"
status

Filter by delivery status.

Type
string
Valid values
"pending""delivering""delivered""failed""skipped"

Responses

A list of notification delivery log entries.

application/json
JSON
{
  
"items": [
  
  
{
  
  
  
"id": "A1B2C3D4E5",
  
  
  
"ruleId": "A1B2C3D4E5",
  
  
  
"channelId": "A1B2C3D4E5",
  
  
  
"eventId": "A1B2C3D4E5",
  
  
  
"targetSummary": "string",
  
  
  
"status": "string",
  
  
  
"statusMessage": "string",
  
  
  
"attempts": 0,
  
  
  
"lastAttemptAt": "string",
  
  
  
"deliveredAt": "string",
  
  
  
"createdAt": "string"
  
  
}
  
],
  
"marker": "string"
}

Playground

Authorization
Variables
Key
Value

Samples


operations

Long-running operation status tracking.


Get async operation status

GET
/operations/{operationId}

Returns the current status and results of a long-running operation, such as cluster provisioning or infrastructure deployment. Poll this endpoint to track progress.

Authorizations

BearerAuth
Type
HTTP (bearer)

Responses

Operation status and results.

application/json
JSON
{
  
"id": "A1B2C3D4E5",
  
"organizationId": "A1B2C3D4E5",
  
"memberId": "A1B2C3D4E5",
  
"operation": "string",
  
"status": "string",
  
"result": {
  
  
"items": [
  
  
  
{
  
  
  
  
"provider": "string",
  
  
  
  
"instanceType": "string",
  
  
  
  
"vCpus": 0,
  
  
  
  
"memoryMiB": 0,
  
  
  
  
"architecture": "string",
  
  
  
  
"gpuCount": 0,
  
  
  
  
"instanceFamily": "string",
  
  
  
  
"maxPods": 0,
  
  
  
  
"group": "string",
  
  
  
  
"allocatableMilliCpu": 0
  
  
  
}
  
  
],
  
  
"metadata": {
  
  
  
"provider": "string",
  
  
  
"systemPodsPerNode": 0,
  
  
  
"systemPodsPerSystemNode": 0,
  
  
  
"systemPodsFixed": 0,
  
  
  
"systemPodsPerNodeMargin": 0,
  
  
  
"systemPodsFixedMargin": 0,
  
  
  
"systemMilliCPUPerNode": 0,
  
  
  
"systemMilliCPUFixed": 0,
  
  
  
"karpenterMilliCPUPerReplica": 0,
  
  
  
"karpenterReplicas": 0
  
  
}
  
},
  
"error": {
  
  
"code": "string",
  
  
"message": "string",
  
  
"errorType": "string",
  
  
"details": {
  
  
  
"retryable": true,
  
  
  
"retryAfter": 0,
  
  
  
"fieldErrors": {
  
  
  
  
"additionalProperties": "string"
  
  
  
},
  
  
  
"requestId": "string",
  
  
  
"causedBy": "string"
  
  
}
  
},
  
"progress": {
  
  
"stage": "string",
  
  
"message": "string",
  
  
"resources": [
  
  
  
{
  
  
  
  
"urn": "string",
  
  
  
  
"type": "string",
  
  
  
  
"name": "string",
  
  
  
  
"operation": "string",
  
  
  
  
"status": "string",
  
  
  
  
"duration": 0
  
  
  
}
  
  
],
  
  
"summary": {
  
  
  
"total": 0,
  
  
  
"pending": 0,
  
  
  
"running": 0,
  
  
  
"succeeded": 0,
  
  
  
"failed": 0,
  
  
  
"unchanged": 0
  
  
}
  
},
  
"resourceType": "string",
  
"resourceId": "A1B2C3D4E5",
  
"createdAt": "string",
  
"updatedAt": "string",
  
"startedAt": "string",
  
"completedAt": "string"
}

Playground

Authorization

Samples


Powered by VitePress OpenAPI