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>

User sessions 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.

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

Type
HTTP (bearer)

Responses​

List of permission definitions

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

Playground​

Authorization

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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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"
  
  
  
  
},
  
  
  
  
"amr": {
  
  
  
  
  
"reportsMethods": true,
  
  
  
  
  
"mfaAmrValues": [
  
  
  
  
  
  
"string"
  
  
  
  
  
],
  
  
  
  
  
"mfaAcrValues": [
  
  
  
  
  
  
"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"
  
  
  
  
  
]
  
  
  
  
},
  
  
  
  
"providerEnforcesMfa": true
  
  
  
}
  
  
}
  
],
  
"marker": "string"
}

Playground​

Authorization
Variables
Key
Value

Samples​


Create an identity provider​

POST
/auth/idps

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

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

Type
HTTP (bearer)

Request Body​

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

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"
  
  
  
]
  
  
},
  
  
"providerEnforcesMfa": true
  
},
  
"configWrite": {
  
  
"oidc": {
  
  
  
"issuer": "string",
  
  
  
"clientId": "string",
  
  
  
"clientSecret": "string",
  
  
  
"scopes": [
  
  
  
  
"string"
  
  
  
]
  
  
},
  
  
"providerEnforcesMfa": true
  
},
  
"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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

Type
HTTP (bearer)

Request Body​

application/json
JSON
{
  
"name": "Company SSO",
  
"providerUrl": "https://keycloak.example.com/realms/myrealm",
  
"identityProviderTypeId": "keycloak",
  
"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"
  
  
  
]
  
  
},
  
  
"providerEnforcesMfa": true
  
}
}

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"
  
  
  
]
  
  
},
  
  
"providerEnforcesMfa": true
  
},
  
"configWrite": {
  
  
"oidc": {
  
  
  
"issuer": "string",
  
  
  
"clientId": "string",
  
  
  
"clientSecret": "string",
  
  
  
"scopes": [
  
  
  
  
"string"
  
  
  
]
  
  
},
  
  
"providerEnforcesMfa": true
  
},
  
"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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

Type
HTTP (bearer)

Request Body​

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

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"
  
  
  
]
  
  
},
  
  
"providerEnforcesMfa": true
  
}
}

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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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"
  
  
  
]
  
  
},
  
  
"providerEnforcesMfa": true
  
}
}

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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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"
  
}
}

Playground​

Authorization

Samples​


Update my profile​

PATCH
/me

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

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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"
  
}
}

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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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. Can only be called from an interactive session, not with a personal access token or other machine credential.

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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, trusted devices, and personal access
tokens across every organization the user belongs to. The user will be required
to re-authenticate and set up MFA again. Only allowed for managed accounts;
users with an external account must reset their MFA themselves.
Requires recent interactive authentication.

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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.
Can only be called from an interactive session, not with a personal access token or other machine credential.

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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, revoking the user's active sessions, trusted devices, and personal access tokens across every organization the user belongs to. Only allowed for managed accounts. Requires recent interactive authentication. To change the current user's own password, use ChangePassword instead.

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

Type
HTTP (bearer)

Responses​

The password was reset successfully.

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

Playground​

Authorization

Samples​


organizations​

Organization settings, discovery, and onboarding.


Get the caller's organization​

GET
/me/organization

Returns the organization the caller is signed in to, including the defaults the app needs to render itself (default team, default organization role). Scoped to the caller's own organization - there is no organization parameter, so a member can only ever read the organization they are authenticated against. Staff read other organizations through the admin surface instead.

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

Type
HTTP (bearer)

Responses​

The caller's organization.

application/json
JSON
{
  
"id": "A1B2C3D4E5",
  
"slug": "acme-corp",
  
"name": "string",
  
"settings": {
  
  
"auth": {
  
  
  
"requireEmailVerification": true,
  
  
  
"allowLoginWithPassword": true,
  
  
  
"allowLoginWithEmail": true,
  
  
  
"requireDpop": true,
  
  
  
"allowAccessTokens": true,
  
  
  
"maxAccessTokenLifetimeDays": 90,
  
  
  
"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
  
  
  
  
  
}
  
  
  
  
}
  
  
  
}
  
  
}
  
},
  
"createdAt": "string",
  
"createdBy": "A1B2C3D4E5",
  
"updatedAt": "string",
  
"updatedBy": "A1B2C3D4E5",
  
"defaultTeamId": "A1B2C3D4E5",
  
"defaultOrgRoleId": "A1B2C3D4E5"
}

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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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": {
  
  
  
  
  
"providerConfig": {
  
  
  
  
  
  
"initialDatabase": [
  
  
  
  
  
  
  
[
  
  
  
  
  
  
  
  
"dev",
  
  
  
  
  
  
  
  
"analytics"
  
  
  
  
  
  
  
]
  
  
  
  
  
  
],
  
  
  
  
  
  
"initialDatabaseComment": "Development analytics database"
  
  
  
  
  
},
  
  
  
  
  
"common": {
  
  
  
  
  
  
"defaultDatabase": [
  
  
  
  
  
  
  
[
  
  
  
  
  
  
  
  
"default"
  
  
  
  
  
  
  
]
  
  
  
  
  
  
],
  
  
  
  
  
  
"globalTemporaryDatabase": [
  
  
  
  
  
  
  
[
  
  
  
  
  
  
  
  
"global_temp"
  
  
  
  
  
  
  
]
  
  
  
  
  
  
],
  
  
  
  
  
  
"cache": {
  
  
  
  
  
  
  
"databases": {
  
  
  
  
  
  
  
  
"scope": "none",
  
  
  
  
  
  
  
  
"size": 0,
  
  
  
  
  
  
  
  
"ttlSeconds": 0
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
"tables": {
  
  
  
  
  
  
  
  
"scope": "none",
  
  
  
  
  
  
  
  
"size": 0,
  
  
  
  
  
  
  
  
"ttlSeconds": 0
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
"views": {
  
  
  
  
  
  
  
  
"scope": "none",
  
  
  
  
  
  
  
  
"size": 0,
  
  
  
  
  
  
  
  
"ttlSeconds": 0
  
  
  
  
  
  
  
}
  
  
  
  
  
  
},
  
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
  
},
  
  
  
  
  
"envVars": {
  
  
  
  
  
  
"additionalProperties": {
  
  
  
  
  
  
  
"type": "string",
  
  
  
  
  
  
  
"value": "string"
  
  
  
  
  
  
}
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"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",
  
  
  
  
"capabilities": {
  
  
  
  
  
"provision": {
  
  
  
  
  
  
"allowed": true,
  
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"destroy": {
  
  
  
  
  
  
"allowed": true,
  
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"delete": {
  
  
  
  
  
  
"allowed": true,
  
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
  
}
  
  
  
  
  
}
  
  
  
  
}
  
  
  
}
  
  
]
  
}
}

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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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": {
  
  
  
  
  
"providerConfig": {
  
  
  
  
  
  
"initialDatabase": [
  
  
  
  
  
  
  
[
  
  
  
  
  
  
  
  
"dev",
  
  
  
  
  
  
  
  
"analytics"
  
  
  
  
  
  
  
]
  
  
  
  
  
  
],
  
  
  
  
  
  
"initialDatabaseComment": "Development analytics database"
  
  
  
  
  
},
  
  
  
  
  
"common": {
  
  
  
  
  
  
"defaultDatabase": [
  
  
  
  
  
  
  
[
  
  
  
  
  
  
  
  
"default"
  
  
  
  
  
  
  
]
  
  
  
  
  
  
],
  
  
  
  
  
  
"globalTemporaryDatabase": [
  
  
  
  
  
  
  
[
  
  
  
  
  
  
  
  
"global_temp"
  
  
  
  
  
  
  
]
  
  
  
  
  
  
],
  
  
  
  
  
  
"cache": {
  
  
  
  
  
  
  
"databases": {
  
  
  
  
  
  
  
  
"scope": "none",
  
  
  
  
  
  
  
  
"size": 0,
  
  
  
  
  
  
  
  
"ttlSeconds": 0
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
"tables": {
  
  
  
  
  
  
  
  
"scope": "none",
  
  
  
  
  
  
  
  
"size": 0,
  
  
  
  
  
  
  
  
"ttlSeconds": 0
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
"views": {
  
  
  
  
  
  
  
  
"scope": "none",
  
  
  
  
  
  
  
  
"size": 0,
  
  
  
  
  
  
  
  
"ttlSeconds": 0
  
  
  
  
  
  
  
}
  
  
  
  
  
  
},
  
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
  
},
  
  
  
  
  
"envVars": {
  
  
  
  
  
  
"additionalProperties": {
  
  
  
  
  
  
  
"type": "string",
  
  
  
  
  
  
  
"value": "string"
  
  
  
  
  
  
}
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"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",
  
  
  
  
"capabilities": {
  
  
  
  
  
"provision": {
  
  
  
  
  
  
"allowed": true,
  
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"destroy": {
  
  
  
  
  
  
"allowed": true,
  
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"delete": {
  
  
  
  
  
  
"allowed": true,
  
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
  
}
  
  
  
  
  
}
  
  
  
  
}
  
  
  
}
  
  
]
  
}
}

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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

Type
HTTP (bearer)

Request Body​

application/json
JSON
{
  
"name": "Production Cluster",
  
"provider": "glue",
  
"configWrite": {
  
  
"providerConfig": {
  
  
  
"initialDatabase": [
  
  
  
  
[
  
  
  
  
  
"dev",
  
  
  
  
  
"analytics"
  
  
  
  
]
  
  
  
],
  
  
  
"initialDatabaseComment": "Development analytics database"
  
  
},
  
  
"common": {
  
  
  
"defaultDatabase": [
  
  
  
  
[
  
  
  
  
  
"default"
  
  
  
  
]
  
  
  
],
  
  
  
"globalTemporaryDatabase": [
  
  
  
  
[
  
  
  
  
  
"global_temp"
  
  
  
  
]
  
  
  
],
  
  
  
"cache": {
  
  
  
  
"databases": {
  
  
  
  
  
"scope": "none",
  
  
  
  
  
"size": 0,
  
  
  
  
  
"ttlSeconds": 0
  
  
  
  
},
  
  
  
  
"tables": {
  
  
  
  
  
"scope": "none",
  
  
  
  
  
"size": 0,
  
  
  
  
  
"ttlSeconds": 0
  
  
  
  
},
  
  
  
  
"views": {
  
  
  
  
  
"scope": "none",
  
  
  
  
  
"size": 0,
  
  
  
  
  
"ttlSeconds": 0
  
  
  
  
}
  
  
  
},
  
  
  
"additionalProperties": "string"
  
  
},
  
  
"envVars": {
  
  
  
"additionalProperties": {
  
  
  
  
"type": "string",
  
  
  
  
"value": "string"
  
  
  
}
  
  
}
  
},
  
"teamIds": [
  
  
"A1B2C3D4E5"
  
]
}

Responses​

The catalog was created successfully.

application/json
JSON
{
  
"id": "A1B2C3D4E5",
  
"name": "Production Cluster",
  
"provider": "glue",
  
"config": {
  
  
"providerConfig": {
  
  
  
"initialDatabase": [
  
  
  
  
[
  
  
  
  
  
"dev",
  
  
  
  
  
"analytics"
  
  
  
  
]
  
  
  
],
  
  
  
"initialDatabaseComment": "Development analytics database"
  
  
},
  
  
"common": {
  
  
  
"defaultDatabase": [
  
  
  
  
[
  
  
  
  
  
"default"
  
  
  
  
]
  
  
  
],
  
  
  
"globalTemporaryDatabase": [
  
  
  
  
[
  
  
  
  
  
"global_temp"
  
  
  
  
]
  
  
  
],
  
  
  
"cache": {
  
  
  
  
"databases": {
  
  
  
  
  
"scope": "none",
  
  
  
  
  
"size": 0,
  
  
  
  
  
"ttlSeconds": 0
  
  
  
  
},
  
  
  
  
"tables": {
  
  
  
  
  
"scope": "none",
  
  
  
  
  
"size": 0,
  
  
  
  
  
"ttlSeconds": 0
  
  
  
  
},
  
  
  
  
"views": {
  
  
  
  
  
"scope": "none",
  
  
  
  
  
"size": 0,
  
  
  
  
  
"ttlSeconds": 0
  
  
  
  
}
  
  
  
},
  
  
  
"additionalProperties": "string"
  
  
},
  
  
"envVars": {
  
  
  
"additionalProperties": {
  
  
  
  
"type": "string",
  
  
  
  
"value": "string"
  
  
  
}
  
  
}
  
},
  
"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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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": {
  
  
"providerConfig": {
  
  
  
"initialDatabase": [
  
  
  
  
[
  
  
  
  
  
"dev",
  
  
  
  
  
"analytics"
  
  
  
  
]
  
  
  
],
  
  
  
"initialDatabaseComment": "Development analytics database"
  
  
},
  
  
"common": {
  
  
  
"defaultDatabase": [
  
  
  
  
[
  
  
  
  
  
"default"
  
  
  
  
]
  
  
  
],
  
  
  
"globalTemporaryDatabase": [
  
  
  
  
[
  
  
  
  
  
"global_temp"
  
  
  
  
]
  
  
  
],
  
  
  
"cache": {
  
  
  
  
"databases": {
  
  
  
  
  
"scope": "none",
  
  
  
  
  
"size": 0,
  
  
  
  
  
"ttlSeconds": 0
  
  
  
  
},
  
  
  
  
"tables": {
  
  
  
  
  
"scope": "none",
  
  
  
  
  
"size": 0,
  
  
  
  
  
"ttlSeconds": 0
  
  
  
  
},
  
  
  
  
"views": {
  
  
  
  
  
"scope": "none",
  
  
  
  
  
"size": 0,
  
  
  
  
  
"ttlSeconds": 0
  
  
  
  
}
  
  
  
},
  
  
  
"additionalProperties": "string"
  
  
},
  
  
"envVars": {
  
  
  
"additionalProperties": {
  
  
  
  
"type": "string",
  
  
  
  
"value": "string"
  
  
  
}
  
  
}
  
},
  
"configWrite": {
  
  
"providerConfig": {
  
  
  
"initialDatabase": [
  
  
  
  
[
  
  
  
  
  
"dev",
  
  
  
  
  
"analytics"
  
  
  
  
]
  
  
  
],
  
  
  
"initialDatabaseComment": "Development analytics database"
  
  
},
  
  
"common": {
  
  
  
"defaultDatabase": [
  
  
  
  
[
  
  
  
  
  
"default"
  
  
  
  
]
  
  
  
],
  
  
  
"globalTemporaryDatabase": [
  
  
  
  
[
  
  
  
  
  
"global_temp"
  
  
  
  
]
  
  
  
],
  
  
  
"cache": {
  
  
  
  
"databases": {
  
  
  
  
  
"scope": "none",
  
  
  
  
  
"size": 0,
  
  
  
  
  
"ttlSeconds": 0
  
  
  
  
},
  
  
  
  
"tables": {
  
  
  
  
  
"scope": "none",
  
  
  
  
  
"size": 0,
  
  
  
  
  
"ttlSeconds": 0
  
  
  
  
},
  
  
  
  
"views": {
  
  
  
  
  
"scope": "none",
  
  
  
  
  
"size": 0,
  
  
  
  
  
"ttlSeconds": 0
  
  
  
  
}
  
  
  
},
  
  
  
"additionalProperties": "string"
  
  
},
  
  
"envVars": {
  
  
  
"additionalProperties": {
  
  
  
  
"type": "string",
  
  
  
  
"value": "string"
  
  
  
}
  
  
}
  
},
  
"createdAt": "string",
  
"createdBy": "A1B2C3D4E5",
  
"updatedAt": "string",
  
"updatedBy": "A1B2C3D4E5"
}

Playground​

Authorization
Variables
Key
Value

Samples​


Disconnect a catalog from the organization​

DELETE
/workloads/catalogs/{catalog}

Disconnects a catalog from the organization. The catalog record and its team associations are removed from LakeSail; the underlying external data source (for example, an AWS Glue catalog) is not affected. Queries that reference this catalog will need to be updated.

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

Type
HTTP (bearer)

Parameters​

Path Parameters

catalog*

A catalog ID.

Required

Request Body​

application/json
JSON
{
  
"name": "Production Cluster",
  
"configWrite": {
  
  
"providerConfig": {
  
  
  
"initialDatabase": [
  
  
  
  
[
  
  
  
  
  
"dev",
  
  
  
  
  
"analytics"
  
  
  
  
]
  
  
  
],
  
  
  
"initialDatabaseComment": "Development analytics database"
  
  
},
  
  
"common": {
  
  
  
"defaultDatabase": [
  
  
  
  
[
  
  
  
  
  
"default"
  
  
  
  
]
  
  
  
],
  
  
  
"globalTemporaryDatabase": [
  
  
  
  
[
  
  
  
  
  
"global_temp"
  
  
  
  
]
  
  
  
],
  
  
  
"cache": {
  
  
  
  
"databases": {
  
  
  
  
  
"scope": "none",
  
  
  
  
  
"size": 0,
  
  
  
  
  
"ttlSeconds": 0
  
  
  
  
},
  
  
  
  
"tables": {
  
  
  
  
  
"scope": "none",
  
  
  
  
  
"size": 0,
  
  
  
  
  
"ttlSeconds": 0
  
  
  
  
},
  
  
  
  
"views": {
  
  
  
  
  
"scope": "none",
  
  
  
  
  
"size": 0,
  
  
  
  
  
"ttlSeconds": 0
  
  
  
  
}
  
  
  
},
  
  
  
"additionalProperties": "string"
  
  
},
  
  
"envVars": {
  
  
  
"additionalProperties": {
  
  
  
  
"type": "string",
  
  
  
  
"value": "string"
  
  
  
}
  
  
}
  
},
  
"teamIds": [
  
  
"A1B2C3D4E5"
  
]
}

Responses​

The catalog was updated successfully.

application/json
JSON
{
  
"id": "A1B2C3D4E5",
  
"name": "Production Cluster",
  
"provider": "glue",
  
"config": {
  
  
"providerConfig": {
  
  
  
"initialDatabase": [
  
  
  
  
[
  
  
  
  
  
"dev",
  
  
  
  
  
"analytics"
  
  
  
  
]
  
  
  
],
  
  
  
"initialDatabaseComment": "Development analytics database"
  
  
},
  
  
"common": {
  
  
  
"defaultDatabase": [
  
  
  
  
[
  
  
  
  
  
"default"
  
  
  
  
]
  
  
  
],
  
  
  
"globalTemporaryDatabase": [
  
  
  
  
[
  
  
  
  
  
"global_temp"
  
  
  
  
]
  
  
  
],
  
  
  
"cache": {
  
  
  
  
"databases": {
  
  
  
  
  
"scope": "none",
  
  
  
  
  
"size": 0,
  
  
  
  
  
"ttlSeconds": 0
  
  
  
  
},
  
  
  
  
"tables": {
  
  
  
  
  
"scope": "none",
  
  
  
  
  
"size": 0,
  
  
  
  
  
"ttlSeconds": 0
  
  
  
  
},
  
  
  
  
"views": {
  
  
  
  
  
"scope": "none",
  
  
  
  
  
"size": 0,
  
  
  
  
  
"ttlSeconds": 0
  
  
  
  
}
  
  
  
},
  
  
  
"additionalProperties": "string"
  
  
},
  
  
"envVars": {
  
  
  
"additionalProperties": {
  
  
  
  
"type": "string",
  
  
  
  
"value": "string"
  
  
  
}
  
  
}
  
},
  
"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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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"
  
  
  
],
  
  
  
"defaultCatalogId": "A1B2C3D4E5",
  
  
  
"jobIds": [
  
  
  
  
"A1B2C3D4E5"
  
  
  
]
  
  
}
  
],
  
"included": {
  
  
"queries": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"memberId": "A1B2C3D4E5",
  
  
  
  
"name": "Daily Sales Summary",
  
  
  
  
"description": "Daily ETL pipeline for sales data",
  
  
  
  
"catalog_schema": "analytics",
  
  
  
  
"defaultCatalogId": "A1B2C3D4E5",
  
  
  
  
"catalogs": [
  
  
  
  
  
{
  
  
  
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
  
  
  
"name": "Production Cluster"
  
  
  
  
  
}
  
  
  
  
],
  
  
  
  
"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": {
  
  
  
  
  
"providerConfig": {
  
  
  
  
  
  
"initialDatabase": [
  
  
  
  
  
  
  
[
  
  
  
  
  
  
  
  
"dev",
  
  
  
  
  
  
  
  
"analytics"
  
  
  
  
  
  
  
]
  
  
  
  
  
  
],
  
  
  
  
  
  
"initialDatabaseComment": "Development analytics database"
  
  
  
  
  
},
  
  
  
  
  
"common": {
  
  
  
  
  
  
"defaultDatabase": [
  
  
  
  
  
  
  
[
  
  
  
  
  
  
  
  
"default"
  
  
  
  
  
  
  
]
  
  
  
  
  
  
],
  
  
  
  
  
  
"globalTemporaryDatabase": [
  
  
  
  
  
  
  
[
  
  
  
  
  
  
  
  
"global_temp"
  
  
  
  
  
  
  
]
  
  
  
  
  
  
],
  
  
  
  
  
  
"cache": {
  
  
  
  
  
  
  
"databases": {
  
  
  
  
  
  
  
  
"scope": "none",
  
  
  
  
  
  
  
  
"size": 0,
  
  
  
  
  
  
  
  
"ttlSeconds": 0
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
"tables": {
  
  
  
  
  
  
  
  
"scope": "none",
  
  
  
  
  
  
  
  
"size": 0,
  
  
  
  
  
  
  
  
"ttlSeconds": 0
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
"views": {
  
  
  
  
  
  
  
  
"scope": "none",
  
  
  
  
  
  
  
  
"size": 0,
  
  
  
  
  
  
  
  
"ttlSeconds": 0
  
  
  
  
  
  
  
}
  
  
  
  
  
  
},
  
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
  
},
  
  
  
  
  
"envVars": {
  
  
  
  
  
  
"additionalProperties": {
  
  
  
  
  
  
  
"type": "string",
  
  
  
  
  
  
  
"value": "string"
  
  
  
  
  
  
}
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"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",
  
  
  
  
"workloadConfigId": "A1B2C3D4E5",
  
  
  
  
"description": "Daily ETL pipeline for sales data",
  
  
  
  
"config": {
  
  
  
  
  
"sql": {
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"queryId": "Q1R2S3T4U5"
  
  
  
  
  
},
  
  
  
  
  
"python": {
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"packageName": "string",
  
  
  
  
  
  
"entryPoint": "string",
  
  
  
  
  
  
"arguments": [
  
  
  
  
  
  
  
[
  
  
  
  
  
  
  
  
"--mode",
  
  
  
  
  
  
  
  
"incremental",
  
  
  
  
  
  
  
  
"--full-refresh"
  
  
  
  
  
  
  
]
  
  
  
  
  
  
]
  
  
  
  
  
},
  
  
  
  
  
"notebook": {
  
  
  
  
  
  
"notebookId": "A1B2C3D4E5",
  
  
  
  
  
  
"arguments": [
  
  
  
  
  
  
  
[
  
  
  
  
  
  
  
  
"--mode",
  
  
  
  
  
  
  
  
"incremental"
  
  
  
  
  
  
  
]
  
  
  
  
  
  
]
  
  
  
  
  
},
  
  
  
  
  
"lakesail": {
  
  
  
  
  
  
"executionMode": "string",
  
  
  
  
  
  
"maxRetries": 3,
  
  
  
  
  
  
"lakesailImageUri": "string",
  
  
  
  
  
  
"libraries": [
  
  
  
  
  
  
  
{
  
  
  
  
  
  
  
  
"pypi": {
  
  
  
  
  
  
  
  
  
"package": "string",
  
  
  
  
  
  
  
  
  
"repo": "string"
  
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
  
"requirements": {
  
  
  
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
  
  
  
"uri": "string"
  
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
  
"whl": "string"
  
  
  
  
  
  
  
}
  
  
  
  
  
  
],
  
  
  
  
  
  
"envVars": {
  
  
  
  
  
  
  
"additionalProperties": {
  
  
  
  
  
  
  
  
"type": "string",
  
  
  
  
  
  
  
  
"value": "string"
  
  
  
  
  
  
  
}
  
  
  
  
  
  
},
  
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
  
},
  
  
  
  
  
"parameterDefinitions": [
  
  
  
  
  
  
{
  
  
  
  
  
  
  
"name": "date",
  
  
  
  
  
  
  
"type": "string",
  
  
  
  
  
  
  
"required": true,
  
  
  
  
  
  
  
"default": "2026-01-01"
  
  
  
  
  
  
}
  
  
  
  
  
]
  
  
  
  
},
  
  
  
  
"catalogs": [
  
  
  
  
  
{
  
  
  
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
  
  
  
"name": "Production Cluster"
  
  
  
  
  
}
  
  
  
  
],
  
  
  
  
"defaultCatalogId": "A1B2C3D4E5",
  
  
  
  
"catalogsOverridden": true,
  
  
  
  
"effectiveCatalogs": [
  
  
  
  
  
{
  
  
  
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
  
  
  
"name": "string",
  
  
  
  
  
  
"catalogName": "string",
  
  
  
  
  
  
"provider": "glue",
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"isDefault": true,
  
  
  
  
  
  
"overridden": true
  
  
  
  
  
}
  
  
  
  
],
  
  
  
  
"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",
  
  
  
  
"scheduledRunsOverdue": 0,
  
  
  
  
"scheduledRunsOverdueSince": "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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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": {
  
  
  
  
  
"providerConfig": {
  
  
  
  
  
  
"initialDatabase": [
  
  
  
  
  
  
  
[
  
  
  
  
  
  
  
  
"dev",
  
  
  
  
  
  
  
  
"analytics"
  
  
  
  
  
  
  
]
  
  
  
  
  
  
],
  
  
  
  
  
  
"initialDatabaseComment": "Development analytics database"
  
  
  
  
  
},
  
  
  
  
  
"common": {
  
  
  
  
  
  
"defaultDatabase": [
  
  
  
  
  
  
  
[
  
  
  
  
  
  
  
  
"default"
  
  
  
  
  
  
  
]
  
  
  
  
  
  
],
  
  
  
  
  
  
"globalTemporaryDatabase": [
  
  
  
  
  
  
  
[
  
  
  
  
  
  
  
  
"global_temp"
  
  
  
  
  
  
  
]
  
  
  
  
  
  
],
  
  
  
  
  
  
"cache": {
  
  
  
  
  
  
  
"databases": {
  
  
  
  
  
  
  
  
"scope": "none",
  
  
  
  
  
  
  
  
"size": 0,
  
  
  
  
  
  
  
  
"ttlSeconds": 0
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
"tables": {
  
  
  
  
  
  
  
  
"scope": "none",
  
  
  
  
  
  
  
  
"size": 0,
  
  
  
  
  
  
  
  
"ttlSeconds": 0
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
"views": {
  
  
  
  
  
  
  
  
"scope": "none",
  
  
  
  
  
  
  
  
"size": 0,
  
  
  
  
  
  
  
  
"ttlSeconds": 0
  
  
  
  
  
  
  
}
  
  
  
  
  
  
},
  
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
  
},
  
  
  
  
  
"envVars": {
  
  
  
  
  
  
"additionalProperties": {
  
  
  
  
  
  
  
"type": "string",
  
  
  
  
  
  
  
"value": "string"
  
  
  
  
  
  
}
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"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",
  
  
  
  
"capabilities": {
  
  
  
  
  
"provision": {
  
  
  
  
  
  
"allowed": true,
  
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"destroy": {
  
  
  
  
  
  
"allowed": true,
  
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"delete": {
  
  
  
  
  
  
"allowed": true,
  
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
  
}
  
  
  
  
  
}
  
  
  
  
}
  
  
  
}
  
  
]
  
}
}

Playground​

Authorization
Variables
Key
Value

Samples​


clusters​


List my clusters​

GET
/me/clusters

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

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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",
  
  
  
"teamIds": [
  
  
  
  
"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",
  
  
  
  
"capabilities": {
  
  
  
  
  
"run": {
  
  
  
  
  
  
"allowed": true,
  
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
  
"message": "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",
  
  
  
  
"templateUpdateAvailable": true,
  
  
  
  
"subscriptionId": "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",
  
  
  
  
"infraUpdateAvailable": true,
  
  
  
  
"clusterCount": 0,
  
  
  
  
"catalogCount": 0,
  
  
  
  
"capabilities": {
  
  
  
  
  
"provision": {
  
  
  
  
  
  
"allowed": true,
  
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"destroy": {
  
  
  
  
  
  
"allowed": true,
  
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"delete": {
  
  
  
  
  
  
"allowed": true,
  
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
  
}
  
  
  
  
  
}
  
  
  
  
}
  
  
  
}
  
  
],
  
  
"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"
  
  
  
  
  
],
  
  
  
  
  
"karpenter": {
  
  
  
  
  
  
"controllerMilliCpu": 500
  
  
  
  
  
},
  
  
  
  
  
"observeContainerMetrics": false
  
  
  
  
},
  
  
  
  
"presetId": "A1B2C3D4E5",
  
  
  
  
"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",
  
  
  
  
"infraUpdateAvailable": true,
  
  
  
  
"lastHealthCheckAt": "string",
  
  
  
  
"lastHealthDetail": {
  
  
  
  
  
"message": "string",
  
  
  
  
  
"pods": {
  
  
  
  
  
  
"running": 0,
  
  
  
  
  
  
"unschedulable": 0
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"capabilities": {
  
  
  
  
  
"provision": {
  
  
  
  
  
  
"allowed": true,
  
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"destroy": {
  
  
  
  
  
  
"allowed": true,
  
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"delete": {
  
  
  
  
  
  
"allowed": true,
  
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
  
}
  
  
  
  
  
}
  
  
  
  
}
  
  
  
}
  
  
],
  
  
"teams": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"organizationId": "A1B2C3D4E5",
  
  
  
  
"name": "string",
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5",
  
  
  
  
"defaultRoleId": "A1B2C3D4E5"
  
  
  
}
  
  
]
  
}
}

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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

Type
HTTP (bearer)

Responses​

The cluster accessible by the current user is returned.

application/json
JSON
{
  
"item": {
  
  
"id": "A1B2C3D4E5",
  
  
"externalClusterId": "A1B2C3D4E5",
  
  
"connectionId": "A1B2C3D4E5",
  
  
"teamIds": [
  
  
  
"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",
  
  
  
  
"capabilities": {
  
  
  
  
  
"run": {
  
  
  
  
  
  
"allowed": true,
  
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
  
"message": "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",
  
  
  
  
"templateUpdateAvailable": true,
  
  
  
  
"subscriptionId": "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",
  
  
  
  
"infraUpdateAvailable": true,
  
  
  
  
"clusterCount": 0,
  
  
  
  
"catalogCount": 0,
  
  
  
  
"capabilities": {
  
  
  
  
  
"provision": {
  
  
  
  
  
  
"allowed": true,
  
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"destroy": {
  
  
  
  
  
  
"allowed": true,
  
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"delete": {
  
  
  
  
  
  
"allowed": true,
  
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
  
}
  
  
  
  
  
}
  
  
  
  
}
  
  
  
}
  
  
],
  
  
"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"
  
  
  
  
  
],
  
  
  
  
  
"karpenter": {
  
  
  
  
  
  
"controllerMilliCpu": 500
  
  
  
  
  
},
  
  
  
  
  
"observeContainerMetrics": false
  
  
  
  
},
  
  
  
  
"presetId": "A1B2C3D4E5",
  
  
  
  
"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",
  
  
  
  
"infraUpdateAvailable": true,
  
  
  
  
"lastHealthCheckAt": "string",
  
  
  
  
"lastHealthDetail": {
  
  
  
  
  
"message": "string",
  
  
  
  
  
"pods": {
  
  
  
  
  
  
"running": 0,
  
  
  
  
  
  
"unschedulable": 0
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"capabilities": {
  
  
  
  
  
"provision": {
  
  
  
  
  
  
"allowed": true,
  
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"destroy": {
  
  
  
  
  
  
"allowed": true,
  
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"delete": {
  
  
  
  
  
  
"allowed": true,
  
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
  
}
  
  
  
  
  
}
  
  
  
  
}
  
  
  
}
  
  
],
  
  
"teams": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"organizationId": "A1B2C3D4E5",
  
  
  
  
"name": "string",
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5",
  
  
  
  
"defaultRoleId": "A1B2C3D4E5"
  
  
  
}
  
  
]
  
}
}

Playground​

Authorization

Samples​


List cluster tier presets​

GET
/infra/cluster-tier-presets

Returns the enabled cluster tier presets offered when creating a BYOC cluster, in display order. Any authenticated user may read them. When a supported region is supplied, each preset also carries region-scoped pricing for the cost estimate (computePricePerHourUsd) and the response includes serviceRates; without a region (or for an unsupported one), presets return unpriced.

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

Type
HTTP (bearer)

Parameters​

Query Parameters

region

A cloud region code (e.g. us-east-1).

Type
string

Responses​

The list of cluster tier presets.

application/json
JSON
{
  
"items": [
  
  
{
  
  
  
"id": "A1B2C3D4E5",
  
  
  
"name": "string",
  
  
  
"tagline": "string",
  
  
  
"description": "string",
  
  
  
"guidance": "string",
  
  
  
"provider": "string",
  
  
  
"config": {
  
  
  
  
"kubernetesVersion": "1.35",
  
  
  
  
"systemNodeGroup": {
  
  
  
  
  
"name": "system",
  
  
  
  
  
"instanceTypes": [
  
  
  
  
  
  
[
  
  
  
  
  
  
  
"m7g.large",
  
  
  
  
  
  
  
"m7g.xlarge"
  
  
  
  
  
  
]
  
  
  
  
  
],
  
  
  
  
  
"minSize": 1,
  
  
  
  
  
"maxSize": 3,
  
  
  
  
  
"desiredSize": 2,
  
  
  
  
  
"diskSizeGb": 100
  
  
  
  
},
  
  
  
  
"karpenter": {
  
  
  
  
  
"controllerMilliCpu": 500
  
  
  
  
}
  
  
  
},
  
  
  
"isDefault": true,
  
  
  
"computePricePerHourUsd": 0,
  
  
  
"containerMetricsCostPerMonthUsd": 0
  
  
}
  
],
  
"serviceRates": {
  
  
"region": "string",
  
  
"eksControlPlaneHourUsd": 0,
  
  
"nlbHourUsd": 0,
  
  
"natGatewayHourUsd": 0,
  
  
"gp3GbMonthUsd": 0
  
}
}

Playground​

Authorization
Variables
Key
Value

Samples​


List provisioned clusters​

GET
/infra/clusters

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

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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"
  
  
  
  
  
],
  
  
  
  
  
"karpenter": {
  
  
  
  
  
  
"controllerMilliCpu": 500
  
  
  
  
  
},
  
  
  
  
  
"observeContainerMetrics": false
  
  
  
  
},
  
  
  
  
"presetId": "A1B2C3D4E5",
  
  
  
  
"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",
  
  
  
  
"infraUpdateAvailable": true,
  
  
  
  
"lastHealthCheckAt": "string",
  
  
  
  
"lastHealthDetail": {
  
  
  
  
  
"message": "string",
  
  
  
  
  
"pods": {
  
  
  
  
  
  
"running": 0,
  
  
  
  
  
  
"unschedulable": 0
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"capabilities": {
  
  
  
  
  
"provision": {
  
  
  
  
  
  
"allowed": true,
  
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"destroy": {
  
  
  
  
  
  
"allowed": true,
  
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"delete": {
  
  
  
  
  
  
"allowed": true,
  
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
  
"message": "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",
  
  
  
  
"templateUpdateAvailable": true,
  
  
  
  
"subscriptionId": "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,
  
  
  
  
  
  
  
"pricePerHourUsd": 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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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"
  
  
  
  
  
],
  
  
  
  
  
"karpenter": {
  
  
  
  
  
  
"controllerMilliCpu": 500
  
  
  
  
  
},
  
  
  
  
  
"observeContainerMetrics": false
  
  
  
  
},
  
  
  
  
"presetId": "A1B2C3D4E5",
  
  
  
  
"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",
  
  
  
  
"infraUpdateAvailable": true,
  
  
  
  
"lastHealthCheckAt": "string",
  
  
  
  
"lastHealthDetail": {
  
  
  
  
  
"message": "string",
  
  
  
  
  
"pods": {
  
  
  
  
  
  
"running": 0,
  
  
  
  
  
  
"unschedulable": 0
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"capabilities": {
  
  
  
  
  
"provision": {
  
  
  
  
  
  
"allowed": true,
  
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"destroy": {
  
  
  
  
  
  
"allowed": true,
  
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"delete": {
  
  
  
  
  
  
"allowed": true,
  
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
  
"message": "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",
  
  
  
  
"templateUpdateAvailable": true,
  
  
  
  
"subscriptionId": "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,
  
  
  
  
  
  
  
"pricePerHourUsd": 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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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"
  
  
  
  
  
],
  
  
  
  
  
"karpenter": {
  
  
  
  
  
  
"controllerMilliCpu": 500
  
  
  
  
  
},
  
  
  
  
  
"observeContainerMetrics": false
  
  
  
  
},
  
  
  
  
"presetId": "A1B2C3D4E5",
  
  
  
  
"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",
  
  
  
  
"infraUpdateAvailable": true,
  
  
  
  
"lastHealthCheckAt": "string",
  
  
  
  
"lastHealthDetail": {
  
  
  
  
  
"message": "string",
  
  
  
  
  
"pods": {
  
  
  
  
  
  
"running": 0,
  
  
  
  
  
  
"unschedulable": 0
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"capabilities": {
  
  
  
  
  
"provision": {
  
  
  
  
  
  
"allowed": true,
  
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"destroy": {
  
  
  
  
  
  
"allowed": true,
  
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"delete": {
  
  
  
  
  
  
"allowed": true,
  
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
  
"message": "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",
  
  
  
  
"templateUpdateAvailable": true,
  
  
  
  
"subscriptionId": "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,
  
  
  
  
  
  
  
"pricePerHourUsd": 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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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"
  
  
],
  
  
"karpenter": {
  
  
  
"controllerMilliCpu": 500
  
  
},
  
  
"observeContainerMetrics": false
  
},
  
"presetId": "A1B2C3D4E5"
}

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"
  
  
],
  
  
"karpenter": {
  
  
  
"controllerMilliCpu": 500
  
  
},
  
  
"observeContainerMetrics": false
  
},
  
"presetId": "A1B2C3D4E5",
  
"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",
  
"infraUpdateAvailable": true,
  
"lastHealthCheckAt": "string",
  
"lastHealthDetail": {
  
  
"message": "string",
  
  
"pods": {
  
  
  
"running": 0,
  
  
  
"unschedulable": 0
  
  
}
  
},
  
"capabilities": {
  
  
"provision": {
  
  
  
"allowed": true,
  
  
  
"blocked": {
  
  
  
  
"label": "string",
  
  
  
  
"message": "string"
  
  
  
}
  
  
},
  
  
"destroy": {
  
  
  
"allowed": true,
  
  
  
"blocked": {
  
  
  
  
"label": "string",
  
  
  
  
"message": "string"
  
  
  
}
  
  
},
  
  
"delete": {
  
  
  
"allowed": true,
  
  
  
"blocked": {
  
  
  
  
"label": "string",
  
  
  
  
"message": "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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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"
  
  
  
  
  
],
  
  
  
  
  
"karpenter": {
  
  
  
  
  
  
"controllerMilliCpu": 500
  
  
  
  
  
},
  
  
  
  
  
"observeContainerMetrics": false
  
  
  
  
},
  
  
  
  
"presetId": "A1B2C3D4E5",
  
  
  
  
"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",
  
  
  
  
"infraUpdateAvailable": true,
  
  
  
  
"lastHealthCheckAt": "string",
  
  
  
  
"lastHealthDetail": {
  
  
  
  
  
"message": "string",
  
  
  
  
  
"pods": {
  
  
  
  
  
  
"running": 0,
  
  
  
  
  
  
"unschedulable": 0
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"capabilities": {
  
  
  
  
  
"provision": {
  
  
  
  
  
  
"allowed": true,
  
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"destroy": {
  
  
  
  
  
  
"allowed": true,
  
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"delete": {
  
  
  
  
  
  
"allowed": true,
  
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
  
"message": "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",
  
  
  
  
"templateUpdateAvailable": true,
  
  
  
  
"subscriptionId": "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,
  
  
  
  
  
  
  
"pricePerHourUsd": 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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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"
  
  
],
  
  
"karpenter": {
  
  
  
"controllerMilliCpu": 500
  
  
},
  
  
"observeContainerMetrics": false
  
}
}

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"
  
  
],
  
  
"karpenter": {
  
  
  
"controllerMilliCpu": 500
  
  
},
  
  
"observeContainerMetrics": false
  
},
  
"presetId": "A1B2C3D4E5",
  
"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",
  
"infraUpdateAvailable": true,
  
"lastHealthCheckAt": "string",
  
"lastHealthDetail": {
  
  
"message": "string",
  
  
"pods": {
  
  
  
"running": 0,
  
  
  
"unschedulable": 0
  
  
}
  
},
  
"capabilities": {
  
  
"provision": {
  
  
  
"allowed": true,
  
  
  
"blocked": {
  
  
  
  
"label": "string",
  
  
  
  
"message": "string"
  
  
  
}
  
  
},
  
  
"destroy": {
  
  
  
"allowed": true,
  
  
  
"blocked": {
  
  
  
  
"label": "string",
  
  
  
  
"message": "string"
  
  
  
}
  
  
},
  
  
"delete": {
  
  
  
"allowed": true,
  
  
  
"blocked": {
  
  
  
  
"label": "string",
  
  
  
  
"message": "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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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,
  
  
  
  
"pricePerHourUsd": 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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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,
  
  
  
  
"pricePerHourUsd": 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 cluster teams​

GET
/org/clusters/{cluster}/teams

Returns the teams that have been granted access to the specified Kubernetes cluster.

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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 cluster 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 cluster​

POST
/org/clusters/{cluster}/teams

Grants one or more teams access to a Kubernetes cluster. Team members can then target this cluster when configuring jobs, based on their team role permissions.

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

Type
HTTP (bearer)

Request Body​

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

Responses​

The teams were added to the cluster successfully.

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

Playground​

Authorization
Body

Samples​


Remove a team from a cluster​

DELETE
/org/clusters/{cluster}/teams/{team}

Revokes a team's access to a cluster. Unsupported for general use — removing a team may break existing jobs and notebooks still linked to that team. Use at your own risk. Requires cluster Manage and Teams Manage permissions.

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

Type
HTTP (bearer)

Responses​

The requested operation was done successfully.

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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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""lastRunAt"
Default
"lastRunAt"
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",
  
  
  
  
"workloadConfigId": "A1B2C3D4E5",
  
  
  
  
"description": "Daily ETL pipeline for sales data",
  
  
  
  
"config": {
  
  
  
  
  
"sql": {
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"queryId": "Q1R2S3T4U5"
  
  
  
  
  
},
  
  
  
  
  
"python": {
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"packageName": "string",
  
  
  
  
  
  
"entryPoint": "string",
  
  
  
  
  
  
"arguments": [
  
  
  
  
  
  
  
[
  
  
  
  
  
  
  
  
"--mode",
  
  
  
  
  
  
  
  
"incremental",
  
  
  
  
  
  
  
  
"--full-refresh"
  
  
  
  
  
  
  
]
  
  
  
  
  
  
]
  
  
  
  
  
},
  
  
  
  
  
"notebook": {
  
  
  
  
  
  
"notebookId": "A1B2C3D4E5",
  
  
  
  
  
  
"arguments": [
  
  
  
  
  
  
  
[
  
  
  
  
  
  
  
  
"--mode",
  
  
  
  
  
  
  
  
"incremental"
  
  
  
  
  
  
  
]
  
  
  
  
  
  
]
  
  
  
  
  
},
  
  
  
  
  
"lakesail": {
  
  
  
  
  
  
"executionMode": "string",
  
  
  
  
  
  
"maxRetries": 3,
  
  
  
  
  
  
"lakesailImageUri": "string",
  
  
  
  
  
  
"libraries": [
  
  
  
  
  
  
  
{
  
  
  
  
  
  
  
  
"pypi": {
  
  
  
  
  
  
  
  
  
"package": "string",
  
  
  
  
  
  
  
  
  
"repo": "string"
  
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
  
"requirements": {
  
  
  
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
  
  
  
"uri": "string"
  
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
  
"whl": "string"
  
  
  
  
  
  
  
}
  
  
  
  
  
  
],
  
  
  
  
  
  
"envVars": {
  
  
  
  
  
  
  
"additionalProperties": {
  
  
  
  
  
  
  
  
"type": "string",
  
  
  
  
  
  
  
  
"value": "string"
  
  
  
  
  
  
  
}
  
  
  
  
  
  
},
  
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
  
},
  
  
  
  
  
"parameterDefinitions": [
  
  
  
  
  
  
{
  
  
  
  
  
  
  
"name": "date",
  
  
  
  
  
  
  
"type": "string",
  
  
  
  
  
  
  
"required": true,
  
  
  
  
  
  
  
"default": "2026-01-01"
  
  
  
  
  
  
}
  
  
  
  
  
]
  
  
  
  
},
  
  
  
  
"catalogs": [
  
  
  
  
  
{
  
  
  
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
  
  
  
"name": "Production Cluster"
  
  
  
  
  
}
  
  
  
  
],
  
  
  
  
"defaultCatalogId": "A1B2C3D4E5",
  
  
  
  
"catalogsOverridden": true,
  
  
  
  
"effectiveCatalogs": [
  
  
  
  
  
{
  
  
  
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
  
  
  
"name": "string",
  
  
  
  
  
  
"catalogName": "string",
  
  
  
  
  
  
"provider": "glue",
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"isDefault": true,
  
  
  
  
  
  
"overridden": true
  
  
  
  
  
}
  
  
  
  
],
  
  
  
  
"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",
  
  
  
  
"scheduledRunsOverdue": 0,
  
  
  
  
"scheduledRunsOverdueSince": "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",
  
  
  
  
"workloadConfigId": "A1B2C3D4E5",
  
  
  
  
"retainedUntil": "string",
  
  
  
  
"retainedUntilMax": "string",
  
  
  
  
"logicalTime": "2026-09-19T10:00:00Z",
  
  
  
  
"webUrl": "https://platform.lakesail.com/acme/jobs/JOBABC123/runs/RUNABC123",
  
  
  
  
"restarts": {
  
  
  
  
  
"count": 2,
  
  
  
  
  
"involuntaryCount": 1,
  
  
  
  
  
"lastAt": "string",
  
  
  
  
  
"lastCause": "runner_failed"
  
  
  
  
},
  
  
  
  
"terminationReason": "string",
  
  
  
  
"exitCode": 0,
  
  
  
  
"attempt": 1
  
  
  
}
  
  
],
  
  
"teams": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"organizationId": "A1B2C3D4E5",
  
  
  
  
"name": "string",
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5",
  
  
  
  
"defaultRoleId": "A1B2C3D4E5"
  
  
  
}
  
  
],
  
  
"workloadConfigs": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"name": "Production Cluster",
  
  
  
  
"workloadType": "string",
  
  
  
  
"clusterId": "A1B2C3D4E5",
  
  
  
  
"config": {
  
  
  
  
  
"sail": {
  
  
  
  
  
  
"executionMode": "string",
  
  
  
  
  
  
"maxRetries": 3,
  
  
  
  
  
  
"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": {
  
  
  
  
  
  
  
  
"type": "string",
  
  
  
  
  
  
  
  
"value": "string"
  
  
  
  
  
  
  
}
  
  
  
  
  
  
}
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"endpointLimits": {
  
  
  
  
  
"spark_connect": 0
  
  
  
  
},
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5",
  
  
  
  
"catalogs": [
  
  
  
  
  
{
  
  
  
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
  
  
  
"name": "Production Cluster"
  
  
  
  
  
}
  
  
  
  
],
  
  
  
  
"defaultCatalogId": "A1B2C3D4E5",
  
  
  
  
"capabilities": {
  
  
  
  
  
"run": {
  
  
  
  
  
  
"allowed": true,
  
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"storeFiles": {
  
  
  
  
  
  
"allowed": true,
  
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"warning": {
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"notebookCount": 0,
  
  
  
  
"jobCount": 0,
  
  
  
  
"activeWorkloadCount": 0
  
  
  
}
  
  
]
  
}
}

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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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 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",
  
  
  
  
"workloadConfigId": "A1B2C3D4E5",
  
  
  
  
"description": "Daily ETL pipeline for sales data",
  
  
  
  
"config": {
  
  
  
  
  
"sql": {
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"queryId": "Q1R2S3T4U5"
  
  
  
  
  
},
  
  
  
  
  
"python": {
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"packageName": "string",
  
  
  
  
  
  
"entryPoint": "string",
  
  
  
  
  
  
"arguments": [
  
  
  
  
  
  
  
[
  
  
  
  
  
  
  
  
"--mode",
  
  
  
  
  
  
  
  
"incremental",
  
  
  
  
  
  
  
  
"--full-refresh"
  
  
  
  
  
  
  
]
  
  
  
  
  
  
]
  
  
  
  
  
},
  
  
  
  
  
"notebook": {
  
  
  
  
  
  
"notebookId": "A1B2C3D4E5",
  
  
  
  
  
  
"arguments": [
  
  
  
  
  
  
  
[
  
  
  
  
  
  
  
  
"--mode",
  
  
  
  
  
  
  
  
"incremental"
  
  
  
  
  
  
  
]
  
  
  
  
  
  
]
  
  
  
  
  
},
  
  
  
  
  
"lakesail": {
  
  
  
  
  
  
"executionMode": "string",
  
  
  
  
  
  
"maxRetries": 3,
  
  
  
  
  
  
"lakesailImageUri": "string",
  
  
  
  
  
  
"libraries": [
  
  
  
  
  
  
  
{
  
  
  
  
  
  
  
  
"pypi": {
  
  
  
  
  
  
  
  
  
"package": "string",
  
  
  
  
  
  
  
  
  
"repo": "string"
  
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
  
"requirements": {
  
  
  
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
  
  
  
"uri": "string"
  
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
  
"whl": "string"
  
  
  
  
  
  
  
}
  
  
  
  
  
  
],
  
  
  
  
  
  
"envVars": {
  
  
  
  
  
  
  
"additionalProperties": {
  
  
  
  
  
  
  
  
"type": "string",
  
  
  
  
  
  
  
  
"value": "string"
  
  
  
  
  
  
  
}
  
  
  
  
  
  
},
  
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
  
},
  
  
  
  
  
"parameterDefinitions": [
  
  
  
  
  
  
{
  
  
  
  
  
  
  
"name": "date",
  
  
  
  
  
  
  
"type": "string",
  
  
  
  
  
  
  
"required": true,
  
  
  
  
  
  
  
"default": "2026-01-01"
  
  
  
  
  
  
}
  
  
  
  
  
]
  
  
  
  
},
  
  
  
  
"catalogs": [
  
  
  
  
  
{
  
  
  
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
  
  
  
"name": "Production Cluster"
  
  
  
  
  
}
  
  
  
  
],
  
  
  
  
"defaultCatalogId": "A1B2C3D4E5",
  
  
  
  
"catalogsOverridden": true,
  
  
  
  
"effectiveCatalogs": [
  
  
  
  
  
{
  
  
  
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
  
  
  
"name": "string",
  
  
  
  
  
  
"catalogName": "string",
  
  
  
  
  
  
"provider": "glue",
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"isDefault": true,
  
  
  
  
  
  
"overridden": true
  
  
  
  
  
}
  
  
  
  
],
  
  
  
  
"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",
  
  
  
  
"scheduledRunsOverdue": 0,
  
  
  
  
"scheduledRunsOverdueSince": "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",
  
  
  
  
"workloadConfigId": "A1B2C3D4E5",
  
  
  
  
"retainedUntil": "string",
  
  
  
  
"retainedUntilMax": "string",
  
  
  
  
"logicalTime": "2026-09-19T10:00:00Z",
  
  
  
  
"webUrl": "https://platform.lakesail.com/acme/jobs/JOBABC123/runs/RUNABC123",
  
  
  
  
"restarts": {
  
  
  
  
  
"count": 2,
  
  
  
  
  
"involuntaryCount": 1,
  
  
  
  
  
"lastAt": "string",
  
  
  
  
  
"lastCause": "runner_failed"
  
  
  
  
},
  
  
  
  
"terminationReason": "string",
  
  
  
  
"exitCode": 0,
  
  
  
  
"attempt": 1
  
  
  
}
  
  
],
  
  
"teams": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"organizationId": "A1B2C3D4E5",
  
  
  
  
"name": "string",
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5",
  
  
  
  
"defaultRoleId": "A1B2C3D4E5"
  
  
  
}
  
  
],
  
  
"workloadConfigs": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"name": "Production Cluster",
  
  
  
  
"workloadType": "string",
  
  
  
  
"clusterId": "A1B2C3D4E5",
  
  
  
  
"config": {
  
  
  
  
  
"sail": {
  
  
  
  
  
  
"executionMode": "string",
  
  
  
  
  
  
"maxRetries": 3,
  
  
  
  
  
  
"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": {
  
  
  
  
  
  
  
  
"type": "string",
  
  
  
  
  
  
  
  
"value": "string"
  
  
  
  
  
  
  
}
  
  
  
  
  
  
}
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"endpointLimits": {
  
  
  
  
  
"spark_connect": 0
  
  
  
  
},
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5",
  
  
  
  
"catalogs": [
  
  
  
  
  
{
  
  
  
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
  
  
  
"name": "Production Cluster"
  
  
  
  
  
}
  
  
  
  
],
  
  
  
  
"defaultCatalogId": "A1B2C3D4E5",
  
  
  
  
"capabilities": {
  
  
  
  
  
"run": {
  
  
  
  
  
  
"allowed": true,
  
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"storeFiles": {
  
  
  
  
  
  
"allowed": true,
  
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"warning": {
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"notebookCount": 0,
  
  
  
  
"jobCount": 0,
  
  
  
  
"activeWorkloadCount": 0
  
  
  
}
  
  
]
  
}
}

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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

Type
HTTP (bearer)

Request Body​

application/json
JSON
{
  
"jobKey": "daily-sales-etl",
  
"status": "active",
  
"workloadConfigId": "A1B2C3D4E5",
  
"description": "Daily ETL pipeline for sales data",
  
"config": {
  
  
"sql": {
  
  
  
"source": "string",
  
  
  
"queryId": "Q1R2S3T4U5"
  
  
},
  
  
"python": {
  
  
  
"source": "string",
  
  
  
"packageName": "string",
  
  
  
"entryPoint": "string",
  
  
  
"arguments": [
  
  
  
  
[
  
  
  
  
  
"--mode",
  
  
  
  
  
"incremental",
  
  
  
  
  
"--full-refresh"
  
  
  
  
]
  
  
  
]
  
  
},
  
  
"notebook": {
  
  
  
"notebookId": "A1B2C3D4E5",
  
  
  
"arguments": [
  
  
  
  
[
  
  
  
  
  
"--mode",
  
  
  
  
  
"incremental"
  
  
  
  
]
  
  
  
]
  
  
},
  
  
"lakesail": {
  
  
  
"executionMode": "string",
  
  
  
"maxRetries": 3,
  
  
  
"lakesailImageUri": "string",
  
  
  
"libraries": [
  
  
  
  
{
  
  
  
  
  
"pypi": {
  
  
  
  
  
  
"package": "string",
  
  
  
  
  
  
"repo": "string"
  
  
  
  
  
},
  
  
  
  
  
"requirements": {
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"uri": "string"
  
  
  
  
  
},
  
  
  
  
  
"whl": "string"
  
  
  
  
}
  
  
  
],
  
  
  
"envVars": {
  
  
  
  
"additionalProperties": {
  
  
  
  
  
"type": "string",
  
  
  
  
  
"value": "string"
  
  
  
  
}
  
  
  
},
  
  
  
"additionalProperties": "string"
  
  
},
  
  
"parameterDefinitions": [
  
  
  
{
  
  
  
  
"name": "date",
  
  
  
  
"type": "string",
  
  
  
  
"required": true,
  
  
  
  
"default": "2026-01-01"
  
  
  
}
  
  
]
  
},
  
"catalogs": [
  
],
  
"defaultCatalogId": "A1B2C3D4E5",
  
"timeoutSeconds": 3600,
  
"sourceConfig": {
  
  
"url": "https://github.com/acme/data-pipelines.git",
  
  
"provider": "string",
  
  
"reference": {
  
  
  
"type": "string",
  
  
  
"value": "main"
  
  
},
  
  
"snapshotCommit": "a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2"
  
},
  
"dependsOn": [
  
],
  
"cronExpression": "0 2 * * *",
  
"cronTimezone": "America/New_York",
  
"concurrencyPolicy": "skip",
  
"maxConcurrentRuns": 1,
  
"missedSchedulePolicy": "latest",
  
"missedScheduleOnResume": "skip",
  
"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",
  
"workloadConfigId": "A1B2C3D4E5",
  
"description": "Daily ETL pipeline for sales data",
  
"config": {
  
  
"sql": {
  
  
  
"source": "string",
  
  
  
"queryId": "Q1R2S3T4U5"
  
  
},
  
  
"python": {
  
  
  
"source": "string",
  
  
  
"packageName": "string",
  
  
  
"entryPoint": "string",
  
  
  
"arguments": [
  
  
  
  
[
  
  
  
  
  
"--mode",
  
  
  
  
  
"incremental",
  
  
  
  
  
"--full-refresh"
  
  
  
  
]
  
  
  
]
  
  
},
  
  
"notebook": {
  
  
  
"notebookId": "A1B2C3D4E5",
  
  
  
"arguments": [
  
  
  
  
[
  
  
  
  
  
"--mode",
  
  
  
  
  
"incremental"
  
  
  
  
]
  
  
  
]
  
  
},
  
  
"lakesail": {
  
  
  
"executionMode": "string",
  
  
  
"maxRetries": 3,
  
  
  
"lakesailImageUri": "string",
  
  
  
"libraries": [
  
  
  
  
{
  
  
  
  
  
"pypi": {
  
  
  
  
  
  
"package": "string",
  
  
  
  
  
  
"repo": "string"
  
  
  
  
  
},
  
  
  
  
  
"requirements": {
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"uri": "string"
  
  
  
  
  
},
  
  
  
  
  
"whl": "string"
  
  
  
  
}
  
  
  
],
  
  
  
"envVars": {
  
  
  
  
"additionalProperties": {
  
  
  
  
  
"type": "string",
  
  
  
  
  
"value": "string"
  
  
  
  
}
  
  
  
},
  
  
  
"additionalProperties": "string"
  
  
},
  
  
"parameterDefinitions": [
  
  
  
{
  
  
  
  
"name": "date",
  
  
  
  
"type": "string",
  
  
  
  
"required": true,
  
  
  
  
"default": "2026-01-01"
  
  
  
}
  
  
]
  
},
  
"catalogs": [
  
  
{
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
"name": "Production Cluster"
  
  
}
  
],
  
"defaultCatalogId": "A1B2C3D4E5",
  
"catalogsOverridden": true,
  
"effectiveCatalogs": [
  
  
{
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
"name": "string",
  
  
  
"catalogName": "string",
  
  
  
"provider": "glue",
  
  
  
"source": "string",
  
  
  
"isDefault": true,
  
  
  
"overridden": true
  
  
}
  
],
  
"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",
  
"scheduledRunsOverdue": 0,
  
"scheduledRunsOverdueSince": "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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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",
  
  
  
  
"workloadConfigId": "A1B2C3D4E5",
  
  
  
  
"description": "Daily ETL pipeline for sales data",
  
  
  
  
"config": {
  
  
  
  
  
"sql": {
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"queryId": "Q1R2S3T4U5"
  
  
  
  
  
},
  
  
  
  
  
"python": {
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"packageName": "string",
  
  
  
  
  
  
"entryPoint": "string",
  
  
  
  
  
  
"arguments": [
  
  
  
  
  
  
  
[
  
  
  
  
  
  
  
  
"--mode",
  
  
  
  
  
  
  
  
"incremental",
  
  
  
  
  
  
  
  
"--full-refresh"
  
  
  
  
  
  
  
]
  
  
  
  
  
  
]
  
  
  
  
  
},
  
  
  
  
  
"notebook": {
  
  
  
  
  
  
"notebookId": "A1B2C3D4E5",
  
  
  
  
  
  
"arguments": [
  
  
  
  
  
  
  
[
  
  
  
  
  
  
  
  
"--mode",
  
  
  
  
  
  
  
  
"incremental"
  
  
  
  
  
  
  
]
  
  
  
  
  
  
]
  
  
  
  
  
},
  
  
  
  
  
"lakesail": {
  
  
  
  
  
  
"executionMode": "string",
  
  
  
  
  
  
"maxRetries": 3,
  
  
  
  
  
  
"lakesailImageUri": "string",
  
  
  
  
  
  
"libraries": [
  
  
  
  
  
  
  
{
  
  
  
  
  
  
  
  
"pypi": {
  
  
  
  
  
  
  
  
  
"package": "string",
  
  
  
  
  
  
  
  
  
"repo": "string"
  
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
  
"requirements": {
  
  
  
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
  
  
  
"uri": "string"
  
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
  
"whl": "string"
  
  
  
  
  
  
  
}
  
  
  
  
  
  
],
  
  
  
  
  
  
"envVars": {
  
  
  
  
  
  
  
"additionalProperties": {
  
  
  
  
  
  
  
  
"type": "string",
  
  
  
  
  
  
  
  
"value": "string"
  
  
  
  
  
  
  
}
  
  
  
  
  
  
},
  
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
  
},
  
  
  
  
  
"parameterDefinitions": [
  
  
  
  
  
  
{
  
  
  
  
  
  
  
"name": "date",
  
  
  
  
  
  
  
"type": "string",
  
  
  
  
  
  
  
"required": true,
  
  
  
  
  
  
  
"default": "2026-01-01"
  
  
  
  
  
  
}
  
  
  
  
  
]
  
  
  
  
},
  
  
  
  
"catalogs": [
  
  
  
  
  
{
  
  
  
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
  
  
  
"name": "Production Cluster"
  
  
  
  
  
}
  
  
  
  
],
  
  
  
  
"defaultCatalogId": "A1B2C3D4E5",
  
  
  
  
"catalogsOverridden": true,
  
  
  
  
"effectiveCatalogs": [
  
  
  
  
  
{
  
  
  
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
  
  
  
"name": "string",
  
  
  
  
  
  
"catalogName": "string",
  
  
  
  
  
  
"provider": "glue",
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"isDefault": true,
  
  
  
  
  
  
"overridden": true
  
  
  
  
  
}
  
  
  
  
],
  
  
  
  
"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",
  
  
  
  
"scheduledRunsOverdue": 0,
  
  
  
  
"scheduledRunsOverdueSince": "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",
  
  
  
  
"workloadConfigId": "A1B2C3D4E5",
  
  
  
  
"retainedUntil": "string",
  
  
  
  
"retainedUntilMax": "string",
  
  
  
  
"logicalTime": "2026-09-19T10:00:00Z",
  
  
  
  
"webUrl": "https://platform.lakesail.com/acme/jobs/JOBABC123/runs/RUNABC123",
  
  
  
  
"restarts": {
  
  
  
  
  
"count": 2,
  
  
  
  
  
"involuntaryCount": 1,
  
  
  
  
  
"lastAt": "string",
  
  
  
  
  
"lastCause": "runner_failed"
  
  
  
  
},
  
  
  
  
"terminationReason": "string",
  
  
  
  
"exitCode": 0,
  
  
  
  
"attempt": 1
  
  
  
}
  
  
],
  
  
"teams": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"organizationId": "A1B2C3D4E5",
  
  
  
  
"name": "string",
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5",
  
  
  
  
"defaultRoleId": "A1B2C3D4E5"
  
  
  
}
  
  
],
  
  
"workloadConfigs": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"name": "Production Cluster",
  
  
  
  
"workloadType": "string",
  
  
  
  
"clusterId": "A1B2C3D4E5",
  
  
  
  
"config": {
  
  
  
  
  
"sail": {
  
  
  
  
  
  
"executionMode": "string",
  
  
  
  
  
  
"maxRetries": 3,
  
  
  
  
  
  
"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": {
  
  
  
  
  
  
  
  
"type": "string",
  
  
  
  
  
  
  
  
"value": "string"
  
  
  
  
  
  
  
}
  
  
  
  
  
  
}
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"endpointLimits": {
  
  
  
  
  
"spark_connect": 0
  
  
  
  
},
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5",
  
  
  
  
"catalogs": [
  
  
  
  
  
{
  
  
  
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
  
  
  
"name": "Production Cluster"
  
  
  
  
  
}
  
  
  
  
],
  
  
  
  
"defaultCatalogId": "A1B2C3D4E5",
  
  
  
  
"capabilities": {
  
  
  
  
  
"run": {
  
  
  
  
  
  
"allowed": true,
  
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"storeFiles": {
  
  
  
  
  
  
"allowed": true,
  
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"warning": {
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"notebookCount": 0,
  
  
  
  
"jobCount": 0,
  
  
  
  
"activeWorkloadCount": 0
  
  
  
}
  
  
]
  
}
}

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. Refused while any run is still executing or still being cleaned up: deleting the job removes the run records its teardown reads, which would leave the run's cloud resources behind. Cancel a run in flight to make the job deletable sooner. Runs that keep their resources (see resourceCleanupMode), or whose cleanup gave up, do not block the delete: their cleanup is started here, because once the job is gone nothing can reach them.

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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: its key and its status. Description, configuration and schedule belong to the version; change them through the draft operations or by creating a new version.

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

Type
HTTP (bearer)

Parameters​

Path Parameters

job*

A LakeSail job ID.

Required

Request Body​

application/json
JSON
{
  
"jobKey": "daily-sales-etl",
  
"status": "active",
  
"missedScheduleOnResume": "skip"
}

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",
  
"workloadConfigId": "A1B2C3D4E5",
  
"description": "Daily ETL pipeline for sales data",
  
"config": {
  
  
"sql": {
  
  
  
"source": "string",
  
  
  
"queryId": "Q1R2S3T4U5"
  
  
},
  
  
"python": {
  
  
  
"source": "string",
  
  
  
"packageName": "string",
  
  
  
"entryPoint": "string",
  
  
  
"arguments": [
  
  
  
  
[
  
  
  
  
  
"--mode",
  
  
  
  
  
"incremental",
  
  
  
  
  
"--full-refresh"
  
  
  
  
]
  
  
  
]
  
  
},
  
  
"notebook": {
  
  
  
"notebookId": "A1B2C3D4E5",
  
  
  
"arguments": [
  
  
  
  
[
  
  
  
  
  
"--mode",
  
  
  
  
  
"incremental"
  
  
  
  
]
  
  
  
]
  
  
},
  
  
"lakesail": {
  
  
  
"executionMode": "string",
  
  
  
"maxRetries": 3,
  
  
  
"lakesailImageUri": "string",
  
  
  
"libraries": [
  
  
  
  
{
  
  
  
  
  
"pypi": {
  
  
  
  
  
  
"package": "string",
  
  
  
  
  
  
"repo": "string"
  
  
  
  
  
},
  
  
  
  
  
"requirements": {
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"uri": "string"
  
  
  
  
  
},
  
  
  
  
  
"whl": "string"
  
  
  
  
}
  
  
  
],
  
  
  
"envVars": {
  
  
  
  
"additionalProperties": {
  
  
  
  
  
"type": "string",
  
  
  
  
  
"value": "string"
  
  
  
  
}
  
  
  
},
  
  
  
"additionalProperties": "string"
  
  
},
  
  
"parameterDefinitions": [
  
  
  
{
  
  
  
  
"name": "date",
  
  
  
  
"type": "string",
  
  
  
  
"required": true,
  
  
  
  
"default": "2026-01-01"
  
  
  
}
  
  
]
  
},
  
"catalogs": [
  
  
{
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
"name": "Production Cluster"
  
  
}
  
],
  
"defaultCatalogId": "A1B2C3D4E5",
  
"catalogsOverridden": true,
  
"effectiveCatalogs": [
  
  
{
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
"name": "string",
  
  
  
"catalogName": "string",
  
  
  
"provider": "glue",
  
  
  
"source": "string",
  
  
  
"isDefault": true,
  
  
  
"overridden": true
  
  
}
  
],
  
"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",
  
"scheduledRunsOverdue": 0,
  
"scheduledRunsOverdueSince": "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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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",
  
"workloadConfigId": "A1B2C3D4E5",
  
"description": "Daily ETL pipeline for sales data",
  
"config": {
  
  
"sql": {
  
  
  
"source": "string",
  
  
  
"queryId": "Q1R2S3T4U5"
  
  
},
  
  
"python": {
  
  
  
"source": "string",
  
  
  
"packageName": "string",
  
  
  
"entryPoint": "string",
  
  
  
"arguments": [
  
  
  
  
[
  
  
  
  
  
"--mode",
  
  
  
  
  
"incremental",
  
  
  
  
  
"--full-refresh"
  
  
  
  
]
  
  
  
]
  
  
},
  
  
"notebook": {
  
  
  
"notebookId": "A1B2C3D4E5",
  
  
  
"arguments": [
  
  
  
  
[
  
  
  
  
  
"--mode",
  
  
  
  
  
"incremental"
  
  
  
  
]
  
  
  
]
  
  
},
  
  
"lakesail": {
  
  
  
"executionMode": "string",
  
  
  
"maxRetries": 3,
  
  
  
"lakesailImageUri": "string",
  
  
  
"libraries": [
  
  
  
  
{
  
  
  
  
  
"pypi": {
  
  
  
  
  
  
"package": "string",
  
  
  
  
  
  
"repo": "string"
  
  
  
  
  
},
  
  
  
  
  
"requirements": {
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"uri": "string"
  
  
  
  
  
},
  
  
  
  
  
"whl": "string"
  
  
  
  
}
  
  
  
],
  
  
  
"envVars": {
  
  
  
  
"additionalProperties": {
  
  
  
  
  
"type": "string",
  
  
  
  
  
"value": "string"
  
  
  
  
}
  
  
  
},
  
  
  
"additionalProperties": "string"
  
  
},
  
  
"parameterDefinitions": [
  
  
  
{
  
  
  
  
"name": "date",
  
  
  
  
"type": "string",
  
  
  
  
"required": true,
  
  
  
  
"default": "2026-01-01"
  
  
  
}
  
  
]
  
},
  
"catalogs": [
  
  
{
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
"name": "Production Cluster"
  
  
}
  
],
  
"defaultCatalogId": "A1B2C3D4E5",
  
"catalogsOverridden": true,
  
"effectiveCatalogs": [
  
  
{
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
"name": "string",
  
  
  
"catalogName": "string",
  
  
  
"provider": "glue",
  
  
  
"source": "string",
  
  
  
"isDefault": true,
  
  
  
"overridden": true
  
  
}
  
],
  
"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",
  
"scheduledRunsOverdue": 0,
  
"scheduledRunsOverdueSince": "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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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",
  
"memberId": "A1B2C3D4E5",
  
"description": "Daily ETL pipeline for sales data",
  
"config": {
  
  
"sql": {
  
  
  
"source": "string",
  
  
  
"queryId": "Q1R2S3T4U5"
  
  
},
  
  
"python": {
  
  
  
"source": "string",
  
  
  
"packageName": "string",
  
  
  
"entryPoint": "string",
  
  
  
"arguments": [
  
  
  
  
[
  
  
  
  
  
"--mode",
  
  
  
  
  
"incremental",
  
  
  
  
  
"--full-refresh"
  
  
  
  
]
  
  
  
]
  
  
},
  
  
"notebook": {
  
  
  
"notebookId": "A1B2C3D4E5",
  
  
  
"arguments": [
  
  
  
  
[
  
  
  
  
  
"--mode",
  
  
  
  
  
"incremental"
  
  
  
  
]
  
  
  
]
  
  
},
  
  
"lakesail": {
  
  
  
"executionMode": "string",
  
  
  
"maxRetries": 3,
  
  
  
"lakesailImageUri": "string",
  
  
  
"libraries": [
  
  
  
  
{
  
  
  
  
  
"pypi": {
  
  
  
  
  
  
"package": "string",
  
  
  
  
  
  
"repo": "string"
  
  
  
  
  
},
  
  
  
  
  
"requirements": {
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"uri": "string"
  
  
  
  
  
},
  
  
  
  
  
"whl": "string"
  
  
  
  
}
  
  
  
],
  
  
  
"envVars": {
  
  
  
  
"additionalProperties": {
  
  
  
  
  
"type": "string",
  
  
  
  
  
"value": "string"
  
  
  
  
}
  
  
  
},
  
  
  
"additionalProperties": "string"
  
  
},
  
  
"parameterDefinitions": [
  
  
  
{
  
  
  
  
"name": "date",
  
  
  
  
"type": "string",
  
  
  
  
"required": true,
  
  
  
  
"default": "2026-01-01"
  
  
  
}
  
  
]
  
},
  
"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,
  
"workloadConfigId": "A1B2C3D4E5",
  
"catalogs": [
  
  
{
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
"name": "Production Cluster"
  
  
}
  
],
  
"defaultCatalogId": "A1B2C3D4E5",
  
"catalogsOverridden": true,
  
"effectiveCatalogs": [
  
  
{
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
"name": "string",
  
  
  
"catalogName": "string",
  
  
  
"provider": "glue",
  
  
  
"source": "string",
  
  
  
"isDefault": true,
  
  
  
"overridden": true
  
  
}
  
],
  
"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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

Type
HTTP (bearer)

Parameters​

Path Parameters

job*

A LakeSail job ID.

Required

Request Body​

application/json
JSON
{
  
"description": "Daily ETL pipeline for sales data",
  
"config": {
  
  
"sql": {
  
  
  
"source": "string",
  
  
  
"queryId": "Q1R2S3T4U5"
  
  
},
  
  
"python": {
  
  
  
"source": "string",
  
  
  
"packageName": "string",
  
  
  
"entryPoint": "string",
  
  
  
"arguments": [
  
  
  
  
[
  
  
  
  
  
"--mode",
  
  
  
  
  
"incremental",
  
  
  
  
  
"--full-refresh"
  
  
  
  
]
  
  
  
]
  
  
},
  
  
"notebook": {
  
  
  
"notebookId": "A1B2C3D4E5",
  
  
  
"arguments": [
  
  
  
  
[
  
  
  
  
  
"--mode",
  
  
  
  
  
"incremental"
  
  
  
  
]
  
  
  
]
  
  
},
  
  
"lakesail": {
  
  
  
"executionMode": "string",
  
  
  
"maxRetries": 3,
  
  
  
"lakesailImageUri": "string",
  
  
  
"libraries": [
  
  
  
  
{
  
  
  
  
  
"pypi": {
  
  
  
  
  
  
"package": "string",
  
  
  
  
  
  
"repo": "string"
  
  
  
  
  
},
  
  
  
  
  
"requirements": {
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"uri": "string"
  
  
  
  
  
},
  
  
  
  
  
"whl": "string"
  
  
  
  
}
  
  
  
],
  
  
  
"envVars": {
  
  
  
  
"additionalProperties": {
  
  
  
  
  
"type": "string",
  
  
  
  
  
"value": "string"
  
  
  
  
}
  
  
  
},
  
  
  
"additionalProperties": "string"
  
  
},
  
  
"parameterDefinitions": [
  
  
  
{
  
  
  
  
"name": "date",
  
  
  
  
"type": "string",
  
  
  
  
"required": true,
  
  
  
  
"default": "2026-01-01"
  
  
  
}
  
  
]
  
},
  
"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,
  
"workloadConfigId": "A1B2C3D4E5",
  
"catalogs": [
  
  
{
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
"name": "Production Cluster"
  
  
}
  
],
  
"defaultCatalogId": "A1B2C3D4E5",
  
"catalogsOverridden": true,
  
"missedSchedulePolicy": "latest"
}

Responses​

A new draft version was created successfully.

application/json
JSON
{
  
"jobId": "A1B2C3D4E5",
  
"version": 0,
  
"basedOnVersion": 0,
  
"status": "string",
  
"jobType": "string",
  
"memberId": "A1B2C3D4E5",
  
"description": "Daily ETL pipeline for sales data",
  
"config": {
  
  
"sql": {
  
  
  
"source": "string",
  
  
  
"queryId": "Q1R2S3T4U5"
  
  
},
  
  
"python": {
  
  
  
"source": "string",
  
  
  
"packageName": "string",
  
  
  
"entryPoint": "string",
  
  
  
"arguments": [
  
  
  
  
[
  
  
  
  
  
"--mode",
  
  
  
  
  
"incremental",
  
  
  
  
  
"--full-refresh"
  
  
  
  
]
  
  
  
]
  
  
},
  
  
"notebook": {
  
  
  
"notebookId": "A1B2C3D4E5",
  
  
  
"arguments": [
  
  
  
  
[
  
  
  
  
  
"--mode",
  
  
  
  
  
"incremental"
  
  
  
  
]
  
  
  
]
  
  
},
  
  
"lakesail": {
  
  
  
"executionMode": "string",
  
  
  
"maxRetries": 3,
  
  
  
"lakesailImageUri": "string",
  
  
  
"libraries": [
  
  
  
  
{
  
  
  
  
  
"pypi": {
  
  
  
  
  
  
"package": "string",
  
  
  
  
  
  
"repo": "string"
  
  
  
  
  
},
  
  
  
  
  
"requirements": {
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"uri": "string"
  
  
  
  
  
},
  
  
  
  
  
"whl": "string"
  
  
  
  
}
  
  
  
],
  
  
  
"envVars": {
  
  
  
  
"additionalProperties": {
  
  
  
  
  
"type": "string",
  
  
  
  
  
"value": "string"
  
  
  
  
}
  
  
  
},
  
  
  
"additionalProperties": "string"
  
  
},
  
  
"parameterDefinitions": [
  
  
  
{
  
  
  
  
"name": "date",
  
  
  
  
"type": "string",
  
  
  
  
"required": true,
  
  
  
  
"default": "2026-01-01"
  
  
  
}
  
  
]
  
},
  
"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,
  
"workloadConfigId": "A1B2C3D4E5",
  
"catalogs": [
  
  
{
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
"name": "Production Cluster"
  
  
}
  
],
  
"defaultCatalogId": "A1B2C3D4E5",
  
"catalogsOverridden": true,
  
"effectiveCatalogs": [
  
  
{
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
"name": "string",
  
  
  
"catalogName": "string",
  
  
  
"provider": "glue",
  
  
  
"source": "string",
  
  
  
"isDefault": true,
  
  
  
"overridden": true
  
  
}
  
],
  
"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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

Type
HTTP (bearer)

Parameters​

Path Parameters

job*

A LakeSail job ID.

Required

Request Body​

application/json
JSON
{
  
"description": "Daily ETL pipeline for sales data",
  
"config": {
  
  
"sql": {
  
  
  
"source": "string",
  
  
  
"queryId": "Q1R2S3T4U5"
  
  
},
  
  
"python": {
  
  
  
"source": "string",
  
  
  
"packageName": "string",
  
  
  
"entryPoint": "string",
  
  
  
"arguments": [
  
  
  
  
[
  
  
  
  
  
"--mode",
  
  
  
  
  
"incremental",
  
  
  
  
  
"--full-refresh"
  
  
  
  
]
  
  
  
]
  
  
},
  
  
"notebook": {
  
  
  
"notebookId": "A1B2C3D4E5",
  
  
  
"arguments": [
  
  
  
  
[
  
  
  
  
  
"--mode",
  
  
  
  
  
"incremental"
  
  
  
  
]
  
  
  
]
  
  
},
  
  
"lakesail": {
  
  
  
"executionMode": "string",
  
  
  
"maxRetries": 3,
  
  
  
"lakesailImageUri": "string",
  
  
  
"libraries": [
  
  
  
  
{
  
  
  
  
  
"pypi": {
  
  
  
  
  
  
"package": "string",
  
  
  
  
  
  
"repo": "string"
  
  
  
  
  
},
  
  
  
  
  
"requirements": {
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"uri": "string"
  
  
  
  
  
},
  
  
  
  
  
"whl": "string"
  
  
  
  
}
  
  
  
],
  
  
  
"envVars": {
  
  
  
  
"additionalProperties": {
  
  
  
  
  
"type": "string",
  
  
  
  
  
"value": "string"
  
  
  
  
}
  
  
  
},
  
  
  
"additionalProperties": "string"
  
  
},
  
  
"parameterDefinitions": [
  
  
  
{
  
  
  
  
"name": "date",
  
  
  
  
"type": "string",
  
  
  
  
"required": true,
  
  
  
  
"default": "2026-01-01"
  
  
  
}
  
  
]
  
},
  
"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,
  
"workloadConfigId": "A1B2C3D4E5",
  
"catalogs": [
  
  
{
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
"name": "Production Cluster"
  
  
}
  
],
  
"defaultCatalogId": "A1B2C3D4E5",
  
"catalogsOverridden": true,
  
"missedSchedulePolicy": "latest"
}

Responses​

The draft version was updated successfully.

application/json
JSON
{
  
"jobId": "A1B2C3D4E5",
  
"version": 0,
  
"basedOnVersion": 0,
  
"status": "string",
  
"jobType": "string",
  
"memberId": "A1B2C3D4E5",
  
"description": "Daily ETL pipeline for sales data",
  
"config": {
  
  
"sql": {
  
  
  
"source": "string",
  
  
  
"queryId": "Q1R2S3T4U5"
  
  
},
  
  
"python": {
  
  
  
"source": "string",
  
  
  
"packageName": "string",
  
  
  
"entryPoint": "string",
  
  
  
"arguments": [
  
  
  
  
[
  
  
  
  
  
"--mode",
  
  
  
  
  
"incremental",
  
  
  
  
  
"--full-refresh"
  
  
  
  
]
  
  
  
]
  
  
},
  
  
"notebook": {
  
  
  
"notebookId": "A1B2C3D4E5",
  
  
  
"arguments": [
  
  
  
  
[
  
  
  
  
  
"--mode",
  
  
  
  
  
"incremental"
  
  
  
  
]
  
  
  
]
  
  
},
  
  
"lakesail": {
  
  
  
"executionMode": "string",
  
  
  
"maxRetries": 3,
  
  
  
"lakesailImageUri": "string",
  
  
  
"libraries": [
  
  
  
  
{
  
  
  
  
  
"pypi": {
  
  
  
  
  
  
"package": "string",
  
  
  
  
  
  
"repo": "string"
  
  
  
  
  
},
  
  
  
  
  
"requirements": {
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"uri": "string"
  
  
  
  
  
},
  
  
  
  
  
"whl": "string"
  
  
  
  
}
  
  
  
],
  
  
  
"envVars": {
  
  
  
  
"additionalProperties": {
  
  
  
  
  
"type": "string",
  
  
  
  
  
"value": "string"
  
  
  
  
}
  
  
  
},
  
  
  
"additionalProperties": "string"
  
  
},
  
  
"parameterDefinitions": [
  
  
  
{
  
  
  
  
"name": "date",
  
  
  
  
"type": "string",
  
  
  
  
"required": true,
  
  
  
  
"default": "2026-01-01"
  
  
  
}
  
  
]
  
},
  
"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,
  
"workloadConfigId": "A1B2C3D4E5",
  
"catalogs": [
  
  
{
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
"name": "Production Cluster"
  
  
}
  
],
  
"defaultCatalogId": "A1B2C3D4E5",
  
"catalogsOverridden": true,
  
"effectiveCatalogs": [
  
  
{
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
"name": "string",
  
  
  
"catalogName": "string",
  
  
  
"provider": "glue",
  
  
  
"source": "string",
  
  
  
"isDefault": true,
  
  
  
"overridden": true
  
  
}
  
],
  
"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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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",
  
"workloadConfigId": "A1B2C3D4E5",
  
"description": "Daily ETL pipeline for sales data",
  
"config": {
  
  
"sql": {
  
  
  
"source": "string",
  
  
  
"queryId": "Q1R2S3T4U5"
  
  
},
  
  
"python": {
  
  
  
"source": "string",
  
  
  
"packageName": "string",
  
  
  
"entryPoint": "string",
  
  
  
"arguments": [
  
  
  
  
[
  
  
  
  
  
"--mode",
  
  
  
  
  
"incremental",
  
  
  
  
  
"--full-refresh"
  
  
  
  
]
  
  
  
]
  
  
},
  
  
"notebook": {
  
  
  
"notebookId": "A1B2C3D4E5",
  
  
  
"arguments": [
  
  
  
  
[
  
  
  
  
  
"--mode",
  
  
  
  
  
"incremental"
  
  
  
  
]
  
  
  
]
  
  
},
  
  
"lakesail": {
  
  
  
"executionMode": "string",
  
  
  
"maxRetries": 3,
  
  
  
"lakesailImageUri": "string",
  
  
  
"libraries": [
  
  
  
  
{
  
  
  
  
  
"pypi": {
  
  
  
  
  
  
"package": "string",
  
  
  
  
  
  
"repo": "string"
  
  
  
  
  
},
  
  
  
  
  
"requirements": {
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"uri": "string"
  
  
  
  
  
},
  
  
  
  
  
"whl": "string"
  
  
  
  
}
  
  
  
],
  
  
  
"envVars": {
  
  
  
  
"additionalProperties": {
  
  
  
  
  
"type": "string",
  
  
  
  
  
"value": "string"
  
  
  
  
}
  
  
  
},
  
  
  
"additionalProperties": "string"
  
  
},
  
  
"parameterDefinitions": [
  
  
  
{
  
  
  
  
"name": "date",
  
  
  
  
"type": "string",
  
  
  
  
"required": true,
  
  
  
  
"default": "2026-01-01"
  
  
  
}
  
  
]
  
},
  
"catalogs": [
  
  
{
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
"name": "Production Cluster"
  
  
}
  
],
  
"defaultCatalogId": "A1B2C3D4E5",
  
"catalogsOverridden": true,
  
"effectiveCatalogs": [
  
  
{
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
"name": "string",
  
  
  
"catalogName": "string",
  
  
  
"provider": "glue",
  
  
  
"source": "string",
  
  
  
"isDefault": true,
  
  
  
"overridden": true
  
  
}
  
],
  
"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",
  
"scheduledRunsOverdue": 0,
  
"scheduledRunsOverdueSince": "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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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 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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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",
  
  
  
"memberId": "A1B2C3D4E5",
  
  
  
"description": "Daily ETL pipeline for sales data",
  
  
  
"config": {
  
  
  
  
"sql": {
  
  
  
  
  
"source": "string",
  
  
  
  
  
"queryId": "Q1R2S3T4U5"
  
  
  
  
},
  
  
  
  
"python": {
  
  
  
  
  
"source": "string",
  
  
  
  
  
"packageName": "string",
  
  
  
  
  
"entryPoint": "string",
  
  
  
  
  
"arguments": [
  
  
  
  
  
  
[
  
  
  
  
  
  
  
"--mode",
  
  
  
  
  
  
  
"incremental",
  
  
  
  
  
  
  
"--full-refresh"
  
  
  
  
  
  
]
  
  
  
  
  
]
  
  
  
  
},
  
  
  
  
"notebook": {
  
  
  
  
  
"notebookId": "A1B2C3D4E5",
  
  
  
  
  
"arguments": [
  
  
  
  
  
  
[
  
  
  
  
  
  
  
"--mode",
  
  
  
  
  
  
  
"incremental"
  
  
  
  
  
  
]
  
  
  
  
  
]
  
  
  
  
},
  
  
  
  
"lakesail": {
  
  
  
  
  
"executionMode": "string",
  
  
  
  
  
"maxRetries": 3,
  
  
  
  
  
"lakesailImageUri": "string",
  
  
  
  
  
"libraries": [
  
  
  
  
  
  
{
  
  
  
  
  
  
  
"pypi": {
  
  
  
  
  
  
  
  
"package": "string",
  
  
  
  
  
  
  
  
"repo": "string"
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
"requirements": {
  
  
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
  
  
"uri": "string"
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
"whl": "string"
  
  
  
  
  
  
}
  
  
  
  
  
],
  
  
  
  
  
"envVars": {
  
  
  
  
  
  
"additionalProperties": {
  
  
  
  
  
  
  
"type": "string",
  
  
  
  
  
  
  
"value": "string"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
},
  
  
  
  
"parameterDefinitions": [
  
  
  
  
  
{
  
  
  
  
  
  
"name": "date",
  
  
  
  
  
  
"type": "string",
  
  
  
  
  
  
"required": true,
  
  
  
  
  
  
"default": "2026-01-01"
  
  
  
  
  
}
  
  
  
  
]
  
  
  
},
  
  
  
"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,
  
  
  
"workloadConfigId": "A1B2C3D4E5",
  
  
  
"catalogs": [
  
  
  
  
{
  
  
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
  
  
"name": "Production Cluster"
  
  
  
  
}
  
  
  
],
  
  
  
"defaultCatalogId": "A1B2C3D4E5",
  
  
  
"catalogsOverridden": true,
  
  
  
"effectiveCatalogs": [
  
  
  
  
{
  
  
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
  
  
"name": "string",
  
  
  
  
  
"catalogName": "string",
  
  
  
  
  
"provider": "glue",
  
  
  
  
  
"source": "string",
  
  
  
  
  
"isDefault": true,
  
  
  
  
  
"overridden": true
  
  
  
  
}
  
  
  
],
  
  
  
"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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

Type
HTTP (bearer)

Parameters​

Path Parameters

job*

A LakeSail job ID.

Required

Request Body​

application/json
JSON
{
  
"description": "Daily ETL pipeline for sales data",
  
"config": {
  
  
"sql": {
  
  
  
"source": "string",
  
  
  
"queryId": "Q1R2S3T4U5"
  
  
},
  
  
"python": {
  
  
  
"source": "string",
  
  
  
"packageName": "string",
  
  
  
"entryPoint": "string",
  
  
  
"arguments": [
  
  
  
  
[
  
  
  
  
  
"--mode",
  
  
  
  
  
"incremental",
  
  
  
  
  
"--full-refresh"
  
  
  
  
]
  
  
  
]
  
  
},
  
  
"notebook": {
  
  
  
"notebookId": "A1B2C3D4E5",
  
  
  
"arguments": [
  
  
  
  
[
  
  
  
  
  
"--mode",
  
  
  
  
  
"incremental"
  
  
  
  
]
  
  
  
]
  
  
},
  
  
"lakesail": {
  
  
  
"executionMode": "string",
  
  
  
"maxRetries": 3,
  
  
  
"lakesailImageUri": "string",
  
  
  
"libraries": [
  
  
  
  
{
  
  
  
  
  
"pypi": {
  
  
  
  
  
  
"package": "string",
  
  
  
  
  
  
"repo": "string"
  
  
  
  
  
},
  
  
  
  
  
"requirements": {
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"uri": "string"
  
  
  
  
  
},
  
  
  
  
  
"whl": "string"
  
  
  
  
}
  
  
  
],
  
  
  
"envVars": {
  
  
  
  
"additionalProperties": {
  
  
  
  
  
"type": "string",
  
  
  
  
  
"value": "string"
  
  
  
  
}
  
  
  
},
  
  
  
"additionalProperties": "string"
  
  
},
  
  
"parameterDefinitions": [
  
  
  
{
  
  
  
  
"name": "date",
  
  
  
  
"type": "string",
  
  
  
  
"required": true,
  
  
  
  
"default": "2026-01-01"
  
  
  
}
  
  
]
  
},
  
"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,
  
"workloadConfigId": "A1B2C3D4E5",
  
"catalogs": [
  
  
{
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
"name": "Production Cluster"
  
  
}
  
],
  
"defaultCatalogId": "A1B2C3D4E5",
  
"catalogsOverridden": true,
  
"missedSchedulePolicy": "latest"
}

Responses​

The job version was created and published successfully.

application/json
JSON
{
  
"jobId": "A1B2C3D4E5",
  
"version": 0,
  
"basedOnVersion": 0,
  
"status": "string",
  
"jobType": "string",
  
"memberId": "A1B2C3D4E5",
  
"description": "Daily ETL pipeline for sales data",
  
"config": {
  
  
"sql": {
  
  
  
"source": "string",
  
  
  
"queryId": "Q1R2S3T4U5"
  
  
},
  
  
"python": {
  
  
  
"source": "string",
  
  
  
"packageName": "string",
  
  
  
"entryPoint": "string",
  
  
  
"arguments": [
  
  
  
  
[
  
  
  
  
  
"--mode",
  
  
  
  
  
"incremental",
  
  
  
  
  
"--full-refresh"
  
  
  
  
]
  
  
  
]
  
  
},
  
  
"notebook": {
  
  
  
"notebookId": "A1B2C3D4E5",
  
  
  
"arguments": [
  
  
  
  
[
  
  
  
  
  
"--mode",
  
  
  
  
  
"incremental"
  
  
  
  
]
  
  
  
]
  
  
},
  
  
"lakesail": {
  
  
  
"executionMode": "string",
  
  
  
"maxRetries": 3,
  
  
  
"lakesailImageUri": "string",
  
  
  
"libraries": [
  
  
  
  
{
  
  
  
  
  
"pypi": {
  
  
  
  
  
  
"package": "string",
  
  
  
  
  
  
"repo": "string"
  
  
  
  
  
},
  
  
  
  
  
"requirements": {
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"uri": "string"
  
  
  
  
  
},
  
  
  
  
  
"whl": "string"
  
  
  
  
}
  
  
  
],
  
  
  
"envVars": {
  
  
  
  
"additionalProperties": {
  
  
  
  
  
"type": "string",
  
  
  
  
  
"value": "string"
  
  
  
  
}
  
  
  
},
  
  
  
"additionalProperties": "string"
  
  
},
  
  
"parameterDefinitions": [
  
  
  
{
  
  
  
  
"name": "date",
  
  
  
  
"type": "string",
  
  
  
  
"required": true,
  
  
  
  
"default": "2026-01-01"
  
  
  
}
  
  
]
  
},
  
"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,
  
"workloadConfigId": "A1B2C3D4E5",
  
"catalogs": [
  
  
{
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
"name": "Production Cluster"
  
  
}
  
],
  
"defaultCatalogId": "A1B2C3D4E5",
  
"catalogsOverridden": true,
  
"effectiveCatalogs": [
  
  
{
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
"name": "string",
  
  
  
"catalogName": "string",
  
  
  
"provider": "glue",
  
  
  
"source": "string",
  
  
  
"isDefault": true,
  
  
  
"overridden": true
  
  
}
  
],
  
"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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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",
  
  
  
  
"workloadConfigId": "A1B2C3D4E5",
  
  
  
  
"description": "Daily ETL pipeline for sales data",
  
  
  
  
"config": {
  
  
  
  
  
"sql": {
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"queryId": "Q1R2S3T4U5"
  
  
  
  
  
},
  
  
  
  
  
"python": {
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"packageName": "string",
  
  
  
  
  
  
"entryPoint": "string",
  
  
  
  
  
  
"arguments": [
  
  
  
  
  
  
  
[
  
  
  
  
  
  
  
  
"--mode",
  
  
  
  
  
  
  
  
"incremental",
  
  
  
  
  
  
  
  
"--full-refresh"
  
  
  
  
  
  
  
]
  
  
  
  
  
  
]
  
  
  
  
  
},
  
  
  
  
  
"notebook": {
  
  
  
  
  
  
"notebookId": "A1B2C3D4E5",
  
  
  
  
  
  
"arguments": [
  
  
  
  
  
  
  
[
  
  
  
  
  
  
  
  
"--mode",
  
  
  
  
  
  
  
  
"incremental"
  
  
  
  
  
  
  
]
  
  
  
  
  
  
]
  
  
  
  
  
},
  
  
  
  
  
"lakesail": {
  
  
  
  
  
  
"executionMode": "string",
  
  
  
  
  
  
"maxRetries": 3,
  
  
  
  
  
  
"lakesailImageUri": "string",
  
  
  
  
  
  
"libraries": [
  
  
  
  
  
  
  
{
  
  
  
  
  
  
  
  
"pypi": {
  
  
  
  
  
  
  
  
  
"package": "string",
  
  
  
  
  
  
  
  
  
"repo": "string"
  
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
  
"requirements": {
  
  
  
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
  
  
  
"uri": "string"
  
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
  
"whl": "string"
  
  
  
  
  
  
  
}
  
  
  
  
  
  
],
  
  
  
  
  
  
"envVars": {
  
  
  
  
  
  
  
"additionalProperties": {
  
  
  
  
  
  
  
  
"type": "string",
  
  
  
  
  
  
  
  
"value": "string"
  
  
  
  
  
  
  
}
  
  
  
  
  
  
},
  
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
  
},
  
  
  
  
  
"parameterDefinitions": [
  
  
  
  
  
  
{
  
  
  
  
  
  
  
"name": "date",
  
  
  
  
  
  
  
"type": "string",
  
  
  
  
  
  
  
"required": true,
  
  
  
  
  
  
  
"default": "2026-01-01"
  
  
  
  
  
  
}
  
  
  
  
  
]
  
  
  
  
},
  
  
  
  
"catalogs": [
  
  
  
  
  
{
  
  
  
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
  
  
  
"name": "Production Cluster"
  
  
  
  
  
}
  
  
  
  
],
  
  
  
  
"defaultCatalogId": "A1B2C3D4E5",
  
  
  
  
"catalogsOverridden": true,
  
  
  
  
"effectiveCatalogs": [
  
  
  
  
  
{
  
  
  
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
  
  
  
"name": "string",
  
  
  
  
  
  
"catalogName": "string",
  
  
  
  
  
  
"provider": "glue",
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"isDefault": true,
  
  
  
  
  
  
"overridden": true
  
  
  
  
  
}
  
  
  
  
],
  
  
  
  
"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",
  
  
  
  
"scheduledRunsOverdue": 0,
  
  
  
  
"scheduledRunsOverdueSince": "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",
  
  
  
  
"workloadConfigId": "A1B2C3D4E5",
  
  
  
  
"retainedUntil": "string",
  
  
  
  
"retainedUntilMax": "string",
  
  
  
  
"logicalTime": "2026-09-19T10:00:00Z",
  
  
  
  
"webUrl": "https://platform.lakesail.com/acme/jobs/JOBABC123/runs/RUNABC123",
  
  
  
  
"restarts": {
  
  
  
  
  
"count": 2,
  
  
  
  
  
"involuntaryCount": 1,
  
  
  
  
  
"lastAt": "string",
  
  
  
  
  
"lastCause": "runner_failed"
  
  
  
  
},
  
  
  
  
"terminationReason": "string",
  
  
  
  
"exitCode": 0,
  
  
  
  
"attempt": 1
  
  
  
}
  
  
],
  
  
"teams": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"organizationId": "A1B2C3D4E5",
  
  
  
  
"name": "string",
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5",
  
  
  
  
"defaultRoleId": "A1B2C3D4E5"
  
  
  
}
  
  
],
  
  
"workloadConfigs": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"name": "Production Cluster",
  
  
  
  
"workloadType": "string",
  
  
  
  
"clusterId": "A1B2C3D4E5",
  
  
  
  
"config": {
  
  
  
  
  
"sail": {
  
  
  
  
  
  
"executionMode": "string",
  
  
  
  
  
  
"maxRetries": 3,
  
  
  
  
  
  
"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": {
  
  
  
  
  
  
  
  
"type": "string",
  
  
  
  
  
  
  
  
"value": "string"
  
  
  
  
  
  
  
}
  
  
  
  
  
  
}
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"endpointLimits": {
  
  
  
  
  
"spark_connect": 0
  
  
  
  
},
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5",
  
  
  
  
"catalogs": [
  
  
  
  
  
{
  
  
  
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
  
  
  
"name": "Production Cluster"
  
  
  
  
  
}
  
  
  
  
],
  
  
  
  
"defaultCatalogId": "A1B2C3D4E5",
  
  
  
  
"capabilities": {
  
  
  
  
  
"run": {
  
  
  
  
  
  
"allowed": true,
  
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"storeFiles": {
  
  
  
  
  
  
"allowed": true,
  
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"warning": {
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"notebookCount": 0,
  
  
  
  
"jobCount": 0,
  
  
  
  
"activeWorkloadCount": 0
  
  
  
}
  
  
]
  
}
}

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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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 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",
  
  
  
  
"workloadConfigId": "A1B2C3D4E5",
  
  
  
  
"description": "Daily ETL pipeline for sales data",
  
  
  
  
"config": {
  
  
  
  
  
"sql": {
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"queryId": "Q1R2S3T4U5"
  
  
  
  
  
},
  
  
  
  
  
"python": {
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"packageName": "string",
  
  
  
  
  
  
"entryPoint": "string",
  
  
  
  
  
  
"arguments": [
  
  
  
  
  
  
  
[
  
  
  
  
  
  
  
  
"--mode",
  
  
  
  
  
  
  
  
"incremental",
  
  
  
  
  
  
  
  
"--full-refresh"
  
  
  
  
  
  
  
]
  
  
  
  
  
  
]
  
  
  
  
  
},
  
  
  
  
  
"notebook": {
  
  
  
  
  
  
"notebookId": "A1B2C3D4E5",
  
  
  
  
  
  
"arguments": [
  
  
  
  
  
  
  
[
  
  
  
  
  
  
  
  
"--mode",
  
  
  
  
  
  
  
  
"incremental"
  
  
  
  
  
  
  
]
  
  
  
  
  
  
]
  
  
  
  
  
},
  
  
  
  
  
"lakesail": {
  
  
  
  
  
  
"executionMode": "string",
  
  
  
  
  
  
"maxRetries": 3,
  
  
  
  
  
  
"lakesailImageUri": "string",
  
  
  
  
  
  
"libraries": [
  
  
  
  
  
  
  
{
  
  
  
  
  
  
  
  
"pypi": {
  
  
  
  
  
  
  
  
  
"package": "string",
  
  
  
  
  
  
  
  
  
"repo": "string"
  
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
  
"requirements": {
  
  
  
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
  
  
  
"uri": "string"
  
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
  
"whl": "string"
  
  
  
  
  
  
  
}
  
  
  
  
  
  
],
  
  
  
  
  
  
"envVars": {
  
  
  
  
  
  
  
"additionalProperties": {
  
  
  
  
  
  
  
  
"type": "string",
  
  
  
  
  
  
  
  
"value": "string"
  
  
  
  
  
  
  
}
  
  
  
  
  
  
},
  
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
  
},
  
  
  
  
  
"parameterDefinitions": [
  
  
  
  
  
  
{
  
  
  
  
  
  
  
"name": "date",
  
  
  
  
  
  
  
"type": "string",
  
  
  
  
  
  
  
"required": true,
  
  
  
  
  
  
  
"default": "2026-01-01"
  
  
  
  
  
  
}
  
  
  
  
  
]
  
  
  
  
},
  
  
  
  
"catalogs": [
  
  
  
  
  
{
  
  
  
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
  
  
  
"name": "Production Cluster"
  
  
  
  
  
}
  
  
  
  
],
  
  
  
  
"defaultCatalogId": "A1B2C3D4E5",
  
  
  
  
"catalogsOverridden": true,
  
  
  
  
"effectiveCatalogs": [
  
  
  
  
  
{
  
  
  
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
  
  
  
"name": "string",
  
  
  
  
  
  
"catalogName": "string",
  
  
  
  
  
  
"provider": "glue",
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"isDefault": true,
  
  
  
  
  
  
"overridden": true
  
  
  
  
  
}
  
  
  
  
],
  
  
  
  
"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",
  
  
  
  
"scheduledRunsOverdue": 0,
  
  
  
  
"scheduledRunsOverdueSince": "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",
  
  
  
  
"workloadConfigId": "A1B2C3D4E5",
  
  
  
  
"retainedUntil": "string",
  
  
  
  
"retainedUntilMax": "string",
  
  
  
  
"logicalTime": "2026-09-19T10:00:00Z",
  
  
  
  
"webUrl": "https://platform.lakesail.com/acme/jobs/JOBABC123/runs/RUNABC123",
  
  
  
  
"restarts": {
  
  
  
  
  
"count": 2,
  
  
  
  
  
"involuntaryCount": 1,
  
  
  
  
  
"lastAt": "string",
  
  
  
  
  
"lastCause": "runner_failed"
  
  
  
  
},
  
  
  
  
"terminationReason": "string",
  
  
  
  
"exitCode": 0,
  
  
  
  
"attempt": 1
  
  
  
}
  
  
],
  
  
"teams": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"organizationId": "A1B2C3D4E5",
  
  
  
  
"name": "string",
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5",
  
  
  
  
"defaultRoleId": "A1B2C3D4E5"
  
  
  
}
  
  
],
  
  
"workloadConfigs": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"name": "Production Cluster",
  
  
  
  
"workloadType": "string",
  
  
  
  
"clusterId": "A1B2C3D4E5",
  
  
  
  
"config": {
  
  
  
  
  
"sail": {
  
  
  
  
  
  
"executionMode": "string",
  
  
  
  
  
  
"maxRetries": 3,
  
  
  
  
  
  
"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": {
  
  
  
  
  
  
  
  
"type": "string",
  
  
  
  
  
  
  
  
"value": "string"
  
  
  
  
  
  
  
}
  
  
  
  
  
  
}
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"endpointLimits": {
  
  
  
  
  
"spark_connect": 0
  
  
  
  
},
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5",
  
  
  
  
"catalogs": [
  
  
  
  
  
{
  
  
  
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
  
  
  
"name": "Production Cluster"
  
  
  
  
  
}
  
  
  
  
],
  
  
  
  
"defaultCatalogId": "A1B2C3D4E5",
  
  
  
  
"capabilities": {
  
  
  
  
  
"run": {
  
  
  
  
  
  
"allowed": true,
  
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"storeFiles": {
  
  
  
  
  
  
"allowed": true,
  
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"warning": {
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"notebookCount": 0,
  
  
  
  
"jobCount": 0,
  
  
  
  
"activeWorkloadCount": 0
  
  
  
}
  
  
]
  
}
}

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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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 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",
  
  
  
  
"workloadConfigId": "A1B2C3D4E5",
  
  
  
  
"description": "Daily ETL pipeline for sales data",
  
  
  
  
"config": {
  
  
  
  
  
"sql": {
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"queryId": "Q1R2S3T4U5"
  
  
  
  
  
},
  
  
  
  
  
"python": {
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"packageName": "string",
  
  
  
  
  
  
"entryPoint": "string",
  
  
  
  
  
  
"arguments": [
  
  
  
  
  
  
  
[
  
  
  
  
  
  
  
  
"--mode",
  
  
  
  
  
  
  
  
"incremental",
  
  
  
  
  
  
  
  
"--full-refresh"
  
  
  
  
  
  
  
]
  
  
  
  
  
  
]
  
  
  
  
  
},
  
  
  
  
  
"notebook": {
  
  
  
  
  
  
"notebookId": "A1B2C3D4E5",
  
  
  
  
  
  
"arguments": [
  
  
  
  
  
  
  
[
  
  
  
  
  
  
  
  
"--mode",
  
  
  
  
  
  
  
  
"incremental"
  
  
  
  
  
  
  
]
  
  
  
  
  
  
]
  
  
  
  
  
},
  
  
  
  
  
"lakesail": {
  
  
  
  
  
  
"executionMode": "string",
  
  
  
  
  
  
"maxRetries": 3,
  
  
  
  
  
  
"lakesailImageUri": "string",
  
  
  
  
  
  
"libraries": [
  
  
  
  
  
  
  
{
  
  
  
  
  
  
  
  
"pypi": {
  
  
  
  
  
  
  
  
  
"package": "string",
  
  
  
  
  
  
  
  
  
"repo": "string"
  
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
  
"requirements": {
  
  
  
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
  
  
  
"uri": "string"
  
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
  
"whl": "string"
  
  
  
  
  
  
  
}
  
  
  
  
  
  
],
  
  
  
  
  
  
"envVars": {
  
  
  
  
  
  
  
"additionalProperties": {
  
  
  
  
  
  
  
  
"type": "string",
  
  
  
  
  
  
  
  
"value": "string"
  
  
  
  
  
  
  
}
  
  
  
  
  
  
},
  
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
  
},
  
  
  
  
  
"parameterDefinitions": [
  
  
  
  
  
  
{
  
  
  
  
  
  
  
"name": "date",
  
  
  
  
  
  
  
"type": "string",
  
  
  
  
  
  
  
"required": true,
  
  
  
  
  
  
  
"default": "2026-01-01"
  
  
  
  
  
  
}
  
  
  
  
  
]
  
  
  
  
},
  
  
  
  
"catalogs": [
  
  
  
  
  
{
  
  
  
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
  
  
  
"name": "Production Cluster"
  
  
  
  
  
}
  
  
  
  
],
  
  
  
  
"defaultCatalogId": "A1B2C3D4E5",
  
  
  
  
"catalogsOverridden": true,
  
  
  
  
"effectiveCatalogs": [
  
  
  
  
  
{
  
  
  
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
  
  
  
"name": "string",
  
  
  
  
  
  
"catalogName": "string",
  
  
  
  
  
  
"provider": "glue",
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"isDefault": true,
  
  
  
  
  
  
"overridden": true
  
  
  
  
  
}
  
  
  
  
],
  
  
  
  
"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",
  
  
  
  
"scheduledRunsOverdue": 0,
  
  
  
  
"scheduledRunsOverdueSince": "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",
  
  
  
  
"workloadConfigId": "A1B2C3D4E5",
  
  
  
  
"retainedUntil": "string",
  
  
  
  
"retainedUntilMax": "string",
  
  
  
  
"logicalTime": "2026-09-19T10:00:00Z",
  
  
  
  
"webUrl": "https://platform.lakesail.com/acme/jobs/JOBABC123/runs/RUNABC123",
  
  
  
  
"restarts": {
  
  
  
  
  
"count": 2,
  
  
  
  
  
"involuntaryCount": 1,
  
  
  
  
  
"lastAt": "string",
  
  
  
  
  
"lastCause": "runner_failed"
  
  
  
  
},
  
  
  
  
"terminationReason": "string",
  
  
  
  
"exitCode": 0,
  
  
  
  
"attempt": 1
  
  
  
}
  
  
],
  
  
"teams": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"organizationId": "A1B2C3D4E5",
  
  
  
  
"name": "string",
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5",
  
  
  
  
"defaultRoleId": "A1B2C3D4E5"
  
  
  
}
  
  
],
  
  
"workloadConfigs": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"name": "Production Cluster",
  
  
  
  
"workloadType": "string",
  
  
  
  
"clusterId": "A1B2C3D4E5",
  
  
  
  
"config": {
  
  
  
  
  
"sail": {
  
  
  
  
  
  
"executionMode": "string",
  
  
  
  
  
  
"maxRetries": 3,
  
  
  
  
  
  
"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": {
  
  
  
  
  
  
  
  
"type": "string",
  
  
  
  
  
  
  
  
"value": "string"
  
  
  
  
  
  
  
}
  
  
  
  
  
  
}
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"endpointLimits": {
  
  
  
  
  
"spark_connect": 0
  
  
  
  
},
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5",
  
  
  
  
"catalogs": [
  
  
  
  
  
{
  
  
  
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
  
  
  
"name": "Production Cluster"
  
  
  
  
  
}
  
  
  
  
],
  
  
  
  
"defaultCatalogId": "A1B2C3D4E5",
  
  
  
  
"capabilities": {
  
  
  
  
  
"run": {
  
  
  
  
  
  
"allowed": true,
  
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"storeFiles": {
  
  
  
  
  
  
"allowed": true,
  
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"warning": {
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"notebookCount": 0,
  
  
  
  
"jobCount": 0,
  
  
  
  
"activeWorkloadCount": 0
  
  
  
}
  
  
]
  
}
}

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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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",
  
  
  
"workloadConfigId": "A1B2C3D4E5",
  
  
  
"retainedUntil": "string",
  
  
  
"retainedUntilMax": "string",
  
  
  
"logicalTime": "2026-09-19T10:00:00Z",
  
  
  
"webUrl": "https://platform.lakesail.com/acme/jobs/JOBABC123/runs/RUNABC123",
  
  
  
"restarts": {
  
  
  
  
"count": 2,
  
  
  
  
"involuntaryCount": 1,
  
  
  
  
"lastAt": "string",
  
  
  
  
"lastCause": "runner_failed"
  
  
  
},
  
  
  
"terminationReason": "string",
  
  
  
"exitCode": 0,
  
  
  
"attempt": 1
  
  
}
  
],
  
"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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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",
  
  
  
"workloadConfigId": "A1B2C3D4E5",
  
  
  
"retainedUntil": "string",
  
  
  
"retainedUntilMax": "string",
  
  
  
"logicalTime": "2026-09-19T10:00:00Z",
  
  
  
"webUrl": "https://platform.lakesail.com/acme/jobs/JOBABC123/runs/RUNABC123",
  
  
  
"restarts": {
  
  
  
  
"count": 2,
  
  
  
  
"involuntaryCount": 1,
  
  
  
  
"lastAt": "string",
  
  
  
  
"lastCause": "runner_failed"
  
  
  
},
  
  
  
"terminationReason": "string",
  
  
  
"exitCode": 0,
  
  
  
"attempt": 1
  
  
}
  
],
  
"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. Send an Idempotency-Key header to make a retry of this request return the same run instead of a second one.

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

Type
HTTP (bearer)

Parameters​

Header Parameters

Idempotency-Key

A key the caller chooses to make a retried request safe. The first request with a
key creates the run. A later request from the same member with the same key for
the same job creates nothing and returns that run with status 200, so a caller
that lost the response can send the request again. The request must match the
first one; a different request with a used key, or any request from another
member with it, is refused with 409. Keys are kept for the life of the run.

Type
string
Example"orchestrator:daily_etl:load:2026-09-19T00:00:00+00:00:1"
Min Length
1
Max Length
255

Path Parameters

job*

A LakeSail job ID.

Required

Request Body​

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

Responses​

The request repeats an earlier one with the same Idempotency-Key. Nothing was created; this is the run the earlier request created.

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",
  
"workloadConfigId": "A1B2C3D4E5",
  
"retainedUntil": "string",
  
"retainedUntilMax": "string",
  
"logicalTime": "2026-09-19T10:00:00Z",
  
"webUrl": "https://platform.lakesail.com/acme/jobs/JOBABC123/runs/RUNABC123",
  
"restarts": {
  
  
"count": 2,
  
  
"involuntaryCount": 1,
  
  
"lastAt": "string",
  
  
"lastCause": "runner_failed"
  
},
  
"terminationReason": "string",
  
"exitCode": 0,
  
"attempt": 1
}

Playground​

Authorization
Headers
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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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",
  
"workloadConfigId": "A1B2C3D4E5",
  
"retainedUntil": "string",
  
"retainedUntilMax": "string",
  
"logicalTime": "2026-09-19T10:00:00Z",
  
"parameters": {
  
  
"additionalProperties": "string"
  
},
  
"webUrl": "https://platform.lakesail.com/acme/jobs/JOBABC123/runs/RUNABC123",
  
"idempotencyKey": "orchestrator:daily_etl:load:2026-09-19T00:00:00+00:00:1",
  
"restarts": {
  
  
"count": 2,
  
  
"involuntaryCount": 1,
  
  
"lastAt": "string",
  
  
"lastCause": "runner_failed"
  
},
  
"terminationReason": "string",
  
"exitCode": 0,
  
"attempt": 1
}

Playground​

Authorization
Variables
Key
Value

Samples​


Cancel a job run​

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

Stops a job run that has not finished. The run moves to cancelled, its
runner is stopped regardless of resourceCleanupMode, its remaining
resources follow that mode, and the job_run.status.cancelled notification
fires.

Idempotent: a run that is already in a terminal status (succeeded,
failed, cancelled or timeout) is returned unchanged, so a caller can
cancel on every teardown path without checking first.

A run cancelled while its resources are still being created finishes
cleaning them up shortly after the response.

Stopping is not instant: the job code can keep executing for up to about half
a minute. cancelled means the run was stopped and its compute released, not
that the code had no effect. If the code finishes in that window the run stays
cancelled, with its runner timings and results recorded.

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

Type
HTTP (bearer)

Responses​

The job run. Its status is cancelled, or the terminal status it already had when the request arrived.

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",
  
"workloadConfigId": "A1B2C3D4E5",
  
"retainedUntil": "string",
  
"retainedUntilMax": "string",
  
"logicalTime": "2026-09-19T10:00:00Z",
  
"webUrl": "https://platform.lakesail.com/acme/jobs/JOBABC123/runs/RUNABC123",
  
"restarts": {
  
  
"count": 2,
  
  
"involuntaryCount": 1,
  
  
"lastAt": "string",
  
  
"lastCause": "runner_failed"
  
},
  
"terminationReason": "string",
  
"exitCode": 0,
  
"attempt": 1
}

Playground​

Authorization

Samples​


Set how long a job run's resources are retained​

PUT
/workloads/jobs/{job}/runs/{jobRun}/retention

A run whose resourceCleanupMode retains its resources keeps its Sail server
and namespace after it ends, for debugging. The Sail server keeps running
while they are retained, and that compute is billed.

Sets retainedUntil to the given time, earlier or later than the current one.
It must be in the future and no later than the run's retainedUntilMax. To
end the retention now, use EndJobRunRetention.

Refused with 409 while the run is still executing, when it retains
nothing, and once its retention has ended. Refused with 400 when retainedUntil is in the past or past the
maximum.

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

Type
HTTP (bearer)

Request Body​

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

Responses​

The job run, carrying the new retainedUntil.

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",
  
"workloadConfigId": "A1B2C3D4E5",
  
"retainedUntil": "string",
  
"retainedUntilMax": "string",
  
"logicalTime": "2026-09-19T10:00:00Z",
  
"webUrl": "https://platform.lakesail.com/acme/jobs/JOBABC123/runs/RUNABC123",
  
"restarts": {
  
  
"count": 2,
  
  
"involuntaryCount": 1,
  
  
"lastAt": "string",
  
  
"lastCause": "runner_failed"
  
},
  
"terminationReason": "string",
  
"exitCode": 0,
  
"attempt": 1
}

Playground​

Authorization
Body

Samples​


End a job run's retention now​

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

Ends the retention of a run whose resourceCleanupMode retained its
resources: its Sail server and namespace are cleaned up now, logs included,
and the run stays on record. Removal is not instant: cleanedAt is set once
they are gone.

Refused with 409 while the run is still executing, and when it retains
nothing.

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

Type
HTTP (bearer)

Responses​

The requested operation was done successfully.

Playground​

Authorization

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 in pending status or its compute profile has
an external data target operation in progress.

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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",
  
"workloadConfigId": "A1B2C3D4E5",
  
"retainedUntil": "string",
  
"retainedUntilMax": "string",
  
"logicalTime": "2026-09-19T10:00:00Z",
  
"webUrl": "https://platform.lakesail.com/acme/jobs/JOBABC123/runs/RUNABC123",
  
"restarts": {
  
  
"count": 2,
  
  
"involuntaryCount": 1,
  
  
"lastAt": "string",
  
  
"lastCause": "runner_failed"
  
},
  
"terminationReason": "string",
  
"exitCode": 0,
  
"attempt": 1
}

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 or its compute
profile has an external data target operation in progress.

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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",
  
"workloadConfigId": "A1B2C3D4E5",
  
"retainedUntil": "string",
  
"retainedUntilMax": "string",
  
"logicalTime": "2026-09-19T10:00:00Z",
  
"webUrl": "https://platform.lakesail.com/acme/jobs/JOBABC123/runs/RUNABC123",
  
"restarts": {
  
  
"count": 2,
  
  
"involuntaryCount": 1,
  
  
"lastAt": "string",
  
  
"lastCause": "runner_failed"
  
},
  
"terminationReason": "string",
  
"exitCode": 0,
  
"attempt": 1
}

Playground​

Authorization
Body

Samples​


Issue a job run log stream​

POST
/workloads/jobs/{job}/runs/{jobRun}/logs/stream

Issues a short-lived token and URL for streaming the live log of one of the job run's pods, selected by source, from the customer-side session proxy. Available while the run is live and, after it finishes, until the run's resources are cleaned up; once cleaned, the endpoint returns 410. Returns 409 while the selected pod is not yet running (retry shortly) or when the cluster requires re-provisioning for live logs.

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

Type
HTTP (bearer)

Parameters​

Query Parameters

source

Which of the run's pods to stream. runner (default) is the job runner that submits the work; engine is the Sail driver that executes it, where engine-side failures such as out-of-memory kills and panics appear.

Type
string
Valid values
"runner""engine"
Default
"runner"

Responses​

Connection details for the job run's live log stream.

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

Playground​

Authorization
Variables
Key
Value

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, trusted devices, and
personal access tokens across every organization the user belongs to,
requiring re-authentication. Can only be called from an interactive session,
not with a personal access token or other machine credential.

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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"
  
  
  
],
  
  
  
"defaultCatalogId": "A1B2C3D4E5",
  
  
  
"jobIds": [
  
  
  
  
"A1B2C3D4E5"
  
  
  
]
  
  
}
  
],
  
"included": {
  
  
"queries": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"memberId": "A1B2C3D4E5",
  
  
  
  
"name": "Daily Sales Summary",
  
  
  
  
"description": "Daily ETL pipeline for sales data",
  
  
  
  
"catalog_schema": "analytics",
  
  
  
  
"defaultCatalogId": "A1B2C3D4E5",
  
  
  
  
"catalogs": [
  
  
  
  
  
{
  
  
  
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
  
  
  
"name": "Production Cluster"
  
  
  
  
  
}
  
  
  
  
],
  
  
  
  
"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": {
  
  
  
  
  
"providerConfig": {
  
  
  
  
  
  
"initialDatabase": [
  
  
  
  
  
  
  
[
  
  
  
  
  
  
  
  
"dev",
  
  
  
  
  
  
  
  
"analytics"
  
  
  
  
  
  
  
]
  
  
  
  
  
  
],
  
  
  
  
  
  
"initialDatabaseComment": "Development analytics database"
  
  
  
  
  
},
  
  
  
  
  
"common": {
  
  
  
  
  
  
"defaultDatabase": [
  
  
  
  
  
  
  
[
  
  
  
  
  
  
  
  
"default"
  
  
  
  
  
  
  
]
  
  
  
  
  
  
],
  
  
  
  
  
  
"globalTemporaryDatabase": [
  
  
  
  
  
  
  
[
  
  
  
  
  
  
  
  
"global_temp"
  
  
  
  
  
  
  
]
  
  
  
  
  
  
],
  
  
  
  
  
  
"cache": {
  
  
  
  
  
  
  
"databases": {
  
  
  
  
  
  
  
  
"scope": "none",
  
  
  
  
  
  
  
  
"size": 0,
  
  
  
  
  
  
  
  
"ttlSeconds": 0
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
"tables": {
  
  
  
  
  
  
  
  
"scope": "none",
  
  
  
  
  
  
  
  
"size": 0,
  
  
  
  
  
  
  
  
"ttlSeconds": 0
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
"views": {
  
  
  
  
  
  
  
  
"scope": "none",
  
  
  
  
  
  
  
  
"size": 0,
  
  
  
  
  
  
  
  
"ttlSeconds": 0
  
  
  
  
  
  
  
}
  
  
  
  
  
  
},
  
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
  
},
  
  
  
  
  
"envVars": {
  
  
  
  
  
  
"additionalProperties": {
  
  
  
  
  
  
  
"type": "string",
  
  
  
  
  
  
  
"value": "string"
  
  
  
  
  
  
}
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"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",
  
  
  
  
"workloadConfigId": "A1B2C3D4E5",
  
  
  
  
"description": "Daily ETL pipeline for sales data",
  
  
  
  
"config": {
  
  
  
  
  
"sql": {
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"queryId": "Q1R2S3T4U5"
  
  
  
  
  
},
  
  
  
  
  
"python": {
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"packageName": "string",
  
  
  
  
  
  
"entryPoint": "string",
  
  
  
  
  
  
"arguments": [
  
  
  
  
  
  
  
[
  
  
  
  
  
  
  
  
"--mode",
  
  
  
  
  
  
  
  
"incremental",
  
  
  
  
  
  
  
  
"--full-refresh"
  
  
  
  
  
  
  
]
  
  
  
  
  
  
]
  
  
  
  
  
},
  
  
  
  
  
"notebook": {
  
  
  
  
  
  
"notebookId": "A1B2C3D4E5",
  
  
  
  
  
  
"arguments": [
  
  
  
  
  
  
  
[
  
  
  
  
  
  
  
  
"--mode",
  
  
  
  
  
  
  
  
"incremental"
  
  
  
  
  
  
  
]
  
  
  
  
  
  
]
  
  
  
  
  
},
  
  
  
  
  
"lakesail": {
  
  
  
  
  
  
"executionMode": "string",
  
  
  
  
  
  
"maxRetries": 3,
  
  
  
  
  
  
"lakesailImageUri": "string",
  
  
  
  
  
  
"libraries": [
  
  
  
  
  
  
  
{
  
  
  
  
  
  
  
  
"pypi": {
  
  
  
  
  
  
  
  
  
"package": "string",
  
  
  
  
  
  
  
  
  
"repo": "string"
  
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
  
"requirements": {
  
  
  
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
  
  
  
"uri": "string"
  
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
  
"whl": "string"
  
  
  
  
  
  
  
}
  
  
  
  
  
  
],
  
  
  
  
  
  
"envVars": {
  
  
  
  
  
  
  
"additionalProperties": {
  
  
  
  
  
  
  
  
"type": "string",
  
  
  
  
  
  
  
  
"value": "string"
  
  
  
  
  
  
  
}
  
  
  
  
  
  
},
  
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
  
},
  
  
  
  
  
"parameterDefinitions": [
  
  
  
  
  
  
{
  
  
  
  
  
  
  
"name": "date",
  
  
  
  
  
  
  
"type": "string",
  
  
  
  
  
  
  
"required": true,
  
  
  
  
  
  
  
"default": "2026-01-01"
  
  
  
  
  
  
}
  
  
  
  
  
]
  
  
  
  
},
  
  
  
  
"catalogs": [
  
  
  
  
  
{
  
  
  
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
  
  
  
"name": "Production Cluster"
  
  
  
  
  
}
  
  
  
  
],
  
  
  
  
"defaultCatalogId": "A1B2C3D4E5",
  
  
  
  
"catalogsOverridden": true,
  
  
  
  
"effectiveCatalogs": [
  
  
  
  
  
{
  
  
  
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
  
  
  
"name": "string",
  
  
  
  
  
  
"catalogName": "string",
  
  
  
  
  
  
"provider": "glue",
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"isDefault": true,
  
  
  
  
  
  
"overridden": true
  
  
  
  
  
}
  
  
  
  
],
  
  
  
  
"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",
  
  
  
  
"scheduledRunsOverdue": 0,
  
  
  
  
"scheduledRunsOverdueSince": "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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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"
  
  
  
],
  
  
  
"defaultCatalogId": "A1B2C3D4E5",
  
  
  
"jobIds": [
  
  
  
  
"A1B2C3D4E5"
  
  
  
]
  
  
}
  
],
  
"included": {
  
  
"queries": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"memberId": "A1B2C3D4E5",
  
  
  
  
"name": "Daily Sales Summary",
  
  
  
  
"description": "Daily ETL pipeline for sales data",
  
  
  
  
"catalog_schema": "analytics",
  
  
  
  
"defaultCatalogId": "A1B2C3D4E5",
  
  
  
  
"catalogs": [
  
  
  
  
  
{
  
  
  
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
  
  
  
"name": "Production Cluster"
  
  
  
  
  
}
  
  
  
  
],
  
  
  
  
"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": {
  
  
  
  
  
"providerConfig": {
  
  
  
  
  
  
"initialDatabase": [
  
  
  
  
  
  
  
[
  
  
  
  
  
  
  
  
"dev",
  
  
  
  
  
  
  
  
"analytics"
  
  
  
  
  
  
  
]
  
  
  
  
  
  
],
  
  
  
  
  
  
"initialDatabaseComment": "Development analytics database"
  
  
  
  
  
},
  
  
  
  
  
"common": {
  
  
  
  
  
  
"defaultDatabase": [
  
  
  
  
  
  
  
[
  
  
  
  
  
  
  
  
"default"
  
  
  
  
  
  
  
]
  
  
  
  
  
  
],
  
  
  
  
  
  
"globalTemporaryDatabase": [
  
  
  
  
  
  
  
[
  
  
  
  
  
  
  
  
"global_temp"
  
  
  
  
  
  
  
]
  
  
  
  
  
  
],
  
  
  
  
  
  
"cache": {
  
  
  
  
  
  
  
"databases": {
  
  
  
  
  
  
  
  
"scope": "none",
  
  
  
  
  
  
  
  
"size": 0,
  
  
  
  
  
  
  
  
"ttlSeconds": 0
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
"tables": {
  
  
  
  
  
  
  
  
"scope": "none",
  
  
  
  
  
  
  
  
"size": 0,
  
  
  
  
  
  
  
  
"ttlSeconds": 0
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
"views": {
  
  
  
  
  
  
  
  
"scope": "none",
  
  
  
  
  
  
  
  
"size": 0,
  
  
  
  
  
  
  
  
"ttlSeconds": 0
  
  
  
  
  
  
  
}
  
  
  
  
  
  
},
  
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
  
},
  
  
  
  
  
"envVars": {
  
  
  
  
  
  
"additionalProperties": {
  
  
  
  
  
  
  
"type": "string",
  
  
  
  
  
  
  
"value": "string"
  
  
  
  
  
  
}
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"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",
  
  
  
  
"workloadConfigId": "A1B2C3D4E5",
  
  
  
  
"description": "Daily ETL pipeline for sales data",
  
  
  
  
"config": {
  
  
  
  
  
"sql": {
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"queryId": "Q1R2S3T4U5"
  
  
  
  
  
},
  
  
  
  
  
"python": {
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"packageName": "string",
  
  
  
  
  
  
"entryPoint": "string",
  
  
  
  
  
  
"arguments": [
  
  
  
  
  
  
  
[
  
  
  
  
  
  
  
  
"--mode",
  
  
  
  
  
  
  
  
"incremental",
  
  
  
  
  
  
  
  
"--full-refresh"
  
  
  
  
  
  
  
]
  
  
  
  
  
  
]
  
  
  
  
  
},
  
  
  
  
  
"notebook": {
  
  
  
  
  
  
"notebookId": "A1B2C3D4E5",
  
  
  
  
  
  
"arguments": [
  
  
  
  
  
  
  
[
  
  
  
  
  
  
  
  
"--mode",
  
  
  
  
  
  
  
  
"incremental"
  
  
  
  
  
  
  
]
  
  
  
  
  
  
]
  
  
  
  
  
},
  
  
  
  
  
"lakesail": {
  
  
  
  
  
  
"executionMode": "string",
  
  
  
  
  
  
"maxRetries": 3,
  
  
  
  
  
  
"lakesailImageUri": "string",
  
  
  
  
  
  
"libraries": [
  
  
  
  
  
  
  
{
  
  
  
  
  
  
  
  
"pypi": {
  
  
  
  
  
  
  
  
  
"package": "string",
  
  
  
  
  
  
  
  
  
"repo": "string"
  
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
  
"requirements": {
  
  
  
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
  
  
  
"uri": "string"
  
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
  
"whl": "string"
  
  
  
  
  
  
  
}
  
  
  
  
  
  
],
  
  
  
  
  
  
"envVars": {
  
  
  
  
  
  
  
"additionalProperties": {
  
  
  
  
  
  
  
  
"type": "string",
  
  
  
  
  
  
  
  
"value": "string"
  
  
  
  
  
  
  
}
  
  
  
  
  
  
},
  
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
  
},
  
  
  
  
  
"parameterDefinitions": [
  
  
  
  
  
  
{
  
  
  
  
  
  
  
"name": "date",
  
  
  
  
  
  
  
"type": "string",
  
  
  
  
  
  
  
"required": true,
  
  
  
  
  
  
  
"default": "2026-01-01"
  
  
  
  
  
  
}
  
  
  
  
  
]
  
  
  
  
},
  
  
  
  
"catalogs": [
  
  
  
  
  
{
  
  
  
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
  
  
  
"name": "Production Cluster"
  
  
  
  
  
}
  
  
  
  
],
  
  
  
  
"defaultCatalogId": "A1B2C3D4E5",
  
  
  
  
"catalogsOverridden": true,
  
  
  
  
"effectiveCatalogs": [
  
  
  
  
  
{
  
  
  
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
  
  
  
"name": "string",
  
  
  
  
  
  
"catalogName": "string",
  
  
  
  
  
  
"provider": "glue",
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"isDefault": true,
  
  
  
  
  
  
"overridden": true
  
  
  
  
  
}
  
  
  
  
],
  
  
  
  
"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",
  
  
  
  
"scheduledRunsOverdue": 0,
  
  
  
  
"scheduledRunsOverdueSince": "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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

Type
HTTP (bearer)

Request Body​

application/json
JSON
{
  
"name": "Daily Sales Summary",
  
"description": "Daily ETL pipeline for sales data",
  
"catalog_schema": "analytics",
  
"defaultCatalogId": "A1B2C3D4E5",
  
"catalogs": [
  
],
  
"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",
  
"defaultCatalogId": "A1B2C3D4E5",
  
"catalogs": [
  
  
{
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
"name": "Production Cluster"
  
  
}
  
],
  
"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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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"
  
  
],
  
  
"defaultCatalogId": "A1B2C3D4E5",
  
  
"jobIds": [
  
  
  
"A1B2C3D4E5"
  
  
]
  
},
  
"included": {
  
  
"queries": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"memberId": "A1B2C3D4E5",
  
  
  
  
"name": "Daily Sales Summary",
  
  
  
  
"description": "Daily ETL pipeline for sales data",
  
  
  
  
"catalog_schema": "analytics",
  
  
  
  
"defaultCatalogId": "A1B2C3D4E5",
  
  
  
  
"catalogs": [
  
  
  
  
  
{
  
  
  
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
  
  
  
"name": "Production Cluster"
  
  
  
  
  
}
  
  
  
  
],
  
  
  
  
"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": {
  
  
  
  
  
"providerConfig": {
  
  
  
  
  
  
"initialDatabase": [
  
  
  
  
  
  
  
[
  
  
  
  
  
  
  
  
"dev",
  
  
  
  
  
  
  
  
"analytics"
  
  
  
  
  
  
  
]
  
  
  
  
  
  
],
  
  
  
  
  
  
"initialDatabaseComment": "Development analytics database"
  
  
  
  
  
},
  
  
  
  
  
"common": {
  
  
  
  
  
  
"defaultDatabase": [
  
  
  
  
  
  
  
[
  
  
  
  
  
  
  
  
"default"
  
  
  
  
  
  
  
]
  
  
  
  
  
  
],
  
  
  
  
  
  
"globalTemporaryDatabase": [
  
  
  
  
  
  
  
[
  
  
  
  
  
  
  
  
"global_temp"
  
  
  
  
  
  
  
]
  
  
  
  
  
  
],
  
  
  
  
  
  
"cache": {
  
  
  
  
  
  
  
"databases": {
  
  
  
  
  
  
  
  
"scope": "none",
  
  
  
  
  
  
  
  
"size": 0,
  
  
  
  
  
  
  
  
"ttlSeconds": 0
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
"tables": {
  
  
  
  
  
  
  
  
"scope": "none",
  
  
  
  
  
  
  
  
"size": 0,
  
  
  
  
  
  
  
  
"ttlSeconds": 0
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
"views": {
  
  
  
  
  
  
  
  
"scope": "none",
  
  
  
  
  
  
  
  
"size": 0,
  
  
  
  
  
  
  
  
"ttlSeconds": 0
  
  
  
  
  
  
  
}
  
  
  
  
  
  
},
  
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
  
},
  
  
  
  
  
"envVars": {
  
  
  
  
  
  
"additionalProperties": {
  
  
  
  
  
  
  
"type": "string",
  
  
  
  
  
  
  
"value": "string"
  
  
  
  
  
  
}
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"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",
  
  
  
  
"workloadConfigId": "A1B2C3D4E5",
  
  
  
  
"description": "Daily ETL pipeline for sales data",
  
  
  
  
"config": {
  
  
  
  
  
"sql": {
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"queryId": "Q1R2S3T4U5"
  
  
  
  
  
},
  
  
  
  
  
"python": {
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"packageName": "string",
  
  
  
  
  
  
"entryPoint": "string",
  
  
  
  
  
  
"arguments": [
  
  
  
  
  
  
  
[
  
  
  
  
  
  
  
  
"--mode",
  
  
  
  
  
  
  
  
"incremental",
  
  
  
  
  
  
  
  
"--full-refresh"
  
  
  
  
  
  
  
]
  
  
  
  
  
  
]
  
  
  
  
  
},
  
  
  
  
  
"notebook": {
  
  
  
  
  
  
"notebookId": "A1B2C3D4E5",
  
  
  
  
  
  
"arguments": [
  
  
  
  
  
  
  
[
  
  
  
  
  
  
  
  
"--mode",
  
  
  
  
  
  
  
  
"incremental"
  
  
  
  
  
  
  
]
  
  
  
  
  
  
]
  
  
  
  
  
},
  
  
  
  
  
"lakesail": {
  
  
  
  
  
  
"executionMode": "string",
  
  
  
  
  
  
"maxRetries": 3,
  
  
  
  
  
  
"lakesailImageUri": "string",
  
  
  
  
  
  
"libraries": [
  
  
  
  
  
  
  
{
  
  
  
  
  
  
  
  
"pypi": {
  
  
  
  
  
  
  
  
  
"package": "string",
  
  
  
  
  
  
  
  
  
"repo": "string"
  
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
  
"requirements": {
  
  
  
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
  
  
  
"uri": "string"
  
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
  
"whl": "string"
  
  
  
  
  
  
  
}
  
  
  
  
  
  
],
  
  
  
  
  
  
"envVars": {
  
  
  
  
  
  
  
"additionalProperties": {
  
  
  
  
  
  
  
  
"type": "string",
  
  
  
  
  
  
  
  
"value": "string"
  
  
  
  
  
  
  
}
  
  
  
  
  
  
},
  
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
  
},
  
  
  
  
  
"parameterDefinitions": [
  
  
  
  
  
  
{
  
  
  
  
  
  
  
"name": "date",
  
  
  
  
  
  
  
"type": "string",
  
  
  
  
  
  
  
"required": true,
  
  
  
  
  
  
  
"default": "2026-01-01"
  
  
  
  
  
  
}
  
  
  
  
  
]
  
  
  
  
},
  
  
  
  
"catalogs": [
  
  
  
  
  
{
  
  
  
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
  
  
  
"name": "Production Cluster"
  
  
  
  
  
}
  
  
  
  
],
  
  
  
  
"defaultCatalogId": "A1B2C3D4E5",
  
  
  
  
"catalogsOverridden": true,
  
  
  
  
"effectiveCatalogs": [
  
  
  
  
  
{
  
  
  
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
  
  
  
"name": "string",
  
  
  
  
  
  
"catalogName": "string",
  
  
  
  
  
  
"provider": "glue",
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"isDefault": true,
  
  
  
  
  
  
"overridden": true
  
  
  
  
  
}
  
  
  
  
],
  
  
  
  
"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",
  
  
  
  
"scheduledRunsOverdue": 0,
  
  
  
  
"scheduledRunsOverdueSince": "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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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",
  
"defaultCatalogId": "A1B2C3D4E5",
  
"catalogs": [
  
],
  
"queryText": "SELECT region, SUM(amount) FROM sales GROUP BY region",
  
"tags": [
  
  
[
  
  
  
"etl",
  
  
  
"sales",
  
  
  
"daily"
  
  
]
  
],
  
"teamIds": [
  
  
"A1B2C3D4E5"
  
]
}

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",
  
"defaultCatalogId": "A1B2C3D4E5",
  
"catalogs": [
  
  
{
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
"name": "Production Cluster"
  
  
}
  
],
  
"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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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"
  
  
  
],
  
  
  
"defaultCatalogId": "A1B2C3D4E5",
  
  
  
"jobIds": [
  
  
  
  
"A1B2C3D4E5"
  
  
  
]
  
  
}
  
],
  
"included": {
  
  
"queries": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"memberId": "A1B2C3D4E5",
  
  
  
  
"name": "Daily Sales Summary",
  
  
  
  
"description": "Daily ETL pipeline for sales data",
  
  
  
  
"catalog_schema": "analytics",
  
  
  
  
"defaultCatalogId": "A1B2C3D4E5",
  
  
  
  
"catalogs": [
  
  
  
  
  
{
  
  
  
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
  
  
  
"name": "Production Cluster"
  
  
  
  
  
}
  
  
  
  
],
  
  
  
  
"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": {
  
  
  
  
  
"providerConfig": {
  
  
  
  
  
  
"initialDatabase": [
  
  
  
  
  
  
  
[
  
  
  
  
  
  
  
  
"dev",
  
  
  
  
  
  
  
  
"analytics"
  
  
  
  
  
  
  
]
  
  
  
  
  
  
],
  
  
  
  
  
  
"initialDatabaseComment": "Development analytics database"
  
  
  
  
  
},
  
  
  
  
  
"common": {
  
  
  
  
  
  
"defaultDatabase": [
  
  
  
  
  
  
  
[
  
  
  
  
  
  
  
  
"default"
  
  
  
  
  
  
  
]
  
  
  
  
  
  
],
  
  
  
  
  
  
"globalTemporaryDatabase": [
  
  
  
  
  
  
  
[
  
  
  
  
  
  
  
  
"global_temp"
  
  
  
  
  
  
  
]
  
  
  
  
  
  
],
  
  
  
  
  
  
"cache": {
  
  
  
  
  
  
  
"databases": {
  
  
  
  
  
  
  
  
"scope": "none",
  
  
  
  
  
  
  
  
"size": 0,
  
  
  
  
  
  
  
  
"ttlSeconds": 0
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
"tables": {
  
  
  
  
  
  
  
  
"scope": "none",
  
  
  
  
  
  
  
  
"size": 0,
  
  
  
  
  
  
  
  
"ttlSeconds": 0
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
"views": {
  
  
  
  
  
  
  
  
"scope": "none",
  
  
  
  
  
  
  
  
"size": 0,
  
  
  
  
  
  
  
  
"ttlSeconds": 0
  
  
  
  
  
  
  
}
  
  
  
  
  
  
},
  
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
  
},
  
  
  
  
  
"envVars": {
  
  
  
  
  
  
"additionalProperties": {
  
  
  
  
  
  
  
"type": "string",
  
  
  
  
  
  
  
"value": "string"
  
  
  
  
  
  
}
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"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",
  
  
  
  
"workloadConfigId": "A1B2C3D4E5",
  
  
  
  
"description": "Daily ETL pipeline for sales data",
  
  
  
  
"config": {
  
  
  
  
  
"sql": {
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"queryId": "Q1R2S3T4U5"
  
  
  
  
  
},
  
  
  
  
  
"python": {
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"packageName": "string",
  
  
  
  
  
  
"entryPoint": "string",
  
  
  
  
  
  
"arguments": [
  
  
  
  
  
  
  
[
  
  
  
  
  
  
  
  
"--mode",
  
  
  
  
  
  
  
  
"incremental",
  
  
  
  
  
  
  
  
"--full-refresh"
  
  
  
  
  
  
  
]
  
  
  
  
  
  
]
  
  
  
  
  
},
  
  
  
  
  
"notebook": {
  
  
  
  
  
  
"notebookId": "A1B2C3D4E5",
  
  
  
  
  
  
"arguments": [
  
  
  
  
  
  
  
[
  
  
  
  
  
  
  
  
"--mode",
  
  
  
  
  
  
  
  
"incremental"
  
  
  
  
  
  
  
]
  
  
  
  
  
  
]
  
  
  
  
  
},
  
  
  
  
  
"lakesail": {
  
  
  
  
  
  
"executionMode": "string",
  
  
  
  
  
  
"maxRetries": 3,
  
  
  
  
  
  
"lakesailImageUri": "string",
  
  
  
  
  
  
"libraries": [
  
  
  
  
  
  
  
{
  
  
  
  
  
  
  
  
"pypi": {
  
  
  
  
  
  
  
  
  
"package": "string",
  
  
  
  
  
  
  
  
  
"repo": "string"
  
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
  
"requirements": {
  
  
  
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
  
  
  
"uri": "string"
  
  
  
  
  
  
  
  
},
  
  
  
  
  
  
  
  
"whl": "string"
  
  
  
  
  
  
  
}
  
  
  
  
  
  
],
  
  
  
  
  
  
"envVars": {
  
  
  
  
  
  
  
"additionalProperties": {
  
  
  
  
  
  
  
  
"type": "string",
  
  
  
  
  
  
  
  
"value": "string"
  
  
  
  
  
  
  
}
  
  
  
  
  
  
},
  
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
  
},
  
  
  
  
  
"parameterDefinitions": [
  
  
  
  
  
  
{
  
  
  
  
  
  
  
"name": "date",
  
  
  
  
  
  
  
"type": "string",
  
  
  
  
  
  
  
"required": true,
  
  
  
  
  
  
  
"default": "2026-01-01"
  
  
  
  
  
  
}
  
  
  
  
  
]
  
  
  
  
},
  
  
  
  
"catalogs": [
  
  
  
  
  
{
  
  
  
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
  
  
  
"name": "Production Cluster"
  
  
  
  
  
}
  
  
  
  
],
  
  
  
  
"defaultCatalogId": "A1B2C3D4E5",
  
  
  
  
"catalogsOverridden": true,
  
  
  
  
"effectiveCatalogs": [
  
  
  
  
  
{
  
  
  
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
  
  
  
"name": "string",
  
  
  
  
  
  
"catalogName": "string",
  
  
  
  
  
  
"provider": "glue",
  
  
  
  
  
  
"source": "string",
  
  
  
  
  
  
"isDefault": true,
  
  
  
  
  
  
"overridden": true
  
  
  
  
  
}
  
  
  
  
],
  
  
  
  
"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",
  
  
  
  
"scheduledRunsOverdue": 0,
  
  
  
  
"scheduledRunsOverdueSince": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
  
}
  
  
]
  
}
}

Playground​

Authorization
Variables
Key
Value

Samples​


tokens​

Personal access tokens for programmatic access with the member's own permissions, including organization-wide token administration.


List my personal access tokens​

GET
/me/tokens

Returns a paginated list of the currently authenticated member's personal access tokens, including expired tokens. Deleted tokens are not returned. Token secrets are not included in the response.

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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 personal access tokens is returned.

application/json
JSON
{
  
"items": [
  
  
{
  
  
  
"id": "A1B2C3D4E5",
  
  
  
"memberId": "A1B2C3D4E5",
  
  
  
"name": "string",
  
  
  
"description": "string",
  
  
  
"expiresAt": "string",
  
  
  
"revokedAt": "string",
  
  
  
"revokedBy": "A1B2C3D4E5",
  
  
  
"revokedReason": "string",
  
  
  
"lastRegeneratedAt": "string",
  
  
  
"lastUsedAt": "string",
  
  
  
"createdAt": "string",
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
"updatedAt": "string",
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
}
  
],
  
"marker": "string"
}

Playground​

Authorization
Variables
Key
Value

Samples​


Create a personal access token​

POST
/me/tokens

Creates a new personal access token for the currently authenticated member. The token acts as the member and carries the member's permissions. The token secret is returned only once in the response and cannot be retrieved later. An expiry is required and must not exceed the organization's maximum token lifetime. Creating a token requires recent interactive authentication.

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

Type
HTTP (bearer)

Request Body​

application/json
JSON
{
  
"name": "string",
  
"description": "string",
  
"expiresAt": "string"
}

Responses​

The personal access token was created successfully.

application/json
JSON
{
  
"id": "A1B2C3D4E5",
  
"memberId": "A1B2C3D4E5",
  
"name": "string",
  
"description": "string",
  
"expiresAt": "string",
  
"token": "string",
  
"revokedAt": "string",
  
"revokedBy": "A1B2C3D4E5",
  
"revokedReason": "string",
  
"lastRegeneratedAt": "string",
  
"lastUsedAt": "string",
  
"createdAt": "string",
  
"createdBy": "A1B2C3D4E5",
  
"updatedAt": "string",
  
"updatedBy": "A1B2C3D4E5"
}

Playground​

Authorization
Body

Samples​


Describe a personal access token​

GET
/me/tokens/{tokenId}

Returns the information about one of the currently authenticated member's personal access tokens. Deleted tokens are not found. The token secret is not included in the response.

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

Type
HTTP (bearer)

Responses​

The information about the personal access token is returned.

application/json
JSON
{
  
"id": "A1B2C3D4E5",
  
"memberId": "A1B2C3D4E5",
  
"name": "string",
  
"description": "string",
  
"expiresAt": "string",
  
"revokedAt": "string",
  
"revokedBy": "A1B2C3D4E5",
  
"revokedReason": "string",
  
"lastRegeneratedAt": "string",
  
"lastUsedAt": "string",
  
"createdAt": "string",
  
"createdBy": "A1B2C3D4E5",
  
"updatedAt": "string",
  
"updatedBy": "A1B2C3D4E5"
}

Playground​

Authorization

Samples​


Delete a personal access token​

DELETE
/me/tokens/{tokenId}

Deletes one of the currently authenticated member's personal access tokens. The token immediately stops working and no longer appears in the member's token list. Organization administrators can still see recently deleted tokens until they are purged after the retention period.

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

Type
HTTP (bearer)

Responses​

The requested operation was done successfully.

Playground​

Authorization

Samples​


Regenerate a personal access token​

POST
/me/tokens/{tokenId}/regenerate

Replaces the secret of one of the currently authenticated member's personal access tokens. The old secret immediately stops working. The new secret is returned only once in the response and cannot be retrieved later. A new expiry is required and must not exceed the organization's maximum token lifetime. Regenerating a token requires recent interactive authentication.

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

Type
HTTP (bearer)

Request Body​

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

Responses​

The personal access token was regenerated successfully.

application/json
JSON
{
  
"id": "A1B2C3D4E5",
  
"memberId": "A1B2C3D4E5",
  
"name": "string",
  
"description": "string",
  
"expiresAt": "string",
  
"token": "string",
  
"revokedAt": "string",
  
"revokedBy": "A1B2C3D4E5",
  
"revokedReason": "string",
  
"lastRegeneratedAt": "string",
  
"lastUsedAt": "string",
  
"createdAt": "string",
  
"createdBy": "A1B2C3D4E5",
  
"updatedAt": "string",
  
"updatedBy": "A1B2C3D4E5"
}

Playground​

Authorization
Body

Samples​


List the organization's personal access tokens​

GET
/org/tokens

Returns a paginated list of the personal access tokens in the organization, optionally filtered by owning member. Token secrets are never included in the response.

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

Type
HTTP (bearer)

Parameters​

Query Parameters

memberId

Filter by the member owning the tokens.

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​

A list of personal access tokens is returned.

application/json
JSON
{
  
"items": [
  
  
{
  
  
  
"id": "A1B2C3D4E5",
  
  
  
"memberId": "A1B2C3D4E5",
  
  
  
"name": "string",
  
  
  
"description": "string",
  
  
  
"expiresAt": "string",
  
  
  
"revokedAt": "string",
  
  
  
"revokedBy": "A1B2C3D4E5",
  
  
  
"revokedReason": "string",
  
  
  
"lastRegeneratedAt": "string",
  
  
  
"lastUsedAt": "string",
  
  
  
"createdAt": "string",
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
"updatedAt": "string",
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
}
  
],
  
"marker": "string"
}

Playground​

Authorization
Variables
Key
Value

Samples​


List per-member personal access token summaries​

GET
/org/tokens/summaries

Returns paginated, server-computed personal access token aggregates per member of the organization: active token count, nearest expiry, and most recent use. Members without tokens are not included.

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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 per-member personal access token summaries is returned.

application/json
JSON
{
  
"items": [
  
  
{
  
  
  
"memberId": "A1B2C3D4E5",
  
  
  
"activeTokenCount": 0,
  
  
  
"nearestExpiresAt": "string",
  
  
  
"latestLastUsedAt": "string"
  
  
}
  
],
  
"marker": "string"
}

Playground​

Authorization
Variables
Key
Value

Samples​


Revoke a member's personal access token​

DELETE
/org/tokens/{tokenId}

Revokes a personal access token belonging to any member of the organization. The token immediately stops working. The token's owner can see that the token was revoked and by whom.

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

Type
HTTP (bearer)

Responses​

The requested operation was done successfully.

Playground​

Authorization

Samples​


notebooks​


List my team notebooks​

GET
/me/teams/notebooks

Returns all notebooks shared with the current user's teams that they are
permitted to view, aggregated across every team they belong to.

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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 notebook field to sort by.

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

The direction to sort notebooks.

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

Responses​

A list of notebooks the current user can access via their teams is returned.

application/json
JSON
{
  
"total": 0,
  
"items": [
  
  
{
  
  
  
"notebookId": "A1B2C3D4E5",
  
  
  
"teamIds": [
  
  
  
  
"A1B2C3D4E5"
  
  
  
],
  
  
  
"workloadConfigId": "A1B2C3D4E5"
  
  
}
  
],
  
"included": {
  
  
"notebooks": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"memberId": "A1B2C3D4E5",
  
  
  
  
"workloadConfigId": "A1B2C3D4E5",
  
  
  
  
"name": "Daily Sales Analysis",
  
  
  
  
"description": "Daily ETL pipeline for sales data",
  
  
  
  
"status": "running",
  
  
  
  
"statusMessage": "string",
  
  
  
  
"idleTimeoutSeconds": 3600,
  
  
  
  
"detachedTimeoutSeconds": 14400,
  
  
  
  
"lastActiveAt": "string",
  
  
  
  
"sessionId": "A1B2C3D4E5",
  
  
  
  
"catalogs": [
  
  
  
  
  
{
  
  
  
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
  
  
  
"name": "Production Cluster"
  
  
  
  
  
}
  
  
  
  
],
  
  
  
  
"defaultCatalogId": "A1B2C3D4E5",
  
  
  
  
"catalogsOverridden": true,
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
  
}
  
  
],
  
  
"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"
  
  
  
}
  
  
],
  
  
"teams": [
  
  
  
{
  
  
  
  
"team": {
  
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
  
"organizationId": "A1B2C3D4E5",
  
  
  
  
  
"name": "string",
  
  
  
  
  
"createdAt": "string",
  
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
  
"updatedAt": "string",
  
  
  
  
  
"updatedBy": "A1B2C3D4E5",
  
  
  
  
  
"defaultRoleId": "A1B2C3D4E5"
  
  
  
  
},
  
  
  
  
"memberCount": 0
  
  
  
}
  
  
],
  
  
"workloadConfigs": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"name": "Production Cluster",
  
  
  
  
"workloadType": "string",
  
  
  
  
"clusterId": "A1B2C3D4E5",
  
  
  
  
"config": {
  
  
  
  
  
"sail": {
  
  
  
  
  
  
"executionMode": "string",
  
  
  
  
  
  
"maxRetries": 3,
  
  
  
  
  
  
"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": {
  
  
  
  
  
  
  
  
"type": "string",
  
  
  
  
  
  
  
  
"value": "string"
  
  
  
  
  
  
  
}
  
  
  
  
  
  
}
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"endpointLimits": {
  
  
  
  
  
"spark_connect": 0
  
  
  
  
},
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5",
  
  
  
  
"catalogs": [
  
  
  
  
  
{
  
  
  
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
  
  
  
"name": "Production Cluster"
  
  
  
  
  
}
  
  
  
  
],
  
  
  
  
"defaultCatalogId": "A1B2C3D4E5",
  
  
  
  
"capabilities": {
  
  
  
  
  
"run": {
  
  
  
  
  
  
"allowed": true,
  
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"storeFiles": {
  
  
  
  
  
  
"allowed": true,
  
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"warning": {
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"notebookCount": 0,
  
  
  
  
"jobCount": 0,
  
  
  
  
"activeWorkloadCount": 0
  
  
  
}
  
  
]
  
}
}

Playground​

Authorization
Variables
Key
Value

Samples​


List notebooks​

GET
/workloads/notebooks

Returns a paginated list of the notebooks owned by the requesting member. Notebooks shared with the member's teams are returned by ListMyTeamNotebooks.

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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 notebook field to sort by.

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

The direction to sort notebooks.

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

Responses​

A paginated list of notebooks is returned.

application/json
JSON
{
  
"total": 0,
  
"items": [
  
  
{
  
  
  
"notebookId": "A1B2C3D4E5",
  
  
  
"teamIds": [
  
  
  
  
"A1B2C3D4E5"
  
  
  
],
  
  
  
"workloadConfigId": "A1B2C3D4E5"
  
  
}
  
],
  
"included": {
  
  
"notebooks": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"memberId": "A1B2C3D4E5",
  
  
  
  
"workloadConfigId": "A1B2C3D4E5",
  
  
  
  
"name": "Daily Sales Analysis",
  
  
  
  
"description": "Daily ETL pipeline for sales data",
  
  
  
  
"status": "running",
  
  
  
  
"statusMessage": "string",
  
  
  
  
"idleTimeoutSeconds": 3600,
  
  
  
  
"detachedTimeoutSeconds": 14400,
  
  
  
  
"lastActiveAt": "string",
  
  
  
  
"sessionId": "A1B2C3D4E5",
  
  
  
  
"catalogs": [
  
  
  
  
  
{
  
  
  
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
  
  
  
"name": "Production Cluster"
  
  
  
  
  
}
  
  
  
  
],
  
  
  
  
"defaultCatalogId": "A1B2C3D4E5",
  
  
  
  
"catalogsOverridden": true,
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
  
}
  
  
],
  
  
"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"
  
  
  
}
  
  
],
  
  
"teams": [
  
  
  
{
  
  
  
  
"team": {
  
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
  
"organizationId": "A1B2C3D4E5",
  
  
  
  
  
"name": "string",
  
  
  
  
  
"createdAt": "string",
  
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
  
"updatedAt": "string",
  
  
  
  
  
"updatedBy": "A1B2C3D4E5",
  
  
  
  
  
"defaultRoleId": "A1B2C3D4E5"
  
  
  
  
},
  
  
  
  
"memberCount": 0
  
  
  
}
  
  
],
  
  
"workloadConfigs": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"name": "Production Cluster",
  
  
  
  
"workloadType": "string",
  
  
  
  
"clusterId": "A1B2C3D4E5",
  
  
  
  
"config": {
  
  
  
  
  
"sail": {
  
  
  
  
  
  
"executionMode": "string",
  
  
  
  
  
  
"maxRetries": 3,
  
  
  
  
  
  
"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": {
  
  
  
  
  
  
  
  
"type": "string",
  
  
  
  
  
  
  
  
"value": "string"
  
  
  
  
  
  
  
}
  
  
  
  
  
  
}
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"endpointLimits": {
  
  
  
  
  
"spark_connect": 0
  
  
  
  
},
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5",
  
  
  
  
"catalogs": [
  
  
  
  
  
{
  
  
  
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
  
  
  
"name": "Production Cluster"
  
  
  
  
  
}
  
  
  
  
],
  
  
  
  
"defaultCatalogId": "A1B2C3D4E5",
  
  
  
  
"capabilities": {
  
  
  
  
  
"run": {
  
  
  
  
  
  
"allowed": true,
  
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"storeFiles": {
  
  
  
  
  
  
"allowed": true,
  
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"warning": {
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"notebookCount": 0,
  
  
  
  
"jobCount": 0,
  
  
  
  
"activeWorkloadCount": 0
  
  
  
}
  
  
]
  
}
}

Playground​

Authorization
Variables
Key
Value

Samples​


Create a notebook​

POST
/workloads/notebooks

Creates a new Marimo notebook associated with a workload configuration. The notebook starts in stopped state. Call StartNotebook to provision the Sail and Marimo pods. Name a sourceUploadId to start it from an uploaded marimo file instead of an empty one.

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

Type
HTTP (bearer)

Request Body​

application/json
JSON
{
  
"workloadConfigId": "A1B2C3D4E5",
  
"name": "Daily Sales Analysis",
  
"description": "Daily ETL pipeline for sales data",
  
"idleTimeoutSeconds": 3600,
  
"catalogs": [
  
],
  
"defaultCatalogId": "A1B2C3D4E5",
  
"catalogsOverridden": true,
  
"teamIds": [
  
  
"A1B2C3D4E5"
  
],
  
"sourceUploadId": "string"
}

Responses​

The notebook was created successfully.

application/json
JSON
{
  
"item": {
  
  
"notebookId": "A1B2C3D4E5",
  
  
"teamIds": [
  
  
  
"A1B2C3D4E5"
  
  
],
  
  
"workloadConfigId": "A1B2C3D4E5"
  
},
  
"included": {
  
  
"notebooks": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"memberId": "A1B2C3D4E5",
  
  
  
  
"workloadConfigId": "A1B2C3D4E5",
  
  
  
  
"name": "Daily Sales Analysis",
  
  
  
  
"description": "Daily ETL pipeline for sales data",
  
  
  
  
"status": "running",
  
  
  
  
"statusMessage": "string",
  
  
  
  
"idleTimeoutSeconds": 3600,
  
  
  
  
"detachedTimeoutSeconds": 14400,
  
  
  
  
"lastActiveAt": "string",
  
  
  
  
"sessionId": "A1B2C3D4E5",
  
  
  
  
"catalogs": [
  
  
  
  
  
{
  
  
  
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
  
  
  
"name": "Production Cluster"
  
  
  
  
  
}
  
  
  
  
],
  
  
  
  
"defaultCatalogId": "A1B2C3D4E5",
  
  
  
  
"catalogsOverridden": true,
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
  
}
  
  
],
  
  
"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"
  
  
  
}
  
  
],
  
  
"teams": [
  
  
  
{
  
  
  
  
"team": {
  
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
  
"organizationId": "A1B2C3D4E5",
  
  
  
  
  
"name": "string",
  
  
  
  
  
"createdAt": "string",
  
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
  
"updatedAt": "string",
  
  
  
  
  
"updatedBy": "A1B2C3D4E5",
  
  
  
  
  
"defaultRoleId": "A1B2C3D4E5"
  
  
  
  
},
  
  
  
  
"memberCount": 0
  
  
  
}
  
  
],
  
  
"workloadConfigs": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"name": "Production Cluster",
  
  
  
  
"workloadType": "string",
  
  
  
  
"clusterId": "A1B2C3D4E5",
  
  
  
  
"config": {
  
  
  
  
  
"sail": {
  
  
  
  
  
  
"executionMode": "string",
  
  
  
  
  
  
"maxRetries": 3,
  
  
  
  
  
  
"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": {
  
  
  
  
  
  
  
  
"type": "string",
  
  
  
  
  
  
  
  
"value": "string"
  
  
  
  
  
  
  
}
  
  
  
  
  
  
}
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"endpointLimits": {
  
  
  
  
  
"spark_connect": 0
  
  
  
  
},
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5",
  
  
  
  
"catalogs": [
  
  
  
  
  
{
  
  
  
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
  
  
  
"name": "Production Cluster"
  
  
  
  
  
}
  
  
  
  
],
  
  
  
  
"defaultCatalogId": "A1B2C3D4E5",
  
  
  
  
"capabilities": {
  
  
  
  
  
"run": {
  
  
  
  
  
  
"allowed": true,
  
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"storeFiles": {
  
  
  
  
  
  
"allowed": true,
  
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"warning": {
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"notebookCount": 0,
  
  
  
  
"jobCount": 0,
  
  
  
  
"activeWorkloadCount": 0
  
  
  
}
  
  
]
  
}
}

Playground​

Authorization
Body

Samples​


Upload a notebook source​

POST
/workloads/notebooks/source/upload

Step one of starting a notebook from a marimo .py file. Returns a short-lived authorization to upload the file directly to the workspace storage of the given compute profile; the file does not pass through this API. Send it as the provider's form upload with the returned parameters, then name the returned uploadId in CreateNotebook, to create a notebook from it, or in ImportNotebookSource, to replace the file of an existing notebook on a compute profile in the same network. Only the member who made an upload can use it. An upload that is never used changes nothing; that member's next upload clears it once it is a day old.

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

Type
HTTP (bearer)

Request Body​

application/json
JSON
{
  
"workloadConfigId": "A1B2C3D4E5"
}

Responses​

A short-lived authorization to upload a notebook source to workspace storage.

application/json
JSON
{
  
"uploadId": "string",
  
"provider": "string",
  
"params": {
  
  
"url": "string",
  
  
"fields": {
  
  
  
"additionalProperties": "string"
  
  
}
  
},
  
"expiresAt": "string"
}

Playground​

Authorization
Body

Samples​


Describe a notebook​

GET
/workloads/notebooks/{notebook}

Returns the full details of a notebook, including its current status, configuration, associated workload config, and team access list.

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

Type
HTTP (bearer)

Parameters​

Path Parameters

notebook*

A notebook ID.

Required

Responses​

Notebook details with normalized entity references.

application/json
JSON
{
  
"item": {
  
  
"notebookId": "A1B2C3D4E5",
  
  
"teamIds": [
  
  
  
"A1B2C3D4E5"
  
  
],
  
  
"workloadConfigId": "A1B2C3D4E5"
  
},
  
"included": {
  
  
"notebooks": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"memberId": "A1B2C3D4E5",
  
  
  
  
"workloadConfigId": "A1B2C3D4E5",
  
  
  
  
"name": "Daily Sales Analysis",
  
  
  
  
"description": "Daily ETL pipeline for sales data",
  
  
  
  
"status": "running",
  
  
  
  
"statusMessage": "string",
  
  
  
  
"idleTimeoutSeconds": 3600,
  
  
  
  
"detachedTimeoutSeconds": 14400,
  
  
  
  
"lastActiveAt": "string",
  
  
  
  
"sessionId": "A1B2C3D4E5",
  
  
  
  
"catalogs": [
  
  
  
  
  
{
  
  
  
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
  
  
  
"name": "Production Cluster"
  
  
  
  
  
}
  
  
  
  
],
  
  
  
  
"defaultCatalogId": "A1B2C3D4E5",
  
  
  
  
"catalogsOverridden": true,
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
  
}
  
  
],
  
  
"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"
  
  
  
}
  
  
],
  
  
"teams": [
  
  
  
{
  
  
  
  
"team": {
  
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
  
"organizationId": "A1B2C3D4E5",
  
  
  
  
  
"name": "string",
  
  
  
  
  
"createdAt": "string",
  
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
  
"updatedAt": "string",
  
  
  
  
  
"updatedBy": "A1B2C3D4E5",
  
  
  
  
  
"defaultRoleId": "A1B2C3D4E5"
  
  
  
  
},
  
  
  
  
"memberCount": 0
  
  
  
}
  
  
],
  
  
"workloadConfigs": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"name": "Production Cluster",
  
  
  
  
"workloadType": "string",
  
  
  
  
"clusterId": "A1B2C3D4E5",
  
  
  
  
"config": {
  
  
  
  
  
"sail": {
  
  
  
  
  
  
"executionMode": "string",
  
  
  
  
  
  
"maxRetries": 3,
  
  
  
  
  
  
"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": {
  
  
  
  
  
  
  
  
"type": "string",
  
  
  
  
  
  
  
  
"value": "string"
  
  
  
  
  
  
  
}
  
  
  
  
  
  
}
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"endpointLimits": {
  
  
  
  
  
"spark_connect": 0
  
  
  
  
},
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5",
  
  
  
  
"catalogs": [
  
  
  
  
  
{
  
  
  
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
  
  
  
"name": "Production Cluster"
  
  
  
  
  
}
  
  
  
  
],
  
  
  
  
"defaultCatalogId": "A1B2C3D4E5",
  
  
  
  
"capabilities": {
  
  
  
  
  
"run": {
  
  
  
  
  
  
"allowed": true,
  
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"storeFiles": {
  
  
  
  
  
  
"allowed": true,
  
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"warning": {
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"notebookCount": 0,
  
  
  
  
"jobCount": 0,
  
  
  
  
"activeWorkloadCount": 0
  
  
  
}
  
  
]
  
}
}

Playground​

Authorization
Variables
Key
Value

Samples​


Delete a notebook​

DELETE
/workloads/notebooks/{notebook}

Permanently removes a notebook and its team assignments. If the notebook is currently running, it will be stopped before deletion.

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

Type
HTTP (bearer)

Parameters​

Path Parameters

notebook*

A notebook ID.

Required

Responses​

The requested operation was done successfully.

Playground​

Authorization
Variables
Key
Value

Samples​


Update a notebook​

PATCH
/workloads/notebooks/{notebook}

Modifies a notebook's display name, description, or idle timeout. The workload configuration can only be changed when the notebook is stopped.

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

Type
HTTP (bearer)

Parameters​

Path Parameters

notebook*

A notebook ID.

Required

Request Body​

application/json
JSON
{
  
"workloadConfigId": "A1B2C3D4E5",
  
"name": "Daily Sales Analysis",
  
"description": "Daily ETL pipeline for sales data",
  
"idleTimeoutSeconds": 3600,
  
"catalogs": [
  
],
  
"defaultCatalogId": "A1B2C3D4E5",
  
"catalogsOverridden": true
}

Responses​

The notebook was updated successfully.

application/json
JSON
{
  
"id": "A1B2C3D4E5",
  
"memberId": "A1B2C3D4E5",
  
"workloadConfigId": "A1B2C3D4E5",
  
"name": "Daily Sales Analysis",
  
"description": "Daily ETL pipeline for sales data",
  
"status": "running",
  
"statusMessage": "string",
  
"idleTimeoutSeconds": 3600,
  
"detachedTimeoutSeconds": 14400,
  
"lastActiveAt": "string",
  
"sessionId": "A1B2C3D4E5",
  
"catalogs": [
  
  
{
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
"name": "Production Cluster"
  
  
}
  
],
  
"defaultCatalogId": "A1B2C3D4E5",
  
"catalogsOverridden": true,
  
"createdAt": "string",
  
"createdBy": "A1B2C3D4E5",
  
"updatedAt": "string",
  
"updatedBy": "A1B2C3D4E5"
}

Playground​

Authorization
Variables
Key
Value
Body

Samples​


Start a notebook​

POST
/workloads/notebooks/{notebook}/start

Provisions the Sail (Spark Connect) and Marimo pods for this notebook. The notebook must be in stopped state. Status transitions to starting immediately; the session proxy URL becomes available once status reaches running.

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

Type
HTTP (bearer)

Parameters​

Path Parameters

notebook*

A notebook ID.

Required

Responses​

Notebook start initiated; status has transitioned to starting.

application/json
JSON
{
  
"id": "A1B2C3D4E5",
  
"memberId": "A1B2C3D4E5",
  
"workloadConfigId": "A1B2C3D4E5",
  
"name": "Daily Sales Analysis",
  
"description": "Daily ETL pipeline for sales data",
  
"status": "running",
  
"statusMessage": "string",
  
"idleTimeoutSeconds": 3600,
  
"detachedTimeoutSeconds": 14400,
  
"lastActiveAt": "string",
  
"sessionId": "A1B2C3D4E5",
  
"catalogs": [
  
  
{
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
"name": "Production Cluster"
  
  
}
  
],
  
"defaultCatalogId": "A1B2C3D4E5",
  
"catalogsOverridden": true,
  
"createdAt": "string",
  
"createdBy": "A1B2C3D4E5",
  
"updatedAt": "string",
  
"updatedBy": "A1B2C3D4E5"
}

Playground​

Authorization
Variables
Key
Value

Samples​


Stop a notebook​

POST
/workloads/notebooks/{notebook}/stop

Tears down the Sail and Marimo pods for this notebook. The notebook must be in running state. Status transitions to stopping immediately; a stopped status confirms teardown is complete.

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

Type
HTTP (bearer)

Parameters​

Path Parameters

notebook*

A notebook ID.

Required

Responses​

Notebook stop initiated; status has transitioned to stopping.

application/json
JSON
{
  
"id": "A1B2C3D4E5",
  
"memberId": "A1B2C3D4E5",
  
"workloadConfigId": "A1B2C3D4E5",
  
"name": "Daily Sales Analysis",
  
"description": "Daily ETL pipeline for sales data",
  
"status": "running",
  
"statusMessage": "string",
  
"idleTimeoutSeconds": 3600,
  
"detachedTimeoutSeconds": 14400,
  
"lastActiveAt": "string",
  
"sessionId": "A1B2C3D4E5",
  
"catalogs": [
  
  
{
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
"name": "Production Cluster"
  
  
}
  
],
  
"defaultCatalogId": "A1B2C3D4E5",
  
"catalogsOverridden": true,
  
"createdAt": "string",
  
"createdBy": "A1B2C3D4E5",
  
"updatedAt": "string",
  
"updatedBy": "A1B2C3D4E5"
}

Playground​

Authorization
Variables
Key
Value

Samples​


Open a notebook​

POST
/workloads/notebooks/{notebook}/open

Returns a proxy authentication URL for embedding the notebook UI as an iframe. The notebook must be running. Used as the iframe src, the URL has the session proxy validate the embedded JWT, set a same-site access cookie, and redirect to the notebook. The URL and the cookie share one lifetime, returned as expiresAt; call this operation again before then and load the new URL with redirect=none to renew the cookie without reloading the notebook.

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

Type
HTTP (bearer)

Parameters​

Path Parameters

notebook*

A notebook ID.

Required

Responses​

A short-lived proxy authentication URL for embedding the notebook as an iframe.

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

Playground​

Authorization
Variables
Key
Value

Samples​


Issue a notebook log stream​

POST
/workloads/notebooks/{notebook}/logs/stream

Issues a short-lived token and URL for streaming the notebook pod's live log from the customer-side session proxy. Returns 409 while the notebook's pod is not yet running (retry shortly) or when the cluster requires re-provisioning for live logs; 410 when the notebook's resources have been cleaned up.

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

Type
HTTP (bearer)

Responses​

Connection details for the notebook's live log stream.

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

Playground​

Authorization

Samples​


Record notebook activity​

POST
/workloads/notebooks/{notebook}/ping

Records the authenticated user's presence while a notebook is open in the browser. Updates the client activity timestamp read by the idle-timeout monitor. It is one of the activity signals: a request through the session proxy and a running cell count as well, so a notebook is not stopped for a missed ping while a cell runs. The notebook must be running. Intended to be called on the frontend's heartbeat interval while the notebook iframe is rendered.

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

Type
HTTP (bearer)

Parameters​

Path Parameters

notebook*

A notebook ID.

Required

Responses​

Activity recorded.

Playground​

Authorization
Variables
Key
Value

Samples​


Describe a notebook's source​

GET
/workloads/notebooks/{notebook}/source

Returns what is saved of the notebook's source file. It is absent until the notebook has saved or imported one. A running notebook saves as it changes, so this describes its last save.

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

Type
HTTP (bearer)

Parameters​

Path Parameters

notebook*

A notebook ID.

Required

Responses​

What is saved of the notebook's source file.

application/json
JSON
{
  
"current": {
  
  
"savedAt": "string",
  
  
"size": 0
  
}
}

Playground​

Authorization
Variables
Key
Value

Samples​


Import an uploaded notebook source​

POST
/workloads/notebooks/{notebook}/source/import

Replaces an existing notebook's source with a file uploaded with CreateNotebookSourceUpload, for a compute profile in the notebook's network. Checks that the file is a marimo notebook and makes it the notebook's source, which the notebook starts from next time. To start a new notebook from a file instead, name the upload in CreateNotebook. The check reads only the start of the file, and the file is copied within workspace storage, so it does not pass through this API. This replaces the notebook's cells: download them first to keep them. A copy of the replaced file is also kept in workspace storage, beside the notebook's own, which this API does not read back. The notebook must be stopped, and the named upload must be waiting.

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

Type
HTTP (bearer)

Parameters​

Path Parameters

notebook*

A notebook ID.

Required

Request Body​

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

Responses​

The notebook's source after the import.

application/json
JSON
{
  
"current": {
  
  
"savedAt": "string",
  
  
"size": 0
  
}
}

Playground​

Authorization
Variables
Key
Value
Body

Samples​


Download a notebook source​

POST
/workloads/notebooks/{notebook}/source/download

Returns a short-lived URL that downloads the notebook's source file directly from workspace storage; the file does not pass through this API. Allowed in any status. While a session runs, the file is its last save, which can be a few seconds behind the editor.

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

Type
HTTP (bearer)

Parameters​

Path Parameters

notebook*

A notebook ID.

Required

Responses​

A short-lived URL that downloads the notebook source from workspace storage.

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

Playground​

Authorization
Variables
Key
Value

Samples​


List notebook teams​

GET
/workloads/notebooks/{notebook}/teams

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

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

Type
HTTP (bearer)

Parameters​

Path Parameters

notebook*

A notebook ID.

Required

Query Parameters

limit

The maximum number of items to list.

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

Responses​

A list of teams associated with the notebook is returned.

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

Playground​

Authorization
Variables
Key
Value

Samples​


Add teams to a notebook​

POST
/workloads/notebooks/{notebook}/teams

Grants one or more teams access to a notebook. Team members will be able to view and open the notebook (in read-only mode if the owner is active).

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

Type
HTTP (bearer)

Parameters​

Path Parameters

notebook*

A notebook ID.

Required

Request Body​

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

Responses​

The teams were added to the notebook successfully.

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

Playground​

Authorization
Variables
Key
Value
Body

Samples​


Remove a team from a notebook​

DELETE
/workloads/notebooks/{notebook}/teams/{team}

Revokes a team's access to a notebook. Team members will no longer be able to view or open the notebook unless they have access through another team or are the notebook owner.

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

Type
HTTP (bearer)

Parameters​

Path Parameters

notebook*

A notebook ID.

Required
team*

The team ID.

Required

Responses​

The team was removed from the notebook successfully.

Playground​

Authorization
Variables
Key
Value

Samples​


List team notebooks​

GET
/workloads/teams/{team}/notebooks

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

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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​

A list of notebooks accessible to the team is returned.

application/json
JSON
{
  
"total": 0,
  
"items": [
  
  
{
  
  
  
"notebookId": "A1B2C3D4E5",
  
  
  
"teamIds": [
  
  
  
  
"A1B2C3D4E5"
  
  
  
],
  
  
  
"workloadConfigId": "A1B2C3D4E5"
  
  
}
  
],
  
"included": {
  
  
"notebooks": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"memberId": "A1B2C3D4E5",
  
  
  
  
"workloadConfigId": "A1B2C3D4E5",
  
  
  
  
"name": "Daily Sales Analysis",
  
  
  
  
"description": "Daily ETL pipeline for sales data",
  
  
  
  
"status": "running",
  
  
  
  
"statusMessage": "string",
  
  
  
  
"idleTimeoutSeconds": 3600,
  
  
  
  
"detachedTimeoutSeconds": 14400,
  
  
  
  
"lastActiveAt": "string",
  
  
  
  
"sessionId": "A1B2C3D4E5",
  
  
  
  
"catalogs": [
  
  
  
  
  
{
  
  
  
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
  
  
  
"name": "Production Cluster"
  
  
  
  
  
}
  
  
  
  
],
  
  
  
  
"defaultCatalogId": "A1B2C3D4E5",
  
  
  
  
"catalogsOverridden": true,
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
  
}
  
  
],
  
  
"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"
  
  
  
}
  
  
],
  
  
"teams": [
  
  
  
{
  
  
  
  
"team": {
  
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
  
"organizationId": "A1B2C3D4E5",
  
  
  
  
  
"name": "string",
  
  
  
  
  
"createdAt": "string",
  
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
  
"updatedAt": "string",
  
  
  
  
  
"updatedBy": "A1B2C3D4E5",
  
  
  
  
  
"defaultRoleId": "A1B2C3D4E5"
  
  
  
  
},
  
  
  
  
"memberCount": 0
  
  
  
}
  
  
],
  
  
"workloadConfigs": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"name": "Production Cluster",
  
  
  
  
"workloadType": "string",
  
  
  
  
"clusterId": "A1B2C3D4E5",
  
  
  
  
"config": {
  
  
  
  
  
"sail": {
  
  
  
  
  
  
"executionMode": "string",
  
  
  
  
  
  
"maxRetries": 3,
  
  
  
  
  
  
"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": {
  
  
  
  
  
  
  
  
"type": "string",
  
  
  
  
  
  
  
  
"value": "string"
  
  
  
  
  
  
  
}
  
  
  
  
  
  
}
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"endpointLimits": {
  
  
  
  
  
"spark_connect": 0
  
  
  
  
},
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5",
  
  
  
  
"catalogs": [
  
  
  
  
  
{
  
  
  
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
  
  
  
"name": "Production Cluster"
  
  
  
  
  
}
  
  
  
  
],
  
  
  
  
"defaultCatalogId": "A1B2C3D4E5",
  
  
  
  
"capabilities": {
  
  
  
  
  
"run": {
  
  
  
  
  
  
"allowed": true,
  
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"storeFiles": {
  
  
  
  
  
  
"allowed": true,
  
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"warning": {
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"notebookCount": 0,
  
  
  
  
"jobCount": 0,
  
  
  
  
"activeWorkloadCount": 0
  
  
  
}
  
  
]
  
}
}

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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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,
  
  
  
  
"allowAccessTokens": true,
  
  
  
  
"maxAccessTokenLifetimeDays": 90,
  
  
  
  
"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,
  
  
  
  
"allowAccessTokens": true,
  
  
  
  
"maxAccessTokenLifetimeDays": 90,
  
  
  
  
"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,
  
  
  
  
"allowAccessTokens": true,
  
  
  
  
"maxAccessTokenLifetimeDays": 90,
  
  
  
  
"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"
  
},
  
"authRequest": "string",
  
"otaCode": "string",
  
"nextStep": "string",
  
"origin": "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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

Type
HTTP (bearer)

Request Body​

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

Responses​

The requested operation was done successfully.

Playground​

Authorization
Body

Samples​


List cloud accounts​

GET
/infra/connections

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

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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",
  
  
  
"templateUpdateAvailable": true,
  
  
  
"subscriptionId": "string",
  
  
  
"createdAt": "string",
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
"updatedAt": "string",
  
  
  
"updatedBy": "A1B2C3D4E5",
  
  
  
"networkCount": 0,
  
  
  
"clusterCount": 0,
  
  
  
"catalogCount": 0
  
  
}
  
],
  
"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,
  
  
  
  
  
  
  
"pricePerHourUsd": 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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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",
  
"templateUpdateAvailable": true,
  
"subscriptionId": "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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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",
  
"templateUpdateAvailable": true,
  
"subscriptionId": "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. While the account is still reachable, associated clusters and networks must be destroyed and deleted first, and catalog records deleted; a catalog's Glue database may stay, so destroying a catalog first is only needed if its data should be removed too. Once the account can no longer be reached, deletion removes the records without teardown. A connection whose verification is failing sits between those states: teardown through Lakesail is likely to fail too, so passing force asserts that access will not be restored and removes the records the same way an unreachable account's deletion does. Deleting a connection never removes a catalog's Glue database; only an explicit destroy on the catalog itself does, and even that deletes the Glue metadata only, never the data objects in the retained workspace S3 bucket. Databases whose records went with an unreachable account stay in the customer's account until removed there manually.

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

Type
HTTP (bearer)

Parameters​

Query Parameters

force

Delete the connection even though child records still exist, tombstoning them without teardown. Only meaningful while the connection status is failed, which records that the account's last verification or operation failed; the role may or may not still work, so the flag is the caller's assertion that access will not be restored. While the account is reachable, the flag is refused and children must still be destroyed and deleted leaf-first. From the failed state, the forced delete is additionally refused while workloads or job runs still run on the account's clusters. On an account that is already unreachable (disconnected or deleted) the flag is redundant and accepted, and deletion behaves exactly as it would without it. Anything provisioned, including catalog Glue databases, stays in the AWS account until removed there manually.

Type
boolean
Default
false

Responses​

The requested operation was done successfully.

Playground​

Authorization
Variables
Key
Value

Samples​


Update a cloud account​

PATCH
/infra/connections/{connection}

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

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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",
  
"templateUpdateAvailable": true,
  
"subscriptionId": "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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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,
  
  
  
"pricePerHourUsd": 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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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,
  
  
  
  
"pricePerHourUsd": 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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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",
  
"templateUpdateAvailable": true,
  
"subscriptionId": "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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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",
  
  
  
"infraUpdateAvailable": true,
  
  
  
"clusterCount": 0,
  
  
  
"catalogCount": 0,
  
  
  
"capabilities": {
  
  
  
  
"provision": {
  
  
  
  
  
"allowed": true,
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"destroy": {
  
  
  
  
  
"allowed": true,
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"delete": {
  
  
  
  
  
"allowed": true,
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
}
  
  
  
  
}
  
  
  
}
  
  
}
  
],
  
"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",
  
  
  
  
"infraUpdateAvailable": true,
  
  
  
  
"clusterCount": 0,
  
  
  
  
"catalogCount": 0,
  
  
  
  
"capabilities": {
  
  
  
  
  
"provision": {
  
  
  
  
  
  
"allowed": true,
  
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"destroy": {
  
  
  
  
  
  
"allowed": true,
  
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"delete": {
  
  
  
  
  
  
"allowed": true,
  
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
  
"message": "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",
  
  
  
  
"templateUpdateAvailable": true,
  
  
  
  
"subscriptionId": "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"
  
  
  
  
  
],
  
  
  
  
  
"karpenter": {
  
  
  
  
  
  
"controllerMilliCpu": 500
  
  
  
  
  
},
  
  
  
  
  
"observeContainerMetrics": false
  
  
  
  
},
  
  
  
  
"presetId": "A1B2C3D4E5",
  
  
  
  
"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",
  
  
  
  
"infraUpdateAvailable": true,
  
  
  
  
"lastHealthCheckAt": "string",
  
  
  
  
"lastHealthDetail": {
  
  
  
  
  
"message": "string",
  
  
  
  
  
"pods": {
  
  
  
  
  
  
"running": 0,
  
  
  
  
  
  
"unschedulable": 0
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"capabilities": {
  
  
  
  
  
"provision": {
  
  
  
  
  
  
"allowed": true,
  
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"destroy": {
  
  
  
  
  
  
"allowed": true,
  
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"delete": {
  
  
  
  
  
  
"allowed": true,
  
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
  
"message": "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,
  
  
  
  
  
  
  
"pricePerHourUsd": 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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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",
  
  
  
"infraUpdateAvailable": true,
  
  
  
"clusterCount": 0,
  
  
  
"catalogCount": 0,
  
  
  
"capabilities": {
  
  
  
  
"provision": {
  
  
  
  
  
"allowed": true,
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"destroy": {
  
  
  
  
  
"allowed": true,
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"delete": {
  
  
  
  
  
"allowed": true,
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
}
  
  
  
  
}
  
  
  
}
  
  
}
  
],
  
"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",
  
  
  
  
"infraUpdateAvailable": true,
  
  
  
  
"clusterCount": 0,
  
  
  
  
"catalogCount": 0,
  
  
  
  
"capabilities": {
  
  
  
  
  
"provision": {
  
  
  
  
  
  
"allowed": true,
  
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"destroy": {
  
  
  
  
  
  
"allowed": true,
  
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"delete": {
  
  
  
  
  
  
"allowed": true,
  
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
  
"message": "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",
  
  
  
  
"templateUpdateAvailable": true,
  
  
  
  
"subscriptionId": "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"
  
  
  
  
  
],
  
  
  
  
  
"karpenter": {
  
  
  
  
  
  
"controllerMilliCpu": 500
  
  
  
  
  
},
  
  
  
  
  
"observeContainerMetrics": false
  
  
  
  
},
  
  
  
  
"presetId": "A1B2C3D4E5",
  
  
  
  
"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",
  
  
  
  
"infraUpdateAvailable": true,
  
  
  
  
"lastHealthCheckAt": "string",
  
  
  
  
"lastHealthDetail": {
  
  
  
  
  
"message": "string",
  
  
  
  
  
"pods": {
  
  
  
  
  
  
"running": 0,
  
  
  
  
  
  
"unschedulable": 0
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"capabilities": {
  
  
  
  
  
"provision": {
  
  
  
  
  
  
"allowed": true,
  
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"destroy": {
  
  
  
  
  
  
"allowed": true,
  
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"delete": {
  
  
  
  
  
  
"allowed": true,
  
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
  
"message": "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,
  
  
  
  
  
  
  
"pricePerHourUsd": 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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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",
  
"infraUpdateAvailable": true,
  
"clusterCount": 0,
  
"catalogCount": 0,
  
"capabilities": {
  
  
"provision": {
  
  
  
"allowed": true,
  
  
  
"blocked": {
  
  
  
  
"label": "string",
  
  
  
  
"message": "string"
  
  
  
}
  
  
},
  
  
"destroy": {
  
  
  
"allowed": true,
  
  
  
"blocked": {
  
  
  
  
"label": "string",
  
  
  
  
"message": "string"
  
  
  
}
  
  
},
  
  
"delete": {
  
  
  
"allowed": true,
  
  
  
"blocked": {
  
  
  
  
"label": "string",
  
  
  
  
"message": "string"
  
  
  
}
  
  
}
  
}
}

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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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",
  
  
  
  
"infraUpdateAvailable": true,
  
  
  
  
"clusterCount": 0,
  
  
  
  
"catalogCount": 0,
  
  
  
  
"capabilities": {
  
  
  
  
  
"provision": {
  
  
  
  
  
  
"allowed": true,
  
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"destroy": {
  
  
  
  
  
  
"allowed": true,
  
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"delete": {
  
  
  
  
  
  
"allowed": true,
  
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
  
"message": "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",
  
  
  
  
"templateUpdateAvailable": true,
  
  
  
  
"subscriptionId": "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"
  
  
  
  
  
],
  
  
  
  
  
"karpenter": {
  
  
  
  
  
  
"controllerMilliCpu": 500
  
  
  
  
  
},
  
  
  
  
  
"observeContainerMetrics": false
  
  
  
  
},
  
  
  
  
"presetId": "A1B2C3D4E5",
  
  
  
  
"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",
  
  
  
  
"infraUpdateAvailable": true,
  
  
  
  
"lastHealthCheckAt": "string",
  
  
  
  
"lastHealthDetail": {
  
  
  
  
  
"message": "string",
  
  
  
  
  
"pods": {
  
  
  
  
  
  
"running": 0,
  
  
  
  
  
  
"unschedulable": 0
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"capabilities": {
  
  
  
  
  
"provision": {
  
  
  
  
  
  
"allowed": true,
  
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"destroy": {
  
  
  
  
  
  
"allowed": true,
  
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"delete": {
  
  
  
  
  
  
"allowed": true,
  
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
  
"message": "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,
  
  
  
  
  
  
  
"pricePerHourUsd": 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 in the network must be destroyed first. Catalogs are left intact, together with their data, and can be used again once the network is re-provisioned; the workspace S3 bucket and the data in it are retained as well. The network record is kept for reference. Returns an operation ID for tracking progress.

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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,
  
  
  
  
"pricePerHourUsd": 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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

Type
HTTP (bearer)

Request Body​

application/json
JSON
{
  
"name": "Production Cluster"
}

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",
  
"infraUpdateAvailable": true,
  
"clusterCount": 0,
  
"catalogCount": 0,
  
"capabilities": {
  
  
"provision": {
  
  
  
"allowed": true,
  
  
  
"blocked": {
  
  
  
  
"label": "string",
  
  
  
  
"message": "string"
  
  
  
}
  
  
},
  
  
"destroy": {
  
  
  
"allowed": true,
  
  
  
"blocked": {
  
  
  
  
"label": "string",
  
  
  
  
"message": "string"
  
  
  
}
  
  
},
  
  
"delete": {
  
  
  
"allowed": true,
  
  
  
"blocked": {
  
  
  
  
"label": "string",
  
  
  
  
"message": "string"
  
  
  
}
  
  
}
  
}
}

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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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,
  
  
  
  
"pricePerHourUsd": 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 files​

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

Returns files of the given type owned by the given team in the specified network workspace bucket. The caller must be a member of the team.

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

Type
HTTP (bearer)

Parameters​

Query Parameters

fileType*

The kind of file to list. Scopes the listing to a single file-type location in the workspace bucket.

Type
string
Required
Valid values
"pythonJob""pythonLibrary""pythonRequirements"
teamId*

The owning team whose files to list. The caller must be a member of this team; only that team's files are returned.

Type
string
Required
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​

List of files

application/json
JSON
{
  
"items": [
  
  
{
  
  
  
"key": "scripts/example.py",
  
  
  
"uri": "s3://lakesail-conn-net-ws/scripts/example.py",
  
  
  
"size": 0,
  
  
  
"lastModified": "string"
  
  
}
  
],
  
"marker": "string"
}

Playground​

Authorization
Variables
Key
Value

Samples​


Create a file upload​

POST
/infra/connections/{connection}/networks/{network}/files/uploads

Returns a short-lived authorization for uploading a file directly to the specified network workspace storage.

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

Type
HTTP (bearer)

Request Body​

application/json
JSON
{
  
"fileName": "string",
  
"fileType": "string",
  
"teamId": "A1B2C3D4E5"
}

Responses​

A short-lived file upload authorization for the selected network workspace.

application/json
JSON
{
  
"provider": "string",
  
"params": {
  
  
"url": "string",
  
  
"fields": {
  
  
  
"additionalProperties": "string"
  
  
}
  
},
  
"uri": "string",
  
"expiresAt": "string"
}

Playground​

Authorization
Body

Samples​


Create a file download​

POST
/infra/connections/{connection}/networks/{network}/files/downloads

Returns a short-lived authorization for downloading a file directly from the specified network workspace storage. The caller must be a member of the team that owns the file.

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

Type
HTTP (bearer)

Request Body​

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

Responses​

A short-lived file download authorization for the selected network workspace.

application/json
JSON
{
  
"provider": "string",
  
"params": {
  
  
"url": "string"
  
},
  
"expiresAt": "string"
}

Playground​

Authorization
Body

Samples​


List external data targets​

GET
/infra/data-targets

Returns external data targets across the organization's cloud accounts.

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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 paginated list of external data targets.

application/json
JSON
{
  
"items": [
  
  
{
  
  
  
"externalDataTarget": {
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"connectionId": "A1B2C3D4E5",
  
  
  
  
"name": "Production Cluster",
  
  
  
  
"provider": "AWS",
  
  
  
  
"service": "S3",
  
  
  
  
"targetConfig": {
  
  
  
  
  
"type": "aws_s3",
  
  
  
  
  
"accountId": "123456789012",
  
  
  
  
  
"region": "us-east-1",
  
  
  
  
  
"bucketName": "customer-data",
  
  
  
  
  
"objectPrefix": "warehouse/production/"
  
  
  
  
},
  
  
  
  
"access": [
  
  
  
  
  
"read"
  
  
  
  
],
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
  
},
  
  
  
"grantedWorkloadConfigCount": 0,
  
  
  
"capabilities": {
  
  
  
  
"delete": {
  
  
  
  
  
"allowed": true,
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
}
  
  
  
  
}
  
  
  
}
  
  
}
  
],
  
"included": {
  
  
"externalConnections": [
  
  
  
{
  
  
  
  
"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",
  
  
  
  
"templateUpdateAvailable": true,
  
  
  
  
"subscriptionId": "string",
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
  
}
  
  
]
  
},
  
"marker": "string"
}

Playground​

Authorization
Variables
Key
Value

Samples​


List external data targets by connection​

GET
/infra/connections/{connection}/data-targets

Returns the external data targets registered beneath a cloud account.

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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 paginated list of external data targets.

application/json
JSON
{
  
"items": [
  
  
{
  
  
  
"externalDataTarget": {
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"connectionId": "A1B2C3D4E5",
  
  
  
  
"name": "Production Cluster",
  
  
  
  
"provider": "AWS",
  
  
  
  
"service": "S3",
  
  
  
  
"targetConfig": {
  
  
  
  
  
"type": "aws_s3",
  
  
  
  
  
"accountId": "123456789012",
  
  
  
  
  
"region": "us-east-1",
  
  
  
  
  
"bucketName": "customer-data",
  
  
  
  
  
"objectPrefix": "warehouse/production/"
  
  
  
  
},
  
  
  
  
"access": [
  
  
  
  
  
"read"
  
  
  
  
],
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
  
},
  
  
  
"grantedWorkloadConfigCount": 0,
  
  
  
"capabilities": {
  
  
  
  
"delete": {
  
  
  
  
  
"allowed": true,
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
}
  
  
  
  
}
  
  
  
}
  
  
}
  
],
  
"included": {
  
  
"externalConnections": [
  
  
  
{
  
  
  
  
"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",
  
  
  
  
"templateUpdateAvailable": true,
  
  
  
  
"subscriptionId": "string",
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5"
  
  
  
}
  
  
]
  
},
  
"marker": "string"
}

Playground​

Authorization
Variables
Key
Value

Samples​


Register an external data target​

POST
/infra/connections/{connection}/data-targets

Registers an external data target beneath a cloud account without changing the external resource.

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

Type
HTTP (bearer)

Request Body​

application/json
JSON
{
  
"name": "Production Cluster",
  
"provider": "AWS",
  
"service": "S3",
  
"targetConfig": {
  
  
"type": "aws_s3",
  
  
"accountId": "123456789012",
  
  
"region": "us-east-1",
  
  
"bucketName": "customer-data",
  
  
"objectPrefix": "warehouse/production/"
  
},
  
"access": [
  
  
"read"
  
]
}

Responses​

External data target registered.

application/json
JSON
{
  
"id": "A1B2C3D4E5",
  
"connectionId": "A1B2C3D4E5",
  
"name": "Production Cluster",
  
"provider": "AWS",
  
"service": "S3",
  
"targetConfig": {
  
  
"type": "aws_s3",
  
  
"accountId": "123456789012",
  
  
"region": "us-east-1",
  
  
"bucketName": "customer-data",
  
  
"objectPrefix": "warehouse/production/"
  
},
  
"access": [
  
],
  
"createdAt": "string",
  
"createdBy": "A1B2C3D4E5",
  
"updatedAt": "string",
  
"updatedBy": "A1B2C3D4E5",
  
"capabilities": {
  
  
"delete": {
  
  
  
"allowed": true,
  
  
  
"blocked": {
  
  
  
  
"label": "string",
  
  
  
  
"message": "string"
  
  
  
}
  
  
}
  
},
  
"providerDetails": {
  
  
"type": "aws",
  
  
"connectionPolicyStatement": [
  
  
  
{
  
  
  
  
"additionalProperties": "string"
  
  
  
}
  
  
]
  
}
}

Playground​

Authorization
Body

Samples​


Describe an external data target​

GET
/infra/connections/{connection}/data-targets/{target}

Returns an external data target and its optional connection-wide customer policy statements.

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

Type
HTTP (bearer)

Responses​

External data target details.

application/json
JSON
{
  
"id": "A1B2C3D4E5",
  
"connectionId": "A1B2C3D4E5",
  
"name": "Production Cluster",
  
"provider": "AWS",
  
"service": "S3",
  
"targetConfig": {
  
  
"type": "aws_s3",
  
  
"accountId": "123456789012",
  
  
"region": "us-east-1",
  
  
"bucketName": "customer-data",
  
  
"objectPrefix": "warehouse/production/"
  
},
  
"access": [
  
],
  
"createdAt": "string",
  
"createdBy": "A1B2C3D4E5",
  
"updatedAt": "string",
  
"updatedBy": "A1B2C3D4E5",
  
"capabilities": {
  
  
"delete": {
  
  
  
"allowed": true,
  
  
  
"blocked": {
  
  
  
  
"label": "string",
  
  
  
  
"message": "string"
  
  
  
}
  
  
}
  
},
  
"providerDetails": {
  
  
"type": "aws",
  
  
"connectionPolicyStatement": [
  
  
  
{
  
  
  
  
"additionalProperties": "string"
  
  
  
}
  
  
]
  
}
}

Playground​

Authorization

Samples​


Remove an external data target​

DELETE
/infra/connections/{connection}/data-targets/{target}

Soft-deletes an external data target after verifying that no compute profiles still use it. The external resource and its bucket policy are not changed.

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

Type
HTTP (bearer)

Responses​

The requested operation was done successfully.

Playground​

Authorization

Samples​


List compute profiles granted access to the external data target​

GET
/infra/connections/{connection}/data-targets/{target}/workload-configs

Returns the compute profiles with non-deleted grants to the external data target.

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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 paginated list of compute profiles granted access to the external data target.

application/json
JSON
{
  
"items": [
  
  
{
  
  
  
"id": "A1B2C3D4E5",
  
  
  
"name": "Production Cluster",
  
  
  
"workloadType": "string",
  
  
  
"clusterId": "A1B2C3D4E5",
  
  
  
"config": {
  
  
  
  
"sail": {
  
  
  
  
  
"executionMode": "string",
  
  
  
  
  
"maxRetries": 3,
  
  
  
  
  
"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": {
  
  
  
  
  
  
  
"type": "string",
  
  
  
  
  
  
  
"value": "string"
  
  
  
  
  
  
}
  
  
  
  
  
}
  
  
  
  
}
  
  
  
},
  
  
  
"endpointLimits": {
  
  
  
  
"spark_connect": 0
  
  
  
},
  
  
  
"createdAt": "string",
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
"updatedAt": "string",
  
  
  
"updatedBy": "A1B2C3D4E5",
  
  
  
"catalogs": [
  
  
  
],
  
  
  
"defaultCatalogId": "A1B2C3D4E5"
  
  
}
  
],
  
"marker": "string"
}

Playground​

Authorization
Variables
Key
Value

Samples​


List grants​

GET
/workloads/configs/{workloadConfig}/data-targets

Returns the grants for a compute profile.

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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​

Grants for the compute profile.

application/json
JSON
{
  
"included": {
  
  
"externalDataTargets": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"connectionId": "A1B2C3D4E5",
  
  
  
  
"name": "Production Cluster",
  
  
  
  
"provider": "AWS",
  
  
  
  
"service": "S3",
  
  
  
  
"targetConfig": {
  
  
  
  
  
"type": "aws_s3",
  
  
  
  
  
"accountId": "123456789012",
  
  
  
  
  
"region": "us-east-1",
  
  
  
  
  
"bucketName": "customer-data",
  
  
  
  
  
"objectPrefix": "warehouse/production/"
  
  
  
  
},
  
  
  
  
"access": [
  
  
  
  
  
"read"
  
  
  
  
],
  
  
  
  
"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,
  
  
  
  
  
  
  
"pricePerHourUsd": 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"
  
  
  
}
  
  
]
  
},
  
"items": [
  
  
{
  
  
  
"id": "A1B2C3D4E5",
  
  
  
"externalDataTargetId": "A1B2C3D4E5",
  
  
  
"access": [
  
  
  
  
"read"
  
  
  
],
  
  
  
"status": "active",
  
  
  
"statusMessage": "string",
  
  
  
"capabilities": {
  
  
  
  
"retry": {
  
  
  
  
  
"allowed": true,
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"test": {
  
  
  
  
  
"allowed": true,
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"remove": {
  
  
  
  
  
"allowed": true,
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
}
  
  
  
  
}
  
  
  
},
  
  
  
"latestTestOperationId": "A1B2C3D4E5"
  
  
}
  
],
  
"marker": "string",
  
"capabilities": {
  
  
"grant": {
  
  
  
"allowed": true,
  
  
  
"blocked": {
  
  
  
  
"label": "string",
  
  
  
  
"message": "string"
  
  
  
}
  
  
}
  
}
}

Playground​

Authorization
Variables
Key
Value

Samples​


Describe a grant​

GET
/workloads/configs/{workloadConfig}/data-targets/{target}

Returns one grant and its configuration.

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

Type
HTTP (bearer)

Responses​

Grant configuration details.

application/json
JSON
{
  
"item": {
  
  
"id": "A1B2C3D4E5",
  
  
"externalDataTargetId": "A1B2C3D4E5",
  
  
"access": [
  
  
  
"read"
  
  
],
  
  
"status": "active",
  
  
"statusMessage": "string",
  
  
"capabilities": {
  
  
  
"retry": {
  
  
  
  
"allowed": true,
  
  
  
  
"blocked": {
  
  
  
  
  
"label": "string",
  
  
  
  
  
"message": "string"
  
  
  
  
}
  
  
  
},
  
  
  
"test": {
  
  
  
  
"allowed": true,
  
  
  
  
"blocked": {
  
  
  
  
  
"label": "string",
  
  
  
  
  
"message": "string"
  
  
  
  
}
  
  
  
},
  
  
  
"remove": {
  
  
  
  
"allowed": true,
  
  
  
  
"blocked": {
  
  
  
  
  
"label": "string",
  
  
  
  
  
"message": "string"
  
  
  
  
}
  
  
  
}
  
  
},
  
  
"latestTestOperationId": "A1B2C3D4E5",
  
  
"providerDetails": {
  
  
  
"type": "aws",
  
  
  
"profileRoleArn": "arn:aws:iam::123456789012:role/lakesail-conn1234-profile5678-wc",
  
  
  
"profileRegion": "us-east-1",
  
  
  
"customerPolicyStatement": [
  
  
  
  
{
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
}
  
  
  
]
  
  
}
  
},
  
"included": {
  
  
"externalDataTargets": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"connectionId": "A1B2C3D4E5",
  
  
  
  
"name": "Production Cluster",
  
  
  
  
"provider": "AWS",
  
  
  
  
"service": "S3",
  
  
  
  
"targetConfig": {
  
  
  
  
  
"type": "aws_s3",
  
  
  
  
  
"accountId": "123456789012",
  
  
  
  
  
"region": "us-east-1",
  
  
  
  
  
"bucketName": "customer-data",
  
  
  
  
  
"objectPrefix": "warehouse/production/"
  
  
  
  
},
  
  
  
  
"access": [
  
  
  
  
  
"read"
  
  
  
  
],
  
  
  
  
"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,
  
  
  
  
  
  
  
"pricePerHourUsd": 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​


Grant a compute profile access to an external data target​

PUT
/workloads/configs/{workloadConfig}/data-targets/{target}

Grants a compute profile access to a registered external data target and starts its IAM configuration. Target registration authorizes profiles on the same cloud account to use the target. The compute profile can use only the target's approved access levels. Once the grant is active, workloads on this profile use its profile IAM role. Customer-managed grants to the cluster's Job Runner Role do not carry over to that role. Returns 409 while workloads using this compute profile are running.

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

Type
HTTP (bearer)

Request Body​

application/json
JSON
{
  
"access": [
  
  
"read"
  
]
}

Responses​

Grant configuration details.

application/json
JSON
{
  
"item": {
  
  
"id": "A1B2C3D4E5",
  
  
"externalDataTargetId": "A1B2C3D4E5",
  
  
"access": [
  
  
  
"read"
  
  
],
  
  
"status": "active",
  
  
"statusMessage": "string",
  
  
"capabilities": {
  
  
  
"retry": {
  
  
  
  
"allowed": true,
  
  
  
  
"blocked": {
  
  
  
  
  
"label": "string",
  
  
  
  
  
"message": "string"
  
  
  
  
}
  
  
  
},
  
  
  
"test": {
  
  
  
  
"allowed": true,
  
  
  
  
"blocked": {
  
  
  
  
  
"label": "string",
  
  
  
  
  
"message": "string"
  
  
  
  
}
  
  
  
},
  
  
  
"remove": {
  
  
  
  
"allowed": true,
  
  
  
  
"blocked": {
  
  
  
  
  
"label": "string",
  
  
  
  
  
"message": "string"
  
  
  
  
}
  
  
  
}
  
  
},
  
  
"latestTestOperationId": "A1B2C3D4E5",
  
  
"providerDetails": {
  
  
  
"type": "aws",
  
  
  
"profileRoleArn": "arn:aws:iam::123456789012:role/lakesail-conn1234-profile5678-wc",
  
  
  
"profileRegion": "us-east-1",
  
  
  
"customerPolicyStatement": [
  
  
  
  
{
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
}
  
  
  
]
  
  
}
  
},
  
"included": {
  
  
"externalDataTargets": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"connectionId": "A1B2C3D4E5",
  
  
  
  
"name": "Production Cluster",
  
  
  
  
"provider": "AWS",
  
  
  
  
"service": "S3",
  
  
  
  
"targetConfig": {
  
  
  
  
  
"type": "aws_s3",
  
  
  
  
  
"accountId": "123456789012",
  
  
  
  
  
"region": "us-east-1",
  
  
  
  
  
"bucketName": "customer-data",
  
  
  
  
  
"objectPrefix": "warehouse/production/"
  
  
  
  
},
  
  
  
  
"access": [
  
  
  
  
  
"read"
  
  
  
  
],
  
  
  
  
"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,
  
  
  
  
  
  
  
"pricePerHourUsd": 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
Body

Samples​


Remove a grant from a compute profile​

DELETE
/workloads/configs/{workloadConfig}/data-targets/{target}

Applies the remaining grants before deleting the grant. Target registration authorizes profiles on the same cloud account to use the target. Edit access to the compute profile controls this action. Returns 409 while workloads using this compute profile are running.

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

Type
HTTP (bearer)

Responses​

Grant removal 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,
  
  
  
  
"pricePerHourUsd": 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​


Retry grant configuration​

POST
/workloads/configs/{workloadConfig}/data-targets/{target}/apply

Retries a failed IAM configuration using the access already stored on the grant. Target registration authorizes profiles on the same cloud account to use the target. Edit access to the compute profile controls this action.

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

Type
HTTP (bearer)

Responses​

External data target configuration 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,
  
  
  
  
"pricePerHourUsd": 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​


Test access through a grant​

POST
/workloads/configs/{workloadConfig}/data-targets/{target}/test

Starts a workload-equivalent access test for an active target grant. Target registration authorizes profiles on the same cloud account to use the target. Profile editors and callers permitted to run workloads through the profile can start this test.

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

Type
HTTP (bearer)

Responses​

Access test 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,
  
  
  
  
"pricePerHourUsd": 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 secrets​

GET
/workloads/secrets

Returns managed workload secrets visible to the current member through team membership.

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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​

A list of secrets is returned.

application/json
JSON
{
  
"total": 0,
  
"items": [
  
  
{
  
  
  
"secretId": "A1B2C3D4E5",
  
  
  
"teamIds": [
  
  
  
  
"A1B2C3D4E5"
  
  
  
]
  
  
}
  
],
  
"included": {
  
  
"secrets": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"name": "Production Cluster",
  
  
  
  
"description": "string",
  
  
  
  
"backingType": "string",
  
  
  
  
"metadata": {
  
  
  
  
},
  
  
  
  
"currentVersion": 0,
  
  
  
  
"revoked": true,
  
  
  
  
"revokedBy": "A1B2C3D4E5",
  
  
  
  
"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
  
  
  
}
  
  
]
  
}
}

Playground​

Authorization
Variables
Key
Value

Samples​


Create a secret​

POST
/workloads/secrets

Creates a managed workload secret. Secret values are stored encrypted and are never returned.

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

Type
HTTP (bearer)

Request Body​

application/json
JSON
{
  
"name": "Production Cluster",
  
"description": "string",
  
"backingType": "string",
  
"metadataWrite": {
  
},
  
"value": "string",
  
"teamIds": [
  
  
"A1B2C3D4E5"
  
]
}

Responses​

The secret was created successfully.

application/json
JSON
{
  
"id": "A1B2C3D4E5",
  
"name": "Production Cluster",
  
"description": "string",
  
"backingType": "string",
  
"metadata": {
  
},
  
"currentVersion": 0,
  
"revoked": true,
  
"revokedBy": "A1B2C3D4E5",
  
"createdAt": "string",
  
"createdBy": "A1B2C3D4E5",
  
"updatedAt": "string",
  
"updatedBy": "A1B2C3D4E5"
}

Playground​

Authorization
Body

Samples​


Describe a secret​

GET
/workloads/secrets/{secret}

Returns managed workload secret metadata. The secret value is never returned.

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

Type
HTTP (bearer)

Responses​

The secret was returned successfully.

application/json
JSON
{
  
"id": "A1B2C3D4E5",
  
"name": "Production Cluster",
  
"description": "string",
  
"backingType": "string",
  
"metadata": {
  
},
  
"currentVersion": 0,
  
"revoked": true,
  
"revokedBy": "A1B2C3D4E5",
  
"createdAt": "string",
  
"createdBy": "A1B2C3D4E5",
  
"updatedAt": "string",
  
"updatedBy": "A1B2C3D4E5"
}

Playground​

Authorization

Samples​


Delete a secret​

DELETE
/workloads/secrets/{secret}

Soft-deletes an unreferenced managed workload secret.

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

Type
HTTP (bearer)

Responses​

The secret was deleted successfully.

Playground​

Authorization

Samples​


Update a secret​

PATCH
/workloads/secrets/{secret}

Updates managed workload secret metadata and team assignments. Team removals that would break existing references are rejected.

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

Type
HTTP (bearer)

Request Body​

application/json
JSON
{
  
"name": "Production Cluster",
  
"description": "string",
  
"metadataWrite": {
  
},
  
"teamIds": [
  
  
"A1B2C3D4E5"
  
]
}

Responses​

The secret was updated successfully.

application/json
JSON
{
  
"id": "A1B2C3D4E5",
  
"name": "Production Cluster",
  
"description": "string",
  
"backingType": "string",
  
"metadata": {
  
},
  
"currentVersion": 0,
  
"revoked": true,
  
"revokedBy": "A1B2C3D4E5",
  
"createdAt": "string",
  
"createdBy": "A1B2C3D4E5",
  
"updatedAt": "string",
  
"updatedBy": "A1B2C3D4E5"
}

Playground​

Authorization
Body

Samples​


Replace a secret value​

PUT
/workloads/secrets/{secret}/value

Replaces the current secret value by appending a new internal version. The value is never returned.

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

Type
HTTP (bearer)

Request Body​

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

Responses​

The secret value was replaced successfully.

application/json
JSON
{
  
"id": "A1B2C3D4E5",
  
"name": "Production Cluster",
  
"description": "string",
  
"backingType": "string",
  
"metadata": {
  
},
  
"currentVersion": 0,
  
"revoked": true,
  
"revokedBy": "A1B2C3D4E5",
  
"createdAt": "string",
  
"createdBy": "A1B2C3D4E5",
  
"updatedAt": "string",
  
"updatedBy": "A1B2C3D4E5"
}

Playground​

Authorization
Body

Samples​


Revoke a secret​

POST
/workloads/secrets/{secret}/revoke

Emergency-revokes the current secret version. Future runtime resolution fails closed until a replacement value is provided.

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

Type
HTTP (bearer)

Responses​

The secret current version was revoked successfully.

application/json
JSON
{
  
"id": "A1B2C3D4E5",
  
"name": "Production Cluster",
  
"description": "string",
  
"backingType": "string",
  
"metadata": {
  
},
  
"currentVersion": 0,
  
"revoked": true,
  
"revokedBy": "A1B2C3D4E5",
  
"createdAt": "string",
  
"createdBy": "A1B2C3D4E5",
  
"updatedAt": "string",
  
"updatedBy": "A1B2C3D4E5"
}

Playground​

Authorization

Samples​


List sessions​

GET
/workloads/sessions

Returns sessions visible to the caller: sessions they own plus sessions belonging to teams they are a member of. Passing teamId narrows the list to that team.

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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""marimo"
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"
  
  
}
  
],
  
"included": {
  
  
"sessions": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"endpointType": "string",
  
  
  
  
"name": "Production Cluster",
  
  
  
  
"status": "string",
  
  
  
  
"workloadId": "A1B2C3D4E5",
  
  
  
  
"teamId": "A1B2C3D4E5",
  
  
  
  
"memberId": "A1B2C3D4E5",
  
  
  
  
"terminationReason": "string",
  
  
  
  
"statusMessage": "string",
  
  
  
  
"connectionInfo": {
  
  
  
  
  
"proxyAuthUrl": "string",
  
  
  
  
  
"grpcEndpoint": "string"
  
  
  
  
},
  
  
  
  
"lastActivityAt": "string",
  
  
  
  
"lastBusyAt": "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"
  
  
  
}
  
  
],
  
  
"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",
  
  
  
  
"cleanupFailedAt": "string",
  
  
  
  
"cleanupAbandonedAt": "string"
  
  
  
}
  
  
],
  
  
"workloadConfigs": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"name": "Production Cluster",
  
  
  
  
"workloadType": "string",
  
  
  
  
"clusterId": "A1B2C3D4E5",
  
  
  
  
"config": {
  
  
  
  
  
"sail": {
  
  
  
  
  
  
"executionMode": "string",
  
  
  
  
  
  
"maxRetries": 3,
  
  
  
  
  
  
"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": {
  
  
  
  
  
  
  
  
"type": "string",
  
  
  
  
  
  
  
  
"value": "string"
  
  
  
  
  
  
  
}
  
  
  
  
  
  
}
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"endpointLimits": {
  
  
  
  
  
"spark_connect": 0
  
  
  
  
},
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5",
  
  
  
  
"catalogs": [
  
  
  
  
  
{
  
  
  
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
  
  
  
"name": "Production Cluster"
  
  
  
  
  
}
  
  
  
  
],
  
  
  
  
"defaultCatalogId": "A1B2C3D4E5",
  
  
  
  
"capabilities": {
  
  
  
  
  
"run": {
  
  
  
  
  
  
"allowed": true,
  
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"storeFiles": {
  
  
  
  
  
  
"allowed": true,
  
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"warning": {
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"notebookCount": 0,
  
  
  
  
"jobCount": 0,
  
  
  
  
"activeWorkloadCount": 0
  
  
  
}
  
  
],
  
  
"teams": [
  
  
  
{
  
  
  
  
"team": {
  
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
  
"organizationId": "A1B2C3D4E5",
  
  
  
  
  
"name": "string",
  
  
  
  
  
"createdAt": "string",
  
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
  
"updatedAt": "string",
  
  
  
  
  
"updatedBy": "A1B2C3D4E5",
  
  
  
  
  
"defaultRoleId": "A1B2C3D4E5"
  
  
  
  
},
  
  
  
  
"memberCount": 0
  
  
  
}
  
  
]
  
},
  
"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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

Type
HTTP (bearer)

Request Body​

application/json
JSON
{
  
"endpointType": "string",
  
"name": "Production Cluster",
  
"teamId": "A1B2C3D4E5",
  
"memberId": "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",
  
"terminationReason": "string",
  
"statusMessage": "string",
  
"connectionInfo": {
  
  
"proxyAuthUrl": "string",
  
  
"grpcEndpoint": "string"
  
},
  
"lastActivityAt": "string",
  
"lastBusyAt": "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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

Type
HTTP (bearer)

Responses​

The session was retrieved successfully.

application/json
JSON
{
  
"item": {
  
  
"id": "A1B2C3D4E5",
  
  
"computeInstanceId": "A1B2C3D4E5",
  
  
"memberId": "A1B2C3D4E5"
  
},
  
"included": {
  
  
"sessions": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"endpointType": "string",
  
  
  
  
"name": "Production Cluster",
  
  
  
  
"status": "string",
  
  
  
  
"workloadId": "A1B2C3D4E5",
  
  
  
  
"teamId": "A1B2C3D4E5",
  
  
  
  
"memberId": "A1B2C3D4E5",
  
  
  
  
"terminationReason": "string",
  
  
  
  
"statusMessage": "string",
  
  
  
  
"connectionInfo": {
  
  
  
  
  
"proxyAuthUrl": "string",
  
  
  
  
  
"grpcEndpoint": "string"
  
  
  
  
},
  
  
  
  
"lastActivityAt": "string",
  
  
  
  
"lastBusyAt": "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"
  
  
  
}
  
  
],
  
  
"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",
  
  
  
  
"cleanupFailedAt": "string",
  
  
  
  
"cleanupAbandonedAt": "string"
  
  
  
}
  
  
],
  
  
"workloadConfigs": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"name": "Production Cluster",
  
  
  
  
"workloadType": "string",
  
  
  
  
"clusterId": "A1B2C3D4E5",
  
  
  
  
"config": {
  
  
  
  
  
"sail": {
  
  
  
  
  
  
"executionMode": "string",
  
  
  
  
  
  
"maxRetries": 3,
  
  
  
  
  
  
"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": {
  
  
  
  
  
  
  
  
"type": "string",
  
  
  
  
  
  
  
  
"value": "string"
  
  
  
  
  
  
  
}
  
  
  
  
  
  
}
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"endpointLimits": {
  
  
  
  
  
"spark_connect": 0
  
  
  
  
},
  
  
  
  
"createdAt": "string",
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"updatedBy": "A1B2C3D4E5",
  
  
  
  
"catalogs": [
  
  
  
  
  
{
  
  
  
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
  
  
  
"name": "Production Cluster"
  
  
  
  
  
}
  
  
  
  
],
  
  
  
  
"defaultCatalogId": "A1B2C3D4E5",
  
  
  
  
"capabilities": {
  
  
  
  
  
"run": {
  
  
  
  
  
  
"allowed": true,
  
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"storeFiles": {
  
  
  
  
  
  
"allowed": true,
  
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
  
}
  
  
  
  
  
},
  
  
  
  
  
"warning": {
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"notebookCount": 0,
  
  
  
  
"jobCount": 0,
  
  
  
  
"activeWorkloadCount": 0
  
  
  
}
  
  
],
  
  
"teams": [
  
  
  
{
  
  
  
  
"team": {
  
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
  
"organizationId": "A1B2C3D4E5",
  
  
  
  
  
"name": "string",
  
  
  
  
  
"createdAt": "string",
  
  
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
  
  
"updatedAt": "string",
  
  
  
  
  
"updatedBy": "A1B2C3D4E5",
  
  
  
  
  
"defaultRoleId": "A1B2C3D4E5"
  
  
  
  
},
  
  
  
  
"memberCount": 0
  
  
  
}
  
  
]
  
}
}

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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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 can issue a token.

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

Type
HTTP (bearer)

Request Body​

application/json
JSON
{
  
"durationSeconds": 0
}

Responses​

A bearer token for gRPC proxy access.

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

Playground​

Authorization
Body

Samples​


Issue a session log stream​

POST
/workloads/sessions/{session}/logs/stream

Issues a short-lived token and URL for streaming the session's Sail server log from the customer-side session proxy. Worker pods in cluster mode are not exposed. Returns 409 while the session's pod is not yet running (retry shortly) or when the cluster requires re-provisioning for live logs; 410 when the session's resources have been cleaned up.

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

Type
HTTP (bearer)

Responses​

Connection details for the session's live log stream.

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

Playground​

Authorization

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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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",
  
"terminationReason": "string",
  
"statusMessage": "string",
  
"connectionInfo": {
  
  
"proxyAuthUrl": "string",
  
  
"grpcEndpoint": "string"
  
},
  
"lastActivityAt": "string",
  
"lastBusyAt": "string",
  
"idleSince": "string",
  
"closedAt": "string",
  
"timeoutAt": "string",
  
"config": {
  
  
"idleTimeoutSeconds": 0,
  
  
"idleCloseDelaySeconds": 0,
  
  
"maxDurationSeconds": 0
  
},
  
"metadata": {
  
  
"additionalProperties": "string"
  
},
  
"createdAt": "string",
  
"updatedAt": "string"
}

Playground​

Authorization

Samples​


Destroy a session's compute infrastructure​

POST
/workloads/sessions/{session}/destroy

Re-runs teardown of the session's compute infrastructure when a previous automatic teardown failed and the workload is stuck in cleanup_failed (for example, the compute cluster was temporarily unreachable). The teardown is re-attempted asynchronously.
When force is true, the failed teardown is instead abandoned: the workload is marked as needing manual cleanup (cleanup_abandoned_at is set) and removed from the user's active view. This does NOT delete the namespace in the customer cluster — the caller acknowledges they will remove it themselves. Use only when the infrastructure is unrecoverable.
Can be called by the session owner, team admin, or org admin.

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

Type
HTTP (bearer)

Request Body​

application/json
JSON
{
  
"force": false
}

Responses​

The teardown was re-attempted, or the workload was abandoned.

Playground​

Authorization
Body

Samples​


compute-profiles​


List workload configs​

GET
/workloads/configs

Returns workload configs visible to the caller. When teamId is provided, only workload configs whose cluster is linked to that team are returned. Anonymous (inline) configs are excluded.

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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",
  
  
  
"config": {
  
  
  
  
"sail": {
  
  
  
  
  
"executionMode": "string",
  
  
  
  
  
"maxRetries": 3,
  
  
  
  
  
"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": {
  
  
  
  
  
  
  
"type": "string",
  
  
  
  
  
  
  
"value": "string"
  
  
  
  
  
  
}
  
  
  
  
  
}
  
  
  
  
}
  
  
  
},
  
  
  
"endpointLimits": {
  
  
  
  
"spark_connect": 0
  
  
  
},
  
  
  
"createdAt": "string",
  
  
  
"createdBy": "A1B2C3D4E5",
  
  
  
"updatedAt": "string",
  
  
  
"updatedBy": "A1B2C3D4E5",
  
  
  
"catalogs": [
  
  
  
  
{
  
  
  
  
  
"catalogId": "A1B2C3D4E5",
  
  
  
  
  
"name": "Production Cluster"
  
  
  
  
}
  
  
  
],
  
  
  
"defaultCatalogId": "A1B2C3D4E5",
  
  
  
"capabilities": {
  
  
  
  
"run": {
  
  
  
  
  
"allowed": true,
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"storeFiles": {
  
  
  
  
  
"allowed": true,
  
  
  
  
  
"blocked": {
  
  
  
  
  
  
"label": "string",
  
  
  
  
  
  
"message": "string"
  
  
  
  
  
}
  
  
  
  
},
  
  
  
  
"warning": {
  
  
  
  
  
"label": "string",
  
  
  
  
  
"message": "string"
  
  
  
  
}
  
  
  
},
  
  
  
"notebookCount": 0,
  
  
  
"jobCount": 0,
  
  
  
"activeWorkloadCount": 0
  
  
}
  
],
  
"marker": "string"
}

Playground​

Authorization
Variables
Key
Value

Samples​


Create a workload config​

POST
/workloads/configs

Creates a named workload config for a cluster. It can be reused by jobs, sessions, and notebooks that have access to the cluster. Once created, workloadType and clusterId are immutable. Access follows the teams linked to the cluster; a workload config does not have a separate owning team.

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

Type
HTTP (bearer)

Request Body​

application/json
JSON
{
  
"name": "Production Cluster",
  
"workloadType": "string",
  
"clusterId": "A1B2C3D4E5",
  
"config": {
  
  
"sail": {
  
  
  
"executionMode": "string",
  
  
  
"maxRetries": 3,
  
  
  
"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": {
  
  
  
  
  
"type": "string",
  
  
  
  
  
"value": "string"
  
  
  
  
}
  
  
  
}
  
  
}
  
},
  
"endpointLimits": {
  
  
"spark_connect": 0
  
},
  
"catalogs": [
  
],
  
"defaultCatalogId": "A1B2C3D4E5"
}

Responses​

The workload config was created successfully.

application/json
JSON
{
  
"id": "A1B2C3D4E5",
  
"name": "Production Cluster",
  
"workloadType": "string",
  
"clusterId": "A1B2C3D4E5",
  
"config": {
  
  
"sail": {
  
  
  
"executionMode": "string",
  
  
  
"maxRetries": 3,
  
  
  
"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": {
  
  
  
  
  
"type": "string",
  
  
  
  
  
"value": "string"
  
  
  
  
}
  
  
  
}
  
  
}
  
},
  
"endpointLimits": {
  
  
"spark_connect": 0
  
},
  
"createdAt": "string",
  
"createdBy": "A1B2C3D4E5",
  
"updatedAt": "string",
  
"updatedBy": "A1B2C3D4E5",
  
"catalogs": [
  
],
  
"defaultCatalogId": "A1B2C3D4E5"
}

Playground​

Authorization
Body

Samples​


Describe a workload config​

GET
/workloads/configs/{workloadConfig}

Returns the full detail of a workload config.

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

Type
HTTP (bearer)

Responses​

The workload config was retrieved successfully.

application/json
JSON
{
  
"id": "A1B2C3D4E5",
  
"name": "Production Cluster",
  
"workloadType": "string",
  
"clusterId": "A1B2C3D4E5",
  
"config": {
  
  
"sail": {
  
  
  
"executionMode": "string",
  
  
  
"maxRetries": 3,
  
  
  
"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": {
  
  
  
  
  
"type": "string",
  
  
  
  
  
"value": "string"
  
  
  
  
}
  
  
  
}
  
  
}
  
},
  
"endpointLimits": {
  
  
"spark_connect": 0
  
},
  
"createdAt": "string",
  
"createdBy": "A1B2C3D4E5",
  
"updatedAt": "string",
  
"updatedBy": "A1B2C3D4E5",
  
"catalogs": [
  
],
  
"defaultCatalogId": "A1B2C3D4E5"
}

Playground​

Authorization

Samples​


Delete a workload config​

DELETE
/workloads/configs/{workloadConfig}

Deletes a workload config. Jobs and notebooks that reference it prevent deletion. An active runtime prevents deletion while it still depends on the config's catalogs, default catalog, or secrets. After deletion, the config is removed from listings and cannot be used by new workloads.

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

Type
HTTP (bearer)

Responses​

The requested operation was done successfully.

Playground​

Authorization

Samples​


Update a workload config​

PATCH
/workloads/configs/{workloadConfig}

Updates a workload config's mutable fields. workloadType and clusterId are immutable. Editing is rejected while an active runtime uses the config. Changes apply to future workloads; existing compute snapshots remain unchanged.

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

Type
HTTP (bearer)

Request Body​

application/json
JSON
{
  
"name": "Production Cluster",
  
"config": {
  
  
"sail": {
  
  
  
"executionMode": "string",
  
  
  
"maxRetries": 3,
  
  
  
"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": {
  
  
  
  
  
"type": "string",
  
  
  
  
  
"value": "string"
  
  
  
  
}
  
  
  
}
  
  
}
  
},
  
"endpointLimits": {
  
  
"spark_connect": 0
  
},
  
"catalogs": [
  
],
  
"defaultCatalogId": "A1B2C3D4E5"
}

Responses​

The workload config was updated successfully.

application/json
JSON
{
  
"id": "A1B2C3D4E5",
  
"name": "Production Cluster",
  
"workloadType": "string",
  
"clusterId": "A1B2C3D4E5",
  
"config": {
  
  
"sail": {
  
  
  
"executionMode": "string",
  
  
  
"maxRetries": 3,
  
  
  
"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": {
  
  
  
  
  
"type": "string",
  
  
  
  
  
"value": "string"
  
  
  
  
}
  
  
  
}
  
  
}
  
},
  
"endpointLimits": {
  
  
"spark_connect": 0
  
},
  
"createdAt": "string",
  
"createdBy": "A1B2C3D4E5",
  
"updatedAt": "string",
  
"updatedBy": "A1B2C3D4E5",
  
"catalogs": [
  
],
  
"defaultCatalogId": "A1B2C3D4E5"
}

Playground​

Authorization
Body

Samples​


Get workload config references​

GET
/workloads/configs/{workloadConfig}/references

Returns the resources that currently reference a workload config. Notebooks and jobs are durable references that prevent deletion until repointed. Active workloads block deletion while they still depend on workload config resources such as secrets, catalogs, or a default catalog.

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

Type
HTTP (bearer)

Responses​

The workload config references were retrieved successfully.

application/json
JSON
{
  
"notebooks": {
  
  
"count": 0,
  
  
"items": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"name": "string",
  
  
  
  
"status": "string"
  
  
  
}
  
  
],
  
  
"blocksDeletion": true
  
},
  
"jobs": {
  
  
"count": 0,
  
  
"items": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"name": "string",
  
  
  
  
"status": "string"
  
  
  
}
  
  
],
  
  
"blocksDeletion": true
  
},
  
"activeWorkloads": {
  
  
"count": 0,
  
  
"items": [
  
  
  
{
  
  
  
  
"id": "A1B2C3D4E5",
  
  
  
  
"name": "string",
  
  
  
  
"status": "string"
  
  
  
}
  
  
],
  
  
"blocksDeletion": true
  
},
  
"deletionBlocked": true
}

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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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"
  
  
  
],
  
  
  
"channelSupport": {
  
  
  
  
"immediate": [
  
  
  
  
  
"string"
  
  
  
  
],
  
  
  
  
"digest": [
  
  
  
  
  
"string"
  
  
  
  
]
  
  
  
},
  
  
  
"additionalProperties": "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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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​


billing​

Billing audit views for marketplace usage submissions and workload charge composition.


List the organization's billing subscriptions​

GET
/billing/subscriptions

Returns the calling organization's current and historical billing subscriptions across all providers (AWS Marketplace and Stripe). Historical rows support final-period usage navigation and provider-specific resubscribe guidance. Abandoned Stripe checkout reservations are excluded. Provider- agnostic; the per-row provider discriminator distinguishes providers.

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

Type
HTTP (bearer)

Responses​

The organization's current billing subscriptions.

application/json
JSON
{
  
"items": [
  
  
{
  
  
  
"id": "A1B2C3D4E5",
  
  
  
"organizationId": "A1B2C3D4E5",
  
  
  
"provider": "AWS",
  
  
  
"providerId": "string",
  
  
  
"providerConfig": {
  
  
  
  
"customerIdentifier": "ABCDEFGH12345",
  
  
  
  
"customerAwsAccountId": "123456789012",
  
  
  
  
"productCode": "abc123def456",
  
  
  
  
"licenseArn": "arn:aws:license-manager::123456789012:license/l-abc123",
  
  
  
  
"agreementId": "agmt-abc123"
  
  
  
},
  
  
  
"status": "pending",
  
  
  
"subscribedAt": "string",
  
  
  
"unsubscribedAt": "string",
  
  
  
"createdAt": "string",
  
  
  
"updatedAt": "string",
  
  
  
"lastSubmissionAt": "string"
  
  
}
  
],
  
"rateCard": {
  
  
"rates": [
  
  
  
{
  
  
  
  
"factor": "string",
  
  
  
  
"currency": "string",
  
  
  
  
"amount": 0
  
  
  
}
  
  
]
  
},
  
"marker": "string"
}

Playground​

Authorization

Samples​


Get submission workload composition​

GET
/billing/subscriptions/{subscriptionId}/submissions/{submissionId}

Returns workload-level contributions included in a metering submission window, including the physical usage factors used to compute the submitted amount.

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

Type
HTTP (bearer)

Responses​

Workload-level billing composition for one submission.

application/json
JSON
{
  
"items": [
  
  
{
  
  
  
"sourceId": "A1B2C3D4E5",
  
  
  
"vcpuHours": 0,
  
  
  
"memoryGbHours": 0,
  
  
  
"dollarAmount": 0,
  
  
  
"vcpuHoursMetered": 0,
  
  
  
"memoryGbHoursMetered": 0,
  
  
  
"workloadLabel": "string",
  
  
  
"usageStart": "string",
  
  
  
"usageEnd": "string"
  
  
}
  
],
  
"rateCard": {
  
  
"rates": [
  
  
  
{
  
  
  
  
"factor": "string",
  
  
  
  
"currency": "string",
  
  
  
  
"amount": 0
  
  
  
}
  
  
]
  
}
}

Playground​

Authorization

Samples​


Get the organization's free-trial status​

GET
/billing/trial

Returns the calling organization's org-level free-trial status (trials are one per org): whether a trial is active, when it ends, and whether the org already has an entitling subscription. Drives the in-app trial banner, so it is readable by any member.

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

Type
HTTP (bearer)

Responses​

The organization's free-trial status.

application/json
JSON
{
  
"status": "string",
  
"endsAt": "string",
  
"entitled": true,
  
"platform": {
  
  
"availableSubscriptionProviders": [
  
  
  
"AWS"
  
  
],
  
  
"retentionGraceDays": 0,
  
  
"trialUsageVisible": true
  
}
}

Playground​

Authorization

Samples​


Get the organization's usage​

GET
/billing/usage

Returns the organization's usage for the selected range. When a subscription is selected, usage is returned per collection window and each window says whether it was charged.
Subscription usage includes every customer-meaningful submission outcome. Only accepted outcomes count as billed or trial-covered; every other outcome is explicitly unconfirmed. Trial-covered estimates are returned only where the deployment enables that disclosure. Range totals keep billed, trial-rated, and unconfirmed attempted amounts separate.
Omitting subscription is a narrower trial-only case. It is available only to an organization currently in its trial that has never held a subscription and is not billing-exempt. Because that usage comes from the internal shadow ledger, only the aggregate totals authorized by ADR-082 are returned; items is empty and pagination does not apply.

Authorizations​

BearerAuth

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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
subscription

Limit the usage to one subscription. Omit for the organization's usage that no subscription accounts for, which is what an organization inside a free trial without a subscription has.

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

Include submissions with period_start at or after this timestamp.

Type
string
Format
"date-time"
to

Include submissions with period_end at or before this timestamp.

Type
string
Format
"date-time"
includeZeroUsage

Include windows where submitted usage quantity was zero.

Type
boolean
Default
false

Responses​

Usage windows for the selected range.

application/json
JSON
{
  
"items": [
  
  
{
  
  
  
"periodStart": "string",
  
  
  
"periodEnd": "string",
  
  
  
"state": "billed",
  
  
  
"amount": 0,
  
  
  
"vcpuHours": 0,
  
  
  
"memoryGbHours": 0,
  
  
  
"submissionId": "A1B2C3D4E5",
  
  
  
"submissionStatus": "accepted",
  
  
  
"billableFrom": "string",
  
  
  
"billableFromReason": "trial_end"
  
  
}
  
],
  
"totals": {
  
  
"billedAmount": 0,
  
  
"trialRatedAmount": 0,
  
  
"unconfirmedAmount": 0,
  
  
"hasTrialUsage": true,
  
  
"vcpuHours": 0,
  
  
"memoryGbHours": 0,
  
  
"windowCount": 0,
  
  
"billedWindowCount": 0,
  
  
"trialWindowCount": 0,
  
  
"unconfirmedWindowCount": 0
  
},
  
"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

API token sent in the Authorization header. Most tokens use the Bearer scheme. For organizations with the requireDpop setting enabled, access tokens are sender-constrained per RFC 9449: the token MUST be presented as "Authorization: DPoP " together with a DPoP proof JWT in the separate DPoP header. A token presented under the DPoP scheme is validated against its key binding regardless of organization settings.

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,
  
  
  
  
"pricePerHourUsd": 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​


status​

Platform availability and version information.

Operations​

Get platform status​

GET
/status

Returns basic platform status information. This endpoint is unauthenticated and can be used to check platform availability.

Responses​

Platform status.

application/json
JSON
{
  
"version": "string",
  
"maintenance": true
}

Playground​

Samples​


Powered by VitePress OpenAPI

Can't find the answer here? Email us: support@lakesail.com