{"openapi":"3.0.0","info":{"description":"Lambda Cloud API connector (Lambda, formerly Lambda Labs) — GPU instances, instance types, SSH keys, firewall rulesets, file systems, and support tickets over REST.","version":"v1"},"servers":[{"description":"Lambda Cloud API connector (Lambda, formerly Lambda Labs) — GPU instances, instance types, SSH keys, firewall rulesets, file systems, and support tickets over REST.","url":"https://api.apirails.com/lambdalabs"}],"paths":{"/api/v1/audit-events":{"get":{"tags":["Audit Events"],"parameters":[{"name":"start","in":"query","description":"An ISO 8601 timestamp defining the start of the time range to query, inclusive. If omitted, the response starts at the earliest available event.","required":false,"schema":{"type":"string","example":""}},{"name":"end","in":"query","description":"An ISO 8601 timestamp defining the end of the time range to query, inclusive. If omitted, the response ends at the most recent event.","required":false,"schema":{"type":"string","example":""}},{"name":"page_token","in":"query","description":"The token returned by the previous API response to retrieve the next page of results.","required":false,"schema":{"type":"string","example":""}},{"name":"resource_type","in":"query","description":"The resource type to filter by. By default, all available resource types are retrieved.","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.lambda.ai/api/cloud#getAuditEvents","api_endpoint":"https://cloud.lambda.ai/api/v1/audit-events"},"summary":"Get audit events","description":"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](https://docs.lambda.ai/public-cloud/access-security#audit-logs) in the Lambda Cloud documentation. | Source: official OpenAPI spec at https://docs.lambda.ai/api/cloud/spec.json","security":[{"bearerAuth":[]}]}},"/api/v1/file-systems":{"get":{"tags":["Filesystems"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.lambda.ai/api/cloud#listFilesystems","api_endpoint":"https://cloud.lambda.ai/api/v1/file-systems"},"summary":"List filesystems","description":"List filesystems | Retrieves a list of your filesystems. | Source: official OpenAPI spec at https://docs.lambda.ai/api/cloud/spec.json","security":[{"bearerAuth":[]}]}},"/api/v1/filesystems":{"post":{"tags":["Filesystems"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.lambda.ai/api/cloud#createFilesystem","api_endpoint":"https://cloud.lambda.ai/api/v1/filesystems"},"summary":"Create filesystem","description":"Create filesystem | Creates a new filesystem. | Source: official OpenAPI spec at https://docs.lambda.ai/api/cloud/spec.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"name":{"type":"string","description":"The name of the filesystem.","required":true},"region":{"type":"string","description":"The region in which you want to create the filesystem.","required":true}}},"example":{"name":["string"],"region":["string"]}}}}}},"/api/v1/filesystems/{id}":{"delete":{"tags":["Filesystems"],"parameters":[{"name":"id","in":"path","description":"The unique identifier (ID) of the filesystem to delete","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.lambda.ai/api/cloud#filesystemDelete","api_endpoint":"https://cloud.lambda.ai/api/v1/filesystems/{id}"},"summary":"Delete filesystem","description":"Delete filesystem | Deletes the filesystem with the specified ID. The filesystem must not be mounted to any running instances at the time of deletion. | Source: official OpenAPI spec at https://docs.lambda.ai/api/cloud/spec.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/api/v1/firewall-rules":{"get":{"tags":["Firewalls"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.lambda.ai/api/cloud#firewallRulesList","api_endpoint":"https://cloud.lambda.ai/api/v1/firewall-rules"},"summary":"List inbound firewall rules","description":"List inbound firewall rules | Retrieves a list of your firewall rules.\n**Note:** Firewall rules do not apply to the **us-south-1** region. | Source: official OpenAPI spec at https://docs.lambda.ai/api/cloud/spec.json","security":[{"bearerAuth":[]}]},"put":{"tags":["Firewalls"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.lambda.ai/api/cloud#firewallRulesSet","api_endpoint":"https://cloud.lambda.ai/api/v1/firewall-rules"},"summary":"Replace inbound firewall rules","description":"Replace inbound firewall rules | Overwrites the inbound firewall rules currently active for your account's instances with the desired rules.\n**Note:** Firewall rules do not apply to the **us-south-1** region. | Source: official OpenAPI spec at https://docs.lambda.ai/api/cloud/spec.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"data":{"type":"array","description":"The list of inbound firewall rules.","required":true,"items":{"type":"object","properties":{"protocol":{"type":"string","description":"body.data.protocol (string field from the documented request schema)","required":true},"port_range":{"type":"array","description":"An inclusive range of network ports specified as `[min, max]`.\nNot allowed for the `icmp` protocol but required for the others.\nTo specify a single port, list it twice (for example, `[22,22]`)."},"source_network":{"type":"string","description":"The set of source IPv4 addresses from which you want to allow inbound\ntraffic. These addresses must be specified in CIDR notation. You can\nspecify individual public IPv4 CIDR blocks such as `1.2.3.4` or\n`1.2.3.4/32`, or you can specify `0.0.0.0/0` to allow access from any\naddress.\nThis value is a string consisting of a public IPv4 address optionally\nfollowed by a slash (/) and an integer mask (the network prefix).\nIf no mask is provided, the API assumes `/32` by default.","required":true},"description":{"type":"string","description":"A human-readable description of the rule.","required":true}}}}}},"example":{"data":[[{"protocol":"tcp","port_range":[0],"source_network":"string","description":"string"}]]}}}}}},"/api/v1/firewall-rulesets":{"get":{"tags":["Firewalls"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.lambda.ai/api/cloud#firewallRulesetsList","api_endpoint":"https://cloud.lambda.ai/api/v1/firewall-rulesets"},"summary":"List firewall rulesets","description":"List firewall rulesets | Retrieves a list of your firewall rulesets. | Source: official OpenAPI spec at https://docs.lambda.ai/api/cloud/spec.json","security":[{"bearerAuth":[]}]},"post":{"tags":["Firewalls"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.lambda.ai/api/cloud#createFirewallRuleset","api_endpoint":"https://cloud.lambda.ai/api/v1/firewall-rulesets"},"summary":"Create firewall ruleset","description":"Create firewall ruleset | Creates a new firewall ruleset with the specified name and rules. | Source: official OpenAPI spec at https://docs.lambda.ai/api/cloud/spec.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"name":{"type":"string","description":"The name of the firewall ruleset.","required":true},"region":{"type":"string","description":"The region in which the firewall ruleset is deployed.","required":true},"rules":{"type":"array","description":"The firewall rules to include in the ruleset.","required":true,"items":{"type":"object","properties":{"protocol":{"type":"string","description":"body.rules.protocol (string field from the documented request schema)","required":true},"port_range":{"type":"array","description":"An inclusive range of network ports specified as `[min, max]`.\nNot allowed for the `icmp` protocol but required for the others.\nTo specify a single port, list it twice (for example, `[22,22]`)."},"source_network":{"type":"string","description":"The set of source IPv4 addresses from which you want to allow inbound\ntraffic. These addresses must be specified in CIDR notation. You can\nspecify individual public IPv4 CIDR blocks such as `1.2.3.4` or\n`1.2.3.4/32`, or you can specify `0.0.0.0/0` to allow access from any\naddress.\nThis value is a string consisting of a public IPv4 address optionally\nfollowed by a slash (/) and an integer mask (the network prefix).\nIf no mask is provided, the API assumes `/32` by default.","required":true},"description":{"type":"string","description":"A human-readable description of the rule.","required":true}}}}}},"example":{"name":["string"],"region":["string"],"rules":[[{"protocol":"tcp","port_range":[0],"source_network":"string","description":"string"}]]}}}}}},"/api/v1/firewall-rulesets/global":{"get":{"tags":["Firewalls"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.lambda.ai/api/cloud#getGlobalFirewallRuleset","api_endpoint":"https://cloud.lambda.ai/api/v1/firewall-rulesets/global"},"summary":"Retrieve global firewall ruleset details","description":"Retrieve global firewall ruleset details | Retrieves the details of the global firewall ruleset. | Source: official OpenAPI spec at https://docs.lambda.ai/api/cloud/spec.json","security":[{"bearerAuth":[]}]},"patch":{"tags":["Firewalls"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.lambda.ai/api/cloud#updateGlobalFirewallRuleset","api_endpoint":"https://cloud.lambda.ai/api/v1/firewall-rulesets/global"},"summary":"Update global firewall ruleset","description":"Update global firewall ruleset | Updates the global firewall ruleset. This allows updating the rules only. | Source: official OpenAPI spec at https://docs.lambda.ai/api/cloud/spec.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"rules":{"type":"array","description":"The new firewall rules for the ruleset. If not provided, the rules will not be updated.","items":{"type":"object","properties":{"protocol":{"type":"string","description":"body.rules.protocol (string field from the documented request schema)","required":true},"port_range":{"type":"array","description":"An inclusive range of network ports specified as `[min, max]`.\nNot allowed for the `icmp` protocol but required for the others.\nTo specify a single port, list it twice (for example, `[22,22]`)."},"source_network":{"type":"string","description":"The set of source IPv4 addresses from which you want to allow inbound\ntraffic. These addresses must be specified in CIDR notation. You can\nspecify individual public IPv4 CIDR blocks such as `1.2.3.4` or\n`1.2.3.4/32`, or you can specify `0.0.0.0/0` to allow access from any\naddress.\nThis value is a string consisting of a public IPv4 address optionally\nfollowed by a slash (/) and an integer mask (the network prefix).\nIf no mask is provided, the API assumes `/32` by default.","required":true},"description":{"type":"string","description":"A human-readable description of the rule.","required":true}}}}}},"example":{"rules":[[{"protocol":"tcp","port_range":[0],"source_network":"string","description":"string"}]]}}}}}},"/api/v1/firewall-rulesets/{id}":{"get":{"tags":["Firewalls"],"parameters":[{"name":"id","in":"path","description":"The unique identifier (ID) of the firewall ruleset","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.lambda.ai/api/cloud#getFirewallRuleset","api_endpoint":"https://cloud.lambda.ai/api/v1/firewall-rulesets/{id}"},"summary":"Retrieve firewall ruleset details","description":"Retrieve firewall ruleset details | Retrieves the details of a specific firewall ruleset. | Source: official OpenAPI spec at https://docs.lambda.ai/api/cloud/spec.json","security":[{"bearerAuth":[]}]},"patch":{"tags":["Firewalls"],"parameters":[{"name":"id","in":"path","description":"The unique identifier (ID) of the firewall ruleset","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.lambda.ai/api/cloud#updateFirewallRuleset","api_endpoint":"https://cloud.lambda.ai/api/v1/firewall-rulesets/{id}"},"summary":"Update firewall ruleset","description":"Update firewall ruleset | Updates a firewall ruleset. This is a partial update that allows updating either the name, rules, or both. | Source: official OpenAPI spec at https://docs.lambda.ai/api/cloud/spec.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"name":{"type":"string","description":"The new name for the firewall ruleset. If not provided, the name will not be updated."},"rules":{"type":"array","description":"The new firewall rules for the ruleset. If not provided, the rules will not be updated.","items":{"type":"object","properties":{"protocol":{"type":"string","description":"body.rules.protocol (string field from the documented request schema)","required":true},"port_range":{"type":"array","description":"An inclusive range of network ports specified as `[min, max]`.\nNot allowed for the `icmp` protocol but required for the others.\nTo specify a single port, list it twice (for example, `[22,22]`)."},"source_network":{"type":"string","description":"The set of source IPv4 addresses from which you want to allow inbound\ntraffic. These addresses must be specified in CIDR notation. You can\nspecify individual public IPv4 CIDR blocks such as `1.2.3.4` or\n`1.2.3.4/32`, or you can specify `0.0.0.0/0` to allow access from any\naddress.\nThis value is a string consisting of a public IPv4 address optionally\nfollowed by a slash (/) and an integer mask (the network prefix).\nIf no mask is provided, the API assumes `/32` by default.","required":true},"description":{"type":"string","description":"A human-readable description of the rule.","required":true}}}}}},"example":{"name":["string"],"rules":[[{"protocol":"tcp","port_range":[0],"source_network":"string","description":"string"}]]}}}}},"delete":{"tags":["Firewalls"],"parameters":[{"name":"id","in":"path","description":"The unique identifier (ID) of the firewall ruleset","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.lambda.ai/api/cloud#deleteFirewallRuleset","api_endpoint":"https://cloud.lambda.ai/api/v1/firewall-rulesets/{id}"},"summary":"Delete firewall ruleset","description":"Delete firewall ruleset | Deletes the firewall ruleset with the specified ID. | Source: official OpenAPI spec at https://docs.lambda.ai/api/cloud/spec.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/api/v1/images":{"get":{"tags":["Images"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.lambda.ai/api/cloud#listImages","api_endpoint":"https://cloud.lambda.ai/api/v1/images"},"summary":"List available images","description":"List available images | Retrieves a list of available images by region. | Source: official OpenAPI spec at https://docs.lambda.ai/api/cloud/spec.json","security":[{"bearerAuth":[]}]}},"/api/v1/instance-operations/launch":{"post":{"tags":["Instances"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.lambda.ai/api/cloud#launchInstance","api_endpoint":"https://cloud.lambda.ai/api/v1/instance-operations/launch"},"summary":"Launch instances","description":"Launch instances | Launches a Lambda On-Demand Cloud instance. | Source: official OpenAPI spec at https://docs.lambda.ai/api/cloud/spec.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"region_name":{"type":"string","description":"The region into which you want to launch the instance.","required":true},"instance_type_name":{"type":"string","description":"The type of instance you want to launch. To retrieve a list of available instance types, see\n[List available instance types](#listInstanceTypes).","required":true},"ssh_key_names":{"type":"array","description":"The names of the SSH keys you want to use to provide access to the instance.\nCurrently, exactly one SSH key must be specified.","required":true,"items":{"type":"string"}},"file_system_names":{"type":"array","description":"The names of the filesystems you want to mount to the instance. When specified\nalongside `file_system_mounts`, any filesystems referred to in both lists will use the\nmount path specified in `file_system_mounts`, rather than the default.","items":{"type":"string"}},"file_system_mounts":{"type":"array","description":"The filesystem mounts to mount to the instance. When specified alongside\n`file_system_names`, any filesystems referred to in both lists will use the\nmount path specified in `file_system_mounts`, rather than the default.","items":{"type":"object","properties":{"mount_point":{"type":"string","description":"The absolute path indicating where on the instance the filesystem will be mounted.","required":true},"file_system_id":{"type":"string","description":"The id of the filesystem to mount to the instance.","required":true}}}},"hostname":{"type":"string","description":"The hostname to assign to the instance. If not specified, a default, IP-address-based\nhostname is assigned. This hostname is driven into /etc/hostname on the instance."},"name":{"type":"string","description":"The name you want to assign to your instance. Must be 64 characters or fewer."},"image":{"type":"object","description":"Specifies the image to use by its unique identifier.","properties":{"id":{"type":"string","description":"body.image.id (string field from the documented request schema)","required":true}}},"user_data":{"type":"string","description":"An instance configuration string specified in a valid\n[cloud-init user-data](https://cloudinit.readthedocs.io/en/latest/explanation/format.html)\nformat. You can use this field to configure your instance on launch. The\nuser data string must be plain text and cannot exceed 1MB in size."},"tags":{"type":"array","description":"Key/value pairs representing the instance's tags.","items":{"type":"object","properties":{"key":{"type":"string","description":"The key of the tag. On instances, keys starting with `lambda-ai-` are reserved.","required":true},"value":{"type":"string","description":"The value of the tag.","required":true}}}},"firewall_rulesets":{"type":"array","description":"The firewall rulesets to associate with the instance.\nThe firewall rulesets must exist in the same region as the instance.","items":{"type":"object","properties":{"id":{"type":"string","description":"The unique identifier of the firewall ruleset.","required":true}}}}}},"example":{"region_name":["string"],"instance_type_name":["string"],"ssh_key_names":[["string"]],"file_system_names":[["string"]],"file_system_mounts":[[{"mount_point":"string","file_system_id":"string"}]],"hostname":["string"],"name":["string"],"image":[{"id":"string"}],"user_data":["string"],"tags":[[{"key":"string","value":"string"}]],"firewall_rulesets":[[{"id":"string"}]]}}}}}},"/api/v1/instance-operations/restart":{"post":{"tags":["Instances"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.lambda.ai/api/cloud#restartInstance","api_endpoint":"https://cloud.lambda.ai/api/v1/instance-operations/restart"},"summary":"Restart instances","description":"Restart instances | Restarts one or more instances. | Source: official OpenAPI spec at https://docs.lambda.ai/api/cloud/spec.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"instance_ids":{"type":"array","description":"The unique identifiers (IDs) of the instances to restart.","required":true,"items":{"type":"string"}}}},"example":{"instance_ids":[["string"]]}}}}}},"/api/v1/instance-operations/terminate":{"post":{"tags":["Instances"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.lambda.ai/api/cloud#terminateInstance","api_endpoint":"https://cloud.lambda.ai/api/v1/instance-operations/terminate"},"summary":"Terminate instances","description":"Terminate instances | Terminates one or more instances. | Source: official OpenAPI spec at https://docs.lambda.ai/api/cloud/spec.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"instance_ids":{"type":"array","description":"The unique identifiers (IDs) of the instances to terminate.","required":true,"items":{"type":"string"}}}},"example":{"instance_ids":[["string"]]}}}}}},"/api/v1/instance-types":{"get":{"tags":["Instances"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.lambda.ai/api/cloud#listInstanceTypes","api_endpoint":"https://cloud.lambda.ai/api/v1/instance-types"},"summary":"List available instance types","description":"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. | Source: official OpenAPI spec at https://docs.lambda.ai/api/cloud/spec.json","security":[{"bearerAuth":[]}]}},"/api/v1/instances":{"get":{"tags":["Instances"],"parameters":[{"name":"cluster_id","in":"query","description":"If provided, the resulting list will only include\ninstances that are part of a cluster with this unique identifier (ID).","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.lambda.ai/api/cloud#listInstances","api_endpoint":"https://cloud.lambda.ai/api/v1/instances"},"summary":"List running instances","description":"List running instances | Retrieves a list of your running instances. | Source: official OpenAPI spec at https://docs.lambda.ai/api/cloud/spec.json","security":[{"bearerAuth":[]}]}},"/api/v1/instances/{id}":{"get":{"tags":["Instances"],"parameters":[{"name":"id","in":"path","description":"The unique identifier (ID) of the instance","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.lambda.ai/api/cloud#getInstance","api_endpoint":"https://cloud.lambda.ai/api/v1/instances/{id}"},"summary":"Retrieve instance details","description":"Retrieve instance details | Retrieves the details of a specific instance, including whether or not the instance is running. | Source: official OpenAPI spec at https://docs.lambda.ai/api/cloud/spec.json","security":[{"bearerAuth":[]}]},"post":{"tags":["Instances"],"parameters":[{"name":"id","in":"path","description":"The unique identifier (ID) of the instance","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.lambda.ai/api/cloud#postInstance","api_endpoint":"https://cloud.lambda.ai/api/v1/instances/{id}"},"summary":"Update instance details","description":"Update instance details | Updates the details of the specified instance. | Source: official OpenAPI spec at https://docs.lambda.ai/api/cloud/spec.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"name":{"type":"string","description":"The new, user-provided name for the instance."},"tags":{"type":"array","description":"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.","items":{"type":"object","properties":{"key":{"type":"string","description":"The key of the tag. On instances, keys starting with `lambda-ai-` are reserved.","required":true},"value":{"type":"string","description":"The value of the tag.","required":true}}}}}},"example":{"name":["string"],"tags":[[{"key":"string","value":"string"}]]}}}}}},"/api/v1/regions":{"get":{"tags":["Regions"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.lambda.ai/api/cloud#listRegions","api_endpoint":"https://cloud.lambda.ai/api/v1/regions"},"summary":"List regions","description":"List regions | Retrieves a list of available regions. | Source: official OpenAPI spec at https://docs.lambda.ai/api/cloud/spec.json","security":[{"bearerAuth":[]}]}},"/api/v1/ssh-keys":{"get":{"tags":["SSH Keys"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.lambda.ai/api/cloud#listSSHKeys","api_endpoint":"https://cloud.lambda.ai/api/v1/ssh-keys"},"summary":"List your SSH keys","description":"List your SSH keys | Retrieves a list of your SSH keys. | Source: official OpenAPI spec at https://docs.lambda.ai/api/cloud/spec.json","security":[{"bearerAuth":[]}]},"post":{"tags":["SSH Keys"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.lambda.ai/api/cloud#addSSHKey","api_endpoint":"https://cloud.lambda.ai/api/v1/ssh-keys"},"summary":"Add an SSH key","description":"Add an SSH key | Add an SSH key to your Lambda Cloud account. You can upload an existing public\nkey, or you can generate a new key pair.\n-  To use an existing key pair, set the `public_key` property in the request body\n   to your public key.\n-  To generate a new key pair, omit the `public_key` property from the request\n   body.\n:::note{type=\"attention\" title=\"Important\"}\nLambda doesn't store your private key after it's been generated.\nIf you generate a new key pair, make sure to save the resulting private key locally.\n:::\nFor example, to generate a new key pair and associate it with a Lambda\nOn-Demand Cloud instance:\n1. Generate the key pair. The command provided below automatically extracts and\n    saves the returned private key to a new file called `key.pem`. Replace\n    `` with the name you want to assign to the SSH key:\n    ```bash\n    curl --request POST --url 'https://cloud.lambda.ai/api/v1/ssh-keys' \\\n    --fail \\\n    --header \"Authorization: Bearer ${LAMBDA_API_KEY}\" \\\n    --data '{\"name\": \"\"}' \\\n    | jq -r '.data.private_key' > key.pem\n    ```\n2. Next, set the private key's permissions to read-only:\n    ```bash\n    chmod 400 key.pem\n    ```\n3. Launch a new instance. Replace `` with the name you assigned\n   to your SSH key.\n    ```bash\n    curl --request POST 'https://cloud.lambda.ai/api/v1/instance-operations/launch' \\\n    --fail \\\n    --header \"Authorization: Bearer ${LAMBDA_API_KEY}\" \\\n    --data '{\"region_name\":\"us-west-1\",\"instance_type_name\":\"gpu_1x_a10\",\"ssh_key_names\":[\"\"],\"file_system_names\":[],\"quantity\":1,\"name\":\"My Instance\"}'\n    ```\n4. From your local terminal, establish an SSH connection to the instance.\n   Replace `` with the public IP of the instance:\n    ```bash\n    ssh -i key.pem \n    ``` | Source: official OpenAPI spec at https://docs.lambda.ai/api/cloud/spec.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"name":{"type":"string","description":"The name of the SSH key.","required":true},"public_key":{"type":"string","description":"The public key to store. Omit this to generate a new key pair."}}},"example":{"name":["string"],"public_key":["string"]}}}}}},"/api/v1/ssh-keys/{id}":{"delete":{"tags":["SSH Keys"],"parameters":[{"name":"id","in":"path","description":"The unique identifier (ID) of the SSH key to delete","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.lambda.ai/api/cloud#deleteSSHKey","api_endpoint":"https://cloud.lambda.ai/api/v1/ssh-keys/{id}"},"summary":"Delete an SSH key","description":"Delete an SSH key | Deletes the specified SSH key. | Source: official OpenAPI spec at https://docs.lambda.ai/api/cloud/spec.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/api/v1/tickets":{"get":{"tags":["Support Tickets"],"parameters":[{"name":"status","in":"query","description":"The current status of a support ticket.","required":false,"schema":{"type":"array","example":""}},{"name":"type","in":"query","description":"The type of support ticket.","required":false,"schema":{"type":"array","example":""}},{"name":"severity","in":"query","description":"The severity level for incident tickets.","required":false,"schema":{"type":"array","example":""}},{"name":"priority","in":"query","description":"The priority level of a support ticket.","required":false,"schema":{"type":"array","example":""}},{"name":"device_serial","in":"query","description":"The serial number of the affected device. Matching is case-insensitive.","required":false,"schema":{"type":"array","example":""}},{"name":"order_by","in":"query","description":"Specifies the field used to sort the list of tickets.","required":false,"schema":{"type":"string","example":"","items":{"type":"string","enum":["created_at","updated_at"]}}},{"name":"direction","in":"query","description":"Specifies the order in which to sort the list of tickets.","required":false,"schema":{"type":"string","example":"","items":{"type":"string","enum":["asc","desc"]}}},{"name":"page_token","in":"query","description":"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.","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.lambda.ai/api/cloud#listTickets","api_endpoint":"https://cloud.lambda.ai/api/v1/tickets"},"summary":"List support tickets","description":"List support tickets | Retrieves a list of support tickets for your account. | Source: official OpenAPI spec at https://docs.lambda.ai/api/cloud/spec.json","security":[{"bearerAuth":[]}]},"post":{"tags":["Support Tickets"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.lambda.ai/api/cloud#createTicket","api_endpoint":"https://cloud.lambda.ai/api/v1/tickets"},"summary":"Create a support ticket","description":"Create a support ticket | Creates a new support ticket. | Source: official OpenAPI spec at https://docs.lambda.ai/api/cloud/spec.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"subject":{"type":"string","description":"A short summary of the issue.","required":true},"description":{"type":"string","description":"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.","required":true},"type":{"type":"string","description":"The type of support ticket.","required":true},"severity":{"type":"string","description":"The severity level for incident tickets."},"priority":{"type":"string","description":"The priority level of a support ticket."},"ip":{"type":"string","description":"The IP address of the affected node."},"instance_id":{"type":"string","description":"The ID of the affected on-demand instance."},"cluster_id":{"type":"string","description":"The ID of the affected 1CC or Supercluster."},"hostname":{"type":"string","description":"The hostname of the affected device."},"device_serial":{"type":"string","description":"The serial number of the affected device."},"requester_email":{"type":"string","description":"The email address to associate with the ticket's requester."},"affected_devices":{"type":"array","description":"The list of devices affected by the issue.","items":{"type":"string"}}}},"example":{"subject":["string"],"description":["string"],"type":["incident"],"severity":["sev_1"],"priority":["low"],"ip":["string"],"instance_id":["string"],"cluster_id":["string"],"hostname":["string"],"device_serial":["string"],"requester_email":["string"],"affected_devices":[["string"]]}}}}}},"/api/v1/tickets/{ticket_id}":{"get":{"tags":["Support Tickets"],"parameters":[{"name":"ticket_id","in":"path","description":"The ticket ID.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.lambda.ai/api/cloud#getTicket","api_endpoint":"https://cloud.lambda.ai/api/v1/tickets/{ticket_id}"},"summary":"Get a support ticket","description":"Get a support ticket | Retrieves a specific support ticket by ID. | Source: official OpenAPI spec at https://docs.lambda.ai/api/cloud/spec.json","security":[{"bearerAuth":[]}]},"patch":{"tags":["Support Tickets"],"parameters":[{"name":"ticket_id","in":"path","description":"The ticket ID.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.lambda.ai/api/cloud#updateTicket","api_endpoint":"https://cloud.lambda.ai/api/v1/tickets/{ticket_id}"},"summary":"Update a support ticket","description":"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. | Source: official OpenAPI spec at https://docs.lambda.ai/api/cloud/spec.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"status":{"type":"string","description":"The new status to set the ticket to."},"severity":{"type":"string","description":"The severity level for incident tickets."},"priority":{"type":"string","description":"The priority level of a support ticket."},"comment":{"type":"object","description":"body.comment (object field from the documented request schema)","properties":{"body":{"type":"string","description":"The text of the new comment.","required":true}}},"affected_devices":{"type":"array","description":"The list of devices affected by the issue.","items":{"type":"string"}}}},"example":{"status":["string"],"severity":["sev_1"],"priority":["low"],"comment":[{"body":"string"}],"affected_devices":[["string"]]}}}}}},"/api/v1/tickets/{ticket_id}/attachments":{"get":{"tags":["Support Tickets"],"parameters":[{"name":"ticket_id","in":"path","description":"The ticket ID.","required":true,"schema":{"type":"string","example":""}},{"name":"status","in":"query","description":"The current status of an attachment upload.","required":false,"schema":{"type":"string","example":"","items":{"type":"string","enum":["pending","uploaded","failed","deleted"]}}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.lambda.ai/api/cloud#listAttachments","api_endpoint":"https://cloud.lambda.ai/api/v1/tickets/{ticket_id}/attachments"},"summary":"List ticket attachments","description":"List ticket attachments | Retrieves all attachments for a ticket. | Source: official OpenAPI spec at https://docs.lambda.ai/api/cloud/spec.json","security":[{"bearerAuth":[]}]},"post":{"tags":["Support Tickets"],"parameters":[{"name":"ticket_id","in":"path","description":"The ticket ID.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.lambda.ai/api/cloud#initiateAttachmentUpload","api_endpoint":"https://cloud.lambda.ai/api/v1/tickets/{ticket_id}/attachments"},"summary":"Initiate attachment upload","description":"Initiate attachment upload | Start the upload process for a ticket attachment. Returns a presigned URL for direct upload to storage. | Source: official OpenAPI spec at https://docs.lambda.ai/api/cloud/spec.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"filename":{"type":"string","description":"The original filename.","required":true},"content_type":{"type":"string","description":"The MIME type of the attachment, such as `application/gzip` for a .gz file or text/plain for a plaintext file.","required":true},"size_bytes":{"type":"number","description":"The file size in bytes. The file size must be one or more bytes.","required":true}}},"example":{"filename":["string"],"content_type":["string"],"size_bytes":[0]}}}}}},"/api/v1/tickets/{ticket_id}/attachments/{attachment_id}":{"delete":{"tags":["Support Tickets"],"parameters":[{"name":"ticket_id","in":"path","description":"The ticket ID.","required":true,"schema":{"type":"string","example":""}},{"name":"attachment_id","in":"path","description":"The attachment ID.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.lambda.ai/api/cloud#deleteAttachment","api_endpoint":"https://cloud.lambda.ai/api/v1/tickets/{ticket_id}/attachments/{attachment_id}"},"summary":"Delete attachment","description":"Delete attachment | Delete an attachment. | Source: official OpenAPI spec at https://docs.lambda.ai/api/cloud/spec.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/api/v1/tickets/{ticket_id}/attachments/{attachment_id}/complete":{"post":{"tags":["Support Tickets"],"parameters":[{"name":"ticket_id","in":"path","description":"The ticket ID.","required":true,"schema":{"type":"string","example":""}},{"name":"attachment_id","in":"path","description":"The attachment ID.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.lambda.ai/api/cloud#completeAttachmentUpload","api_endpoint":"https://cloud.lambda.ai/api/v1/tickets/{ticket_id}/attachments/{attachment_id}/complete"},"summary":"Complete attachment upload","description":"Complete attachment upload | Mark attachment upload as complete after client finishes uploading to storage. | Source: official OpenAPI spec at https://docs.lambda.ai/api/cloud/spec.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/api/v1/tickets/{ticket_id}/attachments/{attachment_id}/download":{"get":{"tags":["Support Tickets"],"parameters":[{"name":"ticket_id","in":"path","description":"The ticket ID.","required":true,"schema":{"type":"string","example":""}},{"name":"attachment_id","in":"path","description":"The attachment ID.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://docs.lambda.ai/api/cloud#getAttachmentDownloadUrl","api_endpoint":"https://cloud.lambda.ai/api/v1/tickets/{ticket_id}/attachments/{attachment_id}/download"},"summary":"Get attachment download URL","description":"Get attachment download URL | Generate a temporary download URL for an attachment. | Source: official OpenAPI spec at https://docs.lambda.ai/api/cloud/spec.json","security":[{"bearerAuth":[]}]}}},"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer"}}},"security":[{"bearerAuth":[]}]}