{"openapi":"3.0.3","info":{"title":"Flip613 API","version":"1.0.0","description":"REST API for the Flip613 clinic management platform."},"servers":[{"url":"https://api.flip613.com"}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"API Key"}}},"security":[{"bearerAuth":[]}],"paths":{"/api/v1/clients":{"get":{"summary":"List clients","parameters":[{"name":"q","in":"query","schema":{"type":"string"}},{"name":"limit","in":"query","schema":{"type":"integer","default":50}},{"name":"cursor","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}},"post":{"summary":"Create client","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClientCreate"}}}},"responses":{"201":{"description":"Created"}}}},"/api/v1/clients/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"responses":{"200":{"description":"OK"},"404":{"description":"Not found"}}},"patch":{"responses":{"200":{"description":"OK"}}},"delete":{"responses":{"204":{"description":"Archived"}}}},"/api/v1/services":{"get":{"responses":{"200":{"description":"OK"}}}},"/api/v1/staff":{"get":{"responses":{"200":{"description":"OK"}}}},"/api/v1/availability":{"get":{"parameters":[{"name":"serviceId","in":"query","required":true,"schema":{"type":"string"}},{"name":"staffProfileId","in":"query","required":true,"schema":{"type":"string"}},{"name":"date","in":"query","required":true,"schema":{"type":"string","format":"date"}}],"responses":{"200":{"description":"Available slot list"}}}},"/api/v1/appointments":{"get":{"responses":{"200":{"description":"OK"}}},"post":{"responses":{"201":{"description":"Created"},"409":{"description":"Conflict"}}}},"/api/v1/appointments/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"get":{"responses":{"200":{"description":"OK"}}},"patch":{"responses":{"200":{"description":"OK"}}}},"/api/v1/invoices":{"get":{"responses":{"200":{"description":"OK"}}},"post":{"responses":{"201":{"description":"Created"}}}}}}