99Stack API Docs

Automate your work with 99Stack API. View documentation for all versions.

Automate your work

99Stack API is a feature rich and distrubuted gateway to the cloud, provision new resources in milleseconds, fetch information and manage your work using any client tool or build applications to automate your work.

Release info

99Stack API exist in multiple versions, all of which can be found in the sidebar. Every version up to 1.1 is essentially the same in functionality, the difference lies mostly in the documentation where the latest version is preferred while the older versions may contain more examples.

The upcoming version two of 99Stack API features major changes in requests and responses, which is why we decided to make it a new version, thus keeping the compatibility for any tool currently relying on 99Stack API. All documentation found here are synced with our public Github repository at: github.com/99stack/api-docs. Contribute and report issues there.

Roadmap

  • Improve recovery, resize and rebuild.
  • Implement block storage volumes
  • Implement object storage
  • Implement VPC's

Recent changes

October 2020

Regional API endpoints launched as stable release, across the globe. See the sidebar for more details and URL's.

September 2020

Added improved scaling functionality, reinstall and recovery:

Resize: Works on all generations now, G2 may also get support for down scaling by giving the option to not resize the disk during upscale. This would be represented as an additional boolean value and will be added to documentation once included and working.

POST /v1/server/resize
{
    "server_id": (string/int),
    "plan_id": (string/int)
}

Rebuild: Works on all generations, plan_id and image_id can also be uuid strings.

POST /v1/server/rebuild
{
    "server_id": (string/int),
    "image_id": (string/int)
}

Rescue: Works on G3 only. Work is in progress for G1 and thereafter G2 by using custom built rescue images.

POST /v1/server/rescue
{
    "server_id": (string/int)
}

July 2020

Cluster upgrades for availibility, security and improved performance

June 2020

Performance improvments, security upgrades

April 2020

Added the new cf-api.99stack.com endpoint powered by different backend servers and cached through Cloudflare. Should the main endpoint go down, this endpoint can safely be used instead and vice versa. More endpoints are planned in the future, via different continents.

Mars 2020

Added support for block storage volumes to be created and attached to servers, (not yet documented). Note that a volume must be mounted within the OS after being attached, use lsblk on GNU/Linux.

  • GET: /v1/volume/list List volumes on account
  • POST: /v1/volume/create Create a new block storage volume in provided region: ["name", "region", "size_gb"]
  • POST: /v1/volume/attach Attach block storage volume to server by id/uuid: ["volume_id", "server_id"]
  • POST: /v1/volume/detach Detach block storage volume to server by id/uuid: ["volume_id", "server_id"]
  • DELETE: /v1/volume/remove Remove block storage volume by id/uuid, if not attached: ["volume_id"]

February 2020

Started the /v2 branch due to required updates in responses, do not use in production until documented.

January 2020

Security and performance updates, global validation of input and output information to ensure no malformed data is accepted and ensure nothing leaks.

November 2019

Old endpoints will continue to work, with the Deprecated: true header set.

  • /v1/billing/list_transactions renamed to: /v1/transaction/list
  • /v1/billing/list_charges renamed to: /v1/invoice/list
  • /v1/billing/sum_charges renamed to: /v1/invoice/sum

Mars 2019

Started updating response codes, i.e 200 -> 201 and 202 and 422 (incorrect) -> 412 and 400. Please update your projects to check for ranges 200 - 299, 300 - 399 ... until all response codes are properly assigned to avoid unexpected errors in case of changes.

January 2019

Old endpoints will continue to work, with the Deprecated: true header set.

  • /v1/locations/list renamed to: /v1/region/list
  • /v1/templates/list renamed to: /v1/image/list
  • /v1/sizes/list renamed to: /v1/plan/list
  • /v1/location/list_features renamed to: /v1/feature/list

v-1.1: (stable)

Current stable API documentation for version 1.1. Document is divided into multiple modules for easier editing and overview. It's open source and any feedback is welcome.

View v-1.1
v-0.3: (deprecated)

Legacy API documentation covers version 1 of the API but hasn't been updated. Information and examples in this document may work but probably wont.

View v-0.3
API Endpoints

Multiple endpoints are available depending on your needs. All endpoints runs on different servers but communicate with the same cluster of database servers spread around the globe.

  • Global: https://api.99stack.com/v1
Privacy friendly and secure. API function calls goes via our global servers without using middlemen.

  • Ireland (Europe):
    https://api.eu-west.aws.99stack.com/v1
  • Virginia (USA):
    https://api.us-east.aws.99stack.com/v1
  • Oregon (USA):
    https://api.us-west.aws.99stack.com/v1
  • India (Asia):
    https://api.as-south.aws.99stack.com/v1
  • South Korea (Asia):
    https://api.as-east.aws.99stack.com/v1
Privacy friendly and secure. API function calls goes directly to our regional servers without using middlemen.

  • Cloudflare: https://cf-api.99stack.com/v1
Using Cloudflare CDN with strict encryption, this option lacks privacy, but is great when you need to gather large amounts of public information such as region, plan and image lists.