Vercel
Vercel is a cloud platform for deploying and hosting frontend applications, serverless functions, and full-stack web projects with automatic CI/CD, edge networking, and seamless Git integration.
https://vercel.agent-auth.directory/api/auth
1.0-draft
Ed25519
6/28/2026
readAccessGroupsessionAllows to read an access group
updateAccessGroupwebauthnAllows to update an access group metadata
deleteAccessGroupwebauthnAllows to delete an access group
listAccessGroupMemberssessionList members of an access group
listAccessGroupssessionList access groups
createAccessGroupwebauthnAllows to create an access group
listAccessGroupProjectsDiscovery
curl https://vercel.agent-auth.directory/.well-known/agent-configurationRegister an Agent
curl -X POST https://vercel.agent-auth.directory/agent/register \
-H "Content-Type: application/json" \
-d '{
"name": "my-agent",
"public_key": "<your-ed25519-public-key>",
"mode": "delegated"
}'List projects of an access group
createAccessGroupProjectwebauthnAllows creation of an access group project
readAccessGroupProjectsessionAllows reading an access group project
updateAccessGroupProjectwebauthnAllows update of an access group project
deleteAccessGroupProjectwebauthnAllows deletion of an access group project
recordEventswebauthnRecords an artifacts cache usage event. The body of this request is an array of cache usage events. The supported event types are `HIT` and `MISS`. The source is either `LOCAL` the cache event was on the users filesystem cache or `REMOTE` if the cache event is for a remote cache. When the event is a `HIT` the request also accepts a number `duration` which is the time taken to generate the artifact in the cache.
statussessionCheck the status of Remote Caching for this principal. Returns a JSON-encoded status indicating if Remote Caching is enabled, disabled, or disabled due to usage limits.
uploadArtifactwebauthnUploads a cache artifact identified by the `hash` specified on the path. The cache artifact can then be downloaded with the provided `hash`.
downloadArtifactsessionDownloads a cache artifact indentified by its `hash` specified on the request path. The artifact is downloaded as an octet-stream. The client should verify the content-length header and response body.
artifactExistssessionCheck that a cache artifact with the given `hash` exists. This request returns response headers only and is equivalent to a `GET` request to this endpoint where the response contains no body.
artifactQuerywebauthnQuery information about an array of artifacts.
listBillingChargessessionReturns the billing charge data in FOCUS v1.3 JSONL format for a specified Vercel team, within a date range specified by `from` and `to` query parameters. Supports 1-day granularity with a maximum date range of 1 year. The response is streamed as newline-delimited JSON (JSONL) and can be optionally compressed with gzip if the `Accept-Encoding: gzip` header is provided. This is only available for Owner, Member, Developer, Security, Billing, and Enterprise Viewer roles for the supplied team.
listContractCommitmentssessionReturns commitment allocations per contract period in FOCUS v1.3 JSONL format for a specified Vercel team. The response is streamed as newline-delimited JSON (JSONL). This endpoint is only applicable to Enterprise Vercel customers. An empty response is returned for non-Enterprise (Pro/Flex) customers.
buyCreditswebauthnPurchases credits for a Vercel team using the default payment method on file. The purchase is charged immediately via Stripe invoice. Supported credit types are `v0`, `gateway`, and `agent`. The `amount` field specifies the number of credits to purchase and must be a positive integer. An optional `source` query parameter can be provided to identify the caller. Defaults to `api` if not specified. This is only available for Owner, Member, Developer, Security, and Billing roles for the supplied team.
stageRedirectswebauthnStages new redirects for a project and returns the new version.
getRedirectssessionGet the version history for a project's bulk redirects
deleteRedirectswebauthnDeletes the provided redirects from the latest version of the projects' bulk redirects. Stages a new change with the new redirects and returns the alias for the new version in the response.
editRedirectwebauthnEdits a single redirect identified by its source path. Stages a new change with the modified redirect and returns the alias for the new version in the response.
restoreRedirectswebauthnRestores the provided redirects in the staging version to the value in the production version. If no production version exists, removes the redirects from staging.
getVersionssessionGet the version history for a project's bulk redirects
updateVersionwebauthnUpdate a version by promoting staging to production or restoring a previous production version
listProjectCheckssessionList all checks for a project, optionally filtered by target.
createProjectCheckwebauthnCreates a new check for a project.
getProjectChecksessionReturn a detailed response for a single check.
updateProjectCheckwebauthnUpdate an existing check.
deleteProjectCheckwebauthnDelete an existing check and all of its runs.
listCheckRunssessionList all runs associated with a given check.
listDeploymentCheckRunssessionList all check runs for a deployment.
createDeploymentCheckRunwebauthnCreates a new check run for a deployment.
getDeploymentCheckRunsessionReturn a detailed response for a single check run.
updateDeploymentCheckRunwebauthnUpdate an existing check run for a deployment.
createCheckwebauthnCreates a new check. This endpoint must be called with an OAuth2 or it will produce a 400 error.
getAllCheckssessionList all of the checks created for a deployment.
getChecksessionReturn a detailed response for a single check.
updateCheckwebauthnUpdate an existing check. This endpoint must be called with an OAuth2 or it will produce a 400 error.
rerequestCheckwebauthnRerequest a selected check that has failed.
listNetworkssessionAllows to list Secure Compute networks.
createNetworkwebauthnAllows to create a Secure Compute network.
deleteNetworkwebauthnAllows to delete a Secure Compute network.
updateNetworkwebauthnAllows to update a Secure Compute network.
readNetworksessionAllows to read a Secure Compute network.
createConnectorwebauthnCreate a connector from type-specific configuration and optionally link it to a project during creation.
getConnectorTokenwebauthnGet an access token for a connector identified by the path parameter and scoped to the requester.
importConnectorTokenswebauthnImport access and refresh tokens for a connector identified by the path parameter.
createConnectorAuthorizationRequestwebauthnCreate an authorization request for a connector and return the URL and verifier details needed to complete the flow.
getDeploymentEventssessionGet the build logs of a deployment by deployment ID and build ID. It can work as an infinite stream of logs or as a JSON endpoint depending on the input parameters.
update-integration-deployment-actionwebauthnUpdates the deployment integration action for the specified integration installation
getDeploymentsessionRetrieves information for a deployment either by supplying its ID (`id` property) or Hostname (`url` property). Additional details will be included when the authenticated user or team is an owner of the deployment.
createDeploymentwebauthnCreate a new deployment with all the required and intended data. If the deployment is not a git deployment, all files must be provided with the request, either referenced or inlined. Additionally, a deployment id can be specified to redeploy a previous deployment.
cancelDeploymentwebauthnThis endpoint allows you to cancel a deployment which is currently building, by supplying its `id` in the URL.
getRecordssessionRetrieves a list of DNS records created for a domain name. By default it returns 20 records if no limit is provided. The rest can be retrieved using the pagination options.
createRecordwebauthnCreates a DNS record for a domain.
updateRecordwebauthnUpdates an existing DNS record for a domain name.
removeRecordwebauthnRemoves an existing DNS record from a domain name.
getSupportedTldssessionGet a list of TLDs supported by Vercel
getTldsessionGet the metadata for a specific TLD.
getTldPricesessionGet price data for a specific TLD. This only reflects base prices for the given TLD. Premium domains may have different prices. Use the [Get price data for a domain](https://vercel.com/docs/rest-api/reference/endpoints/domains-registrar/get-price-data-for-a-domain) endpoint to get the price data for a specific domain.
getDomainAvailabilitysessionGet availability for a specific domain. If the domain is available, it can be purchased using the [Buy a domain](https://vercel.com/docs/rest-api/reference/endpoints/domains-registrar/buy-a-domain) endpoint or the [Buy multiple domains](https://vercel.com/docs/rest-api/reference/endpoints/domains-registrar/buy-multiple-domains) endpoint.
getDomainPricesessionGet price data for a specific domain
getBulkAvailabilitywebauthnGet availability for multiple domains. If the domains are available, they can be purchased using the [Buy a domain](https://vercel.com/docs/rest-api/reference/endpoints/domains-registrar/buy-a-domain) endpoint or the [Buy multiple domains](https://vercel.com/docs/rest-api/reference/endpoints/domains-registrar/buy-multiple-domains) endpoint.
getDomainAuthCodesessionGet the auth code for a domain. This is required to transfer a domain from Vercel to another registrar.
buySingleDomainwebauthnBuy a domain
buyDomainswebauthnBuy multiple domains at once
transferInDomainwebauthnTransfer a domain in from another registrar
getDomainTransferInsessionGet the transfer status for a domain
renewDomainwebauthnRenew a domain
updateDomainAutoRenewwebauthnUpdate the auto-renew setting for a domain
updateDomainNameserverswebauthnUpdate the nameservers for a domain. Pass an empty array to use Vercel's default nameservers.
getDomainContactVerificationsessionGet the registrant contact verification status for a domain. Use this after purchasing a domain to determine whether the contact has been verified. Note that a bought_too_recently error will be returned if the domain was bought less than 30 minutes before the request.
getContactInfoSchemasessionSome TLDs require additional contact information. Use this endpoint to get the schema for the tld-specific contact information for a domain.
getOrdersessionGet information about a domain order by its ID
getDomainConfigsessionGet a Domain's configuration.
getDomainVerificationRecordsessionGet the TXT verification record needed to claim ownership of a domain for the authenticated team. The caller must add this TXT record to `_vercel.{domain}` in their DNS configuration, then call POST /domains/:domain/claim to complete the ownership transfer.
claimDomainOwnershipwebauthnClaim ownership of a domain for the authenticated team by verifying a TXT record. The caller must first add a TXT record to `_vercel.{domain}` (obtained from GET /domains/:domain/verification), then call this endpoint to complete the ownership transfer. If the TXT record is verified, the domain ownership will be transferred to the caller's team, even if the domain is currently owned by another user or team.
getDomainProjectDomainssessionList all project domains associated with an apex domain owned by the authenticated account.
getDomainsessionGet information for a single domain in an account or team.
getDomainssessionRetrieves a list of domains registered for the authenticated user or team. By default it returns the last 20 domains if no limit is provided.
createOrTransferDomainwebauthnThis endpoint is used for adding a new apex domain name with Vercel for the authenticating user. Note: This endpoint is no longer used for initiating domain transfers from external registrars to Vercel. For this, please use the endpoint [Transfer-in a domain](https://vercel.com/docs/rest-api/reference/endpoints/domains-registrar/transfer-in-a-domain).
patchDomainwebauthnUpdate or move apex domain. Note: This endpoint is no longer used for updating auto-renew or nameservers. For this, please use the endpoints [Update auto-renew for a domain](https://vercel.com/docs/rest-api/reference/endpoints/domains-registrar/update-auto-renew-for-a-domain) and [Update nameservers for a domain](https://vercel.com/docs/rest-api/reference/endpoints/domains-registrar/update-nameservers-for-a-domain).
deleteDomainwebauthnDelete a previously registered domain name from Vercel. Deleting a domain will automatically remove any associated aliases.
getConfigurableLogDrainsessionRetrieves a Configurable Log Drain. This endpoint must be called with a team AccessToken (integration OAuth2 clients are not allowed). Only log drains owned by the authenticated team can be accessed.
deleteConfigurableLogDrainwebauthnDeletes a Configurable Log Drain. This endpoint must be called with a team AccessToken (integration OAuth2 clients are not allowed). Only log drains owned by the authenticated team can be deleted.
getAllLogDrainssessionRetrieves a list of all the Log Drains owned by the account. This endpoint must be called with an account AccessToken (integration OAuth2 clients are not allowed). Only log drains owned by the authenticated account can be accessed.
createConfigurableLogDrainwebauthnCreates a configurable log drain. This endpoint must be called with a team AccessToken (integration OAuth2 clients are not allowed)
createDrainwebauthnCreate a new Drain with the provided configuration.
getDrainssessionAllows to retrieve the list of Drains of the authenticated team.
deleteDrainwebauthnDelete a specific Drain by passing the drain id in the URL.
getDrainsessionGet the information for a specific Drain by passing the drain id in the URL.
updateDrainwebauthnUpdate the configuration of an existing drain.
testDrainwebauthnValidate the delivery configuration of a Drain using sample events.
invalidateByTagswebauthnMarks a cache tag as stale, causing cache entries associated with that tag to be revalidated in the background on the next request.
dangerouslyDeleteByTagswebauthnMarks a cache tag as deleted, causing cache entries associated with that tag to be revalidated in the foreground on the next request. Use this method with caution because one tag can be associated with many paths and deleting the cache can cause many concurrent requests to the origin leading to cache stampede problem. This method is for advanced use cases and is not recommended; prefer using `invalidateByTag` instead.
invalidateBySrcImageswebauthnMarks a source image as stale, causing its corresponding transformed images to be revalidated in the background on the next request.
dangerouslyDeleteBySrcImageswebauthnMarks a source image as deleted, causing cache entries associated with that source image to be revalidated in the foreground on the next request. Use this method with caution because one source image can be associated with many paths and deleting the cache can cause many concurrent requests to the origin leading to cache stampede problem. This method is for advanced use cases and is not recommended; prefer using `invalidateBySrcImage` instead.
getEdgeConfigssessionReturns all Edge Configs.
createEdgeConfigwebauthnCreates an Edge Config.
getEdgeConfigsessionReturns an Edge Config.
updateEdgeConfigwebauthnUpdates an Edge Config.
deleteEdgeConfigwebauthnDelete an Edge Config by id.
getEdgeConfigItemssessionReturns all items of an Edge Config.
patchEdgeConfigItemswebauthnUpdate multiple Edge Config Items in batch.
getEdgeConfigSchemasessionReturns the schema of an Edge Config.
patchEdgeConfigSchemawebauthnUpdate an Edge Config's schema.
deleteEdgeConfigSchemawebauthnDeletes the schema of existing Edge Config.
getEdgeConfigItemsessionReturns a specific Edge Config Item.
getEdgeConfigTokenssessionReturns all tokens of an Edge Config.
deleteEdgeConfigTokenswebauthnDeletes one or more tokens of an existing Edge Config.
getEdgeConfigTokensessionReturn meta data about an Edge Config token.
createEdgeConfigTokenwebauthnAdds a token to an existing Edge Config.
getEdgeConfigBackupsessionRetrieves a specific version of an Edge Config from backup storage.
restoreEdgeConfigBackupwebauthnRestores an Edge Config backup.
getEdgeConfigBackupssessionReturns backups of an Edge Config.
createSharedEnvVariablewebauthnCreates shared environment variable(s) for a team.
listSharedEnvVariablesessionLists all Shared Environment Variables for a team, taking into account optional filters.
updateSharedEnvVariablewebauthnUpdates a given Shared Environment Variable for a Team.
deleteSharedEnvVariablewebauthnDeletes one or many Shared Environment Variables for a given team.
getSharedEnvVarsessionRetrieve the decrypted value of a Shared Environment Variable by id.
unlinkSharedEnvVariablewebauthnDisconnects a shared environment variable for a given project
listUserEventssessionRetrieves a list of "events" generated by the User on Vercel. Events are generated when the User performs a particular action, such as logging in, creating a deployment, and joining a Team (just to name a few). When the `teamId` parameter is supplied, then the events that are returned will be in relation to the Team that was specified.
listEventTypessessionReturns the list of user-facing event types with descriptions.
listFlagsV2sessionRetrieve feature flags for a project. Returns an opaque cursor for pagination.
listFlagssessionRetrieve feature flags for a project. The list can be filtered by state and supports pagination.
createFlagwebauthnCreate a new feature flag for a project. The flag must have a unique slug within the project and specify its kind (boolean, string, number, or json).
getFlagsessionRetrieve a specific feature flag by its ID or slug.
updateFlagwebauthnUpdate an existing feature flag. This endpoint supports partial updates, allowing you to modify specific properties like variants, environments, or state without providing the full flag configuration.
deleteFlagwebauthnPermanently delete a feature flag from the project. This action cannot be undone. Consider archiving the flag instead if you may need it in the future.
listFlagVersionssessionLists flag versions for a given flag.
getFlagSettingssessionRetrieve feature flag settings for a project.
updateFlagSettingswebauthnUpdate feature flag settings for a project.
listTeamFlagSettingssessionRetrieve feature flag settings for projects in a team.
listTeamFlagsV2sessionRetrieve all feature flags for a team across all projects. Returns an opaque cursor for pagination.
listTeamFlagssessionRetrieve all feature flags for a team across all projects. The list can be filtered by state and supports pagination.
createFlagSegmentwebauthnCreate a new feature flag segment.
listFlagSegmentssessionList all feature flag segments for a project.
getFlagSegmentsessionRetrieve a feature flag segment by ID or slug.
deleteFlagSegmentwebauthnDelete a feature flag segment.
updateFlagSegmentwebauthnUpdate an existing feature flag segment.
getDeploymentFeatureFlagssessionRetrieve the feature flags of a deployment.
getSdkKeyssessionGets all SDK keys for a project.
createSdkKeywebauthnCreates an SDK key.
deleteSdkKeywebauthnDeletes an SDK key.
gitNamespacessessionLists git namespaces for a supported provider. Supported providers are `github`, `gitlab` and `bitbucket`. If the provider is not provided, it will try to obtain it from the user that authenticated the request.
searchReposessionLists git repositories linked to a namespace `id` for a supported provider. A specific namespace `id` can be obtained via the `git-namespaces` endpoint. Supported providers are `github`, `gitlab` and `bitbucket`. If the provider or namespace is not provided, it will try to obtain it from the user that authenticated the request.
getBillingPlanssessionGet a list of billing plans for an integration and product.
connectIntegrationResourceToProjectwebauthnConnects an integration resource to a Vercel project. This endpoint establishes a connection between a provisioned integration resource (from storage APIs like `POST /v1/storage/stores/integration/direct`) and a specific Vercel project.
update-installationwebauthnThis endpoint updates an integration installation.
get-account-infosessionFetches the best account or user’s contact info
get-membersessionReturns the member role and other information for a given member ID ("user_id" claim in the SSO OIDC token).
create-eventwebauthnPartner notifies Vercel of any changes made to an Installation or a Resource. Vercel is expected to use `list-resources` and other read APIs to get the new state.<br/> <br/> `resource.updated` event should be dispatched when any state of a resource linked to Vercel is modified by the partner.<br/> `installation.updated` event should be dispatched when an installation's billing plan is changed via the provider instead of Vercel.<br/> <br/> Resource update use cases: <br/> <br/> - The user renames a database in the partner’s application. The partner should dispatch a `resource.updated` event to notify Vercel to update the resource in Vercel’s datastores.<br/> - A resource has been suspended due to a lack of use. The partner should dispatch a `resource.updated` event to notify Vercel to update the resource's status in Vercel's datastores.<br/>
get-integration-resourcessessionGet all resources for a given installation ID.
get-integration-resourcesessionGet a resource by its partner ID.
delete-integration-resourcewebauthnDelete a resource owned by the selected installation ID.
import-resourcewebauthnThis endpoint imports (upserts) a resource to Vercel's installation. This may be needed if resources can be independently created on the partner's side and need to be synchronized to Vercel. When importing as part of the user-initiated import flow, call this endpoint before redirecting the user back to Vercel. See the [Import existing resources flow](https://vercel.com/docs/integrations/create-integration/marketplace-flows#import-existing-resources-flow) for the full contract.
update-resourcewebauthnThis endpoint updates an existing resource in the installation. All parameters are optional, allowing partial updates.
submit-billing-datawebauthnSends the billing and usage data. The partner should do this at least once a day and ideally once per hour. <br/> Use the `credentials.access_token` we provided in the [Upsert Installation](#upsert-installation) body to authorize this request.
submit-invoicewebauthnThis endpoint allows the partner to submit an invoice to Vercel. The invoice is created in Vercel's billing system and sent to the customer. Depending on the type of billing plan, the invoice can be sent at a time of signup, at the start of the billing period, or at the end of the billing period.<br/> <br/> Use the `credentials.access_token` we provided in the [Upsert Installation](#upsert-installation) body to authorize this request. <br/> There are several limitations to the invoice submission:<br/> <br/> 1. A resource can only be billed once per the billing period and the billing plan.<br/> 2. The billing plan used to bill the resource must have been active for this resource during the billing period.<br/> 3. The billing plan used must be a subscription plan.<br/> 4. The interim usage data must be sent hourly for all types of subscriptions. See [Send subscription billing and usage data](#send-subscription-billing-and-usage-data) API on how to send interim billing and usage data.<br/> 5. If provided, `externalId` must be unique for the installation.<br/>
finalize-installationwebauthnThis endpoint allows the partner to mark an installation as finalized. This means you will not send any more invoices for the installation. Use this after a customer has requested uninstall and you have sent any remaining invoices. This will allow the uninstall process to proceed immediately after all invoices have been paid. <br/> Use the `credentials.access_token` we provided in the [Upsert Installation](#upsert-installation) body to authorize this request.
get-invoicesessionGet Invoice details and status for a given invoice ID.<br/> <br/> See [Billing Events with Webhooks documentation](https://vercel.com/docs/integrations/create-integration/marketplace-api#working-with-billing-events-through-webhooks) on how to receive invoice events. This endpoint is used to retrieve the invoice details.
update-invoicewebauthnThis endpoint allows the partner to request a refund for an invoice to Vercel. The invoice is created using the [Submit Invoice API](#submit-invoice-api).
submit-prepayment-balanceswebauthnSends the prepayment balances. The partner should do this at least once a day and ideally once per hour. <br/> Use the `credentials.access_token` we provided in the [Upsert Installation](#upsert-installation) body to authorize this request.
update-resource-secretswebauthnThis endpoint is deprecated and replaced with the endpoint [Update Resource Secrets](#update-resource-secrets). <br/> This endpoint updates the secrets of a resource. If a resource has projects connected, the connected secrets are updated with the new secrets. The old secrets may still be used by existing connected projects because they are not automatically redeployed. Redeployment is a manual action and must be completed by the user. All new project connections will use the new secrets.<br/> <br/> Use cases for this endpoint:<br/> <br/> - Resetting the credentials of a database in the partner. If the user requests the credentials to be updated in the partner’s application, the partner post the new set of secrets to Vercel, the user should redeploy their application and the expire the old credentials.<br/>
update-resource-secrets-by-idwebauthnThis endpoint updates the secrets of a resource. If a resource has projects connected, the connected secrets are updated with the new secrets. The old secrets may still be used by existing connected projects because they are not automatically redeployed. Redeployment is a manual action and must be completed by the user. All new project connections will use the new secrets.<br/> <br/> Use cases for this endpoint:<br/> <br/> - Resetting the credentials of a database in the partner. If the user requests the credentials to be updated in the partner’s application, the partner post the new set of secrets to Vercel, the user should redeploy their application and the expire the old credentials.<br/>
getConfigurationssessionAllows to retrieve all configurations for an authenticated integration. When the `project` view is used, configurations generated for the authorization flow will be filtered out of the results.
getConfigurationsessionAllows to retrieve a the configuration with the provided id in case it exists. The authenticated user or team must be the owner of the config in order to access it.
deleteConfigurationwebauthnAllows to remove the configuration with the `id` provided in the parameters. The configuration and all of its resources will be removed. This includes Webhooks, LogDrains and Project Env variables.
getConfigurationProductssessionReturns products available for an integration configuration. Each product includes a `metadataSchema` field with the JSON Schema for required and optional metadata fields.
exchange-sso-tokenwebauthnDuring the autorization process, Vercel sends the user to the provider [redirectLoginUrl](https://vercel.com/docs/integrations/create-integration/submit-integration#redirect-login-url), that includes the OAuth authorization `code` parameter. The provider then calls the SSO Token Exchange endpoint with the sent code and receives the OIDC token. They log the user in based on this token and redirects the user back to the Vercel account using deep-link parameters included the redirectLoginUrl. Providers should not persist the returned `id_token` in a database since the token will expire. See [**Authentication with SSO**](https://vercel.com/docs/integrations/create-integration/marketplace-api#authentication-with-sso) for more details.
getIntegrationLogDrainssessionRetrieves a list of all Integration log drains that are defined for the authenticated user or team. When using an OAuth2 token, the list is limited to log drains created by the authenticated integration.
createLogDrainwebauthnCreates an Integration log drain. This endpoint must be called with an OAuth2 client (integration), since log drains are tied to integrations. If it is called with a different token type it will produce a 400 error.
deleteIntegrationLogDrainwebauthnDeletes the Integration log drain with the provided `id`. When using an OAuth2 Token, the log drain can be deleted only if the integration owns it.
getRuntimeLogssessionReturns a stream of logs for a given deployment.
createInstallationsByIntegrationConfigurationIdResourcesByResourceIdExperimentationItemswebauthnCreate one or multiple experimentation items
updateInstallationsByIntegrationConfigurationIdResourcesByResourceIdExperimentationItemsByItemIdwebauthnPatch an existing experimentation item
deleteInstallationsByIntegrationConfigurationIdResourcesByResourceIdExperimentationItemsByItemIdwebauthnDelete an existing experimentation item
headInstallationsByIntegrationConfigurationIdResourcesByResourceIdExperimentationEdgeConfigsessionWhen the user enabled Edge Config syncing, then this endpoint can be used by the partner to fetch the contents of the Edge Config.
getInstallationsByIntegrationConfigurationIdResourcesByResourceIdExperimentationEdgeConfigsessionWhen the user enabled Edge Config syncing, then this endpoint can be used by the partner to fetch the contents of the Edge Config.
replaceInstallationsByIntegrationConfigurationIdResourcesByResourceIdExperimentationEdgeConfigwebauthnWhen the user enabled Edge Config syncing, then this endpoint can be used by the partner to push their configuration data into the relevant Edge Config.
getMicrofrontendsGroupssessionGet the microfrontends group IDs for a team.
getMicrofrontendsInGroupsessionGet the microfrontends for a given group ID.
getMicrofrontendsConfigsessionGet the microfrontends config for a deployment.
getMicrofrontendsConfigForProjectsessionGet the microfrontends config for a project by ID or name.
createMicrofrontendsGroupWithApplicationswebauthnCreates a microfrontends group and attaches multiple projects in a single request.
getObservabilityConfigurationProjectssessionLists the projects that are currently configured as disabled for Observability Plus on a team.
updateObservabilityConfigurationProjectwebauthnUpdates whether Observability Plus is disabled for a single project.
getProjectMemberssessionLists all members of a project.
addProjectMemberwebauthnAdds a new member to the project.
removeProjectMemberwebauthnRemove a member from a specific project
getRoutessessionGet the routing rules for a project. Supports searching by name/ID/pattern, filtering by route type, and diffing staged changes against production.
stageRouteswebauthnStage routing rules for a project. Set `overwrite` to true to replace all existing rules, or omit it to merge with existing rules by ID. Returns the new staged version.
addRoutewebauthnAdd a single routing rule to a project at a specified position. Defaults to the end of the list if no position is provided. The route is enabled by default. Stages a new version with the added route.
deleteRouteswebauthnDelete one or more routing rules from a project by ID. Stages a new version with the routes removed.
editRoutewebauthnReplace a routing rule identified by its ID, or restore it from the current production version. Stages a new version with the modified route.
generateRoutewebauthnGenerate a routing rule configuration from a natural language description. Returns a suggested route configuration that can be reviewed and saved.
getRouteVersionssessionGet the version history for a project's routing rules. Returns the staging version (if one exists) followed by production versions, most recent first. The staging version has `isStaging: true` and the current production version has `isLive: true`.
updateRouteVersionswebauthnPromote staged routing rules to production, restore a previous production version, or discard staged changes. - `promote`: Publishes the staging version to production. - `restore`: Rolls back to a previous production version. - `discard`: Removes the staging version without publishing.
getProjectssessionAllows to retrieve the list of projects of the authenticated user or team. The list will be paginated and the provided query parameters allow filtering the returned projects.
createProjectwebauthnAllows to create a new project with the provided configuration. It only requires the project `name` but more configuration can be provided to override the defaults.
getProjectsessionGet the information for a specific project by passing either the project `id` or `name` in the URL.
updateProjectwebauthnUpdate the fields of a project using either its `name` or `id`.
deleteProjectwebauthnDelete a specific project by passing either the project `id` or `name` in the URL.
uploadProjectAvatarwebauthnUpload an image as the avatar of the project identified by `idOrName`. The request body is the raw bytes of a JPG, PNG, or SVG image; the `Content-Type` header must declare which. SVG payloads are sanitized and optimized server-side before storage. The final SHA-1 of the stored bytes becomes the project's `avatar` value. The actual upload pipeline (validation, sanitization, S3 write, conditional `updateProject`, and event emission) lives in the shared `@api/project-avatar-upload` helper so it can be reused by background workers.
updateStaticIpswebauthnAllows configuring Static IPs for a project
createCustomEnvironmentwebauthnCreates a custom environment for the current project. Cannot be named 'Production' or 'Preview'.
getProjectsByIdOrNameCustomEnvironmentssessionRetrieve custom environments for the project. Must not be named 'Production' or 'Preview'.
getCustomEnvironmentsessionRetrieve a custom environment for the project. Must not be named 'Production' or 'Preview'.
updateCustomEnvironmentwebauthnUpdate a custom environment for the project. Must not be named 'Production' or 'Preview'.
removeCustomEnvironmentwebauthnRemove a custom environment for the project. Must not be named 'Production' or 'Preview'.
getProjectDomainssessionRetrieve the domains associated with a given project by passing either the project `id` or `name` in the URL.
getProjectDomainsessionGet project domain by project id/name and domain name.
updateProjectDomainwebauthnUpdate a project domain's configuration, including the name, git branch and redirect of the domain.
removeProjectDomainwebauthnRemove a domain from a project by passing the domain name and by specifying the project by either passing the project `id` or `name` in the URL.
addProjectDomainwebauthnAdd a domain to the project by passing its domain name and by specifying the project by either passing the project `id` or `name` in the URL. If the domain is not yet verified to be used on this project, the request will return `verified = false`, and the domain will need to be verified according to the `verification` challenge via `POST /projects/:idOrName/domains/:domain/verify`. If the domain already exists on the project, the request will fail with a `400` status code.
moveProjectDomainwebauthnMove one project's domain to another project. Also allows the move of all redirects pointed to that domain in the same project.
verifyProjectDomainwebauthnAttempts to verify a project domain with `verified = false` by checking the correctness of the project domain's `verification` challenge.
filterProjectEnvssessionRetrieve the environment variables for a given project by passing either the project `id` or `name` in the URL.
createProjectEnvwebauthnCreate one or more environment variables for a project by passing its `key`, `value`, `type` and `target` and by specifying the project by either passing the project `id` or `name` in the URL. If you include `upsert=true` as a query parameter, a new environment variable will not be created if it already exists but, the existing variable's value will be updated.
getProjectEnvsessionRetrieve the environment variable for a given project.
removeProjectEnvwebauthnDelete a specific environment variable for a given project by passing the environment variable identifier and either passing the project `id` or `name` in the URL.
editProjectEnvwebauthnEdit a specific environment variable for a given project by passing the environment variable identifier and either passing the project `id` or `name` in the URL.
batchRemoveProjectEnvwebauthnDelete multiple environment variables for a given project in a single batch operation.
getRollingReleaseBillingStatussessionGet the Rolling Releases billing status for a project. The team level billing status is used to determine if the project can be configured for rolling releases.
getRollingReleaseConfigsessionGet the Rolling Releases configuration for a project. The project-level config is simply a template that will be used for any future rolling release, and not the configuration for any active rolling release.
deleteRollingReleaseConfigwebauthnDisable Rolling Releases for a project means that future deployments will not undergo a rolling release. Changing the config never alters a rollout that's already in-flight—it only affects the next production deployment. If you want to also stop the current rollout, call this endpoint to disable the feature, and then call either the /complete or /abort endpoint.
updateRollingReleaseConfigwebauthnUpdate (or disable) Rolling Releases for a project. When disabling with the resolve-on-disable feature flag enabled, any active rolling release document is resolved using the disableRolloutAction parameter: "abort" to roll back (default), or "complete" to promote the canary to production. When enabling or updating config, changes only affect the next production deployment and do not alter a rollout that's already in-flight. Note: Enabling Rolling Releases automatically enables skew protection on the project with the default value if it wasn't configured already.
getRollingReleasesessionReturn the Rolling Release for a project, regardless of whether the rollout is active, aborted, or completed. If the feature is enabled but no deployment has occurred yet, null will be returned.
approveRollingReleaseStagewebauthnAdvance a rollout to the next stage. This is only needed when rolling releases is configured to require manual approval.
completeRollingReleasewebauthnForce-complete a Rolling Release. The canary deployment will begin serving 100% of the traffic.
createProjectTransferRequestwebauthnInitiates a project transfer request from one team to another. <br/> Returns a `code` that remains valid for 24 hours and can be used to accept the transfer request by another team using the `PUT /projects/transfer-request/:code` endpoint. <br/> Users can also accept the project transfer request using the claim URL: `https://vercel.com/claim-deployment?code=<code>&returnUrl=<returnUrl>`. <br/> The `code` parameter specifies the project transfer request code generated using this endpoint. <br/> The `returnUrl` parameter redirects users to a specific page of the application if the claim URL is invalid or expired.
acceptProjectTransferRequestwebauthnAccept a project transfer request initated by another team. <br/> The `code` is generated using the `POST /projects/:idOrName/transfer-request` endpoint.
updateProjectProtectionBypasswebauthnUpdate the deployment protection automation bypass for a project
requestRollbackwebauthnAllows users to rollback to a deployment.
updateProjectsByProjectIdRollbackByDeploymentIdUpdateDescriptionwebauthnUpdates the reason for a rollback, without changing the rollback status itself.
updateMicrofrontendswebauthnUpdate the microfrontends settings for a project.
requestPromotewebauthnAllows users to promote a deployment to production. Note: This does NOT rebuild the deployment. If you need that, then call create-deployments endpoint.
listPromoteAliasessessionGet a list of aliases related to the last promote request with their mapping status
pauseProjectwebauthnPause a project by passing its project `id` in the URL. If the project does not exist given the id then the request will fail with 400 status code. If the project disables auto assigning custom production domains and blocks the active Production Deployment then the request will return with 200 status code.
unpauseProjectwebauthnUnpause a project by passing its project `id` in the URL. If the project does not exist given the id then the request will fail with 400 status code. If the project enables auto assigning custom production domains and unblocks the active Production Deployment then the request will return with 200 status code.
listSandboxessessionRetrieves a paginated list of named sandboxes belonging to a specific project. Results can be sorted by creation time or name, and optionally filtered by name prefix.
createSandboxeswebauthnCreates a named sandbox environment. Named sandboxes have a unique name within a project and support automatic snapshotting on shutdown.
listDrivessessionRetrieves a paginated list of drives belonging to a specific project. Drives are in private beta. Register your interest to get access: https://vercel.com/changelog/drives-for-vercel-sandbox-in-private-beta
getOrCreateDrivewebauthnGets an existing drive by project and name, or creates it when it does not exist. Drives are in private beta. Register your interest to get access: https://vercel.com/changelog/drives-for-vercel-sandbox-in-private-beta
deleteDrivewebauthnDeletes a drive by project and name. Attached drives cannot be deleted. Stop or replace the session currently using the drive before retrying deletion. Drives are in private beta. Register your interest to get access: https://vercel.com/changelog/drives-for-vercel-sandbox-in-private-beta
listSessionSnapshotssessionRetrieves a paginated list of snapshots for a specific project.
getSessionSnapshotsessionRetrieves detailed information about a specific snapshot, including its creation time, size, expiration date, and the source session it was created from.
deleteSessionSnapshotwebauthnPermanently deletes a snapshot and frees its associated storage. This action cannot be undone. After deletion, the snapshot can no longer be used to create new sessions.
listSessionssessionRetrieves a paginated list of sessions belonging to a specific sandbox. Results are sorted by creation time and paginated using an opaque cursor.
getSessionsessionRetrieves detailed information about a specific session, including its current status, resource configuration, and exposed routes.
getNamedSandboxsessionRetrieves a named sandbox by name, including its current sandbox and routes. If the sandbox is stopped and resume is true, a new sandbox will be created from the most recent snapshot.
updateSandboxwebauthnUpdates the configuration of a sandbox. Only the provided fields will be modified; omitted fields remain unchanged.
deleteSandboxwebauthnDeletes a sandbox by name. If sandboxes are currently running, they will be stopped first. This operation deletes all sandbox entities with the given name and the named sandbox metadata.
listSessionCommandssessionRetrieves a list of all commands that have been executed in a session, including their current status, exit codes, and execution times, ordered from the most recent to the oldest.
runSessionCommandwebauthnExecutes a shell command inside a running session. The command runs asynchronously and returns immediately with a command ID that can be used to track its progress and retrieve its output. Optionally, use the `wait` parameter to stream the command status until completion.
getSessionCommandsessionRetrieves the current status and details of a command executed in a session. Use the `wait` parameter to block until the command finishes execution.
killSessionCommandwebauthnSends a signal to terminate a running command in a session. The signal can be used to gracefully stop (SIGTERM) or forcefully kill (SIGKILL) the process. The command must still be running for this operation to succeed.
getSessionCommandLogssessionStreams the output of a command in real-time using newline-delimited JSON (ND-JSON). Each entry includes the output data and stream type. Stream types include `stdout`, `stderr`, and `error` (for stream failures).
stopSessionwebauthnStops a running session and releases its allocated resources. All running processes within the session will be terminated. This action cannot be undone. A stopped session cannot be restarted.
extendSessionTimeoutwebauthnExtends the maximum execution time of a running session. The session must be active and able to accept commands. The total timeout cannot exceed the maximum allowed limit for your account.
updateSessionNetworkPolicywebauthnReplaces the network access policy of a running session. Use this to control which external hosts the session can communicate with. This is a full replacement. Any previously configured network rules will be overwritten.
readSessionFilewebauthnDownloads the contents of a file from a session's filesystem. The file content is returned as a binary stream with appropriate Content-Disposition headers for file download.
createSessionDirectorywebauthnCreates a new directory in a session's filesystem. By default, parent directories are created recursively if they don't exist (similar to `mkdir -p`).
writeSessionFileswebauthnUploads and extracts files to a session's filesystem. Files must be uploaded as a gzipped tarball (`.tar.gz`) with the `Content-Type` header set to `application/gzip`. The tarball contents are extracted to the session's working directory, or to a custom directory specified via the `x-cwd` header.
createSessionSnapshotwebauthnCreates a point-in-time snapshot of a running session's filesystem. Snapshots can be used to quickly restore a session to a previous state or to create new sessions with pre-configured environments. The session must be running and able to accept commands for a snapshot to be created. The session will be terminated after the snapshot is created.
updateAttackChallengeModewebauthnUpdate the setting for determining if the project has Attack Challenge mode enabled.
putFirewallConfigwebauthnSet the firewall configuration to provided rules and settings. Creates or overwrite the existing firewall configuration.
updateFirewallConfigwebauthnProcess updates to modify the existing firewall config for a project
getFirewallConfigsessionRetrieve the specified firewall configuration for a project. The deployed configVersion will be `active`
getActiveAttackStatussessionRetrieve active attack data within the last N days (default: 1 day)
getBypassIpsessionRetrieve the system bypass rules configured for the specified project
addBypassIpwebauthnCreate new system bypass rules
removeBypassIpwebauthnRemove system bypass rules
getSecurityFirewallEventssessionRetrieve firewall actions for a project
createIntegrationStoreDirectwebauthnCreates an integration store with automatic billing plan handling. For free resources, omit `billingPlanId` to auto-discover free plans. For paid resources, provide a `billingPlanId` from the billing plans endpoint.
getTeamMemberssessionGet a paginated list of team members for the provided team.
inviteUserToTeamwebauthnInvite a user to join the team specified in the URL. The authenticated user needs to be an `OWNER` in order to successfully invoke this endpoint. The user to be invited must be specified by email.
requestAccessToTeamwebauthnRequest access to a team as a member. An owner has to approve the request. Only 100 users can request access to a team at the same time.
getTeamAccessRequestsessionCheck the status of a join request. It'll respond with a 404 if the request has been declined. If no `userId` path segment was provided, this endpoint will instead return the status of the authenticated user.
joinTeamwebauthnJoin a team with a provided invite code or team ID.
updateTeamMemberwebauthnUpdate the membership of a Team Member on the Team specified by `teamId`, such as changing the _role_ of the member, or confirming a request to join the Team for an unconfirmed member. The authenticated user must be an `OWNER` of the Team.
removeTeamMemberwebauthnRemove a Team Member from the Team, or dismiss a user that requested access, or leave a team.
getTeamsessionGet information for the Team specified by the `teamId` parameter.
patchTeamwebauthnUpdate the information of a Team specified by the `teamId` parameter. The request body should contain the information that will be updated on the Team.
getTeamssessionGet a paginated list of all the Teams the authenticated User is a member of.
createTeamwebauthnCreate a new Team under your account. You need to send a POST request with the desired Team slug, and optionally the Team name.
postTeamDsyncRoleswebauthnUpdate the Directory Sync role mappings for a Team. This endpoint allows updating the mapping between directory groups and team roles or access groups.
deleteTeamwebauthnDelete a team under your account. You need to send a `DELETE` request with the desired team `id`. An optional array of reasons for deletion may also be sent.
deleteTeamInviteCodewebauthnDelete an active Team invite code.
updateMicrofrontendsGroupwebauthnUpdates the name (and slug) of a microfrontends group.
deleteMicrofrontendsGroupwebauthnDeletes a microfrontends group from the team associated with the group ID.
uploadFilewebauthnBefore you create a deployment you need to upload the required files for that deployment. To do it, you need to first upload each file to this endpoint. Once that's completed, you can create a new deployment with the uploaded files. The file content must be placed inside the body of the request. In the case of a successful response you'll receive a status code 200 with an empty body.
listAuthTokenssessionRetrieve a list of the current User's authentication tokens.
createAuthTokenwebauthnCreates and returns a new authentication token for the currently authenticated User. The `bearerToken` property is only provided once, in the response body, so be sure to save it on the client for use with API requests.
getAuthTokensessionRetrieve metadata about an authentication token belonging to the currently authenticated User.
deleteAuthTokenwebauthnInvalidate an authentication token, such that it will no longer be valid for future HTTP requests.
getAuthUsersessionRetrieves information related to the currently authenticated User.
requestDeletewebauthnInitiates the deletion process for the currently authenticated User, by sending a deletion confirmation email. The email contains a link that the user needs to visit in order to proceed with the deletion process.
createWebhookwebauthnCreates a webhook
getWebhookssessionGet a list of webhooks
getWebhooksessionGet a webhook
deleteWebhookwebauthnDeletes a webhook
listDeploymentAliasessessionRetrieves all Aliases for the Deployment with the given ID. The authenticated user or team must own the deployment.
assignAliaswebauthnCreates a new alias for the deployment resolved from the given deployment or alias ID or URL. The authenticated user or team must own this deployment. If the desired alias is already assigned to another deployment, then it will be removed from the old deployment and assigned to the new one.
listAliasessessionRetrieves a list of aliases for the authenticated User or Team. When `domain` is provided, only aliases for that domain will be returned. When `projectId` is provided, it will only return the given project aliases.
getAliassessionRetrieves an Alias for the given host name or alias ID.
deleteAliaswebauthnDelete an Alias with the specified ID.
patchUrlProtectionBypasswebauthnUpdate the protection bypass for the alias or deployment URL (used for user access & comment access for deployments). Used as shareable links and user scoped access for Vercel Authentication and also to allow external (logged in) people to comment on previews for Preview Comments (next-live-mode).
getCertByIdsessionGet cert by id
removeCertwebauthnRemove cert
issueCertwebauthnIssue a new cert
uploadCertwebauthnUpload a cert
listDeploymentFilessessionAllows to retrieve the file structure of the source code of a deployment by supplying the deployment unique identifier. If the deployment was created with the Vercel CLI or the API directly with the `files` key, it will have a file tree that can be retrievable.
getDeploymentFileContentssessionAllows to retrieve the content of a file by supplying the file identifier and the deployment unique identifier. The response body will contain a JSON response containing the contents of the file encoded as base64.
getDeploymentssessionList deployments under the authenticated user or team. If a deployment hasn't finished uploading (is incomplete), the `url` property will have a value of `null`.
deleteDeploymentwebauthnThis API allows you to delete a deployment, either by supplying its `id` in the URL or the `url` of the deployment as a query parameter. You can obtain the ID, for example, by listing all deployments.