Vercel API

Every endpoint below is fully stateful with Vercel-style JSON responses and cursor-based pagination.

User & Teams

  • GET /v2/user - authenticated user
  • PATCH /v2/user - update user
  • GET /v2/teams - list teams (cursor paginated)
  • GET /v2/teams/:teamId - get team (by ID or slug)
  • POST /v2/teams - create team
  • PATCH /v2/teams/:teamId - update team
  • GET /v2/teams/:teamId/members - list members
  • POST /v2/teams/:teamId/members - add member

Projects

  • POST /v11/projects - create project (with optional env vars and git integration)
  • GET /v10/projects - list projects (search, cursor pagination)
  • GET /v9/projects/:idOrName - get project (includes env vars)
  • PATCH /v9/projects/:idOrName - update project
  • DELETE /v9/projects/:idOrName - delete project (cascades)
  • GET /v1/projects/:projectId/promote/aliases - promote aliases status
  • PATCH /v1/projects/:idOrName/protection-bypass - manage bypass secrets

Deployments

  • POST /v13/deployments - create deployment (auto-transitions to READY)
  • GET /v13/deployments/:idOrUrl - get deployment (by ID or URL)
  • GET /v6/deployments - list deployments (filter by project, target, state)
  • DELETE /v13/deployments/:id - delete deployment (cascades)
  • PATCH /v12/deployments/:id/cancel - cancel building deployment
  • GET /v2/deployments/:id/aliases - list deployment aliases
  • GET /v3/deployments/:idOrUrl/events - get build events/logs
  • GET /v6/deployments/:id/files - list deployment files
  • POST /v2/files - upload file (by SHA digest)

Domains

  • POST /v10/projects/:idOrName/domains - add domain (with verification challenge)
  • GET /v9/projects/:idOrName/domains - list domains
  • GET /v9/projects/:idOrName/domains/:domain - get domain
  • PATCH /v9/projects/:idOrName/domains/:domain - update domain
  • DELETE /v9/projects/:idOrName/domains/:domain - remove domain
  • POST /v9/projects/:idOrName/domains/:domain/verify - verify domain

Environment Variables

  • GET /v10/projects/:idOrName/env - list env vars (with decrypt option)
  • POST /v10/projects/:idOrName/env - create env vars (single, batch, upsert)
  • GET /v10/projects/:idOrName/env/:id - get env var
  • PATCH /v9/projects/:idOrName/env/:id - update env var
  • DELETE /v9/projects/:idOrName/env/:id - delete env var

Blob

Implements the Vercel Blob API used by the @vercel/blob SDK (put, head, list, del).

  • PUT /api/blob?pathname=<path> - upload a blob (honors x-add-random-suffix, x-allow-overwrite, x-content-type, x-cache-control-max-age, x-if-match headers)
  • GET /api/blob?url=<urlOrPathname> - blob metadata (head())
  • GET /api/blob?prefix=&limit=&cursor=&mode= - list blobs (list(), including folded mode)
  • POST /api/blob/delete - delete blobs (del())
  • GET /blob/:storeId/<pathname> - serve blob content (public, no auth; ?download=1 adds an attachment disposition)

Point the SDK at the emulator with two environment variables:

VERCEL_BLOB_API_URL=http://localhost:4000/api/blob
BLOB_READ_WRITE_TOKEN=vercel_blob_rw_mystore_secret

Any token of the form vercel_blob_rw_<storeId>_<secret> is accepted; the store id is parsed from the token. Multipart uploads and client (browser) uploads are not supported yet.