{"header":{"title":"AgentBookable","description":"One booking interface for AI agents across multiple booking providers. Search businesses, check live availability and create real appointments.","siteUrl":"https://agentbookable.com","contact":{"url":"https://agentbookable.com/docs"}},"apis":{"main":{"type":"openapi","url":"https://agentbookable.com/openapi.json","isRecommended":true,"skills":[{"id":"search-businesses","name":"Search businesses","description":"Search the published registry by text, category, city, service or geo radius.","operations":[{"operationId":"searchBusinesses","method":"get","path":"/businesses"}]},{"id":"check-availability","name":"Check live availability","description":"Fetch live bookable slots for a service. Slots are temporary (~60s TTL); always call immediately before booking.","operations":[{"operationId":"findAvailability","method":"post","path":"/businesses/{businessId}/availability"}]},{"id":"create-booking","name":"Create a booking","description":"Prepare a draft, obtain explicit user consent, issue a consent-bound mandate (POST /mandates/for-draft), then book. Never book without a real user instruction.","operations":[{"operationId":"listServices","method":"get","path":"/businesses/{businessId}/services"},{"operationId":"createBookingDraft","method":"post","path":"/booking-drafts"},{"operationId":"createMandateForDraft","method":"post","path":"/mandates/for-draft"},{"operationId":"createBooking","method":"post","path":"/bookings"}]},{"id":"manage-booking","name":"Reschedule or cancel a booking","description":"Reschedule or cancel an existing booking. Check the business record's capabilities first — some providers do not support these actions.","operations":[{"operationId":"rescheduleBooking","method":"post","path":"/bookings/{bookingId}/reschedule"},{"operationId":"cancelBooking","method":"post","path":"/bookings/{bookingId}/cancel"}]}]}}}