API Documentation
This section is the entry point for Pillow’s REST API. The API is served by Mill (the Go service) and described by an OpenAPI 3.0 spec.
If you’re looking for narrative guides and examples (especially connector ingestion), start with The Mill (API).
OpenAPI reference (source of truth)
Section titled “OpenAPI reference (source of truth)”- Local:
http://localhost:4000/docs - Production:
https://api.garagejs.com/docs
Base URL
Section titled “Base URL”Production: https://api.garagejs.comFor local development:
http://localhost:4000All API endpoints are prefixed with /api/v1:
Production: https://api.garagejs.com/api/v1Local: http://localhost:4000/api/v1Authentication
Section titled “Authentication”Most protected endpoints use a bearer token:
Service Tokens
Section titled “Service Tokens”curl -H "Authorization: Bearer your-service-token" \ https://api.garagejs.com/api/v1/propertiesService tokens are created via the admin endpoint:
curl -X POST https://api.garagejs.com/admin/tokens/service \ -H "Content-Type: application/json" \ -d '{ "service_name": "my-service", "source": "my-source", "roles": ["connector"] }'Quick start
Section titled “Quick start”Get your first API response:
# Create a service tokencurl -X POST http://localhost:4000/admin/tokens/service \ -H "Content-Type: application/json" \ -d '{ "service_name": "test-service", "source": "test-source", "roles": ["connector"] }'
# Search for properties (public endpoint, no auth required)curl "http://localhost:4000/api/v1/properties?limit=5"
# Search with filterscurl "http://localhost:4000/api/v1/properties?city=San%20Francisco&limit=5"
# With authentication (for protected endpoints)curl -H "Authorization: Bearer your-token" \ "http://localhost:4000/api/v1/properties?city=San%20Francisco&limit=5"Next Steps
Section titled “Next Steps”- The Mill (API) - Guides and examples (including connector ingestion)
- Getting Started - Setup and configuration
- Architecture - System design and components