Cvm
Confidential computing instance management in Phala Network
GET /api/v1/verified_apps/{identifier}/attestation HTTP/1.1
Host:
Accept: */*
{
"is_online": true,
"is_public": true,
"error": "text",
"name": "text",
"app_certificates": [
{
"subject": {
"common_name": "text",
"organization": "text",
"country": "text",
"state": "text",
"locality": "text"
},
"issuer": {
"common_name": "text",
"organization": "text",
"country": "text"
},
"serial_number": "text",
"not_before": "2025-07-04T04:40:03.487Z",
"not_after": "2025-07-04T04:40:03.487Z",
"version": "text",
"fingerprint": "text",
"signature_algorithm": "text",
"sans": [
"text"
],
"is_ca": false,
"position_in_chain": 1,
"quote": "text"
}
],
"tcb_info": {
"mrtd": "text",
"rootfs_hash": "text",
"rtmr0": "text",
"rtmr1": "text",
"rtmr2": "text",
"rtmr3": "text",
"event_log": [
{
"imr": 1,
"event_type": 1,
"digest": "text",
"event": "text",
"event_payload": "text"
}
],
"app_compose": "text"
},
"compose_file": "text"
}
The Compose Manifest
""
false
POST /api/v1/cvms/pubkey/from_cvm_configuration HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 623
{
"user_id": 1,
"name": "text",
"image": "text",
"vcpu": 1,
"memory": 1,
"disk_size": 1,
"compose_manifest": {
"bash_script": "text",
"docker_compose_file": "text",
"docker_config": {
"password": "",
"registry": "text",
"username": ""
},
"features": [
"text"
],
"kms_enabled": true,
"manifest_version": 1,
"name": "text",
"pre_launch_script": "text",
"public_logs": true,
"public_sysinfo": true,
"runner": "docker-compose",
"salt": "text",
"tproxy_enabled": true,
"version": "1.0.0"
},
"ports": [
{
"protocol": "text",
"host_port": 1,
"vm_port": 1,
"host_address": "text"
}
],
"encrypted_env": "",
"app_id_salt": "text",
"teepod_id": 1,
"listed": false,
"instance_type": "text",
"env_keys": [
"text"
]
}
No content
Create a new VM from VMConfiguration. It keep use same payload structure as Teepod API, add business layer
The Compose Manifest
""
false
POST /api/v1/cvms/from_cvm_configuration HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 623
{
"user_id": 1,
"name": "text",
"image": "text",
"vcpu": 1,
"memory": 1,
"disk_size": 1,
"compose_manifest": {
"bash_script": "text",
"docker_compose_file": "text",
"docker_config": {
"password": "",
"registry": "text",
"username": ""
},
"features": [
"text"
],
"kms_enabled": true,
"manifest_version": 1,
"name": "text",
"pre_launch_script": "text",
"public_logs": true,
"public_sysinfo": true,
"runner": "docker-compose",
"salt": "text",
"tproxy_enabled": true,
"version": "1.0.0"
},
"ports": [
{
"protocol": "text",
"host_port": 1,
"vm_port": 1,
"host_address": "text"
}
],
"encrypted_env": "",
"app_id_salt": "text",
"teepod_id": 1,
"listed": false,
"instance_type": "text",
"env_keys": [
"text"
]
}
{
"id": 1,
"name": "text",
"status": "text",
"teepod_id": 1,
"teepod": {
"id": 1,
"name": "text"
},
"user_id": 1,
"app_id": "text",
"vm_uuid": "text",
"instance_id": "text",
"app_url": "text",
"base_image": "text",
"vcpu": 1,
"memory": 1,
"disk_size": 1,
"manifest_version": 1,
"version": "text",
"runner": "text",
"docker_compose_file": "text",
"features": [
"text"
],
"created_at": "2025-07-04T04:40:03.487Z",
"encrypted_env_pubkey": "text"
}
The name of the tapp.
The characterfile to use for the a16z/eliza.
The environment variables to use for the a16z/eliza.
The Teepod ID to use for the a16z/eliza. If not provided, it will auto select an available one.
The image to use for the a16z/eliza. If not provided, it will use the latest image.
POST /api/v1/cvms/provision/eliza HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 87
{
"name": "text",
"characterfile": "text",
"env_keys": [
"text"
],
"teepod_id": 1,
"image": "text"
}
No content
false
false
[]
[]
true
POST /api/v1/cvms/provision HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 773
{
"name": "text",
"image": "text",
"compose_file": {
"allowed_envs": [
"text"
],
"bash_script": "text",
"docker_compose_file": "text",
"kms_enabled": true,
"local_key_provider_enabled": false,
"manifest_version": 2,
"name": "text",
"no_instance_id": false,
"pre_launch_script": "text",
"public_logs": true,
"public_sysinfo": true,
"runner": "docker-compose",
"gateway_enabled": true,
"features": [
"text"
],
"salt": "text",
"tproxy_enabled": true
},
"vcpu": 1,
"memory": 1,
"disk_size": 1,
"ports": [
{
"protocol": "text",
"host_port": 1,
"vm_port": 1,
"host_address": "text"
}
],
"encrypted_env": "text",
"app_id": "text",
"user_config": "text",
"hugepages": false,
"pin_numa": false,
"gpus": [
{
"product_id": "text",
"slot": "text"
}
],
"kms_urls": [
"text"
],
"gateway_urls": [
"text"
],
"env_keys": [
"text"
],
"teepod_id": 1,
"listed": true,
"instance_type": "text"
}
No content
The name of the tapp.
The instance_type of the tapp.
The scheduled delete time of the tapp.
POST /api/v1/cvms/gpu HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 87
{
"name": "text",
"instance_type": "text",
"scheduled_delete_at": "2025-07-04T04:40:03.487Z"
}
{
"id": 1,
"name": "text",
"status": "text",
"teepod_id": 1,
"teepod": {
"id": 1,
"name": "text"
},
"user_id": 1,
"app_id": "text",
"vm_uuid": "text",
"instance_id": "text",
"app_url": "text",
"base_image": "text",
"vcpu": 1,
"memory": 1,
"disk_size": 1,
"manifest_version": 1,
"version": "text",
"runner": "text",
"docker_compose_file": "text",
"features": [
"text"
],
"created_at": "2025-07-04T04:40:03.487Z",
"encrypted_env_pubkey": "text"
}
List CVMs - admins see all, users see their own
Filter by the CVM owner ID. Privileged operation.
Filter by Node ID.
GET /api/v1/cvms HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
[
{
"hosted": {
"id": "text",
"name": "text",
"status": "text",
"uptime": "text",
"app_url": "text",
"app_id": "text",
"instance_id": "text",
"configuration": {
"name": "text",
"image": "text",
"compose_file": {
"allowed_envs": [
"text"
],
"bash_script": "text",
"docker_compose_file": "text",
"kms_enabled": true,
"local_key_provider_enabled": false,
"manifest_version": 2,
"name": "text",
"no_instance_id": false,
"pre_launch_script": "text",
"public_logs": true,
"public_sysinfo": true,
"runner": "docker-compose",
"gateway_enabled": true,
"features": [
"text"
],
"salt": "text",
"tproxy_enabled": true
},
"vcpu": 1,
"memory": 1,
"disk_size": 1,
"ports": [
{
"protocol": "text",
"host_port": 1,
"vm_port": 1,
"host_address": "text"
}
],
"encrypted_env": "text",
"app_id": "text",
"user_config": "text",
"hugepages": false,
"pin_numa": false,
"gpus": [
{
"product_id": "text",
"slot": "text"
}
],
"kms_urls": [
"text"
],
"gateway_urls": [
"text"
]
},
"exited_at": "text",
"boot_progress": "text",
"boot_error": "text",
"shutdown_progress": "text",
"image_version": "text"
},
"name": "text",
"managed_user": {
"id": 1,
"username": "text"
},
"node": {
"id": 1,
"name": "text",
"region_identifier": "text"
},
"listed": false,
"status": "text",
"in_progress": false,
"dapp_dashboard_url": "text",
"syslog_endpoint": "text",
"allow_upgrade": false,
"project_id": "usr_K8fJ3pQm",
"project_type": "text",
"billing_period": "text",
"kms_info": {
"id": "usr_K8fJ3pQm",
"url": "text",
"version": "text",
"chain_id": 1,
"kms_contract_address": "text",
"gateway_app_id": "text"
},
"contract_address": "text",
"deployer_address": "text",
"vcpu": 1,
"memory": 1,
"disk_size": 1
}
]
The calculated app ID from compose file.
The compose hash of the app compose file.
The encrypted environment variables.
The KMS ID.
The contract address.
The deployer address.
The environment variables to use for the app.
POST /api/v1/cvms HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 150
{
"app_id": "text",
"compose_hash": "text",
"encrypted_env": "text",
"kms_id": "text",
"contract_address": "text",
"deployer_address": "text",
"env_keys": [
"text"
]
}
{
"id": 1,
"name": "text",
"status": "text",
"teepod_id": 1,
"teepod": {
"id": 1,
"name": "text"
},
"user_id": 1,
"app_id": "text",
"vm_uuid": "text",
"instance_id": "text",
"app_url": "text",
"base_image": "text",
"vcpu": 1,
"memory": 1,
"disk_size": 1,
"manifest_version": 1,
"version": "text",
"runner": "text",
"docker_compose_file": "text",
"features": [
"text"
],
"created_at": "2025-07-04T04:40:03.487Z",
"encrypted_env_pubkey": "text"
}
The updated app compose file.
POST /api/v1/cvms/{identifier}/compose_file HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 442
{
"compose_file": {
"allowed_envs": [
"text"
],
"bash_script": "text",
"docker_compose_file": "text",
"kms_enabled": true,
"local_key_provider_enabled": false,
"manifest_version": 2,
"name": "text",
"no_instance_id": false,
"pre_launch_script": "text",
"public_logs": true,
"public_sysinfo": true,
"runner": "docker-compose",
"gateway_enabled": true,
"features": [
"text"
],
"salt": "text",
"tproxy_enabled": true
},
"compose_hash": "text",
"encrypted_env": "text",
"env_keys": [
"text"
]
}
No content
The compose hash of the updated app compose file.
The encrypted environment of the updated app compose file.
PATCH /api/v1/cvms/{identifier}/compose_file HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 66
{
"compose_hash": "text",
"encrypted_env": "text",
"env_keys": [
"text"
]
}
No content
The updated app compose file.
true
false
2
false
true
true
docker-compose
true
["kms","tproxy-net"]
true
POST /api/v1/cvms/{identifier}/compose_file/provision HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 360
{
"allowed_envs": [
"text"
],
"bash_script": "text",
"docker_compose_file": "text",
"kms_enabled": true,
"local_key_provider_enabled": false,
"manifest_version": 2,
"name": "text",
"no_instance_id": false,
"pre_launch_script": "text",
"public_logs": true,
"public_sysinfo": true,
"runner": "docker-compose",
"gateway_enabled": true,
"features": [
"text"
],
"salt": "text",
"tproxy_enabled": true
}
No content
GET /api/v1/cvms/{identifier}/compose HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
"compose_file": {
"bash_script": "text",
"docker_compose_file": "text",
"docker_config": {
"password": "",
"registry": "text",
"username": ""
},
"features": [
"text"
],
"kms_enabled": true,
"manifest_version": 1,
"name": "text",
"pre_launch_script": "text",
"public_logs": true,
"public_sysinfo": true,
"runner": "docker-compose",
"salt": "text",
"tproxy_enabled": true,
"version": "1.0.0"
},
"env_pubkey": "text",
"salt": "text"
}
""
false
PUT /api/v1/cvms/{identifier}/compose HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 547
{
"id": "text",
"compose_manifest": {
"bash_script": "text",
"docker_compose_file": "text",
"docker_config": {
"password": "",
"registry": "text",
"username": ""
},
"features": [
"text"
],
"kms_enabled": true,
"manifest_version": 1,
"name": "text",
"pre_launch_script": "text",
"public_logs": true,
"public_sysinfo": true,
"runner": "docker-compose",
"salt": "text",
"tproxy_enabled": true,
"version": "1.0.0"
},
"encrypted_env": "",
"user_config": "text",
"update_ports": false,
"ports": [
{
"protocol": "text",
"host_port": 1,
"vm_port": 1,
"host_address": "text"
}
],
"allow_restart": 1,
"env_keys": [
"text"
]
}
No content
Partially update CVM compose file - only updates provided fields
Partial compose file update
PATCH /api/v1/cvms/{identifier}/compose HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 121
{
"compose_manifest": {
"docker_compose_file": "text",
"pre_launch_script": "text"
},
"encrypted_env": "text",
"env_keys": [
"text"
]
}
No content
Replicate a CVM to a target teepod
Replication parameters
POST /api/v1/cvms/{identifier}/replicas HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 50
{
"teepod_id": 1,
"node_id": 1,
"encrypted_env": "text"
}
{
"id": 1,
"name": "text",
"status": "text",
"teepod_id": 1,
"teepod": {
"id": 1,
"name": "text"
},
"user_id": 1,
"app_id": "text",
"vm_uuid": "text",
"instance_id": "text",
"app_url": "text",
"base_image": "text",
"vcpu": 1,
"memory": 1,
"disk_size": 1,
"manifest_version": 1,
"version": "text",
"runner": "text",
"docker_compose_file": "text",
"features": [
"text"
],
"created_at": "2025-07-04T04:40:03.487Z",
"encrypted_env_pubkey": "text"
}
List CVMs with pagination - admins see all, users see their own
Filter by the CVM owner ID. Privileged operation.
Filter by Node ID.
Page number, starting from 1
1
Number of items per page
30
GET /api/v1/cvms/paginated HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
"items": [
{
"hosted": {
"id": "text",
"name": "text",
"status": "text",
"uptime": "text",
"app_url": "text",
"app_id": "text",
"instance_id": "text",
"configuration": {
"name": "text",
"image": "text",
"compose_file": {
"allowed_envs": [
"text"
],
"bash_script": "text",
"docker_compose_file": "text",
"kms_enabled": true,
"local_key_provider_enabled": false,
"manifest_version": 2,
"name": "text",
"no_instance_id": false,
"pre_launch_script": "text",
"public_logs": true,
"public_sysinfo": true,
"runner": "docker-compose",
"gateway_enabled": true,
"features": [
"text"
],
"salt": "text",
"tproxy_enabled": true
},
"vcpu": 1,
"memory": 1,
"disk_size": 1,
"ports": [
{
"protocol": "text",
"host_port": 1,
"vm_port": 1,
"host_address": "text"
}
],
"encrypted_env": "text",
"app_id": "text",
"user_config": "text",
"hugepages": false,
"pin_numa": false,
"gpus": [
{
"product_id": "text",
"slot": "text"
}
],
"kms_urls": [
"text"
],
"gateway_urls": [
"text"
]
},
"exited_at": "text",
"boot_progress": "text",
"boot_error": "text",
"shutdown_progress": "text",
"image_version": "text"
},
"name": "text",
"managed_user": {
"id": 1,
"username": "text"
},
"node": {
"id": 1,
"name": "text",
"region_identifier": "text"
},
"listed": false,
"status": "text",
"in_progress": false,
"dapp_dashboard_url": "text",
"syslog_endpoint": "text",
"allow_upgrade": false,
"project_id": "usr_K8fJ3pQm",
"project_type": "text",
"billing_period": "text",
"kms_info": {
"id": "usr_K8fJ3pQm",
"url": "text",
"version": "text",
"chain_id": 1,
"kms_contract_address": "text",
"gateway_app_id": "text"
},
"contract_address": "text",
"deployer_address": "text",
"vcpu": 1,
"memory": 1,
"disk_size": 1
}
],
"total": 1,
"page": 1,
"page_size": 1,
"pages": 1
}
POST /api/v1/cvms/{identifier}/sync HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
"id": 1,
"name": "text",
"status": "text",
"teepod_id": 1,
"teepod": {
"id": 1,
"name": "text"
},
"user_id": 1,
"app_id": "text",
"vm_uuid": "text",
"instance_id": "text",
"app_url": "text",
"base_image": "text",
"vcpu": 1,
"memory": 1,
"disk_size": 1,
"manifest_version": 1,
"version": "text",
"runner": "text",
"docker_compose_file": "text",
"features": [
"text"
],
"created_at": "2025-07-04T04:40:03.487Z",
"encrypted_env_pubkey": "text"
}
PATCH /api/v1/cvms/{identifier}/visibility HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 42
{
"public_sysinfo": true,
"public_logs": true
}
{
"id": 1,
"name": "text",
"status": "text",
"teepod_id": 1,
"teepod": {
"id": 1,
"name": "text"
},
"user_id": 1,
"app_id": "text",
"vm_uuid": "text",
"instance_id": "text",
"app_url": "text",
"base_image": "text",
"vcpu": 1,
"memory": 1,
"disk_size": 1,
"manifest_version": 1,
"version": "text",
"runner": "text",
"docker_compose_file": "text",
"features": [
"text"
],
"created_at": "2025-07-04T04:40:03.487Z",
"encrypted_env_pubkey": "text"
}
GET /api/v1/cvms/{identifier}/stats HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
"is_online": true,
"is_public": true,
"error": "text",
"sysinfo": {
"os_name": "text",
"os_version": "text",
"kernel_version": "text",
"cpu_model": "text",
"num_cpus": 1,
"total_memory": 1,
"available_memory": 1,
"used_memory": 1,
"free_memory": 1,
"total_swap": 1,
"used_swap": 1,
"free_swap": 1,
"uptime": 1,
"loadavg_one": 1,
"loadavg_five": 1,
"loadavg_fifteen": 1,
"disks": [
{
"name": "text",
"mount_point": "text",
"total_size": 1,
"free_size": 1
}
]
},
"status": "text",
"in_progress": false,
"boot_progress": "text",
"boot_error": "text"
}
GET /api/v1/cvms/{identifier}/composition HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
"is_online": true,
"is_public": true,
"error": "text",
"docker_compose_file": "text",
"manifest_version": 1,
"version": "text",
"runner": "text",
"features": [
"text"
],
"containers": [
{
"id": "text",
"names": [
"text"
],
"image": "text",
"image_id": "text",
"command": "text",
"created": 1,
"state": "text",
"status": "text",
"log_endpoint": "text"
}
]
}
GET /api/v1/cvms/{identifier}/docker-compose.yml HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
text
GET /api/v1/cvms/{identifier}/attestation HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
"is_online": true,
"is_public": true,
"error": "text",
"name": "text",
"app_certificates": [
{
"subject": {
"common_name": "text",
"organization": "text",
"country": "text",
"state": "text",
"locality": "text"
},
"issuer": {
"common_name": "text",
"organization": "text",
"country": "text"
},
"serial_number": "text",
"not_before": "2025-07-04T04:40:03.487Z",
"not_after": "2025-07-04T04:40:03.487Z",
"version": "text",
"fingerprint": "text",
"signature_algorithm": "text",
"sans": [
"text"
],
"is_ca": false,
"position_in_chain": 1,
"quote": "text"
}
],
"tcb_info": {
"mrtd": "text",
"rootfs_hash": "text",
"rtmr0": "text",
"rtmr1": "text",
"rtmr2": "text",
"rtmr3": "text",
"event_log": [
{
"imr": 1,
"event_type": 1,
"digest": "text",
"event": "text",
"event_payload": "text"
}
],
"app_compose": "text"
},
"compose_file": "text"
}
GET /api/v1/cvms/{identifier}/network HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
"is_online": true,
"is_public": true,
"error": "text",
"internal_ip": "text",
"latest_handshake": "2025-07-04T04:40:03.487Z",
"public_urls": [
{
"app": "text",
"instance": "text"
}
]
}
Start a CVM
POST /api/v1/cvms/{identifier}/start HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
"id": 1,
"name": "text",
"status": "text",
"teepod_id": 1,
"teepod": {
"id": 1,
"name": "text"
},
"user_id": 1,
"app_id": "text",
"vm_uuid": "text",
"instance_id": "text",
"app_url": "text",
"base_image": "text",
"vcpu": 1,
"memory": 1,
"disk_size": 1,
"manifest_version": 1,
"version": "text",
"runner": "text",
"docker_compose_file": "text",
"features": [
"text"
],
"created_at": "2025-07-04T04:40:03.487Z",
"encrypted_env_pubkey": "text"
}
Shutdown a CVM
POST /api/v1/cvms/{identifier}/shutdown HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
"id": 1,
"name": "text",
"status": "text",
"teepod_id": 1,
"teepod": {
"id": 1,
"name": "text"
},
"user_id": 1,
"app_id": "text",
"vm_uuid": "text",
"instance_id": "text",
"app_url": "text",
"base_image": "text",
"vcpu": 1,
"memory": 1,
"disk_size": 1,
"manifest_version": 1,
"version": "text",
"runner": "text",
"docker_compose_file": "text",
"features": [
"text"
],
"created_at": "2025-07-04T04:40:03.487Z",
"encrypted_env_pubkey": "text"
}
Stop a CVM
POST /api/v1/cvms/{identifier}/stop HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
"id": 1,
"name": "text",
"status": "text",
"teepod_id": 1,
"teepod": {
"id": 1,
"name": "text"
},
"user_id": 1,
"app_id": "text",
"vm_uuid": "text",
"instance_id": "text",
"app_url": "text",
"base_image": "text",
"vcpu": 1,
"memory": 1,
"disk_size": 1,
"manifest_version": 1,
"version": "text",
"runner": "text",
"docker_compose_file": "text",
"features": [
"text"
],
"created_at": "2025-07-04T04:40:03.487Z",
"encrypted_env_pubkey": "text"
}
Restart a CVM
POST /api/v1/cvms/{identifier}/restart HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
"id": 1,
"name": "text",
"status": "text",
"teepod_id": 1,
"teepod": {
"id": 1,
"name": "text"
},
"user_id": 1,
"app_id": "text",
"vm_uuid": "text",
"instance_id": "text",
"app_url": "text",
"base_image": "text",
"vcpu": 1,
"memory": 1,
"disk_size": 1,
"manifest_version": 1,
"version": "text",
"runner": "text",
"docker_compose_file": "text",
"features": [
"text"
],
"created_at": "2025-07-04T04:40:03.487Z",
"encrypted_env_pubkey": "text"
}
Resize a CVM
Instance types for CVM billing.
PATCH /api/v1/cvms/{identifier}/resources HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 81
{
"vcpu": 1,
"memory": 1,
"disk_size": 1,
"allow_restart": 1,
"instance_type": "tdx.small"
}
No content
Update CVM name
PATCH /api/v1/cvms/{identifier}/name HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 15
{
"name": "text"
}
{
"id": 1,
"name": "text",
"status": "text",
"teepod_id": 1,
"teepod": {
"id": 1,
"name": "text"
},
"user_id": 1,
"app_id": "text",
"vm_uuid": "text",
"instance_id": "text",
"app_url": "text",
"base_image": "text",
"vcpu": 1,
"memory": 1,
"disk_size": 1,
"manifest_version": 1,
"version": "text",
"runner": "text",
"docker_compose_file": "text",
"features": [
"text"
],
"created_at": "2025-07-04T04:40:03.487Z",
"encrypted_env_pubkey": "text"
}
PATCH /api/v1/cvms/{identifier}/listed HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 15
{
"listed": true
}
{
"id": 1,
"name": "text",
"status": "text",
"teepod_id": 1,
"teepod": {
"id": 1,
"name": "text"
},
"user_id": 1,
"app_id": "text",
"vm_uuid": "text",
"instance_id": "text",
"app_url": "text",
"base_image": "text",
"vcpu": 1,
"memory": 1,
"disk_size": 1,
"manifest_version": 1,
"version": "text",
"runner": "text",
"docker_compose_file": "text",
"features": [
"text"
],
"created_at": "2025-07-04T04:40:03.487Z",
"encrypted_env_pubkey": "text"
}
Update CVM scheduled delete time
PATCH /api/v1/cvms/{identifier}/scheduled-delete HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 50
{
"scheduled_delete_at": "2025-07-04T04:40:03.487Z"
}
{
"id": 1,
"name": "text",
"status": "text",
"teepod_id": 1,
"teepod": {
"id": 1,
"name": "text"
},
"user_id": 1,
"app_id": "text",
"vm_uuid": "text",
"instance_id": "text",
"app_url": "text",
"base_image": "text",
"vcpu": 1,
"memory": 1,
"disk_size": 1,
"manifest_version": 1,
"version": "text",
"runner": "text",
"docker_compose_file": "text",
"features": [
"text"
],
"created_at": "2025-07-04T04:40:03.487Z",
"encrypted_env_pubkey": "text"
}
PUT /api/v1/cvms/{identifier}/ownership HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 18
{
"user_id": "text"
}
{
"id": 1,
"name": "text",
"status": "text",
"teepod_id": 1,
"teepod": {
"id": 1,
"name": "text"
},
"user_id": 1,
"app_id": "text",
"vm_uuid": "text",
"instance_id": "text",
"app_url": "text",
"base_image": "text",
"vcpu": 1,
"memory": 1,
"disk_size": 1,
"manifest_version": 1,
"version": "text",
"runner": "text",
"docker_compose_file": "text",
"features": [
"text"
],
"created_at": "2025-07-04T04:40:03.487Z",
"encrypted_env_pubkey": "text"
}
Was this helpful?