@faable/deploy-sdk 2.15.0 → 2.17.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.
@@ -22,6 +22,14 @@ export declare abstract class GeneratedFaableDeployApi extends FaableApi {
22
22
  * `GET /app/checkname` — operationId: `app/checkname`
23
23
  *
24
24
  * Check if an app name is availiable
25
+ *
26
+ * @throws {FaableApiError} `validation_error` (400) — The body, query or path failed schema validation. `details.issues` lists each failing field.
27
+ * @throws {FaableApiError} `unauthorized` (401) — The request carries no valid credentials.
28
+ * @throws {FaableApiError} `invalid_token` (401) — The bearer token is missing, malformed or expired.
29
+ * @throws {FaableApiError} `forbidden` (403) — The credentials are valid but do not allow this operation.
30
+ * @throws {FaableApiError} `user_suspended` (403) — The account is suspended. Contact support@faable.com.
31
+ * @throws {FaableApiError} `too_many_requests` (429) — Rate limit exceeded. Honour the `Retry-After` header.
32
+ * @throws {FaableApiError} `internal_error` (500) — Unexpected server error. Retry later; the request id is logged.
25
33
  */
26
34
  appCheckname(params?: OpQuery<"app/checkname">): Promise<{
27
35
  name: string;
@@ -34,6 +42,17 @@ export declare abstract class GeneratedFaableDeployApi extends FaableApi {
34
42
  * `POST /app` — operationId: `app/create`
35
43
  *
36
44
  * Create App
45
+ *
46
+ * @throws {FaableApiError} `already_exists` (400) — A resource with the same unique field already exists. `details.fields` names the field.
47
+ * @throws {FaableApiError} `validation_error` (400) — The body, query or path failed schema validation. `details.issues` lists each failing field.
48
+ * @throws {FaableApiError} `team_required` (400) — The operation needs a project: send it in the `x-faable-team` header.
49
+ * @throws {FaableApiError} `unauthorized` (401) — The request carries no valid credentials.
50
+ * @throws {FaableApiError} `invalid_token` (401) — The bearer token is missing, malformed or expired.
51
+ * @throws {FaableApiError} `user_suspended` (403) — The account is suspended. Contact support@faable.com.
52
+ * @throws {FaableApiError} `forbidden` (403) — The credentials are valid but do not allow this operation.
53
+ * @throws {FaableApiError} `app_rate_limited` (429) — A new account may only create a few apps in its first 24 hours.
54
+ * @throws {FaableApiError} `too_many_requests` (429) — Rate limit exceeded. Honour the `Retry-After` header.
55
+ * @throws {FaableApiError} `internal_error` (500) — Unexpected server error. Retry later; the request id is logged.
37
56
  */
38
57
  appCreate(data: OpBody<"app/create">): Promise<{
39
58
  id: string;
@@ -53,6 +72,7 @@ export declare abstract class GeneratedFaableDeployApi extends FaableApi {
53
72
  name: string;
54
73
  version?: string;
55
74
  };
75
+ dockerfile_ignored?: boolean;
56
76
  } | null;
57
77
  mode: import("./types.js").components["schemas"]["AppMode"];
58
78
  build_mode?: ("local" | "remote") | null;
@@ -64,6 +84,7 @@ export declare abstract class GeneratedFaableDeployApi extends FaableApi {
64
84
  instance_type: string;
65
85
  region: "gui1" | "poz1" | "ams1";
66
86
  notify_deploy_success?: boolean | null;
87
+ http3?: boolean | null;
67
88
  status: import("./types.js").components["schemas"]["AppStatus"];
68
89
  repository?: string;
69
90
  github_branch?: string;
@@ -83,6 +104,18 @@ export declare abstract class GeneratedFaableDeployApi extends FaableApi {
83
104
  * `DELETE /app/{id}` — operationId: `app/delete`
84
105
  *
85
106
  * Delete App
107
+ *
108
+ * @throws {FaableApiError} `invalid_id` (400) — The id in the path is not a valid id for this resource.
109
+ * @throws {FaableApiError} `validation_error` (400) — The body, query or path failed schema validation. `details.issues` lists each failing field.
110
+ * @throws {FaableApiError} `access_denied` (401) — The row exists but does not belong to the caller.
111
+ * @throws {FaableApiError} `unauthorized` (401) — The request carries no valid credentials.
112
+ * @throws {FaableApiError} `invalid_token` (401) — The bearer token is missing, malformed or expired.
113
+ * @throws {FaableApiError} `moderation_hold` (403) — The project contains an app disabled by moderation and cannot be deleted. Contact support@faable.com.
114
+ * @throws {FaableApiError} `user_suspended` (403) — The account is suspended. Contact support@faable.com.
115
+ * @throws {FaableApiError} `forbidden` (403) — The credentials are valid but do not allow this operation.
116
+ * @throws {FaableApiError} `not_found` (404) — The resource does not exist, or not in the caller’s project.
117
+ * @throws {FaableApiError} `too_many_requests` (429) — Rate limit exceeded. Honour the `Retry-After` header.
118
+ * @throws {FaableApiError} `internal_error` (500) — Unexpected server error. Retry later; the request id is logged.
86
119
  */
87
120
  appDelete(id: string): Promise<{
88
121
  id: string;
@@ -102,6 +135,7 @@ export declare abstract class GeneratedFaableDeployApi extends FaableApi {
102
135
  name: string;
103
136
  version?: string;
104
137
  };
138
+ dockerfile_ignored?: boolean;
105
139
  } | null;
106
140
  mode: import("./types.js").components["schemas"]["AppMode"];
107
141
  build_mode?: ("local" | "remote") | null;
@@ -113,6 +147,7 @@ export declare abstract class GeneratedFaableDeployApi extends FaableApi {
113
147
  instance_type: string;
114
148
  region: "gui1" | "poz1" | "ams1";
115
149
  notify_deploy_success?: boolean | null;
150
+ http3?: boolean | null;
116
151
  status: import("./types.js").components["schemas"]["AppStatus"];
117
152
  repository?: string;
118
153
  github_branch?: string;
@@ -134,6 +169,23 @@ export declare abstract class GeneratedFaableDeployApi extends FaableApi {
134
169
  * Deploy the latest commit now
135
170
  *
136
171
  * Build and deploy the current head of the deploy branch, without waiting for a push. Same path as a push webhook, including the same-commit dedupe.
172
+ *
173
+ * @throws {FaableApiError} `branch_missing` (400) — The deploy branch does not exist on the repository. `message` lists the branches that do.
174
+ * @throws {FaableApiError} `deploy_mode_conflict` (400) — The app deploys from its own workflow, so the platform will not create a deployment for it.
175
+ * @throws {FaableApiError} `repository_empty` (400) — The repository has no commits on the deploy branch yet.
176
+ * @throws {FaableApiError} `repository_not_linked` (400) — The app has no linked repository.
177
+ * @throws {FaableApiError} `validation_error` (400) — The body, query or path failed schema validation. `details.issues` lists each failing field.
178
+ * @throws {FaableApiError} `github_token_invalid` (401) — The stored GitHub token was rejected; the user must reconnect.
179
+ * @throws {FaableApiError} `user_token_required` (401) — The endpoint acts on behalf of a person and the credential carries no user (an API key or a service account).
180
+ * @throws {FaableApiError} `unauthorized` (401) — The request carries no valid credentials.
181
+ * @throws {FaableApiError} `invalid_token` (401) — The bearer token is missing, malformed or expired.
182
+ * @throws {FaableApiError} `forbidden` (403) — The credentials are valid but do not allow this operation.
183
+ * @throws {FaableApiError} `user_suspended` (403) — The account is suspended. Contact support@faable.com.
184
+ * @throws {FaableApiError} `deploy_refused` (409) — The deploy was refused by quota, plan or an in-flight deployment. `message` says which.
185
+ * @throws {FaableApiError} `github_identity_missing` (412) — The user has not connected GitHub. Send them through `connect_github`.
186
+ * @throws {FaableApiError} `too_many_requests` (429) — Rate limit exceeded. Honour the `Retry-After` header.
187
+ * @throws {FaableApiError} `internal_error` (500) — Unexpected server error. Retry later; the request id is logged.
188
+ * @throws {FaableApiError} `github_error` (502) — GitHub failed upstream. `message` carries what it said.
137
189
  */
138
190
  appDeployNow(id: string): Promise<{
139
191
  status: "created";
@@ -144,6 +196,18 @@ export declare abstract class GeneratedFaableDeployApi extends FaableApi {
144
196
  * `GET /app/{id}` — operationId: `app/get`
145
197
  *
146
198
  * Get App
199
+ *
200
+ * @throws {FaableApiError} `invalid_id` (400) — The id in the path is not a valid id for this resource.
201
+ * @throws {FaableApiError} `invalid_expand` (400) — An `?expand=` path is not allowed on this resource.
202
+ * @throws {FaableApiError} `validation_error` (400) — The body, query or path failed schema validation. `details.issues` lists each failing field.
203
+ * @throws {FaableApiError} `access_denied` (401) — The row exists but does not belong to the caller.
204
+ * @throws {FaableApiError} `unauthorized` (401) — The request carries no valid credentials.
205
+ * @throws {FaableApiError} `invalid_token` (401) — The bearer token is missing, malformed or expired.
206
+ * @throws {FaableApiError} `forbidden` (403) — The credentials are valid but do not allow this operation.
207
+ * @throws {FaableApiError} `user_suspended` (403) — The account is suspended. Contact support@faable.com.
208
+ * @throws {FaableApiError} `not_found` (404) — The resource does not exist, or not in the caller’s project.
209
+ * @throws {FaableApiError} `too_many_requests` (429) — Rate limit exceeded. Honour the `Retry-After` header.
210
+ * @throws {FaableApiError} `internal_error` (500) — Unexpected server error. Retry later; the request id is logged.
147
211
  */
148
212
  appGet(id: string, params?: OpQuery<"app/get">): Promise<{
149
213
  id: string;
@@ -163,6 +227,7 @@ export declare abstract class GeneratedFaableDeployApi extends FaableApi {
163
227
  name: string;
164
228
  version?: string;
165
229
  };
230
+ dockerfile_ignored?: boolean;
166
231
  } | null;
167
232
  mode: import("./types.js").components["schemas"]["AppMode"];
168
233
  build_mode?: ("local" | "remote") | null;
@@ -174,6 +239,7 @@ export declare abstract class GeneratedFaableDeployApi extends FaableApi {
174
239
  instance_type: string;
175
240
  region: "gui1" | "poz1" | "ams1";
176
241
  notify_deploy_success?: boolean | null;
242
+ http3?: boolean | null;
177
243
  status: import("./types.js").components["schemas"]["AppStatus"];
178
244
  repository?: string;
179
245
  github_branch?: string;
@@ -193,6 +259,16 @@ export declare abstract class GeneratedFaableDeployApi extends FaableApi {
193
259
  * `GET /app/{app_id}/registry` — operationId: `app/get_registry`
194
260
  *
195
261
  * Get app registry
262
+ *
263
+ * @throws {FaableApiError} `validation_error` (400) — The body, query or path failed schema validation. `details.issues` lists each failing field.
264
+ * @throws {FaableApiError} `unauthorized` (401) — The request carries no valid credentials.
265
+ * @throws {FaableApiError} `invalid_token` (401) — The bearer token is missing, malformed or expired.
266
+ * @throws {FaableApiError} `forbidden` (403) — The credentials are valid but do not allow this operation.
267
+ * @throws {FaableApiError} `user_suspended` (403) — The account is suspended. Contact support@faable.com.
268
+ * @throws {FaableApiError} `app_disabled` (409) — The app is disabled, so it cannot be deployed or provisioned. `message` says why when the reason is public.
269
+ * @throws {FaableApiError} `too_many_requests` (429) — Rate limit exceeded. Honour the `Retry-After` header.
270
+ * @throws {FaableApiError} `internal_error` (500) — Unexpected server error. Retry later; the request id is logged.
271
+ * @throws {FaableApiError} `bad_gateway` (502) — An upstream the API depends on failed.
196
272
  */
197
273
  appGetRegistry(app_id: string): Promise<{
198
274
  id: string;
@@ -208,6 +284,25 @@ export declare abstract class GeneratedFaableDeployApi extends FaableApi {
208
284
  * Link a GitHub repository to an app
209
285
  *
210
286
  * Link a GitHub repository to an app after verifying the user has a connected GitHub identity with access to the repository.
287
+ *
288
+ * @throws {FaableApiError} `validation_error` (400) — The body, query or path failed schema validation. `details.issues` lists each failing field.
289
+ * @throws {FaableApiError} `github_token_invalid` (401) — The stored GitHub token was rejected; the user must reconnect.
290
+ * @throws {FaableApiError} `user_token_required` (401) — The endpoint acts on behalf of a person and the credential carries no user (an API key or a service account).
291
+ * @throws {FaableApiError} `unauthorized` (401) — The request carries no valid credentials.
292
+ * @throws {FaableApiError} `invalid_token` (401) — The bearer token is missing, malformed or expired.
293
+ * @throws {FaableApiError} `github_installation_suspended` (403) — The GitHub App installation is suspended.
294
+ * @throws {FaableApiError} `github_permission_denied` (403) — The installation lacks a permission this operation needs.
295
+ * @throws {FaableApiError} `github_repository_blocked` (403) — GitHub refuses to serve the source of that repository (403 or 451).
296
+ * @throws {FaableApiError} `forbidden` (403) — The credentials are valid but do not allow this operation.
297
+ * @throws {FaableApiError} `user_suspended` (403) — The account is suspended. Contact support@faable.com.
298
+ * @throws {FaableApiError} `github_repository_not_found` (404) — The repository does not exist or the installation cannot see it.
299
+ * @throws {FaableApiError} `repository_already_linked` (409) — The repository is already linked to another app. `details.app_id` / `details.app_name` name it.
300
+ * @throws {FaableApiError} `repository_taken_down` (409) — An app built from this repository was taken down for abuse, so the repository cannot be linked again. Not a plan limit — upgrading does not lift it. Restoring the taken-down app does.
301
+ * @throws {FaableApiError} `github_identity_missing` (412) — The user has not connected GitHub. Send them through `connect_github`.
302
+ * @throws {FaableApiError} `github_installation_missing` (412) — The Faable GitHub App is not installed on any repository of theirs.
303
+ * @throws {FaableApiError} `too_many_requests` (429) — Rate limit exceeded. Honour the `Retry-After` header.
304
+ * @throws {FaableApiError} `internal_error` (500) — Unexpected server error. Retry later; the request id is logged.
305
+ * @throws {FaableApiError} `github_error` (502) — GitHub failed upstream. `message` carries what it said.
211
306
  */
212
307
  appLinkRepository(id: string, data: OpBody<"app/link_repository">): Promise<{
213
308
  id: string;
@@ -227,6 +322,7 @@ export declare abstract class GeneratedFaableDeployApi extends FaableApi {
227
322
  name: string;
228
323
  version?: string;
229
324
  };
325
+ dockerfile_ignored?: boolean;
230
326
  } | null;
231
327
  mode: import("./types.js").components["schemas"]["AppMode"];
232
328
  build_mode?: ("local" | "remote") | null;
@@ -238,6 +334,7 @@ export declare abstract class GeneratedFaableDeployApi extends FaableApi {
238
334
  instance_type: string;
239
335
  region: "gui1" | "poz1" | "ams1";
240
336
  notify_deploy_success?: boolean | null;
337
+ http3?: boolean | null;
241
338
  status: import("./types.js").components["schemas"]["AppStatus"];
242
339
  repository?: string;
243
340
  github_branch?: string;
@@ -257,6 +354,18 @@ export declare abstract class GeneratedFaableDeployApi extends FaableApi {
257
354
  * `GET /app` — operationId: `app/list`
258
355
  *
259
356
  * List Apps
357
+ *
358
+ * @throws {FaableApiError} `invalid_query` (400) — The `?query=` FaableQL expression could not be parsed.
359
+ * @throws {FaableApiError} `invalid_expand` (400) — An `?expand=` path is not allowed on this resource.
360
+ * @throws {FaableApiError} `search_not_supported` (400) — This resource does not support `?q=`.
361
+ * @throws {FaableApiError} `validation_error` (400) — The body, query or path failed schema validation. `details.issues` lists each failing field.
362
+ * @throws {FaableApiError} `team_or_scope_required` (401) — Listing needs either a project in `x-faable-team` or a global scope on the token.
363
+ * @throws {FaableApiError} `unauthorized` (401) — The request carries no valid credentials.
364
+ * @throws {FaableApiError} `invalid_token` (401) — The bearer token is missing, malformed or expired.
365
+ * @throws {FaableApiError} `forbidden` (403) — The credentials are valid but do not allow this operation.
366
+ * @throws {FaableApiError} `user_suspended` (403) — The account is suspended. Contact support@faable.com.
367
+ * @throws {FaableApiError} `too_many_requests` (429) — Rate limit exceeded. Honour the `Retry-After` header.
368
+ * @throws {FaableApiError} `internal_error` (500) — Unexpected server error. Retry later; the request id is logged.
260
369
  */
261
370
  appList(params?: Omit<OpQuery<"app/list">, "cursor" | "next">): {
262
371
  all: () => Promise<{
@@ -277,6 +386,7 @@ export declare abstract class GeneratedFaableDeployApi extends FaableApi {
277
386
  name: string;
278
387
  version?: string;
279
388
  };
389
+ dockerfile_ignored?: boolean;
280
390
  } | null;
281
391
  mode: import("./types.js").components["schemas"]["AppMode"];
282
392
  build_mode?: ("local" | "remote") | null;
@@ -288,6 +398,7 @@ export declare abstract class GeneratedFaableDeployApi extends FaableApi {
288
398
  instance_type: string;
289
399
  region: "gui1" | "poz1" | "ams1";
290
400
  notify_deploy_success?: boolean | null;
401
+ http3?: boolean | null;
291
402
  status: import("./types.js").components["schemas"]["AppStatus"];
292
403
  repository?: string;
293
404
  github_branch?: string;
@@ -321,6 +432,7 @@ export declare abstract class GeneratedFaableDeployApi extends FaableApi {
321
432
  name: string;
322
433
  version?: string;
323
434
  };
435
+ dockerfile_ignored?: boolean;
324
436
  } | null;
325
437
  mode: import("./types.js").components["schemas"]["AppMode"];
326
438
  build_mode?: ("local" | "remote") | null;
@@ -332,6 +444,7 @@ export declare abstract class GeneratedFaableDeployApi extends FaableApi {
332
444
  instance_type: string;
333
445
  region: "gui1" | "poz1" | "ams1";
334
446
  notify_deploy_success?: boolean | null;
447
+ http3?: boolean | null;
335
448
  status: import("./types.js").components["schemas"]["AppStatus"];
336
449
  repository?: string;
337
450
  github_branch?: string;
@@ -368,6 +481,7 @@ export declare abstract class GeneratedFaableDeployApi extends FaableApi {
368
481
  name: string;
369
482
  version?: string;
370
483
  };
484
+ dockerfile_ignored?: boolean;
371
485
  } | null;
372
486
  mode: import("./types.js").components["schemas"]["AppMode"];
373
487
  build_mode?: ("local" | "remote") | null;
@@ -379,6 +493,7 @@ export declare abstract class GeneratedFaableDeployApi extends FaableApi {
379
493
  instance_type: string;
380
494
  region: "gui1" | "poz1" | "ams1";
381
495
  notify_deploy_success?: boolean | null;
496
+ http3?: boolean | null;
382
497
  status: import("./types.js").components["schemas"]["AppStatus"];
383
498
  repository?: string;
384
499
  github_branch?: string;
@@ -399,6 +514,14 @@ export declare abstract class GeneratedFaableDeployApi extends FaableApi {
399
514
  * `GET /app/{app_id}/logs` — operationId: `app/logs`
400
515
  *
401
516
  * Get app logs
517
+ *
518
+ * @throws {FaableApiError} `validation_error` (400) — The body, query or path failed schema validation. `details.issues` lists each failing field.
519
+ * @throws {FaableApiError} `unauthorized` (401) — The request carries no valid credentials.
520
+ * @throws {FaableApiError} `invalid_token` (401) — The bearer token is missing, malformed or expired.
521
+ * @throws {FaableApiError} `forbidden` (403) — The credentials are valid but do not allow this operation.
522
+ * @throws {FaableApiError} `user_suspended` (403) — The account is suspended. Contact support@faable.com.
523
+ * @throws {FaableApiError} `too_many_requests` (429) — Rate limit exceeded. Honour the `Retry-After` header.
524
+ * @throws {FaableApiError} `internal_error` (500) — Unexpected server error. Retry later; the request id is logged.
402
525
  */
403
526
  appLogs(app_id: string, params?: OpQuery<"app/logs">): Promise<void>;
404
527
  /**
@@ -407,6 +530,17 @@ export declare abstract class GeneratedFaableDeployApi extends FaableApi {
407
530
  * List repository branches
408
531
  *
409
532
  * Branch names of the linked repository.
533
+ *
534
+ * @throws {FaableApiError} `validation_error` (400) — The body, query or path failed schema validation. `details.issues` lists each failing field.
535
+ * @throws {FaableApiError} `github_token_invalid` (401) — The stored GitHub token was rejected; the user must reconnect.
536
+ * @throws {FaableApiError} `unauthorized` (401) — The request carries no valid credentials.
537
+ * @throws {FaableApiError} `invalid_token` (401) — The bearer token is missing, malformed or expired.
538
+ * @throws {FaableApiError} `forbidden` (403) — The credentials are valid but do not allow this operation.
539
+ * @throws {FaableApiError} `user_suspended` (403) — The account is suspended. Contact support@faable.com.
540
+ * @throws {FaableApiError} `github_repository_not_found` (404) — The repository does not exist or the installation cannot see it.
541
+ * @throws {FaableApiError} `too_many_requests` (429) — Rate limit exceeded. Honour the `Retry-After` header.
542
+ * @throws {FaableApiError} `internal_error` (500) — Unexpected server error. Retry later; the request id is logged.
543
+ * @throws {FaableApiError} `github_error` (502) — GitHub failed upstream. `message` carries what it said.
410
544
  */
411
545
  appRepoBranches(id: string): Promise<{
412
546
  branches: string[];
@@ -417,6 +551,17 @@ export declare abstract class GeneratedFaableDeployApi extends FaableApi {
417
551
  * Get effective repository build config
418
552
  *
419
553
  * Effective build configuration read from the repository: the monorepo Root Directory and its source (platform override or the repo's faable.json).
554
+ *
555
+ * @throws {FaableApiError} `validation_error` (400) — The body, query or path failed schema validation. `details.issues` lists each failing field.
556
+ * @throws {FaableApiError} `github_token_invalid` (401) — The stored GitHub token was rejected; the user must reconnect.
557
+ * @throws {FaableApiError} `unauthorized` (401) — The request carries no valid credentials.
558
+ * @throws {FaableApiError} `invalid_token` (401) — The bearer token is missing, malformed or expired.
559
+ * @throws {FaableApiError} `forbidden` (403) — The credentials are valid but do not allow this operation.
560
+ * @throws {FaableApiError} `user_suspended` (403) — The account is suspended. Contact support@faable.com.
561
+ * @throws {FaableApiError} `github_repository_not_found` (404) — The repository does not exist or the installation cannot see it.
562
+ * @throws {FaableApiError} `too_many_requests` (429) — Rate limit exceeded. Honour the `Retry-After` header.
563
+ * @throws {FaableApiError} `internal_error` (500) — Unexpected server error. Retry later; the request id is logged.
564
+ * @throws {FaableApiError} `github_error` (502) — GitHub failed upstream. `message` carries what it said.
420
565
  */
421
566
  appRepoConfig(id: string): Promise<{
422
567
  root_dir: string | null;
@@ -428,6 +573,14 @@ export declare abstract class GeneratedFaableDeployApi extends FaableApi {
428
573
  * List repository directories
429
574
  *
430
575
  * Directories of the linked repository on the deploy branch, flagged with whether each one holds a buildable manifest. Feeds the Root Directory picker so a monorepo is configured from what the repository actually contains. Limited to three levels deep; dotted directories and node_modules are excluded.
576
+ *
577
+ * @throws {FaableApiError} `validation_error` (400) — The body, query or path failed schema validation. `details.issues` lists each failing field.
578
+ * @throws {FaableApiError} `unauthorized` (401) — The request carries no valid credentials.
579
+ * @throws {FaableApiError} `invalid_token` (401) — The bearer token is missing, malformed or expired.
580
+ * @throws {FaableApiError} `forbidden` (403) — The credentials are valid but do not allow this operation.
581
+ * @throws {FaableApiError} `user_suspended` (403) — The account is suspended. Contact support@faable.com.
582
+ * @throws {FaableApiError} `too_many_requests` (429) — Rate limit exceeded. Honour the `Retry-After` header.
583
+ * @throws {FaableApiError} `internal_error` (500) — Unexpected server error. Retry later; the request id is logged.
431
584
  */
432
585
  appRepoDirectories(id: string): Promise<{
433
586
  directories: {
@@ -442,10 +595,22 @@ export declare abstract class GeneratedFaableDeployApi extends FaableApi {
442
595
  * Check whether a repository can be linked to a new app
443
596
  *
444
597
  * Runs the free-plan "one repository, one app" guard before the app exists. Always 200: `linkable:false` names the app that already has the repository (and its project when it is another one of yours), with the same message the link would refuse with.
598
+ *
599
+ * @throws {FaableApiError} `validation_error` (400) — The body, query or path failed schema validation. `details.issues` lists each failing field.
600
+ * @throws {FaableApiError} `user_token_required` (401) — The endpoint acts on behalf of a person and the credential carries no user (an API key or a service account).
601
+ * @throws {FaableApiError} `unauthorized` (401) — The request carries no valid credentials.
602
+ * @throws {FaableApiError} `invalid_token` (401) — The bearer token is missing, malformed or expired.
603
+ * @throws {FaableApiError} `forbidden` (403) — The credentials are valid but do not allow this operation.
604
+ * @throws {FaableApiError} `user_suspended` (403) — The account is suspended. Contact support@faable.com.
605
+ * @throws {FaableApiError} `github_identity_missing` (412) — The user has not connected GitHub. Send them through `connect_github`.
606
+ * @throws {FaableApiError} `github_installation_missing` (412) — The Faable GitHub App is not installed on any repository of theirs.
607
+ * @throws {FaableApiError} `too_many_requests` (429) — Rate limit exceeded. Honour the `Retry-After` header.
608
+ * @throws {FaableApiError} `internal_error` (500) — Unexpected server error. Retry later; the request id is logged.
609
+ * @throws {FaableApiError} `github_error` (502) — GitHub failed upstream. `message` carries what it said.
445
610
  */
446
611
  appRepoLinkable(params?: OpQuery<"app/repo_linkable">): Promise<{
447
612
  linkable: boolean;
448
- code?: "repository_already_linked";
613
+ code?: "repository_already_linked" | "repository_taken_down";
449
614
  message?: string;
450
615
  details?: {
451
616
  app_id: string;
@@ -459,6 +624,14 @@ export declare abstract class GeneratedFaableDeployApi extends FaableApi {
459
624
  * List repository workflow files
460
625
  *
461
626
  * GitHub Actions workflow files present on the linked repository (deploy branch).
627
+ *
628
+ * @throws {FaableApiError} `validation_error` (400) — The body, query or path failed schema validation. `details.issues` lists each failing field.
629
+ * @throws {FaableApiError} `unauthorized` (401) — The request carries no valid credentials.
630
+ * @throws {FaableApiError} `invalid_token` (401) — The bearer token is missing, malformed or expired.
631
+ * @throws {FaableApiError} `forbidden` (403) — The credentials are valid but do not allow this operation.
632
+ * @throws {FaableApiError} `user_suspended` (403) — The account is suspended. Contact support@faable.com.
633
+ * @throws {FaableApiError} `too_many_requests` (429) — Rate limit exceeded. Honour the `Retry-After` header.
634
+ * @throws {FaableApiError} `internal_error` (500) — Unexpected server error. Retry later; the request id is logged.
462
635
  */
463
636
  appRepoWorkflows(id: string): Promise<{
464
637
  workflows: {
@@ -473,6 +646,17 @@ export declare abstract class GeneratedFaableDeployApi extends FaableApi {
473
646
  * Change the deploy branch
474
647
  *
475
648
  * Change the branch the app deploys from. Apps deploying from their own GitHub Actions workflow must update the branch trigger in the workflow file themselves.
649
+ *
650
+ * @throws {FaableApiError} `branch_missing` (400) — The deploy branch does not exist on the repository. `message` lists the branches that do.
651
+ * @throws {FaableApiError} `repository_not_linked` (400) — The app has no linked repository.
652
+ * @throws {FaableApiError} `validation_error` (400) — The body, query or path failed schema validation. `details.issues` lists each failing field.
653
+ * @throws {FaableApiError} `user_token_required` (401) — The endpoint acts on behalf of a person and the credential carries no user (an API key or a service account).
654
+ * @throws {FaableApiError} `unauthorized` (401) — The request carries no valid credentials.
655
+ * @throws {FaableApiError} `invalid_token` (401) — The bearer token is missing, malformed or expired.
656
+ * @throws {FaableApiError} `forbidden` (403) — The credentials are valid but do not allow this operation.
657
+ * @throws {FaableApiError} `user_suspended` (403) — The account is suspended. Contact support@faable.com.
658
+ * @throws {FaableApiError} `too_many_requests` (429) — Rate limit exceeded. Honour the `Retry-After` header.
659
+ * @throws {FaableApiError} `internal_error` (500) — Unexpected server error. Retry later; the request id is logged.
476
660
  */
477
661
  appSetDeployBranch(id: string, data: OpBody<"app/set_deploy_branch">): Promise<{
478
662
  github_branch: string;
@@ -484,6 +668,17 @@ export declare abstract class GeneratedFaableDeployApi extends FaableApi {
484
668
  * Set the deploy mode
485
669
  *
486
670
  * Choose how pushes deploy: 'push' = every push deploys directly; 'ci' = deploy once the commit's CI checks pass. Both are platform-managed (webhook) triggers.
671
+ *
672
+ * @throws {FaableApiError} `no_deploy_workflow` (400) — No workflow in the repository runs `faable deploy`.
673
+ * @throws {FaableApiError} `no_workflows` (400) — The repository has no GitHub Actions workflows, so a CI gate would never open.
674
+ * @throws {FaableApiError} `root_dir_mismatch` (400) — The workflow deploys from one directory and platform builds would run from another. Declare `rootDir` in faable.json.
675
+ * @throws {FaableApiError} `validation_error` (400) — The body, query or path failed schema validation. `details.issues` lists each failing field.
676
+ * @throws {FaableApiError} `unauthorized` (401) — The request carries no valid credentials.
677
+ * @throws {FaableApiError} `invalid_token` (401) — The bearer token is missing, malformed or expired.
678
+ * @throws {FaableApiError} `forbidden` (403) — The credentials are valid but do not allow this operation.
679
+ * @throws {FaableApiError} `user_suspended` (403) — The account is suspended. Contact support@faable.com.
680
+ * @throws {FaableApiError} `too_many_requests` (429) — Rate limit exceeded. Honour the `Retry-After` header.
681
+ * @throws {FaableApiError} `internal_error` (500) — Unexpected server error. Retry later; the request id is logged.
487
682
  */
488
683
  appSetDeployMode(id: string, data: OpBody<"app/set_deploy_mode">): Promise<{
489
684
  id: string;
@@ -503,6 +698,7 @@ export declare abstract class GeneratedFaableDeployApi extends FaableApi {
503
698
  name: string;
504
699
  version?: string;
505
700
  };
701
+ dockerfile_ignored?: boolean;
506
702
  } | null;
507
703
  mode: import("./types.js").components["schemas"]["AppMode"];
508
704
  build_mode?: ("local" | "remote") | null;
@@ -514,6 +710,7 @@ export declare abstract class GeneratedFaableDeployApi extends FaableApi {
514
710
  instance_type: string;
515
711
  region: "gui1" | "poz1" | "ams1";
516
712
  notify_deploy_success?: boolean | null;
713
+ http3?: boolean | null;
517
714
  status: import("./types.js").components["schemas"]["AppStatus"];
518
715
  repository?: string;
519
716
  github_branch?: string;
@@ -535,6 +732,16 @@ export declare abstract class GeneratedFaableDeployApi extends FaableApi {
535
732
  * Set the Root Directory
536
733
  *
537
734
  * Set the platform Root Directory: the subdirectory of the repository the build runs from. Takes precedence over the repo's faable.json `rootDir`; `null` clears it and hands precedence back. The path must exist on the deploy branch.
735
+ *
736
+ * @throws {FaableApiError} `invalid_root_dir` (400) — The Root Directory must be a path inside the repository — no leading `/` and no `..`.
737
+ * @throws {FaableApiError} `root_dir_not_found` (400) — The Root Directory does not exist on that ref of the repository.
738
+ * @throws {FaableApiError} `validation_error` (400) — The body, query or path failed schema validation. `details.issues` lists each failing field.
739
+ * @throws {FaableApiError} `unauthorized` (401) — The request carries no valid credentials.
740
+ * @throws {FaableApiError} `invalid_token` (401) — The bearer token is missing, malformed or expired.
741
+ * @throws {FaableApiError} `forbidden` (403) — The credentials are valid but do not allow this operation.
742
+ * @throws {FaableApiError} `user_suspended` (403) — The account is suspended. Contact support@faable.com.
743
+ * @throws {FaableApiError} `too_many_requests` (429) — Rate limit exceeded. Honour the `Retry-After` header.
744
+ * @throws {FaableApiError} `internal_error` (500) — Unexpected server error. Retry later; the request id is logged.
538
745
  */
539
746
  appSetRootDir(id: string, data: OpBody<"app/set_root_dir">): Promise<{
540
747
  id: string;
@@ -554,6 +761,7 @@ export declare abstract class GeneratedFaableDeployApi extends FaableApi {
554
761
  name: string;
555
762
  version?: string;
556
763
  };
764
+ dockerfile_ignored?: boolean;
557
765
  } | null;
558
766
  mode: import("./types.js").components["schemas"]["AppMode"];
559
767
  build_mode?: ("local" | "remote") | null;
@@ -565,6 +773,7 @@ export declare abstract class GeneratedFaableDeployApi extends FaableApi {
565
773
  instance_type: string;
566
774
  region: "gui1" | "poz1" | "ams1";
567
775
  notify_deploy_success?: boolean | null;
776
+ http3?: boolean | null;
568
777
  status: import("./types.js").components["schemas"]["AppStatus"];
569
778
  repository?: string;
570
779
  github_branch?: string;
@@ -584,6 +793,15 @@ export declare abstract class GeneratedFaableDeployApi extends FaableApi {
584
793
  * `GET /app/slug/{slug}` — operationId: `app/slug`
585
794
  *
586
795
  * Get App by unique slug
796
+ *
797
+ * @throws {FaableApiError} `validation_error` (400) — The body, query or path failed schema validation. `details.issues` lists each failing field.
798
+ * @throws {FaableApiError} `unauthorized` (401) — The request carries no valid credentials.
799
+ * @throws {FaableApiError} `invalid_token` (401) — The bearer token is missing, malformed or expired.
800
+ * @throws {FaableApiError} `forbidden` (403) — The credentials are valid but do not allow this operation.
801
+ * @throws {FaableApiError} `user_suspended` (403) — The account is suspended. Contact support@faable.com.
802
+ * @throws {FaableApiError} `app_not_found` (404) — No app with that id or slug in this project.
803
+ * @throws {FaableApiError} `too_many_requests` (429) — Rate limit exceeded. Honour the `Retry-After` header.
804
+ * @throws {FaableApiError} `internal_error` (500) — Unexpected server error. Retry later; the request id is logged.
587
805
  */
588
806
  appSlug(slug: string): Promise<{
589
807
  id: string;
@@ -603,6 +821,7 @@ export declare abstract class GeneratedFaableDeployApi extends FaableApi {
603
821
  name: string;
604
822
  version?: string;
605
823
  };
824
+ dockerfile_ignored?: boolean;
606
825
  } | null;
607
826
  mode: import("./types.js").components["schemas"]["AppMode"];
608
827
  build_mode?: ("local" | "remote") | null;
@@ -614,6 +833,7 @@ export declare abstract class GeneratedFaableDeployApi extends FaableApi {
614
833
  instance_type: string;
615
834
  region: "gui1" | "poz1" | "ams1";
616
835
  notify_deploy_success?: boolean | null;
836
+ http3?: boolean | null;
617
837
  status: import("./types.js").components["schemas"]["AppStatus"];
618
838
  repository?: string;
619
839
  github_branch?: string;
@@ -633,6 +853,15 @@ export declare abstract class GeneratedFaableDeployApi extends FaableApi {
633
853
  * `GET /app/{app_id}/traffic` — operationId: `app/traffic`
634
854
  *
635
855
  * Get App Traffic
856
+ *
857
+ * @throws {FaableApiError} `validation_error` (400) — The body, query or path failed schema validation. `details.issues` lists each failing field.
858
+ * @throws {FaableApiError} `unauthorized` (401) — The request carries no valid credentials.
859
+ * @throws {FaableApiError} `invalid_token` (401) — The bearer token is missing, malformed or expired.
860
+ * @throws {FaableApiError} `forbidden` (403) — The credentials are valid but do not allow this operation.
861
+ * @throws {FaableApiError} `user_suspended` (403) — The account is suspended. Contact support@faable.com.
862
+ * @throws {FaableApiError} `too_many_requests` (429) — Rate limit exceeded. Honour the `Retry-After` header.
863
+ * @throws {FaableApiError} `internal_error` (500) — Unexpected server error. Retry later; the request id is logged.
864
+ * @throws {FaableApiError} `metrics_unavailable` (503) — Traffic metrics are temporarily unavailable — this is not an app with no traffic.
636
865
  */
637
866
  appTraffic(app_id: string, params?: OpQuery<"app/traffic">): Promise<{
638
867
  range: {
@@ -694,6 +923,15 @@ export declare abstract class GeneratedFaableDeployApi extends FaableApi {
694
923
  * Unlink the GitHub repository from an app
695
924
  *
696
925
  * Unlink the GitHub repository from an app.
926
+ *
927
+ * @throws {FaableApiError} `validation_error` (400) — The body, query or path failed schema validation. `details.issues` lists each failing field.
928
+ * @throws {FaableApiError} `user_token_required` (401) — The endpoint acts on behalf of a person and the credential carries no user (an API key or a service account).
929
+ * @throws {FaableApiError} `unauthorized` (401) — The request carries no valid credentials.
930
+ * @throws {FaableApiError} `invalid_token` (401) — The bearer token is missing, malformed or expired.
931
+ * @throws {FaableApiError} `forbidden` (403) — The credentials are valid but do not allow this operation.
932
+ * @throws {FaableApiError} `user_suspended` (403) — The account is suspended. Contact support@faable.com.
933
+ * @throws {FaableApiError} `too_many_requests` (429) — Rate limit exceeded. Honour the `Retry-After` header.
934
+ * @throws {FaableApiError} `internal_error` (500) — Unexpected server error. Retry later; the request id is logged.
697
935
  */
698
936
  appUnlinkRepository(id: string): Promise<{
699
937
  id: string;
@@ -713,6 +951,7 @@ export declare abstract class GeneratedFaableDeployApi extends FaableApi {
713
951
  name: string;
714
952
  version?: string;
715
953
  };
954
+ dockerfile_ignored?: boolean;
716
955
  } | null;
717
956
  mode: import("./types.js").components["schemas"]["AppMode"];
718
957
  build_mode?: ("local" | "remote") | null;
@@ -724,6 +963,7 @@ export declare abstract class GeneratedFaableDeployApi extends FaableApi {
724
963
  instance_type: string;
725
964
  region: "gui1" | "poz1" | "ams1";
726
965
  notify_deploy_success?: boolean | null;
966
+ http3?: boolean | null;
727
967
  status: import("./types.js").components["schemas"]["AppStatus"];
728
968
  repository?: string;
729
969
  github_branch?: string;
@@ -743,6 +983,18 @@ export declare abstract class GeneratedFaableDeployApi extends FaableApi {
743
983
  * `POST /app/{id}` — operationId: `app/update`
744
984
  *
745
985
  * Update App
986
+ *
987
+ * @throws {FaableApiError} `invalid_id` (400) — The id in the path is not a valid id for this resource.
988
+ * @throws {FaableApiError} `already_exists` (400) — A resource with the same unique field already exists. `details.fields` names the field.
989
+ * @throws {FaableApiError} `validation_error` (400) — The body, query or path failed schema validation. `details.issues` lists each failing field.
990
+ * @throws {FaableApiError} `access_denied` (401) — The row exists but does not belong to the caller.
991
+ * @throws {FaableApiError} `unauthorized` (401) — The request carries no valid credentials.
992
+ * @throws {FaableApiError} `invalid_token` (401) — The bearer token is missing, malformed or expired.
993
+ * @throws {FaableApiError} `forbidden` (403) — The credentials are valid but do not allow this operation.
994
+ * @throws {FaableApiError} `user_suspended` (403) — The account is suspended. Contact support@faable.com.
995
+ * @throws {FaableApiError} `not_found` (404) — The resource does not exist, or not in the caller’s project.
996
+ * @throws {FaableApiError} `too_many_requests` (429) — Rate limit exceeded. Honour the `Retry-After` header.
997
+ * @throws {FaableApiError} `internal_error` (500) — Unexpected server error. Retry later; the request id is logged.
746
998
  */
747
999
  appUpdate(id: string, data: OpBody<"app/update">): Promise<{
748
1000
  id: string;
@@ -762,6 +1014,7 @@ export declare abstract class GeneratedFaableDeployApi extends FaableApi {
762
1014
  name: string;
763
1015
  version?: string;
764
1016
  };
1017
+ dockerfile_ignored?: boolean;
765
1018
  } | null;
766
1019
  mode: import("./types.js").components["schemas"]["AppMode"];
767
1020
  build_mode?: ("local" | "remote") | null;
@@ -773,6 +1026,7 @@ export declare abstract class GeneratedFaableDeployApi extends FaableApi {
773
1026
  instance_type: string;
774
1027
  region: "gui1" | "poz1" | "ams1";
775
1028
  notify_deploy_success?: boolean | null;
1029
+ http3?: boolean | null;
776
1030
  status: import("./types.js").components["schemas"]["AppStatus"];
777
1031
  repository?: string;
778
1032
  github_branch?: string;
@@ -794,6 +1048,14 @@ export declare abstract class GeneratedFaableDeployApi extends FaableApi {
794
1048
  * Get App WAF
795
1049
  *
796
1050
  * Get the WAF rules in effect for an App
1051
+ *
1052
+ * @throws {FaableApiError} `validation_error` (400) — The body, query or path failed schema validation. `details.issues` lists each failing field.
1053
+ * @throws {FaableApiError} `unauthorized` (401) — The request carries no valid credentials.
1054
+ * @throws {FaableApiError} `invalid_token` (401) — The bearer token is missing, malformed or expired.
1055
+ * @throws {FaableApiError} `forbidden` (403) — The credentials are valid but do not allow this operation.
1056
+ * @throws {FaableApiError} `user_suspended` (403) — The account is suspended. Contact support@faable.com.
1057
+ * @throws {FaableApiError} `too_many_requests` (429) — Rate limit exceeded. Honour the `Retry-After` header.
1058
+ * @throws {FaableApiError} `internal_error` (500) — Unexpected server error. Retry later; the request id is logged.
797
1059
  */
798
1060
  appWaf(app_id: string): Promise<{
799
1061
  enabled: boolean;
@@ -824,6 +1086,16 @@ export declare abstract class GeneratedFaableDeployApi extends FaableApi {
824
1086
  * Add App WAF Rule
825
1087
  *
826
1088
  * Add a WAF rule to an App
1089
+ *
1090
+ * @throws {FaableApiError} `bad_request` (400) — The request is malformed. `message` says what is wrong.
1091
+ * @throws {FaableApiError} `validation_error` (400) — The body, query or path failed schema validation. `details.issues` lists each failing field.
1092
+ * @throws {FaableApiError} `unauthorized` (401) — The request carries no valid credentials.
1093
+ * @throws {FaableApiError} `invalid_token` (401) — The bearer token is missing, malformed or expired.
1094
+ * @throws {FaableApiError} `forbidden` (403) — The credentials are valid but do not allow this operation.
1095
+ * @throws {FaableApiError} `user_suspended` (403) — The account is suspended. Contact support@faable.com.
1096
+ * @throws {FaableApiError} `conflict` (409) — The request conflicts with the current state of the resource.
1097
+ * @throws {FaableApiError} `too_many_requests` (429) — Rate limit exceeded. Honour the `Retry-After` header.
1098
+ * @throws {FaableApiError} `internal_error` (500) — Unexpected server error. Retry later; the request id is logged.
827
1099
  */
828
1100
  appWafAddRule(app_id: string, data: OpBody<"app/waf/addRule">): Promise<{
829
1101
  enabled: boolean;
@@ -854,6 +1126,17 @@ export declare abstract class GeneratedFaableDeployApi extends FaableApi {
854
1126
  * Remove App WAF Rule
855
1127
  *
856
1128
  * Remove a WAF rule from an App
1129
+ *
1130
+ * @throws {FaableApiError} `bad_request` (400) — The request is malformed. `message` says what is wrong.
1131
+ * @throws {FaableApiError} `validation_error` (400) — The body, query or path failed schema validation. `details.issues` lists each failing field.
1132
+ * @throws {FaableApiError} `unauthorized` (401) — The request carries no valid credentials.
1133
+ * @throws {FaableApiError} `invalid_token` (401) — The bearer token is missing, malformed or expired.
1134
+ * @throws {FaableApiError} `forbidden` (403) — The credentials are valid but do not allow this operation.
1135
+ * @throws {FaableApiError} `user_suspended` (403) — The account is suspended. Contact support@faable.com.
1136
+ * @throws {FaableApiError} `waf_rule_not_found` (404) — No WAF rule with that pattern on this app.
1137
+ * @throws {FaableApiError} `conflict` (409) — The request conflicts with the current state of the resource.
1138
+ * @throws {FaableApiError} `too_many_requests` (429) — Rate limit exceeded. Honour the `Retry-After` header.
1139
+ * @throws {FaableApiError} `internal_error` (500) — Unexpected server error. Retry later; the request id is logged.
857
1140
  */
858
1141
  appWafRemoveRule(app_id: string, data: OpBody<"app/waf/removeRule">): Promise<{
859
1142
  enabled: boolean;
@@ -884,6 +1167,17 @@ export declare abstract class GeneratedFaableDeployApi extends FaableApi {
884
1167
  * Get the team's daily deploy quota status
885
1168
  *
886
1169
  * Daily deploy allowance of the current team: how much was used today, when it resets, and how many builds are held waiting for it.
1170
+ *
1171
+ * @throws {FaableApiError} `invalid_id` (400) — The id in the path is not a valid id for this resource.
1172
+ * @throws {FaableApiError} `invalid_expand` (400) — An `?expand=` path is not allowed on this resource.
1173
+ * @throws {FaableApiError} `access_denied` (401) — The row exists but does not belong to the caller.
1174
+ * @throws {FaableApiError} `unauthorized` (401) — The request carries no valid credentials.
1175
+ * @throws {FaableApiError} `invalid_token` (401) — The bearer token is missing, malformed or expired.
1176
+ * @throws {FaableApiError} `forbidden` (403) — The credentials are valid but do not allow this operation.
1177
+ * @throws {FaableApiError} `user_suspended` (403) — The account is suspended. Contact support@faable.com.
1178
+ * @throws {FaableApiError} `not_found` (404) — The resource does not exist, or not in the caller’s project.
1179
+ * @throws {FaableApiError} `too_many_requests` (429) — Rate limit exceeded. Honour the `Retry-After` header.
1180
+ * @throws {FaableApiError} `internal_error` (500) — Unexpected server error. Retry later; the request id is logged.
887
1181
  */
888
1182
  deployQuotaGet(): Promise<{
889
1183
  limited: boolean;
@@ -899,6 +1193,13 @@ export declare abstract class GeneratedFaableDeployApi extends FaableApi {
899
1193
  * Roll out the builds held by the daily deploy quota
900
1194
  *
901
1195
  * Releases the team's held deployments if its current plan allows it (per app, only the newest held build rolls out; older ones are canceled). Safe to call at any time — it does nothing while the quota is still spent.
1196
+ *
1197
+ * @throws {FaableApiError} `unauthorized` (401) — The request carries no valid credentials.
1198
+ * @throws {FaableApiError} `invalid_token` (401) — The bearer token is missing, malformed or expired.
1199
+ * @throws {FaableApiError} `forbidden` (403) — The credentials are valid but do not allow this operation.
1200
+ * @throws {FaableApiError} `user_suspended` (403) — The account is suspended. Contact support@faable.com.
1201
+ * @throws {FaableApiError} `too_many_requests` (429) — Rate limit exceeded. Honour the `Retry-After` header.
1202
+ * @throws {FaableApiError} `internal_error` (500) — Unexpected server error. Retry later; the request id is logged.
902
1203
  */
903
1204
  deployQuotaRelease(): Promise<{
904
1205
  released: string[];
@@ -910,6 +1211,14 @@ export declare abstract class GeneratedFaableDeployApi extends FaableApi {
910
1211
  * Cancel a queued or building deployment
911
1212
  *
912
1213
  * Cancel a deployment that has not been handed over to the controller yet (QUEUED or BUILDING)
1214
+ *
1215
+ * @throws {FaableApiError} `validation_error` (400) — The body, query or path failed schema validation. `details.issues` lists each failing field.
1216
+ * @throws {FaableApiError} `unauthorized` (401) — The request carries no valid credentials.
1217
+ * @throws {FaableApiError} `invalid_token` (401) — The bearer token is missing, malformed or expired.
1218
+ * @throws {FaableApiError} `forbidden` (403) — The credentials are valid but do not allow this operation.
1219
+ * @throws {FaableApiError} `user_suspended` (403) — The account is suspended. Contact support@faable.com.
1220
+ * @throws {FaableApiError} `too_many_requests` (429) — Rate limit exceeded. Honour the `Retry-After` header.
1221
+ * @throws {FaableApiError} `internal_error` (500) — Unexpected server error. Retry later; the request id is logged.
913
1222
  */
914
1223
  deploymentCancel(deployment_id: string): Promise<{
915
1224
  id: string;
@@ -940,6 +1249,20 @@ export declare abstract class GeneratedFaableDeployApi extends FaableApi {
940
1249
  * `POST /deployment` — operationId: `deployment/create`
941
1250
  *
942
1251
  * Create Deployment
1252
+ *
1253
+ * @throws {FaableApiError} `already_exists` (400) — A resource with the same unique field already exists. `details.fields` names the field.
1254
+ * @throws {FaableApiError} `validation_error` (400) — The body, query or path failed schema validation. `details.issues` lists each failing field.
1255
+ * @throws {FaableApiError} `team_required` (400) — The operation needs a project: send it in the `x-faable-team` header.
1256
+ * @throws {FaableApiError} `unauthorized` (401) — The request carries no valid credentials.
1257
+ * @throws {FaableApiError} `invalid_token` (401) — The bearer token is missing, malformed or expired.
1258
+ * @throws {FaableApiError} `plan_required` (403) — The build or feature needs a higher plan. `message` says which.
1259
+ * @throws {FaableApiError} `forbidden` (403) — The credentials are valid but do not allow this operation.
1260
+ * @throws {FaableApiError} `user_suspended` (403) — The account is suspended. Contact support@faable.com.
1261
+ * @throws {FaableApiError} `app_disabled` (409) — The app is disabled, so it cannot be deployed or provisioned. `message` says why when the reason is public.
1262
+ * @throws {FaableApiError} `remote_build_disabled` (409) — Remote builds are off for this environment or this app. Deploy with a local build instead.
1263
+ * @throws {FaableApiError} `deploy_refused` (409) — The deploy was refused by quota, plan or an in-flight deployment. `message` says which.
1264
+ * @throws {FaableApiError} `too_many_requests` (429) — Rate limit exceeded. Honour the `Retry-After` header.
1265
+ * @throws {FaableApiError} `internal_error` (500) — Unexpected server error. Retry later; the request id is logged.
943
1266
  */
944
1267
  deploymentCreate(data: OpBody<"deployment/create">): Promise<{
945
1268
  id: string;
@@ -970,6 +1293,17 @@ export declare abstract class GeneratedFaableDeployApi extends FaableApi {
970
1293
  * `DELETE /deployment/{id}` — operationId: `deployment/delete`
971
1294
  *
972
1295
  * Delete Deployment
1296
+ *
1297
+ * @throws {FaableApiError} `invalid_id` (400) — The id in the path is not a valid id for this resource.
1298
+ * @throws {FaableApiError} `validation_error` (400) — The body, query or path failed schema validation. `details.issues` lists each failing field.
1299
+ * @throws {FaableApiError} `access_denied` (401) — The row exists but does not belong to the caller.
1300
+ * @throws {FaableApiError} `unauthorized` (401) — The request carries no valid credentials.
1301
+ * @throws {FaableApiError} `invalid_token` (401) — The bearer token is missing, malformed or expired.
1302
+ * @throws {FaableApiError} `forbidden` (403) — The credentials are valid but do not allow this operation.
1303
+ * @throws {FaableApiError} `user_suspended` (403) — The account is suspended. Contact support@faable.com.
1304
+ * @throws {FaableApiError} `not_found` (404) — The resource does not exist, or not in the caller’s project.
1305
+ * @throws {FaableApiError} `too_many_requests` (429) — Rate limit exceeded. Honour the `Retry-After` header.
1306
+ * @throws {FaableApiError} `internal_error` (500) — Unexpected server error. Retry later; the request id is logged.
973
1307
  */
974
1308
  deploymentDelete(id: string): Promise<{
975
1309
  id: string;
@@ -1000,6 +1334,18 @@ export declare abstract class GeneratedFaableDeployApi extends FaableApi {
1000
1334
  * `GET /deployment/{id}` — operationId: `deployment/get`
1001
1335
  *
1002
1336
  * Get Deployment
1337
+ *
1338
+ * @throws {FaableApiError} `invalid_id` (400) — The id in the path is not a valid id for this resource.
1339
+ * @throws {FaableApiError} `invalid_expand` (400) — An `?expand=` path is not allowed on this resource.
1340
+ * @throws {FaableApiError} `validation_error` (400) — The body, query or path failed schema validation. `details.issues` lists each failing field.
1341
+ * @throws {FaableApiError} `access_denied` (401) — The row exists but does not belong to the caller.
1342
+ * @throws {FaableApiError} `unauthorized` (401) — The request carries no valid credentials.
1343
+ * @throws {FaableApiError} `invalid_token` (401) — The bearer token is missing, malformed or expired.
1344
+ * @throws {FaableApiError} `forbidden` (403) — The credentials are valid but do not allow this operation.
1345
+ * @throws {FaableApiError} `user_suspended` (403) — The account is suspended. Contact support@faable.com.
1346
+ * @throws {FaableApiError} `not_found` (404) — The resource does not exist, or not in the caller’s project.
1347
+ * @throws {FaableApiError} `too_many_requests` (429) — Rate limit exceeded. Honour the `Retry-After` header.
1348
+ * @throws {FaableApiError} `internal_error` (500) — Unexpected server error. Retry later; the request id is logged.
1003
1349
  */
1004
1350
  deploymentGet(id: string): Promise<{
1005
1351
  id: string;
@@ -1032,6 +1378,15 @@ export declare abstract class GeneratedFaableDeployApi extends FaableApi {
1032
1378
  * Get deployment build logs
1033
1379
  *
1034
1380
  * Get the CLI build/deploy output attached to a deployment
1381
+ *
1382
+ * @throws {FaableApiError} `validation_error` (400) — The body, query or path failed schema validation. `details.issues` lists each failing field.
1383
+ * @throws {FaableApiError} `unauthorized` (401) — The request carries no valid credentials.
1384
+ * @throws {FaableApiError} `invalid_token` (401) — The bearer token is missing, malformed or expired.
1385
+ * @throws {FaableApiError} `forbidden` (403) — The credentials are valid but do not allow this operation.
1386
+ * @throws {FaableApiError} `user_suspended` (403) — The account is suspended. Contact support@faable.com.
1387
+ * @throws {FaableApiError} `not_found` (404) — The resource does not exist, or not in the caller’s project.
1388
+ * @throws {FaableApiError} `too_many_requests` (429) — Rate limit exceeded. Honour the `Retry-After` header.
1389
+ * @throws {FaableApiError} `internal_error` (500) — Unexpected server error. Retry later; the request id is logged.
1035
1390
  */
1036
1391
  deploymentGetLogs(deployment_id: string): Promise<{
1037
1392
  id: string;
@@ -1051,6 +1406,18 @@ export declare abstract class GeneratedFaableDeployApi extends FaableApi {
1051
1406
  * `GET /deployment` — operationId: `deployment/list`
1052
1407
  *
1053
1408
  * List Deployments
1409
+ *
1410
+ * @throws {FaableApiError} `invalid_query` (400) — The `?query=` FaableQL expression could not be parsed.
1411
+ * @throws {FaableApiError} `invalid_expand` (400) — An `?expand=` path is not allowed on this resource.
1412
+ * @throws {FaableApiError} `search_not_supported` (400) — This resource does not support `?q=`.
1413
+ * @throws {FaableApiError} `validation_error` (400) — The body, query or path failed schema validation. `details.issues` lists each failing field.
1414
+ * @throws {FaableApiError} `team_or_scope_required` (401) — Listing needs either a project in `x-faable-team` or a global scope on the token.
1415
+ * @throws {FaableApiError} `unauthorized` (401) — The request carries no valid credentials.
1416
+ * @throws {FaableApiError} `invalid_token` (401) — The bearer token is missing, malformed or expired.
1417
+ * @throws {FaableApiError} `forbidden` (403) — The credentials are valid but do not allow this operation.
1418
+ * @throws {FaableApiError} `user_suspended` (403) — The account is suspended. Contact support@faable.com.
1419
+ * @throws {FaableApiError} `too_many_requests` (429) — Rate limit exceeded. Honour the `Retry-After` header.
1420
+ * @throws {FaableApiError} `internal_error` (500) — Unexpected server error. Retry later; the request id is logged.
1054
1421
  */
1055
1422
  deploymentList(params?: Omit<OpQuery<"deployment/list">, "cursor" | "next">): {
1056
1423
  all: () => Promise<{
@@ -1136,6 +1503,18 @@ export declare abstract class GeneratedFaableDeployApi extends FaableApi {
1136
1503
  * `POST /deployment/{id}` — operationId: `deployment/update`
1137
1504
  *
1138
1505
  * Update Deployment
1506
+ *
1507
+ * @throws {FaableApiError} `invalid_id` (400) — The id in the path is not a valid id for this resource.
1508
+ * @throws {FaableApiError} `already_exists` (400) — A resource with the same unique field already exists. `details.fields` names the field.
1509
+ * @throws {FaableApiError} `validation_error` (400) — The body, query or path failed schema validation. `details.issues` lists each failing field.
1510
+ * @throws {FaableApiError} `access_denied` (401) — The row exists but does not belong to the caller.
1511
+ * @throws {FaableApiError} `unauthorized` (401) — The request carries no valid credentials.
1512
+ * @throws {FaableApiError} `invalid_token` (401) — The bearer token is missing, malformed or expired.
1513
+ * @throws {FaableApiError} `forbidden` (403) — The credentials are valid but do not allow this operation.
1514
+ * @throws {FaableApiError} `user_suspended` (403) — The account is suspended. Contact support@faable.com.
1515
+ * @throws {FaableApiError} `not_found` (404) — The resource does not exist, or not in the caller’s project.
1516
+ * @throws {FaableApiError} `too_many_requests` (429) — Rate limit exceeded. Honour the `Retry-After` header.
1517
+ * @throws {FaableApiError} `internal_error` (500) — Unexpected server error. Retry later; the request id is logged.
1139
1518
  */
1140
1519
  deploymentUpdate(id: string, data: OpBody<"deployment/update">): Promise<{
1141
1520
  id: string;
@@ -1166,6 +1545,19 @@ export declare abstract class GeneratedFaableDeployApi extends FaableApi {
1166
1545
  * `POST /domain` — operationId: `domain/create`
1167
1546
  *
1168
1547
  * Create Domain
1548
+ *
1549
+ * @throws {FaableApiError} `already_exists` (400) — A resource with the same unique field already exists. `details.fields` names the field.
1550
+ * @throws {FaableApiError} `validation_error` (400) — The body, query or path failed schema validation. `details.issues` lists each failing field.
1551
+ * @throws {FaableApiError} `team_required` (400) — The operation needs a project: send it in the `x-faable-team` header.
1552
+ * @throws {FaableApiError} `domain_invalid` (400) — Not a valid hostname. No protocol, port or path.
1553
+ * @throws {FaableApiError} `unauthorized` (401) — The request carries no valid credentials.
1554
+ * @throws {FaableApiError} `invalid_token` (401) — The bearer token is missing, malformed or expired.
1555
+ * @throws {FaableApiError} `domain_reserved` (403) — Hostnames under that domain are assigned by Faable.
1556
+ * @throws {FaableApiError} `forbidden` (403) — The credentials are valid but do not allow this operation.
1557
+ * @throws {FaableApiError} `user_suspended` (403) — The account is suspended. Contact support@faable.com.
1558
+ * @throws {FaableApiError} `domain_taken` (409) — That hostname is already registered on Faable.
1559
+ * @throws {FaableApiError} `too_many_requests` (429) — Rate limit exceeded. Honour the `Retry-After` header.
1560
+ * @throws {FaableApiError} `internal_error` (500) — Unexpected server error. Retry later; the request id is logged.
1169
1561
  */
1170
1562
  domainCreate(data: OpBody<"domain/create">): Promise<{
1171
1563
  id: string;
@@ -1187,6 +1579,17 @@ export declare abstract class GeneratedFaableDeployApi extends FaableApi {
1187
1579
  * `DELETE /domain/{id}` — operationId: `domain/delete`
1188
1580
  *
1189
1581
  * Delete Domain
1582
+ *
1583
+ * @throws {FaableApiError} `invalid_id` (400) — The id in the path is not a valid id for this resource.
1584
+ * @throws {FaableApiError} `validation_error` (400) — The body, query or path failed schema validation. `details.issues` lists each failing field.
1585
+ * @throws {FaableApiError} `access_denied` (401) — The row exists but does not belong to the caller.
1586
+ * @throws {FaableApiError} `unauthorized` (401) — The request carries no valid credentials.
1587
+ * @throws {FaableApiError} `invalid_token` (401) — The bearer token is missing, malformed or expired.
1588
+ * @throws {FaableApiError} `forbidden` (403) — The credentials are valid but do not allow this operation.
1589
+ * @throws {FaableApiError} `user_suspended` (403) — The account is suspended. Contact support@faable.com.
1590
+ * @throws {FaableApiError} `not_found` (404) — The resource does not exist, or not in the caller’s project.
1591
+ * @throws {FaableApiError} `too_many_requests` (429) — Rate limit exceeded. Honour the `Retry-After` header.
1592
+ * @throws {FaableApiError} `internal_error` (500) — Unexpected server error. Retry later; the request id is logged.
1190
1593
  */
1191
1594
  domainDelete(id: string): Promise<{
1192
1595
  id: string;
@@ -1208,6 +1611,14 @@ export declare abstract class GeneratedFaableDeployApi extends FaableApi {
1208
1611
  * `GET /domain/fqdn/{fqdn}` — operationId: `domain/fqdn`
1209
1612
  *
1210
1613
  * Get domain by FQDN
1614
+ *
1615
+ * @throws {FaableApiError} `validation_error` (400) — The body, query or path failed schema validation. `details.issues` lists each failing field.
1616
+ * @throws {FaableApiError} `unauthorized` (401) — The request carries no valid credentials.
1617
+ * @throws {FaableApiError} `invalid_token` (401) — The bearer token is missing, malformed or expired.
1618
+ * @throws {FaableApiError} `forbidden` (403) — The credentials are valid but do not allow this operation.
1619
+ * @throws {FaableApiError} `user_suspended` (403) — The account is suspended. Contact support@faable.com.
1620
+ * @throws {FaableApiError} `too_many_requests` (429) — Rate limit exceeded. Honour the `Retry-After` header.
1621
+ * @throws {FaableApiError} `internal_error` (500) — Unexpected server error. Retry later; the request id is logged.
1211
1622
  */
1212
1623
  domainFqdn(fqdn: string): Promise<{
1213
1624
  id: string;
@@ -1229,6 +1640,18 @@ export declare abstract class GeneratedFaableDeployApi extends FaableApi {
1229
1640
  * `GET /domain/{id}` — operationId: `domain/get`
1230
1641
  *
1231
1642
  * Get Domain
1643
+ *
1644
+ * @throws {FaableApiError} `invalid_id` (400) — The id in the path is not a valid id for this resource.
1645
+ * @throws {FaableApiError} `invalid_expand` (400) — An `?expand=` path is not allowed on this resource.
1646
+ * @throws {FaableApiError} `validation_error` (400) — The body, query or path failed schema validation. `details.issues` lists each failing field.
1647
+ * @throws {FaableApiError} `access_denied` (401) — The row exists but does not belong to the caller.
1648
+ * @throws {FaableApiError} `unauthorized` (401) — The request carries no valid credentials.
1649
+ * @throws {FaableApiError} `invalid_token` (401) — The bearer token is missing, malformed or expired.
1650
+ * @throws {FaableApiError} `forbidden` (403) — The credentials are valid but do not allow this operation.
1651
+ * @throws {FaableApiError} `user_suspended` (403) — The account is suspended. Contact support@faable.com.
1652
+ * @throws {FaableApiError} `not_found` (404) — The resource does not exist, or not in the caller’s project.
1653
+ * @throws {FaableApiError} `too_many_requests` (429) — Rate limit exceeded. Honour the `Retry-After` header.
1654
+ * @throws {FaableApiError} `internal_error` (500) — Unexpected server error. Retry later; the request id is logged.
1232
1655
  */
1233
1656
  domainGet(id: string): Promise<{
1234
1657
  id: string;
@@ -1250,6 +1673,18 @@ export declare abstract class GeneratedFaableDeployApi extends FaableApi {
1250
1673
  * `GET /domain` — operationId: `domain/list`
1251
1674
  *
1252
1675
  * List Domains
1676
+ *
1677
+ * @throws {FaableApiError} `invalid_query` (400) — The `?query=` FaableQL expression could not be parsed.
1678
+ * @throws {FaableApiError} `invalid_expand` (400) — An `?expand=` path is not allowed on this resource.
1679
+ * @throws {FaableApiError} `search_not_supported` (400) — This resource does not support `?q=`.
1680
+ * @throws {FaableApiError} `validation_error` (400) — The body, query or path failed schema validation. `details.issues` lists each failing field.
1681
+ * @throws {FaableApiError} `team_or_scope_required` (401) — Listing needs either a project in `x-faable-team` or a global scope on the token.
1682
+ * @throws {FaableApiError} `unauthorized` (401) — The request carries no valid credentials.
1683
+ * @throws {FaableApiError} `invalid_token` (401) — The bearer token is missing, malformed or expired.
1684
+ * @throws {FaableApiError} `forbidden` (403) — The credentials are valid but do not allow this operation.
1685
+ * @throws {FaableApiError} `user_suspended` (403) — The account is suspended. Contact support@faable.com.
1686
+ * @throws {FaableApiError} `too_many_requests` (429) — Rate limit exceeded. Honour the `Retry-After` header.
1687
+ * @throws {FaableApiError} `internal_error` (500) — Unexpected server error. Retry later; the request id is logged.
1253
1688
  */
1254
1689
  domainList(params?: Omit<OpQuery<"domain/list">, "cursor" | "next">): {
1255
1690
  all: () => Promise<{
@@ -1308,6 +1743,18 @@ export declare abstract class GeneratedFaableDeployApi extends FaableApi {
1308
1743
  * `POST /domain/{id}` — operationId: `domain/update`
1309
1744
  *
1310
1745
  * Update Domain
1746
+ *
1747
+ * @throws {FaableApiError} `invalid_id` (400) — The id in the path is not a valid id for this resource.
1748
+ * @throws {FaableApiError} `already_exists` (400) — A resource with the same unique field already exists. `details.fields` names the field.
1749
+ * @throws {FaableApiError} `validation_error` (400) — The body, query or path failed schema validation. `details.issues` lists each failing field.
1750
+ * @throws {FaableApiError} `access_denied` (401) — The row exists but does not belong to the caller.
1751
+ * @throws {FaableApiError} `unauthorized` (401) — The request carries no valid credentials.
1752
+ * @throws {FaableApiError} `invalid_token` (401) — The bearer token is missing, malformed or expired.
1753
+ * @throws {FaableApiError} `forbidden` (403) — The credentials are valid but do not allow this operation.
1754
+ * @throws {FaableApiError} `user_suspended` (403) — The account is suspended. Contact support@faable.com.
1755
+ * @throws {FaableApiError} `not_found` (404) — The resource does not exist, or not in the caller’s project.
1756
+ * @throws {FaableApiError} `too_many_requests` (429) — Rate limit exceeded. Honour the `Retry-After` header.
1757
+ * @throws {FaableApiError} `internal_error` (500) — Unexpected server error. Retry later; the request id is logged.
1311
1758
  */
1312
1759
  domainUpdate(id: string, data: OpBody<"domain/update">): Promise<{
1313
1760
  id: string;
@@ -1329,6 +1776,18 @@ export declare abstract class GeneratedFaableDeployApi extends FaableApi {
1329
1776
  * `POST /project` — operationId: `project/create`
1330
1777
  *
1331
1778
  * Create Project
1779
+ *
1780
+ * @throws {FaableApiError} `already_exists` (400) — A resource with the same unique field already exists. `details.fields` names the field.
1781
+ * @throws {FaableApiError} `validation_error` (400) — The body, query or path failed schema validation. `details.issues` lists each failing field.
1782
+ * @throws {FaableApiError} `team_required` (400) — The operation needs a project: send it in the `x-faable-team` header.
1783
+ * @throws {FaableApiError} `unauthorized` (401) — The request carries no valid credentials.
1784
+ * @throws {FaableApiError} `invalid_token` (401) — The bearer token is missing, malformed or expired.
1785
+ * @throws {FaableApiError} `project_plan_limited` (402) — The Free plan project cap is reached. Upgrade to create more.
1786
+ * @throws {FaableApiError} `user_suspended` (403) — The account is suspended. Contact support@faable.com.
1787
+ * @throws {FaableApiError} `forbidden` (403) — The credentials are valid but do not allow this operation.
1788
+ * @throws {FaableApiError} `project_rate_limited` (429) — A new account may only create a few projects in its first hours. It opens with time, or with a plan.
1789
+ * @throws {FaableApiError} `too_many_requests` (429) — Rate limit exceeded. Honour the `Retry-After` header.
1790
+ * @throws {FaableApiError} `internal_error` (500) — Unexpected server error. Retry later; the request id is logged.
1332
1791
  */
1333
1792
  projectCreate(data: OpBody<"project/create">): Promise<{
1334
1793
  id: string;
@@ -1348,6 +1807,18 @@ export declare abstract class GeneratedFaableDeployApi extends FaableApi {
1348
1807
  * `DELETE /project/{id}` — operationId: `project/delete`
1349
1808
  *
1350
1809
  * Delete Project
1810
+ *
1811
+ * @throws {FaableApiError} `invalid_id` (400) — The id in the path is not a valid id for this resource.
1812
+ * @throws {FaableApiError} `validation_error` (400) — The body, query or path failed schema validation. `details.issues` lists each failing field.
1813
+ * @throws {FaableApiError} `access_denied` (401) — The row exists but does not belong to the caller.
1814
+ * @throws {FaableApiError} `unauthorized` (401) — The request carries no valid credentials.
1815
+ * @throws {FaableApiError} `invalid_token` (401) — The bearer token is missing, malformed or expired.
1816
+ * @throws {FaableApiError} `moderation_hold` (403) — The project contains an app disabled by moderation and cannot be deleted. Contact support@faable.com.
1817
+ * @throws {FaableApiError} `user_suspended` (403) — The account is suspended. Contact support@faable.com.
1818
+ * @throws {FaableApiError} `forbidden` (403) — The credentials are valid but do not allow this operation.
1819
+ * @throws {FaableApiError} `not_found` (404) — The resource does not exist, or not in the caller’s project.
1820
+ * @throws {FaableApiError} `too_many_requests` (429) — Rate limit exceeded. Honour the `Retry-After` header.
1821
+ * @throws {FaableApiError} `internal_error` (500) — Unexpected server error. Retry later; the request id is logged.
1351
1822
  */
1352
1823
  projectDelete(id: string): Promise<{
1353
1824
  id: string;
@@ -1367,6 +1838,18 @@ export declare abstract class GeneratedFaableDeployApi extends FaableApi {
1367
1838
  * `GET /project/{id}` — operationId: `project/get`
1368
1839
  *
1369
1840
  * Get Project
1841
+ *
1842
+ * @throws {FaableApiError} `invalid_id` (400) — The id in the path is not a valid id for this resource.
1843
+ * @throws {FaableApiError} `invalid_expand` (400) — An `?expand=` path is not allowed on this resource.
1844
+ * @throws {FaableApiError} `validation_error` (400) — The body, query or path failed schema validation. `details.issues` lists each failing field.
1845
+ * @throws {FaableApiError} `access_denied` (401) — The row exists but does not belong to the caller.
1846
+ * @throws {FaableApiError} `unauthorized` (401) — The request carries no valid credentials.
1847
+ * @throws {FaableApiError} `invalid_token` (401) — The bearer token is missing, malformed or expired.
1848
+ * @throws {FaableApiError} `forbidden` (403) — The credentials are valid but do not allow this operation.
1849
+ * @throws {FaableApiError} `user_suspended` (403) — The account is suspended. Contact support@faable.com.
1850
+ * @throws {FaableApiError} `not_found` (404) — The resource does not exist, or not in the caller’s project.
1851
+ * @throws {FaableApiError} `too_many_requests` (429) — Rate limit exceeded. Honour the `Retry-After` header.
1852
+ * @throws {FaableApiError} `internal_error` (500) — Unexpected server error. Retry later; the request id is logged.
1370
1853
  */
1371
1854
  projectGet(id: string): Promise<{
1372
1855
  id: string;
@@ -1386,6 +1869,15 @@ export declare abstract class GeneratedFaableDeployApi extends FaableApi {
1386
1869
  * `POST /project/{id}/invite` — operationId: `project/invite`
1387
1870
  *
1388
1871
  * Invite collaborators to project
1872
+ *
1873
+ * @throws {FaableApiError} `validation_error` (400) — The body, query or path failed schema validation. `details.issues` lists each failing field.
1874
+ * @throws {FaableApiError} `unauthorized` (401) — The request carries no valid credentials.
1875
+ * @throws {FaableApiError} `invalid_token` (401) — The bearer token is missing, malformed or expired.
1876
+ * @throws {FaableApiError} `forbidden` (403) — The credentials are valid but do not allow this operation.
1877
+ * @throws {FaableApiError} `user_suspended` (403) — The account is suspended. Contact support@faable.com.
1878
+ * @throws {FaableApiError} `project_not_found` (404) — No project with that id for this caller.
1879
+ * @throws {FaableApiError} `too_many_requests` (429) — Rate limit exceeded. Honour the `Retry-After` header.
1880
+ * @throws {FaableApiError} `internal_error` (500) — Unexpected server error. Retry later; the request id is logged.
1389
1881
  */
1390
1882
  projectInvite(id: string, data: OpBody<"project/invite">): Promise<{
1391
1883
  project: import("./types.js").components["schemas"]["Project"];
@@ -1401,6 +1893,14 @@ export declare abstract class GeneratedFaableDeployApi extends FaableApi {
1401
1893
  * Project creation limits for the caller
1402
1894
  *
1403
1895
  * Whether the caller can create another project, and why not
1896
+ *
1897
+ * @throws {FaableApiError} `unauthorized` (401) — The request carries no valid credentials.
1898
+ * @throws {FaableApiError} `invalid_token` (401) — The bearer token is missing, malformed or expired.
1899
+ * @throws {FaableApiError} `owner_only` (403) — Only the project owner can manage collaborators.
1900
+ * @throws {FaableApiError} `forbidden` (403) — The credentials are valid but do not allow this operation.
1901
+ * @throws {FaableApiError} `user_suspended` (403) — The account is suspended. Contact support@faable.com.
1902
+ * @throws {FaableApiError} `too_many_requests` (429) — Rate limit exceeded. Honour the `Retry-After` header.
1903
+ * @throws {FaableApiError} `internal_error` (500) — Unexpected server error. Retry later; the request id is logged.
1404
1904
  */
1405
1905
  projectLimits(): Promise<{
1406
1906
  can_create: boolean;
@@ -1419,6 +1919,18 @@ export declare abstract class GeneratedFaableDeployApi extends FaableApi {
1419
1919
  * `GET /project` — operationId: `project/list`
1420
1920
  *
1421
1921
  * List Projects
1922
+ *
1923
+ * @throws {FaableApiError} `invalid_query` (400) — The `?query=` FaableQL expression could not be parsed.
1924
+ * @throws {FaableApiError} `invalid_expand` (400) — An `?expand=` path is not allowed on this resource.
1925
+ * @throws {FaableApiError} `search_not_supported` (400) — This resource does not support `?q=`.
1926
+ * @throws {FaableApiError} `validation_error` (400) — The body, query or path failed schema validation. `details.issues` lists each failing field.
1927
+ * @throws {FaableApiError} `team_or_scope_required` (401) — Listing needs either a project in `x-faable-team` or a global scope on the token.
1928
+ * @throws {FaableApiError} `unauthorized` (401) — The request carries no valid credentials.
1929
+ * @throws {FaableApiError} `invalid_token` (401) — The bearer token is missing, malformed or expired.
1930
+ * @throws {FaableApiError} `forbidden` (403) — The credentials are valid but do not allow this operation.
1931
+ * @throws {FaableApiError} `user_suspended` (403) — The account is suspended. Contact support@faable.com.
1932
+ * @throws {FaableApiError} `too_many_requests` (429) — Rate limit exceeded. Honour the `Retry-After` header.
1933
+ * @throws {FaableApiError} `internal_error` (500) — Unexpected server error. Retry later; the request id is logged.
1422
1934
  */
1423
1935
  projectList(params?: Omit<OpQuery<"project/list">, "cursor" | "next">): {
1424
1936
  all: () => Promise<{
@@ -1471,6 +1983,18 @@ export declare abstract class GeneratedFaableDeployApi extends FaableApi {
1471
1983
  * `DELETE /project/{id}/collaborator/{user_id}` — operationId: `project/removeCollaborator`
1472
1984
  *
1473
1985
  * Remove a collaborator from a project
1986
+ *
1987
+ * @throws {FaableApiError} `owner_not_removable` (400) — The project owner cannot be removed. Delete the project instead.
1988
+ * @throws {FaableApiError} `validation_error` (400) — The body, query or path failed schema validation. `details.issues` lists each failing field.
1989
+ * @throws {FaableApiError} `unauthorized` (401) — The request carries no valid credentials.
1990
+ * @throws {FaableApiError} `invalid_token` (401) — The bearer token is missing, malformed or expired.
1991
+ * @throws {FaableApiError} `superadmin_only` (403) — The operation is restricted to platform staff.
1992
+ * @throws {FaableApiError} `forbidden` (403) — The credentials are valid but do not allow this operation.
1993
+ * @throws {FaableApiError} `user_suspended` (403) — The account is suspended. Contact support@faable.com.
1994
+ * @throws {FaableApiError} `collaborator_not_found` (404) — That user is not a collaborator on the project.
1995
+ * @throws {FaableApiError} `project_not_found` (404) — No project with that id for this caller.
1996
+ * @throws {FaableApiError} `too_many_requests` (429) — Rate limit exceeded. Honour the `Retry-After` header.
1997
+ * @throws {FaableApiError} `internal_error` (500) — Unexpected server error. Retry later; the request id is logged.
1474
1998
  */
1475
1999
  projectRemoveCollaborator(id: string, user_id: string): Promise<{
1476
2000
  id: string;
@@ -1490,6 +2014,18 @@ export declare abstract class GeneratedFaableDeployApi extends FaableApi {
1490
2014
  * `POST /project/{id}` — operationId: `project/update`
1491
2015
  *
1492
2016
  * Update Project
2017
+ *
2018
+ * @throws {FaableApiError} `invalid_id` (400) — The id in the path is not a valid id for this resource.
2019
+ * @throws {FaableApiError} `already_exists` (400) — A resource with the same unique field already exists. `details.fields` names the field.
2020
+ * @throws {FaableApiError} `validation_error` (400) — The body, query or path failed schema validation. `details.issues` lists each failing field.
2021
+ * @throws {FaableApiError} `access_denied` (401) — The row exists but does not belong to the caller.
2022
+ * @throws {FaableApiError} `unauthorized` (401) — The request carries no valid credentials.
2023
+ * @throws {FaableApiError} `invalid_token` (401) — The bearer token is missing, malformed or expired.
2024
+ * @throws {FaableApiError} `forbidden` (403) — The credentials are valid but do not allow this operation.
2025
+ * @throws {FaableApiError} `user_suspended` (403) — The account is suspended. Contact support@faable.com.
2026
+ * @throws {FaableApiError} `not_found` (404) — The resource does not exist, or not in the caller’s project.
2027
+ * @throws {FaableApiError} `too_many_requests` (429) — Rate limit exceeded. Honour the `Retry-After` header.
2028
+ * @throws {FaableApiError} `internal_error` (500) — Unexpected server error. Retry later; the request id is logged.
1493
2029
  */
1494
2030
  projectUpdate(id: string, data: OpBody<"project/update">): Promise<{
1495
2031
  id: string;
@@ -1511,6 +2047,14 @@ export declare abstract class GeneratedFaableDeployApi extends FaableApi {
1511
2047
  * Create secrets in batch
1512
2048
  *
1513
2049
  * Create a secrets in batch
2050
+ *
2051
+ * @throws {FaableApiError} `validation_error` (400) — The body, query or path failed schema validation. `details.issues` lists each failing field.
2052
+ * @throws {FaableApiError} `unauthorized` (401) — The request carries no valid credentials.
2053
+ * @throws {FaableApiError} `invalid_token` (401) — The bearer token is missing, malformed or expired.
2054
+ * @throws {FaableApiError} `forbidden` (403) — The credentials are valid but do not allow this operation.
2055
+ * @throws {FaableApiError} `user_suspended` (403) — The account is suspended. Contact support@faable.com.
2056
+ * @throws {FaableApiError} `too_many_requests` (429) — Rate limit exceeded. Honour the `Retry-After` header.
2057
+ * @throws {FaableApiError} `internal_error` (500) — Unexpected server error. Retry later; the request id is logged.
1514
2058
  */
1515
2059
  secretsCreateBatch(data: OpBody<"secrets/create_batch">): Promise<{
1516
2060
  id: string;
@@ -1531,6 +2075,17 @@ export declare abstract class GeneratedFaableDeployApi extends FaableApi {
1531
2075
  * `DELETE /secret/{secret_id}` — operationId: `secrets/delete`
1532
2076
  *
1533
2077
  * Delete a secret
2078
+ *
2079
+ * @throws {FaableApiError} `invalid_id` (400) — The id in the path is not a valid id for this resource.
2080
+ * @throws {FaableApiError} `validation_error` (400) — The body, query or path failed schema validation. `details.issues` lists each failing field.
2081
+ * @throws {FaableApiError} `access_denied` (401) — The row exists but does not belong to the caller.
2082
+ * @throws {FaableApiError} `unauthorized` (401) — The request carries no valid credentials.
2083
+ * @throws {FaableApiError} `invalid_token` (401) — The bearer token is missing, malformed or expired.
2084
+ * @throws {FaableApiError} `forbidden` (403) — The credentials are valid but do not allow this operation.
2085
+ * @throws {FaableApiError} `user_suspended` (403) — The account is suspended. Contact support@faable.com.
2086
+ * @throws {FaableApiError} `not_found` (404) — The resource does not exist, or not in the caller’s project.
2087
+ * @throws {FaableApiError} `too_many_requests` (429) — Rate limit exceeded. Honour the `Retry-After` header.
2088
+ * @throws {FaableApiError} `internal_error` (500) — Unexpected server error. Retry later; the request id is logged.
1534
2089
  */
1535
2090
  secretsDelete(secret_id: string): Promise<void>;
1536
2091
  /**
@@ -1539,6 +2094,14 @@ export declare abstract class GeneratedFaableDeployApi extends FaableApi {
1539
2094
  * List all secrets assigned to an App or Profile contexts
1540
2095
  *
1541
2096
  * List all app secrets assigned to an App or Profile contexts
2097
+ *
2098
+ * @throws {FaableApiError} `validation_error` (400) — The body, query or path failed schema validation. `details.issues` lists each failing field.
2099
+ * @throws {FaableApiError} `unauthorized` (401) — The request carries no valid credentials.
2100
+ * @throws {FaableApiError} `invalid_token` (401) — The bearer token is missing, malformed or expired.
2101
+ * @throws {FaableApiError} `forbidden` (403) — The credentials are valid but do not allow this operation.
2102
+ * @throws {FaableApiError} `user_suspended` (403) — The account is suspended. Contact support@faable.com.
2103
+ * @throws {FaableApiError} `too_many_requests` (429) — Rate limit exceeded. Honour the `Retry-After` header.
2104
+ * @throws {FaableApiError} `internal_error` (500) — Unexpected server error. Retry later; the request id is logged.
1542
2105
  */
1543
2106
  secretsListApp(context_id: string, params?: OpQuery<"secrets/list_app">): Promise<{
1544
2107
  next: string | null;
@@ -1548,6 +2111,14 @@ export declare abstract class GeneratedFaableDeployApi extends FaableApi {
1548
2111
  * `POST /secret` — operationId: `secrets/upsert`
1549
2112
  *
1550
2113
  * Upsert a secret
2114
+ *
2115
+ * @throws {FaableApiError} `validation_error` (400) — The body, query or path failed schema validation. `details.issues` lists each failing field.
2116
+ * @throws {FaableApiError} `unauthorized` (401) — The request carries no valid credentials.
2117
+ * @throws {FaableApiError} `invalid_token` (401) — The bearer token is missing, malformed or expired.
2118
+ * @throws {FaableApiError} `forbidden` (403) — The credentials are valid but do not allow this operation.
2119
+ * @throws {FaableApiError} `user_suspended` (403) — The account is suspended. Contact support@faable.com.
2120
+ * @throws {FaableApiError} `too_many_requests` (429) — Rate limit exceeded. Honour the `Retry-After` header.
2121
+ * @throws {FaableApiError} `internal_error` (500) — Unexpected server error. Retry later; the request id is logged.
1551
2122
  */
1552
2123
  secretsUpsert(data: OpBody<"secrets/upsert">): Promise<{
1553
2124
  id: string;
@@ -1568,6 +2139,14 @@ export declare abstract class GeneratedFaableDeployApi extends FaableApi {
1568
2139
  * `GET /usage/summary` — operationId: `usage/summary`
1569
2140
  *
1570
2141
  * Get team usage summary for the current billing period
2142
+ *
2143
+ * @throws {FaableApiError} `validation_error` (400) — The body, query or path failed schema validation. `details.issues` lists each failing field.
2144
+ * @throws {FaableApiError} `unauthorized` (401) — The request carries no valid credentials.
2145
+ * @throws {FaableApiError} `invalid_token` (401) — The bearer token is missing, malformed or expired.
2146
+ * @throws {FaableApiError} `forbidden` (403) — The credentials are valid but do not allow this operation.
2147
+ * @throws {FaableApiError} `user_suspended` (403) — The account is suspended. Contact support@faable.com.
2148
+ * @throws {FaableApiError} `too_many_requests` (429) — Rate limit exceeded. Honour the `Retry-After` header.
2149
+ * @throws {FaableApiError} `internal_error` (500) — Unexpected server error. Retry later; the request id is logged.
1571
2150
  */
1572
2151
  usageSummary(params?: OpQuery<"usage/summary">): Promise<{
1573
2152
  resources: {
@@ -1607,6 +2186,13 @@ export declare abstract class GeneratedFaableDeployApi extends FaableApi {
1607
2186
  * `GET /usage/traffic` — operationId: `usage/traffic`
1608
2187
  *
1609
2188
  * Get metered traffic usage per team for the current period
2189
+ *
2190
+ * @throws {FaableApiError} `unauthorized` (401) — The request carries no valid credentials.
2191
+ * @throws {FaableApiError} `invalid_token` (401) — The bearer token is missing, malformed or expired.
2192
+ * @throws {FaableApiError} `forbidden` (403) — The credentials are valid but do not allow this operation.
2193
+ * @throws {FaableApiError} `user_suspended` (403) — The account is suspended. Contact support@faable.com.
2194
+ * @throws {FaableApiError} `too_many_requests` (429) — Rate limit exceeded. Honour the `Retry-After` header.
2195
+ * @throws {FaableApiError} `internal_error` (500) — Unexpected server error. Retry later; the request id is logged.
1610
2196
  */
1611
2197
  usageTraffic(): Promise<{
1612
2198
  traffic: {