/** * Hostex Calendar Share Links API types */ /** Share link scope */ export type CalendarShareLinkScope = 'entire' | 'partial'; /** * A public read-only calendar share link */ export interface CalendarShareLink { /** Internal share link id */ id: number; /** entire = all properties; partial = only property_ids */ scope: CalendarShareLinkScope; /** Public, read-only calendar URL */ url: string; /** Property ids the link exposes (empty when scope = entire) */ property_ids: number[]; /** ISO 8601 creation timestamp */ created_at?: string | null; } /** * Calendar share links query parameters */ export interface CalendarShareLinksQueryParams { /** Pagination offset (default 0) */ offset?: number; /** Page size, max 100 (default 20) */ limit?: number; /** Fetch a single share link by id */ id?: number; } /** * Calendar share links response data */ export interface CalendarShareLinksData { /** Total number of share links matching the filter */ total: number; calendar_share_links: CalendarShareLink[]; } /** * Create calendar share link parameters */ export interface CreateCalendarShareLinkParams { /** entire exposes every property; partial exposes only property_ids */ scope: CalendarShareLinkScope; /** Required (non-empty) when scope = partial */ property_ids?: number[]; } /** * Create calendar share link response data */ export interface CreateCalendarShareLinkData { calendar_share_link: CalendarShareLink; }