{"openapi":"3.1.0","info":{"title":"Cadence API","description":"Multi-tenant appointment-scheduling engine.","version":"0.1.0"},"paths":{"/api/health":{"get":{"tags":["meta"],"summary":"Health","operationId":"health_api_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":{"type":"string"},"type":"object","title":"Response Health Api Health Get"}}}}}}},"/api/ready":{"get":{"tags":["meta"],"summary":"Ready","operationId":"ready_api_ready_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/auth/signup":{"post":{"tags":["auth"],"summary":"Signup","operationId":"signup_api_v1_auth_signup_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SignupIn"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SignupOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/login":{"post":{"tags":["auth"],"summary":"Login","operationId":"login_api_v1_auth_login_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoginIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/me":{"get":{"tags":["auth"],"summary":"Me","operationId":"me_api_v1_auth_me_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MeOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/accept-invite":{"post":{"tags":["auth"],"summary":"Accept Invite","description":"Accept a team invite.\n\n- If the invited email has **no** account yet: create one (password required)\n  and sign in.\n- If it **already** has an account: the caller must be signed in **as that\n  user** (send the session token). We never mint a session for an existing\n  account from the invite token alone — that would let an inviter take over\n  someone else's account.","operationId":"accept_invite_api_v1_auth_accept_invite_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcceptInviteIn"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/services":{"get":{"tags":["services"],"summary":"List Services","operationId":"list_services_api_v1_services_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":100,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-Cadence-Org","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Cadence-Org"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServiceOut"},"title":"Response List Services Api V1 Services Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/practitioners":{"get":{"tags":["practitioners"],"summary":"List Practitioners","operationId":"list_practitioners_api_v1_practitioners_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":100,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-Cadence-Org","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Cadence-Org"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PractitionerOut"},"title":"Response List Practitioners Api V1 Practitioners Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/practitioners/{practitioner_id}/ics":{"post":{"tags":["practitioners"],"summary":"Create Ics Feed","operationId":"create_ics_feed_api_v1_practitioners__practitioner_id__ics_post","parameters":[{"name":"practitioner_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Practitioner Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-Cadence-Org","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Cadence-Org"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IcsFeedOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/availability":{"get":{"tags":["availability"],"summary":"Get Availability","operationId":"get_availability_api_v1_availability_get","parameters":[{"name":"service_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","title":"Service Id"}},{"name":"practitioner_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Practitioner Id"}},{"name":"from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"From"}},{"name":"to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"To"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-Cadence-Org","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Cadence-Org"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AvailabilityOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/bookings":{"post":{"tags":["bookings"],"summary":"Create Booking","operationId":"create_booking_api_v1_bookings_post","parameters":[{"name":"Idempotency-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idempotency-Key"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-Cadence-Org","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Cadence-Org"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BookingCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BookingOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["bookings"],"summary":"List Bookings","operationId":"list_bookings_api_v1_bookings_get","parameters":[{"name":"practitioner_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Practitioner Id"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"From"}},{"name":"to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"To"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":100,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"order","in":"query","required":false,"schema":{"type":"string","pattern":"^(asc|desc)$","default":"desc","title":"Order"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-Cadence-Org","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Cadence-Org"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BookingOut"},"title":"Response List Bookings Api V1 Bookings Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/bookings/{booking_id}":{"get":{"tags":["bookings"],"summary":"Get Booking","operationId":"get_booking_api_v1_bookings__booking_id__get","parameters":[{"name":"booking_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Booking Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-Cadence-Org","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Cadence-Org"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BookingOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/bookings/{booking_id}/cancel":{"post":{"tags":["bookings"],"summary":"Cancel Booking","operationId":"cancel_booking_api_v1_bookings__booking_id__cancel_post","parameters":[{"name":"booking_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Booking Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-Cadence-Org","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Cadence-Org"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BookingOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/bookings/{booking_id}/reschedule":{"post":{"tags":["bookings"],"summary":"Reschedule Booking","operationId":"reschedule_booking_api_v1_bookings__booking_id__reschedule_post","parameters":[{"name":"booking_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Booking Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-Cadence-Org","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Cadence-Org"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RescheduleIn"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BookingOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/webhooks":{"post":{"tags":["webhooks"],"summary":"Create Webhook","operationId":"create_webhook_api_v1_webhooks_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-Cadence-Org","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Cadence-Org"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookCreated"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["webhooks"],"summary":"List Webhooks","operationId":"list_webhooks_api_v1_webhooks_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":100,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-Cadence-Org","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Cadence-Org"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/WebhookOut"},"title":"Response List Webhooks Api V1 Webhooks Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/webhooks/{endpoint_id}":{"delete":{"tags":["webhooks"],"summary":"Delete Webhook","operationId":"delete_webhook_api_v1_webhooks__endpoint_id__delete","parameters":[{"name":"endpoint_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Endpoint Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-Cadence-Org","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Cadence-Org"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/calendar/google/authorize":{"get":{"tags":["calendar"],"summary":"Google Authorize","operationId":"google_authorize_api_v1_calendar_google_authorize_get","parameters":[{"name":"practitioner_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","title":"Practitioner Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-Cadence-Org","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Cadence-Org"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalendarAuthorizeOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/calendar/google/callback":{"get":{"tags":["calendar"],"summary":"Google Callback","operationId":"google_callback_api_v1_calendar_google_callback_get","parameters":[{"name":"code","in":"query","required":true,"schema":{"type":"string","title":"Code"}},{"name":"state","in":"query","required":true,"schema":{"type":"string","title":"State"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/calendar/connections":{"get":{"tags":["calendar"],"summary":"List Connections","operationId":"list_connections_api_v1_calendar_connections_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":100,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-Cadence-Org","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Cadence-Org"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CalendarConnectionOut"},"title":"Response List Connections Api V1 Calendar Connections Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/calendar/connections/{connection_id}":{"delete":{"tags":["calendar"],"summary":"Delete Connection","operationId":"delete_connection_api_v1_calendar_connections__connection_id__delete","parameters":[{"name":"connection_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Connection Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-Cadence-Org","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Cadence-Org"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/org":{"get":{"tags":["admin"],"summary":"Get Org","operationId":"get_org_api_v1_admin_org_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-Cadence-Org","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Cadence-Org"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrgOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["admin"],"summary":"Update Org","operationId":"update_org_api_v1_admin_org_patch","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-Cadence-Org","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Cadence-Org"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrgUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrgOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/services":{"get":{"tags":["admin"],"summary":"List Services","operationId":"list_services_api_v1_admin_services_get","parameters":[{"name":"include_inactive","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Include Inactive"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":100,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-Cadence-Org","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Cadence-Org"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServiceAdminOut"},"title":"Response List Services Api V1 Admin Services Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["admin"],"summary":"Create Service","operationId":"create_service_api_v1_admin_services_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-Cadence-Org","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Cadence-Org"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceAdminOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/services/{service_id}":{"get":{"tags":["admin"],"summary":"Get Service","operationId":"get_service_api_v1_admin_services__service_id__get","parameters":[{"name":"service_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Service Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-Cadence-Org","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Cadence-Org"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceAdminOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["admin"],"summary":"Update Service","operationId":"update_service_api_v1_admin_services__service_id__patch","parameters":[{"name":"service_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Service Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-Cadence-Org","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Cadence-Org"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceAdminOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["admin"],"summary":"Deactivate Service","operationId":"deactivate_service_api_v1_admin_services__service_id__delete","parameters":[{"name":"service_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Service Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-Cadence-Org","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Cadence-Org"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/practitioners":{"get":{"tags":["admin"],"summary":"List Practitioners","operationId":"list_practitioners_api_v1_admin_practitioners_get","parameters":[{"name":"include_inactive","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Include Inactive"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":100,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-Cadence-Org","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Cadence-Org"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PractitionerAdminOut"},"title":"Response List Practitioners Api V1 Admin Practitioners Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["admin"],"summary":"Create Practitioner","operationId":"create_practitioner_api_v1_admin_practitioners_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-Cadence-Org","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Cadence-Org"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PractitionerCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PractitionerAdminOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/practitioners/{practitioner_id}":{"get":{"tags":["admin"],"summary":"Get Practitioner","operationId":"get_practitioner_api_v1_admin_practitioners__practitioner_id__get","parameters":[{"name":"practitioner_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Practitioner Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-Cadence-Org","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Cadence-Org"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PractitionerAdminOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["admin"],"summary":"Update Practitioner","operationId":"update_practitioner_api_v1_admin_practitioners__practitioner_id__patch","parameters":[{"name":"practitioner_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Practitioner Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-Cadence-Org","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Cadence-Org"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PractitionerUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PractitionerAdminOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["admin"],"summary":"Deactivate Practitioner","operationId":"deactivate_practitioner_api_v1_admin_practitioners__practitioner_id__delete","parameters":[{"name":"practitioner_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Practitioner Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-Cadence-Org","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Cadence-Org"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/practitioners/{practitioner_id}/services":{"get":{"tags":["admin"],"summary":"List Practitioner Services","operationId":"list_practitioner_services_api_v1_admin_practitioners__practitioner_id__services_get","parameters":[{"name":"practitioner_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Practitioner Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-Cadence-Org","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Cadence-Org"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServiceAdminOut"},"title":"Response List Practitioner Services Api V1 Admin Practitioners  Practitioner Id  Services Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["admin"],"summary":"Set Practitioner Services","operationId":"set_practitioner_services_api_v1_admin_practitioners__practitioner_id__services_put","parameters":[{"name":"practitioner_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Practitioner Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-Cadence-Org","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Cadence-Org"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PractitionerServicesSet"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServiceAdminOut"},"title":"Response Set Practitioner Services Api V1 Admin Practitioners  Practitioner Id  Services Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/practitioners/{practitioner_id}/weekly-hours":{"get":{"tags":["admin"],"summary":"List Weekly Hours","operationId":"list_weekly_hours_api_v1_admin_practitioners__practitioner_id__weekly_hours_get","parameters":[{"name":"practitioner_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Practitioner Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-Cadence-Org","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Cadence-Org"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/WeeklyHourOut"},"title":"Response List Weekly Hours Api V1 Admin Practitioners  Practitioner Id  Weekly Hours Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["admin"],"summary":"Set Weekly Hours","operationId":"set_weekly_hours_api_v1_admin_practitioners__practitioner_id__weekly_hours_put","parameters":[{"name":"practitioner_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Practitioner Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-Cadence-Org","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Cadence-Org"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WeeklyHoursSet"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/WeeklyHourOut"},"title":"Response Set Weekly Hours Api V1 Admin Practitioners  Practitioner Id  Weekly Hours Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/practitioners/{practitioner_id}/date-overrides":{"get":{"tags":["admin"],"summary":"List Date Overrides","operationId":"list_date_overrides_api_v1_admin_practitioners__practitioner_id__date_overrides_get","parameters":[{"name":"practitioner_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Practitioner Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":100,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-Cadence-Org","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Cadence-Org"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DateOverrideOut"},"title":"Response List Date Overrides Api V1 Admin Practitioners  Practitioner Id  Date Overrides Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["admin"],"summary":"Create Date Override","operationId":"create_date_override_api_v1_admin_practitioners__practitioner_id__date_overrides_post","parameters":[{"name":"practitioner_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Practitioner Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-Cadence-Org","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Cadence-Org"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DateOverrideIn"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DateOverrideOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/practitioners/{practitioner_id}/date-overrides/{override_id}":{"delete":{"tags":["admin"],"summary":"Delete Date Override","operationId":"delete_date_override_api_v1_admin_practitioners__practitioner_id__date_overrides__override_id__delete","parameters":[{"name":"practitioner_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Practitioner Id"}},{"name":"override_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Override Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-Cadence-Org","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Cadence-Org"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/practitioners/{practitioner_id}/blackouts":{"get":{"tags":["admin"],"summary":"List Blackouts","operationId":"list_blackouts_api_v1_admin_practitioners__practitioner_id__blackouts_get","parameters":[{"name":"practitioner_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Practitioner Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":100,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-Cadence-Org","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Cadence-Org"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BlackoutOut"},"title":"Response List Blackouts Api V1 Admin Practitioners  Practitioner Id  Blackouts Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["admin"],"summary":"Create Blackout","operationId":"create_blackout_api_v1_admin_practitioners__practitioner_id__blackouts_post","parameters":[{"name":"practitioner_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Practitioner Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-Cadence-Org","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Cadence-Org"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BlackoutIn"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BlackoutOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/practitioners/{practitioner_id}/blackouts/{blackout_id}":{"delete":{"tags":["admin"],"summary":"Delete Blackout","operationId":"delete_blackout_api_v1_admin_practitioners__practitioner_id__blackouts__blackout_id__delete","parameters":[{"name":"practitioner_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Practitioner Id"}},{"name":"blackout_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Blackout Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-Cadence-Org","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Cadence-Org"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/orgs/{org_id}/api-keys":{"get":{"tags":["api-keys"],"summary":"List Api Keys","operationId":"list_api_keys_api_v1_orgs__org_id__api_keys_get","parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Org Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":100,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ApiKeyOut"},"title":"Response List Api Keys Api V1 Orgs  Org Id  Api Keys Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["api-keys"],"summary":"Create Api Key","operationId":"create_api_key_api_v1_orgs__org_id__api_keys_post","parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Org Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyCreated"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/orgs/{org_id}/api-keys/{key_id}":{"delete":{"tags":["api-keys"],"summary":"Revoke Api Key","operationId":"revoke_api_key_api_v1_orgs__org_id__api_keys__key_id__delete","parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Org Id"}},{"name":"key_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Key Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/orgs/{org_id}/members":{"get":{"tags":["team"],"summary":"List Members","operationId":"list_members_api_v1_orgs__org_id__members_get","parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Org Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":100,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MemberOut"},"title":"Response List Members Api V1 Orgs  Org Id  Members Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/orgs/{org_id}/members/{user_id}":{"delete":{"tags":["team"],"summary":"Remove Member","operationId":"remove_member_api_v1_orgs__org_id__members__user_id__delete","parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Org Id"}},{"name":"user_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"User Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/orgs/{org_id}/invites":{"get":{"tags":["team"],"summary":"List Invites","operationId":"list_invites_api_v1_orgs__org_id__invites_get","parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Org Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":100,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/InviteOut"},"title":"Response List Invites Api V1 Orgs  Org Id  Invites Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["team"],"summary":"Create Invite","operationId":"create_invite_api_v1_orgs__org_id__invites_post","parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Org Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InviteCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InviteCreated"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/orgs/{org_id}/invites/{invite_id}":{"delete":{"tags":["team"],"summary":"Revoke Invite","operationId":"revoke_invite_api_v1_orgs__org_id__invites__invite_id__delete","parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Org Id"}},{"name":"invite_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Invite Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/orgs/{org_id}/billing":{"get":{"tags":["billing"],"summary":"Billing Status","operationId":"billing_status_api_v1_orgs__org_id__billing_get","parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Org Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillingStatus"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/orgs/{org_id}/billing/checkout":{"post":{"tags":["billing"],"summary":"Billing Checkout","operationId":"billing_checkout_api_v1_orgs__org_id__billing_checkout_post","parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Org Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UrlOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/orgs/{org_id}/billing/portal":{"post":{"tags":["billing"],"summary":"Billing Portal","operationId":"billing_portal_api_v1_orgs__org_id__billing_portal_post","parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Org Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UrlOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/orgs/{slug}":{"get":{"tags":["public"],"summary":"Get Public Org","operationId":"get_public_org_api_v1_public_orgs__slug__get","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicOrgOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/orgs/{slug}/services":{"get":{"tags":["public"],"summary":"List Public Services","operationId":"list_public_services_api_v1_public_orgs__slug__services_get","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":100,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServiceOut"},"title":"Response List Public Services Api V1 Public Orgs  Slug  Services Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/orgs/{slug}/practitioners":{"get":{"tags":["public"],"summary":"List Public Practitioners","operationId":"list_public_practitioners_api_v1_public_orgs__slug__practitioners_get","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":100,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PractitionerOut"},"title":"Response List Public Practitioners Api V1 Public Orgs  Slug  Practitioners Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/orgs/{slug}/availability":{"get":{"tags":["public"],"summary":"Public Availability","operationId":"public_availability_api_v1_public_orgs__slug__availability_get","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}},{"name":"service_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","title":"Service Id"}},{"name":"practitioner_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Practitioner Id"}},{"name":"from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"From"}},{"name":"to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"To"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AvailabilityOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/orgs/{slug}/bookings":{"post":{"tags":["public"],"summary":"Create Public Booking","operationId":"create_public_booking_api_v1_public_orgs__slug__bookings_post","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idempotency-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BookingCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BookingOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/bookings/{token}":{"get":{"tags":["public"],"summary":"Get Managed Booking","operationId":"get_managed_booking_api_v1_public_bookings__token__get","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ManageBookingOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/bookings/{token}/reschedule":{"post":{"tags":["public"],"summary":"Reschedule Managed Booking","operationId":"reschedule_managed_booking_api_v1_public_bookings__token__reschedule_post","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RescheduleIn"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ManageBookingOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/bookings/{token}/cancel":{"post":{"tags":["public"],"summary":"Cancel Managed Booking","operationId":"cancel_managed_booking_api_v1_public_bookings__token__cancel_post","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ManageBookingOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ics/{token}.ics":{"get":{"tags":["ics"],"summary":"Practitioner Feed","operationId":"practitioner_feed_ics__token__ics_get","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"AcceptInviteIn":{"properties":{"token":{"type":"string","title":"Token"},"password":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Password"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"}},"type":"object","required":["token"],"title":"AcceptInviteIn"},"ApiKeyCreate":{"properties":{"name":{"type":"string","title":"Name","default":"default"},"environment":{"type":"string","title":"Environment","default":"live"}},"type":"object","title":"ApiKeyCreate"},"ApiKeyCreated":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"prefix":{"type":"string","title":"Prefix"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"last_used_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Used At"},"revoked_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Revoked At"},"secret":{"type":"string","title":"Secret"}},"type":"object","required":["id","name","prefix","created_at","secret"],"title":"ApiKeyCreated"},"ApiKeyOut":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"prefix":{"type":"string","title":"Prefix"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"last_used_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Used At"},"revoked_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Revoked At"}},"type":"object","required":["id","name","prefix","created_at"],"title":"ApiKeyOut"},"AuthOut":{"properties":{"token":{"type":"string","title":"Token"},"user":{"$ref":"#/components/schemas/UserOut"},"memberships":{"items":{"$ref":"#/components/schemas/OrgMembershipOut"},"type":"array","title":"Memberships"}},"type":"object","required":["token","user","memberships"],"title":"AuthOut"},"AvailabilityOut":{"properties":{"service_id":{"type":"string","format":"uuid","title":"Service Id"},"window_start":{"type":"string","format":"date-time","title":"Window Start"},"window_end":{"type":"string","format":"date-time","title":"Window End"},"slots":{"items":{"$ref":"#/components/schemas/SlotOut"},"type":"array","title":"Slots"}},"type":"object","required":["service_id","window_start","window_end","slots"],"title":"AvailabilityOut"},"BillingStatus":{"properties":{"configured":{"type":"boolean","title":"Configured"},"subscription_status":{"type":"string","title":"Subscription Status"},"seats":{"type":"integer","title":"Seats"},"has_customer":{"type":"boolean","title":"Has Customer"}},"type":"object","required":["configured","subscription_status","seats","has_customer"],"title":"BillingStatus"},"BlackoutIn":{"properties":{"start":{"type":"string","format":"date-time","title":"Start"},"end":{"type":"string","format":"date-time","title":"End"},"reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reason"}},"type":"object","required":["start","end"],"title":"BlackoutIn"},"BlackoutOut":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"start":{"type":"string","format":"date-time","title":"Start"},"end":{"type":"string","format":"date-time","title":"End"},"reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reason"}},"type":"object","required":["id","start","end"],"title":"BlackoutOut"},"BookingCreate":{"properties":{"service_id":{"type":"string","format":"uuid","title":"Service Id"},"practitioner_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Practitioner Id"},"start":{"type":"string","format":"date-time","title":"Start"},"customer":{"$ref":"#/components/schemas/CustomerIn"},"location_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Location Type"},"address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address"},"source":{"type":"string","title":"Source","default":"api"}},"type":"object","required":["service_id","start","customer"],"title":"BookingCreate"},"BookingOut":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"status":{"type":"string","title":"Status"},"practitioner_id":{"type":"string","format":"uuid","title":"Practitioner Id"},"service_id":{"type":"string","format":"uuid","title":"Service Id"},"customer_id":{"type":"string","format":"uuid","title":"Customer Id"},"start":{"type":"string","format":"date-time","title":"Start"},"end":{"type":"string","format":"date-time","title":"End"},"location_type":{"type":"string","title":"Location Type"},"source":{"type":"string","title":"Source"},"address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address"},"customer":{"anyOf":[{"$ref":"#/components/schemas/CustomerOut"},{"type":"null"}]},"manage_token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Manage Token"}},"type":"object","required":["id","status","practitioner_id","service_id","customer_id","start","end","location_type","source"],"title":"BookingOut"},"CalendarAuthorizeOut":{"properties":{"authorization_url":{"type":"string","title":"Authorization Url"}},"type":"object","required":["authorization_url"],"title":"CalendarAuthorizeOut"},"CalendarConnectionOut":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"practitioner_id":{"type":"string","format":"uuid","title":"Practitioner Id"},"provider":{"type":"string","title":"Provider"}},"type":"object","required":["id","practitioner_id","provider"],"title":"CalendarConnectionOut"},"CustomerIn":{"properties":{"name":{"type":"string","title":"Name"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone"}},"type":"object","required":["name"],"title":"CustomerIn"},"CustomerOut":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone"}},"type":"object","required":["id","name"],"title":"CustomerOut"},"DateOverrideIn":{"properties":{"day":{"type":"string","format":"date","title":"Day"},"is_closed":{"type":"boolean","title":"Is Closed","default":false},"start":{"anyOf":[{"type":"string","format":"time"},{"type":"null"}],"title":"Start"},"end":{"anyOf":[{"type":"string","format":"time"},{"type":"null"}],"title":"End"}},"type":"object","required":["day"],"title":"DateOverrideIn"},"DateOverrideOut":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"day":{"type":"string","format":"date","title":"Day"},"is_closed":{"type":"boolean","title":"Is Closed"},"start":{"anyOf":[{"type":"string","format":"time"},{"type":"null"}],"title":"Start"},"end":{"anyOf":[{"type":"string","format":"time"},{"type":"null"}],"title":"End"}},"type":"object","required":["id","day","is_closed"],"title":"DateOverrideOut"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"IcsFeedOut":{"properties":{"practitioner_id":{"type":"string","format":"uuid","title":"Practitioner Id"},"token":{"type":"string","title":"Token"},"url":{"type":"string","title":"Url"}},"type":"object","required":["practitioner_id","token","url"],"title":"IcsFeedOut"},"InviteCreate":{"properties":{"email":{"type":"string","title":"Email"},"role":{"type":"string","title":"Role","default":"member"}},"type":"object","required":["email"],"title":"InviteCreate"},"InviteCreated":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"email":{"type":"string","title":"Email"},"role":{"type":"string","title":"Role"},"expires_at":{"type":"string","format":"date-time","title":"Expires At"},"accepted_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Accepted At"},"token":{"type":"string","title":"Token"}},"type":"object","required":["id","email","role","expires_at","token"],"title":"InviteCreated"},"InviteOut":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"email":{"type":"string","title":"Email"},"role":{"type":"string","title":"Role"},"expires_at":{"type":"string","format":"date-time","title":"Expires At"},"accepted_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Accepted At"}},"type":"object","required":["id","email","role","expires_at"],"title":"InviteOut"},"LoginIn":{"properties":{"email":{"type":"string","title":"Email"},"password":{"type":"string","title":"Password"}},"type":"object","required":["email","password"],"title":"LoginIn"},"ManageBookingOut":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"status":{"type":"string","title":"Status"},"start":{"type":"string","format":"date-time","title":"Start"},"end":{"type":"string","format":"date-time","title":"End"},"location_type":{"type":"string","title":"Location Type"},"address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address"},"service_id":{"type":"string","format":"uuid","title":"Service Id"},"service_name":{"type":"string","title":"Service Name"},"service_duration_min":{"type":"integer","title":"Service Duration Min"},"practitioner_id":{"type":"string","format":"uuid","title":"Practitioner Id"},"practitioner_name":{"type":"string","title":"Practitioner Name"},"org_slug":{"type":"string","title":"Org Slug"},"org_name":{"type":"string","title":"Org Name"},"timezone":{"type":"string","title":"Timezone"}},"type":"object","required":["id","status","start","end","location_type","service_id","service_name","service_duration_min","practitioner_id","practitioner_name","org_slug","org_name","timezone"],"title":"ManageBookingOut","description":"A booking as seen on the keyless \"manage my booking\" page.\n\nResolved from the per-booking manage token, so it embeds everything a\nstandalone panel needs without further (keyed) calls: the service and\npractitioner names, plus the org slug/name/timezone and service duration\nso the panel can fetch availability and render times locally."},"MeOut":{"properties":{"user":{"$ref":"#/components/schemas/UserOut"},"memberships":{"items":{"$ref":"#/components/schemas/OrgMembershipOut"},"type":"array","title":"Memberships"}},"type":"object","required":["user","memberships"],"title":"MeOut"},"MemberOut":{"properties":{"user_id":{"type":"string","format":"uuid","title":"User Id"},"email":{"type":"string","title":"Email"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"role":{"type":"string","title":"Role"}},"type":"object","required":["user_id","email","role"],"title":"MemberOut"},"OrgMembershipOut":{"properties":{"org_id":{"type":"string","format":"uuid","title":"Org Id"},"org_slug":{"type":"string","title":"Org Slug"},"org_name":{"type":"string","title":"Org Name"},"role":{"type":"string","title":"Role"}},"type":"object","required":["org_id","org_slug","org_name","role"],"title":"OrgMembershipOut"},"OrgOut":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"slug":{"type":"string","title":"Slug"},"name":{"type":"string","title":"Name"},"timezone":{"type":"string","title":"Timezone"},"branding":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Branding"},"status":{"type":"string","title":"Status"}},"type":"object","required":["id","slug","name","timezone","status"],"title":"OrgOut"},"OrgUpdate":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"timezone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Timezone"},"branding":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Branding"}},"type":"object","title":"OrgUpdate"},"PractitionerAdminOut":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"},"timezone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Timezone"},"buffer_before_min":{"type":"integer","title":"Buffer Before Min"},"buffer_after_min":{"type":"integer","title":"Buffer After Min"},"min_notice_min":{"type":"integer","title":"Min Notice Min"},"max_horizon_days":{"type":"integer","title":"Max Horizon Days"},"active":{"type":"boolean","title":"Active"}},"type":"object","required":["id","name","buffer_before_min","buffer_after_min","min_notice_min","max_horizon_days","active"],"title":"PractitionerAdminOut"},"PractitionerCreate":{"properties":{"name":{"type":"string","title":"Name"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"},"timezone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Timezone"},"buffer_before_min":{"type":"integer","title":"Buffer Before Min","default":0},"buffer_after_min":{"type":"integer","title":"Buffer After Min","default":0},"min_notice_min":{"type":"integer","title":"Min Notice Min","default":0},"max_horizon_days":{"type":"integer","title":"Max Horizon Days","default":60}},"type":"object","required":["name"],"title":"PractitionerCreate"},"PractitionerOut":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"timezone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Timezone"}},"type":"object","required":["id","name"],"title":"PractitionerOut"},"PractitionerServicesSet":{"properties":{"service_ids":{"items":{"type":"string","format":"uuid"},"type":"array","title":"Service Ids"}},"type":"object","required":["service_ids"],"title":"PractitionerServicesSet"},"PractitionerUpdate":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"},"timezone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Timezone"},"buffer_before_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Buffer Before Min"},"buffer_after_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Buffer After Min"},"min_notice_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Min Notice Min"},"max_horizon_days":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Horizon Days"},"active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Active"}},"type":"object","title":"PractitionerUpdate"},"PublicOrgOut":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"slug":{"type":"string","title":"Slug"},"name":{"type":"string","title":"Name"},"timezone":{"type":"string","title":"Timezone"},"branding":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Branding"}},"type":"object","required":["id","slug","name","timezone"],"title":"PublicOrgOut","description":"Non-sensitive org info for a public booking surface."},"RescheduleIn":{"properties":{"start":{"type":"string","format":"date-time","title":"Start"}},"type":"object","required":["start"],"title":"RescheduleIn"},"ServiceAdminOut":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"slug":{"type":"string","title":"Slug"},"name":{"type":"string","title":"Name"},"duration_min":{"type":"integer","title":"Duration Min"},"location_type":{"type":"string","title":"Location Type"},"price_cents":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Price Cents"},"currency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Currency"},"active":{"type":"boolean","title":"Active"}},"type":"object","required":["id","slug","name","duration_min","location_type","active"],"title":"ServiceAdminOut"},"ServiceCreate":{"properties":{"slug":{"type":"string","title":"Slug"},"name":{"type":"string","title":"Name"},"duration_min":{"type":"integer","title":"Duration Min"},"location_type":{"type":"string","title":"Location Type","default":"in_person"},"price_cents":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Price Cents"},"currency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Currency"}},"type":"object","required":["slug","name","duration_min"],"title":"ServiceCreate"},"ServiceOut":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"slug":{"type":"string","title":"Slug"},"name":{"type":"string","title":"Name"},"duration_min":{"type":"integer","title":"Duration Min"},"location_type":{"type":"string","title":"Location Type"},"price_cents":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Price Cents"},"currency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Currency"}},"type":"object","required":["id","slug","name","duration_min","location_type"],"title":"ServiceOut"},"ServiceUpdate":{"properties":{"slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Slug"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"duration_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Duration Min"},"location_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Location Type"},"price_cents":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Price Cents"},"currency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Currency"},"active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Active"}},"type":"object","title":"ServiceUpdate"},"SignupIn":{"properties":{"email":{"type":"string","title":"Email"},"password":{"type":"string","title":"Password"},"org_name":{"type":"string","title":"Org Name"},"org_slug":{"type":"string","title":"Org Slug"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"timezone":{"type":"string","title":"Timezone","default":"UTC"}},"type":"object","required":["email","password","org_name","org_slug"],"title":"SignupIn"},"SignupOut":{"properties":{"token":{"type":"string","title":"Token"},"user":{"$ref":"#/components/schemas/UserOut"},"memberships":{"items":{"$ref":"#/components/schemas/OrgMembershipOut"},"type":"array","title":"Memberships"},"org_id":{"type":"string","format":"uuid","title":"Org Id"},"api_key":{"type":"string","title":"Api Key"}},"type":"object","required":["token","user","memberships","org_id","api_key"],"title":"SignupOut"},"SlotOut":{"properties":{"start":{"type":"string","format":"date-time","title":"Start"},"end":{"type":"string","format":"date-time","title":"End"},"practitioner_ids":{"items":{"type":"string","format":"uuid"},"type":"array","title":"Practitioner Ids"}},"type":"object","required":["start","end","practitioner_ids"],"title":"SlotOut"},"UrlOut":{"properties":{"url":{"type":"string","title":"Url"}},"type":"object","required":["url"],"title":"UrlOut"},"UserOut":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"email":{"type":"string","title":"Email"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"}},"type":"object","required":["id","email"],"title":"UserOut"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"WebhookCreate":{"properties":{"url":{"type":"string","title":"Url"},"event_types":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Event Types"}},"type":"object","required":["url"],"title":"WebhookCreate"},"WebhookCreated":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"url":{"type":"string","title":"Url"},"event_types":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Event Types"},"active":{"type":"boolean","title":"Active"},"secret":{"type":"string","title":"Secret"}},"type":"object","required":["id","url","active","secret"],"title":"WebhookCreated"},"WebhookOut":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"url":{"type":"string","title":"Url"},"event_types":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Event Types"},"active":{"type":"boolean","title":"Active"}},"type":"object","required":["id","url","active"],"title":"WebhookOut"},"WeeklyHourIn":{"properties":{"day_of_week":{"type":"integer","title":"Day Of Week"},"start":{"type":"string","format":"time","title":"Start"},"end":{"type":"string","format":"time","title":"End"}},"type":"object","required":["day_of_week","start","end"],"title":"WeeklyHourIn"},"WeeklyHourOut":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"day_of_week":{"type":"integer","title":"Day Of Week"},"start":{"type":"string","format":"time","title":"Start"},"end":{"type":"string","format":"time","title":"End"}},"type":"object","required":["id","day_of_week","start","end"],"title":"WeeklyHourOut"},"WeeklyHoursSet":{"properties":{"hours":{"items":{"$ref":"#/components/schemas/WeeklyHourIn"},"type":"array","title":"Hours"}},"type":"object","required":["hours"],"title":"WeeklyHoursSet"}}}}