Garage provides two main APIs for interacting with the system:Documentation Index
Fetch the complete documentation index at: https://mintlify.com/deuxfleurs-org/garage/llms.txt
Use this file to discover all available pages before exploring further.
S3 API
Garage implements the Amazon S3 API, making it compatible with most S3 clients and tools. The S3 API allows you to:- Store and retrieve objects (files)
- Manage buckets
- Configure bucket websites
- Perform multipart uploads for large files
- Use presigned URLs for temporary access
Key Features
Authentication- Supports AWS Signature Version 4
- Does not support deprecated Signature Version 2
- Path-style URLs:
https://host.tld/bucket/key - Virtual host-style URLs:
https://bucket.host.tld/key
- SSE-C (Server-Side Encryption with Customer-Provided Keys)
- Client-side encryption recommended for additional security
- Presigned URLs for temporary access
- Multipart uploads for large files
- Static website hosting
- CORS (Cross-Origin Resource Sharing)
- Lifecycle policies for object expiration
What’s Not Supported
Garage does not currently support:- Bucket versioning
- AWS-style ACLs and bucket policies (Garage has its own permission system)
- Object tagging
- Replication
- Object locking
- Server-side bucket encryption configuration
Administration API
The Garage Administration API provides programmatic access to cluster management and configuration. It’s accessible through a dedicated server endpoint.Current Version
The current version is v2. No breaking changes will be published outside of a major release. Version History:- Before Garage v0.7.2 - no admin API
- Garage v0.7.2 - admin API v0
- Garage v0.9.0 - admin API v1 (deprecated v0)
- Garage v2.0.0 - admin API v2 (deprecated v1)
Access Control
API Tokens
Administration API tokens are used as HTTP bearer tokens:User-Defined Tokens
Cluster administrators can create scoped tokens with limited permissions and expiration dates:Admin API Endpoints
The Administration API allows you to:- Manage cluster nodes and layout
- Create and manage buckets
- Create and manage access keys
- Configure bucket permissions
- Monitor cluster health and metrics
- Manage admin tokens
Using the Admin API
Via HTTP
Via CLI (Garage v2.0.0+)
Thegarage CLI can proxy API calls through RPC without authentication:
Special Endpoints
Metrics -GET /metrics
- Returns Prometheus-formatted metrics
- Can be accessed with
metrics_token
GET /health
- Returns
200 OKif cluster has quorum - Returns
503 Service Unavailableotherwise
GET /check
- Used by reverse proxies (like Caddy) for on-demand TLS
- Validates if a domain is authorized for certificate issuance
API Documentation Resources
Admin API OpenAPI Specifications: S3 API Compatibility:- See S3 Compatibility Matrix for detailed endpoint support
Getting Started
To start using the Garage APIs:- Configure your Garage instance with appropriate API endpoints
- Create access keys for S3 API access
- Set up admin tokens for Administration API access
- Use standard S3 clients (AWS CLI, SDK, etc.) for object storage
- Use the Admin API or CLI for cluster management