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 periodX-RateLimit-Remaining- Requests remainingX-RateLimit-Reset- Unix timestamp when the limit resets
Interactive Documentation
For detailed endpoint documentation with request/response examples, visit the API Explorer.