Lambda Cloud API
The Lambda Cloud API provides a set of REST API endpoints you can use to create and manage your Lambda Cloud resources.
Requests to the API are generally limited to one request per second. Requests to
the /instance-operations/launch endpoint are limited to one request per 12
seconds, or five requests per minute.
Response types and formats
The format of each response object depends on whether the request succeeded or failed.
Success responses
When a request succeeds, the API returns a response object in the following format. <PAYLOAD>
represents the endpoint-specific data object returned as part of the response object.
{
"data": <PAYLOAD>
}
Error responses
When a request fails, the API returns an error response object in the following format:
{
"error": {
"code": string,
"message": string,
"suggestion": string?,
"request_id": string?
}
}
code: A machine- and human-readable error code specific to a particular failure mode.message: An explanation of the error.suggestion: When present, a suggestion for how to address the error.request_id: Uniquely identifies the request that produced the error. Quote it when contacting support.
Provider errors
In some cases, you might receive errors that come from upstream services/providers rather than directly
from Lambda services. You can identify these errors by their error code prefix, provider/.
Common provider errors include:
- Network outages or connectivity issues
- Service unavailability
- Quota limitations or resource exhaustion
An example of a typical service unavailability error:
{
"error": {
"code": "provider/internal-unavailable",
"message": "Provider unavailable",
"suggestion": "Try again shortly"
}
}
Outgoing webhooks
Lambda can send webhook notifications to your URL when support ticket events occur, enabling near real-time integration with your systems.
Event types
ticket.created- A support ticket was created.ticket.status_changed- A support ticket's status was updated, and the ticket remains open.ticket.resolved- A support ticket's status was set tosolved, or the ticket was closed.
Payload structure
All webhook payloads follow this structure:
{
"id": "a3b7c9d1e5f642a8b0c2d4e6f8a0b2c4",
"object": "event",
"type": "ticket.created",
"created": 1700000000,
"api_version": "2025-11-18",
"data": {
"object": "ticket",
"id": "f1e2d3c4b5a647869708192a3b4c5d6e",
"subject": "Issue with instance 0920582c7ff041399e34823a0be62549",
"description": "Detailed description of the issue...",
"request_type": "incident",
"severity": "sev_2",
"status": "new",
"created_at": "2024-11-15T10:00:00+00:00",
"updated_at": "2024-11-15T10:00:00+00:00",
"instance_ip": "192.168.1.100",
"instance_id": "0920582c7ff041399e34823a0be62549",
"cluster_id": null,
"source": "api"
}
}
Webhook authentication
Webhook requests include a Bearer token in the Authorization header for authentication:
Authorization: Bearer <token>
Authentication
The Lambda Cloud API uses API keys to authenticate incoming requests. You can generate a new API key pair or view your existing API keys by visiting the API keys page in the Lambda Cloud dashboard.
In general, Lambda recommends passing an HTTP Bearer header that contains your API key:
Authorization: Bearer <YOUR-API-KEY>
Authenticating with curl
Pass your API key in the Authorization header using the Bearer scheme.
For example:
curl --request GET --url 'https://cloud.lambda.ai/api/v1/instances' \
--header 'accept: application/json' \
--header 'Authorization: Bearer <YOUR-API-KEY>'
For backward compatibility, the API also accepts an HTTP Basic header, which
supports curl's -u flag (the API key is sent as the username with an empty
password). New integrations should prefer the Bearer header shown above.
curl --request GET --url 'https://cloud.lambda.ai/api/v1/instances' \
--header 'accept: application/json' \
--user '<YOUR-API-KEY>:'
Trying out the API
You can also try Lambda Cloud API endpoints directly from the API browser. To configure this feature:
- Visit the API keys page in the Lambda Cloud dashboard.
- Generate an API key, and then copy the key.
- Paste your API key below, and then click Set key.
After you set the key, visit the Parameters & Request sample section of the endpoint you want to test, fill in the relevant parameters, and then click Send request to make a request. The response status and object will appear in the corresponding Response section.
Account
The account the requester belongs to.
Retrieve current account's details
Retrieves information about the requester's account.
Parameters
There are no parameters for this endpoint.
Response:200
- data Account required
- id string required
The unique identifier for the account.
- name string optional
The name of the account.
Common Error Response Codes
401: Unauthorized
- "global/invalid-api-key"
403: Forbidden
- "global/account-inactive"
404: Not Found
- "global/not-found"
429: Too Many Requests
- "global/rate-limited"
Parameters & Request sample
Request sample
curl --request GET --url 'https://cloud.lambda.ai/api/v1/account' \
--header 'accept: application/json' \
--header 'Authorization: Bearer <YOUR-API-KEY>'Response
Sample
ResponseStatus: 200 OK
{
"data": {
"id": "ddaedf1b7a0e41ac981711504493b242",
"name": "string"
}
}Live
Response
Error sending request
API keys
API keys by ID, independent of the identity that owns them.
List API keys in the account
Lists every API key in the account across all identities, with the owning identity on each key. Revoked API keys are never returned. Requires the user-identity API-key read permission on the account; service-identity keys are included only when the caller also holds the service-identity API-key read permission, and requesting them explicitly without it is rejected.
Query Parameters
- page_size integer optional
Maximum number of results per page. Can be between 1 and 100. The default is 50.
- page_token string optional
A page token for cursor-based pagination.
- name string optional
Return only API keys with exactly this name.
- status enum optional
Filter API keys by status. If omitted, active and expired keys are returned.
- Possible values:
- "active"
- "expired"
- Possible values:
- identity_id string optional
Return only API keys owned by this identity.
- identity_type enum optional
Return only API keys owned by identities of this type.
- Possible values:
- "user"
- "service"
- Possible values:
Response:200
- data array of ApiKeyResponse required
- ApiKeyResponse
- id string required
The unique identifier (ID) of the API key.
- name string required
The user-defined name of the API key.
- identity_id string required
The unique identifier (ID) of the identity that owns the API key.
- created_at string required
The date and time at which the API key was created. Formatted as an ISO 8601 timestamp.
- Format: date-time
- expires_at (string | null) required
The date and time at which the API key will expire. Formatted as an ISO 8601 timestamp. Returns
nullif no expiration period was set during key creation.Any of
- string
- Format: date-time
- null
- last_used_at (string | null) required
The date and time at which the API key was last used. Formatted as an ISO 8601 timestamp. Returns
nullif the key hasn't been used.Any of
- string
- Format: date-time
- null
- status enum required
The current status of the API key.
- Possible values:
- "active"
- "expired"
- Possible values:
- identity_type enum optional
Whether the owning identity is a user or a service identity.
- Possible values:
- "user"
- "service"
- Possible values:
- identity_display_name string optional
The owning identity's display name: a user's full name or a service identity's name. Empty when the identity has no name on record.
- page_token (string | null) required
Provide this token in your next request to retrieve the next page of results. If there are no additional pages, this field has a null value.
Any of
- string
- null
Common Error Response Codes
400: Bad Request
- "global/invalid-parameters"
401: Unauthorized
- "global/invalid-api-key"
403: Forbidden
- "global/account-inactive"
404: Not Found
- "global/not-found"
429: Too Many Requests
- "global/rate-limited"
Parameters & Request sample
Request sample
curl --request GET --url 'https://cloud.lambda.ai/api/v1/api-keys' \
--header 'accept: application/json' \
--header 'Authorization: Bearer <YOUR-API-KEY>'Response
Sample
ResponseStatus: 200 OK
{
"data": [
{
"id": "string",
"name": "string",
"identity_id": "ddaedf1b7a0e41ac981711504493b242",
"created_at": "1970-01-01T00:00:00.000Z",
"expires_at": "1970-01-01T00:00:00.000Z",
"last_used_at": "1970-01-01T00:00:00.000Z",
"status": "active",
"identity_type": "user",
"identity_display_name": "string"
}
],
"page_token": "eyJuZXh0IjoxNzA0MTk2ODAwfQ=="
}Live
Response
Error sending request
Retrieve details about an API key
Retrieves metadata for the specified API key.
Path Parameters
- key_id string required
The unique identifier (ID) of the API key.
Response:200
- data ApiKeyResponse required
- id string required
The unique identifier (ID) of the API key.
- name string required
The user-defined name of the API key.
- identity_id string required
The unique identifier (ID) of the identity that owns the API key.
- created_at string required
The date and time at which the API key was created. Formatted as an ISO 8601 timestamp.
- Format: date-time
- expires_at (string | null) required
The date and time at which the API key will expire. Formatted as an ISO 8601 timestamp. Returns
nullif no expiration period was set during key creation.Any of
- string
- Format: date-time
- null
- last_used_at (string | null) required
The date and time at which the API key was last used. Formatted as an ISO 8601 timestamp. Returns
nullif the key hasn't been used.Any of
- string
- Format: date-time
- null
- status enum required
The current status of the API key.
- Possible values:
- "active"
- "expired"
- Possible values:
- identity_type enum optional
Whether the owning identity is a user or a service identity.
- Possible values:
- "user"
- "service"
- Possible values:
- identity_display_name string optional
The owning identity's display name: a user's full name or a service identity's name. Empty when the identity has no name on record.
Common Error Response Codes
400: Bad Request
- "global/invalid-parameters"
401: Unauthorized
- "global/invalid-api-key"
403: Forbidden
- "global/account-inactive"
- "global/forbidden"
404: Not Found
- "global/not-found"
429: Too Many Requests
- "global/rate-limited"
Parameters & Request sample
Request sample
curl --request GET --url 'https://cloud.lambda.ai/api/v1/api-keys/ddaedf1b7a0e41ac981711504493b242' \
--header 'accept: application/json' \
--header 'Authorization: Bearer <YOUR-API-KEY>'Response
Sample
ResponseStatus: 200 OK
{
"data": {
"id": "string",
"name": "string",
"identity_id": "ddaedf1b7a0e41ac981711504493b242",
"created_at": "1970-01-01T00:00:00.000Z",
"expires_at": "1970-01-01T00:00:00.000Z",
"last_used_at": "1970-01-01T00:00:00.000Z",
"status": "active",
"identity_type": "user",
"identity_display_name": "string"
}
}Live
Response
Error sending request
Delete an API key
Deletes the specified API key. To delete an API key that belongs to an identity other than your own, you must have a role that contains the relevant permissions.
Path Parameters
- key_id string required
The unique identifier (ID) of the API key.
Response:200
- data EmptyResponse required
Common Error Response Codes
400: Bad Request
- "global/invalid-parameters"
401: Unauthorized
- "global/invalid-api-key"
403: Forbidden
- "global/account-inactive"
- "global/forbidden"
404: Not Found
- "global/not-found"
429: Too Many Requests
- "global/rate-limited"
Parameters & Request sample
Request sample
curl --request DELETE --url 'https://cloud.lambda.ai/api/v1/api-keys/ddaedf1b7a0e41ac981711504493b242' \
--header 'accept: application/json' \
--header 'Authorization: Bearer <YOUR-API-KEY>'Response
Sample
ResponseStatus: 200 OK
{
"data": {}
}Live
Response
Error sending request
Get audit events
Retrieves a list of audit events that have occurred in your account. To view the full catalog of possible audit events, visit Access and security > Audit logs in the Lambda Cloud documentation.
Query Parameters
- start string optional
An ISO 8601 timestamp defining the start of the time range to query, inclusive. If omitted, the response starts at the earliest available event.
- Format: date-time
- end string optional
An ISO 8601 timestamp defining the end of the time range to query, inclusive. If omitted, the response ends at the most recent event.
- Format: date-time
- page_token string optional
The token returned by the previous API response to retrieve the next page of results.
- resource_type string optional
The resource type to filter by. By default, all available resource types are retrieved.
Response:200
- data array of AuditEvent required
- AuditEvent
Audit event in the account's audit log. To view the full catalog of possible audit events, visit Access and security > Audit logs in the Lambda Cloud documentation.
- service_name string required
The service in which the action was performed.
- resource_name string required
The type of resource that was affected.
- action string required
The action that was performed.
- catalog_version string required
The version of the event catalog schema.
- event_id string required
The unique identifier (ID) for this audit event.
- event_time string required
The UTC timestamp for when the event occurred (ISO 8601 format).
- actor_lrn (string | null) required
The Lambda Resource Name (LRN) of the actor who performed the action. This is the stable identifier for the actor; emails and display names can change or be reassigned over time.
Any of
- string
- null
- actor_email (string | null) required
The email address of the actor, resolved at read time from the actor's identity. Reflects the current email, not the email at the time of the event.
nullfor service identities (which have no email), system-generated events, and actors that no longer resolve to an identity in this account.Any of
- string
- null
- actor_display_name (string | null) required
A human-readable name for the actor, resolved at read time: the user's full name, or the display name of a service identity.
nullwhen unavailable or when the actor no longer resolves to an identity in this account.Any of
- string
- null
- resource_lrns array of string required
The Lambda Resource Names (LRNs) of the resources affected by this action.
- string
- resource_owner_lrn (string | null) required
The Lambda Resource Name (LRN) of the account that owns the affected resources.
Any of
- string
- null
- request_api_key_lrn (string | null) required
The Lambda Resource Name (LRN) of the API key used to authenticate the request, if applicable.
Any of
- string
- null
- workspace_lrn (string | null) required
The Lambda Resource Name (LRN) of the workspace the affected resources belong to, if applicable.
Any of
- string
- null
- client_ip (string | null) required
The IP address the request originated from. Shows
lambda-internalfor actions performed by Lambda staff.nullfor system-generated events and events recorded before this field was introduced.Any of
- string
- null
- client_user_agent (string | null) required
The User-Agent header supplied by the client that made the request. This value is client-controlled and informational only.
nullfor system-generated events and events recorded before this field was introduced.Any of
- string
- null
- surface (string | null) required
The surface the request came through:
console(logged-in browser session),api(API key), orsystem(generated by Lambda systems without a request).nullwhen the surface could not be determined (for example, unauthenticated requests) and for events recorded before this field was introduced.Any of
- string
- null
- result (AuditResult | null) required
The result of the audited action, including its status and the HTTP status code when the action originated from an API request.
nullfor events recorded before this field was introduced.Any of
- AuditResult
The result of an audited action.
- status enum required
The result of an audited action, open to future status values.
- Possible values:
- "success"
- "failure"
- Possible values:
- status_code (integer | null) optional
Any of
- integer
- null
- null
- additional_details object required
Additional event-specific details. The exact keys returned vary by event type.
- page_token (string | null) required
Provide this token in your next request to retrieve the next page of results. If there are no additional pages, this field has a null value.
Any of
- string
- null
Common Error Response Codes
400: Bad Request
- "global/invalid-parameters"
401: Unauthorized
- "global/invalid-api-key"
403: Forbidden
- "global/account-inactive"
404: Not Found
- "global/not-found"
429: Too Many Requests
- "global/rate-limited"
Parameters & Request sample
Request sample
curl --request GET --url 'https://cloud.lambda.ai/api/v1/audit-events' \
--header 'accept: application/json' \
--header 'Authorization: Bearer <YOUR-API-KEY>'Response
Sample
ResponseStatus: 200 OK
{
"data": [
{
"service_name": "cloud",
"resource_name": "api_key",
"action": "created",
"catalog_version": "2025-09-06",
"event_id": "0123456789abcdef0123456789abcdef",
"event_time": "2025-09-15T10:30:45.123456Z",
"actor_lrn": "lrn:cloud:identity:00112233445566778899aabbccddeeff",
"actor_email": "alice@example.com",
"actor_display_name": "Alice Example",
"resource_lrns": [
"lrn:cloud:api_key:ffeeddccbbaa99887766554433221100"
],
"resource_owner_lrn": "lrn:cloud:account:fedcba9876543210fedcba9876543210",
"request_api_key_lrn": "lrn:cloud:api_key:0f1e2d3c4b5a69788796a5b4c3d2e1f0",
"workspace_lrn": "lrn:cloud:workspace:abcdef0123456789abcdef0123456789",
"client_ip": "203.0.113.42",
"client_user_agent": "curl/8.5.0",
"surface": "console",
"result": {
"status": "success",
"status_code": 200
},
"additional_details": {
"api_key_lrn": "lrn:cloud:api_key:ffeeddccbbaa99887766554433221100"
}
}
],
"page_token": "eyJuZXh0IjoxNzA0MTk2ODAwfQ=="
}Live
Response
Error sending request
List filesystems (deprecated path)
Retrieves a list of your filesystems.
This path is deprecated in favor of GET /api/v1/filesystems, which is the spelling every other filesystem operation uses. The two return identical responses. This path is not scheduled for removal, so existing integrations keep working, but new ones should use /api/v1/filesystems.
Parameters
There are no parameters for this endpoint.
Response:200
- data array of Filesystem required
- Filesystem
Information about a shared filesystem.
- id string required
The unique identifier (ID) of the filesystem.
- name string required
The name of the filesystem.
- mount_point string required
The DEFAULT absolute path indicating where on instances the filesystem will be mounted. If
file_system_mountswere used at launch time, the actual mount point is in the instance response. - created string required
The date and time at which the filesystem was created. Formatted as an ISO 8601 timestamp.
- Format: date-time
- created_by User required
The user in your Team that created the filesystem.
- id string required
The unique identifier for the user.
- email string required
The email address of the user.
- status enum required
The status of the user's account.
- Possible values:
- "active"
- "deactivated"
- Possible values:
- is_in_use boolean required
Whether the filesystem is currently mounted to an instance. Filesystems that are mounted cannot be deleted.
- region Region required
The region in which the filesystem is deployed.
- name string required
The region code.
- description string required
The region description.
- bytes_used integer optional
The approximate amount of storage used by the filesystem in bytes. This estimate is updated every few hours.
Common Error Response Codes
400: Bad Request
- "global/invalid-parameters"
401: Unauthorized
- "global/invalid-api-key"
403: Forbidden
- "global/account-inactive"
404: Not Found
- "global/not-found"
429: Too Many Requests
- "global/rate-limited"
Parameters & Request sample
Request sample
curl --request GET --url 'https://cloud.lambda.ai/api/v1/file-systems' \
--header 'accept: application/json' \
--header 'Authorization: Bearer <YOUR-API-KEY>'Response
Sample
ResponseStatus: 200 OK
{
"data": [
{
"id": "398578a2336b49079e74043f0bd2cfe8",
"name": "my-filesystem",
"mount_point": "/lambda/nfs/my-filesystem",
"created": "1970-01-01T00:00:00.000Z",
"created_by": {
"id": "3da5a70a57a7422ea8a7203f98b2198b",
"email": "me@example.com",
"status": "active"
},
"is_in_use": false,
"region": {
"name": "string",
"description": "string"
},
"bytes_used": 0
}
]
}Live
Response
Error sending request
List filesystems
Retrieves a list of your filesystems.
Parameters
There are no parameters for this endpoint.
Response:200
- data array of Filesystem required
- Filesystem
Information about a shared filesystem.
- id string required
The unique identifier (ID) of the filesystem.
- name string required
The name of the filesystem.
- mount_point string required
The DEFAULT absolute path indicating where on instances the filesystem will be mounted. If
file_system_mountswere used at launch time, the actual mount point is in the instance response. - created string required
The date and time at which the filesystem was created. Formatted as an ISO 8601 timestamp.
- Format: date-time
- created_by User required
The user in your Team that created the filesystem.
- id string required
The unique identifier for the user.
- email string required
The email address of the user.
- status enum required
The status of the user's account.
- Possible values:
- "active"
- "deactivated"
- Possible values:
- is_in_use boolean required
Whether the filesystem is currently mounted to an instance. Filesystems that are mounted cannot be deleted.
- region Region required
The region in which the filesystem is deployed.
- name string required
The region code.
- description string required
The region description.
- bytes_used integer optional
The approximate amount of storage used by the filesystem in bytes. This estimate is updated every few hours.
Common Error Response Codes
400: Bad Request
- "global/invalid-parameters"
401: Unauthorized
- "global/invalid-api-key"
403: Forbidden
- "global/account-inactive"
404: Not Found
- "global/not-found"
429: Too Many Requests
- "global/rate-limited"
Parameters & Request sample
Request sample
curl --request GET --url 'https://cloud.lambda.ai/api/v1/filesystems' \
--header 'accept: application/json' \
--header 'Authorization: Bearer <YOUR-API-KEY>'Response
Sample
ResponseStatus: 200 OK
{
"data": [
{
"id": "398578a2336b49079e74043f0bd2cfe8",
"name": "my-filesystem",
"mount_point": "/lambda/nfs/my-filesystem",
"created": "1970-01-01T00:00:00.000Z",
"created_by": {
"id": "3da5a70a57a7422ea8a7203f98b2198b",
"email": "me@example.com",
"status": "active"
},
"is_in_use": false,
"region": {
"name": "string",
"description": "string"
},
"bytes_used": 0
}
]
}Live
Response
Error sending request
Create filesystem
Creates a new filesystem.
Body Parameters
- name string required
The name of the filesystem.
- Minimum length: 1
- Maximum length: 60
- Regex pattern:
^[a-zA-Z]+[0-9a-zA-Z-]*$
- region string required
The region in which you want to create the filesystem.
Response:200
- data Filesystem required
Information about a shared filesystem.
- id string required
The unique identifier (ID) of the filesystem.
- name string required
The name of the filesystem.
- mount_point string required
The DEFAULT absolute path indicating where on instances the filesystem will be mounted. If
file_system_mountswere used at launch time, the actual mount point is in the instance response. - created string required
The date and time at which the filesystem was created. Formatted as an ISO 8601 timestamp.
- Format: date-time
- created_by User required
The user in your Team that created the filesystem.
- id string required
The unique identifier for the user.
- email string required
The email address of the user.
- status enum required
The status of the user's account.
- Possible values:
- "active"
- "deactivated"
- Possible values:
- is_in_use boolean required
Whether the filesystem is currently mounted to an instance. Filesystems that are mounted cannot be deleted.
- region Region required
The region in which the filesystem is deployed.
- name string required
The region code.
- description string required
The region description.
- bytes_used integer optional
The approximate amount of storage used by the filesystem in bytes. This estimate is updated every few hours.
Common Error Response Codes
400: Bad Request
- "global/duplicate"
- "global/quota-exceeded"
- "global/invalid-parameters"
401: Unauthorized
- "global/invalid-api-key"
403: Forbidden
- "global/account-inactive"
- "global/invalid-address"
404: Not Found
- "global/not-found"
429: Too Many Requests
- "global/rate-limited"
Parameters & Request sample
Request sample
curl --request POST --url 'https://cloud.lambda.ai/api/v1/filesystems' \
--header 'accept: application/json' \
--header 'Authorization: Bearer <YOUR-API-KEY>' \
--data '{
"name": "my-filesystem",
"region": "us-west-1"
}'Response
Sample
ResponseStatus: 200 OK
{
"data": {
"id": "398578a2336b49079e74043f0bd2cfe8",
"name": "my-filesystem",
"mount_point": "/lambda/nfs/my-filesystem",
"created": "1970-01-01T00:00:00.000Z",
"created_by": {
"id": "3da5a70a57a7422ea8a7203f98b2198b",
"email": "me@example.com",
"status": "active"
},
"is_in_use": false,
"region": {
"name": "string",
"description": "string"
},
"bytes_used": 0
}
}Live
Response
Error sending request
Delete filesystem
Deletes the filesystem with the specified ID. The filesystem must not be mounted to any running instances at the time of deletion.
Path Parameters
- id string required
The unique identifier (ID) of the filesystem to delete
Response:200
- data FilesystemDeleteResponse required
- deleted_ids array of string required
The unique identifiers of the filesystems that were deleted.
- string
Common Error Response Codes
400: Bad Request
- "filesystems/filesystem-in-use"
- "global/invalid-parameters"
401: Unauthorized
- "global/invalid-api-key"
403: Forbidden
- "global/account-inactive"
404: Not Found
- "global/object-does-not-exist"
429: Too Many Requests
- "global/rate-limited"
Parameters & Request sample
Request sample
curl --request DELETE --url 'https://cloud.lambda.ai/api/v1/filesystems/398578a2336b49079e74043f0bd2cfe8' \
--header 'accept: application/json' \
--header 'Authorization: Bearer <YOUR-API-KEY>'Response
Sample
ResponseStatus: 200 OK
{
"data": {
"deleted_ids": [
"398578a2336b49079e74043f0bd2cfe8"
]
}
}Live
Response
Error sending request
List inbound firewall rules
Retrieves a list of your firewall rules.
Note: Firewall rules do not apply to the us-south-1 region.
Parameters
There are no parameters for this endpoint.
Response:200
- data array of FirewallRule required
- FirewallRule
- protocol enum required
The protocol to which the rule applies.
- Possible values:
- "tcp"
- "udp"
- "icmp"
- "all"
- Possible values:
- port_range array of integer optional
An inclusive range of network ports specified as
[min, max]. Not allowed for theicmpprotocol but required for the others.To specify a single port, list it twice (for example,
[22,22]).- Minimum items: 2
- Maximum items: 2
- integer
- Minimum : 1
- Maximum : 65535
- source_network string required
The set of source IPv4 addresses from which you want to allow inbound traffic. These addresses must be specified in CIDR notation. You can specify individual public IPv4 CIDR blocks such as
1.2.3.4or1.2.3.4/32, or you can specify0.0.0.0/0to allow access from any address.This value is a string consisting of a public IPv4 address optionally followed by a slash (/) and an integer mask (the network prefix). If no mask is provided, the API assumes
/32by default.- Format: ipv4network
- description string required
A human-readable description of the rule.
- Minimum length: 0
- Maximum length: 128
Common Error Response Codes
401: Unauthorized
- "global/invalid-api-key"
403: Forbidden
- "global/account-inactive"
404: Not Found
- "global/not-found"
429: Too Many Requests
- "global/rate-limited"
Parameters & Request sample
Request sample
curl --request GET --url 'https://cloud.lambda.ai/api/v1/firewall-rules' \
--header 'accept: application/json' \
--header 'Authorization: Bearer <YOUR-API-KEY>'Response
Sample
ResponseStatus: 200 OK
{
"data": [
{
"protocol": "tcp",
"port_range": [
22,
22
],
"source_network": "0.0.0.0/0",
"description": "Allow SSH from anywhere"
}
]
}Live
Response
Error sending request
Replace inbound firewall rules
Overwrites the inbound firewall rules currently active for your account's instances with the desired rules.
Note: Firewall rules do not apply to the us-south-1 region.
Body Parameters
- data array of FirewallRule required
The list of inbound firewall rules.
- FirewallRule
- protocol enum required
The protocol to which the rule applies.
- Possible values:
- "tcp"
- "udp"
- "icmp"
- "all"
- Possible values:
- port_range array of integer optional
An inclusive range of network ports specified as
[min, max]. Not allowed for theicmpprotocol but required for the others.To specify a single port, list it twice (for example,
[22,22]).- Minimum items: 2
- Maximum items: 2
- integer
- Minimum : 1
- Maximum : 65535
- source_network string required
The set of source IPv4 addresses from which you want to allow inbound traffic. These addresses must be specified in CIDR notation. You can specify individual public IPv4 CIDR blocks such as
1.2.3.4or1.2.3.4/32, or you can specify0.0.0.0/0to allow access from any address.This value is a string consisting of a public IPv4 address optionally followed by a slash (/) and an integer mask (the network prefix). If no mask is provided, the API assumes
/32by default.- Format: ipv4network
- description string required
A human-readable description of the rule.
- Minimum length: 0
- Maximum length: 128
Response:200
- data array of FirewallRule required
- FirewallRule
- protocol enum required
The protocol to which the rule applies.
- Possible values:
- "tcp"
- "udp"
- "icmp"
- "all"
- Possible values:
- port_range array of integer optional
An inclusive range of network ports specified as
[min, max]. Not allowed for theicmpprotocol but required for the others.To specify a single port, list it twice (for example,
[22,22]).- Minimum items: 2
- Maximum items: 2
- integer
- Minimum : 1
- Maximum : 65535
- source_network string required
The set of source IPv4 addresses from which you want to allow inbound traffic. These addresses must be specified in CIDR notation. You can specify individual public IPv4 CIDR blocks such as
1.2.3.4or1.2.3.4/32, or you can specify0.0.0.0/0to allow access from any address.This value is a string consisting of a public IPv4 address optionally followed by a slash (/) and an integer mask (the network prefix). If no mask is provided, the API assumes
/32by default.- Format: ipv4network
- description string required
A human-readable description of the rule.
- Minimum length: 0
- Maximum length: 128
Common Error Response Codes
400: Bad Request
- "global/invalid-parameters"
401: Unauthorized
- "global/invalid-api-key"
403: Forbidden
- "global/account-inactive"
404: Not Found
- "global/not-found"
429: Too Many Requests
- "global/rate-limited"
Parameters & Request sample
Request sample
curl --request PUT --url 'https://cloud.lambda.ai/api/v1/firewall-rules' \
--header 'accept: application/json' \
--header 'Authorization: Bearer <YOUR-API-KEY>' \
--data '{
"data": [
{
"protocol": "tcp",
"port_range": [
22,
22
],
"source_network": "0.0.0.0/0",
"description": "Allow SSH from anywhere"
}
]
}'Response
Sample
ResponseStatus: 200 OK
{
"data": [
{
"protocol": "tcp",
"port_range": [
22,
22
],
"source_network": "0.0.0.0/0",
"description": "Allow SSH from anywhere"
}
]
}Live
Response
Error sending request
List firewall rulesets
Retrieves a list of your firewall rulesets.
Parameters
There are no parameters for this endpoint.
Response:200
- data array of FirewallRuleset required
- FirewallRuleset
A collection of firewall rules that can be associated with instances.
- id string required
The unique identifier of the firewall ruleset.
- name string required
The name of the firewall ruleset.
- region Region required
The region in which the firewall ruleset is deployed.
- name string required
The region code.
- description string required
The region description.
- rules array of FirewallRule required
The list of firewall rules in this ruleset.
- FirewallRule
- protocol enum required
The protocol to which the rule applies.
- Possible values:
- "tcp"
- "udp"
- "icmp"
- "all"
- Possible values:
- port_range array of integer optional
An inclusive range of network ports specified as
[min, max]. Not allowed for theicmpprotocol but required for the others.To specify a single port, list it twice (for example,
[22,22]).- Minimum items: 2
- Maximum items: 2
- integer
- Minimum : 1
- Maximum : 65535
- source_network string required
The set of source IPv4 addresses from which you want to allow inbound traffic. These addresses must be specified in CIDR notation. You can specify individual public IPv4 CIDR blocks such as
1.2.3.4or1.2.3.4/32, or you can specify0.0.0.0/0to allow access from any address.This value is a string consisting of a public IPv4 address optionally followed by a slash (/) and an integer mask (the network prefix). If no mask is provided, the API assumes
/32by default.- Format: ipv4network
- description string required
A human-readable description of the rule.
- Minimum length: 0
- Maximum length: 128
- created string required
The date and time at which the firewall ruleset was created. Formatted as an ISO 8601 timestamp.
- Format: date-time
- instance_ids array of string required
The IDs of instances this firewall ruleset is associated with.
- string
Common Error Response Codes
400: Bad Request
- "global/invalid-parameters"
401: Unauthorized
- "global/invalid-api-key"
403: Forbidden
- "global/account-inactive"
404: Not Found
- "global/not-found"
429: Too Many Requests
- "global/rate-limited"
Parameters & Request sample
Request sample
curl --request GET --url 'https://cloud.lambda.ai/api/v1/firewall-rulesets' \
--header 'accept: application/json' \
--header 'Authorization: Bearer <YOUR-API-KEY>'Response
Sample
ResponseStatus: 200 OK
{
"data": [
{
"id": "c4d291f47f9d436fa39f58493ce3b50d",
"name": "My Firewall Ruleset",
"region": {
"name": "string",
"description": "string"
},
"rules": [
{
"protocol": "tcp",
"port_range": [
22,
22
],
"source_network": "0.0.0.0/0",
"description": "Allow SSH from anywhere"
}
],
"created": "1970-01-01T00:00:00.000Z",
"instance_ids": [
"string"
]
}
]
}Live
Response
Error sending request
Create firewall ruleset
Creates a new firewall ruleset with the specified name and rules.
Body Parameters
- name string required
The name of the firewall ruleset.
- Maximum length: 64
- region string required
The region in which the firewall ruleset is deployed.
- rules array of FirewallRule required
The firewall rules to include in the ruleset.
- FirewallRule
- protocol enum required
The protocol to which the rule applies.
- Possible values:
- "tcp"
- "udp"
- "icmp"
- "all"
- Possible values:
- port_range array of integer optional
An inclusive range of network ports specified as
[min, max]. Not allowed for theicmpprotocol but required for the others.To specify a single port, list it twice (for example,
[22,22]).- Minimum items: 2
- Maximum items: 2
- integer
- Minimum : 1
- Maximum : 65535
- source_network string required
The set of source IPv4 addresses from which you want to allow inbound traffic. These addresses must be specified in CIDR notation. You can specify individual public IPv4 CIDR blocks such as
1.2.3.4or1.2.3.4/32, or you can specify0.0.0.0/0to allow access from any address.This value is a string consisting of a public IPv4 address optionally followed by a slash (/) and an integer mask (the network prefix). If no mask is provided, the API assumes
/32by default.- Format: ipv4network
- description string required
A human-readable description of the rule.
- Minimum length: 0
- Maximum length: 128
Response:200
- data FirewallRuleset required
A collection of firewall rules that can be associated with instances.
- id string required
The unique identifier of the firewall ruleset.
- name string required
The name of the firewall ruleset.
- region Region required
The region in which the firewall ruleset is deployed.
- name string required
The region code.
- description string required
The region description.
- rules array of FirewallRule required
The list of firewall rules in this ruleset.
- FirewallRule
- protocol enum required
The protocol to which the rule applies.
- Possible values:
- "tcp"
- "udp"
- "icmp"
- "all"
- Possible values:
- port_range array of integer optional
An inclusive range of network ports specified as
[min, max]. Not allowed for theicmpprotocol but required for the others.To specify a single port, list it twice (for example,
[22,22]).- Minimum items: 2
- Maximum items: 2
- integer
- Minimum : 1
- Maximum : 65535
- source_network string required
The set of source IPv4 addresses from which you want to allow inbound traffic. These addresses must be specified in CIDR notation. You can specify individual public IPv4 CIDR blocks such as
1.2.3.4or1.2.3.4/32, or you can specify0.0.0.0/0to allow access from any address.This value is a string consisting of a public IPv4 address optionally followed by a slash (/) and an integer mask (the network prefix). If no mask is provided, the API assumes
/32by default.- Format: ipv4network
- description string required
A human-readable description of the rule.
- Minimum length: 0
- Maximum length: 128
- created string required
The date and time at which the firewall ruleset was created. Formatted as an ISO 8601 timestamp.
- Format: date-time
- instance_ids array of string required
The IDs of instances this firewall ruleset is associated with.
- string
Common Error Response Codes
400: Bad Request
- "global/quota-exceeded"
- "global/invalid-parameters"
401: Unauthorized
- "global/invalid-api-key"
403: Forbidden
- "global/account-inactive"
404: Not Found
- "global/not-found"
409: Conflict
- "global/internal-error"
429: Too Many Requests
- "global/rate-limited"
Parameters & Request sample
Request sample
curl --request POST --url 'https://cloud.lambda.ai/api/v1/firewall-rulesets' \
--header 'accept: application/json' \
--header 'Authorization: Bearer <YOUR-API-KEY>' \
--data '{
"name": "My Firewall Ruleset",
"region": "string",
"rules": [
{
"protocol": "tcp",
"port_range": [
22,
22
],
"source_network": "0.0.0.0/0",
"description": "Allow SSH from anywhere"
}
]
}'Response
Sample
ResponseStatus: 200 OK
{
"data": {
"id": "c4d291f47f9d436fa39f58493ce3b50d",
"name": "My Firewall Ruleset",
"region": {
"name": "string",
"description": "string"
},
"rules": [
{
"protocol": "tcp",
"port_range": [
22,
22
],
"source_network": "0.0.0.0/0",
"description": "Allow SSH from anywhere"
}
],
"created": "1970-01-01T00:00:00.000Z",
"instance_ids": [
"string"
]
}
}Live
Response
Error sending request
Retrieve global firewall ruleset details
Retrieves the details of the global firewall ruleset.
Parameters
There are no parameters for this endpoint.
Response:200
- data GlobalFirewallRuleset required
Firewall rules that apply across all regions.
- id string required
The unique identifier of the firewall ruleset.
- Const:
"global"
- Const:
- name string required
The name of the firewall ruleset.
- rules array of FirewallRule required
The list of firewall rules in this ruleset.
- FirewallRule
- protocol enum required
The protocol to which the rule applies.
- Possible values:
- "tcp"
- "udp"
- "icmp"
- "all"
- Possible values:
- port_range array of integer optional
An inclusive range of network ports specified as
[min, max]. Not allowed for theicmpprotocol but required for the others.To specify a single port, list it twice (for example,
[22,22]).- Minimum items: 2
- Maximum items: 2
- integer
- Minimum : 1
- Maximum : 65535
- source_network string required
The set of source IPv4 addresses from which you want to allow inbound traffic. These addresses must be specified in CIDR notation. You can specify individual public IPv4 CIDR blocks such as
1.2.3.4or1.2.3.4/32, or you can specify0.0.0.0/0to allow access from any address.This value is a string consisting of a public IPv4 address optionally followed by a slash (/) and an integer mask (the network prefix). If no mask is provided, the API assumes
/32by default.- Format: ipv4network
- description string required
A human-readable description of the rule.
- Minimum length: 0
- Maximum length: 128
Common Error Response Codes
400: Bad Request
- "global/invalid-parameters"
401: Unauthorized
- "global/invalid-api-key"
403: Forbidden
- "global/account-inactive"
404: Not Found
- "global/not-found"
429: Too Many Requests
- "global/rate-limited"
Parameters & Request sample
Request sample
curl --request GET --url 'https://cloud.lambda.ai/api/v1/firewall-rulesets/global' \
--header 'accept: application/json' \
--header 'Authorization: Bearer <YOUR-API-KEY>'Response
Sample
ResponseStatus: 200 OK
{
"data": {
"id": "global",
"name": "Default Workspace Global Rules",
"rules": [
{
"protocol": "tcp",
"port_range": [
22,
22
],
"source_network": "0.0.0.0/0",
"description": "Allow SSH from anywhere"
}
]
}
}Live
Response
Error sending request
Update global firewall ruleset
Updates the global firewall ruleset. This allows updating the rules only.
Body Parameters
- rules array of FirewallRule optional
The new firewall rules for the ruleset. If not provided, the rules will not be updated.
- FirewallRule
- protocol enum required
The protocol to which the rule applies.
- Possible values:
- "tcp"
- "udp"
- "icmp"
- "all"
- Possible values:
- port_range array of integer optional
An inclusive range of network ports specified as
[min, max]. Not allowed for theicmpprotocol but required for the others.To specify a single port, list it twice (for example,
[22,22]).- Minimum items: 2
- Maximum items: 2
- integer
- Minimum : 1
- Maximum : 65535
- source_network string required
The set of source IPv4 addresses from which you want to allow inbound traffic. These addresses must be specified in CIDR notation. You can specify individual public IPv4 CIDR blocks such as
1.2.3.4or1.2.3.4/32, or you can specify0.0.0.0/0to allow access from any address.This value is a string consisting of a public IPv4 address optionally followed by a slash (/) and an integer mask (the network prefix). If no mask is provided, the API assumes
/32by default.- Format: ipv4network
- description string required
A human-readable description of the rule.
- Minimum length: 0
- Maximum length: 128
Response:200
- data GlobalFirewallRuleset required
Firewall rules that apply across all regions.
- id string required
The unique identifier of the firewall ruleset.
- Const:
"global"
- Const:
- name string required
The name of the firewall ruleset.
- rules array of FirewallRule required
The list of firewall rules in this ruleset.
- FirewallRule
- protocol enum required
The protocol to which the rule applies.
- Possible values:
- "tcp"
- "udp"
- "icmp"
- "all"
- Possible values:
- port_range array of integer optional
An inclusive range of network ports specified as
[min, max]. Not allowed for theicmpprotocol but required for the others.To specify a single port, list it twice (for example,
[22,22]).- Minimum items: 2
- Maximum items: 2
- integer
- Minimum : 1
- Maximum : 65535
- source_network string required
The set of source IPv4 addresses from which you want to allow inbound traffic. These addresses must be specified in CIDR notation. You can specify individual public IPv4 CIDR blocks such as
1.2.3.4or1.2.3.4/32, or you can specify0.0.0.0/0to allow access from any address.This value is a string consisting of a public IPv4 address optionally followed by a slash (/) and an integer mask (the network prefix). If no mask is provided, the API assumes
/32by default.- Format: ipv4network
- description string required
A human-readable description of the rule.
- Minimum length: 0
- Maximum length: 128
Common Error Response Codes
400: Bad Request
- "global/invalid-parameters"
401: Unauthorized
- "global/invalid-api-key"
403: Forbidden
- "global/account-inactive"
404: Not Found
- "global/not-found"
409: Conflict
- "global/internal-error"
429: Too Many Requests
- "global/rate-limited"
Parameters & Request sample
Request sample
curl --request PATCH --url 'https://cloud.lambda.ai/api/v1/firewall-rulesets/global' \
--header 'accept: application/json' \
--header 'Authorization: Bearer <YOUR-API-KEY>' \
--data '{
"rules": [
{
"protocol": "tcp",
"port_range": [
22,
22
],
"source_network": "0.0.0.0/0",
"description": "Allow SSH from anywhere"
}
]
}'Response
Sample
ResponseStatus: 200 OK
{
"data": {
"id": "global",
"name": "Default Workspace Global Rules",
"rules": [
{
"protocol": "tcp",
"port_range": [
22,
22
],
"source_network": "0.0.0.0/0",
"description": "Allow SSH from anywhere"
}
]
}
}Live
Response
Error sending request
Retrieve firewall ruleset details
Retrieves the details of a specific firewall ruleset.
Path Parameters
- id string required
The unique identifier (ID) of the firewall ruleset
Response:200
- data FirewallRuleset required
A collection of firewall rules that can be associated with instances.
- id string required
The unique identifier of the firewall ruleset.
- name string required
The name of the firewall ruleset.
- region Region required
The region in which the firewall ruleset is deployed.
- name string required
The region code.
- description string required
The region description.
- rules array of FirewallRule required
The list of firewall rules in this ruleset.
- FirewallRule
- protocol enum required
The protocol to which the rule applies.
- Possible values:
- "tcp"
- "udp"
- "icmp"
- "all"
- Possible values:
- port_range array of integer optional
An inclusive range of network ports specified as
[min, max]. Not allowed for theicmpprotocol but required for the others.To specify a single port, list it twice (for example,
[22,22]).- Minimum items: 2
- Maximum items: 2
- integer
- Minimum : 1
- Maximum : 65535
- source_network string required
The set of source IPv4 addresses from which you want to allow inbound traffic. These addresses must be specified in CIDR notation. You can specify individual public IPv4 CIDR blocks such as
1.2.3.4or1.2.3.4/32, or you can specify0.0.0.0/0to allow access from any address.This value is a string consisting of a public IPv4 address optionally followed by a slash (/) and an integer mask (the network prefix). If no mask is provided, the API assumes
/32by default.- Format: ipv4network
- description string required
A human-readable description of the rule.
- Minimum length: 0
- Maximum length: 128
- created string required
The date and time at which the firewall ruleset was created. Formatted as an ISO 8601 timestamp.
- Format: date-time
- instance_ids array of string required
The IDs of instances this firewall ruleset is associated with.
- string
Common Error Response Codes
400: Bad Request
- "global/invalid-parameters"
401: Unauthorized
- "global/invalid-api-key"
403: Forbidden
- "global/account-inactive"
404: Not Found
- "global/object-does-not-exist"
429: Too Many Requests
- "global/rate-limited"
Parameters & Request sample
Request sample
curl --request GET --url 'https://cloud.lambda.ai/api/v1/firewall-rulesets/c4d291f47f9d436fa39f58493ce3b50d' \
--header 'accept: application/json' \
--header 'Authorization: Bearer <YOUR-API-KEY>'Response
Sample
ResponseStatus: 200 OK
{
"data": {
"id": "c4d291f47f9d436fa39f58493ce3b50d",
"name": "My Firewall Ruleset",
"region": {
"name": "string",
"description": "string"
},
"rules": [
{
"protocol": "tcp",
"port_range": [
22,
22
],
"source_network": "0.0.0.0/0",
"description": "Allow SSH from anywhere"
}
],
"created": "1970-01-01T00:00:00.000Z",
"instance_ids": [
"string"
]
}
}Live
Response
Error sending request
Update firewall ruleset
Updates a firewall ruleset. This is a partial update that allows updating either the name, rules, or both.
Path Parameters
- id string required
The unique identifier (ID) of the firewall ruleset
Body Parameters
- name string optional
The new name for the firewall ruleset. If not provided, the name will not be updated.
- Maximum length: 64
- rules array of FirewallRule optional
The new firewall rules for the ruleset. If not provided, the rules will not be updated.
- FirewallRule
- protocol enum required
The protocol to which the rule applies.
- Possible values:
- "tcp"
- "udp"
- "icmp"
- "all"
- Possible values:
- port_range array of integer optional
An inclusive range of network ports specified as
[min, max]. Not allowed for theicmpprotocol but required for the others.To specify a single port, list it twice (for example,
[22,22]).- Minimum items: 2
- Maximum items: 2
- integer
- Minimum : 1
- Maximum : 65535
- source_network string required
The set of source IPv4 addresses from which you want to allow inbound traffic. These addresses must be specified in CIDR notation. You can specify individual public IPv4 CIDR blocks such as
1.2.3.4or1.2.3.4/32, or you can specify0.0.0.0/0to allow access from any address.This value is a string consisting of a public IPv4 address optionally followed by a slash (/) and an integer mask (the network prefix). If no mask is provided, the API assumes
/32by default.- Format: ipv4network
- description string required
A human-readable description of the rule.
- Minimum length: 0
- Maximum length: 128
Response:200
- data FirewallRuleset required
A collection of firewall rules that can be associated with instances.
- id string required
The unique identifier of the firewall ruleset.
- name string required
The name of the firewall ruleset.
- region Region required
The region in which the firewall ruleset is deployed.
- name string required
The region code.
- description string required
The region description.
- rules array of FirewallRule required
The list of firewall rules in this ruleset.
- FirewallRule
- protocol enum required
The protocol to which the rule applies.
- Possible values:
- "tcp"
- "udp"
- "icmp"
- "all"
- Possible values:
- port_range array of integer optional
An inclusive range of network ports specified as
[min, max]. Not allowed for theicmpprotocol but required for the others.To specify a single port, list it twice (for example,
[22,22]).- Minimum items: 2
- Maximum items: 2
- integer
- Minimum : 1
- Maximum : 65535
- source_network string required
The set of source IPv4 addresses from which you want to allow inbound traffic. These addresses must be specified in CIDR notation. You can specify individual public IPv4 CIDR blocks such as
1.2.3.4or1.2.3.4/32, or you can specify0.0.0.0/0to allow access from any address.This value is a string consisting of a public IPv4 address optionally followed by a slash (/) and an integer mask (the network prefix). If no mask is provided, the API assumes
/32by default.- Format: ipv4network
- description string required
A human-readable description of the rule.
- Minimum length: 0
- Maximum length: 128
- created string required
The date and time at which the firewall ruleset was created. Formatted as an ISO 8601 timestamp.
- Format: date-time
- instance_ids array of string required
The IDs of instances this firewall ruleset is associated with.
- string
Common Error Response Codes
400: Bad Request
- "global/invalid-parameters"
401: Unauthorized
- "global/invalid-api-key"
403: Forbidden
- "global/account-inactive"
404: Not Found
- "global/object-does-not-exist"
409: Conflict
- "global/internal-error"
429: Too Many Requests
- "global/rate-limited"
Parameters & Request sample
Request sample
curl --request PATCH --url 'https://cloud.lambda.ai/api/v1/firewall-rulesets/c4d291f47f9d436fa39f58493ce3b50d' \
--header 'accept: application/json' \
--header 'Authorization: Bearer <YOUR-API-KEY>' \
--data '{
"name": "My Updated Firewall Ruleset",
"rules": [
{
"protocol": "tcp",
"port_range": [
22,
22
],
"source_network": "0.0.0.0/0",
"description": "Allow SSH from anywhere"
}
]
}'Response
Sample
ResponseStatus: 200 OK
{
"data": {
"id": "c4d291f47f9d436fa39f58493ce3b50d",
"name": "My Firewall Ruleset",
"region": {
"name": "string",
"description": "string"
},
"rules": [
{
"protocol": "tcp",
"port_range": [
22,
22
],
"source_network": "0.0.0.0/0",
"description": "Allow SSH from anywhere"
}
],
"created": "1970-01-01T00:00:00.000Z",
"instance_ids": [
"string"
]
}
}Live
Response
Error sending request
Delete firewall ruleset
Deletes the firewall ruleset with the specified ID.
Path Parameters
- id string required
The unique identifier (ID) of the firewall ruleset
Response:200
- data EmptyResponse required
Common Error Response Codes
400: Bad Request
- "firewall-rulesets/firewall-ruleset-in-use"
- "global/invalid-parameters"
401: Unauthorized
- "global/invalid-api-key"
403: Forbidden
- "global/account-inactive"
404: Not Found
- "global/object-does-not-exist"
409: Conflict
- "global/internal-error"
429: Too Many Requests
- "global/rate-limited"
Parameters & Request sample
Request sample
curl --request DELETE --url 'https://cloud.lambda.ai/api/v1/firewall-rulesets/c4d291f47f9d436fa39f58493ce3b50d' \
--header 'accept: application/json' \
--header 'Authorization: Bearer <YOUR-API-KEY>'Response
Sample
ResponseStatus: 200 OK
{
"data": {}
}Live
Response
Error sending request
Groups
Groups of identities, their memberships, and the roles and workspaces assigned to them.
List groups
Lists all groups in the account.
Query Parameters
- page_size integer optional
Maximum number of results per page. Can be between 1 and 100. The default is 50.
- page_token string optional
A page token for cursor-based pagination.
Response:200
- data array of Group required
- Group
- id string required
The unique identifier (ID) of the group.
- account_id string required
The ID of the account that the group belongs to.
- name string required
The name of the group.
- description (string | null) required
The description of the group.
Any of
- string
- null
- page_token (string | null) required
Provide this token in your next request to retrieve the next page of results. If there are no additional pages, this field has a null value.
Any of
- string
- null
Common Error Response Codes
400: Bad Request
- "global/invalid-parameters"
401: Unauthorized
- "global/invalid-api-key"
403: Forbidden
- "global/account-inactive"
404: Not Found
- "global/not-found"
429: Too Many Requests
- "global/rate-limited"
Parameters & Request sample
Request sample
curl --request GET --url 'https://cloud.lambda.ai/api/v1/groups' \
--header 'accept: application/json' \
--header 'Authorization: Bearer <YOUR-API-KEY>'Response
Sample
ResponseStatus: 200 OK
{
"data": [
{
"id": "ddaedf1b7a0e41ac981711504493b242",
"account_id": "ddaedf1b7a0e41ac981711504493b242",
"name": "string",
"description": "string"
}
],
"page_token": "eyJuZXh0IjoxNzA0MTk2ODAwfQ=="
}Live
Response
Error sending request
Create a new group
Creates a new group.
Body Parameters
- name string required
The name of the group.
- description (string | null) optional
The description of the group.
Any of
- string
- null
Response:200
- data Group required
- id string required
The unique identifier (ID) of the group.
- account_id string required
The ID of the account that the group belongs to.
- name string required
The name of the group.
- description (string | null) required
The description of the group.
Any of
- string
- null
Common Error Response Codes
400: Bad Request
- "global/invalid-parameters"
401: Unauthorized
- "global/invalid-api-key"
403: Forbidden
- "global/account-inactive"
404: Not Found
- "global/not-found"
429: Too Many Requests
- "global/rate-limited"
Parameters & Request sample
Request sample
curl --request POST --url 'https://cloud.lambda.ai/api/v1/groups' \
--header 'accept: application/json' \
--header 'Authorization: Bearer <YOUR-API-KEY>' \
--data '{
"name": "string",
"description": "string"
}'Response
Sample
ResponseStatus: 200 OK
{
"data": {
"id": "ddaedf1b7a0e41ac981711504493b242",
"account_id": "ddaedf1b7a0e41ac981711504493b242",
"name": "string",
"description": "string"
}
}Live
Response
Error sending request
Retrieve a group's details
Retrieves details for the specified group.
Path Parameters
- group_id string required
The unique identifier (ID) of the group.
Response:200
- data Group required
- id string required
The unique identifier (ID) of the group.
- account_id string required
The ID of the account that the group belongs to.
- name string required
The name of the group.
- description (string | null) required
The description of the group.
Any of
- string
- null
Common Error Response Codes
400: Bad Request
- "global/invalid-parameters"
401: Unauthorized
- "global/invalid-api-key"
403: Forbidden
- "global/account-inactive"
404: Not Found
- "global/not-found"
429: Too Many Requests
- "global/rate-limited"
Parameters & Request sample
Request sample
curl --request GET --url 'https://cloud.lambda.ai/api/v1/groups/7bd64c8f8a89497384b4deb454fc4293' \
--header 'accept: application/json' \
--header 'Authorization: Bearer <YOUR-API-KEY>'Response
Sample
ResponseStatus: 200 OK
{
"data": {
"id": "ddaedf1b7a0e41ac981711504493b242",
"account_id": "ddaedf1b7a0e41ac981711504493b242",
"name": "string",
"description": "string"
}
}Live
Response
Error sending request
Update a group's details
Updates details for the specified group.
Path Parameters
- group_id string required
The unique identifier (ID) of the group.
Body Parameters
- name string optional
The name of the group.
- description (string | null) optional
The description of the group.
Any of
- string
- null
Response:200
- data Group required
- id string required
The unique identifier (ID) of the group.
- account_id string required
The ID of the account that the group belongs to.
- name string required
The name of the group.
- description (string | null) required
The description of the group.
Any of
- string
- null
Common Error Response Codes
400: Bad Request
- "global/invalid-parameters"
401: Unauthorized
- "global/invalid-api-key"
403: Forbidden
- "global/account-inactive"
404: Not Found
- "global/not-found"
429: Too Many Requests
- "global/rate-limited"
Parameters & Request sample
Request sample
curl --request PATCH --url 'https://cloud.lambda.ai/api/v1/groups/7bd64c8f8a89497384b4deb454fc4293' \
--header 'accept: application/json' \
--header 'Authorization: Bearer <YOUR-API-KEY>' \
--data '{
"name": "string",
"description": "string"
}'Response
Sample
ResponseStatus: 200 OK
{
"data": {
"id": "ddaedf1b7a0e41ac981711504493b242",
"account_id": "ddaedf1b7a0e41ac981711504493b242",
"name": "string",
"description": "string"
}
}Live
Response
Error sending request
Delete a group
Deletes the specified group.
Path Parameters
- group_id string required
The unique identifier (ID) of the group.
Response:200
- data EmptyResponse required
Common Error Response Codes
400: Bad Request
- "global/invalid-parameters"
401: Unauthorized
- "global/invalid-api-key"
403: Forbidden
- "global/account-inactive"
404: Not Found
- "global/not-found"
429: Too Many Requests
- "global/rate-limited"
Parameters & Request sample
Request sample
curl --request DELETE --url 'https://cloud.lambda.ai/api/v1/groups/7bd64c8f8a89497384b4deb454fc4293' \
--header 'accept: application/json' \
--header 'Authorization: Bearer <YOUR-API-KEY>'Response
Sample
ResponseStatus: 200 OK
{
"data": {}
}Live
Response
Error sending request
List the members of a group
Lists the members of the specified group.
Path Parameters
- group_id string required
The unique identifier (ID) of the group.
Query Parameters
- page_size integer optional
Maximum number of results per page. Can be between 1 and 100. The default is 50.
- page_token string optional
A page token for cursor-based pagination.
- search string optional
Case-insensitive substring filter on the member's name or email.
- Maximum length: 128
- identity_type enum optional
Filter memberships by the member's identity type. If omitted, all members are returned.
- Possible values:
- "user"
- "service"
- Possible values:
Response:200
- data array of GroupMembership required
- GroupMembership
- id string required
The unique identifier (ID) of the group membership.
- group_id string required
The unique identifier (ID) of the group.
- member_id string required
The unique identifier (ID) of the identity that is a member of the group.
- member_type string required
The member's type.
- Const:
"identity"
- Const:
- page_token (string | null) required
Provide this token in your next request to retrieve the next page of results. If there are no additional pages, this field has a null value.
Any of
- string
- null
Common Error Response Codes
400: Bad Request
- "global/invalid-parameters"
401: Unauthorized
- "global/invalid-api-key"
403: Forbidden
- "global/account-inactive"
404: Not Found
- "global/not-found"
429: Too Many Requests
- "global/rate-limited"
Parameters & Request sample
Request sample
curl --request GET --url 'https://cloud.lambda.ai/api/v1/groups/7bd64c8f8a89497384b4deb454fc4293/memberships' \
--header 'accept: application/json' \
--header 'Authorization: Bearer <YOUR-API-KEY>'Response
Sample
ResponseStatus: 200 OK
{
"data": [
{
"id": "ddaedf1b7a0e41ac981711504493b242",
"group_id": "ddaedf1b7a0e41ac981711504493b242",
"member_id": "ddaedf1b7a0e41ac981711504493b242",
"member_type": "identity"
}
],
"page_token": "eyJuZXh0IjoxNzA0MTk2ODAwfQ=="
}Live
Response
Error sending request
Add a member to a group
Adds the specified identity to the specified group.
Path Parameters
- group_id string required
The unique identifier (ID) of the group.
Body Parameters
- member_id string required
The unique identifier (ID) of the identity to add to the group.
- member_type string optional
The member's type.
- Const:
"identity"
- Const:
Response:200
- data GroupMembership required
- id string required
The unique identifier (ID) of the group membership.
- group_id string required
The unique identifier (ID) of the group.
- member_id string required
The unique identifier (ID) of the identity that is a member of the group.
- member_type string required
The member's type.
- Const:
"identity"
- Const:
Common Error Response Codes
400: Bad Request
- "global/invalid-parameters"
401: Unauthorized
- "global/invalid-api-key"
403: Forbidden
- "global/account-inactive"
- "global/forbidden"
404: Not Found
- "global/not-found"
429: Too Many Requests
- "global/rate-limited"
Parameters & Request sample
Request sample
curl --request POST --url 'https://cloud.lambda.ai/api/v1/groups/7bd64c8f8a89497384b4deb454fc4293/memberships' \
--header 'accept: application/json' \
--header 'Authorization: Bearer <YOUR-API-KEY>' \
--data '{
"member_id": "ddaedf1b7a0e41ac981711504493b242",
"member_type": "identity"
}'Response
Sample
ResponseStatus: 200 OK
{
"data": {
"id": "ddaedf1b7a0e41ac981711504493b242",
"group_id": "ddaedf1b7a0e41ac981711504493b242",
"member_id": "ddaedf1b7a0e41ac981711504493b242",
"member_type": "identity"
}
}Live
Response
Error sending request
Retrieve a member's details
Retrieves a group member's membership details.
Path Parameters
- group_id string required
The unique identifier (ID) of the group.
- membership_id string required
The unique identifier (ID) of the group membership.
Response:200
- data GroupMembership required
- id string required
The unique identifier (ID) of the group membership.
- group_id string required
The unique identifier (ID) of the group.
- member_id string required
The unique identifier (ID) of the identity that is a member of the group.
- member_type string required
The member's type.
- Const:
"identity"
- Const:
Common Error Response Codes
400: Bad Request
- "global/invalid-parameters"
401: Unauthorized
- "global/invalid-api-key"
403: Forbidden
- "global/account-inactive"
404: Not Found
- "global/not-found"
429: Too Many Requests
- "global/rate-limited"
Parameters & Request sample
Request sample
curl --request GET --url 'https://cloud.lambda.ai/api/v1/groups/7bd64c8f8a89497384b4deb454fc4293/memberships/8ce75d9f9b9a508495c5fec565fd5304' \
--header 'accept: application/json' \
--header 'Authorization: Bearer <YOUR-API-KEY>'Response
Sample
ResponseStatus: 200 OK
{
"data": {
"id": "ddaedf1b7a0e41ac981711504493b242",
"group_id": "ddaedf1b7a0e41ac981711504493b242",
"member_id": "ddaedf1b7a0e41ac981711504493b242",
"member_type": "identity"
}
}Live
Response
Error sending request
Remove a member from a group
Revokes an identity's membership in the specified group.
Path Parameters
- group_id string required
The unique identifier (ID) of the group.
- membership_id string required
The unique identifier (ID) of the group membership.
Response:200
- data EmptyResponse required
Common Error Response Codes
400: Bad Request
- "global/invalid-parameters"
401: Unauthorized
- "global/invalid-api-key"
403: Forbidden
- "global/account-inactive"
- "global/forbidden"
404: Not Found
- "global/not-found"
429: Too Many Requests
- "global/rate-limited"
Parameters & Request sample
Request sample
curl --request DELETE --url 'https://cloud.lambda.ai/api/v1/groups/7bd64c8f8a89497384b4deb454fc4293/memberships/8ce75d9f9b9a508495c5fec565fd5304' \
--header 'accept: application/json' \
--header 'Authorization: Bearer <YOUR-API-KEY>'Response
Sample
ResponseStatus: 200 OK
{
"data": {}
}Live
Response
Error sending request
List a group's role assignments
Lists all roles assigned to the specified group.
Path Parameters
- group_id string required
The unique identifier (ID) of the group.
Query Parameters
- page_size integer optional
Maximum number of results per page. Can be between 1 and 100. The default is 50.
- page_token string optional
A page token for cursor-based pagination.
- scope enum optional
The role scope to filter the results by. If omitted, all role scopes are returned.
- Possible values:
- "account"
- "workspace"
- Possible values:
- workspace_id string optional
The workspace to filter the results by. Required if
scopeis set toworkspace.
Response:200
- data array of RoleBackedRoleAssignment required
- RoleBackedRoleAssignment
A role assignment that grants a role.
- id string required
The unique identifier (ID) of the role assignment.
- scope (AccountRoleScope | WorkspaceRoleScope) required
The scope at which the assignment applies.
Any of
- AccountRoleScope
- type string required
Account-wide scope.
- Const:
"account"
- Const:
- WorkspaceRoleScope
- type string required
Workspace scope.
- Const:
"workspace"
- Const:
- workspace_id string required
The workspace the assignment applies to.
- source RoleAssignmentSource optional
The source of the role assignment. Appears only when the role assignment is inherited from a group.
- via_group_id string required
The group whose membership grants this inherited assignment.
- role_assignment_type string required
The role assignment's type.
- Const:
"role"
- Const:
- role_id string required
The unique identifier (ID) of the role.
- role_name string required
The name of the role.
- page_token (string | null) required
Provide this token in your next request to retrieve the next page of results. If there are no additional pages, this field has a null value.
Any of
- string
- null
Common Error Response Codes
400: Bad Request
- "global/invalid-parameters"
401: Unauthorized
- "global/invalid-api-key"
403: Forbidden
- "global/account-inactive"
404: Not Found
- "global/not-found"
429: Too Many Requests
- "global/rate-limited"
Parameters & Request sample
Request sample
curl --request GET --url 'https://cloud.lambda.ai/api/v1/groups/7bd64c8f8a89497384b4deb454fc4293/role-assignments' \
--header 'accept: application/json' \
--header 'Authorization: Bearer <YOUR-API-KEY>'Response
Sample
ResponseStatus: 200 OK
{
"data": [
{
"id": "ddaedf1b7a0e41ac981711504493b242",
"scope": {
"type": "account"
},
"source": {
"via_group_id": "ddaedf1b7a0e41ac981711504493b242"
},
"role_assignment_type": "role",
"role_id": "ddaedf1b7a0e41ac981711504493b242",
"role_name": "string"
}
],
"page_token": "eyJuZXh0IjoxNzA0MTk2ODAwfQ=="
}Live
Response
Error sending request
Assign a role to a group
Assigns the specified role to the specified group.
Path Parameters
- group_id string required
The unique identifier (ID) of the group.
Body Parameters
- role_assignment_type string optional
The type of role assignment to create. Defaults to
role.- Const:
"role"
- Const:
- role_id string required
The unique identifier (ID) of the role.
- scope (AccountRoleScope | WorkspaceRoleScope) required
The scope at which to assign the role.
Any of
- AccountRoleScope
- type string required
Account-wide scope.
- Const:
"account"
- Const:
- WorkspaceRoleScope
- type string required
Workspace scope.
- Const:
"workspace"
- Const:
- workspace_id string required
The workspace the assignment applies to.
Response:200
- data RoleBackedRoleAssignment required
A role assignment that grants a role.
- id string required
The unique identifier (ID) of the role assignment.
- scope (AccountRoleScope | WorkspaceRoleScope) required
The scope at which the assignment applies.
Any of
- AccountRoleScope
- type string required
Account-wide scope.
- Const:
"account"
- Const:
- WorkspaceRoleScope
- type string required
Workspace scope.
- Const:
"workspace"
- Const:
- workspace_id string required
The workspace the assignment applies to.
- source RoleAssignmentSource optional
The source of the role assignment. Appears only when the role assignment is inherited from a group.
- via_group_id string required
The group whose membership grants this inherited assignment.
- role_assignment_type string required
The role assignment's type.
- Const:
"role"
- Const:
- role_id string required
The unique identifier (ID) of the role.
- role_name string required
The name of the role.
Common Error Response Codes
400: Bad Request
- "global/invalid-parameters"
401: Unauthorized
- "global/invalid-api-key"
403: Forbidden
- "global/account-inactive"
404: Not Found
- "global/not-found"
429: Too Many Requests
- "global/rate-limited"
Parameters & Request sample
Request sample
curl --request POST --url 'https://cloud.lambda.ai/api/v1/groups/7bd64c8f8a89497384b4deb454fc4293/role-assignments' \
--header 'accept: application/json' \
--header 'Authorization: Bearer <YOUR-API-KEY>' \
--data '{
"role_assignment_type": "role",
"role_id": "ddaedf1b7a0e41ac981711504493b242",
"scope": {
"type": "account"
}
}'Response
Sample
ResponseStatus: 200 OK
{
"data": {
"id": "ddaedf1b7a0e41ac981711504493b242",
"scope": {
"type": "account"
},
"source": {
"via_group_id": "ddaedf1b7a0e41ac981711504493b242"
},
"role_assignment_type": "role",
"role_id": "ddaedf1b7a0e41ac981711504493b242",
"role_name": "string"
}
}Live
Response
Error sending request
Unassign a role from a group
Revokes the specified role assignment from the specified group.
Path Parameters
- group_id string required
The unique identifier (ID) of the group.
- assignment_id string required
The unique identifier (ID) of the role assignment.
Response:200
- data EmptyResponse required
Common Error Response Codes
400: Bad Request
- "global/invalid-parameters"
401: Unauthorized
- "global/invalid-api-key"
403: Forbidden
- "global/account-inactive"
404: Not Found
- "global/not-found"
429: Too Many Requests
- "global/rate-limited"
Parameters & Request sample
Request sample
curl --request DELETE --url 'https://cloud.lambda.ai/api/v1/groups/7bd64c8f8a89497384b4deb454fc4293/role-assignments/9f6e4b2a7c1d3f8e05124a9b6c3d8e01' \
--header 'accept: application/json' \
--header 'Authorization: Bearer <YOUR-API-KEY>'Response
Sample
ResponseStatus: 200 OK
{
"data": {}
}Live
Response
Error sending request
List a group's workspaces
Lists the workspaces the specified group can access.
Path Parameters
- group_id string required
The unique identifier (ID) of the group.
Query Parameters
- page_size integer optional
Maximum number of results per page. Can be between 1 and 100. The default is 50.
- page_token string optional
A page token for cursor-based pagination.
Response:200
- data array of Workspace required
- Workspace
A workspace provides logical isolation for resources within an account.
- id string required
The unique identifier (ID) of the workspace.
- name string required
The name of the workspace.
- account_id string required
The unique identifier of the account that owns this workspace.
- created string required
The date and time at which the workspace was created. Formatted as an ISO 8601 timestamp.
- Format: date-time
- is_default boolean required
Whether this is the default workspace for the account.
- page_token (string | null) required
Provide this token in your next request to retrieve the next page of results. If there are no additional pages, this field has a null value.
Any of
- string
- null
Common Error Response Codes
400: Bad Request
- "global/invalid-parameters"
401: Unauthorized
- "global/invalid-api-key"
403: Forbidden
- "global/account-inactive"
404: Not Found
- "global/not-found"
429: Too Many Requests
- "global/rate-limited"
Parameters & Request sample
Request sample
curl --request GET --url 'https://cloud.lambda.ai/api/v1/groups/ddaedf1b7a0e41ac981711504493b242/workspaces' \
--header 'accept: application/json' \
--header 'Authorization: Bearer <YOUR-API-KEY>'Response
Sample
ResponseStatus: 200 OK
{
"data": [
{
"id": "c4d291f47f9d436fa39f58493ce3b50d",
"name": "My Workspace",
"account_id": "a8d9c6729e12468786d1c44c0e942719",
"created": "1970-01-01T00:00:00.000Z",
"is_default": false
}
],
"page_token": "eyJuZXh0IjoxNzA0MTk2ODAwfQ=="
}Live
Response
Error sending request
Identities
Users and service identities in an account, and what each one holds: API keys, group memberships, role assignments, and workspaces.
List identities
Lists the identities in the account the requesting identity belongs to.
Query Parameters
- page_size integer optional
Maximum number of results per page. Can be between 1 and 100. The default is 50.
- page_token string optional
A page token for cursor-based pagination.
- identity_type enum optional
The type of identity to filter the results by. If omitted, all identity types are returned.
- Possible values:
- "user"
- "service"
- Possible values:
- search string optional
A list of search tokens, separated by
+or%20. Iteratively filters against each successive token in the list (AND behavior). For user identities, searches the first name, last name, and email for the token. For service identities, searches the display name. Requiresidentity_typeto be set.- Maximum length: 128
Response:200
- data array of (UserIdentity | ServiceIdentity) required
- (UserIdentity | ServiceIdentity)
Any of
- UserIdentity
- id string required
The unique identifier (ID) of the identity.
- account_id string required
The ID of the account that the identity belongs to.
- identity_type string required
The type of the identity.
- Const:
"user"
- Const:
- created_at string optional
The time the identity was created.
- Format: date-time
- email string required
The email address of the user.
- is_verified boolean required
Whether the user's email address has been verified.
- first_name string optional
The first name of the user.
- last_name string optional
The last name of the user.
- ServiceIdentity
- id string required
The unique identifier (ID) of the identity.
- account_id string required
The ID of the account that the identity belongs to.
- identity_type string required
The type of the identity.
- Const:
"service"
- Const:
- created_at string optional
The time the identity was created.
- Format: date-time
- display_name string required
The display name of the service identity.
- is_managed boolean required
Whether this service identity is managed by Lambda.
- page_token (string | null) required
Provide this token in your next request to retrieve the next page of results. If there are no additional pages, this field has a null value.
Any of
- string
- null
Common Error Response Codes
400: Bad Request
- "global/invalid-parameters"
401: Unauthorized
- "global/invalid-api-key"
403: Forbidden
- "global/account-inactive"
404: Not Found
- "global/not-found"
429: Too Many Requests
- "global/rate-limited"
Parameters & Request sample
Request sample
curl --request GET --url 'https://cloud.lambda.ai/api/v1/identities' \
--header 'accept: application/json' \
--header 'Authorization: Bearer <YOUR-API-KEY>'Response
Sample
ResponseStatus: 200 OK
{
"data": [
{
"id": "ddaedf1b7a0e41ac981711504493b242",
"account_id": "ddaedf1b7a0e41ac981711504493b242",
"identity_type": "user",
"created_at": "1970-01-01T00:00:00.000Z",
"email": "string",
"is_verified": false,
"first_name": "string",
"last_name": "string"
}
],
"page_token": "eyJuZXh0IjoxNzA0MTk2ODAwfQ=="
}Live
Response
Error sending request
Create an identity
Creates a new identity in the same account as the identity that sent the API request. Creating a user identity requires an SSO-enabled account.
Body Parameters
Any of
- CreateServiceIdentityRequest
- identity_type string optional
The type of identity to create. Defaults to
service.- Const:
"service"
- Const:
- display_name string required
A user-provided name for the identity.
- Minimum length: 1
- Maximum length: 150
- role_ids array of string optional
The IDs of the account roles to assign to the new identity. To view a list of account roles and their role IDs, call List roles and filter by
role_type.- string
- CreateUserIdentityRequest
- identity_type string required
The type of identity to create.
- Const:
"user"
- Const:
- email string required
Email address for the identity. Must not be in use by another identity.
- Format: email
- first_name string optional
The first name of the user.
- last_name string optional
The last name of the user.
- role_ids array of string optional
The IDs of the account roles to assign to the new identity. To view a list of account roles and their role IDs, call List roles and filter by
role_type. When omitted, the identity receives the default account-member role.- string
Response:201
- data (ServiceIdentity | UserIdentity) required
Any of
- ServiceIdentity
- id string required
The unique identifier (ID) of the identity.
- account_id string required
The ID of the account that the identity belongs to.
- identity_type string required
The type of the identity.
- Const:
"service"
- Const:
- created_at string optional
The time the identity was created.
- Format: date-time
- display_name string required
The display name of the service identity.
- is_managed boolean required
Whether this service identity is managed by Lambda.
- UserIdentity
- id string required
The unique identifier (ID) of the identity.
- account_id string required
The ID of the account that the identity belongs to.
- identity_type string required
The type of the identity.
- Const:
"user"
- Const:
- created_at string optional
The time the identity was created.
- Format: date-time
- email string required
The email address of the user.
- is_verified boolean required
Whether the user's email address has been verified.
- first_name string optional
The first name of the user.
- last_name string optional
The last name of the user.
Common Error Response Codes
400: Bad Request
- "global/invalid-parameters"
401: Unauthorized
- "global/invalid-api-key"
403: Forbidden
- "global/account-inactive"
404: Not Found
- "global/not-found"
429: Too Many Requests
- "global/rate-limited"
Parameters & Request sample
Request sample
curl --request POST --url 'https://cloud.lambda.ai/api/v1/identities' \
--header 'accept: application/json' \
--header 'Authorization: Bearer <YOUR-API-KEY>' \
--data '{
"identity_type": "service",
"display_name": "a",
"role_ids": [
"ddaedf1b7a0e41ac981711504493b242"
]
}'Response
Sample
ResponseStatus: 201 Created
{
"data": {
"id": "ddaedf1b7a0e41ac981711504493b242",
"account_id": "ddaedf1b7a0e41ac981711504493b242",
"identity_type": "service",
"created_at": "1970-01-01T00:00:00.000Z",
"display_name": "string",
"is_managed": false
}
}Live
Response
Error sending request
Retrieve identity details
Retrieves metadata for the specified identity, if it exists.
Path Parameters
- identity_id string required
The unique identifier (ID) of the identity.
Response:200
- data (UserIdentity | ServiceIdentity) required
Any of
- UserIdentity
- id string required
The unique identifier (ID) of the identity.
- account_id string required
The ID of the account that the identity belongs to.
- identity_type string required
The type of the identity.
- Const:
"user"
- Const:
- created_at string optional
The time the identity was created.
- Format: date-time
- email string required
The email address of the user.
- is_verified boolean required
Whether the user's email address has been verified.
- first_name string optional
The first name of the user.
- last_name string optional
The last name of the user.
- ServiceIdentity
- id string required
The unique identifier (ID) of the identity.
- account_id string required
The ID of the account that the identity belongs to.
- identity_type string required
The type of the identity.
- Const:
"service"
- Const:
- created_at string optional
The time the identity was created.
- Format: date-time
- display_name string required
The display name of the service identity.
- is_managed boolean required
Whether this service identity is managed by Lambda.
Common Error Response Codes
400: Bad Request
- "global/invalid-parameters"
401: Unauthorized
- "global/invalid-api-key"
403: Forbidden
- "global/account-inactive"
404: Not Found
- "global/not-found"
429: Too Many Requests
- "global/rate-limited"
Parameters & Request sample
Request sample
curl --request GET --url 'https://cloud.lambda.ai/api/v1/identities/7bd64c8f8a89497384b4deb454fc4293' \
--header 'accept: application/json' \
--header 'Authorization: Bearer <YOUR-API-KEY>'Response
Sample
ResponseStatus: 200 OK
{
"data": {
"id": "ddaedf1b7a0e41ac981711504493b242",
"account_id": "ddaedf1b7a0e41ac981711504493b242",
"identity_type": "user",
"created_at": "1970-01-01T00:00:00.000Z",
"email": "string",
"is_verified": false,
"first_name": "string",
"last_name": "string"
}
}Live
Response
Error sending request
Update an identity's name
Updates the name of the specified identity.
Path Parameters
- identity_id string required
The unique identifier (ID) of the identity.
Body Parameters
- display_name string required
- Minimum length: 1
- Maximum length: 150
Response:200
- data ServiceIdentity required
- id string required
The unique identifier (ID) of the identity.
- account_id string required
The ID of the account that the identity belongs to.
- identity_type string required
The type of the identity.
- Const:
"service"
- Const:
- created_at string optional
The time the identity was created.
- Format: date-time
- display_name string required
The display name of the service identity.
- is_managed boolean required
Whether this service identity is managed by Lambda.
Common Error Response Codes
400: Bad Request
- "global/invalid-parameters"
401: Unauthorized
- "global/invalid-api-key"
403: Forbidden
- "global/account-inactive"
- "global/forbidden"
404: Not Found
- "global/not-found"
429: Too Many Requests
- "global/rate-limited"
Parameters & Request sample
Request sample
curl --request PATCH --url 'https://cloud.lambda.ai/api/v1/identities/ddaedf1b7a0e41ac981711504493b242' \
--header 'accept: application/json' \
--header 'Authorization: Bearer <YOUR-API-KEY>' \
--data '{
"display_name": "a"
}'Response
Sample
ResponseStatus: 200 OK
{
"data": {
"id": "ddaedf1b7a0e41ac981711504493b242",
"account_id": "ddaedf1b7a0e41ac981711504493b242",
"identity_type": "service",
"created_at": "1970-01-01T00:00:00.000Z",
"display_name": "string",
"is_managed": false
}
}Live
Response
Error sending request
Delete an identity
Deletes the specified identity from the account. Returns an error if you attempt to delete your own identity, if the identity you tried to delete is the only remaining admin in the account, or if the identity is Lambda-managed.
Path Parameters
- identity_id string required
The unique identifier (ID) of the identity.
Response:200
- data EmptyResponse required
Common Error Response Codes
400: Bad Request
- "global/invalid-parameters"
401: Unauthorized
- "global/invalid-api-key"
403: Forbidden
- "global/account-inactive"
- "global/forbidden"
404: Not Found
- "global/not-found"
429: Too Many Requests
- "global/rate-limited"
Parameters & Request sample
Request sample
curl --request DELETE --url 'https://cloud.lambda.ai/api/v1/identities/ddaedf1b7a0e41ac981711504493b242' \
--header 'accept: application/json' \
--header 'Authorization: Bearer <YOUR-API-KEY>'Response
Sample
ResponseStatus: 200 OK
{
"data": {}
}Live
Response
Error sending request
List an identity's API keys
Lists the API keys associated with the specified identity. To list API keys associated with identities other than you own, you must have a role that contains the relevant permissions.
Path Parameters
- identity_id string required
The unique identifier (ID) of the identity.
Query Parameters
- page_size integer optional
Maximum number of results per page. Can be between 1 and 100. The default is 50.
- page_token string optional
A page token for cursor-based pagination.
- status enum optional
The API key status to filter the API keys by. If omitted, all API key statuses are returned.
- Possible values:
- "active"
- "expired"
- Possible values:
Response:200
- data array of ApiKeyResponse required
- ApiKeyResponse
- id string required
The unique identifier (ID) of the API key.
- name string required
The user-defined name of the API key.
- identity_id string required
The unique identifier (ID) of the identity that owns the API key.
- created_at string required
The date and time at which the API key was created. Formatted as an ISO 8601 timestamp.
- Format: date-time
- expires_at (string | null) required
The date and time at which the API key will expire. Formatted as an ISO 8601 timestamp. Returns
nullif no expiration period was set during key creation.Any of
- string
- Format: date-time
- null
- last_used_at (string | null) required
The date and time at which the API key was last used. Formatted as an ISO 8601 timestamp. Returns
nullif the key hasn't been used.Any of
- string
- Format: date-time
- null
- status enum required
The current status of the API key.
- Possible values:
- "active"
- "expired"
- Possible values:
- identity_type enum optional
Whether the owning identity is a user or a service identity.
- Possible values:
- "user"
- "service"
- Possible values:
- identity_display_name string optional
The owning identity's display name: a user's full name or a service identity's name. Empty when the identity has no name on record.
- page_token (string | null) required
Provide this token in your next request to retrieve the next page of results. If there are no additional pages, this field has a null value.
Any of
- string
- null
Common Error Response Codes
400: Bad Request
- "global/invalid-parameters"
401: Unauthorized
- "global/invalid-api-key"
403: Forbidden
- "global/account-inactive"
404: Not Found
- "global/not-found"
429: Too Many Requests
- "global/rate-limited"
Parameters & Request sample
Request sample
curl --request GET --url 'https://cloud.lambda.ai/api/v1/identities/ddaedf1b7a0e41ac981711504493b242/api-keys' \
--header 'accept: application/json' \
--header 'Authorization: Bearer <YOUR-API-KEY>'Response
Sample
ResponseStatus: 200 OK
{
"data": [
{
"id": "string",
"name": "string",
"identity_id": "ddaedf1b7a0e41ac981711504493b242",
"created_at": "1970-01-01T00:00:00.000Z",
"expires_at": "1970-01-01T00:00:00.000Z",
"last_used_at": "1970-01-01T00:00:00.000Z",
"status": "active",
"identity_type": "user",
"identity_display_name": "string"
}
],
"page_token": "eyJuZXh0IjoxNzA0MTk2ODAwfQ=="
}Live
Response
Error sending request
Create an API key for an identity
Creates an API key for the specified identity. To list API keys associated with identities other than your own, you must have a role that contains the relevant permissions.
Path Parameters
- identity_id string required
The unique identifier (ID) of the identity.
Body Parameters
- name string required
- Minimum length: 1
- Maximum length: 64
- Regex pattern:
^[0-9a-zA-Z][0-9a-zA-Z -]*$
- expires_in integer optional
The API key lifetime in seconds. If omitted, the API key does not expire. Expired keys remain listed but do not count toward the service identity's active API key limit.
Response:201
- data ApiKeyCreatedResponse required
- id string required
The unique identifier (ID) of the API key.
- name string required
The user-defined name of the API key.
- identity_id string required
The unique identifier (ID) of the identity that owns the API key.
- created_at string required
The date and time at which the API key was created. Formatted as an ISO 8601 timestamp.
- Format: date-time
- expires_at (string | null) required
The date and time at which the API key will expire. Formatted as an ISO 8601 timestamp. Returns
nullif no expiration period was set during key creation.Any of
- string
- Format: date-time
- null
- last_used_at (string | null) required
The date and time at which the API key was last used. Formatted as an ISO 8601 timestamp. Returns
nullif the key hasn't been used.Any of
- string
- Format: date-time
- null
- status enum required
The current status of the API key.
- Possible values:
- "active"
- "expired"
- Possible values:
- identity_type enum optional
Whether the owning identity is a user or a service identity.
- Possible values:
- "user"
- "service"
- Possible values:
- identity_display_name string optional
The owning identity's display name: a user's full name or a service identity's name. Empty when the identity has no name on record.
- api_key string required
The newly created API key.
Common Error Response Codes
400: Bad Request
- "global/invalid-parameters"
401: Unauthorized
- "global/invalid-api-key"
403: Forbidden
- "global/account-inactive"
- "global/forbidden"
404: Not Found
- "global/not-found"
429: Too Many Requests
- "global/rate-limited"
Parameters & Request sample
Request sample
curl --request POST --url 'https://cloud.lambda.ai/api/v1/identities/ddaedf1b7a0e41ac981711504493b242/api-keys' \
--header 'accept: application/json' \
--header 'Authorization: Bearer <YOUR-API-KEY>' \
--data '{
"name": "my-api-key",
"expires_in": 3600
}'Response
Sample
ResponseStatus: 201 Created
{
"data": {
"id": "string",
"name": "string",
"identity_id": "ddaedf1b7a0e41ac981711504493b242",
"created_at": "1970-01-01T00:00:00.000Z",
"expires_at": "1970-01-01T00:00:00.000Z",
"last_used_at": "1970-01-01T00:00:00.000Z",
"status": "active",
"identity_type": "user",
"identity_display_name": "string",
"api_key": "string"
}
}Live
Response
Error sending request
List an identity's group memberships
Lists the groups the specified identity belongs to.
Path Parameters
- identity_id string required
The unique identifier (ID) of the identity.
Query Parameters
- page_size integer optional
Maximum number of results per page. Can be between 1 and 100. The default is 50.
- page_token string optional
A page token for cursor-based pagination.
- search string optional
A user-provided string to filter the results by.
- Maximum length: 128
Response:200
- data array of IdentityGroup required
- IdentityGroup
A group an identity belongs to. Dashboard-only.
Carries the membership id so the caller can remove the identity from the group without a second lookup: the delete route is addressed by membership, not by (group, identity).
- id string required
The unique identifier (ID) of the group.
- account_id string required
The ID of the account that the group belongs to.
- name string required
The name of the group.
- description (string | null) required
The description of the group.
Any of
- string
- null
- membership_id string required
The unique identifier (ID) of the membership linking the identity to this group.
- membership_created_at string optional
The date and time at which the identity joined the group. Formatted as an ISO 8601 timestamp.
- Format: date-time
- page_token (string | null) required
Provide this token in your next request to retrieve the next page of results. If there are no additional pages, this field has a null value.
Any of
- string
- null
Common Error Response Codes
400: Bad Request
- "global/invalid-parameters"
401: Unauthorized
- "global/invalid-api-key"
403: Forbidden
- "global/account-inactive"
404: Not Found
- "global/not-found"
429: Too Many Requests
- "global/rate-limited"
Parameters & Request sample
Request sample
curl --request GET --url 'https://cloud.lambda.ai/api/v1/identities/ddaedf1b7a0e41ac981711504493b242/groups' \
--header 'accept: application/json' \
--header 'Authorization: Bearer <YOUR-API-KEY>'Response
Sample
ResponseStatus: 200 OK
{
"data": [
{
"id": "ddaedf1b7a0e41ac981711504493b242",
"account_id": "ddaedf1b7a0e41ac981711504493b242",
"name": "string",
"description": "string",
"membership_id": "ddaedf1b7a0e41ac981711504493b242",
"membership_created_at": "1970-01-01T00:00:00.000Z"
}
],
"page_token": "eyJuZXh0IjoxNzA0MTk2ODAwfQ=="
}Live
Response
Error sending request
List an identity's role assignments
Lists the roles assigned to the specified identity, including roles assigned to groups the identity is a member of.
Path Parameters
- identity_id string required
The unique identifier (ID) of the identity.
Query Parameters
- page_size integer optional
Maximum number of results per page. Can be between 1 and 100. The default is 50.
- page_token string optional
A page token for cursor-based pagination.
- scope enum optional
The role scope to filter the results by. If omitted, all role scopes are returned.
- Possible values:
- "account"
- "workspace"
- Possible values:
- workspace_id string optional
The workspace to filter the results by. Required if
scopeis set toworkspace. - include_inherited boolean optional
If set, results will include role assignments inherited from the groups the identity belongs to.
- source enum optional
The source to filter the results by.
directreturns the identity's direct role assignments, andgroupreturns role assignments the identity inherits from the groups it belongs to. If omitted, all role assignments are returned.- Possible values:
- "direct"
- "group"
- Possible values:
- source_group_id string optional
If set, limits results to role assignments inherited by the specified group.
- search string optional
A user-provided string to filter the results by.
- Maximum length: 128
Response:200
- data array of RoleBackedRoleAssignment required
- RoleBackedRoleAssignment
A role assignment that grants a role.
- id string required
The unique identifier (ID) of the role assignment.
- scope (AccountRoleScope | WorkspaceRoleScope) required
The scope at which the assignment applies.
Any of
- AccountRoleScope
- type string required
Account-wide scope.
- Const:
"account"
- Const:
- WorkspaceRoleScope
- type string required
Workspace scope.
- Const:
"workspace"
- Const:
- workspace_id string required
The workspace the assignment applies to.
- source RoleAssignmentSource optional
The source of the role assignment. Appears only when the role assignment is inherited from a group.
- via_group_id string required
The group whose membership grants this inherited assignment.
- role_assignment_type string required
The role assignment's type.
- Const:
"role"
- Const:
- role_id string required
The unique identifier (ID) of the role.
- role_name string required
The name of the role.
- page_token (string | null) required
Provide this token in your next request to retrieve the next page of results. If there are no additional pages, this field has a null value.
Any of
- string
- null
Common Error Response Codes
400: Bad Request
- "global/invalid-parameters"
401: Unauthorized
- "global/invalid-api-key"
403: Forbidden
- "global/account-inactive"
404: Not Found
- "global/not-found"
429: Too Many Requests
- "global/rate-limited"
Parameters & Request sample
Request sample
curl --request GET --url 'https://cloud.lambda.ai/api/v1/identities/7bd64c8f8a89497384b4deb454fc4293/role-assignments' \
--header 'accept: application/json' \
--header 'Authorization: Bearer <YOUR-API-KEY>'Response
Sample
ResponseStatus: 200 OK
{
"data": [
{
"id": "ddaedf1b7a0e41ac981711504493b242",
"scope": {
"type": "account"
},
"source": {
"via_group_id": "ddaedf1b7a0e41ac981711504493b242"
},
"role_assignment_type": "role",
"role_id": "ddaedf1b7a0e41ac981711504493b242",
"role_name": "string"
}
],
"page_token": "eyJuZXh0IjoxNzA0MTk2ODAwfQ=="
}Live
Response
Error sending request
Assign a role to an identity
Assigns the specified role to the specified identity.
Path Parameters
- identity_id string required
The unique identifier (ID) of the identity.
Body Parameters
- role_assignment_type string optional
The type of role assignment to create. Defaults to
role.- Const:
"role"
- Const:
- role_id string required
The unique identifier (ID) of the role.
- scope (AccountRoleScope | WorkspaceRoleScope) required
The scope at which to assign the role.
Any of
- AccountRoleScope
- type string required
Account-wide scope.
- Const:
"account"
- Const:
- WorkspaceRoleScope
- type string required
Workspace scope.
- Const:
"workspace"
- Const:
- workspace_id string required
The workspace the assignment applies to.
Response:200
- data RoleBackedRoleAssignment required
A role assignment that grants a role.
- id string required
The unique identifier (ID) of the role assignment.
- scope (AccountRoleScope | WorkspaceRoleScope) required
The scope at which the assignment applies.
Any of
- AccountRoleScope
- type string required
Account-wide scope.
- Const:
"account"
- Const:
- WorkspaceRoleScope
- type string required
Workspace scope.
- Const:
"workspace"
- Const:
- workspace_id string required
The workspace the assignment applies to.
- source RoleAssignmentSource optional
The source of the role assignment. Appears only when the role assignment is inherited from a group.
- via_group_id string required
The group whose membership grants this inherited assignment.
- role_assignment_type string required
The role assignment's type.
- Const:
"role"
- Const:
- role_id string required
The unique identifier (ID) of the role.
- role_name string required
The name of the role.
Common Error Response Codes
400: Bad Request
- "global/invalid-parameters"
401: Unauthorized
- "global/invalid-api-key"
403: Forbidden
- "global/account-inactive"
- "global/forbidden"
404: Not Found
- "global/not-found"
429: Too Many Requests
- "global/rate-limited"
Parameters & Request sample
Request sample
curl --request POST --url 'https://cloud.lambda.ai/api/v1/identities/7bd64c8f8a89497384b4deb454fc4293/role-assignments' \
--header 'accept: application/json' \
--header 'Authorization: Bearer <YOUR-API-KEY>' \
--data '{
"role_assignment_type": "role",
"role_id": "ddaedf1b7a0e41ac981711504493b242",
"scope": {
"type": "account"
}
}'Response
Sample
ResponseStatus: 200 OK
{
"data": {
"id": "ddaedf1b7a0e41ac981711504493b242",
"scope": {
"type": "account"
},
"source": {
"via_group_id": "ddaedf1b7a0e41ac981711504493b242"
},
"role_assignment_type": "role",
"role_id": "ddaedf1b7a0e41ac981711504493b242",
"role_name": "string"
}
}Live
Response
Error sending request
Unassign a role from an identity
Revokes the specified role assignment from the specified identity.
Path Parameters
- identity_id string required
The unique identifier (ID) of the identity.
- assignment_id string required
The unique identifier (ID) of the role assignment.
Response:200
- data EmptyResponse required
Common Error Response Codes
400: Bad Request
- "global/invalid-parameters"
401: Unauthorized
- "global/invalid-api-key"
403: Forbidden
- "global/account-inactive"
- "global/forbidden"
404: Not Found
- "global/not-found"
429: Too Many Requests
- "global/rate-limited"
Parameters & Request sample
Request sample
curl --request DELETE --url 'https://cloud.lambda.ai/api/v1/identities/7bd64c8f8a89497384b4deb454fc4293/role-assignments/9f6e4b2a7c1d3f8e05124a9b6c3d8e01' \
--header 'accept: application/json' \
--header 'Authorization: Bearer <YOUR-API-KEY>'Response
Sample
ResponseStatus: 200 OK
{
"data": {}
}Live
Response
Error sending request
List an identity's workspaces
Lists the workspaces the specified identity can access.
Path Parameters
- identity_id string required
The unique identifier (ID) of the identity.
Query Parameters
- page_size integer optional
Maximum number of results per page. Can be between 1 and 100. The default is 50.
- page_token string optional
A page token for cursor-based pagination.
Response:200
- data array of Workspace required
- Workspace
A workspace provides logical isolation for resources within an account.
- id string required
The unique identifier (ID) of the workspace.
- name string required
The name of the workspace.
- account_id string required
The unique identifier of the account that owns this workspace.
- created string required
The date and time at which the workspace was created. Formatted as an ISO 8601 timestamp.
- Format: date-time
- is_default boolean required
Whether this is the default workspace for the account.
- page_token (string | null) required
Provide this token in your next request to retrieve the next page of results. If there are no additional pages, this field has a null value.
Any of
- string
- null
Common Error Response Codes
400: Bad Request
- "global/invalid-parameters"
401: Unauthorized
- "global/invalid-api-key"
403: Forbidden
- "global/account-inactive"
404: Not Found
- "global/not-found"
429: Too Many Requests
- "global/rate-limited"
Parameters & Request sample
Request sample
curl --request GET --url 'https://cloud.lambda.ai/api/v1/identities/ddaedf1b7a0e41ac981711504493b242/workspaces' \
--header 'accept: application/json' \
--header 'Authorization: Bearer <YOUR-API-KEY>'Response
Sample
ResponseStatus: 200 OK
{
"data": [
{
"id": "c4d291f47f9d436fa39f58493ce3b50d",
"name": "My Workspace",
"account_id": "a8d9c6729e12468786d1c44c0e942719",
"created": "1970-01-01T00:00:00.000Z",
"is_default": false
}
],
"page_token": "eyJuZXh0IjoxNzA0MTk2ODAwfQ=="
}Live
Response
Error sending request
Get current identity
Retrieves the details of the current identity.
Parameters
There are no parameters for this endpoint.
Response:200
- data (UserIdentity | ServiceIdentity) required
Any of
- UserIdentity
- id string required
The unique identifier (ID) of the identity.
- account_id string required
The ID of the account that the identity belongs to.
- identity_type string required
The type of the identity.
- Const:
"user"
- Const:
- created_at string optional
The time the identity was created.
- Format: date-time
- email string required
The email address of the user.
- is_verified boolean required
Whether the user's email address has been verified.
- first_name string optional
The first name of the user.
- last_name string optional
The last name of the user.
- ServiceIdentity
- id string required
The unique identifier (ID) of the identity.
- account_id string required
The ID of the account that the identity belongs to.
- identity_type string required
The type of the identity.
- Const:
"service"
- Const:
- created_at string optional
The time the identity was created.
- Format: date-time
- display_name string required
The display name of the service identity.
- is_managed boolean required
Whether this service identity is managed by Lambda.
Common Error Response Codes
401: Unauthorized
- "global/invalid-api-key"
403: Forbidden
- "global/account-inactive"
404: Not Found
- "global/not-found"
429: Too Many Requests
- "global/rate-limited"
Parameters & Request sample
Request sample
curl --request GET --url 'https://cloud.lambda.ai/api/v1/identity' \
--header 'accept: application/json' \
--header 'Authorization: Bearer <YOUR-API-KEY>'Response
Sample
ResponseStatus: 200 OK
{
"data": {
"id": "ddaedf1b7a0e41ac981711504493b242",
"account_id": "ddaedf1b7a0e41ac981711504493b242",
"identity_type": "user",
"created_at": "1970-01-01T00:00:00.000Z",
"email": "string",
"is_verified": false,
"first_name": "string",
"last_name": "string"
}
}Live
Response
Error sending request
List available images
Retrieves a list of available images by region.
Parameters
There are no parameters for this endpoint.
Response:200
- data array of Image required
- Image
An available machine image in Lambda Cloud.
- id string required
The unique identifier (ID) for an image.
- created_time string required
The date and time that the image was created.
- Format: date-time
- updated_time string required
The date and time that the image was last updated.
- Format: date-time
- name string required
The human-readable identifier for an image.
- description string required
Additional information about the image.
- family string required
The family the image belongs to.
- version string required
The image version.
- architecture enum required
The CPU architecture the image supports.
- Possible values:
- "x86_64"
- "arm64"
- Possible values:
- region Region required
The region in which this image is available.
- name string required
The region code.
- description string required
The region description.
Common Error Response Codes
400: Bad Request
- "global/invalid-parameters"
401: Unauthorized
- "global/invalid-api-key"
403: Forbidden
- "global/account-inactive"
404: Not Found
- "global/not-found"
429: Too Many Requests
- "global/rate-limited"
Parameters & Request sample
Request sample
curl --request GET --url 'https://cloud.lambda.ai/api/v1/images' \
--header 'accept: application/json' \
--header 'Authorization: Bearer <YOUR-API-KEY>'Response
Sample
ResponseStatus: 200 OK
{
"data": [
{
"id": "43336648-096d-4cba-9aa2-f9bb7727639d",
"created_time": "1970-01-01T00:00:00.000Z",
"updated_time": "1970-01-01T00:00:00.000Z",
"name": "ubuntu-24.04.01",
"description": "Ubuntu LTS",
"family": "ubuntu-lts",
"version": "24.04.01",
"architecture": "x86_64",
"region": {
"name": "string",
"description": "string"
}
}
]
}Live
Response
Error sending request
Launch instances
Launches a Lambda On-Demand Cloud instance.
Body Parameters
- region_name string required
The region into which you want to launch the instance.
- instance_type_name string required
The type of instance you want to launch. To retrieve a list of available instance types, see List available instance types.
- ssh_key_names array of string required
The names of the SSH keys you want to use to provide access to the instance. Currently, exactly one SSH key must be specified.
- string
- file_system_names array of string optional
The names of the filesystems you want to mount to the instance. When specified alongside
file_system_mounts, any filesystems referred to in both lists will use the mount path specified infile_system_mounts, rather than the default.- string
- file_system_mounts array of RequestedFilesystemMountEntry optional
The filesystem mounts to mount to the instance. When specified alongside
file_system_names, any filesystems referred to in both lists will use the mount path specified infile_system_mounts, rather than the default.- RequestedFilesystemMountEntry
The mount point for a filesystem mounted to an instance.
- mount_point string required
The absolute path indicating where on the instance the filesystem will be mounted.
- Maximum length: 256
- Regex pattern:
^(/home|/lambda/nfs|/data)[//a-zA-Z0-9-]*$
- file_system_id string required
The id of the filesystem to mount to the instance.
- hostname string optional
The hostname to assign to the instance. If not specified, a default, IP-address-based hostname is assigned. This hostname is driven into /etc/hostname on the instance.
- Minimum length: 1
- Maximum length: 63
- Regex pattern:
^[a-z0-9][0-9a-z-]{0,62}$
- name string optional
The name you want to assign to your instance. Must be 64 characters or fewer.
- Minimum length: 0
- Maximum length: 64
- image (ImageSpecificationID | ImageSpecificationFamily) optional
The machine image you want to use. Defaults to the latest Lambda Stack image.
Any of
- ImageSpecificationID
Specifies the image to use by its unique identifier.
- id string required
- ImageSpecificationFamily
Specifies the image to use by its family name.
- family string required
The family name of the image.
- user_data string optional
An instance configuration string specified in a valid cloud-init user-data format. You can use this field to configure your instance on launch. The user data string must be plain text and cannot exceed 1MB in size.
- Format: password
- tags array of RequestedTagEntry optional
Key/value pairs representing the instance's tags.
- RequestedTagEntry
- key string required
The key of the tag. On instances, keys starting with
lambda-ai-are reserved.- Maximum length: 55
- Regex pattern:
^[a-z][a-z0-9-:]+$
- value string required
The value of the tag.
- Maximum length: 128
- firewall_rulesets array of FirewallRulesetEntry optional
The firewall rulesets to associate with the instance. The firewall rulesets must exist in the same region as the instance.
- FirewallRulesetEntry
Reference to a firewall ruleset.
- id string required
The unique identifier of the firewall ruleset.
Response:200
- data InstanceLaunchResponse required
- instance_ids array of string required
The unique identifiers (IDs) of the launched instances.
- string
Common Error Response Codes
400: Bad Request
- "instance-operations/launch/file-system-in-wrong-region"
- "instance-operations/launch/insufficient-capacity"
- "global/invalid-parameters"
- "global/object-does-not-exist"
- "global/quota-exceeded"
401: Unauthorized
- "global/invalid-api-key"
403: Forbidden
- "global/account-inactive"
- "global/invalid-address"
404: Not Found
- "global/object-does-not-exist"
429: Too Many Requests
- "global/rate-limited"
Parameters & Request sample
Request sample
curl --request POST --url 'https://cloud.lambda.ai/api/v1/instance-operations/launch' \
--header 'accept: application/json' \
--header 'Authorization: Bearer <YOUR-API-KEY>' \
--data '{
"region_name": "string",
"instance_type_name": "gpu_8x_a100",
"ssh_key_names": [
"my-public-key"
],
"file_system_names": [
"my-filesystem"
],
"file_system_mounts": [
{
"mount_point": "/data/custom-mount-point",
"file_system_id": "398578a2336b49079e74043f0bd2cfe8"
}
],
"hostname": "headnode1",
"name": "My Instance",
"image": {
"id": "ddaedf1b7a0e41ac981711504493b242"
},
"user_data": "#cloud-config\nruncmd:\n - echo \"Hello, World\" > /tmp/hello.txt\n",
"tags": [
{
"key": "key1",
"value": "value1"
}
],
"firewall_rulesets": [
{
"id": "c4d291f47f9d436fa39f58493ce3b50d"
}
]
}'Response
Sample
ResponseStatus: 200 OK
{
"data": {
"instance_ids": [
"0920582c7ff041399e34823a0be62549"
]
}
}Live
Response
Error sending request
Restart instances
Restarts one or more instances.
Body Parameters
- instance_ids array of string required
The unique identifiers (IDs) of the instances to restart.
- string
Response:200
- data InstanceRestartResponse required
- restarted_instances array of Instance required
The list of instances that were successfully restarted.
- Instance
Detailed information about the instance.
- id string required
The unique identifier of the instance.
- name string optional
If set, the user-provided name of the instance.
- Minimum length: 0
- Maximum length: 64
- ip string optional
The public IPv4 address of the instance.
- private_ip string optional
The private IPv4 address of the instance.
- status enum required
The current status of the instance.
- Possible values:
- "booting"
- "active"
- "unhealthy"
- "terminated"
- "terminating"
- "preempted"
- Possible values:
- ssh_key_names array of string required
The names of the SSH keys that are allowed to access the instance.
- string
- file_system_names array of string required
The names of the filesystems mounted to the instance. If no filesystems are mounted, this array is empty.
- string
- file_system_mounts array of FilesystemMountEntry optional
The filesystems, along with the mount paths, mounted to the instances. If no filesystems are mounted, this parameter will be missing from the response.
- FilesystemMountEntry
The mount point for a filesystem mounted to an instance.
- mount_point string required
The absolute path indicating where on the instance the filesystem will be mounted.
- file_system_id string required
The id of the filesystem to mount to the instance.
- region Region required
The region in which the instance is deployed.
- name string required
The region code.
- description string required
The region description.
- instance_type InstanceType required
Detailed information about the instance's instance type.
- name string required
The name of the instance type.
- description string required
A description of the instance type.
- gpu_description string required
The type of GPU used by this instance type.
- price_cents_per_hour integer required
The price of the instance type in US cents per hour.
- specs InstanceTypeSpecs required
Detailed technical specifications for the instance type.
- vcpus integer required
The number of virtual CPUs.
- memory_gib integer required
The amount of RAM in gibibytes (GiB).
- storage_gib integer required
The amount of storage in gibibytes (GiB).
- gpus integer required
The number of GPUs.
- architecture enum required
The CPU architecture of the instance type.
- Possible values:
- "x86_64"
- "arm64"
- Possible values:
- image InstanceImage optional
The machine image the instance booted from. Absent when it can no longer be resolved, such as for a terminated instance.
- id string required
The unique identifier (ID) of the image.
- family string required
The family the image belongs to.
- hostname string optional
The hostname assigned to this instance, which resolves to the instance's IP.
- jupyter_token string optional
The secret token used to log into the JupyterLab server hosted on the instance.
- jupyter_url string optional
The URL that opens the JupyterLab environment on the instance.
- first_healthy (string | null) required
When the instance first became healthy, or null if it never has.
Any of
- string
- Format: date-time
- null
- actions InstanceActionAvailability required
A set of status objects representing the current availability of common instance operations.
- migrate InstanceActionAvailabilityDetails required
Indicates whether the instance is currently able to be migrated. If not, describes why the operation is blocked.
- available boolean required
If set, indicates that the relevant operation can be performed on the instance in its current state.
- reason_code (enum | string) optional
A code representing the instance state that is blocking the operation. Only provided if the operation is blocked.
Any of
- enum
- Possible values:
- "vm-has-not-launched"
- "vm-is-too-old"
- "vm-is-terminating"
- "vm-action-in-progress"
- "vm-action-unavailable-bare-metal"
- "vm-action-unavailable-virtualized"
- Possible values:
- string
- reason_description string optional
A longer description of why this operation is currently blocked. Only provided if the operation is blocked.
- rebuild InstanceActionAvailabilityDetails required
Indicates whether the instance is currently able to be rebuilt. If not, describes why the operation is blocked.
- available boolean required
If set, indicates that the relevant operation can be performed on the instance in its current state.
- reason_code (enum | string) optional
A code representing the instance state that is blocking the operation. Only provided if the operation is blocked.
Any of
- enum
- Possible values:
- "vm-has-not-launched"
- "vm-is-too-old"
- "vm-is-terminating"
- "vm-action-in-progress"
- "vm-action-unavailable-bare-metal"
- "vm-action-unavailable-virtualized"
- Possible values:
- string
- reason_description string optional
A longer description of why this operation is currently blocked. Only provided if the operation is blocked.
- restart InstanceActionAvailabilityDetails required
Indicates whether the instance is currently able to be restarted. If not, describes why the operation is blocked.
- available boolean required
If set, indicates that the relevant operation can be performed on the instance in its current state.
- reason_code (enum | string) optional
A code representing the instance state that is blocking the operation. Only provided if the operation is blocked.
Any of
- enum
- Possible values:
- "vm-has-not-launched"
- "vm-is-too-old"
- "vm-is-terminating"
- "vm-action-in-progress"
- "vm-action-unavailable-bare-metal"
- "vm-action-unavailable-virtualized"
- Possible values:
- string
- reason_description string optional
A longer description of why this operation is currently blocked. Only provided if the operation is blocked.
- cold_reboot InstanceActionAvailabilityDetails required
Indicates whether the instance is currently eligible for a cold reboot. If not, describes why the operation is blocked.
Deprecated: use
power_cycleinstead, which reports the same availability.- available boolean required
If set, indicates that the relevant operation can be performed on the instance in its current state.
- reason_code (enum | string) optional
A code representing the instance state that is blocking the operation. Only provided if the operation is blocked.
Any of
- enum
- Possible values:
- "vm-has-not-launched"
- "vm-is-too-old"
- "vm-is-terminating"
- "vm-action-in-progress"
- "vm-action-unavailable-bare-metal"
- "vm-action-unavailable-virtualized"
- Possible values:
- string
- reason_description string optional
A longer description of why this operation is currently blocked. Only provided if the operation is blocked.
- power_cycle InstanceActionAvailabilityDetails required
Indicates whether the instance is currently eligible for a power cycle. If not, describes why the operation is blocked.
- available boolean required
If set, indicates that the relevant operation can be performed on the instance in its current state.
- reason_code (enum | string) optional
A code representing the instance state that is blocking the operation. Only provided if the operation is blocked.
Any of
- enum
- Possible values:
- "vm-has-not-launched"
- "vm-is-too-old"
- "vm-is-terminating"
- "vm-action-in-progress"
- "vm-action-unavailable-bare-metal"
- "vm-action-unavailable-virtualized"
- Possible values:
- string
- reason_description string optional
A longer description of why this operation is currently blocked. Only provided if the operation is blocked.
- terminate InstanceActionAvailabilityDetails required
Indicates whether the instance is currently able to be terminated. If not, describes why the operation is blocked.
- available boolean required
If set, indicates that the relevant operation can be performed on the instance in its current state.
- reason_code (enum | string) optional
A code representing the instance state that is blocking the operation. Only provided if the operation is blocked.
Any of
- enum
- Possible values:
- "vm-has-not-launched"
- "vm-is-too-old"
- "vm-is-terminating"
- "vm-action-in-progress"
- "vm-action-unavailable-bare-metal"
- "vm-action-unavailable-virtualized"
- Possible values:
- string
- reason_description string optional
A longer description of why this operation is currently blocked. Only provided if the operation is blocked.
- tags array of TagEntry optional
Key/value pairs representing the instance's tags.
- TagEntry
- key string required
The key of the tag.
- value string required
The value of the tag.
- firewall_rulesets array of FirewallRulesetEntry optional
The firewall rulesets associated with this instance.
- FirewallRulesetEntry
Reference to a firewall ruleset.
- id string required
The unique identifier of the firewall ruleset.
Common Error Response Codes
400: Bad Request
- "global/invalid-parameters"
401: Unauthorized
- "global/invalid-api-key"
403: Forbidden
- "global/account-inactive"
404: Not Found
- "global/object-does-not-exist"
409: Conflict
- "global/conflict"
429: Too Many Requests
- "global/rate-limited"
Parameters & Request sample
Request sample
curl --request POST --url 'https://cloud.lambda.ai/api/v1/instance-operations/restart' \
--header 'accept: application/json' \
--header 'Authorization: Bearer <YOUR-API-KEY>' \
--data '{
"instance_ids": [
"0920582c7ff041399e34823a0be62549"
]
}'Response
Sample
ResponseStatus: 200 OK
{
"data": {
"restarted_instances": [
{
"id": "0920582c7ff041399e34823a0be62549",
"name": "My Instance",
"ip": "198.51.100.2",
"private_ip": "10.0.2.100",
"status": "active",
"ssh_key_names": [
"My SSH key"
],
"file_system_names": [
"my-filesystem"
],
"file_system_mounts": [
{
"mount_point": "/lambda/nfs/my-filesystem",
"file_system_id": "a098b0c7ff041399e34823a0be62549"
}
],
"region": {
"name": "us-west-1",
"description": "California, USA"
},
"instance_type": {
"name": "gpu_8x_example",
"description": "8x Example GPU (40 GB SXM4)",
"gpu_description": "Example GPU (40 GB SXM4)",
"price_cents_per_hour": 1592,
"specs": {
"vcpus": 124,
"memory_gib": 1800,
"storage_gib": 6144,
"gpus": 8
},
"architecture": "x86_64"
},
"workspace_id": "c8f3a2b17ff041399e34823a0be62549",
"image": {
"id": "43336648-096d-4cba-9aa2-f9bb7727639d",
"family": "ubuntu-lts"
},
"hostname": "198.51.100.2",
"jupyter_token": "03b7d30d9d3e4d8fa41657bc0d478c1b",
"jupyter_url": "https://jupyter-249e1ccff1894822af39ac822637f881.lambdaspaces.com/?token=03b7d30d9d3e4d8fa41657bc0d478c1b",
"is_reserved": false,
"first_healthy": "2023-01-01T00:00:00Z",
"actions": {
"migrate": {
"available": true
},
"rebuild": {
"available": true
},
"restart": {
"available": true
},
"cold_reboot": {
"available": true
},
"power_cycle": {
"available": true
},
"terminate": {
"available": true
}
},
"tags": [
{
"key": "key1",
"value": "value1"
},
{
"key": "key2",
"value": "value2"
}
]
}
]
}
}Live
Response
Error sending request
Terminate instances
Terminates one or more instances.
Body Parameters
- instance_ids array of string required
The unique identifiers (IDs) of the instances to terminate.
- string
Response:200
- data InstanceTerminateResponse required
- terminated_instances array of Instance required
The list of instances that were successfully terminated.
- Instance
Detailed information about the instance.
- id string required
The unique identifier of the instance.
- name string optional
If set, the user-provided name of the instance.
- Minimum length: 0
- Maximum length: 64
- ip string optional
The public IPv4 address of the instance.
- private_ip string optional
The private IPv4 address of the instance.
- status enum required
The current status of the instance.
- Possible values:
- "booting"
- "active"
- "unhealthy"
- "terminated"
- "terminating"
- "preempted"
- Possible values:
- ssh_key_names array of string required
The names of the SSH keys that are allowed to access the instance.
- string
- file_system_names array of string required
The names of the filesystems mounted to the instance. If no filesystems are mounted, this array is empty.
- string
- file_system_mounts array of FilesystemMountEntry optional
The filesystems, along with the mount paths, mounted to the instances. If no filesystems are mounted, this parameter will be missing from the response.
- FilesystemMountEntry
The mount point for a filesystem mounted to an instance.
- mount_point string required
The absolute path indicating where on the instance the filesystem will be mounted.
- file_system_id string required
The id of the filesystem to mount to the instance.
- region Region required
The region in which the instance is deployed.
- name string required
The region code.
- description string required
The region description.
- instance_type InstanceType required
Detailed information about the instance's instance type.
- name string required
The name of the instance type.
- description string required
A description of the instance type.
- gpu_description string required
The type of GPU used by this instance type.
- price_cents_per_hour integer required
The price of the instance type in US cents per hour.
- specs InstanceTypeSpecs required
Detailed technical specifications for the instance type.
- vcpus integer required
The number of virtual CPUs.
- memory_gib integer required
The amount of RAM in gibibytes (GiB).
- storage_gib integer required
The amount of storage in gibibytes (GiB).
- gpus integer required
The number of GPUs.
- architecture enum required
The CPU architecture of the instance type.
- Possible values:
- "x86_64"
- "arm64"
- Possible values:
- image InstanceImage optional
The machine image the instance booted from. Absent when it can no longer be resolved, such as for a terminated instance.
- id string required
The unique identifier (ID) of the image.
- family string required
The family the image belongs to.
- hostname string optional
The hostname assigned to this instance, which resolves to the instance's IP.
- jupyter_token string optional
The secret token used to log into the JupyterLab server hosted on the instance.
- jupyter_url string optional
The URL that opens the JupyterLab environment on the instance.
- first_healthy (string | null) required
When the instance first became healthy, or null if it never has.
Any of
- string
- Format: date-time
- null
- actions InstanceActionAvailability required
A set of status objects representing the current availability of common instance operations.
- migrate InstanceActionAvailabilityDetails required
Indicates whether the instance is currently able to be migrated. If not, describes why the operation is blocked.
- available boolean required
If set, indicates that the relevant operation can be performed on the instance in its current state.
- reason_code (enum | string) optional
A code representing the instance state that is blocking the operation. Only provided if the operation is blocked.
Any of
- enum
- Possible values:
- "vm-has-not-launched"
- "vm-is-too-old"
- "vm-is-terminating"
- "vm-action-in-progress"
- "vm-action-unavailable-bare-metal"
- "vm-action-unavailable-virtualized"
- Possible values:
- string
- reason_description string optional
A longer description of why this operation is currently blocked. Only provided if the operation is blocked.
- rebuild InstanceActionAvailabilityDetails required
Indicates whether the instance is currently able to be rebuilt. If not, describes why the operation is blocked.
- available boolean required
If set, indicates that the relevant operation can be performed on the instance in its current state.
- reason_code (enum | string) optional
A code representing the instance state that is blocking the operation. Only provided if the operation is blocked.
Any of
- enum
- Possible values:
- "vm-has-not-launched"
- "vm-is-too-old"
- "vm-is-terminating"
- "vm-action-in-progress"
- "vm-action-unavailable-bare-metal"
- "vm-action-unavailable-virtualized"
- Possible values:
- string
- reason_description string optional
A longer description of why this operation is currently blocked. Only provided if the operation is blocked.
- restart InstanceActionAvailabilityDetails required
Indicates whether the instance is currently able to be restarted. If not, describes why the operation is blocked.
- available boolean required
If set, indicates that the relevant operation can be performed on the instance in its current state.
- reason_code (enum | string) optional
A code representing the instance state that is blocking the operation. Only provided if the operation is blocked.
Any of
- enum
- Possible values:
- "vm-has-not-launched"
- "vm-is-too-old"
- "vm-is-terminating"
- "vm-action-in-progress"
- "vm-action-unavailable-bare-metal"
- "vm-action-unavailable-virtualized"
- Possible values:
- string
- reason_description string optional
A longer description of why this operation is currently blocked. Only provided if the operation is blocked.
- cold_reboot InstanceActionAvailabilityDetails required
Indicates whether the instance is currently eligible for a cold reboot. If not, describes why the operation is blocked.
Deprecated: use
power_cycleinstead, which reports the same availability.- available boolean required
If set, indicates that the relevant operation can be performed on the instance in its current state.
- reason_code (enum | string) optional
A code representing the instance state that is blocking the operation. Only provided if the operation is blocked.
Any of
- enum
- Possible values:
- "vm-has-not-launched"
- "vm-is-too-old"
- "vm-is-terminating"
- "vm-action-in-progress"
- "vm-action-unavailable-bare-metal"
- "vm-action-unavailable-virtualized"
- Possible values:
- string
- reason_description string optional
A longer description of why this operation is currently blocked. Only provided if the operation is blocked.
- power_cycle InstanceActionAvailabilityDetails required
Indicates whether the instance is currently eligible for a power cycle. If not, describes why the operation is blocked.
- available boolean required
If set, indicates that the relevant operation can be performed on the instance in its current state.
- reason_code (enum | string) optional
A code representing the instance state that is blocking the operation. Only provided if the operation is blocked.
Any of
- enum
- Possible values:
- "vm-has-not-launched"
- "vm-is-too-old"
- "vm-is-terminating"
- "vm-action-in-progress"
- "vm-action-unavailable-bare-metal"
- "vm-action-unavailable-virtualized"
- Possible values:
- string
- reason_description string optional
A longer description of why this operation is currently blocked. Only provided if the operation is blocked.
- terminate InstanceActionAvailabilityDetails required
Indicates whether the instance is currently able to be terminated. If not, describes why the operation is blocked.
- available boolean required
If set, indicates that the relevant operation can be performed on the instance in its current state.
- reason_code (enum | string) optional
A code representing the instance state that is blocking the operation. Only provided if the operation is blocked.
Any of
- enum
- Possible values:
- "vm-has-not-launched"
- "vm-is-too-old"
- "vm-is-terminating"
- "vm-action-in-progress"
- "vm-action-unavailable-bare-metal"
- "vm-action-unavailable-virtualized"
- Possible values:
- string
- reason_description string optional
A longer description of why this operation is currently blocked. Only provided if the operation is blocked.
- tags array of TagEntry optional
Key/value pairs representing the instance's tags.
- TagEntry
- key string required
The key of the tag.
- value string required
The value of the tag.
- firewall_rulesets array of FirewallRulesetEntry optional
The firewall rulesets associated with this instance.
- FirewallRulesetEntry
Reference to a firewall ruleset.
- id string required
The unique identifier of the firewall ruleset.
Common Error Response Codes
400: Bad Request
- "global/invalid-parameters"
401: Unauthorized
- "global/invalid-api-key"
403: Forbidden
- "global/account-inactive"
404: Not Found
- "global/object-does-not-exist"
429: Too Many Requests
- "global/rate-limited"
Parameters & Request sample
Request sample
curl --request POST --url 'https://cloud.lambda.ai/api/v1/instance-operations/terminate' \
--header 'accept: application/json' \
--header 'Authorization: Bearer <YOUR-API-KEY>' \
--data '{
"instance_ids": [
"0920582c7ff041399e34823a0be62549"
]
}'Response
Sample
ResponseStatus: 200 OK
{
"data": {
"terminated_instances": [
{
"id": "0920582c7ff041399e34823a0be62549",
"name": "My Instance",
"ip": "198.51.100.2",
"private_ip": "10.0.2.100",
"status": "terminating",
"ssh_key_names": [
"My SSH key"
],
"file_system_names": [
"my-filesystem"
],
"file_system_mounts": [
{
"mount_point": "/lambda/nfs/my-filesystem",
"file_system_id": "a098b0c7ff041399e34823a0be62549"
}
],
"region": {
"name": "us-west-1",
"description": "California, USA"
},
"instance_type": {
"name": "gpu_8x_example",
"description": "8x Example GPU (40 GB SXM4)",
"gpu_description": "Example GPU (40 GB SXM4)",
"price_cents_per_hour": 1592,
"specs": {
"vcpus": 124,
"memory_gib": 1800,
"storage_gib": 6144,
"gpus": 8
},
"architecture": "x86_64"
},
"workspace_id": "c8f3a2b17ff041399e34823a0be62549",
"image": {
"id": "43336648-096d-4cba-9aa2-f9bb7727639d",
"family": "ubuntu-lts"
},
"hostname": "198.51.100.2",
"jupyter_token": "03b7d30d9d3e4d8fa41657bc0d478c1b",
"jupyter_url": "https://jupyter-249e1ccff1894822af39ac822637f881.lambdaspaces.com/?token=03b7d30d9d3e4d8fa41657bc0d478c1b",
"is_reserved": false,
"first_healthy": "2023-01-01T00:00:00Z",
"actions": {
"migrate": {
"available": true
},
"rebuild": {
"available": true
},
"restart": {
"available": true
},
"cold_reboot": {
"available": true
},
"power_cycle": {
"available": true
},
"terminate": {
"available": true
}
},
"tags": [
{
"key": "key1",
"value": "value1"
},
{
"key": "key2",
"value": "value2"
}
]
}
]
}
}Live
Response
Error sending request
List available instance types
Retrieves a list of the instance types currently offered on Lambda's public cloud, as well as details about each type. Details include resource specifications, pricing, and regional availability.
Parameters
There are no parameters for this endpoint.
Response:200
- data InstanceTypes required
- <string> InstanceTypesItem optional
Detailed information and regional availability for the instance type.
- instance_type InstanceType required
The description, technical specifications, and metadata for this instance type.
- name string required
The name of the instance type.
- description string required
A description of the instance type.
- gpu_description string required
The type of GPU used by this instance type.
- price_cents_per_hour integer required
The price of the instance type in US cents per hour.
- specs InstanceTypeSpecs required
Detailed technical specifications for the instance type.
- vcpus integer required
The number of virtual CPUs.
- memory_gib integer required
The amount of RAM in gibibytes (GiB).
- storage_gib integer required
The amount of storage in gibibytes (GiB).
- gpus integer required
The number of GPUs.
- architecture enum required
The CPU architecture of the instance type.
- Possible values:
- "x86_64"
- "arm64"
- Possible values:
- regions_with_capacity_available array of Region required
A list of the regions in which this instance type is available.
- Region
- name string required
The region code.
- description string required
The region description.
Common Error Response Codes
400: Bad Request
- "global/invalid-parameters"
401: Unauthorized
- "global/invalid-api-key"
403: Forbidden
- "global/account-inactive"
404: Not Found
- "global/not-found"
429: Too Many Requests
- "global/rate-limited"
Parameters & Request sample
Request sample
curl --request GET --url 'https://cloud.lambda.ai/api/v1/instance-types' \
--header 'accept: application/json' \
--header 'Authorization: Bearer <YOUR-API-KEY>'Response
Sample
ResponseStatus: 200 OK
{
"data": {
"gpu_8x_example": {
"instance_type": {
"name": "gpu_8x_example",
"description": "8x Example GPU (40 GB SXM4)",
"gpu_description": "Example GPU (40 GB SXM4)",
"price_cents_per_hour": 1592,
"specs": {
"vcpus": 124,
"memory_gib": 1800,
"storage_gib": 6144,
"gpus": 8
},
"architecture": "x86_64"
},
"regions_with_capacity_available": [
{
"name": "us-west-1",
"description": "California, USA"
}
]
}
}
}Live
Response
Error sending request
List running instances
Retrieves a list of your running instances.
Pagination is opt-in. If you send neither page_size nor page_token, the response contains every instance, oldest first, and page_token is null. If you send either, results are paged newest first, page_size (default 50) per page; pass the returned page_token to get the next page.
Query Parameters
- page_size integer optional
Maximum number of results per page. Can be between 1 and 100. The default is 50.
- page_token string optional
A page token for cursor-based pagination.
- cluster_id string optional
If provided, the resulting list will only include instances that are part of a cluster with this unique identifier (ID).
Response:200
- data array of Instance required
- Instance
Detailed information about the instance.
- id string required
The unique identifier of the instance.
- name string optional
If set, the user-provided name of the instance.
- Minimum length: 0
- Maximum length: 64
- ip string optional
The public IPv4 address of the instance.
- private_ip string optional
The private IPv4 address of the instance.
- status enum required
The current status of the instance.
- Possible values:
- "booting"
- "active"
- "unhealthy"
- "terminated"
- "terminating"
- "preempted"
- Possible values:
- ssh_key_names array of string required
The names of the SSH keys that are allowed to access the instance.
- string
- file_system_names array of string required
The names of the filesystems mounted to the instance. If no filesystems are mounted, this array is empty.
- string
- file_system_mounts array of FilesystemMountEntry optional
The filesystems, along with the mount paths, mounted to the instances. If no filesystems are mounted, this parameter will be missing from the response.
- FilesystemMountEntry
The mount point for a filesystem mounted to an instance.
- mount_point string required
The absolute path indicating where on the instance the filesystem will be mounted.
- file_system_id string required
The id of the filesystem to mount to the instance.
- region Region required
The region in which the instance is deployed.
- name string required
The region code.
- description string required
The region description.
- instance_type InstanceType required
Detailed information about the instance's instance type.
- name string required
The name of the instance type.
- description string required
A description of the instance type.
- gpu_description string required
The type of GPU used by this instance type.
- price_cents_per_hour integer required
The price of the instance type in US cents per hour.
- specs InstanceTypeSpecs required
Detailed technical specifications for the instance type.
- vcpus integer required
The number of virtual CPUs.
- memory_gib integer required
The amount of RAM in gibibytes (GiB).
- storage_gib integer required
The amount of storage in gibibytes (GiB).
- gpus integer required
The number of GPUs.
- architecture enum required
The CPU architecture of the instance type.
- Possible values:
- "x86_64"
- "arm64"
- Possible values:
- image InstanceImage optional
The machine image the instance booted from. Absent when it can no longer be resolved, such as for a terminated instance.
- id string required
The unique identifier (ID) of the image.
- family string required
The family the image belongs to.
- hostname string optional
The hostname assigned to this instance, which resolves to the instance's IP.
- jupyter_token string optional
The secret token used to log into the JupyterLab server hosted on the instance.
- jupyter_url string optional
The URL that opens the JupyterLab environment on the instance.
- first_healthy (string | null) required
When the instance first became healthy, or null if it never has.
Any of
- string
- Format: date-time
- null
- actions InstanceActionAvailability required
A set of status objects representing the current availability of common instance operations.
- migrate InstanceActionAvailabilityDetails required
Indicates whether the instance is currently able to be migrated. If not, describes why the operation is blocked.
- available boolean required
If set, indicates that the relevant operation can be performed on the instance in its current state.
- reason_code (enum | string) optional
A code representing the instance state that is blocking the operation. Only provided if the operation is blocked.
Any of
- enum
- Possible values:
- "vm-has-not-launched"
- "vm-is-too-old"
- "vm-is-terminating"
- "vm-action-in-progress"
- "vm-action-unavailable-bare-metal"
- "vm-action-unavailable-virtualized"
- Possible values:
- string
- reason_description string optional
A longer description of why this operation is currently blocked. Only provided if the operation is blocked.
- rebuild InstanceActionAvailabilityDetails required
Indicates whether the instance is currently able to be rebuilt. If not, describes why the operation is blocked.
- available boolean required
If set, indicates that the relevant operation can be performed on the instance in its current state.
- reason_code (enum | string) optional
A code representing the instance state that is blocking the operation. Only provided if the operation is blocked.
Any of
- enum
- Possible values:
- "vm-has-not-launched"
- "vm-is-too-old"
- "vm-is-terminating"
- "vm-action-in-progress"
- "vm-action-unavailable-bare-metal"
- "vm-action-unavailable-virtualized"
- Possible values:
- string
- reason_description string optional
A longer description of why this operation is currently blocked. Only provided if the operation is blocked.
- restart InstanceActionAvailabilityDetails required
Indicates whether the instance is currently able to be restarted. If not, describes why the operation is blocked.
- available boolean required
If set, indicates that the relevant operation can be performed on the instance in its current state.
- reason_code (enum | string) optional
A code representing the instance state that is blocking the operation. Only provided if the operation is blocked.
Any of
- enum
- Possible values:
- "vm-has-not-launched"
- "vm-is-too-old"
- "vm-is-terminating"
- "vm-action-in-progress"
- "vm-action-unavailable-bare-metal"
- "vm-action-unavailable-virtualized"
- Possible values:
- string
- reason_description string optional
A longer description of why this operation is currently blocked. Only provided if the operation is blocked.
- cold_reboot InstanceActionAvailabilityDetails required
Indicates whether the instance is currently eligible for a cold reboot. If not, describes why the operation is blocked.
Deprecated: use
power_cycleinstead, which reports the same availability.- available boolean required
If set, indicates that the relevant operation can be performed on the instance in its current state.
- reason_code (enum | string) optional
A code representing the instance state that is blocking the operation. Only provided if the operation is blocked.
Any of
- enum
- Possible values:
- "vm-has-not-launched"
- "vm-is-too-old"
- "vm-is-terminating"
- "vm-action-in-progress"
- "vm-action-unavailable-bare-metal"
- "vm-action-unavailable-virtualized"
- Possible values:
- string
- reason_description string optional
A longer description of why this operation is currently blocked. Only provided if the operation is blocked.
- power_cycle InstanceActionAvailabilityDetails required
Indicates whether the instance is currently eligible for a power cycle. If not, describes why the operation is blocked.
- available boolean required
If set, indicates that the relevant operation can be performed on the instance in its current state.
- reason_code (enum | string) optional
A code representing the instance state that is blocking the operation. Only provided if the operation is blocked.
Any of
- enum
- Possible values:
- "vm-has-not-launched"
- "vm-is-too-old"
- "vm-is-terminating"
- "vm-action-in-progress"
- "vm-action-unavailable-bare-metal"
- "vm-action-unavailable-virtualized"
- Possible values:
- string
- reason_description string optional
A longer description of why this operation is currently blocked. Only provided if the operation is blocked.
- terminate InstanceActionAvailabilityDetails required
Indicates whether the instance is currently able to be terminated. If not, describes why the operation is blocked.
- available boolean required
If set, indicates that the relevant operation can be performed on the instance in its current state.
- reason_code (enum | string) optional
A code representing the instance state that is blocking the operation. Only provided if the operation is blocked.
Any of
- enum
- Possible values:
- "vm-has-not-launched"
- "vm-is-too-old"
- "vm-is-terminating"
- "vm-action-in-progress"
- "vm-action-unavailable-bare-metal"
- "vm-action-unavailable-virtualized"
- Possible values:
- string
- reason_description string optional
A longer description of why this operation is currently blocked. Only provided if the operation is blocked.
- tags array of TagEntry optional
Key/value pairs representing the instance's tags.
- TagEntry
- key string required
The key of the tag.
- value string required
The value of the tag.
- firewall_rulesets array of FirewallRulesetEntry optional
The firewall rulesets associated with this instance.
- FirewallRulesetEntry
Reference to a firewall ruleset.
- id string required
The unique identifier of the firewall ruleset.
- page_token (string | null) required
Provide this token in your next request to retrieve the next page of results. If there are no additional pages, this field has a null value.
Any of
- string
- null
Common Error Response Codes
400: Bad Request
- "global/invalid-parameters"
401: Unauthorized
- "global/invalid-api-key"
403: Forbidden
- "global/account-inactive"
- "global/forbidden"
404: Not Found
- "global/not-found"
429: Too Many Requests
- "global/rate-limited"
Parameters & Request sample
Request sample
curl --request GET --url 'https://cloud.lambda.ai/api/v1/instances' \
--header 'accept: application/json' \
--header 'Authorization: Bearer <YOUR-API-KEY>'Response
Sample
ResponseStatus: 200 OK
{
"data": [
{
"id": "0920582c7ff041399e34823a0be62549",
"name": "My Instance",
"ip": "198.51.100.2",
"private_ip": "10.0.2.100",
"status": "booting",
"ssh_key_names": [
"My SSH key"
],
"file_system_names": [
"my-filesystem"
],
"file_system_mounts": [
{
"mount_point": "/data/custom-mount-point",
"file_system_id": "398578a2336b49079e74043f0bd2cfe8"
}
],
"region": {
"name": "string",
"description": "string"
},
"instance_type": {
"name": "gpu_8x_h100_sxm5gdr",
"description": "8x H100 (80 GB SXM5)",
"gpu_description": "H100 (80 GB SXM5)",
"price_cents_per_hour": 3592,
"specs": {
"vcpus": 208,
"memory_gib": 1800,
"storage_gib": 24780,
"gpus": 8
},
"architecture": "x86_64"
},
"image": {
"id": "43336648-096d-4cba-9aa2-f9bb7727639d",
"family": "ubuntu-lts"
},
"hostname": "headnode1",
"jupyter_token": "03b7d30d9d3e4d8fa41657bc0d478c1b",
"jupyter_url": "https://jupyter-249e1ccff1894822af39ac822637f881.lambdaspaces.com/?token=03b7d30d9d3e4d8fa41657bc0d478c1b",
"first_healthy": "1970-01-01T00:00:00.000Z",
"actions": {
"migrate": {
"available": false,
"reason_code": "vm-has-not-launched",
"reason_description": "string"
},
"rebuild": {
"available": false,
"reason_code": "vm-has-not-launched",
"reason_description": "string"
},
"restart": {
"available": false,
"reason_code": "vm-has-not-launched",
"reason_description": "string"
},
"cold_reboot": {
"available": false,
"reason_code": "vm-has-not-launched",
"reason_description": "string"
},
"power_cycle": {
"available": false,
"reason_code": "vm-has-not-launched",
"reason_description": "string"
},
"terminate": {
"available": false,
"reason_code": "vm-has-not-launched",
"reason_description": "string"
}
},
"tags": [
{
"key": "key1",
"value": "value1"
}
],
"firewall_rulesets": [
{
"id": "c4d291f47f9d436fa39f58493ce3b50d"
}
]
}
],
"page_token": "eyJuZXh0IjoxNzA0MTk2ODAwfQ=="
}Live
Response
Error sending request
Retrieve instance details
Retrieves the details of a specific instance, including whether or not the instance is running.
Path Parameters
- id string required
The unique identifier (ID) of the instance
Response:200
- data Instance required
Detailed information about the instance.
- id string required
The unique identifier of the instance.
- name string optional
If set, the user-provided name of the instance.
- Minimum length: 0
- Maximum length: 64
- ip string optional
The public IPv4 address of the instance.
- private_ip string optional
The private IPv4 address of the instance.
- status enum required
The current status of the instance.
- Possible values:
- "booting"
- "active"
- "unhealthy"
- "terminated"
- "terminating"
- "preempted"
- Possible values:
- ssh_key_names array of string required
The names of the SSH keys that are allowed to access the instance.
- string
- file_system_names array of string required
The names of the filesystems mounted to the instance. If no filesystems are mounted, this array is empty.
- string
- file_system_mounts array of FilesystemMountEntry optional
The filesystems, along with the mount paths, mounted to the instances. If no filesystems are mounted, this parameter will be missing from the response.
- FilesystemMountEntry
The mount point for a filesystem mounted to an instance.
- mount_point string required
The absolute path indicating where on the instance the filesystem will be mounted.
- file_system_id string required
The id of the filesystem to mount to the instance.
- region Region required
The region in which the instance is deployed.
- name string required
The region code.
- description string required
The region description.
- instance_type InstanceType required
Detailed information about the instance's instance type.
- name string required
The name of the instance type.
- description string required
A description of the instance type.
- gpu_description string required
The type of GPU used by this instance type.
- price_cents_per_hour integer required
The price of the instance type in US cents per hour.
- specs InstanceTypeSpecs required
Detailed technical specifications for the instance type.
- vcpus integer required
The number of virtual CPUs.
- memory_gib integer required
The amount of RAM in gibibytes (GiB).
- storage_gib integer required
The amount of storage in gibibytes (GiB).
- gpus integer required
The number of GPUs.
- architecture enum required
The CPU architecture of the instance type.
- Possible values:
- "x86_64"
- "arm64"
- Possible values:
- image InstanceImage optional
The machine image the instance booted from. Absent when it can no longer be resolved, such as for a terminated instance.
- id string required
The unique identifier (ID) of the image.
- family string required
The family the image belongs to.
- hostname string optional
The hostname assigned to this instance, which resolves to the instance's IP.
- jupyter_token string optional
The secret token used to log into the JupyterLab server hosted on the instance.
- jupyter_url string optional
The URL that opens the JupyterLab environment on the instance.
- first_healthy (string | null) required
When the instance first became healthy, or null if it never has.
Any of
- string
- Format: date-time
- null
- actions InstanceActionAvailability required
A set of status objects representing the current availability of common instance operations.
- migrate InstanceActionAvailabilityDetails required
Indicates whether the instance is currently able to be migrated. If not, describes why the operation is blocked.
- available boolean required
If set, indicates that the relevant operation can be performed on the instance in its current state.
- reason_code (enum | string) optional
A code representing the instance state that is blocking the operation. Only provided if the operation is blocked.
Any of
- enum
- Possible values:
- "vm-has-not-launched"
- "vm-is-too-old"
- "vm-is-terminating"
- "vm-action-in-progress"
- "vm-action-unavailable-bare-metal"
- "vm-action-unavailable-virtualized"
- Possible values:
- string
- reason_description string optional
A longer description of why this operation is currently blocked. Only provided if the operation is blocked.
- rebuild InstanceActionAvailabilityDetails required
Indicates whether the instance is currently able to be rebuilt. If not, describes why the operation is blocked.
- available boolean required
If set, indicates that the relevant operation can be performed on the instance in its current state.
- reason_code (enum | string) optional
A code representing the instance state that is blocking the operation. Only provided if the operation is blocked.
Any of
- enum
- Possible values:
- "vm-has-not-launched"
- "vm-is-too-old"
- "vm-is-terminating"
- "vm-action-in-progress"
- "vm-action-unavailable-bare-metal"
- "vm-action-unavailable-virtualized"
- Possible values:
- string
- reason_description string optional
A longer description of why this operation is currently blocked. Only provided if the operation is blocked.
- restart InstanceActionAvailabilityDetails required
Indicates whether the instance is currently able to be restarted. If not, describes why the operation is blocked.
- available boolean required
If set, indicates that the relevant operation can be performed on the instance in its current state.
- reason_code (enum | string) optional
A code representing the instance state that is blocking the operation. Only provided if the operation is blocked.
Any of
- enum
- Possible values:
- "vm-has-not-launched"
- "vm-is-too-old"
- "vm-is-terminating"
- "vm-action-in-progress"
- "vm-action-unavailable-bare-metal"
- "vm-action-unavailable-virtualized"
- Possible values:
- string
- reason_description string optional
A longer description of why this operation is currently blocked. Only provided if the operation is blocked.
- cold_reboot InstanceActionAvailabilityDetails required
Indicates whether the instance is currently eligible for a cold reboot. If not, describes why the operation is blocked.
Deprecated: use
power_cycleinstead, which reports the same availability.- available boolean required
If set, indicates that the relevant operation can be performed on the instance in its current state.
- reason_code (enum | string) optional
A code representing the instance state that is blocking the operation. Only provided if the operation is blocked.
Any of
- enum
- Possible values:
- "vm-has-not-launched"
- "vm-is-too-old"
- "vm-is-terminating"
- "vm-action-in-progress"
- "vm-action-unavailable-bare-metal"
- "vm-action-unavailable-virtualized"
- Possible values:
- string
- reason_description string optional
A longer description of why this operation is currently blocked. Only provided if the operation is blocked.
- power_cycle InstanceActionAvailabilityDetails required
Indicates whether the instance is currently eligible for a power cycle. If not, describes why the operation is blocked.
- available boolean required
If set, indicates that the relevant operation can be performed on the instance in its current state.
- reason_code (enum | string) optional
A code representing the instance state that is blocking the operation. Only provided if the operation is blocked.
Any of
- enum
- Possible values:
- "vm-has-not-launched"
- "vm-is-too-old"
- "vm-is-terminating"
- "vm-action-in-progress"
- "vm-action-unavailable-bare-metal"
- "vm-action-unavailable-virtualized"
- Possible values:
- string
- reason_description string optional
A longer description of why this operation is currently blocked. Only provided if the operation is blocked.
- terminate InstanceActionAvailabilityDetails required
Indicates whether the instance is currently able to be terminated. If not, describes why the operation is blocked.
- available boolean required
If set, indicates that the relevant operation can be performed on the instance in its current state.
- reason_code (enum | string) optional
A code representing the instance state that is blocking the operation. Only provided if the operation is blocked.
Any of
- enum
- Possible values:
- "vm-has-not-launched"
- "vm-is-too-old"
- "vm-is-terminating"
- "vm-action-in-progress"
- "vm-action-unavailable-bare-metal"
- "vm-action-unavailable-virtualized"
- Possible values:
- string
- reason_description string optional
A longer description of why this operation is currently blocked. Only provided if the operation is blocked.
- tags array of TagEntry optional
Key/value pairs representing the instance's tags.
- TagEntry
- key string required
The key of the tag.
- value string required
The value of the tag.
- firewall_rulesets array of FirewallRulesetEntry optional
The firewall rulesets associated with this instance.
- FirewallRulesetEntry
Reference to a firewall ruleset.
- id string required
The unique identifier of the firewall ruleset.
Common Error Response Codes
400: Bad Request
- "global/invalid-parameters"
401: Unauthorized
- "global/invalid-api-key"
403: Forbidden
- "global/account-inactive"
- "global/forbidden"
404: Not Found
- "global/object-does-not-exist"
429: Too Many Requests
- "global/rate-limited"
Parameters & Request sample
Request sample
curl --request GET --url 'https://cloud.lambda.ai/api/v1/instances/ddaedf1b7a0e41ac981711504493b242' \
--header 'accept: application/json' \
--header 'Authorization: Bearer <YOUR-API-KEY>'Response
Sample
ResponseStatus: 200 OK
{
"data": {
"id": "0920582c7ff041399e34823a0be62549",
"name": "My Instance",
"ip": "198.51.100.2",
"private_ip": "10.0.2.100",
"status": "booting",
"ssh_key_names": [
"My SSH key"
],
"file_system_names": [
"my-filesystem"
],
"file_system_mounts": [
{
"mount_point": "/data/custom-mount-point",
"file_system_id": "398578a2336b49079e74043f0bd2cfe8"
}
],
"region": {
"name": "string",
"description": "string"
},
"instance_type": {
"name": "gpu_8x_h100_sxm5gdr",
"description": "8x H100 (80 GB SXM5)",
"gpu_description": "H100 (80 GB SXM5)",
"price_cents_per_hour": 3592,
"specs": {
"vcpus": 208,
"memory_gib": 1800,
"storage_gib": 24780,
"gpus": 8
},
"architecture": "x86_64"
},
"image": {
"id": "43336648-096d-4cba-9aa2-f9bb7727639d",
"family": "ubuntu-lts"
},
"hostname": "headnode1",
"jupyter_token": "03b7d30d9d3e4d8fa41657bc0d478c1b",
"jupyter_url": "https://jupyter-249e1ccff1894822af39ac822637f881.lambdaspaces.com/?token=03b7d30d9d3e4d8fa41657bc0d478c1b",
"first_healthy": "1970-01-01T00:00:00.000Z",
"actions": {
"migrate": {
"available": false,
"reason_code": "vm-has-not-launched",
"reason_description": "string"
},
"rebuild": {
"available": false,
"reason_code": "vm-has-not-launched",
"reason_description": "string"
},
"restart": {
"available": false,
"reason_code": "vm-has-not-launched",
"reason_description": "string"
},
"cold_reboot": {
"available": false,
"reason_code": "vm-has-not-launched",
"reason_description": "string"
},
"power_cycle": {
"available": false,
"reason_code": "vm-has-not-launched",
"reason_description": "string"
},
"terminate": {
"available": false,
"reason_code": "vm-has-not-launched",
"reason_description": "string"
}
},
"tags": [
{
"key": "key1",
"value": "value1"
}
],
"firewall_rulesets": [
{
"id": "c4d291f47f9d436fa39f58493ce3b50d"
}
]
}
}Live
Response
Error sending request
Update instance details
Updates the details of the specified instance.
Path Parameters
- id string required
The unique identifier (ID) of the instance
Body Parameters
- name string optional
The new, user-provided name for the instance.
- Minimum length: 0
- Maximum length: 64
- tags array of RequestedTagEntry optional
The new tags for the instance. If provided, this replaces the existing tags (an empty list clears them). If not provided, the tags will not be updated.
- RequestedTagEntry
- key string required
The key of the tag. On instances, keys starting with
lambda-ai-are reserved.- Maximum length: 55
- Regex pattern:
^[a-z][a-z0-9-:]+$
- value string required
The value of the tag.
- Maximum length: 128
Response:200
- data Instance required
Detailed information about the instance.
- id string required
The unique identifier of the instance.
- name string optional
If set, the user-provided name of the instance.
- Minimum length: 0
- Maximum length: 64
- ip string optional
The public IPv4 address of the instance.
- private_ip string optional
The private IPv4 address of the instance.
- status enum required
The current status of the instance.
- Possible values:
- "booting"
- "active"
- "unhealthy"
- "terminated"
- "terminating"
- "preempted"
- Possible values:
- ssh_key_names array of string required
The names of the SSH keys that are allowed to access the instance.
- string
- file_system_names array of string required
The names of the filesystems mounted to the instance. If no filesystems are mounted, this array is empty.
- string
- file_system_mounts array of FilesystemMountEntry optional
The filesystems, along with the mount paths, mounted to the instances. If no filesystems are mounted, this parameter will be missing from the response.
- FilesystemMountEntry
The mount point for a filesystem mounted to an instance.
- mount_point string required
The absolute path indicating where on the instance the filesystem will be mounted.
- file_system_id string required
The id of the filesystem to mount to the instance.
- region Region required
The region in which the instance is deployed.
- name string required
The region code.
- description string required
The region description.
- instance_type InstanceType required
Detailed information about the instance's instance type.
- name string required
The name of the instance type.
- description string required
A description of the instance type.
- gpu_description string required
The type of GPU used by this instance type.
- price_cents_per_hour integer required
The price of the instance type in US cents per hour.
- specs InstanceTypeSpecs required
Detailed technical specifications for the instance type.
- vcpus integer required
The number of virtual CPUs.
- memory_gib integer required
The amount of RAM in gibibytes (GiB).
- storage_gib integer required
The amount of storage in gibibytes (GiB).
- gpus integer required
The number of GPUs.
- architecture enum required
The CPU architecture of the instance type.
- Possible values:
- "x86_64"
- "arm64"
- Possible values:
- image InstanceImage optional
The machine image the instance booted from. Absent when it can no longer be resolved, such as for a terminated instance.
- id string required
The unique identifier (ID) of the image.
- family string required
The family the image belongs to.
- hostname string optional
The hostname assigned to this instance, which resolves to the instance's IP.
- jupyter_token string optional
The secret token used to log into the JupyterLab server hosted on the instance.
- jupyter_url string optional
The URL that opens the JupyterLab environment on the instance.
- first_healthy (string | null) required
When the instance first became healthy, or null if it never has.
Any of
- string
- Format: date-time
- null
- actions InstanceActionAvailability required
A set of status objects representing the current availability of common instance operations.
- migrate InstanceActionAvailabilityDetails required
Indicates whether the instance is currently able to be migrated. If not, describes why the operation is blocked.
- available boolean required
If set, indicates that the relevant operation can be performed on the instance in its current state.
- reason_code (enum | string) optional
A code representing the instance state that is blocking the operation. Only provided if the operation is blocked.
Any of
- enum
- Possible values:
- "vm-has-not-launched"
- "vm-is-too-old"
- "vm-is-terminating"
- "vm-action-in-progress"
- "vm-action-unavailable-bare-metal"
- "vm-action-unavailable-virtualized"
- Possible values:
- string
- reason_description string optional
A longer description of why this operation is currently blocked. Only provided if the operation is blocked.
- rebuild InstanceActionAvailabilityDetails required
Indicates whether the instance is currently able to be rebuilt. If not, describes why the operation is blocked.
- available boolean required
If set, indicates that the relevant operation can be performed on the instance in its current state.
- reason_code (enum | string) optional
A code representing the instance state that is blocking the operation. Only provided if the operation is blocked.
Any of
- enum
- Possible values:
- "vm-has-not-launched"
- "vm-is-too-old"
- "vm-is-terminating"
- "vm-action-in-progress"
- "vm-action-unavailable-bare-metal"
- "vm-action-unavailable-virtualized"
- Possible values:
- string
- reason_description string optional
A longer description of why this operation is currently blocked. Only provided if the operation is blocked.
- restart InstanceActionAvailabilityDetails required
Indicates whether the instance is currently able to be restarted. If not, describes why the operation is blocked.
- available boolean required
If set, indicates that the relevant operation can be performed on the instance in its current state.
- reason_code (enum | string) optional
A code representing the instance state that is blocking the operation. Only provided if the operation is blocked.
Any of
- enum
- Possible values:
- "vm-has-not-launched"
- "vm-is-too-old"
- "vm-is-terminating"
- "vm-action-in-progress"
- "vm-action-unavailable-bare-metal"
- "vm-action-unavailable-virtualized"
- Possible values:
- string
- reason_description string optional
A longer description of why this operation is currently blocked. Only provided if the operation is blocked.
- cold_reboot InstanceActionAvailabilityDetails required
Indicates whether the instance is currently eligible for a cold reboot. If not, describes why the operation is blocked.
Deprecated: use
power_cycleinstead, which reports the same availability.- available boolean required
If set, indicates that the relevant operation can be performed on the instance in its current state.
- reason_code (enum | string) optional
A code representing the instance state that is blocking the operation. Only provided if the operation is blocked.
Any of
- enum
- Possible values:
- "vm-has-not-launched"
- "vm-is-too-old"
- "vm-is-terminating"
- "vm-action-in-progress"
- "vm-action-unavailable-bare-metal"
- "vm-action-unavailable-virtualized"
- Possible values:
- string
- reason_description string optional
A longer description of why this operation is currently blocked. Only provided if the operation is blocked.
- power_cycle InstanceActionAvailabilityDetails required
Indicates whether the instance is currently eligible for a power cycle. If not, describes why the operation is blocked.
- available boolean required
If set, indicates that the relevant operation can be performed on the instance in its current state.
- reason_code (enum | string) optional
A code representing the instance state that is blocking the operation. Only provided if the operation is blocked.
Any of
- enum
- Possible values:
- "vm-has-not-launched"
- "vm-is-too-old"
- "vm-is-terminating"
- "vm-action-in-progress"
- "vm-action-unavailable-bare-metal"
- "vm-action-unavailable-virtualized"
- Possible values:
- string
- reason_description string optional
A longer description of why this operation is currently blocked. Only provided if the operation is blocked.
- terminate InstanceActionAvailabilityDetails required
Indicates whether the instance is currently able to be terminated. If not, describes why the operation is blocked.
- available boolean required
If set, indicates that the relevant operation can be performed on the instance in its current state.
- reason_code (enum | string) optional
A code representing the instance state that is blocking the operation. Only provided if the operation is blocked.
Any of
- enum
- Possible values:
- "vm-has-not-launched"
- "vm-is-too-old"
- "vm-is-terminating"
- "vm-action-in-progress"
- "vm-action-unavailable-bare-metal"
- "vm-action-unavailable-virtualized"
- Possible values:
- string
- reason_description string optional
A longer description of why this operation is currently blocked. Only provided if the operation is blocked.
- tags array of TagEntry optional
Key/value pairs representing the instance's tags.
- TagEntry
- key string required
The key of the tag.
- value string required
The value of the tag.
- firewall_rulesets array of FirewallRulesetEntry optional
The firewall rulesets associated with this instance.
- FirewallRulesetEntry
Reference to a firewall ruleset.
- id string required
The unique identifier of the firewall ruleset.
Common Error Response Codes
400: Bad Request
- "global/invalid-parameters"
401: Unauthorized
- "global/invalid-api-key"
403: Forbidden
- "global/account-inactive"
404: Not Found
- "global/object-does-not-exist"
429: Too Many Requests
- "global/rate-limited"
Parameters & Request sample
Request sample
curl --request POST --url 'https://cloud.lambda.ai/api/v1/instances/ddaedf1b7a0e41ac981711504493b242' \
--header 'accept: application/json' \
--header 'Authorization: Bearer <YOUR-API-KEY>' \
--data '{
"name": "My Instance",
"tags": [
{
"key": "key1",
"value": "value1"
}
]
}'Response
Sample
ResponseStatus: 200 OK
{
"data": {
"id": "0920582c7ff041399e34823a0be62549",
"name": "My Instance",
"ip": "198.51.100.2",
"private_ip": "10.0.2.100",
"status": "booting",
"ssh_key_names": [
"My SSH key"
],
"file_system_names": [
"my-filesystem"
],
"file_system_mounts": [
{
"mount_point": "/data/custom-mount-point",
"file_system_id": "398578a2336b49079e74043f0bd2cfe8"
}
],
"region": {
"name": "string",
"description": "string"
},
"instance_type": {
"name": "gpu_8x_h100_sxm5gdr",
"description": "8x H100 (80 GB SXM5)",
"gpu_description": "H100 (80 GB SXM5)",
"price_cents_per_hour": 3592,
"specs": {
"vcpus": 208,
"memory_gib": 1800,
"storage_gib": 24780,
"gpus": 8
},
"architecture": "x86_64"
},
"image": {
"id": "43336648-096d-4cba-9aa2-f9bb7727639d",
"family": "ubuntu-lts"
},
"hostname": "headnode1",
"jupyter_token": "03b7d30d9d3e4d8fa41657bc0d478c1b",
"jupyter_url": "https://jupyter-249e1ccff1894822af39ac822637f881.lambdaspaces.com/?token=03b7d30d9d3e4d8fa41657bc0d478c1b",
"first_healthy": "1970-01-01T00:00:00.000Z",
"actions": {
"migrate": {
"available": false,
"reason_code": "vm-has-not-launched",
"reason_description": "string"
},
"rebuild": {
"available": false,
"reason_code": "vm-has-not-launched",
"reason_description": "string"
},
"restart": {
"available": false,
"reason_code": "vm-has-not-launched",
"reason_description": "string"
},
"cold_reboot": {
"available": false,
"reason_code": "vm-has-not-launched",
"reason_description": "string"
},
"power_cycle": {
"available": false,
"reason_code": "vm-has-not-launched",
"reason_description": "string"
},
"terminate": {
"available": false,
"reason_code": "vm-has-not-launched",
"reason_description": "string"
}
},
"tags": [
{
"key": "key1",
"value": "value1"
}
],
"firewall_rulesets": [
{
"id": "c4d291f47f9d436fa39f58493ce3b50d"
}
]
}
}Live
Response
Error sending request
List regions
Retrieves a list of available regions.
Parameters
There are no parameters for this endpoint.
Response:200
- data array of Region required
- Region
- name string required
The region code.
- description string required
The region description.
Common Error Response Codes
401: Unauthorized
- "global/invalid-api-key"
403: Forbidden
- "global/account-inactive"
404: Not Found
- "global/not-found"
429: Too Many Requests
- "global/rate-limited"
Parameters & Request sample
Request sample
curl --request GET --url 'https://cloud.lambda.ai/api/v1/regions' \
--header 'accept: application/json' \
--header 'Authorization: Bearer <YOUR-API-KEY>'Response
Sample
ResponseStatus: 200 OK
{
"data": [
{
"name": "string",
"description": "string"
}
]
}Live
Response
Error sending request
Roles
Predefined and custom roles, and where each is assigned.
List all roles
Retrieves the roles available to the requestor.
Query Parameters
- page_size integer optional
Maximum number of results per page. Can be between 1 and 100. The default is 50.
- page_token string optional
A page token for cursor-based pagination.
- search string optional
Search against the role name and description. Unless order_by is given, results are ranked best match first.
- Maximum length: 128
- role_type enum optional
Filter to account roles or workspace roles. If omitted, both are returned.
- Possible values:
- "account"
- "workspace"
- Possible values:
- is_builtin boolean optional
Filter to built-in roles (true) or custom roles (false). If omitted, both are returned.
- permission_ids array of string optional
Only return roles that grant every listed permission. Repeat the parameter to require several.
- string
- order_by enum optional
The field to sort by. Defaults to relevance when search is given and created_at otherwise. relevance requires search.
- Possible values:
- "name"
- "description"
- "role_type"
- "is_builtin"
- "created_at"
- "relevance"
- Possible values:
- direction enum optional
The sort direction. Defaults to desc for created_at and relevance and asc for every other field.
- Possible values:
- "asc"
- "desc"
- Possible values:
Response:200
- data array of Role required
- Role
- id string required
The unique identifier (ID) of the role.
- name string required
The name of the role.
- role_type enum required
The type of the role.
- Possible values:
- "account"
- "workspace"
- Possible values:
- description (string | null) required
The description of the role.
Any of
- string
- null
- permission_ids array of string required
The permissions included in the role.
- string
- is_builtin boolean required
Whether the role is a built-in (predefined) role.
- created_at string required
The time the role was created.
- Format: date-time
- page_token (string | null) required
Provide this token in your next request to retrieve the next page of results. If there are no additional pages, this field has a null value.
Any of
- string
- null
Common Error Response Codes
400: Bad Request
- "global/invalid-parameters"
401: Unauthorized
- "global/invalid-api-key"
403: Forbidden
- "global/account-inactive"
404: Not Found
- "global/not-found"
429: Too Many Requests
- "global/rate-limited"
Parameters & Request sample
Request sample
curl --request GET --url 'https://cloud.lambda.ai/api/v1/roles' \
--header 'accept: application/json' \
--header 'Authorization: Bearer <YOUR-API-KEY>'Response
Sample
ResponseStatus: 200 OK
{
"data": [
{
"id": "ddaedf1b7a0e41ac981711504493b242",
"name": "string",
"role_type": "account",
"description": "string",
"permission_ids": [
"string"
],
"is_builtin": false,
"created_at": "1970-01-01T00:00:00.000Z"
}
],
"page_token": "eyJuZXh0IjoxNzA0MTk2ODAwfQ=="
}Live
Response
Error sending request
Get role details
Retrieves details about the specified role.
Path Parameters
- role_id string required
The unique identifier (ID) of the role.
Response:200
- data Role required
- id string required
The unique identifier (ID) of the role.
- name string required
The name of the role.
- role_type enum required
The type of the role.
- Possible values:
- "account"
- "workspace"
- Possible values:
- description (string | null) required
The description of the role.
Any of
- string
- null
- permission_ids array of string required
The permissions included in the role.
- string
- is_builtin boolean required
Whether the role is a built-in (predefined) role.
- created_at string required
The time the role was created.
- Format: date-time
Common Error Response Codes
400: Bad Request
- "global/invalid-parameters"
401: Unauthorized
- "global/invalid-api-key"
403: Forbidden
- "global/account-inactive"
404: Not Found
- "global/not-found"
429: Too Many Requests
- "global/rate-limited"
Parameters & Request sample
Request sample
curl --request GET --url 'https://cloud.lambda.ai/api/v1/roles/7bd64c8f8a89497384b4deb454fc4293' \
--header 'accept: application/json' \
--header 'Authorization: Bearer <YOUR-API-KEY>'Response
Sample
ResponseStatus: 200 OK
{
"data": {
"id": "ddaedf1b7a0e41ac981711504493b242",
"name": "string",
"role_type": "account",
"description": "string",
"permission_ids": [
"string"
],
"is_builtin": false,
"created_at": "1970-01-01T00:00:00.000Z"
}
}Live
Response
Error sending request
List your SSH keys
Retrieves a list of your SSH keys.
Parameters
There are no parameters for this endpoint.
Response:200
- data array of SSHKey required
- SSHKey
Information about a stored SSH key that can be used to access instances over SSH.
- id string required
The unique identifier (ID) of the SSH key.
- name string required
The name of the SSH key.
- Minimum length: 1
- Maximum length: 64
- public_key string required
The public key for the SSH key.
- Minimum length: 1
- Maximum length: 4096
Common Error Response Codes
400: Bad Request
- "global/invalid-parameters"
401: Unauthorized
- "global/invalid-api-key"
403: Forbidden
- "global/account-inactive"
404: Not Found
- "global/not-found"
429: Too Many Requests
- "global/rate-limited"
Parameters & Request sample
Request sample
curl --request GET --url 'https://cloud.lambda.ai/api/v1/ssh-keys' \
--header 'accept: application/json' \
--header 'Authorization: Bearer <YOUR-API-KEY>'Response
Sample
ResponseStatus: 200 OK
{
"data": [
{
"id": "ddf9a910ceb744a0bb95242cbba6cb50",
"name": "my-public-key",
"public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICN+lJwsONkwrdsSnQsu1ydUkIuIg5oOC+Eslvmtt60T noname"
}
]
}Live
Response
Error sending request
Add an SSH key
Add an SSH key to your Lambda Cloud account. You can upload an existing public key, or you can generate a new key pair.
-
To use an existing key pair, set the
public_keyproperty in the request body to your public key. -
To generate a new key pair, omit the
public_keyproperty from the request body.
For example, to generate a new key pair and associate it with a Lambda On-Demand Cloud instance:
-
Generate the key pair. The command provided below automatically extracts and saves the returned private key to a new file called
key.pem. Replace<NEW-KEY-NAME>with the name you want to assign to the SSH key:curl --request POST --url 'https://cloud.lambda.ai/api/v1/ssh-keys' \ --fail \ --header "Authorization: Bearer ${LAMBDA_API_KEY}" \ --data '{"name": "<NEW-KEY-NAME>"}' \ | jq -r '.data.private_key' > key.pem -
Next, set the private key's permissions to read-only:
chmod 400 key.pem -
Launch a new instance. Replace
<NEW-KEY-NAME>with the name you assigned to your SSH key.curl --request POST 'https://cloud.lambda.ai/api/v1/instance-operations/launch' \ --fail \ --header "Authorization: Bearer ${LAMBDA_API_KEY}" \ --data '{"region_name":"us-west-1","instance_type_name":"gpu_1x_a10","ssh_key_names":["<NEW-KEY-NAME>"],"file_system_names":[],"quantity":1,"name":"My Instance"}' -
From your local terminal, establish an SSH connection to the instance. Replace
<INSTANCE-IP>with the public IP of the instance:ssh -i key.pem <INSTANCE-IP>
Body Parameters
- name string required
The name of the SSH key.
- Minimum length: 1
- Maximum length: 64
- public_key string optional
The public key to store. Omit this to generate a new key pair.
- Minimum length: 1
- Maximum length: 4096
Response:200
- data (GeneratedSSHKey | SSHKey) required
Any of
- GeneratedSSHKey
Information about a server-generated SSH key.
- id string required
The unique identifier (ID) of the SSH key.
- name string required
The name of the SSH key.
- Minimum length: 1
- Maximum length: 64
- public_key string required
The public key for the SSH key.
- Minimum length: 1
- Maximum length: 4096
- private_key string required
The private key generated in the SSH key pair. Store this value locally; Lambda does not retain the private key server-side.
- SSHKey
Information about a stored SSH key that can be used to access instances over SSH.
- id string required
The unique identifier (ID) of the SSH key.
- name string required
The name of the SSH key.
- Minimum length: 1
- Maximum length: 64
- public_key string required
The public key for the SSH key.
- Minimum length: 1
- Maximum length: 4096
Common Error Response Codes
400: Bad Request
- "global/invalid-parameters"
401: Unauthorized
- "global/invalid-api-key"
403: Forbidden
- "global/account-inactive"
404: Not Found
- "global/not-found"
429: Too Many Requests
- "global/rate-limited"
Parameters & Request sample
Request sample
curl --request POST --url 'https://cloud.lambda.ai/api/v1/ssh-keys' \
--header 'accept: application/json' \
--header 'Authorization: Bearer <YOUR-API-KEY>' \
--data '{
"name": "my-public-key",
"public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICN+lJwsONkwrdsSnQsu1ydUkIuIg5oOC+Eslvmtt60T noname"
}'Response
Sample
ResponseStatus: 200 OK
{
"data": {
"id": "ddf9a910ceb744a0bb95242cbba6cb50",
"name": "my-public-key",
"public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICN+lJwsONkwrdsSnQsu1ydUkIuIg5oOC+Eslvmtt60T noname",
"private_key": "-----BEGIN RSA PRIVATE KEY-----\\n...\\n-----END RSA PRIVATE KEY-----\\n"
}
}Live
Response
Error sending request
Delete an SSH key
Deletes the specified SSH key.
Path Parameters
- id string required
The unique identifier (ID) of the SSH key to delete
Response:200
- data EmptyResponse required
Common Error Response Codes
400: Bad Request
- "global/invalid-parameters"
401: Unauthorized
- "global/invalid-api-key"
403: Forbidden
- "global/account-inactive"
404: Not Found
- "global/not-found"
429: Too Many Requests
- "global/rate-limited"
Parameters & Request sample
Request sample
curl --request DELETE --url 'https://cloud.lambda.ai/api/v1/ssh-keys/ddf9a910ceb744a0bb95242cbba6cb50' \
--header 'accept: application/json' \
--header 'Authorization: Bearer <YOUR-API-KEY>'Response
Sample
ResponseStatus: 200 OK
{
"data": {}
}Live
Response
Error sending request
Support Tickets
The Lambda Support Ticketing API is currently in beta. Contact support to enable access.
List support tickets
Retrieves a list of support tickets for your account.
Query Parameters
- status array of enum optional
The current status of a support ticket.
- enum
The current status of a support ticket.
- Possible values:
- "open"
- "on_hold"
- "pending"
- "solved"
- "confirm_solved"
- Possible values:
- type array of enum optional
The type of support ticket.
- enum
The type of support ticket.
- Possible values:
- "service_request"
- "incident"
- "automated_event"
- Possible values:
- severity array of enum optional
The severity level for incident tickets.
- enum
The severity level for incident tickets.
- Possible values:
- "sev_1"
- "sev_2"
- "sev_3"
- Possible values:
- priority array of enum optional
The priority level of a support ticket.
- enum
The priority level of a support ticket.
- Possible values:
- "low"
- "normal"
- "high"
- "urgent"
- Possible values:
- device_serial array of string optional
The serial number of the affected device. Matching is case-insensitive.
- string
- order_by enum optional
Specifies the field used to sort the list of tickets.
- Possible values:
- "created_at"
- "updated_at"
- Possible values:
- direction enum optional
Specifies the order in which to sort the list of tickets.
- Possible values:
- "asc"
- "desc"
- Possible values:
- page_token string optional
A page token. Provide this token in your next request to retrieve the next page of results. If there are no additional pages, this field has a null value.
Response:200
- data TicketListResponse required
- tickets array of Ticket required
The current page of tickets.
- Ticket
- id string required
The unique identifier for the ticket.
- subject string required
A short summary of the issue.
- description string required
The initial text provided when creating the issue or request.
- type enum optional
The type of support ticket.
- Possible values:
- "service_request"
- "incident"
- "automated_event"
- Possible values:
- severity enum optional
The severity level of the issue represented by the ticket. Omitted if the ticket isn't an
incident.- Possible values:
- "sev_1"
- "sev_2"
- "sev_3"
- Possible values:
- priority enum optional
The priority level of the ticket.
- Possible values:
- "low"
- "normal"
- "high"
- "urgent"
- Possible values:
- status enum required
The current status of the ticket.
- Possible values:
- "open"
- "on_hold"
- "pending"
- "solved"
- "confirm_solved"
- Possible values:
- external_ticket_provider string optional
The external ticketing provider name (e.g., "zendesk").
- external_ticket_id string optional
The external provider ticket ID (e.g., Zendesk ticket ID).
- hostname string optional
The hostname of the affected device.
- device_serial string optional
The serial number of the affected device.
- created_at string required
The date and time at which the ticket was created. Formatted as an ISO 8601 timestamp.
- Format: date-time
- updated_at string optional
The date and time at which the ticket was last updated. Formatted as an ISO 8601 timestamp.
- Format: date-time
- resolved_at string optional
The date and time at which the ticket was resolved. Formatted as an ISO 8601 timestamp.
- Format: date-time
- affected_devices array of string optional
The list of devices affected by the issue.
- string
- comments array of TicketComment required
The ticket's full comment history.
- TicketComment
- body string required
Comment text.
- author string required
The identifier of the comment author.
- created_at string required
The date and time at which the comment was created. Formatted as an ISO 8601 timestamp.
- Format: date-time
- page_token (string | null) required
A page token. Provide this token in your next request to retrieve the next page of results. Null if there are no additional pages.
Any of
- string
- null
Common Error Response Codes
400: Bad Request
- "global/invalid-parameters"
401: Unauthorized
- "global/invalid-api-key"
403: Forbidden
- "global/account-inactive"
404: Not Found
- "global/not-found"
429: Too Many Requests
- "global/rate-limited"
Parameters & Request sample
Request sample
curl --request GET --url 'https://cloud.lambda.ai/api/v1/tickets' \
--header 'accept: application/json' \
--header 'Authorization: Bearer <YOUR-API-KEY>'Response
Sample
ResponseStatus: 200 OK
{
"data": {
"tickets": [
{
"id": "0920582c7ff041399e34823a0be62549",
"subject": "Node 12345 is experiencing an issue",
"description": "Performance drops by 30-40% during peak hours..",
"type": "incident",
"severity": "sev_1",
"priority": "high",
"status": "open",
"external_ticket_provider": "zendesk",
"external_ticket_id": "12345",
"hostname": "abc-gpu-001",
"device_serial": "SN123456789",
"created_at": "2024-10-20T10:15:00Z",
"updated_at": "2024-10-23T14:30:00Z",
"resolved_at": "2024-10-25T09:00:00Z",
"affected_devices": [
"abc-gpu-001",
"abc-gpu-002"
],
"comments": [
{
"body": "Instance is experiencing high latency on GPU operations",
"author": "support-agent-123",
"created_at": "2024-10-23T14:30:00Z"
}
]
}
],
"page_token": "string"
}
}Live
Response
Error sending request
Create a support ticket
Creates a new support ticket.
Body Parameters
- subject string required
A short summary of the issue.
- description string required
An initial description of the issue or request. When you make an API request to list the comments on this ticket, this will appear as the first public comment in the list.
- type enum required
The type of support ticket.
- Possible values:
- "incident"
- "service_request"
- Possible values:
- severity enum optional
The severity level of the issue. Required for incident tickets, must not be provided for service requests.
- Possible values:
- "sev_1"
- "sev_2"
- "sev_3"
- Possible values:
- priority enum optional
The priority level of the ticket.
- Possible values:
- "low"
- "normal"
- "high"
- "urgent"
- Possible values:
- ip string optional
The IP address of the affected node.
- instance_id string optional
The ID of the affected on-demand instance.
- cluster_id string optional
The ID of the affected 1CC or Supercluster.
- hostname string optional
The hostname of the affected device.
- device_serial string optional
The serial number of the affected device.
- requester_email string optional
The email address to associate with the ticket's requester.
- affected_devices array of string optional
The list of devices affected by the issue.
- string
Response:200
- data TicketCreateResponse required
- id string required
The unique identifier for the ticket.
- external_ticket_provider string optional
The external ticketing provider name (e.g., "zendesk").
- external_ticket_id string optional
The external provider ticket ID (e.g., Zendesk ticket ID).
- status enum required
The current status of the ticket.
- Possible values:
- "open"
- "on_hold"
- "pending"
- "solved"
- "confirm_solved"
- Possible values:
- type enum required
The type of issue or request.
- Possible values:
- "service_request"
- "incident"
- "automated_event"
- Possible values:
- severity enum optional
The severity level of the issue represented by the ticket. Omitted if the ticket isn't an
incident.- Possible values:
- "sev_1"
- "sev_2"
- "sev_3"
- Possible values:
- priority enum optional
The priority level of the ticket.
- Possible values:
- "low"
- "normal"
- "high"
- "urgent"
- Possible values:
- affected_devices array of string optional
The list of devices affected by the issue.
- string
- hostname string optional
The hostname of the affected device.
- device_serial string optional
The serial number of the affected device.
- created_at string required
The date and time at which the ticket was created. Formatted as an ISO 8601 timestamp.
- Format: date-time
Common Error Response Codes
400: Bad Request
- "global/invalid-parameters"
- "support-tickets/creation-failed"
401: Unauthorized
- "global/invalid-api-key"
403: Forbidden
- "global/account-inactive"
- "global/forbidden"
404: Not Found
- "global/not-found"
429: Too Many Requests
- "global/rate-limited"
Parameters & Request sample
Request sample
curl --request POST --url 'https://cloud.lambda.ai/api/v1/tickets' \
--header 'accept: application/json' \
--header 'Authorization: Bearer <YOUR-API-KEY>' \
--data '{
"subject": "GPU cluster experiencing performance degradation",
"description": "Performance drops by 30-40% during peak hours.",
"type": "incident",
"severity": "sev_1",
"priority": "high",
"ip": "192.222.53.194",
"instance_id": "2fbb7a309a7c475abe7ee58bd125ac36",
"cluster_id": "a0bacf07268245a2b596b5863185a4ff",
"hostname": "abc-gpu-001",
"device_serial": "SN123456789",
"requester_email": "alerts@example.com",
"affected_devices": [
"abc-gpu-001",
"abc-gpu-002"
]
}'Response
Sample
ResponseStatus: 200 OK
{
"data": {
"id": "0920582c7ff041399e34823a0be62549",
"external_ticket_provider": "zendesk",
"external_ticket_id": "12345",
"status": "open",
"type": "incident",
"severity": "sev_1",
"priority": "high",
"affected_devices": [
"abc-gpu-001",
"abc-gpu-002"
],
"hostname": "abc-gpu-001",
"device_serial": "SN123456789",
"created_at": "2024-10-20T10:15:00Z"
}
}Live
Response
Error sending request
Get a support ticket
Retrieves a specific support ticket by ID.
Path Parameters
- ticket_id string required
The ticket ID.
Response:200
- data Ticket required
- id string required
The unique identifier for the ticket.
- subject string required
A short summary of the issue.
- description string required
The initial text provided when creating the issue or request.
- type enum optional
The type of support ticket.
- Possible values:
- "service_request"
- "incident"
- "automated_event"
- Possible values:
- severity enum optional
The severity level of the issue represented by the ticket. Omitted if the ticket isn't an
incident.- Possible values:
- "sev_1"
- "sev_2"
- "sev_3"
- Possible values:
- priority enum optional
The priority level of the ticket.
- Possible values:
- "low"
- "normal"
- "high"
- "urgent"
- Possible values:
- status enum required
The current status of the ticket.
- Possible values:
- "open"
- "on_hold"
- "pending"
- "solved"
- "confirm_solved"
- Possible values:
- external_ticket_provider string optional
The external ticketing provider name (e.g., "zendesk").
- external_ticket_id string optional
The external provider ticket ID (e.g., Zendesk ticket ID).
- hostname string optional
The hostname of the affected device.
- device_serial string optional
The serial number of the affected device.
- created_at string required
The date and time at which the ticket was created. Formatted as an ISO 8601 timestamp.
- Format: date-time
- updated_at string optional
The date and time at which the ticket was last updated. Formatted as an ISO 8601 timestamp.
- Format: date-time
- resolved_at string optional
The date and time at which the ticket was resolved. Formatted as an ISO 8601 timestamp.
- Format: date-time
- affected_devices array of string optional
The list of devices affected by the issue.
- string
- comments array of TicketComment required
The ticket's full comment history.
- TicketComment
- body string required
Comment text.
- author string required
The identifier of the comment author.
- created_at string required
The date and time at which the comment was created. Formatted as an ISO 8601 timestamp.
- Format: date-time
Common Error Response Codes
400: Bad Request
- "global/invalid-parameters"
401: Unauthorized
- "global/invalid-api-key"
403: Forbidden
- "global/account-inactive"
404: Not Found
- "global/not-found"
429: Too Many Requests
- "global/rate-limited"
Parameters & Request sample
Request sample
curl --request GET --url 'https://cloud.lambda.ai/api/v1/tickets/0920582c7ff041399e34823a0be62549' \
--header 'accept: application/json' \
--header 'Authorization: Bearer <YOUR-API-KEY>'Response
Sample
ResponseStatus: 200 OK
{
"data": {
"id": "0920582c7ff041399e34823a0be62549",
"subject": "Node 12345 is experiencing an issue",
"description": "Performance drops by 30-40% during peak hours..",
"type": "incident",
"severity": "sev_1",
"priority": "high",
"status": "open",
"external_ticket_provider": "zendesk",
"external_ticket_id": "12345",
"hostname": "abc-gpu-001",
"device_serial": "SN123456789",
"created_at": "2024-10-20T10:15:00Z",
"updated_at": "2024-10-23T14:30:00Z",
"resolved_at": "2024-10-25T09:00:00Z",
"affected_devices": [
"abc-gpu-001",
"abc-gpu-002"
],
"comments": [
{
"body": "Instance is experiencing high latency on GPU operations",
"author": "support-agent-123",
"created_at": "2024-10-23T14:30:00Z"
}
]
}
}Live
Response
Error sending request
Update a support ticket
Updates a support ticket status, severity, or priority, or adds a comment to the ticket. Returns a 202. Ticket updates happen asynchronously so to see the result of an update, re-query the tickets API.
Path Parameters
- ticket_id string required
The ticket ID.
Body Parameters
- status string optional
The new status to set the ticket to.
- Const:
"solved"
- Const:
- severity enum optional
The new severity level to set the ticket to.
- Possible values:
- "sev_1"
- "sev_2"
- "sev_3"
- Possible values:
- priority enum optional
The new priority level to set the ticket to.
- Possible values:
- "low"
- "normal"
- "high"
- "urgent"
- Possible values:
- comment TicketCommentInput optional
Adds a new comment.
- body string required
The text of the new comment.
- affected_devices array of string optional
The list of devices affected by the issue.
- string
Response:202
- data EmptyResponse required
Common Error Response Codes
400: Bad Request
- "global/invalid-parameters"
401: Unauthorized
- "global/invalid-api-key"
403: Forbidden
- "global/account-inactive"
404: Not Found
- "global/not-found"
429: Too Many Requests
- "global/rate-limited"
Parameters & Request sample
Request sample
curl --request PATCH --url 'https://cloud.lambda.ai/api/v1/tickets/0920582c7ff041399e34823a0be62549' \
--header 'accept: application/json' \
--header 'Authorization: Bearer <YOUR-API-KEY>' \
--data '{
"status": "solved",
"severity": "sev_2",
"priority": "high",
"comment": {
"body": "Turns out this was a non-issue on our end. Closing the ticket."
},
"affected_devices": [
"abc-gpu-001",
"abc-gpu-002"
]
}'Response
Sample
ResponseStatus: 202 Accepted
{
"data": {}
}Live
Response
Error sending request
List ticket attachments
Retrieves all attachments for a ticket.
Path Parameters
- ticket_id string required
The ticket ID.
Query Parameters
- status enum optional
The current status of an attachment upload.
- Possible values:
- "pending"
- "uploaded"
- "failed"
- "deleted"
- Possible values:
Response:200
- data AttachmentListResponse required
Response containing list of attachments.
- attachments array of Attachment required
Retrieves all attachments associated with the specified ticket. If status is omitted, only uploaded attachments will be returned.
- Attachment
Attachment metadata.
- id string required
The unique identifier for the attachment.
- filename string required
The original filename.
- content_type string required
The MIME type of the attached file.
- size_bytes integer required
The attached file's size in bytes.
- upload_status enum required
The current upload status of the attachment.
- Possible values:
- "pending"
- "uploaded"
- "failed"
- "deleted"
- Possible values:
- uploaded_at string optional
The date and time at which the attachment finished uploading. Formatted as an ISO 8601 timestamp. Omitted if the attachment hasn't been uploaded yet.
- Format: date-time
- created_at string required
The date and time at which the attachment was created. Formatted as an ISO 8601 timestamp.
- Format: date-time
Common Error Response Codes
400: Bad Request
- "global/invalid-parameters"
401: Unauthorized
- "global/invalid-api-key"
403: Forbidden
- "global/account-inactive"
- "global/forbidden"
404: Not Found
- "global/not-found"
429: Too Many Requests
- "global/rate-limited"
Parameters & Request sample
Request sample
curl --request GET --url 'https://cloud.lambda.ai/api/v1/tickets/0920582c7ff041399e34823a0be62549/attachments' \
--header 'accept: application/json' \
--header 'Authorization: Bearer <YOUR-API-KEY>'Response
Sample
ResponseStatus: 200 OK
{
"data": {
"attachments": [
{
"id": "0920582c7ff041399e34823a0be62549",
"filename": "debug-logs.tar.gz",
"content_type": "application/gzip",
"size_bytes": 1024000,
"upload_status": "uploaded",
"uploaded_at": "2024-10-20T10:15:00Z",
"created_at": "2024-10-20T10:10:00Z"
}
]
}
}Live
Response
Error sending request
Initiate attachment upload
Start the upload process for a ticket attachment. Returns a presigned URL for direct upload to storage.
Path Parameters
- ticket_id string required
The ticket ID.
Body Parameters
- filename string required
The original filename.
- Maximum length: 255
- content_type string required
The MIME type of the attachment, such as
application/gzipfor a .gz file or text/plain for a plaintext file. - size_bytes integer required
The file size in bytes. The file size must be one or more bytes.
- Minimum : 1
Response:200
- data AttachmentInitiateResponse required
Response with upload instructions.
- attachment_id string required
The unique identifier for the attachment.
- upload_url string required
A presigned URL. Use this URL to directly upload the attachment to storage.
- upload_method string required
The HTTP method to use when uploading your attachment (PUT or POST).
- upload_status enum required
The current upload status of your attachment.
- Possible values:
- "pending"
- "uploaded"
- "failed"
- "deleted"
- Possible values:
- expires_in integer required
The window of time, in seconds, that the provided presigned URL is available to be uploaded to.
Common Error Response Codes
400: Bad Request
- "global/invalid-parameters"
401: Unauthorized
- "global/invalid-api-key"
403: Forbidden
- "global/account-inactive"
- "global/forbidden"
404: Not Found
- "global/not-found"
429: Too Many Requests
- "global/rate-limited"
Parameters & Request sample
Request sample
curl --request POST --url 'https://cloud.lambda.ai/api/v1/tickets/0920582c7ff041399e34823a0be62549/attachments' \
--header 'accept: application/json' \
--header 'Authorization: Bearer <YOUR-API-KEY>' \
--data '{
"filename": "debug-logs.tar.gz",
"content_type": "application/gzip",
"size_bytes": 1024000
}'Response
Sample
ResponseStatus: 200 OK
{
"data": {
"attachment_id": "0920582c7ff041399e34823a0be62549",
"upload_url": "https://s3.amazonaws.com/...presigned-url",
"upload_method": "PUT",
"upload_status": "pending",
"expires_in": 3600
}
}Live
Response
Error sending request
Delete attachment
Delete an attachment.
Path Parameters
- ticket_id string required
The ticket ID.
- attachment_id string required
The attachment ID.
Response:200
- data EmptyResponse required
Common Error Response Codes
400: Bad Request
- "global/invalid-parameters"
401: Unauthorized
- "global/invalid-api-key"
403: Forbidden
- "global/account-inactive"
- "global/forbidden"
404: Not Found
- "global/not-found"
- "global/object-does-not-exist"
429: Too Many Requests
- "global/rate-limited"
Parameters & Request sample
Request sample
curl --request DELETE --url 'https://cloud.lambda.ai/api/v1/tickets/0920582c7ff041399e34823a0be62549/attachments/0920582c7ff041399e34823a0be62549' \
--header 'accept: application/json' \
--header 'Authorization: Bearer <YOUR-API-KEY>'Response
Sample
ResponseStatus: 200 OK
{
"data": {}
}Live
Response
Error sending request
Complete attachment upload
Mark attachment upload as complete after client finishes uploading to storage.
Path Parameters
- ticket_id string required
The ticket ID.
- attachment_id string required
The attachment ID.
Response:200
- data Attachment required
Attachment metadata.
- id string required
The unique identifier for the attachment.
- filename string required
The original filename.
- content_type string required
The MIME type of the attached file.
- size_bytes integer required
The attached file's size in bytes.
- upload_status enum required
The current upload status of the attachment.
- Possible values:
- "pending"
- "uploaded"
- "failed"
- "deleted"
- Possible values:
- uploaded_at string optional
The date and time at which the attachment finished uploading. Formatted as an ISO 8601 timestamp. Omitted if the attachment hasn't been uploaded yet.
- Format: date-time
- created_at string required
The date and time at which the attachment was created. Formatted as an ISO 8601 timestamp.
- Format: date-time
Common Error Response Codes
400: Bad Request
- "global/invalid-parameters"
401: Unauthorized
- "global/invalid-api-key"
403: Forbidden
- "global/account-inactive"
- "global/forbidden"
404: Not Found
- "global/not-found"
- "global/object-does-not-exist"
429: Too Many Requests
- "global/rate-limited"
Parameters & Request sample
Request sample
curl --request POST --url 'https://cloud.lambda.ai/api/v1/tickets/0920582c7ff041399e34823a0be62549/attachments/0920582c7ff041399e34823a0be62549/complete' \
--header 'accept: application/json' \
--header 'Authorization: Bearer <YOUR-API-KEY>'Response
Sample
ResponseStatus: 200 OK
{
"data": {
"id": "0920582c7ff041399e34823a0be62549",
"filename": "debug-logs.tar.gz",
"content_type": "application/gzip",
"size_bytes": 1024000,
"upload_status": "uploaded",
"uploaded_at": "2024-10-20T10:15:00Z",
"created_at": "2024-10-20T10:10:00Z"
}
}Live
Response
Error sending request
Get attachment download URL
Generate a temporary download URL for an attachment.
Path Parameters
- ticket_id string required
The ticket ID.
- attachment_id string required
The attachment ID.
Response:200
- data AttachmentDownloadResponse required
The response with the download URL.
- download_url string required
A presigned URL for downloading the file.
- expires_in integer required
The URL expiration time in seconds.
Common Error Response Codes
400: Bad Request
- "global/invalid-parameters"
401: Unauthorized
- "global/invalid-api-key"
403: Forbidden
- "global/account-inactive"
- "global/forbidden"
404: Not Found
- "global/not-found"
- "global/object-does-not-exist"
429: Too Many Requests
- "global/rate-limited"
Parameters & Request sample
Request sample
curl --request GET --url 'https://cloud.lambda.ai/api/v1/tickets/0920582c7ff041399e34823a0be62549/attachments/0920582c7ff041399e34823a0be62549/download' \
--header 'accept: application/json' \
--header 'Authorization: Bearer <YOUR-API-KEY>'Response
Sample
ResponseStatus: 200 OK
{
"data": {
"download_url": "https://s3.amazonaws.com/...presigned-download-url",
"expires_in": 3600
}
}Live
Response
Error sending request
List workspaces
Lists the workspaces the requester is a member of, by default (when view=membership),
or all workspaces in the account (when view=all).
The view=all option requires the iam:workspace:read permission on the account.
Query Parameters
- view enum optional
- Default: "membership"
- Possible values:
- "membership"
- "all"
Response:200
- data array of Workspace required
- Workspace
A workspace provides logical isolation for resources within an account.
- id string required
The unique identifier (ID) of the workspace.
- name string required
The name of the workspace.
- account_id string required
The unique identifier of the account that owns this workspace.
- created string required
The date and time at which the workspace was created. Formatted as an ISO 8601 timestamp.
- Format: date-time
- is_default boolean required
Whether this is the default workspace for the account.
Common Error Response Codes
400: Bad Request
- "global/invalid-parameters"
401: Unauthorized
- "global/invalid-api-key"
403: Forbidden
- "global/account-inactive"
404: Not Found
- "global/not-found"
429: Too Many Requests
- "global/rate-limited"
Parameters & Request sample
Request sample
curl --request GET --url 'https://cloud.lambda.ai/api/v1/workspaces' \
--header 'accept: application/json' \
--header 'Authorization: Bearer <YOUR-API-KEY>'Response
Sample
ResponseStatus: 200 OK
{
"data": [
{
"id": "c4d291f47f9d436fa39f58493ce3b50d",
"name": "My Workspace",
"account_id": "a8d9c6729e12468786d1c44c0e942719",
"created": "1970-01-01T00:00:00.000Z",
"is_default": false
}
]
}Live
Response
Error sending request
Create workspace
Creates a workspace with the specified name and makes the requester a member.
Body Parameters
- name string required
The name of the workspace.
- Minimum length: 1
- Maximum length: 128
Response:200
- data Workspace required
A workspace provides logical isolation for resources within an account.
- id string required
The unique identifier (ID) of the workspace.
- name string required
The name of the workspace.
- account_id string required
The unique identifier of the account that owns this workspace.
- created string required
The date and time at which the workspace was created. Formatted as an ISO 8601 timestamp.
- Format: date-time
- is_default boolean required
Whether this is the default workspace for the account.
Common Error Response Codes
400: Bad Request
- "global/quota-exceeded"
- "global/invalid-parameters"
401: Unauthorized
- "global/invalid-api-key"
403: Forbidden
- "global/account-inactive"
404: Not Found
- "global/not-found"
429: Too Many Requests
- "global/rate-limited"
Parameters & Request sample
Request sample
curl --request POST --url 'https://cloud.lambda.ai/api/v1/workspaces' \
--header 'accept: application/json' \
--header 'Authorization: Bearer <YOUR-API-KEY>' \
--data '{
"name": "My Workspace"
}'Response
Sample
ResponseStatus: 200 OK
{
"data": {
"id": "c4d291f47f9d436fa39f58493ce3b50d",
"name": "My Workspace",
"account_id": "a8d9c6729e12468786d1c44c0e942719",
"created": "1970-01-01T00:00:00.000Z",
"is_default": false
}
}Live
Response
Error sending request
Retrieve workspace details
Retrieves the details of a specific workspace.
Path Parameters
- id string required
The unique identifier (ID) of the workspace
Response:200
- data Workspace required
A workspace provides logical isolation for resources within an account.
- id string required
The unique identifier (ID) of the workspace.
- name string required
The name of the workspace.
- account_id string required
The unique identifier of the account that owns this workspace.
- created string required
The date and time at which the workspace was created. Formatted as an ISO 8601 timestamp.
- Format: date-time
- is_default boolean required
Whether this is the default workspace for the account.
Common Error Response Codes
400: Bad Request
- "global/invalid-parameters"
401: Unauthorized
- "global/invalid-api-key"
403: Forbidden
- "global/account-inactive"
404: Not Found
- "global/not-found"
429: Too Many Requests
- "global/rate-limited"
Parameters & Request sample
Request sample
curl --request GET --url 'https://cloud.lambda.ai/api/v1/workspaces/ddaedf1b7a0e41ac981711504493b242' \
--header 'accept: application/json' \
--header 'Authorization: Bearer <YOUR-API-KEY>'Response
Sample
ResponseStatus: 200 OK
{
"data": {
"id": "c4d291f47f9d436fa39f58493ce3b50d",
"name": "My Workspace",
"account_id": "a8d9c6729e12468786d1c44c0e942719",
"created": "1970-01-01T00:00:00.000Z",
"is_default": false
}
}Live
Response
Error sending request
Update workspace
Updates a workspace. This is a partial update that allows updating the name.
Path Parameters
- id string required
The unique identifier (ID) of the workspace
Body Parameters
- name string optional
The new name for the workspace. If not provided, the name will not be updated.
- Minimum length: 1
- Maximum length: 128
Response:200
- data Workspace required
A workspace provides logical isolation for resources within an account.
- id string required
The unique identifier (ID) of the workspace.
- name string required
The name of the workspace.
- account_id string required
The unique identifier of the account that owns this workspace.
- created string required
The date and time at which the workspace was created. Formatted as an ISO 8601 timestamp.
- Format: date-time
- is_default boolean required
Whether this is the default workspace for the account.
Common Error Response Codes
400: Bad Request
- "global/invalid-parameters"
401: Unauthorized
- "global/invalid-api-key"
403: Forbidden
- "global/account-inactive"
404: Not Found
- "global/not-found"
429: Too Many Requests
- "global/rate-limited"
Parameters & Request sample
Request sample
curl --request PATCH --url 'https://cloud.lambda.ai/api/v1/workspaces/ddaedf1b7a0e41ac981711504493b242' \
--header 'accept: application/json' \
--header 'Authorization: Bearer <YOUR-API-KEY>' \
--data '{
"name": "My Updated Workspace"
}'Response
Sample
ResponseStatus: 200 OK
{
"data": {
"id": "c4d291f47f9d436fa39f58493ce3b50d",
"name": "My Workspace",
"account_id": "a8d9c6729e12468786d1c44c0e942719",
"created": "1970-01-01T00:00:00.000Z",
"is_default": false
}
}Live
Response
Error sending request
Delete workspace
Deletes the workspace with the specified ID.
Path Parameters
- id string required
The unique identifier (ID) of the workspace
Response:200
- data EmptyResponse required
Common Error Response Codes
400: Bad Request
- "workspaces/workspace-in-use"
- "global/invalid-parameters"
401: Unauthorized
- "global/invalid-api-key"
403: Forbidden
- "global/account-inactive"
404: Not Found
- "global/not-found"
429: Too Many Requests
- "global/rate-limited"
Parameters & Request sample
Request sample
curl --request DELETE --url 'https://cloud.lambda.ai/api/v1/workspaces/ddaedf1b7a0e41ac981711504493b242' \
--header 'accept: application/json' \
--header 'Authorization: Bearer <YOUR-API-KEY>'Response
Sample
ResponseStatus: 200 OK
{
"data": {}
}Live
Response
Error sending request
List workspace memberships
Retrieves a list of all memberships for a workspace.
Path Parameters
- workspace_id string required
The unique identifier (ID) of the workspace.
Response:200
- data array of WorkspaceMembership required
- WorkspaceMembership
A workspace membership, keyed on its own ID so identities and groups can be referenced uniformly.
- id string required
- workspace_id string required
- member_type enum required
The kind of entity referenced by
member_id.- Possible values:
- "identity"
- "group"
- Possible values:
- member_id string required
The unique identifier of the identity or group that is a member of the workspace.
Common Error Response Codes
400: Bad Request
- "global/invalid-parameters"
401: Unauthorized
- "global/invalid-api-key"
403: Forbidden
- "global/account-inactive"
404: Not Found
- "global/not-found"
429: Too Many Requests
- "global/rate-limited"
Parameters & Request sample
Request sample
curl --request GET --url 'https://cloud.lambda.ai/api/v1/workspaces/ddaedf1b7a0e41ac981711504493b242/memberships' \
--header 'accept: application/json' \
--header 'Authorization: Bearer <YOUR-API-KEY>'Response
Sample
ResponseStatus: 200 OK
{
"data": [
{
"id": "ddaedf1b7a0e41ac981711504493b242",
"workspace_id": "ddaedf1b7a0e41ac981711504493b242",
"member_type": "identity",
"member_id": "ddaedf1b7a0e41ac981711504493b242"
}
]
}Live
Response
Error sending request
Create workspace membership
Adds an identity to a workspace.
Path Parameters
- workspace_id string required
The unique identifier (ID) of the workspace.
Body Parameters
- member_type enum optional
- Default: "identity"
- Possible values:
- "identity"
- "group"
- member_id string required
- role_ids array of string optional
Workspace roles to assign to the new member.
When omitted, the built-in Workspace Member role is assigned. An empty list assigns no roles.
- string
Response:200
- data WorkspaceMembership required
A workspace membership, keyed on its own ID so identities and groups can be referenced uniformly.
- id string required
- workspace_id string required
- member_type enum required
The kind of entity referenced by
member_id.- Possible values:
- "identity"
- "group"
- Possible values:
- member_id string required
The unique identifier of the identity or group that is a member of the workspace.
Common Error Response Codes
400: Bad Request
- "global/invalid-parameters"
401: Unauthorized
- "global/invalid-api-key"
403: Forbidden
- "global/account-inactive"
- "global/forbidden"
404: Not Found
- "global/not-found"
429: Too Many Requests
- "global/rate-limited"
Parameters & Request sample
Request sample
curl --request POST --url 'https://cloud.lambda.ai/api/v1/workspaces/ddaedf1b7a0e41ac981711504493b242/memberships' \
--header 'accept: application/json' \
--header 'Authorization: Bearer <YOUR-API-KEY>' \
--data '{
"member_type": "identity",
"member_id": "ddaedf1b7a0e41ac981711504493b242",
"role_ids": [
"ddaedf1b7a0e41ac981711504493b242"
]
}'Response
Sample
ResponseStatus: 200 OK
{
"data": {
"id": "ddaedf1b7a0e41ac981711504493b242",
"workspace_id": "ddaedf1b7a0e41ac981711504493b242",
"member_type": "identity",
"member_id": "ddaedf1b7a0e41ac981711504493b242"
}
}Live
Response
Error sending request
Get workspace membership details
Retrieves the details of a specific workspace membership.
Path Parameters
- workspace_id string required
The unique identifier (ID) of the workspace.
- membership_id string required
The unique identifier (ID) of the membership.
Response:200
- data WorkspaceMembership required
A workspace membership, keyed on its own ID so identities and groups can be referenced uniformly.
- id string required
- workspace_id string required
- member_type enum required
The kind of entity referenced by
member_id.- Possible values:
- "identity"
- "group"
- Possible values:
- member_id string required
The unique identifier of the identity or group that is a member of the workspace.
Common Error Response Codes
400: Bad Request
- "global/invalid-parameters"
401: Unauthorized
- "global/invalid-api-key"
403: Forbidden
- "global/account-inactive"
404: Not Found
- "global/not-found"
429: Too Many Requests
- "global/rate-limited"
Parameters & Request sample
Request sample
curl --request GET --url 'https://cloud.lambda.ai/api/v1/workspaces/ddaedf1b7a0e41ac981711504493b242/memberships/ddaedf1b7a0e41ac981711504493b242' \
--header 'accept: application/json' \
--header 'Authorization: Bearer <YOUR-API-KEY>'Response
Sample
ResponseStatus: 200 OK
{
"data": {
"id": "ddaedf1b7a0e41ac981711504493b242",
"workspace_id": "ddaedf1b7a0e41ac981711504493b242",
"member_type": "identity",
"member_id": "ddaedf1b7a0e41ac981711504493b242"
}
}Live
Response
Error sending request
Delete workspace membership
Removes an identity or group from a workspace. Cascades to related workspace-scoped role assignments.
Path Parameters
- workspace_id string required
The unique identifier (ID) of the workspace.
- membership_id string required
The unique identifier (ID) of the membership.
Response:200
- data EmptyResponse required
Common Error Response Codes
400: Bad Request
- "global/invalid-parameters"
401: Unauthorized
- "global/invalid-api-key"
403: Forbidden
- "global/account-inactive"
404: Not Found
- "global/not-found"
429: Too Many Requests
- "global/rate-limited"
Parameters & Request sample
Request sample
curl --request DELETE --url 'https://cloud.lambda.ai/api/v1/workspaces/ddaedf1b7a0e41ac981711504493b242/memberships/ddaedf1b7a0e41ac981711504493b242' \
--header 'accept: application/json' \
--header 'Authorization: Bearer <YOUR-API-KEY>'Response
Sample
ResponseStatus: 200 OK
{
"data": {}
}Live
Response