Skip to content
Last updated on May 23, 2023
45 min read

post /v2/deployments/{id}/aliases

Creates a new alias for the deployment with the given deployment ID. The authenticated user 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.

delete /v2/aliases/{aliasId}

Delete an Alias with the specified ID.

get /v4/aliases/{idOrAlias}

Retrieves an Alias for the given host name or alias ID.

get /v2/deployments/{id}/aliases

Retrieves all Aliases for the Deployment with the given ID. The authenticated User must own the deployment.

get /v4/aliases

Retrieves 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.

head /v8/artifacts/{hash}

Check 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.

get /v8/artifacts/{hash}

Downloads 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.

get /v8/artifacts/status

Check 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.

post /v8/artifacts

Query information about an array of artifacts.

post /v8/artifacts/events

Records 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.

put /v8/artifacts/{hash}

Uploads a cache artifact identified by the hash specified on the path. The cache artifact can then be downloaded with the provided hash.

post /v3/user/tokens

Creates 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.

delete /v3/user/tokens/{tokenId}

Invalidate an authentication token, such that it will no longer be valid for future HTTP requests.

get /v5/user/tokens/{tokenId}

Retrieve metadata about an authentication token belonging to the currently authenticated User.

get /v5/user/tokens

Retrieve a list of the current User's authentication tokens.

post /registration

Request a new login for a user to get a token. This will respond with a verification token and send an email to confirm the request. Once confirmed you can use the verification token to get an authentication token.

get /registration/verify

Verify the user accepted the login request and get a authentication token. The user email address and the token received after requesting the login must be added to the URL as a query string with the names email and token.

get /v7/certs/{id}

Get cert by id

post /v7/certs

Issue a new cert

delete /v7/certs/{id}

Remove cert

put /v7/certs

Upload a cert

post /v1/deployments/{deploymentId}/checks

Creates a new check. This endpoint must be called with an OAuth2 or it will produce a 400 error.

get /v1/deployments/{deploymentId}/checks/{checkId}

Return a detailed response for a single check.

post /v1/deployments/{deploymentId}/checks/{checkId}/rerequest

Rerequest a selected check that has failed.

get /v1/deployments/{deploymentId}/checks

List all of the checks created for a deployment.

patch /v1/deployments/{deploymentId}/checks/{checkId}

Update an existing check. This endpoint must be called with an OAuth2 or it will produce a 400 error.

patch /v12/deployments/{id}/cancel

This endpoint allows you to cancel a deployment which is currently building, by supplying its id in the URL.

post /v13/deployments

Create 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.

delete /v13/deployments/{id}

This 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.

get /v6/deployments/{id}/files/{fileId}

Allows to retrieve the content of a file by supplying the file identifier and the deployment unique identifier. The response body will contain the raw content of the file.

get /v13/deployments/{idOrUrl}

Retrieves information for a deployment either by supplying its ID (id property) or Hostname (url property). Additional details will be included when the authenticated user is an owner of the deployment.

get /v2/deployments/{idOrUrl}/events

Get 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.

get /v6/deployments/{id}/files

Allows to retrieve the file structure of a deployment by supplying the deployment unique identifier.

get /v6/deployments

List deployments under the account corresponding to the API token. If a deployment hasn't finished uploading (is incomplete), the url property will have a value of null.

post /v2/files

Before 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.

post /v2/domains/{domain}/records

Creates a DNS record for a domain.

delete /v2/domains/{domain}/records/{recordId}

Removes an existing DNS record from a domain name.

get /v4/domains/{domain}/records

Retrieves 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.

patch /v1/domains/records/{recordId}

Updates an existing DNS record for a domain name.

get /v4/domains/status

Check if a domain name is available for purchase.

get /v4/domains/price

Check the price to purchase a domain and how long a single purchase period is.

get /v5/domains/{domain}

Get information for a single domain in an account or team.

get /v6/domains/{domain}/config

Get a Domain's configuration.

get /v5/domains

Retrieves a list of domains registered for the authenticating user. By default it returns the last 20 domains if no limit is provided.

post /v4/domains/buy

Allows to purchase the specified domain.

post /v5/domains

This endpoint is used for registering a new domain name with Vercel for the authenticating user, and also for initiating a domain transfer request from an external Registrar to Vercel.

delete /v6/domains/{domain}

Delete a previously registered domain name from Vercel. Deleting a domain will automatically remove any associated aliases.

post /v1/edge-config

Creates an Edge Config.

post /v1/edge-config/{edgeConfigId}/token

Adds a token to an existing Edge Config.

delete /v1/edge-config/{edgeConfigId}

Delete an Edge Config by id.

delete /v1/edge-config/{edgeConfigId}/tokens

Deletes one or more tokens of an existing Edge Config.

get /v1/edge-config/{edgeConfigId}/items

Returns all items of an Edge Config.

get /v1/edge-config/{edgeConfigId}/token/{token}

Return meta data about an Edge Config token.

get /v1/edge-config

Returns all Edge Configs.

get /v1/edge-config/{edgeConfigId}/tokens

Returns all tokens of an Edge Config.

get /v1/edge-config/{edgeConfigId}

Returns an Edge Config.

get /v1/edge-config/{edgeConfigId}/item/{edgeConfigItemKey}

Returns a specific Edge Config Item.

patch /v1/edge-config/{edgeConfigId}/items

Update multiple Edge Config Items in batch.

put /v1/edge-config/{edgeConfigId}

Updates an Edge Config.

delete /v1/integrations/configuration/{id}

Allows 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.

get /v1/integrations/configurations

Allows 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.

get /v1/integrations/git-namespaces

Lists 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.

get /v1/integrations/search-repo

Lists 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.

get /v1/integrations/configuration/{id}

Allows 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.

post /v1/log-drains

Creates a configurable log drain. This endpoint must be called with a team AccessToken (integration OAuth2 clients are not allowed)

post /v2/integrations/log-drains

Creates 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.

delete /v1/log-drains/{id}

Deletes 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.

delete /v1/integrations/log-drains/{id}

Deletes 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.

get /v1/log-drains/{id}

Retrieves 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.

get /v1/log-drains

Retrieves a list of Configurable Log Drains. 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.

get /v2/integrations/log-drains

Retrieves a list of all Integration log drains that are defined for the authorized account. When using an OAuth2 token, the list is limited to log drains created by the authenticated integration.

post /v10/projects/{idOrName}/domains

Add 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.

post /v9/projects

Allows 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.

post /v10/projects/{idOrName}/env

Create one ore 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.

delete /v9/projects/{idOrName}

Delete a specific project by passing either the project id or name in the URL.

patch /v9/projects/{idOrName}/env/{id}

Edit 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.

get /v9/projects/{idOrName}

Get the information for a specific project by passing either the project id or name in the URL.

get /v9/projects/{idOrName}/domains/{domain}

Get project domain by project id/name and domain name.

delete /v9/projects/{idOrName}/domains/{domain}

Remove 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.

delete /v9/projects/{idOrName}/env/{id}

Delete 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.

get /v9/projects

Allows to retrieve the list of projects of the authenticated user. The list will be paginated and the provided query parameters allow filtering the returned projects.

get /v9/projects/{idOrName}/domains

Retrieve the domains associated with a given project by passing either the project id or name in the URL.

get /v1/projects/{idOrName}/env/{id}

Retrieve the environment variable for a given project.

get /v9/projects/{idOrName}/env

Retrieve the environment variables for a given project by passing either the project id or name in the URL.

patch /v9/projects/{idOrName}/domains/{domain}

Update a project domain's configuration, including the name, git branch and redirect of the domain.

patch /v9/projects/{idOrName}

Update the fields of a project using either its name or id.

patch /v1/data-cache/projects/{projectId}

Update the cron job feature on a project.

post /v9/projects/{idOrName}/domains/{domain}/verify

Attempts to verify a project domain with verified = false by checking the correctness of the project domain's verification challenge.

patch /v2/secrets/{name}

Enables to edit the name of a user's secret. The name has to be unique to that user's secrets.

post /v2/secrets/{name}

Allows to create a new secret.

delete /v2/secrets/{idOrName}

This deletes the user's secret defined in the URL.

get /v3/secrets/{idOrName}

Retrieves the information for a specific secret by passing either the secret id or name in the URL.

get /v3/secrets

Retrieves the active Vercel secrets for the authenticated user. By default it returns 20 secrets. The rest can be retrieved using the pagination options. The body will contain an entry for each secret.

post /v1/teams

Create a new Team under your account. You need to send a POST request with the desired Team slug, and optionally the Team name.

delete /v1/teams/{teamId}

Delete 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.

delete /v1/teams/{teamId}/invites/{inviteId}

Delete an active Team invite code.

get /v2/teams/{teamId}

Get information for the Team specified by the teamId parameter.

get /v1/teams/{teamId}/request/{userId}

Check 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.

post /v1/teams/{teamId}/members

Invite 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 can be specified with an email or an ID. If both email and ID are provided, ID will take priority.

post /v1/teams/{teamId}/members/teams/join

Join a team with a provided invite code or team ID.

get /v2/teams

Get a paginated list of all the Teams the authenticated User is a member of.

get /v2/teams/{teamId}/members

Get a paginated list of team members for the provided team.

delete /v1/teams/{teamId}/members/{uid}

Remove a Team Member from the Team, or dismiss a user that requested access, or leave a team.

post /v1/teams/{teamId}/request

Request access to a team as a member. An owner has to approve the request. Only 10 users can request access to a team at the same time.

patch /v2/teams/{teamId}

Update the information of a Team specified by the teamId parameter. The request body should contain the information that will be updated on the Team.

patch /v1/teams/{teamId}/members/{uid}

Update 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.

delete /v1/user

Initiates 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.

get /v2/user

Retrieves information related to the currently authenticated User.

get /v3/events

Retrieves 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.

post /v1/webhooks

Creates a webhook

delete /v1/webhooks/{id}

Deletes a webhook

get /v1/webhooks

Get a list of webhooks

get /v1/webhooks/{id}

Get a webhook