API reference

The agent API exposes read-only access to your garage's data. Use it directly from your own code, or through the MCP server.

Base URL

https://api.garageagent.io/api/v1/agent

OpenAPI spec

A machine-readable OpenAPI 3.1 description of this API is published (no key required) at:

https://api.garageagent.io/api/v1/agent/openapi.json

Point your API tooling, code generator, or agent at it to discover every endpoint, parameter, and response shape.

Authentication

Pass your API key as a Bearer token on every request:

Authorization: Bearer ga_live_your_key_here

Requests without a valid, non-revoked key return 401. Every request is automatically scoped to the garage that owns the key — you can only ever see your own data.

Endpoints

Today's schedule

GET /schedule/today

Returns today's bookings (in your garage timezone) with a count.

List bookings

GET /bookings?from=2026-06-01&to=2026-06-30&status=confirmed

All query params are optional: from, to (YYYY-MM-DD), and status (pending, confirmed, cancelled, completed, no_show). Returns up to 100 bookings, newest first, with a truncated flag if there are more.

Get a booking

GET /bookings/{ref}

{ref} is the 8-character booking reference (hex). Returns full detail or 404.

Check availability

GET /availability?date=2026-06-04&service_id={uuid}

date (YYYY-MM-DD) is required. Pass an optional service_id to size slots to that service's duration. Slots are returned with both a UTC start and a start_local formatted in your timezone.

List services

GET /services?include_inactive=false

Returns your services with name, duration, price, and active flag.

Response shape

All responses are JSON of the form:

{
  "success": true,
  "data": { }
}

Errors return success: false with an error message and an appropriate HTTP status.

Example

curl https://api.garageagent.io/api/v1/agent/schedule/today \
  -H "Authorization: Bearer ga_live_your_key_here"

Limitations

The agent API is currently read-only. Write access (creating and modifying bookings) is on the roadmap and will be opt-in per key.