1/**
2 * Public route inventory pinned from prisma/pdp-control-plane at the commit
3 * below. Keep this fixture in-tree so CI never depends on an ambient sibling
4 * checkout. Refresh it deliberately when the Management API changes.
5 */
6export const managementApiContract = {
7 repository: "prisma/pdp-control-plane",
8 commit: "4a71a1f3500c02c6d6914f86435c251f95fda536",
9 routes: [
10 "DELETE /v1/apps/{appId}",
11 "DELETE /v1/branches/{branchId}",
12 "DELETE /v1/buckets/{bucketId}",
13 "DELETE /v1/buckets/{bucketId}/keys/{keyId}",
14 "DELETE /v1/connections/{id}",
15 "DELETE /v1/databases/{databaseId}",
16 "DELETE /v1/deployments/{deploymentId}",
17 "DELETE /v1/domains/{domainId}",
18 "DELETE /v1/environment-variables/{envVarId}",
19 "DELETE /v1/integrations/{id}",
20 "DELETE /v1/projects/{id}",
21 "DELETE /v1/source-repositories/{id}",
22 "DELETE /v1/workspaces/{workspaceId}/integrations/{clientId}",
23 "GET /v1/apps",
24 "GET /v1/apps/{appId}",
25 "GET /v1/apps/{appId}/deployments",
26 "GET /v1/apps/{appId}/domains",
27 "GET /v1/branches/{branchId}",
28 "GET /v1/builds/{buildId}/logs",
29 "GET /v1/buckets",
30 "GET /v1/buckets/{bucketId}",
31 "GET /v1/buckets/{bucketId}/keys",
32 "GET /v1/connections",
33 "GET /v1/connections/{id}",
34 "GET /v1/databases",
35 "GET /v1/databases/{databaseId}",
36 "GET /v1/databases/{databaseId}/backups",
37 "GET /v1/databases/{databaseId}/connections",
38 "GET /v1/databases/{databaseId}/usage",
39 "GET /v1/deployments/{deploymentId}",
40 "GET /v1/deployments/{deploymentId}/logs",
41 "GET /v1/domains/{domainId}",
42 "GET /v1/environment-variables",
43 "GET /v1/environment-variables/{envVarId}",
44 "GET /v1/integrations",
45 "GET /v1/integrations/{id}",
46 "GET /v1/me",
47 "GET /v1/projects",
48 "GET /v1/projects/{id}",
49 "GET /v1/projects/{projectId}/branches",
50 "GET /v1/projects/{projectId}/databases",
51 "GET /v1/regions",
52 "GET /v1/regions/accelerate",
53 "GET /v1/regions/postgres",
54 "GET /v1/scm-installations",
55 "GET /v1/scm-installations/{installationId}/repositories",
56 "GET /v1/source-repositories",
57 "GET /v1/source-repositories/{id}",
58 "GET /v1/workspaces",
59 "GET /v1/workspaces/{id}",
60 "GET /v1/workspaces/{workspaceId}/integrations",
61 "PATCH /v1/apps/{appId}",
62 "PATCH /v1/branches/{branchId}",
63 "PATCH /v1/databases/{databaseId}",
64 "PATCH /v1/environment-variables/{envVarId}",
65 "PATCH /v1/projects/{id}",
66 "POST /v1/apps",
67 "POST /v1/apps/{appId}/deployments",
68 "POST /v1/apps/{appId}/domains",
69 "POST /v1/apps/{appId}/promote",
70 "POST /v1/apps/{appId}/rollback",
71 "POST /v1/buckets",
72 "POST /v1/buckets/{bucketId}/keys",
73 "POST /v1/connections",
74 "POST /v1/connections/{id}/rotate",
75 "POST /v1/databases",
76 "POST /v1/databases/{databaseId}/connections",
77 "POST /v1/databases/{targetDatabaseId}/restore",
78 "POST /v1/deployments/{deploymentId}/start",
79 "POST /v1/deployments/{deploymentId}/stop",
80 "POST /v1/domains/{domainId}/retry",
81 "POST /v1/environment-variables",
82 "POST /v1/projects",
83 "POST /v1/projects/{id}/transfer",
84 "POST /v1/projects/{projectId}/branches",
85 "POST /v1/projects/{projectId}/databases",
86 "POST /v1/scm-installations/install-intents",
87 "POST /v1/source-repositories",
88 ],
89 /**
90 * Routes that are intentionally not mapped by this provider revision.
91 * Keep any entries visible in the pinned contract so an omission cannot
92 * be mistaken for API coverage. Currently every pinned route is mapped.
93 */
94 deferredRoutes: [],
95} as const;
96
97const deferredRouteSet = new Set<string>(managementApiContract.deferredRoutes);
98
99/** Canonical production routes that Alchemy must map. */
100export const productionManagementApiRoutes =
101 managementApiContract.routes.filter((route) => !deferredRouteSet.has(route));