@axivoy/api 1.15.0 → 1.16.0

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.
@@ -10211,6 +10211,94 @@ export interface paths {
10211
10211
  patch?: never;
10212
10212
  trace?: never;
10213
10213
  };
10214
+ "/ops/sync.get": {
10215
+ parameters: {
10216
+ query?: never;
10217
+ header?: never;
10218
+ path?: never;
10219
+ cookie?: never;
10220
+ };
10221
+ get?: never;
10222
+ put?: never;
10223
+ /**
10224
+ * Sync run
10225
+ * @description One vendor sync run with each step's status, timing and error, in the order the steps ran.
10226
+ *
10227
+ * Kind: `read`. Errors use the envelope `{error: {code, reason, message, fields}}`.
10228
+ */
10229
+ post: operations["ops.sync.get"];
10230
+ delete?: never;
10231
+ options?: never;
10232
+ head?: never;
10233
+ patch?: never;
10234
+ trace?: never;
10235
+ };
10236
+ "/ops/sync.list": {
10237
+ parameters: {
10238
+ query?: never;
10239
+ header?: never;
10240
+ path?: never;
10241
+ cookie?: never;
10242
+ };
10243
+ get?: never;
10244
+ put?: never;
10245
+ /**
10246
+ * Sync runs
10247
+ * @description Recent vendor sync runs, newest first, with status, trigger and timing; filter by run name (for example daily) or status.
10248
+ *
10249
+ * Kind: `read`. Errors use the envelope `{error: {code, reason, message, fields}}`.
10250
+ */
10251
+ post: operations["ops.sync.list"];
10252
+ delete?: never;
10253
+ options?: never;
10254
+ head?: never;
10255
+ patch?: never;
10256
+ trace?: never;
10257
+ };
10258
+ "/ops/sync.schedule.get": {
10259
+ parameters: {
10260
+ query?: never;
10261
+ header?: never;
10262
+ path?: never;
10263
+ cookie?: never;
10264
+ };
10265
+ get?: never;
10266
+ put?: never;
10267
+ /**
10268
+ * Sync schedules
10269
+ * @description Every vendor sync schedule with its cadence, timezone and next run, including built-in defaults not yet changed.
10270
+ *
10271
+ * Kind: `read`. Errors use the envelope `{error: {code, reason, message, fields}}`.
10272
+ */
10273
+ post: operations["ops.sync.schedule.get"];
10274
+ delete?: never;
10275
+ options?: never;
10276
+ head?: never;
10277
+ patch?: never;
10278
+ trace?: never;
10279
+ };
10280
+ "/ops/sync.schedule.preview_next": {
10281
+ parameters: {
10282
+ query?: never;
10283
+ header?: never;
10284
+ path?: never;
10285
+ cookie?: never;
10286
+ };
10287
+ get?: never;
10288
+ put?: never;
10289
+ /**
10290
+ * Preview next sync run
10291
+ * @description Works out when a sync schedule with these settings would next run, without saving it.
10292
+ *
10293
+ * Kind: `read`. Errors use the envelope `{error: {code, reason, message, fields}}`.
10294
+ */
10295
+ post: operations["ops.sync.schedule.preview_next"];
10296
+ delete?: never;
10297
+ options?: never;
10298
+ head?: never;
10299
+ patch?: never;
10300
+ trace?: never;
10301
+ };
10214
10302
  "/ops/system.branding.get": {
10215
10303
  parameters: {
10216
10304
  query?: never;
@@ -10475,6 +10563,28 @@ export interface paths {
10475
10563
  patch?: never;
10476
10564
  trace?: never;
10477
10565
  };
10566
+ "/ops/system.settings.planned_mileage.list": {
10567
+ parameters: {
10568
+ query?: never;
10569
+ header?: never;
10570
+ path?: never;
10571
+ cookie?: never;
10572
+ };
10573
+ get?: never;
10574
+ put?: never;
10575
+ /**
10576
+ * Routing profiles
10577
+ * @description Planned mileage routing profiles per mileage provider, with the latest vehicle and routing options and which profile is effective.
10578
+ *
10579
+ * Kind: `read`. Errors use the envelope `{error: {code, reason, message, fields}}`.
10580
+ */
10581
+ post: operations["ops.system.settings.planned_mileage.list"];
10582
+ delete?: never;
10583
+ options?: never;
10584
+ head?: never;
10585
+ patch?: never;
10586
+ trace?: never;
10587
+ };
10478
10588
  "/ops/tasks.get": {
10479
10589
  parameters: {
10480
10590
  query?: never;
@@ -89808,7 +89918,7 @@ export interface operations {
89808
89918
  };
89809
89919
  };
89810
89920
  };
89811
- "ops.system.branding.get": {
89921
+ "ops.sync.get": {
89812
89922
  parameters: {
89813
89923
  query?: never;
89814
89924
  header?: {
@@ -89822,153 +89932,14 @@ export interface operations {
89822
89932
  };
89823
89933
  requestBody?: {
89824
89934
  content: {
89825
- /** @example {} */
89826
- "application/json": Record<string, never>;
89827
- };
89828
- };
89829
- responses: {
89830
- /** @description The operation ran. */
89831
- 200: {
89832
- headers: {
89833
- [name: string]: unknown;
89834
- };
89835
- content: {
89836
- /**
89837
- * @example {
89838
- * "result": {
89839
- * "display_name": "Tooli Logistics",
89840
- * "primary_color": "#4f46e5",
89841
- * "accent_color": "#6f75ef",
89842
- * "logo_url": null,
89843
- * "logo_dark_url": null,
89844
- * "favicon_url": null,
89845
- * "logo_alt": "Axivoy logo",
89846
- * "login_headline": null,
89847
- * "login_message": null,
89848
- * "is_customized": false,
89849
- * "uses_platform_logo": true
89850
- * }
89851
- * }
89852
- */
89853
- "application/json": {
89854
- result: {
89855
- /** @description Name shown in the app header and emails */
89856
- display_name: string;
89857
- /** @description Primary color (#RRGGBB) */
89858
- primary_color: string;
89859
- /** @description Accent color (#RRGGBB) */
89860
- accent_color: string;
89861
- /** @description Logo link */
89862
- logo_url?: string | null;
89863
- /** @description Dark-background logo link */
89864
- logo_dark_url?: string | null;
89865
- /** @description Favicon link */
89866
- favicon_url?: string | null;
89867
- /** @description Logo alt text */
89868
- logo_alt?: string | null;
89869
- /** @description Sign-in page headline */
89870
- login_headline?: string | null;
89871
- /** @description Sign-in page message */
89872
- login_message?: string | null;
89873
- /** @description Whether the workspace set any branding */
89874
- is_customized: boolean;
89875
- /** @description Whether the platform logo shows */
89876
- uses_platform_logo: boolean;
89877
- };
89878
- };
89879
- };
89880
- };
89881
- 202: components["responses"]["Proposal"];
89882
- /** @description Refused: credits_exhausted. */
89883
- 402: {
89884
- headers: {
89885
- [name: string]: unknown;
89886
- };
89887
- content: {
89888
- "application/json": components["schemas"]["OperationError"];
89889
- };
89890
- };
89891
- /** @description Refused: not_permitted, not_available, authority_off, data_class_blocked. */
89892
- 403: {
89893
- headers: {
89894
- [name: string]: unknown;
89895
- };
89896
- content: {
89897
- "application/json": components["schemas"]["OperationError"];
89898
- };
89899
- };
89900
- /** @description Refused: not_found. */
89901
- 404: {
89902
- headers: {
89903
- [name: string]: unknown;
89904
- };
89905
- content: {
89906
- "application/json": components["schemas"]["OperationError"];
89907
- };
89908
- };
89909
- /** @description Refused: idempotency_conflict, stale_state. */
89910
- 409: {
89911
- headers: {
89912
- [name: string]: unknown;
89913
- };
89914
- content: {
89915
- "application/json": components["schemas"]["OperationError"];
89916
- };
89917
- };
89918
- /** @description Refused: operation_retired. */
89919
- 410: {
89920
- headers: {
89921
- [name: string]: unknown;
89922
- };
89923
- content: {
89924
- "application/json": components["schemas"]["OperationError"];
89925
- };
89926
- };
89927
- /** @description Refused: invalid_input, domain_rule. */
89928
- 422: {
89929
- headers: {
89930
- [name: string]: unknown;
89931
- };
89932
- content: {
89933
- "application/json": components["schemas"]["OperationError"];
89934
- };
89935
- };
89936
- /** @description Refused: rate_limited. */
89937
- 429: {
89938
- headers: {
89939
- [name: string]: unknown;
89940
- };
89941
- content: {
89942
- "application/json": components["schemas"]["OperationError"];
89943
- };
89944
- };
89945
- };
89946
- };
89947
- "ops.system.domains.list": {
89948
- parameters: {
89949
- query?: never;
89950
- header?: {
89951
- /** @description Replays the first result when the same call is retried. Send one per user intent on writes. */
89952
- "Idempotency-Key"?: string;
89953
- /** @description Send `true` to run every check without changing anything. The answer is `{"dry_run": {"outcome": "would_run" | "would_propose", "input": {...}}}`. */
89954
- "Axivoy-Dry-Run"?: "true" | "false";
89955
- };
89956
- path?: never;
89957
- cookie?: never;
89958
- };
89959
- requestBody?: {
89960
- content: {
89961
- /** @example {} */
89935
+ /**
89936
+ * @example {
89937
+ * "sync_run_id": 1
89938
+ * }
89939
+ */
89962
89940
  "application/json": {
89963
- /** @description Cursor from the previous page's next_cursor. */
89964
- cursor?: string | null;
89965
- /** @description Rows per page (default 25). */
89966
- limit?: number | null;
89967
- /**
89968
- * Format: date-time
89969
- * @description Only rows changed at or after this instant, oldest change first, with deleted rows as tombstones.
89970
- */
89971
- updated_since?: string | null;
89941
+ /** @description The sync run */
89942
+ sync_run_id: number;
89972
89943
  };
89973
89944
  };
89974
89945
  };
@@ -89982,48 +89953,861 @@ export interface operations {
89982
89953
  /**
89983
89954
  * @example {
89984
89955
  * "result": {
89985
- * "items": [
89986
- * {
89987
- * "id": 1,
89988
- * "host": "sample.app.test",
89989
- * "kind": "company_subdomain",
89990
- * "status": "active",
89991
- * "is_primary": true,
89992
- * "protected": true,
89993
- * "verified_at": "2026-10-20T00:32:17Z",
89994
- * "deleted": null
89995
- * }
89996
- * ],
89997
- * "next_cursor": null
89956
+ * "id": 1,
89957
+ * "uuid": "e1a311fb-bb7f-4922-9553-22eee3e47c36",
89958
+ * "name": "meta-ads",
89959
+ * "trigger": "manual",
89960
+ * "status": "running",
89961
+ * "started_at": "2026-10-20T03:42:39Z",
89962
+ * "finished_at": null,
89963
+ * "duration_ms": null,
89964
+ * "error_message": null,
89965
+ * "steps": []
89998
89966
  * }
89999
89967
  * }
90000
89968
  */
90001
89969
  "application/json": {
90002
89970
  result: {
90003
- /** @description One page of rows. */
90004
- items: {
90005
- /** @description The row's id. */
90006
- id: number;
90007
- /** @description Host name */
90008
- host: string;
90009
- /** @description company_subdomain or custom */
90010
- kind?: string | null;
90011
- /** @description Domain status, for example pending_verification or active */
90012
- status?: string | null;
90013
- /** @description Whether links and sign-in use this domain */
90014
- is_primary: boolean;
90015
- /** @description Whether the domain can never be removed */
90016
- protected: boolean;
89971
+ /** @description Sync run id */
89972
+ id: number;
89973
+ /** @description Run id used in its page URL */
89974
+ uuid: string;
89975
+ /** @description Run name, for example daily */
89976
+ name: string;
89977
+ /** @description manual, schedule or another trigger */
89978
+ trigger: string;
89979
+ /** @description pending, running, succeeded, failed, partial or cancelled */
89980
+ status: string;
89981
+ /**
89982
+ * Format: date-time
89983
+ * @description When the run started
89984
+ */
89985
+ started_at?: string | null;
89986
+ /**
89987
+ * Format: date-time
89988
+ * @description When the run finished
89989
+ */
89990
+ finished_at?: string | null;
89991
+ /** @description Run time in milliseconds */
89992
+ duration_ms?: number | null;
89993
+ /** @description Failure text the vendor or job reported */
89994
+ error_message?: string | null;
89995
+ /** @description Steps in run order */
89996
+ steps: {
89997
+ /** @description Step key, for example alvys.loads */
89998
+ key: string;
89999
+ /** @description Step name shown on the page */
90000
+ label?: string | null;
90001
+ /** @description pending, running, succeeded, failed or skipped */
90002
+ status: string;
90017
90003
  /**
90018
90004
  * Format: date-time
90019
- * @description When the DNS records verified
90005
+ * @description When the step started
90020
90006
  */
90021
- verified_at?: string | null;
90022
- /** @description True on a tombstone (the row was deleted or recycled); other fields are absent. */
90023
- deleted?: boolean | null;
90007
+ started_at?: string | null;
90008
+ /**
90009
+ * Format: date-time
90010
+ * @description When the step finished
90011
+ */
90012
+ finished_at?: string | null;
90013
+ /** @description Step time in milliseconds */
90014
+ duration_ms?: number | null;
90015
+ /** @description Failure text the vendor or job reported */
90016
+ error?: string | null;
90024
90017
  }[];
90025
- /** @description Pass as cursor for the next page; null on the last page. */
90026
- next_cursor?: string | null;
90018
+ };
90019
+ };
90020
+ };
90021
+ };
90022
+ 202: components["responses"]["Proposal"];
90023
+ /** @description Refused: credits_exhausted. */
90024
+ 402: {
90025
+ headers: {
90026
+ [name: string]: unknown;
90027
+ };
90028
+ content: {
90029
+ "application/json": components["schemas"]["OperationError"];
90030
+ };
90031
+ };
90032
+ /** @description Refused: not_permitted, not_available, authority_off, data_class_blocked. */
90033
+ 403: {
90034
+ headers: {
90035
+ [name: string]: unknown;
90036
+ };
90037
+ content: {
90038
+ "application/json": components["schemas"]["OperationError"];
90039
+ };
90040
+ };
90041
+ /** @description Refused: not_found. */
90042
+ 404: {
90043
+ headers: {
90044
+ [name: string]: unknown;
90045
+ };
90046
+ content: {
90047
+ "application/json": components["schemas"]["OperationError"];
90048
+ };
90049
+ };
90050
+ /** @description Refused: idempotency_conflict, stale_state. */
90051
+ 409: {
90052
+ headers: {
90053
+ [name: string]: unknown;
90054
+ };
90055
+ content: {
90056
+ "application/json": components["schemas"]["OperationError"];
90057
+ };
90058
+ };
90059
+ /** @description Refused: operation_retired. */
90060
+ 410: {
90061
+ headers: {
90062
+ [name: string]: unknown;
90063
+ };
90064
+ content: {
90065
+ "application/json": components["schemas"]["OperationError"];
90066
+ };
90067
+ };
90068
+ /** @description Refused: invalid_input, domain_rule. */
90069
+ 422: {
90070
+ headers: {
90071
+ [name: string]: unknown;
90072
+ };
90073
+ content: {
90074
+ "application/json": components["schemas"]["OperationError"];
90075
+ };
90076
+ };
90077
+ /** @description Refused: rate_limited. */
90078
+ 429: {
90079
+ headers: {
90080
+ [name: string]: unknown;
90081
+ };
90082
+ content: {
90083
+ "application/json": components["schemas"]["OperationError"];
90084
+ };
90085
+ };
90086
+ };
90087
+ };
90088
+ "ops.sync.list": {
90089
+ parameters: {
90090
+ query?: never;
90091
+ header?: {
90092
+ /** @description Replays the first result when the same call is retried. Send one per user intent on writes. */
90093
+ "Idempotency-Key"?: string;
90094
+ /** @description Send `true` to run every check without changing anything. The answer is `{"dry_run": {"outcome": "would_run" | "would_propose", "input": {...}}}`. */
90095
+ "Axivoy-Dry-Run"?: "true" | "false";
90096
+ };
90097
+ path?: never;
90098
+ cookie?: never;
90099
+ };
90100
+ requestBody?: {
90101
+ content: {
90102
+ /** @example {} */
90103
+ "application/json": {
90104
+ /** @description Only runs with this name, for example daily or meta-ads */
90105
+ name?: string | null;
90106
+ /**
90107
+ * @description Only runs in this status
90108
+ * @enum {string|null}
90109
+ */
90110
+ status?: "pending" | "running" | "succeeded" | "failed" | "partial" | "cancelled" | null;
90111
+ /** @description Cursor from the previous page's next_cursor. */
90112
+ cursor?: string | null;
90113
+ /** @description Rows per page (default 25). */
90114
+ limit?: number | null;
90115
+ /**
90116
+ * Format: date-time
90117
+ * @description Only rows changed at or after this instant, oldest change first, with deleted rows as tombstones.
90118
+ */
90119
+ updated_since?: string | null;
90120
+ };
90121
+ };
90122
+ };
90123
+ responses: {
90124
+ /** @description The operation ran. */
90125
+ 200: {
90126
+ headers: {
90127
+ [name: string]: unknown;
90128
+ };
90129
+ content: {
90130
+ /**
90131
+ * @example {
90132
+ * "result": {
90133
+ * "items": [
90134
+ * {
90135
+ * "id": 1,
90136
+ * "uuid": "e1a311fb-bb7f-4922-9553-22eee3e47c36",
90137
+ * "name": "meta-ads",
90138
+ * "trigger": "manual",
90139
+ * "status": "running",
90140
+ * "started_at": "2026-10-20T03:42:39Z",
90141
+ * "finished_at": null,
90142
+ * "duration_ms": null,
90143
+ * "error_message": null,
90144
+ * "deleted": null
90145
+ * }
90146
+ * ],
90147
+ * "next_cursor": null
90148
+ * }
90149
+ * }
90150
+ */
90151
+ "application/json": {
90152
+ result: {
90153
+ /** @description One page of rows. */
90154
+ items: {
90155
+ /** @description The row's id. */
90156
+ id: number;
90157
+ /** @description Run id used in its page URL */
90158
+ uuid: string;
90159
+ /** @description Run name, for example daily */
90160
+ name: string;
90161
+ /** @description manual, schedule or another trigger */
90162
+ trigger: string;
90163
+ /** @description pending, running, succeeded, failed, partial or cancelled */
90164
+ status: string;
90165
+ /**
90166
+ * Format: date-time
90167
+ * @description When the run started
90168
+ */
90169
+ started_at?: string | null;
90170
+ /**
90171
+ * Format: date-time
90172
+ * @description When the run finished
90173
+ */
90174
+ finished_at?: string | null;
90175
+ /** @description Run time in milliseconds */
90176
+ duration_ms?: number | null;
90177
+ /** @description Failure text the vendor or job reported */
90178
+ error_message?: string | null;
90179
+ /** @description True on a tombstone (the row was deleted or recycled); other fields are absent. */
90180
+ deleted?: boolean | null;
90181
+ }[];
90182
+ /** @description Pass as cursor for the next page; null on the last page. */
90183
+ next_cursor?: string | null;
90184
+ };
90185
+ };
90186
+ };
90187
+ };
90188
+ 202: components["responses"]["Proposal"];
90189
+ /** @description Refused: credits_exhausted. */
90190
+ 402: {
90191
+ headers: {
90192
+ [name: string]: unknown;
90193
+ };
90194
+ content: {
90195
+ "application/json": components["schemas"]["OperationError"];
90196
+ };
90197
+ };
90198
+ /** @description Refused: not_permitted, not_available, authority_off, data_class_blocked. */
90199
+ 403: {
90200
+ headers: {
90201
+ [name: string]: unknown;
90202
+ };
90203
+ content: {
90204
+ "application/json": components["schemas"]["OperationError"];
90205
+ };
90206
+ };
90207
+ /** @description Refused: not_found. */
90208
+ 404: {
90209
+ headers: {
90210
+ [name: string]: unknown;
90211
+ };
90212
+ content: {
90213
+ "application/json": components["schemas"]["OperationError"];
90214
+ };
90215
+ };
90216
+ /** @description Refused: idempotency_conflict, stale_state. */
90217
+ 409: {
90218
+ headers: {
90219
+ [name: string]: unknown;
90220
+ };
90221
+ content: {
90222
+ "application/json": components["schemas"]["OperationError"];
90223
+ };
90224
+ };
90225
+ /** @description Refused: operation_retired. */
90226
+ 410: {
90227
+ headers: {
90228
+ [name: string]: unknown;
90229
+ };
90230
+ content: {
90231
+ "application/json": components["schemas"]["OperationError"];
90232
+ };
90233
+ };
90234
+ /** @description Refused: invalid_input, domain_rule. */
90235
+ 422: {
90236
+ headers: {
90237
+ [name: string]: unknown;
90238
+ };
90239
+ content: {
90240
+ "application/json": components["schemas"]["OperationError"];
90241
+ };
90242
+ };
90243
+ /** @description Refused: rate_limited. */
90244
+ 429: {
90245
+ headers: {
90246
+ [name: string]: unknown;
90247
+ };
90248
+ content: {
90249
+ "application/json": components["schemas"]["OperationError"];
90250
+ };
90251
+ };
90252
+ };
90253
+ };
90254
+ "ops.sync.schedule.get": {
90255
+ parameters: {
90256
+ query?: never;
90257
+ header?: {
90258
+ /** @description Replays the first result when the same call is retried. Send one per user intent on writes. */
90259
+ "Idempotency-Key"?: string;
90260
+ /** @description Send `true` to run every check without changing anything. The answer is `{"dry_run": {"outcome": "would_run" | "would_propose", "input": {...}}}`. */
90261
+ "Axivoy-Dry-Run"?: "true" | "false";
90262
+ };
90263
+ path?: never;
90264
+ cookie?: never;
90265
+ };
90266
+ requestBody?: {
90267
+ content: {
90268
+ /** @example {} */
90269
+ "application/json": Record<string, never>;
90270
+ };
90271
+ };
90272
+ responses: {
90273
+ /** @description The operation ran. */
90274
+ 200: {
90275
+ headers: {
90276
+ [name: string]: unknown;
90277
+ };
90278
+ content: {
90279
+ /**
90280
+ * @example {
90281
+ * "result": {
90282
+ * "items": [
90283
+ * {
90284
+ * "name": "alvys-active-freight",
90285
+ * "is_enabled": false,
90286
+ * "frequency_type": "interval",
90287
+ * "run_at_time": null,
90288
+ * "run_on_day_of_week": null,
90289
+ * "interval_minutes": 5,
90290
+ * "cron_expression": null,
90291
+ * "timezone": "UTC",
90292
+ * "next_due_at": null,
90293
+ * "next_due_display": "not scheduled",
90294
+ * "saved": false
90295
+ * },
90296
+ * {
90297
+ * "name": "daily",
90298
+ * "is_enabled": false,
90299
+ * "frequency_type": "daily",
90300
+ * "run_at_time": "02:00:00",
90301
+ * "run_on_day_of_week": null,
90302
+ * "interval_minutes": null,
90303
+ * "cron_expression": null,
90304
+ * "timezone": "UTC",
90305
+ * "next_due_at": null,
90306
+ * "next_due_display": "not scheduled",
90307
+ * "saved": false
90308
+ * },
90309
+ * {
90310
+ * "name": "meta-ads",
90311
+ * "is_enabled": false,
90312
+ * "frequency_type": "interval",
90313
+ * "run_at_time": null,
90314
+ * "run_on_day_of_week": null,
90315
+ * "interval_minutes": 180,
90316
+ * "cron_expression": null,
90317
+ * "timezone": "UTC",
90318
+ * "next_due_at": null,
90319
+ * "next_due_display": "not scheduled",
90320
+ * "saved": false
90321
+ * },
90322
+ * {
90323
+ * "name": "tiktok-ads",
90324
+ * "is_enabled": false,
90325
+ * "frequency_type": "interval",
90326
+ * "run_at_time": null,
90327
+ * "run_on_day_of_week": null,
90328
+ * "interval_minutes": 180,
90329
+ * "cron_expression": null,
90330
+ * "timezone": "UTC",
90331
+ * "next_due_at": null,
90332
+ * "next_due_display": "not scheduled",
90333
+ * "saved": false
90334
+ * },
90335
+ * {
90336
+ * "name": "weekly_scorecard_lock",
90337
+ * "is_enabled": false,
90338
+ * "frequency_type": "weekly",
90339
+ * "run_at_time": "02:00:00",
90340
+ * "run_on_day_of_week": 2,
90341
+ * "interval_minutes": null,
90342
+ * "cron_expression": null,
90343
+ * "timezone": "UTC",
90344
+ * "next_due_at": null,
90345
+ * "next_due_display": "not scheduled",
90346
+ * "saved": false
90347
+ * }
90348
+ * ]
90349
+ * }
90350
+ * }
90351
+ */
90352
+ "application/json": {
90353
+ result: {
90354
+ /** @description Schedules by name */
90355
+ items: {
90356
+ /** @description Schedule name, for example daily */
90357
+ name: string;
90358
+ /** @description Whether the schedule runs */
90359
+ is_enabled: boolean;
90360
+ /** @description daily, hourly, weekly, interval or cron */
90361
+ frequency_type: string;
90362
+ /** @description Local run time for daily and weekly schedules */
90363
+ run_at_time?: string | null;
90364
+ /** @description Weekday for weekly schedules, 0 is Sunday */
90365
+ run_on_day_of_week?: number | null;
90366
+ /** @description Minutes between runs for interval schedules */
90367
+ interval_minutes?: number | null;
90368
+ /** @description Cron expression for cron schedules */
90369
+ cron_expression?: string | null;
90370
+ /** @description IANA timezone the run time is in */
90371
+ timezone: string;
90372
+ /**
90373
+ * Format: date-time
90374
+ * @description When it runs next; empty when paused
90375
+ */
90376
+ next_due_at?: string | null;
90377
+ /** @description Next run in the schedule's timezone */
90378
+ next_due_display: string;
90379
+ /** @description False for a built-in default the workspace has not changed */
90380
+ saved: boolean;
90381
+ }[];
90382
+ };
90383
+ };
90384
+ };
90385
+ };
90386
+ 202: components["responses"]["Proposal"];
90387
+ /** @description Refused: credits_exhausted. */
90388
+ 402: {
90389
+ headers: {
90390
+ [name: string]: unknown;
90391
+ };
90392
+ content: {
90393
+ "application/json": components["schemas"]["OperationError"];
90394
+ };
90395
+ };
90396
+ /** @description Refused: not_permitted, not_available, authority_off, data_class_blocked. */
90397
+ 403: {
90398
+ headers: {
90399
+ [name: string]: unknown;
90400
+ };
90401
+ content: {
90402
+ "application/json": components["schemas"]["OperationError"];
90403
+ };
90404
+ };
90405
+ /** @description Refused: not_found. */
90406
+ 404: {
90407
+ headers: {
90408
+ [name: string]: unknown;
90409
+ };
90410
+ content: {
90411
+ "application/json": components["schemas"]["OperationError"];
90412
+ };
90413
+ };
90414
+ /** @description Refused: idempotency_conflict, stale_state. */
90415
+ 409: {
90416
+ headers: {
90417
+ [name: string]: unknown;
90418
+ };
90419
+ content: {
90420
+ "application/json": components["schemas"]["OperationError"];
90421
+ };
90422
+ };
90423
+ /** @description Refused: operation_retired. */
90424
+ 410: {
90425
+ headers: {
90426
+ [name: string]: unknown;
90427
+ };
90428
+ content: {
90429
+ "application/json": components["schemas"]["OperationError"];
90430
+ };
90431
+ };
90432
+ /** @description Refused: invalid_input, domain_rule. */
90433
+ 422: {
90434
+ headers: {
90435
+ [name: string]: unknown;
90436
+ };
90437
+ content: {
90438
+ "application/json": components["schemas"]["OperationError"];
90439
+ };
90440
+ };
90441
+ /** @description Refused: rate_limited. */
90442
+ 429: {
90443
+ headers: {
90444
+ [name: string]: unknown;
90445
+ };
90446
+ content: {
90447
+ "application/json": components["schemas"]["OperationError"];
90448
+ };
90449
+ };
90450
+ };
90451
+ };
90452
+ "ops.sync.schedule.preview_next": {
90453
+ parameters: {
90454
+ query?: never;
90455
+ header?: {
90456
+ /** @description Replays the first result when the same call is retried. Send one per user intent on writes. */
90457
+ "Idempotency-Key"?: string;
90458
+ /** @description Send `true` to run every check without changing anything. The answer is `{"dry_run": {"outcome": "would_run" | "would_propose", "input": {...}}}`. */
90459
+ "Axivoy-Dry-Run"?: "true" | "false";
90460
+ };
90461
+ path?: never;
90462
+ cookie?: never;
90463
+ };
90464
+ requestBody?: {
90465
+ content: {
90466
+ /**
90467
+ * @example {
90468
+ * "frequency_type": "daily",
90469
+ * "run_at_time": "05:45",
90470
+ * "timezone": "America/Denver"
90471
+ * }
90472
+ */
90473
+ "application/json": {
90474
+ /** @description Whether the schedule runs */
90475
+ is_enabled?: boolean | string | number | null;
90476
+ /** @description daily, hourly, weekly, interval or cron */
90477
+ frequency_type?: string | null;
90478
+ /** @description Local run time as HH:MM (24-hour) for daily and weekly */
90479
+ run_at_time?: string | null;
90480
+ /** @description Weekday for weekly, 0 is Sunday */
90481
+ run_on_day_of_week?: number | string | null;
90482
+ /** @description Minutes between runs for interval, 5 to 10080 */
90483
+ interval_minutes?: number | string | null;
90484
+ /** @description Cron expression for cron, for example 0 *\/6 * * * */
90485
+ cron_expression?: string | null;
90486
+ /** @description IANA timezone, for example America/Chicago */
90487
+ timezone?: string | null;
90488
+ /** @description Notes kept on the schedule */
90489
+ notes?: string | null;
90490
+ /** @description Alvys incremental lookback in days, 1 to 365 */
90491
+ alvys_incremental_lookback_days?: number | string | null;
90492
+ /** @description Days of history each run re-pulls, 1 to 365 */
90493
+ sync_lookback_days?: number | string | null;
90494
+ /** @description Weekly snapshots each run rebuilds, 1 to 52 */
90495
+ weekly_snapshot_max_weeks?: number | string | null;
90496
+ /** @description Hours after week end before the scorecard locks, 1 to 168 */
90497
+ weekly_scorecard_grace_hours?: number | string | null;
90498
+ };
90499
+ };
90500
+ };
90501
+ responses: {
90502
+ /** @description The operation ran. */
90503
+ 200: {
90504
+ headers: {
90505
+ [name: string]: unknown;
90506
+ };
90507
+ content: {
90508
+ /**
90509
+ * @example {
90510
+ * "result": {
90511
+ * "next_due_at_utc": "2026-10-20T11:45:00Z",
90512
+ * "next_due_display": "Tue Oct 20, 2026 5:45 AM MDT"
90513
+ * }
90514
+ * }
90515
+ */
90516
+ "application/json": {
90517
+ result: {
90518
+ /**
90519
+ * Format: date-time
90520
+ * @description Next run in UTC; empty when it would never run
90521
+ */
90522
+ next_due_at_utc?: string | null;
90523
+ /** @description Next run in the schedule's timezone */
90524
+ next_due_display: string;
90525
+ };
90526
+ };
90527
+ };
90528
+ };
90529
+ 202: components["responses"]["Proposal"];
90530
+ /** @description Refused: credits_exhausted. */
90531
+ 402: {
90532
+ headers: {
90533
+ [name: string]: unknown;
90534
+ };
90535
+ content: {
90536
+ "application/json": components["schemas"]["OperationError"];
90537
+ };
90538
+ };
90539
+ /** @description Refused: not_permitted, not_available, authority_off, data_class_blocked. */
90540
+ 403: {
90541
+ headers: {
90542
+ [name: string]: unknown;
90543
+ };
90544
+ content: {
90545
+ "application/json": components["schemas"]["OperationError"];
90546
+ };
90547
+ };
90548
+ /** @description Refused: not_found. */
90549
+ 404: {
90550
+ headers: {
90551
+ [name: string]: unknown;
90552
+ };
90553
+ content: {
90554
+ "application/json": components["schemas"]["OperationError"];
90555
+ };
90556
+ };
90557
+ /** @description Refused: idempotency_conflict, stale_state. */
90558
+ 409: {
90559
+ headers: {
90560
+ [name: string]: unknown;
90561
+ };
90562
+ content: {
90563
+ "application/json": components["schemas"]["OperationError"];
90564
+ };
90565
+ };
90566
+ /** @description Refused: operation_retired. */
90567
+ 410: {
90568
+ headers: {
90569
+ [name: string]: unknown;
90570
+ };
90571
+ content: {
90572
+ "application/json": components["schemas"]["OperationError"];
90573
+ };
90574
+ };
90575
+ /** @description Refused: invalid_input, domain_rule. */
90576
+ 422: {
90577
+ headers: {
90578
+ [name: string]: unknown;
90579
+ };
90580
+ content: {
90581
+ "application/json": components["schemas"]["OperationError"];
90582
+ };
90583
+ };
90584
+ /** @description Refused: rate_limited. */
90585
+ 429: {
90586
+ headers: {
90587
+ [name: string]: unknown;
90588
+ };
90589
+ content: {
90590
+ "application/json": components["schemas"]["OperationError"];
90591
+ };
90592
+ };
90593
+ };
90594
+ };
90595
+ "ops.system.branding.get": {
90596
+ parameters: {
90597
+ query?: never;
90598
+ header?: {
90599
+ /** @description Replays the first result when the same call is retried. Send one per user intent on writes. */
90600
+ "Idempotency-Key"?: string;
90601
+ /** @description Send `true` to run every check without changing anything. The answer is `{"dry_run": {"outcome": "would_run" | "would_propose", "input": {...}}}`. */
90602
+ "Axivoy-Dry-Run"?: "true" | "false";
90603
+ };
90604
+ path?: never;
90605
+ cookie?: never;
90606
+ };
90607
+ requestBody?: {
90608
+ content: {
90609
+ /** @example {} */
90610
+ "application/json": Record<string, never>;
90611
+ };
90612
+ };
90613
+ responses: {
90614
+ /** @description The operation ran. */
90615
+ 200: {
90616
+ headers: {
90617
+ [name: string]: unknown;
90618
+ };
90619
+ content: {
90620
+ /**
90621
+ * @example {
90622
+ * "result": {
90623
+ * "display_name": "Tooli Logistics",
90624
+ * "primary_color": "#4f46e5",
90625
+ * "accent_color": "#6f75ef",
90626
+ * "logo_url": null,
90627
+ * "logo_dark_url": null,
90628
+ * "favicon_url": null,
90629
+ * "logo_alt": "Axivoy logo",
90630
+ * "login_headline": null,
90631
+ * "login_message": null,
90632
+ * "is_customized": false,
90633
+ * "uses_platform_logo": true
90634
+ * }
90635
+ * }
90636
+ */
90637
+ "application/json": {
90638
+ result: {
90639
+ /** @description Name shown in the app header and emails */
90640
+ display_name: string;
90641
+ /** @description Primary color (#RRGGBB) */
90642
+ primary_color: string;
90643
+ /** @description Accent color (#RRGGBB) */
90644
+ accent_color: string;
90645
+ /** @description Logo link */
90646
+ logo_url?: string | null;
90647
+ /** @description Dark-background logo link */
90648
+ logo_dark_url?: string | null;
90649
+ /** @description Favicon link */
90650
+ favicon_url?: string | null;
90651
+ /** @description Logo alt text */
90652
+ logo_alt?: string | null;
90653
+ /** @description Sign-in page headline */
90654
+ login_headline?: string | null;
90655
+ /** @description Sign-in page message */
90656
+ login_message?: string | null;
90657
+ /** @description Whether the workspace set any branding */
90658
+ is_customized: boolean;
90659
+ /** @description Whether the platform logo shows */
90660
+ uses_platform_logo: boolean;
90661
+ };
90662
+ };
90663
+ };
90664
+ };
90665
+ 202: components["responses"]["Proposal"];
90666
+ /** @description Refused: credits_exhausted. */
90667
+ 402: {
90668
+ headers: {
90669
+ [name: string]: unknown;
90670
+ };
90671
+ content: {
90672
+ "application/json": components["schemas"]["OperationError"];
90673
+ };
90674
+ };
90675
+ /** @description Refused: not_permitted, not_available, authority_off, data_class_blocked. */
90676
+ 403: {
90677
+ headers: {
90678
+ [name: string]: unknown;
90679
+ };
90680
+ content: {
90681
+ "application/json": components["schemas"]["OperationError"];
90682
+ };
90683
+ };
90684
+ /** @description Refused: not_found. */
90685
+ 404: {
90686
+ headers: {
90687
+ [name: string]: unknown;
90688
+ };
90689
+ content: {
90690
+ "application/json": components["schemas"]["OperationError"];
90691
+ };
90692
+ };
90693
+ /** @description Refused: idempotency_conflict, stale_state. */
90694
+ 409: {
90695
+ headers: {
90696
+ [name: string]: unknown;
90697
+ };
90698
+ content: {
90699
+ "application/json": components["schemas"]["OperationError"];
90700
+ };
90701
+ };
90702
+ /** @description Refused: operation_retired. */
90703
+ 410: {
90704
+ headers: {
90705
+ [name: string]: unknown;
90706
+ };
90707
+ content: {
90708
+ "application/json": components["schemas"]["OperationError"];
90709
+ };
90710
+ };
90711
+ /** @description Refused: invalid_input, domain_rule. */
90712
+ 422: {
90713
+ headers: {
90714
+ [name: string]: unknown;
90715
+ };
90716
+ content: {
90717
+ "application/json": components["schemas"]["OperationError"];
90718
+ };
90719
+ };
90720
+ /** @description Refused: rate_limited. */
90721
+ 429: {
90722
+ headers: {
90723
+ [name: string]: unknown;
90724
+ };
90725
+ content: {
90726
+ "application/json": components["schemas"]["OperationError"];
90727
+ };
90728
+ };
90729
+ };
90730
+ };
90731
+ "ops.system.domains.list": {
90732
+ parameters: {
90733
+ query?: never;
90734
+ header?: {
90735
+ /** @description Replays the first result when the same call is retried. Send one per user intent on writes. */
90736
+ "Idempotency-Key"?: string;
90737
+ /** @description Send `true` to run every check without changing anything. The answer is `{"dry_run": {"outcome": "would_run" | "would_propose", "input": {...}}}`. */
90738
+ "Axivoy-Dry-Run"?: "true" | "false";
90739
+ };
90740
+ path?: never;
90741
+ cookie?: never;
90742
+ };
90743
+ requestBody?: {
90744
+ content: {
90745
+ /** @example {} */
90746
+ "application/json": {
90747
+ /** @description Cursor from the previous page's next_cursor. */
90748
+ cursor?: string | null;
90749
+ /** @description Rows per page (default 25). */
90750
+ limit?: number | null;
90751
+ /**
90752
+ * Format: date-time
90753
+ * @description Only rows changed at or after this instant, oldest change first, with deleted rows as tombstones.
90754
+ */
90755
+ updated_since?: string | null;
90756
+ };
90757
+ };
90758
+ };
90759
+ responses: {
90760
+ /** @description The operation ran. */
90761
+ 200: {
90762
+ headers: {
90763
+ [name: string]: unknown;
90764
+ };
90765
+ content: {
90766
+ /**
90767
+ * @example {
90768
+ * "result": {
90769
+ * "items": [
90770
+ * {
90771
+ * "id": 1,
90772
+ * "host": "sample.app.test",
90773
+ * "kind": "company_subdomain",
90774
+ * "status": "active",
90775
+ * "is_primary": true,
90776
+ * "protected": true,
90777
+ * "verified_at": "2026-10-20T00:32:17Z",
90778
+ * "deleted": null
90779
+ * }
90780
+ * ],
90781
+ * "next_cursor": null
90782
+ * }
90783
+ * }
90784
+ */
90785
+ "application/json": {
90786
+ result: {
90787
+ /** @description One page of rows. */
90788
+ items: {
90789
+ /** @description The row's id. */
90790
+ id: number;
90791
+ /** @description Host name */
90792
+ host: string;
90793
+ /** @description company_subdomain or custom */
90794
+ kind?: string | null;
90795
+ /** @description Domain status, for example pending_verification or active */
90796
+ status?: string | null;
90797
+ /** @description Whether links and sign-in use this domain */
90798
+ is_primary: boolean;
90799
+ /** @description Whether the domain can never be removed */
90800
+ protected: boolean;
90801
+ /**
90802
+ * Format: date-time
90803
+ * @description When the DNS records verified
90804
+ */
90805
+ verified_at?: string | null;
90806
+ /** @description True on a tombstone (the row was deleted or recycled); other fields are absent. */
90807
+ deleted?: boolean | null;
90808
+ }[];
90809
+ /** @description Pass as cursor for the next page; null on the last page. */
90810
+ next_cursor?: string | null;
90027
90811
  };
90028
90812
  };
90029
90813
  };
@@ -93637,6 +94421,201 @@ export interface operations {
93637
94421
  };
93638
94422
  };
93639
94423
  };
94424
+ "ops.system.settings.planned_mileage.list": {
94425
+ parameters: {
94426
+ query?: never;
94427
+ header?: {
94428
+ /** @description Replays the first result when the same call is retried. Send one per user intent on writes. */
94429
+ "Idempotency-Key"?: string;
94430
+ /** @description Send `true` to run every check without changing anything. The answer is `{"dry_run": {"outcome": "would_run" | "would_propose", "input": {...}}}`. */
94431
+ "Axivoy-Dry-Run"?: "true" | "false";
94432
+ };
94433
+ path?: never;
94434
+ cookie?: never;
94435
+ };
94436
+ requestBody?: {
94437
+ content: {
94438
+ /** @example {} */
94439
+ "application/json": {
94440
+ /** @description Only this mileage provider, for example pcmiler or here */
94441
+ provider_key?: string | null;
94442
+ /** @description Cursor from the previous page's next_cursor. */
94443
+ cursor?: string | null;
94444
+ /** @description Rows per page (default 25). */
94445
+ limit?: number | null;
94446
+ /**
94447
+ * Format: date-time
94448
+ * @description Only rows changed at or after this instant, oldest change first, with deleted rows as tombstones.
94449
+ */
94450
+ updated_since?: string | null;
94451
+ };
94452
+ };
94453
+ };
94454
+ responses: {
94455
+ /** @description The operation ran. */
94456
+ 200: {
94457
+ headers: {
94458
+ [name: string]: unknown;
94459
+ };
94460
+ content: {
94461
+ /**
94462
+ * @example {
94463
+ * "result": {
94464
+ * "items": [
94465
+ * {
94466
+ * "id": 1,
94467
+ * "name": "Default (shipped)",
94468
+ * "provider_key": "pcmiler",
94469
+ * "is_effective": true,
94470
+ * "revision_number": 1,
94471
+ * "options": [
94472
+ * {
94473
+ * "section": "vehicle_profile",
94474
+ * "key": "profile_name",
94475
+ * "value": "Heavy Duty Semitrailer"
94476
+ * },
94477
+ * {
94478
+ * "section": "vehicle_profile",
94479
+ * "key": "hazmat",
94480
+ * "value": "false"
94481
+ * },
94482
+ * {
94483
+ * "section": "routing_policy",
94484
+ * "key": "routing_type",
94485
+ * "value": "0"
94486
+ * },
94487
+ * {
94488
+ * "section": "routing_policy",
94489
+ * "key": "toll_roads",
94490
+ * "value": "2"
94491
+ * },
94492
+ * {
94493
+ * "section": "routing_policy",
94494
+ * "key": "borders_open",
94495
+ * "value": "false"
94496
+ * },
94497
+ * {
94498
+ * "section": "routing_policy",
94499
+ * "key": "use_traffic",
94500
+ * "value": "false"
94501
+ * },
94502
+ * {
94503
+ * "section": "routing_policy",
94504
+ * "key": "data_version",
94505
+ * "value": "PCM37"
94506
+ * }
94507
+ * ],
94508
+ * "updated_at": "2026-01-01T00:00:00Z",
94509
+ * "deleted": null
94510
+ * }
94511
+ * ],
94512
+ * "next_cursor": null
94513
+ * }
94514
+ * }
94515
+ */
94516
+ "application/json": {
94517
+ result: {
94518
+ /** @description One page of rows. */
94519
+ items: {
94520
+ /** @description The row's id. */
94521
+ id: number;
94522
+ /** @description Profile name */
94523
+ name: string;
94524
+ /** @description Mileage provider */
94525
+ provider_key: string;
94526
+ /** @description Whether newly planned trips use this profile */
94527
+ is_effective: boolean;
94528
+ /** @description Latest revision; each save adds one */
94529
+ revision_number?: number | null;
94530
+ /** @description Latest vehicle and routing options */
94531
+ options: {
94532
+ /** @description vehicle_profile or routing_policy */
94533
+ section: string;
94534
+ /** @description Option name the provider defines */
94535
+ key: string;
94536
+ /** @description Option value as text */
94537
+ value?: string | null;
94538
+ }[];
94539
+ /**
94540
+ * Format: date-time
94541
+ * @description When the profile last changed
94542
+ */
94543
+ updated_at?: string | null;
94544
+ /** @description True on a tombstone (the row was deleted or recycled); other fields are absent. */
94545
+ deleted?: boolean | null;
94546
+ }[];
94547
+ /** @description Pass as cursor for the next page; null on the last page. */
94548
+ next_cursor?: string | null;
94549
+ };
94550
+ };
94551
+ };
94552
+ };
94553
+ 202: components["responses"]["Proposal"];
94554
+ /** @description Refused: credits_exhausted. */
94555
+ 402: {
94556
+ headers: {
94557
+ [name: string]: unknown;
94558
+ };
94559
+ content: {
94560
+ "application/json": components["schemas"]["OperationError"];
94561
+ };
94562
+ };
94563
+ /** @description Refused: not_permitted, not_available, authority_off, data_class_blocked. */
94564
+ 403: {
94565
+ headers: {
94566
+ [name: string]: unknown;
94567
+ };
94568
+ content: {
94569
+ "application/json": components["schemas"]["OperationError"];
94570
+ };
94571
+ };
94572
+ /** @description Refused: not_found. */
94573
+ 404: {
94574
+ headers: {
94575
+ [name: string]: unknown;
94576
+ };
94577
+ content: {
94578
+ "application/json": components["schemas"]["OperationError"];
94579
+ };
94580
+ };
94581
+ /** @description Refused: idempotency_conflict, stale_state. */
94582
+ 409: {
94583
+ headers: {
94584
+ [name: string]: unknown;
94585
+ };
94586
+ content: {
94587
+ "application/json": components["schemas"]["OperationError"];
94588
+ };
94589
+ };
94590
+ /** @description Refused: operation_retired. */
94591
+ 410: {
94592
+ headers: {
94593
+ [name: string]: unknown;
94594
+ };
94595
+ content: {
94596
+ "application/json": components["schemas"]["OperationError"];
94597
+ };
94598
+ };
94599
+ /** @description Refused: invalid_input, domain_rule. */
94600
+ 422: {
94601
+ headers: {
94602
+ [name: string]: unknown;
94603
+ };
94604
+ content: {
94605
+ "application/json": components["schemas"]["OperationError"];
94606
+ };
94607
+ };
94608
+ /** @description Refused: rate_limited. */
94609
+ 429: {
94610
+ headers: {
94611
+ [name: string]: unknown;
94612
+ };
94613
+ content: {
94614
+ "application/json": components["schemas"]["OperationError"];
94615
+ };
94616
+ };
94617
+ };
94618
+ };
93640
94619
  "ops.tasks.get": {
93641
94620
  parameters: {
93642
94621
  query?: never;