Cette page est générée depuis le contrat OpenAPI. Si elle contredit l'API, c'est le contrat qui a raison : signalez-le nous.
Adresse de base https://api.ffxf.net/v1
Contrat OpenAPI openapi.v1.json
(Le fichier que cette référence rend, tel qu'il est publié.)
Sommaire
GET /regionsGET /plansGET /plans/{plan}GET /imagesGET /images/{image}GET /vmsPOST /vmsGET /vms/{vm}PATCH /vms/{vm}DELETE /vms/{vm}GET /vms/{vm}/metricsPOST /vms/{vm}/consoleGET /vms/{vm}/actionsPOST /vms/{vm}/actionsGET /actionsGET /actions/{action}GET /vms/{vm}/networkPOST /vms/{vm}/network/ipv6DELETE /vms/{vm}/network/ipv6/{address}PUT /vms/{vm}/network/rdnsGET /vms/{vm}/backupsPOST /vms/{vm}/backups/{backup}/restoreDELETE /vms/{vm}/backups/{backup}POST /auth/tokenGET /policiesPOST /policiesGET /policies/{policy}PUT /policies/{policy}DELETE /policies/{policy}GET /rolesPOST /rolesGET /roles/{role}PUT /roles/{role}DELETE /roles/{role}GET /api-keysPOST /api-keysGET /api-keys/{apiKey}DELETE /api-keys/{apiKey}GET /oidc/providersGET /oidc/bindingsPOST /oidc/bindingsGET /oidc/bindings/{binding}PUT /oidc/bindings/{binding}DELETE /oidc/bindings/{binding}GET /accountPUT /account/budgetGET /usageGET /ssh-keysPOST /ssh-keysDELETE /ssh-keys/{key}GET /vpcsPOST /vpcsGET /vpcs/{vpc}DELETE /vpcs/{vpc}POST /vpcs/{vpc}/membersDELETE /vpcs/{vpc}/members/{vm}POST /vpcs/{vpc}/members/{vm}/moveGET /firewallsPOST /firewallsGET /firewalls/{firewall}PUT /firewalls/{firewall}DELETE /firewalls/{firewall}POST /firewalls/{firewall}/membersDELETE /firewalls/{firewall}/members/{vm}GET /load-balancersPOST /load-balancersGET /load-balancers/{lb}PATCH /load-balancers/{lb}DELETE /load-balancers/{lb}GET /load-balancers/{lb}/metricsPOST /load-balancers/{lb}/poolsPATCH /load-balancers/{lb}/pools/{pool}DELETE /load-balancers/{lb}/pools/{pool}PUT /load-balancers/{lb}/pools/{pool}/targetsPATCH /load-balancers/{lb}/pools/{pool}/targets/{target}DELETE /load-balancers/{lb}/pools/{pool}/targets/{target}POST /load-balancers/{lb}/listenersPATCH /load-balancers/{lb}/listeners/{listener}DELETE /load-balancers/{lb}/listeners/{listener}PUT /load-balancers/{lb}/listeners/{listener}/rulesGET /databasesPOST /databasesGET /databases/optionsGET /databases/{database}PATCH /databases/{database}DELETE /databases/{database}GET /databases/{database}/credentialsPOST /databases/{database}/usersPATCH /databases/{database}/users/{username}DELETE /databases/{database}/users/{username}POST /databases/{database}/users/{username}/reset-passwordPOST /databases/{database}/databasesDELETE /databases/{database}/databases/{name}POST /databases/{database}/databases/{name}/extensionsDELETE /databases/{database}/databases/{name}/extensions/{extension}PUT /databases/{database}/public-accessGET /databases/{database}/backupsPOST /databases/{database}/backupsPOST /databases/{database}/restorePOST /databases/{database}/forksPOST /databases/{database}/resizePOST /databases/{database}/detachGET /databases/{database}/metricsGET /databases/{database}/queriesGET /runnersGET /runners/jobs
Catalog
List regions. Where machines can run. A plan or an image may not be offered everywhere.
Paramètres
Aucun paramètre.
Réponses
| HTTP | Description |
|---|---|
200 | OK |
List plans
Paramètres
| Nom | Où | Type | Requis | Description |
|---|---|---|---|---|
region | query | string | non | Keep only the plans offered in this region. |
Réponses
| HTTP | Description |
|---|---|
200 | OK |
Get a plan
Paramètres
| Nom | Où | Type | Requis | Description |
|---|---|---|---|---|
plan | path | string | oui |
Réponses
| HTTP | Description |
|---|---|
200 | OK |
404 | No such resource, or it does not belong to this account. |
List images. The image referential. `slug` is the stable identifier to pass at
Paramètres
| Nom | Où | Type | Requis | Description |
|---|---|---|---|---|
region | query | string | non | Keep only the images available in this region. |
plan | query | string | non | Keep only the images that fit this plan. |
category | query | linux | windows | bsd | app | … | non |
Réponses
| HTTP | Description |
|---|---|
200 | OK |
Get an image
Paramètres
| Nom | Où | Type | Requis | Description |
|---|---|---|---|---|
image | path | string | oui |
Réponses
| HTTP | Description |
|---|---|
200 | OK |
404 | No such resource, or it does not belong to this account. |
Machines
List machines
Paramètres
| Nom | Où | Type | Requis | Description |
|---|---|---|---|---|
cursor | query | string | non | The `next_cursor` from the previous page. |
limit | query | integer | non | |
status | query | VmStatus | non | |
region | query | string | non | |
billing | query | hourly | monthly | non |
Réponses
| HTTP | Description |
|---|---|
200 | OK |
401 | Missing, unknown, disabled or expired key. |
Create a machine. Runs the same checks as the console, in this order: account standing,
Paramètres
| Nom | Où | Type | Requis | Description |
|---|---|---|---|---|
Idempotency-Key | header | string | oui | Unique per order, your own value. Kept 24 hours. |
Corps de la requête
| Nom | Type | Requis | Description |
|---|---|---|---|
plan | string | oui | |
region | string | oui | |
image | string | oui | |
hostname | Hostname | oui | |
billing | hourly | monthly | oui | |
payment | credit | manual | non | Monthly only. `credit` settles the invoice from the balance when it |
ssh_keys | string[] | non | Fingerprints or ids of keys on the account. Ignored by images without cloud-init key support, and by `netboot` (nothing is injected; the network settings are mailed instead). |
password_delivery | email | none | non | `email` generates a password and mails it. `none` requires at least |
options | object | non | Paid options declared by the plan, by name. Unknown keys are refused. |
ipv4 | boolean | non | `false` orders an IPv6-only machine, at a lower price: no public |
vpc | integer | non | Private network to connect the machine to, in the same region. Its |
private_only | boolean | non | No public address at all (requires `vpc`): the machine is reachable |
dry_run | boolean | non | Run every check and price the order without creating anything. |
Réponses
| HTTP | Description |
|---|---|
202 | Order accepted. `action` follows the provisioning; it is null when |
200 | Estimate returned (`dry_run: true`). Nothing was created. |
400 | Malformed request. |
402 | Not enough credit, or a budget cap reached. An hourly order needs the |
403 | Key out of scope, IP not allowed, e-mail unverified or account suspended. |
409 | The resource is not in a state that allows this: machine suspended, |
422 | The request is well formed but the catalogue refuses it: image below the |
429 | Too many requests. |
Get a machine
Paramètres
| Nom | Où | Type | Requis | Description |
|---|---|---|---|---|
vm | path | integer | oui | The machine id. A machine is identified by its service: the id exists |
Réponses
| HTTP | Description |
|---|---|
200 | OK |
404 | No such resource, or it does not belong to this account. |
Update a machine. Only the hostname is editable. It is applied inside the guest and to the
Paramètres
| Nom | Où | Type | Requis | Description |
|---|---|---|---|---|
vm | path | integer | oui | The machine id. A machine is identified by its service: the id exists |
Corps de la requête
| Nom | Type | Requis | Description |
|---|---|---|---|
hostname | Hostname | non |
Réponses
| HTTP | Description |
|---|---|
200 | OK |
409 | The resource is not in a state that allows this: machine suspended, |
Destroy a machine. Destroys the machine and its disk. There is no undo and no backup is
Paramètres
| Nom | Où | Type | Requis | Description |
|---|---|---|---|---|
vm | path | integer | oui | The machine id. A machine is identified by its service: the id exists |
confirm | query | string | oui | The machine's exact hostname. |
when | query | period_end | now | non | Monthly machines only. |
Réponses
| HTTP | Description |
|---|---|
202 | Accepted |
400 | Malformed request. |
404 | No such resource, or it does not belong to this account. |
409 | The resource is not in a state that allows this: machine suspended, |
Get machine metrics. CPU, memory, disk and network, as measured from outside the machine.
Paramètres
| Nom | Où | Type | Requis | Description |
|---|---|---|---|---|
vm | path | integer | oui | The machine id. A machine is identified by its service: the id exists |
timeframe | query | hour | day | week | month | … | non |
Réponses
| HTTP | Description |
|---|---|
200 | OK |
503 | The infrastructure did not answer in time. Nothing was changed; retry. |
Open a console session. Returns a single-use URL to the VNC console, valid for a few minutes.
Paramètres
| Nom | Où | Type | Requis | Description |
|---|---|---|---|---|
vm | path | integer | oui | The machine id. A machine is identified by its service: the id exists |
Réponses
| HTTP | Description |
|---|---|
201 | Created |
409 | The resource is not in a state that allows this: machine suspended, |
Actions
List a machine's actions
Paramètres
| Nom | Où | Type | Requis | Description |
|---|---|---|---|---|
vm | path | integer | oui | The machine id. A machine is identified by its service: the id exists |
cursor | query | string | non | The `next_cursor` from the previous page. |
limit | query | integer | non |
Réponses
| HTTP | Description |
|---|---|
200 | OK |
Act on a machine. `start`, `shutdown`, `reboot` ask the guest politely. `stop` cuts the
Paramètres
| Nom | Où | Type | Requis | Description |
|---|---|---|---|---|
vm | path | integer | oui | The machine id. A machine is identified by its service: the id exists |
Idempotency-Key | header | string | non |
Corps de la requête
| Nom | Type | Requis | Description |
|---|---|---|---|
type | start | shutdown | reboot | stop | oui |
Réponses
| HTTP | Description |
|---|---|
202 | Accepted |
403 | Key out of scope, IP not allowed, e-mail unverified or account suspended. |
409 | The resource is not in a state that allows this: machine suspended, |
422 | The request is well formed but the catalogue refuses it: image below the |
503 | The infrastructure did not answer in time. Nothing was changed; retry. |
List actions
Paramètres
| Nom | Où | Type | Requis | Description |
|---|---|---|---|---|
cursor | query | string | non | The `next_cursor` from the previous page. |
limit | query | integer | non | |
status | query | ActionStatus | non |
Réponses
| HTTP | Description |
|---|---|
200 | OK |
Get an action. Poll this until `status` leaves `running`. A completed action is kept 30 days.
Paramètres
| Nom | Où | Type | Requis | Description |
|---|---|---|---|---|
action | path | integer | oui |
Réponses
| HTTP | Description |
|---|---|
200 | OK |
404 | No such resource, or it does not belong to this account. |
Networking
Get a machine's addresses
Paramètres
| Nom | Où | Type | Requis | Description |
|---|---|---|---|---|
vm | path | integer | oui | The machine id. A machine is identified by its service: the id exists |
Réponses
| HTTP | Description |
|---|---|
200 | OK |
Add an address from the machine's IPv6 prefix. Each machine carries a routed /64. An address taken here is registered
Paramètres
| Nom | Où | Type | Requis | Description |
|---|---|---|---|---|
vm | path | integer | oui | The machine id. A machine is identified by its service: the id exists |
Corps de la requête
| Nom | Type | Requis | Description |
|---|---|---|---|
address | string | oui | Full address inside the machine's prefix. |
Réponses
| HTTP | Description |
|---|---|
201 | Created |
409 | The resource is not in a state that allows this: machine suspended, |
422 | The request is well formed but the catalogue refuses it: image below the |
Release an IPv6 address
Paramètres
| Nom | Où | Type | Requis | Description |
|---|---|---|---|---|
vm | path | integer | oui | The machine id. A machine is identified by its service: the id exists |
address | path | string | oui |
Réponses
| HTTP | Description |
|---|---|
204 | Released |
404 | No such resource, or it does not belong to this account. |
Set reverse DNS on an address
Paramètres
| Nom | Où | Type | Requis | Description |
|---|---|---|---|---|
vm | path | integer | oui | The machine id. A machine is identified by its service: the id exists |
Corps de la requête
| Nom | Type | Requis | Description |
|---|---|---|---|
address | string | oui | |
hostname | string | non | Null clears the record and restores the default. |
Réponses
| HTTP | Description |
|---|---|
200 | OK |
422 | The request is well formed but the catalogue refuses it: image below the |
Backups
List backups
Paramètres
| Nom | Où | Type | Requis | Description |
|---|---|---|---|---|
vm | path | integer | oui | The machine id. A machine is identified by its service: the id exists |
Réponses
| HTTP | Description |
|---|---|
200 | OK |
Restore a backup. Overwrites the current disk. The machine is stopped for the duration.
Paramètres
| Nom | Où | Type | Requis | Description |
|---|---|---|---|---|
vm | path | integer | oui | The machine id. A machine is identified by its service: the id exists |
backup | path | string | oui |
Réponses
| HTTP | Description |
|---|---|
202 | Accepted |
409 | The resource is not in a state that allows this: machine suspended, |
Delete a backup
Paramètres
| Nom | Où | Type | Requis | Description |
|---|---|---|---|---|
vm | path | integer | oui | The machine id. A machine is identified by its service: the id exists |
backup | path | string | oui |
Réponses
| HTTP | Description |
|---|---|
204 | Deleted |
404 | No such resource, or it does not belong to this account. |
Auth
Exchange a credential for a temporary access token. Authenticate with an API key or an OIDC token that may assume the
Paramètres
Aucun paramètre.
Corps de la requête
| Nom | Type | Requis | Description |
|---|---|---|---|
role | any | oui | Id or name of a role the credential may assume. |
duration_seconds | integer | non | Lifetime. Values outside 900–3600 are clamped. |
Réponses
| HTTP | Description |
|---|---|
201 | Token issued. |
401 | Missing, unknown, disabled or expired key. |
403 | `role_not_assumable`, `exchange_forbidden` or `ip_not_allowed`. |
Access management
List policys
Paramètres
Aucun paramètre.
Réponses
| HTTP | Description |
|---|---|
200 | OK |
401 | Missing, unknown, disabled or expired key. |
403 | Key out of scope, IP not allowed, e-mail unverified or account suspended. |
Create a policy
Paramètres
Aucun paramètre.
Corps de la requête
| Nom | Type | Requis | Description |
|---|---|---|---|
name | string | oui | |
description | string | non | |
document | any | oui | A policy document (object or JSON string), see the security scheme. |
Réponses
| HTTP | Description |
|---|---|
201 | OK |
401 | Missing, unknown, disabled or expired key. |
403 | Key out of scope, IP not allowed, e-mail unverified or account suspended. |
404 | No such resource, or it does not belong to this account. |
400 | Malformed request. |
Get a policy
Paramètres
| Nom | Où | Type | Requis | Description |
|---|---|---|---|---|
policy | path | integer | oui |
Réponses
| HTTP | Description |
|---|---|
200 | OK |
401 | Missing, unknown, disabled or expired key. |
403 | Key out of scope, IP not allowed, e-mail unverified or account suspended. |
404 | No such resource, or it does not belong to this account. |
Replace a policy
Paramètres
| Nom | Où | Type | Requis | Description |
|---|---|---|---|---|
policy | path | integer | oui |
Corps de la requête
| Nom | Type | Requis | Description |
|---|---|---|---|
name | string | oui | |
description | string | non | |
document | any | oui | A policy document (object or JSON string), see the security scheme. |
Réponses
| HTTP | Description |
|---|---|
200 | OK |
401 | Missing, unknown, disabled or expired key. |
403 | Key out of scope, IP not allowed, e-mail unverified or account suspended. |
404 | No such resource, or it does not belong to this account. |
400 | Malformed request. |
Delete a policy
Paramètres
| Nom | Où | Type | Requis | Description |
|---|---|---|---|---|
policy | path | integer | oui |
Réponses
| HTTP | Description |
|---|---|
204 | Deleted. |
401 | Missing, unknown, disabled or expired key. |
403 | Key out of scope, IP not allowed, e-mail unverified or account suspended. |
404 | No such resource, or it does not belong to this account. |
409 | The resource is not in a state that allows this: machine suspended, |
List roles
Paramètres
Aucun paramètre.
Réponses
| HTTP | Description |
|---|---|
200 | OK |
401 | Missing, unknown, disabled or expired key. |
403 | Key out of scope, IP not allowed, e-mail unverified or account suspended. |
Create a role
Paramètres
Aucun paramètre.
Corps de la requête
| Nom | Type | Requis | Description |
|---|---|---|---|
name | string | oui | |
description | string | non | |
policy_ids | integer[] | oui | Ids from `GET /policies`, yours or provided (`vms.read`…). |
Réponses
| HTTP | Description |
|---|---|
201 | OK |
401 | Missing, unknown, disabled or expired key. |
403 | Key out of scope, IP not allowed, e-mail unverified or account suspended. |
404 | No such resource, or it does not belong to this account. |
400 | Malformed request. |
Get a role
Paramètres
| Nom | Où | Type | Requis | Description |
|---|---|---|---|---|
role | path | integer | oui |
Réponses
| HTTP | Description |
|---|---|
200 | OK |
401 | Missing, unknown, disabled or expired key. |
403 | Key out of scope, IP not allowed, e-mail unverified or account suspended. |
404 | No such resource, or it does not belong to this account. |
Replace a role
Paramètres
| Nom | Où | Type | Requis | Description |
|---|---|---|---|---|
role | path | integer | oui |
Corps de la requête
| Nom | Type | Requis | Description |
|---|---|---|---|
name | string | oui | |
description | string | non | |
policy_ids | integer[] | oui | Ids from `GET /policies`, yours or provided (`vms.read`…). |
Réponses
| HTTP | Description |
|---|---|
200 | OK |
401 | Missing, unknown, disabled or expired key. |
403 | Key out of scope, IP not allowed, e-mail unverified or account suspended. |
404 | No such resource, or it does not belong to this account. |
400 | Malformed request. |
Delete a role
Paramètres
| Nom | Où | Type | Requis | Description |
|---|---|---|---|---|
role | path | integer | oui |
Réponses
| HTTP | Description |
|---|---|
204 | Deleted. |
401 | Missing, unknown, disabled or expired key. |
403 | Key out of scope, IP not allowed, e-mail unverified or account suspended. |
404 | No such resource, or it does not belong to this account. |
409 | The resource is not in a state that allows this: machine suspended, |
List API keys
Paramètres
Aucun paramètre.
Réponses
| HTTP | Description |
|---|---|
200 | OK |
401 | Missing, unknown, disabled or expired key. |
403 | Key out of scope, IP not allowed, e-mail unverified or account suspended. |
Create an API key (the token is returned once)
Paramètres
Aucun paramètre.
Corps de la requête
| Nom | Type | Requis | Description |
|---|---|---|---|
name | string | oui | |
role | any | non | Id or name of the role the key has the rights of. Required unless `exchange_only`. |
exchange_only | boolean | non | |
assumable_roles | any[] | non | Roles obtainable through `POST /auth/token`. Required when `exchange_only`. |
ip_addresses | string[] | non | |
expires_at | string | non |
Réponses
| HTTP | Description |
|---|---|
201 | OK |
401 | Missing, unknown, disabled or expired key. |
403 | Key out of scope, IP not allowed, e-mail unverified or account suspended. |
404 | No such resource, or it does not belong to this account. |
400 | Malformed request. |
Get an API key
Paramètres
| Nom | Où | Type | Requis | Description |
|---|---|---|---|---|
apiKey | path | integer | oui |
Réponses
| HTTP | Description |
|---|---|
200 | OK |
401 | Missing, unknown, disabled or expired key. |
403 | Key out of scope, IP not allowed, e-mail unverified or account suspended. |
404 | No such resource, or it does not belong to this account. |
Revoke an API key
Paramètres
| Nom | Où | Type | Requis | Description |
|---|---|---|---|---|
apiKey | path | integer | oui |
Réponses
| HTTP | Description |
|---|---|
204 | Deleted. |
401 | Missing, unknown, disabled or expired key. |
403 | Key out of scope, IP not allowed, e-mail unverified or account suspended. |
404 | No such resource, or it does not belong to this account. |
409 | The resource is not in a state that allows this: machine suspended, |
List OIDC providers
Paramètres
Aucun paramètre.
Réponses
| HTTP | Description |
|---|---|
200 | OK |
401 | Missing, unknown, disabled or expired key. |
403 | Key out of scope, IP not allowed, e-mail unverified or account suspended. |
List OIDC bindings
Paramètres
Aucun paramètre.
Réponses
| HTTP | Description |
|---|---|
200 | OK |
401 | Missing, unknown, disabled or expired key. |
403 | Key out of scope, IP not allowed, e-mail unverified or account suspended. |
Create a OIDC binding
Paramètres
Aucun paramètre.
Corps de la requête
| Nom | Type | Requis | Description |
|---|---|---|---|
provider_id | integer | oui | |
name | string | oui | |
claim_conditions | object[] | oui | Must include a `sub` condition naming the owner. |
role | any | non | |
exchange_only | boolean | non | |
assumable_roles | any[] | non | |
expires_at | string | non |
Réponses
| HTTP | Description |
|---|---|
201 | OK |
401 | Missing, unknown, disabled or expired key. |
403 | Key out of scope, IP not allowed, e-mail unverified or account suspended. |
404 | No such resource, or it does not belong to this account. |
400 | Malformed request. |
Get a OIDC binding
Paramètres
| Nom | Où | Type | Requis | Description |
|---|---|---|---|---|
binding | path | integer | oui |
Réponses
| HTTP | Description |
|---|---|
200 | OK |
401 | Missing, unknown, disabled or expired key. |
403 | Key out of scope, IP not allowed, e-mail unverified or account suspended. |
404 | No such resource, or it does not belong to this account. |
Replace a OIDC binding
Paramètres
| Nom | Où | Type | Requis | Description |
|---|---|---|---|---|
binding | path | integer | oui |
Corps de la requête
| Nom | Type | Requis | Description |
|---|---|---|---|
provider_id | integer | oui | |
name | string | oui | |
claim_conditions | object[] | oui | Must include a `sub` condition naming the owner. |
role | any | non | |
exchange_only | boolean | non | |
assumable_roles | any[] | non | |
expires_at | string | non |
Réponses
| HTTP | Description |
|---|---|
200 | OK |
401 | Missing, unknown, disabled or expired key. |
403 | Key out of scope, IP not allowed, e-mail unverified or account suspended. |
404 | No such resource, or it does not belong to this account. |
400 | Malformed request. |
Delete a OIDC binding
Paramètres
| Nom | Où | Type | Requis | Description |
|---|---|---|---|---|
binding | path | integer | oui |
Réponses
| HTTP | Description |
|---|---|
204 | Deleted. |
401 | Missing, unknown, disabled or expired key. |
403 | Key out of scope, IP not allowed, e-mail unverified or account suspended. |
404 | No such resource, or it does not belong to this account. |
409 | The resource is not in a state that allows this: machine suspended, |
Account
Get account standing. Everything an automated fleet needs to decide on its own: balance, what
Paramètres
Aucun paramètre.
Réponses
| HTTP | Description |
|---|---|
200 | OK |
Set the monthly budget. The same budget as the console's Usage page. Warnings are sent at 50, 80
Paramètres
| Nom | Où | Type | Requis | Description |
|---|---|---|---|---|
Idempotency-Key | header | string | non |
Corps de la requête
| Nom | Type | Requis | Description |
|---|---|---|---|
monthly | any | oui | Amount in the account currency, 0 to 1,000,000, rounded to the cent. Null removes the budget. |
Réponses
| HTTP | Description |
|---|---|
200 | The budget as it now stands, in the same shape as `budget` in `GET /account`. |
400 | Malformed request. |
List hourly usage. One record per hour charged, per machine. This is the ledger the
Paramètres
| Nom | Où | Type | Requis | Description |
|---|---|---|---|---|
from | query | string | non | |
to | query | string | non | |
vm_id | query | integer | non | |
group_by | query | hour | vm | non | Return one line per machine instead of one per hour. |
cursor | query | string | non | The `next_cursor` from the previous page. |
limit | query | integer | non |
Réponses
| HTTP | Description |
|---|---|
200 | OK |
SSH keys
List SSH keys
Paramètres
Aucun paramètre.
Réponses
| HTTP | Description |
|---|---|
200 | OK |
Add an SSH key. Up to 20 keys per account. Re-adding a known fingerprint returns the existing key.
Paramètres
Aucun paramètre.
Corps de la requête
| Nom | Type | Requis | Description |
|---|---|---|---|
name | string | oui | |
public_key | string | oui |
Réponses
| HTTP | Description |
|---|---|
201 | Created |
400 | Malformed request. |
Delete an SSH key. Machines already deployed with this key keep it; only future deployments change.
Paramètres
| Nom | Où | Type | Requis | Description |
|---|---|---|---|---|
key | path | integer | oui |
Réponses
| HTTP | Description |
|---|---|
204 | Deleted |
404 | No such resource, or it does not belong to this account. |
Private networks
List private networks. Scope `vms.read`.
Paramètres
Aucun paramètre.
Réponses
| HTTP | Description |
|---|---|
200 | OK |
403 | Key out of scope, IP not allowed, e-mail unverified or account suspended. |
Create a private network. Scope `network.write`. The network is ready when the call returns (a
Paramètres
Aucun paramètre.
Corps de la requête
| Nom | Type | Requis | Description |
|---|---|---|---|
name | string | oui | |
cidr | string | oui | A private IPv4 range, from /16 to /29, within 10.0.0.0/8, 172.16.0.0/12 or 192.168.0.0/16. |
region | string | oui |
Réponses
| HTTP | Description |
|---|---|
201 | Created |
400 | Malformed request. |
403 | Key out of scope, IP not allowed, e-mail unverified or account suspended. |
404 | No such resource, or it does not belong to this account. |
409 | The resource is not in a state that allows this: machine suspended, |
Get a private network. Scope `vms.read`.
Paramètres
Aucun paramètre.
Réponses
| HTTP | Description |
|---|---|
200 | OK |
403 | Key out of scope, IP not allowed, e-mail unverified or account suspended. |
404 | No such resource, or it does not belong to this account. |
Delete a private network. Scope `network.write`. Refused with `action_conflict` while a machine is still on it.
Paramètres
Aucun paramètre.
Réponses
| HTTP | Description |
|---|---|
204 | Deleted |
403 | Key out of scope, IP not allowed, e-mail unverified or account suspended. |
404 | No such resource, or it does not belong to this account. |
409 | The resource is not in a state that allows this: machine suspended, |
Connect a machine. Scope `network.write`. A network card is hot-added and its address set
Paramètres
Aucun paramètre.
Corps de la requête
| Nom | Type | Requis | Description |
|---|---|---|---|
vm | integer | oui | Machine id, as in `GET /vms`. |
ip | string | non | Address wanted in the range. Default: the next free one. |
Réponses
| HTTP | Description |
|---|---|
200 | Already connected |
201 | Connected |
400 | Malformed request. |
403 | Key out of scope, IP not allowed, e-mail unverified or account suspended. |
404 | No such resource, or it does not belong to this account. |
409 | The resource is not in a state that allows this: machine suspended, |
Disconnect a machine. Scope `network.write`. The address is removed from the system and the
Paramètres
Aucun paramètre.
Réponses
| HTTP | Description |
|---|---|
204 | Disconnected |
403 | Key out of scope, IP not allowed, e-mail unverified or account suspended. |
404 | No such resource, or it does not belong to this account. |
409 | The resource is not in a state that allows this: machine suspended, |
Move a machine to another private network. Scope `network.write`. The machine joins the target network, then
Paramètres
Aucun paramètre.
Corps de la requête
| Nom | Type | Requis | Description |
|---|---|---|---|
to | integer | oui | Target private network id. |
Réponses
| HTTP | Description |
|---|---|
200 | Moved |
403 | Key out of scope, IP not allowed, e-mail unverified or account suspended. |
404 | No such resource, or it does not belong to this account. |
409 | The resource is not in a state that allows this: machine suspended, |
Firewalls
List firewalls. Scope `vms.read`.
Paramètres
Aucun paramètre.
Réponses
| HTTP | Description |
|---|---|
200 | OK |
403 | Key out of scope, IP not allowed, e-mail unverified or account suspended. |
Create a firewall. Scope `network.write`. Without `rules`, the firewall starts with SSH
Paramètres
Aucun paramètre.
Corps de la requête
| Nom | Type | Requis | Description |
|---|---|---|---|
name | string | oui | |
rules | FirewallRule[] | non |
Réponses
| HTTP | Description |
|---|---|
201 | Created |
400 | Malformed request. |
403 | Key out of scope, IP not allowed, e-mail unverified or account suspended. |
409 | The resource is not in a state that allows this: machine suspended, |
Get a firewall. Scope `vms.read`.
Paramètres
Aucun paramètre.
Réponses
| HTTP | Description |
|---|---|
200 | OK |
403 | Key out of scope, IP not allowed, e-mail unverified or account suspended. |
404 | No such resource, or it does not belong to this account. |
Rename a firewall or replace its rules. Scope `network.write`. `rules` replaces the whole list: describe the
Paramètres
Aucun paramètre.
Corps de la requête
| Nom | Type | Requis | Description |
|---|---|---|---|
name | string | non | |
rules | FirewallRule[] | non |
Réponses
| HTTP | Description |
|---|---|
200 | Updated |
400 | Malformed request. |
403 | Key out of scope, IP not allowed, e-mail unverified or account suspended. |
404 | No such resource, or it does not belong to this account. |
Delete a firewall. Scope `network.write`. Refused with `action_conflict` while it is attached to a machine.
Paramètres
Aucun paramètre.
Réponses
| HTTP | Description |
|---|---|
204 | Deleted |
403 | Key out of scope, IP not allowed, e-mail unverified or account suspended. |
404 | No such resource, or it does not belong to this account. |
409 | The resource is not in a state that allows this: machine suspended, |
Attach a firewall to a machine. Scope `network.write`. The rules are written when the call returns and
Paramètres
Aucun paramètre.
Corps de la requête
| Nom | Type | Requis | Description |
|---|---|---|---|
vm | integer | oui | Machine id, as in `GET /vms`. |
Réponses
| HTTP | Description |
|---|---|
200 | Already attached |
201 | Attached |
400 | Malformed request. |
403 | Key out of scope, IP not allowed, e-mail unverified or account suspended. |
404 | No such resource, or it does not belong to this account. |
409 | The resource is not in a state that allows this: machine suspended, |
Detach a firewall from a machine. Scope `network.write`. Its rules are removed from the machine; with no
Paramètres
Aucun paramètre.
Réponses
| HTTP | Description |
|---|---|
204 | Detached |
403 | Key out of scope, IP not allowed, e-mail unverified or account suspended. |
404 | No such resource, or it does not belong to this account. |
Load balancers
List load balancers. Scope `vms.read`.
Paramètres
Aucun paramètre.
Réponses
| HTTP | Description |
|---|---|
200 | OK |
403 | Key out of scope, IP not allowed, e-mail unverified or account suspended. |
Create a load balancer. Scope `vms.create`; `Idempotency-Key` required. Billed by the hour from
Paramètres
| Nom | Où | Type | Requis | Description |
|---|---|---|---|---|
Idempotency-Key | header | string | oui | Unique per order, your own value. Kept 24 hours. |
Corps de la requête
| Nom | Type | Requis | Description |
|---|---|---|---|
name | string | oui | |
vpc | integer | oui | Private network id, as in `GET /vpcs`. Its machines are the possible targets. |
billing | hourly | monthly | yearly | non | hourly (default), monthly (the price of 730 hours: 7.30 CAD) or yearly (ten months: 73 CAD). A monthly or yearly period comes out of credit if it covers it; otherwise `billing.pending_invoice` holds the invoice to pay and the resource stays hourly until it is paid. |
Réponses
| HTTP | Description |
|---|---|
202 | Ordered |
403 | Key out of scope, IP not allowed, e-mail unverified or account suspended. |
404 | No such resource, or it does not belong to this account. |
409 | The resource is not in a state that allows this: machine suspended, |
Get a load balancer. Scope `vms.read`. Everything at once; pools with their targets and health, listeners with their rules, certificates.
Paramètres
Aucun paramètre.
Réponses
| HTTP | Description |
|---|---|
200 | OK |
403 | Key out of scope, IP not allowed, e-mail unverified or account suspended. |
404 | No such resource, or it does not belong to this account. |
Rename a load balancer. Scope `network.write`.
Paramètres
Aucun paramètre.
Corps de la requête
| Nom | Type | Requis | Description |
|---|---|---|---|
name | string | oui |
Réponses
| HTTP | Description |
|---|---|
200 | OK |
400 | Malformed request. |
403 | Key out of scope, IP not allowed, e-mail unverified or account suspended. |
404 | No such resource, or it does not belong to this account. |
Delete a load balancer. Scope `vms.destroy`. The load balancer, its address and its
Paramètres
Aucun paramètre.
Réponses
| HTTP | Description |
|---|---|
202 | Deletion started |
403 | Key out of scope, IP not allowed, e-mail unverified or account suspended. |
404 | No such resource, or it does not belong to this account. |
Load balancer statistics. Scope `vms.read`. Per-minute counters kept 7 days, grouped by 1 minute
Paramètres
| Nom | Où | Type | Requis | Description |
|---|---|---|---|---|
range | query | 1h | 24h | 7d | non |
Réponses
| HTTP | Description |
|---|---|
200 | OK |
400 | Malformed request. |
403 | Key out of scope, IP not allowed, e-mail unverified or account suspended. |
404 | No such resource, or it does not belong to this account. |
Create a pool. Scope `network.write`. Up to 10 pools. An `http` pool serves `http`/`https` listeners, a `tcp` pool `tcp` listeners.
Paramètres
Aucun paramètre.
Corps de la requête
| Nom | Type | Requis | Description |
|---|---|---|---|
name | string | non | |
protocol | http | tcp | non | |
algorithm | roundrobin | leastconn | non | |
health_type | tcp | http | non | `http` pools only: GET `health_path`, 2xx or 3xx is healthy. |
health_path | string | non | |
health_interval | integer | non | Seconds; 3 failures mark a target down, 2 successes up. |
send_proxy | boolean | non | `tcp` pools only: PROXY protocol v2 towards the targets. |
Réponses
| HTTP | Description |
|---|---|
201 | Created |
400 | Malformed request. |
403 | Key out of scope, IP not allowed, e-mail unverified or account suspended. |
404 | No such resource, or it does not belong to this account. |
Update a pool. Scope `network.write`. Only the fields sent change. The protocol of a pool already used by a listener or rule cannot change.
Paramètres
Aucun paramètre.
Corps de la requête
| Nom | Type | Requis | Description |
|---|---|---|---|
name | string | non | |
protocol | http | tcp | non | |
algorithm | roundrobin | leastconn | non | |
health_type | tcp | http | non | `http` pools only: GET `health_path`, 2xx or 3xx is healthy. |
health_path | string | non | |
health_interval | integer | non | Seconds; 3 failures mark a target down, 2 successes up. |
send_proxy | boolean | non | `tcp` pools only: PROXY protocol v2 towards the targets. |
Réponses
| HTTP | Description |
|---|---|
200 | OK |
400 | Malformed request. |
403 | Key out of scope, IP not allowed, e-mail unverified or account suspended. |
404 | No such resource, or it does not belong to this account. |
Delete a pool. Scope `network.write`. Its targets and the rules leading to it go too; a listener using it as default answers 503 until given another.
Paramètres
Aucun paramètre.
Réponses
| HTTP | Description |
|---|---|
204 | Deleted |
403 | Key out of scope, IP not allowed, e-mail unverified or account suspended. |
404 | No such resource, or it does not belong to this account. |
Replace the targets of a pool. Scope `network.write`. The pool ends up with exactly these targets
Paramètres
Aucun paramètre.
Corps de la requête
| Nom | Type | Requis | Description |
|---|---|---|---|
targets | object[] | oui |
Réponses
| HTTP | Description |
|---|---|
200 | OK |
400 | Malformed request. |
403 | Key out of scope, IP not allowed, e-mail unverified or account suspended. |
404 | No such resource, or it does not belong to this account. |
Weight or drain a target. Scope `network.write`. `drain: true` stops new connections to it; current ones finish.
Paramètres
Aucun paramètre.
Corps de la requête
| Nom | Type | Requis | Description |
|---|---|---|---|
weight | integer | non | |
drain | boolean | non |
Réponses
| HTTP | Description |
|---|---|
200 | OK |
400 | Malformed request. |
403 | Key out of scope, IP not allowed, e-mail unverified or account suspended. |
404 | No such resource, or it does not belong to this account. |
Remove a target. Scope `network.write`.
Paramètres
Aucun paramètre.
Réponses
| HTTP | Description |
|---|---|
204 | Removed |
403 | Key out of scope, IP not allowed, e-mail unverified or account suspended. |
404 | No such resource, or it does not belong to this account. |
Open a listener. Scope `network.write`. Up to 5. Ports 22 and 8402 are reserved. A
Paramètres
Aucun paramètre.
Corps de la requête
| Nom | Type | Requis | Description |
|---|---|---|---|
port | integer | non | |
protocol | http | https | tcp | non | |
default_pool | integer | non | Where traffic no rule matches goes; none answers 503 (HTTP). Required for `tcp`. |
redirect_https | boolean | non | `https` only: port 80 redirects to this listener. |
sources | string[] | non | IPv4/IPv6 addresses or ranges allowed in; null or empty: everyone. |
Réponses
| HTTP | Description |
|---|---|
201 | Created |
400 | Malformed request. |
403 | Key out of scope, IP not allowed, e-mail unverified or account suspended. |
404 | No such resource, or it does not belong to this account. |
Update a listener. Scope `network.write`. Only the fields sent change. Switching to `tcp` drops its rules.
Paramètres
Aucun paramètre.
Corps de la requête
| Nom | Type | Requis | Description |
|---|---|---|---|
port | integer | non | |
protocol | http | https | tcp | non | |
default_pool | integer | non | Where traffic no rule matches goes; none answers 503 (HTTP). Required for `tcp`. |
redirect_https | boolean | non | `https` only: port 80 redirects to this listener. |
sources | string[] | non | IPv4/IPv6 addresses or ranges allowed in; null or empty: everyone. |
Réponses
| HTTP | Description |
|---|---|
200 | OK |
400 | Malformed request. |
403 | Key out of scope, IP not allowed, e-mail unverified or account suspended. |
404 | No such resource, or it does not belong to this account. |
Close a listener. Scope `network.write`. Its rules go too, and its port closes.
Paramètres
Aucun paramètre.
Réponses
| HTTP | Description |
|---|---|
204 | Closed |
403 | Key out of scope, IP not allowed, e-mail unverified or account suspended. |
404 | No such resource, or it does not belong to this account. |
Replace the rules of a listener. Scope `network.write`. HTTP(S) listeners only; all or nothing, up to
Paramètres
Aucun paramètre.
Corps de la requête
| Nom | Type | Requis | Description |
|---|---|---|---|
rules | LoadBalancerRule[] | oui |
Réponses
| HTTP | Description |
|---|---|
200 | OK |
400 | Malformed request. |
403 | Key out of scope, IP not allowed, e-mail unverified or account suspended. |
404 | No such resource, or it does not belong to this account. |
Databases
List databases. Scope `vms.read`. No passwords here; see `GET /databases/{database}/credentials`.
Paramètres
Aucun paramètre.
Réponses
| HTTP | Description |
|---|---|
200 | OK |
403 | Key out of scope, IP not allowed, e-mail unverified or account suspended. |
Create a database. Scope `vms.create`; `Idempotency-Key` required. Billed by the hour from
Paramètres
| Nom | Où | Type | Requis | Description |
|---|---|---|---|---|
Idempotency-Key | header | string | oui | Unique per order, your own value. Kept 24 hours. |
Corps de la requête
| Nom | Type | Requis | Description |
|---|---|---|---|
name | string | oui | |
vpc | integer | oui | Private network id, as in `GET /vpcs`. The database gets an address in it. |
engine | postgresql | mysql | mariadb | valkey | non | `mysql` is Percona Server; `valkey` is Redis-compatible. |
version | string | non | Major version from `GET /databases/options`; the newest when omitted. |
size_gb | integer | non | Memory in GB, one of the sizes of `GET /databases/options` for the region. |
billing | hourly | monthly | yearly | non | hourly (default), monthly (the price of 730 hours) or yearly (ten months). A monthly or yearly period comes out of credit if it covers it; otherwise `billing.pending_invoice` holds the invoice to pay and the resource stays hourly until it is paid. |
Réponses
| HTTP | Description |
|---|---|
202 | Ordered |
400 | Malformed request. |
403 | Key out of scope, IP not allowed, e-mail unverified or account suspended. |
404 | No such resource, or it does not belong to this account. |
409 | The resource is not in a state that allows this: machine suspended, |
What can be ordered. Scope `vms.read`. Engines and versions, available extensions (PostgreSQL), eviction policies (Valkey), sizes with their hourly, monthly and yearly prices in the account's currency, and the price of disk beyond what a size includes.
Paramètres
Aucun paramètre.
Réponses
| HTTP | Description |
|---|---|
200 | OK |
403 | Key out of scope, IP not allowed, e-mail unverified or account suspended. |
Get a database. Scope `vms.read`.
Paramètres
Aucun paramètre.
Réponses
| HTTP | Description |
|---|---|
200 | OK |
403 | Key out of scope, IP not allowed, e-mail unverified or account suspended. |
404 | No such resource, or it does not belong to this account. |
Update a database. Scope `databases.write`. Any of: the name; the weekly maintenance
Paramètres
Aucun paramètre.
Corps de la requête
| Nom | Type | Requis | Description |
|---|---|---|---|
name | string | non | |
maintenance_day | integer | non | |
maintenance_hour | integer | non | |
disk_cap_gb | integer | non | |
eviction_policy | noeviction | allkeys-lru | allkeys-lfu | allkeys-random | … | non | Valkey only. |
Réponses
| HTTP | Description |
|---|---|
200 | OK |
400 | Malformed request. |
403 | Key out of scope, IP not allowed, e-mail unverified or account suspended. |
404 | No such resource, or it does not belong to this account. |
Delete a database. Scope `vms.destroy`. The database and its data go away; billing stops.
Paramètres
Aucun paramètre.
Réponses
| HTTP | Description |
|---|---|
202 | Deletion started |
403 | Key out of scope, IP not allowed, e-mail unverified or account suspended. |
404 | No such resource, or it does not belong to this account. |
409 | The resource is not in a state that allows this: machine suspended, |
Users, passwords and connection strings. Scope `databases.write`: reading a password is enough to connect, so
Paramètres
Aucun paramètre.
Réponses
| HTTP | Description |
|---|---|
200 | OK |
403 | Key out of scope, IP not allowed, e-mail unverified or account suspended. |
404 | No such resource, or it does not belong to this account. |
Add a user. Scope `databases.write`. Lowercase letters, digits and `_`, starting
Paramètres
Aucun paramètre.
Corps de la requête
| Nom | Type | Requis | Description |
|---|---|---|---|
username | string | oui | |
databases | DatabaseUserDatabases | non | The logical databases the user connects to; null: all of them, future ones included. Always null for the admin and on Valkey. |
read_only | boolean | non | SELECT only (MySQL, MariaDB: SELECT and SHOW VIEW). |
Réponses
| HTTP | Description |
|---|---|
201 | Created; live within seconds. |
400 | Malformed request. |
403 | Key out of scope, IP not allowed, e-mail unverified or account suspended. |
404 | No such resource, or it does not belong to this account. |
Change a user's access. Scope `databases.write`. The logical databases the user connects to
Paramètres
| Nom | Où | Type | Requis | Description |
|---|---|---|---|---|
Idempotency-Key | header | string | non |
Corps de la requête
| Nom | Type | Requis | Description |
|---|---|---|---|
databases | DatabaseUserDatabases | non | The logical databases the user connects to; null: all of them, future ones included. Always null for the admin and on Valkey. |
read_only | boolean | non |
Réponses
| HTTP | Description |
|---|---|
200 | OK |
400 | Malformed request. |
403 | Key out of scope, IP not allowed, e-mail unverified or account suspended. |
404 | No such resource, or it does not belong to this account. |
Delete a user. Scope `databases.write`. Its objects are handed to the admin, then the role is dropped. The admin cannot be deleted.
Paramètres
Aucun paramètre.
Réponses
| HTTP | Description |
|---|---|
204 | Deleted |
403 | Key out of scope, IP not allowed, e-mail unverified or account suspended. |
404 | No such resource, or it does not belong to this account. |
409 | The resource is not in a state that allows this: machine suspended, |
Reset a password. Scope `databases.write`. A new password, returned here; the old one stops working within seconds. No `Idempotency-Key` (see adding a user).
Paramètres
Aucun paramètre.
Réponses
| HTTP | Description |
|---|---|
200 | OK |
403 | Key out of scope, IP not allowed, e-mail unverified or account suspended. |
404 | No such resource, or it does not belong to this account. |
Add a logical database. Scope `databases.write`. Same naming rules as users; 30 at most. Owned by the admin.
Paramètres
Aucun paramètre.
Corps de la requête
| Nom | Type | Requis | Description |
|---|---|---|---|
name | string | oui |
Réponses
| HTTP | Description |
|---|---|
201 | Created; live within seconds. |
400 | Malformed request. |
403 | Key out of scope, IP not allowed, e-mail unverified or account suspended. |
404 | No such resource, or it does not belong to this account. |
Delete a logical database. Scope `databases.write`. Dropped with everything in it; the backups keep it 7 days.
Paramètres
Aucun paramètre.
Réponses
| HTTP | Description |
|---|---|
204 | Deleted |
403 | Key out of scope, IP not allowed, e-mail unverified or account suspended. |
404 | No such resource, or it does not belong to this account. |
Enable an extension. Scope `databases.write`. PostgreSQL only. One of the extensions of `GET /databases/options`; installed on demand when needed (a few seconds to a minute).
Paramètres
Aucun paramètre.
Corps de la requête
| Nom | Type | Requis | Description |
|---|---|---|---|
extension | string | oui |
Réponses
| HTTP | Description |
|---|---|
200 | OK |
400 | Malformed request. |
403 | Key out of scope, IP not allowed, e-mail unverified or account suspended. |
404 | No such resource, or it does not belong to this account. |
Remove an extension. Scope `databases.write`. Dropped without `CASCADE`: if objects depend
Paramètres
Aucun paramètre.
Réponses
| HTTP | Description |
|---|---|
200 | OK |
403 | Key out of scope, IP not allowed, e-mail unverified or account suspended. |
404 | No such resource, or it does not belong to this account. |
Set public access. Scope `network.write`. Off at creation. On, the database answers at
Paramètres
Aucun paramètre.
Corps de la requête
| Nom | Type | Requis | Description |
|---|---|---|---|
enabled | boolean | oui | |
sources | string[] | non |
Réponses
| HTTP | Description |
|---|---|
200 | OK |
400 | Malformed request. |
403 | Key out of scope, IP not allowed, e-mail unverified or account suspended. |
404 | No such resource, or it does not belong to this account. |
409 | The resource is not in a state that allows this: machine suspended, |
List backups. Scope `vms.read`. A full backup weekly, differentials daily, and the
Paramètres
Aucun paramètre.
Réponses
| HTTP | Description |
|---|---|
200 | OK |
403 | Key out of scope, IP not allowed, e-mail unverified or account suspended. |
404 | No such resource, or it does not belong to this account. |
Back up now. Scope `backups.write`. A differential backup starts within a minute; not available on a linked fork.
Paramètres
Aucun paramètre.
Réponses
| HTTP | Description |
|---|---|
202 | Requested |
403 | Key out of scope, IP not allowed, e-mail unverified or account suspended. |
404 | No such resource, or it does not belong to this account. |
409 | The resource is not in a state that allows this: machine suspended, |
Restore into a new database. Scope `vms.create`; `Idempotency-Key` required. A new database, billed
Paramètres
| Nom | Où | Type | Requis | Description |
|---|---|---|---|---|
Idempotency-Key | header | string | oui | Unique per order, your own value. Kept 24 hours. |
Corps de la requête
| Nom | Type | Requis | Description |
|---|---|---|---|
at | string | oui | UTC unless an offset is given. |
name | string | oui | |
vpc | integer | non | |
size_gb | integer | non |
Réponses
| HTTP | Description |
|---|---|
202 | Ordered (`status` is `restoring`, then `active`). |
400 | Malformed request. |
403 | Key out of scope, IP not allowed, e-mail unverified or account suspended. |
404 | No such resource, or it does not belong to this account. |
409 | The resource is not in a state that allows this: machine suspended, |
Fork a database. Scope `vms.create`; `Idempotency-Key` required. A new database whose
Paramètres
| Nom | Où | Type | Requis | Description |
|---|---|---|---|---|
Idempotency-Key | header | string | oui | Unique per order, your own value. Kept 24 hours. |
Corps de la requête
| Nom | Type | Requis | Description |
|---|---|---|---|
name | string | oui | |
vpc | integer | non | |
size_gb | integer | non |
Réponses
| HTTP | Description |
|---|---|
202 | Ordered |
400 | Malformed request. |
403 | Key out of scope, IP not allowed, e-mail unverified or account suspended. |
404 | No such resource, or it does not belong to this account. |
409 | The resource is not in a state that allows this: machine suspended, |
Upgrade to a larger size. Scope `vms.create`; `Idempotency-Key` required. More CPU, memory and
Paramètres
| Nom | Où | Type | Requis | Description |
|---|---|---|---|---|
Idempotency-Key | header | string | oui | Unique per order, your own value. Kept 24 hours. |
Corps de la requête
| Nom | Type | Requis | Description |
|---|---|---|---|
size_gb | integer | oui | Memory in GB, larger than the current size. |
Réponses
| HTTP | Description |
|---|---|
202 | Started (`resize.to_gb` set; `status` turns `maintenance`, then `active` with the new `size_gb`). |
400 | Malformed request. |
403 | Key out of scope, IP not allowed, e-mail unverified or account suspended. |
404 | No such resource, or it does not belong to this account. |
409 | The resource is not in a state that allows this: machine suspended, |
Make a fork independent. Scope `vms.action`. Its data gets its own copy; the database is unavailable for about 30 seconds, then its backups start.
Paramètres
Aucun paramètre.
Réponses
| HTTP | Description |
|---|---|
202 | Started |
403 | Key out of scope, IP not allowed, e-mail unverified or account suspended. |
404 | No such resource, or it does not belong to this account. |
409 | The resource is not in a state that allows this: machine suspended, |
Database statistics. Scope `vms.read`. Per-minute samples kept 7 days, grouped by 1 minute
Paramètres
| Nom | Où | Type | Requis | Description |
|---|---|---|---|---|
range | query | 1h | 24h | 7d | non |
Réponses
| HTTP | Description |
|---|---|
200 | OK |
400 | Malformed request. |
403 | Key out of scope, IP not allowed, e-mail unverified or account suspended. |
404 | No such resource, or it does not belong to this account. |
Most expensive queries. Scope `vms.read`. The 20 queries with the most total time, as counted by `pg_stat_statements` (PostgreSQL) or `performance_schema` (MySQL, MariaDB, without the user), normalized (values replaced by `$1`, `$2`… or `?`). On Valkey, per command since the engine last started (`INFO commandstats`), without database or user. Refreshed every few minutes.
Paramètres
Aucun paramètre.
Réponses
| HTTP | Description |
|---|---|
200 | OK |
403 | Key out of scope, IP not allowed, e-mail unverified or account suspended. |
404 | No such resource, or it does not belong to this account. |
GitHub runners
Runner sizes, linked GitHub accounts and this month. Scope `billing.read`. The labels to put in `runs-on`, their price,
Paramètres
Aucun paramètre.
Réponses
| HTTP | Description |
|---|---|
200 | OK |
401 | Missing, unknown, disabled or expired key. |
403 | Key out of scope, IP not allowed, e-mail unverified or account suspended. |
List runner jobs. Scope `billing.read`. Most recent first. Jobs of unlinked installations are not kept.
Paramètres
| Nom | Où | Type | Requis | Description |
|---|---|---|---|---|
repository | query | string | non | `owner/name` |
status | query | queued | running | succeeded | failed | … | non | |
cursor | query | string | non | The `next_cursor` from the previous page. |
limit | query | integer | non |
Réponses
| HTTP | Description |
|---|---|
200 | OK |
401 | Missing, unknown, disabled or expired key. |
403 | Key out of scope, IP not allowed, e-mail unverified or account suspended. |