@scaffold-llc/sdk 0.0.0-stage → 0.2.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.
@@ -0,0 +1,321 @@
1
+ /** Each public command's route, by resource and action. */
2
+ export const COMMANDS = {
3
+ account: {
4
+ get: { method: "GET", path: "/v1/account" },
5
+ avatar_set: { method: "POST", path: "/v1/account/avatar", idempotent: true },
6
+ },
7
+ image: {
8
+ get: { method: "GET", path: "/v1/images/{image_id}" },
9
+ },
10
+ workspace: {
11
+ create: { method: "POST", path: "/v1/workspaces", idempotent: true },
12
+ rename: { method: "POST", path: "/v1/workspaces/{workspace_id}/rename", idempotent: true },
13
+ logo_set: { method: "POST", path: "/v1/workspaces/{workspace_id}/logo", idempotent: true },
14
+ delete: { method: "DELETE", path: "/v1/workspaces/{workspace_id}", idempotent: true },
15
+ restore: { method: "POST", path: "/v1/workspaces/{workspace_id}/restore", idempotent: true },
16
+ export_start: { method: "POST", path: "/v1/workspaces/{workspace_id}/exports", idempotent: true },
17
+ export_get: { method: "GET", path: "/v1/workspaces/{workspace_id}/export" },
18
+ export_download: { method: "GET", path: "/v1/workspaces/{workspace_id}/exports/{export_id}/download" },
19
+ list: { method: "GET", path: "/v1/workspaces" },
20
+ member_invite: { method: "POST", path: "/v1/workspaces/{workspace_id}/invites", idempotent: true },
21
+ invite_revoke: { method: "DELETE", path: "/v1/invites/{invite_id}", idempotent: true },
22
+ invite_restore: { method: "POST", path: "/v1/invites/{invite_id}/restore", idempotent: true },
23
+ invite_dismiss: { method: "POST", path: "/v1/invites/{invite_id}/dismiss", idempotent: true },
24
+ invite_list_mine: { method: "GET", path: "/v1/invites/mine" },
25
+ invite_accept: { method: "POST", path: "/v1/invites/accept", idempotent: true },
26
+ invite_join: { method: "POST", path: "/v1/invites/{invite_id}/join", idempotent: true },
27
+ invite_decline: { method: "POST", path: "/v1/invites/decline", idempotent: true },
28
+ invite_get: { method: "POST", path: "/v1/invites/preview" },
29
+ member_list: { method: "GET", path: "/v1/workspaces/{workspace_id}/members" },
30
+ ownership_transfer: { method: "POST", path: "/v1/workspaces/{workspace_id}/transfer-ownership", idempotent: true },
31
+ member_remove: { method: "DELETE", path: "/v1/workspaces/{workspace_id}/members/{person_id}", idempotent: true },
32
+ },
33
+ project: {
34
+ create: { method: "POST", path: "/v1/projects", idempotent: true },
35
+ list: { method: "GET", path: "/v1/projects", list: true },
36
+ get: { method: "GET", path: "/v1/projects/{project_id}" },
37
+ metrics_get: { method: "GET", path: "/v1/projects/{project_id}/metrics" },
38
+ address_check: { method: "GET", path: "/v1/projects/address-check" },
39
+ delete: { method: "DELETE", path: "/v1/projects/{project_id}", idempotent: true },
40
+ restore: { method: "POST", path: "/v1/projects/{project_id}/restore", idempotent: true },
41
+ erase: { method: "POST", path: "/v1/projects/{project_id}/erase", idempotent: true },
42
+ health_get: { method: "GET", path: "/v1/projects/{project_id}/health" },
43
+ status_get: { method: "GET", path: "/v1/projects/{project_id}/status" },
44
+ limits_get: { method: "GET", path: "/v1/projects/{project_id}/limits" },
45
+ alert_get: { method: "GET", path: "/v1/projects/{project_id}/alerts" },
46
+ alert_set: { method: "PUT", path: "/v1/projects/{project_id}/alerts", idempotent: true },
47
+ maintenance_set: { method: "PUT", path: "/v1/projects/{project_id}/maintenance", idempotent: true },
48
+ move: { method: "POST", path: "/v1/projects/{project_id}/move", idempotent: true },
49
+ claim_link_create: { method: "POST", path: "/v1/projects/{project_id}/claim-link" },
50
+ claim_link_cancel: { method: "DELETE", path: "/v1/projects/{project_id}/claim-link", idempotent: true },
51
+ },
52
+ env: {
53
+ set: { method: "POST", path: "/v1/projects/{project_id}/env" },
54
+ list: { method: "GET", path: "/v1/projects/{project_id}/env" },
55
+ delete: { method: "DELETE", path: "/v1/projects/{project_id}/env/{name}", idempotent: true },
56
+ restore: { method: "POST", path: "/v1/projects/{project_id}/env/{name}/restore", idempotent: true },
57
+ },
58
+ source: {
59
+ upload: { method: "PUT", path: "/v1/projects/{project_id}/sources", zip: "archive", idempotent: true },
60
+ delete: { method: "DELETE", path: "/v1/projects/{project_id}/sources/{sha256}", idempotent: true },
61
+ list: { method: "GET", path: "/v1/projects/{project_id}/sources" },
62
+ file_list: { method: "GET", path: "/v1/projects/{project_id}/sources/{sha256}/files" },
63
+ file_get: { method: "GET", path: "/v1/projects/{project_id}/sources/{sha256}/file" },
64
+ },
65
+ github: {
66
+ repository_list: { method: "GET", path: "/v1/workspaces/{workspace_id}/github/repositories" },
67
+ connect: { method: "POST", path: "/v1/projects/{project_id}/github", idempotent: true },
68
+ get: { method: "GET", path: "/v1/projects/{project_id}/github" },
69
+ branch_set: { method: "PATCH", path: "/v1/projects/{project_id}/github", idempotent: true },
70
+ release_command_set: { method: "PUT", path: "/v1/projects/{project_id}/github/release_command", idempotent: true },
71
+ disconnect: { method: "DELETE", path: "/v1/projects/{project_id}/github", idempotent: true },
72
+ deploy: { method: "POST", path: "/v1/projects/{project_id}/github/deploy", idempotent: true },
73
+ },
74
+ app_db: {
75
+ get: { method: "GET", path: "/v1/projects/{project_id}/database" },
76
+ backup_list: { method: "GET", path: "/v1/projects/{project_id}/database/backups" },
77
+ backup_restore: { method: "POST", path: "/v1/projects/{project_id}/database/backups/{backup_id}/restore", idempotent: true },
78
+ dump_create: { method: "POST", path: "/v1/projects/{project_id}/database/dumps", idempotent: true },
79
+ dump_download: { method: "GET", path: "/v1/projects/{project_id}/database/dumps/{dump_id}" },
80
+ },
81
+ cron: {
82
+ create: { method: "POST", path: "/v1/projects/{project_id}/cron-jobs", idempotent: true },
83
+ list: { method: "GET", path: "/v1/projects/{project_id}/cron-jobs" },
84
+ update: { method: "PATCH", path: "/v1/cron-jobs/{cron_job_id}", idempotent: true },
85
+ delete: { method: "DELETE", path: "/v1/cron-jobs/{cron_job_id}", idempotent: true },
86
+ },
87
+ test_run: {
88
+ start: { method: "POST", path: "/v1/projects/{project_id}/test-runs", idempotent: true },
89
+ report: { method: "POST", path: "/v1/test-runs/{test_run_id}/results", idempotent: true },
90
+ fix: { method: "PUT", path: "/v1/test-runs/{test_run_id}/fix", idempotent: true },
91
+ rerun: { method: "POST", path: "/v1/test-runs/{test_run_id}/reruns", idempotent: true },
92
+ list: { method: "GET", path: "/v1/projects/{project_id}/test-runs" },
93
+ get: { method: "GET", path: "/v1/test-runs/{test_run_id}" },
94
+ delete: { method: "DELETE", path: "/v1/test-runs/{test_run_id}", idempotent: true },
95
+ },
96
+ storage: {
97
+ list: { method: "GET", path: "/v1/projects/{project_id}/storage", list: true },
98
+ usage_get: { method: "GET", path: "/v1/workspaces/{workspace_id}/storage" },
99
+ upload_sign: { method: "POST", path: "/v1/projects/{project_id}/storage/upload-url", idempotent: true },
100
+ download_sign: { method: "GET", path: "/v1/projects/{project_id}/storage/download-url" },
101
+ delete: { method: "DELETE", path: "/v1/projects/{project_id}/storage", idempotent: true },
102
+ },
103
+ token: {
104
+ create: { method: "POST", path: "/v1/tokens", idempotent: true },
105
+ list: { method: "GET", path: "/v1/tokens" },
106
+ revoke: { method: "DELETE", path: "/v1/tokens/{token_id}", idempotent: true },
107
+ },
108
+ oauth: {
109
+ grant_list: { method: "GET", path: "/v1/oauth/grants" },
110
+ grant_revoke: { method: "DELETE", path: "/v1/oauth/grants/{grant_id}", idempotent: true },
111
+ },
112
+ credit: {
113
+ balance_get: { method: "GET", path: "/v1/workspaces/{workspace_id}/credits" },
114
+ ledger_list: { method: "GET", path: "/v1/workspaces/{workspace_id}/credits/ledger" },
115
+ cap_set: { method: "POST", path: "/v1/workspaces/{workspace_id}/credits/cap", idempotent: true },
116
+ pack_list: { method: "GET", path: "/v1/credits/packs" },
117
+ top_up_start: { method: "POST", path: "/v1/workspaces/{workspace_id}/credits/top-ups", idempotent: true },
118
+ top_up_get: { method: "GET", path: "/v1/workspaces/{workspace_id}/credits/top-ups/{top_up_id}" },
119
+ top_up_request: { method: "POST", path: "/v1/workspaces/{workspace_id}/credits/top-up-requests", idempotent: true },
120
+ top_up_withdraw: { method: "POST", path: "/v1/workspaces/{workspace_id}/credits/top-ups/{top_up_id}/withdraw", idempotent: true },
121
+ },
122
+ billing: {
123
+ get: { method: "GET", path: "/v1/workspaces/{workspace_id}/billing" },
124
+ prices_get: { method: "GET", path: "/v1/billing/prices" },
125
+ subscribe_start: { method: "POST", path: "/v1/workspaces/{workspace_id}/billing/subscribe", idempotent: true },
126
+ subscribe_cancel: { method: "POST", path: "/v1/workspaces/{workspace_id}/billing/subscribe/cancel", idempotent: true },
127
+ cancel: { method: "POST", path: "/v1/workspaces/{workspace_id}/billing/cancel", idempotent: true },
128
+ resume: { method: "POST", path: "/v1/workspaces/{workspace_id}/billing/resume", idempotent: true },
129
+ portal_open: { method: "POST", path: "/v1/workspaces/{workspace_id}/billing/portal" },
130
+ withdraw: { method: "POST", path: "/v1/workspaces/{workspace_id}/billing/withdraw", idempotent: true },
131
+ },
132
+ change: {
133
+ list: { method: "GET", path: "/v1/workspaces/{workspace_id}/changes" },
134
+ command_get: { method: "GET", path: "/v1/commands/{command_id}/changes" },
135
+ export: { method: "GET", path: "/v1/workspaces/{workspace_id}/changes/export" },
136
+ },
137
+ trash: {
138
+ list: { method: "GET", path: "/v1/workspaces/{workspace_id}/trash" },
139
+ },
140
+ database: {
141
+ create: { method: "POST", path: "/v1/workspaces/{workspace_id}/databases", idempotent: true },
142
+ list: { method: "GET", path: "/v1/workspaces/{workspace_id}/databases" },
143
+ rename: { method: "POST", path: "/v1/databases/{database_id}/rename", idempotent: true },
144
+ archive: { method: "POST", path: "/v1/databases/{database_id}/archive", idempotent: true },
145
+ restore: { method: "POST", path: "/v1/databases/{database_id}/restore", idempotent: true },
146
+ },
147
+ field: {
148
+ create: { method: "POST", path: "/v1/databases/{database_id}/fields", idempotent: true },
149
+ rename: { method: "POST", path: "/v1/fields/{field_id}/rename", idempotent: true },
150
+ options_set: { method: "POST", path: "/v1/fields/{field_id}/options", idempotent: true },
151
+ relation_set: { method: "POST", path: "/v1/fields/{field_id}/relation", idempotent: true },
152
+ archive: { method: "POST", path: "/v1/fields/{field_id}/archive", idempotent: true },
153
+ restore: { method: "POST", path: "/v1/fields/{field_id}/restore", idempotent: true },
154
+ },
155
+ record: {
156
+ create: { method: "POST", path: "/v1/databases/{database_id}/records", idempotent: true },
157
+ query: { method: "POST", path: "/v1/databases/{database_id}/query", list: true },
158
+ get: { method: "GET", path: "/v1/records/{record_id}" },
159
+ update: { method: "POST", path: "/v1/records/{record_id}", idempotent: true },
160
+ subtasks_set: { method: "POST", path: "/v1/records/{record_id}/subtasks", idempotent: true },
161
+ archive: { method: "POST", path: "/v1/records/{record_id}/archive", idempotent: true },
162
+ restore: { method: "POST", path: "/v1/records/{record_id}/restore", idempotent: true },
163
+ bulk_update: { method: "POST", path: "/v1/databases/{database_id}/records/bulk-update", idempotent: true },
164
+ bulk_create: { method: "POST", path: "/v1/databases/{database_id}/records/bulk-create", idempotent: true },
165
+ bulk_archive: { method: "POST", path: "/v1/databases/{database_id}/records/bulk-archive", idempotent: true },
166
+ bulk_restore: { method: "POST", path: "/v1/databases/{database_id}/records/bulk-restore", idempotent: true },
167
+ history: { method: "GET", path: "/v1/records/{record_id}/history" },
168
+ undo: { method: "POST", path: "/v1/record-commands/{command_id}/undo", idempotent: true },
169
+ },
170
+ card: {
171
+ move: { method: "POST", path: "/v1/records/{record_id}/move", idempotent: true },
172
+ assigned_list: { method: "GET", path: "/v1/workspaces/{workspace_id}/records/assigned", list: true },
173
+ },
174
+ task: {
175
+ list: { method: "GET", path: "/v1/tasks", list: true },
176
+ create: { method: "POST", path: "/v1/tasks", idempotent: true },
177
+ update: { method: "PATCH", path: "/v1/tasks/{task_id}", idempotent: true },
178
+ move: { method: "POST", path: "/v1/tasks/{task_id}/move", idempotent: true },
179
+ },
180
+ view: {
181
+ create: { method: "POST", path: "/v1/databases/{database_id}/views", idempotent: true },
182
+ list: { method: "GET", path: "/v1/databases/{database_id}/views" },
183
+ update: { method: "POST", path: "/v1/views/{view_id}", idempotent: true },
184
+ rename: { method: "POST", path: "/v1/views/{view_id}/rename", idempotent: true },
185
+ archive: { method: "POST", path: "/v1/views/{view_id}/archive", idempotent: true },
186
+ restore: { method: "POST", path: "/v1/views/{view_id}/restore", idempotent: true },
187
+ record_list: { method: "GET", path: "/v1/views/{view_id}/records", list: true },
188
+ },
189
+ page: {
190
+ create: { method: "POST", path: "/v1/workspaces/{workspace_id}/pages", idempotent: true },
191
+ list: { method: "GET", path: "/v1/workspaces/{workspace_id}/pages" },
192
+ get: { method: "GET", path: "/v1/pages/{page_id}" },
193
+ rename: { method: "POST", path: "/v1/pages/{page_id}/rename", idempotent: true },
194
+ archive: { method: "POST", path: "/v1/pages/{page_id}/archive", idempotent: true },
195
+ restore: { method: "POST", path: "/v1/pages/{page_id}/restore", idempotent: true },
196
+ edit: { method: "POST", path: "/v1/pages/{page_id}/edit", idempotent: true },
197
+ append: { method: "POST", path: "/v1/pages/{page_id}/blocks", idempotent: true },
198
+ propose: { method: "POST", path: "/v1/pages/{page_id}/proposals", idempotent: true },
199
+ proposal_get: { method: "GET", path: "/v1/pages/{page_id}/proposals/{proposal_id}" },
200
+ proposal_list: { method: "GET", path: "/v1/pages/{page_id}/proposals" },
201
+ proposal_discard: { method: "POST", path: "/v1/pages/{page_id}/proposals/{proposal_id}/discard", idempotent: true },
202
+ },
203
+ model: {
204
+ list: { method: "GET", path: "/v1/models" },
205
+ },
206
+ command: {
207
+ describe: { method: "GET", path: "/v1/commands/{name}" },
208
+ },
209
+ app_auth: {
210
+ user_list: { method: "GET", path: "/v1/projects/{project_id}/auth/users", list: true },
211
+ user_show: { method: "GET", path: "/v1/projects/{project_id}/auth/users/{user_id}" },
212
+ user_unlock: { method: "POST", path: "/v1/projects/{project_id}/auth/users/{user_id}/unlock", idempotent: true },
213
+ user_email_send: { method: "POST", path: "/v1/projects/{project_id}/auth/users/{user_id}/email", idempotent: true },
214
+ user_session_list: { method: "GET", path: "/v1/projects/{project_id}/auth/users/{user_id}/sessions" },
215
+ user_session_revoke: { method: "DELETE", path: "/v1/projects/{project_id}/auth/users/{user_id}/sessions/{session_id}", idempotent: true },
216
+ user_sign_out_everywhere: { method: "POST", path: "/v1/projects/{project_id}/auth/users/{user_id}/sign-out", idempotent: true },
217
+ sign_in_event_list: { method: "GET", path: "/v1/projects/{project_id}/auth/sign-ins" },
218
+ user_delete: { method: "DELETE", path: "/v1/projects/{project_id}/auth/users/{user_id}", idempotent: true },
219
+ settings_get: { method: "GET", path: "/v1/projects/{project_id}/auth/settings" },
220
+ settings_update: { method: "POST", path: "/v1/projects/{project_id}/auth/settings", idempotent: true },
221
+ email_usage_get: { method: "GET", path: "/v1/projects/{project_id}/auth/email-usage" },
222
+ email_suppression_list: { method: "GET", path: "/v1/projects/{project_id}/auth/email-suppressions" },
223
+ email_suppression_add: { method: "POST", path: "/v1/projects/{project_id}/auth/email-suppressions", idempotent: true },
224
+ email_suppression_remove: { method: "POST", path: "/v1/projects/{project_id}/auth/email-suppressions/remove", idempotent: true },
225
+ sender_get: { method: "GET", path: "/v1/projects/{project_id}/auth/sender" },
226
+ },
227
+ email: {
228
+ send: { method: "POST", path: "/v1/projects/{project_id}/email", idempotent: true },
229
+ },
230
+ app_payments: {
231
+ connect_start: { method: "POST", path: "/v1/projects/{project_id}/payments/connect" },
232
+ account_get: { method: "GET", path: "/v1/projects/{project_id}/payments/account" },
233
+ revenue_get: { method: "GET", path: "/v1/projects/{project_id}/payments/revenue" },
234
+ disconnect: { method: "DELETE", path: "/v1/projects/{project_id}/payments/account", idempotent: true },
235
+ dashboard_link: { method: "GET", path: "/v1/projects/{project_id}/payments/dashboard" },
236
+ webhook_delivery_list: { method: "GET", path: "/v1/projects/{project_id}/payments/deliveries" },
237
+ webhook_delivery_resend: { method: "POST", path: "/v1/projects/{project_id}/payments/deliveries/{event_id}/resend", idempotent: true },
238
+ },
239
+ realtime: {
240
+ publish: { method: "POST", path: "/v1/projects/{project_id}/realtime/channels/{channel}/messages" },
241
+ channel_list: { method: "GET", path: "/v1/projects/{project_id}/realtime/channels" },
242
+ },
243
+ run: {
244
+ create: { method: "POST", path: "/v1/runs", idempotent: true },
245
+ quote: { method: "POST", path: "/v1/runs/quote" },
246
+ list: { method: "GET", path: "/v1/runs", list: true },
247
+ get: { method: "GET", path: "/v1/runs/{run_id}" },
248
+ stop: { method: "POST", path: "/v1/runs/{run_id}/stop", idempotent: true },
249
+ approval_list: { method: "GET", path: "/v1/workspaces/{workspace_id}/approvals" },
250
+ approve: { method: "POST", path: "/v1/runs/{run_id}/approve", idempotent: true },
251
+ deny: { method: "POST", path: "/v1/runs/{run_id}/deny", idempotent: true },
252
+ resume: { method: "POST", path: "/v1/runs/{run_id}/resume", idempotent: true },
253
+ follow_up: { method: "POST", path: "/v1/runs/{run_id}/follow-up", idempotent: true },
254
+ undo: { method: "POST", path: "/v1/runs/{run_id}/undo", idempotent: true },
255
+ },
256
+ agent: {
257
+ list: { method: "GET", path: "/v1/workspaces/{workspace_id}/agents" },
258
+ get: { method: "GET", path: "/v1/agents/{agent_id}" },
259
+ update: { method: "PATCH", path: "/v1/agents/{agent_id}", idempotent: true },
260
+ pause: { method: "POST", path: "/v1/agents/{agent_id}/pause", idempotent: true },
261
+ resume: { method: "POST", path: "/v1/agents/{agent_id}/resume", idempotent: true },
262
+ },
263
+ schedule: {
264
+ list: { method: "GET", path: "/v1/workspaces/{workspace_id}/schedules" },
265
+ create: { method: "POST", path: "/v1/workspaces/{workspace_id}/schedules", idempotent: true },
266
+ update: { method: "PATCH", path: "/v1/schedules/{schedule_id}", idempotent: true },
267
+ delete: { method: "DELETE", path: "/v1/schedules/{schedule_id}", idempotent: true },
268
+ restore: { method: "POST", path: "/v1/schedules/{schedule_id}/restore", idempotent: true },
269
+ run_now: { method: "POST", path: "/v1/schedules/{schedule_id}/run", idempotent: true },
270
+ },
271
+ onboarding: {
272
+ get: { method: "GET", path: "/v1/workspaces/{workspace_id}/onboarding" },
273
+ step_skip: { method: "POST", path: "/v1/workspaces/{workspace_id}/onboarding/{step}/skip", idempotent: true },
274
+ step_resume: { method: "POST", path: "/v1/workspaces/{workspace_id}/onboarding/{step}/resume", idempotent: true },
275
+ },
276
+ notification: {
277
+ list: { method: "GET", path: "/v1/workspaces/{workspace_id}/notifications", list: true },
278
+ read: { method: "POST", path: "/v1/workspaces/{workspace_id}/notifications/read", idempotent: true },
279
+ unread: { method: "POST", path: "/v1/workspaces/{workspace_id}/notifications/unread", idempotent: true },
280
+ read_all: { method: "POST", path: "/v1/workspaces/{workspace_id}/notifications/read-all", idempotent: true },
281
+ unread_count: { method: "GET", path: "/v1/workspaces/{workspace_id}/notifications/unread-count" },
282
+ preferences_get: { method: "GET", path: "/v1/workspaces/{workspace_id}/notifications/preferences" },
283
+ preferences_set: { method: "POST", path: "/v1/workspaces/{workspace_id}/notifications/preferences", idempotent: true },
284
+ },
285
+ search: {
286
+ query: { method: "GET", path: "/v1/workspaces/{workspace_id}/search" },
287
+ },
288
+ comment: {
289
+ create: { method: "POST", path: "/v1/records/{record_id}/comments", idempotent: true },
290
+ list: { method: "GET", path: "/v1/records/{record_id}/comments", list: true },
291
+ delete: { method: "DELETE", path: "/v1/comments/{comment_id}", idempotent: true },
292
+ restore: { method: "POST", path: "/v1/comments/{comment_id}/restore", idempotent: true },
293
+ },
294
+ status: {
295
+ get: { method: "GET", path: "/v1/status" },
296
+ incident_list: { method: "GET", path: "/v1/status/incidents" },
297
+ incident_get: { method: "GET", path: "/v1/status/incidents/{incident_id}" },
298
+ },
299
+ deploy: {
300
+ create: { method: "POST", path: "/v1/projects/{project_id}/deploys", idempotent: true },
301
+ list: { method: "GET", path: "/v1/projects/{project_id}/deploys" },
302
+ recent_list: { method: "GET", path: "/v1/workspaces/{workspace_id}/deploys" },
303
+ get: { method: "GET", path: "/v1/deploys/{deploy_id}" },
304
+ rollback: { method: "POST", path: "/v1/deploys/{deploy_id}/rollback", idempotent: true },
305
+ logs: { method: "GET", path: "/v1/deploys/{deploy_id}/logs" },
306
+ },
307
+ domain: {
308
+ add: { method: "POST", path: "/v1/projects/{project_id}/domains", idempotent: true },
309
+ list: { method: "GET", path: "/v1/projects/{project_id}/domains" },
310
+ check: { method: "POST", path: "/v1/domains/{domain_id}/check", idempotent: true },
311
+ remove: { method: "DELETE", path: "/v1/domains/{domain_id}", idempotent: true },
312
+ },
313
+ webhook: {
314
+ endpoint_create: { method: "POST", path: "/v1/projects/{project_id}/webhooks", idempotent: true },
315
+ endpoint_list: { method: "GET", path: "/v1/projects/{project_id}/webhooks" },
316
+ endpoint_update: { method: "PATCH", path: "/v1/webhooks/{endpoint_id}", idempotent: true },
317
+ endpoint_delete: { method: "DELETE", path: "/v1/webhooks/{endpoint_id}", idempotent: true },
318
+ delivery_list: { method: "GET", path: "/v1/projects/{project_id}/webhook-deliveries", list: true },
319
+ delivery_resend: { method: "POST", path: "/v1/webhook-deliveries/{delivery_id}/resend", idempotent: true },
320
+ },
321
+ };