/** * This file was auto-generated by openapi-typescript. * Do not make direct changes to the file. */ export interface paths { "/api/auth/register": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Register * @description Register a new user using an invite code. */ post: operations["register_api_auth_register_post"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/auth/login": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Login * @description Authenticate a user and return their info with an auth cookie. */ post: operations["login_api_auth_login_post"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/auth/logout": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Logout * @description Log out the current user by clearing their auth cookie. */ post: operations["logout_api_auth_logout_post"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/auth/me": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get Me * @description Get the current authenticated user's info. */ get: operations["get_me_api_auth_me_get"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/sum": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Calculate Sum * @description Calculate the sum of two numbers and record it. */ post: operations["calculate_sum_api_sum_post"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/counter": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get Counter * @description Get the current counter value. */ get: operations["get_counter_api_counter_get"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/counter/increment": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Increment Counter * @description Increment the counter, record the action, and enqueue a random number job. */ post: operations["increment_counter_api_counter_increment_post"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/audit/counter": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get Counter Records * @description Get paginated counter action records. */ get: operations["get_counter_records_api_audit_counter_get"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/audit/sum": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get Sum Records * @description Get paginated sum action records. */ get: operations["get_sum_records_api_audit_sum_get"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/audit/random-jobs": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get Random Job Outcomes * @description Get all random number job outcomes, newest first. */ get: operations["get_random_job_outcomes_api_audit_random_jobs_get"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/audit/price-history": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get Price History * @description Get the 20 most recent price history records. */ get: operations["get_price_history_api_audit_price_history_get"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/audit/price-history/fetch": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Fetch Price Now * @description Manually trigger a price fetch from Bitfinex. */ post: operations["fetch_price_now_api_audit_price_history_fetch_post"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/profile": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get Profile * @description Get the current user's profile (contact details and godfather). */ get: operations["get_profile_api_profile_get"]; /** * Update Profile * @description Update the current user's profile (contact details). */ put: operations["update_profile_api_profile_put"]; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/admin/availability": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get Availability * @description Get availability slots for a date range. */ get: operations["get_availability_api_admin_availability_get"]; /** * Set Availability * @description Set availability for a specific date. Replaces any existing availability. */ put: operations["set_availability_api_admin_availability_put"]; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/admin/availability/copy": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Copy Availability * @description Copy availability from one day to multiple target days. */ post: operations["copy_availability_api_admin_availability_copy_post"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/meta/constants": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get Constants * @description Get shared constants for frontend/backend synchronization. */ get: operations["get_constants_api_meta_constants_get"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/invites/{identifier}/check": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Check Invite * @description Check if an invite is valid and can be used for signup. */ get: operations["check_invite_api_invites__identifier__check_get"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/invites": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get My Invites * @description Get all invites owned by the current user. */ get: operations["get_my_invites_api_invites_get"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/admin/users": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * List Users For Admin * @description List all users for admin dropdowns (invite creation, etc.). */ get: operations["list_users_for_admin_api_admin_users_get"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/admin/invites": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * List All Invites * @description List all invites with optional filtering and pagination. */ get: operations["list_all_invites_api_admin_invites_get"]; put?: never; /** * Create Invite * @description Create a new invite for a specified godfather user. */ post: operations["create_invite_api_admin_invites_post"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/admin/invites/{invite_id}/revoke": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Revoke Invite * @description Revoke an invite. Only READY invites can be revoked. */ post: operations["revoke_invite_api_admin_invites__invite_id__revoke_post"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/booking/slots": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get Available Slots * @description Get available booking slots for a specific date. */ get: operations["get_available_slots_api_booking_slots_get"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/booking": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Create Booking * @description Book an appointment slot. */ post: operations["create_booking_api_booking_post"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/appointments": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get My Appointments * @description Get the current user's appointments, sorted by date (upcoming first). */ get: operations["get_my_appointments_api_appointments_get"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/appointments/{appointment_id}/cancel": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Cancel My Appointment * @description Cancel one of the current user's appointments. */ post: operations["cancel_my_appointment_api_appointments__appointment_id__cancel_post"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/admin/appointments": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get All Appointments * @description Get all appointments (admin only), sorted by date descending with pagination. */ get: operations["get_all_appointments_api_admin_appointments_get"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/admin/appointments/{appointment_id}/cancel": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Admin Cancel Appointment * @description Cancel any appointment (admin only). */ post: operations["admin_cancel_appointment_api_admin_appointments__appointment_id__cancel_post"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; } export type webhooks = Record; export interface components { schemas: { /** * AdminUserResponse * @description Minimal user info for admin dropdowns. */ AdminUserResponse: { /** Id */ id: number; /** Email */ email: string; }; /** * AppointmentResponse * @description Response model for an appointment. */ AppointmentResponse: { /** Id */ id: number; /** User Id */ user_id: number; /** User Email */ user_email: string; /** * Slot Start * Format: date-time */ slot_start: string; /** * Slot End * Format: date-time */ slot_end: string; /** Note */ note: string | null; /** Status */ status: string; /** * Created At * Format: date-time */ created_at: string; /** Cancelled At */ cancelled_at: string | null; }; /** * AvailabilityDay * @description Availability for a single day. */ AvailabilityDay: { /** * Date * Format: date */ date: string; /** Slots */ slots: components["schemas"]["TimeSlot"][]; }; /** * AvailabilityResponse * @description Response model for availability query. */ AvailabilityResponse: { /** Days */ days: components["schemas"]["AvailabilityDay"][]; }; /** * AvailableSlotsResponse * @description Response for available slots on a given date. */ AvailableSlotsResponse: { /** * Date * Format: date */ date: string; /** Slots */ slots: components["schemas"]["BookableSlot"][]; }; /** * BookableSlot * @description A bookable 15-minute slot. */ BookableSlot: { /** * Start Time * Format: date-time */ start_time: string; /** * End Time * Format: date-time */ end_time: string; }; /** * BookingRequest * @description Request to book an appointment. */ BookingRequest: { /** * Slot Start * Format: date-time */ slot_start: string; /** Note */ note?: string | null; }; /** * ConstantsResponse * @description Response model for shared constants. * * Note: Using actual enum types ensures OpenAPI schema includes enum values, * allowing frontend type generation to produce matching TypeScript enums. */ ConstantsResponse: { /** Permissions */ permissions: components["schemas"]["Permission"][]; /** Roles */ roles: string[]; /** Invite Statuses */ invite_statuses: components["schemas"]["InviteStatus"][]; }; /** * CopyAvailabilityRequest * @description Request to copy availability from one day to others. */ CopyAvailabilityRequest: { /** * Source Date * Format: date */ source_date: string; /** Target Dates */ target_dates: string[]; }; /** * CounterRecordResponse * @description Response model for a counter audit record. */ CounterRecordResponse: { /** Id */ id: number; /** User Email */ user_email: string; /** Value Before */ value_before: number; /** Value After */ value_after: number; /** * Created At * Format: date-time */ created_at: string; }; /** HTTPValidationError */ HTTPValidationError: { /** Detail */ detail?: components["schemas"]["ValidationError"][]; }; /** * InviteCheckResponse * @description Response for invite check endpoint. */ InviteCheckResponse: { /** Valid */ valid: boolean; /** Status */ status?: string | null; /** Error */ error?: string | null; }; /** * InviteCreate * @description Request model for creating an invite. */ InviteCreate: { /** Godfather Id */ godfather_id: number; }; /** * InviteResponse * @description Response model for invite data (admin view). */ InviteResponse: { /** Id */ id: number; /** Identifier */ identifier: string; /** Godfather Id */ godfather_id: number; /** Godfather Email */ godfather_email: string; /** Status */ status: string; /** Used By Id */ used_by_id: number | null; /** Used By Email */ used_by_email: string | null; /** * Created At * Format: date-time */ created_at: string; /** Spent At */ spent_at: string | null; /** Revoked At */ revoked_at: string | null; }; /** * InviteStatus * @description Status of an invite. * @enum {string} */ InviteStatus: "ready" | "spent" | "revoked"; /** PaginatedResponse[AppointmentResponse] */ PaginatedResponse_AppointmentResponse_: { /** Records */ records: components["schemas"]["AppointmentResponse"][]; /** Total */ total: number; /** Page */ page: number; /** Per Page */ per_page: number; /** Total Pages */ total_pages: number; }; /** PaginatedResponse[CounterRecordResponse] */ PaginatedResponse_CounterRecordResponse_: { /** Records */ records: components["schemas"]["CounterRecordResponse"][]; /** Total */ total: number; /** Page */ page: number; /** Per Page */ per_page: number; /** Total Pages */ total_pages: number; }; /** PaginatedResponse[InviteResponse] */ PaginatedResponse_InviteResponse_: { /** Records */ records: components["schemas"]["InviteResponse"][]; /** Total */ total: number; /** Page */ page: number; /** Per Page */ per_page: number; /** Total Pages */ total_pages: number; }; /** PaginatedResponse[SumRecordResponse] */ PaginatedResponse_SumRecordResponse_: { /** Records */ records: components["schemas"]["SumRecordResponse"][]; /** Total */ total: number; /** Page */ page: number; /** Per Page */ per_page: number; /** Total Pages */ total_pages: number; }; /** * Permission * @description All available permissions in the system. * @enum {string} */ Permission: "view_counter" | "increment_counter" | "use_sum" | "view_audit" | "manage_own_profile" | "manage_invites" | "view_own_invites" | "book_appointment" | "view_own_appointments" | "cancel_own_appointment" | "manage_availability" | "view_all_appointments" | "cancel_any_appointment"; /** * PriceHistoryResponse * @description Response model for a price history record. */ PriceHistoryResponse: { /** Id */ id: number; /** Source */ source: string; /** Pair */ pair: string; /** Price */ price: number; /** * Timestamp * Format: date-time */ timestamp: string; /** * Created At * Format: date-time */ created_at: string; }; /** * ProfileResponse * @description Response model for profile data. */ ProfileResponse: { /** Contact Email */ contact_email: string | null; /** Telegram */ telegram: string | null; /** Signal */ signal: string | null; /** Nostr Npub */ nostr_npub: string | null; /** Godfather Email */ godfather_email?: string | null; }; /** * ProfileUpdate * @description Request model for updating profile. */ ProfileUpdate: { /** Contact Email */ contact_email?: string | null; /** Telegram */ telegram?: string | null; /** Signal */ signal?: string | null; /** Nostr Npub */ nostr_npub?: string | null; }; /** * RandomNumberOutcomeResponse * @description Response model for a random number job outcome. */ RandomNumberOutcomeResponse: { /** Id */ id: number; /** Job Id */ job_id: number; /** Triggered By User Id */ triggered_by_user_id: number; /** Triggered By Email */ triggered_by_email: string; /** Value */ value: number; /** Duration Ms */ duration_ms: number; /** Status */ status: string; /** * Created At * Format: date-time */ created_at: string; }; /** * RegisterWithInvite * @description Request model for registration with invite. */ RegisterWithInvite: { /** * Email * Format: email */ email: string; /** Password */ password: string; /** Invite Identifier */ invite_identifier: string; }; /** * SetAvailabilityRequest * @description Request to set availability for a specific date. */ SetAvailabilityRequest: { /** * Date * Format: date */ date: string; /** Slots */ slots: components["schemas"]["TimeSlot"][]; }; /** * SumRecordResponse * @description Response model for a sum audit record. */ SumRecordResponse: { /** Id */ id: number; /** User Email */ user_email: string; /** A */ a: number; /** B */ b: number; /** Result */ result: number; /** * Created At * Format: date-time */ created_at: string; }; /** * SumRequest * @description Request model for sum calculation. */ SumRequest: { /** A */ a: number; /** B */ b: number; }; /** * SumResponse * @description Response model for sum calculation. */ SumResponse: { /** A */ a: number; /** B */ b: number; /** Result */ result: number; }; /** * TimeSlot * @description A single time slot (start and end time). */ TimeSlot: { /** * Start Time * Format: time */ start_time: string; /** * End Time * Format: time */ end_time: string; }; /** * UserCredentials * @description Base model for user email/password. */ UserCredentials: { /** * Email * Format: email */ email: string; /** Password */ password: string; }; /** * UserInviteResponse * @description Response model for a user's invite (simpler than admin view). */ UserInviteResponse: { /** Id */ id: number; /** Identifier */ identifier: string; /** Status */ status: string; /** Used By Email */ used_by_email: string | null; /** * Created At * Format: date-time */ created_at: string; /** Spent At */ spent_at: string | null; }; /** * UserResponse * @description Response model for authenticated user info. */ UserResponse: { /** Id */ id: number; /** Email */ email: string; /** Roles */ roles: string[]; /** Permissions */ permissions: string[]; }; /** ValidationError */ ValidationError: { /** Location */ loc: (string | number)[]; /** Message */ msg: string; /** Error Type */ type: string; }; }; responses: never; parameters: never; requestBodies: never; headers: never; pathItems: never; } export type $defs = Record; export interface operations { register_api_auth_register_post: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["RegisterWithInvite"]; }; }; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["UserResponse"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; login_api_auth_login_post: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["UserCredentials"]; }; }; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["UserResponse"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; logout_api_auth_logout_post: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": { [key: string]: boolean; }; }; }; }; }; get_me_api_auth_me_get: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["UserResponse"]; }; }; }; }; calculate_sum_api_sum_post: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["SumRequest"]; }; }; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["SumResponse"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; get_counter_api_counter_get: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": { [key: string]: number; }; }; }; }; }; increment_counter_api_counter_increment_post: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": { [key: string]: number; }; }; }; }; }; get_counter_records_api_audit_counter_get: { parameters: { query?: { page?: number; per_page?: number; }; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["PaginatedResponse_CounterRecordResponse_"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; get_sum_records_api_audit_sum_get: { parameters: { query?: { page?: number; per_page?: number; }; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["PaginatedResponse_SumRecordResponse_"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; get_random_job_outcomes_api_audit_random_jobs_get: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["RandomNumberOutcomeResponse"][]; }; }; }; }; get_price_history_api_audit_price_history_get: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["PriceHistoryResponse"][]; }; }; }; }; fetch_price_now_api_audit_price_history_fetch_post: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["PriceHistoryResponse"]; }; }; }; }; get_profile_api_profile_get: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ProfileResponse"]; }; }; }; }; update_profile_api_profile_put: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["ProfileUpdate"]; }; }; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ProfileResponse"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; get_availability_api_admin_availability_get: { parameters: { query: { /** @description Start date (inclusive) */ from: string; /** @description End date (inclusive) */ to: string; }; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["AvailabilityResponse"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; set_availability_api_admin_availability_put: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["SetAvailabilityRequest"]; }; }; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["AvailabilityDay"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; copy_availability_api_admin_availability_copy_post: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["CopyAvailabilityRequest"]; }; }; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["AvailabilityResponse"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; get_constants_api_meta_constants_get: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ConstantsResponse"]; }; }; }; }; check_invite_api_invites__identifier__check_get: { parameters: { query?: never; header?: never; path: { identifier: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["InviteCheckResponse"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; get_my_invites_api_invites_get: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["UserInviteResponse"][]; }; }; }; }; list_users_for_admin_api_admin_users_get: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["AdminUserResponse"][]; }; }; }; }; list_all_invites_api_admin_invites_get: { parameters: { query?: { page?: number; per_page?: number; /** @description Filter by status: ready, spent, revoked */ status?: string | null; /** @description Filter by godfather user ID */ godfather_id?: number | null; }; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["PaginatedResponse_InviteResponse_"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; create_invite_api_admin_invites_post: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["InviteCreate"]; }; }; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["InviteResponse"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; revoke_invite_api_admin_invites__invite_id__revoke_post: { parameters: { query?: never; header?: never; path: { invite_id: number; }; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["InviteResponse"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; get_available_slots_api_booking_slots_get: { parameters: { query: { /** @description Date to get slots for */ date: string; }; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["AvailableSlotsResponse"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; create_booking_api_booking_post: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["BookingRequest"]; }; }; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["AppointmentResponse"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; get_my_appointments_api_appointments_get: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["AppointmentResponse"][]; }; }; }; }; cancel_my_appointment_api_appointments__appointment_id__cancel_post: { parameters: { query?: never; header?: never; path: { appointment_id: number; }; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["AppointmentResponse"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; get_all_appointments_api_admin_appointments_get: { parameters: { query?: { page?: number; per_page?: number; }; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["PaginatedResponse_AppointmentResponse_"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; admin_cancel_appointment_api_admin_appointments__appointment_id__cancel_post: { parameters: { query?: never; header?: never; path: { appointment_id: number; }; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["AppointmentResponse"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; }