Important Concepts

Before diving into the API endpoints, let's familiarize ourselves with some key concepts that are central to understanding and effectively using the WAYSCloud API.

  • UUIDs (Universally Unique Identifiers): Many endpoints use UUIDs to uniquely identify resources (e.g., projects, VMs, storage). You'll typically obtain these UUIDs from other API calls (e.g., listing projects to get a project's UUID).
  • Offerings and Plans: Most resources are provisioned through orders for offerings. An offering is a pre-defined service template (e.g., "Small VM"). Offerings often have multiple plans that specify different resource configurations, pricing, and limitations.
  • Orders: When you create a resource, you'll typically place an order for an offering and a plan. Orders can be tracked using their order_uuid to monitor the provisioning process.
  • Attributes: Resources often have an attributes field, which is a JSON object where you can specify custom settings or configurations for the resource.
  • Filtering: Many list endpoints support filtering, allowing you to refine the results based on specific criteria (e.g., ?name=MyVM?state=OK).
  • Pagination: For endpoints that return a large number of results, pagination is used to divide the results into smaller, manageable pages. You can navigate through pages using parameters like page and page_size.
  • Asynchronous Operations: Some operations, such as creating a VM, might be asynchronous. This means that the operation might not complete immediately. You can use the state field in the response to track the progress of the operation.
  • HTTP Status Codes: The API uses standard HTTP status codes to indicate the success or failure of requests. Familiarize yourself with common status codes (e.g., 200 OK, 201 Created, 400 Bad Request, 404 Not Found) to understand API responses.
  • Error Responses: In case of errors, the API provides informative error messages in the response body. These messages help you troubleshoot and resolve issues with your API requests.