@remit/api-openapi-types 0.0.84 → 0.0.86

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/types.d.ts +1000 -77
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remit/api-openapi-types",
3
- "version": "0.0.84",
3
+ "version": "0.0.86",
4
4
  "type": "module",
5
5
  "main": "types.d.ts",
6
6
  "types": "types.d.ts",
package/types.d.ts CHANGED
@@ -101,6 +101,14 @@ writer can reach is a vocabulary that lies about what the field means.
101
101
  * Terminal outcome of an update run. `null` while a run is in flight; `succeeded` when the new version committed, `rolledBack` when it did not and the previous version was restored, `rollbackFailed` when the restore itself failed and an operator shell is needed, `abandoned` when the run ended having changed nothing (RFC 037 R11).
102
102
  */
103
103
  export type SystemUpdateOutcome = "succeeded" | "rolledBack" | "rollbackFailed" | "abandoned";
104
+ /**
105
+ * Whether a person may sign in. A disabled person's sessions, MCP grants and calendar feeds are revoked, and every sign-in is refused.
106
+ */
107
+ export type PersonStatus = "Active" | "Disabled";
108
+ /**
109
+ * The operation a step-up token is spent on. `updatePerson` maps `Disabled` to `Disable` and `Active` to `Enable`.
110
+ */
111
+ export type StepUpAction = "SignOut" | "Disable" | "Enable" | "ResetPassword";
104
112
  /**
105
113
  * IMAP namespace types per RFC 9051 Section 6.3.10
106
114
  */
@@ -154,9 +162,9 @@ current enum emitter anyway, so the wire contract uses the bare form.
154
162
  */
155
163
  export type CalendarColor = "Cal1" | "Cal2" | "Cal3" | "Cal4" | "Cal5" | "Cal6";
156
164
  /**
157
- * Which iCalendar components a collection accepts (RFC 4791 supported-calendar-component-set). Only VEVENT is stored today; VTODO and VJOURNAL collections would be separate members, so the value is a property of the collection rather than of each object.
165
+ * Which iCalendar components a collection accepts (RFC 4791 supported-calendar-component-set). The value is a property of the collection rather than of each object, so an event collection and a task collection are separate collections.
158
166
  */
159
- export type CalendarComponentSet = "VeventOnly";
167
+ export type CalendarComponentSet = "VeventOnly" | "VtodoOnly";
160
168
  /**
161
169
  * Where a calendar collection came from. `Default` is the one provisioned per account config on first use and is never deleted; `UserCreated` is one a person made; `MailDerived` is one populated from mail rather than by a person; `Subscribed` is filled from a read-only iCalendar URL and refuses every write except its own refresh.
162
170
  */
@@ -173,10 +181,34 @@ current enum emitter anyway, so the wire contract uses the bare form.
173
181
  * How confidently a stored time was placed on the clock. A calendar that cannot say this hides its worst failure: an event read in the wrong zone is off by hours and looks exactly like an event read correctly.
174
182
  */
175
183
  export type ZoneCertainty = "Local" | "Explicit" | "Ambiguous";
184
+ /**
185
+ * Where the reader stands on one occurrence, projected from its ORGANIZER and ATTENDEE lines against the addresses of the reader's own accounts.
186
+ */
187
+ export type CalendarParticipation = "Unscheduled" | "Organizer" | "NeedsAction" | "Accepted" | "Tentative" | "Declined";
188
+ /**
189
+ * What one person on an event's guest list is to it.
190
+ */
191
+ export type CalendarAttendeeRole = "Organizer" | "Guest";
192
+ /**
193
+ * A guest's answer to an event, read from the ATTENDEE line's PARTSTAT (RFC 5545 3.2.12).
194
+ */
195
+ export type CalendarAttendeeStatus = "NeedsAction" | "Accepted" | "Tentative" | "Declined";
196
+ /**
197
+ * The iTIP method a scheduling message carries (RFC 5546 3.2), read from the VCALENDAR's METHOD property. It says what the sender is asking for, which is not derivable from the VEVENT: a cancellation and an invitation differ by this property alone.
198
+ */
199
+ export type CalendarInviteMethod = "Request" | "Reply" | "Cancel" | "Counter" | "Publish" | "None";
200
+ /**
201
+ * Status of an outbox message in the send queue
202
+ */
203
+ export type OutboxMessageStatus = "draft" | "queued" | "sending" | "sent" | "unfiled" | "failed" | "blocked";
176
204
  /**
177
205
  * Which occurrences of a recurring event a write applies to (issue #15). A request parameter, never a stored column: the resource records what the series is, and this records what the caller meant by editing one drawing of it.
178
206
  */
179
207
  export type RecurrenceScope = "This" | "Following" | "All";
208
+ /**
209
+ * The answer a guest gives an invitation. It is written as the reader's `ATTENDEE;PARTSTAT` on the stored event (RFC 5545 3.2.12).
210
+ */
211
+ export type CalendarInviteAnswer = "Accepted" | "Tentative" | "Declined";
180
212
  /**
181
213
  * Sort order for list operations
182
214
  */
@@ -224,10 +256,6 @@ explained to the user as a failed delete.
224
256
  * Actionable placement verdict — the direction Remit decided to move a message. `leave` is not represented: a left-in-place verdict means the placement sub-model is absent.
225
257
  */
226
258
  export type PlacementAction = "MoveToInbox" | "MoveToJunk";
227
- /**
228
- * Status of an outbox message in the send queue
229
- */
230
- export type OutboxMessageStatus = "draft" | "queued" | "sending" | "sent" | "unfiled" | "failed" | "blocked";
231
259
  /**
232
260
  * Where an attachment is between being promised and being sendable.
233
261
 
@@ -296,10 +324,6 @@ distinguishable from a network failure without parsing prose.
296
324
  * What has become of a suggestion. `Pending` is the only state that asks a person for anything; every other value is a decision already taken, and nothing but an explicit act moves a suggestion out of `Pending`.
297
325
  */
298
326
  export type CalendarSuggestionState = "Pending" | "Accepted" | "Declined" | "Tentative" | "Dismissed" | "Superseded";
299
- /**
300
- * The iTIP method a scheduling message carries (RFC 5546 3.2), read from the VCALENDAR's METHOD property. It says what the sender is asking for, which is not derivable from the VEVENT: a cancellation and an invitation differ by this property alone.
301
- */
302
- export type CalendarInviteMethod = "Request" | "Reply" | "Cancel" | "Counter" | "Publish" | "None";
303
327
  /**
304
328
  * Where in a message a suggestion was read from. It is what a card says to explain itself, and it is what separates a suggestion carrying real iCalendar from one inferred out of prose.
305
329
  */
@@ -308,10 +332,6 @@ distinguishable from a network failure without parsing prose.
308
332
  * Whether an answered cancellation holds the calendar object this suggestion's answer wrote. A cancellation is terminal, so such an answer cannot be taken back.
309
333
  */
310
334
  export type CalendarAnswerOvertaken = "None" | "Cancellation";
311
- /**
312
- * The answer an invitation is added to a calendar with. It is written as the user's `ATTENDEE;PARTSTAT` on the stored event (RFC 5545 3.2.12) and becomes the suggestion's state.
313
- */
314
- export type CalendarInviteAnswer = "Accepted" | "Tentative";
315
335
  /**
316
336
  * System message flags defined in RFC 9051 Section 2.3.2 - MUST be supported by all servers
317
337
  */
@@ -339,7 +359,7 @@ distinguishable from a network failure without parsing prose.
339
359
  /**
340
360
  * Known user-setting keys. Each maps, in the registry, to a required value kind and a zod schema. New keys are added deliberately by extending this enum and the registry — never as an ad-hoc column.
341
361
  */
342
- export type AccountSettingName = "Theme" | "Density" | "DefaultComposerFormat" | "PinnedFolders" | "AccountSignaturePlainText" | "AccountSignatureHtml" | "AccountDisplayName" | "AccountMuted" | "AccountComposeLanguages" | "MailboxDisplayName" | "MailboxMuted" | "FolderRoleAppointment" | "FolderRoleAppointmentLabel" | "MailboxRole";
362
+ export type AccountSettingName = "Theme" | "Density" | "DefaultComposerFormat" | "PinnedFolders" | "AccountSignaturePlainText" | "AccountSignatureHtml" | "AccountDisplayName" | "AccountMuted" | "AccountComposeLanguages" | "MailboxDisplayName" | "MailboxMuted" | "FolderRoleAppointment" | "FolderRoleAppointmentLabel" | "MailboxRole" | "DefaultInvitationSenderAccountId";
343
363
  /**
344
364
  * Lifecycle of one applied configuration import. An import is Complete the moment every folder reference in the file has been bound to a real mailbox; until then it is Pending, waiting on the IMAP discovery that will produce those mailboxes.
345
365
  */
@@ -1910,6 +1930,161 @@ with `onExisting: merge` to upsert instead.
1910
1930
  */
1911
1931
  targetVersion: string;
1912
1932
  }
1933
+ /**
1934
+ * Everyone who signs in to this instance, ordered by email.
1935
+ */
1936
+ export interface PeopleListResponse {
1937
+ people: Person[];
1938
+ }
1939
+ /**
1940
+ * One person who signs in to this self-hosted instance.
1941
+ */
1942
+ export interface Person {
1943
+ /**
1944
+ * The person's user id.
1945
+ */
1946
+ userId: string;
1947
+ /**
1948
+ * The address the person signs in with.
1949
+ */
1950
+ email: string;
1951
+ /**
1952
+ * When the account was created, epoch milliseconds.
1953
+ */
1954
+ createdAt: number;
1955
+ /**
1956
+ * When the person last signed in, epoch milliseconds.
1957
+ */
1958
+ lastSignInAt: number;
1959
+ /**
1960
+ * Unexpired browser sessions the person holds.
1961
+ */
1962
+ sessionCount: number;
1963
+ /**
1964
+ * Whether the person may sign in.
1965
+ */
1966
+ status: PersonStatus;
1967
+ /**
1968
+ * Whether this row is the caller.
1969
+ */
1970
+ isCaller: boolean;
1971
+ }
1972
+ /**
1973
+ * The People operation is refused for the caller. `code` is one of
1974
+ `sign_in_disabled` (the kill switch is on), `caller_disabled` (the caller's
1975
+ account is disabled or gone), `foreign_origin` (an unsafe request from an
1976
+ origin this instance does not serve), `step_up_required` (the step-up token
1977
+ is missing, spent, expired, or bound to another caller, action or person) and
1978
+ `wrong_password` (the step-up password is wrong).
1979
+ */
1980
+ export interface PeopleForbiddenError {
1981
+ statusCode: 403;
1982
+ /**
1983
+ * Stable token naming the refusal. Branch on this, never on `message`.
1984
+ */
1985
+ code: string;
1986
+ /**
1987
+ * Human-readable error message
1988
+ */
1989
+ message: string;
1990
+ /**
1991
+ * Additional error details
1992
+ */
1993
+ details?: Record;
1994
+ }
1995
+ /**
1996
+ * The caller's current password, and the one action on one person the token will allow.
1997
+ */
1998
+ export interface StepUpInput {
1999
+ /**
2000
+ * The caller's own current password.
2001
+ */
2002
+ password: string;
2003
+ action: StepUpAction;
2004
+ /**
2005
+ * The person the token will act on.
2006
+ */
2007
+ userId: string;
2008
+ }
2009
+ /**
2010
+ * A single-use token for one action on one person. Spend it at once; it is never stored by the client.
2011
+ */
2012
+ export interface StepUpResponse {
2013
+ stepUpToken: string;
2014
+ /**
2015
+ * When the token stops working, epoch milliseconds.
2016
+ */
2017
+ expiresAt: number;
2018
+ }
2019
+ /**
2020
+ * Five wrong step-up passwords in 15 minutes. `code` is `step_up_locked`.
2021
+ */
2022
+ export interface StepUpLockedError {
2023
+ statusCode: 429;
2024
+ /**
2025
+ * Stable token naming the refusal. Branch on this, never on `message`.
2026
+ */
2027
+ code: string;
2028
+ /**
2029
+ * Human-readable error message
2030
+ */
2031
+ message: string;
2032
+ /**
2033
+ * Additional error details
2034
+ */
2035
+ details?: Record;
2036
+ }
2037
+ /**
2038
+ * Sign the person out of every browser session and MCP connection.
2039
+ */
2040
+ export interface SignOutPersonInput {
2041
+ stepUpToken: string;
2042
+ }
2043
+ /**
2044
+ * Disable or enable the person. Disabling also revokes their sessions, MCP grants and calendar feeds.
2045
+ */
2046
+ export interface UpdatePersonInput {
2047
+ status: PersonStatus;
2048
+ stepUpToken: string;
2049
+ }
2050
+ /**
2051
+ * A person cannot disable themselves. `code` is `cannot_disable_self`.
2052
+ */
2053
+ export interface CannotDisableSelfError {
2054
+ statusCode: 409;
2055
+ /**
2056
+ * Stable token naming the refusal. Branch on this, never on `message`.
2057
+ */
2058
+ code: string;
2059
+ /**
2060
+ * Human-readable error message
2061
+ */
2062
+ message: string;
2063
+ /**
2064
+ * Additional error details
2065
+ */
2066
+ details?: Record;
2067
+ }
2068
+ /**
2069
+ * Issue a password reset link for the person. Their old password stops working and their sessions are revoked.
2070
+ */
2071
+ export interface CreatePasswordResetInput {
2072
+ stepUpToken: string;
2073
+ }
2074
+ /**
2075
+ * The person, and the reset link to hand them. The link is shown once and works once.
2076
+ */
2077
+ export interface PasswordResetResponse {
2078
+ person: Person;
2079
+ /**
2080
+ * The single-use reset link. It exists only in this response.
2081
+ */
2082
+ resetUrl: string;
2083
+ /**
2084
+ * When the link stops working, epoch milliseconds: issue time plus 24 hours.
2085
+ */
2086
+ expiresAt: number;
2087
+ }
1913
2088
  /**
1914
2089
  * Represents an IMAP mailbox (folder). Contains IMAP-specific identifiers for message synchronization.
1915
2090
  */
@@ -3057,6 +3232,10 @@ occurrence by `calendarObjectId` plus `recurrenceId`.
3057
3232
  * Whether the resource this occurrence came from expands to more than one instance. A client showing the recurrence-scope prompt gates on this.
3058
3233
  */
3059
3234
  hasRecurrence: boolean;
3235
+ /**
3236
+ * Where the reader stands on this occurrence. Only the reader's own answer: the guest list is on `getCalendarEvent`.
3237
+ */
3238
+ participation: CalendarParticipation;
3060
3239
  }
3061
3240
  /**
3062
3241
  * Input for creating an event (issue #15). The server builds the VEVENT and
@@ -3115,6 +3294,27 @@ transition. An offset alone cannot: a weekly 09:00 meeting written as
3115
3294
  * RRULE value for a recurring event, e.g. "FREQ=WEEKLY;BYDAY=MO" (RFC 5545 3.8.5.3), without the property name. `""` creates a single event. Refused with 400 when it is not a rule this server can read.
3116
3295
  */
3117
3296
  recurrenceRule?: String512;
3297
+ /**
3298
+ * The guests. Each gets an invitation from the organizer's account, queued in the same write. Absent or empty creates an event nobody is invited to.
3299
+ */
3300
+ attendees?: CalendarAttendeeInput[];
3301
+ /**
3302
+ * The account the event is organized and its invitations sent from. Refused with 400 `unknown_organizer` when it is not an account of the caller's account config, or `organizer_cannot_send` when that account has Mail turned off. Absent, an event with guests is sent from the default invitation sender in effect (`getUserSettings`).
3303
+ */
3304
+ organizerAccountId?: UUID;
3305
+ }
3306
+ /**
3307
+ * A guest as the event editor sends one.
3308
+ */
3309
+ export interface CalendarAttendeeInput {
3310
+ /**
3311
+ * The guest's mail address
3312
+ */
3313
+ email: String512;
3314
+ /**
3315
+ * The guest's name. The address itself when the contact has none.
3316
+ */
3317
+ displayName: String512;
3118
3318
  }
3119
3319
  /**
3120
3320
  * One calendar resource — the bytes behind one `.ics` URL (issue #15).
@@ -3210,7 +3410,9 @@ its own row.
3210
3410
  updatedAt: number;
3211
3411
  }
3212
3412
  /**
3213
- * A stored calendar resource — the bytes behind one event, plus the columns projected from them. `icalData` is canonical; every other field is derived from it on write.
3413
+ * A stored calendar resource — the bytes behind one event, plus the columns
3414
+ projected from them. `icalData` is canonical; every other field is derived
3415
+ from it on write or on this read.
3214
3416
  */
3215
3417
  export interface CalendarEventResponse {
3216
3418
  /**
@@ -3283,6 +3485,65 @@ its own row.
3283
3485
  expandedThrough: String64;
3284
3486
  createdAt: number;
3285
3487
  updatedAt: number;
3488
+ /**
3489
+ * Where the reader stands on the event's master
3490
+ */
3491
+ participation: CalendarParticipation;
3492
+ /**
3493
+ * Mail address of the ORGANIZER, lower-cased. `""` when the event names none.
3494
+ */
3495
+ organizer: String512;
3496
+ /**
3497
+ * Everyone on the guest list, organizer first. Empty when the event has no guests.
3498
+ */
3499
+ attendees: CalendarAttendee[];
3500
+ attendeeCounts: CalendarAttendeeCounts;
3501
+ /**
3502
+ * The scheduling messages about this event still in the outbox. A write answers with the ones it queued; a read with every one not yet sent and filed.
3503
+ */
3504
+ sends: CalendarSchedulingSend[];
3505
+ }
3506
+ /**
3507
+ * One person on an event's guest list, read from its ORGANIZER and ATTENDEE lines.
3508
+ */
3509
+ export interface CalendarAttendee {
3510
+ /**
3511
+ * Mail address, lower-cased
3512
+ */
3513
+ email: String512;
3514
+ /**
3515
+ * The CN parameter. `""` when the line carries none.
3516
+ */
3517
+ displayName: String512;
3518
+ role: CalendarAttendeeRole;
3519
+ /**
3520
+ * The answer. The organizer reads as `Accepted`.
3521
+ */
3522
+ status: CalendarAttendeeStatus;
3523
+ }
3524
+ /**
3525
+ * How many people on the guest list gave each answer, the organizer counted as a yes.
3526
+ */
3527
+ export interface CalendarAttendeeCounts {
3528
+ accepted: number;
3529
+ declined: number;
3530
+ tentative: number;
3531
+ needsAction: number;
3532
+ }
3533
+ /**
3534
+ * One scheduling message an event write put in the outbox: an invitation, a cancellation or a reply. A client follows `outboxMessageId` to learn whether it went, and resends a failed one with `sendOutboxMessage`.
3535
+ */
3536
+ export interface CalendarSchedulingSend {
3537
+ /**
3538
+ * The one address the message is to
3539
+ */
3540
+ email: String512;
3541
+ outboxMessageId: UUID;
3542
+ method: CalendarInviteMethod;
3543
+ /**
3544
+ * Where the message stood when this response was built
3545
+ */
3546
+ status: OutboxMessageStatus;
3286
3547
  }
3287
3548
  /**
3288
3549
  * Input for updating an event. Every field is optional and absence means
@@ -3308,6 +3569,25 @@ remainder.
3308
3569
  * RRULE value, or `""` to drop the rule. Only meaningful with `scope=All` or `scope=Following`: an override is one occurrence and carries no rule of its own.
3309
3570
  */
3310
3571
  recurrenceRule?: String512;
3572
+ /**
3573
+ * The whole guest list after the edit. A new guest gets an invitation and a removed one a cancellation. Refused with 400 `not_organizer` on an event the reader does not organize.
3574
+ */
3575
+ attendees?: CalendarAttendeeInput[];
3576
+ /**
3577
+ * The account that organizes the event, for an event that names no organizer yet. Refused with 400 `not_organizer` when the event already names a different one: the organizer never changes.
3578
+ */
3579
+ organizerAccountId?: UUID;
3580
+ /**
3581
+ * The reader's answer as a guest. Writes their PARTSTAT and queues a REPLY to the organizer. `scope` `This` answers one occurrence and `All` the series; `Following` is refused with 400. Refused with 400 `not_a_guest` when the reader organizes the event or is not on its guest list.
3582
+ */
3583
+ answer?: CalendarInviteAnswer;
3584
+ }
3585
+ /**
3586
+ * What deleting an event sent: one cancellation per guest when the reader organizes it, nothing otherwise.
3587
+ */
3588
+ export interface CalendarEventDeleteResponse {
3589
+ statusCode: 200;
3590
+ sends: CalendarSchedulingSend[];
3311
3591
  }
3312
3592
  /**
3313
3593
  * Merged busy spans over the requested window, in start order. An event marked TRANSP:TRANSPARENT or STATUS:CANCELLED is not busy time and never appears here.
@@ -3331,105 +3611,298 @@ asking "is this slot free" never has to do the merging itself.
3331
3611
  end: String64;
3332
3612
  }
3333
3613
  /**
3334
- * Response from emptying trash
3614
+ * The caller's own settings: choices that belong to the person rather than to
3615
+ one mail account. Each field is stored as an `AccountSetting` row of the
3616
+ account config and read back here, so a setting added later is one more
3617
+ field on this resource rather than one more operation.
3335
3618
  */
3336
- export interface EmptyTrashResponse {
3619
+ export interface UserSettingsResponse {
3337
3620
  /**
3338
- * Number of messages permanently deleted
3621
+ * The account calendar invitations, updates and cancellations go out from unless the event editor picks another: the one the reader chose while it still sends mail, otherwise the account an event is on — for a new event, the first account of the account config that sends mail, since a calendar belongs to the account config rather than to one account. Absent only when no account sends mail.
3339
3622
  */
3340
- deletedCount: number;
3623
+ defaultInvitationSenderAccountId?: UUID;
3624
+ /**
3625
+ * Whether `defaultInvitationSenderAccountId` is the reader's own choice rather than the account an event is on.
3626
+ */
3627
+ defaultInvitationSenderChosen: boolean;
3341
3628
  }
3342
3629
  /**
3343
- * Sync trigger response
3630
+ * A change to the caller's settings. Every field is optional and absence means untouched.
3344
3631
  */
3345
- export interface SyncTriggerResponse {
3346
- /**
3347
- * Whether sync was triggered successfully
3348
- */
3349
- triggered: boolean;
3632
+ export interface UpdateUserSettingsInput {
3350
3633
  /**
3351
- * Message about sync status
3634
+ * The account invitations go out from by default. Refused with 400 `unknown_sender` when it is not an account of the caller's account config that sends mail. Cleared with `clearDefaultInvitationSender`.
3352
3635
  */
3353
- message: string;
3636
+ defaultInvitationSenderAccountId?: UUID;
3354
3637
  }
3355
3638
  /**
3356
- * Aggregate sync-status response for an account
3639
+ * Tasks due in the requested window, in due order. Unpaginated: the window is the bound.
3357
3640
  */
3358
- export interface AccountSyncStatusResponse {
3359
- /**
3360
- * Account identifier
3361
- */
3362
- accountId: UUID;
3641
+ export interface CalendarTaskListResponse {
3642
+ items: CalendarTaskResponse[];
3643
+ }
3644
+ /**
3645
+ * One task — the bytes of one VTODO resource in a `VtodoOnly` collection, plus
3646
+ the columns projected from them.
3647
+
3648
+ A distinct entity from `CalendarObject`, not an object with a kind: a task has
3649
+ a due date and a done state where an event has a span and a recurrence, and
3650
+ every reader of either would otherwise narrow on the kind first.
3651
+
3652
+ `icalData` is canonical; every other column is projected from it on write.
3653
+ `calendarTaskId` is derived from `(calendarId, resourceName)`, the same rule
3654
+ `CalendarObject` keys by.
3655
+ */
3656
+ export interface CalendarTask {
3363
3657
  /**
3364
- * Current sync phase for the account
3658
+ * Primary identifier, derived from calendarId + resourceName
3365
3659
  */
3366
- syncPhase?: SyncPhase;
3660
+ calendarTaskId: UUID;
3367
3661
  /**
3368
- * Total number of mailboxes discovered
3662
+ * Collection this task belongs to, a `VtodoOnly` one
3369
3663
  */
3370
- mailboxCountTotal?: number;
3664
+ calendarId: UUID;
3371
3665
  /**
3372
- * Number of mailboxes whose initial message sync has completed
3666
+ * Last path segment of the resource's URL, e.g. "a1b2c3.ics"
3373
3667
  */
3374
- mailboxCountSynced?: number;
3668
+ resourceName: String256;
3375
3669
  /**
3376
- * When the account's most recent sync round started, stamped once per round by the worker. A client that triggered a sync compares this against the reading it took before triggering, so it confirms only on a round of its own rather than one already in flight.
3670
+ * The VTODO's UID property
3377
3671
  */
3378
- lastSyncAt?: number;
3672
+ icalUid: String512;
3379
3673
  /**
3380
- * Per-mailbox sync progress
3674
+ * The complete VCALENDAR text — CANONICAL
3381
3675
  */
3382
- mailboxes: MailboxSyncProgress[];
3383
- }
3384
- /**
3385
- * Per-mailbox progress entry in the sync-status response
3386
- */
3387
- export interface MailboxSyncProgress {
3676
+ icalData: string;
3388
3677
  /**
3389
- * Mailbox identifier
3678
+ * Strong entity tag over the stored `icalData` bytes, for If-Match
3390
3679
  */
3391
- mailboxId: UUID;
3680
+ etag: String64;
3392
3681
  /**
3393
- * Full IMAP path (e.g. INBOX, Sent)
3682
+ * Projection of the VTODO's SUMMARY. `""` when it carries none.
3394
3683
  */
3395
- fullPath: string;
3684
+ summary: String512;
3396
3685
  /**
3397
- * Sync phase for this mailbox: pending (never synced), syncing (in-progress), or complete
3686
+ * Projection of the VTODO's DESCRIPTION. `""` when it carries none.
3398
3687
  */
3399
- phase: string;
3688
+ description: String2048;
3400
3689
  /**
3401
- * Total messages in mailbox (refreshed each batch)
3690
+ * Projection of the VTODO's DUE as an ISO 8601 date-time with zone offset, read in the collection's timezone — a business date. An all-day task carries midnight of its civil date.
3402
3691
  */
3403
- messagesTotal: number;
3692
+ due: String64;
3404
3693
  /**
3405
- * Approximate number of messages synced. Computed as highWaterMarkUid − lastSyncUid (UID-range approximation; UIDs are sparse so this may undercount). Clamped to messagesTotal.
3694
+ * The same moment as `due`, as an ISO 8601 UTC instant, so `byDue` orders across zones.
3406
3695
  */
3407
- messagesSynced: number;
3696
+ dueAt: String64;
3408
3697
  /**
3409
- * The highest UID ever seen in this mailbox. An arrival is a UID above the highest one seen; a total is not, because one message in and one out nets to zero. A mailbox that has never synced carries the sentinel 0 rather than an absent field.
3698
+ * Whether DUE is a DATE rather than a DATE-TIME: the task is due on a day, not at a time
3410
3699
  */
3411
- highWaterMarkUid: number;
3700
+ allDay: boolean;
3412
3701
  /**
3413
- * Timestamp of the last successful message sync for this mailbox
3702
+ * Whether the VTODO is done: `STATUS:COMPLETED`
3414
3703
  */
3415
- lastSyncedAt?: number;
3704
+ completed: boolean;
3705
+ createdAt: number;
3706
+ updatedAt: number;
3416
3707
  }
3417
3708
  /**
3418
- * Input for creating a new email account
3709
+ * A stored task, as the API returns it.
3419
3710
  */
3420
- export interface CreateAccountInput {
3711
+ export interface CalendarTaskResponse {
3421
3712
  /**
3422
- * Primary email address for this account
3713
+ * Primary identifier, derived from calendarId + resourceName
3423
3714
  */
3424
- email: string;
3715
+ calendarTaskId: UUID;
3425
3716
  /**
3426
- * Display name (optional)
3717
+ * Collection this task belongs to, a `VtodoOnly` one
3427
3718
  */
3428
- displayName?: string;
3719
+ calendarId: UUID;
3429
3720
  /**
3430
- * IMAP login username (defaults to email if not provided)
3721
+ * Last path segment of the resource's URL, e.g. "a1b2c3.ics"
3431
3722
  */
3432
- username?: string;
3723
+ resourceName: String256;
3724
+ /**
3725
+ * The VTODO's UID property
3726
+ */
3727
+ icalUid: String512;
3728
+ /**
3729
+ * The complete VCALENDAR text — CANONICAL
3730
+ */
3731
+ icalData: string;
3732
+ /**
3733
+ * Strong entity tag over the stored `icalData` bytes, for If-Match
3734
+ */
3735
+ etag: String64;
3736
+ /**
3737
+ * Projection of the VTODO's SUMMARY. `""` when it carries none.
3738
+ */
3739
+ summary: String512;
3740
+ /**
3741
+ * Projection of the VTODO's DESCRIPTION. `""` when it carries none.
3742
+ */
3743
+ description: String2048;
3744
+ /**
3745
+ * Projection of the VTODO's DUE as an ISO 8601 date-time with zone offset, read in the collection's timezone — a business date. An all-day task carries midnight of its civil date.
3746
+ */
3747
+ due: String64;
3748
+ /**
3749
+ * The same moment as `due`, as an ISO 8601 UTC instant, so `byDue` orders across zones.
3750
+ */
3751
+ dueAt: String64;
3752
+ /**
3753
+ * Whether DUE is a DATE rather than a DATE-TIME: the task is due on a day, not at a time
3754
+ */
3755
+ allDay: boolean;
3756
+ /**
3757
+ * Whether the VTODO is done: `STATUS:COMPLETED`
3758
+ */
3759
+ completed: boolean;
3760
+ createdAt: number;
3761
+ updatedAt: number;
3762
+ }
3763
+ /**
3764
+ * Input for creating a task. The server builds the VTODO.
3765
+ */
3766
+ export interface CreateCalendarTaskInput {
3767
+ /**
3768
+ * Collection to write the task into. Absent writes it into the account config's task collection. Refused with 400 when it names a collection that is not `VtodoOnly`.
3769
+ */
3770
+ calendarId?: UUID;
3771
+ /**
3772
+ * SUMMARY of the task
3773
+ */
3774
+ summary: String512;
3775
+ /**
3776
+ * DESCRIPTION of the task. Absent writes none.
3777
+ */
3778
+ description?: String2048;
3779
+ /**
3780
+ * When the task is due: an ISO 8601 date-time with zone offset, or a `YYYY-MM-DD` date when `allDay` is set.
3781
+ */
3782
+ due: String64;
3783
+ /**
3784
+ * Whether the task is due on a day rather than at a time
3785
+ */
3786
+ allDay?: boolean;
3787
+ /**
3788
+ * IANA time zone the due time is anchored in. Absent anchors it in UTC.
3789
+ */
3790
+ timeZone?: String64;
3791
+ }
3792
+ /**
3793
+ * Input for updating a task. Every field is optional and absence means untouched.
3794
+ */
3795
+ export interface UpdateCalendarTaskInput {
3796
+ summary?: String512;
3797
+ description?: String2048;
3798
+ due?: String64;
3799
+ allDay?: boolean;
3800
+ timeZone?: String64;
3801
+ /**
3802
+ * Marks the task done (`STATUS:COMPLETED`) or not done again (`STATUS:NEEDS-ACTION`)
3803
+ */
3804
+ completed?: boolean;
3805
+ }
3806
+ /**
3807
+ * Response from emptying trash
3808
+ */
3809
+ export interface EmptyTrashResponse {
3810
+ /**
3811
+ * Number of messages permanently deleted
3812
+ */
3813
+ deletedCount: number;
3814
+ }
3815
+ /**
3816
+ * Sync trigger response
3817
+ */
3818
+ export interface SyncTriggerResponse {
3819
+ /**
3820
+ * Whether sync was triggered successfully
3821
+ */
3822
+ triggered: boolean;
3823
+ /**
3824
+ * Message about sync status
3825
+ */
3826
+ message: string;
3827
+ }
3828
+ /**
3829
+ * Aggregate sync-status response for an account
3830
+ */
3831
+ export interface AccountSyncStatusResponse {
3832
+ /**
3833
+ * Account identifier
3834
+ */
3835
+ accountId: UUID;
3836
+ /**
3837
+ * Current sync phase for the account
3838
+ */
3839
+ syncPhase?: SyncPhase;
3840
+ /**
3841
+ * Total number of mailboxes discovered
3842
+ */
3843
+ mailboxCountTotal?: number;
3844
+ /**
3845
+ * Number of mailboxes whose initial message sync has completed
3846
+ */
3847
+ mailboxCountSynced?: number;
3848
+ /**
3849
+ * When the account's most recent sync round started, stamped once per round by the worker. A client that triggered a sync compares this against the reading it took before triggering, so it confirms only on a round of its own rather than one already in flight.
3850
+ */
3851
+ lastSyncAt?: number;
3852
+ /**
3853
+ * Per-mailbox sync progress
3854
+ */
3855
+ mailboxes: MailboxSyncProgress[];
3856
+ }
3857
+ /**
3858
+ * Per-mailbox progress entry in the sync-status response
3859
+ */
3860
+ export interface MailboxSyncProgress {
3861
+ /**
3862
+ * Mailbox identifier
3863
+ */
3864
+ mailboxId: UUID;
3865
+ /**
3866
+ * Full IMAP path (e.g. INBOX, Sent)
3867
+ */
3868
+ fullPath: string;
3869
+ /**
3870
+ * Sync phase for this mailbox: pending (never synced), syncing (in-progress), or complete
3871
+ */
3872
+ phase: string;
3873
+ /**
3874
+ * Total messages in mailbox (refreshed each batch)
3875
+ */
3876
+ messagesTotal: number;
3877
+ /**
3878
+ * Approximate number of messages synced. Computed as highWaterMarkUid − lastSyncUid (UID-range approximation; UIDs are sparse so this may undercount). Clamped to messagesTotal.
3879
+ */
3880
+ messagesSynced: number;
3881
+ /**
3882
+ * The highest UID ever seen in this mailbox. An arrival is a UID above the highest one seen; a total is not, because one message in and one out nets to zero. A mailbox that has never synced carries the sentinel 0 rather than an absent field.
3883
+ */
3884
+ highWaterMarkUid: number;
3885
+ /**
3886
+ * Timestamp of the last successful message sync for this mailbox
3887
+ */
3888
+ lastSyncedAt?: number;
3889
+ }
3890
+ /**
3891
+ * Input for creating a new email account
3892
+ */
3893
+ export interface CreateAccountInput {
3894
+ /**
3895
+ * Primary email address for this account
3896
+ */
3897
+ email: string;
3898
+ /**
3899
+ * Display name (optional)
3900
+ */
3901
+ displayName?: string;
3902
+ /**
3903
+ * IMAP login username (defaults to email if not provided)
3904
+ */
3905
+ username?: string;
3433
3906
  /**
3434
3907
  * Authentication mechanism for this account. Defaults to `password`. Pass `oauthMicrosoft` only via the OAuth connect flow (POST /accounts/oauth/microsoft/start).
3435
3908
  */
@@ -6438,6 +6911,49 @@ is stored; the message's snippet stays the display preview.
6438
6911
  createdAt: number;
6439
6912
  updatedAt: number;
6440
6913
  }
6914
+ /**
6915
+ * The iCalendar scheduling part of one outbox message: an invitation, a
6916
+ cancellation or a reply about a calendar event (RFC 6047). The message is
6917
+ built with it as its `text/calendar; method=…` part, on the wire and in the
6918
+ Sent copy alike.
6919
+
6920
+ A row of its own rather than columns on `OutboxMessage`: most messages carry
6921
+ none, and a column a mail never fills is a column every mail reads as absent.
6922
+ It lives and dies with its outbox row, which is what lets an event list the
6923
+ scheduling messages it still has in flight.
6924
+ */
6925
+ export interface OutboxSchedulingPart {
6926
+ /**
6927
+ * The outbox message this part belongs to
6928
+ */
6929
+ outboxMessageId: UUID;
6930
+ /**
6931
+ * Owning account configuration
6932
+ */
6933
+ accountConfigId: UUID;
6934
+ /**
6935
+ * The calendar resource the message is about
6936
+ */
6937
+ calendarObjectId: UUID;
6938
+ /**
6939
+ * The one address the message is to, lower-cased
6940
+ */
6941
+ recipient: String512;
6942
+ /**
6943
+ * The iTIP method the part carries (RFC 5546 3.2)
6944
+ */
6945
+ method: CalendarInviteMethod;
6946
+ /**
6947
+ * SEQUENCE of the event the part was built from. A recipient keeps the highest it has seen, so a later message overtakes an earlier one still in flight.
6948
+ */
6949
+ sequence: number;
6950
+ /**
6951
+ * The VCALENDAR text, with its METHOD property, exactly as it is sent
6952
+ */
6953
+ icalData: string;
6954
+ createdAt: number;
6955
+ updatedAt: number;
6956
+ }
6441
6957
  /**
6442
6958
  * One occurrence of a CalendarObject, flattened so a date range can be queried
6443
6959
  instead of expanded (issue #15). Every row is derived from
@@ -6672,6 +7188,61 @@ declare namespace Paths {
6672
7188
  export type $422 = void;
6673
7189
  }
6674
7190
  }
7191
+ namespace ListPeople {
7192
+ namespace Responses {
7193
+ export type $200 = void;
7194
+ export type $401 = void;
7195
+ export type $403 = void;
7196
+ export type $404 = void;
7197
+ }
7198
+ }
7199
+ namespace CreateStepUp {
7200
+ export type RequestBody = Components.Schemas.StepUpInput;
7201
+ namespace Responses {
7202
+ export type $200 = void;
7203
+ export type $401 = void;
7204
+ export type $403 = void;
7205
+ export type $404 = void;
7206
+ export type $429 = void;
7207
+ }
7208
+ }
7209
+ namespace SignOutPerson {
7210
+ export interface PathParameters {
7211
+ userId: string;
7212
+ }
7213
+ export type RequestBody = Components.Schemas.SignOutPersonInput;
7214
+ namespace Responses {
7215
+ export type $200 = void;
7216
+ export type $401 = void;
7217
+ export type $403 = void;
7218
+ export type $404 = void;
7219
+ }
7220
+ }
7221
+ namespace UpdatePerson {
7222
+ export interface PathParameters {
7223
+ userId: string;
7224
+ }
7225
+ export type RequestBody = Components.Schemas.UpdatePersonInput;
7226
+ namespace Responses {
7227
+ export type $200 = void;
7228
+ export type $401 = void;
7229
+ export type $403 = void;
7230
+ export type $404 = void;
7231
+ export type $409 = void;
7232
+ }
7233
+ }
7234
+ namespace CreatePasswordReset {
7235
+ export interface PathParameters {
7236
+ userId: string;
7237
+ }
7238
+ export type RequestBody = Components.Schemas.CreatePasswordResetInput;
7239
+ namespace Responses {
7240
+ export type $200 = void;
7241
+ export type $401 = void;
7242
+ export type $403 = void;
7243
+ export type $404 = void;
7244
+ }
7245
+ }
6675
7246
  namespace ListMailboxes {
6676
7247
  export interface PathParameters {
6677
7248
  accountId: Components.Schemas.UUID;
@@ -7079,7 +7650,7 @@ declare namespace Paths {
7079
7650
  ifMatch?: string;
7080
7651
  }
7081
7652
  namespace Responses {
7082
- export type $204 = void;
7653
+ export type $200 = void;
7083
7654
  export type $400 = void;
7084
7655
  export type $404 = void;
7085
7656
  export type $412 = void;
@@ -7097,6 +7668,97 @@ declare namespace Paths {
7097
7668
  export type $401 = void;
7098
7669
  }
7099
7670
  }
7671
+ namespace GetUserSettings {
7672
+ namespace Responses {
7673
+ export type $200 = void;
7674
+ export type $401 = void;
7675
+ }
7676
+ }
7677
+ namespace UpdateUserSettings {
7678
+ export type RequestBody = Components.Schemas.UpdateUserSettingsInput;
7679
+ namespace Responses {
7680
+ export type $200 = void;
7681
+ export type $400 = void;
7682
+ export type $401 = void;
7683
+ }
7684
+ }
7685
+ namespace ClearDefaultInvitationSender {
7686
+ namespace Responses {
7687
+ export type $200 = void;
7688
+ export type $401 = void;
7689
+ }
7690
+ }
7691
+ namespace ListCalendarTasks {
7692
+ export interface QueryParameters {
7693
+ from: string;
7694
+ to: string;
7695
+ calendarId?: Components.Schemas.UUID[];
7696
+ }
7697
+ namespace Responses {
7698
+ export type $200 = void;
7699
+ export type $400 = void;
7700
+ export type $404 = void;
7701
+ export type $401 = void;
7702
+ }
7703
+ }
7704
+ namespace CreateCalendarTask {
7705
+ export type RequestBody = Components.Schemas.CreateCalendarTaskInput;
7706
+ namespace Responses {
7707
+ export type $200 = void;
7708
+ export type $400 = void;
7709
+ export type $404 = void;
7710
+ export type $401 = void;
7711
+ }
7712
+ }
7713
+ namespace GetCalendarTask {
7714
+ export interface PathParameters {
7715
+ calendarTaskId: Components.Schemas.UUID;
7716
+ }
7717
+ export interface QueryParameters {
7718
+ calendarId?: Components.Schemas.UUID;
7719
+ }
7720
+ namespace Responses {
7721
+ export type $200 = void;
7722
+ export type $404 = void;
7723
+ export type $401 = void;
7724
+ }
7725
+ }
7726
+ namespace UpdateCalendarTask {
7727
+ export interface PathParameters {
7728
+ calendarTaskId: Components.Schemas.UUID;
7729
+ }
7730
+ export interface QueryParameters {
7731
+ calendarId: Components.Schemas.UUID;
7732
+ }
7733
+ export interface HeaderParameters {
7734
+ ifMatch?: string;
7735
+ }
7736
+ export type RequestBody = Components.Schemas.UpdateCalendarTaskInput;
7737
+ namespace Responses {
7738
+ export type $200 = void;
7739
+ export type $400 = void;
7740
+ export type $404 = void;
7741
+ export type $412 = void;
7742
+ export type $401 = void;
7743
+ }
7744
+ }
7745
+ namespace DeleteCalendarTask {
7746
+ export interface PathParameters {
7747
+ calendarTaskId: Components.Schemas.UUID;
7748
+ }
7749
+ export interface QueryParameters {
7750
+ calendarId: Components.Schemas.UUID;
7751
+ }
7752
+ export interface HeaderParameters {
7753
+ ifMatch?: string;
7754
+ }
7755
+ namespace Responses {
7756
+ export type $204 = void;
7757
+ export type $404 = void;
7758
+ export type $412 = void;
7759
+ export type $401 = void;
7760
+ }
7761
+ }
7100
7762
  namespace EmptyTrash {
7101
7763
  export interface PathParameters {
7102
7764
  accountId: Components.Schemas.UUID;
@@ -7627,6 +8289,46 @@ export interface OperationMethods {
7627
8289
  data?: Paths.ApplySystemUpdate.RequestBody,
7628
8290
  config?: AxiosRequestConfig
7629
8291
  ): OperationResponse<Paths.ApplySystemUpdate.Responses.$200>;
8292
+ /**
8293
+ * listPeople - List everyone who signs in to this instance, ordered by email. Self-host only, and absent (404) while self sign-up is open.
8294
+ */
8295
+ 'listPeople'(
8296
+ parameters?: Parameters<UnknownParamsObject> | null,
8297
+ data?: any,
8298
+ config?: AxiosRequestConfig
8299
+ ): OperationResponse<Paths.ListPeople.Responses.$200>;
8300
+ /**
8301
+ * createStepUp - Trade the caller's current password for a single-use token that allows one action on one person for five minutes. Five wrong passwords in 15 minutes refuse further step-ups with 429. Absent (404) while self sign-up is open, or when the person does not exist.
8302
+ */
8303
+ 'createStepUp'(
8304
+ parameters?: Parameters<UnknownParamsObject> | null,
8305
+ data?: Paths.CreateStepUp.RequestBody,
8306
+ config?: AxiosRequestConfig
8307
+ ): OperationResponse<Paths.CreateStepUp.Responses.$200>;
8308
+ /**
8309
+ * signOutPerson - Sign the person out of every browser session and MCP connection. Needs a `SignOut` step-up for this person. A JWT already minted works until it expires, at most 15 minutes.
8310
+ */
8311
+ 'signOutPerson'(
8312
+ parameters?: Parameters<Paths.SignOutPerson.PathParameters> | null,
8313
+ data?: Paths.SignOutPerson.RequestBody,
8314
+ config?: AxiosRequestConfig
8315
+ ): OperationResponse<Paths.SignOutPerson.Responses.$200>;
8316
+ /**
8317
+ * updatePerson - Disable or enable the person. Needs a `Disable` or `Enable` step-up for this person. Refused with 409 `cannot_disable_self` when the caller disables themselves.
8318
+ */
8319
+ 'updatePerson'(
8320
+ parameters?: Parameters<Paths.UpdatePerson.PathParameters> | null,
8321
+ data?: Paths.UpdatePerson.RequestBody,
8322
+ config?: AxiosRequestConfig
8323
+ ): OperationResponse<Paths.UpdatePerson.Responses.$200>;
8324
+ /**
8325
+ * createPasswordReset - Issue a single-use password reset link for the person, valid 24 hours. Needs a `ResetPassword` step-up for this person. The person's old password stops working and their sessions are revoked.
8326
+ */
8327
+ 'createPasswordReset'(
8328
+ parameters?: Parameters<Paths.CreatePasswordReset.PathParameters> | null,
8329
+ data?: Paths.CreatePasswordReset.RequestBody,
8330
+ config?: AxiosRequestConfig
8331
+ ): OperationResponse<Paths.CreatePasswordReset.Responses.$200>;
7630
8332
  /**
7631
8333
  * listMailboxes
7632
8334
  */
@@ -7932,12 +8634,15 @@ it.
7932
8634
  Same refusals and the same `If-Match` precondition as the update.
7933
8635
  An event in a `Subscribed` collection is refused with 400
7934
8636
  `read_only_calendar`, here and on the update.
8637
+
8638
+ Answers 200 with the cancellations it queued: one per guest when the
8639
+ reader organizes the event, none otherwise.
7935
8640
  */
7936
8641
  'deleteCalendarEvent'(
7937
8642
  parameters?: Parameters<Paths.DeleteCalendarEvent.PathParameters & Paths.DeleteCalendarEvent.QueryParameters & Paths.DeleteCalendarEvent.HeaderParameters> | null,
7938
8643
  data?: any,
7939
8644
  config?: AxiosRequestConfig
7940
- ): OperationResponse<Paths.DeleteCalendarEvent.Responses.$204>;
8645
+ ): OperationResponse<Paths.DeleteCalendarEvent.Responses.$200>;
7941
8646
  /**
7942
8647
  * listCalendarFreeBusy - Busy spans over a window, merged across every calendar the caller holds. Backs the clash check beside a mail invitation and the free-stretch maths in the day strip, neither of which should have to fetch every event and merge them itself. Refused with 400 on the same window rules as the event listing.
7943
8648
  */
@@ -7946,6 +8651,70 @@ An event in a `Subscribed` collection is refused with 400
7946
8651
  data?: any,
7947
8652
  config?: AxiosRequestConfig
7948
8653
  ): OperationResponse<Paths.ListCalendarFreeBusy.Responses.$200>;
8654
+ /**
8655
+ * getUserSettings - Read the caller's settings.
8656
+ */
8657
+ 'getUserSettings'(
8658
+ parameters?: Parameters<UnknownParamsObject> | null,
8659
+ data?: any,
8660
+ config?: AxiosRequestConfig
8661
+ ): OperationResponse<Paths.GetUserSettings.Responses.$200>;
8662
+ /**
8663
+ * updateUserSettings - Change the caller's settings. Answers with every setting as it now stands.
8664
+ */
8665
+ 'updateUserSettings'(
8666
+ parameters?: Parameters<UnknownParamsObject> | null,
8667
+ data?: Paths.UpdateUserSettings.RequestBody,
8668
+ config?: AxiosRequestConfig
8669
+ ): OperationResponse<Paths.UpdateUserSettings.Responses.$200>;
8670
+ /**
8671
+ * clearDefaultInvitationSender - Clear the chosen default invitation sender. Invitations then go out from the account an event is on. Answers with every setting as it now stands.
8672
+ */
8673
+ 'clearDefaultInvitationSender'(
8674
+ parameters?: Parameters<UnknownParamsObject> | null,
8675
+ data?: any,
8676
+ config?: AxiosRequestConfig
8677
+ ): OperationResponse<Paths.ClearDefaultInvitationSender.Responses.$200>;
8678
+ /**
8679
+ * listCalendarTasks - Tasks due in a window, across every task collection the caller holds, in due order. Refused with 400 on the same window rules as the event listing.
8680
+ */
8681
+ 'listCalendarTasks'(
8682
+ parameters?: Parameters<Paths.ListCalendarTasks.QueryParameters> | null,
8683
+ data?: any,
8684
+ config?: AxiosRequestConfig
8685
+ ): OperationResponse<Paths.ListCalendarTasks.Responses.$200>;
8686
+ /**
8687
+ * createCalendarTask - Create a task. Refused with 400 `not_a_task_calendar` when `calendarId` names an event collection.
8688
+ */
8689
+ 'createCalendarTask'(
8690
+ parameters?: Parameters<UnknownParamsObject> | null,
8691
+ data?: Paths.CreateCalendarTask.RequestBody,
8692
+ config?: AxiosRequestConfig
8693
+ ): OperationResponse<Paths.CreateCalendarTask.Responses.$200>;
8694
+ /**
8695
+ * getCalendarTask
8696
+ */
8697
+ 'getCalendarTask'(
8698
+ parameters?: Parameters<Paths.GetCalendarTask.PathParameters & Paths.GetCalendarTask.QueryParameters> | null,
8699
+ data?: any,
8700
+ config?: AxiosRequestConfig
8701
+ ): OperationResponse<Paths.GetCalendarTask.Responses.$200>;
8702
+ /**
8703
+ * updateCalendarTask - Update a task. `If-Match` makes the write conditional on the etag the caller read; a mismatch is 412.
8704
+ */
8705
+ 'updateCalendarTask'(
8706
+ parameters?: Parameters<Paths.UpdateCalendarTask.PathParameters & Paths.UpdateCalendarTask.QueryParameters & Paths.UpdateCalendarTask.HeaderParameters> | null,
8707
+ data?: Paths.UpdateCalendarTask.RequestBody,
8708
+ config?: AxiosRequestConfig
8709
+ ): OperationResponse<Paths.UpdateCalendarTask.Responses.$200>;
8710
+ /**
8711
+ * deleteCalendarTask - Delete a task. Same `If-Match` precondition as the update.
8712
+ */
8713
+ 'deleteCalendarTask'(
8714
+ parameters?: Parameters<Paths.DeleteCalendarTask.PathParameters & Paths.DeleteCalendarTask.QueryParameters & Paths.DeleteCalendarTask.HeaderParameters> | null,
8715
+ data?: any,
8716
+ config?: AxiosRequestConfig
8717
+ ): OperationResponse<Paths.DeleteCalendarTask.Responses.$204>;
7949
8718
  /**
7950
8719
  * emptyTrash - Permanently delete all messages in the Trash mailbox
7951
8720
  */
@@ -8431,6 +9200,56 @@ export interface PathsDictionary {
8431
9200
  config?: AxiosRequestConfig
8432
9201
  ): OperationResponse<Paths.ApplySystemUpdate.Responses.$200>;
8433
9202
  };
9203
+ ['/people']: {
9204
+ /**
9205
+ * listPeople - List everyone who signs in to this instance, ordered by email. Self-host only, and absent (404) while self sign-up is open.
9206
+ */
9207
+ 'get'(
9208
+ parameters?: Parameters<UnknownParamsObject> | null,
9209
+ data?: any,
9210
+ config?: AxiosRequestConfig
9211
+ ): OperationResponse<Paths.ListPeople.Responses.$200>;
9212
+ };
9213
+ ['/people/step-up']: {
9214
+ /**
9215
+ * createStepUp - Trade the caller's current password for a single-use token that allows one action on one person for five minutes. Five wrong passwords in 15 minutes refuse further step-ups with 429. Absent (404) while self sign-up is open, or when the person does not exist.
9216
+ */
9217
+ 'post'(
9218
+ parameters?: Parameters<UnknownParamsObject> | null,
9219
+ data?: Paths.CreateStepUp.RequestBody,
9220
+ config?: AxiosRequestConfig
9221
+ ): OperationResponse<Paths.CreateStepUp.Responses.$200>;
9222
+ };
9223
+ ['/people/{userId}/sign-out']: {
9224
+ /**
9225
+ * signOutPerson - Sign the person out of every browser session and MCP connection. Needs a `SignOut` step-up for this person. A JWT already minted works until it expires, at most 15 minutes.
9226
+ */
9227
+ 'post'(
9228
+ parameters?: Parameters<Paths.SignOutPerson.PathParameters> | null,
9229
+ data?: Paths.SignOutPerson.RequestBody,
9230
+ config?: AxiosRequestConfig
9231
+ ): OperationResponse<Paths.SignOutPerson.Responses.$200>;
9232
+ };
9233
+ ['/people/{userId}']: {
9234
+ /**
9235
+ * updatePerson - Disable or enable the person. Needs a `Disable` or `Enable` step-up for this person. Refused with 409 `cannot_disable_self` when the caller disables themselves.
9236
+ */
9237
+ 'patch'(
9238
+ parameters?: Parameters<Paths.UpdatePerson.PathParameters> | null,
9239
+ data?: Paths.UpdatePerson.RequestBody,
9240
+ config?: AxiosRequestConfig
9241
+ ): OperationResponse<Paths.UpdatePerson.Responses.$200>;
9242
+ };
9243
+ ['/people/{userId}/password-reset']: {
9244
+ /**
9245
+ * createPasswordReset - Issue a single-use password reset link for the person, valid 24 hours. Needs a `ResetPassword` step-up for this person. The person's old password stops working and their sessions are revoked.
9246
+ */
9247
+ 'post'(
9248
+ parameters?: Parameters<Paths.CreatePasswordReset.PathParameters> | null,
9249
+ data?: Paths.CreatePasswordReset.RequestBody,
9250
+ config?: AxiosRequestConfig
9251
+ ): OperationResponse<Paths.CreatePasswordReset.Responses.$200>;
9252
+ };
8434
9253
  ['/accounts/{accountId}/mailboxes']: {
8435
9254
  /**
8436
9255
  * listMailboxes
@@ -8767,12 +9586,15 @@ it.
8767
9586
  Same refusals and the same `If-Match` precondition as the update.
8768
9587
  An event in a `Subscribed` collection is refused with 400
8769
9588
  `read_only_calendar`, here and on the update.
9589
+
9590
+ Answers 200 with the cancellations it queued: one per guest when the
9591
+ reader organizes the event, none otherwise.
8770
9592
  */
8771
9593
  'delete'(
8772
9594
  parameters?: Parameters<Paths.DeleteCalendarEvent.PathParameters & Paths.DeleteCalendarEvent.QueryParameters> | null,
8773
9595
  data?: any,
8774
9596
  config?: AxiosRequestConfig
8775
- ): OperationResponse<Paths.DeleteCalendarEvent.Responses.$204>;
9597
+ ): OperationResponse<Paths.DeleteCalendarEvent.Responses.$200>;
8776
9598
  };
8777
9599
  ['/calendar-free-busy']: {
8778
9600
  /**
@@ -8784,6 +9606,78 @@ An event in a `Subscribed` collection is refused with 400
8784
9606
  config?: AxiosRequestConfig
8785
9607
  ): OperationResponse<Paths.ListCalendarFreeBusy.Responses.$200>;
8786
9608
  };
9609
+ ['/settings']: {
9610
+ /**
9611
+ * getUserSettings - Read the caller's settings.
9612
+ */
9613
+ 'get'(
9614
+ parameters?: Parameters<UnknownParamsObject> | null,
9615
+ data?: any,
9616
+ config?: AxiosRequestConfig
9617
+ ): OperationResponse<Paths.GetUserSettings.Responses.$200>;
9618
+ /**
9619
+ * updateUserSettings - Change the caller's settings. Answers with every setting as it now stands.
9620
+ */
9621
+ 'patch'(
9622
+ parameters?: Parameters<UnknownParamsObject> | null,
9623
+ data?: Paths.UpdateUserSettings.RequestBody,
9624
+ config?: AxiosRequestConfig
9625
+ ): OperationResponse<Paths.UpdateUserSettings.Responses.$200>;
9626
+ };
9627
+ ['/settings/default-invitation-sender']: {
9628
+ /**
9629
+ * clearDefaultInvitationSender - Clear the chosen default invitation sender. Invitations then go out from the account an event is on. Answers with every setting as it now stands.
9630
+ */
9631
+ 'delete'(
9632
+ parameters?: Parameters<UnknownParamsObject> | null,
9633
+ data?: any,
9634
+ config?: AxiosRequestConfig
9635
+ ): OperationResponse<Paths.ClearDefaultInvitationSender.Responses.$200>;
9636
+ };
9637
+ ['/calendar-tasks']: {
9638
+ /**
9639
+ * listCalendarTasks - Tasks due in a window, across every task collection the caller holds, in due order. Refused with 400 on the same window rules as the event listing.
9640
+ */
9641
+ 'get'(
9642
+ parameters?: Parameters<Paths.ListCalendarTasks.QueryParameters> | null,
9643
+ data?: any,
9644
+ config?: AxiosRequestConfig
9645
+ ): OperationResponse<Paths.ListCalendarTasks.Responses.$200>;
9646
+ /**
9647
+ * createCalendarTask - Create a task. Refused with 400 `not_a_task_calendar` when `calendarId` names an event collection.
9648
+ */
9649
+ 'post'(
9650
+ parameters?: Parameters<UnknownParamsObject> | null,
9651
+ data?: Paths.CreateCalendarTask.RequestBody,
9652
+ config?: AxiosRequestConfig
9653
+ ): OperationResponse<Paths.CreateCalendarTask.Responses.$200>;
9654
+ };
9655
+ ['/calendar-tasks/{calendarTaskId}']: {
9656
+ /**
9657
+ * getCalendarTask
9658
+ */
9659
+ 'get'(
9660
+ parameters?: Parameters<Paths.GetCalendarTask.PathParameters & Paths.GetCalendarTask.QueryParameters> | null,
9661
+ data?: any,
9662
+ config?: AxiosRequestConfig
9663
+ ): OperationResponse<Paths.GetCalendarTask.Responses.$200>;
9664
+ /**
9665
+ * updateCalendarTask - Update a task. `If-Match` makes the write conditional on the etag the caller read; a mismatch is 412.
9666
+ */
9667
+ 'patch'(
9668
+ parameters?: Parameters<Paths.UpdateCalendarTask.PathParameters & Paths.UpdateCalendarTask.QueryParameters> | null,
9669
+ data?: Paths.UpdateCalendarTask.RequestBody,
9670
+ config?: AxiosRequestConfig
9671
+ ): OperationResponse<Paths.UpdateCalendarTask.Responses.$200>;
9672
+ /**
9673
+ * deleteCalendarTask - Delete a task. Same `If-Match` precondition as the update.
9674
+ */
9675
+ 'delete'(
9676
+ parameters?: Parameters<Paths.DeleteCalendarTask.PathParameters & Paths.DeleteCalendarTask.QueryParameters> | null,
9677
+ data?: any,
9678
+ config?: AxiosRequestConfig
9679
+ ): OperationResponse<Paths.DeleteCalendarTask.Responses.$204>;
9680
+ };
8787
9681
  ['/accounts/{accountId}/trash/empty']: {
8788
9682
  /**
8789
9683
  * emptyTrash - Permanently delete all messages in the Trash mailbox
@@ -9294,6 +10188,17 @@ export type SystemUpdateResponse = Components.Schemas.SystemUpdateResponse;
9294
10188
  export type SystemUpdateCheck = Components.Schemas.SystemUpdateCheck;
9295
10189
  export type SystemUpdateRun = Components.Schemas.SystemUpdateRun;
9296
10190
  export type ApplyUpdateInput = Components.Schemas.ApplyUpdateInput;
10191
+ export type PeopleListResponse = Components.Schemas.PeopleListResponse;
10192
+ export type Person = Components.Schemas.Person;
10193
+ export type PeopleForbiddenError = Components.Schemas.PeopleForbiddenError;
10194
+ export type StepUpInput = Components.Schemas.StepUpInput;
10195
+ export type StepUpResponse = Components.Schemas.StepUpResponse;
10196
+ export type StepUpLockedError = Components.Schemas.StepUpLockedError;
10197
+ export type SignOutPersonInput = Components.Schemas.SignOutPersonInput;
10198
+ export type UpdatePersonInput = Components.Schemas.UpdatePersonInput;
10199
+ export type CannotDisableSelfError = Components.Schemas.CannotDisableSelfError;
10200
+ export type CreatePasswordResetInput = Components.Schemas.CreatePasswordResetInput;
10201
+ export type PasswordResetResponse = Components.Schemas.PasswordResetResponse;
9297
10202
  export type Mailbox = Components.Schemas.Mailbox;
9298
10203
  export type MailboxResponse = Components.Schemas.MailboxResponse;
9299
10204
  export type MailboxListResponse = Components.Schemas.MailboxListResponse;
@@ -9329,11 +10234,23 @@ export type CalendarFeedNotFound = Components.Schemas.CalendarFeedNotFound;
9329
10234
  export type CalendarEventListResponse = Components.Schemas.CalendarEventListResponse;
9330
10235
  export type CalendarEventInstance = Components.Schemas.CalendarEventInstance;
9331
10236
  export type CreateCalendarEventInput = Components.Schemas.CreateCalendarEventInput;
10237
+ export type CalendarAttendeeInput = Components.Schemas.CalendarAttendeeInput;
9332
10238
  export type CalendarObject = Components.Schemas.CalendarObject;
9333
10239
  export type CalendarEventResponse = Components.Schemas.CalendarEventResponse;
10240
+ export type CalendarAttendee = Components.Schemas.CalendarAttendee;
10241
+ export type CalendarAttendeeCounts = Components.Schemas.CalendarAttendeeCounts;
10242
+ export type CalendarSchedulingSend = Components.Schemas.CalendarSchedulingSend;
9334
10243
  export type UpdateCalendarEventInput = Components.Schemas.UpdateCalendarEventInput;
10244
+ export type CalendarEventDeleteResponse = Components.Schemas.CalendarEventDeleteResponse;
9335
10245
  export type CalendarFreeBusyResponse = Components.Schemas.CalendarFreeBusyResponse;
9336
10246
  export type CalendarFreeBusySpan = Components.Schemas.CalendarFreeBusySpan;
10247
+ export type UserSettingsResponse = Components.Schemas.UserSettingsResponse;
10248
+ export type UpdateUserSettingsInput = Components.Schemas.UpdateUserSettingsInput;
10249
+ export type CalendarTaskListResponse = Components.Schemas.CalendarTaskListResponse;
10250
+ export type CalendarTask = Components.Schemas.CalendarTask;
10251
+ export type CalendarTaskResponse = Components.Schemas.CalendarTaskResponse;
10252
+ export type CreateCalendarTaskInput = Components.Schemas.CreateCalendarTaskInput;
10253
+ export type UpdateCalendarTaskInput = Components.Schemas.UpdateCalendarTaskInput;
9337
10254
  export type EmptyTrashResponse = Components.Schemas.EmptyTrashResponse;
9338
10255
  export type SyncTriggerResponse = Components.Schemas.SyncTriggerResponse;
9339
10256
  export type AccountSyncStatusResponse = Components.Schemas.AccountSyncStatusResponse;
@@ -9429,6 +10346,7 @@ export type BodyPartParameter = Components.Schemas.BodyPartParameter;
9429
10346
  export type BodyStructureRefetch = Components.Schemas.BodyStructureRefetch;
9430
10347
  export type MessageSearchText = Components.Schemas.MessageSearchText;
9431
10348
  export type RawMessageStorage = Components.Schemas.RawMessageStorage;
10349
+ export type OutboxSchedulingPart = Components.Schemas.OutboxSchedulingPart;
9432
10350
  export type CalendarEventIndex = Components.Schemas.CalendarEventIndex;
9433
10351
  export type CalendarFeedToken = Components.Schemas.CalendarFeedToken;
9434
10352
  export type MessageLabel = Components.Schemas.MessageLabel;
@@ -9451,6 +10369,8 @@ export type ConfigImportOnExisting = Components.Schemas.ConfigImportOnExisting;
9451
10369
  export type SystemUpdateCheckStatus = Components.Schemas.SystemUpdateCheckStatus;
9452
10370
  export type SystemUpdatePhase = Components.Schemas.SystemUpdatePhase;
9453
10371
  export type SystemUpdateOutcome = Components.Schemas.SystemUpdateOutcome;
10372
+ export type PersonStatus = Components.Schemas.PersonStatus;
10373
+ export type StepUpAction = Components.Schemas.StepUpAction;
9454
10374
  export type NamespaceType = Components.Schemas.NamespaceType;
9455
10375
  export type MailboxSyncStatus = Components.Schemas.MailboxSyncStatus;
9456
10376
  export type MailboxCursorState = Components.Schemas.MailboxCursorState;
@@ -9468,7 +10388,13 @@ export type CalendarSource = Components.Schemas.CalendarSource;
9468
10388
  export type CalendarEventStatus = Components.Schemas.CalendarEventStatus;
9469
10389
  export type CalendarTransparency = Components.Schemas.CalendarTransparency;
9470
10390
  export type ZoneCertainty = Components.Schemas.ZoneCertainty;
10391
+ export type CalendarParticipation = Components.Schemas.CalendarParticipation;
10392
+ export type CalendarAttendeeRole = Components.Schemas.CalendarAttendeeRole;
10393
+ export type CalendarAttendeeStatus = Components.Schemas.CalendarAttendeeStatus;
10394
+ export type CalendarInviteMethod = Components.Schemas.CalendarInviteMethod;
10395
+ export type OutboxMessageStatus = Components.Schemas.OutboxMessageStatus;
9471
10396
  export type RecurrenceScope = Components.Schemas.RecurrenceScope;
10397
+ export type CalendarInviteAnswer = Components.Schemas.CalendarInviteAnswer;
9472
10398
  export type SortOrder = Components.Schemas.SortOrder;
9473
10399
  export type StarColor = Components.Schemas.StarColor;
9474
10400
  export type MessageCategory = Components.Schemas.MessageCategory;
@@ -9478,7 +10404,6 @@ export type MessageStatus = Components.Schemas.MessageStatus;
9478
10404
  export type MessageSyncStatus = Components.Schemas.MessageSyncStatus;
9479
10405
  export type MessageMutation = Components.Schemas.MessageMutation;
9480
10406
  export type PlacementAction = Components.Schemas.PlacementAction;
9481
- export type OutboxMessageStatus = Components.Schemas.OutboxMessageStatus;
9482
10407
  export type OutboxAttachmentState = Components.Schemas.OutboxAttachmentState;
9483
10408
  export type OutboxAttachmentRejectionReason = Components.Schemas.OutboxAttachmentRejectionReason;
9484
10409
  export type AddressFlagKey = Components.Schemas.AddressFlagKey;
@@ -9494,10 +10419,8 @@ export type MultipartSubtype = Components.Schemas.MultipartSubtype;
9494
10419
  export type ReferenceType = Components.Schemas.ReferenceType;
9495
10420
  export type LabelAction = Components.Schemas.LabelAction;
9496
10421
  export type CalendarSuggestionState = Components.Schemas.CalendarSuggestionState;
9497
- export type CalendarInviteMethod = Components.Schemas.CalendarInviteMethod;
9498
10422
  export type CalendarSuggestionSource = Components.Schemas.CalendarSuggestionSource;
9499
10423
  export type CalendarAnswerOvertaken = Components.Schemas.CalendarAnswerOvertaken;
9500
- export type CalendarInviteAnswer = Components.Schemas.CalendarInviteAnswer;
9501
10424
  export type MessageSystemFlag = Components.Schemas.MessageSystemFlag;
9502
10425
  export type MessageKeywordFlag = Components.Schemas.MessageKeywordFlag;
9503
10426
  export type MailboxAttribute = Components.Schemas.MailboxAttribute;