/vercel/proxy/. The HTTP method, query parameters, and JSON body are forwarded as-is; the upstream status code and body are returned verbatim.
Scoping Rules
Naive holds org-wide Vercel credentials, so every request is validated against the app before it is forwarded:| Path pattern | Rule |
|---|---|
vN/projects/{projectIdOrName}/** | {projectIdOrName} must be this app’s Vercel project ID or name. Covers env vars, domains, settings, and every other project sub-resource. |
vN/deployments (GET) | projectId query param is forced to this app’s project — you always list your own deployments. |
vN/deployments (POST) | project and name in the body are forced to this app’s project. |
vN/deployments/{idOrUrl}/** | The deployment must belong to this app’s project (verified against Naive’s records, or against Vercel itself). |
DELETEon the project itself — useDELETE /v1/apps/:idso all linked infrastructure is cleaned up together.- All account/team-level paths (listing projects, user info, billing, other teams’ resources) —
403 forbidden.
Methods
GET, POST, PATCH, PUT, DELETE. Request bodies must be JSON (binary uploads such as v2/files are not supported — use POST /v1/apps/:id/deploy to deploy).
Useful Operations
| Operation | Method + path |
|---|---|
| Deployment status | GET v13/deployments/{deploymentId} |
| Build logs / events | GET v3/deployments/{deploymentId}/events |
| Cancel a deployment | PATCH v12/deployments/{deploymentId}/cancel |
| List env vars | GET v10/projects/{projectId}/env |
| Project domains | GET v9/projects/{projectId}/domains |
| Domain config check | GET v9/projects/{projectId}/domains/{domain} |
| Update project settings | PATCH v9/projects/{projectId} |
Errors
403