Wasabi API Reference Center

Next

Wasabi has numerous APIs available for use. The functionality of these APIs covers working with the standard S3 API, collecting statistics about your account/usage, and creating or managing other Wasabi accounts. The Wasabi API documentation is designed to support developers integrating with Wasabi’s suite of APIs. It provides clear, comprehensive guidance on how the APIs function, their capabilities, and how to interact with them effectively.

  • WACM Connect API Reference is available for subscribers of the Wasabi Account Control Manager (WACM). This API gives you the ability to report on your created Wasabi accounts and report on billing information used to properly account for their storage.

  • Wasabi Account Control API is a low-level API that interacts with Wasabi to provide you with a way to create, manage, and report your own Wasabi accounts programmatically. Typically, this API user would be a Wasabi partner who wants to integrate Wasabi into their own system, either leveraging Wasabi for storage or providing Wasabi accounts to their customers.

  • Wasabi AiR API Reference

  • Wasabi S3 API is the core API of Wasabi, providing S3-style storage. This can be leveraged by the numerous SDKs available online in many different languages. The Wasabi S3 API is available to anyone with a Wasabi account.

  • Wasabi Stats API is a way to programmatically access bucket and utilization data for all accounts. By using the Wasabi Stats API, you can access daily summary utilization as well as daily utilization of all buckets available at a per-bucket level.

Key API Elements

When designing an API (typically a RESTful API), several key elements are required to ensure it functions properly and is understandable to users. Here are the core components of an API:

  • Base URL—The root address of the API. For example:

https://api.example.com/v1/

  • Endpoints—Specific paths under the base URL corresponding to resources or services. For example:

    • GET /users

    • POST /users

    • GET /users/{id}

  • HTTP Methods—Defines the action to perform on a given endpoint.

    • GET - Retrieve data

    • POST - Create new data

    • PUT - Update data (replace)

    • PATCH - Update data (partial)

    • DELETE - Remove data

  • Request Headers—Carry metadata such as:

    • Authentication tokens (Authorization: Bearer <token>)

    • Content type (Content-Type: application/json)

    • Accept Type (Accept: application/json)

  • Request Parameters—Can be used in various ways:

    • Path Parameters - Part of the endpoint (/users/{id})

    • Query Parameters - After a question mark (/users?role=admin)

    • Body Parameters - In POST, PUT, or PATCH requests (usually JSON)

  • Request Body—Needed for methods like POST, PUT, and PATCH. Typically, in JSON format.

  • Response—The data returned by the API is usually in JSON format. Includes:

    • Status Code (200 OK, 404 Not Found, 401 Unauthorized, etc.)

    • Response body (data)

    • Headers (like rate limit info, content-type)

  • Status Codes—Standard HTTP codes indicating the result:

    • 200 OK - Success

    • 201 Created - Resource Successfully created

    • 400 Bad Request - Malformed request

    • 401 Unauthorized - Missing or invalid auth

    • 403 Forbidden - Not allowed

    • 404 Not Found - Resource not found

    • 500 Internal Server Error - Server-side error

  • Authentication—Often required, using:

    • API keys

    • OAuth 2.0

    • JWT (JSON Web Tokens)

    • Basic auth (less secure)

Enhanced Developer Experience

We incorporated interactive code playgrounds for the WACM Connect API, Wasabi Control Account API, and Wasabi AiR API. These playgrounds enable developers to experiment with API calls, making it easier to learn, test, and implement API functionality in real time.