{"openapi":"3.1.0","info":{"title":"EUnifyer API Reference","description":"Public external surface of the EUnifyer platform API.\n\nAuthenticate with a **PAT** (Personal Access Token) or a **EUnifyer IDP user-delegated JWT**. Click **Authorize** to set your token — it will be sent automatically on every request.\n\nOnly endpoints in the stable v1 contract are listed here.","version":"1.81.0.640"},"paths":{"/api/v1/contacts/books":{"get":{"tags":["Contacts"],"summary":"List Address Books Endpoint","description":"List address books accessible to the current user.","operationId":"list_address_books_endpoint_api_v1_contacts_books_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/AddressBook"},"type":"array","title":"Response List Address Books Endpoint Api V1 Contacts Books Get"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/contacts/books/{book_id}":{"get":{"tags":["Contacts"],"summary":"List Contacts Endpoint","description":"List contacts in an address book.","operationId":"list_contacts_endpoint_api_v1_contacts_books__book_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"book_id","in":"path","required":true,"schema":{"type":"string","title":"Book Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ContactSummary"},"title":"Response List Contacts Endpoint Api V1 Contacts Books  Book Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Contacts"],"summary":"Create Contact Endpoint","description":"Create a new contact in an address book.","operationId":"create_contact_endpoint_api_v1_contacts_books__book_id__post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"book_id","in":"path","required":true,"schema":{"type":"string","title":"Book Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactSummary"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/contacts/books/{book_id}/{contact_id}":{"get":{"tags":["Contacts"],"summary":"Get Contact Endpoint","description":"Get a single contact by ID.","operationId":"get_contact_endpoint_api_v1_contacts_books__book_id___contact_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"book_id","in":"path","required":true,"schema":{"type":"string","title":"Book Id"}},{"name":"contact_id","in":"path","required":true,"schema":{"type":"string","title":"Contact Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactDetail"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["Contacts"],"summary":"Update Contact Endpoint","description":"Update a contact. Supports optimistic concurrency via If-Match.","operationId":"update_contact_endpoint_api_v1_contacts_books__book_id___contact_id__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"book_id","in":"path","required":true,"schema":{"type":"string","title":"Book Id"}},{"name":"contact_id","in":"path","required":true,"schema":{"type":"string","title":"Contact Id"}},{"name":"If-Match","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"If-Match"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactSummary"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Contacts"],"summary":"Delete Contact Endpoint","description":"Delete a contact.","operationId":"delete_contact_endpoint_api_v1_contacts_books__book_id___contact_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"book_id","in":"path","required":true,"schema":{"type":"string","title":"Book Id"}},{"name":"contact_id","in":"path","required":true,"schema":{"type":"string","title":"Contact Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/contacts/books/{book_id}/move":{"post":{"tags":["Contacts"],"summary":"Move Contacts Endpoint","description":"Move contacts from this book to another book the user owns.","operationId":"move_contacts_endpoint_api_v1_contacts_books__book_id__move_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"book_id","in":"path","required":true,"schema":{"type":"string","title":"Book Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MoveContactsRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MoveContactsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/contacts/books/{book_id}/{contact_id}/favorite":{"post":{"tags":["Contacts"],"summary":"Toggle Favorite Endpoint","description":"Toggle favorite status on a contact.","operationId":"toggle_favorite_endpoint_api_v1_contacts_books__book_id___contact_id__favorite_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"book_id","in":"path","required":true,"schema":{"type":"string","title":"Book Id"}},{"name":"contact_id","in":"path","required":true,"schema":{"type":"string","title":"Contact Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactSummary"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/contacts/search":{"get":{"tags":["Contacts"],"summary":"Search Contacts Endpoint","description":"Search contacts across all address books.","operationId":"search_contacts_endpoint_api_v1_contacts_search_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string","title":"Q"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ContactSummary"},"title":"Response Search Contacts Endpoint Api V1 Contacts Search Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/contacts/directory":{"get":{"tags":["Contacts"],"summary":"Get Directory Endpoint","description":"Get organization directory (all users in the organization).","operationId":"get_directory_endpoint_api_v1_contacts_directory_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/DirectoryEntry"},"type":"array","title":"Response Get Directory Endpoint Api V1 Contacts Directory Get"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/contacts/directory/{user_id}/export":{"get":{"tags":["Contacts"],"summary":"Export Directory Vcard Endpoint","description":"Export a directory user as .vcf file.","operationId":"export_directory_vcard_endpoint_api_v1_contacts_directory__user_id__export_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/contacts/books/{book_id}/{contact_id}/export":{"get":{"tags":["Contacts"],"summary":"Export Contact Vcard Endpoint","description":"Export a single contact as .vcf file.","operationId":"export_contact_vcard_endpoint_api_v1_contacts_books__book_id___contact_id__export_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"book_id","in":"path","required":true,"schema":{"type":"string","title":"Book Id"}},{"name":"contact_id","in":"path","required":true,"schema":{"type":"string","title":"Contact Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/calendar/calendars":{"get":{"tags":["Calendar"],"summary":"List Calendars Endpoint","description":"List calendars accessible to the current user.","operationId":"list_calendars_endpoint_api_v1_calendar_calendars_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/CalendarInfo"},"type":"array","title":"Response List Calendars Endpoint Api V1 Calendar Calendars Get"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/calendar/events":{"get":{"tags":["Calendar"],"summary":"Get Events Multi Endpoint","description":"Get events across all accessible calendars (or a filtered subset) in one request.","operationId":"get_events_multi_endpoint_api_v1_calendar_events_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"start","in":"query","required":true,"schema":{"type":"string","format":"date-time","title":"Start"}},{"name":"end","in":"query","required":true,"schema":{"type":"string","format":"date-time","title":"End"}},{"name":"calendar_ids","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Calendar Ids"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/EventSummary"},"title":"Response Get Events Multi Endpoint Api V1 Calendar Events Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/calendar/calendars/{cal_id}/events":{"get":{"tags":["Calendar"],"summary":"Get Events Endpoint","description":"Get events in a calendar for a date range.","operationId":"get_events_endpoint_api_v1_calendar_calendars__cal_id__events_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"cal_id","in":"path","required":true,"schema":{"type":"string","title":"Cal Id"}},{"name":"start","in":"query","required":true,"schema":{"type":"string","format":"date-time","title":"Start"}},{"name":"end","in":"query","required":true,"schema":{"type":"string","format":"date-time","title":"End"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/EventSummary"},"title":"Response Get Events Endpoint Api V1 Calendar Calendars  Cal Id  Events Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Calendar"],"summary":"Create Event Endpoint","description":"Create a new event in a calendar.","operationId":"create_event_endpoint_api_v1_calendar_calendars__cal_id__events_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"cal_id","in":"path","required":true,"schema":{"type":"string","title":"Cal Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EventCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EventSummary"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/calendar/calendars/{cal_id}/events/{uid}":{"get":{"tags":["Calendar"],"summary":"Get Event Endpoint","description":"Get a single event by UID.","operationId":"get_event_endpoint_api_v1_calendar_calendars__cal_id__events__uid__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"cal_id","in":"path","required":true,"schema":{"type":"string","title":"Cal Id"}},{"name":"uid","in":"path","required":true,"schema":{"type":"string","title":"Uid"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EventDetail"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["Calendar"],"summary":"Update Event Endpoint","description":"Update an existing event.","operationId":"update_event_endpoint_api_v1_calendar_calendars__cal_id__events__uid__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"cal_id","in":"path","required":true,"schema":{"type":"string","title":"Cal Id"}},{"name":"uid","in":"path","required":true,"schema":{"type":"string","title":"Uid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EventUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EventSummary"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Calendar"],"summary":"Delete Event Endpoint","description":"Delete an event.","operationId":"delete_event_endpoint_api_v1_calendar_calendars__cal_id__events__uid__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"cal_id","in":"path","required":true,"schema":{"type":"string","title":"Cal Id"}},{"name":"uid","in":"path","required":true,"schema":{"type":"string","title":"Uid"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/calendar/calendars/{cal_id}/events/{uid}/occurrences/{occurrence_date}":{"put":{"tags":["Calendar"],"summary":"Update Recurring Event Endpoint","description":"Update a recurring event occurrence or series.","operationId":"update_recurring_event_endpoint_api_v1_calendar_calendars__cal_id__events__uid__occurrences__occurrence_date__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"cal_id","in":"path","required":true,"schema":{"type":"string","title":"Cal Id"}},{"name":"uid","in":"path","required":true,"schema":{"type":"string","title":"Uid"}},{"name":"occurrence_date","in":"path","required":true,"schema":{"type":"string","title":"Occurrence Date"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EventUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EventSummary"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Calendar"],"summary":"Delete Recurring Event Endpoint","description":"Delete a recurring event occurrence or series.","operationId":"delete_recurring_event_endpoint_api_v1_calendar_calendars__cal_id__events__uid__occurrences__occurrence_date__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"cal_id","in":"path","required":true,"schema":{"type":"string","title":"Cal Id"}},{"name":"uid","in":"path","required":true,"schema":{"type":"string","title":"Uid"}},{"name":"occurrence_date","in":"path","required":true,"schema":{"type":"string","title":"Occurrence Date"}},{"name":"delete_scope","in":"query","required":false,"schema":{"type":"string","default":"this","title":"Delete Scope"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/calendar/calendars/{cal_id}/export.ics":{"get":{"tags":["Calendar"],"summary":"Export Calendar Endpoint","description":"Export all events in a calendar as an .ics file.","operationId":"export_calendar_endpoint_api_v1_calendar_calendars__cal_id__export_ics_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"cal_id","in":"path","required":true,"schema":{"type":"string","title":"Cal Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/calendar/calendars/{cal_id}/events/{uid}/event.ics":{"get":{"tags":["Calendar"],"summary":"Export Event Endpoint","description":"Export a single event as an .ics file.","operationId":"export_event_endpoint_api_v1_calendar_calendars__cal_id__events__uid__event_ics_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"cal_id","in":"path","required":true,"schema":{"type":"string","title":"Cal Id"}},{"name":"uid","in":"path","required":true,"schema":{"type":"string","title":"Uid"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/calendar/calendars/{cal_id}/import":{"post":{"tags":["Calendar"],"summary":"Import Calendar Endpoint","description":"Import events from an .ics file.","operationId":"import_calendar_endpoint_api_v1_calendar_calendars__cal_id__import_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"cal_id","in":"path","required":true,"schema":{"type":"string","title":"Cal Id"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_import_calendar_endpoint_api_v1_calendar_calendars__cal_id__import_post"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Import Calendar Endpoint Api V1 Calendar Calendars  Cal Id  Import Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/calendar/freebusy":{"post":{"tags":["Calendar"],"summary":"Get Freebusy Endpoint","description":"Get free/busy information for a list of attendees.\n\nReturns busy time slots for each attendee within the specified time range.\nOnly returns data for users in the same organization.","operationId":"get_freebusy_endpoint_api_v1_calendar_freebusy_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FreeBusyRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FreeBusyResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/drive/tus/":{"options":{"tags":["Drive"],"summary":"Tus Options","operationId":"tus_options_api_v1_drive_tus__options","responses":{"204":{"description":"Successful Response"}},"security":[{"BearerAuth":[]}]},"post":{"tags":["Drive"],"summary":"Tus Create","operationId":"tus_create_api_v1_drive_tus__post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"upload-metadata","in":"header","required":false,"schema":{"type":"string","title":"Upload-Metadata"}},{"name":"upload-length","in":"header","required":false,"schema":{"type":"integer","title":"Upload-Length"}},{"name":"upload-defer-length","in":"header","required":false,"schema":{"type":"integer","title":"Upload-Defer-Length"}},{"name":"tus-resumable","in":"header","required":false,"schema":{"type":"string","title":"Tus-Resumable"}}],"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/drive/tus/{upload_id}":{"head":{"tags":["Drive"],"summary":"Tus Head","operationId":"tus_head_api_v1_drive_tus__upload_id__head","security":[{"HTTPBearer":[]}],"parameters":[{"name":"upload_id","in":"path","required":true,"schema":{"type":"string","title":"Upload Id"}},{"name":"tus-resumable","in":"header","required":false,"schema":{"type":"string","title":"Tus-Resumable"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Drive"],"summary":"Tus Patch","operationId":"tus_patch_api_v1_drive_tus__upload_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"upload_id","in":"path","required":true,"schema":{"type":"string","title":"Upload Id"}},{"name":"upload-offset","in":"header","required":true,"schema":{"type":"integer","title":"Upload-Offset"}},{"name":"upload-length","in":"header","required":false,"schema":{"type":"integer","title":"Upload-Length"}},{"name":"content-type","in":"header","required":false,"schema":{"type":"string","title":"Content-Type"}},{"name":"tus-resumable","in":"header","required":false,"schema":{"type":"string","title":"Tus-Resumable"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Drive"],"summary":"Tus Delete","operationId":"tus_delete_api_v1_drive_tus__upload_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"upload_id","in":"path","required":true,"schema":{"type":"string","title":"Upload Id"}},{"name":"tus-resumable","in":"header","required":false,"schema":{"type":"string","title":"Tus-Resumable"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/drive/tus/{upload_id}/resolve":{"post":{"tags":["Drive"],"summary":"Tus Resolve","description":"Resolve a duplicate-file conflict for a completed TUS upload.\n\nCalled by the frontend after the user picks Skip / Keep Both / Replace.","operationId":"tus_resolve_api_v1_drive_tus__upload_id__resolve_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"upload_id","in":"path","required":true,"schema":{"type":"string","title":"Upload Id"}},{"name":"strategy","in":"query","required":true,"schema":{"type":"string","pattern":"^(skip|rename|overwrite)$","title":"Strategy"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Tus Resolve Api V1 Drive Tus  Upload Id  Resolve Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/drive/browse":{"get":{"tags":["Drive"],"summary":"List Folder Root Endpoint","description":"List folder contents (root if folder_id not provided).","operationId":"list_folder_root_endpoint_api_v1_drive_browse_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"folder_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Folder Id"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Q"}},{"name":"sort_by","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sort By"}},{"name":"sort_order","in":"query","required":false,"schema":{"$ref":"#/components/schemas/SortOrder","default":"desc"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":50,"title":"Per Page"}},{"name":"filter","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Filter"}},{"name":"or_filter","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Or Filter"}},{"name":"mime_types","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Mime Types"}},{"name":"mime_group","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mime Group"}},{"name":"is_folder","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Folder"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FolderContents"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/drive/browse/{folder_id}":{"get":{"tags":["Drive"],"summary":"List Folder Endpoint","description":"List folder contents.","operationId":"list_folder_endpoint_api_v1_drive_browse__folder_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"folder_id","in":"path","required":true,"schema":{"type":"string","title":"Folder Id"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Q"}},{"name":"sort_by","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sort By"}},{"name":"sort_order","in":"query","required":false,"schema":{"$ref":"#/components/schemas/SortOrder","default":"desc"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":50,"title":"Per Page"}},{"name":"filter","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Filter"}},{"name":"or_filter","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Or Filter"}},{"name":"mime_types","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Mime Types"}},{"name":"mime_group","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mime Group"}},{"name":"is_folder","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Folder"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FolderContents"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/drive/folders":{"post":{"tags":["Drive"],"summary":"Create Folder Endpoint","description":"Create a new folder.","operationId":"create_folder_endpoint_api_v1_drive_folders_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FolderCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileItem"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/drive/upload":{"post":{"tags":["Drive"],"summary":"Request Upload Endpoint","description":"Request a presigned upload URL.","operationId":"request_upload_endpoint_api_v1_drive_upload_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/drive/{file_id}/confirm":{"post":{"tags":["Drive"],"summary":"Confirm Upload Endpoint","description":"Confirm file upload completion.","operationId":"confirm_upload_endpoint_api_v1_drive__file_id__confirm_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"file_id","in":"path","required":true,"schema":{"type":"string","title":"File Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileItem"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/drive/{file_id}/download":{"get":{"tags":["Drive"],"summary":"Get Download Url Endpoint","description":"Get presigned download URL for a file.\n\nReturns 200 with {\"url\": \"...\"} for available files.\nReturns 202 with restore info for archived (Glacier) files.","operationId":"get_download_url_endpoint_api_v1_drive__file_id__download_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"file_id","in":"path","required":true,"schema":{"type":"string","title":"File Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/drive/{file_id}/restore-status":{"get":{"tags":["Drive"],"summary":"Get Restore Status Endpoint","description":"Check if an archived file has been restored.","operationId":"get_restore_status_endpoint_api_v1_drive__file_id__restore_status_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"file_id","in":"path","required":true,"schema":{"type":"string","title":"File Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Restore Status Endpoint Api V1 Drive  File Id  Restore Status Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/drive/{file_id}/thumbnail":{"get":{"tags":["Drive"],"summary":"Get Thumbnail Endpoint","description":"Get presigned thumbnail URL for a file.","operationId":"get_thumbnail_endpoint_api_v1_drive__file_id__thumbnail_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"file_id","in":"path","required":true,"schema":{"type":"string","title":"File Id"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":512,"minimum":64,"default":256,"title":"Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ThumbnailUrl"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/drive/{file_id}/preview-token":{"post":{"tags":["Drive"],"summary":"Create Preview Token Endpoint","description":"Create a short-lived single-use token for loading a preview in <img src>.","operationId":"create_preview_token_endpoint_api_v1_drive__file_id__preview_token_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"file_id","in":"path","required":true,"schema":{"type":"string","title":"File Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Create Preview Token Endpoint Api V1 Drive  File Id  Preview Token Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/drive/{file_id}/preview":{"get":{"tags":["Drive"],"summary":"Get Preview Endpoint","description":"Redirect to a downsized WebP preview for direct <img src> embedding.\n\nAccepts auth via short-lived single-use ``?token=`` query param (not a\nfull JWT). Returns 302 → presigned S3 URL.","operationId":"get_preview_endpoint_api_v1_drive__file_id__preview_get","parameters":[{"name":"file_id","in":"path","required":true,"schema":{"type":"string","title":"File Id"}},{"name":"token","in":"query","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"}}}}},"security":[{"BearerAuth":[]}]}},"/api/v1/drive/{file_id}/rename":{"patch":{"tags":["Drive"],"summary":"Rename File Endpoint","description":"Rename a file or folder.","operationId":"rename_file_endpoint_api_v1_drive__file_id__rename_patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"file_id","in":"path","required":true,"schema":{"type":"string","title":"File Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileRename"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileItem"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/drive/{file_id}/move":{"patch":{"tags":["Drive"],"summary":"Move File Endpoint","description":"Move a file or folder.","operationId":"move_file_endpoint_api_v1_drive__file_id__move_patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"file_id","in":"path","required":true,"schema":{"type":"string","title":"File Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileMove"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileItem"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/drive/{file_id}/copy":{"post":{"tags":["Drive"],"summary":"Copy File Endpoint","description":"Copy a file or folder.","operationId":"copy_file_endpoint_api_v1_drive__file_id__copy_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"file_id","in":"path","required":true,"schema":{"type":"string","title":"File Id"}},{"name":"target_folder_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Target Folder Id"}}],"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileItem"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/drive/{file_id}/save-as-odf":{"post":{"tags":["Drive"],"summary":"Save As Odf Endpoint","description":"Convert an MS Office document to its Open Document equivalent and save it to Drive.","operationId":"save_as_odf_endpoint_api_v1_drive__file_id__save_as_odf_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"file_id","in":"path","required":true,"schema":{"type":"string","title":"File Id"}}],"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileItem"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/drive/{file_id}/favorite":{"post":{"tags":["Drive"],"summary":"Toggle Favorite Endpoint","description":"Toggle favorite status.","operationId":"toggle_favorite_endpoint_api_v1_drive__file_id__favorite_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"file_id","in":"path","required":true,"schema":{"type":"string","title":"File Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileItem"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/drive/{file_id}/trash":{"post":{"tags":["Drive"],"summary":"Trash File Endpoint","description":"Move file or folder to trash.","operationId":"trash_file_endpoint_api_v1_drive__file_id__trash_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"file_id","in":"path","required":true,"schema":{"type":"string","title":"File Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/drive/{file_id}/restore":{"post":{"tags":["Drive"],"summary":"Restore File Endpoint","description":"Restore file or folder from trash.","operationId":"restore_file_endpoint_api_v1_drive__file_id__restore_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"file_id","in":"path","required":true,"schema":{"type":"string","title":"File Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileItem"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/drive/trash":{"delete":{"tags":["Drive"],"summary":"Empty Trash Endpoint","description":"Empty trash for current user.","operationId":"empty_trash_endpoint_api_v1_drive_trash_delete","security":[{"HTTPBearer":[]}],"responses":{"204":{"description":"Successful Response"}}},"get":{"tags":["Drive"],"summary":"Get Trash Endpoint","description":"Get trashed files with filtering, sorting, and pagination.","operationId":"get_trash_endpoint_api_v1_drive_trash_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Q"}},{"name":"sort_by","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sort By"}},{"name":"sort_order","in":"query","required":false,"schema":{"$ref":"#/components/schemas/SortOrder","default":"desc"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":50,"title":"Per Page"}},{"name":"filter","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Filter"}},{"name":"or_filter","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Or Filter"}},{"name":"mime_types","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Mime Types"}},{"name":"mime_group","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mime Group"}},{"name":"is_folder","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Folder"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Paginated_FileItem_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/drive/{file_id}":{"delete":{"tags":["Drive"],"summary":"Delete Permanently Endpoint","description":"Permanently delete file or folder.","operationId":"delete_permanently_endpoint_api_v1_drive__file_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"file_id","in":"path","required":true,"schema":{"type":"string","title":"File Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/drive/shared":{"get":{"tags":["Drive"],"summary":"Get Shared Files Endpoint","description":"Get files shared with current user with filtering, sorting, and pagination.","operationId":"get_shared_files_endpoint_api_v1_drive_shared_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Q"}},{"name":"sort_by","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sort By"}},{"name":"sort_order","in":"query","required":false,"schema":{"$ref":"#/components/schemas/SortOrder","default":"desc"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":50,"title":"Per Page"}},{"name":"filter","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Filter"}},{"name":"or_filter","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Or Filter"}},{"name":"mime_types","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Mime Types"}},{"name":"mime_group","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mime Group"}},{"name":"is_folder","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Folder"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Paginated_FileItem_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/drive/search":{"get":{"tags":["Drive"],"summary":"Search Files Endpoint","description":"Search files with optional advanced filters.\n\nReturns a Meilisearch-compatible response envelope with hits,\ntotal count, processing time, and optional facet distribution.","operationId":"search_files_endpoint_api_v1_drive_search_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"q","in":"query","required":false,"schema":{"type":"string","default":"","title":"Q"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"mime_types","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Mime Types"}},{"name":"facets","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Facets"}},{"name":"created_after","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Created After"}},{"name":"created_before","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Created Before"}},{"name":"modified_after","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Modified After"}},{"name":"modified_before","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Modified Before"}},{"name":"owner_name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Owner Name"}},{"name":"is_folder","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Folder"}},{"name":"min_size","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"title":"Min Size"}},{"name":"max_size","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"title":"Max Size"}},{"name":"sort_by","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sort By"}},{"name":"sort_order","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sort Order"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__v1__drive__schemas__SearchResult"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/drive/{file_id}/shares":{"post":{"tags":["Drive"],"summary":"Create Share Endpoint","description":"Create a file share.","operationId":"create_share_endpoint_api_v1_drive__file_id__shares_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"file_id","in":"path","required":true,"schema":{"type":"string","title":"File Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShareCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShareInfo"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Drive"],"summary":"List Shares Endpoint","description":"List shares for a file.","operationId":"list_shares_endpoint_api_v1_drive__file_id__shares_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"file_id","in":"path","required":true,"schema":{"type":"string","title":"File Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ShareInfo"},"title":"Response List Shares Endpoint Api V1 Drive  File Id  Shares Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/drive/{file_id}/shares/{share_id}":{"delete":{"tags":["Drive"],"summary":"Delete Share Endpoint","description":"Delete a file share.","operationId":"delete_share_endpoint_api_v1_drive__file_id__shares__share_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"file_id","in":"path","required":true,"schema":{"type":"string","title":"File Id"}},{"name":"share_id","in":"path","required":true,"schema":{"type":"string","title":"Share Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/drive/shared-link/{token}":{"get":{"tags":["Drive"],"summary":"Access Shared Link Endpoint","description":"Access a file via public share link (no auth required).","operationId":"access_shared_link_endpoint_api_v1_drive_shared_link__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/SharedLinkResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"BearerAuth":[]}]}},"/api/v1/drive/shared-link/{token}/download":{"get":{"tags":["Drive"],"summary":"Download Shared Link Endpoint","description":"Get download URL for a shared file (no auth required).","operationId":"download_shared_link_endpoint_api_v1_drive_shared_link__token__download_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"}}}}},"security":[{"BearerAuth":[]}]}},"/api/v1/drive/shared-link/{token}/preview":{"get":{"tags":["Drive"],"summary":"Get Shared Link Preview Endpoint","description":"Get presigned inline URL for previewing a shared file (no auth required).","operationId":"get_shared_link_preview_endpoint_api_v1_drive_shared_link__token__preview_get","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"},"title":"Response Get Shared Link Preview Endpoint Api V1 Drive Shared Link  Token  Preview Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"BearerAuth":[]}]}},"/api/v1/drive/shared-link/{token}/content":{"get":{"tags":["Drive"],"summary":"Get Shared Link Content Endpoint","description":"Get raw text content for a shared file (text files only, no auth required).","operationId":"get_shared_link_content_endpoint_api_v1_drive_shared_link__token__content_get","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"string","title":"Response Get Shared Link Content Endpoint Api V1 Drive Shared Link  Token  Content Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"BearerAuth":[]}]},"put":{"tags":["Drive"],"summary":"Save Shared Link Content Endpoint","description":"Save raw text content for a shared file (edit permission required, no auth).","operationId":"save_shared_link_content_endpoint_api_v1_drive_shared_link__token__content_put","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"string","title":"Content"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileItem"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"BearerAuth":[]}]}},"/api/v1/drive/shared-link/{token}/edit-url":{"get":{"tags":["Drive"],"summary":"Get Shared Link Edit Url Endpoint","description":"Get Collabora editor session for a shared file (no auth required).","operationId":"get_shared_link_edit_url_endpoint_api_v1_drive_shared_link__token__edit_url_get","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}},{"name":"lang","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lang"}},{"name":"theme","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Theme"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EditSessionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"BearerAuth":[]}]}},"/api/v1/drive/storage":{"get":{"tags":["Drive"],"summary":"Get Storage Usage Endpoint","description":"Get storage usage for user's organization.","operationId":"get_storage_usage_endpoint_api_v1_drive_storage_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StorageUsage"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/drive/storage/breakdown":{"get":{"tags":["Drive"],"summary":"Get Storage Breakdown Endpoint","description":"Get detailed storage breakdown with categories and largest files.","operationId":"get_storage_breakdown_endpoint_api_v1_drive_storage_breakdown_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StorageBreakdown"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/drive/{file_id}/edit-url":{"get":{"tags":["Drive"],"summary":"Get Edit Session Endpoint","description":"Get Collabora editor session for a file.","operationId":"get_edit_session_endpoint_api_v1_drive__file_id__edit_url_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"file_id","in":"path","required":true,"schema":{"type":"string","title":"File Id"}},{"name":"lang","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lang"}},{"name":"theme","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Theme"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EditSessionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/drive/{file_id}/editors":{"get":{"tags":["Drive"],"summary":"Get File Editors Endpoint","description":"Get active editors for a file (users currently editing in Collabora).","operationId":"get_file_editors_endpoint_api_v1_drive__file_id__editors_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"file_id","in":"path","required":true,"schema":{"type":"string","title":"File Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","additionalProperties":true},"title":"Response Get File Editors Endpoint Api V1 Drive  File Id  Editors Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/drive/create-document":{"post":{"tags":["Drive"],"summary":"Create Document Endpoint","description":"Create a blank office document and return editor session.","operationId":"create_document_endpoint_api_v1_drive_create_document_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDocumentRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EditSessionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/drive/{file_id}/versions":{"get":{"tags":["Drive"],"summary":"List File Versions Endpoint","description":"List version history for a file.","operationId":"list_file_versions_endpoint_api_v1_drive__file_id__versions_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"file_id","in":"path","required":true,"schema":{"type":"string","title":"File Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FileVersionResponse"},"title":"Response List File Versions Endpoint Api V1 Drive  File Id  Versions Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/drive/{file_id}/versions/{version_id}/restore":{"post":{"tags":["Drive"],"summary":"Restore File Version Endpoint","description":"Restore a file to a previous version.","operationId":"restore_file_version_endpoint_api_v1_drive__file_id__versions__version_id__restore_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"file_id","in":"path","required":true,"schema":{"type":"string","title":"File Id"}},{"name":"version_id","in":"path","required":true,"schema":{"type":"string","title":"Version Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileItem"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/drive/{file_id}/versions/{version_id}/download":{"get":{"tags":["Drive"],"summary":"Download File Version Endpoint","description":"Get download URL for a specific file version.","operationId":"download_file_version_endpoint_api_v1_drive__file_id__versions__version_id__download_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"file_id","in":"path","required":true,"schema":{"type":"string","title":"File Id"}},{"name":"version_id","in":"path","required":true,"schema":{"type":"string","title":"Version Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/drive/{file_id}/metadata":{"patch":{"tags":["Drive"],"summary":"Update File Metadata Endpoint","description":"Update file custom metadata.","operationId":"update_file_metadata_endpoint_api_v1_drive__file_id__metadata_patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"file_id","in":"path","required":true,"schema":{"type":"string","title":"File Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileMetadataUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileItem"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/drive/{file_id}/comments":{"get":{"tags":["Drive"],"summary":"Get File Comments Channel Endpoint","description":"Get or create the comments channel for a file.","operationId":"get_file_comments_channel_endpoint_api_v1_drive__file_id__comments_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"file_id","in":"path","required":true,"schema":{"type":"string","title":"File Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"},"title":"Response Get File Comments Channel Endpoint Api V1 Drive  File Id  Comments Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/drive/{file_id}/detail":{"get":{"tags":["Drive"],"summary":"Get File Detail Endpoint","description":"Get metadata for a single file.","operationId":"get_file_detail_endpoint_api_v1_drive__file_id__detail_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"file_id","in":"path","required":true,"schema":{"type":"string","title":"File Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileItem"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/drive/sync/files/{file_id}":{"get":{"tags":["Drive"],"summary":"Get Single Item Endpoint","description":"Single-file metadata in SyncDeltaItem shape — used by the macOS\nFileProvider extension's `item(for:)` so it can hydrate a placeholder\nwithout enumerating the whole delta. Owner-scoped: only the file's\nowner sees it (mirrors the per-user delta filter).","operationId":"get_single_item_endpoint_api_v1_drive_sync_files__file_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"file_id","in":"path","required":true,"schema":{"type":"string","title":"File Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SyncDeltaItem"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/drive/sync/delta":{"get":{"tags":["Drive"],"summary":"Get Delta Endpoint","description":"Get changes since cursor, or full initial sync if no cursor.","operationId":"get_delta_endpoint_api_v1_drive_sync_delta_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"device_id","in":"query","required":true,"schema":{"type":"string","minLength":1,"maxLength":64,"description":"Client-generated stable device ID","title":"Device Id"},"description":"Client-generated stable device ID"},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"description":"Cursor from previous delta call","title":"Cursor"},"description":"Cursor from previous delta call"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SyncDeltaResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/drive/sync/status":{"get":{"tags":["Drive"],"summary":"Get Status Endpoint","description":"Sync health check + server timestamp.","operationId":"get_status_endpoint_api_v1_drive_sync_status_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"device_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"description":"Device ID for cursor info","title":"Device Id"},"description":"Device ID for cursor info"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SyncStatusResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/drive/sync/devices":{"get":{"tags":["Drive"],"summary":"List Devices Endpoint","description":"List user's sync devices.","operationId":"list_devices_endpoint_api_v1_drive_sync_devices_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/SyncDeviceInfo"},"type":"array","title":"Response List Devices Endpoint Api V1 Drive Sync Devices Get"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/drive/sync/commit":{"post":{"tags":["Drive"],"summary":"Commit Endpoint","description":"Report local changes (batch create/update/delete).","operationId":"commit_endpoint_api_v1_drive_sync_commit_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SyncCommitRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SyncCommitResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/drive/sync/resolve":{"post":{"tags":["Drive"],"summary":"Resolve Endpoint","description":"Resolve a sync conflict.","operationId":"resolve_endpoint_api_v1_drive_sync_resolve_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SyncConflictResolve"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SyncCommitResult"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/drive/sync/devices/{device_id}":{"delete":{"tags":["Drive"],"summary":"Revoke Device Endpoint","description":"Revoke a sync device.","operationId":"revoke_device_endpoint_api_v1_drive_sync_devices__device_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"device_id","in":"path","required":true,"schema":{"type":"string","title":"Device Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/sites/search":{"get":{"tags":["Sites"],"summary":"Search Sites Endpoint","description":"Search sites and pages.","operationId":"search_sites_endpoint_api_v1_sites_search_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string","minLength":2,"description":"Search query","title":"Q"},"description":"Search query"},{"name":"type","in":"query","required":false,"schema":{"type":"string","description":"Search type: site, page, or all","default":"all","title":"Type"},"description":"Search type: site, page, or all"},{"name":"site_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Scope to a specific site","title":"Site Id"},"description":"Scope to a specific site"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"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":{"$ref":"#/components/schemas/SiteSearchResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/sites/{site_id}":{"get":{"tags":["Sites"],"summary":"Get Site Endpoint","description":"Get site details.","operationId":"get_site_endpoint_api_v1_sites__site_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"site_id","in":"path","required":true,"schema":{"type":"string","title":"Site Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SiteResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Sites"],"summary":"Update Site Endpoint","description":"Update site properties.","operationId":"update_site_endpoint_api_v1_sites__site_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"site_id","in":"path","required":true,"schema":{"type":"string","title":"Site Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SiteUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SiteResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Sites"],"summary":"Delete Site Endpoint","description":"Archive a site (soft delete).","operationId":"delete_site_endpoint_api_v1_sites__site_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"site_id","in":"path","required":true,"schema":{"type":"string","title":"Site Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/sites/{site_id}/pages":{"get":{"tags":["Sites"],"summary":"List Pages Endpoint","description":"List all pages in a site.","operationId":"list_pages_endpoint_api_v1_sites__site_id__pages_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"site_id","in":"path","required":true,"schema":{"type":"string","title":"Site Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PageResponse"},"title":"Response List Pages Endpoint Api V1 Sites  Site Id  Pages Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Sites"],"summary":"Create Page Endpoint","description":"Create a new page in a site.","operationId":"create_page_endpoint_api_v1_sites__site_id__pages_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"site_id","in":"path","required":true,"schema":{"type":"string","title":"Site Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/sites/{site_id}/pages/tree":{"get":{"tags":["Sites"],"summary":"Get Page Tree Endpoint","description":"Get page tree for sidebar navigation.","operationId":"get_page_tree_endpoint_api_v1_sites__site_id__pages_tree_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"site_id","in":"path","required":true,"schema":{"type":"string","title":"Site Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PageTreeItem"},"title":"Response Get Page Tree Endpoint Api V1 Sites  Site Id  Pages Tree Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/sites/{site_id}/pages/{page_id}":{"get":{"tags":["Sites"],"summary":"Get Page Endpoint","description":"Get a specific page.","operationId":"get_page_endpoint_api_v1_sites__site_id__pages__page_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"site_id","in":"path","required":true,"schema":{"type":"string","title":"Site Id"}},{"name":"page_id","in":"path","required":true,"schema":{"type":"string","title":"Page Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Sites"],"summary":"Update Page Endpoint","description":"Update a page. Supports optimistic concurrency via If-Match.","operationId":"update_page_endpoint_api_v1_sites__site_id__pages__page_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"site_id","in":"path","required":true,"schema":{"type":"string","title":"Site Id"}},{"name":"page_id","in":"path","required":true,"schema":{"type":"string","title":"Page Id"}},{"name":"If-Match","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"If-Match"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Sites"],"summary":"Delete Page Endpoint","description":"Delete a page.","operationId":"delete_page_endpoint_api_v1_sites__site_id__pages__page_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"site_id","in":"path","required":true,"schema":{"type":"string","title":"Site Id"}},{"name":"page_id","in":"path","required":true,"schema":{"type":"string","title":"Page Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/teams/{team_id}":{"get":{"tags":["Teams"],"summary":"Get Team Endpoint","description":"Get team details.","operationId":"get_team_endpoint_api_v1_teams__team_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"team_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Team Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Teams"],"summary":"Update Team Endpoint","description":"Update a team.","operationId":"update_team_endpoint_api_v1_teams__team_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"team_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Team Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Teams"],"summary":"Delete Team Endpoint","description":"Delete a team.","operationId":"delete_team_endpoint_api_v1_teams__team_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"team_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Team Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/teams/{team_id}/members":{"get":{"tags":["Teams"],"summary":"List Team Members Endpoint","description":"List members of a team.","operationId":"list_team_members_endpoint_api_v1_teams__team_id__members_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"team_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Team Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TeamMemberResponse"},"title":"Response List Team Members Endpoint Api V1 Teams  Team Id  Members Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Teams"],"summary":"Add Team Member Endpoint","description":"Add a member to a team.","operationId":"add_team_member_endpoint_api_v1_teams__team_id__members_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"team_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Team Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamMemberAdd"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamMemberResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/teams/{team_id}/members/{user_id}":{"patch":{"tags":["Teams"],"summary":"Update Team Member Endpoint","description":"Update a team member's role.","operationId":"update_team_member_endpoint_api_v1_teams__team_id__members__user_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"team_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Team Id"}},{"name":"user_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"User Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamMemberUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamMemberResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Teams"],"summary":"Remove Team Member Endpoint","description":"Remove a member from a team.","operationId":"remove_team_member_endpoint_api_v1_teams__team_id__members__user_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"team_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Team Id"}},{"name":"user_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"User Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/webhooks/subscriptions":{"get":{"tags":["Webhooks","Webhooks"],"summary":"List Subscriptions Endpoint","description":"List webhook subscriptions for the organization.","operationId":"list_subscriptions_endpoint_api_v1_webhooks_subscriptions_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CursorPage_WebhookSubscriptionResponse_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Webhooks","Webhooks"],"summary":"Create Subscription Endpoint","description":"Create a webhook subscription. Returns signing_secret once — store it securely.","operationId":"create_subscription_endpoint_api_v1_webhooks_subscriptions_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookSubscriptionCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookSubscriptionCreatedResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/webhooks/subscriptions/{subscription_id}":{"get":{"tags":["Webhooks","Webhooks"],"summary":"Get Subscription Endpoint","description":"Get a specific webhook subscription.","operationId":"get_subscription_endpoint_api_v1_webhooks_subscriptions__subscription_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"subscription_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Subscription Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookSubscriptionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Webhooks","Webhooks"],"summary":"Update Subscription Endpoint","description":"Update a webhook subscription (URL, events, active state).","operationId":"update_subscription_endpoint_api_v1_webhooks_subscriptions__subscription_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"subscription_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Subscription Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookSubscriptionUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookSubscriptionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Webhooks","Webhooks"],"summary":"Delete Subscription Endpoint","description":"Delete a webhook subscription and all its delivery history.","operationId":"delete_subscription_endpoint_api_v1_webhooks_subscriptions__subscription_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"subscription_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Subscription Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/webhooks/subscriptions/{subscription_id}/rotate-secret":{"post":{"tags":["Webhooks","Webhooks"],"summary":"Rotate Signing Secret Endpoint","description":"Rotate the signing secret. Returns new secret once — update your consumer immediately.","operationId":"rotate_signing_secret_endpoint_api_v1_webhooks_subscriptions__subscription_id__rotate_secret_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"subscription_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Subscription Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookSubscriptionCreatedResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/webhooks/subscriptions/{subscription_id}/deliveries":{"get":{"tags":["Webhooks","Webhooks"],"summary":"List Deliveries Endpoint","description":"List delivery attempts for a subscription (most recent first).","operationId":"list_deliveries_endpoint_api_v1_webhooks_subscriptions__subscription_id__deliveries_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"subscription_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Subscription Id"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CursorPage_WebhookDeliveryResponse_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/webhooks/subscriptions/{subscription_id}/deliveries/{delivery_id}/replay":{"post":{"tags":["Webhooks","Webhooks"],"summary":"Replay Delivery Endpoint","description":"Re-queue a failed or skipped delivery for immediate retry.","operationId":"replay_delivery_endpoint_api_v1_webhooks_subscriptions__subscription_id__deliveries__delivery_id__replay_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"subscription_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Subscription Id"}},{"name":"delivery_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Delivery Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookDeliveryResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/developer/service-principals":{"get":{"tags":["Developer"],"summary":"List Service Principals","operationId":"list_service_principals_api_v1_developer_service_principals_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor from previous response","title":"Cursor"},"description":"Cursor from previous response"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Items per page","default":20,"title":"Limit"},"description":"Items per page"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CursorPage_ServicePrincipalResponse_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Developer"],"summary":"Create Service Principal","operationId":"create_service_principal_api_v1_developer_service_principals_post","security":[{"HTTPBearer":[]}],"parameters":[{"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/ServicePrincipalCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServicePrincipalResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/developer/service-principals/{sp_id}":{"patch":{"tags":["Developer"],"summary":"Update Service Principal","operationId":"update_service_principal_api_v1_developer_service_principals__sp_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"sp_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Sp Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServicePrincipalUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServicePrincipalResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Developer"],"summary":"Delete Service Principal","operationId":"delete_service_principal_api_v1_developer_service_principals__sp_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"sp_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Sp Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/developer/service-principals/{sp_id}/tokens":{"get":{"tags":["Developer"],"summary":"List Api Tokens","operationId":"list_api_tokens_api_v1_developer_service_principals__sp_id__tokens_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"sp_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Sp Id"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor from previous response","title":"Cursor"},"description":"Cursor from previous response"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Items per page","default":20,"title":"Limit"},"description":"Items per page"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CursorPage_ApiTokenResponse_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Developer"],"summary":"Create Api Token","operationId":"create_api_token_api_v1_developer_service_principals__sp_id__tokens_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"sp_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Sp Id"}},{"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/ApiTokenCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiTokenCreatedResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/developer/service-principals/{sp_id}/tokens/{token_id}/revoke":{"post":{"tags":["Developer"],"summary":"Revoke Api Token","operationId":"revoke_api_token_api_v1_developer_service_principals__sp_id__tokens__token_id__revoke_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"sp_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Sp Id"}},{"name":"token_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Token Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/developer/service-principals/{sp_id}/tokens/{token_id}/rotate":{"post":{"tags":["Developer"],"summary":"Rotate Api Token","operationId":"rotate_api_token_api_v1_developer_service_principals__sp_id__tokens__token_id__rotate_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"sp_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Sp Id"}},{"name":"token_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Token Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiTokenCreatedResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/developer/principal":{"get":{"tags":["Developer"],"summary":"Get Principal","description":"Return the resolved principal context. Used to verify credentials.","operationId":"get_principal_api_v1_developer_principal_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Get Principal Api V1 Developer Principal Get"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/partner/orgs":{"get":{"tags":["Partner"],"summary":"List Orgs","description":"List customer organizations managed by this partner.","operationId":"list_orgs_api_v1_partner_orgs_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Pagination cursor","title":"Cursor"},"description":"Pagination cursor"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Limit"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Q"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/OrganizationStatus"},{"type":"null"}],"title":"Status"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CursorPage_PartnerOrgResponse_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Partner"],"summary":"Create Org","description":"Provision a new customer organization under this partner.","operationId":"create_org_api_v1_partner_orgs_post","security":[{"HTTPBearer":[]}],"parameters":[{"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/PartnerOrgCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartnerOrgResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/partner/orgs/{org_id}":{"get":{"tags":["Partner"],"summary":"Get Org","description":"Get a single customer organization.","operationId":"get_org_api_v1_partner_orgs__org_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Org Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartnerOrgResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Partner"],"summary":"Update Org","description":"Update customer organization metadata.","operationId":"update_org_api_v1_partner_orgs__org_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Org Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartnerOrgUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartnerOrgResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/partner/orgs/{org_id}/suspend":{"post":{"tags":["Partner"],"summary":"Suspend Org","description":"Suspend a customer organization.","operationId":"suspend_org_api_v1_partner_orgs__org_id__suspend_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Org Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartnerOrgResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/partner/orgs/{org_id}/activate":{"post":{"tags":["Partner"],"summary":"Activate Org","description":"Activate a suspended customer organization.","operationId":"activate_org_api_v1_partner_orgs__org_id__activate_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Org Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartnerOrgResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/partner/orgs/{org_id}/users":{"get":{"tags":["Partner"],"summary":"List Users","description":"List users and pending invitations in a customer organization.","operationId":"list_users_api_v1_partner_orgs__org_id__users_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Org Id"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Limit"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Q"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CursorPage_PartnerUserResponse_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Partner"],"summary":"Create User","description":"Invite a user to a customer organization.","operationId":"create_user_api_v1_partner_orgs__org_id__users_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Org Id"}},{"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/PartnerUserCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartnerUserResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/partner/orgs/{org_id}/users/{user_id}":{"get":{"tags":["Partner"],"summary":"Get User","description":"Get a user or pending invitation in a customer organization.","operationId":"get_user_api_v1_partner_orgs__org_id__users__user_id__get","security":[{"HTTPBearer":[]}],"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"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartnerUserResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Partner"],"summary":"Update User","description":"Update a user in a customer organization.","operationId":"update_user_api_v1_partner_orgs__org_id__users__user_id__patch","security":[{"HTTPBearer":[]}],"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"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartnerUserUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartnerUserResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Partner"],"summary":"Delete User","description":"Delete a user or revoke a pending invitation.","operationId":"delete_user_api_v1_partner_orgs__org_id__users__user_id__delete","security":[{"HTTPBearer":[]}],"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"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/partner/orgs/{org_id}/users/{user_id}/suspend":{"post":{"tags":["Partner"],"summary":"Suspend User","description":"Suspend a user in a customer organization.","operationId":"suspend_user_api_v1_partner_orgs__org_id__users__user_id__suspend_post","security":[{"HTTPBearer":[]}],"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"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartnerUserResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/partner/orgs/{org_id}/users/{user_id}/activate":{"post":{"tags":["Partner"],"summary":"Activate User","description":"Activate a suspended user in a customer organization.","operationId":"activate_user_api_v1_partner_orgs__org_id__users__user_id__activate_post","security":[{"HTTPBearer":[]}],"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"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartnerUserResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/partner/orgs/{org_id}/users/{user_id}/resend-invitation":{"post":{"tags":["Partner"],"summary":"Resend Invitation","description":"Resend invitation email for a pending user.","operationId":"resend_invitation_api_v1_partner_orgs__org_id__users__user_id__resend_invitation_post","security":[{"HTTPBearer":[]}],"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"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/partner/orgs/{org_id}/users/{user_id}/reset-password":{"post":{"tags":["Partner"],"summary":"Reset Password","description":"Trigger a password reset email for a user.","operationId":"reset_password_api_v1_partner_orgs__org_id__users__user_id__reset_password_post","security":[{"HTTPBearer":[]}],"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"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"},"title":"Response Reset Password Api V1 Partner Orgs  Org Id  Users  User Id  Reset Password Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/partner/orgs/{org_id}/teams":{"get":{"tags":["Partner"],"summary":"List Teams","description":"List teams in a customer organization.","operationId":"list_teams_api_v1_partner_orgs__org_id__teams_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Org Id"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CursorPage_PartnerTeamResponse_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Partner"],"summary":"Create Team","description":"Create a team in a customer organization.","operationId":"create_team_api_v1_partner_orgs__org_id__teams_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Org Id"}},{"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/PartnerTeamCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartnerTeamResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/partner/orgs/{org_id}/teams/{team_id}":{"get":{"tags":["Partner"],"summary":"Get Team","description":"Get a team in a customer organization.","operationId":"get_team_api_v1_partner_orgs__org_id__teams__team_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Org Id"}},{"name":"team_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Team Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartnerTeamResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Partner"],"summary":"Update Team","description":"Update a team in a customer organization.","operationId":"update_team_api_v1_partner_orgs__org_id__teams__team_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Org Id"}},{"name":"team_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Team Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartnerTeamUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartnerTeamResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Partner"],"summary":"Delete Team","description":"Delete a team in a customer organization.","operationId":"delete_team_api_v1_partner_orgs__org_id__teams__team_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Org Id"}},{"name":"team_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Team Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/partner/orgs/{org_id}/teams/{team_id}/members":{"get":{"tags":["Partner"],"summary":"List Members","description":"List members of a team.","operationId":"list_members_api_v1_partner_orgs__org_id__teams__team_id__members_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Org Id"}},{"name":"team_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Team Id"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CursorPage_PartnerTeamMemberResponse_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Partner"],"summary":"Add Member","description":"Add a user to a team.","operationId":"add_member_api_v1_partner_orgs__org_id__teams__team_id__members_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Org Id"}},{"name":"team_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Team Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartnerTeamMemberAdd"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartnerTeamMemberResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/partner/orgs/{org_id}/teams/{team_id}/members/{user_id}":{"delete":{"tags":["Partner"],"summary":"Remove Member","description":"Remove a user from a team.","operationId":"remove_member_api_v1_partner_orgs__org_id__teams__team_id__members__user_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Org Id"}},{"name":"team_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Team Id"}},{"name":"user_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"User Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/partner/plans":{"get":{"tags":["Partner"],"summary":"List Plans","description":"List plans published to this partner.","operationId":"list_plans_api_v1_partner_plans_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor from previous response","title":"Cursor"},"description":"Cursor from previous response"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CursorPage_PartnerPlanResponse_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/partner/orgs/{org_id}/subscription":{"get":{"tags":["Partner"],"summary":"Get Subscription","description":"Get the subscription for a customer organization.","operationId":"get_subscription_api_v1_partner_orgs__org_id__subscription_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Org Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartnerSubscriptionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/partner/orgs/{org_id}/subscription/change-plan":{"post":{"tags":["Partner"],"summary":"Change Plan","description":"Change the plan for a customer organization.","operationId":"change_plan_api_v1_partner_orgs__org_id__subscription_change_plan_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Org Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartnerChangePlanRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartnerSubscriptionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/partner/orgs/{org_id}/subscription/change-seats":{"post":{"tags":["Partner"],"summary":"Change Seats","description":"Change seat count for a customer organization.","operationId":"change_seats_api_v1_partner_orgs__org_id__subscription_change_seats_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Org Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartnerChangeSeatsRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartnerSubscriptionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"AddressBook":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"url":{"type":"string","title":"Url"},"writable":{"type":"boolean","title":"Writable"},"source":{"type":"string","title":"Source"}},"type":"object","required":["id","name","url","writable","source"],"title":"AddressBook","description":"Address book (contact group) response."},"ApiTokenCreate":{"properties":{"name":{"type":"string","maxLength":100,"minLength":1,"title":"Name"},"scopes":{"items":{"type":"string"},"type":"array","title":"Scopes"},"expires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expires At"},"ip_allowlist":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Ip Allowlist"},"user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"User Id"}},"type":"object","required":["name"],"title":"ApiTokenCreate"},"ApiTokenCreatedResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"service_principal_id":{"type":"string","format":"uuid","title":"Service Principal Id"},"name":{"type":"string","title":"Name"},"token_prefix":{"type":"string","title":"Token Prefix"},"scopes":{"items":{"type":"string"},"type":"array","title":"Scopes"},"ip_allowlist":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Ip Allowlist"},"user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"User Id"},"last_used_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Used At"},"expires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expires At"},"revoked_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Revoked At"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"secret":{"type":"string","title":"Secret"}},"type":"object","required":["id","service_principal_id","name","token_prefix","scopes","ip_allowlist","user_id","last_used_at","expires_at","revoked_at","created_at","secret"],"title":"ApiTokenCreatedResponse","description":"Returned once at token creation — includes the raw secret."},"ApiTokenResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"service_principal_id":{"type":"string","format":"uuid","title":"Service Principal Id"},"name":{"type":"string","title":"Name"},"token_prefix":{"type":"string","title":"Token Prefix"},"scopes":{"items":{"type":"string"},"type":"array","title":"Scopes"},"ip_allowlist":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Ip Allowlist"},"user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"User Id"},"last_used_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Used At"},"expires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expires At"},"revoked_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Revoked At"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","service_principal_id","name","token_prefix","scopes","ip_allowlist","user_id","last_used_at","expires_at","revoked_at","created_at"],"title":"ApiTokenResponse"},"AttendeeInfo":{"properties":{"email":{"type":"string","title":"Email"},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Display Name"},"status":{"type":"string","title":"Status","default":"needs_action"},"role":{"type":"string","title":"Role","default":"required"},"is_organizer":{"type":"boolean","title":"Is Organizer","default":false}},"type":"object","required":["email"],"title":"AttendeeInfo","description":"Attendee information with RSVP status."},"BillingCycle":{"type":"string","enum":["monthly","annual","lifetime"],"title":"BillingCycle","description":"Billing cycle enum."},"Body_import_calendar_endpoint_api_v1_calendar_calendars__cal_id__import_post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"}},"type":"object","required":["file"],"title":"Body_import_calendar_endpoint_api_v1_calendar_calendars__cal_id__import_post"},"BusySlot":{"properties":{"start":{"type":"string","title":"Start"},"end":{"type":"string","title":"End"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"}},"type":"object","required":["start","end"],"title":"BusySlot","description":"Represents a busy time slot for an attendee."},"CalendarInfo":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"color":{"type":"string","title":"Color"},"writable":{"type":"boolean","title":"Writable"},"source":{"type":"string","title":"Source"},"is_published":{"type":"boolean","title":"Is Published","default":false},"publish_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Publish Url"}},"type":"object","required":["id","name","color","writable","source"],"title":"CalendarInfo","description":"Calendar information."},"ContactCreate":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"first_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Name"},"last_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Name"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone"},"company":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"address":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Address"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"birthday":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Birthday"},"website":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Website"},"nickname":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nickname"},"middle_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Middle Name"},"department":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Department"},"secondary_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Secondary Email"},"secondary_phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Secondary Phone"}},"type":"object","title":"ContactCreate","description":"Contact creation request."},"ContactDetail":{"properties":{"id":{"type":"string","title":"Id"},"book_id":{"type":"string","title":"Book Id"},"name":{"type":"string","title":"Name"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone"},"company":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company"},"has_avatar":{"type":"boolean","title":"Has Avatar","default":false},"is_favorite":{"type":"boolean","title":"Is Favorite","default":false},"source":{"type":"string","title":"Source"},"user_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Id"},"updated_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Updated At"},"first_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Name"},"last_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Name"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"address":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Address"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"vcard_raw":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vcard Raw"},"birthday":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Birthday"},"website":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Website"},"nickname":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nickname"},"middle_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Middle Name"},"department":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Department"},"secondary_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Secondary Email"},"secondary_phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Secondary Phone"}},"type":"object","required":["id","book_id","name","source"],"title":"ContactDetail","description":"Full contact details."},"ContactSummary":{"properties":{"id":{"type":"string","title":"Id"},"book_id":{"type":"string","title":"Book Id"},"name":{"type":"string","title":"Name"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone"},"company":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company"},"has_avatar":{"type":"boolean","title":"Has Avatar","default":false},"is_favorite":{"type":"boolean","title":"Is Favorite","default":false},"source":{"type":"string","title":"Source"},"user_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Id"},"updated_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Updated At"}},"type":"object","required":["id","book_id","name","source"],"title":"ContactSummary","description":"Contact summary for list views."},"ContactUpdate":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"first_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Name"},"last_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Name"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone"},"company":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"address":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Address"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"birthday":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Birthday"},"website":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Website"},"nickname":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nickname"},"middle_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Middle Name"},"department":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Department"},"secondary_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Secondary Email"},"secondary_phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Secondary Phone"}},"type":"object","title":"ContactUpdate","description":"Contact update request."},"CreateDocumentRequest":{"properties":{"type":{"type":"string","title":"Type"},"name":{"type":"string","title":"Name"},"parent_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parent Id"}},"type":"object","required":["type","name"],"title":"CreateDocumentRequest","description":"Request to create a new blank document."},"CursorPage_ApiTokenResponse_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/ApiTokenResponse"},"type":"array","title":"Items"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor","description":"Cursor for the next page. Absent when no further pages exist."},"has_more":{"type":"boolean","title":"Has More","description":"True when additional pages are available beyond this response."}},"type":"object","required":["items","has_more"],"title":"CursorPage[ApiTokenResponse]"},"CursorPage_PartnerOrgResponse_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/PartnerOrgResponse"},"type":"array","title":"Items"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor","description":"Cursor for the next page. Absent when no further pages exist."},"has_more":{"type":"boolean","title":"Has More","description":"True when additional pages are available beyond this response."}},"type":"object","required":["items","has_more"],"title":"CursorPage[PartnerOrgResponse]"},"CursorPage_PartnerPlanResponse_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/PartnerPlanResponse"},"type":"array","title":"Items"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor","description":"Cursor for the next page. Absent when no further pages exist."},"has_more":{"type":"boolean","title":"Has More","description":"True when additional pages are available beyond this response."}},"type":"object","required":["items","has_more"],"title":"CursorPage[PartnerPlanResponse]"},"CursorPage_PartnerTeamMemberResponse_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/PartnerTeamMemberResponse"},"type":"array","title":"Items"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor","description":"Cursor for the next page. Absent when no further pages exist."},"has_more":{"type":"boolean","title":"Has More","description":"True when additional pages are available beyond this response."}},"type":"object","required":["items","has_more"],"title":"CursorPage[PartnerTeamMemberResponse]"},"CursorPage_PartnerTeamResponse_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/PartnerTeamResponse"},"type":"array","title":"Items"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor","description":"Cursor for the next page. Absent when no further pages exist."},"has_more":{"type":"boolean","title":"Has More","description":"True when additional pages are available beyond this response."}},"type":"object","required":["items","has_more"],"title":"CursorPage[PartnerTeamResponse]"},"CursorPage_PartnerUserResponse_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/PartnerUserResponse"},"type":"array","title":"Items"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor","description":"Cursor for the next page. Absent when no further pages exist."},"has_more":{"type":"boolean","title":"Has More","description":"True when additional pages are available beyond this response."}},"type":"object","required":["items","has_more"],"title":"CursorPage[PartnerUserResponse]"},"CursorPage_ServicePrincipalResponse_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/ServicePrincipalResponse"},"type":"array","title":"Items"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor","description":"Cursor for the next page. Absent when no further pages exist."},"has_more":{"type":"boolean","title":"Has More","description":"True when additional pages are available beyond this response."}},"type":"object","required":["items","has_more"],"title":"CursorPage[ServicePrincipalResponse]"},"CursorPage_WebhookDeliveryResponse_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/WebhookDeliveryResponse"},"type":"array","title":"Items"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor","description":"Cursor for the next page. Absent when no further pages exist."},"has_more":{"type":"boolean","title":"Has More","description":"True when additional pages are available beyond this response."}},"type":"object","required":["items","has_more"],"title":"CursorPage[WebhookDeliveryResponse]"},"CursorPage_WebhookSubscriptionResponse_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/WebhookSubscriptionResponse"},"type":"array","title":"Items"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor","description":"Cursor for the next page. Absent when no further pages exist."},"has_more":{"type":"boolean","title":"Has More","description":"True when additional pages are available beyond this response."}},"type":"object","required":["items","has_more"],"title":"CursorPage[WebhookSubscriptionResponse]"},"DirectoryEntry":{"properties":{"name":{"type":"string","title":"Name"},"email":{"type":"string","title":"Email"},"user_id":{"type":"string","title":"User Id"},"source":{"type":"string","title":"Source","default":"directory"}},"type":"object","required":["name","email","user_id"],"title":"DirectoryEntry","description":"Organization directory entry."},"EditSessionResponse":{"properties":{"editor_url":{"type":"string","title":"Editor Url"},"access_token":{"type":"string","title":"Access Token"},"access_token_ttl":{"type":"integer","title":"Access Token Ttl"},"file":{"$ref":"#/components/schemas/FileItem"},"ui_defaults":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ui Defaults"}},"type":"object","required":["editor_url","access_token","access_token_ttl","file"],"title":"EditSessionResponse","description":"Response with editor session data for Collabora."},"EventCreate":{"properties":{"title":{"type":"string","title":"Title"},"start":{"type":"string","title":"Start"},"end":{"type":"string","title":"End"},"all_day":{"type":"boolean","title":"All Day","default":false},"location":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Location"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"attendees":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Attendees"},"add_meet":{"type":"boolean","title":"Add Meet","default":false},"reminders":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Reminders"},"recurrence_rule":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Recurrence Rule"},"category_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category Id"},"color":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Color"},"timezone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Timezone"},"meeting_settings":{"anyOf":[{"$ref":"#/components/schemas/MeetingSettings"},{"type":"null"}]}},"type":"object","required":["title","start","end"],"title":"EventCreate","description":"Event creation schema."},"EventDetail":{"properties":{"uid":{"type":"string","title":"Uid"},"calendar_id":{"type":"string","title":"Calendar Id"},"title":{"type":"string","title":"Title"},"start":{"type":"string","title":"Start"},"end":{"type":"string","title":"End"},"all_day":{"type":"boolean","title":"All Day"},"location":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Location"},"has_meet":{"type":"boolean","title":"Has Meet","default":false},"meeting_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Meeting Code"},"category_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category Id"},"category_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category Name"},"category_color":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category Color"},"color":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Color"},"is_recurring":{"type":"boolean","title":"Is Recurring","default":false},"recurrence_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Recurrence Id"},"master_event_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Master Event Id"},"meeting_settings":{"anyOf":[{"$ref":"#/components/schemas/MeetingSettings"},{"type":"null"}]},"rsvp_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Rsvp Status"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"attendees":{"anyOf":[{"items":{"$ref":"#/components/schemas/AttendeeInfo"},"type":"array"},{"type":"null"}],"title":"Attendees"},"recurrence":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Recurrence"},"ical_raw":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ical Raw"},"reminders":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Reminders"},"organizer":{"anyOf":[{"$ref":"#/components/schemas/AttendeeInfo"},{"type":"null"}]}},"type":"object","required":["uid","calendar_id","title","start","end","all_day"],"title":"EventDetail","description":"Event detail with full information."},"EventSummary":{"properties":{"uid":{"type":"string","title":"Uid"},"calendar_id":{"type":"string","title":"Calendar Id"},"title":{"type":"string","title":"Title"},"start":{"type":"string","title":"Start"},"end":{"type":"string","title":"End"},"all_day":{"type":"boolean","title":"All Day"},"location":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Location"},"has_meet":{"type":"boolean","title":"Has Meet","default":false},"meeting_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Meeting Code"},"category_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category Id"},"category_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category Name"},"category_color":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category Color"},"color":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Color"},"is_recurring":{"type":"boolean","title":"Is Recurring","default":false},"recurrence_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Recurrence Id"},"master_event_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Master Event Id"},"meeting_settings":{"anyOf":[{"$ref":"#/components/schemas/MeetingSettings"},{"type":"null"}]},"rsvp_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Rsvp Status"}},"type":"object","required":["uid","calendar_id","title","start","end","all_day"],"title":"EventSummary","description":"Event summary for list views."},"EventUpdate":{"properties":{"title":{"type":"string","title":"Title"},"start":{"type":"string","title":"Start"},"end":{"type":"string","title":"End"},"all_day":{"type":"boolean","title":"All Day","default":false},"location":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Location"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"attendees":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Attendees"},"add_meet":{"type":"boolean","title":"Add Meet","default":false},"reminders":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Reminders"},"recurrence_rule":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Recurrence Rule"},"category_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category Id"},"color":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Color"},"timezone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Timezone"},"meeting_settings":{"anyOf":[{"$ref":"#/components/schemas/MeetingSettings"},{"type":"null"}]},"edit_scope":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Edit Scope"},"notify_attendees":{"type":"boolean","title":"Notify Attendees","default":true},"update_message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Update Message"}},"type":"object","required":["title","start","end"],"title":"EventUpdate","description":"Event update schema."},"FacetCounts":{"properties":{"mime_type":{"additionalProperties":{"type":"integer"},"type":"object","title":"Mime Type"},"type":{"additionalProperties":{"type":"integer"},"type":"object","title":"Type"},"owner_name":{"additionalProperties":{"type":"integer"},"type":"object","title":"Owner Name"}},"type":"object","title":"FacetCounts","description":"Facet distribution for search refinement.\n\nEach key is a facet name, value is a dict of {facet_value: count}.\nExample: {\"mime_type\": {\"application/pdf\": 12, \"image/png\": 5}}"},"FileItem":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"path":{"type":"string","title":"Path"},"type":{"type":"string","title":"Type"},"mime_type":{"type":"string","title":"Mime Type"},"size":{"type":"integer","title":"Size"},"parent_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parent Id"},"is_favorited":{"type":"boolean","title":"Is Favorited"},"is_trashed":{"type":"boolean","title":"Is Trashed"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"},"owner_name":{"type":"string","title":"Owner Name"},"modified":{"type":"string","title":"Modified"},"created":{"type":"string","title":"Created"},"thumbnail_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Thumbnail Url"}},"type":"object","required":["id","name","path","type","mime_type","size","parent_id","is_favorited","is_trashed","owner_name","modified","created"],"title":"FileItem","description":"File or folder item summary."},"FileMetadataUpdate":{"properties":{"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"}},"type":"object","required":["metadata"],"title":"FileMetadataUpdate","description":"Request to update file metadata."},"FileMove":{"properties":{"target_folder_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Target Folder Id"}},"type":"object","required":["target_folder_id"],"title":"FileMove","description":"Request to move a file or folder."},"FileRename":{"properties":{"name":{"type":"string","title":"Name"}},"type":"object","required":["name"],"title":"FileRename","description":"Request to rename a file or folder."},"FileVersionResponse":{"properties":{"id":{"type":"string","title":"Id"},"version_number":{"type":"integer","title":"Version Number"},"size":{"type":"integer","title":"Size"},"mime_type":{"type":"string","title":"Mime Type"},"created_by_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Created By Name"},"comment":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Comment"},"created_at":{"type":"string","title":"Created At"}},"type":"object","required":["id","version_number","size","mime_type","created_at"],"title":"FileVersionResponse","description":"File version snapshot."},"FolderContents":{"properties":{"folder":{"anyOf":[{"$ref":"#/components/schemas/FileItem"},{"type":"null"}]},"items":{"items":{"$ref":"#/components/schemas/FileItem"},"type":"array","title":"Items"},"breadcrumbs":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Breadcrumbs"},"total":{"type":"integer","title":"Total","default":0},"page":{"type":"integer","title":"Page","default":1},"per_page":{"type":"integer","title":"Per Page","default":50},"total_pages":{"type":"integer","title":"Total Pages","default":1}},"type":"object","required":["folder","items","breadcrumbs"],"title":"FolderContents","description":"Contents of a folder with breadcrumbs and pagination."},"FolderCreate":{"properties":{"name":{"type":"string","title":"Name"},"parent_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parent Id"}},"type":"object","required":["name"],"title":"FolderCreate","description":"Request to create a folder."},"FreeBusyRequest":{"properties":{"attendee_emails":{"items":{"type":"string"},"type":"array","title":"Attendee Emails"},"start":{"type":"string","title":"Start"},"end":{"type":"string","title":"End"}},"type":"object","required":["attendee_emails","start","end"],"title":"FreeBusyRequest","description":"Request for free/busy information."},"FreeBusyResponse":{"properties":{"busy_slots":{"additionalProperties":{"items":{"$ref":"#/components/schemas/BusySlot"},"type":"array"},"type":"object","title":"Busy Slots"}},"type":"object","required":["busy_slots"],"title":"FreeBusyResponse","description":"Free/busy information for attendees."},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"LargestFile":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"size":{"type":"integer","title":"Size"},"mime_type":{"type":"string","title":"Mime Type"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","name","size","mime_type","updated_at"],"title":"LargestFile","description":"A large file in the organization's storage."},"MailDomainStatus":{"type":"string","enum":["pending","verifying","verified","active","suspended"],"title":"MailDomainStatus","description":"Domain verification and activation status."},"MeetingSettings":{"properties":{"auto_record":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Auto Record"},"auto_transcribe":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Auto Transcribe"}},"type":"object","title":"MeetingSettings","description":"Per-meeting settings that override org defaults."},"MoveContactsRequest":{"properties":{"contact_ids":{"items":{"type":"string"},"type":"array","title":"Contact Ids"},"target_book_id":{"type":"string","title":"Target Book Id"}},"type":"object","required":["contact_ids","target_book_id"],"title":"MoveContactsRequest","description":"Request to move contacts from one address book to another."},"MoveContactsResponse":{"properties":{"moved":{"type":"integer","title":"Moved"},"skipped":{"items":{"$ref":"#/components/schemas/MoveSkipped"},"type":"array","title":"Skipped"}},"type":"object","required":["moved","skipped"],"title":"MoveContactsResponse","description":"Result of a bulk move operation."},"MoveSkipped":{"properties":{"contact_id":{"type":"string","title":"Contact Id"},"reason":{"type":"string","title":"Reason"}},"type":"object","required":["contact_id","reason"],"title":"MoveSkipped","description":"A contact that was not moved, with a reason."},"OrganizationStatus":{"type":"string","enum":["active","suspended","inactive"],"title":"OrganizationStatus","description":"Organization operational status."},"PageCreate":{"properties":{"title":{"type":"string","title":"Title"},"content":{"type":"string","title":"Content","default":""},"parent_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parent Id"},"position":{"type":"integer","title":"Position","default":0},"page_type":{"type":"string","title":"Page Type","default":"page"}},"type":"object","required":["title"],"title":"PageCreate","description":"Request to create a page."},"PageResponse":{"properties":{"id":{"type":"string","title":"Id"},"site_id":{"type":"string","title":"Site Id"},"parent_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parent Id"},"title":{"type":"string","title":"Title"},"slug":{"type":"string","title":"Slug"},"content":{"type":"string","title":"Content"},"page_type":{"type":"string","title":"Page Type"},"position":{"type":"integer","title":"Position"},"is_published":{"type":"boolean","title":"Is Published"},"created_by_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Created By Name"},"updated_by_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Updated By Name"},"created_at":{"type":"string","title":"Created At"},"updated_at":{"type":"string","title":"Updated At"}},"type":"object","required":["id","site_id","title","slug","content","page_type","position","is_published","created_at","updated_at"],"title":"PageResponse","description":"Page detail response."},"PageTreeItem":{"properties":{"id":{"type":"string","title":"Id"},"title":{"type":"string","title":"Title"},"slug":{"type":"string","title":"Slug"},"parent_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parent Id"},"page_type":{"type":"string","title":"Page Type"},"position":{"type":"integer","title":"Position"},"is_published":{"type":"boolean","title":"Is Published"},"children":{"items":{"$ref":"#/components/schemas/PageTreeItem"},"type":"array","title":"Children","default":[]}},"type":"object","required":["id","title","slug","page_type","position","is_published"],"title":"PageTreeItem","description":"Page summary for sidebar tree navigation."},"PageUpdate":{"properties":{"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content"},"parent_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parent Id"},"position":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Position"},"is_published":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Published"},"page_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Page Type"}},"type":"object","title":"PageUpdate","description":"Request to update a page."},"Paginated_FileItem_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/FileItem"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"per_page":{"type":"integer","title":"Per Page"},"total_pages":{"type":"integer","title":"Total Pages"}},"type":"object","required":["items","total","page","per_page","total_pages"],"title":"Paginated[FileItem]"},"PartnerChangePlanRequest":{"properties":{"plan_slug":{"type":"string","maxLength":50,"minLength":2,"title":"Plan Slug"},"billing_cycle":{"anyOf":[{"$ref":"#/components/schemas/BillingCycle"},{"type":"null"}]}},"type":"object","required":["plan_slug"],"title":"PartnerChangePlanRequest"},"PartnerChangeSeatsRequest":{"properties":{"seat_count":{"type":"integer","minimum":1.0,"title":"Seat Count"}},"type":"object","required":["seat_count"],"title":"PartnerChangeSeatsRequest"},"PartnerOrgCreate":{"properties":{"name":{"type":"string","maxLength":255,"minLength":2,"title":"Name"},"slug":{"type":"string","maxLength":100,"minLength":2,"pattern":"^[a-z0-9-]+$","title":"Slug"},"billing_email":{"type":"string","format":"email","title":"Billing Email"},"billing_name":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Billing Name"},"billing_country":{"anyOf":[{"type":"string","maxLength":2},{"type":"null"}],"title":"Billing Country"},"plan_slug":{"type":"string","maxLength":50,"minLength":2,"title":"Plan Slug"},"seat_count":{"type":"integer","minimum":1.0,"title":"Seat Count","default":1},"billing_cycle":{"$ref":"#/components/schemas/BillingCycle","default":"monthly"},"modules":{"items":{"type":"string"},"type":"array","title":"Modules"},"admin_email":{"type":"string","format":"email","title":"Admin Email"},"admin_first_name":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Admin First Name"},"admin_last_name":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Admin Last Name"},"logo_url":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Logo Url"},"mail_domain":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Mail Domain"},"send_admin_invite":{"type":"boolean","title":"Send Admin Invite","default":true}},"type":"object","required":["name","slug","billing_email","plan_slug","admin_email"],"title":"PartnerOrgCreate"},"PartnerOrgResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"slug":{"type":"string","title":"Slug"},"status":{"$ref":"#/components/schemas/OrganizationStatus"},"billing_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Billing Email"},"billing_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Billing Name"},"billing_country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Billing Country"},"mail_domain":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mail Domain"},"mail_domain_status":{"anyOf":[{"$ref":"#/components/schemas/MailDomainStatus"},{"type":"null"}]},"member_count":{"type":"integer","title":"Member Count","default":0},"pending_invitations":{"type":"integer","title":"Pending Invitations","default":0},"subscription":{"anyOf":[{"$ref":"#/components/schemas/PartnerSubscriptionSummary"},{"type":"null"}]},"provisioned_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Provisioned At"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","name","slug","status","created_at","updated_at"],"title":"PartnerOrgResponse"},"PartnerOrgUpdate":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":255,"minLength":2},{"type":"null"}],"title":"Name"},"billing_email":{"anyOf":[{"type":"string","format":"email"},{"type":"null"}],"title":"Billing Email"},"billing_name":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Billing Name"},"billing_country":{"anyOf":[{"type":"string","maxLength":2},{"type":"null"}],"title":"Billing Country"},"logo_url":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Logo Url"},"mail_domain":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Mail Domain"}},"type":"object","title":"PartnerOrgUpdate"},"PartnerPlanModuleResponse":{"properties":{"slug":{"type":"string","title":"Slug"},"name":{"type":"string","title":"Name"},"included":{"type":"boolean","title":"Included"}},"type":"object","required":["slug","name","included"],"title":"PartnerPlanModuleResponse"},"PartnerPlanResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"slug":{"type":"string","title":"Slug"},"monthly_price":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Monthly Price"},"annual_price":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Annual Price"},"seat_price_monthly":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Seat Price Monthly"},"seat_price_annual":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Seat Price Annual"},"min_seats":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Min Seats"},"max_seats":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Seats"},"storage_per_seat_mb":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Storage Per Seat Mb"},"category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"},"modules":{"items":{"$ref":"#/components/schemas/PartnerPlanModuleResponse"},"type":"array","title":"Modules"},"reseller_price_override":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Reseller Price Override"},"published_max_seats":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Published Max Seats"}},"type":"object","required":["id","name","slug"],"title":"PartnerPlanResponse"},"PartnerSubscriptionResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"organization_id":{"type":"string","format":"uuid","title":"Organization Id"},"plan_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Plan Id"},"plan_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Plan Name"},"plan_slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Plan Slug"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"billing_cycle":{"anyOf":[{"$ref":"#/components/schemas/BillingCycle"},{"type":"null"}]},"seat_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Seat Count"},"seat_unit_price":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Seat Unit Price"},"current_period_start":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Current Period Start"},"current_period_end":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Current Period End"},"cancel_at_period_end":{"type":"boolean","title":"Cancel At Period End","default":false},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","organization_id","created_at"],"title":"PartnerSubscriptionResponse"},"PartnerSubscriptionSummary":{"properties":{"id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Id"},"plan_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Plan Id"},"plan_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Plan Name"},"plan_slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Plan Slug"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"billing_cycle":{"anyOf":[{"$ref":"#/components/schemas/BillingCycle"},{"type":"null"}]},"seat_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Seat Count"},"seat_unit_price":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Seat Unit Price"}},"type":"object","title":"PartnerSubscriptionSummary"},"PartnerTeamCreate":{"properties":{"name":{"type":"string","maxLength":255,"minLength":1,"title":"Name"},"slug":{"type":"string","maxLength":255,"minLength":1,"pattern":"^[a-z0-9-]+$","title":"Slug"},"description":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Description"}},"type":"object","required":["name","slug"],"title":"PartnerTeamCreate"},"PartnerTeamMemberAdd":{"properties":{"user_id":{"type":"string","format":"uuid","title":"User Id"},"role":{"type":"string","pattern":"^(member|owner)$","title":"Role","default":"member"}},"type":"object","required":["user_id"],"title":"PartnerTeamMemberAdd"},"PartnerTeamMemberResponse":{"properties":{"user_id":{"type":"string","format":"uuid","title":"User Id"},"email":{"type":"string","title":"Email"},"first_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Name"},"last_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Name"},"role":{"type":"string","title":"Role"},"joined_at":{"type":"string","format":"date-time","title":"Joined At"}},"type":"object","required":["user_id","email","role","joined_at"],"title":"PartnerTeamMemberResponse"},"PartnerTeamResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"slug":{"type":"string","title":"Slug"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"member_count":{"type":"integer","title":"Member Count","default":0},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","name","slug","created_at","updated_at"],"title":"PartnerTeamResponse"},"PartnerTeamUpdate":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":255,"minLength":1},{"type":"null"}],"title":"Name"},"description":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Description"}},"type":"object","title":"PartnerTeamUpdate"},"PartnerUserCreate":{"properties":{"email":{"type":"string","format":"email","title":"Email"},"first_name":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"First Name"},"last_name":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Last Name"},"role_slugs":{"items":{"type":"string"},"type":"array","title":"Role Slugs","default":["member"]},"send_invitation":{"type":"boolean","title":"Send Invitation","default":true}},"type":"object","required":["email"],"title":"PartnerUserCreate"},"PartnerUserResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"email":{"type":"string","title":"Email"},"first_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Name"},"last_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Name"},"is_active":{"type":"boolean","title":"Is Active"},"is_verified":{"type":"boolean","title":"Is Verified"},"role_slugs":{"items":{"type":"string"},"type":"array","title":"Role Slugs","default":[]},"is_invitation":{"type":"boolean","title":"Is Invitation","default":false},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","email","is_active","is_verified","created_at","updated_at"],"title":"PartnerUserResponse"},"PartnerUserUpdate":{"properties":{"first_name":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"First Name"},"last_name":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Last Name"},"is_active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active"},"role_slugs":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Role Slugs"}},"type":"object","title":"PartnerUserUpdate"},"SearchHit":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"path":{"type":"string","title":"Path"},"type":{"type":"string","title":"Type"},"mime_type":{"type":"string","title":"Mime Type"},"size":{"type":"integer","title":"Size"},"parent_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parent Id"},"is_favorited":{"type":"boolean","title":"Is Favorited"},"is_trashed":{"type":"boolean","title":"Is Trashed"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"},"owner_name":{"type":"string","title":"Owner Name"},"modified":{"type":"string","title":"Modified"},"created":{"type":"string","title":"Created"},"thumbnail_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Thumbnail Url"},"_ranking_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ranking Score"},"_matches_position":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Matches Position"},"_formatted":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Formatted"}},"type":"object","required":["id","name","path","type","mime_type","size","parent_id","is_favorited","is_trashed","owner_name","modified","created"],"title":"SearchHit","description":"A single search result hit.\n\nExtends FileItem with search-specific metadata.\nWhen using Postgres ILIKE, ranking fields are populated with defaults.\nWhen using Meilisearch, these come directly from the engine."},"ServicePrincipalCreate":{"properties":{"name":{"type":"string","maxLength":100,"minLength":1,"title":"Name"},"description":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Description"},"scopes":{"items":{"type":"string"},"type":"array","title":"Scopes"},"oauth_client_id":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Oauth Client Id"}},"type":"object","required":["name"],"title":"ServicePrincipalCreate"},"ServicePrincipalResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"organization_id":{"type":"string","format":"uuid","title":"Organization Id"},"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"scopes":{"items":{"type":"string"},"type":"array","title":"Scopes"},"is_active":{"type":"boolean","title":"Is Active"},"oauth_client_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Oauth Client Id"},"token_count":{"type":"integer","title":"Token Count","default":0},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","organization_id","name","description","scopes","is_active","oauth_client_id","created_at","updated_at"],"title":"ServicePrincipalResponse"},"ServicePrincipalUpdate":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":100,"minLength":1},{"type":"null"}],"title":"Name"},"description":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Description"},"scopes":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Scopes"},"is_active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active"},"oauth_client_id":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Oauth Client Id"}},"type":"object","title":"ServicePrincipalUpdate"},"ShareCreate":{"properties":{"user_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Email"},"contact_group_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contact Group Id"},"shared_with_org":{"type":"boolean","title":"Shared With Org","default":false},"create_link":{"type":"boolean","title":"Create Link","default":false},"permission":{"type":"string","title":"Permission","default":"view"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Expires At"}},"type":"object","title":"ShareCreate","description":"Request to create a file share."},"ShareInfo":{"properties":{"id":{"type":"string","title":"Id"},"shared_with":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Shared With"},"permission":{"type":"string","title":"Permission"},"share_link":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Share Link"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Expires At"}},"type":"object","required":["id","shared_with","permission","share_link","expires_at"],"title":"ShareInfo","description":"File share information."},"SharedLinkResponse":{"properties":{"file":{"$ref":"#/components/schemas/FileItem"},"permission":{"type":"string","title":"Permission"}},"type":"object","required":["file","permission"],"title":"SharedLinkResponse","description":"Response for public share link access — wraps file with permission level."},"SiteResponse":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"slug":{"type":"string","title":"Slug"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"icon":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Icon"},"is_public":{"type":"boolean","title":"Is Public"},"root_folder_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Root Folder Id"},"chat_channel_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Chat Channel Id"},"calendar_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Calendar Id"},"member_count":{"type":"integer","title":"Member Count","default":0},"created_by_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Created By Name"},"created_at":{"type":"string","title":"Created At"},"updated_at":{"type":"string","title":"Updated At"}},"type":"object","required":["id","name","slug","is_public","created_at","updated_at"],"title":"SiteResponse","description":"Site detail response."},"SiteSearchResponse":{"properties":{"results":{"items":{"$ref":"#/components/schemas/SiteSearchResult"},"type":"array","title":"Results"},"total":{"type":"integer","title":"Total"},"query":{"type":"string","title":"Query"}},"type":"object","required":["results","total","query"],"title":"SiteSearchResponse","description":"Search response."},"SiteSearchResult":{"properties":{"id":{"type":"string","title":"Id"},"type":{"type":"string","title":"Type"},"title":{"type":"string","title":"Title"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"url":{"type":"string","title":"Url"},"site_id":{"type":"string","title":"Site Id"},"site_name":{"type":"string","title":"Site Name"},"icon":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Icon"},"timestamp":{"type":"string","title":"Timestamp"},"metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Metadata"}},"type":"object","required":["id","type","title","url","site_id","site_name","timestamp"],"title":"SiteSearchResult","description":"A single search result (site or page)."},"SiteUpdate":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"icon":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Icon"},"is_public":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Public"}},"type":"object","title":"SiteUpdate","description":"Request to update a site."},"SortOrder":{"type":"string","enum":["asc","desc"],"title":"SortOrder","description":"Sort order options."},"StorageBreakdown":{"properties":{"used_bytes":{"type":"integer","title":"Used Bytes"},"mail_used_bytes":{"type":"integer","title":"Mail Used Bytes","default":0},"limit_bytes":{"type":"integer","title":"Limit Bytes"},"percentage":{"type":"number","title":"Percentage"},"categories":{"items":{"$ref":"#/components/schemas/StorageCategoryBreakdown"},"type":"array","title":"Categories"},"largest_files":{"items":{"$ref":"#/components/schemas/LargestFile"},"type":"array","title":"Largest Files"}},"type":"object","required":["used_bytes","limit_bytes","percentage","categories","largest_files"],"title":"StorageBreakdown","description":"Detailed storage breakdown with categories and largest files."},"StorageCategoryBreakdown":{"properties":{"category":{"type":"string","title":"Category"},"used_bytes":{"type":"integer","title":"Used Bytes"},"file_count":{"type":"integer","title":"File Count"}},"type":"object","required":["category","used_bytes","file_count"],"title":"StorageCategoryBreakdown","description":"Storage usage for a single file category."},"StorageUsage":{"properties":{"used_bytes":{"type":"integer","title":"Used Bytes"},"mail_used_bytes":{"type":"integer","title":"Mail Used Bytes","default":0},"limit_bytes":{"type":"integer","title":"Limit Bytes"},"percentage":{"type":"number","title":"Percentage"}},"type":"object","required":["used_bytes","limit_bytes","percentage"],"title":"StorageUsage","description":"Organization storage usage information."},"SyncCommitItem":{"properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Id"},"name":{"type":"string","maxLength":500,"title":"Name"},"parent_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parent Id"},"is_folder":{"type":"boolean","title":"Is Folder","default":false},"size":{"type":"integer","minimum":0.0,"title":"Size","default":0},"mime_type":{"type":"string","maxLength":255,"title":"Mime Type","default":"application/octet-stream"},"content_hash":{"anyOf":[{"type":"string","maxLength":128},{"type":"null"}],"title":"Content Hash"},"action":{"type":"string","enum":["create","update","delete","move","rename"],"title":"Action"},"deleted":{"type":"boolean","title":"Deleted","default":false}},"type":"object","required":["name","action"],"title":"SyncCommitItem","description":"A single local change reported by the client."},"SyncCommitRequest":{"properties":{"device_id":{"type":"string","maxLength":64,"minLength":1,"title":"Device Id"},"items":{"items":{"$ref":"#/components/schemas/SyncCommitItem"},"type":"array","maxItems":500,"title":"Items"}},"type":"object","required":["device_id","items"],"title":"SyncCommitRequest","description":"Request body for POST /drive/sync/commit."},"SyncCommitResponse":{"properties":{"results":{"items":{"$ref":"#/components/schemas/SyncCommitResult"},"type":"array","title":"Results"},"cursor":{"type":"string","title":"Cursor"}},"type":"object","required":["results","cursor"],"title":"SyncCommitResponse","description":"Response from POST /drive/sync/commit."},"SyncCommitResult":{"properties":{"id":{"type":"string","title":"Id"},"status":{"type":"string","title":"Status"},"server_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Server Id"},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"}},"type":"object","required":["id","status"],"title":"SyncCommitResult","description":"Result of a single committed item."},"SyncConflictResolve":{"properties":{"file_id":{"type":"string","title":"File Id"},"resolution":{"type":"string","enum":["keep_local","keep_server","keep_both"],"title":"Resolution"},"device_id":{"type":"string","maxLength":64,"minLength":1,"title":"Device Id"}},"type":"object","required":["file_id","resolution","device_id"],"title":"SyncConflictResolve","description":"Request body for POST /drive/sync/resolve."},"SyncDeltaItem":{"properties":{"id":{"type":"string","title":"Id"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"parent_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parent Id"},"is_folder":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Folder"},"size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Size"},"mime_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mime Type"},"s3_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"S3 Key"},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Version"},"updated_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Updated At"},"deleted":{"type":"boolean","title":"Deleted","default":false},"content_hash":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content Hash"}},"type":"object","required":["id"],"title":"SyncDeltaItem","description":"A single changed file in the delta response."},"SyncDeltaResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/SyncDeltaItem"},"type":"array","title":"Items"},"cursor":{"type":"string","title":"Cursor"},"has_more":{"type":"boolean","title":"Has More","default":false},"reset":{"type":"boolean","title":"Reset","default":false}},"type":"object","required":["items","cursor"],"title":"SyncDeltaResponse","description":"Response from GET /drive/sync/delta."},"SyncDeviceInfo":{"properties":{"device_id":{"type":"string","title":"Device Id"},"last_sync_at":{"type":"string","title":"Last Sync At"},"created_at":{"type":"string","title":"Created At"},"cursor_value":{"type":"integer","title":"Cursor Value"}},"type":"object","required":["device_id","last_sync_at","created_at","cursor_value"],"title":"SyncDeviceInfo","description":"Device info for the devices list."},"SyncStatusResponse":{"properties":{"ok":{"type":"boolean","title":"Ok","default":true},"server_time":{"type":"string","title":"Server Time"},"cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"},"last_sync_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Sync At"}},"type":"object","required":["server_time"],"title":"SyncStatusResponse","description":"Response from GET /drive/sync/status."},"TeamMemberAdd":{"properties":{"user_id":{"type":"string","format":"uuid","title":"User Id"},"role":{"$ref":"#/components/schemas/TeamRole","default":"member"}},"type":"object","required":["user_id"],"title":"TeamMemberAdd","description":"Add team member request."},"TeamMemberResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"user_id":{"type":"string","format":"uuid","title":"User Id"},"email":{"type":"string","title":"Email"},"first_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Name"},"last_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Name"},"avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url"},"role":{"type":"string","title":"Role"},"joined_at":{"type":"string","format":"date-time","title":"Joined At"}},"type":"object","required":["id","user_id","email","role","joined_at"],"title":"TeamMemberResponse","description":"Team member response."},"TeamMemberUpdate":{"properties":{"role":{"$ref":"#/components/schemas/TeamRole"}},"type":"object","required":["role"],"title":"TeamMemberUpdate","description":"Update team member role."},"TeamResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"slug":{"type":"string","title":"Slug"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"organization_id":{"type":"string","format":"uuid","title":"Organization Id"},"member_count":{"type":"integer","title":"Member Count","default":0},"my_role":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"My Role"},"created_by_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Created By Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","name","slug","organization_id","created_at","updated_at"],"title":"TeamResponse","description":"Team response."},"TeamRole":{"type":"string","enum":["owner","manager","member"],"title":"TeamRole","description":"Team member roles."},"TeamUpdate":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":255,"minLength":2},{"type":"null"}],"title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"}},"type":"object","title":"TeamUpdate","description":"Update team request."},"ThumbnailUrl":{"properties":{"url":{"type":"string","title":"Url"}},"type":"object","required":["url"],"title":"ThumbnailUrl","description":"Response with presigned thumbnail URL."},"UploadRequest":{"properties":{"name":{"type":"string","title":"Name"},"parent_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parent Id"},"mime_type":{"type":"string","title":"Mime Type","default":"application/octet-stream"},"size":{"type":"integer","title":"Size"},"site_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Site Id"}},"type":"object","required":["name","size"],"title":"UploadRequest","description":"Request to upload a file."},"UploadResponse":{"properties":{"file":{"$ref":"#/components/schemas/FileItem"},"upload_url":{"type":"string","title":"Upload Url"}},"type":"object","required":["file","upload_url"],"title":"UploadResponse","description":"Response with presigned upload URL."},"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"},"WebhookDeliveryResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"subscription_id":{"type":"string","format":"uuid","title":"Subscription Id"},"event_type":{"type":"string","title":"Event Type"},"event_id":{"type":"string","format":"uuid","title":"Event Id"},"status":{"type":"string","title":"Status"},"attempt_count":{"type":"integer","title":"Attempt Count"},"next_attempt_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Next Attempt At"},"last_response_status":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Last Response Status"},"last_response_body":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Response Body"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"delivered_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Delivered At"}},"type":"object","required":["id","subscription_id","event_type","event_id","status","attempt_count","next_attempt_at","last_response_status","last_response_body","created_at","delivered_at"],"title":"WebhookDeliveryResponse"},"WebhookSubscriptionCreate":{"properties":{"url":{"type":"string","maxLength":2083,"minLength":1,"format":"uri","title":"Url"},"description":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Description"},"events":{"items":{"type":"string"},"type":"array","title":"Events","description":"Event types to subscribe to. Empty list = all events."},"service_principal_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Service Principal Id"}},"type":"object","required":["url"],"title":"WebhookSubscriptionCreate"},"WebhookSubscriptionCreatedResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"organization_id":{"type":"string","format":"uuid","title":"Organization Id"},"service_principal_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Service Principal Id"},"url":{"type":"string","title":"Url"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"events":{"items":{"type":"string"},"type":"array","title":"Events"},"is_active":{"type":"boolean","title":"Is Active"},"created_by_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Created By Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"signing_secret":{"type":"string","title":"Signing Secret"}},"type":"object","required":["id","organization_id","service_principal_id","url","description","events","is_active","created_by_id","created_at","updated_at","signing_secret"],"title":"WebhookSubscriptionCreatedResponse","description":"Returned once at creation — includes the raw signing secret."},"WebhookSubscriptionResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"organization_id":{"type":"string","format":"uuid","title":"Organization Id"},"service_principal_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Service Principal Id"},"url":{"type":"string","title":"Url"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"events":{"items":{"type":"string"},"type":"array","title":"Events"},"is_active":{"type":"boolean","title":"Is Active"},"created_by_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Created By Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","organization_id","service_principal_id","url","description","events","is_active","created_by_id","created_at","updated_at"],"title":"WebhookSubscriptionResponse"},"WebhookSubscriptionUpdate":{"properties":{"url":{"anyOf":[{"type":"string","maxLength":2083,"minLength":1,"format":"uri"},{"type":"null"}],"title":"Url"},"description":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Description"},"events":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Events"},"is_active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active"}},"type":"object","title":"WebhookSubscriptionUpdate"},"app__api__v1__drive__schemas__SearchResult":{"properties":{"hits":{"items":{"$ref":"#/components/schemas/SearchHit"},"type":"array","title":"Hits"},"query":{"type":"string","title":"Query"},"processing_time_ms":{"type":"integer","title":"Processing Time Ms"},"estimated_total_hits":{"type":"integer","title":"Estimated Total Hits"},"offset":{"type":"integer","title":"Offset","default":0},"limit":{"type":"integer","title":"Limit","default":50},"facet_distribution":{"anyOf":[{"$ref":"#/components/schemas/FacetCounts"},{"type":"null"}]}},"type":"object","required":["hits","query","processing_time_ms","estimated_total_hits"],"title":"SearchResult","description":"Meilisearch-compatible search response envelope.\n\nThis response shape is designed to be identical whether the backend\nuses Postgres ILIKE (current) or Meilisearch (future). The frontend\nalways consumes this shape — the search engine is an implementation detail.\n\nMirrors: https://www.meilisearch.com/docs/reference/api/search#response"}},"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"PAT or Keycloak JWT","description":"Authenticate with a **Personal Access Token (PAT)** or a **EUnifyer IDP user-delegated JWT**.\n\n**PAT** — create one in *Admin → Developer → API Access*. Paste the token value directly:\n```\nAuthorization: Bearer eu_pat_…\n```\n\n**OAuth / Keycloak JWT** — exchange an authorisation code for an access token via the `/auth/token` endpoint and use it here.\n\nAll tokens are scoped — only endpoints covered by the token's granted scopes will succeed."}}},"servers":[{"url":"https://api.eunifyer.com","description":"Production"}],"security":[{"BearerAuth":[]}],"tags":[{"name":"Drive","description":"Browse, upload, download, share, version, and delta-sync files."},{"name":"Calendar","description":"Manage calendars, events, attendees, free/busy, and ICS import."},{"name":"Contacts","description":"Create and manage contact books and individual contacts."},{"name":"Sites","description":"Create and manage ShareHub sites and their wiki pages."},{"name":"Teams","description":"Create and manage teams and team membership."},{"name":"Partner","description":"MSP/reseller automation — provision orgs, users, teams, and subscriptions."},{"name":"Developer","description":"Manage service principals and API tokens for programmatic access."},{"name":"Webhooks","description":"Subscribe to platform events and manage webhook deliveries."}]}