Aquanode Deployments API
The Deployments API from Aquanode — 7 operation(s) for deployments.
The Deployments API from Aquanode — 7 operation(s) for deployments.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/aquanode-io:aquanode-io-deployments-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
version: 1.0.0
title: Aquanode Orchestrator Deployments API
description: API documentation for the Aquanode deployment orchestrator.
servers:
- url: /api/v1
tags:
- name: Deployments
paths:
/deployments:
get:
summary: List deployments
description: Retrieves all deployments for the current team, with optional filtering.
tags:
- Deployments
security:
- BearerAuth: []
parameters:
- schema:
type:
- string
- 'null'
enum:
- VMS
- DOCKER_IMAGE
- null
required: false
name: type
in: query
- schema:
type: string
enum:
- akash
- voltagepark
- datacrunch
- hotaisle
- vastai
- massecompute
- cudocompute
- hyperstack
- vultr
- simplepod
- runpod
- nebius
- jarvislabs
- aws
required: false
name: provider
in: query
- schema:
type: boolean
required: false
name: sortByTime
in: query
responses:
'200':
description: Deployments retrieved successfully
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
example: true
data:
type: array
items: {}
message:
type: string
example: Operation successful
timestamp:
type: string
example: '2026-11-09T19:02:47.218Z'
required:
- success
- data
- timestamp
'401':
description: Unauthorized
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
example: false
error:
type: string
example: Error message
timestamp:
type: string
example: '2026-11-09T19:02:47.218Z'
required:
- success
- error
- timestamp
operationId: getDeployments
x-operation-id-source: derived
/deployments/{deploymentId}:
get:
summary: Get deployment details
description: Retrieves detailed information about a specific deployment.
tags:
- Deployments
security:
- BearerAuth: []
parameters:
- schema:
type: string
required: true
name: deploymentId
in: path
responses:
'200':
description: Deployment details retrieved successfully
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
example: true
data: {}
message:
type: string
example: Operation successful
timestamp:
type: string
example: '2026-11-09T19:02:47.218Z'
required:
- success
- timestamp
'401':
description: Unauthorized
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
example: false
error:
type: string
example: Error message
timestamp:
type: string
example: '2026-11-09T19:02:47.218Z'
required:
- success
- error
- timestamp
'404':
description: Deployment not found
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
example: false
error:
type: string
example: Error message
timestamp:
type: string
example: '2026-11-09T19:02:47.218Z'
required:
- success
- error
- timestamp
operationId: getDeploymentsByDeploymentId
x-operation-id-source: derived
/deployments/deploy:
post:
summary: Create deployment
description: Triggers the creation of a new deployment based on the provided configuration.
tags:
- Deployments
security:
- BearerAuth: []
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateDeployment'
responses:
'200':
description: Deployment triggered successfully
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
example: true
data: {}
message:
type: string
example: Operation successful
timestamp:
type: string
example: '2026-11-09T19:02:47.219Z'
required:
- success
- timestamp
'400':
description: Invalid request data
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
example: false
error:
type: string
example: Error message
timestamp:
type: string
example: '2026-11-09T19:02:47.219Z'
required:
- success
- error
- timestamp
'401':
description: Unauthorized
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
example: false
error:
type: string
example: Error message
timestamp:
type: string
example: '2026-11-09T19:02:47.219Z'
required:
- success
- error
- timestamp
operationId: postDeploymentsDeploy
x-operation-id-source: derived
/deployments/up:
post:
summary: Rent the cheapest matching GPU
description: Rents the cheapest GPU matching the optional filters and brings up a box, with an optional template, in one call. Bills the team. Needs an API key with the deploy or full scope.
tags:
- Deployments
security:
- BearerAuth: []
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpDeployment'
responses:
'200':
description: Deployment triggered successfully
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
example: true
data: {}
message:
type: string
example: Operation successful
timestamp:
type: string
example: '2026-11-09T19:02:47.219Z'
required:
- success
- timestamp
'400':
description: Invalid request data
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
example: false
error:
type: string
example: Error message
timestamp:
type: string
example: '2026-11-09T19:02:47.219Z'
required:
- success
- error
- timestamp
'401':
description: Unauthorized
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
example: false
error:
type: string
example: Error message
timestamp:
type: string
example: '2026-11-09T19:02:47.219Z'
required:
- success
- error
- timestamp
'403':
description: API key lacks the deploy scope
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
example: false
error:
type: string
example: Error message
timestamp:
type: string
example: '2026-11-09T19:02:47.219Z'
required:
- success
- error
- timestamp
operationId: postDeploymentsUp
x-operation-id-source: derived
/deployments/{deploymentId}/status:
get:
summary: Get deployment status
description: Status of a deployment with its job information and, for a live VM, the on-box agent status.
tags:
- Deployments
security:
- BearerAuth: []
parameters:
- schema:
type: string
required: true
name: deploymentId
in: path
responses:
'200':
description: Deployment status retrieved successfully
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
example: true
data: {}
message:
type: string
example: Operation successful
timestamp:
type: string
example: '2026-11-09T19:02:47.219Z'
required:
- success
- timestamp
'401':
description: Unauthorized
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
example: false
error:
type: string
example: Error message
timestamp:
type: string
example: '2026-11-09T19:02:47.219Z'
required:
- success
- error
- timestamp
'404':
description: Deployment not found
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
example: false
error:
type: string
example: Error message
timestamp:
type: string
example: '2026-11-09T19:02:47.219Z'
required:
- success
- error
- timestamp
operationId: getDeploymentsByDeploymentIdStatus
x-operation-id-source: derived
/deployments/close:
post:
summary: Close deployment
description: Closes an active deployment.
tags:
- Deployments
security:
- BearerAuth: []
requestBody:
content:
application/json:
schema:
type: object
properties:
deploymentId:
type: integer
required:
- deploymentId
responses:
'200':
description: Deployment closed successfully
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
example: true
data: {}
message:
type: string
example: Operation successful
timestamp:
type: string
example: '2026-11-09T19:02:47.219Z'
required:
- success
- timestamp
'400':
description: Invalid request data
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
example: false
error:
type: string
example: Error message
timestamp:
type: string
example: '2026-11-09T19:02:47.219Z'
required:
- success
- error
- timestamp
'401':
description: Unauthorized
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
example: false
error:
type: string
example: Error message
timestamp:
type: string
example: '2026-11-09T19:02:47.219Z'
required:
- success
- error
- timestamp
operationId: postDeploymentsClose
x-operation-id-source: derived
/deployments/analytics:
get:
summary: Get deployment analytics
description: Retrieves analytics and usage data for all team deployments.
tags:
- Deployments
security:
- BearerAuth: []
responses:
'200':
description: Analytics retrieved successfully
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
example: true
data: {}
message:
type: string
example: Operation successful
timestamp:
type: string
example: '2026-11-09T19:02:47.219Z'
required:
- success
- timestamp
'401':
description: Unauthorized
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
example: false
error:
type: string
example: Error message
timestamp:
type: string
example: '2026-11-09T19:02:47.219Z'
required:
- success
- error
- timestamp
operationId: getDeploymentsAnalytics
x-operation-id-source: derived
components:
schemas:
ServiceConfig:
allOf:
- oneOf:
- type: object
properties:
type:
type: string
enum:
- VMS
vmSlug:
type: string
template:
type: string
enum:
- comfyui
- torch_and_jupyter
env:
type: array
items:
type: string
sshKeyId:
type: string
minLength: 1
sshPassword:
type: string
snapshotterConfig:
type: string
default: aquanode
setupScript:
type: string
firewallRules:
type: array
items:
type: string
post_deployment:
type: object
properties:
startup_script_id:
type: string
restore_from_deployment:
type: string
enable_metrics:
type: boolean
enable_backups:
type: boolean
attach_workspace:
type: string
attach_model:
type: object
properties:
source:
type: string
enum:
- huggingface
repoId:
type: string
minLength: 1
revision:
type: string
minLength: 1
placement:
type: string
enum:
- hf_cache
- comfyui_dir
default: hf_cache
comfyuiDir:
type: string
minLength: 1
hfToken:
type: string
minLength: 1
required:
- source
- repoId
required:
- type
- vmSlug
- sshKeyId
- type: object
properties:
logsStorageConfig:
type: string
type:
type: string
enum:
- DOCKER_IMAGE
image:
type: string
tag:
type: string
default: latest
command:
type: array
items:
type: string
snapshotterConfig:
type: string
default: aquanode
args:
type: array
items:
type: string
dockerSlug:
type: string
required:
- type
- image
- dockerSlug
- type: object
properties:
env:
type: array
items:
type: string
appPort:
type: number
appPorts:
type: array
items:
type: number
Provider:
type: object
properties:
name:
type: string
enum:
- akash
- voltagepark
- datacrunch
- hotaisle
- vastai
- massecompute
- cudocompute
- hyperstack
- vultr
- simplepod
- runpod
- nebius
- jarvislabs
- aws
description: The cloud provider to use for the deployment
required:
- name
UpDeployment:
type: object
properties:
template:
type: string
enum:
- comfyui
- torch_and_jupyter
sshKeyId:
type: string
minLength: 1
name:
type: string
minLength: 1
maxLength: 120
gpuModel:
type: string
maxPrice:
type: number
exclusiveMinimum: 0
provider:
type: string
enum:
- akash
- voltagepark
- datacrunch
- hotaisle
- vastai
- massecompute
- cudocompute
- hyperstack
- vultr
- simplepod
- runpod
- nebius
- jarvislabs
- aws
gpuCount:
type: integer
maximum: 8
exclusiveMinimum: 0
idlePolicy:
type: object
properties:
warnAfterMinutes:
type: integer
exclusiveMinimum: 0
actAfterMinutes:
type: integer
exclusiveMinimum: 0
gpuIdleThresholdPercent:
type: number
minimum: 0
maximum: 100
autoStopEnabled:
type: boolean
ephemeralTtlMinutes:
type: number
exclusiveMinimum: 0
required:
- sshKeyId
CreateDeployment:
type: object
properties:
resource:
type: object
properties:
cpu:
type: number
minimum: 1
name:
type: string
memory:
type: string
storage:
type: string
region:
type: string
gpuUnits:
type: number
gpuModel:
type: string
desiredInstanceId:
type: string
location_id:
type: string
cloud_type:
type: string
enum:
- secure
- community
required:
- cpu
- memory
- storage
provider:
$ref: '#/components/schemas/Provider'
serviceConfig:
$ref: '#/components/schemas/ServiceConfig'
idlePolicy:
type: object
properties:
warnAfterMinutes:
type: integer
exclusiveMinimum: 0
actAfterMinutes:
type: integer
exclusiveMinimum: 0
gpuIdleThresholdPercent:
type: number
minimum: 0
maximum: 100
autoStopEnabled:
type: boolean
ephemeralTtlMinutes:
type: number
exclusiveMinimum: 0
maxPricePerHourUsd:
type: number
exclusiveMinimum: 0
required:
- resource
- provider
- serviceConfig
securitySchemes:
BearerAuth:
type: http
scheme: bearer
bearerFormat: aq_sk_ API key
description: 'An Aquanode API key, created under API keys in the console, sent as `Authorization: Bearer aq_sk_...` (or in the `x-api-key` header). A key is scoped to the team that created it; mutating routes need a key with the `deploy` or `full` scope.'