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.
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
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.
- 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,
"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.
- 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,
"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.
Query Parameters
- 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.
- 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/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",
"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
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.
- 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",
"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.
- 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",
"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
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