{ "openapi": "3.0.1", "info": {"title":"Latitude.sh API","version":"2023-06-01","description":"The Latitude.sh API is a RESTful API to manage your Latitude.sh account. It allows you to perform the same actions as the Latitude.sh dashboard."}, "servers": [{"url":"https://api.latitude.sh","variables":{"latitude_api_key":{"default":""}}}, {"url":"http://api.latitude.sh","variables":{"latitude_api_key":{"default":""}}}], "tags": [{"name":"API keys"}, {"name":"Billing"}, {"name":"Elastic Ips"}, {"name":"Events"}, {"name":"Firewalls"}, {"name":"IP Addresses"}, {"name":"Kubernetes Clusters"}, {"name":"Operating Systems"}, {"name":"Plans"}, {"name":"Private Networks"}, {"name":"Projects"}, {"name":"Regions"}, {"name":"Roles"}, {"name":"SSH Keys"}, {"name":"Servers"}, {"name":"Storage"}, {"name":"Tags"}, {"name":"Teams"}, {"name":"Team members"}, {"name":"Traffic"}, {"name":"User data"}, {"name":"User profile"}, {"name":"VPN Sessions"}, {"name":"Virtual machines"}], "paths": { "/auth/api_keys": { "get": { "summary": "List API keys", "operationId": "get-api-keys", "tags": ["API keys"], "security": [{"Bearer":[]}], "description": "Returns a list of all API keys.\n", "x-mint": {"href":"/api-reference/get-api-keys"}, "responses": {"200":{"description":"Success","content":{"application/vnd.api+json":{"examples":{"Success":{"value":{"data":[{"id":"tok_6VE1Wd37dXnZJ","type":"api_keys","attributes":{"name":"Dor Daidelos","token_last_slice":"2daaa","api_version":"2023-06-01","read_only":false,"allowed_ips":[],"created_at":"2026-01-14T15:56:29+00:00","updated_at":"2026-01-14T14:56:29+00:00","last_used_at":null,"user":{"id":"user_Wel4PnEAmauQYZz3Vz83CkyV2BW","email":"beckie.prosacco@willms.test"}}}],"meta":{}}}},"schema":{"$ref":"#/components/schemas/api_keys"}}}}}, "x-speakeasy-group": "apiKeys", "x-speakeasy-name-override": "list", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "from latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.api_keys.list()\n\n # Handle response\n print(res)" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.APIKeys.List(ctx)\n if err != nil {\n log.Fatal(err)\n }\n if res.APIKeys != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.apiKeys.list();\n\n console.log(result);\n}\n\nrun();" } ] }, "post": { "summary": "Create API key", "operationId": "post-api-key", "tags": ["API keys"], "security": [{"Bearer":[]}], "parameters": [], "description": "Create a new API Key that is tied to the current user account. The created API key is only listed ONCE upon creation. It can however be regenerated or deleted.\n", "x-mint": {"href":"/api-reference/post-api-key"}, "responses": {"201":{"description":"Created","content":{"application/vnd.api+json":{"examples":{"Created":{"value":{"data":{"id":"tok_ez2A3DVldnawP","type":"api_keys","attributes":{"name":"App Token","token":"54ebfcfa2ad7f9fe0d4e081306554174d063","token_last_slice":"4d063","api_version":"2023-06-01","read_only":false,"allowed_ips":[],"created_at":"2026-01-14T15:56:29+00:00","updated_at":"2026-01-14T15:56:29+00:00","last_used_at":null,"user":{"id":"user_pVkpyK2aoVUlax6Zzx1pfrGe4wr","email":"nathanael@bartoletti-streich.test"}}},"meta":{}}}},"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/api_key"}}}}}}}, "requestBody": {"content":{"application/json":{"schema":{"$ref":"#/components/schemas/create_api_key"},"examples":{"Created":{"summary":"Created","value":{"data":{"type":"api_keys","attributes":{"name":"App Token"}}}}}},"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/create_api_key"},"examples":{"Created":{"summary":"Created","value":{"data":{"type":"api_keys","attributes":{"name":"App Token"}}}}}}},"required":true}, "x-speakeasy-group": "apiKeys", "x-speakeasy-name-override": "create", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "import latitudesh_python_sdk\nfrom latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.api_keys.create(data={\n \"type\": latitudesh_python_sdk.CreateAPIKeyType.API_KEYS,\n \"attributes\": {\n \"name\": \"App Token\",\n },\n })\n\n # Handle response\n print(res)" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"github.com/latitudesh/latitudesh-go-sdk/models/components\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.APIKeys.Create(ctx, components.CreateAPIKey{\n Data: &components.Data{\n Type: components.CreateAPIKeyTypeAPIKeys,\n Attributes: &components.CreateAPIKeyAttributes{\n Name: latitudeshgosdk.Pointer(\"App Token\"),\n },\n },\n })\n if err != nil {\n log.Fatal(err)\n }\n if res.Object != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.apiKeys.create({\n data: {\n type: \"api_keys\",\n attributes: {\n name: \"App Token\",\n },\n },\n });\n\n console.log(result);\n}\n\nrun();" } ] } }, "/auth/api_keys/{api_key_id}": { "put": { "summary": "Rotate API key", "operationId": "rotate-api-key", "tags": ["API keys"], "security": [{"Bearer":[]}], "parameters": [{"name":"api_key_id","in":"path","required":true,"examples":{"Success":{"value":"tok_x1ZJrdx5qg4LV"}},"schema":{"type":"string"}}], "description": "Rotate an existing API Key, generating a new token. This invalidates the previous key.\nUse PATCH to update settings without rotating the token.\n", "x-mint": {"href":"/api-reference/rotate-api-key"}, "responses": {"200":{"description":"Success","content":{"application/vnd.api+json":{"examples":{"Success":{"value":{"data":{"id":"tok_x1ZJrdx5qg4LV","type":"api_keys","attributes":{"name":"App Token","token":"aeb7b57029087fd4449a8f0fc218d1e17b4c","token_last_slice":"17b4c","api_version":"2023-06-01","read_only":false,"allowed_ips":null,"created_at":"2026-01-14T15:56:30+00:00","updated_at":"2026-01-14T15:56:30+00:00","last_used_at":null,"user":{"id":"user_3J8PY3vz8ahap5nLXYmws36rwRE","email":"arnette@kutch.test"}}},"meta":{}}}},"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/api_key"}}}}}}}, "requestBody": {"content":{"application/json":{"schema":{"$ref":"#/components/schemas/update_api_key"},"examples":{"Success":{"summary":"Success","value":{"data":{"id":"tok_x1ZJrdx5qg4LV","type":"api_keys","attributes":{"name":"App Token"}}}}}},"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/update_api_key"},"examples":{"Success":{"summary":"Success","value":{"data":{"id":"tok_x1ZJrdx5qg4LV","type":"api_keys","attributes":{"name":"App Token"}}}}}}},"required":true}, "x-speakeasy-group": "apiKeys", "x-speakeasy-name-override": "update", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "import latitudesh_python_sdk\nfrom latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.api_keys.regenerate(api_key_id=\"tok_x1ZJrdx5qg4LV\", data={\n \"id\": \"tok_x1ZJrdx5qg4LV\",\n \"type\": latitudesh_python_sdk.UpdateAPIKeyType.API_KEYS,\n \"attributes\": {\n \"name\": \"App Token\",\n },\n })\n\n # Handle response\n print(res)" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"github.com/latitudesh/latitudesh-go-sdk/models/components\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.APIKeys.Update(ctx, \"tok_x1ZJrdx5qg4LV\", components.UpdateAPIKey{\n Data: &components.UpdateAPIKeyData{\n ID: latitudeshgosdk.Pointer(\"tok_x1ZJrdx5qg4LV\"),\n Type: components.UpdateAPIKeyTypeAPIKeys,\n Attributes: &components.UpdateAPIKeyAttributes{\n Name: latitudeshgosdk.Pointer(\"App Token\"),\n },\n },\n })\n if err != nil {\n log.Fatal(err)\n }\n if res.Object != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.apiKeys.update({\n apiKeyId: \"tok_x1ZJrdx5qg4LV\",\n updateApiKey: {\n data: {\n id: \"tok_x1ZJrdx5qg4LV\",\n type: \"api_keys\",\n attributes: {\n name: \"App Token\",\n },\n },\n },\n });\n\n console.log(result);\n}\n\nrun();" } ] }, "patch": { "summary": "Update API key settings", "operationId": "update-api-key", "tags": ["API keys"], "security": [{"Bearer":[]}], "parameters": [{"name":"api_key_id","in":"path","required":true,"examples":{"Success - Update name without rotating token":{"value":"tok_lpbV0DgRq4AWz"}},"schema":{"type":"string"}}], "description": "Update API Key settings (name, read_only, allowed_ips) without rotating the token.\nUse PUT to rotate the token.\n", "x-mint": {"href":"/api-reference/update-api-key"}, "responses": {"200":{"description":"Success - Update name without rotating token","content":{"application/vnd.api+json":{"examples":{"Success - Update name without rotating token":{"value":{"data":{"id":"tok_lpbV0DgRq4AWz","type":"api_keys","attributes":{"name":"Updated Name","token_last_slice":"c10e6","api_version":"2023-06-01","read_only":false,"allowed_ips":null,"created_at":"2026-01-14T15:56:30+00:00","updated_at":"2026-01-14T15:56:30+00:00","last_used_at":null,"user":{"id":"user_YLMV5L9oYRFoe4Jo4l2PCGKr8bBa","email":"jaime@ullrich.example"}}},"meta":{}}}},"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/api_key"}}}}}}}, "requestBody": {"content":{"application/json":{"schema":{"$ref":"#/components/schemas/update_api_key"},"examples":{"Success - Update name without rotating token":{"summary":"Success - Update name without rotating token","value":{"data":{"id":"tok_lpbV0DgRq4AWz","type":"api_keys","attributes":{"name":"Updated Name"}}}}}},"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/update_api_key"},"examples":{"Success - Update name without rotating token":{"summary":"Success - Update name without rotating token","value":{"data":{"id":"tok_lpbV0DgRq4AWz","type":"api_keys","attributes":{"name":"Updated Name"}}}}}}},"required":true}, "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "import latitudesh_python_sdk\nfrom latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.api_keys.update_api_key(api_key_id=\"tok_lpbV0DgRq4AWz\", data={\n \"id\": \"tok_lpbV0DgRq4AWz\",\n \"type\": latitudesh_python_sdk.UpdateAPIKeyType.API_KEYS,\n \"attributes\": {\n \"name\": \"Updated Name\",\n },\n })\n\n # Handle response\n print(res)" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"github.com/latitudesh/latitudesh-go-sdk/models/components\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.APIKeys.UpdateAPIKey(ctx, \"tok_lpbV0DgRq4AWz\", components.UpdateAPIKey{\n Data: &components.UpdateAPIKeyData{\n ID: latitudeshgosdk.Pointer(\"tok_lpbV0DgRq4AWz\"),\n Type: components.UpdateAPIKeyTypeAPIKeys,\n Attributes: &components.UpdateAPIKeyAttributes{\n Name: latitudeshgosdk.Pointer(\"Updated Name\"),\n },\n },\n })\n if err != nil {\n log.Fatal(err)\n }\n if res.Object != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.apiKeys.updateApiKey({\n apiKeyId: \"tok_lpbV0DgRq4AWz\",\n updateApiKey: {\n data: {\n id: \"tok_lpbV0DgRq4AWz\",\n type: \"api_keys\",\n attributes: {\n name: \"Updated Name\",\n },\n },\n },\n });\n\n console.log(result);\n}\n\nrun();" } ] }, "delete": { "summary": "Delete API key", "operationId": "delete-api-key", "tags": ["API keys"], "parameters": [{"name":"api_key_id","in":"path","required":true,"examples":{"Success":{"value":"tok_lQraYDPeOpjwW"}},"schema":{"type":"string"}}], "security": [{"Bearer":[]}], "description": "Delete an existing API Key. Once deleted, the API Key can no longer be used to access the API.\n", "x-mint": {"href":"/api-reference/delete-api-key"}, "responses": {"200":{"description":"Success","content":{"application/vnd.api+json":{"examples":{"Success":{"value":{"meta":{}}}}}}}}, "x-speakeasy-group": "apiKeys", "x-speakeasy-name-override": "delete", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "from latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n latitudesh.api_keys.delete(api_key_id=\"tok_lQraYDPeOpjwW\")\n\n # Use the SDK ..." }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.APIKeys.Delete(ctx, \"tok_lQraYDPeOpjwW\")\n if err != nil {\n log.Fatal(err)\n }\n if res != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n await latitudesh.apiKeys.delete({\n apiKeyId: \"tok_lQraYDPeOpjwW\",\n });\n\n\n}\n\nrun();" } ] } }, "/billing/usage": {"get":{ "summary": "Retrieve billing usage", "operationId": "get-billing-usage", "tags": ["Billing"], "security": [{"Bearer":[]}], "parameters": [{"name":"filter[products][]","in":"query","schema":{"type":"array","items":{"type":"string"}},"required":false,"description":"Allows to filter the billing usage for specific products. It accepts an array of product ids.\n","examples":{"Success":{"value":["si_aslft06m","si_on0fybnq"]}}}, {"name":"filter[plan]","in":"query","required":false,"description":"Accepts a plan name and allows to filter the usage for that plan.\n","schema":{"type":"string"},"examples":{"Success":{"value":"plan.name"}}}, {"name":"filter[project]","in":"query","required":true,"examples":{"Success":{"value":"proj_r0MK4O4kDa95w"}},"schema":{"type":"string"}}], "description": "Returns the billing usage of a project\n", "x-mint": {"href":"/api-reference/get-billing-usage"}, "responses": {"200":{"description":"Success","content":{"application/vnd.api+json":{"examples":{"Success":{"value":{"data":{"id":"","type":"billing_usage","attributes":{"project":{"id":"proj_r0MK4O4kDa95w","slug":"fantastic-iron-clock","name":"Fantastic Iron Clock"},"period":{"start":"2025-12-24T15:56:32+00:00","end":"2026-01-24T15:56:32+00:00"},"available_credit_balance":123,"amount":0,"price":0,"products":[],"threshold":10000}},"meta":{}}}},"schema":{"$ref":"#/components/schemas/billing_usage"}}}}}, "x-speakeasy-name-override": "listUsage", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "from latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.billing.list_usage(filter_project=\"proj_r0MK4O4kDa95w\", filter_products=[\n \"si_aslft06m\",\n \"si_on0fybnq\",\n ], filter_plan=\"plan.name\")\n\n # Handle response\n print(res)" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.Billing.ListUsage(ctx, \"proj_r0MK4O4kDa95w\", []string{\n \"si_aslft06m\",\n \"si_on0fybnq\",\n }, latitudeshgosdk.Pointer(\"plan.name\"))\n if err != nil {\n log.Fatal(err)\n }\n if res.BillingUsage != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.billing.listUsage({\n filterProducts: [\n \"si_aslft06m\",\n \"si_on0fybnq\",\n ],\n filterPlan: \"plan.name\",\n filterProject: \"proj_r0MK4O4kDa95w\",\n });\n\n console.log(result);\n}\n\nrun();" } ] }}, "/events": {"get":{ "summary": "List events", "operationId": "get-events", "tags": ["Events"], "security": [{"Bearer":[]}], "parameters": [{"name":"filter[author]","in":"query","required":false,"description":"The author ID or email to filter by","schema":{"type":"string"}}, {"name":"filter[project]","in":"query","required":false,"description":"The project ID to filter by","schema":{"type":"string"}}, {"name":"filter[target_name]","in":"query","schema":{"type":"array","items":{"type":"string"}},"required":false,"description":"The target type(s) of the event to filter by"}, {"name":"filter[target_id]","in":"query","required":false,"description":"The target id of the event to filter by","schema":{"type":"string"}}, {"name":"filter[action]","in":"query","required":false,"description":"The action performed in event to filter by","schema":{"type":"string"}}, {"name":"filter[created_at][gte]","in":"query","required":false,"description":"The created at greater than equal date to filter by, in ISO formatting (yyyy-MM-dd'T'HH:mm:ss)","schema":{"type":"string"}}, {"name":"filter[created_at][lte]","in":"query","required":false,"description":"The created at less than equal date to filter by, in ISO formatting (yyyy-MM-dd'T'HH:mm:ss)","schema":{"type":"string"}}, {"name":"filter[created_at]","in":"query","schema":{"type":"array","items":{"type":"string"}},"required":false,"description":"The created at between date range date1, date2 (inclusive) to filter by, in ISO formatting (yyyy-MM-dd'T'HH:mm:ss)"}, {"name":"page[size]","in":"query","schema":{"type":"integer","minimum":1,"default":20},"required":false,"description":"Number of items to return per page"}, {"name":"page[number]","in":"query","schema":{"type":"integer","minimum":1,"default":1},"required":false,"description":"Page number to return (starts at 1)"}], "description": "Lists actions performed by users on your account.\n", "x-speakeasy-pagination": {"type":"offsetLimit","inputs":[{"name":"page[number]","in":"parameters","type":"page"}, {"name":"page[size]","in":"parameters","type":"limit"}],"outputs":{"results":"$.data"}}, "x-mint": {"href":"/api-reference/get-events"}, "responses": {"200":{"description":"Success","content":{"application/vnd.api+json":{"examples":{"Success":{"value":{"data":[{"id":"evt_r0MK4O4kDa95w","type":"events","attributes":{"created_at":"2026-01-14T15:56:32+00:00","action":"user_data.create","target":{"id":"ud_QraYDPm5OpjwW","name":"user_data"},"project":{"id":"proj_Av9BVDavORm1W","name":"Enormous Rubber Car","slug":"enormous-rubber-car"},"team":{"id":"team_5EkwwB3BV5Uzo9EpPom8T6Zk6MjG","name":"55 Team"},"author":{"id":"user_1P7kNv94QNtKXLZWMe42hNJ5x6V","name":"Julian Kuvalis","email":"aleshia@stiedemann.test"}}}],"meta":{}}},"ServerDestroy":{"value":{"data":[{"id":"evt_8nKmP2qX9LzRy","type":"events","attributes":{"created_at":"2026-01-07T15:42:15+00:00","action":"servers.destroy","target":{"id":"sv_RLYV8DZ2D5QoE","name":"server"},"project":{"id":"proj_6059EqYkOQj8p","name":"Production Infrastructure","slug":"production-infrastructure"},"team":{"id":"team_XmP9n3K5wVH2LbjQbx8YDl5oB","name":"Engineering Team"},"author":{"id":"user_NYNl38rzNzs4KXL96apwU3WJ5oX8","name":"Jane Smith","email":"jane.smith@example.com"},"properties":{"friendly_id":"da-23-web-01","hostname":"da-23-web-01.dal.example.com","reason":"Server no longer needed"}}}],"meta":{}}},"ServerLock":{"value":{"data":[{"id":"evt_6pWnQ8sY4MzPx","type":"events","attributes":{"created_at":"2026-01-07T11:30:22+00:00","action":"servers.lock","target":{"id":"sv_RLYV8DZ2D5QoE","name":"server"},"project":{"id":"proj_6059EqYkOQj8p","name":"Production Infrastructure","slug":"production-infrastructure"},"team":{"id":"team_XmP9n3K5wVH2LbjQbx8YDl5oB","name":"Engineering Team"},"author":{"id":"user_NYNl38rzNzs4KXL96apwU3WJ5oX8","name":"Jane Smith","email":"jane.smith@example.com"},"properties":{"friendly_id":"da-23-web-01","hostname":"da-23-web-01.dal.example.com"}}}],"meta":{}}},"ServerUnlock":{"value":{"data":[{"id":"evt_3vTpN7qM5KzWx","type":"events","attributes":{"created_at":"2026-01-07T14:28:33+00:00","action":"servers.unlock","target":{"id":"sv_RLYV8DZ2D5QoE","name":"server"},"project":{"id":"proj_6059EqYkOQj8p","name":"Production Infrastructure","slug":"production-infrastructure"},"team":{"id":"team_XmP9n3K5wVH2LbjQbx8YDl5oB","name":"Engineering Team"},"author":{"id":"user_NYNl38rzNzs4KXL96apwU3WJ5oX8","name":"Jane Smith","email":"jane.smith@example.com"},"properties":{"friendly_id":"da-23-web-01","hostname":"da-23-web-01.dal.example.com"}}}],"meta":{}}},"DeploymentFailed":{"value":{"data":[{"id":"evt_9mXpL4rK8NzTv","type":"events","attributes":{"created_at":"2026-01-07T13:15:42+00:00","action":"deployment.failed","target":{"id":"sv_RLYV8DZ2D5QoE","name":"server"},"project":{"id":"proj_6059EqYkOQj8p","name":"Production Infrastructure","slug":"production-infrastructure"},"team":{"id":"team_XmP9n3K5wVH2LbjQbx8YDl5oB","name":"Engineering Team"},"author":{"id":"user_NYNl38rzNzs4KXL96apwU3WJ5oX8","name":"Jane Smith","email":"jane.smith@example.com"},"properties":{"friendly_id":"da-23-web-01","hostname":"da-23-web-01.dal.example.com","distro":"ubuntu_22_04_x64_lts","operating_system":"Ubuntu 22.04 LTS","region":"Dallas"}}}],"meta":{}}},"ReinstallFailed":{"value":{"data":[{"id":"evt_5kQpN9rX3LzMy","type":"events","attributes":{"created_at":"2026-01-07T12:05:18+00:00","action":"reinstall.failed","target":{"id":"sv_RLYV8DZ2D5QoE","name":"server"},"project":{"id":"proj_6059EqYkOQj8p","name":"Production Infrastructure","slug":"production-infrastructure"},"team":{"id":"team_XmP9n3K5wVH2LbjQbx8YDl5oB","name":"Engineering Team"},"author":{"id":"user_NYNl38rzNzs4KXL96apwU3WJ5oX8","name":"Jane Smith","email":"jane.smith@example.com"},"properties":{"friendly_id":"da-23-web-01","hostname":"da-23-web-01.dal.example.com","distro":"ubuntu_22_04_x64_lts","operating_system":"Ubuntu 22.04 LTS","region":"Dallas"}}}],"meta":{}}},"ScheduleDeletion":{"value":{"data":[{"id":"evt_7rXpM5tN2KzVw","type":"events","attributes":{"created_at":"2026-01-07T10:15:08+00:00","action":"schedule_deletion.create","target":{"id":"sv_RLYV8DZ2D5QoE","name":"server"},"project":{"id":"proj_6059EqYkOQj8p","name":"Production Infrastructure","slug":"production-infrastructure"},"team":{"id":"team_XmP9n3K5wVH2LbjQbx8YDl5oB","name":"Engineering Team"},"author":{"id":"user_NYNl38rzNzs4KXL96apwU3WJ5oX8","name":"Jane Smith","email":"jane.smith@example.com"},"properties":{"friendly_id":"da-23-web-01","hostname":"da-23-web-01.dal.example.com"}}}],"meta":{}}}},"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/events"}}}}}}}}, "x-speakeasy-name-override": "list", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "from latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.events.list(page_size=20, page_number=1)\n\n while res is not None:\n # Handle items\n\n res = res.next()" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"github.com/latitudesh/latitudesh-go-sdk/models/operations\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.Events.List(ctx, operations.GetEventsRequest{})\n if err != nil {\n log.Fatal(err)\n }\n if res.Object != nil {\n for {\n // handle items\n\n res, err = res.Next()\n\n if err != nil {\n // handle error\n }\n\n if res == nil {\n break\n }\n }\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.events.list({});\n\n for await (const page of result) {\n console.log(page);\n }\n}\n\nrun();" } ] }}, "/firewalls/assignments": {"get":{ "summary": "List firewall assignments", "operationId": "get-all-firewall-assignments", "description": "Returns a list of all servers assigned to one or more firewalls.", "tags": ["Firewalls"], "security": [{"Bearer":[]}], "parameters": [{"name":"filter[server]","in":"query","required":false,"description":"The server ID to filter by","schema":{"type":"string"},"examples":{"Success":{"value":"sv_Qk0Ryqv1dW36X"}}}, {"name":"page[size]","in":"query","schema":{"type":"integer","minimum":1,"default":20},"required":false,"description":"Number of items to return per page"}, {"name":"page[number]","in":"query","schema":{"type":"integer","minimum":1,"default":1},"required":false,"description":"Page number to return (starts at 1)"}], "x-speakeasy-pagination": {"type":"offsetLimit","inputs":[{"name":"page[number]","in":"parameters","type":"page"}, {"name":"page[size]","in":"parameters","type":"limit"}],"outputs":{"results":"$.data"}}, "x-mint": {"href":"/api-reference/get-all-firewall-assignments"}, "responses": {"200":{"description":"Success","content":{"application/vnd.api+json":{"examples":{"Success":{"value":{"data":[{"id":"fwasg_zGr47qlMDAg0m","type":"firewall_assignments","attributes":{"server":{"id":"sv_Qk0Ryqv1dW36X","hostname":"Heavy Duty Silk Bottle","primary_ipv4":"237.198.84.1"},"firewall":{"id":"fw_pRMLydp0dQKr1","name":"Welch LLC"}}}, {"id":"fwasg_w5AEmq7XDBkWX","type":"firewall_assignments","attributes":{"server":{"id":"sv_Qk0Ryqv1dW36X","hostname":"Heavy Duty Silk Bottle","primary_ipv4":"237.198.84.1"},"firewall":{"id":"fw_zGr47qlMDAg0m","name":"Corkery-Windler"}}}]}}},"schema":{"$ref":"#/components/schemas/firewall_assignments"}}}}}, "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "from latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.firewalls.get_all_firewall_assignments(filter_server=\"sv_Qk0Ryqv1dW36X\", page_size=20, page_number=1)\n\n while res is not None:\n # Handle items\n\n res = res.next()" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.Firewalls.GetAllFirewallAssignments(ctx, latitudeshgosdk.Pointer(\"sv_Qk0Ryqv1dW36X\"), latitudeshgosdk.Pointer[int64](20), latitudeshgosdk.Pointer[int64](1))\n if err != nil {\n log.Fatal(err)\n }\n if res.FirewallAssignments != nil {\n for {\n // handle items\n\n res, err = res.Next()\n\n if err != nil {\n // handle error\n }\n\n if res == nil {\n break\n }\n }\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.firewalls.getAllFirewallAssignments({\n filterServer: \"sv_Qk0Ryqv1dW36X\",\n });\n\n for await (const page of result) {\n console.log(page);\n }\n}\n\nrun();" } ] }}, "/elastic_ips": { "get": { "summary": "List Elastic IPs", "operationId": "list-elastic-ips", "tags": ["Elastic Ips"], "security": [{"Bearer":[]}], "parameters": [{"name":"filter[project]","in":"query","required":false,"description":"The project ID or slug to filter by","schema":{"type":"string"}}, {"name":"filter[server]","in":"query","required":false,"description":"The server ID to filter by","schema":{"type":"string"}}, {"name":"filter[status]","in":"query","required":false,"description":"The status to filter by","schema":{"type":"string","enum":["configuring","active","moving","releasing","error"]}}, {"name":"page[size]","in":"query","schema":{"type":"integer","minimum":1,"default":20},"required":false,"description":"Number of items to return per page"}, {"name":"page[number]","in":"query","schema":{"type":"integer","minimum":1,"default":1},"required":false,"description":"Page number to return (starts at 1)"}], "description": "List all Elastic IPs for the authenticated team. Elastic IPs are static public IP addresses that can be assigned to servers and moved between servers within the same project.\n", "x-speakeasy-pagination": {"type":"offsetLimit","inputs":[{"name":"page[number]","in":"parameters","type":"page"}, {"name":"page[size]","in":"parameters","type":"limit"}],"outputs":{"results":"$.data"}}, "x-mint": {"href":"/api-reference/list-elastic-ips"}, "responses": {"200":{"description":"Success","content":{"application/vnd.api+json":{"examples":{"Success":{"value":{"data":[{"id":"eip_KeQbB4BoO6x10","type":"elastic_ips","attributes":{"address":"177.54.156.7","family":"IPv4","prefix_length":32,"mode":"routed","status":"active","created_at":"2026-02-24T17:06:28.108Z","server":{"id":"sv_2GmAlJ6BXlK1a","hostname":"my-server","primary_ipv4":"177.54.157.75"},"project":{"id":"proj_AoW6vRnwkvLn0","name":"My Project","slug":"my-project"},"region":{"id":"region_sa_sao_paulo","name":"São Paulo","location":{"id":"site_sao","name":"São Paulo","slug":"SAO"}}}}],"meta":{}}}},"schema":{"$ref":"#/components/schemas/elastic_ips"}}}}}, "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "from latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.elastic_ips.list_elastic_ips(page_size=20, page_number=1)\n\n while res is not None:\n # Handle items\n\n res = res.next()" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"github.com/latitudesh/latitudesh-go-sdk/models/operations\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.ElasticIps.ListElasticIps(ctx, operations.ListElasticIpsRequest{})\n if err != nil {\n log.Fatal(err)\n }\n if res.ElasticIps != nil {\n for {\n // handle items\n\n res, err = res.Next()\n\n if err != nil {\n // handle error\n }\n\n if res == nil {\n break\n }\n }\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.elasticIps.listElasticIps({});\n\n for await (const page of result) {\n console.log(page);\n }\n}\n\nrun();" } ] }, "post": { "summary": "Create an Elastic IP", "operationId": "create-elastic-ip", "tags": ["Elastic Ips"], "security": [{"Bearer":[]}], "parameters": [], "description": "Creates a new Elastic IP and assigns it to the specified server. The IP is provisioned asynchronously—the response will show status `configuring` and the `id` will be `null` until provisioning completes. Currently only IPv4 /32 addresses in routed mode are supported.\n", "x-mint": {"href":"/api-reference/create-elastic-ip"}, "responses": {"202":{"description":"Accepted","content":{"application/vnd.api+json":{"examples":{"Accepted":{"value":{"data":{"id":null,"type":"elastic_ips","attributes":{"address":"177.54.156.7","status":"configuring","project":{"id":"proj_AoW6vRnwkvLn0","name":"My Project","slug":"my-project"}}}}}},"schema":{"$ref":"#/components/schemas/elastic_ip"}}}},"422":{"description":"Unprocessable Entity","content":{"application/vnd.api+json":{"examples":{"ServerNotInProject":{"value":{"errors":[{"code":"SERVER_NOT_IN_PROJECT","message":"Server must belong to the specified project"}]}},"IpAllocationFailed":{"value":{"errors":[{"code":"IP_ALLOCATION_FAILED","message":"Failed to allocate IP address"}]}},"SiteNotSupported":{"value":{"errors":[{"code":"SITE_NOT_SUPPORTED","title":"Site Not Supported","status":"422","detail":"Elastic IPs are not available for site SAO"}]}},"ServerNetworkIncompatible":{"value":{"errors":[{"code":"SERVER_NETWORK_INCOMPATIBLE","title":"Server Network Incompatible","status":"422","detail":"Your server has outdated network configuration and we cannot enable elastic IP for it. Please reach out to support"}]}}},"schema":{"$ref":"#/components/schemas/error_object"}}}}}, "requestBody": {"content":{"application/json":{"schema":{"$ref":"#/components/schemas/create_elastic_ip"},"examples":{"Create":{"summary":"Create an Elastic IP","value":{"data":{"type":"elastic_ips","attributes":{"project_id":"proj_AoW6vRnwkvLn0","server_id":"sv_2GmAlJ6BXlK1a"}}}}}},"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/create_elastic_ip"},"examples":{"Create":{"summary":"Create an Elastic IP","value":{"data":{"type":"elastic_ips","attributes":{"project_id":"proj_AoW6vRnwkvLn0","server_id":"sv_2GmAlJ6BXlK1a"}}}}}}},"required":true}, "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "import latitudesh_python_sdk\nfrom latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.elastic_ips.create_elastic_ip(data={\n \"type\": latitudesh_python_sdk.CreateElasticIPType.ELASTIC_IPS,\n \"attributes\": {\n \"project_id\": \"proj_AoW6vRnwkvLn0\",\n \"server_id\": \"sv_2GmAlJ6BXlK1a\",\n },\n })\n\n # Handle response\n print(res)" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"github.com/latitudesh/latitudesh-go-sdk/models/components\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.ElasticIps.CreateElasticIP(ctx, components.CreateElasticIP{\n Data: components.CreateElasticIPData{\n Type: components.CreateElasticIPTypeElasticIps,\n Attributes: components.CreateElasticIPAttributes{\n ProjectID: \"proj_AoW6vRnwkvLn0\",\n ServerID: \"sv_2GmAlJ6BXlK1a\",\n },\n },\n })\n if err != nil {\n log.Fatal(err)\n }\n if res.ElasticIP != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.elasticIps.createElasticIp({\n data: {\n type: \"elastic_ips\",\n attributes: {\n projectId: \"proj_AoW6vRnwkvLn0\",\n serverId: \"sv_2GmAlJ6BXlK1a\",\n },\n },\n });\n\n console.log(result);\n}\n\nrun();" } ] } }, "/elastic_ips/{elastic_ip_id}": { "get": { "summary": "Retrieve an Elastic IP", "operationId": "get-elastic-ip", "tags": ["Elastic Ips"], "security": [{"Bearer":[]}], "parameters": [{"name":"elastic_ip_id","in":"path","description":"The Elastic IP ID","required":true,"examples":{"Success":{"value":"eip_KeQbB4BoO6x10"}},"schema":{"type":"string"}}], "description": "Returns a single Elastic IP by its ID.\n", "x-mint": {"href":"/api-reference/get-elastic-ip"}, "responses": {"200":{"description":"Success","content":{"application/vnd.api+json":{"examples":{"Success":{"value":{"data":{"id":"eip_KeQbB4BoO6x10","type":"elastic_ips","attributes":{"address":"177.54.156.7","family":"IPv4","prefix_length":32,"mode":"routed","status":"active","created_at":"2026-02-24T17:06:28.108Z","server":{"id":"sv_2GmAlJ6BXlK1a","hostname":"my-server","primary_ipv4":"177.54.157.75"},"project":{"id":"proj_AoW6vRnwkvLn0","name":"My Project","slug":"my-project"},"region":{"id":"region_sa_sao_paulo","name":"São Paulo","location":{"id":"site_sao","name":"São Paulo","slug":"SAO"}}}}}}},"schema":{"$ref":"#/components/schemas/elastic_ip"}}}},"404":{"description":"Not Found","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/error_object"}}}}}, "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "from latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.elastic_ips.get_elastic_ip(elastic_ip_id=\"eip_KeQbB4BoO6x10\")\n\n # Handle response\n print(res)" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.ElasticIps.GetElasticIP(ctx, \"eip_KeQbB4BoO6x10\")\n if err != nil {\n log.Fatal(err)\n }\n if res.ElasticIP != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.elasticIps.getElasticIp({\n elasticIpId: \"eip_KeQbB4BoO6x10\",\n });\n\n console.log(result);\n}\n\nrun();" } ] }, "patch": { "summary": "Move an Elastic IP", "operationId": "update-elastic-ip", "tags": ["Elastic Ips"], "security": [{"Bearer":[]}], "parameters": [{"name":"elastic_ip_id","in":"path","description":"The Elastic IP ID","required":true,"examples":{"Success":{"value":"eip_KeQbB4BoO6x10"}},"schema":{"type":"string"}}], "description": "Moves an Elastic IP to a different server within the same project. The reassignment is performed asynchronously. The Elastic IP must be in `active` status and the target server must belong to the same project.\n", "x-mint": {"href":"/api-reference/update-elastic-ip"}, "responses": {"202":{"description":"Accepted","content":{"application/vnd.api+json":{"examples":{"Success":{"value":{"data":{"id":"eip_KeQbB4BoO6x10","type":"elastic_ips","attributes":{"address":"177.54.156.7","family":"IPv4","prefix_length":32,"mode":"routed","status":"moving","created_at":"2026-02-24T17:06:28.108Z","server":{"id":"sv_oDEBlwBGRO2me","hostname":"new-server","primary_ipv4":"177.54.157.180","operating_system":"ubuntu_24_04_x64_lts"},"project":{"id":"proj_AoW6vRnwkvLn0","name":"My Project","slug":"my-project"},"region":{"id":"region_sa_sao_paulo","name":"São Paulo","location":{"id":"site_sao","name":"São Paulo","slug":"SAO"}}}}}}},"schema":{"$ref":"#/components/schemas/elastic_ip"}}}},"404":{"description":"Not Found","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/error_object"}}}},"422":{"description":"Unprocessable Entity","content":{"application/vnd.api+json":{"examples":{"ElasticIpNotActive":{"value":{"errors":[{"code":"ELASTIC_IP_NOT_ACTIVE","message":"Elastic IP must be in active status to move"}]}},"ServerNotInProject":{"value":{"errors":[{"code":"SERVER_NOT_IN_PROJECT","message":"Target server must belong to the same project"}]}},"SiteNotSupported":{"value":{"errors":[{"code":"SITE_NOT_SUPPORTED","title":"Site Not Supported","status":"422","detail":"Elastic IPs are not available for site SAO"}]}},"ServerNetworkIncompatible":{"value":{"errors":[{"code":"SERVER_NETWORK_INCOMPATIBLE","title":"Server Network Incompatible","status":"422","detail":"Your server has outdated network configuration and we cannot enable elastic IP for it. Please reach out to support"}]}}},"schema":{"$ref":"#/components/schemas/error_object"}}}}}, "requestBody": {"content":{"application/json":{"schema":{"$ref":"#/components/schemas/update_elastic_ip"},"examples":{"Move":{"summary":"Move to another server","value":{"data":{"type":"elastic_ips","attributes":{"server_id":"sv_oDEBlwBGRO2me"}}}}}},"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/update_elastic_ip"},"examples":{"Move":{"summary":"Move to another server","value":{"data":{"type":"elastic_ips","attributes":{"server_id":"sv_oDEBlwBGRO2me"}}}}}}},"required":true}, "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "import latitudesh_python_sdk\nfrom latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.elastic_ips.update_elastic_ip(elastic_ip_id=\"eip_KeQbB4BoO6x10\", data={\n \"type\": latitudesh_python_sdk.UpdateElasticIPType.ELASTIC_IPS,\n \"attributes\": {\n \"server_id\": \"sv_oDEBlwBGRO2me\",\n },\n })\n\n # Handle response\n print(res)" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"github.com/latitudesh/latitudesh-go-sdk/models/components\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.ElasticIps.UpdateElasticIP(ctx, \"eip_KeQbB4BoO6x10\", components.UpdateElasticIP{\n Data: components.UpdateElasticIPData{\n Type: components.UpdateElasticIPTypeElasticIps,\n Attributes: components.UpdateElasticIPAttributes{\n ServerID: \"sv_oDEBlwBGRO2me\",\n },\n },\n })\n if err != nil {\n log.Fatal(err)\n }\n if res.ElasticIP != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.elasticIps.updateElasticIp({\n elasticIpId: \"eip_KeQbB4BoO6x10\",\n updateElasticIp: {\n data: {\n type: \"elastic_ips\",\n attributes: {\n serverId: \"sv_oDEBlwBGRO2me\",\n },\n },\n },\n });\n\n console.log(result);\n}\n\nrun();" } ] }, "delete": { "summary": "Release an Elastic IP", "operationId": "delete-elastic-ip", "tags": ["Elastic Ips"], "security": [{"Bearer":[]}], "parameters": [{"name":"elastic_ip_id","in":"path","description":"The Elastic IP ID","required":true,"schema":{"type":"string"}}], "description": "Releases an Elastic IP, returning it to the available pool. The IP will transition to `releasing` status before being fully removed. Only Elastic IPs with status `active` or `error` can be released.\n", "x-mint": {"href":"/api-reference/delete-elastic-ip"}, "responses": {"204":{"description":"No Content"},"404":{"description":"Not Found","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/error_object"}}}},"422":{"description":"Unprocessable Entity","content":{"application/vnd.api+json":{"examples":{"ElasticIpNotReleasable":{"value":{"errors":[{"code":"ELASTIC_IP_NOT_RELEASABLE","message":"Only Elastic IPs with status active or error can be released"}]}}},"schema":{"$ref":"#/components/schemas/error_object"}}}}}, "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "from latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n latitudesh.elastic_ips.delete_elastic_ip(elastic_ip_id=\"\")\n\n # Use the SDK ..." }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.ElasticIps.DeleteElasticIP(ctx, \"\")\n if err != nil {\n log.Fatal(err)\n }\n if res != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n await latitudesh.elasticIps.deleteElasticIp({\n elasticIpId: \"\",\n });\n\n\n}\n\nrun();" } ] } }, "/firewalls": { "post": { "summary": "Create firewall", "operationId": "create-firewall", "description": "Create a firewall", "tags": ["Firewalls"], "security": [{"Bearer":[]}], "parameters": [], "x-mint": {"href":"/api-reference/create-firewall"}, "responses": {"201":{"description":"Created","content":{"application/vnd.api+json":{"examples":{"Created":{"value":{"data":{"id":"fw_w5AEmq7XDBkWX","type":"firewalls","attributes":{"name":"my-firewall","project":{"id":"proj_RLYV8DZ2D5QoE","name":"Heavy Duty Copper Watch","slug":"heavy-duty-copper-watch"},"rules":[{"from":"ANY","to":"ANY","port":"22","protocol":"TCP","default":true}, {"from":"192.168.42.73","to":"192.168.43.51","port":"80","protocol":"TCP","default":false}, {"from":"192.168.1.16","to":"192.168.1.30","port":"80","protocol":"TCP","default":false}, {"from":"192.168.1.10","to":"192.168.1.20","port":"3000-4000","protocol":"UDP","default":false}]}}}}},"schema":{"$ref":"#/components/schemas/firewall"}}}}}, "requestBody": {"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["firewalls"]},"attributes":{"type":"object","properties":{"name":{"type":"string"},"project":{"type":"string"},"rules":{"type":"array","items":{"type":"object","properties":{"from":{"type":"string","description":"Source IP address, IP range in CIDR notation, or 'ANY' (e.g., \"192.168.1.1\", \"192.168.1.0/24\", \"ANY\")"},"to":{"type":"string","description":"Destination IP address, IP range in CIDR notation, or 'ANY' (e.g., \"192.168.1.1\", \"192.168.1.0/24\", \"ANY\")"},"protocol":{"type":"string","enum":["TCP","UDP"]},"port":{"type":"string","description":"Port number or range (e.g., \"80\", \"80-443\")"},"description":{"type":"string","nullable":true,"description":"Optional description explaining the purpose of this rule"}}}}},"required":["name","project"]}},"required":["type"]}},"required":["data"]},"examples":{"Created":{"summary":"Created","value":{"data":{"type":"firewalls","attributes":{"name":"my-firewall","project":"heavy-duty-copper-watch","rules":[{"from":"192.168.42.73","to":"192.168.43.51","port":80,"protocol":"TCP","description":"Allow HTTP traffic"}, {"from":"192.168.1.16","to":"192.168.1.30","port":"80","protocol":"TCP"}, {"from":"192.168.1.10","to":"192.168.1.20","port":"3000-4000","protocol":"UDP","description":"Application ports"}]}}}}}},"application/vnd.api+json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["firewalls"]},"attributes":{"type":"object","properties":{"name":{"type":"string"},"project":{"type":"string"},"rules":{"type":"array","items":{"type":"object","properties":{"from":{"type":"string","description":"Source IP address, IP range in CIDR notation, or 'ANY' (e.g., \"192.168.1.1\", \"192.168.1.0/24\", \"ANY\")"},"to":{"type":"string","description":"Destination IP address, IP range in CIDR notation, or 'ANY' (e.g., \"192.168.1.1\", \"192.168.1.0/24\", \"ANY\")"},"protocol":{"type":"string","enum":["TCP","UDP"]},"port":{"type":"string","description":"Port number or range (e.g., \"80\", \"80-443\")"},"description":{"type":"string","nullable":true,"description":"Optional description explaining the purpose of this rule"}}}}},"required":["name","project"]}},"required":["type"]}},"required":["data"]},"examples":{"Created":{"summary":"Created","value":{"data":{"type":"firewalls","attributes":{"name":"my-firewall","project":"heavy-duty-copper-watch","rules":[{"from":"192.168.42.73","to":"192.168.43.51","port":80,"protocol":"TCP","description":"Allow HTTP traffic"}, {"from":"192.168.1.16","to":"192.168.1.30","port":"80","protocol":"TCP"}, {"from":"192.168.1.10","to":"192.168.1.20","port":"3000-4000","protocol":"UDP","description":"Application ports"}]}}}}}}},"required":true}, "x-speakeasy-name-override": "create", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "import latitudesh_python_sdk\nfrom latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.firewalls.create(data={\n \"type\": latitudesh_python_sdk.CreateFirewallFirewallsType.FIREWALLS,\n \"attributes\": {\n \"name\": \"my-firewall\",\n \"project\": \"heavy-duty-copper-watch\",\n \"rules\": [\n {\n \"from_\": \"192.168.42.73\",\n \"to\": \"192.168.43.51\",\n \"protocol\": latitudesh_python_sdk.CreateFirewallProtocol.TCP,\n \"port\": \"80\",\n \"description\": \"Allow HTTP traffic\",\n },\n {\n \"from_\": \"192.168.1.16\",\n \"to\": \"192.168.1.30\",\n \"protocol\": latitudesh_python_sdk.CreateFirewallProtocol.TCP,\n \"port\": \"80\",\n },\n {\n \"from_\": \"192.168.1.10\",\n \"to\": \"192.168.1.20\",\n \"protocol\": latitudesh_python_sdk.CreateFirewallProtocol.UDP,\n \"port\": \"3000-4000\",\n \"description\": \"Application ports\",\n },\n ],\n },\n })\n\n # Handle response\n print(res)" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"github.com/latitudesh/latitudesh-go-sdk/models/operations\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.Firewalls.Create(ctx, operations.CreateFirewallFirewallsRequestBody{\n Data: operations.CreateFirewallData{\n Type: operations.CreateFirewallTypeFirewalls,\n Attributes: &operations.CreateFirewallAttributes{\n Name: \"my-firewall\",\n Project: \"heavy-duty-copper-watch\",\n Rules: []operations.CreateFirewallRules{\n operations.CreateFirewallRules{\n From: latitudeshgosdk.Pointer(\"192.168.42.73\"),\n To: latitudeshgosdk.Pointer(\"192.168.43.51\"),\n Protocol: operations.CreateFirewallProtocolTCP.ToPointer(),\n Port: latitudeshgosdk.Pointer(\"80\"),\n Description: latitudeshgosdk.Pointer(\"Allow HTTP traffic\"),\n },\n operations.CreateFirewallRules{\n From: latitudeshgosdk.Pointer(\"192.168.1.16\"),\n To: latitudeshgosdk.Pointer(\"192.168.1.30\"),\n Protocol: operations.CreateFirewallProtocolTCP.ToPointer(),\n Port: latitudeshgosdk.Pointer(\"80\"),\n },\n operations.CreateFirewallRules{\n From: latitudeshgosdk.Pointer(\"192.168.1.10\"),\n To: latitudeshgosdk.Pointer(\"192.168.1.20\"),\n Protocol: operations.CreateFirewallProtocolUDP.ToPointer(),\n Port: latitudeshgosdk.Pointer(\"3000-4000\"),\n Description: latitudeshgosdk.Pointer(\"Application ports\"),\n },\n },\n },\n },\n })\n if err != nil {\n log.Fatal(err)\n }\n if res.Firewall != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.firewalls.create({\n data: {\n type: \"firewalls\",\n attributes: {\n name: \"my-firewall\",\n project: \"heavy-duty-copper-watch\",\n rules: [\n {\n from: \"192.168.42.73\",\n to: \"192.168.43.51\",\n protocol: \"TCP\",\n port: \"80\",\n description: \"Allow HTTP traffic\",\n },\n {\n from: \"192.168.1.16\",\n to: \"192.168.1.30\",\n protocol: \"TCP\",\n port: \"80\",\n },\n {\n from: \"192.168.1.10\",\n to: \"192.168.1.20\",\n protocol: \"UDP\",\n port: \"3000-4000\",\n description: \"Application ports\",\n },\n ],\n },\n },\n });\n\n console.log(result);\n}\n\nrun();" } ] }, "get": { "summary": "List firewalls", "operationId": "list-firewalls", "description": "List firewalls", "tags": ["Firewalls"], "security": [{"Bearer":[]}], "parameters": [{"name":"filter[project]","in":"query","required":false,"schema":{"type":"string"},"examples":{"Success":{"value":"intelligent-marble-lamp"}}}, {"name":"page[size]","in":"query","schema":{"type":"integer","minimum":1,"default":20},"required":false,"description":"Number of items to return per page"}, {"name":"page[number]","in":"query","schema":{"type":"integer","minimum":1,"default":1},"required":false,"description":"Page number to return (starts at 1)"}], "x-speakeasy-pagination": {"type":"offsetLimit","inputs":[{"name":"page[number]","in":"parameters","type":"page"}, {"name":"page[size]","in":"parameters","type":"limit"}],"outputs":{"results":"$.data"}}, "x-mint": {"href":"/api-reference/list-firewalls"}, "responses": {"200":{"description":"Success","content":{"application/vnd.api+json":{"examples":{"Success":{"value":{"data":[{"id":"fw_VaNmodjeObE8W","type":"firewalls","attributes":{"name":"Carroll-Purdy","project":{"id":"proj_2695BdKrOevVo","name":"Intelligent Marble Lamp","slug":"intelligent-marble-lamp"},"rules":[{"from":"150.186.180.30","to":"115.157.70.5","port":"80","protocol":"TCP","default":false}]}}]}}},"schema":{"$ref":"#/components/schemas/firewalls"}}}}}, "x-speakeasy-name-override": "list", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "from latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.firewalls.list(filter_project=\"intelligent-marble-lamp\", page_size=20, page_number=1)\n\n while res is not None:\n # Handle items\n\n res = res.next()" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.Firewalls.List(ctx, latitudeshgosdk.Pointer(\"intelligent-marble-lamp\"), latitudeshgosdk.Pointer[int64](20), latitudeshgosdk.Pointer[int64](1))\n if err != nil {\n log.Fatal(err)\n }\n if res.Firewalls != nil {\n for {\n // handle items\n\n res, err = res.Next()\n\n if err != nil {\n // handle error\n }\n\n if res == nil {\n break\n }\n }\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.firewalls.list({\n filterProject: \"intelligent-marble-lamp\",\n });\n\n for await (const page of result) {\n console.log(page);\n }\n}\n\nrun();" } ] } }, "/firewalls/{firewall_id}": { "get": { "summary": "Retrieve firewall", "operationId": "get-firewall", "description": "Returns a single firewall by its ID.", "tags": ["Firewalls"], "security": [{"Bearer":[]}], "parameters": [{"name":"firewall_id","in":"path","description":"The Firewall ID","required":true,"examples":{"Success":{"value":"fw_6A05EdQ1dvKYQ"}},"schema":{"type":"string"}}], "x-mint": {"href":"/api-reference/get-firewall"}, "responses": {"200":{"description":"Success","content":{"application/vnd.api+json":{"examples":{"Success":{"value":{"data":{"id":"fw_6A05EdQ1dvKYQ","type":"firewalls","attributes":{"name":"D'Amore-Nienow","project":{"id":"proj_byQrJdNJd30gv","name":"Rustic Steel Plate","slug":"rustic-steel-plate"},"rules":[{"from":"233.62.24.172","to":"20.231.71.178","port":"80","protocol":"TCP","default":false}, {"from":"242.23.216.53","to":"136.56.111.45","port":"80","protocol":"TCP","default":false}]}}}}},"schema":{"$ref":"#/components/schemas/firewall"}}}}}, "x-speakeasy-name-override": "get", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "from latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.firewalls.get(firewall_id=\"fw_6A05EdQ1dvKYQ\")\n\n # Handle response\n print(res)" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.Firewalls.Get(ctx, \"fw_6A05EdQ1dvKYQ\")\n if err != nil {\n log.Fatal(err)\n }\n if res.Firewall != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.firewalls.get({\n firewallId: \"fw_6A05EdQ1dvKYQ\",\n });\n\n console.log(result);\n}\n\nrun();" } ] }, "patch": { "summary": "Update firewall", "operationId": "update-firewall", "description": "Updates a firewall by its ID.", "tags": ["Firewalls"], "security": [{"Bearer":[]}], "parameters": [{"name":"firewall_id","in":"path","description":"The Firewall ID","required":true,"examples":{"Success":{"value":"fw_r0MK4O4kDa95w"}},"schema":{"type":"string"}}], "x-mint": {"href":"/api-reference/update-firewall"}, "responses": {"200":{"description":"Success","content":{"application/vnd.api+json":{"examples":{"Success":{"value":{"data":{"id":"fw_r0MK4O4kDa95w","type":"firewalls","attributes":{"name":"new-name","project":{"id":"proj_aKXgRdR3qv9k5","name":"Rustic Wooden Clock","slug":"rustic-wooden-clock"},"rules":[{"from":"192.168.42.72","to":"192.168.43.51","port":"80","protocol":"TCP","default":false}]}}}}},"schema":{"$ref":"#/components/schemas/firewall"}}}}}, "requestBody": {"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["firewalls"]},"attributes":{"type":"object","properties":{"name":{"type":"string"},"rules":{"type":"array","items":{"type":"object","properties":{"from":{"type":"string"},"to":{"type":"string"},"protocol":{"type":"string","enum":["TCP","UDP"]},"port":{"type":"string","description":"Port number or range (e.g., \"80\", \"80-443\")"},"description":{"type":"string","nullable":true,"description":"Optional description explaining the purpose of this rule"}}}}}}},"required":["type"]}},"required":["data"]},"examples":{"Success":{"summary":"Success","value":{"data":{"type":"firewalls","attributes":{"name":"new-name","rules":[{"from":"192.168.42.72","to":"192.168.43.51","port":80,"protocol":"TCP","description":"Allow HTTP"}]}}}}}},"application/vnd.api+json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["firewalls"]},"attributes":{"type":"object","properties":{"name":{"type":"string"},"rules":{"type":"array","items":{"type":"object","properties":{"from":{"type":"string"},"to":{"type":"string"},"protocol":{"type":"string","enum":["TCP","UDP"]},"port":{"type":"string","description":"Port number or range (e.g., \"80\", \"80-443\")"},"description":{"type":"string","nullable":true,"description":"Optional description explaining the purpose of this rule"}}}}}}},"required":["type"]}},"required":["data"]},"examples":{"Success":{"summary":"Success","value":{"data":{"type":"firewalls","attributes":{"name":"new-name","rules":[{"from":"192.168.42.72","to":"192.168.43.51","port":80,"protocol":"TCP","description":"Allow HTTP"}]}}}}}}},"required":true}, "x-speakeasy-name-override": "update", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "import latitudesh_python_sdk\nfrom latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.firewalls.update(firewall_id=\"fw_r0MK4O4kDa95w\", data={\n \"type\": latitudesh_python_sdk.UpdateFirewallFirewallsType.FIREWALLS,\n \"attributes\": {\n \"name\": \"new-name\",\n \"rules\": [\n {\n \"from_\": \"192.168.42.72\",\n \"to\": \"192.168.43.51\",\n \"protocol\": latitudesh_python_sdk.UpdateFirewallFirewallsProtocol.TCP,\n \"port\": \"80\",\n \"description\": \"Allow HTTP\",\n },\n ],\n },\n })\n\n # Handle response\n print(res)" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"github.com/latitudesh/latitudesh-go-sdk/models/operations\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.Firewalls.Update(ctx, \"fw_r0MK4O4kDa95w\", operations.UpdateFirewallFirewallsRequestBody{\n Data: operations.UpdateFirewallFirewallsData{\n Type: operations.UpdateFirewallFirewallsTypeFirewalls,\n Attributes: &operations.UpdateFirewallFirewallsAttributes{\n Name: latitudeshgosdk.Pointer(\"new-name\"),\n Rules: []operations.UpdateFirewallFirewallsRules{\n operations.UpdateFirewallFirewallsRules{\n From: latitudeshgosdk.Pointer(\"192.168.42.72\"),\n To: latitudeshgosdk.Pointer(\"192.168.43.51\"),\n Protocol: operations.UpdateFirewallFirewallsProtocolTCP.ToPointer(),\n Port: latitudeshgosdk.Pointer(\"80\"),\n Description: latitudeshgosdk.Pointer(\"Allow HTTP\"),\n },\n },\n },\n },\n })\n if err != nil {\n log.Fatal(err)\n }\n if res.Firewall != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.firewalls.update({\n firewallId: \"fw_r0MK4O4kDa95w\",\n requestBody: {\n data: {\n type: \"firewalls\",\n attributes: {\n name: \"new-name\",\n rules: [\n {\n from: \"192.168.42.72\",\n to: \"192.168.43.51\",\n protocol: \"TCP\",\n port: \"80\",\n description: \"Allow HTTP\",\n },\n ],\n },\n },\n },\n });\n\n console.log(result);\n}\n\nrun();" } ] }, "delete": { "summary": "Delete firewall", "operationId": "delete-firewall", "tags": ["Firewalls"], "security": [{"Bearer":[]}], "parameters": [{"name":"firewall_id","in":"path","description":"The Firewall ID","required":true,"schema":{"type":"string"}}], "x-mint": {"href":"/api-reference/delete-firewall"}, "responses": {"204":{"description":"No Content"}}, "x-speakeasy-name-override": "delete", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "from latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n latitudesh.firewalls.delete(firewall_id=\"fw_123\")\n\n # Use the SDK ..." }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.Firewalls.Delete(ctx, \"fw_123\")\n if err != nil {\n log.Fatal(err)\n }\n if res != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n await latitudesh.firewalls.delete({\n firewallId: \"\",\n });\n\n\n}\n\nrun();" } ] } }, "/firewalls/{firewall_id}/assignments": { "post": { "summary": "Assign server to firewall", "operationId": "create-firewall-assignment", "description": "Assigns a server to a firewall by its ID.", "tags": ["Firewalls"], "security": [{"Bearer":[]}], "parameters": [{"name":"firewall_id","in":"path","description":"The Firewall ID","required":true,"examples":{"Created":{"value":"fw_Ee8pKq05DWAob"}},"schema":{"type":"string"}}], "x-mint": {"href":"/api-reference/create-firewall-assignment"}, "responses": {"201":{"description":"Created","content":{"application/vnd.api+json":{"examples":{"Created":{"value":{"data":{"id":"fwasg_6VE1Wd37dXnZJ","type":"firewall_assignments","attributes":{"server":{"id":"sv_aKXgRdR3qv9k5","hostname":"Ergonomic Wooden Keyboard","primary_ipv4":"132.192.74.198"},"firewall_id":"fw_Ee8pKq05DWAob"}}}}},"schema":{"$ref":"#/components/schemas/firewall_server"}}}}}, "requestBody": {"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["firewall_assignments"]},"attributes":{"type":"object","properties":{"server_id":{"type":"string"}},"required":["server_id"]}},"required":["type"]}},"required":["data"]},"examples":{"Created":{"summary":"Created","value":{"data":{"type":"firewall_assignments","attributes":{"server_id":"sv_aKXgRdR3qv9k5"}}}}}},"application/vnd.api+json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["firewall_assignments"]},"attributes":{"type":"object","properties":{"server_id":{"type":"string"}},"required":["server_id"]}},"required":["type"]}},"required":["data"]},"examples":{"Created":{"summary":"Created","value":{"data":{"type":"firewall_assignments","attributes":{"server_id":"sv_aKXgRdR3qv9k5"}}}}}}},"required":true}, "x-speakeasy-group": "firewalls.assignments", "x-speakeasy-name-override": "create", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "import latitudesh_python_sdk\nfrom latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.firewalls.assign(firewall_id=\"fw_Ee8pKq05DWAob\", data={\n \"type\": latitudesh_python_sdk.CreateFirewallAssignmentFirewallsType.FIREWALL_ASSIGNMENTS,\n \"attributes\": {\n \"server_id\": \"sv_aKXgRdR3qv9k5\",\n },\n })\n\n # Handle response\n print(res)" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"github.com/latitudesh/latitudesh-go-sdk/models/operations\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.Firewalls.Assignments.Create(ctx, \"fw_Ee8pKq05DWAob\", operations.CreateFirewallAssignmentFirewallsAssignmentsRequestBody{\n Data: operations.CreateFirewallAssignmentFirewallsAssignmentsData{\n Type: operations.CreateFirewallAssignmentFirewallsAssignmentsTypeFirewallAssignments,\n Attributes: &operations.CreateFirewallAssignmentFirewallsAssignmentsAttributes{\n ServerID: \"sv_aKXgRdR3qv9k5\",\n },\n },\n })\n if err != nil {\n log.Fatal(err)\n }\n if res.FirewallServer != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.firewalls.assignments.create({\n firewallId: \"fw_Ee8pKq05DWAob\",\n requestBody: {\n data: {\n type: \"firewall_assignments\",\n attributes: {\n serverId: \"sv_aKXgRdR3qv9k5\",\n },\n },\n },\n });\n\n console.log(result);\n}\n\nrun();" } ] }, "get": { "summary": "Firewall assignments", "operationId": "get-firewall-assignments", "description": "Returns a list of all servers assigned to a particular firewall.", "tags": ["Firewalls"], "security": [{"Bearer":[]}], "parameters": [{"name":"firewall_id","in":"path","description":"The Firewall ID","required":true,"examples":{"Success":{"value":"fw_Qk0Ryqv1dW36X"}},"schema":{"type":"string"}}, {"name":"page[size]","in":"query","schema":{"type":"integer","minimum":1,"default":20},"required":false,"description":"Number of items to return per page"}, {"name":"page[number]","in":"query","schema":{"type":"integer","minimum":1,"default":1},"required":false,"description":"Page number to return (starts at 1)"}], "x-speakeasy-pagination": {"type":"offsetLimit","inputs":[{"name":"page[number]","in":"parameters","type":"page"}, {"name":"page[size]","in":"parameters","type":"limit"}],"outputs":{"results":"$.data"}}, "x-mint": {"href":"/api-reference/get-firewall-assignments"}, "responses": {"200":{"description":"Success","content":{"application/vnd.api+json":{"examples":{"Success":{"value":{"data":[{"id":"fwasg_6A05EdQ1dvKYQ","type":"firewall_assignments","attributes":{"server":{"id":"sv_1Qkm7dXzD8nZV","hostname":"Durable Concrete Lamp","primary_ipv4":"114.216.142.237"},"firewall_id":"fw_Qk0Ryqv1dW36X"}}, {"id":"fwasg_ez2A3DVldnawP","type":"firewall_assignments","attributes":{"server":{"id":"sv_m5xyZOnNOWM0l","hostname":"Rustic Cotton Clock","primary_ipv4":"27.26.3.128"},"firewall_id":"fw_Qk0Ryqv1dW36X"}}]}}},"schema":{"$ref":"#/components/schemas/firewall_assignments"}}}}}, "x-speakeasy-name-override": "listAssignments", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "from latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.firewalls.list_assignments(firewall_id=\"fw_Qk0Ryqv1dW36X\", page_size=20, page_number=1)\n\n while res is not None:\n # Handle items\n\n res = res.next()" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.Firewalls.ListAssignments(ctx, \"fw_Qk0Ryqv1dW36X\", latitudeshgosdk.Pointer[int64](20), latitudeshgosdk.Pointer[int64](1))\n if err != nil {\n log.Fatal(err)\n }\n if res.FirewallAssignments != nil {\n for {\n // handle items\n\n res, err = res.Next()\n\n if err != nil {\n // handle error\n }\n\n if res == nil {\n break\n }\n }\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.firewalls.listAssignments({\n firewallId: \"fw_Qk0Ryqv1dW36X\",\n });\n\n for await (const page of result) {\n console.log(page);\n }\n}\n\nrun();" } ] } }, "/firewalls/{firewall_id}/assignments/{assignment_id}": {"delete":{ "summary": "Delete assignment", "operationId": "delete-firewall-assignment", "description": "Removes a server from a firewall by its ID.", "tags": ["Firewalls"], "security": [{"Bearer":[]}], "parameters": [{"name":"firewall_id","in":"path","description":"The Firewall ID","required":true,"schema":{"type":"string"}}, {"name":"assignment_id","in":"path","description":"The Assignment ID","required":true,"schema":{"type":"string"}}], "x-mint": {"href":"/api-reference/delete-firewall-assignment"}, "responses": {"204":{"description":"No Content"}}, "x-speakeasy-name-override": "deleteAssignment", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "from latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n latitudesh.firewalls.delete_assignment(firewall_id=\"fw_2695BdKrOevVo\", assignment_id=\"fwasg_6059EqYkOQj8p\")\n\n # Use the SDK ..." }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.Firewalls.DeleteAssignment(ctx, \"fw_2695BdKrOevVo\", \"fwasg_6059EqYkOQj8p\")\n if err != nil {\n log.Fatal(err)\n }\n if res != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n await latitudesh.firewalls.deleteAssignment({\n firewallId: \"\",\n assignmentId: \"\",\n });\n\n\n}\n\nrun();" } ] }}, "/ips": {"get":{ "summary": "List IPs", "operationId": "get-ips", "tags": ["IP Addresses"], "security": [{"Bearer":[]}], "parameters": [{"name":"filter[server]","in":"query","required":false,"description":"The server ID to filter by","schema":{"type":"string"}}, {"name":"filter[project]","in":"query","required":false,"description":"The project ID or Slug to filter by","schema":{"type":"string"}}, {"name":"filter[family]","in":"query","schema":{"type":"string","enum":["IPv4","IPv6"]},"required":false,"description":"The protocol family to filter by"}, {"name":"filter[type]","in":"query","schema":{"type":"string","enum":["private","public"]},"required":false,"description":"The protocol type to filter by"}, {"name":"filter[location]","in":"query","required":false,"description":"The site slug to filter by","schema":{"type":"string"}}, {"name":"filter[address]","in":"query","required":false,"description":"The address of IP to filter by starts_with","schema":{"type":"string"}}, {"name":"filter[additional]","in":"query","schema":{"type":"boolean"},"required":false,"description":"Filter by additional IPs (true) or management IPs (false)"}, {"name":"extra_fields[ip_addresses]","in":"query","required":false,"description":"The `region` and `server` are provided as extra attributes that are lazy loaded. To request it, just set `extra_fields[ip_addresses]=region,server` in the query string.","schema":{"type":"string"}}, {"name":"page[size]","in":"query","schema":{"type":"integer","minimum":1,"default":20},"required":false,"description":"Number of items to return per page"}, {"name":"page[number]","in":"query","schema":{"type":"integer","minimum":1,"default":1},"required":false,"description":"Page number to return (starts at 1)"}], "description": "List all Management and Additional IP Addresses.\n • Management IPs are IPs that are used for the management IP of a device.\n This is a public IP address that a device is born and dies with. It never changes during the lifecycle of the device.\n • Additional IPs are individual IPs that can be added to a device as an additional IP that can be used.\n", "x-speakeasy-pagination": {"type":"offsetLimit","inputs":[{"name":"page[number]","in":"parameters","type":"page"}, {"name":"page[size]","in":"parameters","type":"limit"}],"outputs":{"results":"$.data"}}, "x-mint": {"href":"/api-reference/get-ips"}, "responses": {"200":{"description":"Success","content":{"application/vnd.api+json":{"examples":{"Success":{"value":{"data":[{"id":"ip_5AEmq7wXqBkWX","type":"ip_addresses","attributes":{"address":"110.190.5.254","cidr":null,"family":"IPv4","gateway":null,"netmask":"255.255.255.255","type":"Public","public":true,"management":true,"additional":false,"project":{"id":"proj_lkg1DeVgOvZE5","name":"Incredible Silk Keyboard"},"region":{},"available":true,"assignment":{}}}, {"id":"ip_Gr47qleMDAg0m","type":"ip_addresses","attributes":{"address":"180.228.210.136","cidr":null,"family":"IPv4","gateway":null,"netmask":"255.255.255.255","type":"Public","public":true,"management":true,"additional":false,"project":{"id":"proj_lkg1DeVgOvZE5","name":"Incredible Silk Keyboard"},"region":{},"available":true,"assignment":{}}}],"meta":{}}}},"schema":{"$ref":"#/components/schemas/ip_addresses"}}}}}, "x-speakeasy-group": "ipAddresses", "x-speakeasy-name-override": "list", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "from latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.ip_addresses.list(filter_server=\"46\", filter_project=\"64\", page_size=20, page_number=1)\n\n while res is not None:\n # Handle items\n\n res = res.next()" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"github.com/latitudesh/latitudesh-go-sdk/models/operations\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.IPAddresses.List(ctx, operations.GetIpsRequest{\n FilterServer: latitudeshgosdk.Pointer(\"46\"),\n FilterProject: latitudeshgosdk.Pointer(\"64\"),\n })\n if err != nil {\n log.Fatal(err)\n }\n if res.IPAddresses != nil {\n for {\n // handle items\n\n res, err = res.Next()\n\n if err != nil {\n // handle error\n }\n\n if res == nil {\n break\n }\n }\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.ipAddresses.list({});\n\n for await (const page of result) {\n console.log(page);\n }\n}\n\nrun();" } ] }}, "/ips/{ip_id}": {"get":{ "summary": "Retrieve an IP", "operationId": "get-ip", "tags": ["IP Addresses"], "security": [{"Bearer":[]}], "parameters": [{"name":"ip_id","in":"path","description":"The IP Address ID","required":true,"schema":{"type":"string"}}, {"name":"extra_fields[ip_addresses]","in":"query","required":false,"description":"The `region` and `server` are provided as extra attributes that are lazy loaded. To request it, just set `extra_fields[ip_addresses]=region,server` in the query string.","schema":{"type":"string"}}], "description": "Retrieve an IP Address", "x-mint": {"href":"/api-reference/get-ip"}, "responses": {"200":{"description":"Success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/ip_address"}}}}}, "x-speakeasy-group": "ipAddresses", "x-speakeasy-name-override": "get", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "from latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.ip_addresses.get(ip_id=\"ip_059EqY7kOQj8p\")\n\n # Handle response\n print(res)" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.IPAddresses.Get(ctx, \"ip_059EqY7kOQj8p\", nil)\n if err != nil {\n log.Fatal(err)\n }\n if res.IPAddress != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.ipAddresses.get({\n ipId: \"\",\n });\n\n console.log(result);\n}\n\nrun();" } ] }}, "/team/members": { "get": { "summary": "List members", "operationId": "get-team-members", "tags": ["Team members"], "security": [{"Bearer":[]}], "parameters": [{"name":"page[size]","in":"query","schema":{"type":"integer","minimum":1,"default":20},"required":false,"description":"Number of items to return per page"}, {"name":"page[number]","in":"query","schema":{"type":"integer","minimum":1,"default":1},"required":false,"description":"Page number to return (starts at 1)"}], "x-speakeasy-pagination": {"type":"offsetLimit","inputs":[{"name":"page[number]","in":"parameters","type":"page"}, {"name":"page[size]","in":"parameters","type":"limit"}],"outputs":{"results":"$.data"}}, "x-mint": {"href":"/api-reference/get-team-members"}, "responses": {"200":{"description":"Success","content":{"application/vnd.api+json":{"examples":{"Success":{"value":{"data":[{"id":"user_4V815bRpPLCKKQnvA2yESr5Q8Px","type":"users","attributes":{"first_name":"Arron","last_name":"Flatley","email":"gabrielle@carter.example","mfa_enabled":false,"created_at":"2025-10-31T00:00:00+00:00","updated_at":"2026-11-15T00:00:00+00:00","last_login_at":null,"role":{"id":"role_0W0Q8EJMrViyEkP5KBzzHNP4v48","name":"billing"}}}, {"id":"user_YLNGPAYPAotoo2mZRv59SGLKQW7n","type":"users","attributes":{"first_name":"Kathryne","last_name":"Purdy","email":"hilaria.rutherford@lowe.test","mfa_enabled":false,"created_at":"2025-05-31T00:00:00+00:00","updated_at":"2026-10-22T00:00:00+00:00","last_login_at":null,"role":{"id":"role_o41aor9xVMSzmNM5eQN4TkJbv42","name":"owner"}}}, {"id":"user_LxZl44k6rJtLBAYg67L7F5o3AkJP","type":"users","attributes":{"first_name":"Myles","last_name":"Lesch","email":"manual@marquardt-lueilwitz.example","mfa_enabled":false,"created_at":"2025-02-22T00:00:00+00:00","updated_at":"2026-09-20T00:00:00+00:00","last_login_at":"2025-08-05T00:00:00+00:00","role":{"id":"role_o41aor9xVMSzmNM5eQN4TkJbv42","name":"owner"}}}],"meta":{}}}},"schema":{"$ref":"#/components/schemas/team_members"}}}}}, "x-speakeasy-group": "teams.members", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "from latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.teams_members.list(page_size=20, page_number=1)\n\n while res is not None:\n # Handle items\n\n res = res.next()" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.Teams.Members.GetTeamMembers(ctx, latitudeshgosdk.Pointer[int64](20), latitudeshgosdk.Pointer[int64](1))\n if err != nil {\n log.Fatal(err)\n }\n if res.TeamMembers != nil {\n for {\n // handle items\n\n res, err = res.Next()\n\n if err != nil {\n // handle error\n }\n\n if res == nil {\n break\n }\n }\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.teams.members.getTeamMembers({});\n\n for await (const page of result) {\n console.log(page);\n }\n}\n\nrun();" } ] }, "post": { "summary": "Create member", "operationId": "post-team-members", "tags": ["Team members"], "security": [{"Bearer":[]}], "parameters": [], "x-mint": {"href":"/api-reference/post-team-members"}, "responses": {"201":{"description":"Created","content":{"application/vnd.api+json":{"examples":{"Created":{"value":{"data":{"id":"user_pbV0Dgykd4AWz","type":"memberships","attributes":{"first_name":"Maricela","last_name":"Torphy","email":"maritza_schneider@mcglynn.test","role":"collaborator","mfa_enabled":false,"created_at":"2026-01-14T15:56:36+00:00","updated_at":"2026-01-14T15:56:36+00:00"}},"meta":{}}}},"schema":{"$ref":"#/components/schemas/membership"}}}}}, "requestBody": {"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["memberships"]},"attributes":{"type":"object","properties":{"first_name":{"type":"string"},"last_name":{"type":"string"},"email":{"type":"string"},"role":{"type":"string","enum":["owner","administrator","collaborator","billing"]}},"required":["email","role"]}},"required":["type"]}},"required":["data"]},"examples":{"Created":{"summary":"Created","value":{"data":{"type":"teams","attributes":{"first_name":"Maricela","last_name":"Torphy","email":"maritza_schneider@mcglynn.test","role":"collaborator"}}}}}},"application/vnd.api+json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["memberships"]},"attributes":{"type":"object","properties":{"first_name":{"type":"string"},"last_name":{"type":"string"},"email":{"type":"string"},"role":{"type":"string","enum":["owner","administrator","collaborator","billing"]}},"required":["email","role"]}},"required":["type"]}},"required":["data"]},"examples":{"Created":{"summary":"Created","value":{"data":{"type":"teams","attributes":{"first_name":"Maricela","last_name":"Torphy","email":"maritza_schneider@mcglynn.test","role":"collaborator"}}}}}}},"required":true}, "x-speakeasy-group": "teamMembers", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "import latitudesh_python_sdk\nfrom latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.teams_members.add(data={\n \"type\": latitudesh_python_sdk.PostTeamMembersTeamsMembersType.MEMBERSHIPS,\n \"attributes\": {\n \"first_name\": \"Maricela\",\n \"last_name\": \"Torphy\",\n \"email\": \"maritza_schneider@mcglynn.test\",\n \"role\": latitudesh_python_sdk.PostTeamMembersTeamsMembersRole.COLLABORATOR,\n },\n })\n\n # Handle response\n print(res)" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"github.com/latitudesh/latitudesh-go-sdk/models/operations\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.TeamMembers.PostTeamMembers(ctx, operations.PostTeamMembersTeamMembersRequestBody{\n Data: operations.PostTeamMembersTeamMembersData{\n Type: operations.PostTeamMembersTeamMembersTypeMemberships,\n Attributes: &operations.PostTeamMembersTeamMembersAttributes{\n FirstName: latitudeshgosdk.Pointer(\"Maricela\"),\n LastName: latitudeshgosdk.Pointer(\"Torphy\"),\n Email: \"maritza_schneider@mcglynn.test\",\n Role: operations.PostTeamMembersRoleCollaborator,\n },\n },\n })\n if err != nil {\n log.Fatal(err)\n }\n if res.Membership != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.teamMembers.postTeamMembers({\n data: {\n type: \"memberships\",\n attributes: {\n firstName: \"Maricela\",\n lastName: \"Torphy\",\n email: \"maritza_schneider@mcglynn.test\",\n role: \"collaborator\",\n },\n },\n });\n\n console.log(result);\n}\n\nrun();" } ] } }, "/team/members/{user_id}": {"delete":{ "summary": "Remove a member", "operationId": "destroy-team-member", "tags": ["Team members"], "parameters": [{"name":"user_id","in":"path","description":"The user ID","required":true,"examples":{"Success":{"value":"user_0MoLqJEYd57pY"}},"schema":{"type":"string"}}], "security": [{"Bearer":[]}], "x-mint": {"href":"/api-reference/destroy-team-member"}, "responses": {"200":{"description":"Success","content":{"application/vnd.api+json":{"examples":{"Success":{"value":{"meta":{}}}}}}}}, "x-speakeasy-group": "teamMembers", "x-speakeasy-name-override": "delete", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "from latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n latitudesh.teams_members.remove_member(user_id=\"user_0MoLqJEYd57pY\")\n\n # Use the SDK ..." }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.TeamMembers.Delete(ctx, \"user_0MoLqJEYd57pY\")\n if err != nil {\n log.Fatal(err)\n }\n if res != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n await latitudesh.teamMembers.delete({\n userId: \"user_0MoLqJEYd57pY\",\n });\n\n\n}\n\nrun();" } ] }}, "/plans/operating_systems": {"get":{ "summary": "List operating systems", "operationId": "get-plans-operating-system", "tags": ["Operating Systems"], "security": [{"Bearer":[]}], "description": "Lists all operating systems available to deploy and reinstall.\n", "parameters": [{"name":"page[size]","in":"query","schema":{"type":"integer","minimum":1,"default":20},"required":false,"description":"Number of items to return per page"}, {"name":"page[number]","in":"query","schema":{"type":"integer","minimum":1,"default":1},"required":false,"description":"Page number to return (starts at 1)"}], "x-speakeasy-pagination": {"type":"offsetLimit","inputs":[{"name":"page[number]","in":"parameters","type":"page"}, {"name":"page[size]","in":"parameters","type":"limit"}],"outputs":{"results":"$.data"}}, "x-mint": {"href":"/api-reference/get-plans-operating-system"}, "responses": {"200":{"description":"Success","content":{"application/vnd.api+json":{"examples":{"Success":{"value":{"data":[{"id":"os_mw49QDB5qagKb","type":"operating_system","attributes":{"name":"windows_server_2012_r2_std_v281 11.77","distro":"CentOS 1","slug":"debian_121","version":"11.77","user":"Rosalinda","features":{},"provisionable_on":["g3.a100.medium-39","c2.medium.x86-40"]}}],"meta":{}}}},"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/operating_systems"}}}}}}}}, "x-speakeasy-group": "operatingSystems", "x-speakeasy-name-override": "listPlans", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "from latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.operating_systems.list(page_size=20, page_number=1)\n\n while res is not None:\n # Handle items\n\n res = res.next()" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.OperatingSystems.ListPlans(ctx, latitudeshgosdk.Pointer[int64](20), latitudeshgosdk.Pointer[int64](1))\n if err != nil {\n log.Fatal(err)\n }\n if res.Object != nil {\n for {\n // handle items\n\n res, err = res.Next()\n\n if err != nil {\n // handle error\n }\n\n if res == nil {\n break\n }\n }\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.operatingSystems.listPlans({});\n\n for await (const page of result) {\n console.log(page);\n }\n}\n\nrun();" } ] }}, "/kubernetes_clusters": { "post": { "summary": "Create a Kubernetes Cluster", "operationId": "create-kubernetes-cluster", "tags": ["Kubernetes Clusters"], "security": [{"Bearer":[]}], "parameters": [], "description": "Creates a new managed Kubernetes cluster. Maximum of 1 cluster per project.\n\nCluster names must follow Kubernetes naming rules: lowercase alphanumeric characters or hyphens, must start and end with an alphanumeric character, and be at most 63 characters long.\n", "responses": {"201":{"description":"Created","content":{"application/vnd.api+json":{"examples":{"Created":{"value":{"data":{"type":"kubernetes_clusters","id":"kc_pRMLydp0dQKr1","attributes":{"name":"my-cluster","status":"provisioning","control_plane_endpoint":"https://api.my-cluster.example.com:6443"}}}}},"schema":{"$ref":"#/components/schemas/kubernetes_cluster_create_response"}}}},"400":{"description":"Bad Request","content":{"application/vnd.api+json":{"examples":{"ValidationError":{"value":{"errors":[{"code":"VALIDATION_ERROR","message":"Project ID is required"}]}},"InvalidSshKeys":{"value":{"errors":[{"code":"VALIDATION_ERROR","message":"One or more SSH keys not found or not owned by your team"}]}}},"schema":{"$ref":"#/components/schemas/error_object"}}}},"422":{"description":"Unprocessable Entity","content":{"application/vnd.api+json":{"examples":{"ClusterLimitExceeded":{"value":{"errors":[{"code":"CLUSTER_LIMIT_EXCEEDED","message":"Only 1 cluster per project is allowed"}]}},"NoAvailableIP":{"value":{"errors":[{"code":"NO_AVAILABLE_IP","message":"Failed to allocate LoadBalancer IP: No available IP found"}]}},"InvalidSite":{"value":{"errors":[{"code":"INVALID_SITE","message":"Site not found"}]}},"SiteNotSupported":{"value":{"errors":[{"code":"SITE_NOT_SUPPORTED","message":"Managed Kubernetes is not available at site MIA. Available sites: FRA, ASH"}]}},"InvalidClusterName":{"value":{"errors":[{"code":"INVALID_CLUSTER_NAME","message":"Cluster name must contain only lowercase letters, numbers, and hyphens"}]}},"InsufficientStock":{"value":{"errors":[{"code":"INSUFFICIENT_STOCK","message":"No stock available of plan suitable for Kubernetes cluster"}]}},"PlanNotFound":{"value":{"errors":[{"code":"PLAN_NOT_FOUND","message":"Plan 'invalid-plan' not found"}]}}},"schema":{"$ref":"#/components/schemas/error_object"}}}},"503":{"description":"Service Unavailable","content":{"application/vnd.api+json":{"examples":{"ManagementClusterError":{"value":{"errors":[{"code":"MANAGEMENT_CLUSTER_ERROR","message":"Failed to communicate with the management cluster"}]}}},"schema":{"$ref":"#/components/schemas/error_object"}}}}}, "requestBody": {"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/create_kubernetes_cluster"},"examples":{"Created":{"summary":"Create a cluster","value":{"data":{"type":"kubernetes_clusters","attributes":{"name":"my-cluster","project_id":"proj_6059EqYkOQj8p","site":"SAN3","plan":"c2-small-x86","ssh_keys":["ssh_VkE1DwV37dnZJ"]}}}}}}},"required":true}, "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "import latitudesh_python_sdk\nfrom latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.kubernetes_clusters.create_kubernetes_cluster(data={\n \"type\": latitudesh_python_sdk.CreateKubernetesClusterType.KUBERNETES_CLUSTERS,\n \"attributes\": {\n \"name\": \"my-cluster\",\n \"project_id\": \"proj_6059EqYkOQj8p\",\n \"site\": \"SAN3\",\n \"plan\": \"c2-small-x86\",\n \"ssh_keys\": [\n \"ssh_VkE1DwV37dnZJ\",\n ],\n },\n })\n\n # Handle response\n print(res)" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"github.com/latitudesh/latitudesh-go-sdk/models/components\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.KubernetesClusters.CreateKubernetesCluster(ctx, components.CreateKubernetesCluster{\n Data: components.CreateKubernetesClusterData{\n Type: components.CreateKubernetesClusterTypeKubernetesClusters,\n Attributes: components.CreateKubernetesClusterAttributes{\n Name: latitudeshgosdk.Pointer(\"my-cluster\"),\n ProjectID: \"proj_6059EqYkOQj8p\",\n Site: \"SAN3\",\n Plan: \"c2-small-x86\",\n SSHKeys: []string{\n \"ssh_VkE1DwV37dnZJ\",\n },\n },\n },\n })\n if err != nil {\n log.Fatal(err)\n }\n if res.KubernetesClusterCreateResponse != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.kubernetesClusters.createKubernetesCluster({\n data: {\n type: \"kubernetes_clusters\",\n attributes: {\n name: \"my-cluster\",\n projectId: \"proj_6059EqYkOQj8p\",\n site: \"SAN3\",\n plan: \"c2-small-x86\",\n sshKeys: [\n \"ssh_VkE1DwV37dnZJ\",\n ],\n },\n },\n });\n\n console.log(result);\n}\n\nrun();" } ] }, "get": { "summary": "List Kubernetes Clusters", "operationId": "list-kubernetes-clusters", "tags": ["Kubernetes Clusters"], "security": [{"Bearer":[]}], "parameters": [{"name":"project_id","in":"query","required":true,"description":"The project ID to filter clusters by","schema":{"type":"string"}}], "description": "Lists all Kubernetes clusters for a project.\n", "responses": {"200":{"description":"Success","content":{"application/vnd.api+json":{"examples":{"Success":{"value":{"data":[{"type":"kubernetes_clusters","id":"kc_pRMLydp0dQKr1","attributes":{"name":"my-cluster","phase":"Provisioned","ready":true,"infrastructure_ready":true,"control_plane_ready":true,"message":"Cluster is ready","steps":[{"name":"infrastructure","status":"completed"}, {"name":"control_plane","status":"completed"}, {"name":"workers","status":"completed"}],"last_status_change":"2026-01-15T10:35:00Z","created_at":"2026-01-15T10:30:00Z"}}]}},"EmptyList":{"value":{"data":[]}}},"schema":{"$ref":"#/components/schemas/kubernetes_clusters"}}}},"400":{"description":"Bad Request","content":{"application/vnd.api+json":{"examples":{"MissingProjectId":{"value":{"errors":[{"code":"VALIDATION_ERROR","message":"project_id query param is required"}]}}},"schema":{"$ref":"#/components/schemas/error_object"}}}},"401":{"description":"Unauthorized","content":{"application/vnd.api+json":{"examples":{"InvalidToken":{"value":{"errors":[{"code":"UNAUTHORIZED","message":"Invalid token"}]}}},"schema":{"$ref":"#/components/schemas/error_object"}}}}}, "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "from latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.kubernetes_clusters.list_kubernetes_clusters(project_id=\"\")\n\n # Handle response\n print(res)" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.KubernetesClusters.ListKubernetesClusters(ctx, \"\")\n if err != nil {\n log.Fatal(err)\n }\n if res.KubernetesClusters != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.kubernetesClusters.listKubernetesClusters({\n projectId: \"\",\n });\n\n console.log(result);\n}\n\nrun();" } ] } }, "/kubernetes_clusters/available_versions": {"get":{ "summary": "List Available Kubernetes Versions", "operationId": "list-kubernetes-available-versions", "tags": ["Kubernetes Clusters"], "security": [{"Bearer":[]}], "parameters": [], "description": "Returns the list of available Kubernetes versions for cluster creation and upgrades. Versions are sourced from the RKE2 release channels and cached for 24 hours.\n\nEach version object includes:\n- `latest`: The full version string (e.g., `v1.35.3+rke2r1`)\n- `minor`: The minor version number (e.g., `1.35`)\n\nThe API returns the latest 5 supported minor versions. When upgrading clusters, you can only upgrade one minor version at a time (e.g., from 1.34 to 1.35).\n", "responses": {"200":{"description":"Success","content":{"application/vnd.api+json":{"examples":{"Success":{"value":{"data":[{"latest":"v1.31.6+rke2r1","minor":"1.31"}, {"latest":"v1.32.5+rke2r1","minor":"1.32"}, {"latest":"v1.33.5+rke2r1","minor":"1.33"}, {"latest":"v1.34.6+rke2r1","minor":"1.34"}, {"latest":"v1.35.3+rke2r1","minor":"1.35"}]}}},"schema":{"$ref":"#/components/schemas/kubernetes_available_versions"}}}},"401":{"description":"Unauthorized","content":{"application/vnd.api+json":{"examples":{"InvalidToken":{"value":{"errors":[{"code":"UNAUTHORIZED","message":"Invalid token"}]}}},"schema":{"$ref":"#/components/schemas/error_object"}}}}}, "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "from latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.kubernetes_clusters.list_kubernetes_available_versions()\n\n # Handle response\n print(res)" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.KubernetesClusters.ListKubernetesAvailableVersions(ctx)\n if err != nil {\n log.Fatal(err)\n }\n if res.KubernetesAvailableVersions != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.kubernetesClusters.listKubernetesAvailableVersions();\n\n console.log(result);\n}\n\nrun();" } ] }}, "/kubernetes_clusters/{kubernetes_cluster_id}": { "get": { "summary": "Get a Kubernetes Cluster", "operationId": "get-kubernetes-cluster", "tags": ["Kubernetes Clusters"], "security": [{"Bearer":[]}], "parameters": [{"name":"kubernetes_cluster_id","in":"path","required":true,"description":"The cluster ID (format: kc_) or cluster name. Both formats are accepted for backward compatibility.","schema":{"type":"string"}}], "description": "Retrieves detailed information about a Kubernetes cluster including its status, control plane, worker node details, and individual node information.\n", "responses": {"200":{"description":"Success","content":{"application/vnd.api+json":{"examples":{"Success":{"value":{"data":{"type":"kubernetes_clusters","id":"kc_pRMLydp0dQKr1","attributes":{"name":"my-cluster","phase":"Provisioned","ready":true,"control_plane_endpoint":"https://api.my-cluster.example.com:6443","kubeconfig_url":"/kubernetes_clusters/kc_pRMLydp0dQKr1/kubeconfig","location":"SAN3","load_balancer_ips":["10.0.0.1"],"kubernetes_version":"v1.34.3+rke2r1","version_status":"upgrade_available","available_upgrade":"v1.35.3+rke2r1","created_at":"2026-01-15T10:30:00Z","plan":"c3-small-x86","worker_plan":"c3-medium-x86","control_plane_count":1,"worker_count":1,"control_plane":{"ready":true,"replicas":1,"ready_replicas":1},"workers":{"replicas":1,"ready_replicas":1,"available_replicas":1},"worker_status":"ready","control_plane_status":"ready","infrastructure_ready":true,"control_plane_ready":true,"message":"Cluster is ready","steps":[{"name":"infrastructure","status":"completed"}, {"name":"control_plane","status":"completed"}, {"name":"workers","status":"completed"}],"last_status_change":"2026-01-15T10:35:00Z","failure_message":null,"failure_reason":null,"nodes":[{"id":"my-cluster-control-plane-abc12","name":"my-cluster-control-plane-abc12","hostname":"my-cluster-control-plane-abc12","server_id":"sv_RLYV8DZ2D5QoE","type":"control_plane","status":"ready","ip":"203.0.113.10","internal_ip":"10.0.0.10","external_ip":"203.0.113.10"}, {"id":"my-cluster-md-0-def34","name":"my-cluster-md-0-def34","hostname":"my-cluster-md-0-def34","server_id":"sv_7KP2Xm9nYwR3Q","type":"worker","status":"ready","ip":"203.0.113.20","internal_ip":"10.0.0.20","external_ip":"203.0.113.20"}],"project":{"id":"proj_6059EqYkOQj8p","name":"My Project","slug":"my-project"}}}}},"Provisioning":{"value":{"data":{"type":"kubernetes_clusters","id":"kc_pRMLydp0dQKr1","attributes":{"name":"my-cluster","phase":"Provisioning","ready":false,"control_plane_endpoint":null,"kubeconfig_url":null,"location":"SAN3","load_balancer_ips":[],"kubernetes_version":"v1.34.3+rke2r1","version_status":"up_to_date","available_upgrade":null,"created_at":"2026-01-15T10:30:00Z","plan":"c3-small-x86","worker_plan":"c3-medium-x86","control_plane_count":1,"worker_count":0,"control_plane":{"ready":false,"replicas":1,"ready_replicas":0},"workers":null,"worker_status":null,"control_plane_status":"scaling","infrastructure_ready":false,"control_plane_ready":false,"message":"Setting up cluster infrastructure","steps":[{"name":"infrastructure","status":"in_progress"}, {"name":"control_plane","status":"pending"}, {"name":"workers","status":"pending"}],"last_status_change":"2026-01-15T10:32:00Z","failure_message":null,"failure_reason":null,"nodes":[{"id":"my-cluster-control-plane-xyz78","name":"my-cluster-control-plane-xyz78","hostname":null,"server_id":null,"type":"control_plane","status":"pending","ip":null,"internal_ip":null,"external_ip":null}],"project":{"id":"proj_6059EqYkOQj8p","name":"My Project","slug":"my-project"}}}}}},"schema":{"$ref":"#/components/schemas/kubernetes_cluster"}}}},"401":{"description":"Unauthorized","content":{"application/vnd.api+json":{"examples":{"InvalidToken":{"value":{"errors":[{"code":"UNAUTHORIZED","message":"Invalid token"}]}}},"schema":{"$ref":"#/components/schemas/error_object"}}}},"404":{"description":"Not Found","content":{"application/vnd.api+json":{"examples":{"ClusterNotFound":{"value":{"errors":[{"code":"NOT_FOUND","message":"Cluster my-cluster not found"}]}}},"schema":{"$ref":"#/components/schemas/error_object"}}}}}, "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "from latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.kubernetes_clusters.get_kubernetes_cluster(kubernetes_cluster_id=\"\")\n\n # Handle response\n print(res)" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.KubernetesClusters.GetKubernetesCluster(ctx, \"\")\n if err != nil {\n log.Fatal(err)\n }\n if res.KubernetesCluster != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.kubernetesClusters.getKubernetesCluster({\n kubernetesClusterId: \"\",\n });\n\n console.log(result);\n}\n\nrun();" } ] }, "delete": { "summary": "Delete a Kubernetes Cluster", "operationId": "delete-kubernetes-cluster", "tags": ["Kubernetes Clusters"], "security": [{"Bearer":[]}], "parameters": [{"name":"kubernetes_cluster_id","in":"path","required":true,"description":"The cluster ID (format: kc_) or cluster name. Both formats are accepted for backward compatibility.","schema":{"type":"string"}}], "description": "Deletes a Kubernetes cluster. This action is irreversible and will destroy all cluster resources.\n", "responses": {"204":{"description":"No Content"},"401":{"description":"Unauthorized","content":{"application/vnd.api+json":{"examples":{"InvalidToken":{"value":{"errors":[{"code":"UNAUTHORIZED","message":"Invalid token"}]}}},"schema":{"$ref":"#/components/schemas/error_object"}}}},"404":{"description":"Not Found","content":{"application/vnd.api+json":{"examples":{"ClusterNotFound":{"value":{"errors":[{"code":"NOT_FOUND","message":"Cluster my-cluster not found"}]}}},"schema":{"$ref":"#/components/schemas/error_object"}}}},"422":{"description":"Unprocessable Entity","content":{"application/vnd.api+json":{"examples":{"DeletionFailed":{"value":{"errors":[{"code":"DELETION_FAILED","message":"Failed to delete the cluster"}]}}},"schema":{"$ref":"#/components/schemas/error_object"}}}}}, "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "from latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n latitudesh.kubernetes_clusters.delete_kubernetes_cluster(kubernetes_cluster_id=\"\")\n\n # Use the SDK ..." }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.KubernetesClusters.DeleteKubernetesCluster(ctx, \"\")\n if err != nil {\n log.Fatal(err)\n }\n if res != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n await latitudesh.kubernetesClusters.deleteKubernetesCluster({\n kubernetesClusterId: \"\",\n });\n\n\n}\n\nrun();" } ] }, "patch": { "summary": "Update Kubernetes Cluster", "operationId": "update-kubernetes-cluster", "tags": ["Kubernetes Clusters"], "security": [{"Bearer":[]}], "parameters": [{"name":"kubernetes_cluster_id","in":"path","required":true,"description":"The cluster ID (format: kc_) or cluster name. Both formats are accepted for backward compatibility.","schema":{"type":"string"}}], "description": "Updates a Kubernetes cluster by scaling nodes or upgrading the Kubernetes version. The cluster must be in `Provisioned` phase to accept updates.\n\n## Scaling Operations\n\nExactly one of `worker_count` or `control_plane_count` must be provided per request. You cannot scale workers and control plane nodes in the same request.\n\nWhen scaling up, the API validates that sufficient server stock is available for the requested delta (e.g., scaling from 2 to 5 workers checks for 3 available servers).\n\nWhen scaling from 0 workers, you must provide a `worker_plan` since there is no existing configuration to inherit the plan from.\n\nControl plane scaling has a minimum of 1 node. You cannot scale control plane nodes to zero.\n\n## Version Upgrades\n\nProvide a `kubernetes_version` parameter to upgrade the cluster to a new Kubernetes version. Version upgrades follow these rules:\n\n- **No downgrades**: You cannot downgrade to a lower version than currently installed\n- **One minor version at a time**: You can only upgrade one minor version at a time (e.g., from 1.34 to 1.35, not from 1.34 to 1.36)\n- **Mutually exclusive**: Version upgrades cannot be combined with scaling operations in the same request\n- **Available versions only**: The target version must be in the list returned by `GET /kubernetes_clusters/available_versions`\n\nReturns 202 Accepted when an update operation is triggered. Poll the GET endpoint to monitor progress. Returns 200 OK if no change is needed (no-op).\n", "responses": {"200":{"description":"OK - No change needed","content":{"application/vnd.api+json":{"examples":{"WorkersUnchanged":{"summary":"Worker count unchanged","value":{"data":{"type":"kubernetes_clusters","id":"kc_pRMLydp0dQKr1","attributes":{"name":"my-cluster","status":"unchanged","worker_count":3}}}},"ControlPlaneUnchanged":{"summary":"Control plane count unchanged","value":{"data":{"type":"kubernetes_clusters","id":"kc_pRMLydp0dQKr1","attributes":{"name":"my-cluster","status":"unchanged","control_plane_count":3}}}}},"schema":{"$ref":"#/components/schemas/kubernetes_cluster_update_response"}}}},"202":{"description":"Accepted - Update operation started","content":{"application/vnd.api+json":{"examples":{"ScalingWorkers":{"summary":"Worker scaling in progress","value":{"data":{"type":"kubernetes_clusters","id":"kc_pRMLydp0dQKr1","attributes":{"name":"my-cluster","status":"scaling","worker_count":5}}}},"ScalingControlPlane":{"summary":"Control plane scaling in progress","value":{"data":{"type":"kubernetes_clusters","id":"kc_pRMLydp0dQKr1","attributes":{"name":"my-cluster","status":"scaling","control_plane_count":3}}}},"UpgradingVersion":{"summary":"Version upgrade in progress","value":{"data":{"type":"kubernetes_clusters","id":"kc_pRMLydp0dQKr1","attributes":{"name":"my-cluster","status":"upgrading","kubernetes_version":"v1.35.0+rke2r1"}}}}},"schema":{"$ref":"#/components/schemas/kubernetes_cluster_update_response"}}}},"400":{"description":"Bad Request","content":{"application/vnd.api+json":{"examples":{"MissingParameter":{"summary":"No update parameter provided","value":{"errors":[{"code":"VALIDATION_ERROR","message":"worker_count, control_plane_count, or kubernetes_version is required"}]}},"ScalingMutualExclusion":{"summary":"Both worker_count and control_plane_count provided","value":{"errors":[{"code":"VALIDATION_ERROR","message":"cannot update control_plane_count and worker_count in the same request"}]}},"VersionWithScaling":{"summary":"Version upgrade combined with scaling","value":{"errors":[{"code":"VALIDATION_ERROR","message":"cannot combine kubernetes_version with scaling operations"}]}},"InvalidWorkerCountType":{"value":{"errors":[{"code":"VALIDATION_ERROR","message":"worker_count must be an integer"}]}},"InvalidControlPlaneCountType":{"summary":"Control plane count is not an integer","value":{"errors":[{"code":"VALIDATION_ERROR","message":"control_plane_count must be an integer"}]}}},"schema":{"$ref":"#/components/schemas/error_object"}}}},"403":{"description":"Forbidden","content":{"application/vnd.api+json":{"examples":{"InsufficientPermissions":{"value":{"errors":[{"code":"FORBIDDEN","message":"You don't have permission to perform this action"}]}}},"schema":{"$ref":"#/components/schemas/error_object"}}}},"404":{"description":"Not Found","content":{"application/vnd.api+json":{"examples":{"ClusterNotFound":{"value":{"errors":[{"code":"NOT_FOUND","message":"Cluster my-cluster not found"}]}}},"schema":{"$ref":"#/components/schemas/error_object"}}}},"422":{"description":"Unprocessable Entity","content":{"application/vnd.api+json":{"examples":{"ClusterNotReady":{"value":{"errors":[{"code":"VALIDATION_ERROR","message":"Cluster must be in Provisioned phase to accept updates (current phase: Provisioning)"}]}},"InvalidWorkerCount":{"value":{"errors":[{"code":"INVALID_WORKER_COUNT","message":"worker_count must be between 0 and 10"}]}},"WorkerPlanRequired":{"value":{"errors":[{"code":"WORKER_PLAN_REQUIRED","message":"worker_plan is required when scaling from 0 workers"}]}},"InvalidControlPlaneCount":{"summary":"Control plane count below minimum","value":{"errors":[{"code":"VALIDATION_ERROR","message":"control_plane_count must be at least 1"}]}},"InsufficientStock":{"value":{"errors":[{"code":"INSUFFICIENT_STOCK","message":"No stock available of plan suitable for Kubernetes cluster"}]}},"VersionDowngrade":{"summary":"Attempted to downgrade Kubernetes version","value":{"errors":[{"code":"VERSION_DOWNGRADE","message":"Cannot downgrade from v1.35.0+rke2r1 to v1.34.0+rke2r1"}]}},"MinorVersionSkip":{"summary":"Attempted to skip a minor version","value":{"errors":[{"code":"MINOR_VERSION_SKIP","message":"Cannot skip minor versions. Current: 1.34, target: 1.36. Upgrade to 1.35 first."}]}},"VersionNotAvailable":{"summary":"Target version not in available versions list","value":{"errors":[{"code":"VERSION_NOT_AVAILABLE","message":"Version v1.30.0+rke2r1 is not available for upgrade"}]}}},"schema":{"$ref":"#/components/schemas/error_object"}}}},"503":{"description":"Service Unavailable","content":{"application/vnd.api+json":{"examples":{"ManagementClusterError":{"value":{"errors":[{"code":"MANAGEMENT_CLUSTER_ERROR","message":"Failed to communicate with the management cluster"}]}}},"schema":{"$ref":"#/components/schemas/error_object"}}}}}, "requestBody": {"content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/update_kubernetes_cluster"},"examples":{"ScaleWorkersUp":{"summary":"Scale workers from 2 to 5","value":{"data":{"type":"kubernetes_clusters","attributes":{"worker_count":5}}}},"ScaleWorkersDown":{"summary":"Scale workers from 5 to 2","value":{"data":{"type":"kubernetes_clusters","attributes":{"worker_count":2}}}},"ScaleWorkersFromZero":{"summary":"Scale from 0 workers (requires worker_plan)","value":{"data":{"type":"kubernetes_clusters","attributes":{"worker_count":3,"worker_plan":"c3-small-x86"}}}},"ScaleWorkersToZero":{"summary":"Scale down to 0 workers","value":{"data":{"type":"kubernetes_clusters","attributes":{"worker_count":0}}}},"ScaleControlPlaneUp":{"summary":"Scale control plane from 1 to 3 nodes","value":{"data":{"type":"kubernetes_clusters","attributes":{"control_plane_count":3}}}},"ScaleControlPlaneDown":{"summary":"Scale control plane from 3 to 1 node","value":{"data":{"type":"kubernetes_clusters","attributes":{"control_plane_count":1}}}},"UpgradeVersion":{"summary":"Upgrade Kubernetes version","value":{"data":{"type":"kubernetes_clusters","attributes":{"kubernetes_version":"v1.35.0+rke2r1"}}}}}}},"required":true}, "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "import latitudesh_python_sdk\nfrom latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.kubernetes_clusters.update_kubernetes_cluster(kubernetes_cluster_id=\"\", data={\n \"type\": latitudesh_python_sdk.UpdateKubernetesClusterType.KUBERNETES_CLUSTERS,\n \"attributes\": {\n \"worker_count\": 5,\n },\n })\n\n # Handle response\n print(res)" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"github.com/latitudesh/latitudesh-go-sdk/models/components\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.KubernetesClusters.UpdateKubernetesCluster(ctx, \"\", components.UpdateKubernetesCluster{\n Data: components.UpdateKubernetesClusterData{\n Type: components.UpdateKubernetesClusterTypeKubernetesClusters,\n Attributes: components.UpdateKubernetesClusterAttributes{\n WorkerCount: latitudeshgosdk.Pointer[int64](5),\n },\n },\n })\n if err != nil {\n log.Fatal(err)\n }\n if res.KubernetesClusterUpdateResponse != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.kubernetesClusters.updateKubernetesCluster({\n kubernetesClusterId: \"\",\n updateKubernetesCluster: {\n data: {\n type: \"kubernetes_clusters\",\n attributes: {\n workerCount: 5,\n },\n },\n },\n });\n\n console.log(result);\n}\n\nrun();" } ] } }, "/kubernetes_clusters/{kubernetes_cluster_id}/kubeconfig": {"get":{ "summary": "Get Kubernetes Cluster Kubeconfig", "operationId": "get-kubernetes-cluster-kubeconfig", "tags": ["Kubernetes Clusters"], "security": [{"Bearer":[]}], "parameters": [{"name":"kubernetes_cluster_id","in":"path","required":true,"description":"The cluster ID (format: kc_) or cluster name. Both formats are accepted for backward compatibility.","schema":{"type":"string"}}], "description": "Retrieves the kubeconfig file for a Kubernetes cluster. The kubeconfig is only available once the cluster is fully provisioned.\n", "responses": {"200":{"description":"Success","content":{"application/vnd.api+json":{"examples":{"Success":{"value":{"data":{"type":"kubernetes_cluster_kubeconfigs","id":"kc_pRMLydp0dQKr1","attributes":{"cluster_name":"my-cluster","kubeconfig":"apiVersion: v1\nclusters:\n- cluster:\n certificate-authority-data: LS0tLS1...\n server: https://api.my-cluster.example.com:6443\n name: my-cluster\ncontexts:\n- context:\n cluster: my-cluster\n user: my-cluster-admin\n name: my-cluster\ncurrent-context: my-cluster\nkind: Config\nusers:\n- name: my-cluster-admin\n user:\n client-certificate-data: LS0tLS1...\n client-key-data: LS0tLS1...\n"}}}}},"schema":{"$ref":"#/components/schemas/kubernetes_cluster_kubeconfig"}}}},"401":{"description":"Unauthorized","content":{"application/vnd.api+json":{"examples":{"InvalidToken":{"value":{"errors":[{"code":"UNAUTHORIZED","message":"Invalid token"}]}}},"schema":{"$ref":"#/components/schemas/error_object"}}}},"404":{"description":"Not Found","content":{"application/vnd.api+json":{"examples":{"KubeconfigNotFound":{"value":{"errors":[{"code":"NOT_FOUND","message":"Kubeconfig not found for cluster my-cluster"}]}}},"schema":{"$ref":"#/components/schemas/error_object"}}}}}, "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "from latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.kubernetes_clusters.get_kubernetes_cluster_kubeconfig(kubernetes_cluster_id=\"\")\n\n # Handle response\n print(res)" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.KubernetesClusters.GetKubernetesClusterKubeconfig(ctx, \"\")\n if err != nil {\n log.Fatal(err)\n }\n if res.KubernetesClusterKubeconfig != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.kubernetesClusters.getKubernetesClusterKubeconfig({\n kubernetesClusterId: \"\",\n });\n\n console.log(result);\n}\n\nrun();" } ] }}, "/plans": {"get":{ "summary": "List plans", "operationId": "get-plans", "tags": ["Plans"], "security": [{"Bearer":[]}], "parameters": [{"name":"filter[name]","in":"query","required":false,"description":"The plan name to filter by","schema":{"type":"string"}}, {"name":"filter[slug]","in":"query","required":false,"description":"The plan slug to filter by","schema":{"type":"string"}}, {"name":"filter[location]","in":"query","required":false,"description":"The location of the site to filter by","schema":{"type":"string"}}, {"name":"filter[stock_level]","in":"query","schema":{"type":"string","enum":["unavailable","low","medium","high","unique"]},"required":false,"description":"The stock level at the site to filter by"}, {"name":"filter[in_stock]","in":"query","required":false,"description":"The stock available at the site to filter by","schema":{"type":"boolean"}}, {"name":"filter[gpu]","in":"query","required":false,"description":"Filter by the existence of an associated GPU","schema":{"type":"boolean"}}, {"name":"filter[ram]","in":"query","required":false,"description":"The ram size in Gigabytes to filter by, should be used with the following options:\n [eql] to filter for values equal to the provided value.\n [gte] to filter for values greater or equal to the provided value.\n [lte] to filter by values lower or equal to the provided value.","schema":{"type":"integer"}}, {"name":"filter[disk]","in":"query","required":false,"description":"The disk size in Gigabytes to filter by, should be used with the following options:\n [eql] to filter for values equal to the provided value.\n [gte] to filter for values greater or equal to the provided value.\n [lte] to filter by values lower or equal to the provided value.","schema":{"type":"integer"}}], "description": "Lists all plans. Availability by region is included in `attributes.regions.locations.available[*]` node for a given plan.\n", "x-mint": {"href":"/api-reference/get-plans"}, "responses": {"200":{"description":"Success","content":{"application/vnd.api+json":{"examples":{"Success":{"value":{"data":[{"id":"plan_g1mbDw8BOLv5B","type":"plans","attributes":{"slug":"m4-metal-small-42","name":"m4.metal.small-42","features":[],"specs":{"cpu":{"type":"E-2276G","clock":3.8,"cores":6,"count":1},"memory":{"total":32},"drives":[{"count":1,"size":"3.8TB","type":"SSD"}],"nics":[{"count":1,"type":"10 Gbps"}],"gpu":{"count":4,"type":"NVIDIA H100","vram_per_gpu":null,"interconnect":null}},"regions":[{"name":"Brazil","deploys_instantly":[],"locations":{"available":["SAO"],"in_stock":["SAO"]},"stock_level":"medium","pricing":{"USD":{"hour":10.0,"month":50.0,"year":100.0},"BRL":{"hour":53.0,"month":108.5,"year":205.0}}}]}}],"meta":{}}}},"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/plan_data"}}}}}}}}, "x-speakeasy-name-override": "list", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "from latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.plans.list()\n\n # Handle response\n print(res)" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"github.com/latitudesh/latitudesh-go-sdk/models/operations\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.Plans.List(ctx, operations.GetPlansRequest{})\n if err != nil {\n log.Fatal(err)\n }\n if res.Object != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.plans.list();\n\n console.log(result);\n}\n\nrun();" } ] }}, "/plans/{plan_id}": {"get":{ "summary": "Retrieve plan", "operationId": "get-plan", "tags": ["Plans"], "security": [{"Bearer":[]}], "parameters": [{"name":"plan_id","in":"path","required":true,"examples":{"Success":{"value":"plan_RMLydp20DQKr1"}},"schema":{"type":"string"}}], "x-mint": {"href":"/api-reference/get-plan"}, "responses": {"200":{"description":"Success","content":{"application/vnd.api+json":{"examples":{"Success":{"value":{"data":{"id":"plan_RMLydp20DQKr1","type":"plans","attributes":{"slug":"g3-h100-medium-43","name":"g3.h100.medium-43","features":[],"specs":{"cpu":{"type":"E-2276G","clock":3.8,"cores":6,"count":1},"memory":{"total":32},"drives":[{"count":1,"size":"3.8TB","type":"SSD"}],"nics":[{"count":1,"type":"10 Gbps"}],"gpu":{"count":4,"type":"NVIDIA H100","vram_per_gpu":null,"interconnect":null}},"regions":[{"name":"Brazil","deploys_instantly":[],"locations":{"available":["SAO"],"in_stock":["SAO"]},"stock_level":"medium","pricing":{"USD":{"hour":10.0,"month":50.0,"year":100.0},"BRL":{"hour":53.0,"month":108.5,"year":205.0}}}]}},"meta":{}}}},"schema":{"$ref":"#/components/schemas/plan"}}}}}, "x-speakeasy-name-override": "get", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "from latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.plans.get(plan_id=\"plan_RMLydp20DQKr1\")\n\n # Handle response\n print(res)" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.Plans.Get(ctx, \"plan_RMLydp20DQKr1\")\n if err != nil {\n log.Fatal(err)\n }\n if res.Plan != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.plans.get({\n planId: \"plan_RMLydp20DQKr1\",\n });\n\n console.log(result);\n}\n\nrun();" } ] }}, "/plans/bandwidth": { "get": { "summary": "List bandwidth plans", "operationId": "get-bandwidth-plans", "tags": ["Plans"], "security": [{"Bearer":[]}], "parameters": [{"name":"API-Version","in":"header","schema":{"type":"string","default":"2023-06-01"},"examples":{"Success":{"value":"2023-06-01"}}}, {"name":"filter[id]","in":"query","required":false,"description":"The plan ID to filter by","schema":{"type":"string"}}, {"name":"page[size]","in":"query","schema":{"type":"integer","minimum":1,"default":20},"required":false,"description":"Number of items to return per page"}, {"name":"page[number]","in":"query","schema":{"type":"integer","minimum":1,"default":1},"required":false,"description":"Page number to return (starts at 1)"}], "description": "Lists all bandwidth plans.", "x-speakeasy-pagination": {"type":"offsetLimit","inputs":[{"name":"page[number]","in":"parameters","type":"page"}, {"name":"page[size]","in":"parameters","type":"limit"}],"outputs":{"results":"$.data"}}, "x-mint": {"href":"/api-reference/get-bandwidth-plans"}, "responses": {"200":{"description":"Success","content":{"application/vnd.api+json":{"examples":{"Success":{"value":{"data":[{"id":"chile-54","type":"bandwidth_plan","attributes":{"region":"Chile 54","locations":["ASH","SAO"],"pricing":{"usd":{"monthly":5000,"yearly":6000},"brl":{"monthly":8000,"yearly":null}}}}],"meta":{}}}},"schema":{"$ref":"#/components/schemas/bandwidth_plans"}}}}}, "x-speakeasy-name-override": "getBandwidth", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "from latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.plans.list_bandwidth(api_version=\"2023-06-01\", page_size=20, page_number=1)\n\n while res is not None:\n # Handle items\n\n res = res.next()" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.Plans.GetBandwidth(ctx, latitudeshgosdk.Pointer(\"2023-06-01\"), nil, latitudeshgosdk.Pointer[int64](20), latitudeshgosdk.Pointer[int64](1))\n if err != nil {\n log.Fatal(err)\n }\n if res.BandwidthPlans != nil {\n for {\n // handle items\n\n res, err = res.Next()\n\n if err != nil {\n // handle error\n }\n\n if res == nil {\n break\n }\n }\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.plans.getBandwidth({});\n\n for await (const page of result) {\n console.log(page);\n }\n}\n\nrun();" } ] }, "post": { "summary": "Update bandwidth packages", "operationId": "update-plans-bandwidth", "tags": ["Plans"], "security": [{"Bearer":[]}], "parameters": [], "description": "Allows to increase or decrease bandwidth packages. Only admins and owners can request.\n", "x-mint": {"href":"/api-reference/update-plans-bandwidth"}, "responses": {"200":{"description":"Success","content":{"application/vnd.api+json":{"examples":{"Success":{"value":{"data":{"type":"bandwidth_packages","attributes":{"project":{"id":"proj_z2A3DVZ3DnawP","name":"Orn-Reilly","slug":"orn-reilly"},"packages":[{"region_slug":"united-states","unit_price":0.5,"currency":"USD","contracted":10,"total_price":5.0}, {"region_slug":"brazil","unit_price":4.6,"currency":"USD","contracted":0,"total_price":0.0}]}}}}},"schema":{"$ref":"#/components/schemas/bandwidth_packages"}}}}}, "requestBody": {"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["bandwidth_packages"]},"attributes":{"type":"object","properties":{"project":{"type":"string","description":"The project (ID or Slug) to add bandwidth"},"quantity":{"type":"integer","description":"The total amount you want to have"},"region_slug":{"type":"string","description":"The region to add bandwidth"}}}}}}},"examples":{"Success":{"summary":"Success","value":{"data":{"type":"bandwidth_packages","attributes":{"project":"proj_z2A3DVZ3DnawP","region_slug":"brazil","quantity":5}}}}}},"application/vnd.api+json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["bandwidth_packages"]},"attributes":{"type":"object","properties":{"project":{"type":"string","description":"The project (ID or Slug) to add bandwidth"},"quantity":{"type":"integer","description":"The total amount you want to have"},"region_slug":{"type":"string","description":"The region to add bandwidth"}}}}}}},"examples":{"Success":{"summary":"Success","value":{"data":{"type":"bandwidth_packages","attributes":{"project":"proj_z2A3DVZ3DnawP","region_slug":"brazil","quantity":5}}}}}}},"required":true}, "x-speakeasy-name-override": "updateBandwidth", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "import latitudesh_python_sdk\nfrom latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.plans.update_bandwidth(data={\n \"type\": latitudesh_python_sdk.UpdatePlansBandwidthPlansType.BANDWIDTH_PACKAGES,\n \"attributes\": {\n \"project\": \"proj_z2A3DVZ3DnawP\",\n \"quantity\": 5,\n \"region_slug\": \"brazil\",\n },\n })\n\n # Handle response\n print(res)" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"github.com/latitudesh/latitudesh-go-sdk/models/operations\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.Plans.UpdateBandwidth(ctx, operations.UpdatePlansBandwidthPlansRequestBody{\n Data: &operations.UpdatePlansBandwidthPlansData{\n Type: operations.UpdatePlansBandwidthPlansTypeBandwidthPackages.ToPointer(),\n Attributes: &operations.UpdatePlansBandwidthPlansAttributes{\n Project: latitudeshgosdk.Pointer(\"proj_z2A3DVZ3DnawP\"),\n Quantity: latitudeshgosdk.Pointer[int64](5),\n RegionSlug: latitudeshgosdk.Pointer(\"brazil\"),\n },\n },\n })\n if err != nil {\n log.Fatal(err)\n }\n if res.BandwidthPackages != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.plans.updateBandwidth({\n data: {\n type: \"bandwidth_packages\",\n attributes: {\n project: \"proj_z2A3DVZ3DnawP\",\n quantity: 5,\n regionSlug: \"brazil\",\n },\n },\n });\n\n console.log(result);\n}\n\nrun();" } ] } }, "/plans/storage": {"get":{ "summary": "List storage plans", "operationId": "get-storage-plans", "tags": ["Plans"], "security": [{"Bearer":[]}], "x-mint": {"href":"/api-reference/get-storage-plans"}, "responses": {"200":{"description":"Success","content":{"application/vnd.api+json":{"examples":{"Success":{"value":{"data":[{"id":"plan_059EqY7kOQj8p","type":"storage_plans","attributes":{"name":"Filesystem","regions":[{"name":"United States","locations":["DAL"],"pricing":{"USD":{"month":0.12},"BRL":{"month":0.68}}}]}}]}}},"schema":{"$ref":"#/components/schemas/storage_plans"}}}}}, "x-speakeasy-name-override": "listStorage", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "from latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.plans.list_storage()\n\n # Handle response\n print(res)" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.Plans.ListStorage(ctx)\n if err != nil {\n log.Fatal(err)\n }\n if res.StoragePlans != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.plans.listStorage();\n\n console.log(result);\n}\n\nrun();" } ] }}, "/plans/virtual_machines": {"get":{ "summary": "List VM plans", "operationId": "get-vm-plans", "tags": ["Plans"], "security": [{"Bearer":[]}], "parameters": [{"name":"filter[gpu]","in":"query","required":false,"description":"Filter plans by GPU availability","schema":{"type":"boolean"}}], "x-mint": {"href":"/api-reference/get-vm-plans"}, "responses": {"200":{"description":"Success","content":{"application/vnd.api+json":{"examples":{"Success":{"value":{"data":[{"id":"plan_aNmodj4eDbE8W","type":"virtual_machine_plans","attributes":{"name":"vm.l40s.tiny","specs":{"memory":16,"gpu":"NVIDIA H100 Tensor Core GPU","vram_per_gpu":80,"vcpus":14,"vcpu":{"count":14,"clock":3.8,"type":"Intel Xeon"},"nics":[{"type":"1 Gbps","count":"1"}],"disk":{"type":"local NVMe","size":{"amount":150,"unit":"gib"}}},"regions":[{"name":"United States","locations":{"available":["DAL"],"in_stock":["DAL"]},"stock_level":"low","pricing":{"USD":{"hour":1.0,"month":720.0,"year":8640.0},"BRL":{"hour":1.0,"month":720.0,"year":8640.0}}}],"stock_level":"low","available_operating_systems":["ubuntu_24_04_x64_lts","debian_13","rocky_10","almalinux_10"]}}]}}},"schema":{"$ref":"#/components/schemas/virtual_machine_plans"}}}}}, "x-speakeasy-group": "plans.vm", "x-speakeasy-name-override": "list", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "from latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.plans.list_vm_plans()\n\n # Handle response\n print(res)" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.Plans.VM.List(ctx, nil)\n if err != nil {\n log.Fatal(err)\n }\n if res.VirtualMachinePlans != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.plans.vm.list();\n\n console.log(result);\n}\n\nrun();" } ] }}, "/projects": { "get": { "summary": "List projects", "operationId": "get-projects", "tags": ["Projects"], "security": [{"Bearer":[]}], "parameters": [{"name":"filter[name]","in":"query","required":false,"description":"The project name to filter by","schema":{"type":"string"}}, {"name":"filter[slug]","in":"query","required":false,"description":"The project slug to filter by","schema":{"type":"string"}}, {"name":"filter[description]","in":"query","required":false,"description":"The project description to filter by","schema":{"type":"string"}}, {"name":"filter[billing_type]","in":"query","required":false,"description":"The billing type to filter by","schema":{"type":"string"}}, {"name":"filter[environment]","in":"query","required":false,"description":"The environment to filter by","schema":{"type":"string"}}, {"name":"filter[tags]","in":"query","required":false,"description":"The tags ids to filter by, separated by comma, e.g. `filter[tags]=tag_1,tag_2`will return projects with `tag_1` AND `tag_2`","schema":{"type":"string"},"examples":{"Success":{"value":"tag_GXeww714mRF2gZ05lnKgU8emo5RE,tag_QQkaK9JnV6tWwPG3pmLviXveVK0Y"}}}, {"name":"extra_fields[projects]","in":"query","required":false,"description":"The `last_renewal_date` and `next_renewal_date` are provided as extra attributes that show previous and future billing cycle dates. To request it, just set `extra_fields[projects]=last_renewal_date,next_renewal_date` in the query string.","schema":{"type":"string"}}, {"name":"page[size]","in":"query","schema":{"type":"integer","minimum":1,"default":20},"required":false,"description":"Number of items to return per page"}, {"name":"page[number]","in":"query","schema":{"type":"integer","minimum":1,"default":1},"required":false,"description":"Page number to return (starts at 1)"}], "description": "Returns a list of all projects for the current team\n", "x-speakeasy-pagination": {"type":"offsetLimit","inputs":[{"name":"page[number]","in":"parameters","type":"page"}, {"name":"page[size]","in":"parameters","type":"limit"}],"outputs":{"results":"$.data"}}, "x-mint": {"href":"/api-reference/get-projects"}, "responses": {"200":{"description":"Success","content":{"application/vnd.api+json":{"examples":{"Success":{"value":{"data":[{"id":"proj_WeGoqAanqP7nz","type":"projects","attributes":{"tags":[{"id":"tag_GXeww714mRF2gZ05lnKgU8emo5RE","name":"tag1","description":"Sunt dolorem inventore maxime.","color":"#2d6767"}, {"id":"tag_QQkaK9JnV6tWwPG3pmLviXveVK0Y","name":"tag2","description":"Et occaecati quod ex.","color":"#182f18"}],"name":"Durable Iron Gloves","slug":"durable-iron-gloves","description":"Heavy Duty Steel Computer","billing_type":"Hourly","cost":null,"billing_method":"Normal","bandwidth_alert":false,"environment":null,"provisioning_type":"on_demand","billing":{},"team":{"id":"team_w03a5zVl9XsXVybw2gz7SNr1el2","name":"176 Team","slug":"176-team","description":"176 Team","address":"3253 VonRueden Creek, Jcbury, NV 21576","currency":{"id":"cur_AW6Q2D9lqKLpr","code":"BRL","name":"Brazilian Real","currency_id":null},"status":"verified","feature_flags":[],"limits":{"bare_metal":null,"bare_metal_gpu":1,"virtual_machine":5,"virtual_machine_gpu":3,"virtual_network":5,"database":null,"filesystem":null,"block_storage":null}},"stats":{"databases":0,"ip_addresses":0,"prefixes":0,"servers":0,"storages":0,"virtual_machines":0,"vlans":0},"created_at":"2026-01-14T15:56:39+00:00","updated_at":"2026-01-14T15:56:39+00:00"}}],"meta":{}}}},"schema":{"$ref":"#/components/schemas/projects"}}}}}, "x-speakeasy-name-override": "list", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "from latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.projects.list(filter_tags=\"tag_GXeww714mRF2gZ05lnKgU8emo5RE,tag_QQkaK9JnV6tWwPG3pmLviXveVK0Y\", page_size=20, page_number=1)\n\n while res is not None:\n # Handle items\n\n res = res.next()" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"github.com/latitudesh/latitudesh-go-sdk/models/operations\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.Projects.List(ctx, operations.GetProjectsRequest{\n FilterTags: latitudeshgosdk.Pointer(\"tag_GXeww714mRF2gZ05lnKgU8emo5RE,tag_QQkaK9JnV6tWwPG3pmLviXveVK0Y\"),\n })\n if err != nil {\n log.Fatal(err)\n }\n if res.Projects != nil {\n for {\n // handle items\n\n res, err = res.Next()\n\n if err != nil {\n // handle error\n }\n\n if res == nil {\n break\n }\n }\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.projects.list({\n filterTags: \"tag_GXeww714mRF2gZ05lnKgU8emo5RE,tag_QQkaK9JnV6tWwPG3pmLviXveVK0Y\",\n });\n\n for await (const page of result) {\n console.log(page);\n }\n}\n\nrun();" } ] }, "post": { "summary": "Create project", "operationId": "create-project", "tags": ["Projects"], "security": [{"Bearer":[]}], "parameters": [], "x-mint": {"href":"/api-reference/create-project"}, "responses": {"201":{"description":"Created","content":{"application/vnd.api+json":{"examples":{"Created":{"value":{"data":{"id":"proj_0L6WO156OPlXy","type":"projects","attributes":{"tags":[],"name":"Bailey and Sons","slug":"bailey-and-sons","description":"Thick slices of French toast bread, brown sugar, half-and-half and vanilla, topped with powdered sugar. With two eggs served any style, and your choice of smoked bacon or smoked ham.","bandwidth_alert":null,"environment":"Development","provisioning_type":"on_demand","billing_type":"Normal","billing_method":"Normal","billing":{"subscription_id":"sub_wj7zk7mu35c2yq","type":"Normal","method":"Normal"},"team":{"id":"team_72lL07N6leClEozwoxe9UVap9Aw","name":"179 Team","slug":"179-team","description":"179 Team","address":"Suite 460 74321 Nana Locks, Crystalport, TN 35908","currency":{"id":"cur_AW6Q2D9lqKLpr","code":"BRL","name":"Brazilian Real","currency_id":null},"status":"verified","feature_flags":[],"limits":{"bare_metal":5,"bare_metal_gpu":1,"virtual_machine":5,"virtual_machine_gpu":3,"virtual_network":5,"database":null,"filesystem":null,"block_storage":null}},"stats":{"databases":0,"ip_addresses":0,"prefixes":0,"servers":0,"storages":0,"virtual_machines":0,"vlans":0},"created_at":"2026-01-14T15:56:39+00:00","updated_at":"2026-01-14T15:56:39+00:00"}},"meta":{}}}},"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/project"}}}}}}}, "requestBody": {"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["projects"]},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"The project name. Must be unique."},"provisioning_type":{"type":"string","description":"The provisioning type of the project. Default: on_demand","enum":["reserved","on_demand"]},"description":{"type":"string","description":"The project description."},"environment":{"type":"string","enum":["Development","Staging","Production"]}},"required":["name","provisioning_type"]}},"required":["type"]}}},"examples":{"Created":{"summary":"Created","value":{"data":{"type":"projects","attributes":{"name":"Bailey and Sons","description":"Thick slices of French toast bread, brown sugar, half-and-half and vanilla, topped with powdered sugar. With two eggs served any style, and your choice of smoked bacon or smoked ham.","environment":"Development","provisioning_type":"on_demand"}}}}}},"application/vnd.api+json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["projects"]},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"The project name. Must be unique."},"provisioning_type":{"type":"string","description":"The provisioning type of the project. Default: on_demand","enum":["reserved","on_demand"]},"description":{"type":"string","description":"The project description."},"environment":{"type":"string","enum":["Development","Staging","Production"]}},"required":["name","provisioning_type"]}},"required":["type"]}}},"examples":{"Created":{"summary":"Created","value":{"data":{"type":"projects","attributes":{"name":"Bailey and Sons","description":"Thick slices of French toast bread, brown sugar, half-and-half and vanilla, topped with powdered sugar. With two eggs served any style, and your choice of smoked bacon or smoked ham.","environment":"Development","provisioning_type":"on_demand"}}}}}}},"required":true}, "x-speakeasy-name-override": "create", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "import latitudesh_python_sdk\nfrom latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.projects.create(data={\n \"type\": latitudesh_python_sdk.CreateProjectProjectsType.PROJECTS,\n \"attributes\": {\n \"name\": \"Bailey and Sons\",\n \"provisioning_type\": latitudesh_python_sdk.CreateProjectProvisioningType.ON_DEMAND,\n \"description\": \"Thick slices of French toast bread, brown sugar, half-and-half and vanilla, topped with powdered sugar. With two eggs served any style, and your choice of smoked bacon or smoked ham.\",\n \"environment\": latitudesh_python_sdk.CreateProjectProjectsEnvironment.DEVELOPMENT,\n },\n })\n\n # Handle response\n print(res)" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"github.com/latitudesh/latitudesh-go-sdk/models/operations\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.Projects.Create(ctx, operations.CreateProjectProjectsRequestBody{\n Data: &operations.CreateProjectProjectsData{\n Type: operations.CreateProjectProjectsTypeProjects,\n Attributes: &operations.CreateProjectProjectsAttributes{\n Name: \"Bailey and Sons\",\n ProvisioningType: operations.CreateProjectProvisioningTypeOnDemand,\n Description: latitudeshgosdk.Pointer(\"Thick slices of French toast bread, brown sugar, half-and-half and vanilla, topped with powdered sugar. With two eggs served any style, and your choice of smoked bacon or smoked ham.\"),\n Environment: operations.CreateProjectEnvironmentDevelopment.ToPointer(),\n },\n },\n })\n if err != nil {\n log.Fatal(err)\n }\n if res.Object != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.projects.create({\n data: {\n type: \"projects\",\n attributes: {\n name: \"Bailey and Sons\",\n provisioningType: \"on_demand\",\n description: \"Thick slices of French toast bread, brown sugar, half-and-half and vanilla, topped with powdered sugar. With two eggs served any style, and your choice of smoked bacon or smoked ham.\",\n environment: \"Development\",\n },\n },\n });\n\n console.log(result);\n}\n\nrun();" } ] } }, "/projects/{project_id}": { "patch": { "summary": "Update project", "operationId": "update-project", "tags": ["Projects"], "security": [{"Bearer":[]}], "parameters": [{"name":"project_id","in":"path","description":"The project ID or Slug","required":true,"examples":{"Success":{"value":"proj_Gr47qleMDAg0m"}},"schema":{"type":"string"}}], "x-mint": {"href":"/api-reference/update-project"}, "responses": {"200":{"description":"Success","content":{"application/vnd.api+json":{"examples":{"Success":{"value":{"data":{"id":"proj_Gr47qleMDAg0m","type":"projects","attributes":{"tags":[{"id":"tag_VgrmvzlEGJhbGYv0z8YzHLa9PKV","name":"Ted Sandyman","description":"Corporis nostrum praesentium deleniti.","color":"#020302"}, {"id":"tag_PEAMyKnQZEHpGAWKMpB6F7EVYyYj","name":"Erchirion","description":"Corporis quos sequi mollitia.","color":"#0d4e4e"}],"name":"Moore-Durgan","slug":"moore-durgan","description":"Sequi occaecati eaque exercitationem.","bandwidth_alert":true,"environment":"Production","provisioning_type":"on_demand","billing_type":"Normal","billing_method":"Normal","billing":{"subscription_id":"sub_5sst6soyu2lzm0","type":"Normal","method":"Normal"},"team":{"id":"team_mygwarnav0hG97b9393biKZxall","name":"198 Team","slug":"198-team","description":"198 Team","address":"Apt. 401 9373 Gregg Islands, Cassinmouth, NC 33577-6685","currency":{"id":"cur_AW6Q2D9lqKLpr","code":"BRL","name":"Brazilian Real","currency_id":null},"status":"verified","feature_flags":[],"limits":{"bare_metal":5,"bare_metal_gpu":1,"virtual_machine":5,"virtual_machine_gpu":3,"virtual_network":5,"database":null,"filesystem":null,"block_storage":null}},"stats":{"databases":0,"ip_addresses":0,"prefixes":0,"servers":0,"storages":0,"virtual_machines":0,"vlans":0},"created_at":"2026-01-14T15:56:40+00:00","updated_at":"2026-01-14T15:56:40+00:00"}},"meta":{}}}},"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/project"}}}}}}}, "requestBody": {"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","default":"proj_81EVOtR1N4J2Z"},"type":{"type":"string","enum":["projects"]},"attributes":{"type":"object","properties":{"name":{"type":"string","default":"A brand new name for the virtual network"},"description":{"type":"string","default":"A brand new description for the virtual network"},"environment":{"type":"string","enum":["Development","Staging","Production"]},"bandwidth_alert":{"type":"boolean","default":false},"tags":{"type":"array","items":{"type":"string"},"default":[]}}}},"required":["id","type"]}},"required":["data"]},"examples":{"Success":{"summary":"Success","value":{"data":{"id":"proj_Gr47qleMDAg0m","type":"projects","attributes":{"tags":["tag_VgrmvzlEGJhbGYv0z8YzHLa9PKV","tag_PEAMyKnQZEHpGAWKMpB6F7EVYyYj"]}}}}}},"application/vnd.api+json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","default":"proj_81EVOtR1N4J2Z"},"type":{"type":"string","enum":["projects"]},"attributes":{"type":"object","properties":{"name":{"type":"string","default":"A brand new name for the virtual network"},"description":{"type":"string","default":"A brand new description for the virtual network"},"environment":{"type":"string","enum":["Development","Staging","Production"]},"bandwidth_alert":{"type":"boolean","default":false},"tags":{"type":"array","items":{"type":"string"},"default":[]}}}},"required":["id","type"]}},"required":["data"]},"examples":{"Success":{"summary":"Success","value":{"data":{"id":"proj_Gr47qleMDAg0m","type":"projects","attributes":{"tags":["tag_VgrmvzlEGJhbGYv0z8YzHLa9PKV","tag_PEAMyKnQZEHpGAWKMpB6F7EVYyYj"]}}}}}}}}, "x-speakeasy-name-override": "update", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "import latitudesh_python_sdk\nfrom latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.projects.update(project_id=\"proj_Gr47qleMDAg0m\", data={\n \"id\": \"proj_Gr47qleMDAg0m\",\n \"type\": latitudesh_python_sdk.UpdateProjectProjectsType.PROJECTS,\n \"attributes\": {\n \"tags\": [\n \"tag_VgrmvzlEGJhbGYv0z8YzHLa9PKV\",\n \"tag_PEAMyKnQZEHpGAWKMpB6F7EVYyYj\",\n ],\n },\n })\n\n # Handle response\n print(res)" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"github.com/latitudesh/latitudesh-go-sdk/models/operations\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.Projects.Update(ctx, \"proj_Gr47qleMDAg0m\", &operations.UpdateProjectProjectsRequestBody{\n Data: operations.UpdateProjectProjectsData{\n ID: latitudeshgosdk.Pointer(\"proj_Gr47qleMDAg0m\"),\n Type: operations.UpdateProjectProjectsTypeProjects,\n Attributes: &operations.UpdateProjectProjectsAttributes{\n Tags: []string{\n \"tag_VgrmvzlEGJhbGYv0z8YzHLa9PKV\",\n \"tag_PEAMyKnQZEHpGAWKMpB6F7EVYyYj\",\n },\n },\n },\n })\n if err != nil {\n log.Fatal(err)\n }\n if res.Object != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.projects.update({\n projectId: \"proj_Gr47qleMDAg0m\",\n requestBody: {\n data: {\n id: \"proj_Gr47qleMDAg0m\",\n type: \"projects\",\n attributes: {\n tags: [\n \"tag_VgrmvzlEGJhbGYv0z8YzHLa9PKV\",\n \"tag_PEAMyKnQZEHpGAWKMpB6F7EVYyYj\",\n ],\n },\n },\n },\n });\n\n console.log(result);\n}\n\nrun();" } ] }, "delete": { "summary": "Delete project", "description": "Deletes a project and releases associated resources. Any Elastic IPs assigned to the project are automatically released and returned to the available pool.", "operationId": "delete-project", "tags": ["Projects"], "security": [{"Bearer":[]}], "parameters": [{"name":"project_id","in":"path","description":"The project ID or Slug","required":true,"schema":{"type":"string"}}], "x-mint": {"href":"/api-reference/delete-project"}, "responses": {"204":{"description":"No Content"}}, "x-speakeasy-name-override": "delete", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "from latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n latitudesh.projects.delete(project_id=\"invalid\")\n\n # Use the SDK ..." }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.Projects.Delete(ctx, \"invalid\")\n if err != nil {\n log.Fatal(err)\n }\n if res != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n await latitudesh.projects.delete({\n projectId: \"\",\n });\n\n\n}\n\nrun();" } ] } }, "/projects/{project_id}/ssh_keys": { "get": { "summary": "List SSH Keys", "operationId": "get-project-ssh-keys", "tags": ["SSH Keys"], "deprecated": true, "security": [{"Bearer":[]}], "parameters": [{"name":"project_id","in":"path","description":"Project ID or Slug","required":true,"examples":{"Success":{"value":"proj_5AEmq7wMqBkWX"}},"schema":{"type":"string"}}, {"name":"filter[tags]","in":"query","required":false,"description":"The tags ids to filter by, separated by comma, e.g. `filter[tags]=tag_1,tag_2`will return ssh keys with `tag_1` AND `tag_2`","examples":{"Success":{"value":"tag_5wKQ2Y9eoAi5plr4zlQ6tjl6rEw,tag_8GKKZ6B9MbtYl4K09gj4fXy9Nneg"}},"schema":{"type":"string"}}], "description": "List all SSH Keys in the project. These keys can be used to access servers after deploy and reinstall actions.\n", "x-mint": {"href":"/api-reference/get-project-ssh-keys"}, "responses": {"200":{"description":"Success","content":{"application/vnd.api+json":{"examples":{"Success":{"value":{"data":[{"id":"ssh_mw49QDB5qagKb","type":"ssh_keys","attributes":{"tags":[],"name":"hirthe-ankunding.example","public_key":"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCmmIH/Esj4Cpz6utdAJN+syqnQ9xBHMGXKEKTecy2Qn2F7riuCDe7ICRDmpVnUhWJtvWGwrnGZgJkt3/q72lRGeMfBXF68cdvrzHMl+vDpQbmd6WAyCl4ufhGJyVrsw9N5eTMm9DOALWnd6SBldR6aubGUhhITI/ODh3N/l/0YPP2Nqif0lVrBCyxFBs894uNgbG2SR1hS6g7ZA8IfrUtQE3OPXMaVyIpfbdDVSVerOB9xZu2A8J+Dx/8hV7RPeed+R8D8wt9zLul03kaC/mrwXYrQDtEjqfgzLr/DtskKu02jyL3o2aXY0PmUtUX0QVDBOD9QImXOPLJGtagDfYER","fingerprint":"59:4a:b2:bf:13:8c:e4:18:dc:49:24:4b:37:f1:5d:2e","created_at":"2026-01-14T15:56:40+00:00","updated_at":"2026-01-14T15:56:40+00:00","project":{"id":"proj_RMLydp7XOQKr1","name":"Lightweight Silk Wallet","slug":"lightweight-silk-wallet","description":"Synergistic Copper Coat","provisioning_type":"on_demand","billing_type":"Normal","billing_method":"Normal","bandwidth_alert":false,"environment":null,"billing":{},"stats":{"databases":0,"ip_addresses":0,"prefixes":0,"servers":0,"storages":0,"virtual_machines":0,"vlans":0}},"user":{"id":"user_Gz4meW9wlVc2Q36vbgXgu05XYgo","first_name":"Tracy","last_name":"Corkery","email":"bennett@johnson-beatty.example","created_at":"2025-11-29T00:00:00.000Z","updated_at":"2025-12-07T00:00:00.000Z","role":{"id":"role_Jp9VwYlWgbTMl0Po7RpYteZX4pj","name":"owner","created_at":"2025-10-11T00:00:00.000Z","updated_at":"2026-08-03T00:00:00.000Z"}}}}],"meta":{}}}},"schema":{"$ref":"#/components/schemas/ssh_keys"}}}}}, "x-speakeasy-name-override": "list" }, "post": { "summary": "Create SSH Key", "operationId": "post-project-ssh-key", "tags": ["SSH Keys"], "deprecated": true, "security": [{"Bearer":[]}], "parameters": [{"name":"project_id","in":"path","required":true,"description":"Project ID or Slug","examples":{"Created":{"value":"proj_059EqYE2qQj8p"}},"schema":{"type":"string"}}], "description": "Allow you create SSH Keys in a project. These keys can be used to access servers after deploy and reinstall actions.\n", "x-mint": {"href":"/api-reference/post-project-ssh-key"}, "responses": {"201":{"description":"Created","content":{"application/vnd.api+json":{"examples":{"Created":{"value":{"data":{"id":"ssh_w5AEmq7XDBkWX","type":"ssh_keys","attributes":{"tags":[],"name":"SSH Key","public_key":"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDOLFnjGP3Jsh1usHNS2EILgfqZNC9pOvNqBZqxH+qNAdZdQCzy2csMuiq+ZwLA8Mm4Vo5CvSgBHs/kuZRUKyTl+79YUMZIj8PhHzL4XbdqX1ZnAIklHWcJaveB0+UXLEPKGzFIFq+FkuwtiXQsVe5NnSpIDYgpzhqEs38NsnXvsubKphGUdARDhaxvMdUUl4YsAtLHKMzSyIvE6xwfTtIVwA9bZt/8GoBzrn9px9PEcf25Rgd2NhOYs3WYcZuwvRmfcFdi2vGhVqTPqL9n16R/n5jknxHYrTyqWNxJdpdvg2YqXpN7vnFNoOjYFD6EahJ0pF/+WL4tPCIkLfoaVaSx","fingerprint":"0a:00:34:53:51:0e:a5:4e:06:2c:d7:16:88:96:82:f3","created_at":"2026-01-14T15:56:41+00:00","updated_at":"2026-01-14T15:56:41+00:00","project":{"id":"proj_059EqYE2qQj8p","name":"Incredible Silk Pants","slug":"incredible-silk-pants","description":"Lightweight Iron Bench","provisioning_type":"on_demand","billing_type":"Normal","billing_method":"Normal","bandwidth_alert":false,"environment":null,"billing":{},"stats":{"databases":0,"ip_addresses":0,"prefixes":0,"servers":0,"storages":0,"virtual_machines":0,"vlans":0}},"user":{"id":"user_geJbN1G962iVzBrra7R9TkaXw28","first_name":"Fletcher","last_name":"Thompson","email":"shawn@klein.example","created_at":"2025-12-31T00:00:00.000Z","updated_at":"2025-05-16T00:00:00.000Z","role":{"id":"role_QJ5olj6Jk7uWz0ybo0XkcXYZegPo","name":"owner","created_at":"2025-12-23T00:00:00.000Z","updated_at":"2026-03-20T00:00:00.000Z"}}}},"meta":{}}}},"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ssh_key_data"}}}}}}}, "requestBody": {"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["ssh_keys"]},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"Name of the SSH Key"},"public_key":{"type":"string","description":"SSH Public Key"}}}},"required":["type"]}},"required":["data"]},"examples":{"Created":{"summary":"Created","value":{"data":{"type":"ssh_keys","attributes":{"name":"SSH Key","public_key":"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDOLFnjGP3Jsh1usHNS2EILgfqZNC9pOvNqBZqxH+qNAdZdQCzy2csMuiq+ZwLA8Mm4Vo5CvSgBHs/kuZRUKyTl+79YUMZIj8PhHzL4XbdqX1ZnAIklHWcJaveB0+UXLEPKGzFIFq+FkuwtiXQsVe5NnSpIDYgpzhqEs38NsnXvsubKphGUdARDhaxvMdUUl4YsAtLHKMzSyIvE6xwfTtIVwA9bZt/8GoBzrn9px9PEcf25Rgd2NhOYs3WYcZuwvRmfcFdi2vGhVqTPqL9n16R/n5jknxHYrTyqWNxJdpdvg2YqXpN7vnFNoOjYFD6EahJ0pF/+WL4tPCIkLfoaVaSx"}}}}}},"application/vnd.api+json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["ssh_keys"]},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"Name of the SSH Key"},"public_key":{"type":"string","description":"SSH Public Key"}}}},"required":["type"]}},"required":["data"]},"examples":{"Created":{"summary":"Created","value":{"data":{"type":"ssh_keys","attributes":{"name":"SSH Key","public_key":"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDOLFnjGP3Jsh1usHNS2EILgfqZNC9pOvNqBZqxH+qNAdZdQCzy2csMuiq+ZwLA8Mm4Vo5CvSgBHs/kuZRUKyTl+79YUMZIj8PhHzL4XbdqX1ZnAIklHWcJaveB0+UXLEPKGzFIFq+FkuwtiXQsVe5NnSpIDYgpzhqEs38NsnXvsubKphGUdARDhaxvMdUUl4YsAtLHKMzSyIvE6xwfTtIVwA9bZt/8GoBzrn9px9PEcf25Rgd2NhOYs3WYcZuwvRmfcFdi2vGhVqTPqL9n16R/n5jknxHYrTyqWNxJdpdvg2YqXpN7vnFNoOjYFD6EahJ0pF/+WL4tPCIkLfoaVaSx"}}}}}}},"required":true}, "x-speakeasy-group": "projects.sshKeys" } }, "/projects/{project_id}/ssh_keys/{ssh_key_id}": { "get": { "summary": "Retrieve Project SSH Key", "operationId": "get-project-ssh-key", "tags": ["SSH Keys"], "deprecated": true, "security": [{"Bearer":[]}], "parameters": [{"name":"project_id","in":"path","required":true,"description":"Project ID or Slug","examples":{"Success":{"value":"proj_kjQwdE0XOYNVP"}},"schema":{"type":"string"}}, {"name":"ssh_key_id","in":"path","required":true,"examples":{"Success":{"value":"ssh_zGr47qlMDAg0m"}},"schema":{"type":"string"}}], "description": "List all SSH Keys in the project. These keys can be used to access servers after deploy and reinstall actions.\n", "x-mint": {"href":"/api-reference/get-project-ssh-key"}, "responses": {"200":{"description":"Success","content":{"application/vnd.api+json":{"examples":{"Success":{"value":{"data":{"id":"ssh_zGr47qlMDAg0m","type":"ssh_keys","attributes":{"tags":[],"name":"breitenberg-blick.test","public_key":"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCUO+zsQdGJJGFIJT6R9PRgnfpA1NiIMBmfZK13pmAsC/aEr4TvJT+q60U2DZVeQi2AxdPwk3JrGpOgDUOKA9M6FlCXjCMWS5VINwbt6+P7ZCSThqdPPETrcDNd2wgNs+Q5kxRHqlknDu4KszIf14cXNnWCYjCly2+wV/Y17XuHGhHnzRSCf30mNtqQngKqkOHOB+G2P8RaZ6g70wOOoSlDRo3mxQ0vA62U25FeTbFdhkIrFDYsPX+4JL1bXYkRD3KIbfvH99RHtd/wtcqwpUuHoKdyiUNyJFBvtj912zVh+0n8zfe58Rmz0J9wGCTir3Qh/FwAVKB2kLpRHde7kZlv","fingerprint":"47:0f:68:b5:e7:4c:5c:32:b6:97:3d:e9:17:df:6d:93","created_at":"2026-01-14T15:56:41+00:00","updated_at":"2026-01-14T15:56:41+00:00","project":{"id":"proj_kjQwdE0XOYNVP","name":"Intelligent Rubber Bench","slug":"intelligent-rubber-bench","description":"Rustic Linen Clock","provisioning_type":"on_demand","billing_type":"Hourly","billing_method":"Normal","bandwidth_alert":false,"environment":null,"billing":{},"stats":{"databases":0,"ip_addresses":0,"prefixes":0,"servers":0,"storages":0,"virtual_machines":0,"vlans":0}},"user":{"id":"user_0VVWJmQwmzUyMYL0Zv37FwW0aWVP","first_name":"Margarete","last_name":"Huels","email":"charlie@okeefe.example","created_at":"2025-09-01T00:00:00.000Z","updated_at":"2025-12-20T00:00:00.000Z","role":{"id":"role_jZxLKXzGNXt0PYgaW4QbfKMPEgM","name":"owner","created_at":"2025-03-24T00:00:00.000Z","updated_at":"2026-06-05T00:00:00.000Z"}}}},"meta":{}}}},"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ssh_key_data"}}}}}}}, "x-speakeasy-group": "sshKeys", "x-speakeasy-name-override": "get" }, "patch": { "summary": "Update Project SSH Key", "operationId": "put-project-ssh-key", "deprecated": true, "tags": ["SSH Keys"], "security": [{"Bearer":[]}], "parameters": [{"name":"project_id","in":"path","required":true,"description":"Project ID or Slug","examples":{"Success":{"value":"proj_v9BVDaR3ORm1W"}},"schema":{"type":"string"}}, {"name":"ssh_key_id","in":"path","required":true,"examples":{"Success":{"value":"ssh_zlkg1DegdvZE5"}},"schema":{"type":"string"}}], "description": "Allow you update SSH Key in a project. These keys can be used to access servers after deploy and reinstall actions.\n", "x-mint": {"href":"/api-reference/put-project-ssh-key"}, "responses": {"200":{"description":"Success","content":{"application/vnd.api+json":{"examples":{"Success":{"value":{"data":{"id":"ssh_zlkg1DegdvZE5","type":"ssh_keys","attributes":{"tags":[{"id":"tag_rB7B21L1QbiJ6yWYxQLmHWJE3GmR","name":"Dáin Ironfoot","description":"Non quos voluptatem voluptatem.","color":"#254646"}, {"id":"tag_57nzyG0Bn3c5wooyYyeLH1w9kmN","name":"Almiel","description":"Repellendus quae velit rerum.","color":"#2121e8"}],"name":"ruecker.example","public_key":"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDbDuCsEBno4lL6+lLXiBuziWK+go4/TQ2xXWNkyO9PEQSwp8t7fu5USARgUl5HxRK2K+enzTOGVYG+IGWTh8GsNQ68D+6VQZDafStcAoRX7/drrIbkMho3Fv5o5mfjIeMB9A6yT7FxsWFx4VkV8wlCLn3HSq/Q2fvuKh3j10B/ZKCG14K2Que9xrGhCbAGVzxrCozWc4yCdpXSL0CFUOOQDpOa44VzcMVkXqxyaJYDjlxMklfGQ/81YjtM5hne0kFPajeVmHZGQ7QsZZEww/P7c0pL44n9b/sYmzHOuZYFCM3MuU2pfonEJBOVfFVeXh5pPvUmis8mxxCAQhtzJE4D","fingerprint":"17:c4:55:c4:1b:a3:1f:fd:89:70:2d:c3:55:7a:4c:6e","created_at":"2026-01-14T15:56:42+00:00","updated_at":"2026-01-14T15:56:42+00:00","project":{"id":"proj_v9BVDaR3ORm1W","name":"Sleek Linen Lamp","slug":"sleek-linen-lamp","description":"Ergonomic Rubber Gloves","provisioning_type":"on_demand","billing_type":"Normal","billing_method":"Normal","bandwidth_alert":false,"environment":null,"billing":{},"stats":{"databases":0,"ip_addresses":0,"prefixes":0,"servers":0,"storages":0,"virtual_machines":0,"vlans":0}},"user":{"id":"user_Rzg2JEoZNASA1bznzWJBI6GXJ0v","first_name":"Meghann","last_name":"Windler","email":"jonah_bartoletti@mueller.example","created_at":"2026-01-10T00:00:00.000Z","updated_at":"2025-03-26T00:00:00.000Z","role":{"id":"role_6noZ5alPanUpr0yoVygMCL6mK88","name":"owner","created_at":"2025-07-29T00:00:00.000Z","updated_at":"2026-05-30T00:00:00.000Z"}}}},"meta":{}}}},"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ssh_key_data"}}}}}}}, "requestBody": {"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","default":"ssh_81EVOtR1N4J2Z"},"type":{"type":"string","enum":["ssh_keys"]},"attributes":{"type":"object","properties":{"tags":{"type":"array","items":{"type":"string"},"default":[]},"name":{"type":"string","description":"Name of the SSH Key","default":"New SSH Key Name"}}}},"required":["id","type"]}},"required":["data"]},"examples":{"Success":{"summary":"Success","value":{"data":{"id":"ssh_zlkg1DegdvZE5","type":"ssh_keys","attributes":{"tags":["tag_rB7B21L1QbiJ6yWYxQLmHWJE3GmR","tag_57nzyG0Bn3c5wooyYyeLH1w9kmN"]}}}}}},"application/vnd.api+json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","default":"ssh_81EVOtR1N4J2Z"},"type":{"type":"string","enum":["ssh_keys"]},"attributes":{"type":"object","properties":{"tags":{"type":"array","items":{"type":"string"},"default":[]},"name":{"type":"string","description":"Name of the SSH Key","default":"New SSH Key Name"}}}},"required":["id","type"]}},"required":["data"]},"examples":{"Success":{"summary":"Success","value":{"data":{"id":"ssh_zlkg1DegdvZE5","type":"ssh_keys","attributes":{"tags":["tag_rB7B21L1QbiJ6yWYxQLmHWJE3GmR","tag_57nzyG0Bn3c5wooyYyeLH1w9kmN"]}}}}}}},"required":true}, "x-speakeasy-group": "sshKeys", "x-speakeasy-name-override": "modifyProjectKey" }, "delete": { "summary": "Delete Project SSH Key", "operationId": "delete-project-ssh-key", "tags": ["SSH Keys"], "deprecated": true, "security": [{"Bearer":[]}], "parameters": [{"name":"project_id","in":"path","required":true,"description":"Project ID or Slug","examples":{"Success":{"value":"proj_LA73qk4wDaJ2o"}},"schema":{"type":"string"}}, {"name":"ssh_key_id","in":"path","required":true,"examples":{"Success":{"value":"ssh_7vYAZqGBdMQ94"}},"schema":{"type":"string"}}], "description": "Allow you remove SSH Keys in a project. Remove a SSH Key from the project won't revoke the SSH Keys access for previously deploy and reinstall actions.\n", "x-mint": {"href":"/api-reference/delete-project-ssh-key"}, "responses": {"200":{"description":"Success","content":{"application/vnd.api+json":{"examples":{"Success":{"value":{"meta":{}}}}}}}}, "x-speakeasy-group": "sshKeys", "x-speakeasy-name-override": "removeFromProject" } }, "/projects/{project_id}/user_data": {"get":{"summary":"List Project user data","operationId":"get-project-users-data","tags":["User data"],"deprecated":true,"security":[{"Bearer":[]}],"parameters":[{"name":"project_id","in":"path","required":true,"description":"Project ID or Slug","examples":{"Success":{"value":"proj_LYV8DZYQq5QoE"}},"schema":{"type":"string"}}, {"name":"extra_fields[user_data]","in":"query","schema":{"type":"string","default":"decoded_content"},"description":"The `decoded_content` is provided as an extra attribute that shows content in decoded form.","examples":{"Success":{"value":"decoded_content"}}}],"description":"List all Users Data in the project. These scripts can be used to configure servers with user data.\n","x-mint":{"href":"/api-reference/get-project-users-data"},"responses":{"200":{"description":"Success","content":{"application/vnd.api+json":{"examples":{"Success":{"value":{"data":[{"id":"ud_AW6Q2D9lqKLpr","type":"user_data","attributes":{"description":"Three eggs with cilantro, tomatoes, onions, avocados and melted Emmental cheese. With a side of roasted potatoes, and your choice of toast or croissant.","content":"QnJlYWRlZCBmcmllZCBjaGlja2VuIHdpdGggd2FmZmxlcywgYW5kIGEgc2lkZSBvZiBtYXBsZSBzeXJ1cC4=","created_at":"2026-01-14T15:56:43+00:00","updated_at":"2026-01-14T15:56:43+00:00","decoded_content":"Breaded fried chicken with waffles, and a side of maple syrup.","project":{"id":"proj_LYV8DZYQq5QoE","name":"Sleek Cotton Bottle","slug":"sleek-cotton-bottle","description":"Intelligent Aluminum Watch","provisioning_type":"on_demand","billing_type":"Normal","billing_method":"Normal","bandwidth_alert":false,"environment":null,"billing":{},"stats":{"databases":0,"ip_addresses":0,"prefixes":0,"servers":0,"storages":0,"virtual_machines":0,"vlans":0}}}}],"meta":{}}}},"schema":{"$ref":"#/components/schemas/user_data"}}}}}},"post":{ "summary": "Create Project user data", "operationId": "post-project-user-data", "deprecated": true, "tags": ["User data"], "security": [{"Bearer":[]}], "parameters": [{"name":"project_id","in":"path","required":true,"description":"Project ID or Slug","examples":{"Created":{"value":"proj_8NkvdyMKdeLpx"}},"schema":{"type":"string"}}], "description": "Allows you to create User Data in a project, which can be used to perform custom setup on your servers after deploy and reinstall.\n", "x-mint": {"href":"/api-reference/post-project-user-data"}, "responses": {"201":{"description":"Created","content":{"application/vnd.api+json":{"examples":{"Created":{"value":{"data":{"id":"ud_pRMLydp0dQKr1","type":"user_data","attributes":{"description":"User Data description","content":"I2Nsb3VkLWNvbmZpZwpydW5jbWQ6CiAtIFsgdG91Y2gsICAvaG9tZS91YnVudHUvdGVzdCBd","created_at":"2026-01-14T15:56:43+00:00","updated_at":"2026-01-14T15:56:43+00:00","decoded_content":"#cloud-config\nruncmd:\n - [ touch, /home/ubuntu/test ]","project":{"id":"proj_8NkvdyMKdeLpx","name":"Intelligent Bronze Car","slug":"intelligent-bronze-car","description":"Small Iron Shoes","provisioning_type":"on_demand","billing_type":"Normal","billing_method":"Normal","bandwidth_alert":false,"environment":null,"billing":{},"stats":{"databases":0,"ip_addresses":0,"prefixes":0,"servers":0,"storages":0,"virtual_machines":0,"vlans":0}}}},"meta":{}}}},"schema":{"$ref":"#/components/schemas/user_data_object"}}}}}, "requestBody": {"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["user_data"]},"attributes":{"type":"object","properties":{"description":{"type":"string","description":"description of the User Data"},"content":{"type":"string","description":"base64 encoded content of the User Data"}},"required":["content","description"]}},"required":["type"]}},"required":["data"]},"examples":{"Created":{"summary":"Created","value":{"data":{"type":"user_data","attributes":{"content":"I2Nsb3VkLWNvbmZpZwpydW5jbWQ6CiAtIFsgdG91Y2gsICAvaG9tZS91YnVudHUvdGVzdCBd","description":"User Data description"}}}}}},"application/vnd.api+json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["user_data"]},"attributes":{"type":"object","properties":{"description":{"type":"string","description":"description of the User Data"},"content":{"type":"string","description":"base64 encoded content of the User Data"}},"required":["content","description"]}},"required":["type"]}},"required":["data"]},"examples":{"Created":{"summary":"Created","value":{"data":{"type":"user_data","attributes":{"content":"I2Nsb3VkLWNvbmZpZwpydW5jbWQ6CiAtIFsgdG91Y2gsICAvaG9tZS91YnVudHUvdGVzdCBd","description":"User Data description"}}}}}}},"required":true}, "x-speakeasy-group": "userData", "x-speakeasy-name-override": "create" }}, "/projects/{project_id}/user_data/{user_data_id}": { "get": {"summary":"Retrieve Project user data","operationId":"get-project-user-data","deprecated":true,"tags":["User data"],"security":[{"Bearer":[]}],"parameters":[{"name":"project_id","in":"path","required":true,"description":"Project ID or Slug","examples":{"Success":{"value":"proj_e8pKq0GYdWAob"}},"schema":{"type":"string"}}, {"name":"user_data_id","in":"path","required":true,"examples":{"Success":{"value":"ud_VLMmAD8EOwop2"}},"schema":{"type":"string"}}, {"name":"extra_fields[user_data]","in":"query","schema":{"type":"string","default":"decoded_content"},"description":"The `decoded_content` is provided as an extra attribute that shows content in decoded form.","examples":{"Success":{"value":"decoded_content"}}}],"description":"Get User Data in the project. These scripts can be used to configure servers with user data.\n","x-mint":{"href":"/api-reference/get-project-user-data"},"responses":{"200":{"description":"Success","content":{"application/vnd.api+json":{"examples":{"Success":{"value":{"data":{"id":"ud_VLMmAD8EOwop2","type":"user_data","attributes":{"description":"Three egg omelet with Roquefort cheese, chives, and ham. With a side of roasted potatoes, and your choice of toast or croissant.","content":"Q3JlYW15IG1hc2NhcnBvbmUgY2hlZXNlIGFuZCBjdXN0YXJkIGxheWVyZWQgYmV0d2VlbiBlc3ByZXNzbyBhbmQgcnVtIHNvYWtlZCBob3VzZS1tYWRlIGxhZHlmaW5nZXJzLCB0b3BwZWQgd2l0aCBWYWxyaG9uYSBjb2NvYSBwb3dkZXIu","created_at":"2026-01-14T15:56:43+00:00","updated_at":"2026-01-14T15:56:43+00:00","decoded_content":"Creamy mascarpone cheese and custard layered between espresso and rum soaked house-made ladyfingers, topped with Valrhona cocoa powder.","project":{"id":"proj_e8pKq0GYdWAob","name":"Enormous Silk Car","slug":"enormous-silk-car","description":"Aerodynamic Granite Bag","provisioning_type":"on_demand","billing_type":"Normal","billing_method":"Normal","bandwidth_alert":false,"environment":null,"billing":{},"stats":{"databases":0,"ip_addresses":0,"prefixes":0,"servers":0,"storages":0,"virtual_machines":0,"vlans":0}}}},"meta":{}}}},"schema":{"$ref":"#/components/schemas/user_data_object"}}}}}}, "patch": { "summary": "Update Project user data", "operationId": "put-project-user-data", "tags": ["User data"], "deprecated": true, "security": [{"Bearer":[]}], "parameters": [{"name":"project_id","in":"path","required":true,"description":"Project ID or Slug","schema":{"type":"string"}}, {"name":"user_data_id","in":"path","required":true,"schema":{"type":"string"}}], "description": "Allow you update User Data in a project.\n", "x-mint": {"href":"/api-reference/put-project-user-data"}, "responses": {"200":{"description":"Success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/user_data_object"}}}}}, "requestBody": {"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["user_data"]},"attributes":{"type":"object","properties":{"description":{"type":"string","description":"description dummy user data"},"content":{"type":"string","description":"encoded content of the User Data"}}}},"required":["id","type"]}},"required":["data"]}},"application/vnd.api+json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["user_data"]},"attributes":{"type":"object","properties":{"description":{"type":"string","description":"description dummy user data"},"content":{"type":"string","description":"encoded content of the User Data"}}}},"required":["id","type"]}},"required":["data"]}}}}, "x-speakeasy-group": "userData", "x-speakeasy-name-override": "updateForProject" }, "delete": {"summary":"Delete Project user data","operationId":"delete-project-user-data","tags":["User data"],"security":[{"Bearer":[]}],"deprecated":true,"parameters":[{"name":"project_id","in":"path","required":true,"description":"Project ID or Slug","schema":{"type":"string"}}, {"name":"user_data_id","in":"path","required":true,"schema":{"type":"string"}}],"description":"Allow you remove User Data in a project.\n","x-mint":{"href":"/api-reference/delete-project-user-data"},"responses":{"204":{"description":"No Content"}}} }, "/regions": {"get":{ "summary": "List regions", "operationId": "get-regions", "tags": ["Regions"], "security": [{"Bearer":[]}], "description": "Lists all [available locations](https://latitude.sh/locations). For server availability by location, please see the [Plans API](/reference/get-plans).\n\n", "parameters": [{"name":"page[size]","in":"query","schema":{"type":"integer","minimum":1,"default":20},"required":false,"description":"Number of items to return per page"}, {"name":"page[number]","in":"query","schema":{"type":"integer","minimum":1,"default":1},"required":false,"description":"Page number to return (starts at 1)"}], "x-speakeasy-pagination": {"type":"offsetLimit","inputs":[{"name":"page[number]","in":"parameters","type":"page"}, {"name":"page[size]","in":"parameters","type":"limit"}],"outputs":{"results":"$.data"}}, "x-mint": {"href":"/api-reference/get-regions"}, "responses": {"200":{"description":"Success","content":{"application/vnd.api+json":{"examples":{"Success":{"value":{"data":[{"id":"loc_k0RyqvNvqW36X","type":"regions","attributes":{"name":"Luettgen Group","slug":"luettgen-group","facility":"Luettgen Group","country":{"name":"Grant and Sons","slug":"grant-and-sons"},"type":"core"}}],"meta":{}}}},"schema":{"$ref":"#/components/schemas/regions"}}}}}, "x-speakeasy-name-override": "get", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "from latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.regions.list(page_size=20, page_number=1)\n\n while res is not None:\n # Handle items\n\n res = res.next()" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.Regions.Get(ctx, latitudeshgosdk.Pointer[int64](20), latitudeshgosdk.Pointer[int64](1))\n if err != nil {\n log.Fatal(err)\n }\n if res.Regions != nil {\n for {\n // handle items\n\n res, err = res.Next()\n\n if err != nil {\n // handle error\n }\n\n if res == nil {\n break\n }\n }\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.regions.get({});\n\n for await (const page of result) {\n console.log(page);\n }\n}\n\nrun();" } ] }}, "/regions/{region_id}": {"get":{ "summary": "Retrieve region", "operationId": "get-region", "tags": ["Regions"], "security": [{"Bearer":[]}], "parameters": [{"name":"region_id","in":"path","description":"The region region_ID","required":true,"examples":{"Success":{"value":"reg_GMy1DbYLqN50m"}},"schema":{"type":"string"}}], "x-mint": {"href":"/api-reference/get-region"}, "responses": {"200":{"description":"Success","content":{"application/vnd.api+json":{"examples":{"Success":{"value":{"data":{"id":"loc_WVQJDMQlDRbyE","type":"regions","attributes":{"name":"Durgan-Wunsch","slug":"durgan-wunsch","facility":"Durgan-Wunsch","country":{"name":"Kreiger-Muller","slug":"kreiger-muller"},"type":"core"}},"meta":{}}}},"schema":{"$ref":"#/components/schemas/region"}}}}}, "x-speakeasy-name-override": "fetch", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "from latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.regions.get(region_id=\"reg_GMy1DbYLqN50m\")\n\n # Handle response\n print(res)" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.Regions.Fetch(ctx, \"reg_GMy1DbYLqN50m\")\n if err != nil {\n log.Fatal(err)\n }\n if res.Region != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.regions.fetch({\n regionId: \"reg_GMy1DbYLqN50m\",\n });\n\n console.log(result);\n}\n\nrun();" } ] }}, "/roles": {"get":{ "summary": "List roles", "operationId": "get-roles", "tags": ["Roles"], "security": [{"Bearer":[]}], "description": "Returns a list of all roles that can be assigned to users\n", "parameters": [{"name":"page[size]","in":"query","schema":{"type":"integer","minimum":1,"default":20},"required":false,"description":"Number of items to return per page"}, {"name":"page[number]","in":"query","schema":{"type":"integer","minimum":1,"default":1},"required":false,"description":"Page number to return (starts at 1)"}], "x-speakeasy-pagination": {"type":"offsetLimit","inputs":[{"name":"page[number]","in":"parameters","type":"page"}, {"name":"page[size]","in":"parameters","type":"limit"}],"outputs":{"results":"$.data"}}, "x-mint": {"href":"/api-reference/get-roles"}, "responses": {"200":{"description":"Success","content":{"application/vnd.api+json":{"examples":{"Success":{"value":{"data":[{"id":"role_0L6WO1vEdPlXy","type":"roles","attributes":{"name":"collaborator"}}],"meta":{}}}},"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/role_data"}}}}}}}}, "x-speakeasy-name-override": "list", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "from latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.roles.list(page_size=20, page_number=1)\n\n while res is not None:\n # Handle items\n\n res = res.next()" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.Roles.List(ctx, latitudeshgosdk.Pointer[int64](20), latitudeshgosdk.Pointer[int64](1))\n if err != nil {\n log.Fatal(err)\n }\n if res.Object != nil {\n for {\n // handle items\n\n res, err = res.Next()\n\n if err != nil {\n // handle error\n }\n\n if res == nil {\n break\n }\n }\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.roles.list({});\n\n for await (const page of result) {\n console.log(page);\n }\n}\n\nrun();" } ] }}, "/roles/{role_id}": {"get":{ "summary": "Retrieve role", "operationId": "get-role-id", "tags": ["Roles"], "security": [{"Bearer":[]}], "parameters": [{"name":"role_id","in":"path","required":true,"examples":{"Success":{"value":"role_LMmAD8vldwop2"}},"schema":{"type":"string"}}], "x-mint": {"href":"/api-reference/get-role-id"}, "responses": {"200":{"description":"Success","content":{"application/vnd.api+json":{"examples":{"Success":{"value":{"data":{"id":"role_LMmAD8vldwop2","type":"roles","attributes":{"name":"billing"}},"meta":{}}}},"schema":{"$ref":"#/components/schemas/role"}}}}}, "x-speakeasy-name-override": "get", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "from latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.roles.get(role_id=\"role_LMmAD8vldwop2\")\n\n # Handle response\n print(res)" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.Roles.Get(ctx, \"role_LMmAD8vldwop2\")\n if err != nil {\n log.Fatal(err)\n }\n if res.Role != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.roles.get({\n roleId: \"role_LMmAD8vldwop2\",\n });\n\n console.log(result);\n}\n\nrun();" } ] }}, "/servers": { "get": { "summary": "List servers", "operationId": "get-servers", "tags": ["Servers"], "parameters": [{"name":"filter[project]","in":"query","required":false,"description":"The project ID or Slug to filter by","schema":{"type":"string"}}, {"name":"filter[region]","in":"query","required":false,"description":"The region Slug to filter by","schema":{"type":"string"}}, {"name":"filter[hostname]","in":"query","required":false,"description":"The hostname of server to filter by","schema":{"type":"string"}}, {"name":"filter[created_at_gte]","in":"query","required":false,"description":"The created at greater than equal date to filter by","schema":{"type":"string"}}, {"name":"filter[created_at_lte]","in":"query","required":false,"description":"The created at less than equal date to filter by","schema":{"type":"string"}}, {"name":"filter[label]","in":"query","required":false,"description":"The label of server to filter by","schema":{"type":"string"}}, {"name":"filter[status]","in":"query","required":false,"description":"The status of server to filter by","schema":{"type":"string"}}, {"name":"filter[plan]","in":"query","required":false,"description":"The platform/plan name of the server to filter by","schema":{"type":"string"}}, {"name":"filter[gpu]","in":"query","required":false,"description":"Filter by the existence of an associated GPU","schema":{"type":"boolean"}}, {"name":"filter[ram][eql]","in":"query","required":false,"description":"Filter servers with RAM size (in GB) equals the provided value.","schema":{"type":"integer"}}, {"name":"filter[ram][gte]","in":"query","required":false,"description":"Filter servers with RAM size (in GB) greater than or equal the provided value.","schema":{"type":"integer"}}, {"name":"filter[ram][lte]","in":"query","required":false,"description":"Filter servers with RAM size (in GB) less than or equal the provided value.","schema":{"type":"integer"}}, {"name":"filter[disk]","in":"query","required":false,"description":"The disk size in Gigabytes to filter by, should be used with the following options:\n [eql] to filter for values equal to the provided value.\n [gte] to filter for values greater than or equal to the provided value.\n [lte] to filter by values lower than or equal to the provided value.","schema":{"type":"integer"}}, {"name":"filter[tags]","in":"query","required":false,"description":"The tags IDs to filter by, separated by comma, e.g. `filter[tags]=tag_1,tag_2`will return servers with `tag_1` AND `tag_2`","examples":{"Success":{"value":"tag_pjAkRjVzw0tlYBA2WX1eHzW7w79,tag_yARk1KLJAvslWY7k5wNBCaKEV7e"}},"schema":{"type":"string"}}, {"name":"extra_fields[servers]","in":"query","required":false,"description":"The `credentials` are provided as extra attributes that are lazy loaded. To request it, just set `extra_fields[servers]=credentials` in the query string.","schema":{"type":"string"}}, {"name":"page[size]","in":"query","schema":{"type":"integer","minimum":1,"default":20},"required":false,"description":"Number of items to return per page"}, {"name":"page[number]","in":"query","schema":{"type":"integer","minimum":1,"default":1},"required":false,"description":"Page number to return (starts at 1)"}], "security": [{"Bearer":[]}], "description": "Returns a list of all servers belonging to the team.\n", "x-speakeasy-pagination": {"type":"offsetLimit","inputs":[{"name":"page[number]","in":"parameters","type":"page"}, {"name":"page[size]","in":"parameters","type":"limit"}],"outputs":{"results":"$.data"}}, "x-mint": {"href":"/api-reference/get-servers"}, "responses": {"200":{"description":"Success","content":{"application/vnd.api+json":{"examples":{"Success":{"value":{"data":[{"id":"sv_WeGoqAanqP7nz","type":"servers","attributes":{"tags":[{"id":"tag_pjAkRjVzw0tlYBA2WX1eHzW7w79","name":"tag1","description":"Autem tempora est aperiam.","color":"#160303"}, {"id":"tag_yARk1KLJAvslWY7k5wNBCaKEV7e","name":"tag2","description":"Vitae cupiditate doloribus optio.","color":"#ee6dee"}],"hostname":"Hostname","label":"832845NODEKG","price":599.0,"role":"Bare Metal","primary_ipv4":"19.98.98.65","primary_ipv6":"49e5:fef3:7891:16df:ccf6:93bb:a930:4dc0","status":"on","ipmi_status":"Normal","created_at":null,"scheduled_deletion_at":null,"locked":false,"rescue_allowed":false,"region":{"city":"São Paulo 74","country":"Singapore 66","site":{"id":"loc_695BdKjrOevVo","name":"São Paulo 74","slug":"SAO","facility":"São Paulo 74","rack_id":"rack_VLMmAD8EOwop2"}},"team":{"id":"team_Ygapr2KkrMur4QneZ00yUEGl4W2","name":"292 Team","slug":"292-team","description":"292 Team","address":"Apt. 180 27016 Chi Prairie, Kenyaport, CA 12866","currency":{"id":"cur_AW6Q2D9lqKLpr","code":"BRL","name":"Brazilian Real","currency_id":null},"status":"verified","feature_flags":[],"limits":{"bare_metal":null,"bare_metal_gpu":1,"virtual_machine":5,"virtual_machine_gpu":3,"virtual_network":5,"database":null,"filesystem":null,"block_storage":null}},"project":{"id":"proj_Z8rodmnGq1jLB","name":"Incredible Linen Car","slug":"incredible-linen-car","description":"Lightweight Iron Chair","provisioning_type":"on_demand","billing_type":"Normal","billing_method":"Normal","bandwidth_alert":false,"environment":null,"billing":{},"stats":{"databases":1,"ip_addresses":8,"prefixes":0,"servers":3,"storages":0,"virtual_machines":0,"vlans":0}},"plan":{"id":"plan_pbV0Dg1Rd4AWz","name":"g3.h100.small-51","slug":"plan-slug","billing":"hourly"},"interfaces":[{"role":"ipmi","name":"IPMI","mac_address":"00:11:22:33:44:55","description":"IPMI Interface"}, {"role":"internal","name":"PXE","mac_address":"66:77:88:99:aa:bb","description":"PXE Interface"}],"operating_system":{"name":"Ubuntu (18.04 x64 LTS)","slug":"ubuntu_18_04_x64_lts","version":"18.04 x64 LTS","features":{"raid":true,"ssh_keys":true},"distro":{"name":"Ubuntu","slug":"ubuntu","series":"bionic"}},"specs":{"cpu":"Xeon E-2186G CPU @ 3.80GHz (6 cores)","disk":"500 GB SSD","ram":"32 GB","nic":"","gpu":null}}}],"meta":{}}}},"schema":{"$ref":"#/components/schemas/servers"}}}}}, "x-speakeasy-name-override": "list", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "from latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.servers.list(filter_project=\"proj_g1mbDwrZqLv5B\", filter_region=\"SAO\", filter_ram_eql=32, filter_ram_gte=40, filter_ram_lte=40, filter_tags=\"tag_pjAkRjVzw0tlYBA2WX1eHzW7w79,tag_yARk1KLJAvslWY7k5wNBCaKEV7e\", page_size=20, page_number=1)\n\n while res is not None:\n # Handle items\n\n res = res.next()" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"github.com/latitudesh/latitudesh-go-sdk/models/operations\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.Servers.List(ctx, operations.GetServersRequest{\n FilterProject: latitudeshgosdk.Pointer(\"proj_g1mbDwrZqLv5B\"),\n FilterRegion: latitudeshgosdk.Pointer(\"SAO\"),\n FilterRAMEql: latitudeshgosdk.Pointer[int64](32),\n FilterRAMGte: latitudeshgosdk.Pointer[int64](40),\n FilterRAMLte: latitudeshgosdk.Pointer[int64](40),\n FilterTags: latitudeshgosdk.Pointer(\"tag_pjAkRjVzw0tlYBA2WX1eHzW7w79,tag_yARk1KLJAvslWY7k5wNBCaKEV7e\"),\n })\n if err != nil {\n log.Fatal(err)\n }\n if res.Servers != nil {\n for {\n // handle items\n\n res, err = res.Next()\n\n if err != nil {\n // handle error\n }\n\n if res == nil {\n break\n }\n }\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.servers.list({\n filterTags: \"tag_pjAkRjVzw0tlYBA2WX1eHzW7w79,tag_yARk1KLJAvslWY7k5wNBCaKEV7e\",\n });\n\n for await (const page of result) {\n console.log(page);\n }\n}\n\nrun();" } ] }, "post": { "summary": "Create server", "operationId": "create-server", "tags": ["Servers"], "security": [{"Bearer":[]}], "parameters": [], "x-mint": {"href":"/api-reference/create-server"}, "responses": {"201":{"description":"Created","content":{"application/vnd.api+json":{"examples":{"Created":{"value":{"data":{"type":"servers","id":"sv_W6Q2D9xGqKLpr","attributes":{"hostname":"BRC1","label":"846419NODEME","role":"Bare Metal","status":"off","primary_ipv4":"171.189.35.253","primary_ipv6":"7d69:748d:26cc:796a:1248:b6be:a658:96a4","specs":{"cpu":"Xeon E-2186G CPU @ 3.80GHz (6 cores)","disk":"500 GB SSD","ram":"32 GB","nic":""},"plan":{"id":"plan_8NkvdyMKdeLpx","name":"c2.small.x86","slug":"c2-small-x86","billing":"hourly"},"interfaces":[{"role":"ipmi","name":"IPMI","mac_address":"00:11:22:33:44:55","description":"IPMI Interface"}, {"role":"internal","name":"PXE","mac_address":"66:77:88:99:aa:bb","description":"PXE Interface"}]}},"meta":{}}}},"schema":{"$ref":"#/components/schemas/server"}}}}}, "requestBody": {"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["servers"]},"attributes":{"type":"object","properties":{"project":{"type":"string","description":"The project (ID or Slug) to deploy the server"},"plan":{"type":"string","description":"The plan slug to choose server from, defining the specs the server will have","enum":["c2-large-x86","c2-medium-x86","c2-small-x86","c3-large-x86","c3-medium-x86","c3-small-x86","c3-xlarge-x86","g3-gh200","g3-large-x86","g3-medium-x86","g3-small-x86","g3-xlarge-x86","g4-rtx6kpro-large","m3-large-x86","m4-metal-large","m4-metal-small","rs4-metal-xlarge","s2-small-x86","s3-large-x86"]},"site":{"type":"string","description":"The site slug to deploy the server","enum":["ASH","BUE","CHI","DAL","FRA","LAX","LON","MEX","MEX2","MIA","MIA2","NYC","SAO","SAO2","SGP","SYD","TYO","TYO2"]},"operating_system":{"type":"string","description":"The operating system slug for the new server","enum":["centos_7_4_x64","centos_8_x64","debian_10","debian_11","debian_12","ipxe","rhel8","rockylinux_8","ubuntu22_ml_in_a_box","ubuntu24_ml_in_a_box","ubuntu_20_04_x64_lts","ubuntu_22_04_x64_lts","ubuntu_24_04_x64_lts","windows_2022_std","windows_server_2019_std_v1"]},"hostname":{"type":"string","description":"The server hostname"},"ssh_keys":{"type":"array","items":{"type":"string"},"description":"SSH Keys to set on the server","nullable":true},"user_data":{"type":"string","description":"User data ID to set on the server. This is a custom script that will run after the deploy","nullable":true},"raid":{"type":"string","description":"RAID mode for the server. Set to 'raid-0' for RAID 0, 'raid-1' for RAID 1, or omit/null for no RAID configuration","enum":["raid-0","raid-1"],"nullable":true},"ipxe":{"type":"string","description":"URL where iPXE script is stored on, OR the iPXE script encoded in base64. This attribute is required when iPXE is selected as operating system.","nullable":true},"billing":{"type":"string","enum":["hourly","monthly","yearly"],"description":"The server billing type. Accepts `hourly` and `monthly` for on demand projects and `yearly` for reserved projects.","nullable":true}}}},"required":["type"]}}},"examples":{"Created":{"summary":"Created","value":{"data":{"type":"servers","attributes":{"project":"proj_lxWpD699qm6rk","plan":"c2-small-x86","site":"ASH","operating_system":"ubuntu_22_04_x64_lts","hostname":"BRC1"}}}}}},"application/vnd.api+json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["servers"]},"attributes":{"type":"object","properties":{"project":{"type":"string","description":"The project (ID or Slug) to deploy the server"},"plan":{"type":"string","description":"The plan slug to choose server from, defining the specs the server will have","enum":["c2-large-x86","c2-medium-x86","c2-small-x86","c3-large-x86","c3-medium-x86","c3-small-x86","c3-xlarge-x86","g3-gh200","g3-large-x86","g3-medium-x86","g3-small-x86","g3-xlarge-x86","g4-rtx6kpro-large","m3-large-x86","m4-metal-large","m4-metal-small","rs4-metal-xlarge","s2-small-x86","s3-large-x86"]},"site":{"type":"string","description":"The site slug to deploy the server","enum":["ASH","BUE","CHI","DAL","FRA","LAX","LON","MEX","MEX2","MIA","MIA2","NYC","SAO","SAO2","SGP","SYD","TYO","TYO2"]},"operating_system":{"type":"string","description":"The operating system slug for the new server","enum":["centos_7_4_x64","centos_8_x64","debian_10","debian_11","debian_12","ipxe","rhel8","rockylinux_8","ubuntu22_ml_in_a_box","ubuntu24_ml_in_a_box","ubuntu_20_04_x64_lts","ubuntu_22_04_x64_lts","ubuntu_24_04_x64_lts","windows_2022_std","windows_server_2019_std_v1"]},"hostname":{"type":"string","description":"The server hostname"},"ssh_keys":{"type":"array","items":{"type":"string"},"description":"SSH Keys to set on the server","nullable":true},"user_data":{"type":"string","description":"User data ID to set on the server. This is a custom script that will run after the deploy","nullable":true},"raid":{"type":"string","description":"RAID mode for the server. Set to 'raid-0' for RAID 0, 'raid-1' for RAID 1, or omit/null for no RAID configuration","enum":["raid-0","raid-1"],"nullable":true},"ipxe":{"type":"string","description":"URL where iPXE script is stored on, OR the iPXE script encoded in base64. This attribute is required when iPXE is selected as operating system.","nullable":true},"billing":{"type":"string","enum":["hourly","monthly","yearly"],"description":"The server billing type. Accepts `hourly` and `monthly` for on demand projects and `yearly` for reserved projects.","nullable":true}}}},"required":["type"]}}},"examples":{"Created":{"summary":"Created","value":{"data":{"type":"servers","attributes":{"project":"proj_lxWpD699qm6rk","plan":"c2-small-x86","site":"ASH","operating_system":"ubuntu_22_04_x64_lts","hostname":"BRC1"}}}}}}},"required":true}, "x-speakeasy-name-override": "create", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "import latitudesh_python_sdk\nfrom latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.servers.create(data={\n \"type\": latitudesh_python_sdk.CreateServerServersType.SERVERS,\n \"attributes\": {\n \"project\": \"proj_lxWpD699qm6rk\",\n \"plan\": latitudesh_python_sdk.CreateServerServersPlan.C2_SMALL_X86,\n \"site\": latitudesh_python_sdk.CreateServerServersSite.ASH,\n \"operating_system\": latitudesh_python_sdk.CreateServerServersOperatingSystem.UBUNTU_22_04_X64_LTS,\n \"hostname\": \"BRC1\",\n },\n })\n\n # Handle response\n print(res)" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"github.com/latitudesh/latitudesh-go-sdk/models/operations\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.Servers.Create(ctx, operations.CreateServerServersRequestBody{\n Data: &operations.CreateServerServersData{\n Type: operations.CreateServerServersTypeServers,\n Attributes: &operations.CreateServerServersAttributes{\n Project: latitudeshgosdk.Pointer(\"proj_lxWpD699qm6rk\"),\n Plan: operations.CreateServerPlanC2SmallX86.ToPointer(),\n Site: operations.CreateServerSiteAsh.ToPointer(),\n OperatingSystem: operations.CreateServerOperatingSystemUbuntu2204X64Lts.ToPointer(),\n Hostname: latitudeshgosdk.Pointer(\"BRC1\"),\n },\n },\n })\n if err != nil {\n log.Fatal(err)\n }\n if res.Server != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.servers.create({\n data: {\n type: \"servers\",\n attributes: {\n project: \"proj_lxWpD699qm6rk\",\n plan: \"c2-small-x86\",\n site: \"ASH\",\n operatingSystem: \"ubuntu_22_04_x64_lts\",\n hostname: \"BRC1\",\n },\n },\n });\n\n console.log(result);\n}\n\nrun();" } ] } }, "/servers/{server_id}": { "get": { "summary": "Retrieve server", "operationId": "get-server", "tags": ["Servers"], "security": [{"Bearer":[]}], "parameters": [{"name":"server_id","in":"path","description":"The Server ID","required":true,"examples":{"Success":{"value":"sv_VE1Wd3aXDXnZJ"}},"schema":{"type":"string"}}, {"name":"extra_fields[servers]","in":"query","required":false,"description":"The `credentials` are provided as extra attributes that is lazy loaded. To request it, just set `extra_fields[servers]=credentials` in the query string.","schema":{"type":"string"}}], "description": "Returns a server that belongs to the team.\n", "x-mint": {"href":"/api-reference/get-server"}, "responses": {"200":{"description":"Success","content":{"application/vnd.api+json":{"examples":{"Success":{"value":{"data":{"id":"sv_VE1Wd3aXDXnZJ","type":"servers","attributes":{"tags":[],"hostname":"Hostname","label":"327106NODEQI","price":599.0,"role":"Bare Metal","primary_ipv4":"9.120.132.45","primary_ipv6":"889e:8540:973b:5c04:abce:2551:47ae:a67e","status":"on","ipmi_status":"Normal","created_at":null,"scheduled_deletion_at":null,"locked":false,"rescue_allowed":false,"region":{"city":"São Paulo 81","country":"Mexico 73","site":{"id":"loc_GMy1DbNgDN50m","name":"São Paulo 81","slug":"SAO","facility":"São Paulo 81","rack_id":"rack_6VE1Wd37dXnZJ"}},"team":{"id":"team_M2WyX3zpQMf5Wvaw6zkotLZx0Ne","name":"308 Team","slug":"308-team","description":"308 Team","address":"Suite 667 299 Enoch Lights, Lake Lilli, MT 24573-1532","currency":{"id":"cur_AW6Q2D9lqKLpr","code":"BRL","name":"Brazilian Real","currency_id":null},"status":"verified","feature_flags":[],"limits":{"bare_metal":null,"bare_metal_gpu":1,"virtual_machine":5,"virtual_machine_gpu":3,"virtual_network":5,"database":null,"filesystem":null,"block_storage":null}},"project":{"id":"proj_LMmAD8E4Owop2","name":"Awesome Granite Chair","slug":"awesome-granite-chair","description":"Mediocre Paper Wallet","provisioning_type":"on_demand","billing_type":"Normal","billing_method":"Normal","bandwidth_alert":false,"environment":null,"billing":{},"stats":{"databases":0,"ip_addresses":2,"prefixes":0,"servers":1,"storages":0,"virtual_machines":0,"vlans":0}},"plan":{"id":"plan_yQrJdN9JO30gv","name":"c2.large.arm","slug":"c2-large-arm","billing":"hourly"},"interfaces":[{"role":"ipmi","name":"IPMI","mac_address":"00:11:22:33:44:55","description":"IPMI Interface"}, {"role":"internal","name":"PXE","mac_address":"66:77:88:99:aa:bb","description":"PXE Interface"}],"operating_system":{"name":"Ubuntu (18.04 x64 LTS)","slug":"ubuntu_18_04_x64_lts","version":"18.04 x64 LTS","features":{"raid":true,"ssh_keys":true},"distro":{"name":"Ubuntu","slug":"ubuntu","series":"bionic"}},"specs":{"cpu":"","disk":"","ram":"","nic":"","gpu":null}}},"meta":{}}}},"schema":{"$ref":"#/components/schemas/server"}}}}}, "x-speakeasy-name-override": "get", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "from latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.servers.get(server_id=\"sv_VE1Wd3aXDXnZJ\")\n\n # Handle response\n print(res)" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.Servers.Get(ctx, \"sv_VE1Wd3aXDXnZJ\", nil)\n if err != nil {\n log.Fatal(err)\n }\n if res.Server != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.servers.get({\n serverId: \"sv_VE1Wd3aXDXnZJ\",\n });\n\n console.log(result);\n}\n\nrun();" } ] }, "patch": { "summary": "Update server", "operationId": "update-server", "tags": ["Servers"], "security": [{"Bearer":[]}], "parameters": [{"name":"server_id","in":"path","required":true,"examples":{"Success":{"value":"sv_yQrJdNAGO30gv"}},"schema":{"type":"string"}}], "x-mint": {"href":"/api-reference/update-server"}, "responses": {"200":{"description":"Success","content":{"application/vnd.api+json":{"examples":{"Success":{"value":{"data":{"id":"sv_yQrJdNAGO30gv","type":"servers","attributes":{"tags":[],"hostname":"Lightweight Wooden Knife","label":"136877NODEKM","price":599.0,"role":"Bare Metal","primary_ipv4":"214.249.69.62","primary_ipv6":"b0c8:139:6f83:7f0c:6e2:33a3:78e4:e03f","status":"unknown","ipmi_status":"Normal","created_at":null,"scheduled_deletion_at":null,"locked":false,"rescue_allowed":false,"region":{"city":"Frankfurt 115","country":"Germany 107","site":{"id":"loc_aNmodjGyqbE8W","name":"Frankfurt 115","slug":"FRA96","facility":"Frankfurt 115","rack_id":"rack_byQrJdNJd30gv"}},"team":{"id":"team_YQZmYB34Nxso86ZgyKj2UEPEnyA","name":"348 Team","slug":"348-team","description":"348 Team","address":"51588 Goodwin Mission, Port Oswaldo, KS 14871-0638","currency":{"id":"cur_GnzRD5xAqM5yw","code":"agd","name":"daznioxpdspfbdbvvikg","currency_id":null},"status":"verified","feature_flags":[],"limits":{"bare_metal":5,"bare_metal_gpu":1,"virtual_machine":5,"virtual_machine_gpu":3,"virtual_network":5,"database":null,"filesystem":null,"block_storage":null}},"project":{"id":"proj_yQrJdNMGO30gv","name":"Awesome Wool Computer","slug":"awesome-wool-computer","description":"Practical Rubber Shirt","provisioning_type":"on_demand","billing_type":"Normal","billing_method":"Normal","bandwidth_alert":false,"environment":null,"billing":{},"stats":{"databases":0,"ip_addresses":0,"prefixes":0,"servers":1,"storages":0,"virtual_machines":0,"vlans":0}},"plan":{"id":"plan_3YjJOLLyOvZ87","name":"c2.large.arm","slug":"c2-large-arm","billing":"hourly"},"interfaces":[],"operating_system":{},"specs":{"cpu":"","disk":"","ram":"","nic":"","gpu":null}}},"meta":{}}}},"schema":{"$ref":"#/components/schemas/server"}}}}}, "requestBody": {"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","default":"sv_81EVOtR1N4J2Z"},"type":{"type":"string","enum":["servers"]},"attributes":{"type":"object","properties":{"hostname":{"type":"string","default":"new-hostname"},"billing":{"type":"string","nullable":true,"description":"The server billing type. Accepts `hourly` and `monthly` for on demand projects and `yearly` for reserved projects.","enum":["hourly","monthly","yearly"]},"tags":{"type":"array","items":{"type":"string"},"nullable":true,"default":[],"description":"List of Tag IDs"},"project":{"type":"string","description":"Project ID or slug to move the server to"}}}},"example":{"data":{"id":"sv_81EVOtR1N4J2Z","type":"servers","attributes":{"hostname":"new-hostname","tags":[]}}}}}},"examples":{"Success":{"summary":"Success","value":{"data":{"id":"sv_yQrJdNAGO30gv","type":"servers","attributes":{"project":"proj_yQrJdNMGO30gv"}}}}}},"application/vnd.api+json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","default":"sv_81EVOtR1N4J2Z"},"type":{"type":"string","enum":["servers"]},"attributes":{"type":"object","properties":{"hostname":{"type":"string","default":"new-hostname"},"billing":{"type":"string","nullable":true,"description":"The server billing type. Accepts `hourly` and `monthly` for on demand projects and `yearly` for reserved projects.","enum":["hourly","monthly","yearly"]},"tags":{"type":"array","items":{"type":"string"},"nullable":true,"default":[],"description":"List of Tag IDs"},"project":{"type":"string","description":"Project ID or slug to move the server to"}}}},"example":{"data":{"id":"sv_81EVOtR1N4J2Z","type":"servers","attributes":{"hostname":"new-hostname","tags":[]}}}}}},"examples":{"Success":{"summary":"Success","value":{"data":{"id":"sv_yQrJdNAGO30gv","type":"servers","attributes":{"project":"proj_yQrJdNMGO30gv"}}}}}}},"required":true}, "x-speakeasy-name-override": "update", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "import latitudesh_python_sdk\nfrom latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.servers.update(server_id=\"sv_yQrJdNAGO30gv\", data={\n \"id\": \"sv_yQrJdNAGO30gv\",\n \"type\": latitudesh_python_sdk.UpdateServerServersType.SERVERS,\n \"attributes\": {\n \"project\": \"proj_yQrJdNMGO30gv\",\n },\n })\n\n # Handle response\n print(res)" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"github.com/latitudesh/latitudesh-go-sdk/models/operations\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.Servers.Update(ctx, \"sv_yQrJdNAGO30gv\", operations.UpdateServerServersRequestBody{\n Data: &operations.UpdateServerServersData{\n ID: latitudeshgosdk.Pointer(\"sv_yQrJdNAGO30gv\"),\n Type: operations.UpdateServerServersTypeServers.ToPointer(),\n Attributes: &operations.UpdateServerServersAttributes{\n Project: latitudeshgosdk.Pointer(\"proj_yQrJdNMGO30gv\"),\n },\n },\n })\n if err != nil {\n log.Fatal(err)\n }\n if res.Server != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.servers.update({\n serverId: \"sv_yQrJdNAGO30gv\",\n requestBody: {\n data: {\n id: \"sv_yQrJdNAGO30gv\",\n type: \"servers\",\n attributes: {\n project: \"proj_yQrJdNMGO30gv\",\n },\n },\n },\n });\n\n console.log(result);\n}\n\nrun();" } ] }, "delete": { "summary": "Remove server", "operationId": "destroy-server", "tags": ["Servers"], "parameters": [{"name":"server_id","in":"path","description":"The server ID","required":true,"schema":{"type":"string"}}, {"name":"reason","in":"query","description":"The reason for deleting the server","required":false,"schema":{"type":"string"}}], "security": [{"Bearer":[]}], "x-mint": {"href":"/api-reference/destroy-server"}, "responses": {"204":{"description":"No Content"}}, "x-speakeasy-name-override": "delete", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "from latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n latitudesh.servers.delete(server_id=\"sv_WeGoqAZNDP7nz\")\n\n # Use the SDK ..." }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.Servers.Delete(ctx, \"sv_WeGoqAZNDP7nz\", nil)\n if err != nil {\n log.Fatal(err)\n }\n if res != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n await latitudesh.servers.delete({\n serverId: \"\",\n });\n\n\n}\n\nrun();" } ] } }, "/servers/{server_id}/deploy_config": { "get": { "summary": "Retrieve deploy config", "operationId": "get-server-deploy-config", "tags": ["Servers"], "security": [{"Bearer":[]}], "parameters": [{"name":"server_id","in":"path","description":"The Server ID","required":true,"examples":{"Success":{"value":"sv_pRMLydp0dQKr1"}},"schema":{"type":"string"}}], "x-mint": {"href":"/api-reference/get-server-deploy-config"}, "responses": {"200":{"description":"Success","content":{"application/vnd.api+json":{"examples":{"Success":{"value":{"data":{"id":"sv_pRMLydp0dQKr1","type":"deploy_config","attributes":{"ssh_keys":["ssh_0g1mbDwBqLv5B"],"user_data":"ud_0g1mbDwBqLv5B","raid":"raid-0","operating_system":"debian_10","hostname":"Asoka","ipxe_url":null,"ipxe":null,"partitions":[{"path":"/","size_in_gb":300,"filesystem_type":"ext4"}]}},"meta":{}}}},"schema":{"$ref":"#/components/schemas/deploy_config"}}}}}, "x-speakeasy-name-override": "getDeployConfig", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "from latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.servers.get_deploy_config(server_id=\"sv_pRMLydp0dQKr1\")\n\n # Handle response\n print(res)" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.Servers.GetDeployConfig(ctx, \"sv_pRMLydp0dQKr1\")\n if err != nil {\n log.Fatal(err)\n }\n if res.DeployConfig != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.servers.getDeployConfig({\n serverId: \"sv_pRMLydp0dQKr1\",\n });\n\n console.log(result);\n}\n\nrun();" } ] }, "patch": { "summary": "Update deploy config", "operationId": "update-server-deploy-config", "tags": ["Servers"], "security": [{"Bearer":[]}], "parameters": [{"name":"server_id","in":"path","description":"The Server ID","required":true,"examples":{"Success":{"value":"sv_lkg1DeYLDvZE5"}},"schema":{"type":"string"}}], "x-mint": {"href":"/api-reference/update-server-deploy-config"}, "responses": {"200":{"description":"Success","content":{"application/vnd.api+json":{"examples":{"Success":{"value":{"data":{"id":"sv_lkg1DeYLDvZE5","type":"deploy_config","attributes":{"ssh_keys":["ssh_m5xyZOnNOWM0l"],"user_data":"ud_5LA73qkjdaJ2o","raid":"raid-1","operating_system":"ubuntu_20_04_x64_lts","hostname":"my-hostname","ipxe_url":null,"ipxe":null,"partitions":[{"path":"/","size_in_gb":300,"filesystem_type":"ext4"}]}},"meta":{}}}},"schema":{"$ref":"#/components/schemas/deploy_config"}}}}}, "requestBody": {"content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","enum":["deploy_config"]},"attributes":{"type":"object","properties":{"hostname":{"type":"string","nullable":true},"operating_system":{"type":"string","enum":["centos_7_4_x64","centos_8_x64","debian_10","debian_11","debian_12","ipxe","rhel8","rockylinux_8","ubuntu22_ml_in_a_box","ubuntu24_ml_in_a_box","ubuntu_20_04_x64_lts","ubuntu_22_04_x64_lts","ubuntu_24_04_x64_lts","windows_2022_std","windows_server_2019_std_v1"],"nullable":true},"raid":{"type":"string","description":"RAID mode for the server. Set to 'raid-0' for RAID 0, 'raid-1' for RAID 1, or omit/null for no RAID configuration","enum":["raid-0","raid-1"],"nullable":true},"user_data":{"type":"string","description":"User data to configure the server","nullable":true},"ssh_keys":{"type":"array","items":{"type":"string"},"nullable":true},"partitions":{"type":"array","nullable":true,"items":{"type":"object","properties":{"size_in_gb":{"type":"integer"},"path":{"type":"string"},"filesystem_type":{"type":"string"}}}},"ipxe_url":{"type":"string","description":"URL where iPXE script is stored on, necessary for custom image deployments. This attribute is required when operating system iPXE is selected.","nullable":true}}}},"required":["type"]},"examples":{"Success":{"summary":"Success","value":{"data":{"type":"deploy_config","attributes":{"ssh_keys":["ssh_m5xyZOnNOWM0l"],"user_data":"ud_5LA73qkjdaJ2o","raid":"raid-1","operating_system":"ubuntu_20_04_x64_lts","partitions":[{"path":"/","size_in_gb":300,"filesystem_type":"ext4"}],"hostname":"my-hostname"}}}}}},"application/vnd.api+json":{"schema":{"type":"object","properties":{"type":{"type":"string","enum":["deploy_config"]},"attributes":{"type":"object","properties":{"hostname":{"type":"string","nullable":true},"operating_system":{"type":"string","enum":["centos_7_4_x64","centos_8_x64","debian_10","debian_11","debian_12","ipxe","rhel8","rockylinux_8","ubuntu22_ml_in_a_box","ubuntu24_ml_in_a_box","ubuntu_20_04_x64_lts","ubuntu_22_04_x64_lts","ubuntu_24_04_x64_lts","windows_2022_std","windows_server_2019_std_v1"],"nullable":true},"raid":{"type":"string","description":"RAID mode for the server. Set to 'raid-0' for RAID 0, 'raid-1' for RAID 1, or omit/null for no RAID configuration","enum":["raid-0","raid-1"],"nullable":true},"user_data":{"type":"string","description":"User data to configure the server","nullable":true},"ssh_keys":{"type":"array","items":{"type":"string"},"nullable":true},"partitions":{"type":"array","nullable":true,"items":{"type":"object","properties":{"size_in_gb":{"type":"integer"},"path":{"type":"string"},"filesystem_type":{"type":"string"}}}},"ipxe_url":{"type":"string","description":"URL where iPXE script is stored on, necessary for custom image deployments. This attribute is required when operating system iPXE is selected.","nullable":true}}}},"required":["type"]},"examples":{"Success":{"summary":"Success","value":{"data":{"type":"deploy_config","attributes":{"ssh_keys":["ssh_m5xyZOnNOWM0l"],"user_data":"ud_5LA73qkjdaJ2o","raid":"raid-1","operating_system":"ubuntu_20_04_x64_lts","partitions":[{"path":"/","size_in_gb":300,"filesystem_type":"ext4"}],"hostname":"my-hostname"}}}}}}},"required":true}, "x-speakeasy-name-override": "updateDeployConfig", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "import latitudesh_python_sdk\nfrom latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.servers.update_deploy_config(server_id=\"sv_lkg1DeYLDvZE5\", type_=latitudesh_python_sdk.UpdateServerDeployConfigServersType.DEPLOY_CONFIG)\n\n # Handle response\n print(res)" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"github.com/latitudesh/latitudesh-go-sdk/models/operations\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.Servers.UpdateDeployConfig(ctx, \"sv_lkg1DeYLDvZE5\", operations.UpdateServerDeployConfigServersRequestBody{\n Type: operations.UpdateServerDeployConfigServersTypeDeployConfig,\n })\n if err != nil {\n log.Fatal(err)\n }\n if res.DeployConfig != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.servers.updateDeployConfig({\n serverId: \"sv_lkg1DeYLDvZE5\",\n requestBody: {\n type: \"deploy_config\",\n },\n });\n\n console.log(result);\n}\n\nrun();" } ] } }, "/servers/{server_id}/lock": {"post":{ "summary": "Lock server", "operationId": "server-lock", "tags": ["Servers"], "security": [{"Bearer":[]}], "parameters": [{"name":"server_id","in":"path","required":true,"examples":{"Success":{"value":"sv_pbV0DgjKq4AWz"}},"schema":{"type":"string"}}], "description": "Locks the server. A locked server cannot be deleted or modified and no actions can be performed on it.", "x-mint": {"href":"/api-reference/server-lock"}, "responses": {"200":{"description":"Success","content":{"application/vnd.api+json":{"examples":{"Success":{"value":{"data":{"id":"sv_pbV0DgjKq4AWz","type":"servers","attributes":{"hostname":"Heavy Duty Concrete Chair","label":"946654NODEUT","price":599.0,"ipmi_status":"Normal","scheduled_deletion_at":null,"status":"unknown","role":"Enclosure","primary_ipv4":"150.158.19.54","created_at":null,"locked":true,"team":{"id":"team_zAoElw92Z1c36A13Vx9EF71RlMl","name":"467 Team","slug":"467-team","description":"467 Team","address":"Suite 277 939 Hermann Mall, Hongshire, NH 77247-8873","status":"verified","currency":{"id":"cur_AW6Q2D9lqKLpr","code":"BRL","name":"Brazilian Real","currency_id":null}},"project":{"id":"proj_Gr47qloZdAg0m","name":"Heavy Duty Linen Bottle","slug":"heavy-duty-linen-bottle","description":"Awesome Copper Lamp","billing_type":"Normal","billing_method":"Normal","bandwidth_alert":false,"environment":null,"billing":{"subscription_id":"sub_6rq7u7562p9hap","type":"Normal","method":"Normal"},"stats":{"databases":0,"ip_addresses":0,"prefixes":0,"servers":1,"storages":0,"virtual_machines":0,"vlans":0}},"region":{"city":"Frankfurt 132","country":"Germany 147","site":{"id":"loc_Gr47ql4vqAg0m","name":"Frankfurt 132","slug":"FRA113","facility":"Frankfurt 132"}}}}}}},"schema":{"$ref":"#/components/schemas/server"}}}}}, "x-speakeasy-name-override": "lock", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "from latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.servers.lock(server_id=\"sv_pbV0DgjKq4AWz\")\n\n # Handle response\n print(res)" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.Servers.Lock(ctx, \"sv_pbV0DgjKq4AWz\")\n if err != nil {\n log.Fatal(err)\n }\n if res.Server != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.servers.lock({\n serverId: \"sv_pbV0DgjKq4AWz\",\n });\n\n console.log(result);\n}\n\nrun();" } ] }}, "/servers/{server_id}/unlock": {"post":{ "summary": "Unlock server", "operationId": "server-unlock", "tags": ["Servers"], "security": [{"Bearer":[]}], "parameters": [{"name":"server_id","in":"path","required":true,"examples":{"Success":{"value":"sv_e8pKq0xYqWAob"}},"schema":{"type":"string"}}], "description": "Unlocks the server. A locked server cannot be deleted or modified and no actions can be performed on it.", "x-mint": {"href":"/api-reference/server-unlock"}, "responses": {"200":{"description":"Success","content":{"application/vnd.api+json":{"examples":{"Success":{"value":{"data":{"id":"sv_e8pKq0xYqWAob","type":"servers","attributes":{"hostname":"Fantastic Copper Shirt","label":"275299NODEZB","price":599.0,"ipmi_status":"Normal","scheduled_deletion_at":null,"status":"unknown","role":"Storage","primary_ipv4":"95.231.106.4","created_at":null,"locked":false,"team":{"id":"team_L8E8kyLxxotB4WNL0Pnrhbla8NW","name":"472 Team","slug":"472-team","description":"472 Team","address":"992 Noe Neck, Lake Germanberg, FL 06343","status":"verified","currency":{"id":"cur_AW6Q2D9lqKLpr","code":"BRL","name":"Brazilian Real","currency_id":null}},"project":{"id":"proj_aNmodjQZObE8W","name":"Enormous Marble Clock","slug":"enormous-marble-clock","description":"Synergistic Granite Gloves","billing_type":"Normal","billing_method":"Normal","bandwidth_alert":false,"environment":null,"billing":{"subscription_id":"sub_qmelg7r2lao5z3","type":"Normal","method":"Normal"},"stats":{"databases":0,"ip_addresses":0,"prefixes":0,"servers":1,"storages":0,"virtual_machines":0,"vlans":0}},"region":{"city":"Sydney 134","country":"Australia 149","site":{"id":"loc_kjQwdEmXdYNVP","name":"Sydney 134","slug":"SYD115","facility":"Sydney 134"}}}}}}},"schema":{"$ref":"#/components/schemas/server"}}}}}, "x-speakeasy-name-override": "unlock", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "from latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.servers.unlock(server_id=\"sv_e8pKq0xYqWAob\")\n\n # Handle response\n print(res)" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.Servers.Unlock(ctx, \"sv_e8pKq0xYqWAob\")\n if err != nil {\n log.Fatal(err)\n }\n if res.Server != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.servers.unlock({\n serverId: \"sv_e8pKq0xYqWAob\",\n });\n\n console.log(result);\n}\n\nrun();" } ] }}, "/servers/{server_id}/out_of_band_connection": { "post": { "summary": "Create out-of-band connection", "operationId": "create-server-out-of-band", "tags": ["Servers"], "security": [{"Bearer":[]}], "parameters": [{"name":"server_id","in":"path","required":true,"examples":{"Created":{"value":"sv_8NkvdyGKDeLpx"}},"schema":{"type":"string"}}], "x-mint": {"href":"/api-reference/create-server-out-of-band"}, "responses": {"201":{"description":"Created","content":{"application/vnd.api+json":{"examples":{"Created":{"value":{"data":{"id":"obc_mw49QDB5qagKb","type":"out_of_band","attributes":{"ssh_key":{"id":"ssh_3YjJOLMydvZ87","description":"wisozk-gislason.example","fingerprint":"14:e2:8e:b3:9e:f5:08:31:b6:c7:43:6d:f5:1e:6d:b2"},"created_at":"2026-01-14T15:56:58+00:00","username":"server-1","credentials":{"user":"donn","password":"398ig362ci"},"port":"2222","access_ip":"189.1.2.0","server_id":"sv_8NkvdyGKDeLpx","status":"connected"}},"meta":{}}}},"schema":{"$ref":"#/components/schemas/out_of_band_connection"}}}}}, "requestBody": {"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["out_of_band"]},"attributes":{"type":"object","properties":{"ssh_key_id":{"type":"string","description":"SSH Key ID to set for out of band"}}}},"required":["type"]}},"required":["data"]},"examples":{"Created":{"summary":"Created","value":{"data":{"type":"out_of_band","attributes":{"ssh_key_id":"ssh_3YjJOLMydvZ87"}}}}}},"application/vnd.api+json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["out_of_band"]},"attributes":{"type":"object","properties":{"ssh_key_id":{"type":"string","description":"SSH Key ID to set for out of band"}}}},"required":["type"]}},"required":["data"]},"examples":{"Created":{"summary":"Created","value":{"data":{"type":"out_of_band","attributes":{"ssh_key_id":"ssh_3YjJOLMydvZ87"}}}}}}},"required":true}, "x-speakeasy-name-override": "startOutOfBandConnection", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "import latitudesh_python_sdk\nfrom latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.servers.create_out_of_band_connection(server_id=\"sv_8NkvdyGKDeLpx\", data={\n \"type\": latitudesh_python_sdk.CreateServerOutOfBandServersType.OUT_OF_BAND,\n \"attributes\": {\n \"ssh_key_id\": \"ssh_3YjJOLMydvZ87\",\n },\n })\n\n # Handle response\n print(res)" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"github.com/latitudesh/latitudesh-go-sdk/models/operations\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.Servers.StartOutOfBandConnection(ctx, \"sv_8NkvdyGKDeLpx\", operations.CreateServerOutOfBandServersRequestBody{\n Data: operations.CreateServerOutOfBandServersData{\n Type: operations.CreateServerOutOfBandServersTypeOutOfBand,\n Attributes: &operations.CreateServerOutOfBandServersAttributes{\n SSHKeyID: latitudeshgosdk.Pointer(\"ssh_3YjJOLMydvZ87\"),\n },\n },\n })\n if err != nil {\n log.Fatal(err)\n }\n if res.OutOfBandConnection != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.servers.startOutOfBandConnection({\n serverId: \"sv_8NkvdyGKDeLpx\",\n requestBody: {\n data: {\n type: \"out_of_band\",\n attributes: {\n sshKeyId: \"ssh_3YjJOLMydvZ87\",\n },\n },\n },\n });\n\n console.log(result);\n}\n\nrun();" } ] }, "get": { "summary": "List out-of-band connections", "operationId": "get-server-out-of-band", "tags": ["Servers"], "security": [{"Bearer":[]}], "parameters": [{"name":"server_id","in":"path","description":"The Server ID","required":true,"examples":{"Success":{"value":"sv_GnzRD5lvqM5yw"}},"schema":{"type":"string"}}], "x-mint": {"href":"/api-reference/get-server-out-of-band"}, "responses": {"200":{"description":"Success","content":{"application/vnd.api+json":{"examples":{"Success":{"value":{"data":{"id":"obc_AW6Q2D9lqKLpr","type":"out_of_band","attributes":{"ssh_key":{"id":"ssh_Gr47qlNMOAg0m","description":"raynor-dubuque.example","fingerprint":"d5:d6:ac:44:54:1a:d9:c3:0a:1e:c6:2a:9b:66:d5:90"},"created_at":"2026-01-14T15:56:58+00:00","username":"server-1","credentials":{"user":"vonda_littel","password":"8i97d81tjq"},"port":"2222","access_ip":"189.1.2.0","server_id":"sv_GnzRD5lvqM5yw","status":"connected"}},"meta":{}}}},"schema":{"$ref":"#/components/schemas/out_of_band_connection"}}}}}, "x-speakeasy-name-override": "getOutOfBand", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "from latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.servers.list_out_of_band_connections(server_id=\"sv_GnzRD5lvqM5yw\")\n\n # Handle response\n print(res)" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.Servers.GetOutOfBand(ctx, \"sv_GnzRD5lvqM5yw\")\n if err != nil {\n log.Fatal(err)\n }\n if res.OutOfBandConnection != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.servers.getOutOfBand({\n serverId: \"sv_GnzRD5lvqM5yw\",\n });\n\n console.log(result);\n}\n\nrun();" } ] } }, "/servers/{server_id}/actions": {"post":{ "summary": "Run power action", "operationId": "create-server-action", "tags": ["Servers"], "security": [{"Bearer":[]}], "parameters": [{"name":"server_id","in":"path","required":true,"examples":{"Created":{"value":"sv_WVQJDMVBORbyE"}},"schema":{"type":"string"}}], "description": "Performs an action on a given server:\n- `power_on`\n- `power_off`\n- `reboot`\n", "x-mint": {"href":"/api-reference/create-server-action"}, "responses": {"201":{"description":"Created","content":{"application/vnd.api+json":{"examples":{"Created":{"value":{"data":{"id":"act_73qkbw0QmjdaJ","type":"actions","attributes":{"status":"Rebooting device"}},"meta":{}}}},"schema":{"$ref":"#/components/schemas/server_action"}}}}}, "requestBody": {"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["actions"]},"attributes":{"type":"object","properties":{"action":{"type":"string","description":"The action to perform on the server","enum":["power_on","power_off","reboot"]}},"required":["action"]}},"required":["type"]}},"required":["data"]},"examples":{"Created":{"summary":"Created","value":{"data":{"type":"actions","attributes":{"action":"reboot"}}}}}},"application/vnd.api+json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["actions"]},"attributes":{"type":"object","properties":{"action":{"type":"string","description":"The action to perform on the server","enum":["power_on","power_off","reboot"]}},"required":["action"]}},"required":["type"]}},"required":["data"]},"examples":{"Created":{"summary":"Created","value":{"data":{"type":"actions","attributes":{"action":"reboot"}}}}}}},"required":true}, "x-speakeasy-name-override": "runAction", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "import latitudesh_python_sdk\nfrom latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.servers.actions(server_id=\"sv_WVQJDMVBORbyE\", data={\n \"type\": latitudesh_python_sdk.CreateServerActionServersType.ACTIONS,\n \"attributes\": {\n \"action\": latitudesh_python_sdk.CreateServerActionAction.REBOOT,\n },\n })\n\n # Handle response\n print(res)" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"github.com/latitudesh/latitudesh-go-sdk/models/operations\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.Servers.RunAction(ctx, \"sv_WVQJDMVBORbyE\", operations.CreateServerActionServersRequestBody{\n Data: operations.CreateServerActionServersData{\n Type: operations.CreateServerActionServersTypeActions,\n Attributes: &operations.CreateServerActionServersAttributes{\n Action: operations.CreateServerActionActionReboot,\n },\n },\n })\n if err != nil {\n log.Fatal(err)\n }\n if res.ServerAction != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.servers.runAction({\n serverId: \"sv_WVQJDMVBORbyE\",\n requestBody: {\n data: {\n type: \"actions\",\n attributes: {\n action: \"reboot\",\n },\n },\n },\n });\n\n console.log(result);\n}\n\nrun();" } ] }}, "/servers/{server_id}/remote_access": {"post":{ "summary": "Create IPMI credentials", "operationId": "create-ipmi-session", "tags": ["Servers"], "security": [{"Bearer":[]}], "parameters": [{"name":"server_id","in":"path","required":true,"examples":{"Created":{"value":"sv_Qkm7dXaRq8nZV"}},"schema":{"type":"string"}}], "description": "Generates IPMI credentials for a given server. Remote access creates a VPN connection to the internal network of your server so you can connect to its IPMI.\nYou will have to use a VPN client such as https://openvpn.net to connect. See `VPN Sessions` API to create a VPN connection.\n\nRelated guide: https://docs.latitude.sh/docs/ipmi\n", "x-mint": {"href":"/api-reference/create-ipmi-session"}, "responses": {"201":{"description":"Created","content":{"application/vnd.api+json":{"examples":{"Created":{"value":{"data":{"id":"ipmi_mw49QDB5qagKb","type":"ipmi_sessions","attributes":{"ipmi_address":"10.0.10.1","ipmi_url":null,"ipmi_username":"customer_access","ipmi_password":"ipmi_password"}}}}},"schema":{"$ref":"#/components/schemas/ipmi_session"}}}}}, "x-speakeasy-name-override": "createIpmiSession", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "from latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.servers.create_ipmi_session(server_id=\"sv_Qkm7dXaRq8nZV\")\n\n # Handle response\n print(res)" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.Servers.CreateIpmiSession(ctx, \"sv_Qkm7dXaRq8nZV\")\n if err != nil {\n log.Fatal(err)\n }\n if res.IpmiSession != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.servers.createIpmiSession({\n serverId: \"sv_Qkm7dXaRq8nZV\",\n });\n\n console.log(result);\n}\n\nrun();" } ] }}, "/servers/{server_id}/rescue_mode": {"post":{ "summary": "Put server in rescue mode", "operationId": "server-start-rescue-mode", "tags": ["Servers"], "security": [{"Bearer":[]}], "parameters": [{"name":"server_id","in":"path","required":true,"examples":{"Created":{"value":"sv_WeGoqAWNOP7nz"}},"schema":{"type":"string"}}], "description": "Starts rescue mode on a given server.", "x-mint": {"href":"/api-reference/server-start-rescue-mode"}, "responses": {"201":{"description":"Created","content":{"application/vnd.api+json":{"examples":{"Created":{"value":{"meta":{}}}},"schema":{"$ref":"#/components/schemas/server_rescue"}}}}}, "x-speakeasy-name-override": "startRescueMode", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "from latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.servers.start_rescue_mode(server_id=\"sv_WeGoqAWNOP7nz\")\n\n # Handle response\n print(res)" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.Servers.StartRescueMode(ctx, \"sv_WeGoqAWNOP7nz\")\n if err != nil {\n log.Fatal(err)\n }\n if res.ServerRescue != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.servers.startRescueMode({\n serverId: \"sv_WeGoqAWNOP7nz\",\n });\n\n console.log(result);\n}\n\nrun();" } ] }}, "/servers/{server_id}/exit_rescue_mode": {"post":{ "summary": "Exits rescue mode", "operationId": "server-exit-rescue-mode", "tags": ["Servers"], "security": [{"Bearer":[]}], "parameters": [{"name":"server_id","in":"path","required":true,"examples":{"Success":{"value":"sv_3YjJOLQNdvZ87"}},"schema":{"type":"string"}}], "description": "Exits rescue mode on a given server.", "x-mint": {"href":"/api-reference/server-exit-rescue-mode"}, "responses": {"200":{"description":"Success","content":{"application/vnd.api+json":{"examples":{"Success":{"value":{"meta":{}}}},"schema":{"$ref":"#/components/schemas/server_rescue"}}}}}, "x-speakeasy-name-override": "exitRescueMode", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "from latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.servers.exit_rescue_mode(server_id=\"sv_3YjJOLQNdvZ87\")\n\n # Handle response\n print(res)" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.Servers.ExitRescueMode(ctx, \"sv_3YjJOLQNdvZ87\")\n if err != nil {\n log.Fatal(err)\n }\n if res.ServerRescue != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.servers.exitRescueMode({\n serverId: \"sv_3YjJOLQNdvZ87\",\n });\n\n console.log(result);\n}\n\nrun();" } ] }}, "/servers/{server_id}/schedule_deletion": { "post": { "summary": "Schedule server deletion", "operationId": "server-schedule-deletion", "tags": ["Servers"], "security": [{"Bearer":[]}], "parameters": [{"name":"server_id","in":"path","required":true,"examples":{"Created":{"value":"sv_g1mbDwBZqLv5B"}},"schema":{"type":"string"}}], "description": "Schedules the server to be removed at the end of the billing cycle.", "x-mint": {"href":"/api-reference/server-schedule-deletion"}, "responses": {"201":{"description":"Created","content":{"application/vnd.api+json":{"examples":{"Created":{"value":{"data":{"id":"sv_g1mbDwBZqLv5B","type":"schedule_deletion","attributes":{"server_id":"sv_g1mbDwBZqLv5B","scheduled_deletion_at":"2026-02-14T09:57:01Z"}},"meta":{}}}},"schema":{"$ref":"#/components/schemas/server_schedule_deletion"}}}}}, "x-speakeasy-name-override": "scheduleDeletion", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "from latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.servers.schedule_deletion(server_id=\"sv_g1mbDwBZqLv5B\")\n\n # Handle response\n print(res)" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.Servers.ScheduleDeletion(ctx, \"sv_g1mbDwBZqLv5B\")\n if err != nil {\n log.Fatal(err)\n }\n if res.ServerScheduleDeletion != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.servers.scheduleDeletion({\n serverId: \"sv_g1mbDwBZqLv5B\",\n });\n\n console.log(result);\n}\n\nrun();" } ] }, "delete": { "summary": "Unschedule server deletion", "operationId": "server-unschedule-deletion", "tags": ["Servers"], "security": [{"Bearer":[]}], "parameters": [{"name":"server_id","in":"path","required":true,"schema":{"type":"string"}}], "description": "Unschedules the server removal at the end of the billing cycle.", "x-mint": {"href":"/api-reference/server-unschedule-deletion"}, "responses": {"204":{"description":"No Content"}}, "x-speakeasy-name-override": "unscheduleDeletion", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "from latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n latitudesh.servers.unschedule_deletion(server_id=\"sv_Z8rodmJGq1jLB\")\n\n # Use the SDK ..." }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.Servers.UnscheduleDeletion(ctx, \"sv_Z8rodmJGq1jLB\")\n if err != nil {\n log.Fatal(err)\n }\n if res != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n await latitudesh.servers.unscheduleDeletion({\n serverId: \"\",\n });\n\n\n}\n\nrun();" } ] } }, "/servers/{server_id}/reinstall": {"post":{ "summary": "Run Server Reinstall", "operationId": "create-server-reinstall", "tags": ["Servers"], "security": [{"Bearer":[]}], "parameters": [{"name":"server_id","in":"path","required":true,"examples":{"Created":{"value":"sv_aNmodj6ydbE8W"}},"schema":{"type":"string"}}], "x-mint": {"href":"/api-reference/create-server-reinstall"}, "responses": {"201":{"description":"Created","content":{"application/vnd.api+json":{"examples":{"Created":{"value":{}}}}}},"404":{"description":"Not Found","content":{"application/vnd.api+json":{"examples":{"ServerNotFound":{"value":{"errors":[{"code":"REINSTALL_SERVER_NOT_FOUND","title":"Reinstall Server Not Found","detail":"Sorry, we're unable to reinstall","status":"404"}]}}},"schema":{"$ref":"#/components/schemas/error_object"}}}},"422":{"description":"Unprocessable Entity","content":{"application/vnd.api+json":{"examples":{"ReinstallUnavailable":{"value":{"errors":[{"code":"REINSTALL_UNAVAILABLE","title":"Reinstall Unavailable","detail":"Your server has outdated hardware information and is unable to reinstall. Please contact support for assistance.","status":"422"}]}},"ServerBeingProvisioned":{"value":{"errors":[{"code":"SERVER_BEING_PROVISIONED","title":"Unable to reinstall","detail":"Server is being provisioned","status":"422"}]}},"ServerInRescueMode":{"value":{"errors":[{"code":"SERVER_IN_RESCUE_MODE","title":"Server in Rescue Mode","detail":"Server is in rescue mode and cannot be reinstalled","status":"422"}]}},"NetworkConfigError":{"value":{"errors":[{"code":"NETWORK_CONFIG_ERROR","title":"Network Config Error","detail":"Failed to reinstall due to invalid network config on the server.","status":"422"}]}},"ReinstallServerFailure":{"value":{"errors":[{"code":"REINSTALL_SERVER_FAILURE","title":"Reinstall Server Failure","detail":"Failed to reinstall server","status":"422"}]}}},"schema":{"$ref":"#/components/schemas/error_object"}}}}}, "requestBody": {"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["reinstalls"]},"attributes":{"type":"object","properties":{"operating_system":{"type":"string","description":"The OS selected for the reinstall process","enum":["centos_7_4_x64","centos_8_x64","debian_10","debian_11","debian_12","ipxe","rhel8","rockylinux_8","ubuntu22_ml_in_a_box","ubuntu24_ml_in_a_box","ubuntu_20_04_x64_lts","ubuntu_22_04_x64_lts","ubuntu_24_04_x64_lts","windows_2022_std","windows_server_2019_std_v1"]},"hostname":{"type":"string","description":"The server hostname to set upon reinstall"},"partitions":{"type":"array","nullable":true,"items":{"type":"object","properties":{"size_in_gb":{"type":"integer"},"path":{"type":"string"},"filesystem_type":{"type":"string"}}}},"ssh_keys":{"type":"array","description":"SSH Key IDs to set upon reinstall","items":{"type":"string"},"nullable":true},"user_data":{"type":"string","description":"User data ID to set upon reinstall","nullable":true},"raid":{"type":"string","description":"RAID mode for the server. Set to 'raid-0' for RAID 0, 'raid-1' for RAID 1, or omit/null for no RAID configuration","enum":["raid-0","raid-1"],"nullable":true},"ipxe":{"type":"string","description":"URL where iPXE script is stored on, OR the iPXE script encoded in base64. This attribute is required when operating system iPXE is selected.","nullable":true}}}},"required":["type"]}},"required":["data"]},"examples":{"Created":{"summary":"Created","value":{"data":{"type":"reinstalls","attributes":{"operating_system":"ipxe","ipxe":"https://some-host.com/image.ipxe","hostname":"BRC1"}}}}}},"application/vnd.api+json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["reinstalls"]},"attributes":{"type":"object","properties":{"operating_system":{"type":"string","description":"The OS selected for the reinstall process","enum":["centos_7_4_x64","centos_8_x64","debian_10","debian_11","debian_12","ipxe","rhel8","rockylinux_8","ubuntu22_ml_in_a_box","ubuntu24_ml_in_a_box","ubuntu_20_04_x64_lts","ubuntu_22_04_x64_lts","ubuntu_24_04_x64_lts","windows_2022_std","windows_server_2019_std_v1"]},"hostname":{"type":"string","description":"The server hostname to set upon reinstall"},"partitions":{"type":"array","nullable":true,"items":{"type":"object","properties":{"size_in_gb":{"type":"integer"},"path":{"type":"string"},"filesystem_type":{"type":"string"}}}},"ssh_keys":{"type":"array","description":"SSH Key IDs to set upon reinstall","items":{"type":"string"},"nullable":true},"user_data":{"type":"string","description":"User data ID to set upon reinstall","nullable":true},"raid":{"type":"string","description":"RAID mode for the server. Set to 'raid-0' for RAID 0, 'raid-1' for RAID 1, or omit/null for no RAID configuration","enum":["raid-0","raid-1"],"nullable":true},"ipxe":{"type":"string","description":"URL where iPXE script is stored on, OR the iPXE script encoded in base64. This attribute is required when operating system iPXE is selected.","nullable":true}}}},"required":["type"]}},"required":["data"]},"examples":{"Created":{"summary":"Created","value":{"data":{"type":"reinstalls","attributes":{"operating_system":"ipxe","ipxe":"https://some-host.com/image.ipxe","hostname":"BRC1"}}}}}}},"required":true}, "x-speakeasy-name-override": "reinstall", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "import latitudesh_python_sdk\nfrom latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n latitudesh.servers.reinstall(server_id=\"sv_aNmodj6ydbE8W\", data={\n \"type\": latitudesh_python_sdk.CreateServerReinstallServersType.REINSTALLS,\n \"attributes\": {\n \"operating_system\": latitudesh_python_sdk.CreateServerReinstallServersOperatingSystem.IPXE,\n \"hostname\": \"BRC1\",\n \"ipxe\": \"https://some-host.com/image.ipxe\",\n },\n })\n\n # Use the SDK ..." }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"github.com/latitudesh/latitudesh-go-sdk/models/operations\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.Servers.Reinstall(ctx, \"sv_aNmodj6ydbE8W\", operations.CreateServerReinstallServersRequestBody{\n Data: operations.CreateServerReinstallServersData{\n Type: operations.CreateServerReinstallServersTypeReinstalls,\n Attributes: &operations.CreateServerReinstallServersAttributes{\n OperatingSystem: operations.CreateServerReinstallServersOperatingSystemIpxe.ToPointer(),\n Hostname: latitudeshgosdk.Pointer(\"BRC1\"),\n Ipxe: latitudeshgosdk.Pointer(\"https://some-host.com/image.ipxe\"),\n },\n },\n })\n if err != nil {\n log.Fatal(err)\n }\n if res != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n await latitudesh.servers.reinstall({\n serverId: \"sv_aNmodj6ydbE8W\",\n requestBody: {\n data: {\n type: \"reinstalls\",\n attributes: {\n operatingSystem: \"ipxe\",\n hostname: \"BRC1\",\n ipxe: \"https://some-host.com/image.ipxe\",\n },\n },\n },\n });\n\n\n}\n\nrun();" } ] }}, "/ssh_keys": { "get": { "summary": "List SSH Keys", "operationId": "get-ssh-keys", "tags": ["SSH Keys"], "security": [{"Bearer":[]}], "parameters": [{"name":"filter[project]","in":"query","required":false,"description":"Project ID or slug","schema":{"type":"string"}}, {"name":"filter[scope]","in":"query","required":false,"description":"Filter by scope: `project` (has projects), `team` (no projects), or empty (all)","schema":{"type":"string"}}, {"name":"filter[tags]","in":"query","required":false,"description":"The tags ids to filter by, separated by comma, e.g. `filter[tags]=tag_1,tag_2`will return ssh keys with `tag_1` AND `tag_2`","examples":{"Success":{"value":"tag_A06EMPEmKXhKBNKgWrv0CRZMN5a,tag_P7xlGZzYNZF4w3YXRrYMU7AjQEAX"}},"schema":{"type":"string"}}], "description": "List all SSH Keys in the project. These keys can be used to access servers after deploy and reinstall actions.\n", "x-mint": {"href":"/api-reference/get-ssh-keys"}, "responses": {"200":{"description":"Success","content":{"application/vnd.api+json":{"examples":{"Success":{"value":{"data":[{"id":"ssh_VE1Wd3L7qXnZJ","type":"ssh_keys","attributes":{"tags":[],"name":"quigley-hudson.example","public_key":"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCuDo1r0gQTdX/8l4Ko7ZAYJLimzA1+eom99SFnMKwZmGVubhsnvQ8sCJAqjn1gO66+RrDwrWb+iqM7vlQlodiMr9VTOCxDke9MhW5peRP94vKyptquzJW8J+Y3qNcM774bOrQXpQMo92i5d4ffPYmEoifxVYEhmZrM2Yxr3zqLW0cs446RvCDRLTyGAhte6F9i1Qz95U4WqVkJ9Y5A/cSwJ1W17lK+e8ZMpjkrZXUL0gYGylM7BJRf+R6XOnXAdBEW1Dr8QN+s8ai4m5Y0htwPqTfL5/rGiVrES+QnDUJDe5mtpa3v51geAzgXTFtw3JCGpGyUbv0kITvFJBwNMvUz","fingerprint":"a5:3b:97:0c:b5:2a:a1:6d:e4:93:2f:9d:5f:a6:0e:28","created_at":"2026-01-14T15:57:04+00:00","updated_at":"2026-01-14T15:57:04+00:00","project":{},"user":{"id":"user_Xjm6jLAYleIy8YRwoMyLCBbXypG","first_name":"Lashawna","last_name":"Wuckert","email":"shawnee_runolfsdottir@olson-gulgowski.test","created_at":"2025-10-16T00:00:00.000Z","updated_at":"2025-04-04T00:00:00.000Z","role":{"id":"role_5QB3mJAbazs5MbgR5RkLFro6YVY","name":"owner","created_at":"2025-12-23T00:00:00.000Z","updated_at":"2026-11-24T00:00:00.000Z"}}}}],"meta":{}}}},"schema":{"$ref":"#/components/schemas/ssh_keys"}}}}}, "x-speakeasy-group": "sshKeys", "x-speakeasy-name-override": "listAll", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "from latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.ssh_keys.get_ssh_keys(filter_tags=\"tag_A06EMPEmKXhKBNKgWrv0CRZMN5a,tag_P7xlGZzYNZF4w3YXRrYMU7AjQEAX\")\n\n # Handle response\n print(res)" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.SSHKeys.ListAll(ctx, nil, nil, latitudeshgosdk.Pointer(\"tag_A06EMPEmKXhKBNKgWrv0CRZMN5a,tag_P7xlGZzYNZF4w3YXRrYMU7AjQEAX\"))\n if err != nil {\n log.Fatal(err)\n }\n if res.SSHKeys != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.sshKeys.listAll({\n filterTags: \"tag_A06EMPEmKXhKBNKgWrv0CRZMN5a,tag_P7xlGZzYNZF4w3YXRrYMU7AjQEAX\",\n });\n\n console.log(result);\n}\n\nrun();" } ] }, "post": { "summary": "Create SSH Key", "operationId": "post-ssh-key", "tags": ["SSH Keys"], "security": [{"Bearer":[]}], "parameters": [], "description": "Allows you create SSH Keys. These keys can be used to access servers after deploy and reinstall actions.\n", "x-mint": {"href":"/api-reference/post-ssh-key"}, "responses": {"201":{"description":"Created","content":{"application/vnd.api+json":{"examples":{"Created":{"value":{"data":{"id":"ssh_QraYDPweqpjwW","type":"ssh_keys","attributes":{"tags":[],"name":"SSH Key","public_key":"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDOLFnjGP3Jsh1usHNS2EILgfqZNC9pOvNqBZqxH+qNAdZdQCzy2csMuiq+ZwLA8Mm4Vo5CvSgBHs/kuZRUKyTl+79YUMZIj8PhHzL4XbdqX1ZnAIklHWcJaveB0+UXLEPKGzFIFq+FkuwtiXQsVe5NnSpIDYgpzhqEs38NsnXvsubKphGUdARDhaxvMdUUl4YsAtLHKMzSyIvE6xwfTtIVwA9bZt/8GoBzrn9px9PEcf25Rgd2NhOYs3WYcZuwvRmfcFdi2vGhVqTPqL9n16R/n5jknxHYrTyqWNxJdpdvg2YqXpN7vnFNoOjYFD6EahJ0pF/+WL4tPCIkLfoaVaSx","fingerprint":"0a:00:34:53:51:0e:a5:4e:06:2c:d7:16:88:96:82:f3","created_at":"2026-01-14T15:57:05+00:00","updated_at":"2026-01-14T15:57:05+00:00","project":{"id":"proj_z2A3DV4wdnawP","name":"Ergonomic Cotton Gloves","slug":"ergonomic-cotton-gloves","description":"Small Concrete Bottle","provisioning_type":"on_demand","billing_type":"Normal","billing_method":"Normal","bandwidth_alert":false,"environment":null,"billing":{},"stats":{"databases":0,"ip_addresses":0,"prefixes":0,"servers":0,"storages":0,"virtual_machines":0,"vlans":0}},"user":{"id":"user_RJK9eae5KlTAKQoBReVKFGQRVJ7","first_name":"Meda","last_name":"Schowalter","email":"dana.lind@mayert-kreiger.test","created_at":"2025-04-25T00:00:00.000Z","updated_at":"2025-07-21T00:00:00.000Z","role":{"id":"role_AzG5AagWN1fKg1okmoG9uWWoN5my","name":"owner","created_at":"2025-05-15T00:00:00.000Z","updated_at":"2026-12-02T00:00:00.000Z"}}}},"meta":{}}}},"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ssh_key_data"}}}}}}}, "requestBody": {"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["ssh_keys"]},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"Name of the SSH Key"},"project":{"type":"string","description":"Project ID or slug"},"public_key":{"type":"string","description":"SSH Public Key"}}}},"required":["type"]}},"required":["data"]},"examples":{"Created":{"summary":"Created","value":{"data":{"type":"ssh_keys","attributes":{"name":"SSH Key","public_key":"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDOLFnjGP3Jsh1usHNS2EILgfqZNC9pOvNqBZqxH+qNAdZdQCzy2csMuiq+ZwLA8Mm4Vo5CvSgBHs/kuZRUKyTl+79YUMZIj8PhHzL4XbdqX1ZnAIklHWcJaveB0+UXLEPKGzFIFq+FkuwtiXQsVe5NnSpIDYgpzhqEs38NsnXvsubKphGUdARDhaxvMdUUl4YsAtLHKMzSyIvE6xwfTtIVwA9bZt/8GoBzrn9px9PEcf25Rgd2NhOYs3WYcZuwvRmfcFdi2vGhVqTPqL9n16R/n5jknxHYrTyqWNxJdpdvg2YqXpN7vnFNoOjYFD6EahJ0pF/+WL4tPCIkLfoaVaSx","project":"proj_z2A3DV4wdnawP"}}}}}},"application/vnd.api+json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["ssh_keys"]},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"Name of the SSH Key"},"project":{"type":"string","description":"Project ID or slug"},"public_key":{"type":"string","description":"SSH Public Key"}}}},"required":["type"]}},"required":["data"]},"examples":{"Created":{"summary":"Created","value":{"data":{"type":"ssh_keys","attributes":{"name":"SSH Key","public_key":"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDOLFnjGP3Jsh1usHNS2EILgfqZNC9pOvNqBZqxH+qNAdZdQCzy2csMuiq+ZwLA8Mm4Vo5CvSgBHs/kuZRUKyTl+79YUMZIj8PhHzL4XbdqX1ZnAIklHWcJaveB0+UXLEPKGzFIFq+FkuwtiXQsVe5NnSpIDYgpzhqEs38NsnXvsubKphGUdARDhaxvMdUUl4YsAtLHKMzSyIvE6xwfTtIVwA9bZt/8GoBzrn9px9PEcf25Rgd2NhOYs3WYcZuwvRmfcFdi2vGhVqTPqL9n16R/n5jknxHYrTyqWNxJdpdvg2YqXpN7vnFNoOjYFD6EahJ0pF/+WL4tPCIkLfoaVaSx","project":"proj_z2A3DV4wdnawP"}}}}}}},"required":true}, "x-speakeasy-group": "sshKeys", "x-speakeasy-name-override": "create", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "import latitudesh_python_sdk\nfrom latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.ssh_keys.post_ssh_key(data={\n \"type\": latitudesh_python_sdk.PostSSHKeySSHKeysType.SSH_KEYS,\n \"attributes\": {\n \"name\": \"SSH Key\",\n \"project\": \"proj_z2A3DV4wdnawP\",\n \"public_key\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDOLFnjGP3Jsh1usHNS2EILgfqZNC9pOvNqBZqxH+qNAdZdQCzy2csMuiq+ZwLA8Mm4Vo5CvSgBHs/kuZRUKyTl+79YUMZIj8PhHzL4XbdqX1ZnAIklHWcJaveB0+UXLEPKGzFIFq+FkuwtiXQsVe5NnSpIDYgpzhqEs38NsnXvsubKphGUdARDhaxvMdUUl4YsAtLHKMzSyIvE6xwfTtIVwA9bZt/8GoBzrn9px9PEcf25Rgd2NhOYs3WYcZuwvRmfcFdi2vGhVqTPqL9n16R/n5jknxHYrTyqWNxJdpdvg2YqXpN7vnFNoOjYFD6EahJ0pF/+WL4tPCIkLfoaVaSx\",\n },\n })\n\n # Handle response\n print(res)" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"github.com/latitudesh/latitudesh-go-sdk/models/operations\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.SSHKeys.Create(ctx, operations.PostSSHKeySSHKeysRequestBody{\n Data: operations.PostSSHKeySSHKeysData{\n Type: operations.PostSSHKeySSHKeysTypeSSHKeys,\n Attributes: &operations.PostSSHKeySSHKeysAttributes{\n Name: latitudeshgosdk.Pointer(\"SSH Key\"),\n Project: latitudeshgosdk.Pointer(\"proj_z2A3DV4wdnawP\"),\n PublicKey: latitudeshgosdk.Pointer(\"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDOLFnjGP3Jsh1usHNS2EILgfqZNC9pOvNqBZqxH+qNAdZdQCzy2csMuiq+ZwLA8Mm4Vo5CvSgBHs/kuZRUKyTl+79YUMZIj8PhHzL4XbdqX1ZnAIklHWcJaveB0+UXLEPKGzFIFq+FkuwtiXQsVe5NnSpIDYgpzhqEs38NsnXvsubKphGUdARDhaxvMdUUl4YsAtLHKMzSyIvE6xwfTtIVwA9bZt/8GoBzrn9px9PEcf25Rgd2NhOYs3WYcZuwvRmfcFdi2vGhVqTPqL9n16R/n5jknxHYrTyqWNxJdpdvg2YqXpN7vnFNoOjYFD6EahJ0pF/+WL4tPCIkLfoaVaSx\"),\n },\n },\n })\n if err != nil {\n log.Fatal(err)\n }\n if res.Object != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.sshKeys.create({\n data: {\n type: \"ssh_keys\",\n attributes: {\n name: \"SSH Key\",\n project: \"proj_z2A3DV4wdnawP\",\n publicKey: \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDOLFnjGP3Jsh1usHNS2EILgfqZNC9pOvNqBZqxH+qNAdZdQCzy2csMuiq+ZwLA8Mm4Vo5CvSgBHs/kuZRUKyTl+79YUMZIj8PhHzL4XbdqX1ZnAIklHWcJaveB0+UXLEPKGzFIFq+FkuwtiXQsVe5NnSpIDYgpzhqEs38NsnXvsubKphGUdARDhaxvMdUUl4YsAtLHKMzSyIvE6xwfTtIVwA9bZt/8GoBzrn9px9PEcf25Rgd2NhOYs3WYcZuwvRmfcFdi2vGhVqTPqL9n16R/n5jknxHYrTyqWNxJdpdvg2YqXpN7vnFNoOjYFD6EahJ0pF/+WL4tPCIkLfoaVaSx\",\n },\n },\n });\n\n console.log(result);\n}\n\nrun();" } ] } }, "/ssh_keys/{ssh_key_id}": { "get": { "summary": "Retrieve SSH Key", "operationId": "get-ssh-key", "tags": ["SSH Keys"], "security": [{"Bearer":[]}], "parameters": [{"name":"ssh_key_id","in":"path","required":true,"examples":{"Success":{"value":"ssh_LYV8DZ12q5QoE"}},"schema":{"type":"string"}}], "description": "List all SSH Keys in the project. These keys can be used to access servers after deploy and reinstall actions.\n", "x-mint": {"href":"/api-reference/get-ssh-key"}, "responses": {"200":{"description":"Success","content":{"application/vnd.api+json":{"examples":{"Success":{"value":{"data":{"id":"ssh_LYV8DZ12q5QoE","type":"ssh_keys","attributes":{"tags":[],"name":"okon.test","public_key":"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDbsRT5a6prybLLxm/7kojvMNCCQ2UIM9/7UaxhOWYM8om+3IwB1EMQEyiNrIJtmJ7OYUz1mb5cd2Ra0nl0GztBFbMiqsXOFj+yiAYXEObciMNg65QxUNIe3goOJBwXdhRp/n3uRk8VePSETMTtjfVMgAiY2/LLqLgpN0eYBaZN+E7/Z3VHjh53krElLex0oJaCfIrHYb4GvtdmbZiwUpqGOlg41/cMxyEV2E/KHHhQOHm1/xCCzPlTNsf26O+oiJCRuzFaYUctrr7XC/kN1H9oH2nYNKZmZHKLKKFOdhXAf7IzI6tagL4CHInysYWaMdJ8lyHGY9+wKeSrtQQmgNoR","fingerprint":"c8:8d:f7:d8:5d:4c:fe:d4:09:85:4f:04:91:e4:0e:9c","created_at":"2026-01-14T15:57:05+00:00","updated_at":"2026-01-14T15:57:05+00:00","project":{},"user":{"id":"user_0A9pmoYAB8Uy5bJ6EmLVI0nKkaa","first_name":"Jonelle","last_name":"Grady","email":"irina.miller@reilly.example","created_at":"2025-04-29T00:00:00.000Z","updated_at":"2025-06-08T00:00:00.000Z","role":{"id":"role_1KvABgXK63IKBM79NjvwU55yXNoW","name":"owner","created_at":"2025-02-28T00:00:00.000Z","updated_at":"2026-12-25T00:00:00.000Z"}}}},"meta":{}}}},"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ssh_key_data"}}}}}}}, "x-speakeasy-group": "sshKeys", "x-speakeasy-name-override": "retrieve", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "from latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.ssh_keys.get_ssh_key(ssh_key_id=\"ssh_LYV8DZ12q5QoE\")\n\n # Handle response\n print(res)" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.SSHKeys.Retrieve(ctx, \"ssh_LYV8DZ12q5QoE\")\n if err != nil {\n log.Fatal(err)\n }\n if res.Object != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.sshKeys.retrieve({\n sshKeyId: \"ssh_LYV8DZ12q5QoE\",\n });\n\n console.log(result);\n}\n\nrun();" } ] }, "patch": { "summary": "Update SSH Key", "operationId": "put-ssh-key", "tags": ["SSH Keys"], "security": [{"Bearer":[]}], "parameters": [{"name":"ssh_key_id","in":"path","required":true,"examples":{"Success":{"value":"ssh_GnzRD5xAqM5yw"}},"schema":{"type":"string"}}], "description": "Allows you update SSH Key in a project. These keys can be used to access servers after deploy and reinstall actions.\n", "x-mint": {"href":"/api-reference/put-ssh-key"}, "responses": {"200":{"description":"Success","content":{"application/vnd.api+json":{"examples":{"Success":{"value":{"data":{"id":"ssh_GnzRD5xAqM5yw","type":"ssh_keys","attributes":{"tags":[{"id":"tag_JLA906BzyKHLyVJbJr8NH3QQbev","name":"Elfstan Fairbairn","description":"Culpa fuga asperiores et.","color":"#3fd53f"}, {"id":"tag_Yy7PJ68y22FoQyBppnW7FjNGX1k","name":"Lindir","description":"Et voluptas sequi rerum.","color":"#172717"}],"name":"bradtke.example","public_key":"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCZzuE/2myrBWwvs5ayKE/p37nbhUWBpVfKjFA/6meaIFj3pKHv7lK3rZxOz/QnrUPsTS04kXVwvOG1Ms+ZQk7irHNzSWksKIFK8mPZWf9T6Pb2DbUduela1jUnmelVKPoiF6lUVnA8IayHbeRD5kaGS1zr35WzstNhUPXoab6QI9NSakvxUxciGitJ/nMWSJlfV3y48OQ1NE9iuqoSWomWc8/NEjk5x2uJcte2ZA336hjYHQxo9+DYhLq9jRcxw3RrzqkWFDuVT4SW82x5ERIZYUKZmywOwk8gCePNaUkzRU4G6qwADfpBovbicZ4+9WBpZsJ7vj8OqM35TdFS7ZjJ","fingerprint":"52:c8:05:f4:9b:f0:42:17:40:07:64:0d:33:12:9a:47","created_at":"2026-01-14T15:57:06+00:00","updated_at":"2026-01-14T15:57:06+00:00","project":{},"user":{"id":"user_yReEYZlaagFl4YmjMZ6GCpvwJJJb","first_name":"Gale","last_name":"Brown","email":"willa.wunsch@veum.example","created_at":"2025-02-17T00:00:00.000Z","updated_at":"2025-05-31T00:00:00.000Z","role":{"id":"role_bBeWeR8mBLuyLVoQwzNWcng2ekv","name":"owner","created_at":"2025-11-16T00:00:00.000Z","updated_at":"2026-06-05T00:00:00.000Z"}}}},"meta":{}}}},"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ssh_key_data"}}}}}}}, "requestBody": {"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","default":"ssh_81EVOtR1N4J2Z"},"type":{"type":"string","enum":["ssh_keys"]},"attributes":{"type":"object","properties":{"tags":{"type":"array","items":{"type":"string"},"default":[]},"name":{"type":"string","description":"Name of the SSH Key","default":"New SSH Key Name"}}}},"required":["id","type"]}},"required":["data"]},"examples":{"Success":{"summary":"Success","value":{"data":{"id":"ssh_GnzRD5xAqM5yw","type":"ssh_keys","attributes":{"tags":["tag_JLA906BzyKHLyVJbJr8NH3QQbev","tag_Yy7PJ68y22FoQyBppnW7FjNGX1k"]}}}}}},"application/vnd.api+json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","default":"ssh_81EVOtR1N4J2Z"},"type":{"type":"string","enum":["ssh_keys"]},"attributes":{"type":"object","properties":{"tags":{"type":"array","items":{"type":"string"},"default":[]},"name":{"type":"string","description":"Name of the SSH Key","default":"New SSH Key Name"}}}},"required":["id","type"]}},"required":["data"]},"examples":{"Success":{"summary":"Success","value":{"data":{"id":"ssh_GnzRD5xAqM5yw","type":"ssh_keys","attributes":{"tags":["tag_JLA906BzyKHLyVJbJr8NH3QQbev","tag_Yy7PJ68y22FoQyBppnW7FjNGX1k"]}}}}}}},"required":true}, "x-speakeasy-group": "sshKeys", "x-speakeasy-name-override": "update", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "import latitudesh_python_sdk\nfrom latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.ssh_keys.put_ssh_key(ssh_key_id=\"ssh_GnzRD5xAqM5yw\", data={\n \"id\": \"ssh_GnzRD5xAqM5yw\",\n \"type\": latitudesh_python_sdk.PutSSHKeySSHKeysType.SSH_KEYS,\n \"attributes\": {\n \"tags\": [\n \"tag_JLA906BzyKHLyVJbJr8NH3QQbev\",\n \"tag_Yy7PJ68y22FoQyBppnW7FjNGX1k\",\n ],\n },\n })\n\n # Handle response\n print(res)" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"github.com/latitudesh/latitudesh-go-sdk/models/operations\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.SSHKeys.Update(ctx, \"ssh_GnzRD5xAqM5yw\", operations.PutSSHKeySSHKeysRequestBody{\n Data: operations.PutSSHKeySSHKeysData{\n ID: latitudeshgosdk.Pointer(\"ssh_GnzRD5xAqM5yw\"),\n Type: operations.PutSSHKeySSHKeysTypeSSHKeys,\n Attributes: &operations.PutSSHKeySSHKeysAttributes{\n Tags: []string{\n \"tag_JLA906BzyKHLyVJbJr8NH3QQbev\",\n \"tag_Yy7PJ68y22FoQyBppnW7FjNGX1k\",\n },\n },\n },\n })\n if err != nil {\n log.Fatal(err)\n }\n if res.Object != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.sshKeys.update({\n sshKeyId: \"ssh_GnzRD5xAqM5yw\",\n requestBody: {\n data: {\n id: \"ssh_GnzRD5xAqM5yw\",\n type: \"ssh_keys\",\n attributes: {\n tags: [\n \"tag_JLA906BzyKHLyVJbJr8NH3QQbev\",\n \"tag_Yy7PJ68y22FoQyBppnW7FjNGX1k\",\n ],\n },\n },\n },\n });\n\n console.log(result);\n}\n\nrun();" } ] }, "delete": { "summary": "Delete SSH Key", "operationId": "delete-ssh-key", "tags": ["SSH Keys"], "security": [{"Bearer":[]}], "parameters": [{"name":"ssh_key_id","in":"path","required":true,"examples":{"Success":{"value":"ssh_KXgRdRa3Ov9k5"}},"schema":{"type":"string"}}], "description": "Allows you remove SSH Keys in a project. Remove a SSH Key from the project won't revoke the SSH Keys access for previously deploy and reinstall actions.\n", "x-mint": {"href":"/api-reference/delete-ssh-key"}, "responses": {"200":{"description":"Success","content":{"application/vnd.api+json":{"examples":{"Success":{"value":{"meta":{}}}}}}}}, "x-speakeasy-group": "sshKeys", "x-speakeasy-name-override": "delete", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "from latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n latitudesh.ssh_keys.delete_ssh_key(ssh_key_id=\"ssh_KXgRdRa3Ov9k5\")\n\n # Use the SDK ..." }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.SSHKeys.Delete(ctx, \"ssh_KXgRdRa3Ov9k5\")\n if err != nil {\n log.Fatal(err)\n }\n if res != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n await latitudesh.sshKeys.delete({\n sshKeyId: \"ssh_KXgRdRa3Ov9k5\",\n });\n\n\n}\n\nrun();" } ] } }, "/storage/filesystems": { "post": { "summary": "Create filesystem", "operationId": "post-storage-filesystems", "tags": ["Storage"], "security": [{"Bearer":[]}], "parameters": [], "description": "Allows you to add persistent storage to a project. These filesystems can be used to store data across your servers.", "x-mint": {"href":"/api-reference/post-storage-filesystems"}, "responses": {"201":{"description":"Created","content":{"application/vnd.api+json":{"examples":{"Created":{"value":{"data":{"id":"fs_AW6Q2D9lqKLpr","type":"filesystems","attributes":{"name":"my-data","size_in_gb":1500,"created_at":"2026-01-14T15:57:07.000Z","project":{"id":"proj_lkg1De6ROvZE5","name":"Small Leather Plate","slug":"small-leather-plate","description":"Awesome Marble Table","billing_type":"Normal","billing_method":"Normal","bandwidth_alert":false,"environment":null,"billing":{"subscription_id":null,"type":"Normal","method":"Normal"},"stats":{"databases":0,"ip_addresses":0,"prefixes":0,"servers":0,"storages":1,"virtual_machines":0,"vlans":0}},"team":{"id":"team_13ljzVvQY2c2YN4lnMexSm79WgA","name":"592 Team","slug":"592-team","description":"592 Team","address":"247 Russ Station, New Freddy, OK 97400-4162","status":"verified","currency":{"id":"cur_AW6Q2D9lqKLpr","code":"BRL","name":"Brazilian Real","currency_id":null}}}}}}},"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/filesystem_data"}}}}}},"503":{"description":"Service Unavailable - Storage creation temporarily frozen","content":{"application/vnd.api+json":{"examples":{"Storage creation frozen":{"value":{"errors":[{"code":"STORAGE_CREATION_FROZEN","status":"503","title":"Storage creation frozen","detail":"New filesystem creation is temporarily unavailable.","meta":{}}]}}},"schema":{"$ref":"#/components/schemas/error_object"}}}}}, "requestBody": {"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["filesystems"]},"attributes":{"type":"object","properties":{"project":{"type":"string","description":"Project ID or slug"},"name":{"type":"string","description":"Storage name"},"size_in_gb":{"type":"integer","default":1500,"minimum":1,"maximum":10000,"description":"Size in GB (not required, default is 1500)"}},"required":["project","name"]}},"required":["type","attributes"]}},"required":["data"]},"examples":{"Created":{"summary":"Created","value":{"data":{"type":"filesystems","attributes":{"name":"my-data","size_in_gb":1500,"project":"proj_lkg1De6ROvZE5"}}}}}},"application/vnd.api+json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["filesystems"]},"attributes":{"type":"object","properties":{"project":{"type":"string","description":"Project ID or slug"},"name":{"type":"string","description":"Storage name"},"size_in_gb":{"type":"integer","default":1500,"minimum":1,"maximum":10000,"description":"Size in GB (not required, default is 1500)"}},"required":["project","name"]}},"required":["type","attributes"]}},"required":["data"]},"examples":{"Created":{"summary":"Created","value":{"data":{"type":"filesystems","attributes":{"name":"my-data","size_in_gb":1500,"project":"proj_lkg1De6ROvZE5"}}}}}}},"required":true}, "x-speakeasy-name-override": "createFilesystem", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "import latitudesh_python_sdk\nfrom latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.storage.create_filesystem(data={\n \"type\": latitudesh_python_sdk.PostStorageFilesystemsStorageType.FILESYSTEMS,\n \"attributes\": {\n \"project\": \"proj_lkg1De6ROvZE5\",\n \"name\": \"my-data\",\n },\n })\n\n # Handle response\n print(res)" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"github.com/latitudesh/latitudesh-go-sdk/models/operations\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.Storage.CreateFilesystem(ctx, operations.PostStorageFilesystemsStorageRequestBody{\n Data: operations.PostStorageFilesystemsStorageData{\n Type: operations.PostStorageFilesystemsStorageTypeFilesystems,\n Attributes: operations.PostStorageFilesystemsStorageAttributes{\n Project: \"proj_lkg1De6ROvZE5\",\n Name: \"my-data\",\n },\n },\n })\n if err != nil {\n log.Fatal(err)\n }\n if res.Object != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.storage.createFilesystem({\n data: {\n type: \"filesystems\",\n attributes: {\n project: \"proj_lkg1De6ROvZE5\",\n name: \"my-data\",\n },\n },\n });\n\n console.log(result);\n}\n\nrun();" } ] }, "get": { "summary": "List filesystems", "operationId": "get-storage-filesystems", "tags": ["Storage"], "security": [{"Bearer":[]}], "description": "Lists all the filesystems from a team.", "parameters": [{"name":"filter[project]","in":"query","required":false,"description":"The project ID or Slug to filter by","examples":{"Success":{"value":"small-rubber-shirt"}},"schema":{"type":"string"}}], "x-mint": {"href":"/api-reference/get-storage-filesystems"}, "responses": {"200":{"description":"Success","content":{"application/vnd.api+json":{"examples":{"Success":{"value":{"data":[{"id":"fs_6059EqYkOQj8p","type":"filesystems","attributes":{"name":"Intelligent Bronze Bench","size_in_gb":1500,"created_at":"2026-01-14T15:57:07.743Z","project":{"id":"proj_695BdKNeOevVo","name":"Synergistic Bronze Wallet","slug":"synergistic-bronze-wallet","description":"Mediocre Bronze Computer","billing_type":"Normal","billing_method":"Normal","bandwidth_alert":false,"environment":null,"billing":{"subscription_id":null,"type":"Normal","method":"Normal"},"stats":{"databases":0,"ip_addresses":0,"prefixes":0,"servers":0,"storages":1,"virtual_machines":0,"vlans":0}},"team":{"id":"team_lV9Xe2AAK5CbMgGbpPYLskLRXyV","name":"601 Team","slug":"601-team","description":"601 Team","address":"20590 Deckow Divide, Lake Boris, NC 87947","status":"verified","currency":{"id":"cur_AW6Q2D9lqKLpr","code":"BRL","name":"Brazilian Real","currency_id":null}}}}, {"id":"fs_6VE1Wd37dXnZJ","type":"filesystems","attributes":{"name":"Gorgeous Rubber Bench","size_in_gb":1500,"created_at":"2026-01-14T15:57:07.758Z","project":{"id":"proj_yQrJdNm5O30gv","name":"Heavy Duty Copper Clock","slug":"heavy-duty-copper-clock","description":"Small Aluminum Shoes","billing_type":"Normal","billing_method":"Normal","bandwidth_alert":false,"environment":null,"billing":{"subscription_id":null,"type":"Normal","method":"Normal"},"stats":{"databases":0,"ip_addresses":0,"prefixes":0,"servers":0,"storages":1,"virtual_machines":0,"vlans":0}},"team":{"id":"team_lV9Xe2AAK5CbMgGbpPYLskLRXyV","name":"601 Team","slug":"601-team","description":"601 Team","address":"20590 Deckow Divide, Lake Boris, NC 87947","status":"verified","currency":{"id":"cur_AW6Q2D9lqKLpr","code":"BRL","name":"Brazilian Real","currency_id":null}}}}]}}}}}}}, "x-speakeasy-name-override": "listFilesystems", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "from latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n latitudesh.storage.list_filesystems(filter_project=\"small-rubber-shirt\")\n\n # Use the SDK ..." }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.Storage.ListFilesystems(ctx, latitudeshgosdk.Pointer(\"small-rubber-shirt\"))\n if err != nil {\n log.Fatal(err)\n }\n if res != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n await latitudesh.storage.listFilesystems({\n filterProject: \"small-rubber-shirt\",\n });\n\n\n}\n\nrun();" } ] } }, "/storage/filesystems/{filesystem_id}": { "delete": { "summary": "Delete filesystem", "operationId": "delete-storage-filesystems", "tags": ["Storage"], "security": [{"Bearer":[]}], "parameters": [{"name":"filesystem_id","in":"path","required":true,"schema":{"type":"string"}}], "description": "Allows you to remove persistent storage from a project.", "x-mint": {"href":"/api-reference/delete-storage-filesystems"}, "responses": {"204":{"description":"No Content"}}, "x-speakeasy-name-override": "deleteFilesystem", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "from latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n latitudesh.storage.delete_filesystem(filesystem_id=\"fs_123\")\n\n # Use the SDK ..." }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.Storage.DeleteFilesystem(ctx, \"fs_123\")\n if err != nil {\n log.Fatal(err)\n }\n if res != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n await latitudesh.storage.deleteFilesystem({\n filesystemId: \"\",\n });\n\n\n}\n\nrun();" } ] }, "patch": { "summary": "Update filesystem", "operationId": "patch-storage-filesystems", "tags": ["Storage"], "security": [{"Bearer":[]}], "parameters": [{"name":"filesystem_id","in":"path","required":true,"examples":{"Success":{"value":"fs_7vYAZqGBdMQ94"}},"schema":{"type":"string"}}], "description": "Allow you to upgrade the size of a filesystem.", "x-mint": {"href":"/api-reference/patch-storage-filesystems"}, "responses": {"200":{"description":"Success","content":{"application/vnd.api+json":{"examples":{"Success":{"value":{"data":{"id":"fs_7vYAZqGBdMQ94","type":"filesystems","attributes":{"name":"Lightweight Aluminum Computer","size_in_gb":1501,"created_at":"2026-01-14T15:57:08.000Z","project":{"id":"proj_1R3zq2VvqWxyn","name":"Enormous Iron Plate","slug":"enormous-iron-plate","description":"Durable Wooden Shoes","billing_type":"Normal","billing_method":"Normal","bandwidth_alert":false,"environment":null,"billing":{"subscription_id":null,"type":"Normal","method":"Normal"},"stats":{"databases":0,"ip_addresses":0,"prefixes":0,"servers":0,"storages":1,"virtual_machines":0,"vlans":0}},"team":{"id":"team_6RZQo811RrT97mgazl8wf1Ryxxo","name":"606 Team","slug":"606-team","description":"606 Team","address":"Apt. 122 58068 Bibi Prairie, Ardithport, NH 77015-2685","status":"verified","currency":{"id":"cur_AW6Q2D9lqKLpr","code":"BRL","name":"Brazilian Real","currency_id":null}}}}}}},"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/filesystem_data"}}}}}}}, "requestBody": {"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Filesystem ID"},"type":{"type":"string","enum":["filesystems"]},"attributes":{"type":"object","properties":{"size_in_gb":{"type":"integer","default":1500,"minimum":1,"maximum":10000,"description":"Size in GB (not required, default is 1500)"}},"required":["size_in_gb"]}},"required":["type","attributes","id"]}},"required":["data"]},"examples":{"Success":{"summary":"Success","value":{"data":{"id":"fs_7vYAZqGBdMQ94","type":"filesystems","attributes":{"size_in_gb":1501}}}}}},"application/vnd.api+json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Filesystem ID"},"type":{"type":"string","enum":["filesystems"]},"attributes":{"type":"object","properties":{"size_in_gb":{"type":"integer","default":1500,"minimum":1,"maximum":10000,"description":"Size in GB (not required, default is 1500)"}},"required":["size_in_gb"]}},"required":["type","attributes","id"]}},"required":["data"]},"examples":{"Success":{"summary":"Success","value":{"data":{"id":"fs_7vYAZqGBdMQ94","type":"filesystems","attributes":{"size_in_gb":1501}}}}}}},"required":true}, "x-speakeasy-name-override": "updateFilesystem", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "import latitudesh_python_sdk\nfrom latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.storage.update_filesystem(filesystem_id=\"fs_7vYAZqGBdMQ94\", data={\n \"id\": \"fs_7vYAZqGBdMQ94\",\n \"type\": latitudesh_python_sdk.PatchStorageFilesystemsStorageType.FILESYSTEMS,\n \"attributes\": {\n \"size_in_gb\": 1501,\n },\n })\n\n # Handle response\n print(res)" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"github.com/latitudesh/latitudesh-go-sdk/models/operations\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.Storage.UpdateFilesystem(ctx, \"fs_7vYAZqGBdMQ94\", operations.PatchStorageFilesystemsStorageRequestBody{\n Data: operations.PatchStorageFilesystemsStorageData{\n ID: \"fs_7vYAZqGBdMQ94\",\n Type: operations.PatchStorageFilesystemsStorageTypeFilesystems,\n Attributes: operations.PatchStorageFilesystemsStorageAttributes{\n SizeInGb: latitudeshgosdk.Pointer[int64](1501),\n },\n },\n })\n if err != nil {\n log.Fatal(err)\n }\n if res.Object != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.storage.updateFilesystem({\n filesystemId: \"fs_7vYAZqGBdMQ94\",\n requestBody: {\n data: {\n id: \"fs_7vYAZqGBdMQ94\",\n type: \"filesystems\",\n attributes: {\n sizeInGb: 1501,\n },\n },\n },\n });\n\n console.log(result);\n}\n\nrun();" } ] } }, "/storage/volumes": { "post": { "summary": "Create volume", "operationId": "post-storage-volumes", "tags": ["Storage"], "security": [{"Bearer":[]}], "parameters": [], "description": "Allows you to add persistent storage to a project. These volumes can be used to store data across your servers.", "x-mint": {"href":"/api-reference/post-storage-volumes"}, "responses": {"201":{"description":"Created","content":{"application/vnd.api+json":{"examples":{"Created":{"value":{"data":{"id":"vol_Av9BVDavORm1W","type":"volumes","attributes":{"name":"Rustic Aluminum Shoes","size_in_gb":1500,"created_at":"2026-01-14T15:57:08.000Z","namespace_id":null,"connector_id":null,"initiators":null,"project":{"id":"proj_enPbqoZ6dA2MQ","name":"Mediocre Aluminum Car","slug":"mediocre-aluminum-car","description":"Rustic Linen Shoes","billing_type":"Normal","billing_method":"Normal","bandwidth_alert":false,"environment":null,"billing":{"subscription_id":null,"type":"Normal","method":"Normal"},"stats":{"databases":0,"ip_addresses":0,"prefixes":0,"servers":0,"storages":1,"virtual_machines":0,"vlans":0}},"team":{"id":"team_geEQyBL2bJiVpXJgmw1YTgneKVb","name":"609 Team","slug":"609-team","description":"609 Team","address":"Apt. 590 415 Kirlin Pass, South Trenton, MT 96944","status":"verified","currency":{"id":"cur_AW6Q2D9lqKLpr","code":"BRL","name":"Brazilian Real","currency_id":null}}}}}}},"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/volume_data"}}}}}},"503":{"description":"Service Unavailable - Storage creation temporarily frozen","content":{"application/vnd.api+json":{"examples":{"Storage creation frozen":{"value":{"errors":[{"code":"STORAGE_CREATION_FROZEN","status":"503","title":"Storage creation frozen","detail":"New volume creation is temporarily unavailable.","meta":{}}]}}},"schema":{"$ref":"#/components/schemas/error_object"}}}}}, "requestBody": {"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["volumes"]},"attributes":{"type":"object","properties":{"project":{"type":"string","description":"Project ID or slug"},"name":{"type":"string","description":"Storage name"},"size_in_gb":{"type":"integer","default":1500,"minimum":1,"maximum":10000,"description":"Size in GB (not required, default is 1500)"}},"required":["project","name"]}},"required":["type","attributes"]}},"required":["data"]},"examples":{"Created":{"summary":"Created","value":{"data":{"type":"volumes","attributes":{"name":"my-data","size_in_gb":1500,"project":"proj_enPbqoZ6dA2MQ"}}}}}},"application/vnd.api+json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["volumes"]},"attributes":{"type":"object","properties":{"project":{"type":"string","description":"Project ID or slug"},"name":{"type":"string","description":"Storage name"},"size_in_gb":{"type":"integer","default":1500,"minimum":1,"maximum":10000,"description":"Size in GB (not required, default is 1500)"}},"required":["project","name"]}},"required":["type","attributes"]}},"required":["data"]},"examples":{"Created":{"summary":"Created","value":{"data":{"type":"volumes","attributes":{"name":"my-data","size_in_gb":1500,"project":"proj_enPbqoZ6dA2MQ"}}}}}}},"required":true}, "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "import latitudesh_python_sdk\nfrom latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.storage.post_storage_volumes(data={\n \"type\": latitudesh_python_sdk.PostStorageVolumesStorageType.VOLUMES,\n \"attributes\": {\n \"project\": \"proj_enPbqoZ6dA2MQ\",\n \"name\": \"my-data\",\n },\n })\n\n # Handle response\n print(res)" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"github.com/latitudesh/latitudesh-go-sdk/models/operations\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.Storage.PostStorageVolumes(ctx, operations.PostStorageVolumesStorageRequestBody{\n Data: operations.PostStorageVolumesStorageData{\n Type: operations.PostStorageVolumesStorageTypeVolumes,\n Attributes: operations.PostStorageVolumesStorageAttributes{\n Project: \"proj_enPbqoZ6dA2MQ\",\n Name: \"my-data\",\n },\n },\n })\n if err != nil {\n log.Fatal(err)\n }\n if res.Object != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.storage.postStorageVolumes({\n data: {\n type: \"volumes\",\n attributes: {\n project: \"proj_enPbqoZ6dA2MQ\",\n name: \"my-data\",\n },\n },\n });\n\n console.log(result);\n}\n\nrun();" } ] }, "get": { "summary": "List volumes", "operationId": "get-storage-volumes", "tags": ["Storage"], "security": [{"Bearer":[]}], "description": "Lists all the volumes from a team.", "parameters": [{"name":"filter[project]","in":"query","required":false,"description":"The project ID or Slug to filter by","examples":{"Success":{"value":"proj_WeGoqA5AqP7nz"}},"schema":{"type":"string"}}], "x-mint": {"href":"/api-reference/get-storage-volumes"}, "responses": {"200":{"description":"Success","content":{"application/vnd.api+json":{"examples":{"Success":{"value":{"data":[{"id":"vol_RLYV8DZ2D5QoE","type":"volumes","attributes":{"name":"Incredible Paper Computer","size_in_gb":1500,"created_at":"2026-01-14T14:57:08.628Z","namespace_id":"1","connector_id":"nqn.2001-07.com.ceph:1757602476548","initiators":[{"nqn":"nqn.2014-08.org.nvmexpress:uuid:ae717767-c0fa-56f7-ab4b-5c426b0c553f"}],"project":{"id":"proj_WeGoqA5AqP7nz","name":"Gorgeous Concrete Clock","slug":"gorgeous-concrete-clock","description":"Small Wooden Shirt","billing_type":"Normal","billing_method":"Normal","bandwidth_alert":false,"environment":null,"billing":{"subscription_id":null,"type":"Normal","method":"Normal"},"stats":{"databases":0,"ip_addresses":0,"prefixes":0,"servers":0,"storages":1,"virtual_machines":0,"vlans":0}},"team":{"id":"team_nYRYZR4lwzSJpMxzmrnKSe8P79E","name":"614 Team","slug":"614-team","description":"614 Team","address":"Suite 444 21815 Angel Falls, North Jarvis, LA 68902","status":"verified","currency":{"id":"cur_AW6Q2D9lqKLpr","code":"BRL","name":"Brazilian Real","currency_id":null}}}}]}}},"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/volume_data"}}}}}}}}, "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "from latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.storage.get_storage_volumes(filter_project=\"proj_WeGoqA5AqP7nz\")\n\n # Handle response\n print(res)" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.Storage.GetStorageVolumes(ctx, latitudeshgosdk.Pointer(\"proj_WeGoqA5AqP7nz\"))\n if err != nil {\n log.Fatal(err)\n }\n if res.Object != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.storage.getStorageVolumes({\n filterProject: \"proj_WeGoqA5AqP7nz\",\n });\n\n console.log(result);\n}\n\nrun();" } ] } }, "/storage/volumes/{id}": { "delete": { "summary": "Delete volume", "operationId": "delete-storage-volumes", "tags": ["Storage"], "security": [{"Bearer":[]}], "parameters": [{"name":"id","in":"path","required":true,"schema":{"type":"string"}}], "description": "Allows you to remove persistent storage from a project.", "x-mint": {"href":"/api-reference/delete-storage-volumes"}, "responses": {"204":{"description":"No Content"}}, "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "from latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n latitudesh.storage.delete_storage_volumes(id=\"\")\n\n # Use the SDK ..." }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.Storage.DeleteStorageVolumes(ctx, \"\")\n if err != nil {\n log.Fatal(err)\n }\n if res != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n await latitudesh.storage.deleteStorageVolumes({\n id: \"\",\n });\n\n\n}\n\nrun();" } ] }, "get": { "summary": "Retrieve volume", "operationId": "get-storage-volume", "tags": ["Storage"], "security": [{"Bearer":[]}], "description": "Shows details of a specific volume storage.", "parameters": [{"name":"id","in":"path","required":true,"description":"The volume storage ID","examples":{"Success":{"value":"vol_aKXgRdR3qv9k5"}},"schema":{"type":"string"}}], "x-mint": {"href":"/api-reference/get-storage-volume"}, "responses": {"200":{"description":"Success","content":{"application/vnd.api+json":{"examples":{"Success":{"value":{"data":{"id":"vol_aKXgRdR3qv9k5","type":"volumes","attributes":{"name":"Synergistic Concrete Shoes","size_in_gb":1500,"created_at":"2026-01-14T14:57:09.251Z","namespace_id":"1","connector_id":"nqn.2001-07.com.ceph:1757602476548","initiators":[{"nqn":"nqn.2014-08.org.nvmexpress:uuid:ae717767-c0fa-56f7-ab4b-5c426b0c553f"}],"project":{"id":"proj_5AEmq7XyDBkWX","name":"Sleek Wool Computer","slug":"sleek-wool-computer","description":"Awesome Marble Wallet","billing_type":"Normal","billing_method":"Normal","bandwidth_alert":false,"environment":null,"billing":{"subscription_id":null,"type":"Normal","method":"Normal"},"stats":{"databases":0,"ip_addresses":0,"prefixes":0,"servers":0,"storages":1,"virtual_machines":0,"vlans":0}},"team":{"id":"team_2KyxrrLkeRtKVLNKv5yNhMWXPnyw","name":"623 Team","slug":"623-team","description":"623 Team","address":"Apt. 955 6672 Otto Mountain, Phillipfurt, CA 84225","status":"verified","currency":{"id":"cur_AW6Q2D9lqKLpr","code":"BRL","name":"Brazilian Real","currency_id":null}}}}}}},"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/volume_data"}}}}}}}, "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "from latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.storage.get_storage_volume(id=\"vol_aKXgRdR3qv9k5\")\n\n # Handle response\n print(res)" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.Storage.GetStorageVolume(ctx, \"vol_aKXgRdR3qv9k5\")\n if err != nil {\n log.Fatal(err)\n }\n if res.Object != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.storage.getStorageVolume({\n id: \"vol_aKXgRdR3qv9k5\",\n });\n\n console.log(result);\n}\n\nrun();" } ] } }, "/storage/volumes/{id}/mount": {"post":{ "summary": "Mount volume", "operationId": "post-storage-volumes-mount", "tags": ["Storage"], "security": [{"Bearer":[]}], "description": "Mounts volume storage by adding the client to an allowed list", "parameters": [{"name":"id","in":"path","required":true,"description":"Volume storage ID","schema":{"type":"string"}}], "x-mint": {"href":"/api-reference/post-storage-volumes-mount"}, "responses": {"204":{"description":"No Content"}}, "requestBody": {"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["volumes"]},"attributes":{"type":"object","properties":{"nqn":{"type":"string","description":"NVMe Qualified Name (NQN) of the client/server that will access the volume storage. Format: nqn.YYYY-MM.domain:identifier (e.g., \"nqn.2024-01.com.example:server01\"). This uniquely identifies the NVMe client and must be configured on the client server.","example":"nqn.2024-01.com.example:server01"}},"required":["nqn"]}},"required":["type","attributes"]}},"required":["data"]}}},"required":true}, "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "import latitudesh_python_sdk\nfrom latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n latitudesh.storage.post_storage_volumes_mount(id=\"\", data={\n \"type\": latitudesh_python_sdk.PostStorageVolumesMountType.VOLUMES,\n \"attributes\": {\n \"nqn\": \"nqn.2024-01.com.example:server01\",\n },\n })\n\n # Use the SDK ..." }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"github.com/latitudesh/latitudesh-go-sdk/models/operations\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.Storage.PostStorageVolumesMount(ctx, \"\", operations.PostStorageVolumesMountRequestBody{\n Data: operations.PostStorageVolumesMountData{\n Type: operations.PostStorageVolumesMountTypeVolumes,\n Attributes: operations.PostStorageVolumesMountAttributes{\n Nqn: \"nqn.2024-01.com.example:server01\",\n },\n },\n })\n if err != nil {\n log.Fatal(err)\n }\n if res != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n await latitudesh.storage.postStorageVolumesMount({\n id: \"\",\n requestBody: {\n data: {\n type: \"volumes\",\n attributes: {\n nqn: \"nqn.2024-01.com.example:server01\",\n },\n },\n },\n });\n\n\n}\n\nrun();" } ] }}, "/storage/objects": { "get": { "summary": "List object storages", "operationId": "get-storage-objects", "tags": ["Storage"], "security": [{"Bearer":[]}], "description": "Lists all object storages from a team.", "parameters": [{"name":"filter[project]","in":"query","required":false,"description":"The project ID or Slug to filter by","schema":{"type":"string"}}], "x-mint": {"href":"/api-reference/get-storage-objects"}, "responses": {"200":{"description":"Success","content":{"application/vnd.api+json":{"examples":{"Success":{"value":{"data":[{"id":"bucket_6VE1Wd37dXnZJ","type":"object_storages","attributes":{"name":"my-bucket-storage","size_in_gb":500,"created_at":"2026-03-19T10:30:00.000Z","bucket_name":"my-bucket","endpoint":"https://s3.latitude.sh","access_key":"AKIAIOSFODNN7EXAMPLE","region":{"id":"SAO2","city":"SAO2","country":"Brazil"},"project":{"id":"proj_6059EqYkOQj8p","name":"My Project","slug":"my-project","description":"Project description","billing_type":"Normal","billing_method":"Normal","bandwidth_alert":false,"environment":null,"billing":{"subscription_id":null,"type":"Normal","method":"Normal"},"stats":{"databases":0,"ip_addresses":0,"prefixes":0,"servers":0,"storages":1,"virtual_machines":0,"vlans":0}},"team":{"id":"team_lV9Xe2AAK5CbMgGbpPYLskLRXyV","name":"My Team","slug":"my-team","description":"My Team","address":"123 Main St","status":"verified","currency":{"id":"cur_AW6Q2D9lqKLpr","code":"USD","name":"US Dollar","currency_id":null}}}}]}}},"schema":{"$ref":"#/components/schemas/object_storages"}}}},"403":{"description":"Forbidden","content":{"application/vnd.api+json":{"examples":{"FeatureNotEnabled":{"value":{"errors":[{"code":"FEATURE_NOT_ENABLED","message":"Object Storage is not enabled for this team"}]}}},"schema":{"$ref":"#/components/schemas/error_object"}}}}}, "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "from latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.storage.get_storage_objects()\n\n # Handle response\n print(res)" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.Storage.GetStorageObjects(ctx, nil)\n if err != nil {\n log.Fatal(err)\n }\n if res.ObjectStorages != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.storage.getStorageObjects();\n\n console.log(result);\n}\n\nrun();" } ] }, "post": { "summary": "Create object storage", "operationId": "post-storage-objects", "tags": ["Storage"], "security": [{"Bearer":[]}], "description": "Creates a new object storage bucket for a project.", "x-mint": {"href":"/api-reference/post-storage-objects"}, "requestBody": {"required":true,"content":{"application/vnd.api+json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["type","attributes"],"properties":{"type":{"type":"string","enum":["objects"]},"attributes":{"type":"object","required":["project","name","region"],"properties":{"project":{"type":"string","description":"Project ID or slug"},"name":{"type":"string","description":"Object storage name. Cannot contain special characters or spaces."},"region":{"type":"string","description":"Site slug representing the region (e.g., DAL, SAO2)"},"scoped":{"type":"boolean","description":"Whether to create a scoped storage bucket. When true, the bucket is isolated to a specific customer context. Defaults to false.","default":false},"customer":{"type":"string","description":"Customer identifier for scoped storage. Used when `scoped` is true to create customer-specific bucket isolation."}}}}}}},"examples":{"Create":{"summary":"Create object storage","value":{"data":{"type":"objects","attributes":{"project":"proj_6059EqYkOQj8p","name":"my-bucket","region":"DAL"}}}},"CreateScoped":{"summary":"Create scoped object storage","value":{"data":{"type":"objects","attributes":{"project":"proj_6059EqYkOQj8p","name":"customer-bucket","region":"DAL","scoped":true,"customer":"acme-corp"}}}}}}}}, "responses": {"201":{"description":"Created","content":{"application/vnd.api+json":{"examples":{"Created":{"value":{"data":{"id":"bucket_6VE1Wd37dXnZJ","type":"object_storages","attributes":{"name":"my-bucket","size_in_gb":0,"created_at":"2026-03-19T15:30:00.000Z","bucket_name":"my-bucket","endpoint":"https://s3.latitude.sh","access_key":"AKIAIOSFODNN7EXAMPLE","region":{"id":"DAL","city":"DAL","country":"United States"},"project":{"id":"proj_6059EqYkOQj8p","name":"My Project","slug":"my-project","description":"Project description","billing_type":"Normal","billing_method":"Normal","bandwidth_alert":false,"environment":null,"billing":{"subscription_id":null,"type":"Normal","method":"Normal"},"stats":{"databases":0,"ip_addresses":0,"prefixes":0,"servers":0,"storages":1,"virtual_machines":0,"vlans":0}},"team":{"id":"team_lV9Xe2AAK5CbMgGbpPYLskLRXyV","name":"My Team","slug":"my-team","description":"My Team","address":"123 Main St","status":"verified","currency":{"id":"cur_AW6Q2D9lqKLpr","code":"USD","name":"US Dollar","currency_id":null}}}}}}},"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/object_storage_data"}}}}}},"403":{"description":"Forbidden","content":{"application/vnd.api+json":{"examples":{"FeatureNotEnabled":{"value":{"errors":[{"code":"STORAGE_NOT_ENABLED","title":"Object Storage not enabled","detail":"Object Storage is not enabled for this team","meta":{},"status":"403"}]}},"InsufficientPermissions":{"value":{"errors":[{"code":"USER_AUTHORIZATION_ERROR","status":"forbidden","title":"User Authorization Error","detail":"You are not authorized to perform this action.","meta":{}}]}}},"schema":{"$ref":"#/components/schemas/error_object"}}}},"404":{"description":"Not Found","content":{"application/vnd.api+json":{"examples":{"InvalidProject":{"value":{"errors":[{"code":"INVALID_PROJECT","title":"Invalid project","detail":"We could not find the project you are trying to create object storage for.","meta":{},"status":"404"}]}},"InvalidRegion":{"value":{"errors":[{"code":"INVALID_REGION","title":"Invalid region","detail":"We could not find the region you specified.","meta":{},"status":"404"}]}}},"schema":{"$ref":"#/components/schemas/error_object"}}}},"409":{"description":"Conflict","content":{"application/vnd.api+json":{"examples":{"AlreadyExists":{"value":{"errors":[{"code":"CONFLICT","title":"Object storage creation error","detail":"Object Storage already exists","meta":{},"status":"409"}]}}},"schema":{"$ref":"#/components/schemas/error_object"}}}},"422":{"description":"Unprocessable Entity","content":{"application/vnd.api+json":{"examples":{"ValidationError":{"value":{"errors":[{"code":"VALIDATION_ERROR","title":"Validation Error","detail":"name cannot contain special chars or spaces","meta":{},"status":"422"}]}}},"schema":{"$ref":"#/components/schemas/error_object"}}}},"500":{"description":"Internal Server Error","content":{"application/vnd.api+json":{"examples":{"SetupError":{"value":{"errors":[{"code":"OBJECT_STORAGE_SETUP_ERROR","title":"Object storage setup error","detail":"Failed to provision object storage infrastructure","meta":{},"status":"500"}]}}},"schema":{"$ref":"#/components/schemas/error_object"}}}}}, "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "import latitudesh_python_sdk\nfrom latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.storage.post_storage_objects(data={\n \"type\": latitudesh_python_sdk.PostStorageObjectsType.OBJECTS,\n \"attributes\": {\n \"project\": \"proj_6059EqYkOQj8p\",\n \"name\": \"my-bucket\",\n \"region\": \"DAL\",\n },\n })\n\n # Handle response\n print(res)" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"github.com/latitudesh/latitudesh-go-sdk/models/operations\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.Storage.PostStorageObjects(ctx, operations.PostStorageObjectsRequestBody{\n Data: operations.PostStorageObjectsData{\n Type: operations.PostStorageObjectsTypeObjects,\n Attributes: operations.PostStorageObjectsAttributes{\n Project: \"proj_6059EqYkOQj8p\",\n Name: \"my-bucket\",\n Region: \"DAL\",\n },\n },\n })\n if err != nil {\n log.Fatal(err)\n }\n if res.Object != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.storage.postStorageObjects({\n data: {\n type: \"objects\",\n attributes: {\n project: \"proj_6059EqYkOQj8p\",\n name: \"my-bucket\",\n region: \"DAL\",\n },\n },\n });\n\n console.log(result);\n}\n\nrun();" } ] } }, "/storage/objects/{id}": { "get": { "summary": "Retrieve object storage", "operationId": "get-storage-object", "tags": ["Storage"], "security": [{"Bearer":[]}], "description": "Shows details of a specific object storage.", "parameters": [{"name":"id","in":"path","required":true,"description":"The object storage ID","schema":{"type":"string"}}], "x-mint": {"href":"/api-reference/get-storage-object"}, "responses": {"200":{"description":"Success","content":{"application/vnd.api+json":{"examples":{"Success":{"value":{"data":{"id":"bucket_6VE1Wd37dXnZJ","type":"object_storages","attributes":{"name":"my-bucket-storage","size_in_gb":500,"created_at":"2026-03-19T10:30:00.000Z","bucket_name":"my-bucket","endpoint":"https://s3.latitude.sh","access_key":"AKIAIOSFODNN7EXAMPLE","region":{"id":"SAO2","city":"SAO2","country":"Brazil"},"project":{"id":"proj_6059EqYkOQj8p","name":"My Project","slug":"my-project","description":"Project description","billing_type":"Normal","billing_method":"Normal","bandwidth_alert":false,"environment":null,"billing":{"subscription_id":null,"type":"Normal","method":"Normal"},"stats":{"databases":0,"ip_addresses":0,"prefixes":0,"servers":0,"storages":1,"virtual_machines":0,"vlans":0}},"team":{"id":"team_lV9Xe2AAK5CbMgGbpPYLskLRXyV","name":"My Team","slug":"my-team","description":"My Team","address":"123 Main St","status":"verified","currency":{"id":"cur_AW6Q2D9lqKLpr","code":"USD","name":"US Dollar","currency_id":null}}}}}}},"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/object_storage_data"}}}}}},"403":{"description":"Forbidden","content":{"application/vnd.api+json":{"examples":{"FeatureNotEnabled":{"value":{"errors":[{"code":"FEATURE_NOT_ENABLED","message":"Object Storage is not enabled for this team"}]}}},"schema":{"$ref":"#/components/schemas/error_object"}}}},"404":{"description":"Not Found","content":{"application/vnd.api+json":{"examples":{"NotFound":{"value":{"errors":[{"code":"NOT_FOUND","message":"Object storage not found"}]}}},"schema":{"$ref":"#/components/schemas/error_object"}}}}}, "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "from latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.storage.get_storage_object(id=\"\")\n\n # Handle response\n print(res)" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.Storage.GetStorageObject(ctx, \"\")\n if err != nil {\n log.Fatal(err)\n }\n if res.Object != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.storage.getStorageObject({\n id: \"\",\n });\n\n console.log(result);\n}\n\nrun();" } ] }, "delete": { "summary": "Delete object storage", "operationId": "delete-storage-objects", "tags": ["Storage"], "security": [{"Bearer":[]}], "parameters": [{"name":"id","in":"path","required":true,"description":"The object storage ID","schema":{"type":"string"}}], "description": "Allows you to remove an object storage from a project.", "x-mint": {"href":"/api-reference/delete-storage-objects"}, "responses": {"204":{"description":"No Content"},"403":{"description":"Forbidden","content":{"application/vnd.api+json":{"examples":{"FeatureNotEnabled":{"value":{"errors":[{"code":"STORAGE_NOT_ENABLED","message":"Object Storage is not enabled for this team"}]}},"InsufficientPermissions":{"value":{"errors":[{"code":"USER_AUTHORIZATION_ERROR","status":"forbidden","title":"User Authorization Error","detail":"You are not authorized to perform this action.","meta":{}}]}}},"schema":{"$ref":"#/components/schemas/error_object"}}}},"404":{"description":"Not Found","content":{"application/vnd.api+json":{"examples":{"NotFound":{"value":{"errors":[{"code":"not_found","title":"Error","detail":"Specified Record Not Found","meta":{},"status":"404"}]}}},"schema":{"$ref":"#/components/schemas/error_object"}}}},"500":{"description":"Internal Server Error","content":{"application/vnd.api+json":{"examples":{"BucketDeletionError":{"value":{"errors":[{"code":"BUCKET_DELETION_ERROR","title":"Bucket deletion error","detail":"We had a problem cleaning up your bucket.","meta":{},"status":"500"}]}}},"schema":{"$ref":"#/components/schemas/error_object"}}}}}, "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "from latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n latitudesh.storage.delete_storage_objects(id=\"\")\n\n # Use the SDK ..." }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.Storage.DeleteStorageObjects(ctx, \"\")\n if err != nil {\n log.Fatal(err)\n }\n if res != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n await latitudesh.storage.deleteStorageObjects({\n id: \"\",\n });\n\n\n}\n\nrun();" } ] } }, "/tags": { "get": { "summary": "List tags", "operationId": "get-tags", "tags": ["Tags"], "security": [{"Bearer":[]}], "description": "List all Tags in the team.\n", "x-mint": {"href":"/api-reference/get-tags"}, "responses": {"200":{"description":"Success","content":{"application/vnd.api+json":{"examples":{"Success":{"value":{"data":[{"id":"tag_br3pyBM8YeIyBQGR0rbocVrmJnE","type":"tags","attributes":{"name":"Angrod","slug":"angrod","description":"Dolorem vel distinctio et.","color":"#141515","team":{"id":"team_RPp3R8oZyjSAGGP7oeMEsR8yPNgo","name":"627 Team","slug":"627-team","description":"627 Team","address":"977 Julietta Views, West Ocie, KS 10398-1982","status":"verified","currency":{"id":"cur_AW6Q2D9lqKLpr","code":"BRL","name":"Brazilian Real","currency_id":null}}}}]}}},"schema":{"$ref":"#/components/schemas/custom_tags"}}}}}, "x-speakeasy-name-override": "list", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "from latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.tags.list()\n\n # Handle response\n print(res)" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.Tags.List(ctx)\n if err != nil {\n log.Fatal(err)\n }\n if res.CustomTags != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.tags.list();\n\n console.log(result);\n}\n\nrun();" } ] }, "post": { "summary": "Create tag", "operationId": "create-tag", "tags": ["Tags"], "security": [{"Bearer":[]}], "parameters": [], "description": "Create a Tag in the team.\n", "x-mint": {"href":"/api-reference/create-tag"}, "responses": {"201":{"description":"Created","content":{"application/vnd.api+json":{"examples":{"Created":{"value":{"data":{"id":"tag_Rz8Ka32gLoUAZJYxkMrxiR8j9Ppa","type":"tags","attributes":{"name":"Tag Name","slug":"tag-name","description":"Tag Description","color":"#bebebe","team":{"id":"team_P5gz2MnmXoT4JXGwobmvf8bVoV3","name":"628 Team","slug":"628-team","description":"628 Team","address":"300 Jacqueline Village, Lake Shaunmouth, NH 56746","status":"verified","currency":{"id":"cur_AW6Q2D9lqKLpr","code":"BRL","name":"Brazilian Real","currency_id":null}}}}}}},"schema":{"$ref":"#/components/schemas/custom_tag"}}}},"422":{"description":"Unprocessable Entity","content":{"application/vnd.api+json":{"examples":{"NameAlreadyTaken":{"value":{"errors":[{"code":"NAME_ALREADY_TAKEN","detail":"is already taken","source":{"pointer":"/data/attributes/name"}}]}},"NameTooSimilar":{"value":{"errors":[{"code":"NAME_TOO_SIMILAR","detail":"is too similar to an existing tag name","source":{"pointer":"/data/attributes/name"}}]}}},"schema":{"$ref":"#/components/schemas/error_object"}}}}}, "requestBody": {"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["tags"]},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"Name of the Tag","maxLength":40},"description":{"type":"string","description":"Description of the Tag","nullable":true,"maxLength":255},"color":{"type":"string","default":"#ffffff","description":"Color of the Tag"}}}}}}},"examples":{"Created":{"summary":"Created","value":{"data":{"type":"tags","attributes":{"name":"Tag Name","description":"Tag Description","color":"#bebebe"}}}}}},"application/vnd.api+json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["tags"]},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"Name of the Tag","maxLength":40},"description":{"type":"string","description":"Description of the Tag","nullable":true,"maxLength":255},"color":{"type":"string","default":"#ffffff","description":"Color of the Tag"}}}}}}},"examples":{"Created":{"summary":"Created","value":{"data":{"type":"tags","attributes":{"name":"Tag Name","description":"Tag Description","color":"#bebebe"}}}}}}},"required":true}, "x-speakeasy-name-override": "create", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "import latitudesh_python_sdk\nfrom latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.tags.create(data={\n \"type\": latitudesh_python_sdk.CreateTagTagsType.TAGS,\n \"attributes\": {\n \"name\": \"Tag Name\",\n \"description\": \"Tag Description\",\n \"color\": \"#bebebe\",\n },\n })\n\n # Handle response\n print(res)" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"github.com/latitudesh/latitudesh-go-sdk/models/operations\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.Tags.Create(ctx, operations.CreateTagTagsRequestBody{\n Data: &operations.CreateTagTagsData{\n Type: operations.CreateTagTagsTypeTags.ToPointer(),\n Attributes: &operations.CreateTagTagsAttributes{\n Name: latitudeshgosdk.Pointer(\"Tag Name\"),\n Description: latitudeshgosdk.Pointer(\"Tag Description\"),\n Color: latitudeshgosdk.Pointer(\"#bebebe\"),\n },\n },\n })\n if err != nil {\n log.Fatal(err)\n }\n if res.CustomTag != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.tags.create({\n data: {\n type: \"tags\",\n attributes: {\n name: \"Tag Name\",\n description: \"Tag Description\",\n color: \"#bebebe\",\n },\n },\n });\n\n console.log(result);\n}\n\nrun();" } ] } }, "/tags/{tag_id}": { "patch": { "summary": "Update tag", "operationId": "update-tag", "tags": ["Tags"], "security": [{"Bearer":[]}], "parameters": [{"name":"tag_id","in":"path","required":true,"examples":{"Success":{"value":"tag_XBlke2r5RyiyVpG9LPK8tWjalLL"}},"schema":{"type":"string"}}], "description": "Update a Tag in the team.\n", "x-mint": {"href":"/api-reference/update-tag"}, "responses": {"200":{"description":"Success","content":{"application/vnd.api+json":{"examples":{"Success":{"value":{"data":{"id":"tag_XBlke2r5RyiyVpG9LPK8tWjalLL","type":"tags","attributes":{"name":"Tag Name","slug":"tag-name","description":"Aliquam ducimus atque et.","color":"#73ba73","team":{"id":"team_GplL3jvZnNS2BXLAmWQpf8z354ll","name":"633 Team","slug":"633-team","description":"633 Team","address":"2092 Loreta Summit, West Hershelmouth, WY 97161-6201","status":"verified","currency":{"id":"cur_AW6Q2D9lqKLpr","code":"BRL","name":"Brazilian Real","currency_id":null}}}}}}},"schema":{"$ref":"#/components/schemas/custom_tag"}}}},"422":{"description":"Unprocessable Entity","content":{"application/vnd.api+json":{"examples":{"NameAlreadyTaken":{"value":{"errors":[{"code":"NAME_ALREADY_TAKEN","detail":"is already taken","source":{"pointer":"/data/attributes/name"}}]}},"NameTooSimilar":{"value":{"errors":[{"code":"NAME_TOO_SIMILAR","detail":"is too similar to an existing tag name","source":{"pointer":"/data/attributes/name"}}]}}},"schema":{"$ref":"#/components/schemas/error_object"}}}}}, "requestBody": {"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["tags"]},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"Name of the Tag","maxLength":40},"description":{"type":"string","description":"Description of the Tag","nullable":true,"maxLength":255},"color":{"type":"string","default":"#ffffff","description":"Color of the Tag"}}}}}}},"examples":{"Success":{"summary":"Success","value":{"data":{"id":"tag_XBlke2r5RyiyVpG9LPK8tWjalLL","type":"tags","attributes":{"name":"Tag Name"}}}}}},"application/vnd.api+json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["tags"]},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"Name of the Tag","maxLength":40},"description":{"type":"string","description":"Description of the Tag","nullable":true,"maxLength":255},"color":{"type":"string","default":"#ffffff","description":"Color of the Tag"}}}}}}},"examples":{"Success":{"summary":"Success","value":{"data":{"id":"tag_XBlke2r5RyiyVpG9LPK8tWjalLL","type":"tags","attributes":{"name":"Tag Name"}}}}}}},"required":true}, "x-speakeasy-name-override": "update", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "import latitudesh_python_sdk\nfrom latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.tags.update(tag_id=\"tag_XBlke2r5RyiyVpG9LPK8tWjalLL\", data={\n \"id\": \"tag_XBlke2r5RyiyVpG9LPK8tWjalLL\",\n \"type\": latitudesh_python_sdk.UpdateTagTagsType.TAGS,\n \"attributes\": {\n \"name\": \"Tag Name\",\n },\n })\n\n # Handle response\n print(res)" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"github.com/latitudesh/latitudesh-go-sdk/models/operations\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.Tags.Update(ctx, \"tag_XBlke2r5RyiyVpG9LPK8tWjalLL\", operations.UpdateTagTagsRequestBody{\n Data: &operations.UpdateTagTagsData{\n ID: latitudeshgosdk.Pointer(\"tag_XBlke2r5RyiyVpG9LPK8tWjalLL\"),\n Type: operations.UpdateTagTagsTypeTags.ToPointer(),\n Attributes: &operations.UpdateTagTagsAttributes{\n Name: latitudeshgosdk.Pointer(\"Tag Name\"),\n },\n },\n })\n if err != nil {\n log.Fatal(err)\n }\n if res.CustomTag != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.tags.update({\n tagId: \"tag_XBlke2r5RyiyVpG9LPK8tWjalLL\",\n requestBody: {\n data: {\n id: \"tag_XBlke2r5RyiyVpG9LPK8tWjalLL\",\n type: \"tags\",\n attributes: {\n name: \"Tag Name\",\n },\n },\n },\n });\n\n console.log(result);\n}\n\nrun();" } ] }, "delete": { "summary": "Delete tag", "operationId": "destroy-tag", "tags": ["Tags"], "security": [{"Bearer":[]}], "parameters": [{"name":"tag_id","in":"path","required":true,"schema":{"type":"string"}}], "description": "Update a Tag in the team.\n", "x-mint": {"href":"/api-reference/destroy-tag"}, "responses": {"204":{"description":"No Content"}}, "x-speakeasy-name-override": "delete", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "from latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n latitudesh.tags.delete(tag_id=\"invalid-id\")\n\n # Use the SDK ..." }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.Tags.Delete(ctx, \"invalid-id\")\n if err != nil {\n log.Fatal(err)\n }\n if res != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n await latitudesh.tags.delete({\n tagId: \"\",\n });\n\n\n}\n\nrun();" } ] } }, "/team": { "get": { "summary": "Retrieve team", "operationId": "get-team", "tags": ["Teams"], "security": [{"Bearer":[]}], "x-mint": {"href":"/api-reference/get-team"}, "responses": {"200":{"description":"Success","content":{"application/vnd.api+json":{"examples":{"when bare metal limit is set":{"value":{"data":[{"id":"team_BbQ0gXk6P1uxW7rNvg5VCM2znK2R","type":"teams","attributes":{"name":"641 Team","slug":"641-team","address":"8998 Murphy Fork, North Danahaven, CT 98631","currency":"1f7","created_at":"2026-01-09T15:57:10+00:00","updated_at":"2025-02-09T00:00:00+00:00","status":null,"enforce_mfa":false,"users":[{"id":"user_yxLxQ7mmJehljn3RK18aILyGP17","first_name":"Russell","last_name":"Wunsch","email":"hoyt@brakus.example","created_at":"2025-03-25T00:00:00.000Z","updated_at":"2025-03-30T00:00:00.000Z","role":{"id":"role_332j3k5oxYIKGZGPpxZKCl7nrXP","name":"Steve","created_at":"2025-04-13T00:00:00.000Z","updated_at":"2026-01-23T00:00:00.000Z"}}],"projects":[],"owner":{},"billing":{},"feature_flags":["feature_flag_1","feature_flag_2"],"limits":{"bare_metal":5,"bare_metal_gpu":1,"virtual_machine":5,"virtual_machine_gpu":3,"virtual_network":5,"database":null,"filesystem":null,"block_storage":null}}}],"meta":{}}},"when bare metal limit is not set":{"value":{"data":[{"id":"team_QzAj9782bVuWjQwwwv4guRw0lL5","type":"teams","attributes":{"name":"642 Team","slug":"642-team","address":"Suite 873 7622 Neal Plaza, Almetaburgh, UT 19776","currency":"7qq","created_at":"2025-11-14T15:57:10+00:00","updated_at":"2025-04-05T00:00:00+00:00","status":null,"enforce_mfa":false,"users":[{"id":"user_kEXBoLzrG4tNZzJYBrV8fN6Jzvy7","first_name":"Marin","last_name":"Pollich","email":"winter.hodkiewicz@huel.test","created_at":"2025-05-19T00:00:00.000Z","updated_at":"2025-06-03T00:00:00.000Z","role":{"id":"role_gpGwBll1EzsZ5GGZ7L6aCnGWbYE","name":"Lincoln","created_at":"2025-03-26T00:00:00.000Z","updated_at":"2026-08-24T00:00:00.000Z"}}],"projects":[],"owner":{},"billing":{},"feature_flags":["feature_flag_1","feature_flag_2"],"limits":{"bare_metal":null,"bare_metal_gpu":1,"virtual_machine":5,"virtual_machine_gpu":3,"virtual_network":5,"database":null,"filesystem":null,"block_storage":null}}}],"meta":{}}}},"schema":{"$ref":"#/components/schemas/teams"}}}}}, "x-speakeasy-name-override": "get", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "from latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.teams.get()\n\n # Handle response\n print(res)" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.Teams.Get(ctx)\n if err != nil {\n log.Fatal(err)\n }\n if res.Teams != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.teams.get();\n\n console.log(result);\n}\n\nrun();" } ] }, "post": { "summary": "Create team", "operationId": "post-team", "tags": ["Teams"], "security": [{"Bearer":[]}], "parameters": [], "x-mint": {"href":"/api-reference/post-team"}, "responses": {"201":{"description":"Created","content":{"application/vnd.api+json":{"examples":{"Created":{"value":{"data":{"id":"team_aEjv7ZKeWzCrjA5ANeMvImmKEoV","type":"teams","attributes":{"name":"Name","slug":"name","address":"Address","currency":"USD","token":"token-for-team","enforce_mfa":false,"customer_billing_id":"cus_hp2b02do","referred_code":null}},"meta":{}}}},"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/team"}}}}}}}, "requestBody": {"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["teams"]},"attributes":{"type":"object","properties":{"name":{"type":"string"},"currency":{"type":"string","enum":["USD","BRL"]},"address":{"type":"string"},"referred_code":{"type":"string","description":"Supported only for first team creation"}},"required":["name","currency"]}},"required":["type"]}},"required":["data"]},"examples":{"Created":{"summary":"Created","value":{"data":{"type":"teams","attributes":{"name":"Name","address":"Address","currency":"USD"}}}}}},"application/vnd.api+json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["teams"]},"attributes":{"type":"object","properties":{"name":{"type":"string"},"currency":{"type":"string","enum":["USD","BRL"]},"address":{"type":"string"},"referred_code":{"type":"string","description":"Supported only for first team creation"}},"required":["name","currency"]}},"required":["type"]}},"required":["data"]},"examples":{"Created":{"summary":"Created","value":{"data":{"type":"teams","attributes":{"name":"Name","address":"Address","currency":"USD"}}}}}}},"required":true}, "x-speakeasy-name-override": "create", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "import latitudesh_python_sdk\nfrom latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.teams.create(data={\n \"type\": latitudesh_python_sdk.PostTeamTeamsType.TEAMS,\n \"attributes\": {\n \"name\": \"Name\",\n \"currency\": latitudesh_python_sdk.PostTeamTeamsCurrency.USD,\n \"address\": \"Address\",\n },\n })\n\n # Handle response\n print(res)" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"github.com/latitudesh/latitudesh-go-sdk/models/operations\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.Teams.Create(ctx, operations.PostTeamTeamsRequestBody{\n Data: operations.PostTeamTeamsData{\n Type: operations.PostTeamTeamsTypeTeams,\n Attributes: &operations.PostTeamTeamsAttributes{\n Name: \"Name\",\n Currency: operations.PostTeamCurrencyUsd,\n Address: latitudeshgosdk.Pointer(\"Address\"),\n },\n },\n })\n if err != nil {\n log.Fatal(err)\n }\n if res.Object != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.teams.create({\n data: {\n type: \"teams\",\n attributes: {\n name: \"Name\",\n currency: \"USD\",\n address: \"Address\",\n },\n },\n });\n\n console.log(result);\n}\n\nrun();" } ] } }, "/team/{team_id}": {"patch":{ "summary": "Update team", "operationId": "patch-current-team", "tags": ["Teams"], "security": [{"Bearer":[]}], "parameters": [{"name":"team_id","in":"path","required":true,"examples":{"Success":{"value":"team_bVJM4y6m4VCyy101JzA3szlVGRb"}},"schema":{"type":"string"}}], "x-mint": {"href":"/api-reference/patch-current-team"}, "responses": {"200":{"description":"Success","content":{"application/vnd.api+json":{"examples":{"Success":{"value":{"data":{"id":"team_bVJM4y6m4VCyy101JzA3szlVGRb","type":"teams","attributes":{"name":"Langworth-Langosh","slug":"langworth-langosh","address":"2746 Joe Stream","currency":"WST","enforce_mfa":false,"referred_code":null}},"meta":{}}}},"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/team"}}}}}}}, "requestBody": {"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["teams"]},"attributes":{"type":"object","properties":{"address":{"type":"string"},"name":{"type":"string"},"currency":{"type":"string","default":"USD","enum":["USD","BRL"]},"referred_code":{"type":"string"}}}},"required":["id","type"]}},"required":["data"]},"examples":{"Success":{"summary":"Success","value":{"data":{"id":"team_bVJM4y6m4VCyy101JzA3szlVGRb","type":"teams","attributes":{"name":"Name","address":"Address"}}}}}},"application/vnd.api+json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["teams"]},"attributes":{"type":"object","properties":{"address":{"type":"string"},"name":{"type":"string"},"currency":{"type":"string","default":"USD","enum":["USD","BRL"]},"referred_code":{"type":"string"}}}},"required":["id","type"]}},"required":["data"]},"examples":{"Success":{"summary":"Success","value":{"data":{"id":"team_bVJM4y6m4VCyy101JzA3szlVGRb","type":"teams","attributes":{"name":"Name","address":"Address"}}}}}}},"required":true}, "x-speakeasy-name-override": "update", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "import latitudesh_python_sdk\nfrom latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.teams.update(team_id=\"team_bVJM4y6m4VCyy101JzA3szlVGRb\", data={\n \"id\": \"team_bVJM4y6m4VCyy101JzA3szlVGRb\",\n \"type\": latitudesh_python_sdk.PatchCurrentTeamTeamsType.TEAMS,\n \"attributes\": {\n \"address\": \"Address\",\n \"name\": \"Name\",\n },\n })\n\n # Handle response\n print(res)" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"github.com/latitudesh/latitudesh-go-sdk/models/operations\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.Teams.Update(ctx, \"team_bVJM4y6m4VCyy101JzA3szlVGRb\", operations.PatchCurrentTeamTeamsRequestBody{\n Data: operations.PatchCurrentTeamTeamsData{\n ID: \"team_bVJM4y6m4VCyy101JzA3szlVGRb\",\n Type: operations.PatchCurrentTeamTeamsTypeTeams,\n Attributes: &operations.PatchCurrentTeamTeamsAttributes{\n Address: latitudeshgosdk.Pointer(\"Address\"),\n Name: latitudeshgosdk.Pointer(\"Name\"),\n },\n },\n })\n if err != nil {\n log.Fatal(err)\n }\n if res.Object != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.teams.update({\n teamId: \"team_bVJM4y6m4VCyy101JzA3szlVGRb\",\n requestBody: {\n data: {\n id: \"team_bVJM4y6m4VCyy101JzA3szlVGRb\",\n type: \"teams\",\n attributes: {\n address: \"Address\",\n name: \"Name\",\n },\n },\n },\n });\n\n console.log(result);\n}\n\nrun();" } ] }}, "/traffic": {"get":{ "summary": "Retrieve traffic", "operationId": "get-traffic-consumption", "tags": ["Traffic"], "security": [{"Bearer":[]}], "parameters": [{"name":"filter[server]","in":"query","required":false,"description":"The server id to filter by","examples":{"Success":{"value":"sv_A05EdQ50dvKYQ"}},"schema":{"type":"string"}}, {"name":"filter[project]","in":"query","required":false,"description":"The project id to filter by","schema":{"type":"string"}}, {"name":"filter[date][gte]","in":"query","required":true,"description":"The start timestamp to retrieve the traffic. You must provide in ISO8601 format. Example: filter[date][gte]=2024-04-01T00:00:00Z","examples":{"Success":{"value":"2025-12-14T15:57:10Z"}},"schema":{"type":"string"}}, {"name":"filter[date][lte]","in":"query","required":true,"description":"The end timestamp to retrieve the traffic. You must provide in ISO8601 format. Example: filter[date][gte]=2024-04-31T23:59:59Z","examples":{"Success":{"value":"2026-01-14T15:57:10Z"}},"schema":{"type":"string"}}], "x-mint": {"href":"/api-reference/get-traffic-consumption"}, "responses": {"200":{"description":"Success","content":{"application/vnd.api+json":{"examples":{"Success":{"value":{"data":{"id":"","type":"traffic","attributes":{"from_date":1765727830,"to_date":1768406230,"total_inbound_gb":102,"total_outbound_gb":241,"total_inbound_95th_percentile_mbps":1832.91,"total_outbound_95th_percentile_mbps":1819.99,"regions":[{"region_slug":"brazil","total_inbound_gb":102,"total_outbound_gb":241,"total_inbound_95th_percentile_mbps":1832.91,"total_outbound_95th_percentile_mbps":1819.99,"data":[{"date":"2021-07-01T00:00:00.000+00:00","inbound_gb":10,"outbound_gb":102,"avg_outbound_speed_mbps":1.19,"avg_inbound_speed_mbps":0.13}, {"date":"2021-07-02T00:00:00.000+00:00","inbound_gb":2,"outbound_gb":6,"avg_outbound_speed_mbps":0.08,"avg_inbound_speed_mbps":0.02}, {"date":"2021-07-03T00:00:00.000+00:00","inbound_gb":5,"outbound_gb":15,"avg_outbound_speed_mbps":0.18,"avg_inbound_speed_mbps":0.06}, {"date":"2021-07-04T00:00:00.000+00:00","inbound_gb":57,"outbound_gb":32,"avg_outbound_speed_mbps":0.38,"avg_inbound_speed_mbps":0.66}, {"date":"2021-07-05T00:00:00.000+00:00","inbound_gb":11,"outbound_gb":59,"avg_outbound_speed_mbps":0.69,"avg_inbound_speed_mbps":0.13}, {"date":"2021-07-06T00:00:00.000+00:00","inbound_gb":17,"outbound_gb":27,"avg_outbound_speed_mbps":0.32,"avg_inbound_speed_mbps":0.2}]}]}},"meta":{}}}},"schema":{"$ref":"#/components/schemas/traffic"}}}}}, "x-speakeasy-name-override": "get", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "from latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.traffic.get(filter_date_gte=\"2025-12-14T15:57:10Z\", filter_date_lte=\"2026-01-14T15:57:10Z\", filter_server=\"sv_A05EdQ50dvKYQ\", filter_project=\"proj_AW6Q2D9lqKLpr\")\n\n # Handle response\n print(res)" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.Traffic.Get(ctx, \"2025-12-14T15:57:10Z\", \"2026-01-14T15:57:10Z\", latitudeshgosdk.Pointer(\"sv_A05EdQ50dvKYQ\"), latitudeshgosdk.Pointer(\"proj_AW6Q2D9lqKLpr\"))\n if err != nil {\n log.Fatal(err)\n }\n if res.Traffic != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.traffic.get({\n filterServer: \"sv_A05EdQ50dvKYQ\",\n filterDateGte: \"2025-12-14T15:57:10Z\",\n filterDateLte: \"2026-01-14T15:57:10Z\",\n });\n\n console.log(result);\n}\n\nrun();" } ] }}, "/traffic/quota": {"get":{ "summary": "Retrieve traffic quota", "operationId": "get-traffic-quota", "tags": ["Traffic"], "security": [{"Bearer":[]}], "parameters": [{"name":"filter[project]","in":"query","required":false,"schema":{"type":"string"}}], "x-mint": {"href":"/api-reference/get-traffic-quota"}, "responses": {"200":{"description":"Success","content":{"application/vnd.api+json":{"examples":{"Success":{"value":{"data":{"id":"traffic_quota","type":"traffic_quota","attributes":{"quota_per_project":[{"project_id":"proj_lkg1DekRdvZE5","project_slug":"incredible-bronze-knife","billing_method":"Normal","quota_per_region":[{"region_id":"reg_9QDB5qag","price":500,"region_slug":"brazil","quota_in_tb":{"granted":20,"additional":0,"total":20},"quota_in_mbps":{"granted":0,"additional":0,"total":0}}]}]}},"meta":{}}}},"schema":{"$ref":"#/components/schemas/traffic_quota"}}}}}, "x-speakeasy-name-override": "getQuota", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "from latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.traffic.get_quota()\n\n # Handle response\n print(res)" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.Traffic.GetQuota(ctx, nil)\n if err != nil {\n log.Fatal(err)\n }\n if res.TrafficQuota != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.traffic.getQuota();\n\n console.log(result);\n}\n\nrun();" } ] }}, "/user_data": { "get": { "summary": "List user data", "operationId": "get-users-data", "tags": ["User data"], "security": [{"Bearer":[]}], "parameters": [{"name":"filter[project]","in":"query","required":false,"description":"Project ID or slug","schema":{"type":"string"}}, {"name":"filter[scope]","in":"query","required":false,"description":"Filter by scope: `project` (has project), `team` (no project), or empty (all)","schema":{"type":"string"}}, {"name":"extra_fields[user_data]","in":"query","schema":{"type":"string","default":"decoded_content"},"description":"The `decoded_content` is provided as an extra attribute that shows content in decoded form.","examples":{"Success":{"value":"decoded_content"}}}], "description": "List all Users Data in the project. These scripts can be used to configure servers with user data.\n", "x-mint": {"href":"/api-reference/get-users-data"}, "responses": {"200":{"description":"Success","content":{"application/vnd.api+json":{"examples":{"Success":{"value":{"data":[{"id":"ud_1Qkm7dXzD8nZV","type":"user_data","attributes":{"description":"Thick slices of French toast bread, brown sugar, half-and-half and vanilla, topped with powdered sugar. With two eggs served any style, and your choice of smoked bacon or smoked ham.","content":"VHdvIGJ1dHRlcm1pbGsgd2FmZmxlcywgdG9wcGVkIHdpdGggd2hpcHBlZCBjcmVhbSBhbmQgbWFwbGUgc3lydXAsIGEgc2lkZSBvZiB0d28gZWdncyBzZXJ2ZWQgYW55IHN0eWxlLCBhbmQgeW91ciBjaG9pY2Ugb2Ygc21va2VkIGJhY29uIG9yIHNtb2tlZCBoYW0u","created_at":"2026-01-14T15:57:11+00:00","updated_at":"2026-01-14T15:57:11+00:00","decoded_content":"Two buttermilk waffles, topped with whipped cream and maple syrup, a side of two eggs served any style, and your choice of smoked bacon or smoked ham.","project":{"id":"proj_1ZJrdxoyOg4LV","name":"Heavy Duty Aluminum Coat","slug":"heavy-duty-aluminum-coat","description":"Enormous Bronze Bag","provisioning_type":"on_demand","billing_type":"Normal","billing_method":"Normal","bandwidth_alert":false,"environment":null,"billing":{},"stats":{"databases":0,"ip_addresses":0,"prefixes":0,"servers":0,"storages":0,"virtual_machines":0,"vlans":0}}}}],"meta":{}}}},"schema":{"$ref":"#/components/schemas/user_data"}}}}}, "x-speakeasy-group": "userData", "x-speakeasy-name-override": "list", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "from latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.user_data.get_users_data(extra_fields_user_data=\"decoded_content\")\n\n # Handle response\n print(res)" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.UserData.List(ctx, nil, nil, latitudeshgosdk.Pointer(\"decoded_content\"))\n if err != nil {\n log.Fatal(err)\n }\n if res.UserData != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.userData.list({});\n\n console.log(result);\n}\n\nrun();" } ] }, "post": { "summary": "Create user data", "operationId": "post-user-data", "tags": ["User data"], "security": [{"Bearer":[]}], "parameters": [], "description": "Allows you to create User Data in a team, which can be used to perform custom setup on your servers after deploy and reinstall.\n", "x-mint": {"href":"/api-reference/post-user-data"}, "responses": {"201":{"description":"Created","content":{"application/vnd.api+json":{"examples":{"Created":{"value":{"data":{"id":"ud_w49QDB55qagKb","type":"user_data","attributes":{"description":"User Data description","content":"I2Nsb3VkLWNvbmZpZwpydW5jbWQ6CiAtIFsgdG91Y2gsICAvaG9tZS91YnVudHUvdGVzdCBd","created_at":"2026-01-14T15:57:11+00:00","updated_at":"2026-01-14T15:57:11+00:00","decoded_content":"#cloud-config\nruncmd:\n - [ touch, /home/ubuntu/test ]","project":{"id":"proj_QraYDPW3qpjwW","name":"Rustic Granite Gloves","slug":"rustic-granite-gloves","description":"Heavy Duty Leather Wallet","provisioning_type":"on_demand","billing_type":"Normal","billing_method":"Normal","bandwidth_alert":false,"environment":null,"billing":{},"stats":{"databases":0,"ip_addresses":0,"prefixes":0,"servers":0,"storages":0,"virtual_machines":0,"vlans":0}}}},"meta":{}}}},"schema":{"$ref":"#/components/schemas/user_data_object"}}}}}, "requestBody": {"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["user_data"]},"attributes":{"type":"object","properties":{"description":{"type":"string","description":"description of the User Data"},"project":{"type":"string","description":"Project ID or slug"},"content":{"type":"string","description":"base64 encoded content of the User Data"}},"required":["content","description"]}},"required":["type"]}},"required":["data"]},"examples":{"Created":{"summary":"Created","value":{"data":{"type":"user_data","attributes":{"content":"I2Nsb3VkLWNvbmZpZwpydW5jbWQ6CiAtIFsgdG91Y2gsICAvaG9tZS91YnVudHUvdGVzdCBd","description":"User Data description","project":"proj_QraYDPW3qpjwW"}}}}}},"application/vnd.api+json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["user_data"]},"attributes":{"type":"object","properties":{"description":{"type":"string","description":"description of the User Data"},"project":{"type":"string","description":"Project ID or slug"},"content":{"type":"string","description":"base64 encoded content of the User Data"}},"required":["content","description"]}},"required":["type"]}},"required":["data"]},"examples":{"Created":{"summary":"Created","value":{"data":{"type":"user_data","attributes":{"content":"I2Nsb3VkLWNvbmZpZwpydW5jbWQ6CiAtIFsgdG91Y2gsICAvaG9tZS91YnVudHUvdGVzdCBd","description":"User Data description","project":"proj_QraYDPW3qpjwW"}}}}}}},"required":true}, "x-speakeasy-group": "userData", "x-speakeasy-name-override": "createNew", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "import latitudesh_python_sdk\nfrom latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.user_data.post_user_data(data={\n \"type\": latitudesh_python_sdk.PostUserDataUserDataType.USER_DATA,\n \"attributes\": {\n \"description\": \"User Data description\",\n \"project\": \"proj_QraYDPW3qpjwW\",\n \"content\": \"I2Nsb3VkLWNvbmZpZwpydW5jbWQ6CiAtIFsgdG91Y2gsICAvaG9tZS91YnVudHUvdGVzdCBd\",\n },\n })\n\n # Handle response\n print(res)" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"github.com/latitudesh/latitudesh-go-sdk/models/operations\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.UserData.CreateNew(ctx, operations.PostUserDataUserDataRequestBody{\n Data: operations.PostUserDataUserDataData{\n Type: operations.PostUserDataUserDataTypeUserData,\n Attributes: &operations.PostUserDataUserDataAttributes{\n Description: \"User Data description\",\n Project: latitudeshgosdk.Pointer(\"proj_QraYDPW3qpjwW\"),\n Content: \"I2Nsb3VkLWNvbmZpZwpydW5jbWQ6CiAtIFsgdG91Y2gsICAvaG9tZS91YnVudHUvdGVzdCBd\",\n },\n },\n })\n if err != nil {\n log.Fatal(err)\n }\n if res.UserDataObject != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.userData.createNew({\n data: {\n type: \"user_data\",\n attributes: {\n description: \"User Data description\",\n project: \"proj_QraYDPW3qpjwW\",\n content: \"I2Nsb3VkLWNvbmZpZwpydW5jbWQ6CiAtIFsgdG91Y2gsICAvaG9tZS91YnVudHUvdGVzdCBd\",\n },\n },\n });\n\n console.log(result);\n}\n\nrun();" } ] } }, "/user_data/{user_data_id}": { "get": { "summary": "Retrieve user data", "operationId": "get-user-data", "tags": ["User data"], "security": [{"Bearer":[]}], "parameters": [{"name":"user_data_id","in":"path","required":true,"examples":{"Success":{"value":"ud_MLGXPdWgdnNWk"}},"schema":{"type":"string"}}, {"name":"extra_fields[user_data]","in":"query","schema":{"type":"string","default":"decoded_content"},"description":"The `decoded_content` is provided as an extra attribute that shows content in decoded form.","examples":{"Success":{"value":"decoded_content"}}}], "description": "Get User Data in the project. These scripts can be used to configure servers with user data.\n", "x-mint": {"href":"/api-reference/get-user-data"}, "responses": {"200":{"description":"Success","content":{"application/vnd.api+json":{"examples":{"Success":{"value":{"data":{"id":"ud_MLGXPdWgdnNWk","type":"user_data","attributes":{"description":"Three egg whites with spinach, mushrooms, caramelized onions, tomatoes and low-fat feta cheese. With herbed quinoa, and your choice of rye or whole-grain toast.","content":"VHdvIGJ1dHRlcm1pbGsgd2FmZmxlcywgdG9wcGVkIHdpdGggd2hpcHBlZCBjcmVhbSBhbmQgbWFwbGUgc3lydXAsIGEgc2lkZSBvZiB0d28gZWdncyBzZXJ2ZWQgYW55IHN0eWxlLCBhbmQgeW91ciBjaG9pY2Ugb2Ygc21va2VkIGJhY29uIG9yIHNtb2tlZCBoYW0u","created_at":"2026-01-14T15:57:11+00:00","updated_at":"2026-01-14T15:57:11+00:00","decoded_content":"Two buttermilk waffles, topped with whipped cream and maple syrup, a side of two eggs served any style, and your choice of smoked bacon or smoked ham.","project":{"id":"proj_pbV0DgkzD4AWz","name":"Sleek Iron Wallet","slug":"sleek-iron-wallet","description":"Small Silk Shoes","provisioning_type":"on_demand","billing_type":"Normal","billing_method":"Normal","bandwidth_alert":false,"environment":null,"billing":{},"stats":{"databases":0,"ip_addresses":0,"prefixes":0,"servers":0,"storages":0,"virtual_machines":0,"vlans":0}}}},"meta":{}}}},"schema":{"$ref":"#/components/schemas/user_data_object"}}}}}, "x-speakeasy-group": "userData", "x-speakeasy-name-override": "retrieve", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "from latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.user_data.get_user_data(user_data_id=\"ud_MLGXPdWgdnNWk\", extra_fields_user_data=\"decoded_content\")\n\n # Handle response\n print(res)" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.UserData.Retrieve(ctx, \"ud_MLGXPdWgdnNWk\", latitudeshgosdk.Pointer(\"decoded_content\"))\n if err != nil {\n log.Fatal(err)\n }\n if res.UserDataObject != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.userData.retrieve({\n userDataId: \"ud_MLGXPdWgdnNWk\",\n });\n\n console.log(result);\n}\n\nrun();" } ] }, "patch": { "summary": "Update user data", "operationId": "patch-user-data", "tags": ["User data"], "security": [{"Bearer":[]}], "parameters": [{"name":"user_data_id","in":"path","required":true,"schema":{"type":"string"}}], "description": "Allow you update User Data in a team.\n", "x-mint": {"href":"/api-reference/patch-user-data"}, "responses": {"200":{"description":"Success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/user_data_object"}}}}}, "requestBody": {"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["user_data"]},"attributes":{"type":"object","properties":{"description":{"type":"string","description":"description dummy user data"},"content":{"type":"string","description":"encoded content of the User Data"}}}},"required":["id","type"]}},"required":["data"]}},"application/vnd.api+json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["user_data"]},"attributes":{"type":"object","properties":{"description":{"type":"string","description":"description dummy user data"},"content":{"type":"string","description":"encoded content of the User Data"}}}},"required":["id","type"]}},"required":["data"]}}}}, "x-speakeasy-group": "userData", "x-speakeasy-name-override": "update", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "import latitudesh_python_sdk\nfrom latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.user_data.patch_user_data(user_data_id=\"ud_Av9BVDavORm1W\", data={\n \"id\": \"ud_Av9BVDavORm1W\",\n \"type\": latitudesh_python_sdk.PatchUserDataUserDataType.USER_DATA,\n \"attributes\": {\n \"content\": \"I2Nsb3VkLWNvbmZpZwpydW5jbWQ6CiAtIFsgdG91Y2gsICAvaG9tZS91YnVudHUvdGVzdCBd\",\n },\n })\n\n # Handle response\n print(res)" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"github.com/latitudesh/latitudesh-go-sdk/models/operations\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.UserData.Update(ctx, \"ud_Av9BVDavORm1W\", &operations.PatchUserDataUserDataRequestBody{\n Data: operations.PatchUserDataUserDataData{\n ID: \"ud_Av9BVDavORm1W\",\n Type: operations.PatchUserDataUserDataTypeUserData,\n Attributes: &operations.PatchUserDataUserDataAttributes{\n Content: latitudeshgosdk.Pointer(\"I2Nsb3VkLWNvbmZpZwpydW5jbWQ6CiAtIFsgdG91Y2gsICAvaG9tZS91YnVudHUvdGVzdCBd\"),\n },\n },\n })\n if err != nil {\n log.Fatal(err)\n }\n if res.UserDataObject != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.userData.update({\n userDataId: \"\",\n });\n\n console.log(result);\n}\n\nrun();" } ] }, "delete": { "summary": "Delete user data", "operationId": "delete-user-data", "tags": ["User data"], "security": [{"Bearer":[]}], "parameters": [{"name":"user_data_id","in":"path","required":true,"schema":{"type":"string"}}], "x-mint": {"href":"/api-reference/delete-user-data"}, "responses": {"204":{"description":"No Content"}}, "x-speakeasy-group": "userData", "x-speakeasy-name-override": "delete", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "from latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n latitudesh.user_data.delete_user_data(user_data_id=\"123\")\n\n # Use the SDK ..." }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.UserData.Delete(ctx, \"123\")\n if err != nil {\n log.Fatal(err)\n }\n if res != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n await latitudesh.userData.delete({\n userDataId: \"\",\n });\n\n\n}\n\nrun();" } ] } }, "/user/profile": {"get":{ "summary": "Retrieve profile", "operationId": "get-user-profile", "tags": ["User profile"], "security": [{"Bearer":[]}], "description": "Retrieve the current user profile\n", "x-mint": {"href":"/api-reference/get-user-profile"}, "responses": {"200":{"description":"Success","content":{"application/vnd.api+json":{"examples":{"Success":{"value":{"data":{"id":"user_L9B4LNaW0xiLXYQoaoPyt5oL9EN0","type":"users","attributes":{"first_name":"Jefferey","last_name":"Boyer","email":"lea@crona-hahn.test","created_at":"2025-06-06T00:00:00+00:00","updated_at":"2025-08-26T00:00:00+00:00","role":{"id":"role_B48kwVxyWkuxNJ2ZjpoJcx1Bnlo","name":"owner","created_at":"2025-05-05T00:00:00.000Z","updated_at":"2026-11-10T00:00:00.000Z"}}},"meta":{}}}},"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/user"}}}}}}}, "x-speakeasy-group": "userProfile", "x-speakeasy-name-override": "get", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "from latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.user_profile.get()\n\n # Handle response\n print(res)" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.UserProfile.Get(ctx)\n if err != nil {\n log.Fatal(err)\n }\n if res.Object != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.userProfile.get();\n\n console.log(result);\n}\n\nrun();" } ] }}, "/user/profile/{id}": {"patch":{ "summary": "Update profile", "operationId": "patch-user-profile", "tags": ["User profile"], "security": [{"Bearer":[]}], "parameters": [{"name":"id","in":"path","required":true,"examples":{"Success":{"value":"user_8PMvy2GL72uKKyXyANEnsjMQYMP"}},"schema":{"type":"string"}}], "description": "Update the current user profile\n", "x-mint": {"href":"/api-reference/patch-user-profile"}, "responses": {"200":{"description":"Success","content":{"application/vnd.api+json":{"examples":{"Success":{"value":{"data":{"id":"user_8PMvy2GL72uKKyXyANEnsjMQYMP","type":"users","attributes":{"first_name":"Sherwood","last_name":"Ward","email":"deeann_kuhlman@leffler.test","role":"collaborator","created_at":null,"updated_at":null}},"meta":{}}}},"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/user_update"}}}}}}}, "requestBody": {"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["users"]},"attributes":{"type":"object","properties":{"first_name":{"type":"string"},"last_name":{"type":"string"},"role":{"type":"string","enum":["administrator","billing","collaborator","owner"]}}}},"required":["id","type"]}},"required":["data"]},"examples":{"Success":{"summary":"Success","value":{"data":{"id":"user_8PMvy2GL72uKKyXyANEnsjMQYMP","type":"users","attributes":{"role":"collaborator"}}}}}},"application/vnd.api+json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["users"]},"attributes":{"type":"object","properties":{"first_name":{"type":"string"},"last_name":{"type":"string"},"role":{"type":"string","enum":["administrator","billing","collaborator","owner"]}}}},"required":["id","type"]}},"required":["data"]},"examples":{"Success":{"summary":"Success","value":{"data":{"id":"user_8PMvy2GL72uKKyXyANEnsjMQYMP","type":"users","attributes":{"role":"collaborator"}}}}}}},"required":true}, "x-speakeasy-group": "userProfile", "x-speakeasy-name-override": "update", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "import latitudesh_python_sdk\nfrom latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.user_profile.update(id=\"user_8PMvy2GL72uKKyXyANEnsjMQYMP\", data={\n \"id\": \"user_8PMvy2GL72uKKyXyANEnsjMQYMP\",\n \"type\": latitudesh_python_sdk.PatchUserProfileUserProfileType.USERS,\n \"attributes\": {\n \"role\": latitudesh_python_sdk.PatchUserProfileUserProfileRole.COLLABORATOR,\n },\n })\n\n # Handle response\n print(res)" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"github.com/latitudesh/latitudesh-go-sdk/models/operations\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.UserProfile.Update(ctx, \"user_8PMvy2GL72uKKyXyANEnsjMQYMP\", operations.PatchUserProfileUserProfileRequestBody{\n Data: operations.PatchUserProfileUserProfileData{\n ID: \"user_8PMvy2GL72uKKyXyANEnsjMQYMP\",\n Type: operations.PatchUserProfileUserProfileTypeUsers,\n Attributes: &operations.PatchUserProfileUserProfileAttributes{\n Role: operations.PatchUserProfileUserProfileRoleCollaborator.ToPointer(),\n },\n },\n })\n if err != nil {\n log.Fatal(err)\n }\n if res.Object != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.userProfile.update({\n id: \"user_8PMvy2GL72uKKyXyANEnsjMQYMP\",\n requestBody: {\n data: {\n id: \"user_8PMvy2GL72uKKyXyANEnsjMQYMP\",\n type: \"users\",\n attributes: {\n role: \"collaborator\",\n },\n },\n },\n });\n\n console.log(result);\n}\n\nrun();" } ] }}, "/user/teams": {"get":{ "summary": "List user teams", "operationId": "get-user-teams", "tags": ["User profile"], "security": [{"Bearer":[]}], "description": "Returns a list of all teams the user belongs to\n", "x-mint": {"href":"/api-reference/get-user-teams"}, "responses": {"200":{"description":"Success","content":{"application/vnd.api+json":{"examples":{"when bare metal limit is set":{"value":{"data":[{"id":"team_NYGwel1RnbC44GX83lamhRe8Jjw","type":"teams","attributes":{"name":"687 Team","slug":"687-team","address":"595 Schmitt Mountains, West Frances, NJ 39049-3937","currency":"BRL","created_at":"2026-01-09T15:57:13+00:00","updated_at":"2026-01-14T15:57:13+00:00","status":"verified","enforce_mfa":false,"users":[{"id":"user_Mzw8rQR7yyS9p5pyWrzBfyxrMV4","first_name":"Jaime","last_name":"Ziemann","email":"codi_hand@miller.test","created_at":"2026-01-08T00:00:00.000Z","updated_at":"2025-01-27T00:00:00.000Z","role":{"id":"role_V1aYWNZmvlhrk9eoK58JSrY0MX4","name":"owner","created_at":"2025-05-01T00:00:00.000Z","updated_at":"2026-11-05T00:00:00.000Z"}}],"projects":[],"owner":{"id":"user_Mzw8rQR7yyS9p5pyWrzBfyxrMV4","first_name":"Jaime","last_name":"Ziemann","email":"codi_hand@miller.test","created_at":"2026-01-08T00:00:00.000Z","updated_at":"2025-01-27T00:00:00.000Z","role":{"id":"role_V1aYWNZmvlhrk9eoK58JSrY0MX4","name":"owner","created_at":"2025-05-01T00:00:00.000Z","updated_at":"2026-11-05T00:00:00.000Z"}},"billing":{"id":"bill_mw49QDB5qagKb","customer_billing_id":"cus_dluxyhyhjii4qk"},"feature_flags":[],"limits":{"bare_metal":5,"bare_metal_gpu":1,"virtual_machine":5,"virtual_machine_gpu":3,"virtual_network":5,"database":null,"filesystem":null,"block_storage":null}}}],"meta":{}}},"when bare metal limit is not set":{"value":{"data":[{"id":"team_NXK2MpJXgzU8AGjryZ09Hper7l5","type":"teams","attributes":{"name":"688 Team","slug":"688-team","address":"Apt. 492 6439 Salvatore Lodge, Denatown, MD 56634-2611","currency":"BRL","created_at":"2025-11-14T15:57:13+00:00","updated_at":"2026-01-14T15:57:13+00:00","status":"verified","enforce_mfa":false,"users":[{"id":"user_MbwWpJ37LMt9rBj1E47PFVomyzB7","first_name":"Nieves","last_name":"Huel","email":"nickolas@weimann.example","created_at":"2025-11-16T00:00:00.000Z","updated_at":"2025-04-20T00:00:00.000Z","role":{"id":"role_97mkkRl14RCEzQbYeXJ0t905XMN","name":"owner","created_at":"2025-08-08T00:00:00.000Z","updated_at":"2026-10-14T00:00:00.000Z"}}],"projects":[],"owner":{"id":"user_MbwWpJ37LMt9rBj1E47PFVomyzB7","first_name":"Nieves","last_name":"Huel","email":"nickolas@weimann.example","created_at":"2025-11-16T00:00:00.000Z","updated_at":"2025-04-20T00:00:00.000Z","role":{"id":"role_97mkkRl14RCEzQbYeXJ0t905XMN","name":"owner","created_at":"2025-08-08T00:00:00.000Z","updated_at":"2026-10-14T00:00:00.000Z"}},"billing":{"id":"bill_AW6Q2D9lqKLpr","customer_billing_id":"cus_nnflz4ow2j6zv9"},"feature_flags":[],"limits":{"bare_metal":null,"bare_metal_gpu":1,"virtual_machine":5,"virtual_machine_gpu":3,"virtual_network":5,"database":null,"filesystem":null,"block_storage":null}}}],"meta":{}}}},"schema":{"$ref":"#/components/schemas/user_teams"}}}}}, "x-speakeasy-group": "userProfile", "x-speakeasy-name-override": "listTeams", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "from latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.user_profile.list_teams()\n\n # Handle response\n print(res)" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.UserProfile.ListTeams(ctx)\n if err != nil {\n log.Fatal(err)\n }\n if res.UserTeams != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.userProfile.listTeams();\n\n console.log(result);\n}\n\nrun();" } ] }}, "/virtual_machines": { "post": { "summary": "Create VM", "operationId": "create-virtual-machine", "tags": ["Virtual machines"], "security": [{"Bearer":[]}], "parameters": [], "description": "Creates a new Virtual Machine.\n", "x-mint": {"href":"/api-reference/create-virtual-machine"}, "responses": {"201":{"description":"Created","content":{"application/vnd.api+json":{"examples":{"Created":{"value":{"data":{"id":"vm_mw49QDB5qagKb","type":"virtual_machines","attributes":{"name":"my-new-vm","status":"Starting","created_at":"2026-01-14T15:57:13+00:00","primary_ipv4":"192.168.1.50","operating_system":{"name":"Ubuntu 24.04 LTS","slug":"ubuntu_24_04_x64_lts","version":"24.04 x64 LTS","features":{"raid":true,"ssh_keys":true,"user_data":true},"distro":{"name":"Ubuntu","slug":"ubuntu","series":"noble"}},"site":"FRA181","billing":"monthly","plan":{"id":"plan_VE1Wd3VXOXnZJ","name":"g3.h100.large-131"},"specs":{"vcpu":16,"ram":"128 GB","storage":"100 GB","nic":"1 x 1 Gbps","gpu":"1 x NVIDIA H100 Tensor Core GPU"},"team":{"id":"team_zAbb72Zm3VS3N0o89Y48sGXv3mZ","name":"690 Team","slug":"690-team","description":"690 Team","address":"Apt. 922 405 Ondricka Lights, Lake Jennineview, SC 58925-4625","status":"verified","currency":{"id":"cur_AW6Q2D9lqKLpr","code":"BRL","name":"Brazilian Real","currency_id":null}},"project":{"id":"proj_GMy1Dbk1ON50m","name":"Lightweight Leather Lamp","slug":"lightweight-leather-lamp","description":"Sleek Wool Plate","billing_type":"Normal","billing_method":"Normal","bandwidth_alert":false,"environment":null,"billing":{"subscription_id":null,"type":"Normal","method":"Normal"},"stats":{"databases":0,"ip_addresses":0,"prefixes":0,"servers":0,"storages":0,"virtual_machines":1,"vlans":0}}}}}}},"schema":{"$ref":"#/components/schemas/virtual_machine"}}}}}, "requestBody": {"content":{"application/json":{"schema":{"$ref":"#/components/schemas/virtual_machine_payload"},"examples":{"Created":{"summary":"Created","value":{"data":{"type":"virtual_machines","attributes":{"project":"lightweight-leather-lamp","name":"my-new-vm","billing":"monthly"}}}},"CreatedWithOS":{"summary":"Created with operating system","value":{"data":{"type":"virtual_machines","attributes":{"project":"lightweight-leather-lamp","name":"my-new-vm","billing":"monthly","operating_system":"ubuntu_24_04_x64_lts"}}}}}},"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/virtual_machine_payload"},"examples":{"Created":{"summary":"Created","value":{"data":{"type":"virtual_machines","attributes":{"project":"lightweight-leather-lamp","name":"my-new-vm","billing":"monthly"}}}},"CreatedWithOS":{"summary":"Created with operating system","value":{"data":{"type":"virtual_machines","attributes":{"project":"lightweight-leather-lamp","name":"my-new-vm","billing":"monthly","operating_system":"ubuntu_24_04_x64_lts"}}}}}}},"required":true}, "x-speakeasy-group": "virtualMachines", "x-speakeasy-name-override": "create", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "import latitudesh_python_sdk\nfrom latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.virtual_machines.create(data={\n \"type\": latitudesh_python_sdk.VirtualMachinePayloadType.VIRTUAL_MACHINES,\n \"attributes\": {\n \"name\": \"my-new-vm\",\n \"project\": \"lightweight-leather-lamp\",\n },\n })\n\n # Handle response\n print(res)" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"github.com/latitudesh/latitudesh-go-sdk/models/components\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.VirtualMachines.Create(ctx, components.VirtualMachinePayload{\n Data: &components.VirtualMachinePayloadData{\n Type: components.VirtualMachinePayloadTypeVirtualMachines.ToPointer(),\n Attributes: &components.VirtualMachinePayloadAttributes{\n Name: latitudeshgosdk.Pointer(\"my-new-vm\"),\n Project: latitudeshgosdk.Pointer(\"lightweight-leather-lamp\"),\n },\n },\n })\n if err != nil {\n log.Fatal(err)\n }\n if res.VirtualMachine != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.virtualMachines.create({\n data: {\n type: \"virtual_machines\",\n attributes: {\n name: \"my-new-vm\",\n project: \"lightweight-leather-lamp\",\n },\n },\n });\n\n console.log(result);\n}\n\nrun();" } ] }, "get": { "summary": "List VMs", "operationId": "index-virtual-machine", "tags": ["Virtual machines"], "parameters": [{"name":"filter[project]","in":"query","required":false,"description":"The project ID or Slug to filter by","schema":{"type":"string"}}, {"name":"extra_fields[virtual_machines]","in":"query","required":false,"description":"The `credentials` are provided as extra attributes that are lazy loaded. To request it, just set `extra_fields[virtual_machines]=credentials` in the query string.","examples":{"Success":{"value":"credentials"}},"schema":{"type":"string"}}], "security": [{"Bearer":[]}], "description": "Show all Team's Virtual Machines.\n", "x-mint": {"href":"/api-reference/index-virtual-machine"}, "responses": {"200":{"description":"Success","content":{"application/vnd.api+json":{"examples":{"Success":{"value":{"data":[{"id":"vm_zlkg1DegdvZE5","type":"virtual_machines","attributes":{"name":"my-new-vm","status":"Running","created_at":"2026-01-14T15:57:14+00:00","primary_ipv4":"192.168.1.100","credentials":{"username":"ubuntu","host":"192.168.1.100","password":"secure_password","ssh_keys":[]},"operating_system":null,"site":"MEX192","billing":"hourly","plan":{"id":"plan_059EqYVjDQj8p","name":"g3.l40s.medium-142"},"specs":{"vcpu":null,"ram":null,"storage":null,"nic":"1 x 1 Gbps","gpu":"1 x NVIDIA H100 Tensor Core GPU"},"team":{"id":"team_1ejNe2b5gQiKpxYNxz0bFm2yY38","name":"701 Team","slug":"701-team","description":"701 Team","address":"29825 Klocko Trafficway, Wunschhaven, KS 74888","status":"verified","currency":{"id":"cur_AW6Q2D9lqKLpr","code":"BRL","name":"Brazilian Real","currency_id":null}},"project":{"id":"proj_w49QDB2WDagKb","name":"Intelligent Granite Pants","slug":"intelligent-granite-pants","description":"Aerodynamic Copper Bottle","billing_type":"Normal","billing_method":"Normal","bandwidth_alert":false,"environment":null,"billing":{"subscription_id":null,"type":"Normal","method":"Normal"},"stats":{"databases":0,"ip_addresses":0,"prefixes":0,"servers":0,"storages":0,"virtual_machines":1,"vlans":0}}}}]}}},"schema":{"$ref":"#/components/schemas/virtual_machines"}}}}}, "x-speakeasy-group": "virtualMachines", "x-speakeasy-name-override": "list", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "from latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.virtual_machines.list(extra_fields_virtual_machines=\"credentials\")\n\n # Handle response\n print(res)" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.VirtualMachines.List(ctx, nil, latitudeshgosdk.Pointer(\"credentials\"))\n if err != nil {\n log.Fatal(err)\n }\n if res.VirtualMachines != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.virtualMachines.list({\n extraFieldsVirtualMachines: \"credentials\",\n });\n\n console.log(result);\n}\n\nrun();" } ] } }, "/virtual_machines/{virtual_machine_id}": { "get": { "summary": "Retrieve VM", "operationId": "show-virtual-machine", "tags": ["Virtual machines"], "parameters": [{"name":"virtual_machine_id","in":"path","required":true,"examples":{"Success":{"value":"vm_7vYAZqGBdMQ94"}},"schema":{"type":"string"}}], "security": [{"Bearer":[]}], "description": "Show a Virtual Machine.\n", "x-mint": {"href":"/api-reference/show-virtual-machine"}, "responses": {"200":{"description":"Success","content":{"application/vnd.api+json":{"examples":{"Success":{"value":{"data":{"id":"vm_7vYAZqGBdMQ94","type":"virtual_machines","attributes":{"name":"my-new-vm","status":"Starting","created_at":"2026-01-14T15:57:15+00:00","primary_ipv4":"10.0.0.25","operating_system":null,"site":"london-2193","billing":"hourly","plan":{"id":"plan_VE1Wd3VQOXnZJ","name":"c3.small.x86-143"},"specs":{"vcpu":16,"ram":"128 GB","storage":"100 GB","nic":"1 x 1 Gbps","gpu":"1 x NVIDIA H100 Tensor Core GPU"},"team":{"id":"team_GpZboxNev1U2pxpmKwWAc8e01vpp","name":"702 Team","slug":"702-team","description":"702 Team","address":"Suite 729 8171 Albina Forges, Eldridgeberg, CA 26345-3293","status":"verified","currency":{"id":"cur_AW6Q2D9lqKLpr","code":"BRL","name":"Brazilian Real","currency_id":null}},"project":{"id":"proj_W6Q2D9ZQOKLpr","name":"Aerodynamic Wool Watch","slug":"aerodynamic-wool-watch","description":"Intelligent Paper Shirt","billing_type":"Normal","billing_method":"Normal","bandwidth_alert":false,"environment":null,"billing":{"subscription_id":null,"type":"Normal","method":"Normal"},"stats":{"databases":0,"ip_addresses":0,"prefixes":0,"servers":0,"storages":0,"virtual_machines":1,"vlans":0}}}}}}},"schema":{"$ref":"#/components/schemas/virtual_machine"}}}}}, "x-speakeasy-group": "virtualMachines", "x-speakeasy-name-override": "get", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "from latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.virtual_machines.get(virtual_machine_id=\"vm_7vYAZqGBdMQ94\")\n\n # Handle response\n print(res)" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.VirtualMachines.Get(ctx, \"vm_7vYAZqGBdMQ94\")\n if err != nil {\n log.Fatal(err)\n }\n if res.VirtualMachine != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.virtualMachines.get({\n virtualMachineId: \"vm_7vYAZqGBdMQ94\",\n });\n\n console.log(result);\n}\n\nrun();" } ] }, "patch": { "summary": "Update VM", "operationId": "update-virtual-machine", "tags": ["Virtual machines"], "security": [{"Bearer":[]}], "parameters": [{"name":"virtual_machine_id","in":"path","required":true,"examples":{"Success":{"value":"vm_7vYAZqGBdMQ94"}},"schema":{"type":"string"}}], "description": "Updates a Virtual Machine's display name (hostname).\n", "x-mint": {"href":"/api-reference/update-virtual-machine"}, "responses": {"200":{"description":"Success","content":{"application/vnd.api+json":{"examples":{"Success":{"value":{"data":{"id":"vm_7vYAZqGBdMQ94","type":"virtual_machines","attributes":{"name":"my-updated-vm","status":"Running","created_at":"2026-01-14T15:57:15+00:00","primary_ipv4":"10.0.0.25","operating_system":null,"site":"london-2193","billing":"hourly","plan":{"id":"plan_VE1Wd3VQOXnZJ","name":"c3.small.x86-143"},"specs":{"vcpu":16,"ram":"128 GB","storage":"100 GB","nic":"1 x 1 Gbps","gpu":"1 x NVIDIA H100 Tensor Core GPU"},"team":{"id":"team_GpZboxNev1U2pxpmKwWAc8e01vpp","name":"702 Team","slug":"702-team","description":"702 Team","address":"Suite 729 8171 Albina Forges, Eldridgeberg, CA 26345-3293","status":"verified","currency":{"id":"cur_AW6Q2D9lqKLpr","code":"BRL","name":"Brazilian Real","currency_id":null}},"project":{"id":"proj_W6Q2D9ZQOKLpr","name":"Aerodynamic Wool Watch","slug":"aerodynamic-wool-watch","description":"Intelligent Paper Shirt","billing_type":"Normal","billing_method":"Normal","bandwidth_alert":false,"environment":null,"billing":{"subscription_id":null,"type":"Normal","method":"Normal"},"stats":{"databases":0,"ip_addresses":0,"prefixes":0,"servers":0,"storages":0,"virtual_machines":1,"vlans":0}}}}}}},"schema":{"$ref":"#/components/schemas/virtual_machine"}}}},"404":{"description":"Not Found"},"422":{"description":"Unprocessable Entity"}}, "requestBody": {"content":{"application/json":{"schema":{"$ref":"#/components/schemas/virtual_machine_update_payload"},"examples":{"Success":{"summary":"Success","value":{"data":{"type":"virtual_machines","id":"vm_7vYAZqGBdMQ94","attributes":{"name":"my-updated-vm"}}}}}},"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/virtual_machine_update_payload"},"examples":{"Success":{"summary":"Success","value":{"data":{"type":"virtual_machines","id":"vm_7vYAZqGBdMQ94","attributes":{"name":"my-updated-vm"}}}}}}},"required":true}, "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "import latitudesh_python_sdk\nfrom latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.virtual_machines.update_virtual_machine(virtual_machine_id=\"vm_7vYAZqGBdMQ94\", data={\n \"type\": latitudesh_python_sdk.VirtualMachineUpdatePayloadType.VIRTUAL_MACHINES,\n \"id\": \"vm_7vYAZqGBdMQ94\",\n \"attributes\": {\n \"name\": \"my-updated-vm\",\n },\n })\n\n # Handle response\n print(res)" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"github.com/latitudesh/latitudesh-go-sdk/models/components\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.VirtualMachines.UpdateVirtualMachine(ctx, \"vm_7vYAZqGBdMQ94\", components.VirtualMachineUpdatePayload{\n Data: components.VirtualMachineUpdatePayloadData{\n Type: components.VirtualMachineUpdatePayloadTypeVirtualMachines,\n ID: latitudeshgosdk.Pointer(\"vm_7vYAZqGBdMQ94\"),\n Attributes: components.VirtualMachineUpdatePayloadAttributes{\n Name: \"my-updated-vm\",\n },\n },\n })\n if err != nil {\n log.Fatal(err)\n }\n if res.VirtualMachine != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.virtualMachines.updateVirtualMachine({\n virtualMachineId: \"vm_7vYAZqGBdMQ94\",\n virtualMachineUpdatePayload: {\n data: {\n type: \"virtual_machines\",\n id: \"vm_7vYAZqGBdMQ94\",\n attributes: {\n name: \"my-updated-vm\",\n },\n },\n },\n });\n\n console.log(result);\n}\n\nrun();" } ] }, "delete": { "summary": "Destroy VM", "operationId": "destroy-virtual-machine", "tags": ["Virtual machines"], "security": [{"Bearer":[]}], "parameters": [{"name":"virtual_machine_id","in":"path","required":true,"schema":{"type":"string"}}], "description": "Destroys a Virtual Machine.\n", "x-mint": {"href":"/api-reference/destroy-virtual-machine"}, "responses": {"204":{"description":"No Content"}}, "x-speakeasy-group": "virtualMachines", "x-speakeasy-name-override": "delete", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "from latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n latitudesh.virtual_machines.delete(virtual_machine_id=\"\")\n\n # Use the SDK ..." }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.VirtualMachines.Delete(ctx, \"\")\n if err != nil {\n log.Fatal(err)\n }\n if res != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n await latitudesh.virtualMachines.delete({\n virtualMachineId: \"\",\n });\n\n\n}\n\nrun();" } ] } }, "/virtual_machines/{virtual_machine_id}/actions": {"post":{ "summary": "Run VM power action", "operationId": "create-virtual-machine-action", "tags": ["Virtual machines"], "security": [{"Bearer":[]}], "parameters": [{"name":"virtual_machine_id","in":"path","required":true,"examples":{"Created":{"value":"vm_5LA73qkjdaJ2o"}},"schema":{"type":"string"}}], "description": "Performs a power action on a given virtual machine:\n- `power_on` - Starts the virtual machine\n- `power_off` - Stops the virtual machine\n- `reboot` - Restarts the virtual machine\n", "x-mint": {"href":"/api-reference/create-virtual-machine-action"}, "responses": {"201":{"description":"Created","content":{"application/vnd.api+json":{"examples":{"Created":{"value":{"data":{"id":"act_5LA73qkjdaJ2o","type":"actions","attributes":{"status":"Rebooting virtual machine"}}}}}}}}}, "requestBody": {"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["virtual_machines"]},"attributes":{"type":"object","properties":{"action":{"type":"string","description":"The action to perform on the virtual machine","enum":["power_on","power_off","reboot"]}},"required":["action"]}},"required":["id","type","attributes"]},"examples":{"Created":{"summary":"Created","value":{"id":"vm_5LA73qkjdaJ2o","type":"virtual_machines","attributes":{"action":"reboot"}}}}},"application/vnd.api+json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["virtual_machines"]},"attributes":{"type":"object","properties":{"action":{"type":"string","description":"The action to perform on the virtual machine","enum":["power_on","power_off","reboot"]}},"required":["action"]}},"required":["id","type","attributes"]},"examples":{"Created":{"summary":"Created","value":{"id":"vm_5LA73qkjdaJ2o","type":"virtual_machines","attributes":{"action":"reboot"}}}}}},"required":true}, "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "import latitudesh_python_sdk\nfrom latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n latitudesh.virtual_machines.create_virtual_machine_action(virtual_machine_id=\"vm_5LA73qkjdaJ2o\", id=\"vm_5LA73qkjdaJ2o\", type_=latitudesh_python_sdk.CreateVirtualMachineActionVirtualMachinesType.VIRTUAL_MACHINES, attributes={\n \"action\": latitudesh_python_sdk.CreateVirtualMachineActionVirtualMachinesAction.REBOOT,\n })\n\n # Use the SDK ..." }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"github.com/latitudesh/latitudesh-go-sdk/models/operations\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.VirtualMachines.CreateVirtualMachineAction(ctx, \"vm_5LA73qkjdaJ2o\", operations.CreateVirtualMachineActionVirtualMachinesRequestBody{\n ID: \"vm_5LA73qkjdaJ2o\",\n Type: operations.CreateVirtualMachineActionVirtualMachinesTypeVirtualMachines,\n Attributes: operations.CreateVirtualMachineActionVirtualMachinesAttributes{\n Action: operations.CreateVirtualMachineActionVirtualMachinesActionReboot,\n },\n })\n if err != nil {\n log.Fatal(err)\n }\n if res != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n await latitudesh.virtualMachines.createVirtualMachineAction({\n virtualMachineId: \"vm_5LA73qkjdaJ2o\",\n requestBody: {\n id: \"vm_5LA73qkjdaJ2o\",\n type: \"virtual_machines\",\n attributes: {\n action: \"reboot\",\n },\n },\n });\n\n\n}\n\nrun();" } ] }}, "/virtual_networks": { "get": { "summary": "List VLANs", "operationId": "get-virtual-networks", "tags": ["Private Networks"], "security": [{"Bearer":[]}], "parameters": [{"name":"filter[location]","in":"query","required":false,"description":"The location slug to filter by","schema":{"type":"string"}}, {"name":"filter[project]","in":"query","required":false,"description":"The project id or slug to filter by","schema":{"type":"string"}}, {"name":"filter[tags]","in":"query","required":false,"description":"The tags ids to filter by, separated by comma, e.g. `filter[tags]=tag_1,tag_2`will return ssh keys with `tag_1` AND `tag_2`","schema":{"type":"string"},"examples":{"Success":{"value":"tag_BZWAJKePr2Fx9kRyyaARImQlXmW,tag_X8yMgb8AZPFrX72lQgrwhBVnPN2"}}}, {"name":"page[size]","in":"query","schema":{"type":"integer","minimum":1,"default":20},"required":false,"description":"Number of items to return per page"}, {"name":"page[number]","in":"query","schema":{"type":"integer","minimum":1,"default":1},"required":false,"description":"Page number to return (starts at 1)"}], "description": "Lists virtual networks assigned to a project\n", "x-speakeasy-pagination": {"type":"offsetLimit","inputs":[{"name":"page[number]","in":"parameters","type":"page"}, {"name":"page[size]","in":"parameters","type":"limit"}],"outputs":{"results":"$.data"}}, "x-mint": {"href":"/api-reference/get-virtual-networks"}, "responses": {"200":{"description":"Success","content":{"application/vnd.api+json":{"schema":{"$ref":"#/components/schemas/virtual_networks"},"examples":{"Success":{"value":{"data":[{"id":"vlan_AW6Q2D9lqKLpr","type":"virtual_networks","attributes":{"tags":[{"id":"tag_rNk62XV5ewSV52K5oAv5FbENl1R","name":"tag1","description":"Quia quia natus numquam.","color":"#ead6ea"}],"vid":2040,"description":"Consequatur quo aut quia.","created_at":null,"region":{"city":"Sydney 243","country":"Australia 253","site":{"id":"loc_1ZJrdxnWDg4LV","name":"Sydney 243","slug":"SYD204","facility":"Sydney 243"}},"project":{"id":"proj_W6Q2D9ordKLpr","name":"Sleek Leather Hat","slug":"sleek-leather-hat","description":"Enormous Copper Lamp","billing_type":"Normal","billing_method":"Normal","bandwidth_alert":false,"environment":null,"billing":{"subscription_id":null,"type":"Normal","method":"Normal"},"stats":{"databases":0,"ip_addresses":2,"prefixes":0,"servers":1,"storages":0,"virtual_machines":0,"vlans":2}},"assignments_count":1}}],"meta":{}}}}}}}}, "x-speakeasy-group": "privateNetworks", "x-speakeasy-name-override": "list", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "from latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.private_networks.list(filter_location=\"SAO\", filter_project=\"awesome-copper-clock\", filter_tags=\"tag_BZWAJKePr2Fx9kRyyaARImQlXmW,tag_X8yMgb8AZPFrX72lQgrwhBVnPN2\", page_size=20, page_number=1)\n\n while res is not None:\n # Handle items\n\n res = res.next()" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"github.com/latitudesh/latitudesh-go-sdk/models/operations\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.PrivateNetworks.List(ctx, operations.GetVirtualNetworksRequest{\n FilterLocation: latitudeshgosdk.Pointer(\"SAO\"),\n FilterProject: latitudeshgosdk.Pointer(\"awesome-copper-clock\"),\n FilterTags: latitudeshgosdk.Pointer(\"tag_BZWAJKePr2Fx9kRyyaARImQlXmW,tag_X8yMgb8AZPFrX72lQgrwhBVnPN2\"),\n })\n if err != nil {\n log.Fatal(err)\n }\n if res.VirtualNetworks != nil {\n for {\n // handle items\n\n res, err = res.Next()\n\n if err != nil {\n // handle error\n }\n\n if res == nil {\n break\n }\n }\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.privateNetworks.list({\n filterTags: \"tag_BZWAJKePr2Fx9kRyyaARImQlXmW,tag_X8yMgb8AZPFrX72lQgrwhBVnPN2\",\n });\n\n for await (const page of result) {\n console.log(page);\n }\n}\n\nrun();" } ] }, "post": { "summary": "Create VLAN", "operationId": "create-virtual-network", "tags": ["Private Networks"], "security": [{"Bearer":[]}], "parameters": [], "description": "Creates a new Virtual Network.\n", "x-mint": {"href":"/api-reference/create-virtual-network"}, "responses": {"201":{"description":"Created","content":{"application/vnd.api+json":{"examples":{"Created":{"value":{"data":{"id":"vlan_3YjJOLQjdvZ87","type":"virtual_networks","attributes":{"tags":[],"vid":2000,"name":"MIA-2000","description":"São Paulo VLAN","site":"MIA","created_at":"2026-01-14T15:57:17+00:00"}},"meta":{}}}},"schema":{"$ref":"#/components/schemas/virtual_network"}}}}}, "requestBody": {"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["virtual_network"]},"attributes":{"type":"object","properties":{"description":{"type":"string"},"site":{"type":"string","description":"Site ID or slug","enum":["ASH","BUE","CHI","DAL","FRA","LAX","LON","MEX","MEX2","MIA","MIA2","NYC","SAO","SAO2","SGP","SYD","TYO","TYO2"]},"project":{"type":"string","description":"Project ID or slug"}},"required":["description","location","project"]}},"required":["id","type","attributes"]}},"required":["data"]},"examples":{"Created":{"summary":"Created","value":{"data":{"type":"virtual_networks","attributes":{"description":"São Paulo VLAN","site":"MIA","project":"ergonomic-steel-bag"}}}}}},"application/vnd.api+json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["virtual_network"]},"attributes":{"type":"object","properties":{"description":{"type":"string"},"site":{"type":"string","description":"Site ID or slug","enum":["ASH","BUE","CHI","DAL","FRA","LAX","LON","MEX","MEX2","MIA","MIA2","NYC","SAO","SAO2","SGP","SYD","TYO","TYO2"]},"project":{"type":"string","description":"Project ID or slug"}},"required":["description","location","project"]}},"required":["id","type","attributes"]}},"required":["data"]},"examples":{"Created":{"summary":"Created","value":{"data":{"type":"virtual_networks","attributes":{"description":"São Paulo VLAN","site":"MIA","project":"ergonomic-steel-bag"}}}}}}},"required":true}, "x-speakeasy-group": "privateNetworks", "x-speakeasy-name-override": "create", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "import latitudesh_python_sdk\nfrom latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.private_networks.create(data={\n \"type\": latitudesh_python_sdk.CreateVirtualNetworkPrivateNetworksType.VIRTUAL_NETWORK,\n \"attributes\": {\n \"description\": \"São Paulo VLAN\",\n \"site\": latitudesh_python_sdk.CreateVirtualNetworkPrivateNetworksSite.MIA,\n \"project\": \"ergonomic-steel-bag\",\n },\n })\n\n # Handle response\n print(res)" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"github.com/latitudesh/latitudesh-go-sdk/models/operations\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.PrivateNetworks.Create(ctx, operations.CreateVirtualNetworkPrivateNetworksRequestBody{\n Data: operations.CreateVirtualNetworkPrivateNetworksData{\n Type: operations.CreateVirtualNetworkPrivateNetworksTypeVirtualNetwork,\n Attributes: operations.CreateVirtualNetworkPrivateNetworksAttributes{\n Description: \"São Paulo VLAN\",\n Site: operations.CreateVirtualNetworkPrivateNetworksSiteMia.ToPointer(),\n Project: \"ergonomic-steel-bag\",\n },\n },\n })\n if err != nil {\n log.Fatal(err)\n }\n if res.VirtualNetwork != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.privateNetworks.create({\n data: {\n type: \"virtual_network\",\n attributes: {\n description: \"São Paulo VLAN\",\n site: \"MIA\",\n project: \"ergonomic-steel-bag\",\n },\n },\n });\n\n console.log(result);\n}\n\nrun();" } ] } }, "/virtual_networks/{vlan_id}": { "patch": { "summary": "Update VLAN", "operationId": "update-virtual-network", "tags": ["Private Networks"], "security": [{"Bearer":[]}], "parameters": [{"name":"vlan_id","in":"path","description":"The Virtual Network ID","required":true,"examples":{"Success":{"value":"vlan_VaNmodjeObE8W"}},"schema":{"type":"string"}}], "description": "Update a Virtual Network.\n", "x-mint": {"href":"/api-reference/update-virtual-network"}, "responses": {"200":{"description":"Success","content":{"application/vnd.api+json":{"examples":{"Success":{"value":{"data":{"id":"vlan_VaNmodjeObE8W","type":"virtual_networks","attributes":{"tags":[{"id":"tag_RjLvG6oe84IAw7BxxEGaFAXK4l4","name":"Tal-Elmar","description":"Placeat non sit velit.","color":"#e5e53e"}, {"id":"tag_lpPQ21kXEYfb9az3jRoVIVw4RBk","name":"Great Eagle","description":"Voluptatem aut in corrupti.","color":"#502f50"}],"vid":2040,"name":"cupiditate","description":"Perspiciatis molestiae laborum quae.","site":"SAO","created_at":null}},"meta":{}}}},"schema":{"$ref":"#/components/schemas/virtual_network"}}}}}, "requestBody": {"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["virtual_networks"]},"attributes":{"type":"object","properties":{"tags":{"type":"array","items":{"type":"string"},"default":[]},"description":{"type":"string","default":"Test virtual network update"}}}},"required":["id","type"]}},"required":["data"]},"examples":{"Success":{"summary":"Success","value":{"data":{"id":"vlan_VaNmodjeObE8W","type":"virtual_networks","attributes":{"tags":["tag_RjLvG6oe84IAw7BxxEGaFAXK4l4","tag_lpPQ21kXEYfb9az3jRoVIVw4RBk"]}}}}}},"application/vnd.api+json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["virtual_networks"]},"attributes":{"type":"object","properties":{"tags":{"type":"array","items":{"type":"string"},"default":[]},"description":{"type":"string","default":"Test virtual network update"}}}},"required":["id","type"]}},"required":["data"]},"examples":{"Success":{"summary":"Success","value":{"data":{"id":"vlan_VaNmodjeObE8W","type":"virtual_networks","attributes":{"tags":["tag_RjLvG6oe84IAw7BxxEGaFAXK4l4","tag_lpPQ21kXEYfb9az3jRoVIVw4RBk"]}}}}}}},"required":true}, "x-speakeasy-group": "privateNetworks", "x-speakeasy-name-override": "update", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "import latitudesh_python_sdk\nfrom latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.private_networks.update(vlan_id=\"vlan_VaNmodjeObE8W\", data={\n \"id\": \"vlan_VaNmodjeObE8W\",\n \"type\": latitudesh_python_sdk.UpdateVirtualNetworkPrivateNetworksType.VIRTUAL_NETWORKS,\n \"attributes\": {\n \"tags\": [\n \"tag_RjLvG6oe84IAw7BxxEGaFAXK4l4\",\n \"tag_lpPQ21kXEYfb9az3jRoVIVw4RBk\",\n ],\n },\n })\n\n # Handle response\n print(res)" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"github.com/latitudesh/latitudesh-go-sdk/models/operations\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.PrivateNetworks.Update(ctx, \"vlan_VaNmodjeObE8W\", operations.UpdateVirtualNetworkPrivateNetworksRequestBody{\n Data: operations.UpdateVirtualNetworkPrivateNetworksData{\n ID: \"vlan_VaNmodjeObE8W\",\n Type: operations.UpdateVirtualNetworkPrivateNetworksTypeVirtualNetworks,\n Attributes: &operations.UpdateVirtualNetworkPrivateNetworksAttributes{\n Tags: []string{\n \"tag_RjLvG6oe84IAw7BxxEGaFAXK4l4\",\n \"tag_lpPQ21kXEYfb9az3jRoVIVw4RBk\",\n },\n },\n },\n })\n if err != nil {\n log.Fatal(err)\n }\n if res.VirtualNetwork != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.privateNetworks.update({\n vlanId: \"vlan_VaNmodjeObE8W\",\n requestBody: {\n data: {\n id: \"vlan_VaNmodjeObE8W\",\n type: \"virtual_networks\",\n attributes: {\n tags: [\n \"tag_RjLvG6oe84IAw7BxxEGaFAXK4l4\",\n \"tag_lpPQ21kXEYfb9az3jRoVIVw4RBk\",\n ],\n },\n },\n },\n });\n\n console.log(result);\n}\n\nrun();" } ] }, "delete": { "summary": "Delete VLAN", "operationId": "destroy-virtual-network", "tags": ["Private Networks"], "security": [{"Bearer":[]}], "parameters": [{"name":"vlan_id","in":"path","description":"The virtual network ID","required":true,"schema":{"type":"string"}}], "description": "Delete virtual network\n", "x-mint": {"href":"/api-reference/destroy-virtual-network"}, "responses": {"204":{"description":"No Content"}}, "x-speakeasy-group": "virtualNetworks", "x-speakeasy-name-override": "delete", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "from latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n latitudesh.private_networks.delete_virtual_network(vlan_id=\"\")\n\n # Use the SDK ..." }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.VirtualNetworks.Delete(ctx, \"\")\n if err != nil {\n log.Fatal(err)\n }\n if res != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n await latitudesh.virtualNetworks.delete({\n vlanId: \"\",\n });\n\n\n}\n\nrun();" } ] }, "get": { "summary": "Retrieve VLAN", "operationId": "get-virtual-network", "tags": ["Private Networks"], "security": [{"Bearer":[]}], "parameters": [{"name":"vlan_id","in":"path","required":true,"description":"Virtual Network ID","examples":{"Success":{"value":"vlan_W6Q2D9ordKLpr"}},"schema":{"type":"string"}}], "description": "Retrieve a Virtual Network.\n", "x-mint": {"href":"/api-reference/get-virtual-network"}, "responses": {"200":{"description":"Success","content":{"application/vnd.api+json":{"examples":{"Success":{"value":{"data":{"id":"vlan_W6Q2D9ordKLpr","type":"virtual_networks","attributes":{"tags":[],"vid":2040,"description":"Testing vlans","created_at":null,"region":{"city":"São Paulo 255","country":"Mexico 268","site":{"id":"loc_1R3zq28EOWxyn","name":"São Paulo 255","slug":"SAO","facility":"São Paulo 255"}},"project":{"id":"proj_LA73qkknqaJ2o","name":"Incredible Wool Plate","slug":"incredible-wool-plate","description":"Heavy Duty Wooden Coat","billing_type":"Normal","billing_method":"Normal","bandwidth_alert":false,"environment":null,"billing":{"subscription_id":null,"type":"Normal","method":"Normal"},"stats":{"databases":0,"ip_addresses":2,"prefixes":0,"servers":1,"storages":0,"virtual_machines":0,"vlans":0}},"assignments_count":1}},"meta":{}}}},"schema":{"$ref":"#/components/schemas/virtual_network"}}}}}, "x-speakeasy-group": "privateNetworks", "x-speakeasy-name-override": "get", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "from latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.private_networks.get(vlan_id=\"vlan_W6Q2D9ordKLpr\")\n\n # Handle response\n print(res)" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.PrivateNetworks.Get(ctx, \"vlan_W6Q2D9ordKLpr\")\n if err != nil {\n log.Fatal(err)\n }\n if res.VirtualNetwork != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.privateNetworks.get({\n vlanId: \"vlan_W6Q2D9ordKLpr\",\n });\n\n console.log(result);\n}\n\nrun();" } ] } }, "/virtual_networks/assignments": { "get": { "summary": "List VLAN assignments", "operationId": "get-virtual-networks-assignments", "tags": ["Private Networks"], "parameters": [{"name":"filter[server]","in":"query","required":false,"description":"The server ID to filter by","schema":{"type":"string"}}, {"name":"filter[vid]","in":"query","required":false,"description":"The vlan ID to filter by","schema":{"type":"string"}}, {"name":"filter[virtual_network_id]","in":"query","required":false,"description":"The virtual network ID to filter by","schema":{"type":"string"}}, {"name":"page[size]","in":"query","schema":{"type":"integer","minimum":1,"default":20},"required":false,"description":"Number of items to return per page"}, {"name":"page[number]","in":"query","schema":{"type":"integer","minimum":1,"default":1},"required":false,"description":"Page number to return (starts at 1)"}], "security": [{"Bearer":[]}], "description": "Returns a list of all servers assigned to virtual networks.\n", "x-speakeasy-pagination": {"type":"offsetLimit","inputs":[{"name":"page[number]","in":"parameters","type":"page"}, {"name":"page[size]","in":"parameters","type":"limit"}],"outputs":{"results":"$.data"}}, "x-mint": {"href":"/api-reference/get-virtual-networks-assignments"}, "responses": {"200":{"description":"Success","content":{"application/vnd.api+json":{"examples":{"Success":{"value":{"data":[{"id":"vnasg_6VE1Wd37dXnZJ","type":"virtual_network_assignment","attributes":{"virtual_network_id":"vlan_7vYAZqGBdMQ94","vid":1,"description":"West Inc","status":"connected","server":{"id":"sv_GnzRD5BYOM5yw","hostname":"db","label":"BRC01","locked":false,"status":"unknown"}}}, {"id":"vnasg_VaNmodjeObE8W","type":"virtual_network_assignment","attributes":{"virtual_network_id":"vlan_r0MK4O4kDa95w","vid":2,"description":"Reynolds-Steuber","status":"connecting","server":{"id":"sv_KXgRdRLKDv9k5","hostname":"api","label":"BRC02","locked":false,"status":"unknown"}}}],"meta":{}}}},"schema":{"$ref":"#/components/schemas/virtual_network_assignments"}}}}}, "x-speakeasy-group": "privateNetworks", "x-speakeasy-name-override": "listAssignments", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "from latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.private_networks.list_assignments(filter_server=\"217\", filter_vid=\"8\", page_size=20, page_number=1)\n\n while res is not None:\n # Handle items\n\n res = res.next()" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"github.com/latitudesh/latitudesh-go-sdk/models/operations\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.PrivateNetworks.ListAssignments(ctx, operations.GetVirtualNetworksAssignmentsRequest{\n FilterServer: latitudeshgosdk.Pointer(\"217\"),\n FilterVid: latitudeshgosdk.Pointer(\"8\"),\n })\n if err != nil {\n log.Fatal(err)\n }\n if res.VirtualNetworkAssignments != nil {\n for {\n // handle items\n\n res, err = res.Next()\n\n if err != nil {\n // handle error\n }\n\n if res == nil {\n break\n }\n }\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.privateNetworks.listAssignments({});\n\n for await (const page of result) {\n console.log(page);\n }\n}\n\nrun();" } ] }, "post": { "summary": "Assign VLAN", "operationId": "assign-server-virtual-network", "tags": ["Private Networks"], "security": [{"Bearer":[]}], "parameters": [], "x-mint": {"href":"/api-reference/assign-server-virtual-network"}, "responses": {"201":{"description":"Created","content":{"application/vnd.api+json":{"examples":{"Created":{"value":{"data":{"id":"vnasg_LGXPdWQ8DnNWk","type":"virtual_network_assignment","attributes":{"virtual_network_id":"vlan_Z8rodmpGO1jLB","vid":3,"server_id":"sv_5xyZOn5vDWM0l","description":"my vlan","status":"connecting"}},"meta":{}}}},"schema":{"$ref":"#/components/schemas/virtual_network_assignment"}}}}}, "requestBody": {"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["virtual_network_assignment"]},"attributes":{"type":"object","properties":{"server_id":{"type":"string"},"virtual_network_id":{"type":"string"}},"required":["server_id","virtual_network_id"]}},"required":["type"]}}},"examples":{"Created":{"summary":"Created","value":{"data":{"type":"virtual_network_assignment","attributes":{"server_id":"sv_5xyZOn5vDWM0l","virtual_network_id":"vlan_Z8rodmpGO1jLB"}}}}}},"application/vnd.api+json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["virtual_network_assignment"]},"attributes":{"type":"object","properties":{"server_id":{"type":"string"},"virtual_network_id":{"type":"string"}},"required":["server_id","virtual_network_id"]}},"required":["type"]}}},"examples":{"Created":{"summary":"Created","value":{"data":{"type":"virtual_network_assignment","attributes":{"server_id":"sv_5xyZOn5vDWM0l","virtual_network_id":"vlan_Z8rodmpGO1jLB"}}}}}}},"required":true}, "x-speakeasy-group": "privateNetworks", "x-speakeasy-name-override": "assign", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "import latitudesh_python_sdk\nfrom latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.private_networks.assign(data={\n \"type\": latitudesh_python_sdk.AssignServerVirtualNetworkPrivateNetworksType.VIRTUAL_NETWORK_ASSIGNMENT,\n \"attributes\": {\n \"server_id\": \"sv_5xyZOn5vDWM0l\",\n \"virtual_network_id\": \"vlan_Z8rodmpGO1jLB\",\n },\n })\n\n # Handle response\n print(res)" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"github.com/latitudesh/latitudesh-go-sdk/models/operations\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.PrivateNetworks.Assign(ctx, operations.AssignServerVirtualNetworkPrivateNetworksRequestBody{\n Data: &operations.AssignServerVirtualNetworkPrivateNetworksData{\n Type: operations.AssignServerVirtualNetworkPrivateNetworksTypeVirtualNetworkAssignment,\n Attributes: &operations.AssignServerVirtualNetworkPrivateNetworksAttributes{\n ServerID: \"sv_5xyZOn5vDWM0l\",\n VirtualNetworkID: \"vlan_Z8rodmpGO1jLB\",\n },\n },\n })\n if err != nil {\n log.Fatal(err)\n }\n if res.VirtualNetworkAssignment != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.privateNetworks.assign({\n data: {\n type: \"virtual_network_assignment\",\n attributes: {\n serverId: \"sv_5xyZOn5vDWM0l\",\n virtualNetworkId: \"vlan_Z8rodmpGO1jLB\",\n },\n },\n });\n\n console.log(result);\n}\n\nrun();" } ] } }, "/virtual_networks/assignments/{assignment_id}": {"delete":{ "summary": "Delete VLAN assignment", "operationId": "delete-virtual-networks-assignments", "tags": ["Private Networks"], "parameters": [{"name":"assignment_id","in":"path","required":true,"schema":{"type":"string"}}], "security": [{"Bearer":[]}], "description": "Allow you to remove a Virtual Network assignment.\n", "x-mint": {"href":"/api-reference/delete-virtual-networks-assignments"}, "responses": {"204":{"description":"No Content"}}, "x-speakeasy-group": "privateNetworks", "x-speakeasy-name-override": "deleteAssignment", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "from latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n latitudesh.private_networks.remove_assignment(assignment_id=\"vnasg_LA73qk8WDaJ2o\")\n\n # Use the SDK ..." }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.PrivateNetworks.DeleteAssignment(ctx, \"vnasg_LA73qk8WDaJ2o\")\n if err != nil {\n log.Fatal(err)\n }\n if res != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n await latitudesh.privateNetworks.deleteAssignment({\n assignmentId: \"\",\n });\n\n\n}\n\nrun();" } ] }}, "/vpn_sessions": { "get": { "summary": "List VPN sessions", "operationId": "get-vpn-sessions", "tags": ["VPN Sessions"], "security": [{"Bearer":[]}], "parameters": [{"name":"filter[location]","in":"query","schema":{"type":"string","enum":["ASH","BUE","CHI","DAL","FRA","LAX","LON","MEX","MEX2","MIA","MIA2","NYC","SAO","SAO2","SGP","SYD","TYO","TYO2"]},"required":false,"examples":{"Success":{"value":"SAO"}}}], "x-mint": {"href":"/api-reference/get-vpn-sessions"}, "responses": {"200":{"description":"Success","content":{"application/vnd.api+json":{"examples":{"Success":{"value":{"data":[{"id":"vpn_mw49QDB5qagKb","type":"vpn_sessions","attributes":{"user_name":"Alvaro","port":"8443","host":"fw04-mh1.maxi.host","region":{"city":"São Paulo 275","country":"United States 288","site":{"id":"loc_kjQwdE2bqYNVP","name":"São Paulo 275","slug":"SAO","facility":"São Paulo 275"}},"expires_at":"2026-01-14T15:58:19+00:00","created_at":"2026-01-14T15:57:19+00:00","updated_at":"2026-01-14T15:57:19+00:00"}}],"meta":{}}}},"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/vpn_session_data_with_password"}},"meta":{"type":"object"}}}}}}}, "x-speakeasy-group": "vpnSessions", "x-speakeasy-name-override": "list", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "import latitudesh_python_sdk\nfrom latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.vpn_sessions.list(filter_location=latitudesh_python_sdk.FilterLocation.SAO)\n\n # Handle response\n print(res)" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"github.com/latitudesh/latitudesh-go-sdk/models/operations\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.VpnSessions.List(ctx, operations.FilterLocationSao.ToPointer())\n if err != nil {\n log.Fatal(err)\n }\n if res.Object != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.vpnSessions.list({\n filterLocation: \"SAO\",\n });\n\n console.log(result);\n}\n\nrun();" } ] }, "post": { "summary": "Create VPN session", "operationId": "post-vpn-session", "tags": ["VPN Sessions"], "security": [{"Bearer":[]}], "parameters": [], "description": "Creates a new VPN Session.\n`NOTE:` The VPN credentials are only listed ONCE upon creation. They can however be refreshed or deleted.\n", "x-mint": {"href":"/api-reference/post-vpn-session"}, "responses": {"201":{"description":"Created","content":{"application/vnd.api+json":{"examples":{"Created":{"value":{"data":{"id":"vpn_VLMmAD8EOwop2","type":"vpn_sessions","attributes":{"user_name":"Cameron","password":"8EqcGL2tsQngWe","port":"8443","host":"fw04-mh1.maxi.host","region":{"city":"São Paulo 277","country":"Brazil 290","site":{"id":"loc_VE1Wd3wQdXnZJ","name":"São Paulo 277","slug":"SAO","facility":"São Paulo 277"}},"expires_at":"2026-01-14T15:58:20+00:00","created_at":"2026-01-14T15:57:20+00:00","updated_at":"2026-01-14T15:57:20+00:00"}},"meta":{}}}},"schema":{"$ref":"#/components/schemas/vpn_session_with_password"}}}}}, "requestBody": {"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"properties":{"type":{"type":"string","enum":["vpn_sessions"]},"attributes":{"type":"object","properties":{"site":{"type":"string","enum":["ASH","BUE","CHI","DAL","FRA","LAX","LON","MEX","MEX2","MIA","MIA2","NYC","SAO","SAO2","SGP","SYD","TYO","TYO2"]},"server_id":{"type":"string"}}}}}}},"examples":{"Created":{"summary":"Created","value":{"data":{"attributes":{"site":"SAO","server_id":"sv_LMmAD8wyqwop2"}}}}}},"application/vnd.api+json":{"schema":{"type":"object","properties":{"data":{"properties":{"type":{"type":"string","enum":["vpn_sessions"]},"attributes":{"type":"object","properties":{"site":{"type":"string","enum":["ASH","BUE","CHI","DAL","FRA","LAX","LON","MEX","MEX2","MIA","MIA2","NYC","SAO","SAO2","SGP","SYD","TYO","TYO2"]},"server_id":{"type":"string"}}}}}}},"examples":{"Created":{"summary":"Created","value":{"data":{"attributes":{"site":"SAO","server_id":"sv_LMmAD8wyqwop2"}}}}}}},"required":true}, "x-speakeasy-group": "vpnSessions", "x-speakeasy-name-override": "create", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "import latitudesh_python_sdk\nfrom latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.vpn_sessions.create(data={\n \"attributes\": {\n \"site\": latitudesh_python_sdk.PostVpnSessionVpnSessionsSite.SAO,\n \"server_id\": \"sv_LMmAD8wyqwop2\",\n },\n })\n\n # Handle response\n print(res)" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"github.com/latitudesh/latitudesh-go-sdk/models/operations\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.VpnSessions.Create(ctx, operations.PostVpnSessionVpnSessionsRequestBody{\n Data: &operations.PostVpnSessionVpnSessionsData{\n Attributes: &operations.PostVpnSessionVpnSessionsAttributes{\n Site: operations.PostVpnSessionVpnSessionsSiteSao.ToPointer(),\n ServerID: latitudeshgosdk.Pointer(\"sv_LMmAD8wyqwop2\"),\n },\n },\n })\n if err != nil {\n log.Fatal(err)\n }\n if res.VpnSessionWithPassword != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.vpnSessions.create({\n data: {\n attributes: {\n site: \"SAO\",\n serverId: \"sv_LMmAD8wyqwop2\",\n },\n },\n });\n\n console.log(result);\n}\n\nrun();" } ] } }, "/vpn_sessions/{vpn_session_id}/refresh_password": {"patch":{ "summary": "Refresh VPN session", "operationId": "put-vpn-session", "tags": ["VPN Sessions"], "security": [{"Bearer":[]}], "parameters": [{"name":"vpn_session_id","in":"path","required":true,"examples":{"Success":{"value":"vpn_pRMLydp0dQKr1"}},"schema":{"type":"string"}}], "description": "Refreshing an existing VPN Session will create new credentials for that session\n", "x-mint": {"href":"/api-reference/put-vpn-session"}, "responses": {"200":{"description":"Success","content":{"application/vnd.api+json":{"examples":{"Success":{"value":{"data":{"id":"vpn_pRMLydp0dQKr1","type":"vpn_sessions","attributes":{"user_name":"Alexis","password":"34xr0yTqaTrNyJFI","port":"8443","host":"fw04-mh1.maxi.host","region":{"city":"São Paulo 279","country":"Germany 292","site":{"id":"loc_3YjJOLexdvZ87","name":"São Paulo 279","slug":"SAO","facility":"São Paulo 279"}},"expires_at":"2026-01-14T15:58:20+00:00","created_at":"2026-01-14T15:57:20+00:00","updated_at":"2026-01-14T15:57:20+00:00"}},"meta":{}}}},"schema":{"$ref":"#/components/schemas/vpn_session_with_password"}}}}}, "x-speakeasy-group": "vpnSessions", "x-speakeasy-name-override": "refreshPassword", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "from latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n res = latitudesh.vpn_sessions.refresh_password(vpn_session_id=\"vpn_pRMLydp0dQKr1\")\n\n # Handle response\n print(res)" }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.VpnSessions.RefreshPassword(ctx, \"vpn_pRMLydp0dQKr1\")\n if err != nil {\n log.Fatal(err)\n }\n if res.VpnSessionWithPassword != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await latitudesh.vpnSessions.refreshPassword({\n vpnSessionId: \"vpn_pRMLydp0dQKr1\",\n });\n\n console.log(result);\n}\n\nrun();" } ] }}, "/vpn_sessions/{vpn_session_id}": {"delete":{ "summary": "Delete VPN session", "operationId": "delete-vpn-session", "tags": ["VPN Sessions"], "security": [{"Bearer":[]}], "parameters": [{"name":"vpn_session_id","in":"path","required":true,"schema":{"type":"string"}}], "description": "Deletes an existing VPN Session.\n", "x-mint": {"href":"/api-reference/delete-vpn-session"}, "responses": {"204":{"description":"No Content"}}, "x-speakeasy-group": "vpnSessions", "x-speakeasy-name-override": "delete", "x-codeSamples": [ { "lang": "python", "label": "Python (SDK)", "source": "from latitudesh_python_sdk import Latitudesh\nimport os\n\n\nwith Latitudesh(\n bearer=os.getenv(\"LATITUDESH_BEARER\", \"\"),\n) as latitudesh:\n\n latitudesh.vpn_sessions.delete(vpn_session_id=\"invalid\")\n\n # Use the SDK ..." }, { "lang": "go", "label": "Go (SDK)", "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := latitudeshgosdk.New(\n latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n )\n\n res, err := s.VpnSessions.Delete(ctx, \"invalid\")\n if err != nil {\n log.Fatal(err)\n }\n if res != nil {\n // handle response\n }\n}" }, { "lang": "typescript", "label": "Typescript (SDK)", "source": "import { Latitudesh } from \"latitudesh-typescript-sdk\";\n\nconst latitudesh = new Latitudesh({\n bearer: process.env[\"LATITUDESH_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n await latitudesh.vpnSessions.delete({\n vpnSessionId: \"\",\n });\n\n\n}\n\nrun();" } ] }} }, "components": {"schemas":{"traffic_quota":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["traffic_quota"]},"attributes":{"type":"object","properties":{"quota_per_project":{"type":"array","items":{"type":"object","properties":{"project_id":{"type":"string"},"project_slug":{"type":"string"},"price":{"type":"integer","nullable":true},"billing_method":{"type":"string"},"quota_per_region":{"type":"array","items":{"type":"object","properties":{"region_id":{"type":"string"},"region_slug":{"type":"string"},"quota_in_tb":{"type":"object","properties":{"granted":{"type":"integer"},"additional":{"type":"integer"},"total":{"type":"integer"}}},"quota_in_mbps":{"type":"object","properties":{"granted":{"type":"integer"},"additional":{"type":"integer"},"total":{"type":"integer"}}}}}}}}}}}}}}},"traffic":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["traffic"]},"attributes":{"type":"object","properties":{"from_date":{"type":"integer","description":"The start timestamp. Must be a unix timestamp"},"to_date":{"type":"integer","description":"The end timestamp. Must be a unix timestamp"},"regions":{"type":"array","items":{"type":"object","properties":{"region_slug":{"type":"string"},"total_inbound_gb":{"type":"integer","description":"Value in GB"},"total_outbound_gb":{"type":"integer","description":"Value in GB"},"total_inbound_95th_percentile_mbps":{"type":"number","description":"The 95th percentile of inbound bandwidth for this region, calculated from 30-minute intervals. Value in Mbps"},"total_outbound_95th_percentile_mbps":{"type":"number","description":"The 95th percentile of outbound bandwidth for this region, calculated from 30-minute intervals. Value in Mbps"},"data":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string","description":"The datetime of the day"},"inbound_gb":{"type":"integer","description":"Value in GB"},"outbound_gb":{"type":"integer","description":"Value in GB"},"avg_outbound_speed_mbps":{"type":"number","description":"Value in Mbps"},"avg_inbound_speed_mbps":{"type":"number","description":"Value in Mbps"}}}}}}},"total_inbound_gb":{"type":"integer","description":"Value in GB"},"total_outbound_gb":{"type":"integer","description":"Value in GB"},"total_inbound_95th_percentile_mbps":{"type":"number","description":"The 95th percentile of inbound bandwidth across all regions, calculated from all 30-minute intervals combined. This is a global percentile, not a sum of regional percentiles. Value in Mbps"},"total_outbound_95th_percentile_mbps":{"type":"number","description":"The 95th percentile of outbound bandwidth across all regions, calculated from all 30-minute intervals combined. This is a global percentile, not a sum of regional percentiles. Value in Mbps"}}}}}}},"error_object":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","nullable":true},"status":{"type":"string"},"title":{"type":"string"},"detail":{"type":"string"},"source":{"type":"object","properties":{"pointer":{"type":"string"},"parameter":{"type":"string"}}},"meta":{"type":"object"}}}}}},"project":{"type":"object","properties":{"id":{"type":"string","description":"The project ID"},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"The project name"},"slug":{"type":"string","description":"A unique project identifier"},"description":{"type":"string","nullable":true,"description":"The project description"},"billing_type":{"type":"string","nullable":true,"enum":["Yearly","Monthly","Hourly","Normal","Custom"]},"billing_method":{"type":"string","nullable":true,"enum":["Normal","95th percentile"]},"cost":{"type":"string","nullable":true},"environment":{"type":"string","nullable":true,"enum":["Development","Staging","Production"]},"stats":{"type":"object","properties":{"ip_addresses":{"type":"number","description":"The number of IP addresses assigned to the project"},"prefixes":{"type":"number","description":"The IP address prefixes in the project"},"servers":{"type":"number","description":"The number of servers assigned to the project"},"containers":{"type":"number","description":"The number of containers assigned to the project"},"vlans":{"type":"number","description":"The number of VLANs assigned to the project"}}},"billing":{"type":"object","properties":{"subscription_id":{"type":"string"},"type":{"type":"string"},"method":{"type":"string"}}},"team":{"$ref":"#/components/schemas/team_include"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}}},"projects":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/project"}}}},"project_include":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string"},"description":{"type":"string","nullable":true},"billing_type":{"type":"string","nullable":true},"provisioning_type":{"type":"string","nullable":true},"billing_method":{"type":"string","nullable":true},"bandwidth_alert":{"type":"boolean"},"environment":{"type":"string","nullable":true},"billing":{"type":"object","properties":{"subscription_id":{"type":"string","nullable":true},"type":{"type":"string"},"method":{"type":"string"}}},"stats":{"type":"object","properties":{"ip_addresses":{"type":"integer"},"prefixes":{"type":"integer"},"servers":{"type":"integer"},"vlans":{"type":"integer"}}}}},"ip_address":{"type":"object","properties":{"id":{"type":"string"},"attributes":{"type":"object","properties":{"address":{"type":"string"},"cidr":{"type":"string","nullable":true},"family":{"type":"string","enum":["IPv4","IPv6"]},"gateway":{"type":"string","nullable":true},"netmask":{"type":"string"},"type":{"type":"string","enum":["Public","Private"]},"public":{"type":"boolean"},"management":{"type":"boolean"},"additional":{"type":"boolean"},"project":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}},"region":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"location":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string"}}}}},"available":{"type":"boolean"},"assignment":{"type":"object","properties":{"server_id":{"type":"string"},"hostname":{"type":"string"},"assigned_at":{"type":"string"}}}}}}},"ip_addresses":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ip_address"}}}},"virtual_network":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/virtual_network_data"},"meta":{"type":"object"}}},"virtual_network_data":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["virtual_networks"]},"attributes":{"type":"object","properties":{"vid":{"type":"integer","description":"vlan ID of the virtual network"},"name":{"type":"string","description":"Name of the virtual network"},"description":{"type":"string","description":"Description of the virtual network"},"project":{"$ref":"#/components/schemas/project_include"},"region":{"type":"object","properties":{"city":{"type":"string"},"country":{"type":"string"},"site":{"type":"object","properties":{"id":{"type":"string"},"facility":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string"}}}}},"created_at":{"type":"string","format":"date-time","nullable":true},"assignments_count":{"type":"integer","description":"Amount of devices assigned to the virtual network"},"tags":{"type":"array","description":"Tags associated with the virtual network","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"color":{"type":"string"}}}}}}}},"virtual_networks":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/virtual_network_data"}},"meta":{"type":"object"}}},"virtual_network_assignment":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/virtual_network_assignment_data"},"meta":{"type":"object"}}},"virtual_network_assignment_data":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["virtual_network_assignment"]},"attributes":{"type":"object","properties":{"virtual_network_id":{"type":"string"},"vid":{"type":"integer"},"description":{"type":"string"},"status":{"type":"string"},"server":{"type":"object","properties":{"id":{"type":"string"},"hostname":{"type":"string"},"label":{"type":"string"},"locked":{"type":"boolean"},"status":{"type":"string"}}}}}}},"virtual_network_assignments":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/virtual_network_assignment_data"}},"meta":{"type":"object"}}},"ipmi_session":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["ipmi_sessions"]},"attributes":{"type":"object","properties":{"ipmi_address":{"type":"string","description":"The IPMI IP Address"},"ipmi_username":{"type":"string","description":"The IPMI username"},"ipmi_password":{"type":"string","description":"The IPMI password"}}}}}}},"kubernetes_cluster":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/kubernetes_cluster_data"}}},"kubernetes_cluster_create_response":{"type":"object","description":"Response schema for cluster creation (minimal fields returned during provisioning)","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"The cluster ID in hashed format (kc_)"},"type":{"type":"string"},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"The cluster name"},"status":{"type":"string","description":"The cluster status (always 'provisioning' on creation)"},"control_plane_endpoint":{"type":"string","nullable":true,"description":"The URL endpoint for the Kubernetes API server"}}}}}}},"kubernetes_cluster_summary_data":{"type":"object","description":"Summary representation of a cluster (used in list responses)","properties":{"id":{"type":"string","description":"The cluster ID in hashed format (kc_)"},"type":{"type":"string"},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"The cluster name"},"phase":{"type":"string","description":"The current phase of the cluster lifecycle","enum":["Pending","Provisioning","Provisioned","Deleting","Failed"]},"ready":{"type":"boolean","description":"Whether the cluster is ready to accept workloads"},"infrastructure_ready":{"type":"boolean","description":"Whether the underlying infrastructure is ready"},"control_plane_ready":{"type":"boolean","description":"Whether the control plane is ready"},"message":{"type":"string","description":"Human-readable status message describing the current provisioning state"},"steps":{"type":"array","description":"Provisioning progress steps for dashboard display","items":{"type":"object","properties":{"name":{"type":"string","description":"Step identifier","enum":["infrastructure","control_plane","workers"]},"status":{"type":"string","description":"Current status of this step","enum":["pending","in_progress","completed"]}}}},"last_status_change":{"type":"string","format":"date-time","nullable":true,"description":"Timestamp of the most recent status condition change"},"created_at":{"type":"string","format":"date-time","description":"When the cluster was created"}}}}},"kubernetes_cluster_data":{"type":"object","properties":{"id":{"type":"string","description":"The cluster ID in hashed format (kc_)"},"type":{"type":"string"},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"The cluster name"},"phase":{"type":"string","description":"The current phase of the cluster lifecycle","enum":["Pending","Provisioning","Provisioned","Deleting","Failed"]},"ready":{"type":"boolean","description":"Whether the cluster is ready to accept workloads"},"control_plane_endpoint":{"type":"string","nullable":true,"description":"The URL endpoint for the Kubernetes API server"},"kubeconfig_url":{"type":"string","nullable":true,"description":"The URL to retrieve the kubeconfig file"},"location":{"type":"string","description":"The site/region where the cluster is deployed"},"load_balancer_ips":{"type":"array","description":"IP addresses assigned to the cluster's load balancer","items":{"type":"string"}},"kubernetes_version":{"type":"string","description":"The Kubernetes version running on the cluster"},"version_status":{"type":"string","description":"The cluster's version status relative to available upgrades","enum":["up_to_date","upgrade_available","unsupported","unknown"]},"available_upgrade":{"type":"string","nullable":true,"description":"The next available Kubernetes version for upgrade. Null if the cluster is already on the latest version, or if version status is unknown or unsupported."},"created_at":{"type":"string","format":"date-time","description":"When the cluster was created"},"plan":{"type":"string","description":"The machine plan slug for control plane nodes"},"worker_plan":{"type":"string","nullable":true,"description":"The machine plan slug for worker nodes. Null if no workers exist."},"control_plane_count":{"type":"integer","description":"Number of control plane node replicas"},"worker_count":{"type":"integer","description":"Number of worker node replicas. Returns 0 if no workers exist."},"control_plane":{"type":"object","nullable":true,"description":"Control plane status information","properties":{"ready":{"type":"boolean"},"replicas":{"type":"integer"},"ready_replicas":{"type":"integer"}}},"workers":{"type":"object","nullable":true,"description":"Worker nodes status information","properties":{"replicas":{"type":"integer"},"ready_replicas":{"type":"integer"},"available_replicas":{"type":"integer"}}},"worker_status":{"type":"string","nullable":true,"description":"Current status of worker nodes. 'idle' when 0 workers, 'ready' when all workers are ready, 'scaling' when workers are being provisioned/removed, 'error' when a worker has failed.","enum":["idle","ready","scaling","error"]},"control_plane_status":{"type":"string","description":"Current status of control plane nodes. 'ready' when control plane is operational, 'scaling' when nodes are being provisioned/removed, 'error' when a control plane node has failed.","enum":["ready","scaling","error"]},"infrastructure_ready":{"type":"boolean","description":"Whether the underlying infrastructure is ready"},"control_plane_ready":{"type":"boolean","description":"Whether the control plane is ready"},"message":{"type":"string","description":"Human-readable status message describing the current provisioning state"},"steps":{"type":"array","description":"Provisioning progress steps for dashboard display","items":{"type":"object","properties":{"name":{"type":"string","description":"Step identifier","enum":["infrastructure","control_plane","workers"]},"status":{"type":"string","description":"Current status of this step","enum":["pending","in_progress","completed"]}}}},"last_status_change":{"type":"string","format":"date-time","nullable":true,"description":"Timestamp of the most recent status condition change"},"failure_message":{"type":"string","nullable":true,"description":"Error message if the cluster has failed"},"failure_reason":{"type":"string","nullable":true,"description":"Reason code for cluster failure"},"nodes":{"type":"array","description":"List of nodes (servers) in the cluster","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier for the node (machine name)"},"name":{"type":"string","description":"Name of the node"},"hostname":{"type":"string","nullable":true,"description":"Hostname of the node"},"server_id":{"type":"string","nullable":true,"description":"The Latitude server ID associated with this node"},"type":{"type":"string","description":"The role of this node in the cluster","enum":["control_plane","worker"]},"status":{"type":"string","description":"Current status of the node","enum":["ready","pending","failed","deleting"]},"ip":{"type":"string","nullable":true,"description":"Primary IP address (external if available, otherwise internal)"},"internal_ip":{"type":"string","nullable":true,"description":"Internal/private IP address"},"external_ip":{"type":"string","nullable":true,"description":"External/public IP address"}}}},"project":{"type":"object","description":"The project this cluster belongs to","properties":{"id":{"type":"string","description":"The project ID"},"name":{"type":"string","description":"The project name"},"slug":{"type":"string","description":"The project slug"}}}}}}},"kubernetes_clusters":{"type":"object","description":"Response schema for listing clusters (uses summary representation)","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/kubernetes_cluster_summary_data"}}}},"kubernetes_available_versions":{"type":"object","description":"Response schema for available Kubernetes versions","properties":{"data":{"type":"array","items":{"type":"object","properties":{"latest":{"type":"string","description":"The latest full Kubernetes version string for this minor version (e.g., v1.35.3+rke2r1)"},"minor":{"type":"string","description":"The minor version number (e.g., 1.35)"}}}}}},"kubernetes_cluster_kubeconfig":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"The cluster name"},"type":{"type":"string"},"attributes":{"type":"object","properties":{"cluster_name":{"type":"string","description":"The cluster name"},"kubeconfig":{"type":"string","description":"The kubeconfig YAML content for connecting to the cluster"}}}}}}},"create_kubernetes_cluster":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["type","attributes"],"properties":{"type":{"type":"string","enum":["kubernetes_clusters"]},"attributes":{"type":"object","required":["project_id","site","plan"],"properties":{"name":{"type":"string","nullable":true,"description":"The cluster name. Must follow Kubernetes naming rules: lowercase alphanumeric or hyphens, must start and end with alphanumeric, max 63 characters. Auto-generated if omitted."},"project_id":{"type":"string","description":"The project ID where the cluster will be created"},"site":{"type":"string","description":"The site/region code where to deploy the cluster (e.g., SAN3)"},"plan":{"type":"string","description":"The machine plan for control plane nodes (e.g., c2-small-x86)"},"ssh_keys":{"type":"array","nullable":true,"items":{"type":"string"},"description":"Array of SSH key IDs to use for node access. All keys must exist and belong to your team."},"worker_plan":{"type":"string","nullable":true,"description":"The machine plan for worker nodes. Defaults to the control plane plan if not specified."},"kubernetes_version":{"type":"string","nullable":true,"description":"The Kubernetes version to install. Defaults to v1.34.3+rke2r1."},"control_plane_count":{"type":"integer","nullable":true,"description":"Number of control plane nodes. Defaults to 1."},"worker_count":{"type":"integer","nullable":true,"description":"Number of worker nodes. Defaults to 1."},"operating_system":{"type":"string","nullable":true,"description":"The operating system for the nodes. Defaults to ubuntu_24_04_x64_lts."}}}}}}},"update_kubernetes_cluster":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["type","attributes"],"properties":{"type":{"type":"string","enum":["kubernetes_clusters"]},"attributes":{"type":"object","description":"Provide one of: worker_count, control_plane_count (for scaling), or kubernetes_version (for upgrades). These are mutually exclusive operations.","properties":{"worker_count":{"type":"integer","description":"Desired number of worker nodes. Must be between 0 and 10. Mutually exclusive with control_plane_count and kubernetes_version.","minimum":0,"maximum":10},"control_plane_count":{"type":"integer","description":"Desired number of control plane nodes. Minimum 1. Mutually exclusive with worker_count and kubernetes_version.","minimum":1},"worker_plan":{"type":"string","nullable":true,"description":"Plan slug for worker nodes. Required when scaling from 0 workers. Ignored when scaling an existing deployment."},"kubernetes_version":{"type":"string","description":"Target Kubernetes version for upgrade (e.g., v1.35.0+rke2r1). Mutually exclusive with scaling operations. Must be one minor version higher than current."}}}}}}},"kubernetes_cluster_update_response":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["kubernetes_clusters"]},"id":{"type":"string","description":"The cluster ID (format: kc_)"},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"The cluster name"},"status":{"type":"string","enum":["scaling","upgrading","unchanged"],"description":"The update status. 'scaling' indicates nodes are being added or removed. 'upgrading' indicates a version upgrade is in progress. 'unchanged' indicates no change was needed."},"worker_count":{"type":"integer","nullable":true,"description":"The requested number of worker nodes. Present when scaling workers."},"control_plane_count":{"type":"integer","nullable":true,"description":"The requested number of control plane nodes. Present when scaling control plane."},"kubernetes_version":{"type":"string","nullable":true,"description":"The target Kubernetes version. Present when upgrading version."}}}}}}},"lazy_sideload":{"type":"object","properties":{"meta":{"type":"object","properties":{"included":{"type":"boolean"}}}}},"region":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string"},"attributes":{"type":"object","properties":{"slug":{"type":"string"},"name":{"type":"string"},"country":{"type":"object","properties":{"slug":{"type":"string"},"name":{"type":"string"}}}}}}}}},"region_resource_data":{"type":"object","properties":{"city":{"type":"string"},"country":{"type":"string"},"site":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string"},"facility":{"type":"string"}}}}},"server_region_resource_data":{"type":"object","properties":{"city":{"type":"string"},"country":{"type":"string"},"site":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string"},"facility":{"type":"string"},"rack_id":{"type":"string"}}}}},"regions":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"attributes":{"type":"object","properties":{"slug":{"type":"string"},"name":{"type":"string"},"country":{"type":"object","properties":{"slug":{"type":"string"},"name":{"type":"string"}}}}}}}}}},"operating_systems":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/operating_system_data"}},"meta":{"type":"object"}}},"operating_system_data":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["operating_systems"]},"attributes":{"type":"object","properties":{"features":{"type":"object","properties":{"raid":{"type":"boolean"},"ssh_keys":{"type":"boolean"},"user_data":{"type":"boolean"}}},"name":{"type":"string"},"slug":{"type":"string"},"distro":{"type":"string"},"user":{"type":"string"},"version":{"type":"string"},"provisionable_on":{"type":"array","items":{"type":"string"}}}}}},"events":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/event_data"}},"meta":{"type":"object"}}},"event_data":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["events"]},"attributes":{"type":"object","properties":{"action":{"type":"string"},"created_at":{"type":"string"},"author":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"email":{"type":"string"}}},"project":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string"}}},"team":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}},"target":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}},"properties":{"type":"object","nullable":true,"description":"Additional event-specific data"}}}}},"elastic_ip":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/elastic_ip_data"},"meta":{"type":"object"}}},"elastic_ip_data":{"type":"object","properties":{"id":{"type":"string","nullable":true,"description":"The Elastic IP ID. May be null during initial provisioning."},"type":{"type":"string","enum":["elastic_ips"]},"attributes":{"type":"object","properties":{"address":{"type":"string","description":"The IP address"},"family":{"type":"string","enum":["IPv4"],"description":"The IP address family"},"prefix_length":{"type":"integer","description":"The prefix length (e.g., 32 for a single IP)"},"mode":{"type":"string","enum":["routed"],"description":"The routing mode for this Elastic IP"},"status":{"type":"string","enum":["configuring","active","moving","releasing","error"],"description":"The current status of the Elastic IP"},"created_at":{"type":"string","format":"date-time","description":"The timestamp when the Elastic IP was created"},"server":{"type":"object","nullable":true,"description":"The server this Elastic IP is assigned to","properties":{"id":{"type":"string"},"hostname":{"type":"string"},"primary_ipv4":{"type":"string"},"operating_system":{"type":"string","nullable":true}}},"project":{"type":"object","description":"The project this Elastic IP belongs to","properties":{"id":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string"}}},"region":{"type":"object","nullable":true,"description":"The region where this Elastic IP is located","properties":{"id":{"type":"string","description":"The region ID"},"name":{"type":"string","description":"The region name"},"location":{"type":"object","description":"The site/location within the region","properties":{"id":{"type":"string","description":"The site ID"},"name":{"type":"string","description":"The site name"},"slug":{"type":"string","description":"The site slug"}}}}}}}}},"elastic_ips":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/elastic_ip_data"}},"meta":{"type":"object"}}},"create_elastic_ip":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["elastic_ips"]},"attributes":{"type":"object","properties":{"project_id":{"type":"string","description":"The project ID or slug"},"server_id":{"type":"string","description":"The server ID to assign the Elastic IP to"}},"required":["project_id","server_id"]}},"required":["type","attributes"]}},"required":["data"]},"update_elastic_ip":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["elastic_ips"]},"attributes":{"type":"object","properties":{"server_id":{"type":"string","description":"The server ID to move the Elastic IP to"}},"required":["server_id"]}},"required":["type","attributes"]}},"required":["data"]},"firewall":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/firewall_data"},"meta":{"type":"object"}}},"firewall_data":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["firewalls"]},"attributes":{"type":"object","properties":{"name":{"type":"string"},"rules":{"type":"array","items":{"type":"object","properties":{"from":{"type":"string","description":"Source IP address, IP range in CIDR notation, or 'ANY' (e.g., \"192.168.1.1\", \"192.168.1.0/24\", \"ANY\")"},"to":{"type":"string","description":"Destination IP address, IP range in CIDR notation, or 'ANY' (e.g., \"192.168.1.1\", \"192.168.1.0/24\", \"ANY\")"},"port":{"type":"string"},"protocol":{"type":"string"},"description":{"type":"string","nullable":true,"description":"Optional description explaining the purpose of this rule"}}}},"project":{"type":"object","properties":{"id":{"type":"string"},"slug":{"type":"string"},"name":{"type":"string"}}}}}}},"firewall_server":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["firewall_servers"]},"attributes":{"type":"object","properties":{"server_id":{"type":"string"},"firewall_id":{"type":"string"}}}}},"firewalls":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/firewall_data"}},"meta":{"type":"object"}}},"firewall_assignments":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/firewall_assignment_data"}},"meta":{"type":"object"}}},"firewall_assignment_data":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["firewall_assignments"]},"attributes":{"type":"object","properties":{"server":{"type":"object","properties":{"id":{"type":"string"},"primary_ipv4":{"type":"string"},"hostname":{"type":"string"}}},"firewall_id":{"type":"string"}}}}},"plan":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/plan_data"}}},"plan_data":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["plans"]},"attributes":{"type":"object","properties":{"slug":{"type":"string"},"name":{"type":"string"},"features":{"type":"array","items":{"type":"string","enum":["ssh","raid","user_data","sev"]},"description":"List of available features for the plan"},"specs":{"type":"object","properties":{"cpu":{"type":"object","properties":{"type":{"type":"string"},"clock":{"type":"number"},"cores":{"type":"number"},"count":{"type":"number"}}},"memory":{"type":"object","properties":{"total":{"type":"number"}}},"drives":{"type":"array","items":{"type":"object","properties":{"count":{"type":"number"},"size":{"type":"string"},"type":{"type":"string","enum":["SSD","HDD","NVME"]}}}},"nics":{"type":"array","items":{"type":"object","properties":{"count":{"type":"number"},"type":{"type":"string"}}}},"gpu":{"type":"object","properties":{"count":{"type":"number"},"type":{"type":"string"},"vram_per_gpu":{"type":"number","nullable":true,"description":"VRAM per GPU in GB"},"interconnect":{"type":"string","nullable":true,"description":"GPU interconnection type (e.g., NVLink, PCIe)"}}}}},"regions":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"deploys_instantly":{"type":"array","items":{"type":"string"}},"locations":{"type":"object","properties":{"available":{"type":"array","items":{"type":"string"}},"in_stock":{"type":"array","items":{"type":"string"}}}},"stock_level":{"type":"string","enum":["unavailable","low","medium","high"]},"pricing":{"type":"object","properties":{"USD":{"type":"object","properties":{"hour":{"type":"number","nullable":true},"month":{"type":"number","nullable":true},"year":{"type":"number","nullable":true}}},"BRL":{"type":"object","properties":{"hour":{"type":"number","nullable":true},"month":{"type":"number","nullable":true},"year":{"type":"number","nullable":true}}}}}}}}}}}},"bandwidth_packages":{"type":"object","properties":{"type":{"type":"string","enum":["bandwidth_packages"]},"attributes":{"type":"object","properties":{"project":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"slug":{"type":"string"}}},"packages":{"type":"array","items":{"type":"object","properties":{"region_slug":{"type":"string"},"currency":{"type":"string"},"unit_price":{"type":"number"},"contracted":{"type":"integer"},"total_price":{"type":"number"}}}}}}}},"bandwidth_plans":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/bandwidth_plan_data"}},"meta":{"type":"object"}}},"bandwidth_plan":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/bandwidth_plan_data"},"meta":{"type":"object"}}},"bandwidth_plan_data":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["bandwidth_plan"]},"attributes":{"type":"object","properties":{"region":{"type":"string"},"locations":{"type":"array","items":{"type":"string"}},"pricing":{"type":"object","properties":{"usd":{"type":"object","properties":{"monthly":{"type":"integer"},"hourly":{"type":"integer"}}},"brl":{"type":"object","properties":{"monthly":{"type":"integer"},"hourly":{"type":"integer"}}}}}}}}},"role":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/role_data"},"meta":{"type":"object"}}},"role_data":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["roles"]},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"Name of the Role"}}}}},"ssh_key":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ssh_key_data"},"meta":{"type":"object"}}},"ssh_keys":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ssh_key_data"}},"meta":{"type":"object"}}},"ssh_key_data":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["ssh_keys"]},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"Name of the SSH Key"},"public_key":{"type":"string","description":"SSH Public Key"},"fingerprint":{"type":"string","description":"SSH Key fingerprint"},"user":{"$ref":"#/components/schemas/user_include"},"project":{"$ref":"#/components/schemas/project_include"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"required":["type"]},"user_data":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/user_data_object"}},"meta":{"type":"object"}}},"user_data_object":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/user_data_properties"},"meta":{"type":"object"}}},"user_data_properties":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["user_data"]},"attributes":{"type":"object","properties":{"description":{"type":"string","description":"description of the User Data"},"content":{"type":"string","description":"content of the User Data"},"project":{"$ref":"#/components/schemas/project_include"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}},"required":["type"]},"server":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/server_data"},"meta":{"type":"object"}}},"servers":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/server_data"}},"meta":{"type":"object"}}},"server_data":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string"},"attributes":{"type":"object","properties":{"hostname":{"type":"string"},"label":{"type":"string","description":"The server label"},"status":{"type":"string","enum":["on","off","unknown","disk_erasing","deploying","failed_deployment","rescue_mode"],"description":"`on` - The server is powered ON\n`off` - The server is powered OFF\n`unknown` - The server power status is unknown\n`disk_erasing` - The server is in reinstalling state `disk_erasing`\n`deploying` - The server is deploying or reinstalling\n`failed_deployment` - The server has failed deployment or reinstall\n`rescue_mode` - The server is in rescue mode\n"},"ipmi_status":{"type":"string","enum":["Unavailable","Intermittent","Normal"]},"role":{"type":"string","description":"The server role (e.g. Bare Metal)"},"site":{"type":"string"},"locked":{"type":"boolean"},"rescue_allowed":{"type":"boolean"},"primary_ipv4":{"type":"string","nullable":true},"primary_ipv6":{"type":"string","nullable":true},"created_at":{"type":"string","nullable":true},"scheduled_deletion_at":{"type":"string","nullable":true},"plan":{"type":"object","properties":{"id":{"type":"string","description":"The plan ID"},"name":{"type":"string","description":"The plan name"},"slug":{"type":"string","description":"The plan slug"},"billing":{"type":"string","description":"hourly/monthly pricing. Defaults to `hourly`. Appliable for `on_demand` projects only.","nullable":true}}},"operating_system":{"type":"object","properties":{"name":{"type":"string","description":"The OS name"},"slug":{"type":"string","description":"The OS slug"},"version":{"type":"string","description":"The OS description"},"features":{"type":"object","properties":{"raid":{"type":"boolean"},"ssh_keys":{"type":"boolean"},"user_data":{"type":"boolean"}}},"distro":{"type":"object","properties":{"name":{"type":"string","description":"The OS Distro name"},"slug":{"type":"string","description":"The OS Distro slug"},"series":{"type":"string","description":"The OS Distro Series"}}}}},"region":{"$ref":"#/components/schemas/server_region_resource_data"},"specs":{"type":"object","properties":{"cpu":{"type":"string","description":"CPU model"},"disk":{"type":"string","description":"Disk quantity and size in GB (e.g. 2 x 500GB)"},"ram":{"type":"string","description":"RAM size in GB"},"nic":{"type":"string","description":"NIC quantity and speed"},"gpu":{"type":"string","description":"GPU model and quantity, if present","nullable":true}}},"interfaces":{"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["external","internal","ipmi","unknown"]},"name":{"type":"string"},"mac_address":{"type":"string","nullable":true},"description":{"type":"string"}}}},"project":{"$ref":"#/components/schemas/project_include"},"team":{"$ref":"#/components/schemas/team_include"}}}}},"server_rescue":{"type":"object","properties":{"meta":{"type":"object"}}},"server_action":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["actions"]},"attributes":{"type":"object","properties":{"status":{"type":"string"}}}}},"meta":{"type":"object"}}},"server_schedule_deletion":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["schedule_deletion"]},"attributes":{"type":"object","properties":{"server_id":{"type":"string"},"scheduled_deletion_at":{"type":"string"}}}}}}},"deploy_config":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string"},"attributes":{"type":"object","properties":{"operating_system":{"type":"string"},"hostname":{"type":"string"},"raid":{"type":"string"},"user_data":{"type":"string"},"ssh_keys":{"type":"array","items":{"type":"string"}},"partitions":{"type":"array","nullable":true,"items":{"type":"object","properties":{"path":{"type":"string"},"size_in_gb":{"type":"integer"},"filesystem_type":{"type":"string"}}}}}}}}}},"out_of_band_connection":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string"},"attributes":{"type":"object","properties":{"ssh_key":{"type":"object","properties":{"id":{"type":"string"},"description":{"type":"string"},"fingerprint":{"type":"string"}}},"created_at":{"type":"string"},"username":{"type":"string"},"credentials":{"type":"object","description":"credentials are valid only when the server is deployed with ssh keys","properties":{"user":{"type":"string"},"password":{"type":"string"}}},"port":{"type":"string"},"access_ip":{"type":"string"},"server_id":{"type":"string"},"status":{"type":"string"}}}}}}},"team":{"type":"object","properties":{"id":{"type":"string"},"attributes":{"type":"object","properties":{"name":{"type":"string"},"slug":{"type":"string"},"description":{"type":"string","nullable":true},"address":{"type":"string","nullable":true},"currency":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"enforce_mfa":{"type":"boolean"},"users":{"type":"array","items":{"$ref":"#/components/schemas/user_include"}},"projects":{"type":"array","items":{"$ref":"#/components/schemas/project_include"}},"owner":{"$ref":"#/components/schemas/user_include"},"billing":{"type":"object","properties":{"id":{"type":"string"},"customer_billing_id":{"type":"string"}}},"feature_flags":{"type":"array","items":{"type":"string"}}}}}},"team_include":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string"},"description":{"type":"string","nullable":true},"address":{"type":"string"},"currency":{"type":"object"},"status":{"type":"string"},"feature_flags":{"type":"array","items":{"type":"string"}}}},"team_members":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string"},"attributes":{"type":"object","properties":{"first_name":{"type":"string"},"last_name":{"type":"string"},"email":{"type":"string"},"mfa_enabled":{"type":"boolean"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"last_login_at":{"type":"string","format":"date-time","nullable":true},"role":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}}}}}}}},"teams":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/team"}},"meta":{"type":"object"}}},"membership":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string"},"attributes":{"type":"object","properties":{"first_name":{"type":"string"},"last_name":{"type":"string"},"email":{"type":"string"},"role":{"type":"string","enum":["owner","administrator","collaborator","billing"]},"mfa_enabled":{"type":"boolean"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"last_login_at":{"type":"string","format":"date-time"}}}}}}},"user":{"type":"object","properties":{"id":{"type":"string"},"attributes":{"type":"object","properties":{"first_name":{"type":"string"},"last_name":{"type":"string"},"email":{"type":"string"},"authentication_factor_id":{"type":"string"},"role":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}},"teams":{"type":"array","items":{"$ref":"#/components/schemas/team_include"}}}}}},"user_teams":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/user_team"}},"meta":{"type":"object"}}},"user_team":{"type":"object","properties":{"id":{"type":"string"},"attributes":{"type":"object","properties":{"name":{"type":"string"},"slug":{"type":"string"},"description":{"type":"string","nullable":true},"address":{"type":"string","nullable":true},"currency":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"owner":{"$ref":"#/components/schemas/user_include"},"billing":{"type":"object","properties":{"id":{"type":"string"},"customer_billing_id":{"type":"string"}}}}}}},"user_include":{"type":"object","properties":{"id":{"type":"string"},"first_name":{"type":"string"},"last_name":{"type":"string"},"email":{"type":"string"},"authentication_factor_id":{"type":"string","nullable":true},"created_at":{"type":"string"},"updated_at":{"type":"string"},"role":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}}},"users":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/user"}}}},"user_update":{"type":"object","properties":{"id":{"type":"string"},"attributes":{"type":"object","properties":{"first_name":{"type":"string"},"last_name":{"type":"string"},"email":{"type":"string"},"authentication_factor_id":{"type":"string","nullable":true},"role":{"type":"string"}}}}},"update_api_key":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","format":"(?-mix:^[a-zA-Z]+_[a-zA-Z0-9]+$)"},"type":{"type":"string","enum":["api_keys"]},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"Name of the API Key"},"read_only":{"type":"boolean","description":"Whether the API Key is read-only. Read-only keys can only perform GET requests."},"allowed_ips":{"type":"array","items":{"type":"string"},"description":"List of allowed IP addresses or CIDR ranges (e.g., \"192.168.1.100\", \"10.0.0.0/24\")"}}}},"required":["type"]}}},"create_api_key":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["api_keys"]},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"Name of the API Key","default":"Name of the API Key"},"read_only":{"type":"boolean","description":"Whether the API Key is read-only. Read-only keys can only perform GET requests."},"allowed_ips":{"type":"array","items":{"type":"string"},"description":"List of allowed IP addresses or CIDR ranges (e.g., \"192.168.1.100\", \"10.0.0.0/24\")"}},"required":["name"]}},"required":["type"]}}},"api_key":{"type":"object","properties":{"id":{"type":"string","format":"(?-mix:^[a-zA-Z]+_[a-zA-Z0-9]+$)"},"type":{"type":"string","enum":["api_keys"]},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"Name of the API Key"},"api_version":{"type":"string","description":"The API version associated with this API Key"},"token":{"type":"string","description":"The full token (only returned on create or rotate)"},"token_last_slice":{"type":"string","description":"The last 5 characters of the token created for this API Key"},"read_only":{"type":"boolean","nullable":true,"description":"Whether this API Key is read-only"},"allowed_ips":{"type":"array","nullable":true,"items":{"type":"string"},"description":"List of allowed IP addresses for this API Key"},"last_used_at":{"type":"string","nullable":true,"format":"date-time","description":"The last time a request was made to the API using this API Key"},"user":{"type":"object","description":"The owner of the API Key","properties":{"id":{"type":"string","format":"(?-mix:^[a-zA-Z]+_[a-zA-Z0-9]+$)"},"email":{"type":"string","format":"email"}}},"created_at":{"type":"string","format":"date-time","description":"The time when the API Key was created"},"updated_at":{"type":"string","format":"date-time","description":"The time when the API Key was updated"}}}}},"api_keys":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/api_key"}},"meta":{"type":"object"}}},"vpn_session_data_with_password":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["vpn_sessions"]},"attributes":{"type":"object","properties":{"user_name":{"type":"string","description":"VPN username"},"password":{"type":"string","description":"VPN password"},"port":{"type":"string","description":"VPN port"},"host":{"type":"string","description":"VPN host"},"region":{"$ref":"#/components/schemas/region_resource_data"},"status":{"type":"string","enum":["enable","disable"],"description":"from Firewall Response"},"expires_at":{"type":"string","description":"Time to expiry"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}}},"vpn_session_with_password":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/vpn_session_data_with_password"}}},"vpn_session_without_password":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["vpn_sessions"]},"attributes":{"type":"object","properties":{"user_name":{"type":"string","description":"VPN username"},"port":{"type":"string","description":"VPN port"},"host":{"type":"string","description":"VPN host"},"region":{"type":"object","properties":{"city":{"type":"string"},"country":{"type":"string"},"site":{"type":"object","properties":{"name":{"type":"string"},"slug":{"type":"string"},"facility":{"type":"string"}}}}},"status":{"type":"string","enum":["enable","disable"],"description":"from Firewall Response"},"expires_at":{"type":"string","description":"Time to expiry"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}}}}},"billing_usage":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string"},"attributes":{"type":"object","properties":{"project":{"type":"object","description":"The project in which the returned usage belongs to","properties":{"id":{"type":"string"},"slug":{"type":"string"},"name":{"type":"string"}}},"period":{"type":"object","description":"The period from the returned billing cycle","properties":{"start":{"type":"string","format":"date-time"},"end":{"type":"string","format":"date-time"}}},"available_credit_balance":{"type":"integer","description":"The available credit balance in cents"},"price":{"type":"number","description":"The total usage price in cents"},"threshold":{"type":"number","description":"The threshold which we use to charge your usage, in cents","nullable":true},"products":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"resource":{"type":"string"},"name":{"type":"string"},"proration":{"type":"boolean"},"discounts":{"type":"array","items":{"type":"object","required":["description","type","value"],"properties":{"description":{"type":"string","example":"Monthly Discount - Accelerate","description":"Description of the discount"},"type":{"type":"string","enum":["percent","amount"],"description":"Type of discount (percentage or fixed amount)"},"value":{"type":"number","format":"float","example":5.0,"description":"Value of the discount (percentage or amount)"}}}},"discountable":{"type":"boolean"},"description":{"type":"string"},"amount_without_discount":{"type":"integer"},"start":{"type":"string","format":"date-time"},"end":{"type":"string","format":"date-time","nullable":true},"unit":{"type":"string","enum":["quantity","hour","minute"]},"unit_price":{"type":"number","description":"The unit price of the product in cents"},"usage_type":{"type":"string","enum":["licensed","metered"]},"quantity":{"type":"number"},"price":{"type":"number","description":"The total usage price of the product in cents"},"metadata":{"type":"object","properties":{"id":{"type":"string","nullable":true},"hostname":{"type":"string","nullable":true},"plan":{"type":"string","nullable":true},"tags":{"type":"array","items":{"type":"string"}}}}}}}}}}}}},"custom_tags":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/custom_tag_data"}},"meta":{"type":"object"}}},"custom_tag":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/custom_tag_data"},"meta":{"type":"object"}}},"custom_tag_data":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["tags"]},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"Name of the Tag"},"slug":{"type":"string","description":"Slug of the Tag"},"description":{"type":"string","description":"Description of the Tag"},"color":{"type":"string","description":"Color of the Tag"},"team":{"$ref":"#/components/schemas/team_include"}}}}},"filesystems":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/filesystem_data"}},"meta":{"type":"object"}}},"filesystem_data":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["filesystems"]},"attributes":{"type":"object","properties":{"name":{"type":"string"},"size_in_gb":{"type":"integer"},"created_at":{"type":"string","format":"date-time","nullable":true},"project":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string"}}}}}}},"volume_data":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["volumes"]},"attributes":{"type":"object","properties":{"name":{"type":"string"},"size_in_gb":{"type":"integer"},"created_at":{"type":"string","format":"date-time","nullable":true},"namespace_id":{"type":"string","nullable":true},"connector_id":{"type":"string","nullable":true},"initiators":{"type":"array","items":{"type":"object","properties":{"nqn":{"type":"string"}}},"nullable":true},"project":{"$ref":"#/components/schemas/project_include"},"team":{"$ref":"#/components/schemas/team_include"}}}}},"object_storage_data":{"type":"object","properties":{"id":{"type":"string","description":"Object storage ID with bucket_ prefix"},"type":{"type":"string","enum":["object_storages"]},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"Display name of the object storage"},"size_in_gb":{"type":"integer","description":"Storage capacity in gigabytes"},"created_at":{"type":"string","format":"date-time","nullable":true,"description":"Timestamp when the object storage was created"},"bucket_name":{"type":"string","description":"S3-compatible bucket name"},"endpoint":{"type":"string","description":"S3-compatible endpoint URL for accessing the bucket"},"access_key":{"type":"string","description":"S3 access key for authentication"},"region":{"type":"object","nullable":true,"description":"Region information where the object storage is located","properties":{"id":{"type":"string","description":"Region identifier"},"city":{"type":"string","description":"City identifier"},"country":{"type":"string","nullable":true,"description":"Country name"}}},"project":{"$ref":"#/components/schemas/project_include"},"team":{"$ref":"#/components/schemas/team_include"}}}}},"object_storages":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/object_storage_data"}}}},"storage_plan":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/storage_plan_data"},"meta":{"type":"object"}}},"storage_plan_data":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["storage_plans"]},"attributes":{"type":"object","properties":{"name":{"type":"string"},"locations":{"type":"array","items":{"type":"string"}},"pricing":{"type":"object","properties":{"month":{"type":"number"}}}}}}},"storage_plans":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/storage_plan_data"}},"meta":{"type":"object"}}},"virtual_machine_update_payload":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["virtual_machines"]},"id":{"type":"string"},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"The new display name (hostname) for the Virtual Machine"}},"required":["name"]}},"required":["type","attributes"]}},"required":["data"]},"virtual_machine_payload":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["virtual_machines"]},"attributes":{"type":"object","properties":{"name":{"type":"string","default":"my-vm"},"plan":{"type":"string","description":"The plan ID or Slug for the Virtual Machine","nullable":true},"ssh_keys":{"type":"array","nullable":true,"items":{"type":"string"}},"project":{"type":"string","default":"my-project"},"operating_system":{"type":"string","description":"The operating system slug for the Virtual Machine. If not specified, defaults to ubuntu-24-04 for CPU plans or ubuntu24_ml_in_a_box for GPU plans.","nullable":true}}}}}}},"virtual_machine_attributes":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["virtual_machines"]},"attributes":{"type":"object","properties":{"name":{"type":"string"},"created_at":{"type":"string"},"status":{"type":"string","enum":["Running","Configuring network","Starting","Scheduling","Scheduled","Destroying"]},"primary_ipv4":{"type":"string","nullable":true},"operating_system":{"type":"object","nullable":true,"description":"The operating system installed on the virtual machine","properties":{"name":{"type":"string","description":"The full name of the operating system"},"slug":{"type":"string","description":"The unique slug identifier for the operating system"},"version":{"type":"string","description":"The version of the operating system"},"features":{"type":"object","description":"Features supported by this operating system","properties":{"raid":{"type":"boolean","description":"Whether RAID is supported"},"ssh_keys":{"type":"boolean","description":"Whether SSH keys are supported"},"user_data":{"type":"boolean","description":"Whether user data is supported"}}},"distro":{"type":"object","description":"Distribution information","properties":{"name":{"type":"string","description":"The name of the Linux distribution"},"slug":{"type":"string","description":"The slug of the Linux distribution"},"series":{"type":"string","description":"The distribution series code name"}}}}},"credentials":{"type":"object","nullable":true,"properties":{"username":{"type":"string"},"host":{"type":"string"},"password":{"type":"string"},"ssh_keys":{"type":"array","items":{"type":"string"}}}},"plan":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}},"specs":{"type":"object","properties":{"vcpu":{"type":"integer","nullable":true},"ram":{"type":"string","nullable":true},"storage":{"type":"string","nullable":true},"nic":{"type":"string","nullable":true},"gpu":{"type":"string","nullable":true}}},"team":{"$ref":"#/components/schemas/team_include"},"project":{"$ref":"#/components/schemas/project_include"}}}}},"virtual_machine":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/virtual_machine_attributes"},"meta":{"type":"object"}}},"virtual_machines":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/virtual_machine_attributes"}},"meta":{"type":"object"}}},"virtual_machine_plans":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the plan"},"type":{"type":"string","enum":["virtual_machine_plans"],"description":"The type of the resource"},"attributes":{"type":"object","properties":{"name":{"type":"string","description":"The name of the plan"},"specs":{"type":"object","properties":{"memory":{"type":"integer","description":"The total memory"},"gpu":{"type":"string","description":"The GPU type"},"vram_per_gpu":{"type":"integer","nullable":true,"description":"VRAM per GPU in GB"},"vcpus":{"type":"integer","description":"The number of virtual CPUs (legacy field)"},"vcpu":{"type":"object","description":"Detailed vCPU specifications","properties":{"count":{"type":"integer","nullable":true,"description":"The number of virtual CPUs"},"clock":{"type":"number","nullable":true,"description":"The CPU clock speed in GHz"},"type":{"type":"string","nullable":true,"description":"The CPU type/model"}}},"nics":{"type":"array","nullable":true,"description":"Network interface cards","items":{"type":"object","properties":{"type":{"type":"string","description":"NIC speed/type"},"count":{"type":"string","description":"Number of NICs"}}}},"disk":{"type":"object","properties":{"type":{"type":"string","description":"The type of the disk (e.g., local SSD, local NVMe)"},"size":{"type":"object","properties":{"amount":{"type":"integer","description":"The total size of the disk"},"unit":{"type":"string","enum":["gib"],"description":"The unit of the disk size"}}}}}}},"regions":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"available":{"type":"array","items":{"type":"string"}},"pricing":{"type":"object","properties":{"USD":{"type":"object","properties":{"hour":{"type":"number"},"month":{"type":"number"},"year":{"type":"number"}}},"BRL":{"type":"object","properties":{"hour":{"type":"number"},"month":{"type":"number"},"year":{"type":"number"}}}}},"locations":{"type":"object","properties":{"available":{"type":"array","items":{"type":"string"},"description":"Sites with clusters that support this plan"},"in_stock":{"type":"array","items":{"type":"string"},"description":"Sites with available capacity for this plan"}}},"stock_level":{"type":"string","enum":["low","unavailable","medium","high"],"description":"The stock level in this region"}}}},"stock_level":{"type":"string","enum":["low","unavailable","medium","high"],"description":"The stock level of the plan"},"available_operating_systems":{"type":"array","description":"List of operating system slugs that are compatible with this plan","items":{"type":"string"}}}}}}}}}},"securitySchemes":{"Bearer":{"type":"apiKey","name":"Authorization","in":"header"}}} }