API Overview

Breakwater provides a REST API for vendors to manage their products, customers, licenses, and more programmatically.

Base URL

All API endpoints are prefixed with /api/v1/vendor/.

Available Resources

The API provides access to the following resources:

Resource Description
Products Manage your containerized software offerings
Repositories Configure Docker registry repositories
Customers Manage customer organizations
Licenses Grant and manage customer access to products
Auth Tokens Create authentication tokens for customers
Pulls View image pull history and analytics

Response Format

All responses are JSON. Successful responses return the requested data:

{
  "id": "prod_abc123",
  "name": "My Product",
  "slug": "my-product"
}

List endpoints include pagination metadata:

{
  "data": [...],
  "meta": {
    "current_page": 1,
    "per_page": 25,
    "total_count": 100,
    "total_pages": 4
  }
}

Error Responses

Errors return an appropriate HTTP status code with details:

{
  "error": "Validation failed",
  "details": ["Name can't be blank"]
}

Common status codes:
- 400 - Bad request (missing parameters)
- 401 - Unauthorized (invalid credentials)
- 404 - Resource not found
- 422 - Validation failed

Rate Limiting

API requests are rate limited per vendor. Response headers indicate your current limits:

  • X-RateLimit-Limit - Maximum requests per period
  • X-RateLimit-Remaining - Requests remaining
  • X-RateLimit-Reset - Unix timestamp when the limit resets

Interactive Documentation

For detailed endpoint documentation with request/response examples, visit the API Explorer.