Skip to navigation

November 4, 2026

Public API 0.9.1: clearer retry keys and errors, and corrections to the reference

No path, method or operation changed. The reference stays at 178 active operations.

  • VM delete: public_ip_action applies only to an automatically assigned IP. If the VM’s IP is already a Reserved IP, release and reserve are both refused with 400. Delete with no body, then release the IP from Reserved IPs to stop its billing.
  • Backup runs: trigger is scheduled or manual. Runs started through the API report manual, not api. The run lists return only finished, successful runs; read a run by ID to see one that is queued, running or failed.
  • Retry keys on networking creates: send the same key and body on every retry. A completed create returns its original answer for 24 hours, even if the plan limit has since been reached. A refused or unsent create leaves the key free to use again. An unknown outcome answers 409 idempotency_in_progress with Retry-After until the next retry resolves it. See Retry a networking create.
  • Errors: the catalog reads now use the same format as other errors: error, message and request_id, with detail kept. 409 answers carry the product’s reason in message where it’s safe to show. 413 and 502 are now documented on every operation, and 423 on restore cancel.
  • Paused Object Storage operations: DELETE on bucket lifecycle rules, CORS rules, notifications and custom domains needs object-storage.delete, not object-storage.write.