@vertracloud/api-types 0.1.1 → 0.2.1
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.
- package/README.md +47 -40
- package/common/v1.d.ts +23 -7
- package/common/v1.js.map +1 -1
- package/package.json +5 -5
- package/payloads/v1/activity.d.ts +22 -10
- package/payloads/v1/activity.js +9 -0
- package/payloads/v1/activity.js.map +1 -1
- package/payloads/v1/activity.mjs +8 -0
- package/payloads/v1/api-error.d.ts +302 -0
- package/payloads/v1/api-error.js +216 -0
- package/payloads/v1/api-error.js.map +1 -0
- package/payloads/v1/api-error.mjs +188 -0
- package/payloads/v1/api-key.d.ts +88 -0
- package/payloads/v1/api-key.js +267 -0
- package/payloads/v1/api-key.js.map +1 -0
- package/payloads/v1/api-key.mjs +235 -0
- package/payloads/v1/application.d.ts +234 -47
- package/payloads/v1/application.js +34 -3
- package/payloads/v1/application.js.map +1 -1
- package/payloads/v1/application.mjs +28 -2
- package/payloads/v1/database-data.d.ts +329 -0
- package/payloads/v1/database-data.js +63 -0
- package/payloads/v1/database-data.js.map +1 -0
- package/payloads/v1/database-data.mjs +35 -0
- package/payloads/v1/database.d.ts +29 -31
- package/payloads/v1/database.js.map +1 -1
- package/payloads/v1/github.d.ts +20 -0
- package/{rest/v1/credits.js → payloads/v1/github.js} +4 -4
- package/payloads/v1/github.js.map +1 -0
- package/payloads/v1/github.mjs +1 -0
- package/payloads/v1/index.d.ts +12 -9
- package/payloads/v1/index.js +630 -10
- package/payloads/v1/index.js.map +1 -1
- package/payloads/v1/index.mjs +590 -9
- package/payloads/v1/notification.d.ts +2 -3
- package/payloads/v1/notification.js.map +1 -1
- package/payloads/v1/oauth.d.ts +27 -0
- package/payloads/v1/oauth.js +34 -0
- package/payloads/v1/oauth.js.map +1 -0
- package/payloads/v1/oauth.mjs +8 -0
- package/payloads/v1/orders.d.ts +52 -27
- package/payloads/v1/orders.js +30 -0
- package/payloads/v1/orders.js.map +1 -1
- package/payloads/v1/orders.mjs +21 -0
- package/payloads/v1/redeem.d.ts +1 -1
- package/payloads/v1/redeem.js.map +1 -1
- package/payloads/v1/snapshot.d.ts +37 -7
- package/payloads/v1/snapshot.js +8 -2
- package/payloads/v1/snapshot.js.map +1 -1
- package/payloads/v1/snapshot.mjs +6 -1
- package/payloads/v1/status.d.ts +2 -2
- package/payloads/v1/status.js.map +1 -1
- package/payloads/v1/user.d.ts +54 -20
- package/payloads/v1/user.js +16 -0
- package/payloads/v1/user.js.map +1 -1
- package/payloads/v1/user.mjs +9 -0
- package/payloads/v1/workspace.d.ts +296 -25
- package/payloads/v1/workspace.js +128 -8
- package/payloads/v1/workspace.js.map +1 -1
- package/payloads/v1/workspace.mjs +115 -7
- package/rest/v1/activity.d.ts +20 -9
- package/rest/v1/activity.js.map +1 -1
- package/rest/v1/api-key.d.ts +26 -0
- package/{payloads/v1/credits.js → rest/v1/api-key.js} +4 -4
- package/rest/v1/api-key.js.map +1 -0
- package/rest/v1/api-key.mjs +1 -0
- package/rest/v1/application.d.ts +302 -30
- package/rest/v1/application.js.map +1 -1
- package/rest/v1/database-data.d.ts +234 -0
- package/rest/v1/database-data.js +19 -0
- package/rest/v1/database-data.js.map +1 -0
- package/rest/v1/database-data.mjs +1 -0
- package/rest/v1/database.d.ts +55 -14
- package/rest/v1/database.js.map +1 -1
- package/rest/v1/github.d.ts +22 -0
- package/rest/v1/{wing.js → github.js} +4 -4
- package/rest/v1/github.js.map +1 -0
- package/rest/v1/github.mjs +1 -0
- package/rest/v1/index.d.ts +16 -11
- package/rest/v1/index.js.map +1 -1
- package/rest/v1/notification.d.ts +2 -3
- package/rest/v1/notification.js.map +1 -1
- package/rest/v1/oauth.d.ts +60 -0
- package/{payloads/v1/wing.js → rest/v1/oauth.js} +4 -4
- package/rest/v1/oauth.js.map +1 -0
- package/rest/v1/oauth.mjs +1 -0
- package/rest/v1/orders.d.ts +28 -7
- package/rest/v1/orders.js.map +1 -1
- package/rest/v1/redeem.d.ts +2 -1
- package/rest/v1/redeem.js.map +1 -1
- package/rest/v1/snapshot.d.ts +45 -10
- package/rest/v1/snapshot.js.map +1 -1
- package/rest/v1/status.d.ts +1 -0
- package/rest/v1/user.d.ts +56 -7
- package/rest/v1/user.js.map +1 -1
- package/rest/v1/workspace.d.ts +186 -18
- package/rest/v1/workspace.js.map +1 -1
- package/v1.d.ts +24 -19
- package/v1.js +630 -10
- package/v1.js.map +1 -1
- package/v1.mjs +590 -9
- package/payloads/v1/credits.d.ts +0 -56
- package/payloads/v1/credits.js.map +0 -1
- package/payloads/v1/credits.mjs +0 -1
- package/payloads/v1/wing.d.ts +0 -133
- package/payloads/v1/wing.js.map +0 -1
- package/payloads/v1/wing.mjs +0 -1
- package/rest/v1/credits.d.ts +0 -17
- package/rest/v1/credits.js.map +0 -1
- package/rest/v1/credits.mjs +0 -1
- package/rest/v1/wing.d.ts +0 -38
- package/rest/v1/wing.js.map +0 -1
- package/rest/v1/wing.mjs +0 -1
|
@@ -1,12 +1,120 @@
|
|
|
1
1
|
// payloads/v1/workspace.ts
|
|
2
|
-
var
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
2
|
+
var WorkspacePermission = {
|
|
3
|
+
APPS_READ: "apps:read",
|
|
4
|
+
APPS_MANAGE: "apps:manage",
|
|
5
|
+
APPS_LIFECYCLE: "apps:lifecycle",
|
|
6
|
+
APPS_ENVS: "apps:envs",
|
|
7
|
+
APPS_FILES: "apps:files",
|
|
8
|
+
APPS_DELETE: "apps:delete",
|
|
9
|
+
DATABASES_READ: "databases:read",
|
|
10
|
+
DATABASES_MANAGE: "databases:manage",
|
|
11
|
+
DATABASES_LIFECYCLE: "databases:lifecycle",
|
|
12
|
+
DATABASES_CREDENTIALS: "databases:credentials",
|
|
13
|
+
DATABASES_DATA: "databases:data",
|
|
14
|
+
DATABASES_DELETE: "databases:delete",
|
|
15
|
+
SNAPSHOTS_READ: "snapshots:read",
|
|
16
|
+
SNAPSHOTS_MANAGE: "snapshots:manage",
|
|
17
|
+
MEMBERS_READ: "members:read",
|
|
18
|
+
MEMBERS_MANAGE: "members:manage",
|
|
19
|
+
ROLES_MANAGE: "roles:manage",
|
|
20
|
+
ACTIVITIES_READ: "activities:read"
|
|
21
|
+
};
|
|
22
|
+
var WORKSPACE_PERMISSIONS = {
|
|
23
|
+
"apps:read": { group: "apps" },
|
|
24
|
+
"apps:manage": { group: "apps" },
|
|
25
|
+
"apps:lifecycle": { group: "apps" },
|
|
26
|
+
"apps:envs": { group: "apps" },
|
|
27
|
+
"apps:files": { group: "apps" },
|
|
28
|
+
"apps:delete": { group: "apps" },
|
|
29
|
+
"databases:read": { group: "databases" },
|
|
30
|
+
"databases:manage": { group: "databases" },
|
|
31
|
+
"databases:lifecycle": { group: "databases" },
|
|
32
|
+
"databases:credentials": { group: "databases" },
|
|
33
|
+
"databases:data": { group: "databases" },
|
|
34
|
+
"databases:delete": { group: "databases" },
|
|
35
|
+
"snapshots:read": { group: "snapshots" },
|
|
36
|
+
"snapshots:manage": { group: "snapshots" },
|
|
37
|
+
"members:read": { group: "members" },
|
|
38
|
+
"members:manage": { group: "members" },
|
|
39
|
+
"roles:manage": { group: "roles" },
|
|
40
|
+
"activities:read": { group: "activities" }
|
|
41
|
+
};
|
|
42
|
+
var WORKSPACE_PERMISSION_LIST = Object.keys(WORKSPACE_PERMISSIONS);
|
|
43
|
+
var WorkspaceRolePreset = {
|
|
44
|
+
Admin: "admin",
|
|
45
|
+
Developer: "developer",
|
|
46
|
+
Operator: "operator",
|
|
47
|
+
Viewer: "viewer"
|
|
48
|
+
};
|
|
49
|
+
function workspacePresetPermissions(preset) {
|
|
50
|
+
switch (preset) {
|
|
51
|
+
case "admin":
|
|
52
|
+
return WORKSPACE_PERMISSION_LIST.filter((p) => p !== "snapshots:manage");
|
|
53
|
+
case "developer":
|
|
54
|
+
return ["apps:read", "apps:manage", "apps:lifecycle", "apps:envs", "apps:files", "databases:read", "databases:manage", "databases:lifecycle", "databases:credentials", "databases:data", "snapshots:read", "members:read", "activities:read"];
|
|
55
|
+
case "operator":
|
|
56
|
+
return ["apps:read", "apps:lifecycle", "databases:read", "databases:lifecycle", "snapshots:read", "members:read", "activities:read"];
|
|
57
|
+
case "viewer":
|
|
58
|
+
return ["apps:read", "databases:read", "snapshots:read", "members:read", "activities:read"];
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
var WorkspaceResourceType = { Application: "application", Database: "database" };
|
|
62
|
+
var WorkspaceResourceOrganizationScope = { Personal: "personal", Workspace: "workspace" };
|
|
63
|
+
var WorkspaceFolderColor = { Neutral: "neutral", Red: "red", Orange: "orange", Yellow: "yellow", Green: "green", Blue: "blue", Purple: "purple" };
|
|
64
|
+
var WORKSPACE_FOLDER_COLORS = Object.values(WorkspaceFolderColor);
|
|
65
|
+
var WorkspaceInviteKind = { Email: "email", Link: "link" };
|
|
66
|
+
var WorkspaceActionRequestAction = {
|
|
67
|
+
AppDelete: "app_delete",
|
|
68
|
+
DatabaseDelete: "database_delete",
|
|
69
|
+
SnapshotCreate: "snapshot_create",
|
|
70
|
+
SnapshotRestore: "snapshot_restore"
|
|
71
|
+
};
|
|
72
|
+
var WorkspaceActionRequestStatus = {
|
|
73
|
+
Pending: "pending",
|
|
74
|
+
Approved: "approved",
|
|
75
|
+
Rejected: "rejected",
|
|
76
|
+
Expired: "expired"
|
|
77
|
+
};
|
|
78
|
+
var WORKSPACE_ERROR_CODES = {
|
|
79
|
+
WORKSPACE_NOT_FOUND: "WORKSPACE_NOT_FOUND",
|
|
80
|
+
WORKSPACE_NAME_ALREADY_EXISTS: "WORKSPACE_NAME_ALREADY_EXISTS",
|
|
81
|
+
WORKSPACE_MEMBER_LIMIT_REACHED: "WORKSPACE_MEMBER_LIMIT_REACHED",
|
|
82
|
+
WORKSPACE_ROLE_LIMIT_REACHED: "WORKSPACE_ROLE_LIMIT_REACHED",
|
|
83
|
+
WORKSPACE_ROLE_IN_USE: "WORKSPACE_ROLE_IN_USE",
|
|
84
|
+
WORKSPACE_ROLE_NOT_FOUND: "WORKSPACE_ROLE_NOT_FOUND",
|
|
85
|
+
WORKSPACE_ROLE_NAME_ALREADY_EXISTS: "WORKSPACE_ROLE_NAME_ALREADY_EXISTS",
|
|
86
|
+
WORKSPACE_PERMISSION_DENIED: "WORKSPACE_PERMISSION_DENIED",
|
|
87
|
+
WORKSPACE_PERMISSION_ESCALATION: "WORKSPACE_PERMISSION_ESCALATION",
|
|
88
|
+
WORKSPACE_INVITE_NOT_FOUND: "WORKSPACE_INVITE_NOT_FOUND",
|
|
89
|
+
WORKSPACE_INVITE_EXPIRED: "WORKSPACE_INVITE_EXPIRED",
|
|
90
|
+
WORKSPACE_INVITE_EMAIL_MISMATCH: "WORKSPACE_INVITE_EMAIL_MISMATCH",
|
|
91
|
+
WORKSPACE_OWNER_ONLY: "WORKSPACE_OWNER_ONLY",
|
|
92
|
+
WORKSPACE_ACTION_REQUEST_NOT_FOUND: "WORKSPACE_ACTION_REQUEST_NOT_FOUND",
|
|
93
|
+
/** 409 — the request was already approved or rejected. */
|
|
94
|
+
/** 400 — the requester already has the permission; perform the action directly. */
|
|
95
|
+
WORKSPACE_ACTION_NOT_NEEDED: "WORKSPACE_ACTION_NOT_NEEDED",
|
|
96
|
+
/** 400 — the request `params` failed the action's validation (e.g. a snapshot of another resource). */
|
|
97
|
+
WORKSPACE_ACTION_INVALID_PARAMS: "WORKSPACE_ACTION_INVALID_PARAMS",
|
|
98
|
+
/** 409 — a pending request already exists for the same action on the same resource. */
|
|
99
|
+
WORKSPACE_ACTION_REQUEST_PENDING: "WORKSPACE_ACTION_REQUEST_PENDING",
|
|
100
|
+
WORKSPACE_RESOURCE_FOLDER_NOT_FOUND: "WORKSPACE_RESOURCE_FOLDER_NOT_FOUND",
|
|
101
|
+
WORKSPACE_RESOURCE_FOLDER_NAME_CONFLICT: "WORKSPACE_RESOURCE_FOLDER_NAME_CONFLICT",
|
|
102
|
+
WORKSPACE_RESOURCE_NOT_FOUND: "WORKSPACE_RESOURCE_NOT_FOUND",
|
|
103
|
+
PLAN_RESTRICTED_FEATURE: "PLAN_RESTRICTED_FEATURE"
|
|
8
104
|
};
|
|
9
105
|
export {
|
|
10
|
-
|
|
106
|
+
WORKSPACE_ERROR_CODES,
|
|
107
|
+
WORKSPACE_FOLDER_COLORS,
|
|
108
|
+
WORKSPACE_PERMISSIONS,
|
|
109
|
+
WORKSPACE_PERMISSION_LIST,
|
|
110
|
+
WorkspaceActionRequestAction,
|
|
111
|
+
WorkspaceActionRequestStatus,
|
|
112
|
+
WorkspaceFolderColor,
|
|
113
|
+
WorkspaceInviteKind,
|
|
114
|
+
WorkspacePermission,
|
|
115
|
+
WorkspaceResourceOrganizationScope,
|
|
116
|
+
WorkspaceResourceType,
|
|
117
|
+
WorkspaceRolePreset,
|
|
118
|
+
workspacePresetPermissions
|
|
11
119
|
};
|
|
12
120
|
//# sourceMappingURL=workspace.mjs.map
|
package/rest/v1/activity.d.ts
CHANGED
|
@@ -1,14 +1,25 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { APIActivity } from '../../payloads/v1/activity.js';
|
|
1
|
+
import { APIPaginatedPayload } from '../../common/v1.js';
|
|
2
|
+
import { ActivityTargetType, ActivityStatus, ActivityOrigin, APIActivity } from '../../payloads/v1/activity.js';
|
|
3
|
+
import '../../payloads/v1/api-error.js';
|
|
3
4
|
import '../../payloads/v1/notification.js';
|
|
4
5
|
|
|
6
|
+
/** Dashboard session only (not reachable with an API key). */
|
|
7
|
+
interface RESTGetAPIActivitiesQuery {
|
|
8
|
+
page?: number;
|
|
9
|
+
limit?: number;
|
|
10
|
+
target_id?: string;
|
|
11
|
+
target_type?: ActivityTargetType;
|
|
12
|
+
status?: ActivityStatus;
|
|
13
|
+
origin?: ActivityOrigin;
|
|
14
|
+
search?: string;
|
|
15
|
+
workspace_id?: string;
|
|
16
|
+
/** Only applies when `workspace_id` is also provided. */
|
|
17
|
+
author_id?: string;
|
|
18
|
+
}
|
|
5
19
|
/**
|
|
6
|
-
*
|
|
20
|
+
* A page of activities.
|
|
21
|
+
* Dashboard session only (not reachable with an API key).
|
|
7
22
|
*/
|
|
8
|
-
type
|
|
9
|
-
/**
|
|
10
|
-
* @see https://docs.vertracloud.app/api-reference/endpoint/activities
|
|
11
|
-
*/
|
|
12
|
-
type RESTGetAPIActivitiesResponse = APIPayload<APIActivity[]>;
|
|
23
|
+
type RESTGetAPIActivitiesResponse = APIPaginatedPayload<APIActivity>;
|
|
13
24
|
|
|
14
|
-
export type {
|
|
25
|
+
export type { RESTGetAPIActivitiesQuery, RESTGetAPIActivitiesResponse };
|
package/rest/v1/activity.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["activity.ts"],"sourcesContent":["import type { APIActivity,
|
|
1
|
+
{"version":3,"sources":["activity.ts"],"sourcesContent":["import type { APIActivity, APIPaginatedPayload, ActivityOrigin, ActivityStatus, ActivityTargetType } from \"../../v1\";\n\n/** Dashboard session only (not reachable with an API key). */\nexport interface RESTGetAPIActivitiesQuery {\n\tpage?: number;\n\tlimit?: number;\n\ttarget_id?: string;\n\ttarget_type?: ActivityTargetType;\n\tstatus?: ActivityStatus;\n\torigin?: ActivityOrigin;\n\tsearch?: string;\n\tworkspace_id?: string;\n\t/** Only applies when `workspace_id` is also provided. */\n\tauthor_id?: string;\n}\n\n/**\n * A page of activities.\n * Dashboard session only (not reachable with an API key).\n */\nexport type RESTGetAPIActivitiesResponse = APIPaginatedPayload<APIActivity>;\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { APIPayload } from '../../common/v1.js';
|
|
2
|
+
import { APIApiKey, APIApiKeyScope, APIApiKeyCreated } from '../../payloads/v1/api-key.js';
|
|
3
|
+
import '../../payloads/v1/api-error.js';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Key management under `/v1/users/me/api-keys`. Dashboard session only: every route rejects API key authentication (`WEBSITE_ONLY`).
|
|
7
|
+
* @see https://docs.vertracloud.app/api-reference/endpoint/users/api-keys/list
|
|
8
|
+
*/
|
|
9
|
+
type RESTGetAPIUserApiKeysResponse = APIPayload<APIApiKey[]>;
|
|
10
|
+
interface RESTPostAPIUserApiKeyCreateBody {
|
|
11
|
+
/** 1–40 characters. */
|
|
12
|
+
name: string;
|
|
13
|
+
/** At least one scope. */
|
|
14
|
+
scopes: APIApiKeyScope[];
|
|
15
|
+
/** One IP or CIDR per entry, max. 20. Omitted/empty = any IP. */
|
|
16
|
+
allowed_ips?: string[];
|
|
17
|
+
}
|
|
18
|
+
type RESTPostAPIUserApiKeyCreateResponse = APIPayload<APIApiKeyCreated>;
|
|
19
|
+
/** Never changes the secret — use `rotate` for that. */
|
|
20
|
+
type RESTPatchAPIUserApiKeyBody = Partial<RESTPostAPIUserApiKeyCreateBody>;
|
|
21
|
+
type RESTPatchAPIUserApiKeyResponse = APIPayload<APIApiKey>;
|
|
22
|
+
/** New secret; same `id`, name, scopes and IPs. */
|
|
23
|
+
type RESTPostAPIUserApiKeyRotateResponse = APIPayload<APIApiKeyCreated>;
|
|
24
|
+
type RESTDeleteAPIUserApiKeyResponse = APIPayload<never>;
|
|
25
|
+
|
|
26
|
+
export type { RESTDeleteAPIUserApiKeyResponse, RESTGetAPIUserApiKeysResponse, RESTPatchAPIUserApiKeyBody, RESTPatchAPIUserApiKeyResponse, RESTPostAPIUserApiKeyCreateBody, RESTPostAPIUserApiKeyCreateResponse, RESTPostAPIUserApiKeyRotateResponse };
|
|
@@ -13,7 +13,7 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
13
13
|
};
|
|
14
14
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
15
15
|
|
|
16
|
-
//
|
|
17
|
-
var
|
|
18
|
-
module.exports = __toCommonJS(
|
|
19
|
-
//# sourceMappingURL=
|
|
16
|
+
// rest/v1/api-key.ts
|
|
17
|
+
var api_key_exports = {};
|
|
18
|
+
module.exports = __toCommonJS(api_key_exports);
|
|
19
|
+
//# sourceMappingURL=api-key.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["api-key.ts"],"sourcesContent":["import type { APIApiKey, APIApiKeyCreated, APIApiKeyScope, APIPayload } from \"../../v1\";\n\n/**\n * Key management under `/v1/users/me/api-keys`. Dashboard session only: every route rejects API key authentication (`WEBSITE_ONLY`).\n * @see https://docs.vertracloud.app/api-reference/endpoint/users/api-keys/list\n */\nexport type RESTGetAPIUserApiKeysResponse = APIPayload<APIApiKey[]>;\n\nexport interface RESTPostAPIUserApiKeyCreateBody {\n\t/** 1–40 characters. */\n\tname: string;\n\t/** At least one scope. */\n\tscopes: APIApiKeyScope[];\n\t/** One IP or CIDR per entry, max. 20. Omitted/empty = any IP. */\n\tallowed_ips?: string[];\n}\nexport type RESTPostAPIUserApiKeyCreateResponse = APIPayload<APIApiKeyCreated>;\n\n/** Never changes the secret — use `rotate` for that. */\nexport type RESTPatchAPIUserApiKeyBody = Partial<RESTPostAPIUserApiKeyCreateBody>;\nexport type RESTPatchAPIUserApiKeyResponse = APIPayload<APIApiKey>;\n\n/** New secret; same `id`, name, scopes and IPs. */\nexport type RESTPostAPIUserApiKeyRotateResponse = APIPayload<APIApiKeyCreated>;\n\nexport type RESTDeleteAPIUserApiKeyResponse = APIPayload<never>;\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=api-key.mjs.map
|
package/rest/v1/application.d.ts
CHANGED
|
@@ -1,6 +1,11 @@
|
|
|
1
|
-
import { APIPayload } from '../../common/v1.js';
|
|
2
|
-
import {
|
|
1
|
+
import { APIPayload, RESTAPIWorkspaceQuery, ISODateString } from '../../common/v1.js';
|
|
2
|
+
import { APIApplicationWebPublish, APIApplicationCustomDomain, APIApplicationDeployment, APIApplicationDnsRecord, APIApplicationEnvironment, APIApplicationFileContent, APIApplicationFileTree, APIApplicationFile, APIApplicationMetric, APIApplicationRealtimeEvent, APIApplication, APIApplicationRuntimes, APIApplicationStatus, APIApplicationStatusShort, APIApplicationWebhook, APIApplicationSubdomain, ApplicationLanguage, APIApplicationFileUpload, APIApplicationOperationResponse, APIApplicationScanSuggestions, APIApplicationWebhookUrl } from '../../payloads/v1/application.js';
|
|
3
|
+
import '../../payloads/v1/api-error.js';
|
|
3
4
|
|
|
5
|
+
/**
|
|
6
|
+
* @see https://docs.vertracloud.app/api-reference/endpoint/apps/runtimes
|
|
7
|
+
*/
|
|
8
|
+
type RESTGetAPIApplicationRuntimesResponse = APIPayload<APIApplicationRuntimes>;
|
|
4
9
|
/**
|
|
5
10
|
* @see https://docs.vertracloud.app/api-reference/endpoint/apps/get
|
|
6
11
|
*/
|
|
@@ -12,47 +17,204 @@ type RESTGetAPIApplicationStatusResponse = APIPayload<APIApplicationStatus>;
|
|
|
12
17
|
/**
|
|
13
18
|
* @see https://docs.vertracloud.app/api-reference/endpoint/apps/allstatus
|
|
14
19
|
*/
|
|
15
|
-
type RESTGetAPIApplicationStatusShortResponse = APIPayload<APIApplicationStatusShort>;
|
|
20
|
+
type RESTGetAPIApplicationStatusShortResponse = APIPayload<APIApplicationStatusShort[]>;
|
|
16
21
|
/**
|
|
17
22
|
* @see https://docs.vertracloud.app/api-reference/endpoint/apps/logs
|
|
18
23
|
*/
|
|
19
24
|
type RESTGetAPIApplicationLogsResponse = APIPayload<string>;
|
|
25
|
+
/**
|
|
26
|
+
* @see https://docs.vertracloud.app/api-reference/endpoint/apps/metrics
|
|
27
|
+
*/
|
|
28
|
+
interface RESTGetAPIApplicationMetricsQuery extends RESTAPIWorkspaceQuery {
|
|
29
|
+
range?: "10m" | "30m" | "24h";
|
|
30
|
+
}
|
|
20
31
|
/**
|
|
21
32
|
* @see https://docs.vertracloud.app/api-reference/endpoint/apps/metrics
|
|
22
33
|
*/
|
|
23
34
|
type RESTGetAPIApplicationMetricsResponse = APIPayload<APIApplicationMetric[]>;
|
|
35
|
+
/**
|
|
36
|
+
* `GET /v1/apps/:id/files`. `path` absent = the application root.
|
|
37
|
+
* @see https://docs.vertracloud.app/api-reference/endpoint/apps/filemanager/files
|
|
38
|
+
*/
|
|
39
|
+
interface RESTGetAPIApplicationFilesQuery extends RESTAPIWorkspaceQuery {
|
|
40
|
+
path?: string;
|
|
41
|
+
}
|
|
24
42
|
/**
|
|
25
43
|
* @see https://docs.vertracloud.app/api-reference/endpoint/apps/filemanager/files
|
|
26
44
|
*/
|
|
27
45
|
type RESTGetAPIApplicationFilesResponse = APIPayload<APIApplicationFile[]>;
|
|
46
|
+
/**
|
|
47
|
+
* `GET /v1/apps/:id/files/tree` — the whole file tree (depth-limited), as a list of root entries.
|
|
48
|
+
* @see https://docs.vertracloud.app/api-reference/endpoint/apps/filemanager/tree
|
|
49
|
+
*/
|
|
50
|
+
type RESTGetAPIApplicationFileTreeResponse = APIPayload<APIApplicationFileTree[]>;
|
|
51
|
+
/**
|
|
52
|
+
* `GET /v1/apps/:id/files/content`.
|
|
53
|
+
* @see https://docs.vertracloud.app/api-reference/endpoint/apps/filemanager/content
|
|
54
|
+
*/
|
|
55
|
+
interface RESTGetAPIApplicationFileContentQuery extends RESTAPIWorkspaceQuery {
|
|
56
|
+
path: string;
|
|
57
|
+
}
|
|
28
58
|
/**
|
|
29
59
|
* @see https://docs.vertracloud.app/api-reference/endpoint/apps/filemanager/content
|
|
30
60
|
*/
|
|
31
61
|
type RESTGetAPIApplicationFileContentResponse = APIPayload<APIApplicationFileContent>;
|
|
32
62
|
/**
|
|
33
|
-
*
|
|
63
|
+
* `POST /v1/apps/:id/files/upload` (multipart zip). `restart: "true"` restarts the app after the upload.
|
|
64
|
+
* @see https://docs.vertracloud.app/api-reference/endpoint/apps/filemanager/upload
|
|
34
65
|
*/
|
|
35
|
-
|
|
66
|
+
interface RESTPostAPIApplicationFileUploadQuery extends RESTAPIWorkspaceQuery {
|
|
67
|
+
restart?: "true" | "false";
|
|
68
|
+
}
|
|
36
69
|
/**
|
|
37
|
-
* @see https://docs.vertracloud.app/api-reference/endpoint/apps/
|
|
70
|
+
* @see https://docs.vertracloud.app/api-reference/endpoint/apps/filemanager/upload
|
|
38
71
|
*/
|
|
39
|
-
type
|
|
72
|
+
type RESTPostAPIApplicationFileUploadResponse = APIPayload<APIApplicationFileUpload>;
|
|
40
73
|
/**
|
|
41
|
-
*
|
|
74
|
+
* Creates or overwrites a file. Without `content`, creates (or truncates to) an empty file.
|
|
75
|
+
* @see https://docs.vertracloud.app/api-reference/endpoint/apps/filemanager/save
|
|
76
|
+
*/
|
|
77
|
+
interface RESTPutAPIApplicationFileBody {
|
|
78
|
+
path: string;
|
|
79
|
+
content?: string;
|
|
80
|
+
/** ISO 8601 datetime from the last read; a mismatch returns `409 FILE_MODIFIED`. */
|
|
81
|
+
last_modified?: ISODateString;
|
|
82
|
+
workspace_id?: string;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* @see https://docs.vertracloud.app/api-reference/endpoint/apps/filemanager/save
|
|
42
86
|
*/
|
|
43
|
-
type
|
|
87
|
+
type RESTPutAPIApplicationFileResponse = APIPayload<null>;
|
|
88
|
+
/**
|
|
89
|
+
* @see https://docs.vertracloud.app/api-reference/endpoint/apps/filemanager/delete
|
|
90
|
+
*/
|
|
91
|
+
interface RESTDeleteAPIApplicationFileBody {
|
|
92
|
+
path: string;
|
|
93
|
+
workspace_id?: string;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* @see https://docs.vertracloud.app/api-reference/endpoint/apps/filemanager/delete
|
|
97
|
+
*/
|
|
98
|
+
type RESTDeleteAPIApplicationFileResponse = APIPayload<null>;
|
|
99
|
+
/**
|
|
100
|
+
* @see https://docs.vertracloud.app/api-reference/endpoint/apps/filemanager/move
|
|
101
|
+
*/
|
|
102
|
+
interface RESTPatchAPIApplicationFileMoveBody {
|
|
103
|
+
path: string;
|
|
104
|
+
to: string;
|
|
105
|
+
workspace_id?: string;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* @see https://docs.vertracloud.app/api-reference/endpoint/apps/filemanager/move
|
|
109
|
+
*/
|
|
110
|
+
type RESTPatchAPIApplicationFileMoveResponse = APIPayload<null>;
|
|
44
111
|
/**
|
|
45
112
|
* @see https://docs.vertracloud.app/api-reference/endpoint/apps/enviroments/get
|
|
46
113
|
*/
|
|
47
114
|
type RESTGetAPIApplicationEnvironmentResponse = APIPayload<APIApplicationEnvironment[]>;
|
|
48
115
|
/**
|
|
116
|
+
* One variable of the `POST /apps/:id/envs` body. `note: null` clears the existing note.
|
|
117
|
+
*
|
|
118
|
+
* @see https://docs.vertracloud.app/api-reference/endpoint/apps/enviroments/createOrEdit
|
|
119
|
+
*/
|
|
120
|
+
interface RESTPostAPIApplicationEnvironmentVariableBody {
|
|
121
|
+
key: string;
|
|
122
|
+
value: string;
|
|
123
|
+
note?: string | null;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Body of `POST /apps/:id/envs`: a single object (one variable) or an array (batch), with no repeated keys.
|
|
127
|
+
*
|
|
128
|
+
* @see https://docs.vertracloud.app/api-reference/endpoint/apps/enviroments/createOrEdit
|
|
129
|
+
*/
|
|
130
|
+
type RESTPostAPIApplicationEnvironmentBody = RESTPostAPIApplicationEnvironmentVariableBody | RESTPostAPIApplicationEnvironmentVariableBody[];
|
|
131
|
+
/**
|
|
132
|
+
* @see https://docs.vertracloud.app/api-reference/endpoint/apps/enviroments/createOrEdit
|
|
133
|
+
*/
|
|
134
|
+
type RESTPostAPIApplicationEnvironmentResponse = APIPayload<APIApplicationEnvironment[]>;
|
|
135
|
+
/**
|
|
136
|
+
* `DELETE /v1/apps/:id/envs/:envId`.
|
|
137
|
+
* @see https://docs.vertracloud.app/api-reference/endpoint/apps/enviroments/delete
|
|
138
|
+
*/
|
|
139
|
+
type RESTDeleteAPIApplicationEnvironmentResponse = APIPayload<null>;
|
|
140
|
+
/**
|
|
141
|
+
* Body of `POST /apps` — **`multipart/form-data`**, not JSON. Each field below is one multipart
|
|
142
|
+
* part: `file` as a file and **every other field as a text field** (including `snapshot_id`,
|
|
143
|
+
* `memory` and `envs`, the latter as a JSON-serialized string).
|
|
144
|
+
*
|
|
145
|
+
* The application has **two mutually exclusive sources**:
|
|
146
|
+
*
|
|
147
|
+
* - `file` — the zip uploaded by the user;
|
|
148
|
+
* - `snapshot_id` — alternative to `file`: the app is created from that snapshot (which already
|
|
149
|
+
* includes its `vertracloud.config`).
|
|
150
|
+
*
|
|
151
|
+
* **Exactly one of them must be present.** Neither → `SOURCE_REQUIRED`; both →
|
|
152
|
+
* `SOURCE_CONFLICT`.
|
|
153
|
+
*
|
|
154
|
+
* Error codes:
|
|
155
|
+
*
|
|
156
|
+
* - `SOURCE_REQUIRED` — neither `file` nor `snapshot_id`.
|
|
157
|
+
* - `SOURCE_CONFLICT` — `file` and `snapshot_id` together.
|
|
158
|
+
* - `SNAPSHOT_NOT_FOUND` — the snapshot does not exist or does not belong to the user.
|
|
159
|
+
* - `SNAPSHOT_TYPE_MISMATCH` — the snapshot is from a database, not an application.
|
|
160
|
+
* - `SNAPSHOT_TOO_LARGE` — the snapshot exceeds the size limit for creation.
|
|
161
|
+
*
|
|
162
|
+
* @see https://docs.vertracloud.app/api-reference/endpoint/apps/create
|
|
163
|
+
*/
|
|
164
|
+
interface RESTPostAPIApplicationCreateBody {
|
|
165
|
+
/** Application zip. Absent when the source is `snapshot_id`. */
|
|
166
|
+
file?: unknown;
|
|
167
|
+
/**
|
|
168
|
+
* Alternative to `file`: id of the **application** snapshot to create the app from. Sent as a
|
|
169
|
+
* multipart text field. Exactly one of `file` and `snapshot_id`.
|
|
170
|
+
*/
|
|
171
|
+
snapshot_id?: string;
|
|
172
|
+
name: string;
|
|
173
|
+
description?: string | null;
|
|
174
|
+
/** RAM in MB. Multipart text field. Required with `file`; with `snapshot_id` defaults to the snapshot's config. */
|
|
175
|
+
memory?: number;
|
|
176
|
+
/** Required with `file`; with `snapshot_id` defaults to the snapshot's config. */
|
|
177
|
+
main?: string;
|
|
178
|
+
/** Required with `file`; with `snapshot_id` defaults to the snapshot's config. */
|
|
179
|
+
version?: string;
|
|
180
|
+
start?: string;
|
|
181
|
+
/** Build command (see `APIApplication.build_command`). */
|
|
182
|
+
build?: string;
|
|
183
|
+
/** @deprecated Always `true` since 2026-09-17 — auto-restart is on for every plan; any value sent is ignored. */
|
|
184
|
+
autorestart?: boolean;
|
|
185
|
+
/** `"random"` = the platform picks one at random. */
|
|
186
|
+
subdomain?: string;
|
|
187
|
+
workspace_id?: string;
|
|
188
|
+
/** JSON-serialized string in the multipart body. */
|
|
189
|
+
envs?: RESTPostAPIApplicationEnvironmentVariableBody[];
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* The created application, plus the directories removed from the uploaded zip.
|
|
49
193
|
* @see https://docs.vertracloud.app/api-reference/endpoint/apps/create
|
|
50
194
|
*/
|
|
51
|
-
type RESTPostAPIApplicationCreateResponse = APIPayload<APIApplication
|
|
195
|
+
type RESTPostAPIApplicationCreateResponse = APIPayload<APIApplication & {
|
|
196
|
+
removed_directories: string[];
|
|
197
|
+
}>;
|
|
198
|
+
/**
|
|
199
|
+
* Scans a zip before creating the application and returns suggestions (start/build command,
|
|
200
|
+
* memory). Creates nothing.
|
|
201
|
+
*
|
|
202
|
+
* @see https://docs.vertracloud.app/api-reference/endpoint/apps/scan
|
|
203
|
+
*/
|
|
204
|
+
interface RESTPostAPIApplicationScanBody {
|
|
205
|
+
/** Application zip. */
|
|
206
|
+
file: unknown;
|
|
207
|
+
/** Main file of the application — used only to infer the language, as on create. */
|
|
208
|
+
main: string;
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* @see https://docs.vertracloud.app/api-reference/endpoint/apps/scan
|
|
212
|
+
*/
|
|
213
|
+
type RESTPostAPIApplicationScanResponse = APIPayload<APIApplicationScanSuggestions>;
|
|
52
214
|
/**
|
|
53
215
|
* @see https://docs.vertracloud.app/api-reference/endpoint/apps/delete
|
|
54
216
|
*/
|
|
55
|
-
type RESTDeleteAPIApplicationResponse = APIPayload<
|
|
217
|
+
type RESTDeleteAPIApplicationResponse = APIPayload<null>;
|
|
56
218
|
/**
|
|
57
219
|
* @see https://docs.vertracloud.app/api-reference/endpoint/apps/download
|
|
58
220
|
*/
|
|
@@ -60,7 +222,14 @@ type RESTGetAPIApplicationDownloadResponse = ArrayBuffer;
|
|
|
60
222
|
/**
|
|
61
223
|
* @see https://docs.vertracloud.app/api-reference/endpoint/apps/realtime
|
|
62
224
|
*/
|
|
63
|
-
|
|
225
|
+
interface RESTGetAPIApplicationRealtimeQuery extends RESTAPIWorkspaceQuery {
|
|
226
|
+
since?: number;
|
|
227
|
+
}
|
|
228
|
+
/**
|
|
229
|
+
* The route answers with a `text/event-stream`; this is the shape of each event in it.
|
|
230
|
+
* @see https://docs.vertracloud.app/api-reference/endpoint/apps/realtime
|
|
231
|
+
*/
|
|
232
|
+
type RESTGetAPIApplicationRealtimeResponse = APIApplicationRealtimeEvent;
|
|
64
233
|
/**
|
|
65
234
|
* @see https://docs.vertracloud.app/api-reference/endpoint/apps/start
|
|
66
235
|
*/
|
|
@@ -69,43 +238,146 @@ type RESTPostAPIApplicationStartResponse = APIPayload<APIApplicationOperationRes
|
|
|
69
238
|
* @see https://docs.vertracloud.app/api-reference/endpoint/apps/stop
|
|
70
239
|
*/
|
|
71
240
|
type RESTPostAPIApplicationStopResponse = APIPayload<APIApplicationOperationResponse>;
|
|
241
|
+
/**
|
|
242
|
+
* Optional restart body. No body = regular restart, reusing the install and build cache.
|
|
243
|
+
*
|
|
244
|
+
* @see https://docs.vertracloud.app/api-reference/endpoint/apps/restart
|
|
245
|
+
*/
|
|
246
|
+
interface RESTPostAPIApplicationRestartBody {
|
|
247
|
+
/** Reinstalls dependencies from scratch, ignoring the install cache. */
|
|
248
|
+
reinstall_dependencies?: boolean;
|
|
249
|
+
/** Runs the build command again even without code changes. Counts as a deploy toward the hourly limit. */
|
|
250
|
+
force_build?: boolean;
|
|
251
|
+
/**
|
|
252
|
+
* After changing the app's language, removes the dependencies left by the previous runtime.
|
|
253
|
+
* Must differ from the current language (`CLEANUP_LANGUAGE_SAME_AS_CURRENT`).
|
|
254
|
+
*/
|
|
255
|
+
cleanup_old_runtime_language?: ApplicationLanguage;
|
|
256
|
+
}
|
|
72
257
|
/**
|
|
73
258
|
* @see https://docs.vertracloud.app/api-reference/endpoint/apps/restart
|
|
74
259
|
*/
|
|
75
260
|
type RESTPostAPIApplicationRestartResponse = APIPayload<APIApplicationOperationResponse>;
|
|
76
261
|
/**
|
|
262
|
+
* Body for updating the app configuration. Every field is optional, but at least one must be
|
|
263
|
+
* provided.
|
|
264
|
+
*
|
|
77
265
|
* @see https://docs.vertracloud.app/api-reference/endpoint/apps/updateconfig
|
|
78
266
|
*/
|
|
79
|
-
|
|
267
|
+
interface RESTPatchAPIApplicationUpdateConfigBody {
|
|
268
|
+
name?: string;
|
|
269
|
+
description?: string | null;
|
|
270
|
+
main_file?: string;
|
|
271
|
+
version?: string;
|
|
272
|
+
auto_restart?: boolean;
|
|
273
|
+
start_command?: string | null;
|
|
274
|
+
build_command?: string | null;
|
|
275
|
+
ram?: number;
|
|
276
|
+
language?: ApplicationLanguage;
|
|
277
|
+
}
|
|
80
278
|
/**
|
|
81
|
-
* @see https://docs.vertracloud.app/api-reference/endpoint/apps/
|
|
279
|
+
* @see https://docs.vertracloud.app/api-reference/endpoint/apps/updateconfig
|
|
82
280
|
*/
|
|
83
|
-
type
|
|
281
|
+
type RESTPatchAPIApplicationUpdateConfigResponse = APIPayload<string>;
|
|
84
282
|
/**
|
|
85
|
-
* @see https://docs.vertracloud.app/api-reference/endpoint/apps/
|
|
283
|
+
* @see https://docs.vertracloud.app/api-reference/endpoint/apps/network/dns
|
|
86
284
|
*/
|
|
87
|
-
type
|
|
285
|
+
type RESTGetAPIApplicationDnsRecordsResponse = APIPayload<APIApplicationDnsRecord[]>;
|
|
88
286
|
/**
|
|
89
|
-
*
|
|
287
|
+
* Purges the edge cache of a published application.
|
|
288
|
+
*
|
|
289
|
+
* `hostnames` absent or empty = every host of the application (subdomain and custom domain).
|
|
290
|
+
* When provided, each host must belong to the application. `paths` narrows the purge to
|
|
291
|
+
* specific URLs within those hosts.
|
|
292
|
+
*
|
|
293
|
+
* @see https://docs.vertracloud.app/api-reference/endpoint/apps/network/purgecache
|
|
90
294
|
*/
|
|
91
|
-
|
|
295
|
+
interface RESTPostAPIApplicationPurgeCacheBody {
|
|
296
|
+
hostnames?: string[];
|
|
297
|
+
paths?: string[];
|
|
298
|
+
}
|
|
92
299
|
/**
|
|
93
|
-
* @see https://docs.vertracloud.app/api-reference/endpoint/apps/
|
|
300
|
+
* @see https://docs.vertracloud.app/api-reference/endpoint/apps/network/purgecache
|
|
94
301
|
*/
|
|
95
|
-
type
|
|
302
|
+
type RESTPostAPIApplicationPurgeCacheResponse = APIPayload<null>;
|
|
96
303
|
/**
|
|
97
|
-
*
|
|
304
|
+
* `GET /v1/apps/:id/network/custom` — `404 NO_CUSTOM_DOMAIN` when the application has none.
|
|
305
|
+
* @see https://docs.vertracloud.app/api-reference/endpoint/apps/network/customdomain
|
|
98
306
|
*/
|
|
99
|
-
type
|
|
307
|
+
type RESTGetAPIApplicationCustomDomainResponse = APIPayload<APIApplicationCustomDomain>;
|
|
308
|
+
/**
|
|
309
|
+
* `POST /v1/apps/:id/network/custom`.
|
|
310
|
+
* @see https://docs.vertracloud.app/api-reference/endpoint/apps/network/customdomain
|
|
311
|
+
*/
|
|
312
|
+
interface RESTPostAPIApplicationCustomDomainBody {
|
|
313
|
+
domain: string;
|
|
314
|
+
}
|
|
315
|
+
/**
|
|
316
|
+
* @see https://docs.vertracloud.app/api-reference/endpoint/apps/network/customdomain
|
|
317
|
+
*/
|
|
318
|
+
type RESTPostAPIApplicationCustomDomainResponse = APIPayload<APIApplicationCustomDomain>;
|
|
319
|
+
/**
|
|
320
|
+
* `DELETE /v1/apps/:id/network/custom`.
|
|
321
|
+
* @see https://docs.vertracloud.app/api-reference/endpoint/apps/network/customdomain
|
|
322
|
+
*/
|
|
323
|
+
type RESTDeleteAPIApplicationCustomDomainResponse = APIPayload<null>;
|
|
324
|
+
/**
|
|
325
|
+
* `PATCH /v1/apps/:id/network/subdomain`. Only the label (`my-app`), 3–50 characters.
|
|
326
|
+
* @see https://docs.vertracloud.app/api-reference/endpoint/apps/network/subdomain
|
|
327
|
+
*/
|
|
328
|
+
interface RESTPatchAPIApplicationSubdomainBody {
|
|
329
|
+
subdomain: string;
|
|
330
|
+
}
|
|
331
|
+
/**
|
|
332
|
+
* @see https://docs.vertracloud.app/api-reference/endpoint/apps/network/subdomain
|
|
333
|
+
*/
|
|
334
|
+
type RESTPatchAPIApplicationSubdomainResponse = APIPayload<APIApplicationSubdomain>;
|
|
335
|
+
/**
|
|
336
|
+
* Turns on web publishing for an application created without it.
|
|
337
|
+
* `subdomain` absent = the platform picks one at random; choosing one requires a plan with custom subdomains.
|
|
338
|
+
*
|
|
339
|
+
* @see https://docs.vertracloud.app/api-reference/endpoint/apps/network/publish
|
|
340
|
+
*/
|
|
341
|
+
interface RESTPostAPIApplicationWebPublishBody {
|
|
342
|
+
subdomain?: string;
|
|
343
|
+
}
|
|
344
|
+
/**
|
|
345
|
+
* @see https://docs.vertracloud.app/api-reference/endpoint/apps/network/publish
|
|
346
|
+
*/
|
|
347
|
+
type RESTPostAPIApplicationWebPublishResponse = APIPayload<APIApplicationWebPublish>;
|
|
100
348
|
/**
|
|
101
|
-
*
|
|
349
|
+
* Turns off web publishing: releases the subdomain, removes the custom domain and makes the application private again.
|
|
350
|
+
*
|
|
351
|
+
* @see https://docs.vertracloud.app/api-reference/endpoint/apps/network/publish
|
|
102
352
|
*/
|
|
103
|
-
type
|
|
104
|
-
dependencies: string[];
|
|
105
|
-
};
|
|
353
|
+
type RESTDeleteAPIApplicationWebPublishResponse = APIPayload<APIApplicationWebPublish>;
|
|
106
354
|
/**
|
|
107
|
-
*
|
|
355
|
+
* `GET /v1/apps/:id/deploys/webhook`.
|
|
356
|
+
* @see https://docs.vertracloud.app/api-reference/endpoint/apps/deploys/webhookurl
|
|
108
357
|
*/
|
|
109
|
-
type
|
|
358
|
+
type RESTGetAPIApplicationWebhookUrlResponse = APIPayload<APIApplicationWebhook>;
|
|
359
|
+
/**
|
|
360
|
+
* Creates the auto-deploy webhook from an already connected repository.
|
|
361
|
+
* @see https://docs.vertracloud.app/api-reference/endpoint/apps/deploys/create
|
|
362
|
+
*/
|
|
363
|
+
interface RESTPostAPIApplicationWebhookCreateBody {
|
|
364
|
+
owner: string;
|
|
365
|
+
repo_name: string;
|
|
366
|
+
repo_id: string;
|
|
367
|
+
account_id: string;
|
|
368
|
+
}
|
|
369
|
+
/**
|
|
370
|
+
* @see https://docs.vertracloud.app/api-reference/endpoint/apps/deploys/create
|
|
371
|
+
*/
|
|
372
|
+
type RESTPostAPIApplicationWebhookCreateResponse = APIPayload<APIApplicationWebhookUrl>;
|
|
373
|
+
/**
|
|
374
|
+
* `DELETE /v1/apps/:id/deploys/webhook`.
|
|
375
|
+
* @see https://docs.vertracloud.app/api-reference/endpoint/apps/deploys/delete
|
|
376
|
+
*/
|
|
377
|
+
type RESTDeleteAPIApplicationWebhookResponse = APIPayload<null>;
|
|
378
|
+
/**
|
|
379
|
+
* @see https://docs.vertracloud.app/api-reference/endpoint/apps/deploys/recents
|
|
380
|
+
*/
|
|
381
|
+
type RESTGetAPIApplicationDeploymentsResponse = APIPayload<APIApplicationDeployment[]>;
|
|
110
382
|
|
|
111
|
-
export type { RESTDeleteAPIApplicationResponse, RESTGetAPIApplicationDeploymentsResponse, RESTGetAPIApplicationDnsRecordsResponse, RESTGetAPIApplicationDownloadResponse, RESTGetAPIApplicationEnvironmentResponse, RESTGetAPIApplicationFileContentResponse, RESTGetAPIApplicationFilesResponse, RESTGetAPIApplicationLogsResponse, RESTGetAPIApplicationMetricsResponse, RESTGetAPIApplicationRealtimeResponse, RESTGetAPIApplicationResponse,
|
|
383
|
+
export type { RESTDeleteAPIApplicationCustomDomainResponse, RESTDeleteAPIApplicationEnvironmentResponse, RESTDeleteAPIApplicationFileBody, RESTDeleteAPIApplicationFileResponse, RESTDeleteAPIApplicationResponse, RESTDeleteAPIApplicationWebPublishResponse, RESTDeleteAPIApplicationWebhookResponse, RESTGetAPIApplicationCustomDomainResponse, RESTGetAPIApplicationDeploymentsResponse, RESTGetAPIApplicationDnsRecordsResponse, RESTGetAPIApplicationDownloadResponse, RESTGetAPIApplicationEnvironmentResponse, RESTGetAPIApplicationFileContentQuery, RESTGetAPIApplicationFileContentResponse, RESTGetAPIApplicationFileTreeResponse, RESTGetAPIApplicationFilesQuery, RESTGetAPIApplicationFilesResponse, RESTGetAPIApplicationLogsResponse, RESTGetAPIApplicationMetricsQuery, RESTGetAPIApplicationMetricsResponse, RESTGetAPIApplicationRealtimeQuery, RESTGetAPIApplicationRealtimeResponse, RESTGetAPIApplicationResponse, RESTGetAPIApplicationRuntimesResponse, RESTGetAPIApplicationStatusResponse, RESTGetAPIApplicationStatusShortResponse, RESTGetAPIApplicationWebhookUrlResponse, RESTPatchAPIApplicationFileMoveBody, RESTPatchAPIApplicationFileMoveResponse, RESTPatchAPIApplicationSubdomainBody, RESTPatchAPIApplicationSubdomainResponse, RESTPatchAPIApplicationUpdateConfigBody, RESTPatchAPIApplicationUpdateConfigResponse, RESTPostAPIApplicationCreateBody, RESTPostAPIApplicationCreateResponse, RESTPostAPIApplicationCustomDomainBody, RESTPostAPIApplicationCustomDomainResponse, RESTPostAPIApplicationEnvironmentBody, RESTPostAPIApplicationEnvironmentResponse, RESTPostAPIApplicationEnvironmentVariableBody, RESTPostAPIApplicationFileUploadQuery, RESTPostAPIApplicationFileUploadResponse, RESTPostAPIApplicationPurgeCacheBody, RESTPostAPIApplicationPurgeCacheResponse, RESTPostAPIApplicationRestartBody, RESTPostAPIApplicationRestartResponse, RESTPostAPIApplicationScanBody, RESTPostAPIApplicationScanResponse, RESTPostAPIApplicationStartResponse, RESTPostAPIApplicationStopResponse, RESTPostAPIApplicationWebPublishBody, RESTPostAPIApplicationWebPublishResponse, RESTPostAPIApplicationWebhookCreateBody, RESTPostAPIApplicationWebhookCreateResponse, RESTPutAPIApplicationFileBody, RESTPutAPIApplicationFileResponse };
|