### Project Balance Example Source: https://api.datacrunch.io/v1/docs Example JSON payload for setting project balance and currency. ```json { "amount": 1000, "currency": "usd" } ``` -------------------------------- ### Paginated GET Request Example Source: https://api.datacrunch.io/v1/docs Shows how to request a specific page and page size for the /v1/scripts endpoint using query parameters. ```http GET /v1/scripts?page=1&pageSize=100 ``` -------------------------------- ### Operating System Details Example Source: https://api.datacrunch.io/v1/docs Example of an object detailing an operating system image. ```json { "id": "ce6aed3c-60a2-41da-ac28-51590ecfb85b", "image_type": "ubuntu-24.04", "name": "Ubuntu 24.04", "is_default": false, "details": [ "Ubuntu 24.04", "Minimal Image" ], "category": "ubuntu", "is_cluster": false } ``` -------------------------------- ### Get Access Token Request Example Source: https://api.datacrunch.io/v1/docs Example of a request payload to obtain an access token using client credentials. ```json { "grant_type": "client_credentials", "client_id": "6a51jsgnISg6JOyE7wYZh", "client_secret": "TvSBFujsqloJb4Jbcezths1OPK9my3zodM3zot9Fn5" } ``` -------------------------------- ### Get Image Types for Instances Source: https://api.datacrunch.io/v1/docs Example JSON response for available image types for instances. This includes details like image ID, type, name, and category. ```json [ { "id": "ce6aed3c-60a2-41da-ac28-51590ecfb85b", "image_type": "ubuntu-24.04", "name": "Ubuntu 24.04", "is_default": false, "details": [ "Ubuntu 24.04", "Minimal Image" ], "category": "ubuntu", "is_cluster": false } ] ``` -------------------------------- ### Get startup scripts Source: https://api.datacrunch.io/v1/docs Retrieves a list of all startup scripts for the project. ```APIDOC ## GET /v1/scripts ### Description Retrieves a list of the project's startup scripts. ### Method GET ### Endpoint /v1/scripts ### Responses #### Success Response (200) Returns a list of the project's startup scripts. - **id** (string) - Script ID - **name** (string) - Script name - **script** (string) - Script content #### Response Example ```json [ { "id": "5df57c0e-3d4f-4c38-ab18-072d58f21d00", "name": "My startup script", "script": "#!/bin/bash\n\necho hello world" } ] ``` ``` -------------------------------- ### Example Response for Listing Startup Scripts Source: https://api.datacrunch.io/v1/docs This JSON array contains details of all startup scripts associated with the project. ```json [ { "id": "5df57c0e-3d4f-4c38-ab18-072d58f21d00", "name": "My startup script", "script": "#!/bin/bash\n\necho hello world" } ] ``` -------------------------------- ### Get Access Token with Client Credentials Source: https://api.datacrunch.io/v1/docs Use this Node.js Fetch example to obtain an access token by providing client ID and secret. Ensure your Content-Type is set to application/json. ```javascript fetch('https://api.verda.com/v1/oauth2/token', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ grant_type: 'client_credentials', client_id: '6a51jsgnISg6JOyE7wYZh', client_secret: 'TvSBFujsqloJb4Jbcezths1OPK9my3zodM3zot9Fn5' }) }) ``` -------------------------------- ### Example Response with Rate Limits Source: https://api.datacrunch.io/v1/docs This example demonstrates a successful API response that includes rate limit information in the headers. It shows configured limits and the current remaining quota. ```curl curl -X GET --verbose https://api.verda.com/v1/instances HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 Content-Length: 213 RateLimit-Policy: "project";q=500;w=60, "endpoint";q=60;w=60 RateLimit: "project";r=486;t=37, "endpoint";r=48;t=37 {"..."} ``` -------------------------------- ### Example Volume Object Source: https://api.datacrunch.io/v1/docs This is an example of a volume object returned by the API, detailing its properties and associated instance information. ```json [ { "id": "3573b3c8-fd54-4220-ba2a-a4bdec534c7c", "instance_id": "42255efd-2ed2-4438-845e-f8e1a146dc66", "instances": [ { "id": "42255efd-2ed2-4438-845e-f8e1a146dc66", "auto_rental_extension": null, "ip": "123.123.123.123", "instance_type": "4A100.88V", "status": "running", "os_volume_id": "f41b3e07-89e9-43bd-acfa-defcd9cee247", "hostname": "hazy-star-swims-fin-01", "instance_template": { "instance_type": "4A100.88V", "cpu_cores": 128, "gpu_number": 4, "gpu_vram_gb": 80, "ram_gb": 512 }, "instance_model": { "code": "A100_80G", "manufacturer": "NVIDIA", "category": "GPU", "cluster_model_code": null } } ], "name": "OS-NVMe-84Ca37Jf", "created_at": "2024-07-08T19:19:54.247Z", "created_by_user_id": "7dfc2631-0158-4f74-93f6-6b46dcb90fef", "status": "attached", "size": 100, "is_os_volume": true, "target": "vda", "type": "NVMe", "location": "FIN-01", "ssh_key_ids": [ "d00c6987-17ef-4cf7-9288-891b975d16e1" ], "pseudo_path": "volume-84Ca37Jf", "create_directory_command": "mkdir -p /mnt/volume", "mount_command": "mount -t nfs -o nconnect=16 nfs.fin-01.datacrunch.io:volume-88eb67d0 /mnt/volume", "filesystem_to_fstab_command": "grep -qxF 'nfs.fin-01.datacrunch.io:volume-88eb67d0 /mnt/volume nfs defaults 0 0' /etc/fstab || echo 'nfs.fin-01.datacrunch.io:volume-88eb67d0 /mnt/volume nfs defaults 0 0' | sudo tee -a /etc/fstab", "contract": "LONG_TERM", "base_hourly_cost": 0.0273972602739726, "monthly_price": 20, "currency": "eur", "long_term": { "end_date": "2025-01-08T19:34:16.663Z", "long_term_period": "3 months", "discount_percentage": 14, "auto_rental_extension": false, "next_period_price": 49.93356, "current_period_price": 49.93356 } } ] ``` -------------------------------- ### Volume Object Example Source: https://api.datacrunch.io/v1/docs This JSON object represents a detailed example of a volume, including its ID, instance information, creation details, status, size, type, location, mount commands, and pricing. It showcases a typical volume attached to an instance. ```json { "id": "3573b3c8-fd54-4220-ba2a-a4bdec534c7c", "instance_id": "42255efd-2ed2-4438-845e-f8e1a146dc66", "instances": [ { "id": "42255efd-2ed2-4438-845e-f8e1a146dc66", "auto_rental_extension": null, "ip": "123.123.123.123", "instance_type": "4A100.88V", "status": "running", "os_volume_id": "f41b3e07-89e9-43bd-acfa-defcd9cee247", "hostname": "hazy-star-swims-fin-01", "instance_template": { "instance_type": "4A100.88V", "cpu_cores": 128, "gpu_number": 4, "gpu_vram_gb": 80, "ram_gb": 512 }, "instance_model": { "code": "A100_80G", "manufacturer": "NVIDIA", "category": "GPU", "cluster_model_code": null } } ], "name": "OS-NVMe-84Ca37Jf", "created_at": "2024-07-08T19:19:54.247Z", "created_by_user_id": "7dfc2631-0158-4f74-93f6-6b46dcb90fef", "status": "attached", "size": 100, "is_os_volume": true, "target": "vda", "type": "NVMe", "location": "FIN-01", "ssh_key_ids": [ "d00c6987-17ef-4cf7-9288-891b975d16e1" ], "pseudo_path": "volume-84Ca37Jf", "create_directory_command": "mkdir -p /mnt/volume", "mount_command": "mount -t nfs -o nconnect=16 nfs.fin-01.datacrunch.io:volume-88eb67d0 /mnt/volume", "filesystem_to_fstab_command": "grep -qxF 'nfs.fin-01.datacrunch.io:volume-88eb67d0 /mnt/volume nfs defaults 0 0' /etc/fstab || echo 'nfs.fin-01.datacrunch.io:volume-88eb67d0 /mnt/volume nfs defaults 0 0' | sudo tee -a /etc/fstab", "contract": "LONG_TERM", "base_hourly_cost": 0.0273972602739726, "monthly_price": 20, "currency": "eur" } ``` -------------------------------- ### Access Token Response Example Source: https://api.datacrunch.io/v1/docs Example of a successful response payload containing access and refresh tokens. ```json { "access_token": "eyJhbGciOiJIUzI1NiI...", "token_type": "Bearer", "expires_in": 3600, "refresh_token": "OU4O2BwA690cKg2OfGS8pgIfGSTD2vJ...", "scope": "cloud-api-v1" } ``` -------------------------------- ### CreateAccessKeyPublicDto Example Source: https://api.datacrunch.io/v1/docs Data transfer object for creating a new access key pair, requiring only a name. ```json { "name": "my-key" } ``` -------------------------------- ### ActivityComputeDto Example Source: https://api.datacrunch.io/v1/docs Represents a compute resource with its configuration and network details. Use this to inspect or manage compute instances. ```json { "id": "8b5ff1d4-f408-438c-b9eb-d5787f27a86e", "hostname": "example-fin-01", "compute_type": "4A100.88V", "is_cluster": false, "ip": "1.2.3.4", "os_volume_id": "5c4303ec-3c4f-4d92-a913-df1e9acfa708", "location_code": "FIN-01" } ``` -------------------------------- ### ContainerType Object Example Source: https://api.datacrunch.io/v1/docs Defines a container instance type, including CPU, GPU, memory, and serverless pricing. ```json { "id": "60006000-6000-47af-8ff0-600060006004", "model": "RTX PRO 6000", "name": "RTX PRO 6000 96GB", "instance_type": "8RTXPRO6000.224V", "cpu": { "description": "224 CPU", "number_of_cores": 224, "model": "AMD Turin" }, "gpu": { "description": "8x RTX PRO 6000 96GB", "number_of_gpus": 8 }, "gpu_memory": { "description": "768GB GPU RAM", "size_in_gigabytes": 768 }, "memory": { "description": "680GB RAM", "size_in_gigabytes": 680 }, "serverless_price": "1.529", "serverless_spot_price": "0.7645", "currency": "usd", "manufacturer": "NVIDIA" } ``` -------------------------------- ### Startup Scripts Operations Source: https://api.datacrunch.io/v1/docs Operations for managing startup scripts to be run when instances are started. ```APIDOC ## GET /v1/scripts ### Description Retrieves a list of startup scripts. ### Method GET ### Endpoint /v1/scripts ## POST /v1/scripts ### Description Creates a new startup script. ### Method POST ### Endpoint /v1/scripts ## DELETE /v1/scripts ### Description Deletes startup scripts. ### Method DELETE ### Endpoint /v1/scripts ## GET /v1/scripts/{scriptId} ### Description Retrieves a specific startup script by ID. ### Method GET ### Endpoint /v1/scripts/{scriptId} ### Parameters #### Path Parameters - **scriptId** (string) - Required - The ID of the startup script. ## DELETE /v1/scripts/{scriptId} ### Description Deletes a specific startup script by ID. ### Method DELETE ### Endpoint /v1/scripts/{scriptId} ### Parameters #### Path Parameters - **scriptId** (string) - Required - The ID of the startup script. ``` -------------------------------- ### Get single startup script by ID Source: https://api.datacrunch.io/v1/docs Retrieves a specific startup script by its ID. ```APIDOC ## GET /v1/scripts/{scriptId} ### Description Retrieves a specific startup script by its ID. ### Method GET ### Endpoint /v1/scripts/{scriptId} ### Parameters #### Path Parameters - **scriptId** (string) - Required - The ID of the script to retrieve. ### Responses #### Success Response (200) Returns the startup script details. - **id** (string) - Script ID - **name** (string) - Script name - **script** (string) - Script content #### Response Example ```json { "id": "5df57c0e-3d4f-4c38-ab18-072d58f21d00", "name": "My startup script", "script": "#!/bin/bash\n\necho hello world" } ``` ``` -------------------------------- ### Location Object Example Source: https://api.datacrunch.io/v1/docs Represents a datacenter location with its code, name, and country code. ```json { "code": "FIN-01", "name": "Finland 1", "country_code": "FI" } ``` -------------------------------- ### Get instances Source: https://api.datacrunch.io/v1/docs Retrieves a list of all instances within the project, with an option to filter by status. ```APIDOC ## GET /v1/instances ### Description Return all instances of the project, or all instances with a specific status (optional). This endpoint is rate limited to 120 requests per minute per project. ### Method GET ### Endpoint /v1/instances ### Query Parameters - **status** (string) - Optional - Filter instances by their status. Possible values: "running", "provisioning", "offline", "discontinued", "unknown", "ordered", "notfound", "new", "error", "deleting", "validating", "no_capacity", "installation_failed". ### Response #### Success Response (200) Instance or a list of instances. - **contract** (string) - Possible values: "LONG_TERM", "PAY_AS_YOU_GO", "SPOT" - **cpu** (object) - **created_at** (string) - **description** (string) - **gpu** (object) - **gpu_memory** (object) - **hostname** (string) - **id** (string) - **image** (string) - **instance_type** (string) - **ip** (string) - **is_spot** (boolean) - **jupyter_token** (string) - **location** (string) - **memory** (object) - **os_name** (string) - **os_volume_id** (string) - **price_per_hour** (number) - **pricing** (string) - Possible values: "DYNAMIC_PRICE", "FIXED_PRICE" - **ssh_key_ids** (array of strings) - **startup_script_id** (string) - **status** (string) - Possible values: "running", "provisioning", "offline", "discontinued", "unknown", "ordered", "notfound", "new", "error", "deleting", "validating", "no_capacity", "installation_failed" - **storage** (object) - **volume_ids** (array of strings) - **created_by_user_id** (string) ### Response Example ```json [ { "id": "bdc582ce-44a5-4323-9043-d871087a206e", "ip": "1.2.3.4", "status": "running", "created_at": "2023-07-15T14:10:26.654Z", "created_by_user_id": "7dfc2631-0158-4f74-93f6-6b46dcb90fef", "cpu": { "description": "176 CPU", "number_of_cores": 176, "model": "AMD Genoa" }, "gpu": { "description": "8x A100", "number_of_gpus": 8 }, "gpu_memory": { "description": "80GB GPU RAM", "size_in_gigabytes": 80 }, "memory": { "description": "640GB RAM", "size_in_gigabytes": 640 }, "storage": { "description": "dynamic" }, "hostname": "hazy-star-swims-fin-01", "description": "ubuntu-22-04-cuda-12-0-docker-fin-01", "location": "FIN-01", "price_per_hour": 2.481, "is_spot": false, "instance_type": "8A100.176V", "image": "ubuntu-22-04-cuda-12-0-docker", "os_name": "Ubuntu 22.04", "startup_script_id": "95cec4c3-af69-42eb-a790-fcacebfdfcea", "ssh_key_ids": [ "dd50b622-1c36-48c2-a485-f4d4937a3ea1" ], "os_volume_id": "95cec4c3-af69-42eb-a790-fcacebfdfcea", "jupyter_token": "b9e6d8517db3a722ccfb309ca599a35f", "contract": "PAY_AS_YOU_GO", "pricing": "FIXED_PRICE", "volume_ids": [ "95cec4c3-af69-42eb-a790-fcacebfdfcea", "dd50b622-1c36-48c2-a485-f4d4937a3ea1" ] } ] ``` ``` -------------------------------- ### ClusterType Object Example Source: https://api.datacrunch.io/v1/docs Details a specific cluster instance type, including CPU, GPU, memory, and pricing. ```json { "id": "c01dd00d-0000-4972-ae4e-d429115d055b", "model": "B200 Cluster", "name": "H100 SXM5 80GB", "cluster_type": "16H200", "cpu": { "description": "128 CPU", "number_of_cores": 128, "model": "AMD Turin" }, "gpu": { "description": "1x H100 SXM5 80GB", "number_of_gpus": 1 }, "gpu_memory": { "description": "80GB GPU RAM", "size_in_gigabytes": 80 }, "memory": { "description": "187GB RAM", "size_in_gigabytes": 187 }, "price_per_hour": "3.17", "currency": "usd", "manufacturer": "NVIDIA", "node_details": [ { "GPU VRAM": "1536 GB" }, { "AMD Turin CPU": "128 cores" }, { "InfiniBand": "3200 Gbit/s" }, { "Ethernet": "100 Gbit/s" }, { "Uplink": "5 Gbit/s" } ], "supported_os": [ "ubuntu-22.04-cuda-12.3", "ubuntu-24.04" ] } ``` -------------------------------- ### Cluster Availability Example Source: https://api.datacrunch.io/v1/docs Lists available cluster types for a specific location. Useful for checking cluster availability. ```json { "location_code": "FIN-01", "availabilities": [ "16H200", "32H200" ] } ``` -------------------------------- ### Example Request Body for Adding a New Startup Script Source: https://api.datacrunch.io/v1/docs Use this JSON to provide the name and content for a new startup script. ```json { "name": "My startup script", "script": "#!/bin/bash\n\necho hello world" } ``` -------------------------------- ### Get Cluster Response Public API DTO Example Source: https://api.datacrunch.io/v1/docs Provides detailed information about a cluster, including its configuration, status, and associated resources. ```json { "id": "419b9623-33b3-44fd-bbcb-b98594452fa0", "ip": "1.2.3.4", "status": "running", "created_at": "2023-07-15T14:10:26.654Z", "created_by_user_id": "7dfc2631-0158-4f74-93f6-6b46dcb90fef", "cpu": { "description": "176 CPU", "number_of_cores": 176, "model": "AMD Genoa" }, "gpu": { "description": "8x A100", "number_of_gpus": 8 }, "gpu_memory": { "description": "80GB GPU RAM", "size_in_gigabytes": 80 }, "memory": { "description": "640GB RAM", "size_in_gigabytes": 640 }, "hostname": "hazy-star-swims-fin-01", "description": "ubuntu-22-04-cuda-12-0-docker-fin-01", "location": "FIN-01", "price_per_hour": 2.481, "cluster_type": "16H200", "image": "ubuntu-22-04-cuda-12-0-docker", "os_name": "Ubuntu 22.04", "startup_script_id": "95cec4c3-af69-42eb-a790-fcacebfdfcea", "ssh_key_ids": [ "dd50b622-1c36-48c2-a485-f4d4937a3ea1" ], "contract": "LONG_TERM", "extension_settings": "auto_renew", "long_term_period": "1 week", "worker_nodes": [ { "id": "1", "hostname": "worker-1", "public_ip": "1.2.3.4", "private_ip": "1.2.3.4", "status": "running" } ], "shared_volumes": [ { "id": "1", "name": "shared-volume-1", "mount_point": "/home", "size_in_gigabytes": 100 } ] } ``` -------------------------------- ### POST /v1/instances Source: https://api.datacrunch.io/v1/docs Creates a new instance with specified configurations, including spot instance options and volume policies. ```APIDOC ## POST /v1/instances ### Description Creates a new instance with specified configurations, including spot instance options and volume policies. ### Method POST ### Endpoint /v1/instances ### Request Body - **instance_type** (string) - Required - The type of instance to create. - **image** (string) - Required - The image to use for the instance. - **ssh_key_ids** (array of strings) - Required - A list of SSH key IDs to associate with the instance. - **hostname** (string) - Required - The hostname for the instance. - **location_code** (string) - Required - The location code where the instance will be created. - **is_spot** (boolean) - Optional - Whether to create a spot instance. - **os_volume** (object) - Optional - Configuration for the operating system volume. - **name** (string) - Required - The name of the OS volume. - **size** (number) - Required - The size of the OS volume in GB. - **on_spot_discontinue** (string) - Optional - The policy for the OS volume when the spot instance is discontinued. Possible values: `keep_detached`, `move_to_trash`, `delete_permanently`. ### Request Example ```json { "instance_type": "CPU.4V.16G", "image": "ubuntu-24.04", "ssh_key_ids": ["442e6a59-26c2-4cea-a619-39762c0d2385"], "hostname": "test-instance", "location_code": "FIN-03", "is_spot": true, "os_volume": { "name": "test-instance-os-volume", "size": 55, "on_spot_discontinue": "keep_detached" } } ``` ``` -------------------------------- ### Invalid Request Error Response Source: https://api.datacrunch.io/v1/docs An example of an error response when the request to get an access token is invalid. The response includes an error code and a message. ```json { "code": "invalid_request", "message": "" } ``` -------------------------------- ### Example Response for Retrieving a Single Startup Script Source: https://api.datacrunch.io/v1/docs This JSON object represents a single startup script, including its ID, name, and content. ```json { "id": "5df57c0e-3d4f-4c38-ab18-072d58f21d00", "name": "My startup script", "script": "#!/bin/bash\n\necho hello world" } ``` -------------------------------- ### Instance Availability Example Source: https://api.datacrunch.io/v1/docs Lists available instance types for a specific location. Useful for checking hardware availability before deployment. ```json { "location_code": "FIN-01", "availabilities": [ "1H100.80S.22V", "2H100.80S.60V", "4H100.80S.176V", "8H100.80S.352V" ] } ``` -------------------------------- ### Get Volume in Trash Response Example Source: https://api.datacrunch.io/v1/docs This JSON object represents the response when retrieving volume details that are in the trash. It includes all relevant information about the volume's configuration, status, and cost. ```json { "id": "3573b3c8-fd54-4220-ba2a-a4bdec534c7c", "instance_id": "42255efd-2ed2-4438-845e-f8e1a146dc66", "instances": [ { "id": "42255efd-2ed2-4438-845e-f8e1a146dc66", "auto_rental_extension": null, "ip": "123.123.123.123", "instance_type": "4A100.88V", "status": "running", "os_volume_id": "f41b3e07-89e9-43bd-acfa-defcd9cee247", "hostname": "hazy-star-swims-fin-01", "instance_template": { "instance_type": "4A100.88V", "cpu_cores": 128, "gpu_number": 4, "gpu_vram_gb": 80, "ram_gb": 512 }, "instance_model": { "code": "A100_80G", "manufacturer": "NVIDIA", "category": "GPU", "cluster_model_code": null } } ], "name": "OS-NVMe-84Ca37Jf", "created_at": "2024-07-08T19:19:54.247Z", "status": "attached", "size": 100, "is_os_volume": true, "target": "vda", "type": "NVMe", "location": "FIN-01", "ssh_key_ids": [ "d00c6987-17ef-4cf7-9288-891b975d16e1" ], "contract": "LONG_TERM", "base_hourly_cost": 0.0273972602739726, "monthly_price": 20, "currency": "eur", "deleted_at": "2025-01-10T11:35:47.633Z", "is_permanently_deleted": false } ``` -------------------------------- ### Deploy instance Source: https://api.datacrunch.io/v1/docs Deploys a new instance with specified configurations, including the option to set a removal policy for the OS volume upon spot instance discontinuation. ```APIDOC ## POST /v1/instances ### Description Deploys a new instance with specified configurations. The `location_code` is now required in the request body. It is also possible to specify a removal policy for the OS volume when creating a spot instance. ### Method POST ### Endpoint /v1/instances ### Parameters #### Request Body - **location_code** (string) - Required - The location code for the instance. - **instance_type** (string) - Optional - The type of instance to deploy. - **image** (string) - Optional - The image to use for the instance. - **ssh_key_ids** (array of strings) - Optional - A list of SSH key IDs to associate with the instance. - **hostname** (string) - Optional - The hostname for the instance. - **is_spot** (boolean) - Optional - Whether to create a spot instance. - **os_volume** (object) - Optional - Configuration for the operating system volume. - **name** (string) - Optional - The name of the OS volume. - **size** (integer) - Optional - The size of the OS volume in GB. - **on_spot_discontinue** (string) - Optional - The policy for the OS volume when the spot instance is discontinued. Possible values: "keep_detached", "move_to_trash", "delete_permanently". ### Request Example ```json { "instance_type": "CPU.4V.16G", "image": "ubuntu-24.04", "ssh_key_ids": ["442e6a59-26c2-4cea-a619-39762c0d2385"], "hostname": "test-instance", "location_code": "FIN-03", "is_spot": true, "os_volume": { "name": "test-instance-os-volume", "size": 55, "on_spot_discontinue": "keep_detached" } } ``` ``` -------------------------------- ### Instance Type Example Source: https://api.datacrunch.io/v1/docs Represents a detailed configuration of a compute instance, including CPU, GPU, memory, and pricing information. Useful for selecting appropriate hardware for specific workloads. ```json { "best_for": [ "Giant ML models", "Multi-GPU training", "FP64 calculations", "NVLINK" ], "cpu": { "description": "22 CPU", "number_of_cores": 22, "model": "AMD Genoa" }, "deploy_warning": "Make sure your VM is running on latest Nvidia Driver 525.100+ or newer", "description": "Dedicated Hardware Instance", "gpu": { "description": "1x H100 SXM5 80GB", "number_of_gpus": 1 }, "gpu_memory": { "description": "80GB GPU RAM", "size_in_gigabytes": 80 }, "id": "c01dd00d-0000-4972-ae4e-d429115d055b", "instance_type": "1H100.80S.22V", "memory": { "description": "187GB RAM", "size_in_gigabytes": 187 }, "model": "H100", "name": "H100 SXM5 80GB", "p2p": "600 GB/s", "price_per_hour": "3.17", "spot_price": "0.31", "serverless_price": "1.75", "serverless_spot_price": "0.87", "storage": { "description": "dynamic" }, "currency": "usd", "manufacturer": "NVIDIA", "display_name": "NVIDIA H100 SXM5 80GB", "supported_os": [ "ubuntu-22.04-cuda-12.3", "ubuntu-24.04" ] } ``` -------------------------------- ### Make Authenticated API Call Source: https://api.datacrunch.io/v1/docs Include the obtained access token in the Authorization header as a Bearer token for authenticated API requests. This example shows a GET request to the /balance endpoint. ```json { "method": "get", "url": "https://api.verda.com/v1/balance", "headers": { "Authorization": "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJoZXkiOiJ5b3UgYWN1YWxseSBjaGVja2VkIHRoaXM_In0.0RjcdKQ1NJP9gbRyXITE6LFFLwKGzeeshuubnkkfkb8" } } ``` -------------------------------- ### Deploy Instance Source: https://api.datacrunch.io/v1/docs Deploys a new instance with specified configurations. Supports adding SSH keys, using existing volumes, and defining new volumes. ```APIDOC ## POST /v1/instances ### Description Deploy a new instance. Before deploying an instance, you need to add at least an SSH key to be able to access your instance. Instance types can be listed using the `GET /instance-types` endpoint. Available images can be listed using the `GET /images` endpoint, using the `image_type` value from the result. Existing detached OS volumes could be used as an image, put the volume ID as the `image` value. It's also possible to define new volumes that will be created and attached to the new instance. New volumes location will be the same as the instance. Existing detached volumes can be attached to the deployed instance by adding their IDs to the `existing_volumes` property. ### Method POST ### Endpoint /v1/instances ### Parameters #### Request Body - **`description`** (string) - Required - A description for the instance. - **`hostname`** (string) - Required - The hostname for the instance. - **`image`** (string) - Required - OS image specification for the created instance. Options: OS image type (use `GET /images` for supported types and `os_volume` property for name/size) or a previously customized OS volume ID. - **`instance_type`** (string) - Required - The type of instance to deploy. - **`location_code`** (string) - Required - Location code for the instance and any newly created volumes. - **`contract`** (string) - Optional - Contract type. Possible values: "LONG_TERM", "PAY_AS_YOU_GO", "SPOT". - **`coupon`** (string) - Optional - Coupon code for discounts. - **`existing_volumes`** (array) - Optional - IDs of additional existing detached volumes to attach to this new instance. Items are strings (volume IDs). - **`is_spot`** (boolean) - Optional - Create a spot instance. Spot instances may be evicted by Verda at any time without warning. - **`os_volume`** (object) - Optional - Newly created OS volume name and size (in GB). Use when `image` property is an OS image type. Object properties: `name` (string), `size` (number), `on_spot_discontinue` (string, optional, allowed values: `keep_detached`, `move_to_trash`, `delete_permanently`). - **`pricing`** (string) - Optional - Deprecated. Only `FIXED_PRICE` is supported. - **`ssh_key_ids`** (object) - Optional - SSH key IDs for accessing the instance. - **`startup_script_id`** (string) - Optional - ID of the startup script to run on instance launch. - **`volumes`** (array) - Optional - Additional (non-OS) volumes to create and attach to this new instance. Items are objects with properties: `name` (string, required), `size` (number, required), `type` (string, required, possible values: "HDD", "NVMe", "HDD_Shared", "NVMe_Shared", "NVMe_Local_Storage", "NVMe_Shared_Cluster", "NVMe_OS_Cluster"), `on_spot_discontinue` (string, optional, allowed values: `keep_detached`, `move_to_trash`, `delete_permanently`). ### Request Example ```json { "instance_type": "1H100.80S.30V", "image": "ubuntu-22.04-cuda-12.4-docker", "ssh_key_ids": [ "20135040-5020-43dd-be6b-8e1c0e5cf334" ], "startup_script_id": "db8faced-8d0a-419c-9586-9d02daf0c886", "hostname": "my-instance-hostname", "description": "", "location_code": "FIN-01", "os_volume": { "name": "custom-os-volume-name", "size": 100, "on_spot_discontinue": "keep_detached" }, "is_spot": true, "coupon": "COUPON-CODE-2026", "volumes": [ { "name": "additional-volume-name", "size": 1000, "type": "NVMe" } ], "existing_volumes": [ "3c00ee37-3f59-4f5b-88a6-6bc7b46b4fdc" ], "contract": "PAY_AS_YOU_GO" } ``` ### Response #### Success Response (200) - **Instance ID** (string) - The ID of the newly created instance. ##### Content-Type: application/json ``` -------------------------------- ### API Error Response Example Source: https://api.datacrunch.io/v1/docs Example of an error response payload from the API. ```json { "code": "invalid_request", "message": "" } ``` -------------------------------- ### Audit Log Event Example Source: https://api.datacrunch.io/v1/docs Example of an audit log event payload, conforming to CloudEvents specification. ```json { "specversion": "1.0", "id": "ba9a5112-4509-47ba-a0fc-502158087539", "source": "https://api.verda.com/project/d6e7f8a9-b0c1-2345-defa-456789012345", "type": "com.verda.api.compute.create.v1", "subject": "7bdb4161-c7d2-478c-9850-05719adc8381", "time": "2026-03-17T14:15:52.872Z", "data": { "location_code": "FIN-01", "request_origin": "console-11.17.0", "actor_id": "5bbb59cb-fced-44a4-85c6-5005e7480a8f", "compute": { "id": "7bdb4161-c7d2-478c-9850-05719adc8381", "hostname": "tiny-tree-unfolds-fin-01", "compute_type": "CPU.4V.16G", "is_cluster": false, "ip": "1.1.1.1", "os_volume_id": "a6e77869-5012-42c0-b98e-792b4ba2cad9", "location_code": "FIN-01" } } } ``` -------------------------------- ### Deploy Instance Request Body Source: https://api.datacrunch.io/v1/docs Use this JSON structure to deploy a new instance. Ensure all required fields like instance type, image, SSH key IDs, hostname, description, and location code are provided. Optional fields allow for custom OS volume configuration, additional storage volumes, existing volume attachment, startup scripts, contract types, and spot instance settings. ```json { "instance_type": "1H100.80S.30V", "image": "ubuntu-22.04-cuda-12.4-docker", "ssh_key_ids": [ "20135040-5020-43dd-be6b-8e1c0e5cf334" ], "startup_script_id": "db8faced-8d0a-419c-9586-9d02daf0c886", "hostname": "my-instance-hostname", "description": "", "location_code": "FIN-01", "os_volume": { "name": "custom-os-volume-name", "size": 100, "on_spot_discontinue": "keep_detached" }, "is_spot": true, "coupon": "COUPON-CODE-2026", "volumes": [ { "name": "additional-volume-name", "size": 1000, "type": "NVMe" } ], "existing_volumes": [ "3c00ee37-3f59-4f5b-88a6-6bc7b46b4fdc" ], "contract": "PAY_AS_YOU_GO" } ```