# Vercel Rest Api
> ## Documentation Index
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/projects/accept-project-transfer-request.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Accept project transfer request
> Accept a project transfer request initated by another team.
The `code` is generated using the `POST /projects/:idOrName/transfer-request` endpoint.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples put /projects/transfer-request/{code}
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/projects/transfer-request/{code}:
put:
tags:
- projects
summary: Accept project transfer request
description: >-
Accept a project transfer request initated by another team.
The
`code` is generated using the `POST
/projects/:idOrName/transfer-request` endpoint.
operationId: acceptProjectTransferRequest
parameters:
- name: code
description: The code of the project transfer request.
in: path
required: true
schema:
type: string
description: The code of the project transfer request.
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
requestBody:
content:
application/json:
schema:
type: object
additionalProperties: false
properties:
newProjectName:
description: The desired name for the project
example: a-project-name
type: string
maxLength: 100
paidFeatures:
type: object
additionalProperties: false
properties:
concurrentBuilds:
type: integer
nullable: true
passwordProtection:
type: boolean
nullable: true
previewDeploymentSuffix:
type: boolean
nullable: true
acceptedPolicies:
type: object
additionalProperties:
type: object
additionalProperties:
type: string
format: date-time
required:
- eula
- privacy
properties:
eula:
type: string
format: date-time
privacy:
type: string
format: date-time
responses:
'202':
description: The project has been transferred successfully.
content:
application/json:
schema:
oneOf:
- properties:
partnerCalls:
items:
properties:
installationId:
type: string
resourceIds:
items:
type: string
type: array
result:
properties:
status:
type: string
enum:
- errored
- fulfilled
error:
type: object
code:
type: string
required:
- status
type: object
required:
- installationId
- resourceIds
- result
type: object
type: array
resourceTransferErrors:
items:
type: object
type: array
transferredStoreIds:
items:
type: string
type: array
required:
- partnerCalls
- resourceTransferErrors
- transferredStoreIds
type: object
- type: object
'400':
description: |-
One of the provided values in the request body is invalid.
One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
'422':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/projects/add-a-domain-to-a-project.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Add a domain to a project
> 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.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples post /v10/projects/{idOrName}/domains
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v10/projects/{idOrName}/domains:
post:
tags:
- projects
summary: Add a domain to a project
description: >-
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.
operationId: addProjectDomain
parameters:
- name: idOrName
description: The unique project identifier or the project name
in: path
required: true
schema:
description: The unique project identifier or the project name
type: string
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
requestBody:
content:
application/json:
schema:
properties:
name:
description: The project domain name
type: string
example: www.example.com
gitBranch:
description: Git branch to link the project domain
example: null
type: string
maxLength: 250
nullable: true
customEnvironmentId:
description: The unique custom environment identifier within the project
type: string
redirect:
description: Target destination domain for redirect
example: foobar.com
type: string
nullable: true
redirectStatusCode:
description: Status code for domain redirect
example: 307
type: integer
enum:
- null
- 301
- 302
- 307
- 308
nullable: true
required:
- name
type: object
required: true
responses:
'200':
description: The domain was successfully added to the project
content:
application/json:
schema:
properties:
name:
type: string
apexName:
type: string
projectId:
type: string
redirect:
nullable: true
type: string
redirectStatusCode:
nullable: true
type: number
enum:
- 301
- 302
- 307
- 308
gitBranch:
nullable: true
type: string
customEnvironmentId:
nullable: true
type: string
updatedAt:
type: number
createdAt:
type: number
verified:
type: boolean
enum:
- false
- true
description: >-
`true` if the domain is verified for use with the project.
If `false` it will not be used as an alias on this project
until the challenge in `verification` is completed.
verification:
items:
properties:
type:
type: string
domain:
type: string
value:
type: string
reason:
type: string
required:
- domain
- reason
- type
- value
type: object
description: >-
A list of verification challenges, one of which must be
completed to verify the domain for use on the project.
After the challenge is complete `POST
/projects/:idOrName/domains/:domain/verify` to verify
the domain. Possible challenges: - If `verification.type
= TXT` the `verification.domain` will be checked for a
TXT record matching `verification.value`.
type: array
description: >-
A list of verification challenges, one of which must be
completed to verify the domain for use on the project.
After the challenge is complete `POST
/projects/:idOrName/domains/:domain/verify` to verify the
domain. Possible challenges: - If `verification.type =
TXT` the `verification.domain` will be checked for a TXT
record matching `verification.value`.
required:
- apexName
- name
- projectId
- verified
type: object
'400':
description: >-
One of the provided values in the request body is invalid.
One of the provided values in the request query is invalid.
The domain is not valid
You can't set both a git branch and a redirect for the domain
The domain can not be added because the latest production deployment
for the project was not successful
The domain redirect is not valid
A domain cannot redirect to itself
You can not set the production branch as a branch for your domain
'401':
description: The request is not authorized.
'402':
description: |-
The account was soft-blocked for an unhandled reason.
The account is missing a payment so payment method must be updated
'403':
description: |-
You do not have permission to access this resource.
You don't have access to the domain you are adding
'409':
description: >-
The domain is already assigned to another Vercel project
Cannot create project domain since owner already has `domain` on
their account, but it's not verified yet.
Cannot create project domain since owner already has `domain` on
their account, and it's verified.
The domain is not allowed to be used
The project is currently being transferred
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/domains/add-an-existing-domain-to-the-vercel-platform.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Add an existing domain to the Vercel platform
> This 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).
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples post /v7/domains
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v7/domains:
post:
tags:
- domains
summary: Add an existing domain to the Vercel platform
description: >-
This 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).
operationId: createOrTransferDomain
parameters:
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
requestBody:
content:
application/json:
schema:
properties:
method:
description: >-
The domain operation to perform. It can be either `add` or
`move-in`.
type: string
example: add
oneOf:
- additionalProperties: false
type: object
description: add
required:
- name
properties:
name:
description: The domain name you want to add.
type: string
example: example.com
cdnEnabled:
description: >-
Whether the domain has the Vercel Edge Network enabled
or not.
type: boolean
example: true
zone:
type: boolean
method:
description: The domain operation to perform.
type: string
example: add
- additionalProperties: false
type: object
description: move-in
required:
- method
- name
properties:
name:
description: The domain name you want to add.
type: string
example: example.com
method:
description: The domain operation to perform.
type: string
example: move-in
token:
description: The move-in token from Move Requested email.
type: string
example: fdhfr820ad#@FAdlj$$
responses:
'200':
description: ''
content:
application/json:
schema:
properties:
domain:
properties:
verified:
type: boolean
enum:
- false
- true
description: If the domain has the ownership verified.
example: true
nameservers:
items:
type: string
type: array
description: A list of the current nameservers of the domain.
example:
- ns1.nameserver.net
- ns2.nameserver.net
intendedNameservers:
items:
type: string
type: array
description: >-
A list of the intended nameservers for the domain to
point to Vercel DNS.
example:
- ns1.vercel-dns.com
- ns2.vercel-dns.com
customNameservers:
items:
type: string
type: array
description: >-
A list of custom nameservers for the domain to point
to. Only applies to domains purchased with Vercel.
example:
- ns1.nameserver.net
- ns2.nameserver.net
creator:
properties:
username:
type: string
email:
type: string
customerId:
nullable: true
type: string
isDomainReseller:
type: boolean
enum:
- false
- true
id:
type: string
required:
- email
- id
- username
type: object
description: >-
An object containing information of the domain
creator, including the user's id, username, and email.
example:
id: ZspSRT4ljIEEmMHgoDwKWDei
username: vercel_user
email: demo@example.com
registrar:
type: string
enum:
- new
description: >-
Whether or not the domain is registered with Name.com.
If set to `true`, the domain is registered with
Name.com.
name:
type: string
description: The domain name.
example: example.com
teamId:
nullable: true
type: string
boughtAt:
nullable: true
type: number
description: >-
If it was purchased through Vercel, the timestamp in
milliseconds when it was purchased.
example: 1613602938882
createdAt:
type: number
description: >-
Timestamp in milliseconds when the domain was created
in the registry.
example: 1613602938882
expiresAt:
nullable: true
type: number
description: >-
Timestamp in milliseconds at which the domain is set
to expire. `null` if not bought with Vercel.
example: 1613602938882
id:
type: string
description: The unique identifier of the domain.
example: EmTbe5CEJyTk2yVAHBUWy4A3sRusca3GCwRjTC1bpeVnt1
renew:
type: boolean
enum:
- false
- true
description: >-
Indicates whether the domain is set to automatically
renew.
example: true
serviceType:
type: string
enum:
- zeit.world
- external
- na
description: >-
The type of service the domain is handled by.
`external` if the DNS is externally handled,
`zeit.world` if handled with Vercel, or `na` if the
service is not available.
example: zeit.world
transferredAt:
nullable: true
type: number
description: >-
Timestamp in milliseconds at which the domain was
successfully transferred into Vercel. `null` if the
transfer is still processing or was never transferred
in.
example: 1613602938882
transferStartedAt:
type: number
description: >-
If transferred into Vercel, timestamp in milliseconds
when the domain transfer was initiated.
example: 1613602938882
userId:
type: string
required:
- boughtAt
- createdAt
- creator
- expiresAt
- id
- intendedNameservers
- name
- nameservers
- serviceType
- teamId
- userId
- verified
type: object
required:
- domain
type: object
'400':
description: One of the provided values in the request body is invalid.
'401':
description: The request is not authorized.
'402':
description: |-
The account was soft-blocked for an unhandled reason.
The account is missing a payment so payment method must be updated
'403':
description: You do not have permission to access this resource.
'404':
description: ''
'409':
description: The domain is not allowed to be used
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/projectmembers/adds-a-new-member-to-a-project.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Adds a new member to a project.
> Adds a new member to the project.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples post /v1/projects/{idOrName}/members
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/projects/{idOrName}/members:
post:
tags:
- projectMembers
summary: Adds a new member to a project.
description: Adds a new member to the project.
operationId: addProjectMember
parameters:
- name: idOrName
description: The ID or name of the Project.
in: path
required: true
schema:
type: string
description: The ID or name of the Project.
example: prj_pavWOn1iLObbXLRiwVvzmPrTWyTf
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
requestBody:
content:
application/json:
schema:
type: object
additionalProperties: false
required:
- role
oneOf:
- required:
- uid
- required:
- username
- required:
- email
properties:
uid:
type: string
maxLength: 256
example: ndlgr43fadlPyCtREAqxxdyFK
description: >-
The ID of the team member that should be added to this
project.
username:
type: string
maxLength: 256
example: example
description: >-
The username of the team member that should be added to this
project.
email:
type: string
format: email
example: entity@example.com
description: >-
The email of the team member that should be added to this
project.
role:
type: string
example: ADMIN
description: The project role of the member that will be added.
enum:
- ADMIN
- PROJECT_VIEWER
- PROJECT_DEVELOPER
required: true
responses:
'200':
description: Responds with the project ID on success.
content:
application/json:
schema:
properties:
id:
type: string
required:
- id
type: object
description: Responds with the project ID on success.
'400':
description: |-
One of the provided values in the request body is invalid.
One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'500':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/aliases/assign-an-alias.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Assign an Alias
> Creates a new alias for the deployment with the given deployment ID. 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.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples post /v2/deployments/{id}/aliases
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v2/deployments/{id}/aliases:
post:
tags:
- aliases
summary: Assign an Alias
description: >-
Creates a new alias for the deployment with the given deployment ID. 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.
operationId: assignAlias
parameters:
- name: id
description: The ID of the deployment the aliases should be listed for
in: path
required: true
schema:
description: The ID of the deployment the aliases should be listed for
example: dpl_FjvFJncQHQcZMznrUm9EoB8sFuPa
oneOf:
- type: string
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
requestBody:
content:
application/json:
schema:
properties:
alias:
description: >-
The alias we want to assign to the deployment defined in the
URL
example: my-alias.vercel.app
type: string
redirect:
description: >-
The redirect property will take precedence over the
deployment id from the URL and consists of a hostname (like
test.com) to which the alias should redirect using status
code 307
example: null
type: string
nullable: true
type: object
required: true
responses:
'200':
description: The alias was successfully assigned to the deployment
content:
application/json:
schema:
properties:
uid:
type: string
description: The unique identifier of the alias
example: 2WjyKQmM8ZnGcJsPWMrHRHrE
alias:
type: string
description: The assigned alias name
example: my-alias.vercel.app
created:
type: string
format: date-time
description: The date when the alias was created
example: '2017-04-26T23:00:34.232Z'
oldDeploymentId:
nullable: true
type: string
description: >-
The unique identifier of the previously aliased
deployment, only received when the alias was used before
example: dpl_FjvFJncQHQcZMznrUm9EoB8sFuPa
required:
- alias
- created
- uid
type: object
'400':
description: |-
One of the provided values in the request body is invalid.
One of the provided values in the request query is invalid.
The cert for the provided alias is not ready
The deployment is not READY and can not be aliased
The supplied alias is invalid
'401':
description: The request is not authorized.
'402':
description: |-
The account was soft-blocked for an unhandled reason.
The account is missing a payment so payment method must be updated
'403':
description: |-
You do not have permission to access this resource.
If no .vercel.app alias exists then we fail (nothing to mirror)
'404':
description: |-
The domain used for the alias was not found
The deployment was not found
'409':
description: |-
The provided alias is already assigned to the given deployment
The domain is not allowed to be used
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/projects/batch-remove-environment-variables.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Batch remove environment variables
> Delete multiple environment variables for a given project in a single batch operation.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples delete /v1/projects/{idOrName}/env
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/projects/{idOrName}/env:
delete:
tags:
- projects
summary: Batch remove environment variables
description: >-
Delete multiple environment variables for a given project in a single
batch operation.
operationId: batchRemoveProjectEnv
parameters:
- name: idOrName
description: The unique project identifier or the project name
in: path
required: true
schema:
description: The unique project identifier or the project name
type: string
example: prj_XLKmu1DyR1eY7zq8UgeRKbA7yVLA
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
requestBody:
content:
application/json:
schema:
type: object
required:
- ids
properties:
ids:
description: Array of environment variable IDs to delete
type: array
items:
type: string
minItems: 1
maxItems: 1000
additionalProperties: false
responses:
'200':
description: ''
content:
application/json:
schema:
properties:
deleted:
type: number
ids:
items:
type: string
type: array
required:
- deleted
- ids
type: object
'400':
description: |-
One of the provided values in the request body is invalid.
One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
'409':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/domains-registrar/buy-a-domain.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Buy a domain
> Buy a domain
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples post /v1/registrar/domains/{domain}/buy
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/registrar/domains/{domain}/buy:
post:
tags:
- domains-registrar
summary: Buy a domain
description: Buy a domain
operationId: buySingleDomain
parameters:
- name: domain
in: path
schema:
$ref: '#/components/schemas/DomainName'
required: true
- name: teamId
in: query
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
required: false
requestBody:
content:
application/json:
schema:
type: object
required:
- autoRenew
- years
- expectedPrice
- contactInformation
properties:
autoRenew:
type: boolean
description: >-
Whether the domain should be auto-renewed before it expires.
This can be configured later through the Vercel Dashboard or
the [Update auto-renew for a
domain](https://vercel.com/docs/rest-api/reference/endpoints/domains-registrar/update-auto-renew-for-a-domain)
endpoint.
years:
type: number
description: The number of years to purchase the domain for.
expectedPrice:
type: number
minimum: 0.01
contactInformation:
type: object
required:
- firstName
- lastName
- email
- phone
- address1
- city
- state
- zip
- country
properties:
firstName:
$ref: '#/components/schemas/NonEmptyTrimmedString'
lastName:
$ref: '#/components/schemas/NonEmptyTrimmedString'
email:
$ref: '#/components/schemas/EmailAddress'
phone:
$ref: '#/components/schemas/E164PhoneNumber'
address1:
$ref: '#/components/schemas/NonEmptyTrimmedString'
address2:
$ref: '#/components/schemas/NonEmptyTrimmedString'
city:
$ref: '#/components/schemas/NonEmptyTrimmedString'
state:
$ref: '#/components/schemas/NonEmptyTrimmedString'
zip:
$ref: '#/components/schemas/NonEmptyTrimmedString'
country:
$ref: '#/components/schemas/CountryCode'
companyName:
$ref: '#/components/schemas/NonEmptyTrimmedString'
fax:
$ref: '#/components/schemas/E164PhoneNumber'
additional:
type: object
properties: {}
additionalProperties: false
description: >-
The contact information for the domain. Some TLDs require
additional contact information. Use the [Get contact info
schema](https://vercel.com/docs/rest-api/reference/endpoints/domains-registrar/get-contact-info-schema)
endpoint to retrieve the required fields.
additionalProperties: false
required: true
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
required:
- orderId
- _links
properties:
orderId:
$ref: '#/components/schemas/OrderId'
_links:
type: object
additionalProperties:
type: object
required:
- href
- method
properties:
href:
type: string
method:
type: string
enum:
- GET
- POST
- PUT
- DELETE
- PATCH
additionalProperties: false
additionalProperties: false
'400':
description: There was something wrong with the request
content:
application/json:
schema:
anyOf:
- $ref: '#/components/schemas/DomainTooShort'
- $ref: '#/components/schemas/OrderTooExpensive'
- $ref: '#/components/schemas/InvalidAdditionalContactInfo'
- $ref: '#/components/schemas/AdditionalContactInfoRequired'
- $ref: '#/components/schemas/ExpectedPriceMismatch'
- $ref: '#/components/schemas/DomainNotAvailable'
- $ref: '#/components/schemas/TldNotSupported'
- $ref: '#/components/schemas/HttpApiDecodeError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Unauthorized'
'403':
description: NotAuthorizedForScope
content:
application/json:
schema:
anyOf:
- $ref: '#/components/schemas/NotAuthorizedForScope'
- $ref: '#/components/schemas/Forbidden'
'429':
description: TooManyRequests
content:
application/json:
schema:
$ref: '#/components/schemas/TooManyRequests'
'500':
description: InternalServerError
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerError'
security:
- bearerToken: []
components:
schemas:
DomainName:
type: string
description: A valid domain name
NonEmptyTrimmedString:
type: string
description: a non empty string
title: nonEmptyString
pattern: ^\S[\s\S]*\S$|^\S$|^$
minLength: 1
EmailAddress:
type: string
description: A valid RFC 5322 email address
title: nonEmptyString
minLength: 1
E164PhoneNumber:
type: string
description: A valid E.164 phone number
title: nonEmptyString
minLength: 1
pattern: ^(?=(?:\D*\d){8,15}$)\+[1-9]\d{0,2}\.?\d+$
CountryCode:
type: string
description: A valid ISO 3166-1 alpha-2 country code
OrderId:
type: string
description: A valid order ID
DomainTooShort:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 400
code:
type: string
enum:
- domain_too_short
message:
type: string
additionalProperties: false
description: The domain name (excluding the TLD) is too short.
OrderTooExpensive:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 400
code:
type: string
enum:
- order_too_expensive
message:
type: string
additionalProperties: false
description: The total price of the order is too high.
InvalidAdditionalContactInfo:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 400
code:
type: string
enum:
- invalid_additional_contact_info
message:
type: string
additionalProperties: false
description: Additional contact information provided for the TLD is invalid.
AdditionalContactInfoRequired:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 400
code:
type: string
enum:
- additional_contact_info_required
message:
type: string
additionalProperties: false
description: Additional contact information is required for the TLD.
ExpectedPriceMismatch:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 400
code:
type: string
enum:
- expected_price_mismatch
message:
type: string
additionalProperties: false
description: The expected price passed does not match the actual price.
DomainNotAvailable:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 400
code:
type: string
enum:
- domain_not_available
message:
type: string
additionalProperties: false
description: The domain is not available.
TldNotSupported:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 400
code:
type: string
enum:
- tld_not_supported
message:
type: string
additionalProperties: false
description: The TLD is not currently supported.
HttpApiDecodeError:
type: object
required:
- issues
- message
properties:
issues:
type: array
items:
$ref: '#/components/schemas/Issue'
message:
type: string
additionalProperties: false
description: The request did not match the expected schema
Unauthorized:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 401
code:
type: string
enum:
- unauthorized
message:
type: string
additionalProperties: false
NotAuthorizedForScope:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 403
code:
type: string
enum:
- not_authorized_for_scope
message:
type: string
additionalProperties: false
Forbidden:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 403
code:
type: string
enum:
- forbidden
message:
type: string
additionalProperties: false
TooManyRequests:
type: object
required:
- status
- code
- message
- retryAfter
- limit
properties:
status:
type: number
enum:
- 429
code:
type: string
enum:
- too_many_requests
message:
type: string
retryAfter:
type: object
required:
- value
- str
properties:
value:
type: number
str:
type: string
additionalProperties: false
limit:
type: object
required:
- total
- remaining
- reset
properties:
total:
type: number
remaining:
type: number
reset:
type: number
additionalProperties: false
additionalProperties: false
InternalServerError:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 500
code:
type: string
enum:
- internal_server_error
message:
type: string
additionalProperties: false
Issue:
type: object
required:
- path
- message
properties:
path:
type: array
items:
$ref: '#/components/schemas/PropertyKey'
description: The path to the property where the issue occurred
message:
type: string
description: A descriptive message explaining the issue
additionalProperties: false
description: >-
Represents an error encountered while parsing a value to match the
schema
PropertyKey:
anyOf:
- type: string
- type: number
- type: object
required:
- _tag
- key
properties:
_tag:
type: string
enum:
- symbol
key:
type: string
additionalProperties: false
description: an object to be decoded into a globally shared symbol
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/domains-registrar/buy-multiple-domains.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Buy multiple domains
> Buy multiple domains at once
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples post /v1/registrar/domains/buy
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/registrar/domains/buy:
post:
tags:
- domains-registrar
summary: Buy multiple domains
description: Buy multiple domains at once
operationId: buyDomains
parameters:
- name: teamId
in: query
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
required: false
requestBody:
content:
application/json:
schema:
type: object
required:
- domains
- contactInformation
properties:
domains:
type: array
minItems: 1
items:
type: object
required:
- domainName
- autoRenew
- years
- expectedPrice
properties:
domainName:
$ref: '#/components/schemas/DomainName'
autoRenew:
type: boolean
description: >-
Whether the domain should be auto-renewed before it
expires. This can be configured later through the
Vercel Dashboard or the [Update auto-renew for a
domain](https://vercel.com/docs/rest-api/reference/endpoints/domains-registrar/update-auto-renew-for-a-domain)
endpoint.
years:
type: number
description: The number of years to purchase the domain for.
expectedPrice:
type: number
minimum: 0.01
additionalProperties: false
contactInformation:
type: object
required:
- firstName
- lastName
- email
- phone
- address1
- city
- state
- zip
- country
properties:
firstName:
$ref: '#/components/schemas/NonEmptyTrimmedString'
lastName:
$ref: '#/components/schemas/NonEmptyTrimmedString'
email:
$ref: '#/components/schemas/EmailAddress'
phone:
$ref: '#/components/schemas/E164PhoneNumber'
address1:
$ref: '#/components/schemas/NonEmptyTrimmedString'
address2:
$ref: '#/components/schemas/NonEmptyTrimmedString'
city:
$ref: '#/components/schemas/NonEmptyTrimmedString'
state:
$ref: '#/components/schemas/NonEmptyTrimmedString'
zip:
$ref: '#/components/schemas/NonEmptyTrimmedString'
country:
$ref: '#/components/schemas/CountryCode'
companyName:
$ref: '#/components/schemas/NonEmptyTrimmedString'
fax:
$ref: '#/components/schemas/E164PhoneNumber'
additional:
type: object
properties: {}
additionalProperties: false
description: >-
The contact information for the domain. Some TLDs require
additional contact information. Use the [Get contact info
schema](https://vercel.com/docs/rest-api/reference/endpoints/domains-registrar/get-contact-info-schema)
endpoint to retrieve the required fields.
additionalProperties: false
required: true
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
required:
- orderId
- _links
properties:
orderId:
$ref: '#/components/schemas/OrderId'
_links:
type: object
additionalProperties:
type: object
required:
- href
- method
properties:
href:
type: string
method:
type: string
enum:
- GET
- POST
- PUT
- DELETE
- PATCH
additionalProperties: false
additionalProperties: false
'400':
description: There was something wrong with the request
content:
application/json:
schema:
anyOf:
- $ref: '#/components/schemas/DomainTooShort'
- $ref: '#/components/schemas/OrderTooExpensive'
- $ref: '#/components/schemas/TooManyDomains'
- $ref: '#/components/schemas/InvalidAdditionalContactInfo'
- $ref: '#/components/schemas/AdditionalContactInfoRequired'
- $ref: '#/components/schemas/DuplicateDomains'
- $ref: '#/components/schemas/ExpectedPriceMismatch'
- $ref: '#/components/schemas/DomainNotAvailable'
- $ref: '#/components/schemas/TldNotSupported'
- $ref: '#/components/schemas/HttpApiDecodeError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Unauthorized'
'403':
description: NotAuthorizedForScope
content:
application/json:
schema:
anyOf:
- $ref: '#/components/schemas/NotAuthorizedForScope'
- $ref: '#/components/schemas/Forbidden'
'429':
description: TooManyRequests
content:
application/json:
schema:
$ref: '#/components/schemas/TooManyRequests'
'500':
description: InternalServerError
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerError'
security:
- bearerToken: []
components:
schemas:
DomainName:
type: string
description: A valid domain name
NonEmptyTrimmedString:
type: string
description: a non empty string
title: nonEmptyString
pattern: ^\S[\s\S]*\S$|^\S$|^$
minLength: 1
EmailAddress:
type: string
description: A valid RFC 5322 email address
title: nonEmptyString
minLength: 1
E164PhoneNumber:
type: string
description: A valid E.164 phone number
title: nonEmptyString
minLength: 1
pattern: ^(?=(?:\D*\d){8,15}$)\+[1-9]\d{0,2}\.?\d+$
CountryCode:
type: string
description: A valid ISO 3166-1 alpha-2 country code
OrderId:
type: string
description: A valid order ID
DomainTooShort:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 400
code:
type: string
enum:
- domain_too_short
message:
type: string
additionalProperties: false
description: The domain name (excluding the TLD) is too short.
OrderTooExpensive:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 400
code:
type: string
enum:
- order_too_expensive
message:
type: string
additionalProperties: false
description: The total price of the order is too high.
TooManyDomains:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 400
code:
type: string
enum:
- too_many_domains
message:
type: string
additionalProperties: false
description: The number of domains in the order is too high.
InvalidAdditionalContactInfo:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 400
code:
type: string
enum:
- invalid_additional_contact_info
message:
type: string
additionalProperties: false
description: Additional contact information provided for the TLD is invalid.
AdditionalContactInfoRequired:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 400
code:
type: string
enum:
- additional_contact_info_required
message:
type: string
additionalProperties: false
description: Additional contact information is required for the TLD.
DuplicateDomains:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 400
code:
type: string
enum:
- duplicate_domains
message:
type: string
additionalProperties: false
description: Duplicate domains were provided.
ExpectedPriceMismatch:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 400
code:
type: string
enum:
- expected_price_mismatch
message:
type: string
additionalProperties: false
description: The expected price passed does not match the actual price.
DomainNotAvailable:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 400
code:
type: string
enum:
- domain_not_available
message:
type: string
additionalProperties: false
description: The domain is not available.
TldNotSupported:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 400
code:
type: string
enum:
- tld_not_supported
message:
type: string
additionalProperties: false
description: The TLD is not currently supported.
HttpApiDecodeError:
type: object
required:
- issues
- message
properties:
issues:
type: array
items:
$ref: '#/components/schemas/Issue'
message:
type: string
additionalProperties: false
description: The request did not match the expected schema
Unauthorized:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 401
code:
type: string
enum:
- unauthorized
message:
type: string
additionalProperties: false
NotAuthorizedForScope:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 403
code:
type: string
enum:
- not_authorized_for_scope
message:
type: string
additionalProperties: false
Forbidden:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 403
code:
type: string
enum:
- forbidden
message:
type: string
additionalProperties: false
TooManyRequests:
type: object
required:
- status
- code
- message
- retryAfter
- limit
properties:
status:
type: number
enum:
- 429
code:
type: string
enum:
- too_many_requests
message:
type: string
retryAfter:
type: object
required:
- value
- str
properties:
value:
type: number
str:
type: string
additionalProperties: false
limit:
type: object
required:
- total
- remaining
- reset
properties:
total:
type: number
remaining:
type: number
reset:
type: number
additionalProperties: false
additionalProperties: false
InternalServerError:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 500
code:
type: string
enum:
- internal_server_error
message:
type: string
additionalProperties: false
Issue:
type: object
required:
- path
- message
properties:
path:
type: array
items:
$ref: '#/components/schemas/PropertyKey'
description: The path to the property where the issue occurred
message:
type: string
description: A descriptive message explaining the issue
additionalProperties: false
description: >-
Represents an error encountered while parsing a value to match the
schema
PropertyKey:
anyOf:
- type: string
- type: number
- type: object
required:
- _tag
- key
properties:
_tag:
type: string
enum:
- symbol
key:
type: string
additionalProperties: false
description: an object to be decoded into a globally shared symbol
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/deployments/cancel-a-deployment.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Cancel a deployment
> This endpoint allows you to cancel a deployment which is currently building, by supplying its `id` in the URL.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples patch /v12/deployments/{id}/cancel
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v12/deployments/{id}/cancel:
patch:
tags:
- deployments
summary: Cancel a deployment
description: >-
This endpoint allows you to cancel a deployment which is currently
building, by supplying its `id` in the URL.
operationId: cancelDeployment
parameters:
- name: id
description: The unique identifier of the deployment.
in: path
required: true
schema:
type: string
example: dpl_5WJWYSyB7BpgTj3EuwF37WMRBXBtPQ2iTMJHJBJyRfd
description: The unique identifier of the deployment.
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'200':
description: ''
content:
application/json:
schema:
properties:
aliasAssignedAt:
nullable: true
oneOf:
- type: number
- type: boolean
enum:
- false
- true
alwaysRefuseToBuild:
type: boolean
enum:
- false
- true
build:
properties:
env:
items:
type: string
type: array
required:
- env
type: object
buildArtifactUrls:
items:
type: string
type: array
builds:
items:
properties:
use:
type: string
src:
type: string
config:
additionalProperties: true
type: object
required:
- use
type: object
type: array
env:
items:
type: string
type: array
inspectorUrl:
nullable: true
type: string
isInConcurrentBuildsQueue:
type: boolean
enum:
- false
- true
isInSystemBuildsQueue:
type: boolean
enum:
- false
- true
projectSettings:
properties:
nodeVersion:
type: string
enum:
- 24.x
- 22.x
- 20.x
- 18.x
- 16.x
- 14.x
- 12.x
- 10.x
- 8.10.x
buildCommand:
nullable: true
type: string
devCommand:
nullable: true
type: string
framework:
nullable: true
type: string
enum:
- blitzjs
- nextjs
- gatsby
- remix
- react-router
- astro
- hexo
- eleventy
- docusaurus-2
- docusaurus
- preact
- solidstart-1
- solidstart
- dojo
- ember
- vue
- scully
- ionic-angular
- angular
- polymer
- svelte
- sveltekit
- sveltekit-1
- ionic-react
- create-react-app
- gridsome
- umijs
- sapper
- saber
- stencil
- nuxtjs
- redwoodjs
- hugo
- jekyll
- brunch
- middleman
- zola
- hydrogen
- vite
- tanstack-start
- vitepress
- vuepress
- parcel
- fastapi
- flask
- fasthtml
- sanity-v3
- sanity
- storybook
- nitro
- hono
- express
- h3
- koa
- nestjs
- elysia
- fastify
- xmcp
- python
- ruby
- rust
- node
- services
commandForIgnoringBuildStep:
nullable: true
type: string
installCommand:
nullable: true
type: string
outputDirectory:
nullable: true
type: string
speedInsights:
properties:
id:
type: string
enabledAt:
type: number
disabledAt:
type: number
canceledAt:
type: number
hasData:
type: boolean
enum:
- false
- true
paidAt:
type: number
required:
- id
type: object
webAnalytics:
properties:
id:
type: string
disabledAt:
type: number
canceledAt:
type: number
enabledAt:
type: number
hasData:
type: boolean
enum:
- true
required:
- id
type: object
type: object
readyStateReason:
type: string
integrations:
properties:
status:
type: string
enum:
- skipped
- pending
- ready
- error
- timeout
startedAt:
type: number
completedAt:
type: number
skippedAt:
type: number
skippedBy:
type: string
required:
- startedAt
- status
type: object
images:
properties:
sizes:
items:
type: number
type: array
qualities:
items:
type: number
type: array
domains:
items:
type: string
type: array
remotePatterns:
items:
properties:
protocol:
type: string
enum:
- http
- https
description: Must be `http` or `https`.
hostname:
type: string
description: >-
Can be literal or wildcard. Single `*` matches a
single subdomain. Double `**` matches any number
of subdomains.
port:
type: string
description: >-
Can be literal port such as `8080` or empty
string meaning no port.
pathname:
type: string
description: >-
Can be literal or wildcard. Single `*` matches a
single path segment. Double `**` matches any
number of path segments.
search:
type: string
description: >-
Can be literal query string such as `?v=1` or
empty string meaning no query string.
required:
- hostname
type: object
type: array
localPatterns:
items:
properties:
pathname:
type: string
description: >-
Can be literal or wildcard. Single `*` matches a
single path segment. Double `**` matches any
number of path segments.
search:
type: string
description: >-
Can be literal query string such as `?v=1` or
empty string meaning no query string.
type: object
type: array
minimumCacheTTL:
type: number
formats:
items:
type: string
enum:
- image/avif
- image/webp
type: array
dangerouslyAllowSVG:
type: boolean
enum:
- false
- true
contentSecurityPolicy:
type: string
contentDispositionType:
type: string
enum:
- inline
- attachment
type: object
alias:
items:
type: string
type: array
description: >-
A list of all the aliases (default aliases, staging
aliases and production aliases) that were assigned upon
deployment creation
example: []
aliasAssigned:
type: boolean
enum:
- false
- true
description: >-
A boolean that will be true when the aliases from the
alias property were assigned successfully
example: true
bootedAt:
type: number
buildingAt:
type: number
buildContainerFinishedAt:
type: number
description: >-
Since April 2025 it necessary for On-Demand Concurrency
Minutes calculation
buildSkipped:
type: boolean
enum:
- false
- true
creator:
properties:
uid:
type: string
description: The ID of the user that created the deployment
example: 96SnxkFiMyVKsK3pnoHfx3Hz
username:
type: string
description: The username of the user that created the deployment
example: john-doe
avatar:
type: string
description: The avatar of the user that created the deployment
required:
- uid
type: object
description: Information about the deployment creator
initReadyAt:
type: number
isFirstBranchDeployment:
type: boolean
enum:
- false
- true
lambdas:
items:
properties:
id:
type: string
createdAt:
type: number
readyState:
type: string
enum:
- BUILDING
- ERROR
- INITIALIZING
- READY
entrypoint:
nullable: true
type: string
readyStateAt:
type: number
output:
items:
properties:
path:
type: string
functionName:
type: string
required:
- functionName
- path
type: object
type: array
required:
- id
- output
type: object
description: >-
A partial representation of a Build used by the
deployment endpoint.
type: array
public:
type: boolean
enum:
- false
- true
description: >-
A boolean representing if the deployment is public or not.
By default this is `false`
example: false
ready:
type: number
status:
type: string
enum:
- QUEUED
- BUILDING
- ERROR
- INITIALIZING
- READY
- CANCELED
team:
properties:
id:
type: string
name:
type: string
slug:
type: string
avatar:
type: string
required:
- id
- name
- slug
type: object
description: The team that owns the deployment if any
userAliases:
items:
type: string
type: array
description: >-
An array of domains that were provided by the user when
creating the Deployment.
example:
- sub1.example.com
- sub2.example.com
previewCommentsEnabled:
type: boolean
enum:
- false
- true
description: >-
Whether or not preview comments are enabled for the
deployment
example: false
ttyBuildLogs:
type: boolean
enum:
- false
- true
customEnvironment:
oneOf:
- properties:
id:
type: string
description: >-
Unique identifier for the custom environment
(format: env_*)
slug:
type: string
description: URL-friendly name of the environment
type:
type: string
enum:
- production
- preview
- development
description: >-
The type of environment (production, preview, or
development)
description:
type: string
description: Optional description of the environment's purpose
branchMatcher:
properties:
type:
type: string
enum:
- endsWith
- startsWith
- equals
description: The type of matching to perform
pattern:
type: string
description: The pattern to match against branch names
required:
- pattern
- type
type: object
description: >-
Configuration for matching git branches to this
environment
domains:
items:
properties:
name:
type: string
apexName:
type: string
projectId:
type: string
redirect:
nullable: true
type: string
redirectStatusCode:
nullable: true
type: number
enum:
- 307
- 301
- 302
- 308
gitBranch:
nullable: true
type: string
customEnvironmentId:
nullable: true
type: string
updatedAt:
type: number
createdAt:
type: number
verified:
type: boolean
enum:
- false
- true
description: >-
`true` if the domain is verified for use
with the project. If `false` it will not be
used as an alias on this project until the
challenge in `verification` is completed.
verification:
items:
properties:
type:
type: string
domain:
type: string
value:
type: string
reason:
type: string
required:
- domain
- reason
- type
- value
type: object
description: >-
A list of verification challenges, one of
which must be completed to verify the
domain for use on the project. After the
challenge is complete `POST
/projects/:idOrName/domains/:domain/verify`
to verify the domain. Possible challenges:
- If `verification.type = TXT` the
`verification.domain` will be checked for
a TXT record matching
`verification.value`.
type: array
description: >-
A list of verification challenges, one of
which must be completed to verify the domain
for use on the project. After the challenge
is complete `POST
/projects/:idOrName/domains/:domain/verify`
to verify the domain. Possible challenges: -
If `verification.type = TXT` the
`verification.domain` will be checked for a
TXT record matching `verification.value`.
required:
- apexName
- name
- projectId
- verified
type: object
description: List of domains associated with this environment
type: array
description: List of domains associated with this environment
currentDeploymentAliases:
items:
type: string
type: array
description: List of aliases for the current deployment
createdAt:
type: number
description: Timestamp when the environment was created
updatedAt:
type: number
description: Timestamp when the environment was last updated
required:
- createdAt
- id
- slug
- type
- updatedAt
type: object
description: >-
If the deployment was created using a Custom
Environment, then this property contains information
regarding the environment used.
- properties:
id:
type: string
required:
- id
type: object
description: >-
If the deployment was created using a Custom
Environment, then this property contains information
regarding the environment used.
oomReport:
type: string
enum:
- out-of-memory
aliasWarning:
nullable: true
properties:
code:
type: string
message:
type: string
link:
type: string
action:
type: string
required:
- code
- message
type: object
id:
type: string
description: A string holding the unique ID of the deployment
example: dpl_89qyp1cskzkLrVicDaZoDbjyHuDJ
createdAt:
type: number
description: >-
A number containing the date when the deployment was
created in milliseconds
example: 1540257589405
readyState:
type: string
enum:
- QUEUED
- BUILDING
- ERROR
- INITIALIZING
- READY
- CANCELED
description: >-
The state of the deployment depending on the process of
deploying, or if it is ready or in an error state
example: READY
name:
type: string
description: >-
The name of the project associated with the deployment at
the time that the deployment was created
example: my-project
type:
type: string
enum:
- LAMBDAS
aliasError:
nullable: true
properties:
code:
type: string
message:
type: string
required:
- code
- message
type: object
description: >-
An object that will contain a `code` and a `message` when
the aliasing fails, otherwise the value will be `null`
example: null
aliasFinal:
nullable: true
type: string
autoAssignCustomDomains:
type: boolean
enum:
- false
- true
description: applies to custom domains only, defaults to `true`
automaticAliases:
items:
type: string
type: array
buildErrorAt:
type: number
checksState:
type: string
enum:
- registered
- running
- completed
checksConclusion:
type: string
enum:
- succeeded
- failed
- skipped
- canceled
deletedAt:
nullable: true
type: number
description: >-
A number containing the date when the deployment was
deleted at milliseconds
example: 1540257589405
defaultRoute:
type: string
description: >-
Computed field that is only available for deployments with
a microfrontend configuration.
canceledAt:
type: number
errorCode:
type: string
errorLink:
type: string
errorMessage:
nullable: true
type: string
errorStep:
type: string
passiveRegions:
items:
type: string
type: array
description: >-
Since November 2023 this field defines a set of regions
that we will deploy the lambda to passively Lambdas will
be deployed to these regions but only invoked if all of
the primary `regions` are marked as out of service
gitSource:
oneOf:
- properties:
type:
type: string
enum:
- github
repoId:
oneOf:
- type: string
- type: number
ref:
nullable: true
type: string
sha:
type: string
prId:
nullable: true
type: number
required:
- repoId
- type
type: object
- properties:
type:
type: string
enum:
- github
org:
type: string
repo:
type: string
ref:
nullable: true
type: string
sha:
type: string
prId:
nullable: true
type: number
required:
- org
- repo
- type
type: object
- properties:
type:
type: string
enum:
- github-custom-host
host:
type: string
repoId:
oneOf:
- type: string
- type: number
ref:
nullable: true
type: string
sha:
type: string
prId:
nullable: true
type: number
required:
- host
- repoId
- type
type: object
- properties:
type:
type: string
enum:
- github-custom-host
host:
type: string
org:
type: string
repo:
type: string
ref:
nullable: true
type: string
sha:
type: string
prId:
nullable: true
type: number
required:
- host
- org
- repo
- type
type: object
- properties:
type:
type: string
enum:
- github-limited
repoId:
oneOf:
- type: string
- type: number
ref:
nullable: true
type: string
sha:
type: string
prId:
nullable: true
type: number
required:
- repoId
- type
type: object
- properties:
type:
type: string
enum:
- github-limited
org:
type: string
repo:
type: string
ref:
nullable: true
type: string
sha:
type: string
prId:
nullable: true
type: number
required:
- org
- repo
- type
type: object
- properties:
type:
type: string
enum:
- gitlab
projectId:
oneOf:
- type: string
- type: number
ref:
nullable: true
type: string
sha:
type: string
prId:
nullable: true
type: number
required:
- projectId
- type
type: object
- properties:
type:
type: string
enum:
- bitbucket
workspaceUuid:
type: string
repoUuid:
type: string
ref:
nullable: true
type: string
sha:
type: string
prId:
nullable: true
type: number
required:
- repoUuid
- type
type: object
- properties:
type:
type: string
enum:
- bitbucket
owner:
type: string
slug:
type: string
ref:
nullable: true
type: string
sha:
type: string
prId:
nullable: true
type: number
required:
- owner
- slug
- type
type: object
- properties:
type:
type: string
enum:
- custom
ref:
type: string
sha:
type: string
gitUrl:
type: string
required:
- gitUrl
- ref
- sha
- type
type: object
description: >-
Allows custom git sources (local folder mounted to the
container) in test mode
- properties:
type:
type: string
enum:
- github
ref:
type: string
sha:
type: string
repoId:
type: number
org:
type: string
repo:
type: string
required:
- ref
- repoId
- sha
- type
type: object
- properties:
type:
type: string
enum:
- github-custom-host
host:
type: string
ref:
type: string
sha:
type: string
repoId:
type: number
org:
type: string
repo:
type: string
required:
- host
- ref
- repoId
- sha
- type
type: object
- properties:
type:
type: string
enum:
- github-limited
ref:
type: string
sha:
type: string
repoId:
type: number
org:
type: string
repo:
type: string
required:
- ref
- repoId
- sha
- type
type: object
- properties:
type:
type: string
enum:
- gitlab
ref:
type: string
sha:
type: string
projectId:
type: number
required:
- projectId
- ref
- sha
- type
type: object
- properties:
type:
type: string
enum:
- bitbucket
ref:
type: string
sha:
type: string
owner:
type: string
slug:
type: string
workspaceUuid:
type: string
repoUuid:
type: string
required:
- ref
- repoUuid
- sha
- type
- workspaceUuid
type: object
manualProvisioning:
properties:
state:
type: string
enum:
- PENDING
- COMPLETE
- TIMEOUT
description: Current provisioning state
completedAt:
type: number
description: Timestamp when manual provisioning completed
required:
- state
type: object
description: >-
Present when deployment was created with
VERCEL_MANUAL_PROVISIONING=true. The deployment stays in
INITIALIZING until /continue is called.
meta:
additionalProperties:
type: string
type: object
originCacheRegion:
type: string
nodeVersion:
type: string
enum:
- 24.x
- 22.x
- 20.x
- 18.x
- 16.x
- 14.x
- 12.x
- 10.x
- 8.10.x
description: >-
If set it overrides the `projectSettings.nodeVersion` for
this deployment.
project:
properties:
id:
type: string
name:
type: string
framework:
nullable: true
type: string
required:
- id
- name
type: object
description: >-
The public project information associated with the
deployment.
prebuilt:
type: boolean
enum:
- false
- true
readySubstate:
type: string
enum:
- STAGED
- ROLLING
- PROMOTED
description: >-
Substate of deployment when readyState is 'READY' Tracks
whether or not deployment has seen production traffic: -
STAGED: never seen production traffic - ROLLING: in the
process of having production traffic gradually
transitioned. - PROMOTED: has seen production traffic
regions:
items:
type: string
type: array
description: The regions the deployment exists in
example:
- sfo1
softDeletedByRetention:
type: boolean
enum:
- false
- true
description: >-
flag to indicate if the deployment was deleted by
retention policy
example: 'true'
source:
type: string
enum:
- api-trigger-git-deploy
- cli
- clone/repo
- git
- import
- import/repo
- redeploy
- v0-web
description: Where was the deployment created from
example: cli
target:
nullable: true
type: string
enum:
- staging
- production
description: >-
If defined, either `staging` if a staging alias in the
format `..now.sh` was assigned upon
creation, or `production` if the aliases from `alias` were
assigned. `null` value indicates the "preview" deployment.
example: null
undeletedAt:
type: number
description: >-
A number containing the date when the deployment was
undeleted at milliseconds
example: 1540257589405
url:
type: string
description: A string with the unique URL of the deployment
example: my-instant-deployment-3ij3cxz9qr.now.sh
userConfiguredDeploymentId:
type: string
description: >-
Since January 2025 User-configured deployment ID for skew
protection with pre-built deployments. This is set when
users configure a custom deploymentId in their
next.config.js file. This allows Next.js to use skew
protection even when deployments are pre-built outside of
Vercel's build system.
example: abc123
version:
type: number
enum:
- 2
description: >-
The platform version that was used to create the
deployment.
example: 2
oidcTokenClaims:
properties:
iss:
type: string
sub:
type: string
scope:
type: string
aud:
type: string
owner:
type: string
owner_id:
type: string
project:
type: string
project_id:
type: string
environment:
type: string
plan:
type: string
required:
- aud
- environment
- iss
- owner
- owner_id
- project
- project_id
- scope
- sub
type: object
projectId:
type: string
plan:
type: string
enum:
- pro
- enterprise
- hobby
connectBuildsEnabled:
type: boolean
enum:
- false
- true
connectConfigurationId:
type: string
createdIn:
type: string
crons:
items:
properties:
schedule:
type: string
path:
type: string
required:
- path
- schedule
type: object
type: array
functions:
nullable: true
additionalProperties:
properties:
architecture:
type: string
enum:
- x86_64
- arm64
memory:
type: number
maxDuration:
type: number
runtime:
type: string
includeFiles:
type: string
excludeFiles:
type: string
experimentalTriggers:
items:
properties:
type:
type: string
enum:
- queue/v1beta
description: Event type - must be "queue/v1beta" (REQUIRED)
topic:
type: string
description: >-
Name of the queue topic to consume from
(REQUIRED)
consumer:
type: string
description: >-
Name of the consumer group for this trigger
(REQUIRED)
maxDeliveries:
type: number
description: >-
Maximum number of delivery attempts for
message processing (OPTIONAL) This represents
the total number of times a message can be
delivered, not the number of retries. Must be
at least 1 if specified. Behavior when not
specified depends on the server's default
configuration.
retryAfterSeconds:
type: number
description: >-
Delay in seconds before retrying failed
executions (OPTIONAL) Behavior when not
specified depends on the server's default
configuration.
initialDelaySeconds:
type: number
description: >-
Initial delay in seconds before first
execution attempt (OPTIONAL) Must be 0 or
greater. Use 0 for no initial delay. Behavior
when not specified depends on the server's
default configuration.
maxConcurrency:
type: number
description: >-
Maximum number of concurrent executions for
this consumer (OPTIONAL) Must be at least 1 if
specified. Behavior when not specified depends
on the server's default configuration.
required:
- consumer
- topic
- type
type: object
description: >-
Queue trigger event for Vercel's queue system.
Handles "queue/v1beta" events with queue-specific
configuration.
type: array
supportsCancellation:
type: boolean
enum:
- false
- true
type: object
type: object
monorepoManager:
nullable: true
type: string
ownerId:
type: string
passiveConnectConfigurationId:
type: string
description: >-
Since November 2023 this field defines a Secure Compute
network that will only be used to deploy passive lambdas
to (as in passiveRegions)
routes:
nullable: true
items:
oneOf:
- properties:
src:
type: string
dest:
type: string
headers:
additionalProperties:
type: string
type: object
methods:
items:
type: string
type: array
continue:
type: boolean
enum:
- false
- true
override:
type: boolean
enum:
- false
- true
caseSensitive:
type: boolean
enum:
- false
- true
check:
type: boolean
enum:
- false
- true
important:
type: boolean
enum:
- false
- true
status:
type: number
has:
items:
oneOf:
- properties:
type:
type: string
enum:
- host
value:
oneOf:
- type: string
- properties:
eq:
oneOf:
- type: string
- type: number
neq:
type: string
inc:
items:
type: string
type: array
ninc:
items:
type: string
type: array
pre:
type: string
suf:
type: string
re:
type: string
gt:
type: number
gte:
type: number
lt:
type: number
lte:
type: number
type: object
required:
- type
- value
type: object
- properties:
type:
type: string
enum:
- header
- cookie
- query
key:
type: string
value:
oneOf:
- type: string
- properties:
eq:
oneOf:
- type: string
- type: number
neq:
type: string
inc:
items:
type: string
type: array
ninc:
items:
type: string
type: array
pre:
type: string
suf:
type: string
re:
type: string
gt:
type: number
gte:
type: number
lt:
type: number
lte:
type: number
type: object
required:
- key
- type
type: object
type: array
missing:
items:
oneOf:
- properties:
type:
type: string
enum:
- host
value:
oneOf:
- type: string
- properties:
eq:
oneOf:
- type: string
- type: number
neq:
type: string
inc:
items:
type: string
type: array
ninc:
items:
type: string
type: array
pre:
type: string
suf:
type: string
re:
type: string
gt:
type: number
gte:
type: number
lt:
type: number
lte:
type: number
type: object
required:
- type
- value
type: object
- properties:
type:
type: string
enum:
- header
- cookie
- query
key:
type: string
value:
oneOf:
- type: string
- properties:
eq:
oneOf:
- type: string
- type: number
neq:
type: string
inc:
items:
type: string
type: array
ninc:
items:
type: string
type: array
pre:
type: string
suf:
type: string
re:
type: string
gt:
type: number
gte:
type: number
lt:
type: number
lte:
type: number
type: object
required:
- key
- type
type: object
type: array
mitigate:
properties:
action:
type: string
enum:
- challenge
- deny
required:
- action
type: object
transforms:
items:
properties:
type:
type: string
enum:
- request.headers
- request.query
- response.headers
op:
type: string
enum:
- append
- set
- delete
target:
properties:
key:
oneOf:
- type: string
- properties:
eq:
oneOf:
- type: string
- type: number
neq:
type: string
inc:
items:
type: string
type: array
ninc:
items:
type: string
type: array
pre:
type: string
suf:
type: string
gt:
type: number
gte:
type: number
lt:
type: number
lte:
type: number
type: object
required:
- key
type: object
args:
oneOf:
- type: string
- items:
type: string
type: array
env:
items:
type: string
type: array
required:
- op
- target
- type
type: object
type: array
env:
items:
type: string
type: array
locale:
properties:
redirect:
additionalProperties:
type: string
type: object
cookie:
type: string
type: object
middlewarePath:
type: string
description: >-
A middleware key within the `output` key under
the build result. Overrides a `middleware`
definition.
middlewareRawSrc:
items:
type: string
type: array
description: The original middleware matchers.
middleware:
type: number
description: >-
A middleware index in the `middleware` key under
the build result
respectOriginCacheControl:
type: boolean
enum:
- false
- true
required:
- src
type: object
- properties:
handle:
type: string
enum:
- error
- filesystem
- hit
- miss
- rewrite
- resource
src:
type: string
dest:
type: string
status:
type: number
required:
- handle
type: object
- properties:
src:
type: string
continue:
type: boolean
enum:
- false
- true
middleware:
type: number
enum:
- 0
required:
- continue
- middleware
- src
type: object
type: array
gitRepo:
nullable: true
oneOf:
- properties:
namespace:
type: string
projectId:
type: number
type:
type: string
enum:
- gitlab
url:
type: string
path:
type: string
defaultBranch:
type: string
name:
type: string
private:
type: boolean
enum:
- false
- true
ownerType:
type: string
enum:
- team
- user
required:
- defaultBranch
- name
- namespace
- ownerType
- path
- private
- projectId
- type
- url
type: object
- properties:
org:
type: string
repo:
type: string
repoId:
type: number
type:
type: string
enum:
- github
repoOwnerId:
type: number
path:
type: string
defaultBranch:
type: string
name:
type: string
private:
type: boolean
enum:
- false
- true
ownerType:
type: string
enum:
- team
- user
required:
- defaultBranch
- name
- org
- ownerType
- path
- private
- repo
- repoId
- repoOwnerId
- type
type: object
- properties:
owner:
type: string
repoUuid:
type: string
slug:
type: string
type:
type: string
enum:
- bitbucket
workspaceUuid:
type: string
path:
type: string
defaultBranch:
type: string
name:
type: string
private:
type: boolean
enum:
- false
- true
ownerType:
type: string
enum:
- team
- user
required:
- defaultBranch
- name
- owner
- ownerType
- path
- private
- repoUuid
- slug
- type
- workspaceUuid
type: object
flags:
oneOf:
- properties:
definitions:
additionalProperties:
properties:
options:
items:
properties:
value:
$ref: '#/components/schemas/FlagJSONValue'
label:
type: string
required:
- value
type: object
type: array
url:
type: string
description:
type: string
type: object
type: object
required:
- definitions
type: object
description: >-
Flags defined in the Build Output API, used by this
deployment. Primarily used by the Toolbar to know
about the used flags.
- items:
type: object
description: >-
Flags defined in the Build Output API, used by this
deployment. Primarily used by the Toolbar to know
about the used flags.
type: array
description: >-
Flags defined in the Build Output API, used by this
deployment. Primarily used by the Toolbar to know
about the used flags.
microfrontends:
oneOf:
- properties:
isDefaultApp:
type: boolean
enum:
- false
defaultAppProjectName:
type: string
description: >-
The project name of the default app of this
deployment's microfrontends group.
defaultRoute:
type: string
description: >-
A path that is used to take screenshots and as the
default path in preview links when a domain for
this microfrontend is shown in the UI.
groupIds:
type: array
items:
type: string
minItems: 1
description: >-
The group of microfrontends that this project
belongs to. Each microfrontend project must belong
to a microfrontends group that is the set of
microfrontends that are used together.
required:
- defaultAppProjectName
- groupIds
type: object
- properties:
isDefaultApp:
type: boolean
enum:
- true
mfeConfigUploadState:
type: string
enum:
- success
- waiting_on_build
- no_config
description: >-
The result of the microfrontends config upload
during deployment creation / build. Only set for
default app deployments. The config upload is
attempted during deployment create, and then again
during the build. If the config is not in the root
directory, or the deployment is prebuilt, the
config cannot be uploaded during deployment
create. The upload during deployment build finds
the config even if it's not in the root directory,
as it has access to all files. Uploading the
config during create is ideal, as then all child
deployments are guaranteed to have access to the
default app deployment config even if the default
app has not yet started building. If the config is
not uploaded, the child app will show as building
until the config has been uploaded during the
default app build. - `success` - The config was
uploaded successfully, either when the deployment
was created or during the build. -
`waiting_on_build` - The config could not be
uploaded during deployment create, will be
attempted again during the build. - `no_config` -
No config was found. Only set once the build has
not found the config in any of the deployment's
files. - `undefined` - Legacy deployments, or
there was an error uploading the config during
deployment create.
defaultAppProjectName:
type: string
description: >-
The project name of the default app of this
deployment's microfrontends group.
defaultRoute:
type: string
description: >-
A path that is used to take screenshots and as the
default path in preview links when a domain for
this microfrontend is shown in the UI.
groupIds:
type: array
items:
type: string
minItems: 1
description: >-
The group of microfrontends that this project
belongs to. Each microfrontend project must belong
to a microfrontends group that is the set of
microfrontends that are used together.
required:
- defaultAppProjectName
- groupIds
- isDefaultApp
type: object
config:
properties:
version:
type: number
functionType:
type: string
enum:
- standard
- fluid
functionMemoryType:
type: string
enum:
- standard
- standard_legacy
- performance
functionTimeout:
nullable: true
type: number
secureComputePrimaryRegion:
nullable: true
type: string
secureComputeFallbackRegion:
nullable: true
type: string
isUsingActiveCPU:
type: boolean
enum:
- false
- true
resourceConfig:
properties:
buildQueue:
properties:
configuration:
type: string
enum:
- SKIP_NAMESPACE_QUEUE
- WAIT_FOR_NAMESPACE_QUEUE
description: >-
Build resource configuration snapshot for this
deployment.
type: object
description: >-
Build resource configuration snapshot for this
deployment.
buildMachine:
properties:
default:
type: string
enum:
- enhanced
- turbo
- standard
description: >-
Build resource configuration snapshot for this
deployment.
purchaseType:
type: string
enum:
- enhanced
- turbo
description: >-
Build resource configuration snapshot for this
deployment.
isDefaultBuildMachine:
type: boolean
enum:
- false
- true
description: >-
Build resource configuration snapshot for this
deployment.
cores:
type: number
description: >-
Build resource configuration snapshot for this
deployment.
memory:
type: number
description: >-
Build resource configuration snapshot for this
deployment.
type: object
description: >-
Build resource configuration snapshot for this
deployment.
elasticConcurrency:
type: string
enum:
- TEAM_SETTING
- PROJECT_SETTING
- SKIP_QUEUE
description: >-
When elastic concurrency is used for this
deployment, a value is set. The value tells the
reason where the setting was coming from. -
TEAM_SETTING: Inherited from team settings -
PROJECT_SETTING: Inherited from project settings -
SKIP_QUEUE: Manually triggered by user to skip the
queues
type: object
description: >-
Build resource configuration snapshot for this
deployment.
required:
- functionMemoryType
- functionTimeout
- functionType
- secureComputeFallbackRegion
- secureComputePrimaryRegion
type: object
description: >-
Since February 2025 the configuration must include
snapshot data at the time of deployment creation to
capture properties for the /deployments/:id/config
endpoint utilized for displaying Deployment Configuration
on the frontend This is optional because older deployments
may not have this data captured
checks:
properties:
deployment-alias:
properties:
state:
type: string
enum:
- succeeded
- failed
- pending
startedAt:
type: number
completedAt:
type: number
required:
- startedAt
- state
type: object
description: >-
Condensed check data. Retrieve individual check and
check run data using api-checks v2 routes.
required:
- deployment-alias
type: object
required:
- aliasAssigned
- bootedAt
- build
- buildSkipped
- buildingAt
- createdAt
- createdIn
- creator
- env
- id
- inspectorUrl
- isInConcurrentBuildsQueue
- isInSystemBuildsQueue
- meta
- name
- ownerId
- plan
- projectId
- projectSettings
- public
- readyState
- regions
- routes
- status
- type
- url
- version
type: object
description: The private deployment representation of a Deployment.
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
security:
- bearerToken: []
components:
schemas:
FlagJSONValue:
nullable: true
oneOf:
- type: string
- type: number
- items:
$ref: '#/components/schemas/FlagJSONValue'
type: array
description: >-
TODO: The following types will eventually be exported by a more
relevant package.
- additionalProperties:
$ref: '#/components/schemas/FlagJSONValue'
type: object
- type: boolean
enum:
- false
- true
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/domains/check-a-domain-availability-deprecated.md
# Check a Domain Availability (deprecated)
> This endpoint is deprecated and replaced with the endpoint [Get availability for a domain](https://vercel.com/docs/rest-api/reference/endpoints/domains-registrar/get-availability-for-a-domain). Check if a domain name is available for purchase.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v4/domains/status
paths:
path: /v4/domains/status
method: get
servers:
- url: https://api.vercel.com
description: Production API
request:
security:
- title: bearerToken
parameters:
query: {}
header:
Authorization:
type: http
scheme: bearer
description: Default authentication mechanism
cookie: {}
parameters:
path: {}
query:
name:
schema:
- type: string
required: true
description: >-
The name of the domain for which we would like to check the
status.
example: example.com
teamId:
schema:
- type: string
description: The Team identifier to perform the request on behalf of.
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
slug:
schema:
- type: string
description: The Team slug to perform the request on behalf of.
example: my-team-url-slug
header: {}
cookie: {}
body: {}
codeSamples:
- label: checkDomainStatus
lang: go
source: "package main\n\nimport(\n\t\"os\"\n\t\"github.com/vercel/vercel\"\n\t\"context\"\n\t\"log\"\n)\n\nfunc main() {\n s := vercel.New(\n vercel.WithSecurity(os.Getenv(\"VERCEL_BEARER_TOKEN\")),\n )\n\n ctx := context.Background()\n res, err := s.Domains.CheckDomainStatus(ctx, \"example.com\", nil, nil)\n if err != nil {\n log.Fatal(err)\n }\n if res.Object != nil {\n // handle response\n }\n}"
- label: checkDomainStatus
lang: typescript
source: |-
import { Vercel } from "@vercel/sdk";
const vercel = new Vercel({
bearerToken: "",
});
async function run() {
const result = await vercel.domains.checkDomainStatus({
name: "example.com",
teamId: "team_1a2b3c4d5e6f7g8h9i0j1k2l",
slug: "my-team-url-slug",
});
console.log(result);
}
run();
response:
'200':
application/json:
schemaArray:
- type: object
properties:
available:
allOf:
- type: boolean
requiredProperties:
- available
examples:
example:
value:
available: true
description: Successful response checking if a Domain's name is available.
'400':
_mintlify/placeholder:
schemaArray:
- type: any
description: One of the provided values in the request query is invalid.
examples: {}
description: One of the provided values in the request query is invalid.
'401':
_mintlify/placeholder:
schemaArray:
- type: any
description: The request is not authorized.
examples: {}
description: The request is not authorized.
'403':
_mintlify/placeholder:
schemaArray:
- type: any
description: You do not have permission to access this resource.
examples: {}
description: You do not have permission to access this resource.
'408': {}
'500': {}
deprecated: false
type: path
components:
schemas: {}
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/artifacts/check-if-a-cache-artifact-exists.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Check if a cache artifact exists
> 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.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples head /v8/artifacts/{hash}
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v8/artifacts/{hash}:
head:
tags:
- artifacts
summary: Check if a cache artifact exists
description: >-
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.
operationId: artifactExists
parameters:
- name: hash
description: The artifact hash
in: path
required: true
schema:
type: string
example: 12HKQaOmR5t5Uy6vdcQsNIiZgHGB
description: The artifact hash
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'200':
description: The artifact was found and headers are returned
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'402':
description: |-
The account was soft-blocked for an unhandled reason.
The account is missing a payment so payment method must be updated
'403':
description: >-
The customer has reached their spend cap limit and has been paused.
An owner can disable the cap or raise the limit in settings.
The Remote Caching usage limit has been reached for this account for
this billing cycle.
Remote Caching has been disabled for this team or user. An owner can
enable it in the billing settings.
You do not have permission to access this resource.
'404':
description: The artifact was not found
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/domains/check-the-price-for-a-domain-deprecated.md
# Check the price for a domain (deprecated)
> This endpoint is deprecated and replaced with the endpoint [Get price data for a domain](https://vercel.com/docs/rest-api/reference/endpoints/domains-registrar/get-price-data-for-a-domain). Check the price to purchase a domain and how long a single purchase period is.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v4/domains/price
paths:
path: /v4/domains/price
method: get
servers:
- url: https://api.vercel.com
description: Production API
request:
security:
- title: bearerToken
parameters:
query: {}
header:
Authorization:
type: http
scheme: bearer
description: Default authentication mechanism
cookie: {}
parameters:
path: {}
query:
name:
schema:
- type: string
required: true
description: The name of the domain for which the price needs to be checked.
example: example.com
type:
schema:
- type: enum
enum:
- new
- renewal
- transfer
- redemption
required: false
description: In which status of the domain the price needs to be checked.
example: new
teamId:
schema:
- type: string
description: The Team identifier to perform the request on behalf of.
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
slug:
schema:
- type: string
description: The Team slug to perform the request on behalf of.
example: my-team-url-slug
header: {}
cookie: {}
body: {}
codeSamples:
- label: checkDomainPrice
lang: go
source: "package main\n\nimport(\n\t\"os\"\n\t\"github.com/vercel/vercel\"\n\t\"context\"\n\t\"github.com/vercel/vercel/models/operations\"\n\t\"log\"\n)\n\nfunc main() {\n s := vercel.New(\n vercel.WithSecurity(os.Getenv(\"VERCEL_BEARER_TOKEN\")),\n )\n\n ctx := context.Background()\n res, err := s.Domains.CheckDomainPrice(ctx, \"example.com\", operations.QueryParamTypeNew.ToPointer(), nil, nil)\n if err != nil {\n log.Fatal(err)\n }\n if res.Object != nil {\n // handle response\n }\n}"
- label: checkDomainPrice
lang: typescript
source: |-
import { Vercel } from "@vercel/sdk";
const vercel = new Vercel({
bearerToken: "",
});
async function run() {
const result = await vercel.domains.checkDomainPrice({
name: "example.com",
type: "new",
teamId: "team_1a2b3c4d5e6f7g8h9i0j1k2l",
slug: "my-team-url-slug",
});
console.log(result);
}
run();
response:
'200':
application/json:
schemaArray:
- type: object
properties:
price:
allOf:
- type: number
description: The domain price in USD.
example: 20
period:
allOf:
- type: number
description: >-
The number of years the domain could be held before paying
again.
example: 1
description: >-
Successful response which returns the price of the domain and the
period.
requiredProperties:
- price
- period
examples:
example:
value:
price: 20
period: 1
description: >-
Successful response which returns the price of the domain and the
period.
'400':
_mintlify/placeholder:
schemaArray:
- type: any
description: One of the provided values in the request query is invalid.
examples: {}
description: One of the provided values in the request query is invalid.
'401':
_mintlify/placeholder:
schemaArray:
- type: any
description: The request is not authorized.
examples: {}
description: The request is not authorized.
'403':
_mintlify/placeholder:
schemaArray:
- type: any
description: You do not have permission to access this resource.
examples: {}
description: You do not have permission to access this resource.
'404': {}
'500': {}
deprecated: false
type: path
components:
schemas: {}
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/rolling-release/complete-the-rolling-release-for-the-project.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Complete the rolling release for the project
> Force-complete a Rolling Release. The canary deployment will begin serving 100% of the traffic.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples post /v1/projects/{idOrName}/rolling-release/complete
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/projects/{idOrName}/rolling-release/complete:
post:
tags:
- rolling-release
summary: Complete the rolling release for the project
description: >-
Force-complete a Rolling Release. The canary deployment will begin
serving 100% of the traffic.
operationId: completeRollingRelease
parameters:
- name: idOrName
description: Project ID or project name (URL-encoded)
in: path
required: true
schema:
description: Project ID or project name (URL-encoded)
type: string
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
requestBody:
content:
application/json:
schema:
type: object
required:
- canaryDeploymentId
properties:
canaryDeploymentId:
description: The ID of the canary deployment to complete
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
properties:
rollingRelease:
nullable: true
properties:
state:
type: string
enum:
- ACTIVE
- COMPLETE
- ABORTED
description: The current state of the rolling release
example: ACTIVE
currentDeployment:
nullable: true
properties:
name:
type: string
description: >-
The name of the project associated with the
deployment at the time that the deployment was
created
example: my-project
createdAt:
type: number
description: >-
A number containing the date when the deployment
was created in milliseconds
example: 1540257589405
id:
type: string
description: A string holding the unique ID of the deployment
example: dpl_89qyp1cskzkLrVicDaZoDbjyHuDJ
readyState:
type: string
enum:
- BUILDING
- ERROR
- INITIALIZING
- QUEUED
- READY
- CANCELED
description: >-
The state of the deployment depending on the
process of deploying, or if it is ready or in an
error state
example: READY
readyStateAt:
type: number
source:
type: string
enum:
- import
- api-trigger-git-deploy
- cli
- clone/repo
- git
- import/repo
- redeploy
- v0-web
description: Where was the deployment created from
example: cli
target:
nullable: true
type: string
enum:
- staging
- production
description: >-
If defined, either `staging` if a staging alias in
the format `..now.sh` was assigned
upon creation, or `production` if the aliases from
`alias` were assigned. `null` value indicates the
"preview" deployment.
example: null
url:
type: string
description: A string with the unique URL of the deployment
example: my-instant-deployment-3ij3cxz9qr.now.sh
required:
- createdAt
- id
- name
- readyState
- url
type: object
description: The current deployment receiving production traffic
example:
id: dpl_abc123
name: my-shop@main
url: my-shop.vercel.app
target: production
source: git
createdAt: 1716206500000
readyState: READY
readyStateAt: 1716206800000
canaryDeployment:
nullable: true
properties:
name:
type: string
description: >-
The name of the project associated with the
deployment at the time that the deployment was
created
example: my-project
createdAt:
type: number
description: >-
A number containing the date when the deployment
was created in milliseconds
example: 1540257589405
id:
type: string
description: A string holding the unique ID of the deployment
example: dpl_89qyp1cskzkLrVicDaZoDbjyHuDJ
readyState:
type: string
enum:
- BUILDING
- ERROR
- INITIALIZING
- QUEUED
- READY
- CANCELED
description: >-
The state of the deployment depending on the
process of deploying, or if it is ready or in an
error state
example: READY
readyStateAt:
type: number
source:
type: string
enum:
- import
- api-trigger-git-deploy
- cli
- clone/repo
- git
- import/repo
- redeploy
- v0-web
description: Where was the deployment created from
example: cli
target:
nullable: true
type: string
enum:
- staging
- production
description: >-
If defined, either `staging` if a staging alias in
the format `..now.sh` was assigned
upon creation, or `production` if the aliases from
`alias` were assigned. `null` value indicates the
"preview" deployment.
example: null
url:
type: string
description: A string with the unique URL of the deployment
example: my-instant-deployment-3ij3cxz9qr.now.sh
required:
- createdAt
- id
- name
- readyState
- url
type: object
description: The canary deployment being rolled out
example:
id: dpl_def456
name: my-shop@9c7e2f4
url: 9c7e2f4-my-shop.vercel.app
target: production
source: git
createdAt: 1716210100000
readyState: READY
readyStateAt: 1716210400000
queuedDeploymentId:
nullable: true
type: string
description: >-
The ID of a deployment queued for the next rolling
release
example: dpl_ghi789
advancementType:
type: string
enum:
- automatic
- manual-approval
description: The advancement type of the rolling release
example: manual-approval
stages:
items:
properties:
index:
type: number
description: The zero-based index of the stage
example: 0
isFinalStage:
type: boolean
enum:
- false
- true
description: >-
Whether or not this stage is the final stage
(targetPercentage === 100)
example: false
targetPercentage:
type: number
description: >-
The percentage of traffic to serve to the canary
deployment (0-100)
example: 25
requireApproval:
type: boolean
enum:
- false
- true
description: >-
Whether or not this stage requires manual
approval to proceed
duration:
nullable: true
type: number
description: >-
Duration in seconds for automatic advancement,
null for manual stages or the final stage
example: null
linearShift:
type: boolean
enum:
- false
- true
description: >-
Whether to linearly shift traffic over the
duration of this stage
example: false
required:
- duration
- index
- isFinalStage
- requireApproval
- targetPercentage
type: object
description: All stages configured for this rolling release
example:
- index: 0
isFinalStage: false
targetPercentage: 5
requireApproval: true
duration: null
- index: 1
isFinalStage: false
targetPercentage: 25
requireApproval: true
duration: null
- index: 2
isFinalStage: false
targetPercentage: 60
requireApproval: true
duration: null
- index: 3
isFinalStage: true
targetPercentage: 100
requireApproval: false
duration: null
type: array
description: All stages configured for this rolling release
example:
- index: 0
isFinalStage: false
targetPercentage: 5
requireApproval: true
duration: null
- index: 1
isFinalStage: false
targetPercentage: 25
requireApproval: true
duration: null
- index: 2
isFinalStage: false
targetPercentage: 60
requireApproval: true
duration: null
- index: 3
isFinalStage: true
targetPercentage: 100
requireApproval: false
duration: null
activeStage:
nullable: true
properties:
index:
type: number
description: The zero-based index of the stage
example: 0
isFinalStage:
type: boolean
enum:
- false
- true
description: >-
Whether or not this stage is the final stage
(targetPercentage === 100)
example: false
targetPercentage:
type: number
description: >-
The percentage of traffic to serve to the canary
deployment (0-100)
example: 25
requireApproval:
type: boolean
enum:
- false
- true
description: >-
Whether or not this stage requires manual approval
to proceed
duration:
nullable: true
type: number
description: >-
Duration in seconds for automatic advancement,
null for manual stages or the final stage
example: null
linearShift:
type: boolean
enum:
- false
- true
description: >-
Whether to linearly shift traffic over the
duration of this stage
example: false
required:
- duration
- index
- isFinalStage
- requireApproval
- targetPercentage
type: object
description: >-
The currently active stage, null if the rollout is
aborted
example:
index: 1
isFinalStage: false
targetPercentage: 25
requireApproval: true
duration: null
nextStage:
nullable: true
properties:
index:
type: number
description: The zero-based index of the stage
example: 0
isFinalStage:
type: boolean
enum:
- false
- true
description: >-
Whether or not this stage is the final stage
(targetPercentage === 100)
example: false
targetPercentage:
type: number
description: >-
The percentage of traffic to serve to the canary
deployment (0-100)
example: 25
requireApproval:
type: boolean
enum:
- false
- true
description: >-
Whether or not this stage requires manual approval
to proceed
duration:
nullable: true
type: number
description: >-
Duration in seconds for automatic advancement,
null for manual stages or the final stage
example: null
linearShift:
type: boolean
enum:
- false
- true
description: >-
Whether to linearly shift traffic over the
duration of this stage
example: false
required:
- duration
- index
- isFinalStage
- requireApproval
- targetPercentage
type: object
description: >-
The next stage to be activated, null if not in ACTIVE
state
example:
index: 2
isFinalStage: false
targetPercentage: 60
requireApproval: true
duration: null
startedAt:
type: number
description: >-
Unix timestamp in milliseconds when the rolling
release started
example: 1716210500000
updatedAt:
type: number
description: >-
Unix timestamp in milliseconds when the rolling
release was last updated
example: 1716210600000
required:
- activeStage
- advancementType
- canaryDeployment
- currentDeployment
- nextStage
- queuedDeploymentId
- stages
- startedAt
- state
- updatedAt
type: object
description: >-
Rolling release information including configuration and
document details, or null if no rolling release exists
required:
- rollingRelease
type: object
description: >-
The response format for rolling release endpoints that return
rolling release information
'400':
description: |-
One of the provided values in the request body is invalid.
One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/connect/configures-static-ips-for-a-project.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Configures Static IPs for a project
> Allows configuring Static IPs for a project
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples patch /v1/projects/{idOrName}/shared-connect-links
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/projects/{idOrName}/shared-connect-links:
patch:
tags:
- connect
- static-ips
summary: Configures Static IPs for a project
description: Allows configuring Static IPs for a project
operationId: updateStaticIps
parameters:
- name: idOrName
description: The unique project identifier or the project name
in: path
required: true
schema:
description: The unique project identifier or the project name
type: string
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
requestBody:
content:
application/json:
schema:
type: object
anyOf:
- required:
- builds
- required:
- regions
properties:
builds:
type: boolean
description: Whether to use Static IPs for builds.
regions:
type: array
items:
type: string
maxLength: 4
description: The region in which to enable Static IPs.
example: iad1
minItems: 0
maxItems: 3
uniqueItems: true
responses:
'200':
description: ''
content:
application/json:
schema:
items:
properties:
envId:
oneOf:
- type: string
- type: string
enum:
- production
- preview
connectConfigurationId:
type: string
dc:
type: string
passive:
type: boolean
enum:
- false
- true
buildsEnabled:
type: boolean
enum:
- false
- true
aws:
properties:
subnetIds:
items:
type: string
type: array
securityGroupId:
type: string
required:
- securityGroupId
- subnetIds
type: object
createdAt:
type: number
updatedAt:
type: number
required:
- buildsEnabled
- connectConfigurationId
- createdAt
- envId
- passive
- updatedAt
type: object
type: array
'400':
description: |-
One of the provided values in the request body is invalid.
One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'402':
description: ''
'403':
description: You do not have permission to access this resource.
'404':
description: ''
'409':
description: ''
'500':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/integrations/connect-integration-resource-to-project.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Connect integration resource to project
> Connects 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.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples post /v1/integrations/installations/{integrationConfigurationId}/resources/{resourceId}/connections
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/integrations/installations/{integrationConfigurationId}/resources/{resourceId}/connections:
post:
tags:
- integrations
summary: Connect integration resource to project
description: >-
Connects 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.
operationId: connectIntegrationResourceToProject
parameters:
- name: integrationConfigurationId
in: path
required: true
schema:
type: string
- name: resourceId
in: path
required: true
schema:
type: string
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
requestBody:
content:
application/json:
schema:
type: object
required:
- projectId
properties:
projectId:
type: string
responses:
'201':
description: ''
'400':
description: |-
One of the provided values in the request body is invalid.
One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/environment/create-a-custom-environment-for-the-current-project.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Create a custom environment for the current project.
> Creates a custom environment for the current project. Cannot be named 'Production' or 'Preview'.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples post /v9/projects/{idOrName}/custom-environments
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v9/projects/{idOrName}/custom-environments:
post:
tags:
- environment
summary: Create a custom environment for the current project.
description: >-
Creates a custom environment for the current project. Cannot be named
'Production' or 'Preview'.
operationId: createCustomEnvironment
parameters:
- name: idOrName
description: The unique project identifier or the project name
in: path
required: true
schema:
description: The unique project identifier or the project name
type: string
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
requestBody:
content:
application/json:
schema:
type: object
properties:
slug:
description: The slug of the custom environment to create.
type: string
maxLength: 32
description:
description: Description of the custom environment. This is optional.
type: string
maxLength: 256
branchMatcher:
required:
- type
- pattern
description: >-
How we want to determine a matching branch. This is
optional.
type: object
properties:
type:
description: >-
Type of matcher. One of \"equals\", \"startsWith\", or
\"endsWith\".
enum:
- equals
- startsWith
- endsWith
pattern:
description: Git branch name or portion thereof.
type: string
maxLength: 100
copyEnvVarsFrom:
description: Where to copy environment variables from. This is optional.
type: string
responses:
'201':
description: ''
content:
application/json:
schema:
properties:
id:
type: string
description: >-
Unique identifier for the custom environment (format:
env_*)
slug:
type: string
description: URL-friendly name of the environment
type:
type: string
enum:
- production
- preview
- development
description: >-
The type of environment (production, preview, or
development)
description:
type: string
description: Optional description of the environment's purpose
branchMatcher:
properties:
type:
type: string
enum:
- endsWith
- startsWith
- equals
description: The type of matching to perform
pattern:
type: string
description: The pattern to match against branch names
required:
- pattern
- type
type: object
description: >-
Configuration for matching git branches to this
environment
domains:
items:
properties:
name:
type: string
apexName:
type: string
projectId:
type: string
redirect:
nullable: true
type: string
redirectStatusCode:
nullable: true
type: number
enum:
- 301
- 302
- 307
- 308
gitBranch:
nullable: true
type: string
customEnvironmentId:
nullable: true
type: string
updatedAt:
type: number
createdAt:
type: number
verified:
type: boolean
enum:
- false
- true
description: >-
`true` if the domain is verified for use with the
project. If `false` it will not be used as an alias
on this project until the challenge in
`verification` is completed.
verification:
items:
properties:
type:
type: string
domain:
type: string
value:
type: string
reason:
type: string
required:
- domain
- reason
- type
- value
type: object
description: >-
A list of verification challenges, one of which
must be completed to verify the domain for use on
the project. After the challenge is complete `POST
/projects/:idOrName/domains/:domain/verify` to
verify the domain. Possible challenges: - If
`verification.type = TXT` the
`verification.domain` will be checked for a TXT
record matching `verification.value`.
type: array
description: >-
A list of verification challenges, one of which must
be completed to verify the domain for use on the
project. After the challenge is complete `POST
/projects/:idOrName/domains/:domain/verify` to
verify the domain. Possible challenges: - If
`verification.type = TXT` the `verification.domain`
will be checked for a TXT record matching
`verification.value`.
required:
- apexName
- name
- projectId
- verified
type: object
description: List of domains associated with this environment
type: array
description: List of domains associated with this environment
currentDeploymentAliases:
items:
type: string
type: array
description: List of aliases for the current deployment
createdAt:
type: number
description: Timestamp when the environment was created
updatedAt:
type: number
description: Timestamp when the environment was last updated
required:
- createdAt
- id
- slug
- type
- updatedAt
type: object
description: >-
Internal representation of a custom environment with all
required properties
'400':
description: |-
One of the provided values in the request body is invalid.
One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'402':
description: |-
The account was soft-blocked for an unhandled reason.
The account is missing a payment so payment method must be updated
'403':
description: You do not have permission to access this resource.
'500':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/dns/create-a-dns-record.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Create a DNS record
> Creates a DNS record for a domain.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples post /v2/domains/{domain}/records
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v2/domains/{domain}/records:
post:
tags:
- dns
summary: Create a DNS record
description: Creates a DNS record for a domain.
operationId: createRecord
parameters:
- name: domain
description: The domain used to create the DNS record.
in: path
required: true
schema:
description: The domain used to create the DNS record.
type: string
example: example.com
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
requestBody:
content:
application/json:
schema:
required:
- type
properties:
type:
description: >-
The type of record, it could be one of the valid DNS
records.
type: string
enum:
- A
- AAAA
- ALIAS
- CAA
- CNAME
- HTTPS
- MX
- SRV
- TXT
- NS
anyOf:
- type: object
additionalProperties: false
required:
- type
- value
- name
properties:
name:
description: A subdomain name or an empty string for the root domain.
type: string
example: subdomain
type:
description: Must be of type `A`.
type: string
enum:
- A
ttl:
description: >-
The TTL value. Must be a number between 60 and
2147483647. Default value is 60.
type: number
minimum: 60
maximum: 2147483647
example: 60
value:
description: The record value must be a valid IPv4 address.
type: string
format: ipv4
example: 192.0.2.42
comment:
type: string
description: A comment to add context on what this DNS record is for
example: used to verify ownership of domain
maxLength: 500
- type: object
additionalProperties: false
required:
- type
- value
- name
properties:
name:
description: A subdomain name or an empty string for the root domain.
type: string
example: subdomain
type:
description: Must be of type `AAAA`.
type: string
enum:
- AAAA
ttl:
description: >-
The TTL value. Must be a number between 60 and
2147483647. Default value is 60.
type: number
minimum: 60
maximum: 2147483647
example: 60
value:
description: An AAAA record pointing to an IPv6 address.
type: string
format: ipv6
example: 2001:DB8::42
comment:
type: string
description: A comment to add context on what this DNS record is for
example: used to verify ownership of domain
maxLength: 500
- type: object
additionalProperties: false
required:
- type
- value
- name
properties:
name:
description: A subdomain name or an empty string for the root domain.
type: string
example: subdomain
type:
description: Must be of type `ALIAS`.
type: string
enum:
- ALIAS
ttl:
description: >-
The TTL value. Must be a number between 60 and
2147483647. Default value is 60.
type: number
minimum: 60
maximum: 2147483647
example: 60
value:
description: >-
An ALIAS virtual record pointing to a hostname resolved
to an A record on server side.
type: string
example: cname.vercel-dns.com
comment:
type: string
description: A comment to add context on what this DNS record is for
example: used to verify ownership of domain
maxLength: 500
- type: object
additionalProperties: false
required:
- type
- value
- name
properties:
name:
description: A subdomain name or an empty string for the root domain.
type: string
example: subdomain
type:
description: Must be of type `CAA`.
type: string
enum:
- CAA
ttl:
description: >-
The TTL value. Must be a number between 60 and
2147483647. Default value is 60.
type: number
minimum: 60
maximum: 2147483647
example: 60
value:
description: >-
A CAA record to specify which Certificate Authorities
(CAs) are allowed to issue certificates for the domain.
type: string
example: 0 issue \"letsencrypt.org\"
comment:
type: string
description: A comment to add context on what this DNS record is for
example: used to verify ownership of domain
maxLength: 500
- type: object
additionalProperties: false
required:
- type
- name
properties:
name:
description: A subdomain name or an empty string for the root domain.
type: string
example: subdomain
type:
description: Must be of type `CNAME`.
type: string
enum:
- CNAME
ttl:
description: >-
The TTL value. Must be a number between 60 and
2147483647. Default value is 60.
type: number
minimum: 60
maximum: 2147483647
example: 60
value:
description: A CNAME record mapping to another domain name.
type: string
example: cname.vercel-dns.com
comment:
type: string
description: A comment to add context on what this DNS record is for
example: used to verify ownership of domain
maxLength: 500
- type: object
additionalProperties: false
required:
- type
- value
- name
- mxPriority
properties:
name:
description: A subdomain name or an empty string for the root domain.
type: string
example: subdomain
type:
description: Must be of type `MX`.
type: string
enum:
- MX
ttl:
description: >-
The TTL value. Must be a number between 60 and
2147483647. Default value is 60.
type: number
minimum: 60
maximum: 2147483647
example: 60
value:
description: >-
An MX record specifying the mail server responsible for
accepting messages on behalf of the domain name.
type: string
example: 10 mail.example.com.
mxPriority:
type: number
minimum: 0
maximum: 65535
example: 10
comment:
type: string
description: A comment to add context on what this DNS record is for
example: used to verify ownership of domain
maxLength: 500
- type: object
additionalProperties: false
required:
- type
- name
- srv
properties:
type:
description: Must be of type `SRV`.
type: string
enum:
- SRV
ttl:
description: >-
The TTL value. Must be a number between 60 and
2147483647. Default value is 60.
type: number
minimum: 60
maximum: 2147483647
example: 60
srv:
type: object
additionalProperties: false
required:
- weight
- port
- priority
- target
properties:
priority:
anyOf:
- type: number
minimum: 0
maximum: 65535
example: 10
nullable: true
weight:
anyOf:
- type: number
minimum: 0
maximum: 65535
example: 10
nullable: true
port:
anyOf:
- type: number
minimum: 0
maximum: 65535
example: 5000
nullable: true
target:
type: string
example: host.example.com
comment:
type: string
description: A comment to add context on what this DNS record is for
example: used to verify ownership of domain
maxLength: 500
- type: object
additionalProperties: false
required:
- type
- value
- name
properties:
type:
description: Must be of type `TXT`.
type: string
enum:
- TXT
ttl:
description: >-
The TTL value. Must be a number between 60 and
2147483647. Default value is 60.
type: number
minimum: 60
maximum: 2147483647
example: 60
value:
description: A TXT record containing arbitrary text.
type: string
example: hello
comment:
type: string
description: A comment to add context on what this DNS record is for
example: used to verify ownership of domain
maxLength: 500
- type: object
additionalProperties: false
required:
- type
- name
properties:
name:
description: A subdomain name.
type: string
example: subdomain
type:
description: Must be of type `NS`.
type: string
enum:
- NS
ttl:
description: >-
The TTL value. Must be a number between 60 and
2147483647. Default value is 60.
type: number
minimum: 60
maximum: 2147483647
example: 60
value:
description: An NS domain value.
type: string
example: ns1.example.com
comment:
type: string
description: A comment to add context on what this DNS record is for
example: used to verify ownership of domain
maxLength: 500
- type: object
additionalProperties: false
required:
- type
- name
- https
properties:
type:
description: Must be of type `HTTPS`.
type: string
enum:
- HTTPS
ttl:
description: >-
The TTL value. Must be a number between 60 and
2147483647. Default value is 60.
type: number
minimum: 60
maximum: 2147483647
example: 60
https:
type: object
additionalProperties: false
required:
- priority
- target
properties:
priority:
anyOf:
- type: number
minimum: 0
maximum: 65535
example: 10
nullable: true
target:
type: string
example: host.example.com
params:
type: string
example: alpn=h2,h3
comment:
type: string
description: A comment to add context on what this DNS record is for
example: used to verify ownership of domain
maxLength: 500
required: true
responses:
'200':
description: Successful response showing the uid of the newly created DNS record.
content:
application/json:
schema:
oneOf:
- properties:
uid:
type: string
updated:
type: number
required:
- uid
- updated
type: object
- properties:
uid:
type: string
description: The id of the newly created DNS record
example: rec_V0fra8eEgQwEpFhYG2vTzC3K
required:
- uid
type: object
'400':
description: |-
One of the provided values in the request body is invalid.
One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'402':
description: |-
The account was soft-blocked for an unhandled reason.
The account is missing a payment so payment method must be updated
'403':
description: You do not have permission to access this resource.
'404':
description: ''
'409':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/deployments/create-a-new-deployment.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Create a new deployment
> 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.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples post /v13/deployments
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v13/deployments:
post:
tags:
- deployments
summary: Create a new deployment
description: >-
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.
operationId: createDeployment
parameters:
- name: forceNew
description: >-
Forces a new deployment even if there is a previous similar
deployment
in: query
schema:
description: >-
Forces a new deployment even if there is a previous similar
deployment
enum:
- '0'
- '1'
- name: skipAutoDetectionConfirmation
description: >-
Allows to skip framework detection so the API would not fail to ask
for confirmation
in: query
schema:
description: >-
Allows to skip framework detection so the API would not fail to
ask for confirmation
enum:
- '0'
- '1'
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
requestBody:
content:
application/json:
schema:
additionalProperties: false
properties:
customEnvironmentSlugOrId:
description: >-
Deploy to a custom environment, which will override the
default environment
type: string
deploymentId:
description: An deployment id for an existing deployment to redeploy
type: string
example: dpl_2qn7PZrx89yxY34vEZPD31Y9XVj6
files:
description: A list of objects with the files to be deployed
items:
oneOf:
- additionalProperties: false
description: >-
Used in the case you want to inline a file inside the
request
properties:
data:
description: >-
The file content, it could be either a `base64`
(useful for images, etc.) of the files or the
plain content for source code
type: string
encoding:
description: >-
The file content encoding, it could be either a
base64 (useful for images, etc.) of the files or
the plain text for source code.
enum:
- base64
- utf-8
file:
description: The file name including the whole path
example: folder/file.js
type: string
required:
- file
- data
title: InlinedFile
type: object
- additionalProperties: false
description: >-
Used in the case you want to reference a file that was
already uploaded
properties:
file:
description: The file path relative to the project root
example: folder/file.js
type: string
sha:
description: >-
The file contents hashed with SHA1, used to check
the integrity
type: string
size:
description: The file size in bytes
type: integer
required:
- file
title: UploadedFile
type: object
type: array
gitMetadata:
description: Populates initial git metadata for different git providers.
additionalProperties: false
type: object
properties:
remoteUrl:
type: string
description: The git repository's remote origin url
example: https://github.com/vercel/next.js
commitAuthorName:
type: string
description: The name of the author of the commit
example: kyliau
commitAuthorEmail:
type: string
description: The email of the author of the commit
example: kyliau@example.com
commitMessage:
type: string
description: The commit message
example: >-
add method to measure Interaction to Next Paint (INP)
(#36490)
commitRef:
type: string
description: The branch on which the commit was made
example: main
commitSha:
type: string
description: The hash of the commit
example: dc36199b2234c6586ebe05ec94078a895c707e29
dirty:
type: boolean
description: >-
Whether or not there have been modifications to the
working tree since the latest commit
example: true
ci:
type: boolean
description: True if process.env.CI was set when deploying
example: true
ciType:
type: string
description: The type of CI system used
example: github-actions
ciGitProviderUsername:
type: string
description: >-
The username used for the Git Provider (e.g. GitHub) if
their CI (e.g. GitHub Actions) was used, if available
example: rauchg
ciGitRepoVisibility:
type: string
description: >-
The visibility of the Git repository if their CI (e.g.
GitHub Actions) was used, if available
example: private
gitSource:
description: >-
Defines the Git Repository source to be deployed. This
property can not be used in combination with `files`.
anyOf:
- properties:
ref:
type: string
example: main
repoId:
oneOf:
- type: number
- type: string
example: 123456789
sha:
type: string
example: a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0
type:
type: string
enum:
- github
required:
- type
- ref
- repoId
type: object
- properties:
org:
type: string
example: vercel
ref:
type: string
example: main
repo:
type: string
example: next.js
sha:
type: string
example: a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0
type:
type: string
enum:
- github
required:
- type
- ref
- org
- repo
type: object
- properties:
ref:
type: string
example: main
repoId:
oneOf:
- type: number
- type: string
example: 123456789
sha:
type: string
example: a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0
type:
type: string
enum:
- github-limited
required:
- type
- ref
- repoId
type: object
- properties:
org:
type: string
example: vercel
ref:
type: string
example: main
repo:
type: string
example: next.js
sha:
type: string
example: a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0
type:
type: string
enum:
- github-limited
required:
- type
- ref
- org
- repo
type: object
- properties:
projectId:
oneOf:
- type: number
- type: string
example: 987654321
ref:
type: string
example: main
sha:
type: string
example: a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0
type:
type: string
enum:
- gitlab
required:
- type
- ref
- projectId
type: object
- properties:
ref:
type: string
example: main
repoUuid:
type: string
example: 123e4567-e89b-12d3-a456-426614174000
sha:
type: string
example: a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0
type:
type: string
enum:
- bitbucket
workspaceUuid:
type: string
example: 987e6543-e21b-12d3-a456-426614174000
required:
- type
- ref
- repoUuid
type: object
- properties:
owner:
type: string
example: bitbucket_user
ref:
type: string
example: main
sha:
type: string
example: a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0
slug:
type: string
example: my-awesome-project
type:
type: string
enum:
- bitbucket
required:
- type
- ref
- owner
- slug
type: object
meta:
additionalProperties:
maxLength: 65536
type: string
description: >-
An object containing the deployment's metadata. Multiple
key-value pairs can be attached to a deployment
example:
foo: bar
maxProperties: 100
type: object
monorepoManager:
description: >-
The monorepo manager that is being used for this deployment.
When `null` is used no monorepo manager is selected
type: string
nullable: true
name:
description: A string with the project name used in the deployment URL
example: my-instant-deployment
type: string
project:
description: >-
The target project identifier in which the deployment will
be created. When defined, this parameter overrides name
example: my-deployment-project
type: string
projectSettings:
additionalProperties: false
description: >-
Project settings that will be applied to the deployment. It
is required for the first deployment of a project and will
be saved for any following deployments
properties:
buildCommand:
description: >-
The build command for this project. When `null` is used
this value will be automatically detected
maxLength: 256
type: string
nullable: true
example: next build
commandForIgnoringBuildStep:
maxLength: 256
type: string
nullable: true
devCommand:
description: >-
The dev command for this project. When `null` is used
this value will be automatically detected
maxLength: 256
type: string
nullable: true
framework:
description: >-
The framework that is being used for this project. When
`null` is used no framework is selected
type: string
enum:
- null
- blitzjs
- nextjs
- gatsby
- remix
- react-router
- astro
- hexo
- eleventy
- docusaurus-2
- docusaurus
- preact
- solidstart-1
- solidstart
- dojo
- ember
- vue
- scully
- ionic-angular
- angular
- polymer
- svelte
- sveltekit
- sveltekit-1
- ionic-react
- create-react-app
- gridsome
- umijs
- sapper
- saber
- stencil
- nuxtjs
- redwoodjs
- hugo
- jekyll
- brunch
- middleman
- zola
- hydrogen
- vite
- tanstack-start
- vitepress
- vuepress
- parcel
- fastapi
- flask
- fasthtml
- sanity-v3
- sanity
- storybook
- nitro
- hono
- express
- h3
- koa
- nestjs
- elysia
- fastify
- xmcp
- python
- ruby
- rust
- node
- services
nullable: true
installCommand:
description: >-
The install command for this project. When `null` is
used this value will be automatically detected
maxLength: 256
type: string
nullable: true
example: pnpm install
nodeVersion:
description: >-
Override the Node.js version that should be used for
this deployment
enum:
- 24.x
- 22.x
- 20.x
- 18.x
- 16.x
- 14.x
- 12.x
- 10.x
- 8.10.x
type: string
outputDirectory:
description: >-
The output directory of the project. When `null` is used
this value will be automatically detected
maxLength: 256
type: string
nullable: true
rootDirectory:
description: >-
The name of a directory or relative path to the source
code of your project. When `null` is used it will
default to the project root
maxLength: 256
type: string
nullable: true
serverlessFunctionRegion:
description: >-
The region to deploy Serverless Functions in this
project
maxLength: 4
type: string
nullable: true
skipGitConnectDuringLink:
description: >-
Opts-out of the message prompting a CLI user to connect
a Git repository in `vercel link`.
type: boolean
deprecated: true
sourceFilesOutsideRootDirectory:
description: >-
Indicates if there are source files outside of the root
directory, typically used for monorepos
type: boolean
type: object
target:
description: >-
Either not defined, `staging`, `production`, or a custom
environment identifier. If `staging`, a staging alias in the
format `-.vercel.app` will be assigned. If
`production`, any aliases defined in `alias` will be
assigned. If omitted, the target will be `preview`.
type: string
example: production
withLatestCommit:
description: >-
When `true` and `deploymentId` is passed in, the sha from
the previous deployment's `gitSource` is removed forcing the
latest commit to be used.
type: boolean
required:
- name
type: object
required: true
responses:
'200':
description: The successfully created deployment
content:
application/json:
schema:
properties:
aliasAssignedAt:
nullable: true
oneOf:
- type: number
- type: boolean
enum:
- false
- true
alwaysRefuseToBuild:
type: boolean
enum:
- false
- true
build:
properties:
env:
items:
type: string
type: array
required:
- env
type: object
buildArtifactUrls:
items:
type: string
type: array
builds:
items:
properties:
use:
type: string
src:
type: string
config:
additionalProperties: true
type: object
required:
- use
type: object
type: array
env:
items:
type: string
type: array
inspectorUrl:
nullable: true
type: string
isInConcurrentBuildsQueue:
type: boolean
enum:
- false
- true
isInSystemBuildsQueue:
type: boolean
enum:
- false
- true
projectSettings:
properties:
nodeVersion:
type: string
enum:
- 24.x
- 22.x
- 20.x
- 18.x
- 16.x
- 14.x
- 12.x
- 10.x
- 8.10.x
buildCommand:
nullable: true
type: string
devCommand:
nullable: true
type: string
framework:
nullable: true
type: string
enum:
- blitzjs
- nextjs
- gatsby
- remix
- react-router
- astro
- hexo
- eleventy
- docusaurus-2
- docusaurus
- preact
- solidstart-1
- solidstart
- dojo
- ember
- vue
- scully
- ionic-angular
- angular
- polymer
- svelte
- sveltekit
- sveltekit-1
- ionic-react
- create-react-app
- gridsome
- umijs
- sapper
- saber
- stencil
- nuxtjs
- redwoodjs
- hugo
- jekyll
- brunch
- middleman
- zola
- hydrogen
- vite
- tanstack-start
- vitepress
- vuepress
- parcel
- fastapi
- flask
- fasthtml
- sanity-v3
- sanity
- storybook
- nitro
- hono
- express
- h3
- koa
- nestjs
- elysia
- fastify
- xmcp
- python
- ruby
- rust
- node
- services
commandForIgnoringBuildStep:
nullable: true
type: string
installCommand:
nullable: true
type: string
outputDirectory:
nullable: true
type: string
speedInsights:
properties:
id:
type: string
enabledAt:
type: number
disabledAt:
type: number
canceledAt:
type: number
hasData:
type: boolean
enum:
- false
- true
paidAt:
type: number
required:
- id
type: object
webAnalytics:
properties:
id:
type: string
disabledAt:
type: number
canceledAt:
type: number
enabledAt:
type: number
hasData:
type: boolean
enum:
- true
required:
- id
type: object
type: object
readyStateReason:
type: string
integrations:
properties:
status:
type: string
enum:
- skipped
- pending
- ready
- error
- timeout
startedAt:
type: number
completedAt:
type: number
skippedAt:
type: number
skippedBy:
type: string
required:
- startedAt
- status
type: object
images:
properties:
sizes:
items:
type: number
type: array
qualities:
items:
type: number
type: array
domains:
items:
type: string
type: array
remotePatterns:
items:
properties:
protocol:
type: string
enum:
- http
- https
description: Must be `http` or `https`.
hostname:
type: string
description: >-
Can be literal or wildcard. Single `*` matches a
single subdomain. Double `**` matches any number
of subdomains.
port:
type: string
description: >-
Can be literal port such as `8080` or empty
string meaning no port.
pathname:
type: string
description: >-
Can be literal or wildcard. Single `*` matches a
single path segment. Double `**` matches any
number of path segments.
search:
type: string
description: >-
Can be literal query string such as `?v=1` or
empty string meaning no query string.
required:
- hostname
type: object
type: array
localPatterns:
items:
properties:
pathname:
type: string
description: >-
Can be literal or wildcard. Single `*` matches a
single path segment. Double `**` matches any
number of path segments.
search:
type: string
description: >-
Can be literal query string such as `?v=1` or
empty string meaning no query string.
type: object
type: array
minimumCacheTTL:
type: number
formats:
items:
type: string
enum:
- image/avif
- image/webp
type: array
dangerouslyAllowSVG:
type: boolean
enum:
- false
- true
contentSecurityPolicy:
type: string
contentDispositionType:
type: string
enum:
- inline
- attachment
type: object
alias:
items:
type: string
type: array
description: >-
A list of all the aliases (default aliases, staging
aliases and production aliases) that were assigned upon
deployment creation
example: []
aliasAssigned:
type: boolean
enum:
- false
- true
description: >-
A boolean that will be true when the aliases from the
alias property were assigned successfully
example: true
bootedAt:
type: number
buildingAt:
type: number
buildContainerFinishedAt:
type: number
description: >-
Since April 2025 it necessary for On-Demand Concurrency
Minutes calculation
buildSkipped:
type: boolean
enum:
- false
- true
creator:
properties:
uid:
type: string
description: The ID of the user that created the deployment
example: 96SnxkFiMyVKsK3pnoHfx3Hz
username:
type: string
description: The username of the user that created the deployment
example: john-doe
avatar:
type: string
description: The avatar of the user that created the deployment
required:
- uid
type: object
description: Information about the deployment creator
initReadyAt:
type: number
isFirstBranchDeployment:
type: boolean
enum:
- false
- true
lambdas:
items:
properties:
id:
type: string
createdAt:
type: number
readyState:
type: string
enum:
- BUILDING
- ERROR
- INITIALIZING
- READY
entrypoint:
nullable: true
type: string
readyStateAt:
type: number
output:
items:
properties:
path:
type: string
functionName:
type: string
required:
- functionName
- path
type: object
type: array
required:
- id
- output
type: object
description: >-
A partial representation of a Build used by the
deployment endpoint.
type: array
public:
type: boolean
enum:
- false
- true
description: >-
A boolean representing if the deployment is public or not.
By default this is `false`
example: false
ready:
type: number
status:
type: string
enum:
- QUEUED
- BUILDING
- ERROR
- INITIALIZING
- READY
- CANCELED
team:
properties:
id:
type: string
name:
type: string
slug:
type: string
avatar:
type: string
required:
- id
- name
- slug
type: object
description: The team that owns the deployment if any
userAliases:
items:
type: string
type: array
description: >-
An array of domains that were provided by the user when
creating the Deployment.
example:
- sub1.example.com
- sub2.example.com
previewCommentsEnabled:
type: boolean
enum:
- false
- true
description: >-
Whether or not preview comments are enabled for the
deployment
example: false
ttyBuildLogs:
type: boolean
enum:
- false
- true
customEnvironment:
oneOf:
- properties:
id:
type: string
description: >-
Unique identifier for the custom environment
(format: env_*)
slug:
type: string
description: URL-friendly name of the environment
type:
type: string
enum:
- production
- preview
- development
description: >-
The type of environment (production, preview, or
development)
description:
type: string
description: Optional description of the environment's purpose
branchMatcher:
properties:
type:
type: string
enum:
- endsWith
- startsWith
- equals
description: The type of matching to perform
pattern:
type: string
description: The pattern to match against branch names
required:
- pattern
- type
type: object
description: >-
Configuration for matching git branches to this
environment
domains:
items:
properties:
name:
type: string
apexName:
type: string
projectId:
type: string
redirect:
nullable: true
type: string
redirectStatusCode:
nullable: true
type: number
enum:
- 307
- 301
- 302
- 308
gitBranch:
nullable: true
type: string
customEnvironmentId:
nullable: true
type: string
updatedAt:
type: number
createdAt:
type: number
verified:
type: boolean
enum:
- false
- true
description: >-
`true` if the domain is verified for use
with the project. If `false` it will not be
used as an alias on this project until the
challenge in `verification` is completed.
verification:
items:
properties:
type:
type: string
domain:
type: string
value:
type: string
reason:
type: string
required:
- domain
- reason
- type
- value
type: object
description: >-
A list of verification challenges, one of
which must be completed to verify the
domain for use on the project. After the
challenge is complete `POST
/projects/:idOrName/domains/:domain/verify`
to verify the domain. Possible challenges:
- If `verification.type = TXT` the
`verification.domain` will be checked for
a TXT record matching
`verification.value`.
type: array
description: >-
A list of verification challenges, one of
which must be completed to verify the domain
for use on the project. After the challenge
is complete `POST
/projects/:idOrName/domains/:domain/verify`
to verify the domain. Possible challenges: -
If `verification.type = TXT` the
`verification.domain` will be checked for a
TXT record matching `verification.value`.
required:
- apexName
- name
- projectId
- verified
type: object
description: List of domains associated with this environment
type: array
description: List of domains associated with this environment
currentDeploymentAliases:
items:
type: string
type: array
description: List of aliases for the current deployment
createdAt:
type: number
description: Timestamp when the environment was created
updatedAt:
type: number
description: Timestamp when the environment was last updated
required:
- createdAt
- id
- slug
- type
- updatedAt
type: object
description: >-
If the deployment was created using a Custom
Environment, then this property contains information
regarding the environment used.
- properties:
id:
type: string
required:
- id
type: object
description: >-
If the deployment was created using a Custom
Environment, then this property contains information
regarding the environment used.
oomReport:
type: string
enum:
- out-of-memory
aliasWarning:
nullable: true
properties:
code:
type: string
message:
type: string
link:
type: string
action:
type: string
required:
- code
- message
type: object
id:
type: string
description: A string holding the unique ID of the deployment
example: dpl_89qyp1cskzkLrVicDaZoDbjyHuDJ
createdAt:
type: number
description: >-
A number containing the date when the deployment was
created in milliseconds
example: 1540257589405
readyState:
type: string
enum:
- QUEUED
- BUILDING
- ERROR
- INITIALIZING
- READY
- CANCELED
description: >-
The state of the deployment depending on the process of
deploying, or if it is ready or in an error state
example: READY
name:
type: string
description: >-
The name of the project associated with the deployment at
the time that the deployment was created
example: my-project
type:
type: string
enum:
- LAMBDAS
aliasError:
nullable: true
properties:
code:
type: string
message:
type: string
required:
- code
- message
type: object
description: >-
An object that will contain a `code` and a `message` when
the aliasing fails, otherwise the value will be `null`
example: null
aliasFinal:
nullable: true
type: string
autoAssignCustomDomains:
type: boolean
enum:
- false
- true
description: applies to custom domains only, defaults to `true`
automaticAliases:
items:
type: string
type: array
buildErrorAt:
type: number
checksState:
type: string
enum:
- registered
- running
- completed
checksConclusion:
type: string
enum:
- succeeded
- failed
- skipped
- canceled
deletedAt:
nullable: true
type: number
description: >-
A number containing the date when the deployment was
deleted at milliseconds
example: 1540257589405
defaultRoute:
type: string
description: >-
Computed field that is only available for deployments with
a microfrontend configuration.
canceledAt:
type: number
errorCode:
type: string
errorLink:
type: string
errorMessage:
nullable: true
type: string
errorStep:
type: string
passiveRegions:
items:
type: string
type: array
description: >-
Since November 2023 this field defines a set of regions
that we will deploy the lambda to passively Lambdas will
be deployed to these regions but only invoked if all of
the primary `regions` are marked as out of service
gitSource:
oneOf:
- properties:
type:
type: string
enum:
- github
repoId:
oneOf:
- type: string
- type: number
ref:
nullable: true
type: string
sha:
type: string
prId:
nullable: true
type: number
required:
- repoId
- type
type: object
- properties:
type:
type: string
enum:
- github
org:
type: string
repo:
type: string
ref:
nullable: true
type: string
sha:
type: string
prId:
nullable: true
type: number
required:
- org
- repo
- type
type: object
- properties:
type:
type: string
enum:
- github-custom-host
host:
type: string
repoId:
oneOf:
- type: string
- type: number
ref:
nullable: true
type: string
sha:
type: string
prId:
nullable: true
type: number
required:
- host
- repoId
- type
type: object
- properties:
type:
type: string
enum:
- github-custom-host
host:
type: string
org:
type: string
repo:
type: string
ref:
nullable: true
type: string
sha:
type: string
prId:
nullable: true
type: number
required:
- host
- org
- repo
- type
type: object
- properties:
type:
type: string
enum:
- github-limited
repoId:
oneOf:
- type: string
- type: number
ref:
nullable: true
type: string
sha:
type: string
prId:
nullable: true
type: number
required:
- repoId
- type
type: object
- properties:
type:
type: string
enum:
- github-limited
org:
type: string
repo:
type: string
ref:
nullable: true
type: string
sha:
type: string
prId:
nullable: true
type: number
required:
- org
- repo
- type
type: object
- properties:
type:
type: string
enum:
- gitlab
projectId:
oneOf:
- type: string
- type: number
ref:
nullable: true
type: string
sha:
type: string
prId:
nullable: true
type: number
required:
- projectId
- type
type: object
- properties:
type:
type: string
enum:
- bitbucket
workspaceUuid:
type: string
repoUuid:
type: string
ref:
nullable: true
type: string
sha:
type: string
prId:
nullable: true
type: number
required:
- repoUuid
- type
type: object
- properties:
type:
type: string
enum:
- bitbucket
owner:
type: string
slug:
type: string
ref:
nullable: true
type: string
sha:
type: string
prId:
nullable: true
type: number
required:
- owner
- slug
- type
type: object
- properties:
type:
type: string
enum:
- custom
ref:
type: string
sha:
type: string
gitUrl:
type: string
required:
- gitUrl
- ref
- sha
- type
type: object
description: >-
Allows custom git sources (local folder mounted to the
container) in test mode
- properties:
type:
type: string
enum:
- github
ref:
type: string
sha:
type: string
repoId:
type: number
org:
type: string
repo:
type: string
required:
- ref
- repoId
- sha
- type
type: object
- properties:
type:
type: string
enum:
- github-custom-host
host:
type: string
ref:
type: string
sha:
type: string
repoId:
type: number
org:
type: string
repo:
type: string
required:
- host
- ref
- repoId
- sha
- type
type: object
- properties:
type:
type: string
enum:
- github-limited
ref:
type: string
sha:
type: string
repoId:
type: number
org:
type: string
repo:
type: string
required:
- ref
- repoId
- sha
- type
type: object
- properties:
type:
type: string
enum:
- gitlab
ref:
type: string
sha:
type: string
projectId:
type: number
required:
- projectId
- ref
- sha
- type
type: object
- properties:
type:
type: string
enum:
- bitbucket
ref:
type: string
sha:
type: string
owner:
type: string
slug:
type: string
workspaceUuid:
type: string
repoUuid:
type: string
required:
- ref
- repoUuid
- sha
- type
- workspaceUuid
type: object
manualProvisioning:
properties:
state:
type: string
enum:
- PENDING
- COMPLETE
- TIMEOUT
description: Current provisioning state
completedAt:
type: number
description: Timestamp when manual provisioning completed
required:
- state
type: object
description: >-
Present when deployment was created with
VERCEL_MANUAL_PROVISIONING=true. The deployment stays in
INITIALIZING until /continue is called.
meta:
additionalProperties:
type: string
type: object
originCacheRegion:
type: string
nodeVersion:
type: string
enum:
- 24.x
- 22.x
- 20.x
- 18.x
- 16.x
- 14.x
- 12.x
- 10.x
- 8.10.x
description: >-
If set it overrides the `projectSettings.nodeVersion` for
this deployment.
project:
properties:
id:
type: string
name:
type: string
framework:
nullable: true
type: string
required:
- id
- name
type: object
description: >-
The public project information associated with the
deployment.
prebuilt:
type: boolean
enum:
- false
- true
readySubstate:
type: string
enum:
- STAGED
- ROLLING
- PROMOTED
description: >-
Substate of deployment when readyState is 'READY' Tracks
whether or not deployment has seen production traffic: -
STAGED: never seen production traffic - ROLLING: in the
process of having production traffic gradually
transitioned. - PROMOTED: has seen production traffic
regions:
items:
type: string
type: array
description: The regions the deployment exists in
example:
- sfo1
softDeletedByRetention:
type: boolean
enum:
- false
- true
description: >-
flag to indicate if the deployment was deleted by
retention policy
example: 'true'
source:
type: string
enum:
- api-trigger-git-deploy
- cli
- clone/repo
- git
- import
- import/repo
- redeploy
- v0-web
description: Where was the deployment created from
example: cli
target:
nullable: true
type: string
enum:
- staging
- production
description: >-
If defined, either `staging` if a staging alias in the
format `..now.sh` was assigned upon
creation, or `production` if the aliases from `alias` were
assigned. `null` value indicates the "preview" deployment.
example: null
undeletedAt:
type: number
description: >-
A number containing the date when the deployment was
undeleted at milliseconds
example: 1540257589405
url:
type: string
description: A string with the unique URL of the deployment
example: my-instant-deployment-3ij3cxz9qr.now.sh
userConfiguredDeploymentId:
type: string
description: >-
Since January 2025 User-configured deployment ID for skew
protection with pre-built deployments. This is set when
users configure a custom deploymentId in their
next.config.js file. This allows Next.js to use skew
protection even when deployments are pre-built outside of
Vercel's build system.
example: abc123
version:
type: number
enum:
- 2
description: >-
The platform version that was used to create the
deployment.
example: 2
oidcTokenClaims:
properties:
iss:
type: string
sub:
type: string
scope:
type: string
aud:
type: string
owner:
type: string
owner_id:
type: string
project:
type: string
project_id:
type: string
environment:
type: string
plan:
type: string
required:
- aud
- environment
- iss
- owner
- owner_id
- project
- project_id
- scope
- sub
type: object
projectId:
type: string
plan:
type: string
enum:
- pro
- enterprise
- hobby
connectBuildsEnabled:
type: boolean
enum:
- false
- true
connectConfigurationId:
type: string
createdIn:
type: string
crons:
items:
properties:
schedule:
type: string
path:
type: string
required:
- path
- schedule
type: object
type: array
functions:
nullable: true
additionalProperties:
properties:
architecture:
type: string
enum:
- x86_64
- arm64
memory:
type: number
maxDuration:
type: number
runtime:
type: string
includeFiles:
type: string
excludeFiles:
type: string
experimentalTriggers:
items:
properties:
type:
type: string
enum:
- queue/v1beta
description: Event type - must be "queue/v1beta" (REQUIRED)
topic:
type: string
description: >-
Name of the queue topic to consume from
(REQUIRED)
consumer:
type: string
description: >-
Name of the consumer group for this trigger
(REQUIRED)
maxDeliveries:
type: number
description: >-
Maximum number of delivery attempts for
message processing (OPTIONAL) This represents
the total number of times a message can be
delivered, not the number of retries. Must be
at least 1 if specified. Behavior when not
specified depends on the server's default
configuration.
retryAfterSeconds:
type: number
description: >-
Delay in seconds before retrying failed
executions (OPTIONAL) Behavior when not
specified depends on the server's default
configuration.
initialDelaySeconds:
type: number
description: >-
Initial delay in seconds before first
execution attempt (OPTIONAL) Must be 0 or
greater. Use 0 for no initial delay. Behavior
when not specified depends on the server's
default configuration.
maxConcurrency:
type: number
description: >-
Maximum number of concurrent executions for
this consumer (OPTIONAL) Must be at least 1 if
specified. Behavior when not specified depends
on the server's default configuration.
required:
- consumer
- topic
- type
type: object
description: >-
Queue trigger event for Vercel's queue system.
Handles "queue/v1beta" events with queue-specific
configuration.
type: array
supportsCancellation:
type: boolean
enum:
- false
- true
type: object
type: object
monorepoManager:
nullable: true
type: string
ownerId:
type: string
passiveConnectConfigurationId:
type: string
description: >-
Since November 2023 this field defines a Secure Compute
network that will only be used to deploy passive lambdas
to (as in passiveRegions)
routes:
nullable: true
items:
oneOf:
- properties:
src:
type: string
dest:
type: string
headers:
additionalProperties:
type: string
type: object
methods:
items:
type: string
type: array
continue:
type: boolean
enum:
- false
- true
override:
type: boolean
enum:
- false
- true
caseSensitive:
type: boolean
enum:
- false
- true
check:
type: boolean
enum:
- false
- true
important:
type: boolean
enum:
- false
- true
status:
type: number
has:
items:
oneOf:
- properties:
type:
type: string
enum:
- host
value:
oneOf:
- type: string
- properties:
eq:
oneOf:
- type: string
- type: number
neq:
type: string
inc:
items:
type: string
type: array
ninc:
items:
type: string
type: array
pre:
type: string
suf:
type: string
re:
type: string
gt:
type: number
gte:
type: number
lt:
type: number
lte:
type: number
type: object
required:
- type
- value
type: object
- properties:
type:
type: string
enum:
- header
- cookie
- query
key:
type: string
value:
oneOf:
- type: string
- properties:
eq:
oneOf:
- type: string
- type: number
neq:
type: string
inc:
items:
type: string
type: array
ninc:
items:
type: string
type: array
pre:
type: string
suf:
type: string
re:
type: string
gt:
type: number
gte:
type: number
lt:
type: number
lte:
type: number
type: object
required:
- key
- type
type: object
type: array
missing:
items:
oneOf:
- properties:
type:
type: string
enum:
- host
value:
oneOf:
- type: string
- properties:
eq:
oneOf:
- type: string
- type: number
neq:
type: string
inc:
items:
type: string
type: array
ninc:
items:
type: string
type: array
pre:
type: string
suf:
type: string
re:
type: string
gt:
type: number
gte:
type: number
lt:
type: number
lte:
type: number
type: object
required:
- type
- value
type: object
- properties:
type:
type: string
enum:
- header
- cookie
- query
key:
type: string
value:
oneOf:
- type: string
- properties:
eq:
oneOf:
- type: string
- type: number
neq:
type: string
inc:
items:
type: string
type: array
ninc:
items:
type: string
type: array
pre:
type: string
suf:
type: string
re:
type: string
gt:
type: number
gte:
type: number
lt:
type: number
lte:
type: number
type: object
required:
- key
- type
type: object
type: array
mitigate:
properties:
action:
type: string
enum:
- challenge
- deny
required:
- action
type: object
transforms:
items:
properties:
type:
type: string
enum:
- request.headers
- request.query
- response.headers
op:
type: string
enum:
- append
- set
- delete
target:
properties:
key:
oneOf:
- type: string
- properties:
eq:
oneOf:
- type: string
- type: number
neq:
type: string
inc:
items:
type: string
type: array
ninc:
items:
type: string
type: array
pre:
type: string
suf:
type: string
gt:
type: number
gte:
type: number
lt:
type: number
lte:
type: number
type: object
required:
- key
type: object
args:
oneOf:
- type: string
- items:
type: string
type: array
env:
items:
type: string
type: array
required:
- op
- target
- type
type: object
type: array
env:
items:
type: string
type: array
locale:
properties:
redirect:
additionalProperties:
type: string
type: object
cookie:
type: string
type: object
middlewarePath:
type: string
description: >-
A middleware key within the `output` key under
the build result. Overrides a `middleware`
definition.
middlewareRawSrc:
items:
type: string
type: array
description: The original middleware matchers.
middleware:
type: number
description: >-
A middleware index in the `middleware` key under
the build result
respectOriginCacheControl:
type: boolean
enum:
- false
- true
required:
- src
type: object
- properties:
handle:
type: string
enum:
- error
- filesystem
- hit
- miss
- rewrite
- resource
src:
type: string
dest:
type: string
status:
type: number
required:
- handle
type: object
- properties:
src:
type: string
continue:
type: boolean
enum:
- false
- true
middleware:
type: number
enum:
- 0
required:
- continue
- middleware
- src
type: object
type: array
gitRepo:
nullable: true
oneOf:
- properties:
namespace:
type: string
projectId:
type: number
type:
type: string
enum:
- gitlab
url:
type: string
path:
type: string
defaultBranch:
type: string
name:
type: string
private:
type: boolean
enum:
- false
- true
ownerType:
type: string
enum:
- team
- user
required:
- defaultBranch
- name
- namespace
- ownerType
- path
- private
- projectId
- type
- url
type: object
- properties:
org:
type: string
repo:
type: string
repoId:
type: number
type:
type: string
enum:
- github
repoOwnerId:
type: number
path:
type: string
defaultBranch:
type: string
name:
type: string
private:
type: boolean
enum:
- false
- true
ownerType:
type: string
enum:
- team
- user
required:
- defaultBranch
- name
- org
- ownerType
- path
- private
- repo
- repoId
- repoOwnerId
- type
type: object
- properties:
owner:
type: string
repoUuid:
type: string
slug:
type: string
type:
type: string
enum:
- bitbucket
workspaceUuid:
type: string
path:
type: string
defaultBranch:
type: string
name:
type: string
private:
type: boolean
enum:
- false
- true
ownerType:
type: string
enum:
- team
- user
required:
- defaultBranch
- name
- owner
- ownerType
- path
- private
- repoUuid
- slug
- type
- workspaceUuid
type: object
flags:
oneOf:
- properties:
definitions:
additionalProperties:
properties:
options:
items:
properties:
value:
$ref: '#/components/schemas/FlagJSONValue'
label:
type: string
required:
- value
type: object
type: array
url:
type: string
description:
type: string
type: object
type: object
required:
- definitions
type: object
description: >-
Flags defined in the Build Output API, used by this
deployment. Primarily used by the Toolbar to know
about the used flags.
- items:
type: object
description: >-
Flags defined in the Build Output API, used by this
deployment. Primarily used by the Toolbar to know
about the used flags.
type: array
description: >-
Flags defined in the Build Output API, used by this
deployment. Primarily used by the Toolbar to know
about the used flags.
microfrontends:
oneOf:
- properties:
isDefaultApp:
type: boolean
enum:
- false
defaultAppProjectName:
type: string
description: >-
The project name of the default app of this
deployment's microfrontends group.
defaultRoute:
type: string
description: >-
A path that is used to take screenshots and as the
default path in preview links when a domain for
this microfrontend is shown in the UI.
groupIds:
type: array
items:
type: string
minItems: 1
description: >-
The group of microfrontends that this project
belongs to. Each microfrontend project must belong
to a microfrontends group that is the set of
microfrontends that are used together.
required:
- defaultAppProjectName
- groupIds
type: object
- properties:
isDefaultApp:
type: boolean
enum:
- true
mfeConfigUploadState:
type: string
enum:
- success
- waiting_on_build
- no_config
description: >-
The result of the microfrontends config upload
during deployment creation / build. Only set for
default app deployments. The config upload is
attempted during deployment create, and then again
during the build. If the config is not in the root
directory, or the deployment is prebuilt, the
config cannot be uploaded during deployment
create. The upload during deployment build finds
the config even if it's not in the root directory,
as it has access to all files. Uploading the
config during create is ideal, as then all child
deployments are guaranteed to have access to the
default app deployment config even if the default
app has not yet started building. If the config is
not uploaded, the child app will show as building
until the config has been uploaded during the
default app build. - `success` - The config was
uploaded successfully, either when the deployment
was created or during the build. -
`waiting_on_build` - The config could not be
uploaded during deployment create, will be
attempted again during the build. - `no_config` -
No config was found. Only set once the build has
not found the config in any of the deployment's
files. - `undefined` - Legacy deployments, or
there was an error uploading the config during
deployment create.
defaultAppProjectName:
type: string
description: >-
The project name of the default app of this
deployment's microfrontends group.
defaultRoute:
type: string
description: >-
A path that is used to take screenshots and as the
default path in preview links when a domain for
this microfrontend is shown in the UI.
groupIds:
type: array
items:
type: string
minItems: 1
description: >-
The group of microfrontends that this project
belongs to. Each microfrontend project must belong
to a microfrontends group that is the set of
microfrontends that are used together.
required:
- defaultAppProjectName
- groupIds
- isDefaultApp
type: object
config:
properties:
version:
type: number
functionType:
type: string
enum:
- standard
- fluid
functionMemoryType:
type: string
enum:
- standard
- standard_legacy
- performance
functionTimeout:
nullable: true
type: number
secureComputePrimaryRegion:
nullable: true
type: string
secureComputeFallbackRegion:
nullable: true
type: string
isUsingActiveCPU:
type: boolean
enum:
- false
- true
resourceConfig:
properties:
buildQueue:
properties:
configuration:
type: string
enum:
- SKIP_NAMESPACE_QUEUE
- WAIT_FOR_NAMESPACE_QUEUE
description: >-
Build resource configuration snapshot for this
deployment.
type: object
description: >-
Build resource configuration snapshot for this
deployment.
buildMachine:
properties:
default:
type: string
enum:
- enhanced
- turbo
- standard
description: >-
Build resource configuration snapshot for this
deployment.
purchaseType:
type: string
enum:
- enhanced
- turbo
description: >-
Build resource configuration snapshot for this
deployment.
isDefaultBuildMachine:
type: boolean
enum:
- false
- true
description: >-
Build resource configuration snapshot for this
deployment.
cores:
type: number
description: >-
Build resource configuration snapshot for this
deployment.
memory:
type: number
description: >-
Build resource configuration snapshot for this
deployment.
type: object
description: >-
Build resource configuration snapshot for this
deployment.
elasticConcurrency:
type: string
enum:
- TEAM_SETTING
- PROJECT_SETTING
- SKIP_QUEUE
description: >-
When elastic concurrency is used for this
deployment, a value is set. The value tells the
reason where the setting was coming from. -
TEAM_SETTING: Inherited from team settings -
PROJECT_SETTING: Inherited from project settings -
SKIP_QUEUE: Manually triggered by user to skip the
queues
type: object
description: >-
Build resource configuration snapshot for this
deployment.
required:
- functionMemoryType
- functionTimeout
- functionType
- secureComputeFallbackRegion
- secureComputePrimaryRegion
type: object
description: >-
Since February 2025 the configuration must include
snapshot data at the time of deployment creation to
capture properties for the /deployments/:id/config
endpoint utilized for displaying Deployment Configuration
on the frontend This is optional because older deployments
may not have this data captured
checks:
properties:
deployment-alias:
properties:
state:
type: string
enum:
- succeeded
- failed
- pending
startedAt:
type: number
completedAt:
type: number
required:
- startedAt
- state
type: object
description: >-
Condensed check data. Retrieve individual check and
check run data using api-checks v2 routes.
required:
- deployment-alias
type: object
required:
- aliasAssigned
- bootedAt
- build
- buildSkipped
- buildingAt
- createdAt
- createdIn
- creator
- env
- id
- inspectorUrl
- isInConcurrentBuildsQueue
- isInSystemBuildsQueue
- meta
- name
- ownerId
- plan
- projectId
- projectSettings
- public
- readyState
- regions
- routes
- status
- type
- url
- version
type: object
description: The successfully created deployment
'400':
description: |-
One of the provided values in the request body is invalid.
One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'402':
description: >-
The account was soft-blocked for an unhandled reason.
The account is missing a payment so payment method must be updated
Pro customers are allowed to deploy Serverless Functions to up to
`proMaxRegions` regions, or if the project was created before the
limit was introduced.
Deploying to Serverless Functions to multiple regions requires a
plan update
'403':
description: You do not have permission to access this resource.
'404':
description: ''
'409':
description: The deployment project is being transferred
'500':
description: ''
security:
- bearerToken: []
components:
schemas:
FlagJSONValue:
nullable: true
oneOf:
- type: string
- type: number
- items:
$ref: '#/components/schemas/FlagJSONValue'
type: array
description: >-
TODO: The following types will eventually be exported by a more
relevant package.
- additionalProperties:
$ref: '#/components/schemas/FlagJSONValue'
type: object
- type: boolean
enum:
- false
- true
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/drains/create-a-new-drain.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Create a new Drain
> Create a new Drain with the provided configuration.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples post /v1/drains
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/drains:
post:
tags:
- drains
summary: Create a new Drain
description: Create a new Drain with the provided configuration.
operationId: createDrain
parameters:
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
requestBody:
content:
application/json:
schema:
type: object
additionalProperties: false
required:
- name
- projects
- schemas
properties:
name:
type: string
projects:
type: string
enum:
- some
- all
projectIds:
items:
type: string
type: array
filter:
oneOf:
- type: string
- type: object
additionalProperties: false
required:
- version
- filter
properties:
version:
type: string
filter:
oneOf:
- type: object
additionalProperties: false
required:
- type
properties:
type:
type: string
project:
type: object
additionalProperties: false
properties:
ids:
items:
type: string
type: array
log:
type: object
additionalProperties: false
properties:
sources:
items:
type: string
enum:
- build
- edge
- lambda
- static
- external
- firewall
- redirect
type: array
deployment:
type: object
additionalProperties: false
properties:
environments:
items:
type: string
enum:
- production
- preview
type: array
- type: object
additionalProperties: false
required:
- type
- text
properties:
type:
type: string
text:
type: string
schemas:
type: object
additionalProperties:
type: object
required:
- version
properties:
version:
type: string
delivery:
type: object
oneOf:
- type: object
additionalProperties: false
required:
- type
- endpoint
- encoding
- headers
properties:
type:
type: string
endpoint:
type: string
compression:
type: string
enum:
- gzip
- none
encoding:
type: string
enum:
- json
- ndjson
headers:
additionalProperties:
type: string
type: object
secret:
type: string
- type: object
additionalProperties: false
required:
- type
- endpoint
- encoding
- headers
properties:
type:
type: string
endpoint:
oneOf:
- type: object
additionalProperties: false
required:
- traces
properties:
traces:
type: string
encoding:
type: string
enum:
- proto
- json
headers:
additionalProperties:
type: string
type: object
secret:
type: string
sampling:
type: array
maxItems: 10
items:
type: object
additionalProperties: false
required:
- type
- rate
properties:
type:
type: string
rate:
type: number
minimum: 0
maximum: 1
description: Sampling rate from 0 to 1 (e.g., 0.1 for 10%)
env:
type: string
enum:
- production
- preview
description: Environment to apply sampling to
requestPath:
type: string
description: Request path prefix to apply the sampling rule to
transforms:
type: array
items:
type: object
required:
- id
properties:
id:
type: string
source:
type: object
oneOf:
- oneOf:
- properties:
kind:
type: string
default: integration
externalResourceId:
type: string
additionalProperties: false
required:
- externalResourceId
- properties:
kind:
type: string
default: integration
resourceId:
type: string
additionalProperties: false
required:
- resourceId
- properties:
kind:
type: string
default: integration
additionalProperties: false
required:
- kind
- properties:
kind:
type: string
default: self-served
additionalProperties: false
required:
- kind
responses:
'200':
description: ''
content:
application/json:
schema:
oneOf:
- properties:
id:
type: string
createdAt:
type: number
updatedAt:
type: number
projectIds:
items:
type: string
type: array
name:
type: string
teamId:
nullable: true
type: string
ownerId:
type: string
status:
type: string
enum:
- enabled
- disabled
- errored
firstErrorTimestamp:
type: number
disabledAt:
type: number
disabledBy:
type: string
disabledReason:
type: string
enum:
- disabled-by-owner
- feature-not-available
- account-plan-downgrade
- disabled-by-admin
schemas:
properties:
log:
type: object
trace:
type: object
analytics:
type: object
speed_insights:
type: object
type: object
delivery:
oneOf:
- properties:
type:
type: string
enum:
- http
endpoint:
type: string
encoding:
type: string
enum:
- json
- ndjson
compression:
type: string
enum:
- none
- gzip
headers:
additionalProperties:
type: string
type: object
secret:
oneOf:
- type: string
- properties:
kind:
type: string
enum:
- INTEGRATION_SECRET
required:
- kind
type: object
required:
- encoding
- endpoint
- headers
- type
type: object
- properties:
type:
type: string
enum:
- otlphttp
endpoint:
properties:
traces:
type: string
required:
- traces
type: object
encoding:
type: string
enum:
- json
- proto
headers:
additionalProperties:
type: string
type: object
secret:
oneOf:
- type: string
- properties:
kind:
type: string
enum:
- INTEGRATION_SECRET
required:
- kind
type: object
required:
- encoding
- endpoint
- headers
- type
type: object
- properties:
type:
type: string
enum:
- clickhouse
endpoint:
type: string
table:
type: string
required:
- endpoint
- table
- type
type: object
- properties:
type:
type: string
enum:
- internal
target:
type: string
enum:
- vercel-otel-traces-db
required:
- target
- type
type: object
sampling:
items:
properties:
type:
type: string
enum:
- head_sampling
rate:
type: number
env:
type: string
enum:
- production
- preview
requestPath:
type: string
required:
- rate
- type
type: object
type: array
source:
oneOf:
- properties:
kind:
type: string
enum:
- self-served
required:
- kind
type: object
- properties:
kind:
type: string
enum:
- integration
resourceId:
type: string
externalResourceId:
type: string
integrationId:
type: string
integrationConfigurationId:
type: string
required:
- integrationConfigurationId
- integrationId
- kind
type: object
filter:
type: string
filterV2:
oneOf:
- properties:
version:
type: string
enum:
- v1
required:
- version
type: object
- properties:
version:
type: string
enum:
- v2
filter:
oneOf:
- properties:
type:
type: string
enum:
- basic
project:
properties:
ids:
items:
type: string
type: array
type: object
log:
properties:
sources:
items:
type: string
enum:
- build
- edge
- lambda
- static
- external
- firewall
- redirect
type: array
legacy_excludeCachedStaticAssetLogs:
type: boolean
enum:
- false
- true
type: object
deployment:
properties:
environments:
items:
type: string
enum:
- production
- preview
type: array
type: object
required:
- type
type: object
- properties:
type:
type: string
enum:
- odata
text:
type: string
required:
- text
- type
type: object
required:
- filter
- version
type: object
required:
- createdAt
- delivery
- id
- name
- ownerId
- schemas
- source
- updatedAt
type: object
- properties:
id:
type: string
createdAt:
type: number
updatedAt:
type: number
projectIds:
items:
type: string
type: array
name:
type: string
teamId:
nullable: true
type: string
ownerId:
type: string
status:
type: string
enum:
- enabled
- disabled
- errored
firstErrorTimestamp:
type: number
disabledAt:
type: number
disabledBy:
type: string
disabledReason:
type: string
enum:
- disabled-by-owner
- feature-not-available
- account-plan-downgrade
- disabled-by-admin
schemas:
properties:
log:
type: object
trace:
type: object
analytics:
type: object
speed_insights:
type: object
type: object
delivery:
oneOf:
- properties:
type:
type: string
enum:
- http
endpoint:
type: string
encoding:
type: string
enum:
- json
- ndjson
compression:
type: string
enum:
- none
- gzip
headers:
additionalProperties:
type: string
type: object
secret:
oneOf:
- type: string
- properties:
kind:
type: string
enum:
- INTEGRATION_SECRET
required:
- kind
type: object
required:
- encoding
- endpoint
- headers
- type
type: object
- properties:
type:
type: string
enum:
- otlphttp
endpoint:
properties:
traces:
type: string
required:
- traces
type: object
encoding:
type: string
enum:
- json
- proto
headers:
additionalProperties:
type: string
type: object
secret:
oneOf:
- type: string
- properties:
kind:
type: string
enum:
- INTEGRATION_SECRET
required:
- kind
type: object
required:
- encoding
- endpoint
- headers
- type
type: object
- properties:
type:
type: string
enum:
- clickhouse
endpoint:
type: string
table:
type: string
required:
- endpoint
- table
- type
type: object
- properties:
type:
type: string
enum:
- internal
target:
type: string
enum:
- vercel-otel-traces-db
required:
- target
- type
type: object
sampling:
items:
properties:
type:
type: string
enum:
- head_sampling
rate:
type: number
env:
type: string
enum:
- production
- preview
requestPath:
type: string
required:
- rate
- type
type: object
type: array
source:
oneOf:
- properties:
kind:
type: string
enum:
- self-served
required:
- kind
type: object
- properties:
kind:
type: string
enum:
- integration
resourceId:
type: string
externalResourceId:
type: string
integrationId:
type: string
integrationConfigurationId:
type: string
required:
- integrationConfigurationId
- integrationId
- kind
type: object
filter:
type: string
filterV2:
oneOf:
- properties:
version:
type: string
enum:
- v1
required:
- version
type: object
- properties:
version:
type: string
enum:
- v2
filter:
oneOf:
- properties:
type:
type: string
enum:
- basic
project:
properties:
ids:
items:
type: string
type: array
type: object
log:
properties:
sources:
items:
type: string
enum:
- build
- edge
- lambda
- static
- external
- firewall
- redirect
type: array
legacy_excludeCachedStaticAssetLogs:
type: boolean
enum:
- false
- true
type: object
deployment:
properties:
environments:
items:
type: string
enum:
- production
- preview
type: array
type: object
required:
- type
type: object
- properties:
type:
type: string
enum:
- odata
text:
type: string
required:
- text
- type
type: object
required:
- filter
- version
type: object
integrationIcon:
type: string
integrationConfigurationUri:
type: string
integrationWebsite:
type: string
projectAccess:
oneOf:
- properties:
access:
type: string
enum:
- all
required:
- access
type: object
- properties:
access:
type: string
enum:
- some
projectIds:
items:
type: string
type: array
required:
- access
- projectIds
type: object
required:
- createdAt
- delivery
- id
- name
- ownerId
- schemas
- source
- updatedAt
type: object
'400':
description: One of the provided values in the request body is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/projects/create-a-new-project.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Create a new project
> 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.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples post /v11/projects
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v11/projects:
post:
tags:
- projects
summary: Create a new project
description: >-
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.
operationId: createProject
parameters:
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
requestBody:
content:
application/json:
schema:
additionalProperties: false
properties:
enablePreviewFeedback:
description: Opt-in to preview toolbar on the project level
type: boolean
nullable: true
enableProductionFeedback:
description: Opt-in to production toolbar on the project level
type: boolean
nullable: true
previewDeploymentsDisabled:
description: >-
Specifies whether preview deployments are disabled for this
project.
type: boolean
nullable: true
previewDeploymentSuffix:
description: >-
Custom domain suffix for preview deployments. Takes
precedence over team-level suffix. Must be a domain owned by
the team.
type: string
maxLength: 253
nullable: true
buildCommand:
description: >-
The build command for this project. When `null` is used this
value will be automatically detected
maxLength: 256
type: string
nullable: true
commandForIgnoringBuildStep:
maxLength: 256
type: string
nullable: true
devCommand:
description: >-
The dev command for this project. When `null` is used this
value will be automatically detected
maxLength: 256
type: string
nullable: true
environmentVariables:
description: Collection of ENV Variables the Project will use
items:
properties:
key:
description: Name of the ENV variable
type: string
target:
description: >-
Deployment Target or Targets in which the ENV variable
will be used
oneOf:
- enum:
- production
- preview
- development
- items:
enum:
- production
- preview
- development
type: array
gitBranch:
description: >-
If defined, the git branch of the environment variable
(must have target=preview)
type: string
maxLength: 250
type:
description: Type of the ENV variable
enum:
- system
- secret
- encrypted
- plain
- sensitive
type: string
value:
description: Value for the ENV variable
type: string
required:
- key
- value
- target
type: object
type: array
framework:
description: >-
The framework that is being used for this project. When
`null` is used no framework is selected
enum:
- null
- blitzjs
- nextjs
- gatsby
- remix
- react-router
- astro
- hexo
- eleventy
- docusaurus-2
- docusaurus
- preact
- solidstart-1
- solidstart
- dojo
- ember
- vue
- scully
- ionic-angular
- angular
- polymer
- svelte
- sveltekit
- sveltekit-1
- ionic-react
- create-react-app
- gridsome
- umijs
- sapper
- saber
- stencil
- nuxtjs
- redwoodjs
- hugo
- jekyll
- brunch
- middleman
- zola
- hydrogen
- vite
- tanstack-start
- vitepress
- vuepress
- parcel
- fastapi
- flask
- fasthtml
- sanity-v3
- sanity
- storybook
- nitro
- hono
- express
- h3
- koa
- nestjs
- elysia
- fastify
- xmcp
- python
- ruby
- rust
- node
- services
gitRepository:
description: >-
The Git Repository that will be connected to the project.
When this is defined, any pushes to the specified connected
Git Repository will be automatically deployed
properties:
repo:
description: >-
The name of the git repository. For example:
\"vercel/next.js\"
type: string
type:
description: The Git Provider of the repository
enum:
- github
- github-limited
- gitlab
- bitbucket
required:
- type
- repo
type: object
installCommand:
description: >-
The install command for this project. When `null` is used
this value will be automatically detected
maxLength: 256
type: string
nullable: true
name:
description: The desired name for the project
example: a-project-name
type: string
maxLength: 100
skipGitConnectDuringLink:
description: >-
Opts-out of the message prompting a CLI user to connect a
Git repository in `vercel link`.
type: boolean
deprecated: true
ssoProtection:
description: >-
The Vercel Auth setting for the project (historically named
\"SSO Protection\")
type: object
properties:
deploymentType:
type: string
enum:
- all
- preview
- prod_deployment_urls_and_all_previews
- all_except_custom_domains
required:
- deploymentType
nullable: true
outputDirectory:
description: >-
The output directory of the project. When `null` is used
this value will be automatically detected
maxLength: 256
type: string
nullable: true
publicSource:
description: >-
Specifies whether the source code and logs of the
deployments for this project should be public or not
type: boolean
nullable: true
rootDirectory:
description: >-
The name of a directory or relative path to the source code
of your project. When `null` is used it will default to the
project root
maxLength: 256
type: string
nullable: true
serverlessFunctionRegion:
description: The region to deploy Serverless Functions in this project
maxLength: 4
type: string
nullable: true
serverlessFunctionZeroConfigFailover:
description: >-
Specifies whether Zero Config Failover is enabled for this
project.
oneOf:
- type: boolean
oidcTokenConfig:
description: OpenID Connect JSON Web Token generation configuration.
type: object
additionalProperties: false
properties:
enabled:
description: >-
Whether or not to generate OpenID Connect JSON Web
Tokens.
deprecated: true
type: boolean
default: true
issuerMode:
description: >-
team: `https://oidc.vercel.com/[team_slug]` global:
`https://oidc.vercel.com`
type: string
enum:
- team
- global
default: team
enableAffectedProjectsDeployments:
description: >-
Opt-in to skip deployments when there are no changes to the
root directory and its dependencies
type: boolean
resourceConfig:
type: object
description: Specifies resource override configuration for the project
properties:
fluid:
type: boolean
functionDefaultRegions:
description: >-
The regions to deploy Vercel Functions to for this
project
type: array
minItems: 1
uniqueItems: true
items:
type: string
maxLength: 4
functionDefaultTimeout:
type: number
maximum: 900
minimum: 1
functionDefaultMemoryType:
enum:
- standard_legacy
- standard
- performance
functionZeroConfigFailover:
description: >-
Specifies whether Zero Config Failover is enabled for
this project.
oneOf:
- type: boolean
elasticConcurrencyEnabled:
type: boolean
buildMachineType:
enum:
- enhanced
- turbo
isNSNBDisabled:
type: boolean
buildQueue:
properties:
configuration:
type: string
enum:
- SKIP_NAMESPACE_QUEUE
- WAIT_FOR_NAMESPACE_QUEUE
type: object
additionalProperties: false
required:
- name
type: object
responses:
'200':
description: The project was successfuly created
content:
application/json:
schema:
properties:
accountId:
type: string
analytics:
properties:
id:
type: string
canceledAt:
nullable: true
type: number
disabledAt:
type: number
enabledAt:
type: number
paidAt:
type: number
sampleRatePercent:
nullable: true
type: number
spendLimitInDollars:
nullable: true
type: number
required:
- disabledAt
- enabledAt
- id
type: object
appliedCve55182Migration:
type: boolean
enum:
- false
- true
speedInsights:
properties:
id:
type: string
enabledAt:
type: number
disabledAt:
type: number
canceledAt:
type: number
hasData:
type: boolean
enum:
- false
- true
paidAt:
type: number
required:
- id
type: object
autoExposeSystemEnvs:
type: boolean
enum:
- false
- true
autoAssignCustomDomains:
type: boolean
enum:
- false
- true
autoAssignCustomDomainsUpdatedBy:
type: string
buildCommand:
nullable: true
type: string
commandForIgnoringBuildStep:
nullable: true
type: string
connectConfigurations:
nullable: true
items:
properties:
envId:
oneOf:
- type: string
- type: string
enum:
- production
- preview
connectConfigurationId:
type: string
dc:
type: string
passive:
type: boolean
enum:
- false
- true
buildsEnabled:
type: boolean
enum:
- false
- true
aws:
properties:
subnetIds:
items:
type: string
type: array
securityGroupId:
type: string
required:
- securityGroupId
- subnetIds
type: object
createdAt:
type: number
updatedAt:
type: number
required:
- buildsEnabled
- connectConfigurationId
- createdAt
- envId
- passive
- updatedAt
type: object
type: array
connectConfigurationId:
nullable: true
type: string
connectBuildsEnabled:
type: boolean
enum:
- false
- true
passiveConnectConfigurationId:
nullable: true
type: string
createdAt:
type: number
customerSupportCodeVisibility:
type: boolean
enum:
- false
- true
crons:
properties:
enabledAt:
type: number
description: >-
The time the feature was enabled for this project.
Note: It enables automatically with the first
Deployment that outputs cronjobs.
disabledAt:
nullable: true
type: number
description: The time the feature was disabled for this project.
updatedAt:
type: number
deploymentId:
nullable: true
type: string
description: >-
The ID of the Deployment from which the definitions
originated.
definitions:
items:
properties:
host:
type: string
description: The hostname that should be used.
example: vercel.com
path:
type: string
description: The path that should be called for the cronjob.
example: /api/crons/sync-something?hello=world
schedule:
type: string
description: The cron expression.
example: 0 0 * * *
required:
- host
- path
- schedule
type: object
type: array
required:
- definitions
- deploymentId
- disabledAt
- enabledAt
- updatedAt
type: object
dataCache:
properties:
userDisabled:
type: boolean
enum:
- false
- true
storageSizeBytes:
nullable: true
type: number
unlimited:
type: boolean
enum:
- false
- true
required:
- userDisabled
type: object
deploymentExpiration:
nullable: true
properties:
expirationDays:
type: number
description: >-
Number of days to keep non-production deployments
(mostly preview deployments) before soft deletion.
expirationDaysProduction:
type: number
description: >-
Number of days to keep production deployments before
soft deletion.
expirationDaysCanceled:
type: number
description: >-
Number of days to keep canceled deployments before
soft deletion.
expirationDaysErrored:
type: number
description: >-
Number of days to keep errored deployments before soft
deletion.
deploymentsToKeep:
type: number
description: >-
Minimum number of production deployments to keep for
this project, even if they are over the production
expiration limit.
type: object
description: >-
Retention policies for deployments. These are enforced at
the project level, but we also maintain an instance of
this at the team level as a default policy that gets
applied to new projects.
devCommand:
nullable: true
type: string
directoryListing:
type: boolean
enum:
- false
- true
installCommand:
nullable: true
type: string
env:
items:
properties:
target:
oneOf:
- items:
type: string
enum:
- production
- preview
- development
- preview
- development
type: array
- type: string
enum:
- production
- preview
- development
- preview
- development
type:
type: string
enum:
- secret
- system
- encrypted
- plain
- sensitive
sunsetSecretId:
type: string
description: >-
This is used to identify variables that have been
migrated from type secret to sensitive.
legacyValue:
type: string
description: >-
Legacy now-encryption ciphertext, present after
migration swaps value/vsmValue
decrypted:
type: boolean
enum:
- false
- true
value:
type: string
vsmValue:
type: string
id:
type: string
key:
type: string
configurationId:
nullable: true
type: string
createdAt:
type: number
updatedAt:
type: number
createdBy:
nullable: true
type: string
updatedBy:
nullable: true
type: string
gitBranch:
type: string
edgeConfigId:
nullable: true
type: string
edgeConfigTokenId:
nullable: true
type: string
contentHint:
nullable: true
oneOf:
- properties:
type:
type: string
enum:
- redis-url
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- redis-rest-api-url
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- redis-rest-api-token
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- redis-rest-api-read-only-token
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- blob-read-write-token
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-url
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-url-non-pooling
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-prisma-url
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-user
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-host
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-password
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-database
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-url-no-ssl
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- integration-store-secret
storeId:
type: string
integrationId:
type: string
integrationProductId:
type: string
integrationConfigurationId:
type: string
required:
- integrationConfigurationId
- integrationId
- integrationProductId
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- flags-connection-string
projectId:
type: string
required:
- projectId
- type
type: object
internalContentHint:
nullable: true
properties:
type:
type: string
enum:
- flags-secret
encryptedValue:
type: string
description: >-
Contains the `value` of the env variable,
encrypted with a special key to make decryption
possible in the subscriber Lambda.
required:
- encryptedValue
- type
type: object
description: >-
Similar to `contentHints`, but should not be exposed
to the user.
comment:
type: string
customEnvironmentIds:
items:
type: string
type: array
required:
- key
- type
- value
type: object
type: array
customEnvironments:
items:
properties:
id:
type: string
description: >-
Unique identifier for the custom environment
(format: env_*)
slug:
type: string
description: URL-friendly name of the environment
type:
type: string
enum:
- production
- preview
- development
description: >-
The type of environment (production, preview, or
development)
description:
type: string
description: Optional description of the environment's purpose
branchMatcher:
properties:
type:
type: string
enum:
- endsWith
- startsWith
- equals
description: The type of matching to perform
pattern:
type: string
description: The pattern to match against branch names
required:
- pattern
- type
type: object
description: >-
Configuration for matching git branches to this
environment
domains:
items:
properties:
name:
type: string
apexName:
type: string
projectId:
type: string
redirect:
nullable: true
type: string
redirectStatusCode:
nullable: true
type: number
enum:
- 301
- 302
- 307
- 308
gitBranch:
nullable: true
type: string
customEnvironmentId:
nullable: true
type: string
updatedAt:
type: number
createdAt:
type: number
verified:
type: boolean
enum:
- false
- true
description: >-
`true` if the domain is verified for use with
the project. If `false` it will not be used as
an alias on this project until the challenge
in `verification` is completed.
verification:
items:
properties:
type:
type: string
domain:
type: string
value:
type: string
reason:
type: string
required:
- domain
- reason
- type
- value
type: object
description: >-
A list of verification challenges, one of
which must be completed to verify the domain
for use on the project. After the challenge
is complete `POST
/projects/:idOrName/domains/:domain/verify`
to verify the domain. Possible challenges: -
If `verification.type = TXT` the
`verification.domain` will be checked for a
TXT record matching `verification.value`.
type: array
description: >-
A list of verification challenges, one of
which must be completed to verify the domain
for use on the project. After the challenge is
complete `POST
/projects/:idOrName/domains/:domain/verify` to
verify the domain. Possible challenges: - If
`verification.type = TXT` the
`verification.domain` will be checked for a
TXT record matching `verification.value`.
required:
- apexName
- name
- projectId
- verified
type: object
description: List of domains associated with this environment
type: array
description: List of domains associated with this environment
currentDeploymentAliases:
items:
type: string
type: array
description: List of aliases for the current deployment
createdAt:
type: number
description: Timestamp when the environment was created
updatedAt:
type: number
description: Timestamp when the environment was last updated
required:
- createdAt
- id
- slug
- type
- updatedAt
type: object
description: >-
Internal representation of a custom environment with all
required properties
type: array
framework:
nullable: true
type: string
enum:
- blitzjs
- nextjs
- gatsby
- remix
- react-router
- astro
- hexo
- eleventy
- docusaurus-2
- docusaurus
- preact
- solidstart-1
- solidstart
- dojo
- ember
- vue
- scully
- ionic-angular
- angular
- polymer
- svelte
- sveltekit
- sveltekit-1
- ionic-react
- create-react-app
- gridsome
- umijs
- sapper
- saber
- stencil
- nuxtjs
- redwoodjs
- hugo
- jekyll
- brunch
- middleman
- zola
- hydrogen
- vite
- tanstack-start
- vitepress
- vuepress
- parcel
- fastapi
- flask
- fasthtml
- sanity-v3
- sanity
- storybook
- nitro
- hono
- express
- h3
- koa
- nestjs
- elysia
- fastify
- xmcp
- python
- ruby
- rust
- node
- services
gitForkProtection:
type: boolean
enum:
- false
- true
gitLFS:
type: boolean
enum:
- false
- true
id:
type: string
ipBuckets:
items:
properties:
bucket:
type: string
supportUntil:
type: number
required:
- bucket
type: object
type: array
latestDeployments:
items:
properties:
alias:
items:
type: string
type: array
aliasAssigned:
nullable: true
oneOf:
- type: number
- type: boolean
enum:
- false
- true
builds:
items:
properties:
use:
type: string
src:
type: string
dest:
type: string
required:
- use
type: object
type: array
createdAt:
type: number
createdIn:
type: string
creator:
nullable: true
properties:
email:
type: string
githubLogin:
type: string
gitlabLogin:
type: string
uid:
type: string
username:
type: string
required:
- email
- uid
- username
type: object
deploymentHostname:
type: string
name:
type: string
forced:
type: boolean
enum:
- false
- true
id:
type: string
meta:
additionalProperties:
type: string
type: object
plan:
type: string
private:
type: boolean
enum:
- false
- true
readyState:
type: string
requestedAt:
type: number
target:
nullable: true
type: string
teamId:
nullable: true
type: string
type:
type: string
url:
type: string
userId:
type: string
withCache:
type: boolean
enum:
- false
- true
required:
- createdAt
- createdIn
- creator
- deploymentHostname
- id
- name
- plan
- private
- readyState
- type
- url
- userId
type: object
type: array
link:
oneOf:
- properties:
org:
type: string
repoOwnerId:
type: number
description: >-
A new field, should be included in all new project
links, is being added just in time when a
deployment is created. This is needed for
Protected Git scopes.
repo:
type: string
repoId:
type: number
type:
type: string
enum:
- github
createdAt:
type: number
deployHooks:
items:
properties:
createdAt:
type: number
id:
type: string
name:
type: string
ref:
type: string
url:
type: string
required:
- id
- name
- ref
- url
type: object
type: array
gitCredentialId:
type: string
updatedAt:
type: number
sourceless:
type: boolean
enum:
- false
- true
productionBranch:
type: string
required:
- deployHooks
- gitCredentialId
- org
- productionBranch
- type
type: object
- properties:
type:
type: string
enum:
- github-limited
repo:
type: string
repoId:
type: number
createdAt:
type: number
updatedAt:
type: number
org:
type: string
repoOwnerId:
type: number
description: >-
A new field, should be included in all new project
links, is being added just in time when a
deployment is created. This is needed for
Protected Git scopes.
deployHooks:
items:
properties:
createdAt:
type: number
id:
type: string
name:
type: string
ref:
type: string
url:
type: string
required:
- id
- name
- ref
- url
type: object
type: array
gitCredentialId:
type: string
sourceless:
type: boolean
enum:
- false
- true
productionBranch:
type: string
required:
- deployHooks
- gitCredentialId
- org
- productionBranch
- type
type: object
- properties:
org:
type: string
repoOwnerId:
type: number
description: >-
A new field, should be included in all new project
links, is being added just in time when a
deployment is created. This is needed for
Protected Git scopes.
repo:
type: string
repoId:
type: number
type:
type: string
enum:
- github-custom-host
host:
type: string
createdAt:
type: number
deployHooks:
items:
properties:
createdAt:
type: number
id:
type: string
name:
type: string
ref:
type: string
url:
type: string
required:
- id
- name
- ref
- url
type: object
type: array
gitCredentialId:
type: string
updatedAt:
type: number
sourceless:
type: boolean
enum:
- false
- true
productionBranch:
type: string
required:
- deployHooks
- gitCredentialId
- host
- org
- productionBranch
- type
type: object
- properties:
projectId:
type: string
projectName:
type: string
projectNameWithNamespace:
type: string
projectNamespace:
type: string
projectOwnerId:
type: number
description: >-
A new field, should be included in all new project
links, is being added just in time when a
deployment is created. This is needed for
Protected Git scopes. This is the id of the top
level group that a namespace belongs to. Gitlab
supports group nesting (up to 20 levels).
projectUrl:
type: string
type:
type: string
enum:
- gitlab
createdAt:
type: number
deployHooks:
items:
properties:
createdAt:
type: number
id:
type: string
name:
type: string
ref:
type: string
url:
type: string
required:
- id
- name
- ref
- url
type: object
type: array
gitCredentialId:
type: string
updatedAt:
type: number
sourceless:
type: boolean
enum:
- false
- true
productionBranch:
type: string
required:
- deployHooks
- gitCredentialId
- productionBranch
- projectId
- projectName
- projectNameWithNamespace
- projectNamespace
- projectUrl
- type
type: object
- properties:
name:
type: string
slug:
type: string
owner:
type: string
type:
type: string
enum:
- bitbucket
uuid:
type: string
workspaceUuid:
type: string
createdAt:
type: number
deployHooks:
items:
properties:
createdAt:
type: number
id:
type: string
name:
type: string
ref:
type: string
url:
type: string
required:
- id
- name
- ref
- url
type: object
type: array
gitCredentialId:
type: string
updatedAt:
type: number
sourceless:
type: boolean
enum:
- false
- true
productionBranch:
type: string
required:
- deployHooks
- gitCredentialId
- name
- owner
- productionBranch
- slug
- type
- uuid
- workspaceUuid
type: object
microfrontends:
oneOf:
- properties:
isDefaultApp:
type: boolean
enum:
- true
updatedAt:
type: number
description: >-
Timestamp when the microfrontends settings were
last updated.
groupIds:
type: array
items:
type: string
minItems: 1
description: >-
The group IDs of microfrontends that this project
belongs to. Each microfrontend project must belong
to a microfrontends group that is the set of
microfrontends that are used together.
enabled:
type: boolean
enum:
- true
description: >-
Whether microfrontends are enabled for this
project.
defaultRoute:
type: string
description: >-
A path that is used to take screenshots and as the
default path in preview links when a domain for
this microfrontend is shown in the UI. Includes
the leading slash, e.g. `/docs`
freeProjectForLegacyLimits:
type: boolean
enum:
- false
- true
description: >-
Whether the project was part of the legacy limits
for hobby and pro-trial before billing was added.
This field is only set when the team is upgraded
to a paid plan and we are backfilling the
subscription status. We cap the subscription to 2
projects and set this field for the 3rd project.
When this field is set, the project is not charged
for and we do not call any billing APIs for this
project.
required:
- enabled
- groupIds
- isDefaultApp
- updatedAt
type: object
- properties:
isDefaultApp:
type: boolean
enum:
- false
routeObservabilityToThisProject:
type: boolean
enum:
- false
- true
description: >-
Whether observability data should be routed to
this microfrontend project or a root project.
doNotRouteWithMicrofrontendsRouting:
type: boolean
enum:
- false
- true
description: >-
Whether to add microfrontends routing to aliases.
This means domains in this project will route as a
microfrontend.
updatedAt:
type: number
description: >-
Timestamp when the microfrontends settings were
last updated.
groupIds:
type: array
items:
type: string
minItems: 1
description: >-
The group IDs of microfrontends that this project
belongs to. Each microfrontend project must belong
to a microfrontends group that is the set of
microfrontends that are used together.
enabled:
type: boolean
enum:
- true
description: >-
Whether microfrontends are enabled for this
project.
defaultRoute:
type: string
description: >-
A path that is used to take screenshots and as the
default path in preview links when a domain for
this microfrontend is shown in the UI. Includes
the leading slash, e.g. `/docs`
freeProjectForLegacyLimits:
type: boolean
enum:
- false
- true
description: >-
Whether the project was part of the legacy limits
for hobby and pro-trial before billing was added.
This field is only set when the team is upgraded
to a paid plan and we are backfilling the
subscription status. We cap the subscription to 2
projects and set this field for the 3rd project.
When this field is set, the project is not charged
for and we do not call any billing APIs for this
project.
required:
- enabled
- groupIds
- updatedAt
type: object
- properties:
updatedAt:
type: number
groupIds:
type: array
items: {}
minItems: 0
maxItems: 0
enabled:
type: boolean
enum:
- false
freeProjectForLegacyLimits:
type: boolean
enum:
- false
- true
required:
- enabled
- groupIds
- updatedAt
type: object
name:
type: string
nodeVersion:
type: string
enum:
- 24.x
- 22.x
- 20.x
- 18.x
- 16.x
- 14.x
- 12.x
- 10.x
- 8.10.x
optionsAllowlist:
nullable: true
properties:
paths:
items:
properties:
value:
type: string
required:
- value
type: object
type: array
required:
- paths
type: object
outputDirectory:
nullable: true
type: string
passwordProtection:
nullable: true
type: object
productionDeploymentsFastLane:
type: boolean
enum:
- false
- true
publicSource:
nullable: true
type: boolean
enum:
- false
- true
resourceConfig:
properties:
elasticConcurrencyEnabled:
type: boolean
enum:
- false
- true
fluid:
type: boolean
enum:
- false
- true
functionDefaultRegions:
items:
type: string
type: array
functionDefaultTimeout:
type: number
functionDefaultMemoryType:
type: string
enum:
- standard_legacy
- standard
- performance
functionZeroConfigFailover:
type: boolean
enum:
- false
- true
buildMachineType:
type: string
enum:
- enhanced
- turbo
isNSNBDisabled:
type: boolean
enum:
- false
- true
buildQueue:
properties:
configuration:
type: string
enum:
- SKIP_NAMESPACE_QUEUE
- WAIT_FOR_NAMESPACE_QUEUE
type: object
type: object
required:
- functionDefaultRegions
rollbackDescription:
properties:
userId:
type: string
description: The user who rolled back the project.
username:
type: string
description: The username of the user who rolled back the project.
description:
type: string
description: >-
User-supplied explanation of why they rolled back the
project. Limited to 250 characters.
createdAt:
type: number
description: Timestamp of when the rollback was requested.
required:
- createdAt
- description
- userId
- username
type: object
description: >-
Description of why a project was rolled back, and by whom.
Note that lastAliasRequest contains the from/to details of
the rollback.
rollingRelease:
nullable: true
properties:
target:
type: string
description: >-
The environment that the release targets, currently
only supports production. Adding in case we want to
configure with alias groups or custom environments.
example: production
stages:
nullable: true
items:
properties:
targetPercentage:
type: number
description: >-
The percentage of traffic to serve to the canary
deployment (0-100)
example: 25
requireApproval:
type: boolean
enum:
- false
- true
description: >-
Whether or not this stage requires manual
approval to proceed
example: false
duration:
type: number
description: >-
Duration in minutes for automatic advancement to
the next stage
example: 600
linearShift:
type: boolean
enum:
- false
- true
description: >-
Whether to linearly shift traffic over the
duration of this stage
example: false
required:
- targetPercentage
type: object
description: >-
An array of all the stages required during a
deployment release. Each stage defines a target
percentage and advancement rules. The final stage
must always have targetPercentage: 100.
type: array
description: >-
An array of all the stages required during a
deployment release. Each stage defines a target
percentage and advancement rules. The final stage must
always have targetPercentage: 100.
canaryResponseHeader:
type: boolean
enum:
- false
- true
description: >-
Whether the request served by a canary deployment
should return a header indicating a canary was served.
Defaults to `false` when omitted.
example: false
required:
- target
type: object
description: >-
Project-level rolling release configuration that defines
how deployments should be gradually rolled out
defaultResourceConfig:
properties:
elasticConcurrencyEnabled:
type: boolean
enum:
- false
- true
fluid:
type: boolean
enum:
- false
- true
functionDefaultRegions:
items:
type: string
type: array
functionDefaultTimeout:
type: number
functionDefaultMemoryType:
type: string
enum:
- standard_legacy
- standard
- performance
functionZeroConfigFailover:
type: boolean
enum:
- false
- true
buildMachineType:
type: string
enum:
- enhanced
- turbo
isNSNBDisabled:
type: boolean
enum:
- false
- true
buildQueue:
properties:
configuration:
type: string
enum:
- SKIP_NAMESPACE_QUEUE
- WAIT_FOR_NAMESPACE_QUEUE
type: object
type: object
required:
- functionDefaultRegions
rootDirectory:
nullable: true
type: string
serverlessFunctionZeroConfigFailover:
type: boolean
enum:
- false
- true
skewProtectionBoundaryAt:
type: number
skewProtectionMaxAge:
type: number
skewProtectionAllowedDomains:
items:
type: string
type: array
skipGitConnectDuringLink:
type: boolean
enum:
- false
- true
staticIps:
properties:
builds:
type: boolean
enum:
- false
- true
enabled:
type: boolean
enum:
- false
- true
regions:
items:
type: string
type: array
required:
- builds
- enabled
- regions
type: object
sourceFilesOutsideRootDirectory:
type: boolean
enum:
- false
- true
enableAffectedProjectsDeployments:
type: boolean
enum:
- false
- true
ssoProtection:
nullable: true
properties:
deploymentType:
type: string
enum:
- preview
- all
- prod_deployment_urls_and_all_previews
- all_except_custom_domains
cve55182MigrationAppliedFrom:
nullable: true
type: string
enum:
- preview
- all
- prod_deployment_urls_and_all_previews
- all_except_custom_domains
required:
- deploymentType
type: object
targets:
additionalProperties:
nullable: true
properties:
alias:
items:
type: string
type: array
aliasAssigned:
nullable: true
oneOf:
- type: number
- type: boolean
enum:
- false
- true
builds:
items:
properties:
use:
type: string
src:
type: string
dest:
type: string
required:
- use
type: object
type: array
createdAt:
type: number
createdIn:
type: string
creator:
nullable: true
properties:
email:
type: string
githubLogin:
type: string
gitlabLogin:
type: string
uid:
type: string
username:
type: string
required:
- email
- uid
- username
type: object
deploymentHostname:
type: string
name:
type: string
forced:
type: boolean
enum:
- false
- true
id:
type: string
meta:
additionalProperties:
type: string
type: object
plan:
type: string
private:
type: boolean
enum:
- false
- true
readyState:
type: string
requestedAt:
type: number
target:
nullable: true
type: string
teamId:
nullable: true
type: string
type:
type: string
url:
type: string
userId:
type: string
withCache:
type: boolean
enum:
- false
- true
required:
- createdAt
- createdIn
- creator
- deploymentHostname
- id
- name
- plan
- private
- readyState
- type
- url
- userId
type: object
type: object
transferCompletedAt:
type: number
transferStartedAt:
type: number
transferToAccountId:
type: string
transferredFromAccountId:
type: string
updatedAt:
type: number
live:
type: boolean
enum:
- false
- true
enablePreviewFeedback:
nullable: true
type: boolean
enum:
- false
- true
enableProductionFeedback:
nullable: true
type: boolean
enum:
- false
- true
permissions:
properties:
oauth2Connection:
items:
$ref: '#/components/schemas/ACLAction'
type: array
user:
items:
$ref: '#/components/schemas/ACLAction'
type: array
userConnection:
items:
$ref: '#/components/schemas/ACLAction'
type: array
userSudo:
items:
$ref: '#/components/schemas/ACLAction'
type: array
webAuthn:
items:
$ref: '#/components/schemas/ACLAction'
type: array
accessGroup:
items:
$ref: '#/components/schemas/ACLAction'
type: array
agent:
items:
$ref: '#/components/schemas/ACLAction'
type: array
alerts:
items:
$ref: '#/components/schemas/ACLAction'
type: array
alertRules:
items:
$ref: '#/components/schemas/ACLAction'
type: array
aliasGlobal:
items:
$ref: '#/components/schemas/ACLAction'
type: array
analyticsSampling:
items:
$ref: '#/components/schemas/ACLAction'
type: array
analyticsUsage:
items:
$ref: '#/components/schemas/ACLAction'
type: array
apiKey:
items:
$ref: '#/components/schemas/ACLAction'
type: array
apiKeyAiGateway:
items:
$ref: '#/components/schemas/ACLAction'
type: array
apiKeyOwnedBySelf:
items:
$ref: '#/components/schemas/ACLAction'
type: array
oauth2Application:
items:
$ref: '#/components/schemas/ACLAction'
type: array
vercelAppInstallation:
items:
$ref: '#/components/schemas/ACLAction'
type: array
vercelAppInstallationRequest:
items:
$ref: '#/components/schemas/ACLAction'
type: array
auditLog:
items:
$ref: '#/components/schemas/ACLAction'
type: array
billingAddress:
items:
$ref: '#/components/schemas/ACLAction'
type: array
billingInformation:
items:
$ref: '#/components/schemas/ACLAction'
type: array
billingInvoice:
items:
$ref: '#/components/schemas/ACLAction'
type: array
billingInvoiceEmailRecipient:
items:
$ref: '#/components/schemas/ACLAction'
type: array
billingInvoiceLanguage:
items:
$ref: '#/components/schemas/ACLAction'
type: array
billingPlan:
items:
$ref: '#/components/schemas/ACLAction'
type: array
billingPurchaseOrder:
items:
$ref: '#/components/schemas/ACLAction'
type: array
billingRefund:
items:
$ref: '#/components/schemas/ACLAction'
type: array
billingTaxId:
items:
$ref: '#/components/schemas/ACLAction'
type: array
blob:
items:
$ref: '#/components/schemas/ACLAction'
type: array
blobStoreTokenSet:
items:
$ref: '#/components/schemas/ACLAction'
type: array
budget:
items:
$ref: '#/components/schemas/ACLAction'
type: array
cacheArtifact:
items:
$ref: '#/components/schemas/ACLAction'
type: array
cacheArtifactUsageEvent:
items:
$ref: '#/components/schemas/ACLAction'
type: array
codeChecks:
items:
$ref: '#/components/schemas/ACLAction'
type: array
concurrentBuilds:
items:
$ref: '#/components/schemas/ACLAction'
type: array
connect:
items:
$ref: '#/components/schemas/ACLAction'
type: array
connectConfiguration:
items:
$ref: '#/components/schemas/ACLAction'
type: array
buildMachineDefault:
items:
$ref: '#/components/schemas/ACLAction'
type: array
dataCacheBillingSettings:
items:
$ref: '#/components/schemas/ACLAction'
type: array
defaultDeploymentProtection:
items:
$ref: '#/components/schemas/ACLAction'
type: array
domain:
items:
$ref: '#/components/schemas/ACLAction'
type: array
domainAcceptDelegation:
items:
$ref: '#/components/schemas/ACLAction'
type: array
domainAuthCodes:
items:
$ref: '#/components/schemas/ACLAction'
type: array
domainCertificate:
items:
$ref: '#/components/schemas/ACLAction'
type: array
domainCheckConfig:
items:
$ref: '#/components/schemas/ACLAction'
type: array
domainMove:
items:
$ref: '#/components/schemas/ACLAction'
type: array
domainPurchase:
items:
$ref: '#/components/schemas/ACLAction'
type: array
domainRecord:
items:
$ref: '#/components/schemas/ACLAction'
type: array
domainTransferIn:
items:
$ref: '#/components/schemas/ACLAction'
type: array
drain:
items:
$ref: '#/components/schemas/ACLAction'
type: array
edgeConfig:
items:
$ref: '#/components/schemas/ACLAction'
type: array
edgeConfigItem:
items:
$ref: '#/components/schemas/ACLAction'
type: array
edgeConfigSchema:
items:
$ref: '#/components/schemas/ACLAction'
type: array
edgeConfigToken:
items:
$ref: '#/components/schemas/ACLAction'
type: array
endpointVerification:
items:
$ref: '#/components/schemas/ACLAction'
type: array
event:
items:
$ref: '#/components/schemas/ACLAction'
type: array
fileUpload:
items:
$ref: '#/components/schemas/ACLAction'
type: array
flagsExplorerSubscription:
items:
$ref: '#/components/schemas/ACLAction'
type: array
gitRepository:
items:
$ref: '#/components/schemas/ACLAction'
type: array
imageOptimizationNewPrice:
items:
$ref: '#/components/schemas/ACLAction'
type: array
integration:
items:
$ref: '#/components/schemas/ACLAction'
type: array
integrationAccount:
items:
$ref: '#/components/schemas/ACLAction'
type: array
integrationConfiguration:
items:
$ref: '#/components/schemas/ACLAction'
type: array
integrationConfigurationProjects:
items:
$ref: '#/components/schemas/ACLAction'
type: array
integrationConfigurationRole:
items:
$ref: '#/components/schemas/ACLAction'
type: array
integrationConfigurationTransfer:
items:
$ref: '#/components/schemas/ACLAction'
type: array
integrationDeploymentAction:
items:
$ref: '#/components/schemas/ACLAction'
type: array
integrationEvent:
items:
$ref: '#/components/schemas/ACLAction'
type: array
integrationLog:
items:
$ref: '#/components/schemas/ACLAction'
type: array
integrationResource:
items:
$ref: '#/components/schemas/ACLAction'
type: array
integrationResourceReplCommand:
items:
$ref: '#/components/schemas/ACLAction'
type: array
integrationResourceSecrets:
items:
$ref: '#/components/schemas/ACLAction'
type: array
integrationSSOSession:
items:
$ref: '#/components/schemas/ACLAction'
type: array
integrationStoreTokenSet:
items:
$ref: '#/components/schemas/ACLAction'
type: array
integrationVercelConfigurationOverride:
items:
$ref: '#/components/schemas/ACLAction'
type: array
integrationPullRequest:
items:
$ref: '#/components/schemas/ACLAction'
type: array
ipBlocking:
items:
$ref: '#/components/schemas/ACLAction'
type: array
jobGlobal:
items:
$ref: '#/components/schemas/ACLAction'
type: array
logDrain:
items:
$ref: '#/components/schemas/ACLAction'
type: array
marketplaceBillingData:
items:
$ref: '#/components/schemas/ACLAction'
type: array
marketplaceExperimentationEdgeConfigData:
items:
$ref: '#/components/schemas/ACLAction'
type: array
marketplaceExperimentationItem:
items:
$ref: '#/components/schemas/ACLAction'
type: array
marketplaceInstallationMember:
items:
$ref: '#/components/schemas/ACLAction'
type: array
marketplaceInvoice:
items:
$ref: '#/components/schemas/ACLAction'
type: array
marketplaceSettings:
items:
$ref: '#/components/schemas/ACLAction'
type: array
Monitoring:
items:
$ref: '#/components/schemas/ACLAction'
type: array
monitoringAlert:
items:
$ref: '#/components/schemas/ACLAction'
type: array
monitoringChart:
items:
$ref: '#/components/schemas/ACLAction'
type: array
monitoringQuery:
items:
$ref: '#/components/schemas/ACLAction'
type: array
monitoringSettings:
items:
$ref: '#/components/schemas/ACLAction'
type: array
notificationCustomerBudget:
items:
$ref: '#/components/schemas/ACLAction'
type: array
notificationDeploymentFailed:
items:
$ref: '#/components/schemas/ACLAction'
type: array
notificationDomainConfiguration:
items:
$ref: '#/components/schemas/ACLAction'
type: array
notificationDomainExpire:
items:
$ref: '#/components/schemas/ACLAction'
type: array
notificationDomainMoved:
items:
$ref: '#/components/schemas/ACLAction'
type: array
notificationDomainPurchase:
items:
$ref: '#/components/schemas/ACLAction'
type: array
notificationDomainRenewal:
items:
$ref: '#/components/schemas/ACLAction'
type: array
notificationDomainTransfer:
items:
$ref: '#/components/schemas/ACLAction'
type: array
notificationDomainUnverified:
items:
$ref: '#/components/schemas/ACLAction'
type: array
NotificationMonitoringAlert:
items:
$ref: '#/components/schemas/ACLAction'
type: array
notificationPaymentFailed:
items:
$ref: '#/components/schemas/ACLAction'
type: array
notificationPreferences:
items:
$ref: '#/components/schemas/ACLAction'
type: array
notificationStatementOfReasons:
items:
$ref: '#/components/schemas/ACLAction'
type: array
notificationUsageAlert:
items:
$ref: '#/components/schemas/ACLAction'
type: array
observabilityConfiguration:
items:
$ref: '#/components/schemas/ACLAction'
type: array
observabilityFunnel:
items:
$ref: '#/components/schemas/ACLAction'
type: array
observabilityNotebook:
items:
$ref: '#/components/schemas/ACLAction'
type: array
openTelemetryEndpoint:
items:
$ref: '#/components/schemas/ACLAction'
type: array
ownEvent:
items:
$ref: '#/components/schemas/ACLAction'
type: array
organizationDomain:
items:
$ref: '#/components/schemas/ACLAction'
type: array
passwordProtectionInvoiceItem:
items:
$ref: '#/components/schemas/ACLAction'
type: array
paymentMethod:
items:
$ref: '#/components/schemas/ACLAction'
type: array
permissions:
items:
$ref: '#/components/schemas/ACLAction'
type: array
postgres:
items:
$ref: '#/components/schemas/ACLAction'
type: array
postgresStoreTokenSet:
items:
$ref: '#/components/schemas/ACLAction'
type: array
previewDeploymentSuffix:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectTransferIn:
items:
$ref: '#/components/schemas/ACLAction'
type: array
proTrialOnboarding:
items:
$ref: '#/components/schemas/ACLAction'
type: array
rateLimit:
items:
$ref: '#/components/schemas/ACLAction'
type: array
redis:
items:
$ref: '#/components/schemas/ACLAction'
type: array
redisStoreTokenSet:
items:
$ref: '#/components/schemas/ACLAction'
type: array
remoteCaching:
items:
$ref: '#/components/schemas/ACLAction'
type: array
repository:
items:
$ref: '#/components/schemas/ACLAction'
type: array
samlConfig:
items:
$ref: '#/components/schemas/ACLAction'
type: array
secret:
items:
$ref: '#/components/schemas/ACLAction'
type: array
securityPlusConfiguration:
items:
$ref: '#/components/schemas/ACLAction'
type: array
sensitiveEnvironmentVariablePolicy:
items:
$ref: '#/components/schemas/ACLAction'
type: array
sharedEnvVars:
items:
$ref: '#/components/schemas/ACLAction'
type: array
sharedEnvVarsProduction:
items:
$ref: '#/components/schemas/ACLAction'
type: array
space:
items:
$ref: '#/components/schemas/ACLAction'
type: array
spaceRun:
items:
$ref: '#/components/schemas/ACLAction'
type: array
storeTransfer:
items:
$ref: '#/components/schemas/ACLAction'
type: array
supportCase:
items:
$ref: '#/components/schemas/ACLAction'
type: array
supportCaseComment:
items:
$ref: '#/components/schemas/ACLAction'
type: array
team:
items:
$ref: '#/components/schemas/ACLAction'
type: array
teamAccessRequest:
items:
$ref: '#/components/schemas/ACLAction'
type: array
teamFellowMembership:
items:
$ref: '#/components/schemas/ACLAction'
type: array
teamGitExclusivity:
items:
$ref: '#/components/schemas/ACLAction'
type: array
teamInvite:
items:
$ref: '#/components/schemas/ACLAction'
type: array
teamInviteCode:
items:
$ref: '#/components/schemas/ACLAction'
type: array
teamJoin:
items:
$ref: '#/components/schemas/ACLAction'
type: array
teamMemberMfaStatus:
items:
$ref: '#/components/schemas/ACLAction'
type: array
teamMicrofrontends:
items:
$ref: '#/components/schemas/ACLAction'
type: array
teamOwnMembership:
items:
$ref: '#/components/schemas/ACLAction'
type: array
teamOwnMembershipDisconnectSAML:
items:
$ref: '#/components/schemas/ACLAction'
type: array
token:
items:
$ref: '#/components/schemas/ACLAction'
type: array
usage:
items:
$ref: '#/components/schemas/ACLAction'
type: array
usageCycle:
items:
$ref: '#/components/schemas/ACLAction'
type: array
vercelRun:
items:
$ref: '#/components/schemas/ACLAction'
type: array
vercelRunExec:
items:
$ref: '#/components/schemas/ACLAction'
type: array
vpcPeeringConnection:
items:
$ref: '#/components/schemas/ACLAction'
type: array
webAnalyticsPlan:
items:
$ref: '#/components/schemas/ACLAction'
type: array
webhook:
items:
$ref: '#/components/schemas/ACLAction'
type: array
webhook-event:
items:
$ref: '#/components/schemas/ACLAction'
type: array
aliasProject:
items:
$ref: '#/components/schemas/ACLAction'
type: array
aliasProtectionBypass:
items:
$ref: '#/components/schemas/ACLAction'
type: array
buildMachine:
items:
$ref: '#/components/schemas/ACLAction'
type: array
connectConfigurationLink:
items:
$ref: '#/components/schemas/ACLAction'
type: array
dataCacheNamespace:
items:
$ref: '#/components/schemas/ACLAction'
type: array
deployment:
items:
$ref: '#/components/schemas/ACLAction'
type: array
deploymentBuildLogs:
items:
$ref: '#/components/schemas/ACLAction'
type: array
deploymentCheck:
items:
$ref: '#/components/schemas/ACLAction'
type: array
deploymentCheckPreview:
items:
$ref: '#/components/schemas/ACLAction'
type: array
deploymentCheckReRunFromProductionBranch:
items:
$ref: '#/components/schemas/ACLAction'
type: array
deploymentProductionGit:
items:
$ref: '#/components/schemas/ACLAction'
type: array
deploymentV0:
items:
$ref: '#/components/schemas/ACLAction'
type: array
deploymentPreview:
items:
$ref: '#/components/schemas/ACLAction'
type: array
deploymentPrivate:
items:
$ref: '#/components/schemas/ACLAction'
type: array
deploymentPromote:
items:
$ref: '#/components/schemas/ACLAction'
type: array
deploymentRollback:
items:
$ref: '#/components/schemas/ACLAction'
type: array
edgeCacheNamespace:
items:
$ref: '#/components/schemas/ACLAction'
type: array
environments:
items:
$ref: '#/components/schemas/ACLAction'
type: array
job:
items:
$ref: '#/components/schemas/ACLAction'
type: array
logs:
items:
$ref: '#/components/schemas/ACLAction'
type: array
logsPreset:
items:
$ref: '#/components/schemas/ACLAction'
type: array
observabilityData:
items:
$ref: '#/components/schemas/ACLAction'
type: array
onDemandBuild:
items:
$ref: '#/components/schemas/ACLAction'
type: array
onDemandConcurrency:
items:
$ref: '#/components/schemas/ACLAction'
type: array
optionsAllowlist:
items:
$ref: '#/components/schemas/ACLAction'
type: array
passwordProtection:
items:
$ref: '#/components/schemas/ACLAction'
type: array
productionAliasProtectionBypass:
items:
$ref: '#/components/schemas/ACLAction'
type: array
project:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectAccessGroup:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectAnalyticsSampling:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectAnalyticsUsage:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectCheck:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectCheckRun:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectDeploymentExpiration:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectDeploymentHook:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectDeploymentProtectionStrict:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectDomain:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectDomainCheckConfig:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectDomainMove:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectEnvVars:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectEnvVarsProduction:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectEnvVarsUnownedByIntegration:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectFlags:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectFlagsProduction:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectFromV0:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectId:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectIntegrationConfiguration:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectLink:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectMember:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectMonitoring:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectOIDCToken:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectPermissions:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectProductionBranch:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectProtectionBypass:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectRollingRelease:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectSupportCase:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectSupportCaseComment:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectTier:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectTransfer:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectTransferOut:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectUsage:
items:
$ref: '#/components/schemas/ACLAction'
type: array
seawallConfig:
items:
$ref: '#/components/schemas/ACLAction'
type: array
sharedEnvVarConnection:
items:
$ref: '#/components/schemas/ACLAction'
type: array
skewProtection:
items:
$ref: '#/components/schemas/ACLAction'
type: array
analytics:
items:
$ref: '#/components/schemas/ACLAction'
type: array
trustedIps:
items:
$ref: '#/components/schemas/ACLAction'
type: array
v0Chat:
items:
$ref: '#/components/schemas/ACLAction'
type: array
webAnalytics:
items:
$ref: '#/components/schemas/ACLAction'
type: array
type: object
lastRollbackTarget:
nullable: true
type: object
lastAliasRequest:
nullable: true
properties:
fromDeploymentId:
nullable: true
type: string
toDeploymentId:
type: string
fromRollingReleaseId:
type: string
description: >-
If rolling back from a rolling release,
fromDeploymentId captures the "base" of that rolling
release, and fromRollingReleaseId captures the
"target" of that rolling release.
jobStatus:
type: string
enum:
- succeeded
- failed
- skipped
- pending
- in-progress
requestedAt:
type: number
type:
type: string
enum:
- promote
- rollback
required:
- fromDeploymentId
- jobStatus
- requestedAt
- toDeploymentId
- type
type: object
protectionBypass:
additionalProperties:
oneOf:
- properties:
createdAt:
type: number
createdBy:
type: string
scope:
type: string
enum:
- integration-automation-bypass
integrationId:
type: string
configurationId:
type: string
required:
- configurationId
- createdAt
- createdBy
- integrationId
- scope
type: object
- properties:
createdAt:
type: number
createdBy:
type: string
scope:
type: string
enum:
- automation-bypass
isEnvVar:
type: boolean
enum:
- false
- true
description: >-
When there was only one bypass, it was
automatically set as an env var on deployments.
With multiple bypasses, there is always one
bypass that is selected as the default, and gets
set as an env var on deployments. As this is a
new field, undefined means that the bypass is
the env var. If there are any automation
bypasses, exactly one must be the env var.
note:
type: string
description: >-
Optional note about the bypass to be displayed
in the UI
required:
- createdAt
- createdBy
- scope
type: object
type: object
hasActiveBranches:
type: boolean
enum:
- false
- true
trustedIps:
nullable: true
oneOf:
- properties:
deploymentType:
type: string
enum:
- production
- preview
- all
- prod_deployment_urls_and_all_previews
- all_except_custom_domains
addresses:
items:
properties:
value:
type: string
note:
type: string
required:
- value
type: object
type: array
protectionMode:
type: string
enum:
- additional
- exclusive
required:
- addresses
- deploymentType
- protectionMode
type: object
- properties:
deploymentType:
type: string
enum:
- production
- preview
- all
- prod_deployment_urls_and_all_previews
- all_except_custom_domains
required:
- deploymentType
type: object
gitComments:
properties:
onPullRequest:
type: boolean
enum:
- false
- true
description: Whether the Vercel bot should comment on PRs
onCommit:
type: boolean
enum:
- false
- true
description: Whether the Vercel bot should comment on commits
required:
- onCommit
- onPullRequest
type: object
gitProviderOptions:
properties:
createDeployments:
type: string
enum:
- enabled
- disabled
description: >-
Whether the Vercel bot should automatically create
GitHub deployments
https://docs.github.com/en/rest/deployments/deployments#about-deployments
NOTE: repository-dispatch events should be used
instead
disableRepositoryDispatchEvents:
type: boolean
enum:
- false
- true
description: >-
Whether the Vercel bot should not automatically create
GitHub repository-dispatch events on deployment
events.
https://vercel.com/docs/git/vercel-for-github#repository-dispatch-events
requireVerifiedCommits:
type: boolean
enum:
- false
- true
description: >-
Whether the project requires commits to be signed
before deployments will be created.
required:
- createDeployments
type: object
paused:
type: boolean
enum:
- false
- true
concurrencyBucketName:
type: string
webAnalytics:
properties:
id:
type: string
disabledAt:
type: number
canceledAt:
type: number
enabledAt:
type: number
hasData:
type: boolean
enum:
- true
required:
- id
type: object
security:
properties:
attackModeEnabled:
type: boolean
enum:
- false
- true
attackModeUpdatedAt:
type: number
firewallEnabled:
type: boolean
enum:
- false
- true
firewallUpdatedAt:
type: number
attackModeActiveUntil:
nullable: true
type: number
firewallConfigVersion:
type: number
firewallSeawallEnabled:
type: boolean
enum:
- false
- true
ja3Enabled:
type: boolean
enum:
- false
- true
ja4Enabled:
type: boolean
enum:
- false
- true
firewallBypassIps:
items:
type: string
type: array
managedRules:
nullable: true
properties:
vercel_ruleset:
properties:
active:
type: boolean
enum:
- false
- true
action:
type: string
enum:
- log
- deny
- challenge
required:
- active
type: object
bot_filter:
properties:
active:
type: boolean
enum:
- false
- true
action:
type: string
enum:
- log
- deny
- challenge
required:
- active
type: object
ai_bots:
properties:
active:
type: boolean
enum:
- false
- true
action:
type: string
enum:
- log
- deny
- challenge
required:
- active
type: object
owasp:
properties:
active:
type: boolean
enum:
- false
- true
action:
type: string
enum:
- log
- deny
- challenge
required:
- active
type: object
required:
- ai_bots
- bot_filter
- owasp
- vercel_ruleset
type: object
botIdEnabled:
type: boolean
enum:
- false
- true
type: object
oidcTokenConfig:
properties:
enabled:
type: boolean
enum:
- false
- true
description: >-
Whether or not to generate OpenID Connect JSON Web
Tokens.
issuerMode:
type: string
enum:
- team
- global
description: >-
- team: `https://oidc.vercel.com/[team_slug]` -
global: `https://oidc.vercel.com`
type: object
tier:
type: string
enum:
- standard
- advanced
- critical
features:
properties:
webAnalytics:
type: boolean
enum:
- false
- true
type: object
v0:
type: boolean
enum:
- false
- true
abuse:
properties:
scanner:
type: string
history:
items:
properties:
scanner:
type: string
reason:
type: string
by:
type: string
byId:
type: string
at:
type: number
required:
- at
- by
- byId
- reason
- scanner
type: object
type: array
updatedAt:
type: number
block:
properties:
action:
type: string
enum:
- blocked
reason:
type: string
statusCode:
type: number
createdAt:
type: number
caseId:
type: string
actor:
type: string
comment:
type: string
ineligibleForAppeal:
type: boolean
enum:
- false
- true
isCascading:
type: boolean
enum:
- false
- true
required:
- action
- createdAt
- reason
- statusCode
type: object
blockHistory:
items:
oneOf:
- properties:
action:
type: string
enum:
- blocked
reason:
type: string
statusCode:
type: number
createdAt:
type: number
caseId:
type: string
actor:
type: string
comment:
type: string
ineligibleForAppeal:
type: boolean
enum:
- false
- true
isCascading:
type: boolean
enum:
- false
- true
required:
- action
- createdAt
- reason
- statusCode
type: object
- properties:
action:
type: string
enum:
- unblocked
createdAt:
type: number
caseId:
type: string
actor:
type: string
comment:
type: string
ineligibleForAppeal:
type: boolean
enum:
- false
- true
isCascading:
type: boolean
enum:
- false
- true
required:
- action
- createdAt
type: object
- properties:
action:
type: string
enum:
- route-blocked
route:
oneOf:
- properties:
src:
type: string
status:
type: number
required:
- src
- status
type: object
- properties:
has:
items:
oneOf:
- properties:
type:
type: string
enum:
- header
key:
type: string
enum:
- x-vercel-ip-country
value:
properties:
eq:
type: string
required:
- eq
type: object
required:
- key
- type
- value
type: object
- properties:
type:
type: string
enum:
- host
value:
properties:
eq:
type: string
required:
- eq
type: object
required:
- type
- value
type: object
type: array
mitigate:
properties:
action:
type: string
enum:
- block_legal_cwc
required:
- action
type: object
src:
type: string
required:
- has
- mitigate
type: object
reason:
type: string
createdAt:
type: number
caseId:
type: string
actor:
type: string
comment:
type: string
ineligibleForAppeal:
type: boolean
enum:
- false
- true
isCascading:
type: boolean
enum:
- false
- true
required:
- action
- createdAt
- reason
- route
type: object
- properties:
action:
type: string
enum:
- route-unblocked
route:
oneOf:
- properties:
src:
type: string
status:
type: number
required:
- src
- status
type: object
- properties:
has:
items:
oneOf:
- properties:
type:
type: string
enum:
- header
key:
type: string
enum:
- x-vercel-ip-country
value:
properties:
eq:
type: string
required:
- eq
type: object
required:
- key
- type
- value
type: object
- properties:
type:
type: string
enum:
- host
value:
properties:
eq:
type: string
required:
- eq
type: object
required:
- type
- value
type: object
type: array
mitigate:
properties:
action:
type: string
enum:
- block_legal_cwc
required:
- action
type: object
src:
type: string
required:
- has
- mitigate
type: object
statusCode:
type: number
createdAt:
type: number
caseId:
type: string
actor:
type: string
comment:
type: string
ineligibleForAppeal:
type: boolean
enum:
- false
- true
isCascading:
type: boolean
enum:
- false
- true
required:
- action
- createdAt
- route
type: object
type: array
interstitial:
type: boolean
enum:
- false
- true
required:
- history
- updatedAt
type: object
internalRoutes:
items:
oneOf:
- properties:
src:
type: string
status:
type: number
required:
- src
- status
type: object
- properties:
has:
items:
oneOf:
- properties:
type:
type: string
enum:
- header
key:
type: string
enum:
- x-vercel-ip-country
value:
properties:
eq:
type: string
required:
- eq
type: object
required:
- key
- type
- value
type: object
- properties:
type:
type: string
enum:
- host
value:
properties:
eq:
type: string
required:
- eq
type: object
required:
- type
- value
type: object
type: array
mitigate:
properties:
action:
type: string
enum:
- block_legal_cwc
required:
- action
type: object
src:
type: string
required:
- has
- mitigate
type: object
type: array
hasDeployments:
type: boolean
enum:
- false
- true
dismissedToasts:
items:
properties:
key:
type: string
dismissedAt:
type: number
action:
type: string
enum:
- delete
- cancel
- accept
value:
nullable: true
oneOf:
- type: string
- type: number
- properties:
previousValue:
oneOf:
- type: string
- type: number
- type: boolean
enum:
- false
- true
currentValue:
oneOf:
- type: string
- type: number
- type: boolean
enum:
- false
- true
required:
- currentValue
- previousValue
type: object
- type: boolean
enum:
- false
- true
required:
- action
- dismissedAt
- key
- value
type: object
type: array
protectedSourcemaps:
type: boolean
enum:
- false
- true
required:
- accountId
- defaultResourceConfig
- directoryListing
- id
- name
- nodeVersion
- resourceConfig
type: object
'400':
description: |-
One of the provided values in the request body is invalid.
One of the provided values in the request query is invalid.
At least one environment variable failed validation
The Bitbucket Webhook for the project link could not be created
The Gitlab Webhook for the project link could not be created
'401':
description: The request is not authorized.
'402':
description: >-
The account was soft-blocked for an unhandled reason.
The account is missing a payment so payment method must be updated
Pro customers are allowed to deploy Serverless Functions to up to
`proMaxRegions` regions, or if the project was created before the
limit was introduced.
Deploying to Serverless Functions to multiple regions requires a
plan update
'403':
description: You do not have permission to access this resource.
'404':
description: ''
'409':
description: A project with the provided name already exists.
'428':
description: Owner does not have protection add-on
'429':
description: ''
'500':
description: ''
security:
- bearerToken: []
components:
schemas:
ACLAction:
type: string
enum:
- create
- delete
- read
- update
- list
description: >-
Enum containing the actions that can be performed against a resource.
Group operations are included.
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/connect/create-a-secure-compute-network.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Create a Secure Compute network
> Allows to create a Secure Compute network.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples post /v1/connect/networks
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/connect/networks:
post:
tags:
- connect
summary: Create a Secure Compute network
description: Allows to create a Secure Compute network.
operationId: createNetwork
parameters:
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
requestBody:
content:
application/json:
schema:
type: object
additionalProperties: false
properties:
awsAvailabilityZoneIds:
type: array
items:
type: string
description: An AWS Availability Zone ID to use for the network
example: use1-az1
minItems: 2
maxItems: 2
cidr:
type: string
description: The CIDR block of the network
example: 192.168.0.0/16
name:
type: string
description: The name of the network
maxLength: 255
region:
type: string
description: The region where the network will be created
example: iad1
required:
- cidr
- name
- region
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Network'
'400':
description: One of the provided values in the request body is invalid.
'401':
description: The request is not authorized.
'402':
description: |-
The account was soft-blocked for an unhandled reason.
The account is missing a payment so payment method must be updated
'403':
description: You do not have permission to access this resource.
'404':
description: ''
'409':
description: ''
security:
- bearerToken: []
components:
schemas:
Network:
properties:
awsAccountId:
type: string
description: The ID of the AWS Account in which the network exists.
awsAvailabilityZoneIds:
items:
type: string
type: array
description: >-
The IDs of the AWS Availability Zones in which the network exists,
if specified during creation.
awsRegion:
type: string
description: The AWS Region in which the network exists.
cidr:
type: string
description: The CIDR range of the Network.
createdAt:
type: number
description: >-
The date at which the Network was created, represented as a UNIX
timestamp since EPOCH.
egressIpAddresses:
items:
type: string
type: array
hostedZones:
properties:
count:
type: number
description: >-
The number of AWS Route53 Hosted Zones associated with the
Network.
required:
- count
type: object
description: >-
Metadata about any AWS Route53 Hosted Zones associated with the
Network.
id:
type: string
description: The unique identifier of the Network.
name:
type: string
description: The name of the network.
peeringConnections:
properties:
count:
type: number
description: >-
The number of AWS Route53 Hosted Zones associated with the
Network.
required:
- count
type: object
description: >-
Metadata about any AWS Route53 Hosted Zones associated with the
Network.
projects:
properties:
count:
type: number
ids:
items:
type: string
type: array
required:
- count
- ids
type: object
description: Metadata about any projects associated with the Network.
region:
type: string
description: The Vercel region in which the Network exists.
status:
type: string
enum:
- create_in_progress
- delete_in_progress
- error
- ready
description: The status of the Network.
teamId:
type: string
description: The unique identifier of the Team that owns the Network.
vpcId:
type: string
description: The ID of the VPC which hosts the network.
required:
- awsAccountId
- awsRegion
- cidr
- createdAt
- id
- name
- status
- teamId
type: object
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/teams/create-a-team.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Create a Team
> Create a new Team under your account. You need to send a POST request with the desired Team slug, and optionally the Team name.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples post /v1/teams
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/teams:
post:
tags:
- teams
summary: Create a Team
description: >-
Create a new Team under your account. You need to send a POST request
with the desired Team slug, and optionally the Team name.
operationId: createTeam
parameters: []
requestBody:
content:
application/json:
schema:
type: object
additionalProperties: false
required:
- slug
properties:
slug:
example: a-random-team
description: The desired slug for the Team
type: string
maxLength: 48
name:
example: A Random Team
description: >-
The desired name for the Team. It will be generated from the
provided slug if nothing is provided
type: string
maxLength: 256
attribution:
type: object
description: Attribution information for the session or current page
properties:
sessionReferrer:
type: string
description: Session referrer
landingPage:
type: string
description: Session landing page
pageBeforeConversionPage:
type: string
description: Referrer to the signup page
utm:
type: object
properties:
utmSource:
type: string
description: UTM source
utmMedium:
type: string
description: UTM medium
utmCampaign:
type: string
description: UTM campaign
utmTerm:
type: string
description: UTM term
required: true
responses:
'200':
description: The team was created successfully
content:
application/json:
schema:
properties:
id:
type: string
description: Id of the created team
example: team_nLlpyC6RE1qxqglFKbrMxlud
slug:
type: string
required:
- id
- slug
type: object
description: The team was created successfully
'400':
description: |-
One of the provided values in the request body is invalid.
The slug is already in use
'401':
description: ''
'403':
description: You do not have permission to access this resource.
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/access-groups/create-an-access-group-project.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Create an access group project
> Allows creation of an access group project
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples post /v1/access-groups/{accessGroupIdOrName}/projects
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/access-groups/{accessGroupIdOrName}/projects:
post:
tags:
- access-groups
summary: Create an access group project
description: Allows creation of an access group project
operationId: createAccessGroupProject
parameters:
- name: accessGroupIdOrName
in: path
required: true
schema:
type: string
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
requestBody:
content:
application/json:
schema:
type: object
additionalProperties: false
required:
- role
- projectId
properties:
projectId:
type: string
maxLength: 256
example: prj_ndlgr43fadlPyCtREAqxxdyFK
description: The ID of the project.
role:
type: string
example: ADMIN
description: The project role that will be added to this Access Group.
enum:
- ADMIN
- PROJECT_VIEWER
- PROJECT_DEVELOPER
required: true
responses:
'200':
description: ''
content:
application/json:
schema:
properties:
teamId:
type: string
accessGroupId:
type: string
projectId:
type: string
role:
type: string
enum:
- ADMIN
- PROJECT_DEVELOPER
- PROJECT_VIEWER
- PROJECT_GUEST
createdAt:
type: string
updatedAt:
type: string
required:
- accessGroupId
- createdAt
- projectId
- role
- teamId
- updatedAt
type: object
'400':
description: |-
One of the provided values in the request body is invalid.
One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/authentication/create-an-auth-token.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Create an Auth Token
> 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.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples post /v3/user/tokens
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v3/user/tokens:
post:
tags:
- authentication
summary: Create an Auth Token
description: >-
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.
operationId: createAuthToken
parameters:
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
requestBody:
content:
application/json:
schema:
type: object
additionalProperties: false
required:
- name
properties:
name:
type: string
expiresAt:
type: number
required: true
responses:
'200':
description: Successful response.
content:
application/json:
schema:
properties:
token:
$ref: '#/components/schemas/AuthToken'
bearerToken:
type: string
description: >-
The authentication token's actual value. This token is
only provided in this response, and can never be retrieved
again in the future. Be sure to save it somewhere safe!
example: uRKJSTt0L4RaSkiMj41QTkxM
required:
- bearerToken
- token
type: object
description: Successful response.
'400':
description: One of the provided values in the request body is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
security:
- bearerToken: []
components:
schemas:
AuthToken:
properties:
id:
type: string
description: The unique identifier of the token.
example: 5d9f2ebd38ddca62e5d51e9c1704c72530bdc8bfdd41e782a6687c48399e8391
name:
type: string
description: The human-readable name of the token.
type:
type: string
description: The type of the token.
example: oauth2-token
origin:
type: string
description: The origin of how the token was created.
example: github
scopes:
items:
oneOf:
- properties:
type:
type: string
enum:
- user
sudo:
properties:
origin:
type: string
enum:
- totp
- webauthn
- recovery-code
description: Possible multi-factor origins
expiresAt:
type: number
required:
- expiresAt
- origin
type: object
origin:
type: string
enum:
- saml
- github
- gitlab
- bitbucket
- email
- manual
- passkey
- otp
- sms
- invite
- google
- apple
- app
createdAt:
type: number
expiresAt:
type: number
required:
- createdAt
- type
type: object
description: The access scopes granted to the token.
- properties:
type:
type: string
enum:
- team
teamId:
type: string
origin:
type: string
enum:
- saml
- github
- gitlab
- bitbucket
- email
- manual
- passkey
- otp
- sms
- invite
- google
- apple
- app
createdAt:
type: number
expiresAt:
type: number
required:
- createdAt
- teamId
- type
type: object
description: The access scopes granted to the token.
type: array
description: The access scopes granted to the token.
expiresAt:
type: number
description: Timestamp (in milliseconds) of when the token expires.
example: 1632816536002
activeAt:
type: number
description: >-
Timestamp (in milliseconds) of when the token was most recently
used.
example: 1632816536002
createdAt:
type: number
description: Timestamp (in milliseconds) of when the token was created.
example: 1632816536002
leakedAt:
type: number
description: Timestamp (in milliseconds) of when the token was marked as leaked.
example: 1632816536002
required:
- activeAt
- createdAt
- id
- name
- type
type: object
description: Authentication token metadata.
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/edge-config/create-an-edge-config-token.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Create an Edge Config token
> Adds a token to an existing Edge Config.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples post /v1/edge-config/{edgeConfigId}/token
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/edge-config/{edgeConfigId}/token:
post:
tags:
- edge-config
summary: Create an Edge Config token
description: Adds a token to an existing Edge Config.
operationId: createEdgeConfigToken
parameters:
- name: edgeConfigId
in: path
required: true
schema:
type: string
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
requestBody:
content:
application/json:
schema:
type: object
additionalProperties: false
required:
- label
properties:
label:
maxLength: 52
type: string
required: true
responses:
'201':
description: ''
content:
application/json:
schema:
properties:
token:
type: string
id:
type: string
required:
- id
- token
type: object
'400':
description: |-
One of the provided values in the request body is invalid.
One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'402':
description: |-
The account was soft-blocked for an unhandled reason.
The account is missing a payment so payment method must be updated
'403':
description: You do not have permission to access this resource.
'404':
description: ''
'409':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/edge-config/create-an-edge-config.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Create an Edge Config
> Creates an Edge Config.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples post /v1/edge-config
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/edge-config:
post:
tags:
- edge-config
summary: Create an Edge Config
description: Creates an Edge Config.
operationId: createEdgeConfig
parameters:
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
requestBody:
content:
application/json:
schema:
type: object
required:
- slug
properties:
slug:
maxLength: 64
pattern: ^[\\w-]+$
type: string
items:
type: object
additionalProperties: {}
required: true
responses:
'201':
description: ''
content:
application/json:
schema:
properties:
transfer:
properties:
fromAccountId:
type: string
startedAt:
type: number
doneAt:
nullable: true
type: number
required:
- doneAt
- fromAccountId
- startedAt
type: object
description: >-
Keeps track of the current state of the Edge Config while
it gets transferred.
id:
type: string
createdAt:
type: number
createdBy:
type: string
description: >-
The ID of the user who created the Edge Config, optional
because it is not always set.
ownerId:
type: string
slug:
type: string
description: >-
Name for the Edge Config Names are not unique. Must start
with an alphabetic character and can contain only
alphanumeric characters and underscores).
updatedAt:
type: number
digest:
type: string
purpose:
oneOf:
- properties:
type:
type: string
enum:
- flags
projectId:
type: string
required:
- projectId
- type
type: object
- properties:
type:
type: string
enum:
- experimentation
resourceId:
type: string
required:
- resourceId
- type
type: object
deletedAt:
nullable: true
type: number
schema:
type: object
syncedToDynamoAt:
type: number
description: >-
Timestamp of when the Edge Config was synced to DynamoDB
initially. It is only set when syncing the entire Edge
Config, not when updating.
sizeInBytes:
type: number
itemCount:
type: number
required:
- createdAt
- digest
- id
- itemCount
- ownerId
- sizeInBytes
- slug
- updatedAt
type: object
description: An Edge Config
'400':
description: One of the provided values in the request body is invalid.
'401':
description: The request is not authorized.
'402':
description: |-
The account was soft-blocked for an unhandled reason.
The account is missing a payment so payment method must be updated
'403':
description: You do not have permission to access this resource.
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/marketplace/create-event.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Create Event
> Partner 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.
`resource.updated` event should be dispatched when any state of a resource linked to Vercel is modified by the partner.
`installation.updated` event should be dispatched when an installation's billing plan is changed via the provider instead of Vercel.
Resource update use cases:
- 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.
- 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.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples post /v1/installations/{integrationConfigurationId}/events
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/installations/{integrationConfigurationId}/events:
post:
tags:
- marketplace
summary: Create Event
description: >-
Partner 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.
`resource.updated` event should be
dispatched when any state of a resource linked to Vercel is modified by
the partner.
`installation.updated` event should be dispatched when
an installation's billing plan is changed via the provider instead of
Vercel.
Resource update use cases:
- 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.
- 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.
operationId: create-event
parameters:
- name: integrationConfigurationId
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
required:
- event
properties:
event:
oneOf:
- type: object
properties:
type:
type: string
enum:
- installation.updated
billingPlanId:
type: string
description: The installation-level billing plan ID
required:
- type
additionalProperties: false
- type: object
properties:
type:
type: string
enum:
- resource.updated
productId:
type: string
description: Partner-provided product slug or id
resourceId:
type: string
description: Partner provided resource ID
required:
- type
- resourceId
additionalProperties: false
additionalProperties: false
required: true
responses:
'201':
description: ''
'400':
description: |-
One of the provided values in the request body is invalid.
One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/integrations/create-integration-store-free-and-paid-plans.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Create integration store (free and paid plans)
> Creates 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.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples post /v1/storage/stores/integration/direct
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/storage/stores/integration/direct:
post:
tags:
- integrations
summary: Create integration store (free and paid plans)
description: >-
Creates 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.
operationId: createIntegrationStoreDirect
parameters:
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
requestBody:
content:
application/json:
schema:
type: object
required:
- name
- integrationConfigurationId
- integrationProductIdOrSlug
properties:
name:
type: string
maxLength: 128
description: Human-readable name for the storage resource
example: my-dev-database
integrationConfigurationId:
type: string
description: >-
ID of your integration configuration. Get this from GET
/v1/integrations/configurations
example: icfg_cuwj0AdCdH3BwWT4LPijCC7t
pattern: ^icfg_[a-zA-Z0-9]+$
integrationProductIdOrSlug:
type: string
description: >-
ID or slug of the integration product. Get available
products from GET
/v1/integrations/configuration/{id}/products
example: iap_postgres_db
oneOf:
- pattern: ^iap_[a-zA-Z0-9_]+$
description: Product ID format
- pattern: ^[a-z0-9-]+$
description: Product slug format
metadata:
type: object
description: Optional key-value pairs for resource metadata
additionalProperties:
oneOf:
- type: string
- type: number
- type: boolean
- items:
type: string
type: array
- items:
type: number
type: array
example:
environment: development
project: my-app
tags:
- database
- postgres
externalId:
type: string
description: Optional external identifier for tracking purposes
example: dev-db-001
protocolSettings:
type: object
description: Protocol-specific configuration settings
additionalProperties: true
example:
experimentation:
edgeConfigSyncingEnabled: true
source:
description: Source of the store creation request
example: marketplace
default: marketplace
type: string
enum:
- marketplace
- deploy-button
- external
- v0
- resource-claims
- cli
- oauth
- backoffice
billingPlanId:
type: string
description: >-
ID of the billing plan for paid resources. Get available
plans from GET
/integrations/integration/{id}/products/{productId}/plans.
If not provided, automatically discovers free billing plans.
example: bp_abc123def456
paymentMethodId:
type: string
description: >-
Payment method ID for paid resources. Optional - uses
default payment method if not provided.
example: pm_1AbcDefGhiJklMno
prepaymentAmountCents:
type: number
minimum: 50
description: >-
Amount in cents for prepayment billing plans. Required only
for prepayment plans with variable amounts.
example: 5000
responses:
'200':
description: ''
content:
application/json:
schema:
properties:
store:
nullable: true
type: object
properties:
projectsMetadata:
items:
properties:
id:
type: string
projectId:
type: string
name:
type: string
framework:
nullable: true
type: string
enum:
- blitzjs
- nextjs
- gatsby
- remix
- react-router
- astro
- hexo
- eleventy
- docusaurus-2
- docusaurus
- preact
- solidstart-1
- solidstart
- dojo
- ember
- vue
- scully
- ionic-angular
- angular
- polymer
- svelte
- sveltekit
- sveltekit-1
- ionic-react
- create-react-app
- gridsome
- umijs
- sapper
- saber
- stencil
- nuxtjs
- redwoodjs
- hugo
- jekyll
- brunch
- middleman
- zola
- hydrogen
- vite
- tanstack-start
- vitepress
- vuepress
- parcel
- fastapi
- flask
- fasthtml
- sanity-v3
- sanity
- storybook
- nitro
- hono
- express
- h3
- koa
- nestjs
- elysia
- fastify
- xmcp
- python
- ruby
- rust
- node
- services
latestDeployment:
type: string
environments:
items:
type: string
enum:
- production
- preview
- development
type: array
envVarPrefix:
nullable: true
type: string
environmentVariables:
items:
type: string
type: array
deployments:
properties:
required:
type: boolean
enum:
- false
- true
actions:
items:
properties:
slug:
type: string
environments:
items:
type: string
enum:
- production
- preview
- development
type: array
required:
- environments
- slug
type: object
type: array
required:
- actions
- required
type: object
required:
- envVarPrefix
- environmentVariables
- environments
- id
- name
- projectId
type: object
type: array
projectFilter:
properties:
git:
properties:
providers:
oneOf:
- items:
type: string
enum:
- github
- gitlab
- bitbucket
type: array
- type: string
enum:
- '*'
owners:
items:
type: string
type: array
repos:
items:
type: string
type: array
required:
- providers
type: object
type: object
totalConnectedProjects:
type: number
usageQuotaExceeded:
type: boolean
enum:
- false
- true
status:
nullable: true
type: string
enum:
- available
- error
- suspended
- limits-exceeded-suspended
- limits-exceeded-suspended-store-count
- initializing
- onboarding
- uninstalled
ownership:
type: string
enum:
- owned
- linked
- sandbox
capabilities:
properties:
mcp:
type: boolean
enum:
- false
- true
mcpReadonly:
type: boolean
enum:
- false
- true
sso:
type: boolean
enum:
- false
- true
billable:
type: boolean
enum:
- false
- true
transferable:
type: boolean
enum:
- false
- true
secretsSync:
type: boolean
enum:
- false
- true
secretRotation:
oneOf:
- properties:
maxDelayHours:
type: number
required:
- maxDelayHours
type: object
- type: boolean
enum:
- false
projects:
type: boolean
enum:
- false
- true
v0:
type: boolean
enum:
- false
- true
type: object
metadata:
additionalProperties:
oneOf:
- type: string
- type: number
- items:
type: string
type: array
- items:
type: number
type: array
- type: boolean
enum:
- false
- true
type: object
externalResourceId:
type: string
externalResourceStatus:
nullable: true
type: string
enum:
- error
- suspended
- onboarding
- uninstalled
- ready
- pending
- resumed
directPartnerConsoleUrl:
type: string
product:
properties:
id:
type: string
name:
type: string
slug:
type: string
iconUrl:
type: string
capabilities:
properties:
mcp:
type: boolean
enum:
- false
- true
mcpReadonly:
type: boolean
enum:
- false
- true
sso:
type: boolean
enum:
- false
- true
billable:
type: boolean
enum:
- false
- true
transferable:
type: boolean
enum:
- false
- true
secretsSync:
type: boolean
enum:
- false
- true
secretRotation:
oneOf:
- properties:
maxDelayHours:
type: number
required:
- maxDelayHours
type: object
- type: boolean
enum:
- false
sandbox:
type: boolean
enum:
- false
- true
linking:
type: boolean
enum:
- false
- true
projects:
type: boolean
enum:
- false
- true
v0:
type: boolean
enum:
- false
- true
importResource:
type: boolean
enum:
- false
- true
connectedImportResource:
type: boolean
enum:
- false
- true
nativeImportResource:
type: boolean
enum:
- false
- true
type: object
shortDescription:
type: string
metadataSchema:
properties:
type:
type: string
enum:
- object
properties:
additionalProperties:
oneOf:
- properties:
type:
type: string
enum:
- string
ui:control:
type: string
enum:
- input
description:
type: string
enum:
items:
type: string
type: array
maxLength:
type: number
minLength:
type: number
pattern:
type: string
default:
type: string
ui:label:
type: string
ui:read-only:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
ui:hidden:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
ui:disabled:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
ui:description:
oneOf:
- type: string
- properties:
expr:
type: string
required:
- expr
type: object
ui:formatted-value:
properties:
expr:
type: string
required:
- expr
type: object
ui:placeholder:
type: string
required:
- type
- ui:control
type: object
- properties:
type:
type: string
enum:
- number
ui:control:
type: string
enum:
- input
minimum:
type: number
maximum:
type: number
description:
type: string
exclusiveMaximum:
type: number
exclusiveMinimum:
type: number
default:
type: number
ui:label:
type: string
ui:read-only:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
ui:hidden:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
ui:disabled:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
ui:description:
oneOf:
- type: string
- properties:
expr:
type: string
required:
- expr
type: object
ui:formatted-value:
properties:
expr:
type: string
required:
- expr
type: object
ui:placeholder:
type: string
required:
- type
- ui:control
type: object
- properties:
type:
type: string
enum:
- boolean
ui:control:
type: string
enum:
- toggle
description:
type: string
default:
type: boolean
enum:
- false
- true
ui:label:
type: string
ui:read-only:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
ui:hidden:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
ui:disabled:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
ui:description:
oneOf:
- type: string
- properties:
expr:
type: string
required:
- expr
type: object
ui:formatted-value:
properties:
expr:
type: string
required:
- expr
type: object
required:
- type
- ui:control
type: object
- properties:
type:
type: string
enum:
- array
items:
properties:
type:
type: string
enum:
- number
description:
type: string
minimum:
type: number
exclusiveMinimum:
type: number
maximum:
type: number
exclusiveMaximum:
type: number
default:
type: number
required:
- type
type: object
ui:control:
type: string
enum:
- slider
ui:steps:
items:
type: number
type: array
description:
type: string
maxItems:
type: number
minItems:
type: number
ui:label:
type: string
ui:read-only:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
ui:hidden:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
ui:disabled:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
ui:description:
oneOf:
- type: string
- properties:
expr:
type: string
required:
- expr
type: object
ui:formatted-value:
properties:
expr:
type: string
required:
- expr
type: object
default:
items:
type: number
type: array
required:
- items
- type
- ui:control
- ui:steps
type: object
- properties:
type:
type: string
enum:
- string
ui:control:
type: string
enum:
- select
ui:options:
items:
properties:
value:
type: string
label:
type: string
disabled:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
hidden:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
required:
- label
- value
type: object
type: array
description:
type: string
enum:
items:
type: string
type: array
maxLength:
type: number
minLength:
type: number
pattern:
type: string
default:
type: string
ui:label:
type: string
ui:read-only:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
ui:hidden:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
ui:disabled:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
ui:description:
oneOf:
- type: string
- properties:
expr:
type: string
required:
- expr
type: object
ui:formatted-value:
properties:
expr:
type: string
required:
- expr
type: object
ui:placeholder:
type: string
required:
- type
- ui:control
- ui:options
type: object
- properties:
type:
type: string
enum:
- array
items:
properties:
type:
type: string
enum:
- string
description:
type: string
minLength:
type: number
maxLength:
type: number
pattern:
type: string
default:
type: string
enum:
items:
type: string
type: array
required:
- type
type: object
ui:control:
type: string
enum:
- multi-select
ui:options:
items:
properties:
value:
type: string
label:
type: string
disabled:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
hidden:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
required:
- label
- value
type: object
type: array
description:
type: string
maxItems:
type: number
minItems:
type: number
ui:label:
type: string
ui:read-only:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
ui:hidden:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
ui:disabled:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
ui:description:
oneOf:
- type: string
- properties:
expr:
type: string
required:
- expr
type: object
ui:formatted-value:
properties:
expr:
type: string
required:
- expr
type: object
ui:placeholder:
type: string
default:
items:
type: string
type: array
example:
items:
type: string
type: array
required:
- items
- type
- ui:control
- ui:options
type: object
- properties:
type:
type: string
enum:
- string
ui:control:
type: string
enum:
- vercel-region
ui:options:
items:
oneOf:
- properties:
value:
type: string
label:
type: string
disabled:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
hidden:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
required:
- label
- value
type: object
- type: string
- properties:
value:
type: string
disabled:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
hidden:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
required:
- value
type: object
type: array
description:
type: string
enum:
items:
type: string
type: array
maxLength:
type: number
minLength:
type: number
pattern:
type: string
default:
type: string
ui:label:
type: string
ui:read-only:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
ui:hidden:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
ui:disabled:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
ui:description:
oneOf:
- type: string
- properties:
expr:
type: string
required:
- expr
type: object
ui:formatted-value:
properties:
expr:
type: string
required:
- expr
type: object
ui:placeholder:
type: string
required:
- type
- ui:control
- ui:options
type: object
- properties:
type:
type: string
enum:
- array
items:
properties:
type:
type: string
enum:
- string
description:
type: string
minLength:
type: number
maxLength:
type: number
pattern:
type: string
default:
type: string
enum:
items:
type: string
type: array
required:
- type
type: object
ui:control:
type: string
enum:
- multi-vercel-region
ui:options:
items:
oneOf:
- properties:
value:
type: string
label:
type: string
disabled:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
hidden:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
required:
- label
- value
type: object
- type: string
- properties:
value:
type: string
disabled:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
hidden:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
required:
- value
type: object
type: array
description:
type: string
maxItems:
type: number
minItems:
type: number
ui:label:
type: string
ui:read-only:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
ui:hidden:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
ui:disabled:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
ui:description:
oneOf:
- type: string
- properties:
expr:
type: string
required:
- expr
type: object
ui:formatted-value:
properties:
expr:
type: string
required:
- expr
type: object
ui:placeholder:
type: string
default:
items:
type: string
type: array
example:
items:
type: string
type: array
required:
- items
- type
- ui:control
- ui:options
type: object
- properties:
type:
type: string
enum:
- string
ui:control:
type: string
enum:
- domain
description:
type: string
enum:
items:
type: string
type: array
maxLength:
type: number
minLength:
type: number
pattern:
type: string
default:
type: string
ui:label:
type: string
ui:read-only:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
ui:hidden:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
ui:disabled:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
ui:description:
oneOf:
- type: string
- properties:
expr:
type: string
required:
- expr
type: object
ui:formatted-value:
properties:
expr:
type: string
required:
- expr
type: object
ui:placeholder:
type: string
required:
- type
- ui:control
type: object
- properties:
type:
type: string
enum:
- string
ui:control:
type: string
enum:
- git-namespace
description:
type: string
ui:label:
type: string
ui:read-only:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
ui:hidden:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
ui:disabled:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
ui:description:
oneOf:
- type: string
- properties:
expr:
type: string
required:
- expr
type: object
ui:formatted-value:
properties:
expr:
type: string
required:
- expr
type: object
ui:placeholder:
type: string
git:providers:
items:
type: string
enum:
- github
- gitlab
- bitbucket
type: array
required:
- type
- ui:control
type: object
type: object
required:
items:
type: string
type: array
required:
- properties
- type
type: object
resourceLinks:
items:
properties:
href:
type: string
title:
type: string
required:
- href
- title
type: object
type: array
tags:
items:
type: string
enum:
- edge-config
- redis
- postgres
- blob
- experimentation
- checks
- storage
- ai
- observability
- video
- authentication
- workflow
- logDrain
- traceDrain
- messaging
- other
- mysql
- kv
- vector
- libsql
- sqlite
- rds
- drains
- mcp
- tag_agents
- tag_ai
- tag_analytics
- tag_authentication
- tag_cms
- tag_code_repository
- tag_code_review
- tag_code_security
- tag_code_testing
- tag_commerce
- tag_databases
- tag_dev_tools
- tag_experimentation
- tag_flags
- tag_logging
- tag_messaging
- tag_monitoring
- tag_observability
- tag_payments
- tag_performance
- tag_productivity
- tag_searching
- tag_security
- tag_support_agent
- tag_testing
- tag_video
- tag_web_automation
- tag_workflow
- tag_checks
- tag_storage
- tag_logDrain
- tag_traceDrain
- tag_other
type: array
projectConnectionScopes:
items:
type: string
enum:
- read:deployment
- read:domain
- read:project
- read-write:deployment
- read-write:deployment-check
- read-write:domain
- read-write:global-project-env-vars
- read-write:integration-deployment-action
- read-write:log-drain
- read-write:drains
- read-write:project-env-vars
- read-write:project-protection-bypass
type: array
showSSOLinkOnProjectConnection:
type: boolean
enum:
- false
- true
disableResourceRenaming:
type: boolean
enum:
- false
- true
repl:
properties:
enabled:
type: boolean
enum:
- false
- true
supportsReadOnlyMode:
type: boolean
enum:
- false
- true
welcomeMessage:
type: string
required:
- enabled
- supportsReadOnlyMode
type: object
guides:
items:
properties:
framework:
type: string
title:
type: string
steps:
items:
properties:
title:
type: string
content:
type: string
actions:
items:
properties:
type:
type: string
enum:
- connect_to_project
- configure_project_connections
- add_drain
required:
- type
type: object
type: array
required:
- content
- title
type: object
type: array
required:
- framework
- steps
- title
type: object
type: array
integration:
properties:
id:
type: string
name:
type: string
slug:
type: string
supportsInstallationBillingPlans:
type: boolean
enum:
- false
- true
icon:
type: string
flags:
items:
type: string
type: array
required:
- icon
- id
- name
- slug
type: object
integrationConfigurationId:
type: string
supportedProtocols:
items:
type: string
enum:
- experimentation
- checks
- storage
- ai
- observability
- video
- authentication
- workflow
- logDrain
- traceDrain
- messaging
- other
type: array
primaryProtocol:
type: string
enum:
- experimentation
- checks
- storage
- ai
- observability
- video
- authentication
- workflow
- logDrain
- traceDrain
- messaging
- other
logDrainStatus:
type: string
enum:
- disabled
- enabled
required:
- integration
- integrationConfigurationId
- supportedProtocols
type: object
protocolSettings:
properties:
experimentation:
properties:
edgeConfigSyncingEnabled:
type: boolean
enum:
- false
- true
edgeConfigId:
type: string
edgeConfigTokenId:
type: string
type: object
type: object
notification:
properties:
level:
type: string
enum:
- error
- info
- warn
title:
type: string
message:
type: string
href:
type: string
required:
- level
- title
type: object
secrets:
items:
properties:
name:
type: string
length:
type: number
required:
- length
- name
type: object
type: array
billingPlan:
properties:
type:
type: string
enum:
- prepayment
- subscription
description:
type: string
id:
type: string
name:
type: string
scope:
type: string
enum:
- installation
- resource
paymentMethodRequired:
type: boolean
enum:
- false
- true
preauthorizationAmount:
type: number
initialCharge:
type: string
minimumAmount:
type: string
maximumAmount:
type: string
maximumAmountAutoPurchasePerPeriod:
type: string
cost:
type: string
details:
items:
properties:
label:
type: string
value:
type: string
required:
- label
type: object
type: array
highlightedDetails:
items:
properties:
label:
type: string
value:
type: string
required:
- label
type: object
type: array
quote:
items:
properties:
line:
type: string
amount:
type: string
required:
- amount
- line
type: object
type: array
effectiveDate:
type: string
disabled:
type: boolean
enum:
- false
- true
required:
- description
- id
- name
- paymentMethodRequired
- scope
- type
type: object
secretRotationRequestedAt:
type: number
description: The timestamp when secret rotation was requested.
secretRotationRequestedReason:
type: string
description: The reason for the secret rotation request.
secretRotationRequestedBy:
type: string
description: >-
The ID of the user/team who requested the secret
rotation.
secretRotationCompletedAt:
type: number
description: The timestamp when secret rotation was completed.
parentId:
type: string
description: >-
The ID of the parent resource. Used to establish a
parent-child relationship between resources, such as
sandbox resources linking to their owner account
resource.
targets:
items:
type: string
enum:
- production
- preview
- development
description: >-
The deployment targets that this resource is
available for.
type: array
description: >-
The deployment targets that this resource is available
for.
required:
- externalResourceId
- product
- projectsMetadata
- secrets
- status
- usageQuotaExceeded
required:
- store
type: object
'400':
description: One of the provided values in the request body is invalid.
'401':
description: The request is not authorized.
'402':
description: |-
The account was soft-blocked for an unhandled reason.
The account is missing a payment so payment method must be updated
'403':
description: You do not have permission to access this resource.
'404':
description: ''
'409':
description: ''
'429':
description: ''
'500':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/projects/create-one-or-more-environment-variables.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Create one or more environment variables
> Create 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.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples post /v10/projects/{idOrName}/env
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v10/projects/{idOrName}/env:
post:
tags:
- projects
summary: Create one or more environment variables
description: >-
Create 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.
operationId: createProjectEnv
parameters:
- name: idOrName
description: The unique project identifier or the project name
in: path
required: true
schema:
description: The unique project identifier or the project name
type: string
example: prj_XLKmu1DyR1eY7zq8UgeRKbA7yVLA
- name: upsert
description: Allow override of environment variable if it already exists
in: query
required: false
schema:
description: Allow override of environment variable if it already exists
type: string
example: 'true'
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
requestBody:
content:
application/json:
schema:
oneOf:
- type: object
required:
- key
- value
- type
anyOf:
- required:
- target
- required:
- customEnvironmentIds
properties:
key:
description: The name of the environment variable
type: string
example: API_URL
value:
description: The value of the environment variable
type: string
example: https://api.vercel.com
type:
description: The type of environment variable
type: string
enum:
- system
- secret
- encrypted
- plain
- sensitive
example: plain
target:
description: The target environment of the environment variable
type: array
items:
enum:
- production
- preview
- development
example:
- preview
gitBranch:
description: >-
If defined, the git branch of the environment variable
(must have target=preview)
type: string
maxLength: 250
example: feature-1
nullable: true
comment:
type: string
description: >-
A comment to add context on what this environment
variable is for
example: database connection string for production
maxLength: 500
customEnvironmentIds:
type: array
description: >-
The custom environment IDs associated with the
environment variable
items:
type: string
example: env_1234567890
- type: array
items:
type: object
required:
- key
- value
- type
anyOf:
- required:
- target
- required:
- customEnvironmentIds
properties:
key:
description: The name of the environment variable
type: string
example: API_URL
value:
description: The value of the environment variable
type: string
example: https://api.vercel.com
type:
description: The type of environment variable
type: string
enum:
- system
- secret
- encrypted
- plain
- sensitive
example: plain
target:
description: The target environment of the environment variable
type: array
items:
enum:
- production
- preview
- development
example:
- preview
gitBranch:
description: >-
If defined, the git branch of the environment variable
(must have target=preview)
type: string
maxLength: 250
example: feature-1
nullable: true
comment:
type: string
description: >-
A comment to add context on what this environment
variable is for
example: database connection string for production
maxLength: 500
customEnvironmentIds:
type: array
description: >-
The custom environment IDs associated with the
environment variable
items:
type: string
example: env_1234567890
required: true
responses:
'201':
description: The environment variable was created successfully
content:
application/json:
schema:
properties:
created:
oneOf:
- properties:
target:
oneOf:
- items:
type: string
enum:
- production
- preview
- development
type: array
- type: string
enum:
- production
- preview
- development
type:
type: string
enum:
- secret
- system
- encrypted
- plain
- sensitive
sunsetSecretId:
type: string
description: >-
This is used to identify variables that have been
migrated from type secret to sensitive.
legacyValue:
type: string
description: >-
Legacy now-encryption ciphertext, present after
migration swaps value/vsmValue
decrypted:
type: boolean
enum:
- false
- true
value:
type: string
vsmValue:
type: string
id:
type: string
key:
type: string
configurationId:
nullable: true
type: string
createdAt:
type: number
updatedAt:
type: number
createdBy:
nullable: true
type: string
updatedBy:
nullable: true
type: string
gitBranch:
type: string
edgeConfigId:
nullable: true
type: string
edgeConfigTokenId:
nullable: true
type: string
contentHint:
nullable: true
oneOf:
- properties:
type:
type: string
enum:
- redis-url
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- redis-rest-api-url
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- redis-rest-api-token
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- redis-rest-api-read-only-token
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- blob-read-write-token
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-url
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-url-non-pooling
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-prisma-url
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-user
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-host
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-password
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-database
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-url-no-ssl
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- integration-store-secret
storeId:
type: string
integrationId:
type: string
integrationProductId:
type: string
integrationConfigurationId:
type: string
required:
- integrationConfigurationId
- integrationId
- integrationProductId
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- flags-connection-string
projectId:
type: string
required:
- projectId
- type
type: object
internalContentHint:
nullable: true
properties:
type:
type: string
enum:
- flags-secret
encryptedValue:
type: string
description: >-
Contains the `value` of the env variable,
encrypted with a special key to make
decryption possible in the subscriber Lambda.
required:
- encryptedValue
- type
type: object
description: >-
Similar to `contentHints`, but should not be
exposed to the user.
comment:
type: string
customEnvironmentIds:
items:
type: string
type: array
system:
type: boolean
enum:
- false
- true
required:
- key
- type
- value
type: object
- items:
properties:
target:
oneOf:
- items:
type: string
type: array
- type: string
enum:
- production
- preview
- development
type:
type: string
enum:
- secret
- system
- encrypted
- plain
- sensitive
sunsetSecretId:
type: string
description: >-
This is used to identify variables that have
been migrated from type secret to sensitive.
legacyValue:
type: string
description: >-
Legacy now-encryption ciphertext, present after
migration swaps value/vsmValue
decrypted:
type: boolean
enum:
- false
- true
value:
type: string
vsmValue:
type: string
id:
type: string
key:
type: string
configurationId:
nullable: true
type: string
createdAt:
type: number
updatedAt:
type: number
createdBy:
nullable: true
type: string
updatedBy:
nullable: true
type: string
gitBranch:
type: string
edgeConfigId:
nullable: true
type: string
edgeConfigTokenId:
nullable: true
type: string
contentHint:
nullable: true
oneOf:
- properties:
type:
type: string
enum:
- redis-url
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- redis-rest-api-url
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- redis-rest-api-token
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- redis-rest-api-read-only-token
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- blob-read-write-token
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-url
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-url-non-pooling
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-prisma-url
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-user
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-host
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-password
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-database
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-url-no-ssl
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- integration-store-secret
storeId:
type: string
integrationId:
type: string
integrationProductId:
type: string
integrationConfigurationId:
type: string
required:
- integrationConfigurationId
- integrationId
- integrationProductId
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- flags-connection-string
projectId:
type: string
required:
- projectId
- type
type: object
internalContentHint:
nullable: true
properties:
type:
type: string
enum:
- flags-secret
encryptedValue:
type: string
description: >-
Contains the `value` of the env variable,
encrypted with a special key to make
decryption possible in the subscriber
Lambda.
required:
- encryptedValue
- type
type: object
description: >-
Similar to `contentHints`, but should not be
exposed to the user.
comment:
type: string
customEnvironmentIds:
items:
type: string
type: array
system:
type: boolean
enum:
- false
- true
required:
- key
- type
- value
type: object
type: array
failed:
items:
properties:
error:
properties:
code:
type: string
message:
type: string
key:
type: string
envVarId:
type: string
envVarKey:
type: string
action:
type: string
link:
type: string
value:
oneOf:
- type: string
- items:
type: string
enum:
- production
- preview
- development
type: array
gitBranch:
type: string
target:
oneOf:
- items:
type: string
enum:
- production
- preview
- development
- preview
- development
type: array
- type: string
enum:
- production
- preview
- development
project:
type: string
required:
- code
- message
type: object
required:
- error
type: object
type: array
required:
- created
- failed
type: object
'400':
description: >-
One of the provided values in the request body is invalid.
One of the provided values in the request query is invalid.
The environment variable coudn't be created because an ongoing
update env update is already happening
The environment variable coudn't be created because project document
is too large
'401':
description: The request is not authorized.
'402':
description: |-
The account was soft-blocked for an unhandled reason.
The account is missing a payment so payment method must be updated
'403':
description: >-
You do not have permission to access this resource.
The environment variable cannot be created because it already exists
Additional permissions are required to create production environment
variables
'404':
description: ''
'409':
description: >-
The project is being transfered and creating an environment variable
is not possible
'429':
description: ''
'500':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/environment/create-one-or-more-shared-environment-variables.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Create one or more shared environment variables
> Creates shared environment variable(s) for a team.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples post /v1/env
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/env:
post:
tags:
- environment
summary: Create one or more shared environment variables
description: Creates shared environment variable(s) for a team.
operationId: createSharedEnvVariable
parameters:
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
requestBody:
content:
application/json:
schema:
type: object
required:
- evs
anyOf:
- required:
- target
- required:
- applyToAllCustomEnvironments
properties:
evs:
type: array
maximum: 50
minimum: 1
items:
type: object
required:
- key
- value
properties:
key:
description: The name of the Shared Environment Variable
type: string
example: API_URL
value:
description: The value of the Shared Environment Variable
type: string
example: https://api.vercel.com
comment:
type: string
description: >-
A comment to add context on what this Shared
Environment Variable is for
example: database connection string for production
maxLength: 500
type:
description: The type of environment variable
type: string
enum:
- encrypted
- sensitive
example: encrypted
target:
description: The target environment of the Shared Environment Variable
type: array
items:
enum:
- production
- preview
- development
example:
- production
- preview
projectId:
description: Associate a Shared Environment Variable to projects.
type: array
items:
type: string
example:
- prj_2WjyKQmM8ZnGcJsPWMrHRHrE
- prj_2WjyKQmM8ZnGcJsPWMrHRCRV
deprecated: true
responses:
'201':
description: ''
content:
application/json:
schema:
properties:
created:
items:
properties:
created:
type: string
format: date-time
description: The date when the Shared Env Var was created.
example: '2021-02-10T13:11:49.180Z'
key:
type: string
description: The name of the Shared Env Var.
example: my-api-key
ownerId:
nullable: true
type: string
description: >-
The unique identifier of the owner (team) the Shared
Env Var was created for.
example: team_LLHUOMOoDlqOp8wPE4kFo9pE
id:
type: string
description: The unique identifier of the Shared Env Var.
example: env_XCG7t7AIHuO2SBA8667zNUiM
createdBy:
nullable: true
type: string
description: >-
The unique identifier of the user who created the
Shared Env Var.
example: 2qDDuGFTWXBLDNnqZfWPDp1A
deletedBy:
nullable: true
type: string
description: >-
The unique identifier of the user who deleted the
Shared Env Var.
example: 2qDDuGFTWXBLDNnqZfWPDp1A
updatedBy:
nullable: true
type: string
description: >-
The unique identifier of the user who last updated
the Shared Env Var.
example: 2qDDuGFTWXBLDNnqZfWPDp1A
createdAt:
type: number
description: Timestamp for when the Shared Env Var was created.
example: 1609492210000
deletedAt:
type: number
description: >-
Timestamp for when the Shared Env Var was (soft)
deleted.
example: 1609492210000
updatedAt:
type: number
description: >-
Timestamp for when the Shared Env Var was last
updated.
example: 1609492210000
value:
type: string
description: The value of the Shared Env Var.
projectId:
items:
type: string
type: array
description: >-
The unique identifiers of the projects which the
Shared Env Var is linked to.
example:
- prj_2WjyKQmM8ZnGcJsPWMrHRHrE
- prj_2WjyKQmM8ZnGcJsPWMrasEFg
type:
type: string
enum:
- encrypted
- sensitive
- system
- plain
description: >-
The type of this cosmos doc instance, if blank,
assume secret.
example: encrypted
target:
items:
type: string
enum:
- production
- preview
- development
example: production
description: environments this env variable targets
type: array
description: environments this env variable targets
example: production
applyToAllCustomEnvironments:
type: boolean
enum:
- false
- true
description: >-
whether or not this env varible applies to custom
environments
decrypted:
type: boolean
enum:
- false
- true
description: whether or not this env variable is decrypted
comment:
type: string
description: >-
A user provided comment that describes what this
Shared Env Var is for.
lastEditedByDisplayName:
type: string
description: The last editor full name or username.
type: object
type: array
failed:
items:
properties:
error:
properties:
code:
type: string
message:
type: string
key:
type: string
envVarId:
type: string
envVarKey:
type: string
action:
type: string
link:
type: string
value:
oneOf:
- type: string
- items:
type: string
enum:
- production
- preview
- development
- preview
- development
type: array
gitBranch:
type: string
target:
oneOf:
- items:
type: string
enum:
- production
- preview
- development
- preview
- development
type: array
- type: string
enum:
- production
- preview
- development
- preview
- development
project:
type: string
required:
- code
- message
type: object
required:
- error
type: object
type: array
required:
- created
- failed
type: object
'400':
description: One of the provided values in the request body is invalid.
'401':
description: The request is not authorized.
'402':
description: |-
The account was soft-blocked for an unhandled reason.
The account is missing a payment so payment method must be updated
'403':
description: You do not have permission to access this resource.
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/marketplace/create-one-or-multiple-experimentation-items.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Create one or multiple experimentation items
> Create one or multiple experimentation items
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples post /v1/installations/{integrationConfigurationId}/resources/{resourceId}/experimentation/items
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/installations/{integrationConfigurationId}/resources/{resourceId}/experimentation/items:
post:
tags:
- marketplace
summary: Create one or multiple experimentation items
description: Create one or multiple experimentation items
parameters:
- name: integrationConfigurationId
in: path
required: true
schema:
type: string
- name: resourceId
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
additionalProperties: false
required:
- items
properties:
items:
type: array
maxItems: 50
items:
type: object
additionalProperties: false
required:
- id
- slug
- origin
properties:
id:
type: string
maxLength: 1024
slug:
type: string
maxLength: 1024
origin:
type: string
maxLength: 2048
category:
type: string
enum:
- experiment
- flag
name:
type: string
maxLength: 1024
description:
type: string
maxLength: 1024
isArchived:
type: boolean
createdAt:
type: number
updatedAt:
type: number
responses:
'204':
description: The items were created
'400':
description: |-
One of the provided values in the request body is invalid.
One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/projects/create-project-transfer-request.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Create project transfer request
> Initiates a project transfer request from one team to another.
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.
Users can also accept the project transfer request using the claim URL: `https://vercel.com/claim-deployment?code=&returnUrl=`.
The `code` parameter specifies the project transfer request code generated using this endpoint.
The `returnUrl` parameter redirects users to a specific page of the application if the claim URL is invalid or expired.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples post /projects/{idOrName}/transfer-request
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/projects/{idOrName}/transfer-request:
post:
tags:
- projects
summary: Create project transfer request
description: >-
Initiates a project transfer request from one team to another.
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.
Users can also accept
the project transfer request using the claim URL:
`https://vercel.com/claim-deployment?code=&returnUrl=`.
The `code` parameter specifies the project transfer request code
generated using this endpoint.
The `returnUrl` parameter redirects
users to a specific page of the application if the claim URL is invalid
or expired.
operationId: createProjectTransferRequest
parameters:
- name: idOrName
description: The ID or name of the project to transfer.
in: path
required: true
schema:
type: string
description: The ID or name of the project to transfer.
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
requestBody:
content:
application/json:
schema:
type: object
properties:
callbackUrl:
type: string
description: The URL to send a webhook to when the transfer is accepted.
callbackSecret:
type: string
description: >-
The secret to use to sign the webhook payload with
HMAC-SHA256.
responses:
'200':
description: The project transfer request has been initiated successfully.
content:
application/json:
schema:
properties:
code:
type: string
description: >-
Code that can be used to accept the project transfer
request.
example: f99cc49a-602e-4786-a748-762dfb205880
required:
- code
type: object
'400':
description: |-
One of the provided values in the request body is invalid.
One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/security/create-system-bypass-rule.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Create System Bypass Rule
> Create new system bypass rules
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples post /v1/security/firewall/bypass
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/security/firewall/bypass:
post:
tags:
- security
summary: Create System Bypass Rule
description: Create new system bypass rules
operationId: addBypassIp
parameters:
- name: projectId
in: query
required: true
schema:
type: string
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
requestBody:
content:
application/json:
schema:
type: object
additionalProperties: false
oneOf:
- required:
- domain
- required:
- projectScope
properties:
domain:
type: string
pattern: ([a-z]+[a-z.]+)$
maxLength: 2544
projectScope:
type: boolean
description: >-
If the specified bypass will apply to all domains for a
project.
sourceIp:
type: string
allSources:
type: boolean
ttl:
type: number
description: Time to live in milliseconds
note:
type: string
maxLength: 500
responses:
'200':
description: ''
content:
application/json:
schema:
oneOf:
- properties:
ok:
type: boolean
enum:
- false
- true
result:
items:
properties:
OwnerId:
type: string
Id:
type: string
Domain:
type: string
Ip:
type: string
ProjectId:
type: string
Note:
type: string
IsProjectRule:
type: boolean
enum:
- false
- true
required:
- Domain
- Id
- IsProjectRule
- Note
- OwnerId
- ProjectId
type: object
type: array
pagination:
nullable: true
required:
- ok
- pagination
- result
type: object
- properties:
ok:
type: boolean
enum:
- false
- true
result:
items:
properties:
OwnerId:
type: string
Id:
type: string
Domain:
type: string
Ip:
type: string
Action:
type: string
enum:
- bypass
- block
ProjectId:
type: string
IsProjectRule:
type: boolean
enum:
- false
- true
Note:
type: string
CreatedAt:
type: string
ActorId:
type: string
UpdatedAt:
type: string
UpdatedAtHour:
type: string
DeletedAt:
type: string
ExpiresAt:
nullable: true
type: number
required:
- CreatedAt
- Domain
- Id
- Ip
- OwnerId
- UpdatedAt
- UpdatedAtHour
type: object
type: array
required:
- ok
type: object
'400':
description: |-
One of the provided values in the request body is invalid.
One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
'500':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/logdrains/creates-a-configurable-log-drain-deprecated.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Creates a Configurable Log Drain (deprecated)
> Creates a configurable log drain. This endpoint must be called with a team AccessToken (integration OAuth2 clients are not allowed)
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples post /v1/log-drains
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/log-drains:
post:
tags:
- logDrains
summary: Creates a Configurable Log Drain (deprecated)
description: >-
Creates a configurable log drain. This endpoint must be called with a
team AccessToken (integration OAuth2 clients are not allowed)
operationId: createConfigurableLogDrain
parameters:
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
requestBody:
content:
application/json:
schema:
type: object
additionalProperties: false
required:
- deliveryFormat
- url
- sources
properties:
deliveryFormat:
description: The delivery log format
example: json
enum:
- json
- ndjson
url:
description: The log drain url
format: uri
pattern: ^(http|https)?://
type: string
headers:
description: Headers to be sent together with the request
type: object
additionalProperties:
type: string
projectIds:
minItems: 1
maxItems: 50
type: array
items:
pattern: ^[a-zA-z0-9_]+$
type: string
sources:
type: array
uniqueItems: true
items:
type: string
enum:
- static
- lambda
- build
- edge
- external
- firewall
minItems: 1
environments:
type: array
uniqueItems: true
items:
type: string
enum:
- preview
- production
minItems: 1
secret:
description: Custom secret of log drain
type: string
samplingRate:
type: number
description: >-
The sampling rate for this log drain. It should be a
percentage rate between 0 and 100. With max 2 decimal points
minimum: 0.01
maximum: 1
multipleOf: 0.01
name:
type: string
description: The custom name of this log drain.
required: true
responses:
'200':
description: ''
content:
application/json:
schema:
type: object
'400':
description: One of the provided values in the request body is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/checks/creates-a-new-check.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Creates a new Check
> Creates a new check. This endpoint must be called with an OAuth2 or it will produce a 400 error.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples post /v1/deployments/{deploymentId}/checks
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/deployments/{deploymentId}/checks:
post:
tags:
- checks
summary: Creates a new Check
description: >-
Creates a new check. This endpoint must be called with an OAuth2 or it
will produce a 400 error.
operationId: createCheck
parameters:
- name: deploymentId
description: The deployment to create the check for.
in: path
required: true
schema:
description: The deployment to create the check for.
example: dpl_2qn7PZrx89yxY34vEZPD31Y9XVj6
type: string
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
requestBody:
content:
application/json:
schema:
properties:
name:
description: The name of the check being created
maxLength: 100
example: Performance Check
type: string
path:
description: Path of the page that is being checked
type: string
maxLength: 255
example: /
blocking:
description: Whether the check should block a deployment from succeeding
type: boolean
example: true
detailsUrl:
description: URL to display for further details
type: string
example: http://example.com
externalId:
description: An identifier that can be used as an external reference
type: string
example: 1234abc
rerequestable:
description: >-
Whether a user should be able to request for the check to be
rerun if it fails
type: boolean
example: true
required:
- name
- blocking
type: object
required: true
responses:
'200':
description: ''
content:
application/json:
schema:
properties:
id:
type: string
example: chk_1a2b3c4d5e6f7g8h9i0j
name:
type: string
example: Performance Check
path:
type: string
example: /api/users
status:
type: string
enum:
- registered
- running
- completed
example: completed
conclusion:
type: string
enum:
- canceled
- failed
- neutral
- succeeded
- skipped
- stale
example: succeeded
blocking:
type: boolean
enum:
- false
- true
output:
properties:
metrics:
properties:
FCP:
properties:
value:
nullable: true
type: number
previousValue:
type: number
source:
type: string
enum:
- web-vitals
required:
- source
- value
type: object
LCP:
properties:
value:
nullable: true
type: number
previousValue:
type: number
source:
type: string
enum:
- web-vitals
required:
- source
- value
type: object
CLS:
properties:
value:
nullable: true
type: number
previousValue:
type: number
source:
type: string
enum:
- web-vitals
required:
- source
- value
type: object
TBT:
properties:
value:
nullable: true
type: number
previousValue:
type: number
source:
type: string
enum:
- web-vitals
required:
- source
- value
type: object
virtualExperienceScore:
properties:
value:
nullable: true
type: number
previousValue:
type: number
source:
type: string
enum:
- web-vitals
required:
- source
- value
type: object
required:
- CLS
- FCP
- LCP
- TBT
type: object
type: object
detailsUrl:
type: string
integrationId:
type: string
deploymentId:
type: string
externalId:
type: string
createdAt:
type: number
updatedAt:
type: number
startedAt:
type: number
completedAt:
type: number
rerequestable:
type: boolean
enum:
- false
- true
required:
- blocking
- createdAt
- deploymentId
- id
- integrationId
- name
- status
- updatedAt
type: object
'400':
description: |-
One of the provided values in the request body is invalid.
One of the provided values in the request query is invalid.
Cannot create check for finished deployment
The provided token is not from an OAuth2 Client
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: The deployment was not found
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/logdrains/creates-a-new-integration-log-drain-deprecated.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Creates a new Integration Log Drain (deprecated)
> 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.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples post /v2/integrations/log-drains
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v2/integrations/log-drains:
post:
tags:
- logDrains
summary: Creates a new Integration Log Drain (deprecated)
description: >-
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.
operationId: createLogDrain
parameters:
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
requestBody:
content:
application/json:
schema:
properties:
name:
description: The name of the log drain
example: My first log drain
maxLength: 100
pattern: ^[A-z0-9_ -]+$
type: string
projectIds:
minItems: 1
maxItems: 50
type: array
items:
pattern: ^[a-zA-z0-9_]+$
type: string
secret:
description: >-
A secret to sign log drain notification headers so a
consumer can verify their authenticity
example: a1Xsfd325fXcs
maxLength: 100
pattern: ^[A-z0-9_ -]+$
type: string
deliveryFormat:
description: The delivery log format
example: json
enum:
- json
- ndjson
url:
description: >-
The url where you will receive logs. The protocol must be
`https://` or `http://` when type is `json` and `ndjson`.
example: https://example.com/log-drain
format: uri
pattern: ^https?://
type: string
sources:
type: array
uniqueItems: true
items:
type: string
enum:
- static
- lambda
- build
- edge
- external
- firewall
minItems: 1
headers:
description: Headers to be sent together with the request
type: object
additionalProperties:
type: string
environments:
type: array
uniqueItems: true
items:
type: string
enum:
- preview
- production
minItems: 1
required:
- name
- url
type: object
required: true
responses:
'200':
description: The log drain was successfully created
content:
application/json:
schema:
properties:
clientId:
type: string
description: >-
The oauth2 client application id that created this log
drain
example: oac_xRhY4LAB7yLhUADD69EvV7ct
configurationId:
type: string
description: The client configuration this log drain was created with
example: icfg_3bwCLgxL8qt5kjRLcv2Dit7F
createdAt:
type: number
description: A timestamp that tells you when the log drain was created
example: 1558531915505
id:
type: string
description: >-
The unique identifier of the log drain. Always prefixed
with `ld_`
example: ld_nBuA7zCID8g4QZ8g
deliveryFormat:
type: string
enum:
- json
- ndjson
- protobuf
description: The delivery log format
example: json
name:
type: string
description: The name of the log drain
example: My first log drain
ownerId:
type: string
description: >-
The identifier of the team or user whose events will
trigger the log drain
example: kr1PsOIzqEL5Xg6M4VZcZosf
projectId:
nullable: true
type: string
example: AbCgVkqoxXeXCDWehVir51LHGrrcWL4mkYm14W6UBPWQeb
projectIds:
items:
type: string
type: array
description: >-
The identifier of the projects this log drain is
associated with
example: AbCgVkqoxXeXCDWehVir51LHGrrcWL4mkYm14W6UBPWQeb
url:
type: string
description: The URL to call when logs are generated
example: https://example.com/log-drain
sources:
items:
type: string
enum:
- external
- build
- edge
- lambda
- static
- firewall
- redirect
description: >-
The sources from which logs are currently being
delivered to this log drain.
example:
- build
- edge
type: array
description: >-
The sources from which logs are currently being delivered
to this log drain.
example:
- build
- edge
createdFrom:
type: string
enum:
- integration
- self-served
description: >-
Whether the log drain was created by an integration or by
a user
example: integration
headers:
additionalProperties:
type: string
type: object
description: The headers to send with the request
example: '{"Authorization": "Bearer 123"}'
environments:
items:
type: string
enum:
- production
- preview
description: The environment of log drain
example:
- production
type: array
description: The environment of log drain
example:
- production
branch:
type: string
description: The branch regexp of log drain
example: feature/*
samplingRate:
type: number
description: The sampling rate of log drain
example: 0.5
source:
oneOf:
- properties:
kind:
type: string
enum:
- self-served
required:
- kind
type: object
- properties:
kind:
type: string
enum:
- integration
resourceId:
type: string
externalResourceId:
type: string
integrationId:
type: string
integrationConfigurationId:
type: string
required:
- integrationConfigurationId
- integrationId
- kind
type: object
required:
- createdAt
- id
- name
- ownerId
- source
- url
type: object
'400':
description: |-
One of the provided values in the request body is invalid.
The provided token is not from an OAuth2 Client
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/webhooks/creates-a-webhook.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Creates a webhook
> Creates a webhook
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples post /v1/webhooks
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/webhooks:
post:
tags:
- webhooks
summary: Creates a webhook
description: Creates a webhook
operationId: createWebhook
parameters:
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
requestBody:
content:
application/json:
schema:
type: object
additionalProperties: false
required:
- url
- events
properties:
url:
format: uri
pattern: ^https?://
type: string
events:
minItems: 1
type: array
items:
type: string
enum:
- budget.reached
- domain.created
- domain.dns.records.changed
- domain.transfer-in.started
- domain.transfer-in.completed
- domain.transfer-in.failed
- domain.certificate.add
- domain.certificate.add.failed
- domain.certificate.renew
- domain.certificate.renew.failed
- domain.certificate.deleted
- domain.renewal
- domain.renewal.failed
- domain.auto-renew.changed
- deployment.created
- deployment.cleanup
- deployment.error
- deployment.canceled
- deployment.succeeded
- deployment.ready
- deployment.check-rerequested
- deployment.promoted
- deployment.integration.action.start
- deployment.integration.action.cancel
- deployment.integration.action.cleanup
- deployment.checkrun.start
- deployment.checkrun.cancel
- edge-config.created
- edge-config.deleted
- edge-config.items.updated
- firewall.attack
- firewall.system-rule-anomaly
- firewall.custom-rule-anomaly
- alerts.triggered
- integration-configuration.permission-upgraded
- integration-configuration.removed
- integration-configuration.scope-change-confirmed
- integration-configuration.transferred
- integration-resource.project-connected
- integration-resource.project-disconnected
- project.created
- project.removed
- project.renamed
- project.domain.created
- project.domain.updated
- project.domain.deleted
- project.domain.verified
- project.domain.unverified
- project.domain.moved
- project.rolling-release.started
- project.rolling-release.aborted
- project.rolling-release.completed
- project.rolling-release.approved
- deployment.checks.failed
- deployment.checks.succeeded
- deployment-checks-completed
- deployment-ready
- deployment-prepared
- deployment-error
- deployment-check-rerequested
- deployment-canceled
- project-created
- project-removed
- domain-created
- deployment
- integration-configuration-permission-updated
- integration-configuration-removed
- integration-configuration-scope-change-confirmed
- marketplace.member.changed
- marketplace.invoice.created
- marketplace.invoice.paid
- marketplace.invoice.notpaid
- marketplace.invoice.refunded
- ai-gateway.balance-depleted
- ai-gateway.auto-reload.limit-reached
- observability.anomaly
- observability.anomaly-error
- observability.usage-anomaly
- observability.error-anomaly
- botid.anomaly
- test-webhook
x-speakeasy-enums:
budget.reached: BudgetReached
domain.created: DomainCreated
domain.dns.records.changed: DomainDnsRecordsChanged
domain.transfer-in.started: DomainTransferInStarted
domain.transfer-in.completed: DomainTransferInCompleted
domain.transfer-in.failed: DomainTransferInFailed
domain.certificate.add: DomainCertificateAdd
domain.certificate.add.failed: DomainCertificateAddFailed
domain.certificate.renew: DomainCertificateRenew
domain.certificate.renew.failed: DomainCertificateRenewFailed
domain.certificate.deleted: DomainCertificateDeleted
domain.renewal: DomainRenewal
domain.renewal.failed: DomainRenewalFailed
domain.auto-renew.changed: DomainAutoRenewChanged
deployment.created: DeploymentCreated
deployment.cleanup: DeploymentCleanup
deployment.error: DeploymentError
deployment.canceled: DeploymentCanceled
deployment.succeeded: DeploymentSucceeded
deployment.ready: DeploymentReady
deployment.check-rerequested: DeploymentCheckRerequested
deployment.promoted: DeploymentPromoted
deployment.integration.action.start: DeploymentIntegrationActionStart
deployment.integration.action.cancel: DeploymentIntegrationActionCancel
deployment.integration.action.cleanup: DeploymentIntegrationActionCleanup
deployment.checkrun.start: DeploymentCheckrunStart
deployment.checkrun.cancel: DeploymentCheckrunCancel
edge-config.created: EdgeConfigCreated
edge-config.deleted: EdgeConfigDeleted
edge-config.items.updated: EdgeConfigItemsUpdated
firewall.attack: FirewallAttack
integration-configuration.permission-upgraded: IntegrationConfigurationPermissionUpgraded
integration-configuration.removed: IntegrationConfigurationRemoved
integration-configuration.scope-change-confirmed: IntegrationConfigurationScopeChangeConfirmed
integration-resource.project-connected: IntegrationResourceProjectConnected
integration-resource.project-disconnected: IntegrationResourceProjectDisconnected
project.created: ProjectCreated
project.removed: ProjectRemoved
project.domain.created: ProjectDomainCreated
project.domain.updated: ProjectDomainUpdated
project.domain.deleted: ProjectDomainDeleted
project.domain.verified: ProjectDomainVerified
project.domain.unverified: ProjectDomainUnverified
project.domain.moved: ProjectDomainMoved
project.rolling-release.started: ProjectRollingReleaseStarted
project.rolling-release.aborted: ProjectRollingReleaseAborted
project.rolling-release.completed: ProjectRollingReleaseCompleted
project.rolling-release.approved: ProjectRollingReleaseApproved
deployment.checks.failed: DeploymentChecksFailed
deployment.checks.succeeded: DeploymentChecksSucceeded
deployment-checks-completed: DeploymentChecksCompleted
deployment-ready: DeploymentReadyHyphen
deployment-prepared: DeploymentPreparedHyphen
deployment-error: DeploymentErrorHyphen
deployment-check-rerequested: DeploymentCheckRerequestedHyphen
deployment-canceled: DeploymentCanceledHyphen
project-created: ProjectCreatedHyphen
project-removed: ProjectRemovedHyphen
domain-created: DomainCreatedHyphen
deployment: Deployment
integration-configuration-permission-updated: IntegrationConfigurationPermissionUpdatedHyphen
integration-configuration-removed: IntegrationConfigurationRemovedHyphen
integration-configuration-scope-change-confirmed: IntegrationConfigurationScopeChangeConfirmedHyphen
marketplace.invoice.created: MarketplaceInvoiceCreated
marketplace.invoice.paid: MarketplaceInvoicePaid
marketplace.invoice.notpaid: MarketplaceInvoiceNotpaid
marketplace.invoice.refunded: MarketplaceInvoiceRefunded
observability.anomaly: ObservabilityAnomaly
observability.anomaly-error: ObservabilityAnomalyError
test-webhook: TestWebhook
projectIds:
minItems: 1
maxItems: 50
type: array
items:
pattern: ^[a-zA-z0-9_]+$
type: string
required: true
responses:
'200':
description: ''
content:
application/json:
schema:
properties:
secret:
type: string
description: The webhook secret used to sign the payload
events:
items:
type: string
enum:
- budget.reached
- domain.created
- domain.dns.records.changed
- domain.transfer-in.started
- domain.transfer-in.completed
- domain.transfer-in.failed
- domain.certificate.add
- domain.certificate.add.failed
- domain.certificate.renew
- domain.certificate.renew.failed
- domain.certificate.deleted
- domain.renewal
- domain.renewal.failed
- domain.auto-renew.changed
- deployment.created
- deployment.cleanup
- deployment.error
- deployment.canceled
- deployment.succeeded
- deployment.ready
- deployment.check-rerequested
- deployment.promoted
- deployment.integration.action.start
- deployment.integration.action.cancel
- deployment.integration.action.cleanup
- deployment.checkrun.start
- deployment.checkrun.cancel
- edge-config.created
- edge-config.deleted
- edge-config.items.updated
- firewall.attack
- firewall.system-rule-anomaly
- firewall.custom-rule-anomaly
- alerts.triggered
- integration-configuration.permission-upgraded
- integration-configuration.removed
- integration-configuration.scope-change-confirmed
- integration-configuration.transferred
- integration-resource.project-connected
- integration-resource.project-disconnected
- project.created
- project.removed
- project.renamed
- project.domain.created
- project.domain.updated
- project.domain.deleted
- project.domain.verified
- project.domain.unverified
- project.domain.moved
- project.rolling-release.started
- project.rolling-release.aborted
- project.rolling-release.completed
- project.rolling-release.approved
- deployment.checks.failed
- deployment.checks.succeeded
- deployment-checks-completed
- deployment-ready
- deployment-prepared
- deployment-error
- deployment-check-rerequested
- deployment-canceled
- project-created
- project-removed
- domain-created
- deployment
- integration-configuration-permission-updated
- integration-configuration-removed
- integration-configuration-scope-change-confirmed
- marketplace.member.changed
- marketplace.invoice.created
- marketplace.invoice.paid
- marketplace.invoice.notpaid
- marketplace.invoice.refunded
- ai-gateway.balance-depleted
- ai-gateway.auto-reload.limit-reached
- observability.anomaly
- observability.anomaly-error
- observability.usage-anomaly
- observability.error-anomaly
- botid.anomaly
- test-webhook
example: deployment.created
description: The webhooks events
x-speakeasy-enums:
budget.reached: BudgetReached
domain.created: DomainCreated
domain.dns.records.changed: DomainDnsRecordsChanged
domain.transfer-in.started: DomainTransferInStarted
domain.transfer-in.completed: DomainTransferInCompleted
domain.transfer-in.failed: DomainTransferInFailed
domain.certificate.add: DomainCertificateAdd
domain.certificate.add.failed: DomainCertificateAddFailed
domain.certificate.renew: DomainCertificateRenew
domain.certificate.renew.failed: DomainCertificateRenewFailed
domain.certificate.deleted: DomainCertificateDeleted
domain.renewal: DomainRenewal
domain.renewal.failed: DomainRenewalFailed
domain.auto-renew.changed: DomainAutoRenewChanged
deployment.created: DeploymentCreated
deployment.cleanup: DeploymentCleanup
deployment.error: DeploymentError
deployment.canceled: DeploymentCanceled
deployment.succeeded: DeploymentSucceeded
deployment.ready: DeploymentReady
deployment.check-rerequested: DeploymentCheckRerequested
deployment.promoted: DeploymentPromoted
deployment.integration.action.start: DeploymentIntegrationActionStart
deployment.integration.action.cancel: DeploymentIntegrationActionCancel
deployment.integration.action.cleanup: DeploymentIntegrationActionCleanup
deployment.checkrun.start: DeploymentCheckrunStart
deployment.checkrun.cancel: DeploymentCheckrunCancel
edge-config.created: EdgeConfigCreated
edge-config.deleted: EdgeConfigDeleted
edge-config.items.updated: EdgeConfigItemsUpdated
firewall.attack: FirewallAttack
integration-configuration.permission-upgraded: IntegrationConfigurationPermissionUpgraded
integration-configuration.removed: IntegrationConfigurationRemoved
integration-configuration.scope-change-confirmed: IntegrationConfigurationScopeChangeConfirmed
integration-resource.project-connected: IntegrationResourceProjectConnected
integration-resource.project-disconnected: IntegrationResourceProjectDisconnected
project.created: ProjectCreated
project.removed: ProjectRemoved
project.domain.created: ProjectDomainCreated
project.domain.updated: ProjectDomainUpdated
project.domain.deleted: ProjectDomainDeleted
project.domain.verified: ProjectDomainVerified
project.domain.unverified: ProjectDomainUnverified
project.domain.moved: ProjectDomainMoved
project.rolling-release.started: ProjectRollingReleaseStarted
project.rolling-release.aborted: ProjectRollingReleaseAborted
project.rolling-release.completed: ProjectRollingReleaseCompleted
project.rolling-release.approved: ProjectRollingReleaseApproved
deployment.checks.failed: DeploymentChecksFailed
deployment.checks.succeeded: DeploymentChecksSucceeded
deployment-checks-completed: DeploymentChecksCompleted
deployment-ready: DeploymentReadyHyphen
deployment-prepared: DeploymentPreparedHyphen
deployment-error: DeploymentErrorHyphen
deployment-check-rerequested: DeploymentCheckRerequestedHyphen
deployment-canceled: DeploymentCanceledHyphen
project-created: ProjectCreatedHyphen
project-removed: ProjectRemovedHyphen
domain-created: DomainCreatedHyphen
deployment: Deployment
integration-configuration-permission-updated: IntegrationConfigurationPermissionUpdatedHyphen
integration-configuration-removed: IntegrationConfigurationRemovedHyphen
integration-configuration-scope-change-confirmed: IntegrationConfigurationScopeChangeConfirmedHyphen
marketplace.invoice.created: MarketplaceInvoiceCreated
marketplace.invoice.paid: MarketplaceInvoicePaid
marketplace.invoice.notpaid: MarketplaceInvoiceNotpaid
marketplace.invoice.refunded: MarketplaceInvoiceRefunded
observability.anomaly: ObservabilityAnomaly
observability.anomaly-error: ObservabilityAnomalyError
test-webhook: TestWebhook
type: array
description: The webhooks events
example: deployment.created
id:
type: string
description: The webhook id
example: account_hook_GflD6EYyo7F4ViYS
url:
type: string
description: A string with the URL of the webhook
example: https://my-webhook.com
ownerId:
type: string
description: The unique ID of the team the webhook belongs to
example: ZspSRT4ljIEEmMHgoDwKWDei
createdAt:
type: number
description: >-
A number containing the date when the webhook was created
in in milliseconds
example: 1567024758130
updatedAt:
type: number
description: >-
A number containing the date when the webhook was updated
in in milliseconds
example: 1567024758130
projectIds:
items:
type: string
type: array
description: The ID of the projects the webhook is associated with
example:
- prj_12HKQaOmR5t5Uy6vdcQsNIiZgHGB
required:
- createdAt
- events
- id
- ownerId
- secret
- updatedAt
- url
type: object
'400':
description: One of the provided values in the request body is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/access-groups/creates-an-access-group.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Creates an access group
> Allows to create an access group
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples post /v1/access-groups
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/access-groups:
post:
tags:
- access-groups
summary: Creates an access group
description: Allows to create an access group
operationId: createAccessGroup
parameters:
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
requestBody:
content:
application/json:
schema:
type: object
additionalProperties: false
required:
- name
properties:
name:
type: string
description: The name of the access group
maxLength: 50
pattern: ^[A-z0-9_ -]+$
example: My access group
projects:
type: array
items:
type: object
additionalProperties: false
required:
- role
- projectId
properties:
projectId:
type: string
maxLength: 256
example: prj_ndlgr43fadlPyCtREAqxxdyFK
description: The ID of the project.
role:
type: string
example: ADMIN
description: >-
The project role that will be added to this Access
Group. \"null\" will remove this project level role.
nullable: true
enum:
- ADMIN
- PROJECT_VIEWER
- PROJECT_DEVELOPER
- null
membersToAdd:
description: List of members to add to the access group.
type: array
items:
type: string
example:
- usr_1a2b3c4d5e6f7g8h9i0j
- usr_2b3c4d5e6f7g8h9i0j1k
required: true
responses:
'200':
description: ''
content:
application/json:
schema:
properties:
entitlements:
items:
type: string
enum:
- v0
type: array
membersCount:
type: number
projectsCount:
type: number
name:
type: string
description: The name of this access group.
example: my-access-group
createdAt:
type: string
description: >-
Timestamp in milliseconds when the access group was
created.
example: 1588720733602
teamId:
type: string
description: ID of the team that this access group belongs to.
example: team_123a6c5209bc3778245d011443644c8d27dc2c50
updatedAt:
type: string
description: >-
Timestamp in milliseconds when the access group was last
updated.
example: 1588720733602
accessGroupId:
type: string
description: ID of the access group.
example: ag_123a6c5209bc3778245d011443644c8d27dc2c50
teamRoles:
items:
type: string
type: array
description: Roles that the team has in the access group.
example:
- DEVELOPER
- BILLING
teamPermissions:
items:
type: string
type: array
description: Permissions that the team has in the access group.
example:
- CreateProject
required:
- accessGroupId
- createdAt
- entitlements
- membersCount
- name
- projectsCount
- teamId
- updatedAt
type: object
'400':
description: One of the provided values in the request body is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/edge-cache/dangerously-delete-by-source-image.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Dangerously delete by source image
> Marks 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.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples post /v1/edge-cache/dangerously-delete-by-src-images
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/edge-cache/dangerously-delete-by-src-images:
post:
tags:
- edge-cache
summary: Dangerously delete by source image
description: >-
Marks 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.
operationId: dangerouslyDeleteBySrcImages
parameters:
- name: projectIdOrName
in: query
required: true
schema:
type: string
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
requestBody:
content:
application/json:
schema:
additionalProperties: false
type: object
required:
- srcImages
properties:
revalidationDeadlineSeconds:
minimum: 0
type: number
srcImages:
items:
maxLength: 8192
type: string
maxItems: 8
minItems: 1
type: array
responses:
'200':
description: ''
'400':
description: |-
One of the provided values in the request body is invalid.
One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'402':
description: ''
'403':
description: You do not have permission to access this resource.
'404':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/edge-cache/dangerously-delete-by-tag.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Dangerously delete by tag
> Marks 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.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples post /v1/edge-cache/dangerously-delete-by-tags
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/edge-cache/dangerously-delete-by-tags:
post:
tags:
- edge-cache
summary: Dangerously delete by tag
description: >-
Marks 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.
operationId: dangerouslyDeleteByTags
parameters:
- name: projectIdOrName
in: query
required: true
schema:
type: string
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
requestBody:
content:
application/json:
schema:
additionalProperties: false
type: object
required:
- tags
properties:
revalidationDeadlineSeconds:
minimum: 0
type: number
tags:
oneOf:
- items:
type: string
maxLength: 256
maxItems: 16
minItems: 1
type: array
- maxLength: 8196
type: string
target:
type: string
enum:
- production
- preview
responses:
'200':
description: ''
'400':
description: |-
One of the provided values in the request body is invalid.
One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/deployments/delete-a-deployment.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Delete a Deployment
> 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.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples delete /v13/deployments/{id}
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v13/deployments/{id}:
delete:
tags:
- deployments
summary: Delete a Deployment
description: >-
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.
operationId: deleteDeployment
parameters:
- name: id
description: The ID of the deployment to be deleted
in: path
required: true
schema:
description: The ID of the deployment to be deleted
example: dpl_5WJWYSyB7BpgTj3EuwF37WMRBXBtPQ2iTMJHJBJyRfd
type: string
- name: url
description: >-
A Deployment or Alias URL. In case it is passed, the ID will be
ignored
in: query
required: false
schema:
description: >-
A Deployment or Alias URL. In case it is passed, the ID will be
ignored
example: https://files-orcin-xi.vercel.app/
type: string
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'200':
description: The deployment was successfully deleted
content:
application/json:
schema:
properties:
uid:
type: string
description: The removed deployment ID.
example: dpl_5WJWYSyB7BpgTj3EuwF37WMRBXBtPQ2iTMJHJBJyRfd
state:
type: string
enum:
- DELETED
description: A constant with the final state of the deployment.
required:
- state
- uid
type: object
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: The deployment was not found
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/dns/delete-a-dns-record.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Delete a DNS record
> Removes an existing DNS record from a domain name.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples delete /v2/domains/{domain}/records/{recordId}
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v2/domains/{domain}/records/{recordId}:
delete:
tags:
- dns
summary: Delete a DNS record
description: Removes an existing DNS record from a domain name.
operationId: removeRecord
parameters:
- name: domain
in: path
required: true
schema:
type: string
example: example.com
- name: recordId
in: path
required: true
schema:
type: string
example: rec_V0fra8eEgQwEpFhYG2vTzC3K
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'200':
description: Successful response by removing the specified DNS record.
content:
application/json:
schema:
type: object
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/drains/delete-a-drain.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Delete a drain
> Delete a specific Drain by passing the drain id in the URL.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples delete /v1/drains/{id}
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/drains/{id}:
delete:
tags:
- drains
summary: Delete a drain
description: Delete a specific Drain by passing the drain id in the URL.
operationId: deleteDrain
parameters:
- name: id
in: path
required: true
schema:
type: string
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'204':
description: ''
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/projects/delete-a-project.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Delete a Project
> Delete a specific project by passing either the project `id` or `name` in the URL.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples delete /v9/projects/{idOrName}
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v9/projects/{idOrName}:
delete:
tags:
- projects
summary: Delete a Project
description: >-
Delete a specific project by passing either the project `id` or `name`
in the URL.
operationId: deleteProject
parameters:
- name: idOrName
description: The unique project identifier or the project name
in: path
required: true
schema:
example: prj_12HKQaOmR5t5Uy6vdcQsNIiZgHGB
description: The unique project identifier or the project name
type: string
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'204':
description: The project was successfuly removed
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'409':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/connect/delete-a-secure-compute-network.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Delete a Secure Compute network
> Allows to delete a Secure Compute network.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples delete /v1/connect/networks/{networkId}
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/connect/networks/{networkId}:
delete:
tags:
- connect
summary: Delete a Secure Compute network
description: Allows to delete a Secure Compute network.
operationId: deleteNetwork
parameters:
- name: networkId
description: The ID of the network to delete
in: path
required: true
schema:
type: string
description: The ID of the network to delete
example: uzrmorq7bn05z-fz
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'204':
description: ''
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'402':
description: ''
'403':
description: You do not have permission to access this resource.
'404':
description: ''
'409':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/teams/delete-a-team-invite-code.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Delete a Team invite code
> Delete an active Team invite code.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples delete /v1/teams/{teamId}/invites/{inviteId}
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/teams/{teamId}/invites/{inviteId}:
delete:
tags:
- teams
summary: Delete a Team invite code
description: Delete an active Team invite code.
operationId: deleteTeamInviteCode
parameters:
- name: inviteId
description: The Team invite code ID.
in: path
required: true
schema:
type: string
description: The Team invite code ID.
example: 2wn2hudbr4chb1ecywo9dvzo7g9sscs6mzcz8htdde0txyom4l
- name: teamId
description: The Team identifier to perform the request on behalf of.
in: path
required: true
schema:
type: string
description: The Team identifier to perform the request on behalf of.
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
responses:
'200':
description: Successfully deleted Team invite code.
content:
application/json:
schema:
properties:
id:
type: string
description: ID of the team.
required:
- id
type: object
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: |-
You do not have permission to access this resource.
Invite managed by directory sync
Not authorized to access this team.
'404':
description: Team invite code not found.
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/teams/delete-a-team.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Delete a Team
> 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.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples delete /v1/teams/{teamId}
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/teams/{teamId}:
delete:
tags:
- teams
summary: Delete a Team
description: >-
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.
operationId: deleteTeam
parameters:
- name: newDefaultTeamId
description: Id of the team to be set as the new default team
in: query
required: false
schema:
type: string
description: Id of the team to be set as the new default team
example: team_LLHUOMOoDlqOp8wPE4kFo9pE
- description: The Team identifier to perform the request on behalf of.
in: path
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
required: true
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
requestBody:
content:
application/json:
schema:
type: object
additionalProperties: false
properties:
reasons:
type: array
description: >-
Optional array of objects that describe the reason why the
team is being deleted.
items:
type: object
description: >-
An object describing the reason why the team is being
deleted.
required:
- slug
- description
additionalProperties: false
properties:
slug:
type: string
description: >-
Idenitifier slug of the reason why the team is being
deleted.
description:
type: string
description: >-
Description of the reason why the team is being
deleted.
required: true
responses:
'200':
description: The Team was successfully deleted
content:
application/json:
schema:
properties:
id:
type: string
description: The ID of the deleted Team
example: team_LLHUOMOoDlqOp8wPE4kFo9pE
newDefaultTeamIdError:
type: boolean
enum:
- false
- true
description: >-
Signifies whether the default team update has failed, when
newDefaultTeamId is provided in request query.
example: true
required:
- id
type: object
description: The Team was successfully deleted
'400':
description: |-
One of the provided values in the request body is invalid.
One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'402':
description: ''
'403':
description: |-
You do not have permission to access this resource.
The authenticated user can't access the team
'409':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/access-groups/delete-an-access-group-project.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Delete an access group project
> Allows deletion of an access group project
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples delete /v1/access-groups/{accessGroupIdOrName}/projects/{projectId}
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/access-groups/{accessGroupIdOrName}/projects/{projectId}:
delete:
tags:
- access-groups
summary: Delete an access group project
description: Allows deletion of an access group project
operationId: deleteAccessGroupProject
parameters:
- name: accessGroupIdOrName
in: path
required: true
schema:
type: string
examples:
id:
summary: Access group ID
value: ag_1a2b3c4d5e6f7g8h9i0j
name:
summary: Access group name
value: My Access Group
- name: projectId
in: path
required: true
schema:
type: string
example: prj_ndlgr43fadlPyCtREAqxxdyFK
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'200':
description: ''
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/aliases/delete-an-alias.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Delete an Alias
> Delete an Alias with the specified ID.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples delete /v2/aliases/{aliasId}
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v2/aliases/{aliasId}:
delete:
tags:
- aliases
summary: Delete an Alias
description: Delete an Alias with the specified ID.
operationId: deleteAlias
parameters:
- name: aliasId
description: The ID or alias that will be removed
in: path
required: true
schema:
example: 2WjyKQmM8ZnGcJsPWMrHRHrE
description: The ID or alias that will be removed
oneOf:
- type: string
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'200':
description: The alias was successfully removed
content:
application/json:
schema:
properties:
status:
type: string
enum:
- SUCCESS
required:
- status
type: object
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: The alias was not found
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/authentication/delete-an-authentication-token.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Delete an authentication token
> Invalidate an authentication token, such that it will no longer be valid for future HTTP requests.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples delete /v3/user/tokens/{tokenId}
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v3/user/tokens/{tokenId}:
delete:
tags:
- authentication
summary: Delete an authentication token
description: >-
Invalidate an authentication token, such that it will no longer be valid
for future HTTP requests.
operationId: deleteAuthToken
parameters:
- name: tokenId
description: >-
The identifier of the token to invalidate. The special value
\"current\" may be supplied, which invalidates the token that the
HTTP request was authenticated with.
in: path
required: true
schema:
type: string
description: >-
The identifier of the token to invalidate. The special value
\"current\" may be supplied, which invalidates the token that the
HTTP request was authenticated with.
example: 5d9f2ebd38ddca62e5d51e9c1704c72530bdc8bfdd41e782a6687c48399e8391
responses:
'200':
description: Authentication token successfully deleted.
content:
application/json:
schema:
properties:
tokenId:
type: string
description: The unique identifier of the token that was deleted.
example: >-
5d9f2ebd38ddca62e5d51e9c1704c72530bdc8bfdd41e782a6687c48399e8391
required:
- tokenId
type: object
description: Authentication token successfully deleted.
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: Token not found with the requested `tokenId`.
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/edge-config/delete-an-edge-config.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Delete an Edge Config
> Delete an Edge Config by id.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples delete /v1/edge-config/{edgeConfigId}
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/edge-config/{edgeConfigId}:
delete:
tags:
- edge-config
summary: Delete an Edge Config
description: Delete an Edge Config by id.
operationId: deleteEdgeConfig
parameters:
- name: edgeConfigId
in: path
required: true
schema:
type: string
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'204':
description: ''
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
'409':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/edge-config/delete-an-edge-configs-schema.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Delete an Edge Config's schema
> Deletes the schema of existing Edge Config.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples delete /v1/edge-config/{edgeConfigId}/schema
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/edge-config/{edgeConfigId}/schema:
delete:
tags:
- edge-config
summary: Delete an Edge Config's schema
description: Deletes the schema of existing Edge Config.
operationId: deleteEdgeConfigSchema
parameters:
- name: edgeConfigId
in: path
required: true
schema:
type: string
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'204':
description: ''
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'402':
description: |-
The account was soft-blocked for an unhandled reason.
The account is missing a payment so payment method must be updated
'403':
description: You do not have permission to access this resource.
'404':
description: ''
'409':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/marketplace/delete-an-existing-experimentation-item.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Delete an existing experimentation item
> Delete an existing experimentation item
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples delete /v1/installations/{integrationConfigurationId}/resources/{resourceId}/experimentation/items/{itemId}
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/installations/{integrationConfigurationId}/resources/{resourceId}/experimentation/items/{itemId}:
delete:
tags:
- marketplace
summary: Delete an existing experimentation item
description: Delete an existing experimentation item
parameters:
- name: integrationConfigurationId
in: path
required: true
schema:
type: string
- name: resourceId
in: path
required: true
schema:
type: string
- name: itemId
in: path
required: true
schema:
type: string
responses:
'204':
description: The item was deleted
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/integrations/delete-an-integration-configuration.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Delete an integration configuration
> 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.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples delete /v1/integrations/configuration/{id}
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/integrations/configuration/{id}:
delete:
tags:
- integrations
summary: Delete an integration configuration
description: >-
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.
operationId: deleteConfiguration
parameters:
- name: id
in: path
required: true
schema:
type: string
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'204':
description: The configuration was successfully removed
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: The configuration was not found
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/projects/delete-client-certificate-for-egress-mtls.md
# Delete client certificate for egress mTLS
> Delete a client certificate for mTLS authentication to external origins.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples delete /v1/projects/{idOrName}/client-cert/{certId}
paths:
path: /v1/projects/{idOrName}/client-cert/{certId}
method: delete
servers:
- url: https://api.vercel.com
description: Production API
request:
security:
- title: bearerToken
parameters:
query: {}
header:
Authorization:
type: http
scheme: bearer
description: Default authentication mechanism
cookie: {}
parameters:
path:
idOrName:
schema:
- type: string
required: true
description: The unique project identifier or the project name
example: prj_XLKmu1DyR1eY7zq8UgeRKbA7yVLA
certId:
schema:
- type: string
required: true
description: The certificate identifier
example: cert_a1b2c3d4e5f6g7h8
query:
teamId:
schema:
- type: string
description: The Team identifier to perform the request on behalf of.
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
slug:
schema:
- type: string
description: The Team slug to perform the request on behalf of.
example: my-team-url-slug
header: {}
cookie: {}
body: {}
codeSamples:
- label: deleteProjectClientCert
lang: typescript
source: |-
import { Vercel } from "@vercel/sdk";
const vercel = new Vercel({
bearerToken: "",
});
async function run() {
const result = await vercel.projects.deleteProjectClientCert({
idOrName: "prj_XLKmu1DyR1eY7zq8UgeRKbA7yVLA",
certId: "cert_a1b2c3d4e5f6g7h8",
teamId: "team_1a2b3c4d5e6f7g8h9i0j1k2l",
slug: "my-team-url-slug",
});
console.log(result);
}
run();
response:
'200':
application/json:
schemaArray:
- type: object
properties:
origin:
allOf:
- type: string
certId:
allOf:
- type: string
requiredProperties:
- origin
- certId
examples:
example:
value:
origin:
certId:
description: Client certificate deleted successfully
'400':
_mintlify/placeholder:
schemaArray:
- type: any
description: One of the provided values in the request query is invalid.
examples: {}
description: One of the provided values in the request query is invalid.
'401':
_mintlify/placeholder:
schemaArray:
- type: any
description: The request is not authorized.
examples: {}
description: The request is not authorized.
'403':
_mintlify/placeholder:
schemaArray:
- type: any
description: You do not have permission to access this resource.
examples: {}
description: You do not have permission to access this resource.
'404':
_mintlify/placeholder:
schemaArray:
- type: any
description: The certificate could not be found
examples: {}
description: The certificate could not be found
'409':
_mintlify/placeholder:
schemaArray:
- type: any
description: >-
The project is being transferred and deleting certificates is not
possible
examples: {}
description: >-
The project is being transferred and deleting certificates is not
possible
deprecated: false
type: path
components:
schemas: {}
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/marketplace/delete-integration-resource.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Delete Integration Resource
> Delete a resource owned by the selected installation ID.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples delete /v1/installations/{integrationConfigurationId}/resources/{resourceId}
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/installations/{integrationConfigurationId}/resources/{resourceId}:
delete:
tags:
- marketplace
summary: Delete Integration Resource
description: Delete a resource owned by the selected installation ID.
operationId: delete-integration-resource
parameters:
- name: integrationConfigurationId
in: path
required: true
schema:
type: string
- name: resourceId
in: path
required: true
schema:
type: string
responses:
'204':
description: ''
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/edge-config/delete-one-or-more-edge-config-tokens.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Delete one or more Edge Config tokens
> Deletes one or more tokens of an existing Edge Config.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples delete /v1/edge-config/{edgeConfigId}/tokens
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/edge-config/{edgeConfigId}/tokens:
delete:
tags:
- edge-config
summary: Delete one or more Edge Config tokens
description: Deletes one or more tokens of an existing Edge Config.
operationId: deleteEdgeConfigTokens
parameters:
- name: edgeConfigId
in: path
required: true
schema:
type: string
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
requestBody:
content:
application/json:
schema:
type: object
additionalProperties: false
required:
- tokens
properties:
tokens:
items:
type: string
type: array
required: true
responses:
'204':
description: ''
'400':
description: |-
One of the provided values in the request body is invalid.
One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'402':
description: |-
The account was soft-blocked for an unhandled reason.
The account is missing a payment so payment method must be updated
'403':
description: You do not have permission to access this resource.
'404':
description: ''
'409':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/environment/delete-one-or-more-env-var.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Delete one or more Env Var
> Deletes one or many Shared Environment Variables for a given team.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples delete /v1/env
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/env:
delete:
tags:
- environment
summary: Delete one or more Env Var
description: Deletes one or many Shared Environment Variables for a given team.
operationId: deleteSharedEnvVariable
parameters:
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
requestBody:
content:
application/json:
schema:
type: object
required:
- ids
properties:
ids:
description: IDs of the Shared Environment Variables to delete
minimum: 1
maximum: 50
type: array
items:
type: string
example:
- env_abc123
- env_abc124
responses:
'200':
description: ''
content:
application/json:
schema:
properties:
deleted:
items:
type: string
type: array
failed:
items:
properties:
error:
properties:
code:
type: string
message:
type: string
key:
type: string
envVarId:
type: string
envVarKey:
type: string
action:
type: string
link:
type: string
value:
oneOf:
- type: string
- items:
type: string
enum:
- production
- preview
- development
- preview
- development
type: array
gitBranch:
type: string
target:
oneOf:
- items:
type: string
enum:
- production
- preview
- development
- preview
- development
type: array
- type: string
enum:
- production
- preview
- development
- preview
- development
project:
type: string
required:
- code
- message
type: object
required:
- error
type: object
type: array
required:
- deleted
- failed
type: object
'400':
description: One of the provided values in the request body is invalid.
'401':
description: The request is not authorized.
'402':
description: |-
The account was soft-blocked for an unhandled reason.
The account is missing a payment so payment method must be updated
'403':
description: You do not have permission to access this resource.
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/bulk-redirects/delete-project-level-redirects.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Delete project-level redirects.
> Deletes 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.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples delete /v1/bulk-redirects
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/bulk-redirects:
delete:
tags:
- bulk-redirects
summary: Delete project-level redirects.
description: >-
Deletes 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.
operationId: deleteRedirects
parameters:
- name: projectId
in: query
required: true
schema:
type: string
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
requestBody:
content:
application/json:
schema:
type: object
properties:
name:
type: string
maxLength: 256
redirects:
description: >-
The redirects to delete. The source of the redirect is used
to match the redirect to delete.
type: array
minItems: 1
items:
type: string
required:
- redirects
responses:
'200':
description: ''
content:
application/json:
schema:
oneOf:
- properties:
alias:
type: string
version:
properties:
id:
type: string
description: The unique identifier for the version.
key:
type: string
description: >-
The key of the version. The key may be duplicated
across versions if the contents are the same as a
different version.
lastModified:
type: number
createdBy:
type: string
name:
type: string
description: >-
Optional name for the version. If not provided,
defaults to an ISO timestamp string.
isStaging:
type: boolean
enum:
- false
- true
description: >-
Whether this version has not been promoted to
production yet and is not serving end users.
isLive:
type: boolean
enum:
- false
- true
description: >-
Whether this version is currently live in
production.
redirectCount:
type: number
description: The number of redirects in this version.
alias:
type: string
description: >-
The staging link for previewing redirects in this
version.
required:
- createdBy
- id
- key
- lastModified
type: object
required:
- version
type: object
- properties:
alias:
nullable: true
type: string
version:
properties:
id:
type: string
description: The unique identifier for the version.
key:
type: string
description: >-
The key of the version. The key may be duplicated
across versions if the contents are the same as a
different version.
lastModified:
type: number
createdBy:
type: string
name:
type: string
description: >-
Optional name for the version. If not provided,
defaults to an ISO timestamp string.
isStaging:
type: boolean
enum:
- false
- true
description: >-
Whether this version has not been promoted to
production yet and is not serving end users.
isLive:
type: boolean
enum:
- false
- true
description: >-
Whether this version is currently live in
production.
redirectCount:
type: number
description: The number of redirects in this version.
alias:
type: string
description: >-
The staging link for previewing redirects in this
version.
required:
- createdBy
- id
- key
- lastModified
type: object
required:
- alias
- version
type: object
'400':
description: |-
One of the provided values in the request body is invalid.
One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
'500':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/rolling-release/delete-rolling-release-configuration.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Delete rolling release configuration
> Disable 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.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples delete /v1/projects/{idOrName}/rolling-release/config
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/projects/{idOrName}/rolling-release/config:
delete:
tags:
- rolling-release
summary: Delete rolling release configuration
description: >-
Disable 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.
operationId: deleteRollingReleaseConfig
parameters:
- name: idOrName
description: Project ID or project name (URL-encoded)
in: path
required: true
schema:
description: Project ID or project name (URL-encoded)
type: string
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'200':
description: ''
content:
application/json:
schema:
properties:
rollingRelease:
nullable: true
required:
- rollingRelease
type: object
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/user/delete-user-account.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Delete User Account
> 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.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples delete /v1/user
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/user:
delete:
tags:
- user
summary: Delete User Account
description: >-
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.
operationId: requestDelete
parameters: []
requestBody:
content:
application/json:
schema:
type: object
additionalProperties: false
properties:
reasons:
type: array
description: >-
Optional array of objects that describe the reason why the
User account is being deleted.
items:
type: object
description: >-
An object describing the reason why the User account is
being deleted.
required:
- slug
- description
additionalProperties: false
properties:
slug:
type: string
description: >-
Idenitifier slug of the reason why the User account is
being deleted.
description:
type: string
description: >-
Description of the reason why the User account is
being deleted.
required: true
responses:
'202':
description: >-
Response indicating that the User deletion process has been
initiated, and a confirmation email has been sent.
content:
application/json:
schema:
properties:
id:
type: string
description: Unique identifier of the User who has initiated deletion.
email:
type: string
description: Email address of the User who has initiated deletion.
message:
type: string
description: User deletion progress status.
example: Verification email sent
required:
- email
- id
- message
type: object
'400':
description: One of the provided values in the request body is invalid.
'401':
description: ''
'402':
description: ''
'403':
description: You do not have permission to access this resource.
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/logdrains/deletes-a-configurable-log-drain-deprecated.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Deletes a Configurable Log Drain (deprecated)
> 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.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples delete /v1/log-drains/{id}
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/log-drains/{id}:
delete:
tags:
- logDrains
summary: Deletes a Configurable Log Drain (deprecated)
description: >-
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.
operationId: deleteConfigurableLogDrain
parameters:
- name: id
in: path
required: true
schema:
type: string
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'204':
description: ''
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/webhooks/deletes-a-webhook.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Deletes a webhook
> Deletes a webhook
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples delete /v1/webhooks/{id}
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/webhooks/{id}:
delete:
tags:
- webhooks
summary: Deletes a webhook
description: Deletes a webhook
operationId: deleteWebhook
parameters:
- name: id
in: path
required: true
schema:
type: string
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'204':
description: ''
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/access-groups/deletes-an-access-group.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Deletes an access group
> Allows to delete an access group
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples delete /v1/access-groups/{idOrName}
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/access-groups/{idOrName}:
delete:
tags:
- access-groups
summary: Deletes an access group
description: Allows to delete an access group
operationId: deleteAccessGroup
parameters:
- name: idOrName
in: path
required: true
schema:
type: string
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'200':
description: ''
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/logdrains/deletes-the-integration-log-drain-with-the-provided-`id`-deprecated.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Deletes the Integration log drain with the provided `id` (deprecated)
> 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.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples delete /v1/integrations/log-drains/{id}
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/integrations/log-drains/{id}:
delete:
tags:
- logDrains
summary: Deletes the Integration log drain with the provided `id` (deprecated)
description: >-
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.
operationId: deleteIntegrationLogDrain
parameters:
- name: id
description: ID of the log drain to be deleted
in: path
required: true
schema:
description: ID of the log drain to be deleted
type: string
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'204':
description: The log drain was successfully deleted
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/examples/deployments-automation.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Deployment Automation
> Learn how to use the Vercel SDK through real-life examples.
## Create a deployment
In this example, you will trigger a new deployment from a GitHub repository and then retrieve its status.
```ts run.ts theme={"system"}
import { Vercel } from '@vercel/sdk';
const vercel = new Vercel({
bearerToken: process.env.VERCEL_TOKEN,
});
async function createAndCheckDeployment() {
try {
// Create a new deployment
const createResponse = await vercel.deployments.createDeployment({
requestBody: {
name: 'my-project', //The project name used in the deployment URL
target: 'production',
gitSource: {
type: 'github',
repo: 'repo-name',
ref: 'main',
org: 'org-name', //For a personal account, the org-name is your GH username
},
},
});
console.log(
`Deployment created: ID ${createResponse.id} and status ${createResponse.status}`,
);
} catch (error) {
console.error(
error instanceof Error ? `Error: ${error.message}` : String(error),
);
}
}
createAndCheckDeployment();
```
## Create a deployment with alias
In this example, you will create a deployment, wait for it to complete, and then create an alias if successful.
```ts run.ts theme={"system"}
import { Vercel } from '@vercel/sdk';
const vercel = new Vercel({
bearerToken: process.env.VERCEL_TOKEN,
});
async function createDeploymentAndAlias() {
try {
// Create a new deployment
const createResponse = await vercel.deployments.createDeployment({
requestBody: {
name: 'my-project', //The project name used in the deployment URL
target: 'production',
gitSource: {
type: 'github',
repo: 'repo-name',
ref: 'main',
org: 'org-name', //For a personal account, the org-name is your GH username
},
},
});
const deploymentId = createResponse.id;
console.log(
`Deployment created: ID ${deploymentId} and status ${createResponse.status}`,
);
// Check deployment status
let deploymentStatus;
let deploymentURL;
do {
await new Promise((resolve) => setTimeout(resolve, 5000)); // Wait 5 seconds between checks
const statusResponse = await vercel.deployments.getDeployment({
idOrUrl: deploymentId,
withGitRepoInfo: 'true',
});
deploymentStatus = statusResponse.status;
deploymentURL = statusResponse.url;
console.log(`Deployment status: ${deploymentStatus}`);
} while (
deploymentStatus === 'BUILDING' ||
deploymentStatus === 'INITIALIZING'
);
if (deploymentStatus === 'READY') {
console.log(`Deployment successful. URL: ${deploymentURL}`);
const aliasResponse = await vercel.aliases.assignAlias({
id: deploymentId,
requestBody: {
alias: `my-project-alias.vercel.app`,
redirect: null,
},
});
console.log(`Alias created: ${aliasResponse.alias}`);
} else {
console.log('Deployment failed or was canceled');
}
} catch (error) {
console.error(
error instanceof Error ? `Error: ${error.message}` : String(error),
);
}
}
createDeploymentAndAlias();
```
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/environment/disconnects-a-shared-environment-variable-for-a-given-project.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Disconnects a shared environment variable for a given project
> Disconnects a shared environment variable for a given project
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples patch /v1/env/{id}/unlink/{projectId}
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/env/{id}/unlink/{projectId}:
patch:
tags:
- environment
summary: Disconnects a shared environment variable for a given project
description: Disconnects a shared environment variable for a given project
operationId: unlinkSharedEnvVariable
parameters:
- name: id
description: >-
The unique ID for the Shared Environment Variable to unlink from the
project.
in: path
required: true
schema:
description: >-
The unique ID for the Shared Environment Variable to unlink from
the project.
type: string
- name: projectId
in: path
required: true
schema:
type: string
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'200':
description: ''
content:
application/json:
schema:
type: object
required:
- id
properties:
id:
type: string
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/examples/domain-management.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Domain Management
> Learn how to use the Vercel SDK through real-life examples.
## Add a domain
In this example, you will add a new domain to a project and check its configuration.
```ts run.ts theme={"system"}
import { Vercel } from '@vercel/sdk';
const vercel = new Vercel({
bearerToken: process.env.VERCEL_TOKEN,
});
async function addAndReviewDomain() {
const domain = 'www.example.com';
try {
// Add a new domain
const addDomainResponse = await vercel.projects.addProjectDomain({
idOrName: 'my-project', //The project name used in the deployment URL
requestBody: {
name: domain,
},
});
console.log(`Domain added: ${addDomainResponse.name}`);
console.log('Domain Details:', JSON.stringify(addDomainResponse, null, 2));
} catch (error) {
console.error(
error instanceof Error ? `Error: ${error.message}` : String(error),
);
}
}
addAndReviewDomain();
```
## Add a domain, verify it and setup a redirect
In this example, you will add a custom domain, verify it, and set up a redirect from a subdomain to the main domain.
```ts run.ts theme={"system"}
import { Vercel } from '@vercel/sdk';
const vercel = new Vercel({
bearerToken: process.env.VERCEL_TOKEN,
});
async function setupDomainWithRedirect() {
const mainDomain = 'example.com';
const subDomain = 'hello.example.com';
const projectName = 'my-project'; //The project name used in the deployment URL
try {
// Add main domain
const mainDomainResponse = await vercel.projects.addProjectDomain({
idOrName: projectName,
requestBody: {
name: mainDomain,
},
});
console.log(`Main domain added: ${mainDomainResponse.name}`);
const checkConfiguration = await vercel.domains.getDomainConfig({
domain: mainDomain,
});
if (mainDomainResponse.verified && !checkConfiguration.misconfigured) {
// Add subdomain with 301 redirect to main domain
const subDomainResponse = await vercel.projects.addProjectDomain({
idOrName: projectName,
requestBody: {
name: subDomain,
redirect: `https://${mainDomain}`,
redirectStatusCode: 301,
},
});
console.log(`Subdomain added and redirect set up: ${subDomain}`);
}
} catch (error) {
console.error(
error instanceof Error ? `Error: ${error.message}` : String(error),
);
}
}
setupDomainWithRedirect();
```
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/artifacts/download-a-cache-artifact.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Download a cache artifact
> 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.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v8/artifacts/{hash}
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v8/artifacts/{hash}:
get:
tags:
- artifacts
summary: Download a cache artifact
description: >-
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.
operationId: downloadArtifact
parameters:
- in: header
description: >-
The continuous integration or delivery environment where this
artifact is downloaded.
schema:
type: string
description: >-
The continuous integration or delivery environment where this
artifact is downloaded.
example: VERCEL
maxLength: 50
name: x-artifact-client-ci
- in: header
description: 1 if the client is an interactive shell. Otherwise 0
schema:
type: integer
description: 1 if the client is an interactive shell. Otherwise 0
example: 0
minimum: 0
maximum: 1
name: x-artifact-client-interactive
- name: hash
description: The artifact hash
in: path
required: true
schema:
type: string
example: 12HKQaOmR5t5Uy6vdcQsNIiZgHGB
description: The artifact hash
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'200':
description: >-
The artifact was found and is downloaded as a stream. Content-Length
should be verified.
content:
application/json:
schema:
type: string
format: binary
description: >-
An octet stream response that will be piped to the response
stream.
'400':
description: |-
One of the provided values in the request query is invalid.
One of the provided values in the headers is invalid
'401':
description: The request is not authorized.
'402':
description: |-
The account was soft-blocked for an unhandled reason.
The account is missing a payment so payment method must be updated
'403':
description: >-
The customer has reached their spend cap limit and has been paused.
An owner can disable the cap or raise the limit in settings.
The Remote Caching usage limit has been reached for this account for
this billing cycle.
Remote Caching has been disabled for this team or user. An owner can
enable it in the billing settings.
You do not have permission to access this resource.
'404':
description: The artifact was not found
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/bulk-redirects/edit-a-project-level-redirect.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Edit a project-level redirect.
> Edits 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.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples patch /v1/bulk-redirects
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/bulk-redirects:
patch:
tags:
- bulk-redirects
summary: Edit a project-level redirect.
description: >-
Edits 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.
operationId: editRedirect
parameters:
- name: projectId
in: query
required: true
schema:
type: string
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
requestBody:
content:
application/json:
schema:
type: object
properties:
name:
type: string
maxLength: 256
redirect:
description: >-
The redirect object to edit. The source field is used to
match the redirect to modify.
type: object
properties:
source:
type: string
destination:
type: string
statusCode:
type: number
permanent:
type: boolean
caseSensitive:
type: boolean
query:
type: boolean
preserveQueryParams:
type: boolean
required:
- source
additionalProperties: false
restore:
description: >-
If true, restores the redirect from the latest production
version to staging.
type: boolean
required:
- redirect
responses:
'200':
description: ''
content:
application/json:
schema:
properties:
alias:
nullable: true
type: string
version:
properties:
id:
type: string
description: The unique identifier for the version.
key:
type: string
description: >-
The key of the version. The key may be duplicated
across versions if the contents are the same as a
different version.
lastModified:
type: number
createdBy:
type: string
name:
type: string
description: >-
Optional name for the version. If not provided,
defaults to an ISO timestamp string.
isStaging:
type: boolean
enum:
- false
- true
description: >-
Whether this version has not been promoted to
production yet and is not serving end users.
isLive:
type: boolean
enum:
- false
- true
description: Whether this version is currently live in production.
redirectCount:
type: number
description: The number of redirects in this version.
alias:
type: string
description: >-
The staging link for previewing redirects in this
version.
required:
- createdBy
- id
- key
- lastModified
type: object
required:
- alias
- version
type: object
'400':
description: |-
One of the provided values in the request body is invalid.
One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
'500':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/projects/edit-an-environment-variable.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Edit an environment variable
> 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.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples patch /v9/projects/{idOrName}/env/{id}
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v9/projects/{idOrName}/env/{id}:
patch:
tags:
- projects
summary: Edit an environment variable
description: >-
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.
operationId: editProjectEnv
parameters:
- name: idOrName
description: The unique project identifier or the project name
in: path
required: true
schema:
description: The unique project identifier or the project name
type: string
example: prj_XLKmu1DyR1eY7zq8UgeRKbA7yVLA
- name: id
description: The unique environment variable identifier
in: path
required: true
schema:
description: The unique environment variable identifier
type: string
example: XMbOEya1gUUO1ir4
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
requestBody:
content:
application/json:
schema:
type: object
additionalProperties: false
properties:
key:
description: The name of the environment variable
type: string
example: GITHUB_APP_ID
target:
description: The target environment of the environment variable
type: array
items:
enum:
- production
- preview
- development
example:
- preview
gitBranch:
description: >-
If defined, the git branch of the environment variable (must
have target=preview)
type: string
maxLength: 250
example: feature-1
nullable: true
type:
description: The type of environment variable
type: string
enum:
- system
- secret
- encrypted
- plain
- sensitive
example: plain
value:
description: The value of the environment variable
type: string
example: bkWIjbnxcvo78
customEnvironmentIds:
type: array
description: >-
The custom environments that the environment variable should
be synced to
items:
type: string
example: env_1234567890
comment:
type: string
description: A comment to add context on what this env var is for
example: database connection string for production
maxLength: 500
required: true
responses:
'200':
description: The environment variable was successfully edited
content:
application/json:
schema:
nullable: true
properties:
type:
type: string
enum:
- secret
- system
- encrypted
- plain
- sensitive
value:
type: string
edgeConfigId:
nullable: true
type: string
edgeConfigTokenId:
nullable: true
type: string
createdAt:
type: number
updatedAt:
type: number
id:
type: string
createdBy:
nullable: true
type: string
target:
oneOf:
- items:
type: string
enum:
- production
- preview
- development
- preview
- development
type: array
- type: string
enum:
- production
- preview
- development
- preview
- development
key:
type: string
gitBranch:
type: string
updatedBy:
nullable: true
type: string
sunsetSecretId:
type: string
description: >-
This is used to identify variables that have been migrated
from type secret to sensitive.
legacyValue:
type: string
description: >-
Legacy now-encryption ciphertext, present after migration
swaps value/vsmValue
decrypted:
type: boolean
enum:
- false
- true
configurationId:
nullable: true
type: string
contentHint:
nullable: true
oneOf:
- properties:
type:
type: string
enum:
- redis-url
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- redis-rest-api-url
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- redis-rest-api-token
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- redis-rest-api-read-only-token
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- blob-read-write-token
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-url
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-url-non-pooling
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-prisma-url
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-user
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-host
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-password
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-database
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-url-no-ssl
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- integration-store-secret
storeId:
type: string
integrationId:
type: string
integrationProductId:
type: string
integrationConfigurationId:
type: string
required:
- integrationConfigurationId
- integrationId
- integrationProductId
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- flags-connection-string
projectId:
type: string
required:
- projectId
- type
type: object
internalContentHint:
nullable: true
properties:
type:
type: string
enum:
- flags-secret
encryptedValue:
type: string
description: >-
Contains the `value` of the env variable, encrypted
with a special key to make decryption possible in the
subscriber Lambda.
required:
- encryptedValue
- type
type: object
description: >-
Similar to `contentHints`, but should not be exposed to
the user.
comment:
type: string
customEnvironmentIds:
items:
type: string
type: array
required:
- key
- type
- value
type: object
'400':
description: |-
One of the provided values in the request body is invalid.
One of the provided values in the request query is invalid.
At least one environment variable failed validation
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
'409':
description: >-
The project is being transfered and removing an environment variable
is not possible
'429':
description: ''
'500':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/examples/environment-variables.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Environment Variables
> Learn how to use the Vercel SDK through real-life examples.
## Add environment variables to a project
In this example, you will add new environment variables to a project and list the details of the added values.
```ts run.ts theme={"system"}
import { Vercel } from '@vercel/sdk';
const vercel = new Vercel({
bearerToken: process.env.VERCEL_TOKEN,
});
const projectName = 'my-project'; //The project name used in the deployment URL
async function addAndListEnvVars() {
try {
// Add new environment variables
const addResponse = await vercel.projects.createProjectEnv({
idOrName: projectName,
upsert: 'true',
requestBody: [
{
key: 'API_KEY',
value: 'secret_value',
target: ['production', 'preview'],
type: 'encrypted',
},
{
key: 'DEBUG',
value: 'true',
target: ['development'],
type: 'plain',
},
],
});
console.log(
'Added environment variables:',
JSON.stringify(addResponse, null, 2),
);
} catch (error) {
console.error(
error instanceof Error ? `Error: ${error.message}` : String(error),
);
}
}
addAndListEnvVars();
```
## Manage variables across projects
In this example, you manage environment variables across multiple projects and environments.
```ts run.ts theme={"system"}
import { Vercel } from '@vercel/sdk';
import { OneTarget } from '@vercel/sdk/models/operations/createprojectenv';
const PROJECTS = ['project-id-1', 'project-id-2', 'project-id-3'];
const environments = ['development', 'preview', 'production'];
const VERCEL_TOKEN = process.env.VERCEL_TOKEN;
const vercel = new Vercel({
bearerToken: VERCEL_TOKEN,
});
async function manageEnvironmentVariables() {
try {
const variables = [
{ key: 'API_URL', value: 'https://api.example.com' },
{ key: 'DEBUG', value: 'true', environments: ['development', 'preview'] },
{
key: 'SECRET_KEY',
value: 'super-secret-key',
encrypt: true,
environments: ['production', 'preview'],
},
];
for (const projectId of PROJECTS) {
console.log(`Managing environment variables for project: ${projectId}`);
for (const variable of variables) {
const targets =
(variable.environments as OneTarget[]) ||
(environments as OneTarget[]);
const addEnv = await vercel.projects.createProjectEnv({
idOrName: projectId,
upsert: 'true',
requestBody: {
key: variable.key,
value: variable.value,
target: targets,
type: variable.encrypt ? 'encrypted' : 'plain',
},
});
console.log(addEnv.created);
}
const readEnvs = await vercel.projects.filterProjectEnvs({
idOrName: projectId,
});
console.log(
'Env Details for ',
projectId,
':',
JSON.stringify(readEnvs, null, 2),
);
}
} catch (error) {
console.error('Error:', error.response?.data || error.message);
}
}
manageEnvironmentVariables();
```
## Add variables to custom environments
In this example, you will add environment variables to a [custom environment](https://vercel.com/docs/deployments/environments#custom-environments) in a project. You can find the project name from the [project settings page](https://vercel.com/d?to=%2F%5Bteam%5D%2F%5Bproject%5D%2Fsettings\&title=Find+your+project+name) and the custom environment slug from the [custom environments page](https://vercel.com/d?to=%2F%5Bteam%5D%2F%5Bproject%5D%2Fsettings%2Fenvironments\&title=Find+your+project+environments).
```ts run.ts theme={"system"}
import { Vercel } from '@vercel/sdk';
const vercel = new Vercel({
bearerToken: process.env.VERCEL_TOKEN,
});
const projectName = 'my-project'; // The project name that you find in the project settings page
const customEnvironmentSlug = 'staging'; // The custom environment slug that you want to add the variable to
async function addEnvToCustomEnvironment() {
try {
// Get custom environments for the project
const customEnvs = await vercel.environment.getV9ProjectsIdOrNameCustomEnvironments({
idOrName: projectName,
});
console.log('Custom environments:', customEnvs);
// Find the staging environment
const stagingEnv = customEnvs.environments.find(
(env) => env.slug === customEnvironmentSlug,
);
const stagingEnvId = stagingEnv?.id; // This will be in format "env_xxx"
console.log(`Staging environment ID: ${stagingEnvId || 'not found'}`);
if (stagingEnvId) {
// Create/upsert an environment variable for the custom environment
console.log('Creating project environment variable...');
const createEnvResult = await vercel.projects.createProjectEnv({
idOrName: projectName,
upsert: 'true', // Upsert the variable if it already exists
requestBody: {
key: 'TEST_VAR',
value: 'test-value',
type: 'plain', // or "encrypted", "sensitive"
customEnvironmentIds: [stagingEnvId], // Array of custom environment IDs
comment: 'Test variable created via SDK',
},
});
console.log('Environment variable created:', createEnvResult);
} else {
console.log(
'Staging environment not found, skipping environment variable creation',
);
}
} catch (error) {
console.error(
error instanceof Error ? `Error: ${error.message}` : String(error),
);
}
}
addEnvToCustomEnvironment();
```
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/errors.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Errors
> List of general and specific errors you may encounter when using the REST API.
## Generic Errors
These error codes are consistent for all endpoints.
### Forbidden
You're not authorized to use the endpoint. This usually happens due to missing an user token.
Similar to the HTTP 403 Forbidden error.
```json error-response-forbidden theme={"system"}
{
"error": {
"code": "forbidden",
"message": "Not authorized"
}
}
```
### Rate Limited
You exceeded the maximum allotted requests.
The limit of request is per endpoint basis so you could continue using another endpoints even if some of them give you this error.
```json error-response-rate-limited theme={"system"}
{
"error": {
"code": "rate_limited",
"message": "The rate limit of 6 exceeded for 'api-www-user-update-username'. Try again in 7 days",
"limit": {
"remaining": 0,
"reset": 1571432075,
"resetMs": 1571432075563,
"total": 6
}
}
}
```
### Bad Request
There was an error with the request, the `error.message` would contain information about the issue.
```json error-response-bad-request theme={"system"}
{
"error": {
"code": "bad_request",
"message": "An english description of the error that just occurred"
}
}
```
### Internal Server Error
This errors is similar to the HTTP 500 Internal Server Error error code.
```json error-response-internal-server-error theme={"system"}
{
"error": {
"code": "internal_server_error",
"message": "An unexpected internal error occurred"
}
}
```
### Resource Not Found
The requested resource could not be found
```json error-response-not-Found theme={"system"}
{
"error": {
"code": "not_found",
"message": "Could not find the RESOURCE: ID"
}
}
```
### Method Unknown
The endpoint you're requesting does not handle the method you defined. The error message will contain the methods the endpoint responds to.
```json error-response-method-unknown theme={"system"}
{
"error": {
"code": "method_unknown",
"message": "This endpoint only responds to METHOD"
}
}
```
## Deployment Errors
These error codes can happen when using any [deployment related endpoint](/endpoints/deployments/get-deployment-events).
### Missing Files
Some of the files you defined when creating the deployment are missing.
```json error-response-missing-files theme={"system"}
{
"error": {
"code": "missing_files",
"message": "Missing files",
"missing": []
}
}
```
### No Files in the Deployment
You tried to create an empty deployment.
```json error-response-no-files theme={"system"}
{
"error": {
"code": "no_files",
"message": "No files in the deployment"
}
}
```
### Too Many Environment Variables
The limit of environment variables per deployment is 100 and you defined more. The error message indicates the amount you define.
```json error-response-too-many-env-keys theme={"system"}
{
"error": {
"code": "env_too_many_keys",
"message": "Too many env vars have been supplied (100 max allowed, but got #)"
}
}
```
`#`is your number of variables.
### Environment Variable Key with Invalid Characters
Some environment variable name contains an invalid character. The only valid characters are letters, digits and `_`.
The error message will contain the `KEY` with the problem.
```json error-response-env-key-invalid-characters theme={"system"}
{
"error": {
"code": "env_key_invalid_characters",
"message": "The env key "KEY" contains invalid characters. Only letters, digits and \`_\` are allowed",
"key": KEY
}
}
```
### Environment Variable Key with a Long Name
An environment variable name is too long, the maximum permitted name is 256 characters.
The error message contains the environment `KEY`.
```json error-response-env-key-invalid-length theme={"system"}
{
"error": {
"code": "env_key_invalid_length",
"message": "The env key "KEY" exceeds the 256 length limit",
"key": KEY
}
}
```
### Environment Variable Value with a Long Name
An environment variable value contains a value too long, the maximum permitted value is 65536 characters.
The error message contains the environment `KEY`.
```json error-response-env-value-invalid-length theme={"system"}
{
"error": {
"code": "env_value_invalid_length",
"message": "The env value for "KEY" exceeds the 65536 length limit",
"key": KEY,
"value": VALUE
}
}
```
### Environment Variable Value Is an Object without UID
The value of an environment variable is object but it doesn't have a `uid`.
The error message contains the environment `KEY` which has the error.
```json error-response-env-value-invalid-type theme={"system"}
{
"error": {
"code": "env_value_invalid_type_missing_uid",
"message": "The env key "KEY" passed an object as a value with no \`uid\` key"
}
}
```
### Environment Variable Value Is an Object with Unknown Props
The value of an environment variable is an object with unknown attributes, it only can have a `uid` key inside the object.
```json error-response-env-value-invalid-type theme={"system"}
{
"error": {
"code": "env_value_invalid_type_unknown_props",
"message": "The env key "KEY" passed an object with unknown properties. Only \`uid\` is allowed when passing an object"
}
}
```
### Environment Variable Value with an Invalid Type
An environment variable value passed is of an unsupported type.
The error message contains the environment `KEY`.
```json error-response-env-value-invalid-type theme={"system"}
{
"error": {
"code": "env_value_invalid_type",
"message": "The env key "KEY" passed an unsupported type for its value",
"key": KEY
}
}
```
### Not Allowed to Access a Secret
You're trying to use a secret but you don't have access to it.
```json error-response-secret-forbidden theme={"system"}
{
"error": {
"code": "env_secret_forbidden",
"message": "Not allowed to access secret \\"NAME\\"",
"uid": UID
}
}
```
### Missing Secret
You're trying to use a secret as an environment value and it doesn't exists.
```json error-response-secret-missing theme={"system"}
{
"error": {
"code": "env_secret_missing",
"message": "Could not find a secret by uid "UID"",
"uid": UID
}
}
```
## Domain Errors
These error code could happen when using any [domains related endpoints](/endpoints/domains-registrar/buy-a-domain).
### Domain Forbidden
You don't have access to the domain, this usually mean this domains is owned by another account or team.
The domain is specified in the message and the `DOMAIN` key.
```json error-response-forbidden theme={"system"}
{
"error": {
"code": "forbidden",
"message": "You don't have access to \\"DOMAIN\\"",
"domain": DOMAIN
}
}
```
### Domain Not Found
The domain name could not be found in our system. Try to [add it first](/endpoints/domains-registrar/transfer-in-a-domain).
```json error-response-not-found theme={"system"}
{
"error": {
"code": "not_found",
"message": "Domain name not found"
}
}
```
### Missing Domain Name
The domain name wasn't specified in the URL. This means you tried to use an endpoint which require you to define the domain name in the URL but didn't defined it.
```json error-response-missing-name theme={"system"}
{
"error": {
"code": "missing_name",
"message": "The URL was expected to include the domain name. Example: /domains/google.com"
}
}
```
### Conflicting Aliases
You must [remove the aliases](/endpoints/aliases/delete-an-alias#delete-an-alias) described in the error before removing the domains.
The aliases are specified in the `ALIASES` key.
```json error-response-conflict-alias theme={"system"}
{
"error": {
"code": "conflict_aliases",
"message": "The following aliases must be removed before removing the domain: ALIASES",
"aliases": ALIASES
}
}
```
### Not Modified
When trying to modify a domain nothing was required to change.
```json error-response-not-modified theme={"system"}
{
"error": {
"code": "not_modified",
"message": "Nothing to do"
}
}
```
### Missing Name for Domain
When trying to add a domain the name wasn't present in the request body.
```json error-response-missing-name theme={"system"}
{
"error": {
"code": "missing_name",
"message": "The `name` field in the body was expected but is not present in the body payload. Example value: `example.com`"
}
}
```
### Invalid Name for Domain
The domain name defined in the request body is invalid.
The name is specified in the error as the `NAME` key.
```json error-response-invalid-name theme={"system"}
{
"error": {
"code": "invalid_name",
"message": "The \`name\` field contains an invalid domain name ("NAME")",
"name": NAME
}
}
```
### Custom Domain Needs a Plan Upgrade
In order to add a custom domain to your account or team you need to upgrade to a paid plan.
```json error-response-domain-needs-upgrade theme={"system"}
{
"error": {
"code": "custom_domain_needs_upgrade",
"message": "Domain name creation requires a premium account."
}
}
```
### Domain Already Exists
The domain name you're trying to add already exists.
The domain name and its current ID are received in the `NAME` and `DOMAIN_ID` keys.
```json error-response-not-modified theme={"system"}
{
"error": {
"code": "not_modified",
"message": "The domain "NAME" already exists",
"name": NAME,
"uid": DOMAIN_ID
}
}
```
### Can't Create the Domain
The domain name can't be created. Most probably it couldn't be verified.
```json error-response-forbidden theme={"system"}
{
"error": {
"code": "forbidden",
"message": "You don't have permission to create a domain"
}
}
```
### Failed to Add Domain after Purchase
We were able to purchase a domain for you but we had an error when trying to add it to your account. Please contact us on **[Contact Support](https://vercel.com/help)**.
```json error-response-failed-add-domain theme={"system"}
{
"error": {
"code": "failed_to_add_domain",
"message": "The domain was bought but couldn't be added.
}
}
```
### Unable to Determine the Domain Price
We're unable to determine the domain price of a domain.
```json error-response-service-unavailable theme={"system"}
{
"error": {
"code": "service_unavailable",
"message": "Failed to determine the domain price"
}
}
```
### Domain price mismatch
The `expectedPrice` supplied in the request body does not match the actual domain price, which is specified in the `actualPrice` key.
```json error-response-price-mismatch theme={"system"}
{
"error": {
"code": "price_mismatch",
"message": "The expected price does not match the actual price",
"price": ACTUAL_PRICE
}
}
```
### Domain Is Not Available
The domain name is not available to be purchased.
```json error-response-not-available theme={"system"}
{
"error": {
"code": "not_available",
"message": "Domain is not available"
}
}
```
### Invalid Domain Name
The domain name or TLD is invalid or not supported.
```json error-response-invalid-domain theme={"system"}
{
"error": {
"code": "invalid_domain",
"message": "Invalid domain or TLD"
}
}
```
### Missing DNS Record Name
The DNS record key `name` is required and was not provided. It could be [any valid DNS record](https://en.wikipedia.org/wiki/List_of_DNS_record_types).
```json error-response-missing-type theme={"system"}
{
"error": {
"code": "missing_type",
"message": "Missing `type` parameter"
}
}
```
## DNS Errors
These error code could happen when using any [DNS related endpoint](/endpoints/dns/list-existing-dns-records).
### Missing DNS Record Name
The DNS record key `name` is required and was not provided. It should be either a subdomain or `@` for the domain itself.
```json error-response-missing-Name theme={"system"}
{
"error": {
"code": "missing_name",
"message": "Missing `name` parameter"
}
}
```
### Missing DNS Record Type
The DNS record key `name` is required and was not provided. It could be [any valid DNS record](https://en.wikipedia.org/wiki/List_of_DNS_record_types).
```json error-response-missing-type theme={"system"}
{
"error": {
"code": "missing_type",
"message": "Missing `type` parameter"
}
}
```
## OAuth2 errors
These errors could occur when using any [OAuth2 related endpoint](https://vercel.com/docs/integrations/vercel-api-integrations#create-an-access-token).
### Client Not Found
The OAuth2 client ID could not be found or doesn't exist.
```json error-response-not-found theme={"system"}
{
"error": {
"code": "not_found",
"message": "OAuth client doesn't not found: CLIENT_ID"
}
}
```
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/drains/find-a-drain-by-id.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Find a Drain by id
> Get the information for a specific Drain by passing the drain id in the URL.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v1/drains/{id}
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/drains/{id}:
get:
tags:
- drains
summary: Find a Drain by id
description: >-
Get the information for a specific Drain by passing the drain id in the
URL.
operationId: getDrain
parameters:
- name: id
in: path
required: true
schema:
type: string
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'200':
description: ''
content:
application/json:
schema:
oneOf:
- properties:
id:
type: string
createdAt:
type: number
updatedAt:
type: number
projectIds:
items:
type: string
type: array
name:
type: string
teamId:
nullable: true
type: string
ownerId:
type: string
status:
type: string
enum:
- enabled
- disabled
- errored
firstErrorTimestamp:
type: number
disabledAt:
type: number
disabledBy:
type: string
disabledReason:
type: string
enum:
- disabled-by-owner
- feature-not-available
- account-plan-downgrade
- disabled-by-admin
schemas:
properties:
log:
type: object
trace:
type: object
analytics:
type: object
speed_insights:
type: object
type: object
delivery:
oneOf:
- properties:
type:
type: string
enum:
- http
endpoint:
type: string
encoding:
type: string
enum:
- json
- ndjson
compression:
type: string
enum:
- none
- gzip
headers:
additionalProperties:
type: string
type: object
secret:
oneOf:
- type: string
- properties:
kind:
type: string
enum:
- INTEGRATION_SECRET
required:
- kind
type: object
required:
- encoding
- endpoint
- headers
- type
type: object
- properties:
type:
type: string
enum:
- otlphttp
endpoint:
properties:
traces:
type: string
required:
- traces
type: object
encoding:
type: string
enum:
- json
- proto
headers:
additionalProperties:
type: string
type: object
secret:
oneOf:
- type: string
- properties:
kind:
type: string
enum:
- INTEGRATION_SECRET
required:
- kind
type: object
required:
- encoding
- endpoint
- headers
- type
type: object
- properties:
type:
type: string
enum:
- clickhouse
endpoint:
type: string
table:
type: string
required:
- endpoint
- table
- type
type: object
- properties:
type:
type: string
enum:
- internal
target:
type: string
enum:
- vercel-otel-traces-db
required:
- target
- type
type: object
sampling:
items:
properties:
type:
type: string
enum:
- head_sampling
rate:
type: number
env:
type: string
enum:
- production
- preview
requestPath:
type: string
required:
- rate
- type
type: object
type: array
source:
oneOf:
- properties:
kind:
type: string
enum:
- self-served
required:
- kind
type: object
- properties:
kind:
type: string
enum:
- integration
resourceId:
type: string
externalResourceId:
type: string
integrationId:
type: string
integrationConfigurationId:
type: string
required:
- integrationConfigurationId
- integrationId
- kind
type: object
filter:
type: string
filterV2:
oneOf:
- properties:
version:
type: string
enum:
- v1
required:
- version
type: object
- properties:
version:
type: string
enum:
- v2
filter:
oneOf:
- properties:
type:
type: string
enum:
- basic
project:
properties:
ids:
items:
type: string
type: array
type: object
log:
properties:
sources:
items:
type: string
enum:
- build
- edge
- lambda
- static
- external
- firewall
- redirect
type: array
legacy_excludeCachedStaticAssetLogs:
type: boolean
enum:
- false
- true
type: object
deployment:
properties:
environments:
items:
type: string
enum:
- production
- preview
type: array
type: object
required:
- type
type: object
- properties:
type:
type: string
enum:
- odata
text:
type: string
required:
- text
- type
type: object
required:
- filter
- version
type: object
required:
- createdAt
- delivery
- id
- name
- ownerId
- schemas
- source
- updatedAt
type: object
- properties:
id:
type: string
createdAt:
type: number
updatedAt:
type: number
projectIds:
items:
type: string
type: array
name:
type: string
teamId:
nullable: true
type: string
ownerId:
type: string
status:
type: string
enum:
- enabled
- disabled
- errored
firstErrorTimestamp:
type: number
disabledAt:
type: number
disabledBy:
type: string
disabledReason:
type: string
enum:
- disabled-by-owner
- feature-not-available
- account-plan-downgrade
- disabled-by-admin
schemas:
properties:
log:
type: object
trace:
type: object
analytics:
type: object
speed_insights:
type: object
type: object
delivery:
oneOf:
- properties:
type:
type: string
enum:
- http
endpoint:
type: string
encoding:
type: string
enum:
- json
- ndjson
compression:
type: string
enum:
- none
- gzip
headers:
additionalProperties:
type: string
type: object
secret:
oneOf:
- type: string
- properties:
kind:
type: string
enum:
- INTEGRATION_SECRET
required:
- kind
type: object
required:
- encoding
- endpoint
- headers
- type
type: object
- properties:
type:
type: string
enum:
- otlphttp
endpoint:
properties:
traces:
type: string
required:
- traces
type: object
encoding:
type: string
enum:
- json
- proto
headers:
additionalProperties:
type: string
type: object
secret:
oneOf:
- type: string
- properties:
kind:
type: string
enum:
- INTEGRATION_SECRET
required:
- kind
type: object
required:
- encoding
- endpoint
- headers
- type
type: object
- properties:
type:
type: string
enum:
- clickhouse
endpoint:
type: string
table:
type: string
required:
- endpoint
- table
- type
type: object
- properties:
type:
type: string
enum:
- internal
target:
type: string
enum:
- vercel-otel-traces-db
required:
- target
- type
type: object
sampling:
items:
properties:
type:
type: string
enum:
- head_sampling
rate:
type: number
env:
type: string
enum:
- production
- preview
requestPath:
type: string
required:
- rate
- type
type: object
type: array
source:
oneOf:
- properties:
kind:
type: string
enum:
- self-served
required:
- kind
type: object
- properties:
kind:
type: string
enum:
- integration
resourceId:
type: string
externalResourceId:
type: string
integrationId:
type: string
integrationConfigurationId:
type: string
required:
- integrationConfigurationId
- integrationId
- kind
type: object
filter:
type: string
filterV2:
oneOf:
- properties:
version:
type: string
enum:
- v1
required:
- version
type: object
- properties:
version:
type: string
enum:
- v2
filter:
oneOf:
- properties:
type:
type: string
enum:
- basic
project:
properties:
ids:
items:
type: string
type: array
type: object
log:
properties:
sources:
items:
type: string
enum:
- build
- edge
- lambda
- static
- external
- firewall
- redirect
type: array
legacy_excludeCachedStaticAssetLogs:
type: boolean
enum:
- false
- true
type: object
deployment:
properties:
environments:
items:
type: string
enum:
- production
- preview
type: array
type: object
required:
- type
type: object
- properties:
type:
type: string
enum:
- odata
text:
type: string
required:
- text
- type
type: object
required:
- filter
- version
type: object
integrationIcon:
type: string
integrationConfigurationUri:
type: string
integrationWebsite:
type: string
projectAccess:
oneOf:
- properties:
access:
type: string
enum:
- all
required:
- access
type: object
- properties:
access:
type: string
enum:
- some
projectIds:
items:
type: string
type: array
required:
- access
- projectIds
type: object
required:
- createdAt
- delivery
- id
- name
- ownerId
- schemas
- source
- updatedAt
type: object
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/projects/find-a-project-by-id-or-name.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Find a project by id or name
> Get the information for a specific project by passing either the project `id` or `name` in the URL.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v9/projects/{idOrName}
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v9/projects/{idOrName}:
get:
tags:
- projects
summary: Find a project by id or name
description: >-
Get the information for a specific project by passing either the project
`id` or `name` in the URL.
operationId: getProject
parameters:
- name: idOrName
description: The unique project identifier or the project name
in: path
required: true
schema:
description: The unique project identifier or the project name
oneOf:
- type: string
- type: boolean
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'200':
description: The project information
content:
application/json:
schema:
properties:
integrations:
items:
properties:
installationId:
type: string
description: The integration installation ID.
example: icfg_3bwCLgxL8qt5kjRLcv2Dit7F
resources:
items:
properties:
externalResourceId:
type: string
required:
- externalResourceId
type: object
description: >-
The list of the installation resources connected
to the project.
type: array
description: >-
The list of the installation resources connected to
the project.
required:
- installationId
type: object
description: Integration installation enabled on the project.
type: array
accountId:
type: string
analytics:
properties:
id:
type: string
canceledAt:
nullable: true
type: number
disabledAt:
type: number
enabledAt:
type: number
paidAt:
type: number
sampleRatePercent:
nullable: true
type: number
spendLimitInDollars:
nullable: true
type: number
required:
- disabledAt
- enabledAt
- id
type: object
appliedCve55182Migration:
type: boolean
enum:
- false
- true
speedInsights:
properties:
id:
type: string
enabledAt:
type: number
disabledAt:
type: number
canceledAt:
type: number
hasData:
type: boolean
enum:
- false
- true
paidAt:
type: number
required:
- id
type: object
autoExposeSystemEnvs:
type: boolean
enum:
- false
- true
autoAssignCustomDomains:
type: boolean
enum:
- false
- true
autoAssignCustomDomainsUpdatedBy:
type: string
buildCommand:
nullable: true
type: string
commandForIgnoringBuildStep:
nullable: true
type: string
connectConfigurations:
nullable: true
items:
properties:
envId:
oneOf:
- type: string
- type: string
enum:
- production
- preview
connectConfigurationId:
type: string
dc:
type: string
passive:
type: boolean
enum:
- false
- true
buildsEnabled:
type: boolean
enum:
- false
- true
aws:
properties:
subnetIds:
items:
type: string
type: array
securityGroupId:
type: string
required:
- securityGroupId
- subnetIds
type: object
createdAt:
type: number
updatedAt:
type: number
required:
- buildsEnabled
- connectConfigurationId
- createdAt
- envId
- passive
- updatedAt
type: object
type: array
connectConfigurationId:
nullable: true
type: string
connectBuildsEnabled:
type: boolean
enum:
- false
- true
passiveConnectConfigurationId:
nullable: true
type: string
createdAt:
type: number
customerSupportCodeVisibility:
type: boolean
enum:
- false
- true
crons:
properties:
enabledAt:
type: number
description: >-
The time the feature was enabled for this project.
Note: It enables automatically with the first
Deployment that outputs cronjobs.
disabledAt:
nullable: true
type: number
description: The time the feature was disabled for this project.
updatedAt:
type: number
deploymentId:
nullable: true
type: string
description: >-
The ID of the Deployment from which the definitions
originated.
definitions:
items:
properties:
host:
type: string
description: The hostname that should be used.
example: vercel.com
path:
type: string
description: The path that should be called for the cronjob.
example: /api/crons/sync-something?hello=world
schedule:
type: string
description: The cron expression.
example: 0 0 * * *
required:
- host
- path
- schedule
type: object
type: array
required:
- definitions
- deploymentId
- disabledAt
- enabledAt
- updatedAt
type: object
dataCache:
properties:
userDisabled:
type: boolean
enum:
- false
- true
storageSizeBytes:
nullable: true
type: number
unlimited:
type: boolean
enum:
- false
- true
required:
- userDisabled
type: object
deploymentExpiration:
nullable: true
properties:
expirationDays:
type: number
description: >-
Number of days to keep non-production deployments
(mostly preview deployments) before soft deletion.
expirationDaysProduction:
type: number
description: >-
Number of days to keep production deployments before
soft deletion.
expirationDaysCanceled:
type: number
description: >-
Number of days to keep canceled deployments before
soft deletion.
expirationDaysErrored:
type: number
description: >-
Number of days to keep errored deployments before soft
deletion.
deploymentsToKeep:
type: number
description: >-
Minimum number of production deployments to keep for
this project, even if they are over the production
expiration limit.
type: object
description: >-
Retention policies for deployments. These are enforced at
the project level, but we also maintain an instance of
this at the team level as a default policy that gets
applied to new projects.
devCommand:
nullable: true
type: string
directoryListing:
type: boolean
enum:
- false
- true
installCommand:
nullable: true
type: string
env:
items:
properties:
target:
oneOf:
- items:
type: string
enum:
- production
- preview
- development
- preview
- development
type: array
- type: string
enum:
- production
- preview
- development
type:
type: string
enum:
- secret
- system
- encrypted
- plain
- sensitive
sunsetSecretId:
type: string
description: >-
This is used to identify variables that have been
migrated from type secret to sensitive.
legacyValue:
type: string
description: >-
Legacy now-encryption ciphertext, present after
migration swaps value/vsmValue
decrypted:
type: boolean
enum:
- false
- true
value:
type: string
vsmValue:
type: string
id:
type: string
key:
type: string
configurationId:
nullable: true
type: string
createdAt:
type: number
updatedAt:
type: number
createdBy:
nullable: true
type: string
updatedBy:
nullable: true
type: string
gitBranch:
type: string
edgeConfigId:
nullable: true
type: string
edgeConfigTokenId:
nullable: true
type: string
contentHint:
nullable: true
oneOf:
- properties:
type:
type: string
enum:
- redis-url
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- redis-rest-api-url
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- redis-rest-api-token
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- redis-rest-api-read-only-token
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- blob-read-write-token
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-url
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-url-non-pooling
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-prisma-url
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-user
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-host
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-password
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-database
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-url-no-ssl
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- integration-store-secret
storeId:
type: string
integrationId:
type: string
integrationProductId:
type: string
integrationConfigurationId:
type: string
required:
- integrationConfigurationId
- integrationId
- integrationProductId
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- flags-connection-string
projectId:
type: string
required:
- projectId
- type
type: object
internalContentHint:
nullable: true
properties:
type:
type: string
enum:
- flags-secret
encryptedValue:
type: string
description: >-
Contains the `value` of the env variable,
encrypted with a special key to make decryption
possible in the subscriber Lambda.
required:
- encryptedValue
- type
type: object
description: >-
Similar to `contentHints`, but should not be exposed
to the user.
comment:
type: string
customEnvironmentIds:
items:
type: string
type: array
required:
- key
- type
- value
type: object
type: array
customEnvironments:
items:
properties:
id:
type: string
description: >-
Unique identifier for the custom environment
(format: env_*)
slug:
type: string
description: URL-friendly name of the environment
type:
type: string
enum:
- production
- preview
- development
description: >-
The type of environment (production, preview, or
development)
description:
type: string
description: Optional description of the environment's purpose
branchMatcher:
properties:
type:
type: string
enum:
- endsWith
- startsWith
- equals
description: The type of matching to perform
pattern:
type: string
description: The pattern to match against branch names
required:
- pattern
- type
type: object
description: >-
Configuration for matching git branches to this
environment
domains:
items:
properties:
name:
type: string
apexName:
type: string
projectId:
type: string
redirect:
nullable: true
type: string
redirectStatusCode:
nullable: true
type: number
enum:
- 301
- 302
- 307
- 308
gitBranch:
nullable: true
type: string
customEnvironmentId:
nullable: true
type: string
updatedAt:
type: number
createdAt:
type: number
verified:
type: boolean
enum:
- false
- true
description: >-
`true` if the domain is verified for use with
the project. If `false` it will not be used as
an alias on this project until the challenge
in `verification` is completed.
verification:
items:
properties:
type:
type: string
domain:
type: string
value:
type: string
reason:
type: string
required:
- domain
- reason
- type
- value
type: object
description: >-
A list of verification challenges, one of
which must be completed to verify the domain
for use on the project. After the challenge
is complete `POST
/projects/:idOrName/domains/:domain/verify`
to verify the domain. Possible challenges: -
If `verification.type = TXT` the
`verification.domain` will be checked for a
TXT record matching `verification.value`.
type: array
description: >-
A list of verification challenges, one of
which must be completed to verify the domain
for use on the project. After the challenge is
complete `POST
/projects/:idOrName/domains/:domain/verify` to
verify the domain. Possible challenges: - If
`verification.type = TXT` the
`verification.domain` will be checked for a
TXT record matching `verification.value`.
required:
- apexName
- name
- projectId
- verified
type: object
description: List of domains associated with this environment
type: array
description: List of domains associated with this environment
currentDeploymentAliases:
items:
type: string
type: array
description: List of aliases for the current deployment
createdAt:
type: number
description: Timestamp when the environment was created
updatedAt:
type: number
description: Timestamp when the environment was last updated
required:
- createdAt
- id
- slug
- type
- updatedAt
type: object
description: >-
Internal representation of a custom environment with all
required properties
type: array
framework:
nullable: true
type: string
enum:
- blitzjs
- nextjs
- gatsby
- remix
- react-router
- astro
- hexo
- eleventy
- docusaurus-2
- docusaurus
- preact
- solidstart-1
- solidstart
- dojo
- ember
- vue
- scully
- ionic-angular
- angular
- polymer
- svelte
- sveltekit
- sveltekit-1
- ionic-react
- create-react-app
- gridsome
- umijs
- sapper
- saber
- stencil
- nuxtjs
- redwoodjs
- hugo
- jekyll
- brunch
- middleman
- zola
- hydrogen
- vite
- tanstack-start
- vitepress
- vuepress
- parcel
- fastapi
- flask
- fasthtml
- sanity-v3
- sanity
- storybook
- nitro
- hono
- express
- h3
- koa
- nestjs
- elysia
- fastify
- xmcp
- python
- ruby
- rust
- node
- services
gitForkProtection:
type: boolean
enum:
- false
- true
gitLFS:
type: boolean
enum:
- false
- true
id:
type: string
ipBuckets:
items:
properties:
bucket:
type: string
supportUntil:
type: number
required:
- bucket
type: object
type: array
latestDeployments:
items:
properties:
alias:
items:
type: string
type: array
aliasAssigned:
nullable: true
oneOf:
- type: number
- type: boolean
enum:
- false
- true
builds:
items:
properties:
use:
type: string
src:
type: string
dest:
type: string
required:
- use
type: object
type: array
createdAt:
type: number
createdIn:
type: string
creator:
nullable: true
properties:
email:
type: string
githubLogin:
type: string
gitlabLogin:
type: string
uid:
type: string
username:
type: string
required:
- email
- uid
- username
type: object
deploymentHostname:
type: string
name:
type: string
forced:
type: boolean
enum:
- false
- true
id:
type: string
meta:
additionalProperties:
type: string
type: object
plan:
type: string
private:
type: boolean
enum:
- false
- true
readyState:
type: string
requestedAt:
type: number
target:
nullable: true
type: string
teamId:
nullable: true
type: string
type:
type: string
url:
type: string
userId:
type: string
withCache:
type: boolean
enum:
- false
- true
required:
- createdAt
- createdIn
- creator
- deploymentHostname
- id
- name
- plan
- private
- readyState
- type
- url
- userId
type: object
type: array
link:
oneOf:
- properties:
org:
type: string
repoOwnerId:
type: number
description: >-
A new field, should be included in all new project
links, is being added just in time when a
deployment is created. This is needed for
Protected Git scopes.
repo:
type: string
repoId:
type: number
type:
type: string
enum:
- github
createdAt:
type: number
deployHooks:
items:
properties:
createdAt:
type: number
id:
type: string
name:
type: string
ref:
type: string
url:
type: string
required:
- id
- name
- ref
- url
type: object
type: array
gitCredentialId:
type: string
updatedAt:
type: number
sourceless:
type: boolean
enum:
- false
- true
productionBranch:
type: string
required:
- deployHooks
- gitCredentialId
- org
- productionBranch
- type
type: object
- properties:
type:
type: string
enum:
- github-limited
repo:
type: string
repoId:
type: number
createdAt:
type: number
updatedAt:
type: number
org:
type: string
repoOwnerId:
type: number
description: >-
A new field, should be included in all new project
links, is being added just in time when a
deployment is created. This is needed for
Protected Git scopes.
deployHooks:
items:
properties:
createdAt:
type: number
id:
type: string
name:
type: string
ref:
type: string
url:
type: string
required:
- id
- name
- ref
- url
type: object
type: array
gitCredentialId:
type: string
sourceless:
type: boolean
enum:
- false
- true
productionBranch:
type: string
required:
- deployHooks
- gitCredentialId
- org
- productionBranch
- type
type: object
- properties:
org:
type: string
repoOwnerId:
type: number
description: >-
A new field, should be included in all new project
links, is being added just in time when a
deployment is created. This is needed for
Protected Git scopes.
repo:
type: string
repoId:
type: number
type:
type: string
enum:
- github-custom-host
host:
type: string
createdAt:
type: number
deployHooks:
items:
properties:
createdAt:
type: number
id:
type: string
name:
type: string
ref:
type: string
url:
type: string
required:
- id
- name
- ref
- url
type: object
type: array
gitCredentialId:
type: string
updatedAt:
type: number
sourceless:
type: boolean
enum:
- false
- true
productionBranch:
type: string
required:
- deployHooks
- gitCredentialId
- host
- org
- productionBranch
- type
type: object
- properties:
projectId:
type: string
projectName:
type: string
projectNameWithNamespace:
type: string
projectNamespace:
type: string
projectOwnerId:
type: number
description: >-
A new field, should be included in all new project
links, is being added just in time when a
deployment is created. This is needed for
Protected Git scopes. This is the id of the top
level group that a namespace belongs to. Gitlab
supports group nesting (up to 20 levels).
projectUrl:
type: string
type:
type: string
enum:
- gitlab
createdAt:
type: number
deployHooks:
items:
properties:
createdAt:
type: number
id:
type: string
name:
type: string
ref:
type: string
url:
type: string
required:
- id
- name
- ref
- url
type: object
type: array
gitCredentialId:
type: string
updatedAt:
type: number
sourceless:
type: boolean
enum:
- false
- true
productionBranch:
type: string
required:
- deployHooks
- gitCredentialId
- productionBranch
- projectId
- projectName
- projectNameWithNamespace
- projectNamespace
- projectUrl
- type
type: object
- properties:
name:
type: string
slug:
type: string
owner:
type: string
type:
type: string
enum:
- bitbucket
uuid:
type: string
workspaceUuid:
type: string
createdAt:
type: number
deployHooks:
items:
properties:
createdAt:
type: number
id:
type: string
name:
type: string
ref:
type: string
url:
type: string
required:
- id
- name
- ref
- url
type: object
type: array
gitCredentialId:
type: string
updatedAt:
type: number
sourceless:
type: boolean
enum:
- false
- true
productionBranch:
type: string
required:
- deployHooks
- gitCredentialId
- name
- owner
- productionBranch
- slug
- type
- uuid
- workspaceUuid
type: object
microfrontends:
oneOf:
- properties:
isDefaultApp:
type: boolean
enum:
- true
updatedAt:
type: number
description: >-
Timestamp when the microfrontends settings were
last updated.
groupIds:
type: array
items:
type: string
minItems: 1
description: >-
The group IDs of microfrontends that this project
belongs to. Each microfrontend project must belong
to a microfrontends group that is the set of
microfrontends that are used together.
enabled:
type: boolean
enum:
- true
description: >-
Whether microfrontends are enabled for this
project.
defaultRoute:
type: string
description: >-
A path that is used to take screenshots and as the
default path in preview links when a domain for
this microfrontend is shown in the UI. Includes
the leading slash, e.g. `/docs`
freeProjectForLegacyLimits:
type: boolean
enum:
- false
- true
description: >-
Whether the project was part of the legacy limits
for hobby and pro-trial before billing was added.
This field is only set when the team is upgraded
to a paid plan and we are backfilling the
subscription status. We cap the subscription to 2
projects and set this field for the 3rd project.
When this field is set, the project is not charged
for and we do not call any billing APIs for this
project.
required:
- enabled
- groupIds
- isDefaultApp
- updatedAt
type: object
- properties:
isDefaultApp:
type: boolean
enum:
- false
routeObservabilityToThisProject:
type: boolean
enum:
- false
- true
description: >-
Whether observability data should be routed to
this microfrontend project or a root project.
doNotRouteWithMicrofrontendsRouting:
type: boolean
enum:
- false
- true
description: >-
Whether to add microfrontends routing to aliases.
This means domains in this project will route as a
microfrontend.
updatedAt:
type: number
description: >-
Timestamp when the microfrontends settings were
last updated.
groupIds:
type: array
items:
type: string
minItems: 1
description: >-
The group IDs of microfrontends that this project
belongs to. Each microfrontend project must belong
to a microfrontends group that is the set of
microfrontends that are used together.
enabled:
type: boolean
enum:
- true
description: >-
Whether microfrontends are enabled for this
project.
defaultRoute:
type: string
description: >-
A path that is used to take screenshots and as the
default path in preview links when a domain for
this microfrontend is shown in the UI. Includes
the leading slash, e.g. `/docs`
freeProjectForLegacyLimits:
type: boolean
enum:
- false
- true
description: >-
Whether the project was part of the legacy limits
for hobby and pro-trial before billing was added.
This field is only set when the team is upgraded
to a paid plan and we are backfilling the
subscription status. We cap the subscription to 2
projects and set this field for the 3rd project.
When this field is set, the project is not charged
for and we do not call any billing APIs for this
project.
required:
- enabled
- groupIds
- updatedAt
type: object
- properties:
updatedAt:
type: number
groupIds:
type: array
items: {}
minItems: 0
maxItems: 0
enabled:
type: boolean
enum:
- false
freeProjectForLegacyLimits:
type: boolean
enum:
- false
- true
required:
- enabled
- groupIds
- updatedAt
type: object
name:
type: string
nodeVersion:
type: string
enum:
- 24.x
- 22.x
- 20.x
- 18.x
- 16.x
- 14.x
- 12.x
- 10.x
- 8.10.x
optionsAllowlist:
nullable: true
properties:
paths:
items:
properties:
value:
type: string
required:
- value
type: object
type: array
required:
- paths
type: object
outputDirectory:
nullable: true
type: string
passwordProtection:
nullable: true
type: object
productionDeploymentsFastLane:
type: boolean
enum:
- false
- true
publicSource:
nullable: true
type: boolean
enum:
- false
- true
resourceConfig:
properties:
elasticConcurrencyEnabled:
type: boolean
enum:
- false
- true
fluid:
type: boolean
enum:
- false
- true
functionDefaultRegions:
items:
type: string
type: array
functionDefaultTimeout:
type: number
functionDefaultMemoryType:
type: string
enum:
- standard_legacy
- standard
- performance
functionZeroConfigFailover:
type: boolean
enum:
- false
- true
buildMachineType:
type: string
enum:
- enhanced
- turbo
isNSNBDisabled:
type: boolean
enum:
- false
- true
buildQueue:
properties:
configuration:
type: string
enum:
- SKIP_NAMESPACE_QUEUE
- WAIT_FOR_NAMESPACE_QUEUE
type: object
type: object
required:
- functionDefaultRegions
rollbackDescription:
properties:
userId:
type: string
description: The user who rolled back the project.
username:
type: string
description: The username of the user who rolled back the project.
description:
type: string
description: >-
User-supplied explanation of why they rolled back the
project. Limited to 250 characters.
createdAt:
type: number
description: Timestamp of when the rollback was requested.
required:
- createdAt
- description
- userId
- username
type: object
description: >-
Description of why a project was rolled back, and by whom.
Note that lastAliasRequest contains the from/to details of
the rollback.
rollingRelease:
nullable: true
properties:
target:
type: string
description: >-
The environment that the release targets, currently
only supports production. Adding in case we want to
configure with alias groups or custom environments.
example: production
stages:
nullable: true
items:
properties:
targetPercentage:
type: number
description: >-
The percentage of traffic to serve to the canary
deployment (0-100)
example: 25
requireApproval:
type: boolean
enum:
- false
- true
description: >-
Whether or not this stage requires manual
approval to proceed
example: false
duration:
type: number
description: >-
Duration in minutes for automatic advancement to
the next stage
example: 600
linearShift:
type: boolean
enum:
- false
- true
description: >-
Whether to linearly shift traffic over the
duration of this stage
example: false
required:
- targetPercentage
type: object
description: >-
An array of all the stages required during a
deployment release. Each stage defines a target
percentage and advancement rules. The final stage
must always have targetPercentage: 100.
type: array
description: >-
An array of all the stages required during a
deployment release. Each stage defines a target
percentage and advancement rules. The final stage must
always have targetPercentage: 100.
canaryResponseHeader:
type: boolean
enum:
- false
- true
description: >-
Whether the request served by a canary deployment
should return a header indicating a canary was served.
Defaults to `false` when omitted.
example: false
required:
- target
type: object
description: >-
Project-level rolling release configuration that defines
how deployments should be gradually rolled out
defaultResourceConfig:
properties:
elasticConcurrencyEnabled:
type: boolean
enum:
- false
- true
fluid:
type: boolean
enum:
- false
- true
functionDefaultRegions:
items:
type: string
type: array
functionDefaultTimeout:
type: number
functionDefaultMemoryType:
type: string
enum:
- standard_legacy
- standard
- performance
functionZeroConfigFailover:
type: boolean
enum:
- false
- true
buildMachineType:
type: string
enum:
- enhanced
- turbo
isNSNBDisabled:
type: boolean
enum:
- false
- true
buildQueue:
properties:
configuration:
type: string
enum:
- SKIP_NAMESPACE_QUEUE
- WAIT_FOR_NAMESPACE_QUEUE
type: object
type: object
required:
- functionDefaultRegions
rootDirectory:
nullable: true
type: string
serverlessFunctionZeroConfigFailover:
type: boolean
enum:
- false
- true
skewProtectionBoundaryAt:
type: number
skewProtectionMaxAge:
type: number
skewProtectionAllowedDomains:
items:
type: string
type: array
skipGitConnectDuringLink:
type: boolean
enum:
- false
- true
staticIps:
properties:
builds:
type: boolean
enum:
- false
- true
enabled:
type: boolean
enum:
- false
- true
regions:
items:
type: string
type: array
required:
- builds
- enabled
- regions
type: object
sourceFilesOutsideRootDirectory:
type: boolean
enum:
- false
- true
enableAffectedProjectsDeployments:
type: boolean
enum:
- false
- true
ssoProtection:
nullable: true
properties:
deploymentType:
type: string
enum:
- preview
- all
- prod_deployment_urls_and_all_previews
- all_except_custom_domains
cve55182MigrationAppliedFrom:
nullable: true
type: string
enum:
- preview
- all
- prod_deployment_urls_and_all_previews
- all_except_custom_domains
required:
- deploymentType
type: object
targets:
additionalProperties:
nullable: true
properties:
alias:
items:
type: string
type: array
aliasAssigned:
nullable: true
oneOf:
- type: number
- type: boolean
enum:
- false
- true
builds:
items:
properties:
use:
type: string
src:
type: string
dest:
type: string
required:
- use
type: object
type: array
createdAt:
type: number
createdIn:
type: string
creator:
nullable: true
properties:
email:
type: string
githubLogin:
type: string
gitlabLogin:
type: string
uid:
type: string
username:
type: string
required:
- email
- uid
- username
type: object
deploymentHostname:
type: string
name:
type: string
forced:
type: boolean
enum:
- false
- true
id:
type: string
meta:
additionalProperties:
type: string
type: object
plan:
type: string
private:
type: boolean
enum:
- false
- true
readyState:
type: string
requestedAt:
type: number
target:
nullable: true
type: string
teamId:
nullable: true
type: string
type:
type: string
url:
type: string
userId:
type: string
withCache:
type: boolean
enum:
- false
- true
required:
- createdAt
- createdIn
- creator
- deploymentHostname
- id
- name
- plan
- private
- readyState
- type
- url
- userId
type: object
type: object
transferCompletedAt:
type: number
transferStartedAt:
type: number
transferToAccountId:
type: string
transferredFromAccountId:
type: string
updatedAt:
type: number
live:
type: boolean
enum:
- false
- true
enablePreviewFeedback:
nullable: true
type: boolean
enum:
- false
- true
enableProductionFeedback:
nullable: true
type: boolean
enum:
- false
- true
permissions:
properties:
oauth2Connection:
items:
$ref: '#/components/schemas/ACLAction'
type: array
user:
items:
$ref: '#/components/schemas/ACLAction'
type: array
userConnection:
items:
$ref: '#/components/schemas/ACLAction'
type: array
userSudo:
items:
$ref: '#/components/schemas/ACLAction'
type: array
webAuthn:
items:
$ref: '#/components/schemas/ACLAction'
type: array
accessGroup:
items:
$ref: '#/components/schemas/ACLAction'
type: array
agent:
items:
$ref: '#/components/schemas/ACLAction'
type: array
alerts:
items:
$ref: '#/components/schemas/ACLAction'
type: array
alertRules:
items:
$ref: '#/components/schemas/ACLAction'
type: array
aliasGlobal:
items:
$ref: '#/components/schemas/ACLAction'
type: array
analyticsSampling:
items:
$ref: '#/components/schemas/ACLAction'
type: array
analyticsUsage:
items:
$ref: '#/components/schemas/ACLAction'
type: array
apiKey:
items:
$ref: '#/components/schemas/ACLAction'
type: array
apiKeyAiGateway:
items:
$ref: '#/components/schemas/ACLAction'
type: array
apiKeyOwnedBySelf:
items:
$ref: '#/components/schemas/ACLAction'
type: array
oauth2Application:
items:
$ref: '#/components/schemas/ACLAction'
type: array
vercelAppInstallation:
items:
$ref: '#/components/schemas/ACLAction'
type: array
vercelAppInstallationRequest:
items:
$ref: '#/components/schemas/ACLAction'
type: array
auditLog:
items:
$ref: '#/components/schemas/ACLAction'
type: array
billingAddress:
items:
$ref: '#/components/schemas/ACLAction'
type: array
billingInformation:
items:
$ref: '#/components/schemas/ACLAction'
type: array
billingInvoice:
items:
$ref: '#/components/schemas/ACLAction'
type: array
billingInvoiceEmailRecipient:
items:
$ref: '#/components/schemas/ACLAction'
type: array
billingInvoiceLanguage:
items:
$ref: '#/components/schemas/ACLAction'
type: array
billingPlan:
items:
$ref: '#/components/schemas/ACLAction'
type: array
billingPurchaseOrder:
items:
$ref: '#/components/schemas/ACLAction'
type: array
billingRefund:
items:
$ref: '#/components/schemas/ACLAction'
type: array
billingTaxId:
items:
$ref: '#/components/schemas/ACLAction'
type: array
blob:
items:
$ref: '#/components/schemas/ACLAction'
type: array
blobStoreTokenSet:
items:
$ref: '#/components/schemas/ACLAction'
type: array
budget:
items:
$ref: '#/components/schemas/ACLAction'
type: array
cacheArtifact:
items:
$ref: '#/components/schemas/ACLAction'
type: array
cacheArtifactUsageEvent:
items:
$ref: '#/components/schemas/ACLAction'
type: array
codeChecks:
items:
$ref: '#/components/schemas/ACLAction'
type: array
concurrentBuilds:
items:
$ref: '#/components/schemas/ACLAction'
type: array
connect:
items:
$ref: '#/components/schemas/ACLAction'
type: array
connectConfiguration:
items:
$ref: '#/components/schemas/ACLAction'
type: array
buildMachineDefault:
items:
$ref: '#/components/schemas/ACLAction'
type: array
dataCacheBillingSettings:
items:
$ref: '#/components/schemas/ACLAction'
type: array
defaultDeploymentProtection:
items:
$ref: '#/components/schemas/ACLAction'
type: array
domain:
items:
$ref: '#/components/schemas/ACLAction'
type: array
domainAcceptDelegation:
items:
$ref: '#/components/schemas/ACLAction'
type: array
domainAuthCodes:
items:
$ref: '#/components/schemas/ACLAction'
type: array
domainCertificate:
items:
$ref: '#/components/schemas/ACLAction'
type: array
domainCheckConfig:
items:
$ref: '#/components/schemas/ACLAction'
type: array
domainMove:
items:
$ref: '#/components/schemas/ACLAction'
type: array
domainPurchase:
items:
$ref: '#/components/schemas/ACLAction'
type: array
domainRecord:
items:
$ref: '#/components/schemas/ACLAction'
type: array
domainTransferIn:
items:
$ref: '#/components/schemas/ACLAction'
type: array
drain:
items:
$ref: '#/components/schemas/ACLAction'
type: array
edgeConfig:
items:
$ref: '#/components/schemas/ACLAction'
type: array
edgeConfigItem:
items:
$ref: '#/components/schemas/ACLAction'
type: array
edgeConfigSchema:
items:
$ref: '#/components/schemas/ACLAction'
type: array
edgeConfigToken:
items:
$ref: '#/components/schemas/ACLAction'
type: array
endpointVerification:
items:
$ref: '#/components/schemas/ACLAction'
type: array
event:
items:
$ref: '#/components/schemas/ACLAction'
type: array
fileUpload:
items:
$ref: '#/components/schemas/ACLAction'
type: array
flagsExplorerSubscription:
items:
$ref: '#/components/schemas/ACLAction'
type: array
gitRepository:
items:
$ref: '#/components/schemas/ACLAction'
type: array
imageOptimizationNewPrice:
items:
$ref: '#/components/schemas/ACLAction'
type: array
integration:
items:
$ref: '#/components/schemas/ACLAction'
type: array
integrationAccount:
items:
$ref: '#/components/schemas/ACLAction'
type: array
integrationConfiguration:
items:
$ref: '#/components/schemas/ACLAction'
type: array
integrationConfigurationProjects:
items:
$ref: '#/components/schemas/ACLAction'
type: array
integrationConfigurationRole:
items:
$ref: '#/components/schemas/ACLAction'
type: array
integrationConfigurationTransfer:
items:
$ref: '#/components/schemas/ACLAction'
type: array
integrationDeploymentAction:
items:
$ref: '#/components/schemas/ACLAction'
type: array
integrationEvent:
items:
$ref: '#/components/schemas/ACLAction'
type: array
integrationLog:
items:
$ref: '#/components/schemas/ACLAction'
type: array
integrationResource:
items:
$ref: '#/components/schemas/ACLAction'
type: array
integrationResourceReplCommand:
items:
$ref: '#/components/schemas/ACLAction'
type: array
integrationResourceSecrets:
items:
$ref: '#/components/schemas/ACLAction'
type: array
integrationSSOSession:
items:
$ref: '#/components/schemas/ACLAction'
type: array
integrationStoreTokenSet:
items:
$ref: '#/components/schemas/ACLAction'
type: array
integrationVercelConfigurationOverride:
items:
$ref: '#/components/schemas/ACLAction'
type: array
integrationPullRequest:
items:
$ref: '#/components/schemas/ACLAction'
type: array
ipBlocking:
items:
$ref: '#/components/schemas/ACLAction'
type: array
jobGlobal:
items:
$ref: '#/components/schemas/ACLAction'
type: array
logDrain:
items:
$ref: '#/components/schemas/ACLAction'
type: array
marketplaceBillingData:
items:
$ref: '#/components/schemas/ACLAction'
type: array
marketplaceExperimentationEdgeConfigData:
items:
$ref: '#/components/schemas/ACLAction'
type: array
marketplaceExperimentationItem:
items:
$ref: '#/components/schemas/ACLAction'
type: array
marketplaceInstallationMember:
items:
$ref: '#/components/schemas/ACLAction'
type: array
marketplaceInvoice:
items:
$ref: '#/components/schemas/ACLAction'
type: array
marketplaceSettings:
items:
$ref: '#/components/schemas/ACLAction'
type: array
Monitoring:
items:
$ref: '#/components/schemas/ACLAction'
type: array
monitoringAlert:
items:
$ref: '#/components/schemas/ACLAction'
type: array
monitoringChart:
items:
$ref: '#/components/schemas/ACLAction'
type: array
monitoringQuery:
items:
$ref: '#/components/schemas/ACLAction'
type: array
monitoringSettings:
items:
$ref: '#/components/schemas/ACLAction'
type: array
notificationCustomerBudget:
items:
$ref: '#/components/schemas/ACLAction'
type: array
notificationDeploymentFailed:
items:
$ref: '#/components/schemas/ACLAction'
type: array
notificationDomainConfiguration:
items:
$ref: '#/components/schemas/ACLAction'
type: array
notificationDomainExpire:
items:
$ref: '#/components/schemas/ACLAction'
type: array
notificationDomainMoved:
items:
$ref: '#/components/schemas/ACLAction'
type: array
notificationDomainPurchase:
items:
$ref: '#/components/schemas/ACLAction'
type: array
notificationDomainRenewal:
items:
$ref: '#/components/schemas/ACLAction'
type: array
notificationDomainTransfer:
items:
$ref: '#/components/schemas/ACLAction'
type: array
notificationDomainUnverified:
items:
$ref: '#/components/schemas/ACLAction'
type: array
NotificationMonitoringAlert:
items:
$ref: '#/components/schemas/ACLAction'
type: array
notificationPaymentFailed:
items:
$ref: '#/components/schemas/ACLAction'
type: array
notificationPreferences:
items:
$ref: '#/components/schemas/ACLAction'
type: array
notificationStatementOfReasons:
items:
$ref: '#/components/schemas/ACLAction'
type: array
notificationUsageAlert:
items:
$ref: '#/components/schemas/ACLAction'
type: array
observabilityConfiguration:
items:
$ref: '#/components/schemas/ACLAction'
type: array
observabilityFunnel:
items:
$ref: '#/components/schemas/ACLAction'
type: array
observabilityNotebook:
items:
$ref: '#/components/schemas/ACLAction'
type: array
openTelemetryEndpoint:
items:
$ref: '#/components/schemas/ACLAction'
type: array
ownEvent:
items:
$ref: '#/components/schemas/ACLAction'
type: array
organizationDomain:
items:
$ref: '#/components/schemas/ACLAction'
type: array
passwordProtectionInvoiceItem:
items:
$ref: '#/components/schemas/ACLAction'
type: array
paymentMethod:
items:
$ref: '#/components/schemas/ACLAction'
type: array
permissions:
items:
$ref: '#/components/schemas/ACLAction'
type: array
postgres:
items:
$ref: '#/components/schemas/ACLAction'
type: array
postgresStoreTokenSet:
items:
$ref: '#/components/schemas/ACLAction'
type: array
previewDeploymentSuffix:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectTransferIn:
items:
$ref: '#/components/schemas/ACLAction'
type: array
proTrialOnboarding:
items:
$ref: '#/components/schemas/ACLAction'
type: array
rateLimit:
items:
$ref: '#/components/schemas/ACLAction'
type: array
redis:
items:
$ref: '#/components/schemas/ACLAction'
type: array
redisStoreTokenSet:
items:
$ref: '#/components/schemas/ACLAction'
type: array
remoteCaching:
items:
$ref: '#/components/schemas/ACLAction'
type: array
repository:
items:
$ref: '#/components/schemas/ACLAction'
type: array
samlConfig:
items:
$ref: '#/components/schemas/ACLAction'
type: array
secret:
items:
$ref: '#/components/schemas/ACLAction'
type: array
securityPlusConfiguration:
items:
$ref: '#/components/schemas/ACLAction'
type: array
sensitiveEnvironmentVariablePolicy:
items:
$ref: '#/components/schemas/ACLAction'
type: array
sharedEnvVars:
items:
$ref: '#/components/schemas/ACLAction'
type: array
sharedEnvVarsProduction:
items:
$ref: '#/components/schemas/ACLAction'
type: array
space:
items:
$ref: '#/components/schemas/ACLAction'
type: array
spaceRun:
items:
$ref: '#/components/schemas/ACLAction'
type: array
storeTransfer:
items:
$ref: '#/components/schemas/ACLAction'
type: array
supportCase:
items:
$ref: '#/components/schemas/ACLAction'
type: array
supportCaseComment:
items:
$ref: '#/components/schemas/ACLAction'
type: array
team:
items:
$ref: '#/components/schemas/ACLAction'
type: array
teamAccessRequest:
items:
$ref: '#/components/schemas/ACLAction'
type: array
teamFellowMembership:
items:
$ref: '#/components/schemas/ACLAction'
type: array
teamGitExclusivity:
items:
$ref: '#/components/schemas/ACLAction'
type: array
teamInvite:
items:
$ref: '#/components/schemas/ACLAction'
type: array
teamInviteCode:
items:
$ref: '#/components/schemas/ACLAction'
type: array
teamJoin:
items:
$ref: '#/components/schemas/ACLAction'
type: array
teamMemberMfaStatus:
items:
$ref: '#/components/schemas/ACLAction'
type: array
teamMicrofrontends:
items:
$ref: '#/components/schemas/ACLAction'
type: array
teamOwnMembership:
items:
$ref: '#/components/schemas/ACLAction'
type: array
teamOwnMembershipDisconnectSAML:
items:
$ref: '#/components/schemas/ACLAction'
type: array
token:
items:
$ref: '#/components/schemas/ACLAction'
type: array
usage:
items:
$ref: '#/components/schemas/ACLAction'
type: array
usageCycle:
items:
$ref: '#/components/schemas/ACLAction'
type: array
vercelRun:
items:
$ref: '#/components/schemas/ACLAction'
type: array
vercelRunExec:
items:
$ref: '#/components/schemas/ACLAction'
type: array
vpcPeeringConnection:
items:
$ref: '#/components/schemas/ACLAction'
type: array
webAnalyticsPlan:
items:
$ref: '#/components/schemas/ACLAction'
type: array
webhook:
items:
$ref: '#/components/schemas/ACLAction'
type: array
webhook-event:
items:
$ref: '#/components/schemas/ACLAction'
type: array
aliasProject:
items:
$ref: '#/components/schemas/ACLAction'
type: array
aliasProtectionBypass:
items:
$ref: '#/components/schemas/ACLAction'
type: array
buildMachine:
items:
$ref: '#/components/schemas/ACLAction'
type: array
connectConfigurationLink:
items:
$ref: '#/components/schemas/ACLAction'
type: array
dataCacheNamespace:
items:
$ref: '#/components/schemas/ACLAction'
type: array
deployment:
items:
$ref: '#/components/schemas/ACLAction'
type: array
deploymentBuildLogs:
items:
$ref: '#/components/schemas/ACLAction'
type: array
deploymentCheck:
items:
$ref: '#/components/schemas/ACLAction'
type: array
deploymentCheckPreview:
items:
$ref: '#/components/schemas/ACLAction'
type: array
deploymentCheckReRunFromProductionBranch:
items:
$ref: '#/components/schemas/ACLAction'
type: array
deploymentProductionGit:
items:
$ref: '#/components/schemas/ACLAction'
type: array
deploymentV0:
items:
$ref: '#/components/schemas/ACLAction'
type: array
deploymentPreview:
items:
$ref: '#/components/schemas/ACLAction'
type: array
deploymentPrivate:
items:
$ref: '#/components/schemas/ACLAction'
type: array
deploymentPromote:
items:
$ref: '#/components/schemas/ACLAction'
type: array
deploymentRollback:
items:
$ref: '#/components/schemas/ACLAction'
type: array
edgeCacheNamespace:
items:
$ref: '#/components/schemas/ACLAction'
type: array
environments:
items:
$ref: '#/components/schemas/ACLAction'
type: array
job:
items:
$ref: '#/components/schemas/ACLAction'
type: array
logs:
items:
$ref: '#/components/schemas/ACLAction'
type: array
logsPreset:
items:
$ref: '#/components/schemas/ACLAction'
type: array
observabilityData:
items:
$ref: '#/components/schemas/ACLAction'
type: array
onDemandBuild:
items:
$ref: '#/components/schemas/ACLAction'
type: array
onDemandConcurrency:
items:
$ref: '#/components/schemas/ACLAction'
type: array
optionsAllowlist:
items:
$ref: '#/components/schemas/ACLAction'
type: array
passwordProtection:
items:
$ref: '#/components/schemas/ACLAction'
type: array
productionAliasProtectionBypass:
items:
$ref: '#/components/schemas/ACLAction'
type: array
project:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectAccessGroup:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectAnalyticsSampling:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectAnalyticsUsage:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectCheck:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectCheckRun:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectDeploymentExpiration:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectDeploymentHook:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectDeploymentProtectionStrict:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectDomain:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectDomainCheckConfig:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectDomainMove:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectEnvVars:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectEnvVarsProduction:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectEnvVarsUnownedByIntegration:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectFlags:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectFlagsProduction:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectFromV0:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectId:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectIntegrationConfiguration:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectLink:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectMember:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectMonitoring:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectOIDCToken:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectPermissions:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectProductionBranch:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectProtectionBypass:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectRollingRelease:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectSupportCase:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectSupportCaseComment:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectTier:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectTransfer:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectTransferOut:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectUsage:
items:
$ref: '#/components/schemas/ACLAction'
type: array
seawallConfig:
items:
$ref: '#/components/schemas/ACLAction'
type: array
sharedEnvVarConnection:
items:
$ref: '#/components/schemas/ACLAction'
type: array
skewProtection:
items:
$ref: '#/components/schemas/ACLAction'
type: array
analytics:
items:
$ref: '#/components/schemas/ACLAction'
type: array
trustedIps:
items:
$ref: '#/components/schemas/ACLAction'
type: array
v0Chat:
items:
$ref: '#/components/schemas/ACLAction'
type: array
webAnalytics:
items:
$ref: '#/components/schemas/ACLAction'
type: array
type: object
lastRollbackTarget:
nullable: true
type: object
lastAliasRequest:
nullable: true
properties:
fromDeploymentId:
nullable: true
type: string
toDeploymentId:
type: string
fromRollingReleaseId:
type: string
description: >-
If rolling back from a rolling release,
fromDeploymentId captures the "base" of that rolling
release, and fromRollingReleaseId captures the
"target" of that rolling release.
jobStatus:
type: string
enum:
- succeeded
- failed
- skipped
- pending
- in-progress
requestedAt:
type: number
type:
type: string
enum:
- promote
- rollback
required:
- fromDeploymentId
- jobStatus
- requestedAt
- toDeploymentId
- type
type: object
protectionBypass:
additionalProperties:
oneOf:
- properties:
createdAt:
type: number
createdBy:
type: string
scope:
type: string
enum:
- integration-automation-bypass
integrationId:
type: string
configurationId:
type: string
required:
- configurationId
- createdAt
- createdBy
- integrationId
- scope
type: object
- properties:
createdAt:
type: number
createdBy:
type: string
scope:
type: string
enum:
- automation-bypass
isEnvVar:
type: boolean
enum:
- false
- true
description: >-
When there was only one bypass, it was
automatically set as an env var on deployments.
With multiple bypasses, there is always one
bypass that is selected as the default, and gets
set as an env var on deployments. As this is a
new field, undefined means that the bypass is
the env var. If there are any automation
bypasses, exactly one must be the env var.
note:
type: string
description: >-
Optional note about the bypass to be displayed
in the UI
required:
- createdAt
- createdBy
- scope
type: object
type: object
hasActiveBranches:
type: boolean
enum:
- false
- true
trustedIps:
nullable: true
oneOf:
- properties:
deploymentType:
type: string
enum:
- production
- preview
- all
- prod_deployment_urls_and_all_previews
- all_except_custom_domains
addresses:
items:
properties:
value:
type: string
note:
type: string
required:
- value
type: object
type: array
protectionMode:
type: string
enum:
- additional
- exclusive
required:
- addresses
- deploymentType
- protectionMode
type: object
- properties:
deploymentType:
type: string
enum:
- production
- preview
- all
- prod_deployment_urls_and_all_previews
- all_except_custom_domains
required:
- deploymentType
type: object
gitComments:
properties:
onPullRequest:
type: boolean
enum:
- false
- true
description: Whether the Vercel bot should comment on PRs
onCommit:
type: boolean
enum:
- false
- true
description: Whether the Vercel bot should comment on commits
required:
- onCommit
- onPullRequest
type: object
gitProviderOptions:
properties:
createDeployments:
type: string
enum:
- enabled
- disabled
description: >-
Whether the Vercel bot should automatically create
GitHub deployments
https://docs.github.com/en/rest/deployments/deployments#about-deployments
NOTE: repository-dispatch events should be used
instead
disableRepositoryDispatchEvents:
type: boolean
enum:
- false
- true
description: >-
Whether the Vercel bot should not automatically create
GitHub repository-dispatch events on deployment
events.
https://vercel.com/docs/git/vercel-for-github#repository-dispatch-events
requireVerifiedCommits:
type: boolean
enum:
- false
- true
description: >-
Whether the project requires commits to be signed
before deployments will be created.
required:
- createDeployments
type: object
paused:
type: boolean
enum:
- false
- true
concurrencyBucketName:
type: string
webAnalytics:
properties:
id:
type: string
disabledAt:
type: number
canceledAt:
type: number
enabledAt:
type: number
hasData:
type: boolean
enum:
- true
required:
- id
type: object
security:
properties:
attackModeEnabled:
type: boolean
enum:
- false
- true
attackModeUpdatedAt:
type: number
firewallEnabled:
type: boolean
enum:
- false
- true
firewallUpdatedAt:
type: number
attackModeActiveUntil:
nullable: true
type: number
firewallConfigVersion:
type: number
firewallSeawallEnabled:
type: boolean
enum:
- false
- true
ja3Enabled:
type: boolean
enum:
- false
- true
ja4Enabled:
type: boolean
enum:
- false
- true
firewallBypassIps:
items:
type: string
type: array
managedRules:
nullable: true
properties:
vercel_ruleset:
properties:
active:
type: boolean
enum:
- false
- true
action:
type: string
enum:
- log
- deny
- challenge
required:
- active
type: object
bot_filter:
properties:
active:
type: boolean
enum:
- false
- true
action:
type: string
enum:
- log
- deny
- challenge
required:
- active
type: object
ai_bots:
properties:
active:
type: boolean
enum:
- false
- true
action:
type: string
enum:
- log
- deny
- challenge
required:
- active
type: object
owasp:
properties:
active:
type: boolean
enum:
- false
- true
action:
type: string
enum:
- log
- deny
- challenge
required:
- active
type: object
required:
- ai_bots
- bot_filter
- owasp
- vercel_ruleset
type: object
botIdEnabled:
type: boolean
enum:
- false
- true
type: object
oidcTokenConfig:
properties:
enabled:
type: boolean
enum:
- false
- true
description: >-
Whether or not to generate OpenID Connect JSON Web
Tokens.
issuerMode:
type: string
enum:
- team
- global
description: >-
- team: `https://oidc.vercel.com/[team_slug]` -
global: `https://oidc.vercel.com`
type: object
tier:
type: string
enum:
- standard
- advanced
- critical
features:
properties:
webAnalytics:
type: boolean
enum:
- false
- true
type: object
v0:
type: boolean
enum:
- false
- true
abuse:
properties:
scanner:
type: string
history:
items:
properties:
scanner:
type: string
reason:
type: string
by:
type: string
byId:
type: string
at:
type: number
required:
- at
- by
- byId
- reason
- scanner
type: object
type: array
updatedAt:
type: number
block:
properties:
action:
type: string
enum:
- blocked
reason:
type: string
statusCode:
type: number
createdAt:
type: number
caseId:
type: string
actor:
type: string
comment:
type: string
ineligibleForAppeal:
type: boolean
enum:
- false
- true
isCascading:
type: boolean
enum:
- false
- true
required:
- action
- createdAt
- reason
- statusCode
type: object
blockHistory:
items:
oneOf:
- properties:
action:
type: string
enum:
- blocked
reason:
type: string
statusCode:
type: number
createdAt:
type: number
caseId:
type: string
actor:
type: string
comment:
type: string
ineligibleForAppeal:
type: boolean
enum:
- false
- true
isCascading:
type: boolean
enum:
- false
- true
required:
- action
- createdAt
- reason
- statusCode
type: object
- properties:
action:
type: string
enum:
- unblocked
createdAt:
type: number
caseId:
type: string
actor:
type: string
comment:
type: string
ineligibleForAppeal:
type: boolean
enum:
- false
- true
isCascading:
type: boolean
enum:
- false
- true
required:
- action
- createdAt
type: object
- properties:
action:
type: string
enum:
- route-blocked
route:
oneOf:
- properties:
src:
type: string
status:
type: number
required:
- src
- status
type: object
- properties:
has:
items:
oneOf:
- properties:
type:
type: string
enum:
- header
key:
type: string
enum:
- x-vercel-ip-country
value:
properties:
eq:
type: string
required:
- eq
type: object
required:
- key
- type
- value
type: object
- properties:
type:
type: string
enum:
- host
value:
properties:
eq:
type: string
required:
- eq
type: object
required:
- type
- value
type: object
type: array
mitigate:
properties:
action:
type: string
enum:
- block_legal_cwc
required:
- action
type: object
src:
type: string
required:
- has
- mitigate
type: object
reason:
type: string
createdAt:
type: number
caseId:
type: string
actor:
type: string
comment:
type: string
ineligibleForAppeal:
type: boolean
enum:
- false
- true
isCascading:
type: boolean
enum:
- false
- true
required:
- action
- createdAt
- reason
- route
type: object
- properties:
action:
type: string
enum:
- route-unblocked
route:
oneOf:
- properties:
src:
type: string
status:
type: number
required:
- src
- status
type: object
- properties:
has:
items:
oneOf:
- properties:
type:
type: string
enum:
- header
key:
type: string
enum:
- x-vercel-ip-country
value:
properties:
eq:
type: string
required:
- eq
type: object
required:
- key
- type
- value
type: object
- properties:
type:
type: string
enum:
- host
value:
properties:
eq:
type: string
required:
- eq
type: object
required:
- type
- value
type: object
type: array
mitigate:
properties:
action:
type: string
enum:
- block_legal_cwc
required:
- action
type: object
src:
type: string
required:
- has
- mitigate
type: object
statusCode:
type: number
createdAt:
type: number
caseId:
type: string
actor:
type: string
comment:
type: string
ineligibleForAppeal:
type: boolean
enum:
- false
- true
isCascading:
type: boolean
enum:
- false
- true
required:
- action
- createdAt
- route
type: object
type: array
interstitial:
type: boolean
enum:
- false
- true
required:
- history
- updatedAt
type: object
internalRoutes:
items:
oneOf:
- properties:
src:
type: string
status:
type: number
required:
- src
- status
type: object
- properties:
has:
items:
oneOf:
- properties:
type:
type: string
enum:
- header
key:
type: string
enum:
- x-vercel-ip-country
value:
properties:
eq:
type: string
required:
- eq
type: object
required:
- key
- type
- value
type: object
- properties:
type:
type: string
enum:
- host
value:
properties:
eq:
type: string
required:
- eq
type: object
required:
- type
- value
type: object
type: array
mitigate:
properties:
action:
type: string
enum:
- block_legal_cwc
required:
- action
type: object
src:
type: string
required:
- has
- mitigate
type: object
type: array
hasDeployments:
type: boolean
enum:
- false
- true
dismissedToasts:
items:
properties:
key:
type: string
dismissedAt:
type: number
action:
type: string
enum:
- delete
- cancel
- accept
value:
nullable: true
oneOf:
- type: string
- type: number
- properties:
previousValue:
oneOf:
- type: string
- type: number
- type: boolean
enum:
- false
- true
currentValue:
oneOf:
- type: string
- type: number
- type: boolean
enum:
- false
- true
required:
- currentValue
- previousValue
type: object
- type: boolean
enum:
- false
- true
required:
- action
- dismissedAt
- key
- value
type: object
type: array
protectedSourcemaps:
type: boolean
enum:
- false
- true
required:
- accountId
- defaultResourceConfig
- directoryListing
- id
- name
- nodeVersion
- resourceConfig
type: object
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
security:
- bearerToken: []
components:
schemas:
ACLAction:
type: string
enum:
- create
- delete
- read
- update
- list
description: >-
Enum containing the actions that can be performed against a resource.
Group operations are included.
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/examples/firewall-management.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Vercel WAF Management
> Learn how to use the Vercel SDK through real-life examples.
## Add custom rules
In this example, you create a new custom rule to protect your application against SQL injection threats.
```ts run.ts theme={"system"}
import { Vercel } from '@vercel/sdk';
const vercel = new Vercel({
bearerToken: process.env.VERCEL_TOKEN,
});
async function insertCustomRule() {
await vercel.security.updateFirewallConfig({
projectId: "your-project-id",
teamId: "your-team-id", //Not required but sometimes needed if the endpoint requires that you authenticate as a specific team - your token should also have access to this scope
requestBody: {
action: "rules.insert",
id: null, // null for new rules
value: {
active: true,
name: "Block SQL Injection Attempts",
description: "Block requests with SQL injection patterns in query parameters",
conditionGroup: [
{
conditions: [
{
op: "inc", // Contains
type: "query",
value: "SELECT",
},
],
},
],
action: {
mitigate: {
action: "deny",
rateLimit: null,
redirect: null,
actionDuration: null,
},
},
},
},
});
}
insertCustomRule()
```
## Modify existing rules
In this example, you update an existing custom rule's configuration. This is useful When you need to programmatically adjust conditions, actions, or status of an existing rule.
```ts run.ts theme={"system"}
import { Vercel } from "@vercel/sdk";
const vercel = new Vercel({
bearerToken: process.env.VERCEL_TOKEN,
});
async function updateExistingRule() {
await vercel.security.updateFirewallConfig({
projectId: "your-project-id",
teamId: "your-team-id", //Not required but sometimes needed if the endpoint requires that you authenticate as a specific team - your token should also have access to this scope
requestBody: {
action: "rules.update",
id: "existing-rule-id", //You can find the id by using the rules array of the Read Firewall Configuration endpoint
value: {
active: true,
name: "Updated Rule Name",
description: "Updated rule description",
conditionGroup: [
{
conditions: [
{
op: "pre",
type: "path",
value: "/admin",
},
],
},
],
action: {
mitigate: {
action: "challenge", // Changed from previous setting
rateLimit: null,
redirect: null,
actionDuration: null,
},
},
},
},
});
}
updateExistingRule()
```
## Delete custom rules
In this example, you delete an existing custom rule.
```ts run.ts theme={"system"}
import { Vercel } from "@vercel/sdk";
const vercel = new Vercel({
bearerToken: process.env.VERCEL_TOKEN,
});
async function deleteRule() {
await vercel.security.updateFirewallConfig({
projectId: "your-project-id",
teamId: "your-team-id", //Not required but sometimes needed if the endpoint requires that you authenticate as a specific team - your token should also have access to this scope
requestBody: {
action: "rules.remove",
id: "rule-to-delete-id", //You can find the id by using the rules array of the Read Firewall Configuration endpoint
value: null, // No value needed for deletion
},
});
}
deleteRule()
```
## Change rule priority
This parameter applies when you have more than one custom rule in your project. By default, the priority is determined based on the order in which the rules are added. You can change this in the Vercel dashboard by re-ordering the rules in the [Firewall Configure](https://vercel.com/docs/vercel-firewall/vercel-waf/custom-rules#custom-rule-configuration) project page **or** by using the endpoint below.
```ts run.ts theme={"system"}
import { Vercel } from "@vercel/sdk";
const vercel = new Vercel({
bearerToken: process.env.VERCEL_TOKEN,
});
async function reorderRules() {
await vercel.security.updateFirewallConfig({
projectId: "your-project-id",
teamId: "your-team-id", //Not required but sometimes needed if the endpoint requires that you authenticate as a specific team - your token should also have access to this scope
requestBody: {
action: "rules.priority",
id: "rule-to-update-priority-id", //You can find the id by using the rules array of the Read Firewall Configuration endpoint
value: 1, //Use the rules array of the Read Firewall Configuration endpoint to determine what array position you would like this rule to move to. The minimum is 0 and the maximum is the length of the array
},
});
}
reorderRules()
```
## Custom system bypass rule
The [WAF system bypass rules](https://vercel.com/docs/vercel-firewall/vercel-waf/system-bypass-rules) allow you to have specific IP addresses or CIDRs bypass the system-level mitigations such as [DDoS Mitigation](https://vercel.com/docs/vercel-firewall/ddos-mitigation). For more complex filters, you can use REST API directly.
For example, to allow mobile applications to bypass the system-level mitigations, use the following code to create a [Custom Rule](https://vercel.com/docs/vercel-firewall/vercel-waf/custom-rules) in your project. This condition will match mobile devices as well as other clients that emit mobile `user_agent` values.
Bypassing system-level mitigations with the API is currently in beta. Contact [support](https://vercel.com/help) if you would like to use it.
```ts run.ts theme={"system"}
import { Vercel } from "@vercel/sdk";
const vercel = new Vercel({
bearerToken: "",
});
async function run() {
const result = await vercel.security.updateFirewallConfig({
projectId: "",
teamId: "team_1a2b3c4d5e6f7g8h9i0j1k2l",
requestBody: {
action: "rules.insert",
id: null,
value: {
name: "Mobile App Bypass Security Rule",
description: "Custom system bypass rule targeting mobile applications",
active: true,
conditionGroup: [
{
conditions: [
{
type: "user_agent",
op: "re",
neg: false,
value: "Mobile|Android|iPhone|iPad"
}
]
}
],
action: {
mitigate: {
action: "bypass",
bypassSystem: true
}
}
}
},
});
// Handle the result
console.log(result);
}
run();
```
## Update an OWASP rule
In this example, you update a specific rule from the [OWASP ruleset](https://vercel.com/docs/vercel-firewall/vercel-waf/managed-rulesets#configure-owasp-core-ruleset) in your project using `crs.update`. You specify the rule to update by using its name in the `id` field.
```ts run.ts theme={"system"}
import { Vercel } from "@vercel/sdk";
const vercel = new Vercel({
bearerToken: process.env.VERCEL_TOKEN,
});
async function updateOwaspRule() {
await vercel.security.updateFirewallConfig({
projectId: "your-project-id",
teamId: "your-team-id", // Not required in all cases
requestBody: {
action: "crs.update",
id: "xss", // eg. "sd", "max", "lfi", "rfi", "rce", "php", "gen", "xss", "sqli", "sf", "java"
value: {
active: true, // Enable the rule
action: "log", // e.g. "deny" | "log"
},
},
});
}
updateOwaspRule()
```
## Disable all OWASP rules
This example disables all [OWASP rules](https://vercel.com/docs/vercel-firewall/vercel-waf/managed-rulesets#configure-owasp-core-ruleset) for the project. It is a shortcut equivalent to setting every OWASP rule to `active = false`.
```ts run.ts theme={"system"}
import { Vercel } from "@vercel/sdk";
const vercel = new Vercel({
bearerToken: process.env.VERCEL_TOKEN,
});
async function disableOWASPRules() {
await vercel.security.updateFirewallConfig({
projectId: "your-project-id",
teamId: "your-team-id", // Not required in all cases
requestBody: {
action: "crs.disable",
id: null,
value: null,
},
});
}
disableOWASPRules()
```
## Update a managed ruleset
Use `managedRules.update` with the ruleset name as `id` to enable/disable the ruleset and update the firewall action for that [managed ruleset](https://vercel.com/docs/vercel-firewall/vercel-waf/managed-rulesets) for the project.
```ts run.ts theme={"system"}
import { Vercel } from "@vercel/sdk";
const vercel = new Vercel({
bearerToken: process.env.VERCEL_TOKEN,
});
async function updateManagedRuleset() {
await vercel.security.updateFirewallConfig({
projectId: "your-project-id",
teamId: "your-team-id", // Not required in all cases
requestBody: {
action: "managedRules.update",
id: "bot_protection", // eg. "owasp", "bot_protection", "ai_bots", "bot_filter"
value: {
active: true, // Enable the ruleset
action: "log", // e.g. "deny" | "log" | "challenge"
},
},
});
}
updateManagedRuleset()
```
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/deployments/get-a-deployment-by-id-or-url.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Get a deployment by ID or URL
> 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 or team is an owner of the deployment.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v13/deployments/{idOrUrl}
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v13/deployments/{idOrUrl}:
get:
tags:
- deployments
summary: Get a deployment by ID or URL
description: >-
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 or team is an owner of the
deployment.
operationId: getDeployment
parameters:
- name: idOrUrl
description: The unique identifier or hostname of the deployment.
in: path
required: true
schema:
example: dpl_89qyp1cskzkLrVicDaZoDbjyHuDJ
description: The unique identifier or hostname of the deployment.
type: string
- name: withGitRepoInfo
description: Whether to add in gitRepo information.
in: query
required: false
schema:
description: Whether to add in gitRepo information.
type: string
example: 'true'
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'200':
description: |-
The deployment including only public information
The deployment including both public and private information
content:
application/json:
schema:
oneOf:
- properties:
aliasAssignedAt:
nullable: true
oneOf:
- type: number
- type: boolean
enum:
- false
- true
alwaysRefuseToBuild:
type: boolean
enum:
- false
- true
build:
properties:
env:
items:
type: string
type: array
required:
- env
type: object
buildArtifactUrls:
items:
type: string
type: array
builds:
items:
properties:
use:
type: string
src:
type: string
config:
additionalProperties: true
type: object
required:
- use
type: object
type: array
env:
items:
type: string
type: array
inspectorUrl:
nullable: true
type: string
isInConcurrentBuildsQueue:
type: boolean
enum:
- false
- true
isInSystemBuildsQueue:
type: boolean
enum:
- false
- true
projectSettings:
properties:
nodeVersion:
type: string
enum:
- 24.x
- 22.x
- 20.x
- 18.x
- 16.x
- 14.x
- 12.x
- 10.x
- 8.10.x
buildCommand:
nullable: true
type: string
devCommand:
nullable: true
type: string
framework:
nullable: true
type: string
enum:
- blitzjs
- nextjs
- gatsby
- remix
- react-router
- astro
- hexo
- eleventy
- docusaurus-2
- docusaurus
- preact
- solidstart-1
- solidstart
- dojo
- ember
- vue
- scully
- ionic-angular
- angular
- polymer
- svelte
- sveltekit
- sveltekit-1
- ionic-react
- create-react-app
- gridsome
- umijs
- sapper
- saber
- stencil
- nuxtjs
- redwoodjs
- hugo
- jekyll
- brunch
- middleman
- zola
- hydrogen
- vite
- tanstack-start
- vitepress
- vuepress
- parcel
- fastapi
- flask
- fasthtml
- sanity-v3
- sanity
- storybook
- nitro
- hono
- express
- h3
- koa
- nestjs
- elysia
- fastify
- xmcp
- python
- ruby
- rust
- node
- services
commandForIgnoringBuildStep:
nullable: true
type: string
installCommand:
nullable: true
type: string
outputDirectory:
nullable: true
type: string
speedInsights:
properties:
id:
type: string
enabledAt:
type: number
disabledAt:
type: number
canceledAt:
type: number
hasData:
type: boolean
enum:
- false
- true
paidAt:
type: number
required:
- id
type: object
webAnalytics:
properties:
id:
type: string
disabledAt:
type: number
canceledAt:
type: number
enabledAt:
type: number
hasData:
type: boolean
enum:
- true
required:
- id
type: object
type: object
readyStateReason:
type: string
integrations:
properties:
status:
type: string
enum:
- skipped
- pending
- ready
- error
- timeout
startedAt:
type: number
completedAt:
type: number
skippedAt:
type: number
skippedBy:
type: string
required:
- startedAt
- status
type: object
images:
properties:
sizes:
items:
type: number
type: array
qualities:
items:
type: number
type: array
domains:
items:
type: string
type: array
remotePatterns:
items:
properties:
protocol:
type: string
enum:
- http
- https
description: Must be `http` or `https`.
hostname:
type: string
description: >-
Can be literal or wildcard. Single `*`
matches a single subdomain. Double `**`
matches any number of subdomains.
port:
type: string
description: >-
Can be literal port such as `8080` or empty
string meaning no port.
pathname:
type: string
description: >-
Can be literal or wildcard. Single `*`
matches a single path segment. Double `**`
matches any number of path segments.
search:
type: string
description: >-
Can be literal query string such as `?v=1`
or empty string meaning no query string.
required:
- hostname
type: object
type: array
localPatterns:
items:
properties:
pathname:
type: string
description: >-
Can be literal or wildcard. Single `*`
matches a single path segment. Double `**`
matches any number of path segments.
search:
type: string
description: >-
Can be literal query string such as `?v=1`
or empty string meaning no query string.
type: object
type: array
minimumCacheTTL:
type: number
formats:
items:
type: string
enum:
- image/avif
- image/webp
type: array
dangerouslyAllowSVG:
type: boolean
enum:
- false
- true
contentSecurityPolicy:
type: string
contentDispositionType:
type: string
enum:
- inline
- attachment
type: object
alias:
items:
type: string
type: array
description: >-
A list of all the aliases (default aliases, staging
aliases and production aliases) that were assigned
upon deployment creation
example: []
aliasAssigned:
type: boolean
enum:
- false
- true
description: >-
A boolean that will be true when the aliases from the
alias property were assigned successfully
example: true
bootedAt:
type: number
buildingAt:
type: number
buildContainerFinishedAt:
type: number
description: >-
Since April 2025 it necessary for On-Demand
Concurrency Minutes calculation
buildSkipped:
type: boolean
enum:
- false
- true
creator:
properties:
uid:
type: string
description: The ID of the user that created the deployment
example: 96SnxkFiMyVKsK3pnoHfx3Hz
username:
type: string
description: >-
The username of the user that created the
deployment
example: john-doe
avatar:
type: string
description: The avatar of the user that created the deployment
required:
- uid
type: object
description: Information about the deployment creator
initReadyAt:
type: number
isFirstBranchDeployment:
type: boolean
enum:
- false
- true
lambdas:
items:
properties:
id:
type: string
createdAt:
type: number
readyState:
type: string
enum:
- BUILDING
- ERROR
- INITIALIZING
- READY
entrypoint:
nullable: true
type: string
readyStateAt:
type: number
output:
items:
properties:
path:
type: string
functionName:
type: string
required:
- functionName
- path
type: object
type: array
required:
- id
- output
type: object
description: >-
A partial representation of a Build used by the
deployment endpoint.
type: array
public:
type: boolean
enum:
- false
- true
description: >-
A boolean representing if the deployment is public or
not. By default this is `false`
example: false
ready:
type: number
status:
type: string
enum:
- QUEUED
- BUILDING
- ERROR
- INITIALIZING
- READY
- CANCELED
team:
properties:
id:
type: string
name:
type: string
slug:
type: string
avatar:
type: string
required:
- id
- name
- slug
type: object
description: The team that owns the deployment if any
userAliases:
items:
type: string
type: array
description: >-
An array of domains that were provided by the user
when creating the Deployment.
example:
- sub1.example.com
- sub2.example.com
previewCommentsEnabled:
type: boolean
enum:
- false
- true
description: >-
Whether or not preview comments are enabled for the
deployment
example: false
ttyBuildLogs:
type: boolean
enum:
- false
- true
customEnvironment:
oneOf:
- properties:
id:
type: string
description: >-
Unique identifier for the custom environment
(format: env_*)
slug:
type: string
description: URL-friendly name of the environment
type:
type: string
enum:
- production
- preview
- development
description: >-
The type of environment (production, preview,
or development)
description:
type: string
description: >-
Optional description of the environment's
purpose
branchMatcher:
properties:
type:
type: string
enum:
- endsWith
- startsWith
- equals
description: The type of matching to perform
pattern:
type: string
description: The pattern to match against branch names
required:
- pattern
- type
type: object
description: >-
Configuration for matching git branches to
this environment
domains:
items:
properties:
name:
type: string
apexName:
type: string
projectId:
type: string
redirect:
nullable: true
type: string
redirectStatusCode:
nullable: true
type: number
enum:
- 307
- 301
- 302
- 308
gitBranch:
nullable: true
type: string
customEnvironmentId:
nullable: true
type: string
updatedAt:
type: number
createdAt:
type: number
verified:
type: boolean
enum:
- false
- true
description: >-
`true` if the domain is verified for use
with the project. If `false` it will not
be used as an alias on this project
until the challenge in `verification` is
completed.
verification:
items:
properties:
type:
type: string
domain:
type: string
value:
type: string
reason:
type: string
required:
- domain
- reason
- type
- value
type: object
description: >-
A list of verification challenges, one
of which must be completed to verify the
domain for use on the project. After the
challenge is complete `POST
/projects/:idOrName/domains/:domain/verify`
to verify the domain. Possible
challenges: - If `verification.type =
TXT` the `verification.domain` will be
checked for a TXT record matching
`verification.value`.
type: array
description: >-
A list of verification challenges, one
of which must be completed to verify the
domain for use on the project. After the
challenge is complete `POST
/projects/:idOrName/domains/:domain/verify`
to verify the domain. Possible
challenges: - If `verification.type =
TXT` the `verification.domain` will be
checked for a TXT record matching
`verification.value`.
required:
- apexName
- name
- projectId
- verified
type: object
description: >-
List of domains associated with this
environment
type: array
description: >-
List of domains associated with this
environment
currentDeploymentAliases:
items:
type: string
type: array
description: List of aliases for the current deployment
createdAt:
type: number
description: Timestamp when the environment was created
updatedAt:
type: number
description: >-
Timestamp when the environment was last
updated
required:
- createdAt
- id
- slug
- type
- updatedAt
type: object
description: >-
If the deployment was created using a Custom
Environment, then this property contains
information regarding the environment used.
- properties:
id:
type: string
required:
- id
type: object
description: >-
If the deployment was created using a Custom
Environment, then this property contains
information regarding the environment used.
oomReport:
type: string
enum:
- out-of-memory
aliasWarning:
nullable: true
properties:
code:
type: string
message:
type: string
link:
type: string
action:
type: string
required:
- code
- message
type: object
id:
type: string
description: A string holding the unique ID of the deployment
example: dpl_89qyp1cskzkLrVicDaZoDbjyHuDJ
createdAt:
type: number
description: >-
A number containing the date when the deployment was
created in milliseconds
example: 1540257589405
readyState:
type: string
enum:
- QUEUED
- BUILDING
- ERROR
- INITIALIZING
- READY
- CANCELED
description: >-
The state of the deployment depending on the process
of deploying, or if it is ready or in an error state
example: READY
name:
type: string
description: >-
The name of the project associated with the deployment
at the time that the deployment was created
example: my-project
type:
type: string
enum:
- LAMBDAS
aliasError:
nullable: true
properties:
code:
type: string
message:
type: string
required:
- code
- message
type: object
description: >-
An object that will contain a `code` and a `message`
when the aliasing fails, otherwise the value will be
`null`
example: null
aliasFinal:
nullable: true
type: string
autoAssignCustomDomains:
type: boolean
enum:
- false
- true
description: applies to custom domains only, defaults to `true`
automaticAliases:
items:
type: string
type: array
buildErrorAt:
type: number
checksState:
type: string
enum:
- registered
- running
- completed
checksConclusion:
type: string
enum:
- succeeded
- failed
- skipped
- canceled
deletedAt:
nullable: true
type: number
description: >-
A number containing the date when the deployment was
deleted at milliseconds
example: 1540257589405
defaultRoute:
type: string
description: >-
Computed field that is only available for deployments
with a microfrontend configuration.
canceledAt:
type: number
errorCode:
type: string
errorLink:
type: string
errorMessage:
nullable: true
type: string
errorStep:
type: string
passiveRegions:
items:
type: string
type: array
description: >-
Since November 2023 this field defines a set of
regions that we will deploy the lambda to passively
Lambdas will be deployed to these regions but only
invoked if all of the primary `regions` are marked as
out of service
gitSource:
oneOf:
- properties:
type:
type: string
enum:
- github
repoId:
oneOf:
- type: string
- type: number
ref:
nullable: true
type: string
sha:
type: string
prId:
nullable: true
type: number
required:
- repoId
- type
type: object
- properties:
type:
type: string
enum:
- github
org:
type: string
repo:
type: string
ref:
nullable: true
type: string
sha:
type: string
prId:
nullable: true
type: number
required:
- org
- repo
- type
type: object
- properties:
type:
type: string
enum:
- github-custom-host
host:
type: string
repoId:
oneOf:
- type: string
- type: number
ref:
nullable: true
type: string
sha:
type: string
prId:
nullable: true
type: number
required:
- host
- repoId
- type
type: object
- properties:
type:
type: string
enum:
- github-custom-host
host:
type: string
org:
type: string
repo:
type: string
ref:
nullable: true
type: string
sha:
type: string
prId:
nullable: true
type: number
required:
- host
- org
- repo
- type
type: object
- properties:
type:
type: string
enum:
- github-limited
repoId:
oneOf:
- type: string
- type: number
ref:
nullable: true
type: string
sha:
type: string
prId:
nullable: true
type: number
required:
- repoId
- type
type: object
- properties:
type:
type: string
enum:
- github-limited
org:
type: string
repo:
type: string
ref:
nullable: true
type: string
sha:
type: string
prId:
nullable: true
type: number
required:
- org
- repo
- type
type: object
- properties:
type:
type: string
enum:
- gitlab
projectId:
oneOf:
- type: string
- type: number
ref:
nullable: true
type: string
sha:
type: string
prId:
nullable: true
type: number
required:
- projectId
- type
type: object
- properties:
type:
type: string
enum:
- bitbucket
workspaceUuid:
type: string
repoUuid:
type: string
ref:
nullable: true
type: string
sha:
type: string
prId:
nullable: true
type: number
required:
- repoUuid
- type
type: object
- properties:
type:
type: string
enum:
- bitbucket
owner:
type: string
slug:
type: string
ref:
nullable: true
type: string
sha:
type: string
prId:
nullable: true
type: number
required:
- owner
- slug
- type
type: object
- properties:
type:
type: string
enum:
- custom
ref:
type: string
sha:
type: string
gitUrl:
type: string
required:
- gitUrl
- ref
- sha
- type
type: object
description: >-
Allows custom git sources (local folder mounted to
the container) in test mode
- properties:
type:
type: string
enum:
- github
ref:
type: string
sha:
type: string
repoId:
type: number
org:
type: string
repo:
type: string
required:
- ref
- repoId
- sha
- type
type: object
- properties:
type:
type: string
enum:
- github-custom-host
host:
type: string
ref:
type: string
sha:
type: string
repoId:
type: number
org:
type: string
repo:
type: string
required:
- host
- ref
- repoId
- sha
- type
type: object
- properties:
type:
type: string
enum:
- github-limited
ref:
type: string
sha:
type: string
repoId:
type: number
org:
type: string
repo:
type: string
required:
- ref
- repoId
- sha
- type
type: object
- properties:
type:
type: string
enum:
- gitlab
ref:
type: string
sha:
type: string
projectId:
type: number
required:
- projectId
- ref
- sha
- type
type: object
- properties:
type:
type: string
enum:
- bitbucket
ref:
type: string
sha:
type: string
owner:
type: string
slug:
type: string
workspaceUuid:
type: string
repoUuid:
type: string
required:
- ref
- repoUuid
- sha
- type
- workspaceUuid
type: object
manualProvisioning:
properties:
state:
type: string
enum:
- PENDING
- COMPLETE
- TIMEOUT
description: Current provisioning state
completedAt:
type: number
description: Timestamp when manual provisioning completed
required:
- state
type: object
description: >-
Present when deployment was created with
VERCEL_MANUAL_PROVISIONING=true. The deployment stays
in INITIALIZING until /continue is called.
meta:
additionalProperties:
type: string
type: object
originCacheRegion:
type: string
nodeVersion:
type: string
enum:
- 24.x
- 22.x
- 20.x
- 18.x
- 16.x
- 14.x
- 12.x
- 10.x
- 8.10.x
description: >-
If set it overrides the `projectSettings.nodeVersion`
for this deployment.
project:
properties:
id:
type: string
name:
type: string
framework:
nullable: true
type: string
required:
- id
- name
type: object
description: >-
The public project information associated with the
deployment.
prebuilt:
type: boolean
enum:
- false
- true
readySubstate:
type: string
enum:
- STAGED
- ROLLING
- PROMOTED
description: >-
Substate of deployment when readyState is 'READY'
Tracks whether or not deployment has seen production
traffic: - STAGED: never seen production traffic -
ROLLING: in the process of having production traffic
gradually transitioned. - PROMOTED: has seen
production traffic
regions:
items:
type: string
type: array
description: The regions the deployment exists in
example:
- sfo1
softDeletedByRetention:
type: boolean
enum:
- false
- true
description: >-
flag to indicate if the deployment was deleted by
retention policy
example: 'true'
source:
type: string
enum:
- api-trigger-git-deploy
- cli
- clone/repo
- git
- import
- import/repo
- redeploy
- v0-web
description: Where was the deployment created from
example: cli
target:
nullable: true
type: string
enum:
- staging
- production
description: >-
If defined, either `staging` if a staging alias in the
format `..now.sh` was assigned upon
creation, or `production` if the aliases from `alias`
were assigned. `null` value indicates the "preview"
deployment.
example: null
undeletedAt:
type: number
description: >-
A number containing the date when the deployment was
undeleted at milliseconds
example: 1540257589405
url:
type: string
description: A string with the unique URL of the deployment
example: my-instant-deployment-3ij3cxz9qr.now.sh
userConfiguredDeploymentId:
type: string
description: >-
Since January 2025 User-configured deployment ID for
skew protection with pre-built deployments. This is
set when users configure a custom deploymentId in
their next.config.js file. This allows Next.js to use
skew protection even when deployments are pre-built
outside of Vercel's build system.
example: abc123
version:
type: number
enum:
- 2
description: >-
The platform version that was used to create the
deployment.
example: 2
oidcTokenClaims:
properties:
iss:
type: string
sub:
type: string
scope:
type: string
aud:
type: string
owner:
type: string
owner_id:
type: string
project:
type: string
project_id:
type: string
environment:
type: string
plan:
type: string
required:
- aud
- environment
- iss
- owner
- owner_id
- project
- project_id
- scope
- sub
type: object
projectId:
type: string
plan:
type: string
enum:
- pro
- enterprise
- hobby
connectBuildsEnabled:
type: boolean
enum:
- false
- true
connectConfigurationId:
type: string
createdIn:
type: string
crons:
items:
properties:
schedule:
type: string
path:
type: string
required:
- path
- schedule
type: object
type: array
functions:
nullable: true
additionalProperties:
properties:
architecture:
type: string
enum:
- x86_64
- arm64
memory:
type: number
maxDuration:
type: number
runtime:
type: string
includeFiles:
type: string
excludeFiles:
type: string
experimentalTriggers:
items:
properties:
type:
type: string
enum:
- queue/v1beta
description: >-
Event type - must be "queue/v1beta"
(REQUIRED)
topic:
type: string
description: >-
Name of the queue topic to consume from
(REQUIRED)
consumer:
type: string
description: >-
Name of the consumer group for this
trigger (REQUIRED)
maxDeliveries:
type: number
description: >-
Maximum number of delivery attempts for
message processing (OPTIONAL) This
represents the total number of times a
message can be delivered, not the number
of retries. Must be at least 1 if
specified. Behavior when not specified
depends on the server's default
configuration.
retryAfterSeconds:
type: number
description: >-
Delay in seconds before retrying failed
executions (OPTIONAL) Behavior when not
specified depends on the server's default
configuration.
initialDelaySeconds:
type: number
description: >-
Initial delay in seconds before first
execution attempt (OPTIONAL) Must be 0 or
greater. Use 0 for no initial delay.
Behavior when not specified depends on the
server's default configuration.
maxConcurrency:
type: number
description: >-
Maximum number of concurrent executions
for this consumer (OPTIONAL) Must be at
least 1 if specified. Behavior when not
specified depends on the server's default
configuration.
required:
- consumer
- topic
- type
type: object
description: >-
Queue trigger event for Vercel's queue system.
Handles "queue/v1beta" events with
queue-specific configuration.
type: array
supportsCancellation:
type: boolean
enum:
- false
- true
type: object
type: object
monorepoManager:
nullable: true
type: string
ownerId:
type: string
passiveConnectConfigurationId:
type: string
description: >-
Since November 2023 this field defines a Secure
Compute network that will only be used to deploy
passive lambdas to (as in passiveRegions)
routes:
nullable: true
items:
oneOf:
- properties:
src:
type: string
dest:
type: string
headers:
additionalProperties:
type: string
type: object
methods:
items:
type: string
type: array
continue:
type: boolean
enum:
- false
- true
override:
type: boolean
enum:
- false
- true
caseSensitive:
type: boolean
enum:
- false
- true
check:
type: boolean
enum:
- false
- true
important:
type: boolean
enum:
- false
- true
status:
type: number
has:
items:
oneOf:
- properties:
type:
type: string
enum:
- host
value:
oneOf:
- type: string
- properties:
eq:
oneOf:
- type: string
- type: number
neq:
type: string
inc:
items:
type: string
type: array
ninc:
items:
type: string
type: array
pre:
type: string
suf:
type: string
re:
type: string
gt:
type: number
gte:
type: number
lt:
type: number
lte:
type: number
type: object
required:
- type
- value
type: object
- properties:
type:
type: string
enum:
- header
- cookie
- query
key:
type: string
value:
oneOf:
- type: string
- properties:
eq:
oneOf:
- type: string
- type: number
neq:
type: string
inc:
items:
type: string
type: array
ninc:
items:
type: string
type: array
pre:
type: string
suf:
type: string
re:
type: string
gt:
type: number
gte:
type: number
lt:
type: number
lte:
type: number
type: object
required:
- key
- type
type: object
type: array
missing:
items:
oneOf:
- properties:
type:
type: string
enum:
- host
value:
oneOf:
- type: string
- properties:
eq:
oneOf:
- type: string
- type: number
neq:
type: string
inc:
items:
type: string
type: array
ninc:
items:
type: string
type: array
pre:
type: string
suf:
type: string
re:
type: string
gt:
type: number
gte:
type: number
lt:
type: number
lte:
type: number
type: object
required:
- type
- value
type: object
- properties:
type:
type: string
enum:
- header
- cookie
- query
key:
type: string
value:
oneOf:
- type: string
- properties:
eq:
oneOf:
- type: string
- type: number
neq:
type: string
inc:
items:
type: string
type: array
ninc:
items:
type: string
type: array
pre:
type: string
suf:
type: string
re:
type: string
gt:
type: number
gte:
type: number
lt:
type: number
lte:
type: number
type: object
required:
- key
- type
type: object
type: array
mitigate:
properties:
action:
type: string
enum:
- challenge
- deny
required:
- action
type: object
transforms:
items:
properties:
type:
type: string
enum:
- request.headers
- request.query
- response.headers
op:
type: string
enum:
- append
- set
- delete
target:
properties:
key:
oneOf:
- type: string
- properties:
eq:
oneOf:
- type: string
- type: number
neq:
type: string
inc:
items:
type: string
type: array
ninc:
items:
type: string
type: array
pre:
type: string
suf:
type: string
gt:
type: number
gte:
type: number
lt:
type: number
lte:
type: number
type: object
required:
- key
type: object
args:
oneOf:
- type: string
- items:
type: string
type: array
env:
items:
type: string
type: array
required:
- op
- target
- type
type: object
type: array
env:
items:
type: string
type: array
locale:
properties:
redirect:
additionalProperties:
type: string
type: object
cookie:
type: string
type: object
middlewarePath:
type: string
description: >-
A middleware key within the `output` key
under the build result. Overrides a
`middleware` definition.
middlewareRawSrc:
items:
type: string
type: array
description: The original middleware matchers.
middleware:
type: number
description: >-
A middleware index in the `middleware` key
under the build result
respectOriginCacheControl:
type: boolean
enum:
- false
- true
required:
- src
type: object
- properties:
handle:
type: string
enum:
- error
- filesystem
- hit
- miss
- rewrite
- resource
src:
type: string
dest:
type: string
status:
type: number
required:
- handle
type: object
- properties:
src:
type: string
continue:
type: boolean
enum:
- false
- true
middleware:
type: number
enum:
- 0
required:
- continue
- middleware
- src
type: object
type: array
gitRepo:
nullable: true
oneOf:
- properties:
namespace:
type: string
projectId:
type: number
type:
type: string
enum:
- gitlab
url:
type: string
path:
type: string
defaultBranch:
type: string
name:
type: string
private:
type: boolean
enum:
- false
- true
ownerType:
type: string
enum:
- team
- user
required:
- defaultBranch
- name
- namespace
- ownerType
- path
- private
- projectId
- type
- url
type: object
- properties:
org:
type: string
repo:
type: string
repoId:
type: number
type:
type: string
enum:
- github
repoOwnerId:
type: number
path:
type: string
defaultBranch:
type: string
name:
type: string
private:
type: boolean
enum:
- false
- true
ownerType:
type: string
enum:
- team
- user
required:
- defaultBranch
- name
- org
- ownerType
- path
- private
- repo
- repoId
- repoOwnerId
- type
type: object
- properties:
owner:
type: string
repoUuid:
type: string
slug:
type: string
type:
type: string
enum:
- bitbucket
workspaceUuid:
type: string
path:
type: string
defaultBranch:
type: string
name:
type: string
private:
type: boolean
enum:
- false
- true
ownerType:
type: string
enum:
- team
- user
required:
- defaultBranch
- name
- owner
- ownerType
- path
- private
- repoUuid
- slug
- type
- workspaceUuid
type: object
flags:
oneOf:
- properties:
definitions:
additionalProperties:
properties:
options:
items:
properties:
value:
$ref: '#/components/schemas/FlagJSONValue'
label:
type: string
required:
- value
type: object
type: array
url:
type: string
description:
type: string
type: object
type: object
required:
- definitions
type: object
description: >-
Flags defined in the Build Output API, used by
this deployment. Primarily used by the Toolbar to
know about the used flags.
- items:
type: object
description: >-
Flags defined in the Build Output API, used by
this deployment. Primarily used by the Toolbar
to know about the used flags.
type: array
description: >-
Flags defined in the Build Output API, used by
this deployment. Primarily used by the Toolbar to
know about the used flags.
microfrontends:
oneOf:
- properties:
isDefaultApp:
type: boolean
enum:
- false
defaultAppProjectName:
type: string
description: >-
The project name of the default app of this
deployment's microfrontends group.
defaultRoute:
type: string
description: >-
A path that is used to take screenshots and as
the default path in preview links when a
domain for this microfrontend is shown in the
UI.
groupIds:
type: array
items:
type: string
minItems: 1
description: >-
The group of microfrontends that this project
belongs to. Each microfrontend project must
belong to a microfrontends group that is the
set of microfrontends that are used together.
required:
- defaultAppProjectName
- groupIds
type: object
- properties:
isDefaultApp:
type: boolean
enum:
- true
mfeConfigUploadState:
type: string
enum:
- success
- waiting_on_build
- no_config
description: >-
The result of the microfrontends config upload
during deployment creation / build. Only set
for default app deployments. The config upload
is attempted during deployment create, and
then again during the build. If the config is
not in the root directory, or the deployment
is prebuilt, the config cannot be uploaded
during deployment create. The upload during
deployment build finds the config even if it's
not in the root directory, as it has access to
all files. Uploading the config during create
is ideal, as then all child deployments are
guaranteed to have access to the default app
deployment config even if the default app has
not yet started building. If the config is not
uploaded, the child app will show as building
until the config has been uploaded during the
default app build. - `success` - The config
was uploaded successfully, either when the
deployment was created or during the build. -
`waiting_on_build` - The config could not be
uploaded during deployment create, will be
attempted again during the build. -
`no_config` - No config was found. Only set
once the build has not found the config in any
of the deployment's files. - `undefined` -
Legacy deployments, or there was an error
uploading the config during deployment create.
defaultAppProjectName:
type: string
description: >-
The project name of the default app of this
deployment's microfrontends group.
defaultRoute:
type: string
description: >-
A path that is used to take screenshots and as
the default path in preview links when a
domain for this microfrontend is shown in the
UI.
groupIds:
type: array
items:
type: string
minItems: 1
description: >-
The group of microfrontends that this project
belongs to. Each microfrontend project must
belong to a microfrontends group that is the
set of microfrontends that are used together.
required:
- defaultAppProjectName
- groupIds
- isDefaultApp
type: object
config:
properties:
version:
type: number
functionType:
type: string
enum:
- standard
- fluid
functionMemoryType:
type: string
enum:
- standard
- standard_legacy
- performance
functionTimeout:
nullable: true
type: number
secureComputePrimaryRegion:
nullable: true
type: string
secureComputeFallbackRegion:
nullable: true
type: string
isUsingActiveCPU:
type: boolean
enum:
- false
- true
resourceConfig:
properties:
buildQueue:
properties:
configuration:
type: string
enum:
- SKIP_NAMESPACE_QUEUE
- WAIT_FOR_NAMESPACE_QUEUE
description: >-
Build resource configuration snapshot for
this deployment.
type: object
description: >-
Build resource configuration snapshot for this
deployment.
buildMachine:
properties:
default:
type: string
enum:
- enhanced
- turbo
- standard
description: >-
Build resource configuration snapshot for
this deployment.
purchaseType:
type: string
enum:
- enhanced
- turbo
description: >-
Build resource configuration snapshot for
this deployment.
isDefaultBuildMachine:
type: boolean
enum:
- false
- true
description: >-
Build resource configuration snapshot for
this deployment.
cores:
type: number
description: >-
Build resource configuration snapshot for
this deployment.
memory:
type: number
description: >-
Build resource configuration snapshot for
this deployment.
type: object
description: >-
Build resource configuration snapshot for this
deployment.
elasticConcurrency:
type: string
enum:
- TEAM_SETTING
- PROJECT_SETTING
- SKIP_QUEUE
description: >-
When elastic concurrency is used for this
deployment, a value is set. The value tells
the reason where the setting was coming from.
- TEAM_SETTING: Inherited from team settings -
PROJECT_SETTING: Inherited from project
settings - SKIP_QUEUE: Manually triggered by
user to skip the queues
type: object
description: >-
Build resource configuration snapshot for this
deployment.
required:
- functionMemoryType
- functionTimeout
- functionType
- secureComputeFallbackRegion
- secureComputePrimaryRegion
type: object
description: >-
Since February 2025 the configuration must include
snapshot data at the time of deployment creation to
capture properties for the /deployments/:id/config
endpoint utilized for displaying Deployment
Configuration on the frontend This is optional because
older deployments may not have this data captured
checks:
properties:
deployment-alias:
properties:
state:
type: string
enum:
- succeeded
- failed
- pending
startedAt:
type: number
completedAt:
type: number
required:
- startedAt
- state
type: object
description: >-
Condensed check data. Retrieve individual check
and check run data using api-checks v2 routes.
required:
- deployment-alias
type: object
required:
- aliasAssigned
- bootedAt
- build
- buildSkipped
- buildingAt
- createdAt
- createdIn
- creator
- env
- id
- inspectorUrl
- isInConcurrentBuildsQueue
- isInSystemBuildsQueue
- meta
- name
- ownerId
- plan
- projectId
- projectSettings
- public
- readyState
- regions
- routes
- status
- type
- url
- version
type: object
description: >-
The deployment including both public and private
information
- properties:
alias:
items:
type: string
type: array
description: >-
A list of all the aliases (default aliases, staging
aliases and production aliases) that were assigned
upon deployment creation
example: []
aliasAssigned:
type: boolean
enum:
- false
- true
description: >-
A boolean that will be true when the aliases from the
alias property were assigned successfully
example: true
bootedAt:
type: number
buildingAt:
type: number
buildContainerFinishedAt:
type: number
description: >-
Since April 2025 it necessary for On-Demand
Concurrency Minutes calculation
buildSkipped:
type: boolean
enum:
- false
- true
creator:
properties:
uid:
type: string
description: The ID of the user that created the deployment
example: 96SnxkFiMyVKsK3pnoHfx3Hz
username:
type: string
description: >-
The username of the user that created the
deployment
example: john-doe
avatar:
type: string
description: The avatar of the user that created the deployment
required:
- uid
type: object
description: Information about the deployment creator
initReadyAt:
type: number
isFirstBranchDeployment:
type: boolean
enum:
- false
- true
lambdas:
items:
properties:
id:
type: string
createdAt:
type: number
readyState:
type: string
enum:
- BUILDING
- ERROR
- INITIALIZING
- READY
entrypoint:
nullable: true
type: string
readyStateAt:
type: number
output:
items:
properties:
path:
type: string
functionName:
type: string
required:
- functionName
- path
type: object
type: array
required:
- id
- output
type: object
description: >-
A partial representation of a Build used by the
deployment endpoint.
type: array
public:
type: boolean
enum:
- false
- true
description: >-
A boolean representing if the deployment is public or
not. By default this is `false`
example: false
ready:
type: number
status:
type: string
enum:
- QUEUED
- BUILDING
- ERROR
- INITIALIZING
- READY
- CANCELED
team:
properties:
id:
type: string
name:
type: string
slug:
type: string
avatar:
type: string
required:
- id
- name
- slug
type: object
description: The team that owns the deployment if any
userAliases:
items:
type: string
type: array
description: >-
An array of domains that were provided by the user
when creating the Deployment.
example:
- sub1.example.com
- sub2.example.com
previewCommentsEnabled:
type: boolean
enum:
- false
- true
description: >-
Whether or not preview comments are enabled for the
deployment
example: false
ttyBuildLogs:
type: boolean
enum:
- false
- true
customEnvironment:
oneOf:
- properties:
id:
type: string
description: >-
Unique identifier for the custom environment
(format: env_*)
slug:
type: string
description: URL-friendly name of the environment
type:
type: string
enum:
- production
- preview
- development
description: >-
The type of environment (production, preview,
or development)
description:
type: string
description: >-
Optional description of the environment's
purpose
branchMatcher:
properties:
type:
type: string
enum:
- endsWith
- startsWith
- equals
description: The type of matching to perform
pattern:
type: string
description: The pattern to match against branch names
required:
- pattern
- type
type: object
description: >-
Configuration for matching git branches to
this environment
domains:
items:
properties:
name:
type: string
apexName:
type: string
projectId:
type: string
redirect:
nullable: true
type: string
redirectStatusCode:
nullable: true
type: number
enum:
- 307
- 301
- 302
- 308
gitBranch:
nullable: true
type: string
customEnvironmentId:
nullable: true
type: string
updatedAt:
type: number
createdAt:
type: number
verified:
type: boolean
enum:
- false
- true
description: >-
`true` if the domain is verified for use
with the project. If `false` it will not
be used as an alias on this project
until the challenge in `verification` is
completed.
verification:
items:
properties:
type:
type: string
domain:
type: string
value:
type: string
reason:
type: string
required:
- domain
- reason
- type
- value
type: object
description: >-
A list of verification challenges, one
of which must be completed to verify the
domain for use on the project. After the
challenge is complete `POST
/projects/:idOrName/domains/:domain/verify`
to verify the domain. Possible
challenges: - If `verification.type =
TXT` the `verification.domain` will be
checked for a TXT record matching
`verification.value`.
type: array
description: >-
A list of verification challenges, one
of which must be completed to verify the
domain for use on the project. After the
challenge is complete `POST
/projects/:idOrName/domains/:domain/verify`
to verify the domain. Possible
challenges: - If `verification.type =
TXT` the `verification.domain` will be
checked for a TXT record matching
`verification.value`.
required:
- apexName
- name
- projectId
- verified
type: object
description: >-
List of domains associated with this
environment
type: array
description: >-
List of domains associated with this
environment
currentDeploymentAliases:
items:
type: string
type: array
description: List of aliases for the current deployment
createdAt:
type: number
description: Timestamp when the environment was created
updatedAt:
type: number
description: >-
Timestamp when the environment was last
updated
required:
- createdAt
- id
- slug
- type
- updatedAt
type: object
description: >-
If the deployment was created using a Custom
Environment, then this property contains
information regarding the environment used.
- properties:
id:
type: string
required:
- id
type: object
description: >-
If the deployment was created using a Custom
Environment, then this property contains
information regarding the environment used.
oomReport:
type: string
enum:
- out-of-memory
aliasWarning:
nullable: true
properties:
code:
type: string
message:
type: string
link:
type: string
action:
type: string
required:
- code
- message
type: object
id:
type: string
description: A string holding the unique ID of the deployment
example: dpl_89qyp1cskzkLrVicDaZoDbjyHuDJ
createdAt:
type: number
description: >-
A number containing the date when the deployment was
created in milliseconds
example: 1540257589405
readyState:
type: string
enum:
- QUEUED
- BUILDING
- ERROR
- INITIALIZING
- READY
- CANCELED
description: >-
The state of the deployment depending on the process
of deploying, or if it is ready or in an error state
example: READY
name:
type: string
description: >-
The name of the project associated with the deployment
at the time that the deployment was created
example: my-project
type:
type: string
enum:
- LAMBDAS
aliasError:
nullable: true
properties:
code:
type: string
message:
type: string
required:
- code
- message
type: object
description: >-
An object that will contain a `code` and a `message`
when the aliasing fails, otherwise the value will be
`null`
example: null
aliasFinal:
nullable: true
type: string
autoAssignCustomDomains:
type: boolean
enum:
- false
- true
description: applies to custom domains only, defaults to `true`
automaticAliases:
items:
type: string
type: array
buildErrorAt:
type: number
checksState:
type: string
enum:
- registered
- running
- completed
checksConclusion:
type: string
enum:
- succeeded
- failed
- skipped
- canceled
deletedAt:
nullable: true
type: number
description: >-
A number containing the date when the deployment was
deleted at milliseconds
example: 1540257589405
defaultRoute:
type: string
description: >-
Computed field that is only available for deployments
with a microfrontend configuration.
canceledAt:
type: number
errorCode:
type: string
errorLink:
type: string
errorMessage:
nullable: true
type: string
errorStep:
type: string
passiveRegions:
items:
type: string
type: array
description: >-
Since November 2023 this field defines a set of
regions that we will deploy the lambda to passively
Lambdas will be deployed to these regions but only
invoked if all of the primary `regions` are marked as
out of service
gitSource:
oneOf:
- properties:
type:
type: string
enum:
- github
repoId:
oneOf:
- type: string
- type: number
ref:
nullable: true
type: string
sha:
type: string
prId:
nullable: true
type: number
required:
- repoId
- type
type: object
- properties:
type:
type: string
enum:
- github
org:
type: string
repo:
type: string
ref:
nullable: true
type: string
sha:
type: string
prId:
nullable: true
type: number
required:
- org
- repo
- type
type: object
- properties:
type:
type: string
enum:
- github-custom-host
host:
type: string
repoId:
oneOf:
- type: string
- type: number
ref:
nullable: true
type: string
sha:
type: string
prId:
nullable: true
type: number
required:
- host
- repoId
- type
type: object
- properties:
type:
type: string
enum:
- github-custom-host
host:
type: string
org:
type: string
repo:
type: string
ref:
nullable: true
type: string
sha:
type: string
prId:
nullable: true
type: number
required:
- host
- org
- repo
- type
type: object
- properties:
type:
type: string
enum:
- github-limited
repoId:
oneOf:
- type: string
- type: number
ref:
nullable: true
type: string
sha:
type: string
prId:
nullable: true
type: number
required:
- repoId
- type
type: object
- properties:
type:
type: string
enum:
- github-limited
org:
type: string
repo:
type: string
ref:
nullable: true
type: string
sha:
type: string
prId:
nullable: true
type: number
required:
- org
- repo
- type
type: object
- properties:
type:
type: string
enum:
- gitlab
projectId:
oneOf:
- type: string
- type: number
ref:
nullable: true
type: string
sha:
type: string
prId:
nullable: true
type: number
required:
- projectId
- type
type: object
- properties:
type:
type: string
enum:
- bitbucket
workspaceUuid:
type: string
repoUuid:
type: string
ref:
nullable: true
type: string
sha:
type: string
prId:
nullable: true
type: number
required:
- repoUuid
- type
type: object
- properties:
type:
type: string
enum:
- bitbucket
owner:
type: string
slug:
type: string
ref:
nullable: true
type: string
sha:
type: string
prId:
nullable: true
type: number
required:
- owner
- slug
- type
type: object
- properties:
type:
type: string
enum:
- custom
ref:
type: string
sha:
type: string
gitUrl:
type: string
required:
- gitUrl
- ref
- sha
- type
type: object
description: >-
Allows custom git sources (local folder mounted to
the container) in test mode
- properties:
type:
type: string
enum:
- github
ref:
type: string
sha:
type: string
repoId:
type: number
org:
type: string
repo:
type: string
required:
- ref
- repoId
- sha
- type
type: object
- properties:
type:
type: string
enum:
- github-custom-host
host:
type: string
ref:
type: string
sha:
type: string
repoId:
type: number
org:
type: string
repo:
type: string
required:
- host
- ref
- repoId
- sha
- type
type: object
- properties:
type:
type: string
enum:
- github-limited
ref:
type: string
sha:
type: string
repoId:
type: number
org:
type: string
repo:
type: string
required:
- ref
- repoId
- sha
- type
type: object
- properties:
type:
type: string
enum:
- gitlab
ref:
type: string
sha:
type: string
projectId:
type: number
required:
- projectId
- ref
- sha
- type
type: object
- properties:
type:
type: string
enum:
- bitbucket
ref:
type: string
sha:
type: string
owner:
type: string
slug:
type: string
workspaceUuid:
type: string
repoUuid:
type: string
required:
- ref
- repoUuid
- sha
- type
- workspaceUuid
type: object
manualProvisioning:
properties:
state:
type: string
enum:
- PENDING
- COMPLETE
- TIMEOUT
description: Current provisioning state
completedAt:
type: number
description: Timestamp when manual provisioning completed
required:
- state
type: object
description: >-
Present when deployment was created with
VERCEL_MANUAL_PROVISIONING=true. The deployment stays
in INITIALIZING until /continue is called.
meta:
additionalProperties:
type: string
type: object
originCacheRegion:
type: string
nodeVersion:
type: string
enum:
- 24.x
- 22.x
- 20.x
- 18.x
- 16.x
- 14.x
- 12.x
- 10.x
- 8.10.x
description: >-
If set it overrides the `projectSettings.nodeVersion`
for this deployment.
project:
properties:
id:
type: string
name:
type: string
framework:
nullable: true
type: string
required:
- id
- name
type: object
description: >-
The public project information associated with the
deployment.
prebuilt:
type: boolean
enum:
- false
- true
readySubstate:
type: string
enum:
- STAGED
- ROLLING
- PROMOTED
description: >-
Substate of deployment when readyState is 'READY'
Tracks whether or not deployment has seen production
traffic: - STAGED: never seen production traffic -
ROLLING: in the process of having production traffic
gradually transitioned. - PROMOTED: has seen
production traffic
regions:
items:
type: string
type: array
description: The regions the deployment exists in
example:
- sfo1
softDeletedByRetention:
type: boolean
enum:
- false
- true
description: >-
flag to indicate if the deployment was deleted by
retention policy
example: 'true'
source:
type: string
enum:
- api-trigger-git-deploy
- cli
- clone/repo
- git
- import
- import/repo
- redeploy
- v0-web
description: Where was the deployment created from
example: cli
target:
nullable: true
type: string
enum:
- staging
- production
description: >-
If defined, either `staging` if a staging alias in the
format `..now.sh` was assigned upon
creation, or `production` if the aliases from `alias`
were assigned. `null` value indicates the "preview"
deployment.
example: null
undeletedAt:
type: number
description: >-
A number containing the date when the deployment was
undeleted at milliseconds
example: 1540257589405
url:
type: string
description: A string with the unique URL of the deployment
example: my-instant-deployment-3ij3cxz9qr.now.sh
userConfiguredDeploymentId:
type: string
description: >-
Since January 2025 User-configured deployment ID for
skew protection with pre-built deployments. This is
set when users configure a custom deploymentId in
their next.config.js file. This allows Next.js to use
skew protection even when deployments are pre-built
outside of Vercel's build system.
example: abc123
version:
type: number
enum:
- 2
description: >-
The platform version that was used to create the
deployment.
example: 2
oidcTokenClaims:
properties:
iss:
type: string
sub:
type: string
scope:
type: string
aud:
type: string
owner:
type: string
owner_id:
type: string
project:
type: string
project_id:
type: string
environment:
type: string
plan:
type: string
required:
- aud
- environment
- iss
- owner
- owner_id
- project
- project_id
- scope
- sub
type: object
required:
- aliasAssigned
- bootedAt
- buildSkipped
- buildingAt
- createdAt
- creator
- id
- meta
- name
- public
- readyState
- regions
- status
- type
- url
- version
type: object
description: The deployment including only public information
'400':
description: One of the provided values in the request query is invalid.
'403':
description: You do not have permission to access this resource.
'404':
description: The deployment was not found
security:
- bearerToken: []
components:
schemas:
FlagJSONValue:
nullable: true
oneOf:
- type: string
- type: number
- items:
$ref: '#/components/schemas/FlagJSONValue'
type: array
description: >-
TODO: The following types will eventually be exported by a more
relevant package.
- additionalProperties:
$ref: '#/components/schemas/FlagJSONValue'
type: object
- type: boolean
enum:
- false
- true
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/domains-registrar/get-a-domain-order.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Get a domain order
> Get information about a domain order by its ID
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v1/registrar/orders/{orderId}
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/registrar/orders/{orderId}:
get:
tags:
- domains-registrar
summary: Get a domain order
description: Get information about a domain order by its ID
operationId: getOrder
parameters:
- name: orderId
in: path
schema:
$ref: '#/components/schemas/OrderId'
required: true
- name: teamId
in: query
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
required: false
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
required:
- orderId
- domains
- status
properties:
orderId:
$ref: '#/components/schemas/OrderId'
domains:
type: array
items:
anyOf:
- type: object
required:
- purchaseType
- autoRenew
- years
- domainName
- status
- price
properties:
purchaseType:
type: string
enum:
- purchase
autoRenew:
type: boolean
years:
type: number
description: >-
The number of years the domain is being
purchased for.
domainName:
$ref: '#/components/schemas/DomainName'
status:
type: string
enum:
- pending
- completed
- failed
- refunded
- refund-failed
price:
type: number
minimum: 0.01
error:
anyOf:
- anyOf:
- type: object
required:
- code
- details
properties:
code:
type: string
enum:
- unsupported-language-code
details:
type: object
required:
- detectedLanguageCode
properties:
detectedLanguageCode:
type: string
additionalProperties: false
additionalProperties: false
- type: object
required:
- code
properties:
code:
type: string
enum:
- client-transfer-prohibited
additionalProperties: false
- type: object
required:
- code
properties:
code:
type: string
enum:
- claims-notice-required
additionalProperties: false
- type: object
required:
- code
- details
properties:
code:
type: string
enum:
- cannot-transfer-in-until
details:
type: object
required:
- numDaysUntilTransferrable
properties:
numDaysUntilTransferrable:
type: number
additionalProperties: false
additionalProperties: false
- type: object
required:
- code
properties:
code:
type: string
enum:
- price-change
additionalProperties: false
- type: object
required:
- code
properties:
code:
type: string
details:
title: unknown
additionalProperties: false
additionalProperties: false
- type: object
required:
- purchaseType
- years
- domainName
- status
- price
properties:
purchaseType:
type: string
enum:
- renewal
years:
type: number
description: >-
The number of years the domain is being renewed
for.
domainName:
$ref: '#/components/schemas/DomainName'
status:
type: string
enum:
- pending
- completed
- failed
- refunded
- refund-failed
price:
type: number
minimum: 0.01
error:
anyOf:
- anyOf:
- type: object
required:
- code
- details
properties:
code:
type: string
enum:
- unsupported-language-code
details:
type: object
required:
- detectedLanguageCode
properties:
detectedLanguageCode:
type: string
additionalProperties: false
additionalProperties: false
- type: object
required:
- code
properties:
code:
type: string
enum:
- client-transfer-prohibited
additionalProperties: false
- type: object
required:
- code
properties:
code:
type: string
enum:
- claims-notice-required
additionalProperties: false
- type: object
required:
- code
- details
properties:
code:
type: string
enum:
- cannot-transfer-in-until
details:
type: object
required:
- numDaysUntilTransferrable
properties:
numDaysUntilTransferrable:
type: number
additionalProperties: false
additionalProperties: false
- type: object
required:
- code
properties:
code:
type: string
enum:
- price-change
additionalProperties: false
- type: object
required:
- code
properties:
code:
type: string
details:
title: unknown
additionalProperties: false
additionalProperties: false
- type: object
required:
- purchaseType
- autoRenew
- years
- domainName
- status
- price
properties:
purchaseType:
type: string
enum:
- transfer
autoRenew:
type: boolean
years:
type: number
description: >-
The number of years the domain is being
transferred for.
domainName:
$ref: '#/components/schemas/DomainName'
status:
type: string
enum:
- pending
- completed
- failed
- refunded
- refund-failed
price:
type: number
minimum: 0.01
error:
anyOf:
- anyOf:
- type: object
required:
- code
- details
properties:
code:
type: string
enum:
- unsupported-language-code
details:
type: object
required:
- detectedLanguageCode
properties:
detectedLanguageCode:
type: string
additionalProperties: false
additionalProperties: false
- type: object
required:
- code
properties:
code:
type: string
enum:
- client-transfer-prohibited
additionalProperties: false
- type: object
required:
- code
properties:
code:
type: string
enum:
- claims-notice-required
additionalProperties: false
- type: object
required:
- code
- details
properties:
code:
type: string
enum:
- cannot-transfer-in-until
details:
type: object
required:
- numDaysUntilTransferrable
properties:
numDaysUntilTransferrable:
type: number
additionalProperties: false
additionalProperties: false
- type: object
required:
- code
properties:
code:
type: string
enum:
- price-change
additionalProperties: false
- type: object
required:
- code
properties:
code:
type: string
details:
title: unknown
additionalProperties: false
additionalProperties: false
status:
type: string
enum:
- draft
- purchasing
- completed
- failed
error:
anyOf:
- anyOf:
- type: object
required:
- code
properties:
code:
type: string
enum:
- payment-failed
additionalProperties: false
- type: object
required:
- code
- details
properties:
code:
type: string
enum:
- tld-outage
details:
type: object
required:
- tlds
properties:
tlds:
type: array
items:
type: object
required:
- tldName
- endsAt
properties:
tldName:
type: string
endsAt:
type: string
additionalProperties: false
additionalProperties: false
additionalProperties: false
- type: object
required:
- code
- details
properties:
code:
type: string
enum:
- price-mismatch
details:
type: object
required:
- expectedPrice
properties:
expectedPrice:
type: number
actualPrice:
type: number
additionalProperties: false
additionalProperties: false
- type: object
required:
- code
properties:
code:
type: string
enum:
- unexpected-error
additionalProperties: false
- type: object
required:
- code
- details
properties:
code:
type: string
enum:
- claims-required
details:
type: object
required:
- message
- domainNames
properties:
message:
type: string
domainNames:
items:
type: string
type: array
additionalProperties: false
additionalProperties: false
- type: object
required:
- code
properties:
code:
type: string
enum:
- domain-mismatch
additionalProperties: false
- type: object
required:
- code
properties:
code:
type: string
details:
title: unknown
additionalProperties: false
additionalProperties: false
'400':
description: There was something wrong with the request
content:
application/json:
schema:
$ref: '#/components/schemas/HttpApiDecodeError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Unauthorized'
'403':
description: NotAuthorizedForScope
content:
application/json:
schema:
anyOf:
- $ref: '#/components/schemas/NotAuthorizedForScope'
- $ref: '#/components/schemas/Forbidden'
'404':
description: NotFound
content:
application/json:
schema:
$ref: '#/components/schemas/NotFound'
'429':
description: TooManyRequests
content:
application/json:
schema:
$ref: '#/components/schemas/TooManyRequests'
'500':
description: InternalServerError
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerError'
security:
- bearerToken: []
components:
schemas:
OrderId:
type: string
description: A valid order ID
DomainName:
type: string
description: A valid domain name
HttpApiDecodeError:
type: object
required:
- issues
- message
properties:
issues:
type: array
items:
$ref: '#/components/schemas/Issue'
message:
type: string
additionalProperties: false
description: The request did not match the expected schema
Unauthorized:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 401
code:
type: string
enum:
- unauthorized
message:
type: string
additionalProperties: false
NotAuthorizedForScope:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 403
code:
type: string
enum:
- not_authorized_for_scope
message:
type: string
additionalProperties: false
Forbidden:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 403
code:
type: string
enum:
- forbidden
message:
type: string
additionalProperties: false
NotFound:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 404
code:
type: string
enum:
- not_found
message:
type: string
additionalProperties: false
TooManyRequests:
type: object
required:
- status
- code
- message
- retryAfter
- limit
properties:
status:
type: number
enum:
- 429
code:
type: string
enum:
- too_many_requests
message:
type: string
retryAfter:
type: object
required:
- value
- str
properties:
value:
type: number
str:
type: string
additionalProperties: false
limit:
type: object
required:
- total
- remaining
- reset
properties:
total:
type: number
remaining:
type: number
reset:
type: number
additionalProperties: false
additionalProperties: false
InternalServerError:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 500
code:
type: string
enum:
- internal_server_error
message:
type: string
additionalProperties: false
Issue:
type: object
required:
- path
- message
properties:
path:
type: array
items:
$ref: '#/components/schemas/PropertyKey'
description: The path to the property where the issue occurred
message:
type: string
description: A descriptive message explaining the issue
additionalProperties: false
description: >-
Represents an error encountered while parsing a value to match the
schema
PropertyKey:
anyOf:
- type: string
- type: number
- type: object
required:
- _tag
- key
properties:
_tag:
type: string
enum:
- symbol
key:
type: string
additionalProperties: false
description: an object to be decoded into a globally shared symbol
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/domains/get-a-domains-configuration.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Get a Domain's configuration
> Get a Domain's configuration.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v6/domains/{domain}/config
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v6/domains/{domain}/config:
get:
tags:
- domains
summary: Get a Domain's configuration
description: Get a Domain's configuration.
operationId: getDomainConfig
parameters:
- name: domain
description: The name of the domain.
in: path
required: true
schema:
description: The name of the domain.
type: string
example: example.com
- name: projectIdOrName
description: >-
The project id or name that will be associated with the domain. Use
this when the domain is not yet associated with a project.
in: query
required: false
schema:
description: >-
The project id or name that will be associated with the domain.
Use this when the domain is not yet associated with a project.
type: string
- name: strict
description: >-
When true, the response will only include the nameservers assigned
directly to the specified domain. When false and there are no
nameservers assigned directly to the specified domain, the response
will include the nameservers of the domain's parent zone.
in: query
required: false
schema:
enum:
- 'true'
- 'false'
description: >-
When true, the response will only include the nameservers assigned
directly to the specified domain. When false and there are no
nameservers assigned directly to the specified domain, the
response will include the nameservers of the domain's parent zone.
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'200':
description: ''
content:
application/json:
schema:
properties:
configuredBy:
nullable: true
type: string
enum:
- CNAME
- A
- http
- dns-01
description: >-
How we see the domain's configuration. - `CNAME`: Domain
has a CNAME pointing to Vercel. - `A`: Domain's A record
is resolving to Vercel. - `http`: Domain is resolving to
Vercel but may be behind a Proxy. - `dns-01`: Domain is
not resolving to Vercel but dns-01 challenge is enabled. -
`null`: Domain is not resolving to Vercel.
acceptedChallenges:
items:
type: string
enum:
- dns-01
- http-01
description: >-
Which challenge types the domain can use for issuing
certs.
type: array
description: >-
Which challenge types the domain can use for issuing
certs.
recommendedIPv4:
items:
properties:
rank:
type: number
value:
items:
type: string
type: array
required:
- rank
- value
type: object
description: >-
Recommended IPv4s for the domain. rank=1 is the
preferred value(s) to use. Only using 1 ip value is
acceptable.
type: array
description: >-
Recommended IPv4s for the domain. rank=1 is the preferred
value(s) to use. Only using 1 ip value is acceptable.
recommendedCNAME:
items:
properties:
rank:
type: number
value:
type: string
required:
- rank
- value
type: object
description: >-
Recommended CNAMEs for the domain. rank=1 is the
preferred value to use.
type: array
description: >-
Recommended CNAMEs for the domain. rank=1 is the preferred
value to use.
misconfigured:
type: boolean
enum:
- false
- true
description: >-
Whether or not the domain is configured AND we can
automatically generate a TLS certificate.
required:
- acceptedChallenges
- configuredBy
- misconfigured
- recommendedCNAME
- recommendedIPv4
type: object
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/domains-registrar/get-a-domains-transfer-status.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Get a domain's transfer status
> Get the transfer status for a domain
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v1/registrar/domains/{domain}/transfer
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/registrar/domains/{domain}/transfer:
get:
tags:
- domains-registrar
summary: Get a domain's transfer status
description: Get the transfer status for a domain
operationId: getDomainTransferIn
parameters:
- name: domain
in: path
schema:
$ref: '#/components/schemas/DomainName'
required: true
- name: teamId
in: query
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
required: false
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
required:
- status
properties:
status:
type: string
enum:
- canceled
- canceled_pending_refund
- completed
- created
- failed
- pending
- pending_insert
- pending_new_auth_code
- pending_transfer
- pending_unlock
- pending_registry_unlock
- rejected
- submitting_transfer
additionalProperties: false
'400':
description: There was something wrong with the request
content:
application/json:
schema:
$ref: '#/components/schemas/HttpApiDecodeError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Unauthorized'
'403':
description: NotAuthorizedForScope
content:
application/json:
schema:
anyOf:
- $ref: '#/components/schemas/NotAuthorizedForScope'
- $ref: '#/components/schemas/Forbidden'
'404':
description: NotFound
content:
application/json:
schema:
$ref: '#/components/schemas/NotFound'
'429':
description: TooManyRequests
content:
application/json:
schema:
$ref: '#/components/schemas/TooManyRequests'
'500':
description: InternalServerError
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerError'
security:
- bearerToken: []
components:
schemas:
DomainName:
type: string
description: A valid domain name
HttpApiDecodeError:
type: object
required:
- issues
- message
properties:
issues:
type: array
items:
$ref: '#/components/schemas/Issue'
message:
type: string
additionalProperties: false
description: The request did not match the expected schema
Unauthorized:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 401
code:
type: string
enum:
- unauthorized
message:
type: string
additionalProperties: false
NotAuthorizedForScope:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 403
code:
type: string
enum:
- not_authorized_for_scope
message:
type: string
additionalProperties: false
Forbidden:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 403
code:
type: string
enum:
- forbidden
message:
type: string
additionalProperties: false
NotFound:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 404
code:
type: string
enum:
- not_found
message:
type: string
additionalProperties: false
TooManyRequests:
type: object
required:
- status
- code
- message
- retryAfter
- limit
properties:
status:
type: number
enum:
- 429
code:
type: string
enum:
- too_many_requests
message:
type: string
retryAfter:
type: object
required:
- value
- str
properties:
value:
type: number
str:
type: string
additionalProperties: false
limit:
type: object
required:
- total
- remaining
- reset
properties:
total:
type: number
remaining:
type: number
reset:
type: number
additionalProperties: false
additionalProperties: false
InternalServerError:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 500
code:
type: string
enum:
- internal_server_error
message:
type: string
additionalProperties: false
Issue:
type: object
required:
- path
- message
properties:
path:
type: array
items:
$ref: '#/components/schemas/PropertyKey'
description: The path to the property where the issue occurred
message:
type: string
description: A descriptive message explaining the issue
additionalProperties: false
description: >-
Represents an error encountered while parsing a value to match the
schema
PropertyKey:
anyOf:
- type: string
- type: number
- type: object
required:
- _tag
- key
properties:
_tag:
type: string
enum:
- symbol
key:
type: string
additionalProperties: false
description: an object to be decoded into a globally shared symbol
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/webhooks/get-a-list-of-webhooks.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Get a list of webhooks
> Get a list of webhooks
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v1/webhooks
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/webhooks:
get:
tags:
- webhooks
summary: Get a list of webhooks
description: Get a list of webhooks
operationId: getWebhooks
parameters:
- name: projectId
in: query
schema:
pattern: ^[a-zA-z0-9_]+$
type: string
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'200':
description: ''
content:
application/json:
schema:
oneOf:
- items:
properties:
projectsMetadata:
nullable: true
items:
properties:
id:
type: string
name:
type: string
framework:
nullable: true
type: string
enum:
- blitzjs
- nextjs
- gatsby
- remix
- react-router
- astro
- hexo
- eleventy
- docusaurus-2
- docusaurus
- preact
- solidstart-1
- solidstart
- dojo
- ember
- vue
- scully
- ionic-angular
- angular
- polymer
- svelte
- sveltekit
- sveltekit-1
- ionic-react
- create-react-app
- gridsome
- umijs
- sapper
- saber
- stencil
- nuxtjs
- redwoodjs
- hugo
- jekyll
- brunch
- middleman
- zola
- hydrogen
- vite
- tanstack-start
- vitepress
- vuepress
- parcel
- fastapi
- flask
- fasthtml
- sanity-v3
- sanity
- storybook
- nitro
- hono
- express
- h3
- koa
- nestjs
- elysia
- fastify
- xmcp
- python
- ruby
- rust
- node
- services
latestDeployment:
type: string
required:
- id
- name
type: object
type: array
events:
items:
type: string
enum:
- budget.reached
- domain.created
- domain.dns.records.changed
- domain.transfer-in.started
- domain.transfer-in.completed
- domain.transfer-in.failed
- domain.certificate.add
- domain.certificate.add.failed
- domain.certificate.renew
- domain.certificate.renew.failed
- domain.certificate.deleted
- domain.renewal
- domain.renewal.failed
- domain.auto-renew.changed
- deployment.created
- deployment.cleanup
- deployment.error
- deployment.canceled
- deployment.succeeded
- deployment.ready
- deployment.check-rerequested
- deployment.promoted
- deployment.integration.action.start
- deployment.integration.action.cancel
- deployment.integration.action.cleanup
- deployment.checkrun.start
- deployment.checkrun.cancel
- edge-config.created
- edge-config.deleted
- edge-config.items.updated
- firewall.attack
- firewall.system-rule-anomaly
- firewall.custom-rule-anomaly
- alerts.triggered
- integration-configuration.permission-upgraded
- integration-configuration.removed
- integration-configuration.scope-change-confirmed
- integration-configuration.transferred
- integration-resource.project-connected
- integration-resource.project-disconnected
- project.created
- project.removed
- project.renamed
- project.domain.created
- project.domain.updated
- project.domain.deleted
- project.domain.verified
- project.domain.unverified
- project.domain.moved
- project.rolling-release.started
- project.rolling-release.aborted
- project.rolling-release.completed
- project.rolling-release.approved
- deployment.checks.failed
- deployment.checks.succeeded
- deployment-checks-completed
- deployment-ready
- deployment-prepared
- deployment-error
- deployment-check-rerequested
- deployment-canceled
- project-created
- project-removed
- domain-created
- deployment
- integration-configuration-permission-updated
- integration-configuration-removed
- integration-configuration-scope-change-confirmed
- marketplace.member.changed
- marketplace.invoice.created
- marketplace.invoice.paid
- marketplace.invoice.notpaid
- marketplace.invoice.refunded
- ai-gateway.balance-depleted
- ai-gateway.auto-reload.limit-reached
- observability.anomaly
- observability.anomaly-error
- observability.usage-anomaly
- observability.error-anomaly
- botid.anomaly
- test-webhook
example: deployment.created
description: The webhooks events
x-speakeasy-enums:
budget.reached: BudgetReached
domain.created: DomainCreated
domain.dns.records.changed: DomainDnsRecordsChanged
domain.transfer-in.started: DomainTransferInStarted
domain.transfer-in.completed: DomainTransferInCompleted
domain.transfer-in.failed: DomainTransferInFailed
domain.certificate.add: DomainCertificateAdd
domain.certificate.add.failed: DomainCertificateAddFailed
domain.certificate.renew: DomainCertificateRenew
domain.certificate.renew.failed: DomainCertificateRenewFailed
domain.certificate.deleted: DomainCertificateDeleted
domain.renewal: DomainRenewal
domain.renewal.failed: DomainRenewalFailed
domain.auto-renew.changed: DomainAutoRenewChanged
deployment.created: DeploymentCreated
deployment.cleanup: DeploymentCleanup
deployment.error: DeploymentError
deployment.canceled: DeploymentCanceled
deployment.succeeded: DeploymentSucceeded
deployment.ready: DeploymentReady
deployment.check-rerequested: DeploymentCheckRerequested
deployment.promoted: DeploymentPromoted
deployment.integration.action.start: DeploymentIntegrationActionStart
deployment.integration.action.cancel: DeploymentIntegrationActionCancel
deployment.integration.action.cleanup: DeploymentIntegrationActionCleanup
deployment.checkrun.start: DeploymentCheckrunStart
deployment.checkrun.cancel: DeploymentCheckrunCancel
edge-config.created: EdgeConfigCreated
edge-config.deleted: EdgeConfigDeleted
edge-config.items.updated: EdgeConfigItemsUpdated
firewall.attack: FirewallAttack
integration-configuration.permission-upgraded: IntegrationConfigurationPermissionUpgraded
integration-configuration.removed: IntegrationConfigurationRemoved
integration-configuration.scope-change-confirmed: IntegrationConfigurationScopeChangeConfirmed
integration-resource.project-connected: IntegrationResourceProjectConnected
integration-resource.project-disconnected: IntegrationResourceProjectDisconnected
project.created: ProjectCreated
project.removed: ProjectRemoved
project.domain.created: ProjectDomainCreated
project.domain.updated: ProjectDomainUpdated
project.domain.deleted: ProjectDomainDeleted
project.domain.verified: ProjectDomainVerified
project.domain.unverified: ProjectDomainUnverified
project.domain.moved: ProjectDomainMoved
project.rolling-release.started: ProjectRollingReleaseStarted
project.rolling-release.aborted: ProjectRollingReleaseAborted
project.rolling-release.completed: ProjectRollingReleaseCompleted
project.rolling-release.approved: ProjectRollingReleaseApproved
deployment.checks.failed: DeploymentChecksFailed
deployment.checks.succeeded: DeploymentChecksSucceeded
deployment-checks-completed: DeploymentChecksCompleted
deployment-ready: DeploymentReadyHyphen
deployment-prepared: DeploymentPreparedHyphen
deployment-error: DeploymentErrorHyphen
deployment-check-rerequested: DeploymentCheckRerequestedHyphen
deployment-canceled: DeploymentCanceledHyphen
project-created: ProjectCreatedHyphen
project-removed: ProjectRemovedHyphen
domain-created: DomainCreatedHyphen
deployment: Deployment
integration-configuration-permission-updated: IntegrationConfigurationPermissionUpdatedHyphen
integration-configuration-removed: IntegrationConfigurationRemovedHyphen
integration-configuration-scope-change-confirmed: >-
IntegrationConfigurationScopeChangeConfirmedHyphen
marketplace.invoice.created: MarketplaceInvoiceCreated
marketplace.invoice.paid: MarketplaceInvoicePaid
marketplace.invoice.notpaid: MarketplaceInvoiceNotpaid
marketplace.invoice.refunded: MarketplaceInvoiceRefunded
observability.anomaly: ObservabilityAnomaly
observability.anomaly-error: ObservabilityAnomalyError
test-webhook: TestWebhook
type: array
description: The webhooks events
example: deployment.created
id:
type: string
description: The webhook id
example: account_hook_GflD6EYyo7F4ViYS
url:
type: string
description: A string with the URL of the webhook
example: https://my-webhook.com
ownerId:
type: string
description: The unique ID of the team the webhook belongs to
example: ZspSRT4ljIEEmMHgoDwKWDei
createdAt:
type: number
description: >-
A number containing the date when the webhook was
created in in milliseconds
example: 1567024758130
updatedAt:
type: number
description: >-
A number containing the date when the webhook was
updated in in milliseconds
example: 1567024758130
projectIds:
items:
type: string
type: array
description: >-
The ID of the projects the webhook is associated
with
example:
- prj_12HKQaOmR5t5Uy6vdcQsNIiZgHGB
required:
- createdAt
- events
- id
- ownerId
- projectsMetadata
- updatedAt
- url
type: object
type: array
- items:
properties:
events:
items:
type: string
enum:
- budget.reached
- domain.created
- domain.dns.records.changed
- domain.transfer-in.started
- domain.transfer-in.completed
- domain.transfer-in.failed
- domain.certificate.add
- domain.certificate.add.failed
- domain.certificate.renew
- domain.certificate.renew.failed
- domain.certificate.deleted
- domain.renewal
- domain.renewal.failed
- domain.auto-renew.changed
- deployment.created
- deployment.cleanup
- deployment.error
- deployment.canceled
- deployment.succeeded
- deployment.ready
- deployment.check-rerequested
- deployment.promoted
- deployment.integration.action.start
- deployment.integration.action.cancel
- deployment.integration.action.cleanup
- deployment.checkrun.start
- deployment.checkrun.cancel
- edge-config.created
- edge-config.deleted
- edge-config.items.updated
- firewall.attack
- firewall.system-rule-anomaly
- firewall.custom-rule-anomaly
- alerts.triggered
- integration-configuration.permission-upgraded
- integration-configuration.removed
- integration-configuration.scope-change-confirmed
- integration-configuration.transferred
- integration-resource.project-connected
- integration-resource.project-disconnected
- project.created
- project.removed
- project.renamed
- project.domain.created
- project.domain.updated
- project.domain.deleted
- project.domain.verified
- project.domain.unverified
- project.domain.moved
- project.rolling-release.started
- project.rolling-release.aborted
- project.rolling-release.completed
- project.rolling-release.approved
- deployment.checks.failed
- deployment.checks.succeeded
- deployment-checks-completed
- deployment-ready
- deployment-prepared
- deployment-error
- deployment-check-rerequested
- deployment-canceled
- project-created
- project-removed
- domain-created
- deployment
- integration-configuration-permission-updated
- integration-configuration-removed
- integration-configuration-scope-change-confirmed
- marketplace.member.changed
- marketplace.invoice.created
- marketplace.invoice.paid
- marketplace.invoice.notpaid
- marketplace.invoice.refunded
- ai-gateway.balance-depleted
- ai-gateway.auto-reload.limit-reached
- observability.anomaly
- observability.anomaly-error
- observability.usage-anomaly
- observability.error-anomaly
- botid.anomaly
- test-webhook
example: deployment.created
description: The webhooks events
x-speakeasy-enums:
budget.reached: BudgetReached
domain.created: DomainCreated
domain.dns.records.changed: DomainDnsRecordsChanged
domain.transfer-in.started: DomainTransferInStarted
domain.transfer-in.completed: DomainTransferInCompleted
domain.transfer-in.failed: DomainTransferInFailed
domain.certificate.add: DomainCertificateAdd
domain.certificate.add.failed: DomainCertificateAddFailed
domain.certificate.renew: DomainCertificateRenew
domain.certificate.renew.failed: DomainCertificateRenewFailed
domain.certificate.deleted: DomainCertificateDeleted
domain.renewal: DomainRenewal
domain.renewal.failed: DomainRenewalFailed
domain.auto-renew.changed: DomainAutoRenewChanged
deployment.created: DeploymentCreated
deployment.cleanup: DeploymentCleanup
deployment.error: DeploymentError
deployment.canceled: DeploymentCanceled
deployment.succeeded: DeploymentSucceeded
deployment.ready: DeploymentReady
deployment.check-rerequested: DeploymentCheckRerequested
deployment.promoted: DeploymentPromoted
deployment.integration.action.start: DeploymentIntegrationActionStart
deployment.integration.action.cancel: DeploymentIntegrationActionCancel
deployment.integration.action.cleanup: DeploymentIntegrationActionCleanup
deployment.checkrun.start: DeploymentCheckrunStart
deployment.checkrun.cancel: DeploymentCheckrunCancel
edge-config.created: EdgeConfigCreated
edge-config.deleted: EdgeConfigDeleted
edge-config.items.updated: EdgeConfigItemsUpdated
firewall.attack: FirewallAttack
integration-configuration.permission-upgraded: IntegrationConfigurationPermissionUpgraded
integration-configuration.removed: IntegrationConfigurationRemoved
integration-configuration.scope-change-confirmed: IntegrationConfigurationScopeChangeConfirmed
integration-resource.project-connected: IntegrationResourceProjectConnected
integration-resource.project-disconnected: IntegrationResourceProjectDisconnected
project.created: ProjectCreated
project.removed: ProjectRemoved
project.domain.created: ProjectDomainCreated
project.domain.updated: ProjectDomainUpdated
project.domain.deleted: ProjectDomainDeleted
project.domain.verified: ProjectDomainVerified
project.domain.unverified: ProjectDomainUnverified
project.domain.moved: ProjectDomainMoved
project.rolling-release.started: ProjectRollingReleaseStarted
project.rolling-release.aborted: ProjectRollingReleaseAborted
project.rolling-release.completed: ProjectRollingReleaseCompleted
project.rolling-release.approved: ProjectRollingReleaseApproved
deployment.checks.failed: DeploymentChecksFailed
deployment.checks.succeeded: DeploymentChecksSucceeded
deployment-checks-completed: DeploymentChecksCompleted
deployment-ready: DeploymentReadyHyphen
deployment-prepared: DeploymentPreparedHyphen
deployment-error: DeploymentErrorHyphen
deployment-check-rerequested: DeploymentCheckRerequestedHyphen
deployment-canceled: DeploymentCanceledHyphen
project-created: ProjectCreatedHyphen
project-removed: ProjectRemovedHyphen
domain-created: DomainCreatedHyphen
deployment: Deployment
integration-configuration-permission-updated: IntegrationConfigurationPermissionUpdatedHyphen
integration-configuration-removed: IntegrationConfigurationRemovedHyphen
integration-configuration-scope-change-confirmed: >-
IntegrationConfigurationScopeChangeConfirmedHyphen
marketplace.invoice.created: MarketplaceInvoiceCreated
marketplace.invoice.paid: MarketplaceInvoicePaid
marketplace.invoice.notpaid: MarketplaceInvoiceNotpaid
marketplace.invoice.refunded: MarketplaceInvoiceRefunded
observability.anomaly: ObservabilityAnomaly
observability.anomaly-error: ObservabilityAnomalyError
test-webhook: TestWebhook
type: array
description: The webhooks events
example: deployment.created
id:
type: string
description: The webhook id
example: account_hook_GflD6EYyo7F4ViYS
url:
type: string
description: A string with the URL of the webhook
example: https://my-webhook.com
ownerId:
type: string
description: The unique ID of the team the webhook belongs to
example: ZspSRT4ljIEEmMHgoDwKWDei
createdAt:
type: number
description: >-
A number containing the date when the webhook was
created in in milliseconds
example: 1567024758130
updatedAt:
type: number
description: >-
A number containing the date when the webhook was
updated in in milliseconds
example: 1567024758130
projectIds:
items:
type: string
type: array
description: >-
The ID of the projects the webhook is associated
with
example:
- prj_12HKQaOmR5t5Uy6vdcQsNIiZgHGB
required:
- createdAt
- events
- id
- ownerId
- updatedAt
- url
type: object
type: array
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/projects/get-a-project-domain.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Get a project domain
> Get project domain by project id/name and domain name.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v9/projects/{idOrName}/domains/{domain}
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v9/projects/{idOrName}/domains/{domain}:
get:
tags:
- projects
summary: Get a project domain
description: Get project domain by project id/name and domain name.
operationId: getProjectDomain
parameters:
- name: idOrName
description: The unique project identifier or the project name
in: path
required: true
schema:
description: The unique project identifier or the project name
type: string
- name: domain
description: The project domain name
in: path
required: true
schema:
description: The project domain name
type: string
example: www.example.com
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'200':
description: ''
content:
application/json:
schema:
properties:
name:
type: string
apexName:
type: string
projectId:
type: string
redirect:
nullable: true
type: string
redirectStatusCode:
nullable: true
type: number
enum:
- 301
- 302
- 307
- 308
gitBranch:
nullable: true
type: string
customEnvironmentId:
nullable: true
type: string
updatedAt:
type: number
createdAt:
type: number
verified:
type: boolean
enum:
- false
- true
description: >-
`true` if the domain is verified for use with the project.
If `false` it will not be used as an alias on this project
until the challenge in `verification` is completed.
verification:
items:
properties:
type:
type: string
domain:
type: string
value:
type: string
reason:
type: string
required:
- domain
- reason
- type
- value
type: object
description: >-
A list of verification challenges, one of which must be
completed to verify the domain for use on the project.
After the challenge is complete `POST
/projects/:idOrName/domains/:domain/verify` to verify
the domain. Possible challenges: - If `verification.type
= TXT` the `verification.domain` will be checked for a
TXT record matching `verification.value`.
type: array
description: >-
A list of verification challenges, one of which must be
completed to verify the domain for use on the project.
After the challenge is complete `POST
/projects/:idOrName/domains/:domain/verify` to verify the
domain. Possible challenges: - If `verification.type =
TXT` the `verification.domain` will be checked for a TXT
record matching `verification.value`.
required:
- apexName
- name
- projectId
- verified
type: object
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/checks/get-a-single-check.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Get a single check
> Return a detailed response for a single check.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v1/deployments/{deploymentId}/checks/{checkId}
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/deployments/{deploymentId}/checks/{checkId}:
get:
tags:
- checks
summary: Get a single check
description: Return a detailed response for a single check.
operationId: getCheck
parameters:
- name: deploymentId
description: The deployment to get the check for.
in: path
required: true
schema:
description: The deployment to get the check for.
example: dpl_2qn7PZrx89yxY34vEZPD31Y9XVj6
type: string
- name: checkId
description: The check to fetch
in: path
required: true
schema:
description: The check to fetch
example: check_2qn7PZrx89yxY34vEZPD31Y9XVj6
type: string
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'200':
description: ''
content:
application/json:
schema:
properties:
id:
type: string
name:
type: string
path:
type: string
status:
type: string
enum:
- registered
- running
- completed
conclusion:
type: string
enum:
- canceled
- failed
- neutral
- succeeded
- skipped
- stale
blocking:
type: boolean
enum:
- false
- true
output:
properties:
metrics:
properties:
FCP:
properties:
value:
nullable: true
type: number
previousValue:
type: number
source:
type: string
enum:
- web-vitals
required:
- source
- value
type: object
LCP:
properties:
value:
nullable: true
type: number
previousValue:
type: number
source:
type: string
enum:
- web-vitals
required:
- source
- value
type: object
CLS:
properties:
value:
nullable: true
type: number
previousValue:
type: number
source:
type: string
enum:
- web-vitals
required:
- source
- value
type: object
TBT:
properties:
value:
nullable: true
type: number
previousValue:
type: number
source:
type: string
enum:
- web-vitals
required:
- source
- value
type: object
virtualExperienceScore:
properties:
value:
nullable: true
type: number
previousValue:
type: number
source:
type: string
enum:
- web-vitals
required:
- source
- value
type: object
required:
- CLS
- FCP
- LCP
- TBT
type: object
type: object
detailsUrl:
type: string
integrationId:
type: string
deploymentId:
type: string
externalId:
type: string
createdAt:
type: number
updatedAt:
type: number
startedAt:
type: number
completedAt:
type: number
rerequestable:
type: boolean
enum:
- false
- true
required:
- blocking
- createdAt
- deploymentId
- id
- integrationId
- name
- status
- updatedAt
type: object
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: >-
You do not have permission to access this resource.
The provided token is not from an OAuth2 Client that created the
Check
'404':
description: |-
Check was not found
The deployment was not found
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/teams/get-a-team.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Get a Team
> Get information for the Team specified by the `teamId` parameter.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v2/teams/{teamId}
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v2/teams/{teamId}:
get:
tags:
- teams
summary: Get a Team
description: Get information for the Team specified by the `teamId` parameter.
operationId: getTeam
parameters:
- name: slug
in: query
schema:
type: string
example: my-team-url-slug
- description: The Team identifier to perform the request on behalf of.
in: path
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
required: true
responses:
'200':
description: The requested team
content:
application/json:
schema:
$ref: '#/components/schemas/Team'
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: |-
You do not have permission to access this resource.
Not authorized to access the team.
'404':
description: Team was not found.
security:
- bearerToken: []
components:
schemas:
Team:
properties:
connect:
properties:
enabled:
type: boolean
enum:
- false
- true
type: object
creatorId:
type: string
description: The ID of the user who created the Team.
example: R6efeCJQ2HKXywuasPDc0fOWB
updatedAt:
type: number
description: Timestamp (in milliseconds) of when the Team was last updated.
example: 1611796915677
emailDomain:
nullable: true
type: string
description: >-
Hostname that'll be matched with emails on sign-up to automatically
join the Team.
example: example.com
saml:
properties:
connection:
properties:
type:
type: string
description: The Identity Provider "type", for example Okta.
example: OktaSAML
status:
type: string
description: Current status of the connection.
example: linked
state:
type: string
description: Current state of the connection.
example: active
connectedAt:
type: number
description: >-
Timestamp (in milliseconds) of when the configuration was
connected.
example: 1611796915677
lastReceivedWebhookEvent:
type: number
description: >-
Timestamp (in milliseconds) of when the last webhook event
was received from WorkOS.
example: 1611796915677
lastSyncedAt:
type: number
description: >-
Timestamp (in milliseconds) of when the last directory sync
was performed.
example: 1611796915677
syncState:
type: string
enum:
- SETUP
- ACTIVE
description: >-
Controls whether directory sync events are processed. -
'SETUP': Directory connected but role mappings not yet
configured. Events are acknowledged but not processed. -
'ACTIVE': Fully configured. Events are processed normally. -
undefined: Legacy directory (pre-feature), treat as 'ACTIVE'
for backwards compatibility.
required:
- connectedAt
- state
- status
- type
type: object
description: Information for the SAML Single Sign-On configuration.
directory:
properties:
type:
type: string
description: The Identity Provider "type", for example Okta.
example: OktaSAML
state:
type: string
description: Current state of the connection.
example: active
connectedAt:
type: number
description: >-
Timestamp (in milliseconds) of when the configuration was
connected.
example: 1611796915677
lastReceivedWebhookEvent:
type: number
description: >-
Timestamp (in milliseconds) of when the last webhook event
was received from WorkOS.
example: 1611796915677
lastSyncedAt:
type: number
description: >-
Timestamp (in milliseconds) of when the last directory sync
was performed.
example: 1611796915677
syncState:
type: string
enum:
- SETUP
- ACTIVE
description: >-
Controls whether directory sync events are processed. -
'SETUP': Directory connected but role mappings not yet
configured. Events are acknowledged but not processed. -
'ACTIVE': Fully configured. Events are processed normally. -
undefined: Legacy directory (pre-feature), treat as 'ACTIVE'
for backwards compatibility.
required:
- connectedAt
- state
- type
type: object
description: Information for the Directory Sync configuration.
enforced:
type: boolean
enum:
- false
- true
description: >-
When `true`, interactions with the Team **must** be done with an
authentication token that has been authenticated with the Team's
SAML Single Sign-On provider.
defaultRedirectUri:
type: string
enum:
- vercel.com
- v0.dev
- v0.app
description: >-
The default redirect URI to use after successful SAML
authentication.
roles:
additionalProperties:
oneOf:
- properties:
accessGroupId:
type: string
required:
- accessGroupId
type: object
description: >-
When "Directory Sync" is configured, this object contains
a mapping of which Directory Group (by ID) should be
assigned to which Vercel Team "role".
- type: string
enum:
- OWNER
- MEMBER
- DEVELOPER
- SECURITY
- BILLING
- VIEWER
- VIEWER_FOR_PLUS
- CONTRIBUTOR
type: object
description: >-
When "Directory Sync" is configured, this object contains a
mapping of which Directory Group (by ID) should be assigned to
which Vercel Team "role".
required:
- enforced
type: object
description: >-
When "Single Sign-On (SAML)" is configured, this object contains
information regarding the configuration of the Identity Provider
(IdP).
inviteCode:
type: string
description: >-
Code that can be used to join this Team. Only visible to Team
owners.
example: hasihf9e89
description:
nullable: true
type: string
description: A short description of the Team.
example: Our mission is to make cloud computing accessible to everyone.
defaultRoles:
properties:
teamRoles:
items:
type: string
enum:
- OWNER
- MEMBER
- DEVELOPER
- SECURITY
- BILLING
- VIEWER
- VIEWER_FOR_PLUS
- CONTRIBUTOR
type: array
teamPermissions:
items:
type: string
enum:
- IntegrationManager
- CreateProject
- FullProductionDeployment
- UsageViewer
- EnvVariableManager
- EnvironmentManager
- V0Builder
- V0Chatter
- V0Viewer
type: array
type: object
description: Default roles for the team.
stagingPrefix:
type: string
description: The prefix that is prepended to automatic aliases.
resourceConfig:
properties:
concurrentBuilds:
type: number
description: The total amount of concurrent builds that can be used.
elasticConcurrencyEnabled:
type: boolean
enum:
- false
- true
description: >-
Whether every build for this team / user has elastic concurrency
enabled automatically.
edgeConfigSize:
type: number
description: >-
The maximum size in kilobytes of an Edge Config. Only specified
if a custom limit is set.
edgeConfigs:
type: number
description: The maximum number of edge configs an account can create.
kvDatabases:
type: number
description: The maximum number of kv databases an account can create.
blobStores:
type: number
description: The maximum number of blob stores an account can create.
postgresDatabases:
type: number
description: The maximum number of postgres databases an account can create.
buildEntitlements:
properties:
enhancedBuilds:
type: boolean
enum:
- false
- true
type: object
buildMachine:
properties:
default:
type: string
enum:
- standard
- enhanced
- turbo
description: Default build machine type for new builds
type: object
description: Build machine configuration
type: object
previewDeploymentSuffix:
nullable: true
type: string
description: The hostname that is current set as preview deployment suffix.
example: example.dev
platform:
type: boolean
enum:
- false
- true
description: Whether the team is a platform team.
example: true
disableHardAutoBlocks:
oneOf:
- type: number
- type: boolean
enum:
- false
- true
remoteCaching:
properties:
enabled:
type: boolean
enum:
- false
- true
type: object
description: Is remote caching enabled for this team
defaultDeploymentProtection:
properties:
passwordProtection:
nullable: true
properties:
deploymentType:
type: string
required:
- deploymentType
type: object
ssoProtection:
nullable: true
properties:
deploymentType:
type: string
required:
- deploymentType
type: object
type: object
description: >-
Default deployment protection for this team null indicates
protection is disabled
defaultExpirationSettings:
properties:
expirationDays:
type: number
description: >-
Number of days to keep non-production deployments (mostly
preview deployments) before soft deletion.
expirationDaysProduction:
type: number
description: >-
Number of days to keep production deployments before soft
deletion.
expirationDaysCanceled:
type: number
description: >-
Number of days to keep canceled deployments before soft
deletion.
expirationDaysErrored:
type: number
description: Number of days to keep errored deployments before soft deletion.
deploymentsToKeep:
type: number
description: >-
Minimum number of production deployments to keep for this
project, even if they are over the production expiration limit.
type: object
description: Default deployment expiration settings for this team
enablePreviewFeedback:
nullable: true
type: string
enum:
- default
- 'on'
- 'off'
- on-force
- off-force
- default-force
description: Whether toolbar is enabled on preview deployments
enableProductionFeedback:
nullable: true
type: string
enum:
- default
- 'on'
- 'off'
- on-force
- off-force
- default-force
description: Whether toolbar is enabled on production deployments
sensitiveEnvironmentVariablePolicy:
nullable: true
type: string
enum:
- default
- 'on'
- 'off'
description: Sensitive environment variable policy for this team
hideIpAddresses:
nullable: true
type: boolean
enum:
- false
- true
description: >-
Indicates if IP addresses should be accessible in observability
(o11y) tooling
hideIpAddressesInLogDrains:
nullable: true
type: boolean
enum:
- false
- true
description: Indicates if IP addresses should be accessible in log drains
ipBuckets:
items:
properties:
bucket:
type: string
supportUntil:
type: number
required:
- bucket
type: object
type: array
strictDeploymentProtectionSettings:
properties:
enabled:
type: boolean
enum:
- false
- true
updatedAt:
type: number
required:
- enabled
- updatedAt
type: object
description: >-
When enabled, deployment protection settings require stricter
permissions (owner-only).
nsnbConfig:
properties:
preference:
type: string
enum:
- auto-approval
- manual-approval
- block
required:
- preference
type: object
description: NSNB configuration for the team.
id:
type: string
description: The Team's unique identifier.
example: team_nllPyCtREAqxxdyFKbbMDlxd
slug:
type: string
description: The Team's slug, which is unique across the Vercel platform.
example: my-team
name:
nullable: true
type: string
description: >-
Name associated with the Team account, or `null` if none has been
provided.
example: My Team
avatar:
nullable: true
type: string
description: The ID of the file used as avatar for this Team.
example: 6eb07268bcfadd309905ffb1579354084c24655c
membership:
properties:
uid:
type: string
entitlements:
items:
properties:
entitlement:
type: string
required:
- entitlement
type: object
type: array
teamId:
type: string
confirmed:
type: boolean
enum:
- true
accessRequestedAt:
type: number
role:
type: string
enum:
- OWNER
- MEMBER
- DEVELOPER
- SECURITY
- BILLING
- VIEWER
- VIEWER_FOR_PLUS
- CONTRIBUTOR
teamRoles:
items:
type: string
enum:
- OWNER
- MEMBER
- DEVELOPER
- SECURITY
- BILLING
- VIEWER
- VIEWER_FOR_PLUS
- CONTRIBUTOR
type: array
teamPermissions:
items:
type: string
enum:
- IntegrationManager
- CreateProject
- FullProductionDeployment
- UsageViewer
- EnvVariableManager
- EnvironmentManager
- V0Builder
- V0Chatter
- V0Viewer
type: array
createdAt:
type: number
created:
type: number
joinedFrom:
properties:
origin:
type: string
enum:
- link
- saml
- mail
- import
- teams
- github
- gitlab
- bitbucket
- dsync
- feedback
- organization-teams
- nsnb-auto-approve
commitId:
type: string
repoId:
type: string
repoPath:
type: string
gitUserId:
oneOf:
- type: string
- type: number
gitUserLogin:
type: string
ssoUserId:
type: string
ssoConnectedAt:
type: number
idpUserId:
type: string
dsyncUserId:
type: string
dsyncConnectedAt:
type: number
required:
- origin
type: object
required:
- confirmed
- created
- createdAt
- role
type: object
description: The membership of the authenticated User in relation to the Team.
createdAt:
type: number
description: UNIX timestamp (in milliseconds) when the Team was created.
example: 1630748523395
required:
- avatar
- createdAt
- creatorId
- description
- id
- membership
- name
- slug
- stagingPrefix
- updatedAt
type: object
description: Data representing a Team.
additionalProperties: true
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/webhooks/get-a-webhook.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Get a webhook
> Get a webhook
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v1/webhooks/{id}
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/webhooks/{id}:
get:
tags:
- webhooks
summary: Get a webhook
description: Get a webhook
operationId: getWebhook
parameters:
- name: id
in: path
required: true
schema:
type: string
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'200':
description: ''
content:
application/json:
schema:
properties:
events:
items:
type: string
enum:
- budget.reached
- domain.created
- domain.dns.records.changed
- domain.transfer-in.started
- domain.transfer-in.completed
- domain.transfer-in.failed
- domain.certificate.add
- domain.certificate.add.failed
- domain.certificate.renew
- domain.certificate.renew.failed
- domain.certificate.deleted
- domain.renewal
- domain.renewal.failed
- domain.auto-renew.changed
- deployment.created
- deployment.cleanup
- deployment.error
- deployment.canceled
- deployment.succeeded
- deployment.ready
- deployment.check-rerequested
- deployment.promoted
- deployment.integration.action.start
- deployment.integration.action.cancel
- deployment.integration.action.cleanup
- deployment.checkrun.start
- deployment.checkrun.cancel
- edge-config.created
- edge-config.deleted
- edge-config.items.updated
- firewall.attack
- firewall.system-rule-anomaly
- firewall.custom-rule-anomaly
- alerts.triggered
- integration-configuration.permission-upgraded
- integration-configuration.removed
- integration-configuration.scope-change-confirmed
- integration-configuration.transferred
- integration-resource.project-connected
- integration-resource.project-disconnected
- project.created
- project.removed
- project.renamed
- project.domain.created
- project.domain.updated
- project.domain.deleted
- project.domain.verified
- project.domain.unverified
- project.domain.moved
- project.rolling-release.started
- project.rolling-release.aborted
- project.rolling-release.completed
- project.rolling-release.approved
- deployment.checks.failed
- deployment.checks.succeeded
- deployment-checks-completed
- deployment-ready
- deployment-prepared
- deployment-error
- deployment-check-rerequested
- deployment-canceled
- project-created
- project-removed
- domain-created
- deployment
- integration-configuration-permission-updated
- integration-configuration-removed
- integration-configuration-scope-change-confirmed
- marketplace.member.changed
- marketplace.invoice.created
- marketplace.invoice.paid
- marketplace.invoice.notpaid
- marketplace.invoice.refunded
- ai-gateway.balance-depleted
- ai-gateway.auto-reload.limit-reached
- observability.anomaly
- observability.anomaly-error
- observability.usage-anomaly
- observability.error-anomaly
- botid.anomaly
- test-webhook
example: deployment.created
description: The webhooks events
x-speakeasy-enums:
budget.reached: BudgetReached
domain.created: DomainCreated
domain.dns.records.changed: DomainDnsRecordsChanged
domain.transfer-in.started: DomainTransferInStarted
domain.transfer-in.completed: DomainTransferInCompleted
domain.transfer-in.failed: DomainTransferInFailed
domain.certificate.add: DomainCertificateAdd
domain.certificate.add.failed: DomainCertificateAddFailed
domain.certificate.renew: DomainCertificateRenew
domain.certificate.renew.failed: DomainCertificateRenewFailed
domain.certificate.deleted: DomainCertificateDeleted
domain.renewal: DomainRenewal
domain.renewal.failed: DomainRenewalFailed
domain.auto-renew.changed: DomainAutoRenewChanged
deployment.created: DeploymentCreated
deployment.cleanup: DeploymentCleanup
deployment.error: DeploymentError
deployment.canceled: DeploymentCanceled
deployment.succeeded: DeploymentSucceeded
deployment.ready: DeploymentReady
deployment.check-rerequested: DeploymentCheckRerequested
deployment.promoted: DeploymentPromoted
deployment.integration.action.start: DeploymentIntegrationActionStart
deployment.integration.action.cancel: DeploymentIntegrationActionCancel
deployment.integration.action.cleanup: DeploymentIntegrationActionCleanup
deployment.checkrun.start: DeploymentCheckrunStart
deployment.checkrun.cancel: DeploymentCheckrunCancel
edge-config.created: EdgeConfigCreated
edge-config.deleted: EdgeConfigDeleted
edge-config.items.updated: EdgeConfigItemsUpdated
firewall.attack: FirewallAttack
integration-configuration.permission-upgraded: IntegrationConfigurationPermissionUpgraded
integration-configuration.removed: IntegrationConfigurationRemoved
integration-configuration.scope-change-confirmed: IntegrationConfigurationScopeChangeConfirmed
integration-resource.project-connected: IntegrationResourceProjectConnected
integration-resource.project-disconnected: IntegrationResourceProjectDisconnected
project.created: ProjectCreated
project.removed: ProjectRemoved
project.domain.created: ProjectDomainCreated
project.domain.updated: ProjectDomainUpdated
project.domain.deleted: ProjectDomainDeleted
project.domain.verified: ProjectDomainVerified
project.domain.unverified: ProjectDomainUnverified
project.domain.moved: ProjectDomainMoved
project.rolling-release.started: ProjectRollingReleaseStarted
project.rolling-release.aborted: ProjectRollingReleaseAborted
project.rolling-release.completed: ProjectRollingReleaseCompleted
project.rolling-release.approved: ProjectRollingReleaseApproved
deployment.checks.failed: DeploymentChecksFailed
deployment.checks.succeeded: DeploymentChecksSucceeded
deployment-checks-completed: DeploymentChecksCompleted
deployment-ready: DeploymentReadyHyphen
deployment-prepared: DeploymentPreparedHyphen
deployment-error: DeploymentErrorHyphen
deployment-check-rerequested: DeploymentCheckRerequestedHyphen
deployment-canceled: DeploymentCanceledHyphen
project-created: ProjectCreatedHyphen
project-removed: ProjectRemovedHyphen
domain-created: DomainCreatedHyphen
deployment: Deployment
integration-configuration-permission-updated: IntegrationConfigurationPermissionUpdatedHyphen
integration-configuration-removed: IntegrationConfigurationRemovedHyphen
integration-configuration-scope-change-confirmed: IntegrationConfigurationScopeChangeConfirmedHyphen
marketplace.invoice.created: MarketplaceInvoiceCreated
marketplace.invoice.paid: MarketplaceInvoicePaid
marketplace.invoice.notpaid: MarketplaceInvoiceNotpaid
marketplace.invoice.refunded: MarketplaceInvoiceRefunded
observability.anomaly: ObservabilityAnomaly
observability.anomaly-error: ObservabilityAnomalyError
test-webhook: TestWebhook
type: array
description: The webhooks events
example: deployment.created
id:
type: string
description: The webhook id
example: account_hook_GflD6EYyo7F4ViYS
url:
type: string
description: A string with the URL of the webhook
example: https://my-webhook.com
ownerId:
type: string
description: The unique ID of the team the webhook belongs to
example: ZspSRT4ljIEEmMHgoDwKWDei
createdAt:
type: number
description: >-
A number containing the date when the webhook was created
in in milliseconds
example: 1567024758130
updatedAt:
type: number
description: >-
A number containing the date when the webhook was updated
in in milliseconds
example: 1567024758130
projectIds:
items:
type: string
type: array
description: The ID of the projects the webhook is associated with
example:
- prj_12HKQaOmR5t5Uy6vdcQsNIiZgHGB
required:
- createdAt
- events
- id
- ownerId
- updatedAt
- url
type: object
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/teams/get-access-request-status.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Get access request status
> 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.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v1/teams/{teamId}/request/{userId}
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/teams/{teamId}/request/{userId}:
get:
tags:
- teams
summary: Get access request status
description: >-
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.
operationId: getTeamAccessRequest
parameters:
- name: userId
in: path
required: true
schema:
type: string
description: The unique user identifier
- name: teamId
in: path
required: true
schema:
type: string
description: The unique team identifier
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
responses:
'200':
description: Successfully
content:
application/json:
schema:
properties:
teamSlug:
type: string
description: The slug of the team.
example: my-team
teamName:
type: string
description: The name of the team.
example: My Team
confirmed:
type: boolean
enum:
- false
- true
description: >-
Current status of the membership. Will be `true` if
confirmed, if pending it'll be `false`.
example: false
joinedFrom:
properties:
origin:
type: string
enum:
- teams
- link
- import
- mail
- github
- gitlab
- bitbucket
- saml
- dsync
- feedback
- organization-teams
- nsnb-auto-approve
commitId:
type: string
repoId:
type: string
repoPath:
type: string
gitUserId:
oneOf:
- type: string
- type: number
gitUserLogin:
type: string
ssoUserId:
type: string
ssoConnectedAt:
type: number
idpUserId:
type: string
dsyncUserId:
type: string
dsyncConnectedAt:
type: number
required:
- origin
type: object
description: >-
A map that describes the origin from where the user
joined.
accessRequestedAt:
type: number
description: >-
Timestamp in milliseconds when the user requested access
to the team.
example: 1588720733602
github:
nullable: true
properties:
login:
type: string
type: object
description: Map of the connected GitHub account.
gitlab:
nullable: true
properties:
login:
type: string
type: object
description: Map of the connected GitLab account.
bitbucket:
nullable: true
properties:
login:
type: string
type: object
description: Map of the connected Bitbucket account.
required:
- accessRequestedAt
- bitbucket
- confirmed
- github
- gitlab
- joinedFrom
- teamName
- teamSlug
type: object
'400':
description: >-
One of the provided values in the request query is invalid.
User is already a confirmed member of the team and did not request
access. Only visible when the authenticated user does have access to
the team.
'401':
description: ''
'403':
description: You do not have permission to access this resource.
'404':
description: |-
The provided user doesn't have a membership.
Team was not found.
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/marketplace/get-account-information.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Get Account Information
> Fetches the best account or user’s contact info
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v1/installations/{integrationConfigurationId}/account
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/installations/{integrationConfigurationId}/account:
get:
tags:
- marketplace
summary: Get Account Information
description: Fetches the best account or user’s contact info
operationId: get-account-info
parameters:
- name: integrationConfigurationId
in: path
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
properties:
name:
type: string
description: The name of the team the installation is tied to.
url:
type: string
description: A URL linking to the installation in the Vercel Dashboard.
contact:
nullable: true
properties:
email:
type: string
name:
type: string
required:
- email
type: object
description: >-
The best contact for the integration, which can change as
team members and their roles change.
required:
- contact
- url
type: object
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/edge-config/get-all-tokens-of-an-edge-config.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Get all tokens of an Edge Config
> Returns all tokens of an Edge Config.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v1/edge-config/{edgeConfigId}/tokens
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/edge-config/{edgeConfigId}/tokens:
get:
tags:
- edge-config
summary: Get all tokens of an Edge Config
description: Returns all tokens of an Edge Config.
operationId: getEdgeConfigTokens
parameters:
- name: edgeConfigId
in: path
required: true
schema:
type: string
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'200':
description: The EdgeConfig.
content:
application/json:
schema:
$ref: '#/components/schemas/EdgeConfigToken'
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
security:
- bearerToken: []
components:
schemas:
EdgeConfigToken:
properties:
token:
type: string
label:
type: string
id:
type: string
description: >-
This is not the token itself, but rather an id to identify the token
by
edgeConfigId:
type: string
createdAt:
type: number
required:
- createdAt
- edgeConfigId
- id
- label
- token
type: object
description: The EdgeConfig.
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/aliases/get-an-alias.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Get an Alias
> Retrieves an Alias for the given host name or alias ID.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v4/aliases/{idOrAlias}
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v4/aliases/{idOrAlias}:
get:
tags:
- aliases
summary: Get an Alias
description: Retrieves an Alias for the given host name or alias ID.
operationId: getAlias
parameters:
- name: from
description: Get the alias only if it was created after the provided timestamp
in: query
required: false
schema:
deprecated: true
description: Get the alias only if it was created after the provided timestamp
example: 1540095775951
type: number
- name: idOrAlias
description: The alias or alias ID to be retrieved
in: path
required: true
schema:
description: The alias or alias ID to be retrieved
example: example.vercel.app
type: string
- name: projectId
description: Get the alias only if it is assigned to the provided project ID
in: query
required: false
schema:
description: Get the alias only if it is assigned to the provided project ID
example: prj_12HKQaOmR5t5Uy6vdcQsNIiZgHGB
type: string
- name: since
description: Get the alias only if it was created after this JavaScript timestamp
in: query
required: false
schema:
description: >-
Get the alias only if it was created after this JavaScript
timestamp
example: 1540095775941
type: number
- name: until
description: >-
Get the alias only if it was created before this JavaScript
timestamp
in: query
required: false
schema:
description: >-
Get the alias only if it was created before this JavaScript
timestamp
example: 1540095775951
type: number
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'200':
description: The alias information
content:
application/json:
schema:
properties:
alias:
type: string
description: >-
The alias name, it could be a `.vercel.app` subdomain or a
custom domain
example: my-alias.vercel.app
created:
type: string
format: date-time
description: The date when the alias was created
example: '2017-04-26T23:00:34.232Z'
createdAt:
type: number
description: >-
The date when the alias was created in milliseconds since
the UNIX epoch
example: 1540095775941
nullable: true
creator:
properties:
uid:
type: string
description: ID of the user who created the alias
example: 96SnxkFiMyVKsK3pnoHfx3Hz
email:
type: string
description: Email of the user who created the alias
example: john-doe@gmail.com
username:
type: string
description: Username of the user who created the alias
example: john-doe
required:
- email
- uid
- username
type: object
description: Information of the user who created the alias
deletedAt:
type: number
description: >-
The date when the alias was deleted in milliseconds since
the UNIX epoch
example: 1540095775941
nullable: true
deployment:
properties:
id:
type: string
description: The deployment unique identifier
example: dpl_5m8CQaRBm3FnWRW1od3wKTpaECPx
url:
type: string
description: The deployment unique URL
example: my-instant-deployment-3ij3cxz9qr.now.sh
meta:
type: string
description: The deployment metadata
example: {}
required:
- id
- url
type: object
description: A map with the deployment ID, URL and metadata
deploymentId:
nullable: true
type: string
description: The deployment ID
example: dpl_5m8CQaRBm3FnWRW1od3wKTpaECPx
projectId:
nullable: true
type: string
description: The unique identifier of the project
example: prj_12HKQaOmR5t5Uy6vdcQsNIiZgHGB
redirect:
nullable: true
type: string
description: >-
Target destination domain for redirect when the alias is a
redirect
redirectStatusCode:
nullable: true
type: number
enum:
- 301
- 302
- 307
- 308
description: Status code to be used on redirect
uid:
type: string
description: The unique identifier of the alias
updatedAt:
type: number
description: >-
The date when the alias was updated in milliseconds since
the UNIX epoch
example: 1540095775941
nullable: true
protectionBypass:
additionalProperties:
oneOf:
- properties:
createdAt:
type: number
createdBy:
type: string
scope:
type: string
enum:
- shareable-link
expires:
type: number
required:
- createdAt
- createdBy
- scope
type: object
description: The protection bypass for the alias
- properties:
createdAt:
type: number
lastUpdatedAt:
type: number
lastUpdatedBy:
type: string
access:
type: string
enum:
- requested
- granted
scope:
type: string
enum:
- user
required:
- access
- createdAt
- lastUpdatedAt
- lastUpdatedBy
- scope
type: object
description: The protection bypass for the alias
- properties:
createdAt:
type: number
createdBy:
type: string
scope:
type: string
enum:
- alias-protection-override
required:
- createdAt
- createdBy
- scope
type: object
description: The protection bypass for the alias
- properties:
createdAt:
type: number
lastUpdatedAt:
type: number
lastUpdatedBy:
type: string
scope:
type: string
enum:
- email_invite
required:
- createdAt
- lastUpdatedAt
- lastUpdatedBy
- scope
type: object
description: The protection bypass for the alias
type: object
description: The protection bypass for the alias
microfrontends:
properties:
defaultApp:
type: object
required:
- projectId
properties:
projectId:
type: string
applications:
oneOf:
- items:
properties:
fallbackHost:
type: string
description: >-
This is always set. In production it is used
as a pointer to each apps production
deployment. For pre-production, it's used as
the fallback if there is no deployment for
the branch.
projectId:
type: string
description: >-
The project ID of the microfrontends
application.
required:
- fallbackHost
- projectId
type: object
description: >-
A list of the deployment routing information for
each project.
type: array
description: >-
A list of the deployment routing information for
each project.
- items:
properties:
fallbackHost:
type: string
description: >-
This is always set. For branch aliases, it's
used as the fallback if there is no
deployment for the branch.
branchAlias:
type: string
description: >-
Could point to a branch without a deployment
if the project was never deployed. The proxy
will fallback to the fallbackHost if there
is no deployment.
projectId:
type: string
description: >-
The project ID of the microfrontends
application.
required:
- branchAlias
- fallbackHost
- projectId
type: object
description: >-
A list of the deployment routing information for
each project.
type: array
description: >-
A list of the deployment routing information for
each project.
- items:
properties:
deploymentId:
type: string
description: >-
This is the deployment for the same commit,
it could be a cancelled deployment. The
proxy will fallback to the
branchDeploymentId and then the
fallbackDeploymentId.
branchDeploymentId:
type: string
description: >-
This is the latest non-cancelled deployment
of the branch alias at the time the commit
alias was created. It is possible there is
no deployment for the branch, or this was
set before the deployment was canceled, in
which case this will point to a cancelled
deployment, in either case the proxy will
fallback to the fallbackDeploymentId.
fallbackDeploymentId:
type: string
description: >-
This is the deployment of the fallback host
at the time the commit alias was created. It
is possible for this to be a deleted
deployment, in which case the proxy will
show that the deployment is deleted. It will
not use the fallbackHost, as a future
deployment on the fallback host could be
invalid for this deployment, and it could
lead to confusion / incorrect behavior for
the commit alias.
fallbackHost:
type: string
description: >-
Temporary for backwards compatibility. Can
remove when metadata change is released
branchAlias:
type: string
projectId:
type: string
description: >-
The project ID of the microfrontends
application.
required:
- projectId
type: object
description: >-
A list of the deployment routing information for
each project.
type: array
description: >-
A list of the deployment routing information for
each project.
required:
- applications
- defaultApp
type: object
description: >-
The microfrontends for the alias including the routing
configuration
required:
- alias
- created
- deploymentId
- projectId
- uid
type: object
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: The alias was not found
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/edge-config/get-an-edge-config-item.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Get an Edge Config item
> Returns a specific Edge Config Item.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v1/edge-config/{edgeConfigId}/item/{edgeConfigItemKey}
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/edge-config/{edgeConfigId}/item/{edgeConfigItemKey}:
get:
tags:
- edge-config
summary: Get an Edge Config item
description: Returns a specific Edge Config Item.
operationId: getEdgeConfigItem
parameters:
- name: edgeConfigId
in: path
required: true
schema:
type: string
pattern: ^ecfg_
- name: edgeConfigItemKey
in: path
required: true
schema:
type: string
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'200':
description: The EdgeConfig.
content:
application/json:
schema:
$ref: '#/components/schemas/EdgeConfigItem'
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
security:
- bearerToken: []
components:
schemas:
EdgeConfigItem:
properties:
key:
type: string
value:
$ref: '#/components/schemas/EdgeConfigItemValue'
description:
type: string
edgeConfigId:
type: string
createdAt:
type: number
updatedAt:
type: number
required:
- createdAt
- edgeConfigId
- key
- updatedAt
- value
type: object
description: The EdgeConfig.
EdgeConfigItemValue:
nullable: true
oneOf:
- type: string
- type: number
- additionalProperties:
$ref: '#/components/schemas/EdgeConfigItemValue'
type: object
- items:
$ref: '#/components/schemas/EdgeConfigItemValue'
type: array
- type: boolean
enum:
- false
- true
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/edge-config/get-an-edge-config.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Get an Edge Config
> Returns an Edge Config.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v1/edge-config/{edgeConfigId}
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/edge-config/{edgeConfigId}:
get:
tags:
- edge-config
summary: Get an Edge Config
description: Returns an Edge Config.
operationId: getEdgeConfig
parameters:
- name: edgeConfigId
in: path
required: true
schema:
type: string
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'200':
description: The EdgeConfig.
content:
application/json:
schema:
properties:
transfer:
properties:
fromAccountId:
type: string
startedAt:
type: number
doneAt:
nullable: true
type: number
required:
- doneAt
- fromAccountId
- startedAt
type: object
description: >-
Keeps track of the current state of the Edge Config while
it gets transferred.
id:
type: string
createdAt:
type: number
createdBy:
type: string
description: >-
The ID of the user who created the Edge Config, optional
because it is not always set.
ownerId:
type: string
slug:
type: string
description: >-
Name for the Edge Config Names are not unique. Must start
with an alphabetic character and can contain only
alphanumeric characters and underscores).
updatedAt:
type: number
digest:
type: string
purpose:
oneOf:
- properties:
type:
type: string
enum:
- flags
projectId:
type: string
required:
- projectId
- type
type: object
- properties:
type:
type: string
enum:
- experimentation
resourceId:
type: string
required:
- resourceId
- type
type: object
deletedAt:
nullable: true
type: number
schema:
type: object
syncedToDynamoAt:
type: number
description: >-
Timestamp of when the Edge Config was synced to DynamoDB
initially. It is only set when syncing the entire Edge
Config, not when updating.
sizeInBytes:
type: number
itemCount:
type: number
required:
- createdAt
- digest
- id
- itemCount
- ownerId
- sizeInBytes
- slug
- updatedAt
type: object
description: The EdgeConfig.
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/authentication/get-auth-token-metadata.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Get Auth Token Metadata
> Retrieve metadata about an authentication token belonging to the currently authenticated User.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v5/user/tokens/{tokenId}
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v5/user/tokens/{tokenId}:
get:
tags:
- authentication
summary: Get Auth Token Metadata
description: >-
Retrieve metadata about an authentication token belonging to the
currently authenticated User.
operationId: getAuthToken
parameters:
- name: tokenId
description: >-
The identifier of the token to retrieve. The special value
\"current\" may be supplied, which returns the metadata for the
token that the current HTTP request is authenticated with.
in: path
required: true
schema:
type: string
description: >-
The identifier of the token to retrieve. The special value
\"current\" may be supplied, which returns the metadata for the
token that the current HTTP request is authenticated with.
example: 5d9f2ebd38ddca62e5d51e9c1704c72530bdc8bfdd41e782a6687c48399e8391
responses:
'200':
description: Successful response.
content:
application/json:
schema:
properties:
token:
$ref: '#/components/schemas/AuthToken'
required:
- token
type: object
description: Successful response.
'400':
description: One of the provided values in the request query is invalid.
'401':
description: ''
'403':
description: You do not have permission to access this resource.
'404':
description: Token not found with the requested `tokenId`.
security:
- bearerToken: []
components:
schemas:
AuthToken:
properties:
id:
type: string
description: The unique identifier of the token.
example: 5d9f2ebd38ddca62e5d51e9c1704c72530bdc8bfdd41e782a6687c48399e8391
name:
type: string
description: The human-readable name of the token.
type:
type: string
description: The type of the token.
example: oauth2-token
origin:
type: string
description: The origin of how the token was created.
example: github
scopes:
items:
oneOf:
- properties:
type:
type: string
enum:
- user
sudo:
properties:
origin:
type: string
enum:
- totp
- webauthn
- recovery-code
description: Possible multi-factor origins
expiresAt:
type: number
required:
- expiresAt
- origin
type: object
origin:
type: string
enum:
- saml
- github
- gitlab
- bitbucket
- email
- manual
- passkey
- otp
- sms
- invite
- google
- apple
- app
createdAt:
type: number
expiresAt:
type: number
required:
- createdAt
- type
type: object
description: The access scopes granted to the token.
- properties:
type:
type: string
enum:
- team
teamId:
type: string
origin:
type: string
enum:
- saml
- github
- gitlab
- bitbucket
- email
- manual
- passkey
- otp
- sms
- invite
- google
- apple
- app
createdAt:
type: number
expiresAt:
type: number
required:
- createdAt
- teamId
- type
type: object
description: The access scopes granted to the token.
type: array
description: The access scopes granted to the token.
expiresAt:
type: number
description: Timestamp (in milliseconds) of when the token expires.
example: 1632816536002
activeAt:
type: number
description: >-
Timestamp (in milliseconds) of when the token was most recently
used.
example: 1632816536002
createdAt:
type: number
description: Timestamp (in milliseconds) of when the token was created.
example: 1632816536002
leakedAt:
type: number
description: Timestamp (in milliseconds) of when the token was marked as leaked.
example: 1632816536002
required:
- activeAt
- createdAt
- id
- name
- type
type: object
description: Authentication token metadata.
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/domains-registrar/get-availability-for-a-domain.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Get availability for a domain
> Get 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.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v1/registrar/domains/{domain}/availability
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/registrar/domains/{domain}/availability:
get:
tags:
- domains-registrar
summary: Get availability for a domain
description: >-
Get 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.
operationId: getDomainAvailability
parameters:
- name: domain
in: path
schema:
$ref: '#/components/schemas/DomainName'
required: true
- name: teamId
in: query
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
required: false
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
required:
- available
properties:
available:
type: boolean
additionalProperties: false
'400':
description: There was something wrong with the request
content:
application/json:
schema:
$ref: '#/components/schemas/HttpApiDecodeError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Unauthorized'
'403':
description: NotAuthorizedForScope
content:
application/json:
schema:
$ref: '#/components/schemas/NotAuthorizedForScope'
'404':
description: NotFound
content:
application/json:
schema:
$ref: '#/components/schemas/NotFound'
'429':
description: TooManyRequests
content:
application/json:
schema:
$ref: '#/components/schemas/TooManyRequests'
'500':
description: InternalServerError
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerError'
security:
- bearerToken: []
components:
schemas:
DomainName:
type: string
description: A valid domain name
HttpApiDecodeError:
type: object
required:
- issues
- message
properties:
issues:
type: array
items:
$ref: '#/components/schemas/Issue'
message:
type: string
additionalProperties: false
description: The request did not match the expected schema
Unauthorized:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 401
code:
type: string
enum:
- unauthorized
message:
type: string
additionalProperties: false
NotAuthorizedForScope:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 403
code:
type: string
enum:
- not_authorized_for_scope
message:
type: string
additionalProperties: false
NotFound:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 404
code:
type: string
enum:
- not_found
message:
type: string
additionalProperties: false
TooManyRequests:
type: object
required:
- status
- code
- message
- retryAfter
- limit
properties:
status:
type: number
enum:
- 429
code:
type: string
enum:
- too_many_requests
message:
type: string
retryAfter:
type: object
required:
- value
- str
properties:
value:
type: number
str:
type: string
additionalProperties: false
limit:
type: object
required:
- total
- remaining
- reset
properties:
total:
type: number
remaining:
type: number
reset:
type: number
additionalProperties: false
additionalProperties: false
InternalServerError:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 500
code:
type: string
enum:
- internal_server_error
message:
type: string
additionalProperties: false
Issue:
type: object
required:
- path
- message
properties:
path:
type: array
items:
$ref: '#/components/schemas/PropertyKey'
description: The path to the property where the issue occurred
message:
type: string
description: A descriptive message explaining the issue
additionalProperties: false
description: >-
Represents an error encountered while parsing a value to match the
schema
PropertyKey:
anyOf:
- type: string
- type: number
- type: object
required:
- _tag
- key
properties:
_tag:
type: string
enum:
- symbol
key:
type: string
additionalProperties: false
description: an object to be decoded into a globally shared symbol
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/domains-registrar/get-availability-for-multiple-domains.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Get availability for multiple domains
> Get 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.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples post /v1/registrar/domains/availability
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/registrar/domains/availability:
post:
tags:
- domains-registrar
summary: Get availability for multiple domains
description: >-
Get 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.
operationId: getBulkAvailability
parameters:
- name: teamId
in: query
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
required: false
requestBody:
content:
application/json:
schema:
type: object
required:
- domains
properties:
domains:
type: array
minItems: 1
items:
$ref: '#/components/schemas/DomainName'
description: an array of at most 50 item(s)
title: maxItems(50)
maxItems: 50
additionalProperties: false
required: true
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
required:
- results
properties:
results:
type: array
items:
type: object
required:
- domain
- available
properties:
domain:
$ref: '#/components/schemas/DomainName'
available:
type: boolean
additionalProperties: false
additionalProperties: false
'400':
description: There was something wrong with the request
content:
application/json:
schema:
$ref: '#/components/schemas/HttpApiDecodeError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Unauthorized'
'403':
description: NotAuthorizedForScope
content:
application/json:
schema:
$ref: '#/components/schemas/NotAuthorizedForScope'
'429':
description: TooManyRequests
content:
application/json:
schema:
$ref: '#/components/schemas/TooManyRequests'
'500':
description: InternalServerError
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerError'
security:
- bearerToken: []
components:
schemas:
DomainName:
type: string
description: A valid domain name
HttpApiDecodeError:
type: object
required:
- issues
- message
properties:
issues:
type: array
items:
$ref: '#/components/schemas/Issue'
message:
type: string
additionalProperties: false
description: The request did not match the expected schema
Unauthorized:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 401
code:
type: string
enum:
- unauthorized
message:
type: string
additionalProperties: false
NotAuthorizedForScope:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 403
code:
type: string
enum:
- not_authorized_for_scope
message:
type: string
additionalProperties: false
TooManyRequests:
type: object
required:
- status
- code
- message
- retryAfter
- limit
properties:
status:
type: number
enum:
- 429
code:
type: string
enum:
- too_many_requests
message:
type: string
retryAfter:
type: object
required:
- value
- str
properties:
value:
type: number
str:
type: string
additionalProperties: false
limit:
type: object
required:
- total
- remaining
- reset
properties:
total:
type: number
remaining:
type: number
reset:
type: number
additionalProperties: false
additionalProperties: false
InternalServerError:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 500
code:
type: string
enum:
- internal_server_error
message:
type: string
additionalProperties: false
Issue:
type: object
required:
- path
- message
properties:
path:
type: array
items:
$ref: '#/components/schemas/PropertyKey'
description: The path to the property where the issue occurred
message:
type: string
description: A descriptive message explaining the issue
additionalProperties: false
description: >-
Represents an error encountered while parsing a value to match the
schema
PropertyKey:
anyOf:
- type: string
- type: number
- type: object
required:
- _tag
- key
properties:
_tag:
type: string
enum:
- symbol
key:
type: string
additionalProperties: false
description: an object to be decoded into a globally shared symbol
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/certs/get-cert-by-id.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Get cert by id
> Get cert by id
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v8/certs/{id}
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v8/certs/{id}:
get:
tags:
- certs
summary: Get cert by id
description: Get cert by id
operationId: getCertById
parameters:
- name: id
description: The cert id
in: path
required: true
schema:
description: The cert id
type: string
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'200':
description: ''
content:
application/json:
schema:
properties:
id:
type: string
createdAt:
type: number
expiresAt:
type: number
autoRenew:
type: boolean
enum:
- false
- true
cns:
items:
type: string
type: array
required:
- autoRenew
- cns
- createdAt
- expiresAt
- id
type: object
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/projects/get-client-certificates-for-a-project.md
# Get client certificates for a project
> Retrieve client certificates configured for a project's mTLS egress authentication.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v1/projects/{idOrName}/client-cert
paths:
path: /v1/projects/{idOrName}/client-cert
method: get
servers:
- url: https://api.vercel.com
description: Production API
request:
security:
- title: bearerToken
parameters:
query: {}
header:
Authorization:
type: http
scheme: bearer
description: Default authentication mechanism
cookie: {}
parameters:
path:
idOrName:
schema:
- type: string
required: true
description: The unique project identifier or the project name
example: prj_XLKmu1DyR1eY7zq8UgeRKbA7yVLA
query:
teamId:
schema:
- type: string
description: The Team identifier to perform the request on behalf of.
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
slug:
schema:
- type: string
description: The Team slug to perform the request on behalf of.
example: my-team-url-slug
header: {}
cookie: {}
body: {}
codeSamples:
- label: getProjectClientCerts
lang: typescript
source: |-
import { Vercel } from "@vercel/sdk";
const vercel = new Vercel({
bearerToken: "",
});
async function run() {
const result = await vercel.projects.getProjectClientCerts({
idOrName: "prj_XLKmu1DyR1eY7zq8UgeRKbA7yVLA",
teamId: "team_1a2b3c4d5e6f7g8h9i0j1k2l",
slug: "my-team-url-slug",
});
console.log(result);
}
run();
response:
'200':
application/json:
schemaArray:
- type: object
properties:
clientCerts:
allOf:
- items:
properties:
origin:
type: string
id:
type: string
required:
- origin
- id
type: object
type: array
requiredProperties:
- clientCerts
examples:
example:
value:
clientCerts:
- origin:
id:
description: Client certificates retrieved successfully
'400':
_mintlify/placeholder:
schemaArray:
- type: any
description: One of the provided values in the request query is invalid.
examples: {}
description: One of the provided values in the request query is invalid.
'401':
_mintlify/placeholder:
schemaArray:
- type: any
description: The request is not authorized.
examples: {}
description: The request is not authorized.
'403':
_mintlify/placeholder:
schemaArray:
- type: any
description: You do not have permission to access this resource.
examples: {}
description: You do not have permission to access this resource.
'404': {}
deprecated: false
type: path
components:
schemas: {}
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/integrations/get-configurations-for-the-authenticated-user-or-team.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Get configurations for the authenticated user or team
> 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.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v1/integrations/configurations
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/integrations/configurations:
get:
tags:
- integrations
summary: Get configurations for the authenticated user or team
description: >-
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.
operationId: getConfigurations
parameters:
- name: view
in: query
required: true
schema:
type: string
enum:
- account
- project
- name: installationType
in: query
required: false
schema:
type: string
enum:
- marketplace
- external
- provisioning
- name: integrationIdOrSlug
description: ID of the integration
in: query
required: false
schema:
type: string
description: ID of the integration
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'200':
description: The list of configurations for the authenticated user
content:
application/json:
schema:
oneOf:
- items:
properties:
completedAt:
type: number
description: >-
A timestamp that tells you when the configuration
was installed successfully
example: 1558531915505
createdAt:
type: number
description: >-
A timestamp that tells you when the configuration
was created
example: 1558531915505
id:
type: string
description: The unique identifier of the configuration
example: icfg_3bwCLgxL8qt5kjRLcv2Dit7F
integrationId:
type: string
description: >-
The unique identifier of the app the configuration
was created for
example: oac_xzpVzcUOgcB1nrVlirtKhbWV
ownerId:
type: string
description: The user or team ID that owns the configuration
example: kr1PsOIzqEL5Xg6M4VZcZosf
status:
type: string
enum:
- error
- ready
- pending
- onboarding
- suspended
- resumed
- uninstalled
description: >-
The configuration status. Optional. If not defined,
assume 'ready'.
externalId:
type: string
description: >-
An external identifier defined by the integration
vendor.
projects:
items:
type: string
type: array
description: >-
When a configuration is limited to access certain
projects, this will contain each of the project ID
it is allowed to access. If it is not defined, the
configuration has full access.
example:
- prj_xQxbutw1HpL6HLYPAzt5h75m8NjO
source:
type: string
enum:
- marketplace
- deploy-button
- external
- v0
- resource-claims
- cli
- oauth
- backoffice
description: >-
Source defines where the configuration was installed
from. It is used to analyze user engagement for
integration installations in product metrics.
example: marketplace
slug:
type: string
description: >-
The slug of the integration the configuration is
created for.
example: slack
teamId:
nullable: true
type: string
description: >-
When the configuration was created for a team, this
will show the ID of the team.
example: team_nLlpyC6RE1qxydlFKbrxDlud
type:
type: string
enum:
- integration-configuration
updatedAt:
type: number
description: >-
A timestamp that tells you when the configuration
was updated.
example: 1558531915505
userId:
type: string
description: The ID of the user that created the configuration.
example: kr1PsOIzqEL5Xg6M4VZcZosf
scopes:
items:
type: string
type: array
description: >-
The resources that are allowed to be accessed by the
configuration.
example:
- read:project
- read-write:log-drain
disabledAt:
type: number
description: >-
A timestamp that tells you when the configuration
was disabled. Note: Configurations can be disabled
when the associated user loses access to a team.
They do not function during this time until the
configuration is 'transferred', meaning the
associated user is changed to one with access to the
team.
example: 1558531915505
deletedAt:
nullable: true
type: number
description: >-
A timestamp that tells you when the configuration
was deleted.
example: 1558531915505
deleteRequestedAt:
nullable: true
type: number
description: >-
A timestamp that tells you when the configuration
deletion has been started for cases when the
deletion needs to be settled/approved by partners,
such as when marketplace invoices have been paid.
example: 1558531915505
disabledReason:
type: string
enum:
- disabled-by-owner
- feature-not-available
- disabled-by-admin
- original-owner-left-the-team
- account-plan-downgrade
- original-owner-role-downgraded
installationType:
type: string
enum:
- marketplace
- external
description: >-
Defines the installation type. - 'external'
integrations are installed via the existing
integrations flow - 'marketplace' integrations are
natively installed: - when accepting the TOS of a
partner during the store creation process - if
undefined, assume 'external'
type: object
description: The list of configurations for the authenticated user
type: array
description: The list of configurations for the authenticated user
- items:
properties:
integration:
properties:
name:
type: string
icon:
type: string
isLegacy:
type: boolean
enum:
- false
- true
flags:
items:
type: string
type: array
assignedBetaLabelAt:
type: number
tagIds:
items:
type: string
enum:
- tag_agents
- tag_ai
- tag_analytics
- tag_authentication
- tag_cms
- tag_code_repository
- tag_code_review
- tag_code_security
- tag_code_testing
- tag_commerce
- tag_databases
- tag_dev_tools
- tag_experimentation
- tag_flags
- tag_logging
- tag_messaging
- tag_monitoring
- tag_observability
- tag_payments
- tag_performance
- tag_productivity
- tag_searching
- tag_security
- tag_support_agent
- tag_testing
- tag_video
- tag_web_automation
- tag_workflow
type: array
required:
- icon
- isLegacy
- name
type: object
completedAt:
type: number
description: >-
A timestamp that tells you when the configuration
was installed successfully
example: 1558531915505
createdAt:
type: number
description: >-
A timestamp that tells you when the configuration
was created
example: 1558531915505
id:
type: string
description: The unique identifier of the configuration
example: icfg_3bwCLgxL8qt5kjRLcv2Dit7F
integrationId:
type: string
description: >-
The unique identifier of the app the configuration
was created for
example: oac_xzpVzcUOgcB1nrVlirtKhbWV
ownerId:
type: string
description: The user or team ID that owns the configuration
example: kr1PsOIzqEL5Xg6M4VZcZosf
status:
type: string
enum:
- error
- ready
- pending
- onboarding
- suspended
- resumed
- uninstalled
description: >-
The configuration status. Optional. If not defined,
assume 'ready'.
externalId:
type: string
description: >-
An external identifier defined by the integration
vendor.
projects:
items:
type: string
type: array
description: >-
When a configuration is limited to access certain
projects, this will contain each of the project ID
it is allowed to access. If it is not defined, the
configuration has full access.
example:
- prj_xQxbutw1HpL6HLYPAzt5h75m8NjO
source:
type: string
enum:
- marketplace
- deploy-button
- external
- v0
- resource-claims
- cli
- oauth
- backoffice
description: >-
Source defines where the configuration was installed
from. It is used to analyze user engagement for
integration installations in product metrics.
example: marketplace
slug:
type: string
description: >-
The slug of the integration the configuration is
created for.
example: slack
teamId:
nullable: true
type: string
description: >-
When the configuration was created for a team, this
will show the ID of the team.
example: team_nLlpyC6RE1qxydlFKbrxDlud
type:
type: string
enum:
- integration-configuration
updatedAt:
type: number
description: >-
A timestamp that tells you when the configuration
was updated.
example: 1558531915505
userId:
type: string
description: The ID of the user that created the configuration.
example: kr1PsOIzqEL5Xg6M4VZcZosf
scopes:
items:
type: string
type: array
description: >-
The resources that are allowed to be accessed by the
configuration.
example:
- read:project
- read-write:log-drain
disabledAt:
type: number
description: >-
A timestamp that tells you when the configuration
was disabled. Note: Configurations can be disabled
when the associated user loses access to a team.
They do not function during this time until the
configuration is 'transferred', meaning the
associated user is changed to one with access to the
team.
example: 1558531915505
deletedAt:
nullable: true
type: number
description: >-
A timestamp that tells you when the configuration
was deleted.
example: 1558531915505
deleteRequestedAt:
nullable: true
type: number
description: >-
A timestamp that tells you when the configuration
deletion has been started for cases when the
deletion needs to be settled/approved by partners,
such as when marketplace invoices have been paid.
example: 1558531915505
disabledReason:
type: string
enum:
- disabled-by-owner
- feature-not-available
- disabled-by-admin
- original-owner-left-the-team
- account-plan-downgrade
- original-owner-role-downgraded
installationType:
type: string
enum:
- marketplace
- external
description: >-
Defines the installation type. - 'external'
integrations are installed via the existing
integrations flow - 'marketplace' integrations are
natively installed: - when accepting the TOS of a
partner during the store creation process - if
undefined, assume 'external'
required:
- createdAt
- id
- integration
- integrationId
- ownerId
- scopes
- slug
- type
- updatedAt
- userId
type: object
type: array
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/domains-registrar/get-contact-info-schema.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Get contact info schema
> Some TLDs require additional contact information. Use this endpoint to get the schema for the tld-specific contact information for a domain.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v1/registrar/domains/{domain}/contact-info/schema
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/registrar/domains/{domain}/contact-info/schema:
get:
tags:
- domains-registrar
summary: Get contact info schema
description: >-
Some TLDs require additional contact information. Use this endpoint to
get the schema for the tld-specific contact information for a domain.
operationId: getContactInfoSchema
parameters:
- name: domain
in: path
schema:
$ref: '#/components/schemas/DomainName'
required: true
- name: teamId
in: query
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
required: false
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
properties: {}
'400':
description: There was something wrong with the request
content:
application/json:
schema:
anyOf:
- $ref: '#/components/schemas/BadRequest'
- $ref: '#/components/schemas/HttpApiDecodeError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Unauthorized'
'403':
description: NotAuthorizedForScope
content:
application/json:
schema:
$ref: '#/components/schemas/NotAuthorizedForScope'
'429':
description: TooManyRequests
content:
application/json:
schema:
$ref: '#/components/schemas/TooManyRequests'
'500':
description: InternalServerError
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerError'
security:
- bearerToken: []
components:
schemas:
DomainName:
type: string
description: A valid domain name
BadRequest:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 400
code:
type: string
enum:
- bad_request
message:
type: string
additionalProperties: false
HttpApiDecodeError:
type: object
required:
- issues
- message
properties:
issues:
type: array
items:
$ref: '#/components/schemas/Issue'
message:
type: string
additionalProperties: false
description: The request did not match the expected schema
Unauthorized:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 401
code:
type: string
enum:
- unauthorized
message:
type: string
additionalProperties: false
NotAuthorizedForScope:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 403
code:
type: string
enum:
- not_authorized_for_scope
message:
type: string
additionalProperties: false
TooManyRequests:
type: object
required:
- status
- code
- message
- retryAfter
- limit
properties:
status:
type: number
enum:
- 429
code:
type: string
enum:
- too_many_requests
message:
type: string
retryAfter:
type: object
required:
- value
- str
properties:
value:
type: number
str:
type: string
additionalProperties: false
limit:
type: object
required:
- total
- remaining
- reset
properties:
total:
type: number
remaining:
type: number
reset:
type: number
additionalProperties: false
additionalProperties: false
InternalServerError:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 500
code:
type: string
enum:
- internal_server_error
message:
type: string
additionalProperties: false
Issue:
type: object
required:
- path
- message
properties:
path:
type: array
items:
$ref: '#/components/schemas/PropertyKey'
description: The path to the property where the issue occurred
message:
type: string
description: A descriptive message explaining the issue
additionalProperties: false
description: >-
Represents an error encountered while parsing a value to match the
schema
PropertyKey:
anyOf:
- type: string
- type: number
- type: object
required:
- _tag
- key
properties:
_tag:
type: string
enum:
- symbol
key:
type: string
additionalProperties: false
description: an object to be decoded into a globally shared symbol
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/deployments/get-deployment-events.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Get deployment 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.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v3/deployments/{idOrUrl}/events
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v3/deployments/{idOrUrl}/events:
get:
tags:
- deployments
summary: Get deployment events
description: >-
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.
operationId: getDeploymentEvents
parameters:
- name: idOrUrl
description: The unique identifier or hostname of the deployment.
in: path
required: true
schema:
type: string
example: dpl_5WJWYSyB7BpgTj3EuwF37WMRBXBtPQ2iTMJHJBJyRfd
description: The unique identifier or hostname of the deployment.
- name: direction
description: Order of the returned events based on the timestamp.
in: query
required: false
schema:
type: string
enum:
- backward
- forward
default: forward
example: backward
description: Order of the returned events based on the timestamp.
- name: follow
description: When enabled, this endpoint will return live events as they happen.
in: query
required: false
schema:
type: number
enum:
- 0
- 1
example: 1
description: >-
When enabled, this endpoint will return live events as they
happen.
- name: limit
description: >-
Maximum number of events to return. Provide `-1` to return all
available logs.
in: query
required: false
schema:
type: number
example: 100
description: >-
Maximum number of events to return. Provide `-1` to return all
available logs.
- name: name
description: Deployment build ID.
in: query
required: false
schema:
type: string
example: bld_cotnkcr76
description: Deployment build ID.
- name: since
description: Timestamp for when build logs should be pulled from.
in: query
required: false
schema:
type: number
example: 1540095775941
description: Timestamp for when build logs should be pulled from.
- name: until
description: Timestamp for when the build logs should be pulled up until.
in: query
required: false
schema:
type: number
example: 1540106318643
description: Timestamp for when the build logs should be pulled up until.
- name: statusCode
description: HTTP status code range to filter events by.
in: query
required: false
schema:
example: 5xx
description: HTTP status code range to filter events by.
oneOf:
- type: number
- type: string
- name: delimiter
in: query
required: false
schema:
type: number
enum:
- 0
- 1
example: 1
- name: builds
in: query
required: false
schema:
type: number
enum:
- 0
- 1
example: 1
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
oneOf:
- properties:
type:
type: string
enum:
- delimiter
- command
- stdout
- stderr
- exit
- deployment-state
- middleware
- middleware-invocation
- edge-function-invocation
- metric
- report
- fatal
created:
type: number
payload:
properties:
deploymentId:
type: string
info:
properties:
type:
type: string
name:
type: string
entrypoint:
type: string
path:
type: string
step:
type: string
readyState:
type: string
required:
- name
- type
type: object
text:
type: string
id:
type: string
date:
type: number
serial:
type: string
created:
type: number
statusCode:
type: number
requestId:
type: string
proxy:
properties:
timestamp:
type: number
method:
type: string
host:
type: string
path:
type: string
statusCode:
type: number
userAgent:
items:
type: string
type: array
referer:
type: string
clientIp:
type: string
region:
type: string
scheme:
type: string
responseByteSize:
type: number
cacheId:
type: string
pathType:
type: string
pathTypeVariant:
type: string
vercelId:
type: string
vercelCache:
type: string
enum:
- MISS
- HIT
- STALE
- BYPASS
- PRERENDER
- REVALIDATED
lambdaRegion:
type: string
wafAction:
type: string
enum:
- log
- challenge
- deny
- bypass
- rate_limit
wafRuleId:
type: string
required:
- host
- method
- path
- referer
- region
- timestamp
- userAgent
type: object
required:
- date
- deploymentId
- id
- serial
type: object
required:
- created
- payload
- type
type: object
- properties:
created:
type: number
date:
type: number
deploymentId:
type: string
id:
type: string
info:
properties:
type:
type: string
name:
type: string
entrypoint:
type: string
path:
type: string
step:
type: string
readyState:
type: string
required:
- name
- type
type: object
serial:
type: string
text:
type: string
type:
type: string
enum:
- delimiter
- command
- stdout
- stderr
- exit
- deployment-state
- middleware
- middleware-invocation
- edge-function-invocation
- metric
- report
- fatal
level:
type: string
enum:
- error
- warning
required:
- created
- date
- deploymentId
- id
- info
- serial
- type
type: object
nullable: true
nullable: true
application/stream+json:
schema:
oneOf:
- properties:
type:
type: string
enum:
- delimiter
- command
- stdout
- stderr
- exit
- deployment-state
- middleware
- middleware-invocation
- edge-function-invocation
- metric
- report
- fatal
created:
type: number
payload:
properties:
deploymentId:
type: string
info:
properties:
type:
type: string
name:
type: string
entrypoint:
type: string
path:
type: string
step:
type: string
readyState:
type: string
required:
- name
- type
type: object
text:
type: string
id:
type: string
date:
type: number
serial:
type: string
created:
type: number
statusCode:
type: number
requestId:
type: string
proxy:
properties:
timestamp:
type: number
method:
type: string
host:
type: string
path:
type: string
statusCode:
type: number
userAgent:
items:
type: string
type: array
referer:
type: string
clientIp:
type: string
region:
type: string
scheme:
type: string
responseByteSize:
type: number
cacheId:
type: string
pathType:
type: string
pathTypeVariant:
type: string
vercelId:
type: string
vercelCache:
type: string
enum:
- MISS
- HIT
- STALE
- BYPASS
- PRERENDER
- REVALIDATED
lambdaRegion:
type: string
wafAction:
type: string
enum:
- log
- challenge
- deny
- bypass
- rate_limit
wafRuleId:
type: string
required:
- host
- method
- path
- referer
- region
- timestamp
- userAgent
type: object
required:
- date
- deploymentId
- id
- serial
type: object
required:
- created
- payload
- type
type: object
- properties:
created:
type: number
date:
type: number
deploymentId:
type: string
id:
type: string
info:
properties:
type:
type: string
name:
type: string
entrypoint:
type: string
path:
type: string
step:
type: string
readyState:
type: string
required:
- name
- type
type: object
serial:
type: string
text:
type: string
type:
type: string
enum:
- delimiter
- command
- stdout
- stderr
- exit
- deployment-state
- middleware
- middleware-invocation
- edge-function-invocation
- metric
- report
- fatal
level:
type: string
enum:
- error
- warning
required:
- created
- date
- deploymentId
- id
- info
- serial
- type
type: object
nullable: true
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'500':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/deployments/get-deployment-file-contents.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Get Deployment File Contents
> Allows 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.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v8/deployments/{id}/files/{fileId}
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v8/deployments/{id}/files/{fileId}:
get:
tags:
- deployments
summary: Get Deployment File Contents
description: >-
Allows 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.
operationId: getDeploymentFileContents
parameters:
- name: id
description: The unique deployment identifier
in: path
required: true
schema:
description: The unique deployment identifier
type: string
- name: fileId
description: The unique file identifier
in: path
required: true
schema:
description: The unique file identifier
type: string
- name: path
description: Path to the file to fetch (only for Git deployments)
in: query
required: false
schema:
description: Path to the file to fetch (only for Git deployments)
type: string
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: |-
File not found
Deployment not found
'410':
description: Invalid API version.
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/domains/get-domain-transfer-info-deprecated.md
# Get domain transfer info (deprecated)
> This endpoint is deprecated and replaced with the endpoint [Get a domain's transfer status](https://vercel.com/docs/rest-api/reference/endpoints/domains-registrar/get-a-domains-transfer-status). Fetch domain transfer availability or transfer status if a transfer is in progress.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v1/domains/{domain}/registry
paths:
path: /v1/domains/{domain}/registry
method: get
servers:
- url: https://api.vercel.com
description: Production API
request:
security:
- title: bearerToken
parameters:
query: {}
header:
Authorization:
type: http
scheme: bearer
description: Default authentication mechanism
cookie: {}
parameters:
path:
domain:
schema:
- type: string
required: true
example: example.com
query:
teamId:
schema:
- type: string
description: The Team identifier to perform the request on behalf of.
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
slug:
schema:
- type: string
description: The Team slug to perform the request on behalf of.
example: my-team-url-slug
header: {}
cookie: {}
body: {}
codeSamples:
- label: getDomainTransfer
lang: go
source: "package main\n\nimport(\n\t\"os\"\n\t\"github.com/vercel/vercel\"\n\t\"context\"\n\t\"log\"\n)\n\nfunc main() {\n s := vercel.New(\n vercel.WithSecurity(os.Getenv(\"VERCEL_BEARER_TOKEN\")),\n )\n\n ctx := context.Background()\n res, err := s.Domains.GetDomainTransfer(ctx, \"example.com\", nil, nil)\n if err != nil {\n log.Fatal(err)\n }\n if res.Object != nil {\n // handle response\n }\n}"
- label: getDomainTransfer
lang: typescript
source: |-
import { Vercel } from "@vercel/sdk";
const vercel = new Vercel({
bearerToken: "",
});
async function run() {
const result = await vercel.domains.getDomainTransfer({
teamId: "team_1a2b3c4d5e6f7g8h9i0j1k2l",
slug: "my-team-url-slug",
domain: "example.com",
});
console.log(result);
}
run();
response:
'200':
application/json:
schemaArray:
- type: object
properties:
reason:
allOf:
- type: string
status:
allOf:
- type: string
transferable:
allOf:
- type: boolean
transferPolicy:
allOf:
- type: string
enum:
- charge-and-renew
requiredProperties:
- reason
- status
- transferable
- transferPolicy
- type: object
properties:
transferable:
allOf:
- type: boolean
description: Whether or not the domain is transferable
transferPolicy:
allOf:
- nullable: true
type: string
enum:
- charge-and-renew
- no-charge-no-change
- no-change
- new-term
- not-supported
description: >-
The domain's transfer policy (depends on TLD
requirements). `charge-and-renew`: transfer will charge
for renewal and will renew the existing domain's
registration. `no-charge-no-change`: transfer will have no
change to registration period and does not require charge.
`no-change`: transfer charge is required, but no change in
registration period. `new-term`: transfer charge is
required and a new registry term is set based on the
transfer date. `not-supported`: transfers are not
supported for this domain or TLD. `null`: This TLD is not
supported by Vercel's Registrar.
reason:
allOf:
- type: string
description: Description associated with transferable state.
status:
allOf:
- type: string
enum:
- completed
- undef
- pending_owner
- pending_admin
- pending_registry
- cancelled
- unknown
description: >-
The current state of an ongoing transfer. `pending_owner`:
Awaiting approval by domain's admin contact (every
transfer begins with this status). If approval is not
given within five days, the transfer is cancelled.
`pending_admin`: Waiting for approval by Vercel Registrar
admin. `pending_registry`: Awaiting registry approval (the
transfer completes after 7 days unless it is declined by
the current registrar). `completed`: The transfer
completed successfully. `cancelled`: The transfer was
cancelled. `undef`: No transfer exists for this domain.
`unknown`: This TLD is not supported by Vercel's
Registrar.
requiredProperties:
- transferable
- transferPolicy
- reason
- status
examples:
example:
value:
reason:
status:
transferable: true
transferPolicy: charge-and-renew
description: ''
'400': {}
'401':
_mintlify/placeholder:
schemaArray:
- type: any
description: The request is not authorized.
examples: {}
description: The request is not authorized.
'403':
_mintlify/placeholder:
schemaArray:
- type: any
description: You do not have permission to access this resource.
examples: {}
description: You do not have permission to access this resource.
'500': {}
deprecated: false
type: path
components:
schemas: {}
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/edge-config/get-edge-config-backup.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Get Edge Config backup
> Retrieves a specific version of an Edge Config from backup storage.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v1/edge-config/{edgeConfigId}/backups/{edgeConfigBackupVersionId}
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/edge-config/{edgeConfigId}/backups/{edgeConfigBackupVersionId}:
get:
tags:
- edge-config
summary: Get Edge Config backup
description: Retrieves a specific version of an Edge Config from backup storage.
operationId: getEdgeConfigBackup
parameters:
- name: edgeConfigId
in: path
required: true
schema:
type: string
- name: edgeConfigBackupVersionId
in: path
required: true
schema:
type: string
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'200':
description: ''
content:
application/json:
schema:
oneOf:
- properties:
id:
type: string
lastModified:
type: number
backup:
properties:
items:
additionalProperties:
properties:
description:
type: string
createdAt:
type: number
updatedAt:
type: number
value:
$ref: '#/components/schemas/EdgeConfigItemValue'
required:
- createdAt
- updatedAt
- value
type: object
type: object
slug:
type: string
description: >-
Name for the Edge Config Names are not unique.
Must start with an alphabetic character and can
contain only alphanumeric characters and
underscores).
updatedAt:
type: number
digest:
type: string
required:
- digest
- items
- slug
- updatedAt
type: object
metadata:
properties:
updatedAt:
type: string
updatedBy:
type: string
itemsCount:
type: number
itemsBytes:
type: number
type: object
user:
properties:
id:
type: string
username:
type: string
email:
type: string
name:
type: string
avatar:
type: string
required:
- email
- id
- username
type: object
required:
- backup
- id
- lastModified
- metadata
type: object
description: >-
The object the API responds with when requesting an Edge
Config backup
- properties:
user:
properties:
id:
type: string
username:
type: string
email:
type: string
name:
type: string
avatar:
type: string
required:
- email
- id
- username
type: object
id:
type: string
lastModified:
type: number
backup:
properties:
items:
additionalProperties:
properties:
description:
type: string
createdAt:
type: number
updatedAt:
type: number
value:
$ref: '#/components/schemas/EdgeConfigItemValue'
required:
- createdAt
- updatedAt
- value
type: object
type: object
slug:
type: string
description: >-
Name for the Edge Config Names are not unique.
Must start with an alphabetic character and can
contain only alphanumeric characters and
underscores).
updatedAt:
type: number
digest:
type: string
required:
- digest
- items
- slug
- updatedAt
type: object
metadata:
properties:
updatedAt:
type: string
updatedBy:
type: string
itemsCount:
type: number
itemsBytes:
type: number
type: object
required:
- backup
- id
- lastModified
- metadata
- user
type: object
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
security:
- bearerToken: []
components:
schemas:
EdgeConfigItemValue:
nullable: true
oneOf:
- type: string
- type: number
- additionalProperties:
$ref: '#/components/schemas/EdgeConfigItemValue'
type: object
- items:
$ref: '#/components/schemas/EdgeConfigItemValue'
type: array
- type: boolean
enum:
- false
- true
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/edge-config/get-edge-config-backups.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Get Edge Config backups
> Returns backups of an Edge Config.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v1/edge-config/{edgeConfigId}/backups
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/edge-config/{edgeConfigId}/backups:
get:
tags:
- edge-config
summary: Get Edge Config backups
description: Returns backups of an Edge Config.
operationId: getEdgeConfigBackups
parameters:
- name: edgeConfigId
in: path
required: true
schema:
type: string
- name: next
in: query
required: false
schema:
type: string
- name: limit
in: query
required: false
schema:
type: number
minimum: 0
maximum: 50
- name: metadata
in: query
required: false
schema:
type: string
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'200':
description: ''
content:
application/json:
schema:
properties:
backups:
items:
properties:
metadata:
properties:
updatedAt:
type: string
updatedBy:
type: string
itemsCount:
type: number
itemsBytes:
type: number
type: object
id:
type: string
lastModified:
type: number
required:
- id
- lastModified
type: object
type: array
pagination:
properties:
hasNext:
type: boolean
enum:
- false
- true
next:
type: string
required:
- hasNext
type: object
required:
- backups
- pagination
type: object
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/edge-config/get-edge-config-items.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Get Edge Config items
> Returns all items of an Edge Config.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v1/edge-config/{edgeConfigId}/items
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/edge-config/{edgeConfigId}/items:
get:
tags:
- edge-config
summary: Get Edge Config items
description: Returns all items of an Edge Config.
operationId: getEdgeConfigItems
parameters:
- name: edgeConfigId
in: path
required: true
schema:
type: string
pattern: ^ecfg_
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'200':
description: List of all Edge Config items.
content:
application/json:
schema:
items:
$ref: '#/components/schemas/EdgeConfigItem'
type: array
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
security:
- bearerToken: []
components:
schemas:
EdgeConfigItem:
properties:
key:
type: string
value:
$ref: '#/components/schemas/EdgeConfigItemValue'
description:
type: string
edgeConfigId:
type: string
createdAt:
type: number
updatedAt:
type: number
required:
- createdAt
- edgeConfigId
- key
- updatedAt
- value
type: object
description: The EdgeConfig.
EdgeConfigItemValue:
nullable: true
oneOf:
- type: string
- type: number
- additionalProperties:
$ref: '#/components/schemas/EdgeConfigItemValue'
type: object
- items:
$ref: '#/components/schemas/EdgeConfigItemValue'
type: array
- type: boolean
enum:
- false
- true
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/edge-config/get-edge-config-schema.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Get Edge Config schema
> Returns the schema of an Edge Config.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v1/edge-config/{edgeConfigId}/schema
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/edge-config/{edgeConfigId}/schema:
get:
tags:
- edge-config
summary: Get Edge Config schema
description: Returns the schema of an Edge Config.
operationId: getEdgeConfigSchema
parameters:
- name: edgeConfigId
in: path
required: true
schema:
type: string
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'200':
description: The EdgeConfig.
content:
application/json:
schema:
nullable: true
type: object
description: The EdgeConfig.
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/edge-config/get-edge-config-token-meta-data.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Get Edge Config token meta data
> Return meta data about an Edge Config token.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v1/edge-config/{edgeConfigId}/token/{token}
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/edge-config/{edgeConfigId}/token/{token}:
get:
tags:
- edge-config
summary: Get Edge Config token meta data
description: Return meta data about an Edge Config token.
operationId: getEdgeConfigToken
parameters:
- name: edgeConfigId
in: path
required: true
schema:
type: string
- name: token
in: path
required: true
schema:
type: string
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'200':
description: The EdgeConfig.
content:
application/json:
schema:
$ref: '#/components/schemas/EdgeConfigToken'
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
security:
- bearerToken: []
components:
schemas:
EdgeConfigToken:
properties:
token:
type: string
label:
type: string
id:
type: string
description: >-
This is not the token itself, but rather an id to identify the token
by
edgeConfigId:
type: string
createdAt:
type: number
required:
- createdAt
- edgeConfigId
- id
- label
- token
type: object
description: The EdgeConfig.
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/edge-config/get-edge-configs.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Get Edge Configs
> Returns all Edge Configs.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v1/edge-config
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/edge-config:
get:
tags:
- edge-config
summary: Get Edge Configs
description: Returns all Edge Configs.
operationId: getEdgeConfigs
parameters:
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'200':
description: List of all edge configs.
content:
application/json:
schema:
type: array
description: List of all edge configs.
items:
properties:
id:
type: string
createdAt:
type: number
ownerId:
type: string
slug:
type: string
description: >-
Name for the Edge Config Names are not unique. Must
start with an alphabetic character and can contain only
alphanumeric characters and underscores).
updatedAt:
type: number
digest:
type: string
transfer:
properties:
fromAccountId:
type: string
startedAt:
type: number
doneAt:
nullable: true
type: number
required:
- fromAccountId
- startedAt
- doneAt
type: object
description: >-
Keeps track of the current state of the Edge Config
while it gets transferred.
schema:
type: object
purpose:
properties:
type:
type: string
enum:
- flags
projectId:
type: string
required:
- type
- projectId
type: object
sizeInBytes:
type: number
itemCount:
type: number
required:
- sizeInBytes
- itemCount
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/domains/get-information-for-a-single-domain.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Get Information for a Single Domain
> Get information for a single domain in an account or team.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v5/domains/{domain}
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v5/domains/{domain}:
get:
tags:
- domains
summary: Get Information for a Single Domain
description: Get information for a single domain in an account or team.
operationId: getDomain
parameters:
- name: domain
description: The name of the domain.
in: path
required: true
schema:
description: The name of the domain.
type: string
example: example.com
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'200':
description: >-
Successful response retrieving an information for a specific
domains.
content:
application/json:
schema:
properties:
domain:
properties:
suffix:
type: boolean
enum:
- false
- true
verified:
type: boolean
enum:
- false
- true
description: If the domain has the ownership verified.
example: true
nameservers:
items:
type: string
type: array
description: A list of the current nameservers of the domain.
example:
- ns1.nameserver.net
- ns2.nameserver.net
intendedNameservers:
items:
type: string
type: array
description: >-
A list of the intended nameservers for the domain to
point to Vercel DNS.
example:
- ns1.vercel-dns.com
- ns2.vercel-dns.com
customNameservers:
items:
type: string
type: array
description: >-
A list of custom nameservers for the domain to point
to. Only applies to domains purchased with Vercel.
example:
- ns1.nameserver.net
- ns2.nameserver.net
creator:
properties:
username:
type: string
email:
type: string
customerId:
nullable: true
type: string
isDomainReseller:
type: boolean
enum:
- false
- true
id:
type: string
required:
- email
- id
- username
type: object
description: >-
An object containing information of the domain
creator, including the user's id, username, and email.
example:
id: ZspSRT4ljIEEmMHgoDwKWDei
username: vercel_user
email: demo@example.com
registrar:
type: string
enum:
- new
description: >-
Whether or not the domain is registered with Name.com.
If set to `true`, the domain is registered with
Name.com.
name:
type: string
description: The domain name.
example: example.com
teamId:
nullable: true
type: string
boughtAt:
nullable: true
type: number
description: >-
If it was purchased through Vercel, the timestamp in
milliseconds when it was purchased.
example: 1613602938882
createdAt:
type: number
description: >-
Timestamp in milliseconds when the domain was created
in the registry.
example: 1613602938882
expiresAt:
nullable: true
type: number
description: >-
Timestamp in milliseconds at which the domain is set
to expire. `null` if not bought with Vercel.
example: 1613602938882
id:
type: string
description: The unique identifier of the domain.
example: EmTbe5CEJyTk2yVAHBUWy4A3sRusca3GCwRjTC1bpeVnt1
renew:
type: boolean
enum:
- false
- true
description: >-
Indicates whether the domain is set to automatically
renew.
example: true
serviceType:
type: string
enum:
- zeit.world
- external
- na
description: >-
The type of service the domain is handled by.
`external` if the DNS is externally handled,
`zeit.world` if handled with Vercel, or `na` if the
service is not available.
example: zeit.world
transferredAt:
nullable: true
type: number
description: >-
Timestamp in milliseconds at which the domain was
successfully transferred into Vercel. `null` if the
transfer is still processing or was never transferred
in.
example: 1613602938882
transferStartedAt:
type: number
description: >-
If transferred into Vercel, timestamp in milliseconds
when the domain transfer was initiated.
example: 1613602938882
userId:
type: string
required:
- boughtAt
- createdAt
- creator
- expiresAt
- id
- intendedNameservers
- name
- nameservers
- serviceType
- suffix
- teamId
- userId
- verified
type: object
required:
- domain
type: object
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/marketplace/get-integration-resource.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Get Integration Resource
> Get a resource by its partner ID.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v1/installations/{integrationConfigurationId}/resources/{resourceId}
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/installations/{integrationConfigurationId}/resources/{resourceId}:
get:
tags:
- marketplace
summary: Get Integration Resource
description: Get a resource by its partner ID.
operationId: get-integration-resource
parameters:
- name: integrationConfigurationId
description: >-
The ID of the integration configuration (installation) the resource
belongs to
in: path
required: true
schema:
type: string
description: >-
The ID of the integration configuration (installation) the
resource belongs to
- name: resourceId
description: The ID provided by the 3rd party provider for the given resource
in: path
required: true
schema:
type: string
description: The ID provided by the 3rd party provider for the given resource
responses:
'200':
description: ''
content:
application/json:
schema:
properties:
id:
type: string
description: >-
The ID provided by the 3rd party provider for the given
resource
internalId:
type: string
description: The ID assigned by Vercel for the given resource
name:
type: string
description: The name of the resource as it is recorded in Vercel
status:
type: string
enum:
- error
- ready
- pending
- onboarding
- suspended
- resumed
- uninstalled
description: The current status of the resource
productId:
type: string
description: The ID of the product the resource is derived from
protocolSettings:
properties:
experimentation:
properties:
edgeConfigSyncingEnabled:
type: boolean
enum:
- false
- true
edgeConfigId:
type: string
edgeConfigTokenId:
type: string
type: object
type: object
description: >-
Any settings provided for the resource to support its
product's protocols
notification:
properties:
title:
type: string
level:
type: string
enum:
- error
- info
- warn
message:
type: string
href:
type: string
required:
- level
- title
type: object
description: >-
The notification, if set, displayed to the user when
viewing the resource in Vercel
billingPlanId:
type: string
description: >-
The ID of the billing plan the resource is subscribed to,
if applicable
metadata:
additionalProperties:
oneOf:
- type: string
- type: number
- items:
type: string
type: array
description: >-
The configured metadata for the resource as defined
by its product's Metadata Schema
- items:
type: number
type: array
description: >-
The configured metadata for the resource as defined
by its product's Metadata Schema
- type: boolean
enum:
- false
- true
type: object
description: >-
The configured metadata for the resource as defined by its
product's Metadata Schema
required:
- id
- internalId
- name
- productId
type: object
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/marketplace/get-integration-resources.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Get Integration Resources
> Get all resources for a given installation ID.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v1/installations/{integrationConfigurationId}/resources
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/installations/{integrationConfigurationId}/resources:
get:
tags:
- marketplace
summary: Get Integration Resources
description: Get all resources for a given installation ID.
operationId: get-integration-resources
parameters:
- name: integrationConfigurationId
in: path
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
properties:
resources:
items:
properties:
partnerId:
type: string
description: >-
The ID provided by the partner for the given
resource
internalId:
type: string
description: The ID assigned by Vercel for the given resource
name:
type: string
description: The name of the resource as it is recorded in Vercel
status:
type: string
enum:
- error
- ready
- pending
- onboarding
- suspended
- resumed
- uninstalled
description: The current status of the resource
productId:
type: string
description: The ID of the product the resource is derived from
protocolSettings:
properties:
experimentation:
properties:
edgeConfigSyncingEnabled:
type: boolean
enum:
- false
- true
edgeConfigId:
type: string
edgeConfigTokenId:
type: string
type: object
type: object
description: >-
Any settings provided for the resource to support
its product's protocols
notification:
properties:
title:
type: string
level:
type: string
enum:
- error
- info
- warn
message:
type: string
href:
type: string
required:
- level
- title
type: object
description: >-
The notification, if set, displayed to the user when
viewing the resource in Vercel
billingPlanId:
type: string
description: >-
The ID of the billing plan the resource is
subscribed to, if applicable
metadata:
additionalProperties:
oneOf:
- type: string
- type: number
- items:
type: string
type: array
description: >-
The configured metadata for the resource as
defined by its product's Metadata Schema
- items:
type: number
type: array
description: >-
The configured metadata for the resource as
defined by its product's Metadata Schema
- type: boolean
enum:
- false
- true
type: object
description: >-
The configured metadata for the resource as defined
by its product's Metadata Schema
required:
- internalId
- name
- partnerId
- productId
type: object
type: array
required:
- resources
type: object
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/marketplace/get-invoice.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Get Invoice
> Get Invoice details and status for a given invoice ID.
See Billing Events with Webhooks documentation on how to receive invoice events. This endpoint is used to retrieve the invoice details.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v1/installations/{integrationConfigurationId}/billing/invoices/{invoiceId}
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/installations/{integrationConfigurationId}/billing/invoices/{invoiceId}:
get:
tags:
- marketplace
summary: Get Invoice
description: >-
Get Invoice details and status for a given invoice ID.
See
Billing Events with Webhooks documentation on how to receive invoice
events. This endpoint is used to retrieve the invoice details.
operationId: get-invoice
parameters:
- name: integrationConfigurationId
in: path
required: true
schema:
type: string
- name: invoiceId
in: path
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
properties:
test:
type: boolean
enum:
- false
- true
description: >-
Whether the invoice is in the testmode (no real
transaction created).
invoiceId:
type: string
description: Vercel Marketplace Invoice ID.
externalId:
type: string
description: Partner-supplied Invoice ID, if applicable.
state:
type: string
enum:
- pending
- paid
- notpaid
- draft
- scheduled
- invoiced
- refund_requested
- refunded
description: Invoice state.
invoiceNumber:
type: string
description: User-readable invoice number.
invoiceDate:
type: string
description: Invoice date. ISO 8601 timestamp.
period:
properties:
start:
type: string
end:
type: string
required:
- end
- start
type: object
description: >-
Subscription period for this billing cycle. ISO 8601
timestamps.
paidAt:
type: string
description: Moment the invoice was paid. ISO 8601 timestamp.
refundedAt:
type: string
description: >-
Most recent moment the invoice was refunded. ISO 8601
timestamp.
memo:
type: string
description: Additional memo for the invoice.
items:
items:
properties:
billingPlanId:
type: string
description: Partner's billing plan ID.
resourceId:
type: string
description: >-
Partner's resource ID. If not specified, indicates
installation-wide item.
start:
type: string
description: >-
Start and end are only needed if different from the
period's start/end. ISO 8601 timestamp.
end:
type: string
description: >-
Start and end are only needed if different from the
period's start/end. ISO 8601 timestamp.
name:
type: string
description: Invoice item name.
details:
type: string
description: Additional item details.
price:
type: string
description: Item price. A dollar-based decimal string.
quantity:
type: number
description: Item quantity.
units:
type: string
description: Units for item's quantity.
total:
type: string
description: Item total. A dollar-based decimal string.
required:
- billingPlanId
- name
- price
- quantity
- total
- units
type: object
description: Invoice items.
type: array
description: Invoice items.
discounts:
items:
properties:
billingPlanId:
type: string
description: Partner's billing plan ID.
resourceId:
type: string
description: >-
Partner's resource ID. If not specified, indicates
installation-wide discount.
start:
type: string
description: >-
Start and end are only needed if different from the
period's start/end. ISO 8601 timestamp.
end:
type: string
description: >-
Start and end are only needed if different from the
period's start/end. ISO 8601 timestamp.
name:
type: string
description: Discount name.
details:
type: string
description: Additional discount details.
amount:
type: string
description: Discount amount. A dollar-based decimal string.
required:
- amount
- billingPlanId
- name
type: object
description: Invoice discounts.
type: array
description: Invoice discounts.
total:
type: string
description: Invoice total amount. A dollar-based decimal string.
refundReason:
type: string
description: >-
The reason for refund. Only applicable for states
"refunded" or "refund_request".
refundTotal:
type: string
description: >-
Refund amount. Only applicable for states "refunded" or
"refund_request". A dollar-based decimal string.
created:
type: string
description: System creation date. ISO 8601 timestamp.
updated:
type: string
description: System update date. ISO 8601 timestamp.
required:
- created
- invoiceDate
- invoiceId
- items
- period
- state
- total
- updated
type: object
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/logs/get-logs-for-a-deployment.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Get logs for a deployment
> Returns a stream of logs for a given deployment.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v1/projects/{projectId}/deployments/{deploymentId}/runtime-logs
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/projects/{projectId}/deployments/{deploymentId}/runtime-logs:
get:
tags:
- logs
summary: Get logs for a deployment
description: Returns a stream of logs for a given deployment.
operationId: getRuntimeLogs
parameters:
- name: projectId
in: path
required: true
schema:
type: string
- name: deploymentId
in: path
required: true
schema:
type: string
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'200':
description: ''
content:
application/stream+json:
schema:
properties:
level:
type: string
enum:
- error
- warning
- info
message:
type: string
rowId:
type: string
source:
type: string
enum:
- delimiter
- edge-function
- edge-middleware
- serverless
- request
timestampInMs:
type: number
domain:
type: string
messageTruncated:
type: boolean
enum:
- false
- true
requestMethod:
type: string
requestPath:
type: string
responseStatusCode:
type: number
required:
- domain
- level
- message
- messageTruncated
- requestMethod
- requestPath
- responseStatusCode
- rowId
- source
- timestampInMs
type: object
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/marketplace/get-member-information.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Get Member Information
> Returns the member role and other information for a given member ID ("user_id" claim in the SSO OIDC token).
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v1/installations/{integrationConfigurationId}/member/{memberId}
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/installations/{integrationConfigurationId}/member/{memberId}:
get:
tags:
- marketplace
summary: Get Member Information
description: >-
Returns the member role and other information for a given member ID
("user_id" claim in the SSO OIDC token).
operationId: get-member
parameters:
- name: integrationConfigurationId
in: path
required: true
schema:
type: string
- name: memberId
in: path
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
properties:
id:
type: string
role:
type: string
enum:
- ADMIN
- USER
description: >-
"The `ADMIN` role, by default, is provided to users
capable of installing integrations, while the `USER` role
can be granted to Vercel users with the Vercel `Billing`
or Vercel `Viewer` role, which are considered to be
Read-Only roles."
globalUserId:
type: string
userEmail:
type: string
required:
- id
- role
type: object
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/domains-registrar/get-price-data-for-a-domain.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Get price data for a domain
> Get price data for a specific domain
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v1/registrar/domains/{domain}/price
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/registrar/domains/{domain}/price:
get:
tags:
- domains-registrar
summary: Get price data for a domain
description: Get price data for a specific domain
operationId: getDomainPrice
parameters:
- name: domain
in: path
schema:
$ref: '#/components/schemas/DomainName'
required: true
- name: years
in: query
schema:
type: string
description: >-
The number of years to get the price for. If not provided, the
minimum number of years for the TLD will be used.
required: false
description: >-
The number of years to get the price for. If not provided, the
minimum number of years for the TLD will be used.
- name: teamId
in: query
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
required: false
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
required:
- years
- purchasePrice
- renewalPrice
- transferPrice
properties:
years:
type: number
purchasePrice:
anyOf:
- type: number
minimum: 0.01
- type: string
renewalPrice:
anyOf:
- type: number
minimum: 0.01
- type: string
transferPrice:
anyOf:
- type: number
minimum: 0.01
- type: string
additionalProperties: false
'400':
description: There was something wrong with the request
content:
application/json:
schema:
anyOf:
- $ref: '#/components/schemas/BadRequest'
- $ref: '#/components/schemas/DomainTooShort'
- $ref: '#/components/schemas/TldNotSupported'
- $ref: '#/components/schemas/HttpApiDecodeError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Unauthorized'
'403':
description: NotAuthorizedForScope
content:
application/json:
schema:
$ref: '#/components/schemas/NotAuthorizedForScope'
'429':
description: TooManyRequests
content:
application/json:
schema:
$ref: '#/components/schemas/TooManyRequests'
'500':
description: InternalServerError
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerError'
security:
- bearerToken: []
components:
schemas:
DomainName:
type: string
description: A valid domain name
BadRequest:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 400
code:
type: string
enum:
- bad_request
message:
type: string
additionalProperties: false
DomainTooShort:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 400
code:
type: string
enum:
- domain_too_short
message:
type: string
additionalProperties: false
description: The domain name (excluding the TLD) is too short.
TldNotSupported:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 400
code:
type: string
enum:
- tld_not_supported
message:
type: string
additionalProperties: false
description: The TLD is not currently supported.
HttpApiDecodeError:
type: object
required:
- issues
- message
properties:
issues:
type: array
items:
$ref: '#/components/schemas/Issue'
message:
type: string
additionalProperties: false
description: The request did not match the expected schema
Unauthorized:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 401
code:
type: string
enum:
- unauthorized
message:
type: string
additionalProperties: false
NotAuthorizedForScope:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 403
code:
type: string
enum:
- not_authorized_for_scope
message:
type: string
additionalProperties: false
TooManyRequests:
type: object
required:
- status
- code
- message
- retryAfter
- limit
properties:
status:
type: number
enum:
- 429
code:
type: string
enum:
- too_many_requests
message:
type: string
retryAfter:
type: object
required:
- value
- str
properties:
value:
type: number
str:
type: string
additionalProperties: false
limit:
type: object
required:
- total
- remaining
- reset
properties:
total:
type: number
remaining:
type: number
reset:
type: number
additionalProperties: false
additionalProperties: false
InternalServerError:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 500
code:
type: string
enum:
- internal_server_error
message:
type: string
additionalProperties: false
Issue:
type: object
required:
- path
- message
properties:
path:
type: array
items:
$ref: '#/components/schemas/PropertyKey'
description: The path to the property where the issue occurred
message:
type: string
description: A descriptive message explaining the issue
additionalProperties: false
description: >-
Represents an error encountered while parsing a value to match the
schema
PropertyKey:
anyOf:
- type: string
- type: number
- type: object
required:
- _tag
- key
properties:
_tag:
type: string
enum:
- symbol
key:
type: string
additionalProperties: false
description: an object to be decoded into a globally shared symbol
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/rolling-release/get-rolling-release-billing-status.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Get rolling release billing status
> Get 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.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v1/projects/{idOrName}/rolling-release/billing
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/projects/{idOrName}/rolling-release/billing:
get:
tags:
- rolling-release
summary: Get rolling release billing status
description: >-
Get 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.
operationId: getRollingReleaseBillingStatus
parameters:
- name: idOrName
description: Project ID or project name (URL-encoded)
in: path
required: true
schema:
description: Project ID or project name (URL-encoded)
type: string
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'200':
description: ''
content:
application/json:
schema:
oneOf:
- properties:
availableSlots:
type: number
enum:
- 0
reason:
type: string
enum:
- plan_not_supported
message:
type: string
required:
- availableSlots
- message
- reason
type: object
- properties:
availableSlots:
type: string
enum:
- unlimited
reason:
type: string
enum:
- unlimited_slots
message:
type: string
required:
- availableSlots
- message
- reason
type: object
- properties:
availableSlots:
type: number
enum:
- 0
reason:
type: string
enum:
- no_available_slots
message:
type: string
enabledProjects:
items:
type: string
type: array
required:
- availableSlots
- enabledProjects
- message
- reason
type: object
- properties:
availableSlots:
type: number
reason:
type: string
enum:
- available_slots
message:
type: string
required:
- availableSlots
- message
- reason
type: object
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/rolling-release/get-rolling-release-configuration.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Get rolling release configuration
> Get 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.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v1/projects/{idOrName}/rolling-release/config
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/projects/{idOrName}/rolling-release/config:
get:
tags:
- rolling-release
summary: Get rolling release configuration
description: >-
Get 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.
operationId: getRollingReleaseConfig
parameters:
- name: idOrName
description: Project ID or project name (URL-encoded)
in: path
required: true
schema:
description: Project ID or project name (URL-encoded)
type: string
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'200':
description: ''
content:
application/json:
schema:
properties:
rollingRelease:
nullable: true
properties:
target:
type: string
description: >-
The environment that the release targets, currently
only supports production. Adding in case we want to
configure with alias groups or custom environments.
example: production
stages:
nullable: true
items:
properties:
targetPercentage:
type: number
description: >-
The percentage of traffic to serve to the canary
deployment (0-100)
example: 25
requireApproval:
type: boolean
enum:
- false
- true
description: >-
Whether or not this stage requires manual
approval to proceed
example: false
duration:
type: number
description: >-
Duration in minutes for automatic advancement to
the next stage
example: 600
linearShift:
type: boolean
enum:
- false
- true
description: >-
Whether to linearly shift traffic over the
duration of this stage
example: false
required:
- targetPercentage
type: object
description: >-
An array of all the stages required during a
deployment release. Each stage defines a target
percentage and advancement rules. The final stage
must always have targetPercentage: 100.
type: array
description: >-
An array of all the stages required during a
deployment release. Each stage defines a target
percentage and advancement rules. The final stage must
always have targetPercentage: 100.
canaryResponseHeader:
type: boolean
enum:
- false
- true
description: >-
Whether the request served by a canary deployment
should return a header indicating a canary was served.
Defaults to `false` when omitted.
example: false
required:
- target
type: object
description: >-
Project-level rolling release configuration that defines
how deployments should be gradually rolled out
required:
- rollingRelease
type: object
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/artifacts/get-status-of-remote-caching-for-this-principal.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Get status of Remote Caching for this principal
> 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.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v8/artifacts/status
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v8/artifacts/status:
get:
tags:
- artifacts
summary: Get status of Remote Caching for this principal
description: >-
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.
operationId: status
parameters:
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'200':
description: ''
content:
application/json:
schema:
properties:
status:
type: string
enum:
- disabled
- enabled
- over_limit
- paused
required:
- status
type: object
'400':
description: ''
'401':
description: The request is not authorized.
'402':
description: |-
The account was soft-blocked for an unhandled reason.
The account is missing a payment so payment method must be updated
'403':
description: You do not have permission to access this resource.
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/domains-registrar/get-supported-tlds.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Get supported TLDs
> Get a list of TLDs supported by Vercel
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v1/registrar/tlds/supported
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/registrar/tlds/supported:
get:
tags:
- domains-registrar
summary: Get supported TLDs
description: Get a list of TLDs supported by Vercel
operationId: getSupportedTlds
parameters:
- name: teamId
in: query
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
required: false
responses:
'200':
description: A list of the TLDs supported by Vercel.
content:
application/json:
schema:
type: array
items:
type: string
description: A list of the TLDs supported by Vercel.
'400':
description: There was something wrong with the request
content:
application/json:
schema:
$ref: '#/components/schemas/HttpApiDecodeError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Unauthorized'
'403':
description: NotAuthorizedForScope
content:
application/json:
schema:
$ref: '#/components/schemas/NotAuthorizedForScope'
'429':
description: TooManyRequests
content:
application/json:
schema:
$ref: '#/components/schemas/TooManyRequests'
'500':
description: InternalServerError
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerError'
security:
- bearerToken: []
components:
schemas:
HttpApiDecodeError:
type: object
required:
- issues
- message
properties:
issues:
type: array
items:
$ref: '#/components/schemas/Issue'
message:
type: string
additionalProperties: false
description: The request did not match the expected schema
Unauthorized:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 401
code:
type: string
enum:
- unauthorized
message:
type: string
additionalProperties: false
NotAuthorizedForScope:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 403
code:
type: string
enum:
- not_authorized_for_scope
message:
type: string
additionalProperties: false
TooManyRequests:
type: object
required:
- status
- code
- message
- retryAfter
- limit
properties:
status:
type: number
enum:
- 429
code:
type: string
enum:
- too_many_requests
message:
type: string
retryAfter:
type: object
required:
- value
- str
properties:
value:
type: number
str:
type: string
additionalProperties: false
limit:
type: object
required:
- total
- remaining
- reset
properties:
total:
type: number
remaining:
type: number
reset:
type: number
additionalProperties: false
additionalProperties: false
InternalServerError:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 500
code:
type: string
enum:
- internal_server_error
message:
type: string
additionalProperties: false
Issue:
type: object
required:
- path
- message
properties:
path:
type: array
items:
$ref: '#/components/schemas/PropertyKey'
description: The path to the property where the issue occurred
message:
type: string
description: A descriptive message explaining the issue
additionalProperties: false
description: >-
Represents an error encountered while parsing a value to match the
schema
PropertyKey:
anyOf:
- type: string
- type: number
- type: object
required:
- _tag
- key
properties:
_tag:
type: string
enum:
- symbol
key:
type: string
additionalProperties: false
description: an object to be decoded into a globally shared symbol
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/rolling-release/get-the-active-rolling-release-information-for-a-project.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Get the active rolling release information for a project
> Return 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.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v1/projects/{idOrName}/rolling-release
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/projects/{idOrName}/rolling-release:
get:
tags:
- rolling-release
summary: Get the active rolling release information for a project
description: >-
Return 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.
operationId: getRollingRelease
parameters:
- name: idOrName
description: Project ID or project name (URL-encoded)
in: path
required: true
schema:
description: Project ID or project name (URL-encoded)
type: string
- name: state
description: Filter by rolling release state
in: query
required: false
schema:
description: Filter by rolling release state
type: string
enum:
- ACTIVE
- COMPLETE
- ABORTED
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'200':
description: ''
content:
application/json:
schema:
properties:
rollingRelease:
nullable: true
properties:
state:
type: string
enum:
- ACTIVE
- COMPLETE
- ABORTED
description: The current state of the rolling release
example: ACTIVE
currentDeployment:
nullable: true
properties:
name:
type: string
description: >-
The name of the project associated with the
deployment at the time that the deployment was
created
example: my-project
createdAt:
type: number
description: >-
A number containing the date when the deployment
was created in milliseconds
example: 1540257589405
id:
type: string
description: A string holding the unique ID of the deployment
example: dpl_89qyp1cskzkLrVicDaZoDbjyHuDJ
readyState:
type: string
enum:
- BUILDING
- ERROR
- INITIALIZING
- QUEUED
- READY
- CANCELED
description: >-
The state of the deployment depending on the
process of deploying, or if it is ready or in an
error state
example: READY
readyStateAt:
type: number
source:
type: string
enum:
- import
- api-trigger-git-deploy
- cli
- clone/repo
- git
- import/repo
- redeploy
- v0-web
description: Where was the deployment created from
example: cli
target:
nullable: true
type: string
enum:
- staging
- production
description: >-
If defined, either `staging` if a staging alias in
the format `..now.sh` was assigned
upon creation, or `production` if the aliases from
`alias` were assigned. `null` value indicates the
"preview" deployment.
example: null
url:
type: string
description: A string with the unique URL of the deployment
example: my-instant-deployment-3ij3cxz9qr.now.sh
required:
- createdAt
- id
- name
- readyState
- url
type: object
description: The current deployment receiving production traffic
example:
id: dpl_abc123
name: my-shop@main
url: my-shop.vercel.app
target: production
source: git
createdAt: 1716206500000
readyState: READY
readyStateAt: 1716206800000
canaryDeployment:
nullable: true
properties:
name:
type: string
description: >-
The name of the project associated with the
deployment at the time that the deployment was
created
example: my-project
createdAt:
type: number
description: >-
A number containing the date when the deployment
was created in milliseconds
example: 1540257589405
id:
type: string
description: A string holding the unique ID of the deployment
example: dpl_89qyp1cskzkLrVicDaZoDbjyHuDJ
readyState:
type: string
enum:
- BUILDING
- ERROR
- INITIALIZING
- QUEUED
- READY
- CANCELED
description: >-
The state of the deployment depending on the
process of deploying, or if it is ready or in an
error state
example: READY
readyStateAt:
type: number
source:
type: string
enum:
- import
- api-trigger-git-deploy
- cli
- clone/repo
- git
- import/repo
- redeploy
- v0-web
description: Where was the deployment created from
example: cli
target:
nullable: true
type: string
enum:
- staging
- production
description: >-
If defined, either `staging` if a staging alias in
the format `..now.sh` was assigned
upon creation, or `production` if the aliases from
`alias` were assigned. `null` value indicates the
"preview" deployment.
example: null
url:
type: string
description: A string with the unique URL of the deployment
example: my-instant-deployment-3ij3cxz9qr.now.sh
required:
- createdAt
- id
- name
- readyState
- url
type: object
description: The canary deployment being rolled out
example:
id: dpl_def456
name: my-shop@9c7e2f4
url: 9c7e2f4-my-shop.vercel.app
target: production
source: git
createdAt: 1716210100000
readyState: READY
readyStateAt: 1716210400000
queuedDeploymentId:
nullable: true
type: string
description: >-
The ID of a deployment queued for the next rolling
release
example: dpl_ghi789
advancementType:
type: string
enum:
- automatic
- manual-approval
description: The advancement type of the rolling release
example: manual-approval
stages:
items:
properties:
index:
type: number
description: The zero-based index of the stage
example: 0
isFinalStage:
type: boolean
enum:
- false
- true
description: >-
Whether or not this stage is the final stage
(targetPercentage === 100)
example: false
targetPercentage:
type: number
description: >-
The percentage of traffic to serve to the canary
deployment (0-100)
example: 25
requireApproval:
type: boolean
enum:
- false
- true
description: >-
Whether or not this stage requires manual
approval to proceed
duration:
nullable: true
type: number
description: >-
Duration in seconds for automatic advancement,
null for manual stages or the final stage
example: null
linearShift:
type: boolean
enum:
- false
- true
description: >-
Whether to linearly shift traffic over the
duration of this stage
example: false
required:
- duration
- index
- isFinalStage
- requireApproval
- targetPercentage
type: object
description: All stages configured for this rolling release
example:
- index: 0
isFinalStage: false
targetPercentage: 5
requireApproval: true
duration: null
- index: 1
isFinalStage: false
targetPercentage: 25
requireApproval: true
duration: null
- index: 2
isFinalStage: false
targetPercentage: 60
requireApproval: true
duration: null
- index: 3
isFinalStage: true
targetPercentage: 100
requireApproval: false
duration: null
type: array
description: All stages configured for this rolling release
example:
- index: 0
isFinalStage: false
targetPercentage: 5
requireApproval: true
duration: null
- index: 1
isFinalStage: false
targetPercentage: 25
requireApproval: true
duration: null
- index: 2
isFinalStage: false
targetPercentage: 60
requireApproval: true
duration: null
- index: 3
isFinalStage: true
targetPercentage: 100
requireApproval: false
duration: null
activeStage:
nullable: true
properties:
index:
type: number
description: The zero-based index of the stage
example: 0
isFinalStage:
type: boolean
enum:
- false
- true
description: >-
Whether or not this stage is the final stage
(targetPercentage === 100)
example: false
targetPercentage:
type: number
description: >-
The percentage of traffic to serve to the canary
deployment (0-100)
example: 25
requireApproval:
type: boolean
enum:
- false
- true
description: >-
Whether or not this stage requires manual approval
to proceed
duration:
nullable: true
type: number
description: >-
Duration in seconds for automatic advancement,
null for manual stages or the final stage
example: null
linearShift:
type: boolean
enum:
- false
- true
description: >-
Whether to linearly shift traffic over the
duration of this stage
example: false
required:
- duration
- index
- isFinalStage
- requireApproval
- targetPercentage
type: object
description: >-
The currently active stage, null if the rollout is
aborted
example:
index: 1
isFinalStage: false
targetPercentage: 25
requireApproval: true
duration: null
nextStage:
nullable: true
properties:
index:
type: number
description: The zero-based index of the stage
example: 0
isFinalStage:
type: boolean
enum:
- false
- true
description: >-
Whether or not this stage is the final stage
(targetPercentage === 100)
example: false
targetPercentage:
type: number
description: >-
The percentage of traffic to serve to the canary
deployment (0-100)
example: 25
requireApproval:
type: boolean
enum:
- false
- true
description: >-
Whether or not this stage requires manual approval
to proceed
duration:
nullable: true
type: number
description: >-
Duration in seconds for automatic advancement,
null for manual stages or the final stage
example: null
linearShift:
type: boolean
enum:
- false
- true
description: >-
Whether to linearly shift traffic over the
duration of this stage
example: false
required:
- duration
- index
- isFinalStage
- requireApproval
- targetPercentage
type: object
description: >-
The next stage to be activated, null if not in ACTIVE
state
example:
index: 2
isFinalStage: false
targetPercentage: 60
requireApproval: true
duration: null
startedAt:
type: number
description: >-
Unix timestamp in milliseconds when the rolling
release started
example: 1716210500000
updatedAt:
type: number
description: >-
Unix timestamp in milliseconds when the rolling
release was last updated
example: 1716210600000
required:
- activeStage
- advancementType
- canaryDeployment
- currentDeployment
- nextStage
- queuedDeploymentId
- stages
- startedAt
- state
- updatedAt
type: object
description: >-
Rolling release information including configuration and
document details, or null if no rolling release exists
required:
- rollingRelease
type: object
description: >-
The response format for rolling release endpoints that return
rolling release information
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/domains-registrar/get-the-auth-code-for-a-domain.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Get the auth code for a domain
> Get the auth code for a domain. This is required to transfer a domain from Vercel to another registrar.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v1/registrar/domains/{domain}/auth-code
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/registrar/domains/{domain}/auth-code:
get:
tags:
- domains-registrar
summary: Get the auth code for a domain
description: >-
Get the auth code for a domain. This is required to transfer a domain
from Vercel to another registrar.
operationId: getDomainAuthCode
parameters:
- name: domain
in: path
schema:
$ref: '#/components/schemas/DomainName'
required: true
- name: teamId
in: query
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
required: false
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
required:
- authCode
properties:
authCode:
type: string
additionalProperties: false
'400':
description: There was something wrong with the request
content:
application/json:
schema:
anyOf:
- $ref: '#/components/schemas/DomainNotRegistered'
- $ref: '#/components/schemas/HttpApiDecodeError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Unauthorized'
'403':
description: NotAuthorizedForScope
content:
application/json:
schema:
anyOf:
- $ref: '#/components/schemas/NotAuthorizedForScope'
- $ref: '#/components/schemas/Forbidden'
'404':
description: The domain was not found in our system.
content:
application/json:
schema:
$ref: '#/components/schemas/DomainNotFound'
'409':
description: The domain cannot be transfered out until the specified date.
content:
application/json:
schema:
$ref: '#/components/schemas/DomainCannotBeTransferedOutUntil'
'429':
description: TooManyRequests
content:
application/json:
schema:
$ref: '#/components/schemas/TooManyRequests'
'500':
description: InternalServerError
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerError'
security:
- bearerToken: []
components:
schemas:
DomainName:
type: string
description: A valid domain name
DomainNotRegistered:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 400
code:
type: string
enum:
- domain_not_registered
message:
type: string
additionalProperties: false
description: The domain is not registered with Vercel.
HttpApiDecodeError:
type: object
required:
- issues
- message
properties:
issues:
type: array
items:
$ref: '#/components/schemas/Issue'
message:
type: string
additionalProperties: false
description: The request did not match the expected schema
Unauthorized:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 401
code:
type: string
enum:
- unauthorized
message:
type: string
additionalProperties: false
NotAuthorizedForScope:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 403
code:
type: string
enum:
- not_authorized_for_scope
message:
type: string
additionalProperties: false
Forbidden:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 403
code:
type: string
enum:
- forbidden
message:
type: string
additionalProperties: false
DomainNotFound:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 404
code:
type: string
enum:
- domain_not_found
message:
type: string
additionalProperties: false
description: The domain was not found in our system.
DomainCannotBeTransferedOutUntil:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 409
code:
type: string
enum:
- domain_cannot_be_transfered_out_until
message:
type: string
additionalProperties: false
description: The domain cannot be transfered out until the specified date.
TooManyRequests:
type: object
required:
- status
- code
- message
- retryAfter
- limit
properties:
status:
type: number
enum:
- 429
code:
type: string
enum:
- too_many_requests
message:
type: string
retryAfter:
type: object
required:
- value
- str
properties:
value:
type: number
str:
type: string
additionalProperties: false
limit:
type: object
required:
- total
- remaining
- reset
properties:
total:
type: number
remaining:
type: number
reset:
type: number
additionalProperties: false
additionalProperties: false
InternalServerError:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 500
code:
type: string
enum:
- internal_server_error
message:
type: string
additionalProperties: false
Issue:
type: object
required:
- path
- message
properties:
path:
type: array
items:
$ref: '#/components/schemas/PropertyKey'
description: The path to the property where the issue occurred
message:
type: string
description: A descriptive message explaining the issue
additionalProperties: false
description: >-
Represents an error encountered while parsing a value to match the
schema
PropertyKey:
anyOf:
- type: string
- type: number
- type: object
required:
- _tag
- key
properties:
_tag:
type: string
enum:
- symbol
key:
type: string
additionalProperties: false
description: an object to be decoded into a globally shared symbol
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/marketplace/get-the-data-of-a-user-provided-edge-config-1.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Get the data of a user-provided Edge Config
> When the user enabled Edge Config syncing, then this endpoint can be used by the partner to fetch the contents of the Edge Config.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples head /v1/installations/{integrationConfigurationId}/resources/{resourceId}/experimentation/edge-config
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/installations/{integrationConfigurationId}/resources/{resourceId}/experimentation/edge-config:
head:
tags:
- marketplace
summary: Get the data of a user-provided Edge Config
description: >-
When the user enabled Edge Config syncing, then this endpoint can be
used by the partner to fetch the contents of the Edge Config.
parameters:
- name: integrationConfigurationId
in: path
required: true
schema:
type: string
- name: resourceId
in: path
required: true
schema:
type: string
responses:
'200':
description: The Edge Config data
content:
application/json:
schema:
properties:
items:
additionalProperties:
$ref: '#/components/schemas/EdgeConfigItemValue'
type: object
updatedAt:
type: number
digest:
type: string
purpose:
type: string
enum:
- flags
- experimentation
required:
- digest
- items
- updatedAt
type: object
'304':
description: ''
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
security:
- bearerToken: []
components:
schemas:
EdgeConfigItemValue:
nullable: true
oneOf:
- type: string
- type: number
- additionalProperties:
$ref: '#/components/schemas/EdgeConfigItemValue'
type: object
- items:
$ref: '#/components/schemas/EdgeConfigItemValue'
type: array
- type: boolean
enum:
- false
- true
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/marketplace/get-the-data-of-a-user-provided-edge-config.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Get the data of a user-provided Edge Config
> When the user enabled Edge Config syncing, then this endpoint can be used by the partner to fetch the contents of the Edge Config.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v1/installations/{integrationConfigurationId}/resources/{resourceId}/experimentation/edge-config
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/installations/{integrationConfigurationId}/resources/{resourceId}/experimentation/edge-config:
get:
tags:
- marketplace
summary: Get the data of a user-provided Edge Config
description: >-
When the user enabled Edge Config syncing, then this endpoint can be
used by the partner to fetch the contents of the Edge Config.
parameters:
- name: integrationConfigurationId
in: path
required: true
schema:
type: string
- name: resourceId
in: path
required: true
schema:
type: string
responses:
'200':
description: The Edge Config data
content:
application/json:
schema:
properties:
items:
additionalProperties:
$ref: '#/components/schemas/EdgeConfigItemValue'
type: object
updatedAt:
type: number
digest:
type: string
purpose:
type: string
enum:
- flags
- experimentation
required:
- digest
- items
- updatedAt
type: object
'304':
description: ''
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
security:
- bearerToken: []
components:
schemas:
EdgeConfigItemValue:
nullable: true
oneOf:
- type: string
- type: number
- additionalProperties:
$ref: '#/components/schemas/EdgeConfigItemValue'
type: object
- items:
$ref: '#/components/schemas/EdgeConfigItemValue'
type: array
- type: boolean
enum:
- false
- true
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/user/get-the-user.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Get the User
> Retrieves information related to the currently authenticated User.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v2/user
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v2/user:
get:
tags:
- user
summary: Get the User
description: Retrieves information related to the currently authenticated User.
operationId: getAuthUser
parameters: []
responses:
'200':
description: Successful response.
content:
application/json:
schema:
properties:
user:
oneOf:
- $ref: '#/components/schemas/AuthUser'
- $ref: '#/components/schemas/AuthUserLimited'
required:
- user
type: object
description: Successful response.
'302':
description: ''
'400':
description: ''
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'409':
description: ''
security:
- bearerToken: []
components:
schemas:
AuthUser:
properties:
createdAt:
type: number
description: UNIX timestamp (in milliseconds) when the User account was created.
example: 1630748523395
softBlock:
nullable: true
properties:
blockedAt:
type: number
reason:
type: string
enum:
- SUBSCRIPTION_CANCELED
- SUBSCRIPTION_EXPIRED
- UNPAID_INVOICE
- ENTERPRISE_TRIAL_ENDED
- FAIR_USE_LIMITS_EXCEEDED
- BLOCKED_FOR_PLATFORM_ABUSE
blockedDueToOverageType:
type: string
enum:
- analyticsUsage
- artifacts
- bandwidth
- blobTotalAdvancedRequests
- blobTotalAvgSizeInBytes
- blobTotalGetResponseObjectSizeInBytes
- blobTotalSimpleRequests
- connectDataTransfer
- dataCacheRead
- dataCacheWrite
- edgeConfigRead
- edgeConfigWrite
- edgeFunctionExecutionUnits
- edgeMiddlewareInvocations
- edgeRequestAdditionalCpuDuration
- edgeRequest
- elasticConcurrencyBuildSlots
- fastDataTransfer
- fastOriginTransfer
- fluidCpuDuration
- fluidDuration
- functionDuration
- functionInvocation
- imageOptimizationCacheRead
- imageOptimizationCacheWrite
- imageOptimizationTransformation
- logDrainsVolume
- monitoringMetric
- blobDataTransfer
- observabilityEvent
- onDemandConcurrencyMinutes
- runtimeCacheRead
- runtimeCacheWrite
- serverlessFunctionExecution
- sourceImages
- wafOwaspExcessBytes
- wafOwaspRequests
- wafRateLimitRequest
- webAnalyticsEvent
required:
- blockedAt
- reason
type: object
description: >-
When the User account has been "soft blocked", this property will
contain the date when the restriction was enacted, and the
identifier for why.
billing:
nullable: true
type: object
description: >-
An object containing billing infomation associated with the User
account.
resourceConfig:
properties:
nodeType:
type: string
description: >-
An object containing infomation related to the amount of
platform resources may be allocated to the User account.
concurrentBuilds:
type: number
description: >-
An object containing infomation related to the amount of
platform resources may be allocated to the User account.
elasticConcurrencyEnabled:
type: boolean
enum:
- false
- true
description: >-
An object containing infomation related to the amount of
platform resources may be allocated to the User account.
buildEntitlements:
properties:
enhancedBuilds:
type: boolean
enum:
- false
- true
description: >-
An object containing infomation related to the amount of
platform resources may be allocated to the User account.
type: object
description: >-
An object containing infomation related to the amount of
platform resources may be allocated to the User account.
buildQueue:
properties:
configuration:
type: string
enum:
- SKIP_NAMESPACE_QUEUE
- WAIT_FOR_NAMESPACE_QUEUE
description: >-
An object containing infomation related to the amount of
platform resources may be allocated to the User account.
type: object
description: >-
An object containing infomation related to the amount of
platform resources may be allocated to the User account.
awsAccountType:
type: string
description: >-
An object containing infomation related to the amount of
platform resources may be allocated to the User account.
awsAccountIds:
items:
type: string
type: array
description: >-
An object containing infomation related to the amount of
platform resources may be allocated to the User account.
cfZoneName:
type: string
description: >-
An object containing infomation related to the amount of
platform resources may be allocated to the User account.
imageOptimizationType:
type: string
description: >-
An object containing infomation related to the amount of
platform resources may be allocated to the User account.
edgeConfigs:
type: number
description: >-
An object containing infomation related to the amount of
platform resources may be allocated to the User account.
edgeConfigSize:
type: number
description: >-
An object containing infomation related to the amount of
platform resources may be allocated to the User account.
edgeFunctionMaxSizeBytes:
type: number
description: >-
An object containing infomation related to the amount of
platform resources may be allocated to the User account.
edgeFunctionExecutionTimeoutMs:
type: number
description: >-
An object containing infomation related to the amount of
platform resources may be allocated to the User account.
serverlessFunctionMaxMemorySize:
type: number
description: >-
An object containing infomation related to the amount of
platform resources may be allocated to the User account.
kvDatabases:
type: number
description: >-
An object containing infomation related to the amount of
platform resources may be allocated to the User account.
postgresDatabases:
type: number
description: >-
An object containing infomation related to the amount of
platform resources may be allocated to the User account.
blobStores:
type: number
description: >-
An object containing infomation related to the amount of
platform resources may be allocated to the User account.
integrationStores:
type: number
description: >-
An object containing infomation related to the amount of
platform resources may be allocated to the User account.
cronJobsPerProject:
type: number
description: >-
An object containing infomation related to the amount of
platform resources may be allocated to the User account.
microfrontendGroupsPerTeam:
type: number
description: >-
An object containing infomation related to the amount of
platform resources may be allocated to the User account.
microfrontendProjectsPerGroup:
type: number
description: >-
An object containing infomation related to the amount of
platform resources may be allocated to the User account.
flagsExplorerOverridesThreshold:
type: number
description: >-
An object containing infomation related to the amount of
platform resources may be allocated to the User account.
flagsExplorerUnlimitedOverrides:
type: boolean
enum:
- false
- true
description: >-
An object containing infomation related to the amount of
platform resources may be allocated to the User account.
customEnvironmentsPerProject:
type: number
description: >-
An object containing infomation related to the amount of
platform resources may be allocated to the User account.
buildMachine:
properties:
default:
type: string
enum:
- enhanced
- turbo
- standard
description: >-
An object containing infomation related to the amount of
platform resources may be allocated to the User account.
purchaseType:
type: string
enum:
- enhanced
- turbo
description: >-
An object containing infomation related to the amount of
platform resources may be allocated to the User account.
isDefaultBuildMachine:
type: boolean
enum:
- false
- true
description: >-
An object containing infomation related to the amount of
platform resources may be allocated to the User account.
cores:
type: number
description: >-
An object containing infomation related to the amount of
platform resources may be allocated to the User account.
memory:
type: number
description: >-
An object containing infomation related to the amount of
platform resources may be allocated to the User account.
type: object
description: >-
An object containing infomation related to the amount of
platform resources may be allocated to the User account.
security:
properties:
customRules:
type: number
description: >-
An object containing infomation related to the amount of
platform resources may be allocated to the User account.
ipBlocks:
type: number
description: >-
An object containing infomation related to the amount of
platform resources may be allocated to the User account.
ipBypass:
type: number
description: >-
An object containing infomation related to the amount of
platform resources may be allocated to the User account.
rateLimit:
type: number
description: >-
An object containing infomation related to the amount of
platform resources may be allocated to the User account.
type: object
description: >-
An object containing infomation related to the amount of
platform resources may be allocated to the User account.
bulkRedirectsFreeLimitOverride:
type: number
description: >-
An object containing infomation related to the amount of
platform resources may be allocated to the User account.
type: object
description: >-
An object containing infomation related to the amount of platform
resources may be allocated to the User account.
stagingPrefix:
type: string
description: >-
Prefix that will be used in the URL of "Preview" deployments created
by the User account.
activeDashboardViews:
items:
properties:
scopeId:
type: string
viewPreference:
nullable: true
type: string
enum:
- list
- cards
favoritesViewPreference:
nullable: true
type: string
enum:
- open
- closed
recentsViewPreference:
nullable: true
type: string
enum:
- open
- closed
required:
- scopeId
type: object
description: set of dashboard view preferences (cards or list) per scopeId
type: array
description: set of dashboard view preferences (cards or list) per scopeId
importFlowGitNamespace:
nullable: true
oneOf:
- type: string
- type: number
importFlowGitNamespaceId:
nullable: true
oneOf:
- type: string
- type: number
importFlowGitProvider:
nullable: true
type: string
enum:
- gitlab
- bitbucket
- github
- github-limited
- github-custom-host
preferredScopesAndGitNamespaces:
items:
properties:
scopeId:
type: string
gitNamespaceId:
nullable: true
oneOf:
- type: string
- type: number
required:
- gitNamespaceId
- scopeId
type: object
type: array
dismissedToasts:
items:
properties:
name:
type: string
dismissals:
items:
properties:
scopeId:
type: string
createdAt:
type: number
required:
- createdAt
- scopeId
type: object
type: array
required:
- dismissals
- name
type: object
description: A record of when, under a certain scopeId, a toast was dismissed
type: array
description: A record of when, under a certain scopeId, a toast was dismissed
favoriteProjectsAndSpaces:
items:
properties:
teamId:
type: string
projectId:
type: string
required:
- projectId
- teamId
type: object
description: >-
A list of projects and spaces across teams that a user has marked
as a favorite.
type: array
description: >-
A list of projects and spaces across teams that a user has marked as
a favorite.
hasTrialAvailable:
type: boolean
enum:
- false
- true
description: Whether the user has a trial available for a paid plan subscription.
remoteCaching:
properties:
enabled:
type: boolean
enum:
- false
- true
type: object
description: remote caching settings
dataCache:
properties:
excessBillingEnabled:
type: boolean
enum:
- false
- true
type: object
description: data cache settings
featureBlocks:
properties:
webAnalytics:
properties:
blockedFrom:
type: number
blockedUntil:
type: number
isCurrentlyBlocked:
type: boolean
enum:
- false
- true
required:
- isCurrentlyBlocked
type: object
type: object
description: Feature blocks for the user
id:
type: string
description: The User's unique identifier.
example: AEIIDYVk59zbFF2Sxfyxxmua
email:
type: string
description: Email address associated with the User account.
example: me@example.com
name:
nullable: true
type: string
description: >-
Name associated with the User account, or `null` if none has been
provided.
example: John Doe
username:
type: string
description: Unique username associated with the User account.
example: jdoe
avatar:
nullable: true
type: string
description: >-
SHA1 hash of the avatar for the User account. Can be used in
conjuction with the ... endpoint to retrieve the avatar image.
example: 22cb30c85ff45ac4c72de8981500006b28114aa1
defaultTeamId:
nullable: true
type: string
description: The user's default team.
required:
- avatar
- billing
- createdAt
- defaultTeamId
- email
- hasTrialAvailable
- id
- name
- resourceConfig
- softBlock
- stagingPrefix
- username
type: object
description: Data for the currently authenticated User.
AuthUserLimited:
properties:
limited:
type: boolean
enum:
- true
description: >-
Property indicating that this User data contains only limited
information, due to the authentication token missing privileges to
read the full User data. Re-login with email, GitHub, GitLab or
Bitbucket in order to upgrade the authentication token with the
necessary privileges.
id:
type: string
description: The User's unique identifier.
example: AEIIDYVk59zbFF2Sxfyxxmua
email:
type: string
description: Email address associated with the User account.
example: me@example.com
name:
nullable: true
type: string
description: >-
Name associated with the User account, or `null` if none has been
provided.
example: John Doe
username:
type: string
description: Unique username associated with the User account.
example: jdoe
avatar:
nullable: true
type: string
description: >-
SHA1 hash of the avatar for the User account. Can be used in
conjuction with the ... endpoint to retrieve the avatar image.
example: 22cb30c85ff45ac4c72de8981500006b28114aa1
defaultTeamId:
nullable: true
type: string
description: The user's default team.
required:
- avatar
- defaultTeamId
- email
- id
- limited
- name
- username
type: object
description: >-
A limited form of data for the currently authenticated User, due to the
authentication token missing privileges to read the full User data.
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/bulk-redirects/get-the-version-history-for-a-projects-redirects.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Get the version history for a project's redirects.
> Get the version history for a project's bulk redirects
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v1/bulk-redirects/versions
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/bulk-redirects/versions:
get:
tags:
- bulk-redirects
summary: Get the version history for a project's redirects.
description: Get the version history for a project's bulk redirects
operationId: getVersions
parameters:
- name: projectId
in: query
required: true
schema:
type: string
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'200':
description: ''
content:
application/json:
schema:
properties:
versions:
items:
properties:
id:
type: string
description: The unique identifier for the version.
key:
type: string
description: >-
The key of the version. The key may be duplicated
across versions if the contents are the same as a
different version.
lastModified:
type: number
createdBy:
type: string
name:
type: string
description: >-
Optional name for the version. If not provided,
defaults to an ISO timestamp string.
isStaging:
type: boolean
enum:
- false
- true
description: >-
Whether this version has not been promoted to
production yet and is not serving end users.
isLive:
type: boolean
enum:
- false
- true
description: >-
Whether this version is currently live in
production.
redirectCount:
type: number
description: The number of redirects in this version.
alias:
type: string
description: >-
The staging link for previewing redirects in this
version.
required:
- createdBy
- id
- key
- lastModified
type: object
type: array
required:
- versions
type: object
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'500':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/domains-registrar/get-tld-price-data.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Get TLD price data
> Get 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.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v1/registrar/tlds/{tld}/price
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/registrar/tlds/{tld}/price:
get:
tags:
- domains-registrar
summary: Get TLD price data
description: >-
Get 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.
operationId: getTldPrice
parameters:
- name: tld
in: path
schema:
type: string
required: true
- name: years
in: query
schema:
type: string
description: >-
The number of years to get the price for. If not provided, the
minimum number of years for the TLD will be used.
required: false
description: >-
The number of years to get the price for. If not provided, the
minimum number of years for the TLD will be used.
- name: teamId
in: query
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
required: false
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
required:
- years
- purchasePrice
- renewalPrice
- transferPrice
properties:
years:
type: number
description: The number of years the returned price is for.
purchasePrice:
anyOf:
- type: number
minimum: 0.01
- type: string
renewalPrice:
anyOf:
- type: number
minimum: 0.01
- type: string
transferPrice:
anyOf:
- type: number
minimum: 0.01
- type: string
additionalProperties: false
'400':
description: There was something wrong with the request
content:
application/json:
schema:
anyOf:
- $ref: '#/components/schemas/TldNotSupported'
- $ref: '#/components/schemas/HttpApiDecodeError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Unauthorized'
'403':
description: NotAuthorizedForScope
content:
application/json:
schema:
$ref: '#/components/schemas/NotAuthorizedForScope'
'429':
description: TooManyRequests
content:
application/json:
schema:
$ref: '#/components/schemas/TooManyRequests'
'500':
description: InternalServerError
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerError'
security:
- bearerToken: []
components:
schemas:
TldNotSupported:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 400
code:
type: string
enum:
- tld_not_supported
message:
type: string
additionalProperties: false
description: The TLD is not currently supported.
HttpApiDecodeError:
type: object
required:
- issues
- message
properties:
issues:
type: array
items:
$ref: '#/components/schemas/Issue'
message:
type: string
additionalProperties: false
description: The request did not match the expected schema
Unauthorized:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 401
code:
type: string
enum:
- unauthorized
message:
type: string
additionalProperties: false
NotAuthorizedForScope:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 403
code:
type: string
enum:
- not_authorized_for_scope
message:
type: string
additionalProperties: false
TooManyRequests:
type: object
required:
- status
- code
- message
- retryAfter
- limit
properties:
status:
type: number
enum:
- 429
code:
type: string
enum:
- too_many_requests
message:
type: string
retryAfter:
type: object
required:
- value
- str
properties:
value:
type: number
str:
type: string
additionalProperties: false
limit:
type: object
required:
- total
- remaining
- reset
properties:
total:
type: number
remaining:
type: number
reset:
type: number
additionalProperties: false
additionalProperties: false
InternalServerError:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 500
code:
type: string
enum:
- internal_server_error
message:
type: string
additionalProperties: false
Issue:
type: object
required:
- path
- message
properties:
path:
type: array
items:
$ref: '#/components/schemas/PropertyKey'
description: The path to the property where the issue occurred
message:
type: string
description: A descriptive message explaining the issue
additionalProperties: false
description: >-
Represents an error encountered while parsing a value to match the
schema
PropertyKey:
anyOf:
- type: string
- type: number
- type: object
required:
- _tag
- key
properties:
_tag:
type: string
enum:
- symbol
key:
type: string
additionalProperties: false
description: an object to be decoded into a globally shared symbol
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/projects/gets-a-list-of-aliases-with-status-for-the-current-promote.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Gets a list of aliases with status for the current promote
> Get a list of aliases related to the last promote request with their mapping status
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v1/projects/{projectId}/promote/aliases
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/projects/{projectId}/promote/aliases:
get:
tags:
- projects
summary: Gets a list of aliases with status for the current promote
description: >-
Get a list of aliases related to the last promote request with their
mapping status
operationId: listPromoteAliases
parameters:
- name: projectId
in: path
required: true
schema:
type: string
- name: limit
description: Maximum number of aliases to list from a request (max 100).
in: query
required: false
schema:
description: Maximum number of aliases to list from a request (max 100).
type: number
example: 20
maximum: 100
- name: since
description: Get aliases created after this epoch timestamp.
in: query
required: false
schema:
description: Get aliases created after this epoch timestamp.
type: number
example: 1609499532000
- name: until
description: Get aliases created before this epoch timestamp.
in: query
required: false
schema:
description: Get aliases created before this epoch timestamp.
type: number
example: 1612264332000
- name: failedOnly
description: >-
Filter results down to aliases that failed to map to the requested
deployment
in: query
required: false
schema:
description: >-
Filter results down to aliases that failed to map to the requested
deployment
type: boolean
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'200':
description: ''
content:
application/json:
schema:
oneOf:
- type: object
- properties:
aliases:
items:
properties:
status:
type: string
alias:
type: string
id:
type: string
required:
- alias
- id
- status
type: object
type: array
pagination:
$ref: '#/components/schemas/Pagination'
required:
- aliases
- pagination
type: object
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
security:
- bearerToken: []
components:
schemas:
Pagination:
properties:
count:
type: number
description: Amount of items in the current page.
example: 20
next:
nullable: true
type: number
description: Timestamp that must be used to request the next page.
example: 1540095775951
prev:
nullable: true
type: number
description: Timestamp that must be used to request the previous page.
example: 1540095775951
required:
- count
- next
- prev
type: object
description: >-
This object contains information related to the pagination of the
current request, including the necessary parameters to get the next or
previous page of data.
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/bulk-redirects/gets-project-level-redirects.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Gets project-level redirects.
> Get the version history for a project's bulk redirects
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v1/bulk-redirects
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/bulk-redirects:
get:
tags:
- bulk-redirects
summary: Gets project-level redirects.
description: Get the version history for a project's bulk redirects
operationId: getRedirects
parameters:
- name: projectId
in: query
required: true
schema:
type: string
- name: versionId
in: query
required: false
schema:
type: string
- name: q
in: query
required: false
schema:
type: string
- name: diff
in: query
required: false
schema:
oneOf:
- type: boolean
- type: string
enum:
- only
- name: page
in: query
required: false
schema:
type: integer
minimum: 1
- name: per_page
in: query
required: false
schema:
type: integer
minimum: 10
maximum: 250
- name: sort_by
in: query
required: false
schema:
type: string
enum:
- source
- destination
- statusCode
- name: sort_order
in: query
required: false
schema:
type: string
enum:
- asc
- desc
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'200':
description: ''
content:
application/json:
schema:
oneOf:
- additionalProperties: true
type: object
- properties:
redirects:
items:
properties:
statusCode:
type: number
permanent:
type: boolean
enum:
- false
- true
sensitive:
type: boolean
enum:
- false
- true
caseSensitive:
type: boolean
enum:
- false
- true
query:
type: boolean
enum:
- false
- true
preserveQueryParams:
type: boolean
enum:
- false
- true
source:
type: string
destination:
type: string
required:
- destination
- source
type: object
type: array
version:
properties:
id:
type: string
description: The unique identifier for the version.
key:
type: string
description: >-
The key of the version. The key may be duplicated
across versions if the contents are the same as a
different version.
lastModified:
type: number
createdBy:
type: string
name:
type: string
description: >-
Optional name for the version. If not provided,
defaults to an ISO timestamp string.
isStaging:
type: boolean
enum:
- false
- true
description: >-
Whether this version has not been promoted to
production yet and is not serving end users.
isLive:
type: boolean
enum:
- false
- true
description: >-
Whether this version is currently live in
production.
redirectCount:
type: number
description: The number of redirects in this version.
alias:
type: string
description: >-
The staging link for previewing redirects in this
version.
required:
- createdBy
- id
- key
- lastModified
type: object
pagination:
properties:
page:
type: number
per_page:
type: number
numPages:
type: number
required:
- numPages
- page
- per_page
type: object
required:
- pagination
- redirects
type: object
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/marketplace/import-resource.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Import Resource
> This 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.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples put /v1/installations/{integrationConfigurationId}/resources/{resourceId}
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/installations/{integrationConfigurationId}/resources/{resourceId}:
put:
tags:
- marketplace
summary: Import Resource
description: >-
This 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.
operationId: import-resource
parameters:
- name: integrationConfigurationId
in: path
required: true
schema:
type: string
- name: resourceId
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
required:
- productId
- name
- status
properties:
ownership:
type: string
enum:
- owned
- linked
- sandbox
productId:
type: string
name:
type: string
status:
type: string
enum:
- ready
- pending
- onboarding
- suspended
- resumed
- uninstalled
- error
metadata:
additionalProperties: true
type: object
billingPlan:
type: object
required:
- id
- type
- name
properties:
id:
type: string
type:
type: string
enum:
- prepayment
- subscription
name:
type: string
description:
type: string
paymentMethodRequired:
type: boolean
cost:
type: string
details:
type: array
items:
type: object
properties:
label:
type: string
value:
type: string
required:
- label
additionalProperties: false
highlightedDetails:
type: array
items:
type: object
properties:
label:
type: string
value:
type: string
required:
- label
additionalProperties: false
effectiveDate:
type: string
additionalProperties: true
notification:
type: object
required:
- level
- title
properties:
level:
type: string
enum:
- info
- warn
- error
title:
type: string
message:
type: string
href:
type: string
format: uri
extras:
additionalProperties: true
type: object
secrets:
type: array
items:
type: object
required:
- name
- value
properties:
name:
type: string
value:
type: string
prefix:
type: string
environmentOverrides:
type: object
description: >-
A map of environments to override values for the
secret, used for setting different values across
deployments in production, preview, and development
environments. Note: the same value will be used for
all deployments in the given environment.
properties:
development:
type: string
description: Value used for development environment.
preview:
type: string
description: Value used for preview environment.
production:
type: string
description: Value used for production environment.
additionalProperties: false
additionalProperties: false
responses:
'200':
description: ''
content:
application/json:
schema:
properties:
name:
type: string
required:
- name
type: object
'400':
description: |-
One of the provided values in the request body is invalid.
One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
'409':
description: ''
'422':
description: ''
'429':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/examples/integrations.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Integrations
> Learn how to use the Vercel SDK through real-life examples.
## List integration information
In this example, you list the available integrations in your account.
```ts run.ts theme={"system"}
import { Vercel } from '@vercel/sdk';
const vercel = new Vercel({
bearerToken: process.env.VERCEL_TOKEN,
});
async function listAccountIntegrations() {
try {
// List available integrations in the account connected with the Vercel token
const integrationsResponse = await vercel.integrations.getConfigurations({
view: 'account',
});
integrationsResponse.forEach((config) => {
console.log(
`- ${config.slug}: ${
config.installationType ? `${config.installationType}` : ``
}integration installed in ${config.projects?.join(' ')}`,
);
});
} catch (error) {
console.error(
error instanceof Error ? `Error: ${error.message}` : String(error),
);
}
}
listAccountIntegrations();
```
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/edge-cache/invalidate-by-source-image.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Invalidate by source image
> Marks a source image as stale, causing its corresponding transformed images to be revalidated in the background on the next request.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples post /v1/edge-cache/invalidate-by-src-images
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/edge-cache/invalidate-by-src-images:
post:
tags:
- edge-cache
summary: Invalidate by source image
description: >-
Marks a source image as stale, causing its corresponding transformed
images to be revalidated in the background on the next request.
operationId: invalidateBySrcImages
parameters:
- name: projectIdOrName
in: query
required: true
schema:
type: string
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
requestBody:
content:
application/json:
schema:
additionalProperties: false
type: object
required:
- srcImages
properties:
srcImages:
items:
maxLength: 8192
type: string
maxItems: 8
minItems: 1
type: array
responses:
'200':
description: ''
'400':
description: |-
One of the provided values in the request body is invalid.
One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'402':
description: ''
'403':
description: You do not have permission to access this resource.
'404':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/edge-cache/invalidate-by-tag.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Invalidate by tag
> Marks a cache tag as stale, causing cache entries associated with that tag to be revalidated in the background on the next request.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples post /v1/edge-cache/invalidate-by-tags
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/edge-cache/invalidate-by-tags:
post:
tags:
- edge-cache
summary: Invalidate by tag
description: >-
Marks a cache tag as stale, causing cache entries associated with that
tag to be revalidated in the background on the next request.
operationId: invalidateByTags
parameters:
- name: projectIdOrName
in: query
required: true
schema:
type: string
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
requestBody:
content:
application/json:
schema:
additionalProperties: false
type: object
required:
- tags
properties:
tags:
oneOf:
- items:
type: string
maxLength: 256
maxItems: 16
minItems: 1
type: array
- maxLength: 8196
type: string
target:
type: string
enum:
- production
- preview
responses:
'200':
description: ''
'400':
description: |-
One of the provided values in the request body is invalid.
One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/teams/invite-a-user.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Invite a user
> 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 to be invited must be specified by email.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples post /v2/teams/{teamId}/members
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v2/teams/{teamId}/members:
post:
tags:
- teams
summary: Invite a user
description: >-
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 to be invited must be specified by email.
operationId: inviteUserToTeam
parameters: []
requestBody:
content:
application/json:
schema:
type: array
items:
type: object
required:
- email
properties:
email:
type: string
format: email
description: The email address of the user to invite
example: john@example.com
role:
type: string
enum:
- OWNER
- MEMBER
- DEVELOPER
- SECURITY
- BILLING
- VIEWER
- VIEWER_FOR_PLUS
- CONTRIBUTOR
default: VIEWER
description: The role of the user to invite
example: VIEWER
projects:
type: array
items:
type: object
additionalProperties: false
required:
- role
- projectId
properties:
projectId:
type: string
maxLength: 64
example: prj_ndlgr43fadlPyCtREAqxxdyFK
description: The ID of the project.
role:
type: string
enum:
- ADMIN
- PROJECT_VIEWER
- PROJECT_DEVELOPER
- PROJECT_GUEST
example: ADMIN
description: Sets the project roles for the invited user
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/InvitedTeamMember'
'400':
description: |-
One of the provided values in the request body is invalid.
One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: |-
You do not have permission to access this resource.
The authenticated user must be a team owner to perform the action
'503':
description: ''
security:
- bearerToken: []
components:
schemas:
InvitedTeamMember:
properties:
uid:
type: string
description: The ID of the invited user
example: kr1PsOIzqEL5Xg6M4VZcZosf
username:
type: string
description: The username of the invited user
example: john-doe
email:
type: string
description: The email of the invited user.
example: john@user.co
role:
type: string
enum:
- OWNER
- MEMBER
- DEVELOPER
- SECURITY
- BILLING
- VIEWER
- VIEWER_FOR_PLUS
- CONTRIBUTOR
description: The role used for the invitation
example: MEMBER
teamRoles:
items:
type: string
enum:
- OWNER
- MEMBER
- DEVELOPER
- SECURITY
- BILLING
- VIEWER
- VIEWER_FOR_PLUS
- CONTRIBUTOR
description: The team roles of the user
example:
- MEMBER
type: array
description: The team roles of the user
example:
- MEMBER
teamPermissions:
items:
type: string
enum:
- IntegrationManager
- CreateProject
- FullProductionDeployment
- UsageViewer
- EnvVariableManager
- EnvironmentManager
- V0Builder
- V0Chatter
- V0Viewer
description: The team permissions of the user
example:
- CreateProject
type: array
description: The team permissions of the user
example:
- CreateProject
required:
- email
- role
- uid
- username
type: object
description: The member was successfully added to the team.
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/marketplace/invoice-actions.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Invoice Actions
> This 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).
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples post /v1/installations/{integrationConfigurationId}/billing/invoices/{invoiceId}/actions
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/installations/{integrationConfigurationId}/billing/invoices/{invoiceId}/actions:
post:
tags:
- marketplace
summary: Invoice Actions
description: >-
This 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).
operationId: update-invoice
parameters:
- name: integrationConfigurationId
in: path
required: true
schema:
type: string
- name: invoiceId
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
oneOf:
- type: object
properties:
action:
type: string
enum:
- refund
reason:
type: string
description: Refund reason.
total:
description: >-
The total amount to be refunded. Must be less than or
equal to the total amount of the invoice.
type: string
pattern: ^[0-9]+(\\.[0-9]+)?$
required:
- action
- reason
- total
additionalProperties: false
required: true
responses:
'204':
description: ''
'400':
description: |-
One of the provided values in the request body is invalid.
One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
'409':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/certs/issue-a-new-cert.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Issue a new cert
> Issue a new cert
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples post /v8/certs
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v8/certs:
post:
tags:
- certs
summary: Issue a new cert
description: Issue a new cert
operationId: issueCert
parameters:
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
requestBody:
content:
application/json:
schema:
type: object
properties:
cns:
description: The common names the cert should be issued for
type: array
items:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
properties:
id:
type: string
createdAt:
type: number
expiresAt:
type: number
autoRenew:
type: boolean
enum:
- false
- true
cns:
items:
type: string
type: array
required:
- autoRenew
- cns
- createdAt
- expiresAt
- id
type: object
'400':
description: One of the provided values in the request body is invalid.
'401':
description: The request is not authorized.
'402':
description: |-
The account was soft-blocked for an unhandled reason.
The account is missing a payment so payment method must be updated
'403':
description: You do not have permission to access this resource.
'404':
description: ''
'449':
description: ''
'500':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/teams/join-a-team.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Join a team
> Join a team with a provided invite code or team ID.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples post /v1/teams/{teamId}/members/teams/join
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/teams/{teamId}/members/teams/join:
post:
tags:
- teams
summary: Join a team
description: Join a team with a provided invite code or team ID.
operationId: joinTeam
parameters:
- name: teamId
in: path
required: true
schema:
type: string
description: The unique team identifier
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
requestBody:
content:
application/json:
schema:
type: object
properties:
inviteCode:
type: string
description: The invite code to join the team.
example: fisdh38aejkeivn34nslfore9vjtn4ls
required: true
responses:
'200':
description: Successfully joined a team.
content:
application/json:
schema:
properties:
teamId:
type: string
description: The ID of the team the user joined.
example: team_LLHUOMOoDlqOp8wPE4kFo9pE
slug:
type: string
description: The slug of the team the user joined.
example: my-team
name:
type: string
description: The name of the team the user joined.
example: My Team
from:
type: string
description: The origin of how the user joined.
example: email
required:
- from
- name
- slug
- teamId
type: object
description: Successfully joined a team.
'400':
description: One of the provided values in the request body is invalid.
'401':
description: ''
'402':
description: ''
'403':
description: You do not have permission to access this resource.
'404':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/access-groups/list-access-groups-for-a-team-project-or-member.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# List access groups for a team, project or member
> List access groups
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v1/access-groups
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/access-groups:
get:
tags:
- access-groups
summary: List access groups for a team, project or member
description: List access groups
operationId: listAccessGroups
parameters:
- name: projectId
description: Filter access groups by project.
in: query
schema:
description: Filter access groups by project.
example: prj_pavWOn1iLObbx3RowVvzmPrTWyTf
type: string
- name: search
description: Search for access groups by name.
in: query
schema:
description: Search for access groups by name.
example: example
type: string
- name: membersLimit
description: Number of members to include in the response.
in: query
schema:
description: Number of members to include in the response.
example: 20
type: integer
minimum: 1
maximum: 100
- name: projectsLimit
description: Number of projects to include in the response.
in: query
schema:
description: Number of projects to include in the response.
example: 20
type: integer
minimum: 1
maximum: 100
- name: limit
description: Limit how many access group should be returned.
in: query
schema:
description: Limit how many access group should be returned.
example: 20
type: integer
minimum: 1
maximum: 100
- name: next
description: Continuation cursor to retrieve the next page of results.
in: query
schema:
description: Continuation cursor to retrieve the next page of results.
type: string
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'200':
description: ''
content:
application/json:
schema:
oneOf:
- type: object
- properties:
accessGroups:
items:
properties:
members:
items:
type: string
type: array
projects:
items:
type: string
type: array
entitlements:
items:
type: string
type: array
teamPermissions:
items:
type: string
type: array
isDsyncManaged:
type: boolean
enum:
- false
- true
name:
type: string
description: The name of this access group.
example: my-access-group
createdAt:
type: string
description: >-
Timestamp in milliseconds when the access group
was created.
example: 1588720733602
teamId:
type: string
description: >-
ID of the team that this access group belongs
to.
example: team_123a6c5209bc3778245d011443644c8d27dc2c50
updatedAt:
type: string
description: >-
Timestamp in milliseconds when the access group
was last updated.
example: 1588720733602
accessGroupId:
type: string
description: ID of the access group.
example: ag_123a6c5209bc3778245d011443644c8d27dc2c50
membersCount:
type: number
description: Number of members in the access group.
example: 5
projectsCount:
type: number
description: Number of projects in the access group.
example: 2
teamRoles:
items:
type: string
type: array
description: Roles that the team has in the access group.
example:
- DEVELOPER
- BILLING
required:
- accessGroupId
- createdAt
- isDsyncManaged
- membersCount
- name
- projectsCount
- teamId
- updatedAt
type: object
type: array
pagination:
properties:
count:
type: number
next:
nullable: true
type: string
required:
- count
- next
type: object
required:
- accessGroups
- pagination
type: object
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/aliases/list-aliases.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# List 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.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v4/aliases
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v4/aliases:
get:
tags:
- aliases
summary: List aliases
description: >-
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.
operationId: listAliases
parameters:
- name: domain
description: Get only aliases of the given domain name
in: query
schema:
description: Get only aliases of the given domain name
example: my-test-domain.com
maxItems: 20
oneOf:
- items:
type: string
type: array
- type: string
- name: from
description: Get only aliases created after the provided timestamp
in: query
schema:
deprecated: true
description: Get only aliases created after the provided timestamp
example: 1540095775951
type: number
- name: limit
description: Maximum number of aliases to list from a request
in: query
schema:
description: Maximum number of aliases to list from a request
example: 10
type: number
- name: projectId
description: Filter aliases from the given `projectId`
in: query
schema:
description: Filter aliases from the given `projectId`
example: prj_12HKQaOmR5t5Uy6vdcQsNIiZgHGB
type: string
- name: since
description: Get aliases created after this JavaScript timestamp
in: query
schema:
description: Get aliases created after this JavaScript timestamp
example: 1540095775941
type: number
- name: until
description: Get aliases created before this JavaScript timestamp
in: query
schema:
description: Get aliases created before this JavaScript timestamp
example: 1540095775951
type: number
- name: rollbackDeploymentId
description: Get aliases that would be rolled back for the given deployment
in: query
schema:
description: Get aliases that would be rolled back for the given deployment
example: dpl_XXX
type: string
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'200':
description: The paginated list of aliases
content:
application/json:
schema:
properties:
aliases:
items:
properties:
alias:
type: string
description: >-
The alias name, it could be a `.vercel.app`
subdomain or a custom domain
example: my-alias.vercel.app
created:
type: string
format: date-time
description: The date when the alias was created
example: '2017-04-26T23:00:34.232Z'
createdAt:
type: number
description: >-
The date when the alias was created in milliseconds
since the UNIX epoch
example: 1540095775941
creator:
properties:
uid:
type: string
description: ID of the user who created the alias
example: 96SnxkFiMyVKsK3pnoHfx3Hz
email:
type: string
description: Email of the user who created the alias
example: john-doe@gmail.com
username:
type: string
description: Username of the user who created the alias
example: john-doe
required:
- email
- uid
- username
type: object
description: Information of the user who created the alias
deletedAt:
type: number
description: >-
The date when the alias was deleted in milliseconds
since the UNIX epoch
example: 1540095775941
nullable: true
deployment:
properties:
id:
type: string
description: The deployment unique identifier
example: dpl_5m8CQaRBm3FnWRW1od3wKTpaECPx
url:
type: string
description: The deployment unique URL
example: my-instant-deployment-3ij3cxz9qr.now.sh
meta:
type: string
description: The deployment metadata
example: {}
required:
- id
- url
type: object
description: A map with the deployment ID, URL and metadata
deploymentId:
nullable: true
type: string
description: The deployment ID
example: dpl_5m8CQaRBm3FnWRW1od3wKTpaECPx
projectId:
nullable: true
type: string
description: The unique identifier of the project
example: prj_12HKQaOmR5t5Uy6vdcQsNIiZgHGB
redirect:
nullable: true
type: string
description: >-
Target destination domain for redirect when the
alias is a redirect
redirectStatusCode:
nullable: true
type: number
enum:
- 301
- 302
- 307
- 308
description: Status code to be used on redirect
uid:
type: string
description: The unique identifier of the alias
updatedAt:
type: number
description: >-
The date when the alias was updated in milliseconds
since the UNIX epoch
example: 1540095775941
protectionBypass:
additionalProperties:
oneOf:
- properties:
createdAt:
type: number
createdBy:
type: string
scope:
type: string
enum:
- shareable-link
expires:
type: number
required:
- createdAt
- createdBy
- scope
type: object
description: The protection bypass for the alias
- properties:
createdAt:
type: number
lastUpdatedAt:
type: number
lastUpdatedBy:
type: string
access:
type: string
enum:
- requested
- granted
scope:
type: string
enum:
- user
required:
- access
- createdAt
- lastUpdatedAt
- lastUpdatedBy
- scope
type: object
description: The protection bypass for the alias
- properties:
createdAt:
type: number
createdBy:
type: string
scope:
type: string
enum:
- alias-protection-override
required:
- createdAt
- createdBy
- scope
type: object
description: The protection bypass for the alias
- properties:
createdAt:
type: number
lastUpdatedAt:
type: number
lastUpdatedBy:
type: string
scope:
type: string
enum:
- email_invite
required:
- createdAt
- lastUpdatedAt
- lastUpdatedBy
- scope
type: object
description: The protection bypass for the alias
type: object
description: The protection bypass for the alias
microfrontends:
properties:
defaultApp:
type: object
required:
- projectId
properties:
projectId:
type: string
applications:
oneOf:
- items:
properties:
fallbackHost:
type: string
description: >-
This is always set. In production it is
used as a pointer to each apps
production deployment. For
pre-production, it's used as the
fallback if there is no deployment for
the branch.
projectId:
type: string
description: >-
The project ID of the microfrontends
application.
required:
- fallbackHost
- projectId
type: object
description: >-
A list of the deployment routing
information for each project.
type: array
description: >-
A list of the deployment routing information
for each project.
- items:
properties:
fallbackHost:
type: string
description: >-
This is always set. For branch aliases,
it's used as the fallback if there is no
deployment for the branch.
branchAlias:
type: string
description: >-
Could point to a branch without a
deployment if the project was never
deployed. The proxy will fallback to the
fallbackHost if there is no deployment.
projectId:
type: string
description: >-
The project ID of the microfrontends
application.
required:
- branchAlias
- fallbackHost
- projectId
type: object
description: >-
A list of the deployment routing
information for each project.
type: array
description: >-
A list of the deployment routing information
for each project.
- items:
properties:
deploymentId:
type: string
description: >-
This is the deployment for the same
commit, it could be a cancelled
deployment. The proxy will fallback to
the branchDeploymentId and then the
fallbackDeploymentId.
branchDeploymentId:
type: string
description: >-
This is the latest non-cancelled
deployment of the branch alias at the
time the commit alias was created. It is
possible there is no deployment for the
branch, or this was set before the
deployment was canceled, in which case
this will point to a cancelled
deployment, in either case the proxy
will fallback to the
fallbackDeploymentId.
fallbackDeploymentId:
type: string
description: >-
This is the deployment of the fallback
host at the time the commit alias was
created. It is possible for this to be a
deleted deployment, in which case the
proxy will show that the deployment is
deleted. It will not use the
fallbackHost, as a future deployment on
the fallback host could be invalid for
this deployment, and it could lead to
confusion / incorrect behavior for the
commit alias.
fallbackHost:
type: string
description: >-
Temporary for backwards compatibility.
Can remove when metadata change is
released
branchAlias:
type: string
projectId:
type: string
description: >-
The project ID of the microfrontends
application.
required:
- projectId
type: object
description: >-
A list of the deployment routing
information for each project.
type: array
description: >-
A list of the deployment routing information
for each project.
required:
- applications
- defaultApp
type: object
description: >-
The microfrontends for the alias including the
routing configuration
required:
- alias
- created
- deploymentId
- projectId
- uid
type: object
type: array
pagination:
$ref: '#/components/schemas/Pagination'
required:
- aliases
- pagination
type: object
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
security:
- bearerToken: []
components:
schemas:
Pagination:
properties:
count:
type: number
description: Amount of items in the current page.
example: 20
next:
nullable: true
type: number
description: Timestamp that must be used to request the next page.
example: 1540095775951
prev:
nullable: true
type: number
description: Timestamp that must be used to request the previous page.
example: 1540095775951
required:
- count
- next
- prev
type: object
description: >-
This object contains information related to the pagination of the
current request, including the necessary parameters to get the next or
previous page of data.
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/teams/list-all-teams.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# List all teams
> Get a paginated list of all the Teams the authenticated User is a member of.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v2/teams
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v2/teams:
get:
tags:
- teams
summary: List all teams
description: >-
Get a paginated list of all the Teams the authenticated User is a member
of.
operationId: getTeams
parameters:
- name: limit
description: Maximum number of Teams which may be returned.
in: query
schema:
description: Maximum number of Teams which may be returned.
example: 20
type: number
- name: since
description: >-
Timestamp (in milliseconds) to only include Teams created since
then.
in: query
schema:
description: >-
Timestamp (in milliseconds) to only include Teams created since
then.
example: 1540095775951
type: number
- name: until
description: >-
Timestamp (in milliseconds) to only include Teams created until
then.
in: query
schema:
description: >-
Timestamp (in milliseconds) to only include Teams created until
then.
example: 1540095775951
type: number
responses:
'200':
description: A paginated list of teams.
content:
application/json:
schema:
properties:
teams:
items:
oneOf:
- $ref: '#/components/schemas/Team'
- $ref: '#/components/schemas/TeamLimited'
type: array
pagination:
$ref: '#/components/schemas/Pagination'
required:
- pagination
- teams
type: object
description: A paginated list of teams.
'400':
description: One of the provided values in the request query is invalid.
'401':
description: ''
'403':
description: You do not have permission to access this resource.
security:
- bearerToken: []
components:
schemas:
Team:
properties:
connect:
properties:
enabled:
type: boolean
enum:
- false
- true
type: object
creatorId:
type: string
description: The ID of the user who created the Team.
example: R6efeCJQ2HKXywuasPDc0fOWB
updatedAt:
type: number
description: Timestamp (in milliseconds) of when the Team was last updated.
example: 1611796915677
emailDomain:
nullable: true
type: string
description: >-
Hostname that'll be matched with emails on sign-up to automatically
join the Team.
example: example.com
saml:
properties:
connection:
properties:
type:
type: string
description: The Identity Provider "type", for example Okta.
example: OktaSAML
status:
type: string
description: Current status of the connection.
example: linked
state:
type: string
description: Current state of the connection.
example: active
connectedAt:
type: number
description: >-
Timestamp (in milliseconds) of when the configuration was
connected.
example: 1611796915677
lastReceivedWebhookEvent:
type: number
description: >-
Timestamp (in milliseconds) of when the last webhook event
was received from WorkOS.
example: 1611796915677
lastSyncedAt:
type: number
description: >-
Timestamp (in milliseconds) of when the last directory sync
was performed.
example: 1611796915677
syncState:
type: string
enum:
- SETUP
- ACTIVE
description: >-
Controls whether directory sync events are processed. -
'SETUP': Directory connected but role mappings not yet
configured. Events are acknowledged but not processed. -
'ACTIVE': Fully configured. Events are processed normally. -
undefined: Legacy directory (pre-feature), treat as 'ACTIVE'
for backwards compatibility.
required:
- connectedAt
- state
- status
- type
type: object
description: Information for the SAML Single Sign-On configuration.
directory:
properties:
type:
type: string
description: The Identity Provider "type", for example Okta.
example: OktaSAML
state:
type: string
description: Current state of the connection.
example: active
connectedAt:
type: number
description: >-
Timestamp (in milliseconds) of when the configuration was
connected.
example: 1611796915677
lastReceivedWebhookEvent:
type: number
description: >-
Timestamp (in milliseconds) of when the last webhook event
was received from WorkOS.
example: 1611796915677
lastSyncedAt:
type: number
description: >-
Timestamp (in milliseconds) of when the last directory sync
was performed.
example: 1611796915677
syncState:
type: string
enum:
- SETUP
- ACTIVE
description: >-
Controls whether directory sync events are processed. -
'SETUP': Directory connected but role mappings not yet
configured. Events are acknowledged but not processed. -
'ACTIVE': Fully configured. Events are processed normally. -
undefined: Legacy directory (pre-feature), treat as 'ACTIVE'
for backwards compatibility.
required:
- connectedAt
- state
- type
type: object
description: Information for the Directory Sync configuration.
enforced:
type: boolean
enum:
- false
- true
description: >-
When `true`, interactions with the Team **must** be done with an
authentication token that has been authenticated with the Team's
SAML Single Sign-On provider.
defaultRedirectUri:
type: string
enum:
- vercel.com
- v0.dev
- v0.app
description: >-
The default redirect URI to use after successful SAML
authentication.
roles:
additionalProperties:
oneOf:
- properties:
accessGroupId:
type: string
required:
- accessGroupId
type: object
description: >-
When "Directory Sync" is configured, this object contains
a mapping of which Directory Group (by ID) should be
assigned to which Vercel Team "role".
- type: string
enum:
- OWNER
- MEMBER
- DEVELOPER
- SECURITY
- BILLING
- VIEWER
- VIEWER_FOR_PLUS
- CONTRIBUTOR
type: object
description: >-
When "Directory Sync" is configured, this object contains a
mapping of which Directory Group (by ID) should be assigned to
which Vercel Team "role".
required:
- enforced
type: object
description: >-
When "Single Sign-On (SAML)" is configured, this object contains
information regarding the configuration of the Identity Provider
(IdP).
inviteCode:
type: string
description: >-
Code that can be used to join this Team. Only visible to Team
owners.
example: hasihf9e89
description:
nullable: true
type: string
description: A short description of the Team.
example: Our mission is to make cloud computing accessible to everyone.
defaultRoles:
properties:
teamRoles:
items:
type: string
enum:
- OWNER
- MEMBER
- DEVELOPER
- SECURITY
- BILLING
- VIEWER
- VIEWER_FOR_PLUS
- CONTRIBUTOR
type: array
teamPermissions:
items:
type: string
enum:
- IntegrationManager
- CreateProject
- FullProductionDeployment
- UsageViewer
- EnvVariableManager
- EnvironmentManager
- V0Builder
- V0Chatter
- V0Viewer
type: array
type: object
description: Default roles for the team.
stagingPrefix:
type: string
description: The prefix that is prepended to automatic aliases.
resourceConfig:
properties:
concurrentBuilds:
type: number
description: The total amount of concurrent builds that can be used.
elasticConcurrencyEnabled:
type: boolean
enum:
- false
- true
description: >-
Whether every build for this team / user has elastic concurrency
enabled automatically.
edgeConfigSize:
type: number
description: >-
The maximum size in kilobytes of an Edge Config. Only specified
if a custom limit is set.
edgeConfigs:
type: number
description: The maximum number of edge configs an account can create.
kvDatabases:
type: number
description: The maximum number of kv databases an account can create.
blobStores:
type: number
description: The maximum number of blob stores an account can create.
postgresDatabases:
type: number
description: The maximum number of postgres databases an account can create.
buildEntitlements:
properties:
enhancedBuilds:
type: boolean
enum:
- false
- true
type: object
buildMachine:
properties:
default:
type: string
enum:
- standard
- enhanced
- turbo
description: Default build machine type for new builds
type: object
description: Build machine configuration
type: object
previewDeploymentSuffix:
nullable: true
type: string
description: The hostname that is current set as preview deployment suffix.
example: example.dev
platform:
type: boolean
enum:
- false
- true
description: Whether the team is a platform team.
example: true
disableHardAutoBlocks:
oneOf:
- type: number
- type: boolean
enum:
- false
- true
remoteCaching:
properties:
enabled:
type: boolean
enum:
- false
- true
type: object
description: Is remote caching enabled for this team
defaultDeploymentProtection:
properties:
passwordProtection:
nullable: true
properties:
deploymentType:
type: string
required:
- deploymentType
type: object
ssoProtection:
nullable: true
properties:
deploymentType:
type: string
required:
- deploymentType
type: object
type: object
description: >-
Default deployment protection for this team null indicates
protection is disabled
defaultExpirationSettings:
properties:
expirationDays:
type: number
description: >-
Number of days to keep non-production deployments (mostly
preview deployments) before soft deletion.
expirationDaysProduction:
type: number
description: >-
Number of days to keep production deployments before soft
deletion.
expirationDaysCanceled:
type: number
description: >-
Number of days to keep canceled deployments before soft
deletion.
expirationDaysErrored:
type: number
description: Number of days to keep errored deployments before soft deletion.
deploymentsToKeep:
type: number
description: >-
Minimum number of production deployments to keep for this
project, even if they are over the production expiration limit.
type: object
description: Default deployment expiration settings for this team
enablePreviewFeedback:
nullable: true
type: string
enum:
- default
- 'on'
- 'off'
- on-force
- off-force
- default-force
description: Whether toolbar is enabled on preview deployments
enableProductionFeedback:
nullable: true
type: string
enum:
- default
- 'on'
- 'off'
- on-force
- off-force
- default-force
description: Whether toolbar is enabled on production deployments
sensitiveEnvironmentVariablePolicy:
nullable: true
type: string
enum:
- default
- 'on'
- 'off'
description: Sensitive environment variable policy for this team
hideIpAddresses:
nullable: true
type: boolean
enum:
- false
- true
description: >-
Indicates if IP addresses should be accessible in observability
(o11y) tooling
hideIpAddressesInLogDrains:
nullable: true
type: boolean
enum:
- false
- true
description: Indicates if IP addresses should be accessible in log drains
ipBuckets:
items:
properties:
bucket:
type: string
supportUntil:
type: number
required:
- bucket
type: object
type: array
strictDeploymentProtectionSettings:
properties:
enabled:
type: boolean
enum:
- false
- true
updatedAt:
type: number
required:
- enabled
- updatedAt
type: object
description: >-
When enabled, deployment protection settings require stricter
permissions (owner-only).
nsnbConfig:
properties:
preference:
type: string
enum:
- auto-approval
- manual-approval
- block
required:
- preference
type: object
description: NSNB configuration for the team.
id:
type: string
description: The Team's unique identifier.
example: team_nllPyCtREAqxxdyFKbbMDlxd
slug:
type: string
description: The Team's slug, which is unique across the Vercel platform.
example: my-team
name:
nullable: true
type: string
description: >-
Name associated with the Team account, or `null` if none has been
provided.
example: My Team
avatar:
nullable: true
type: string
description: The ID of the file used as avatar for this Team.
example: 6eb07268bcfadd309905ffb1579354084c24655c
membership:
properties:
uid:
type: string
entitlements:
items:
properties:
entitlement:
type: string
required:
- entitlement
type: object
type: array
teamId:
type: string
confirmed:
type: boolean
enum:
- true
accessRequestedAt:
type: number
role:
type: string
enum:
- OWNER
- MEMBER
- DEVELOPER
- SECURITY
- BILLING
- VIEWER
- VIEWER_FOR_PLUS
- CONTRIBUTOR
teamRoles:
items:
type: string
enum:
- OWNER
- MEMBER
- DEVELOPER
- SECURITY
- BILLING
- VIEWER
- VIEWER_FOR_PLUS
- CONTRIBUTOR
type: array
teamPermissions:
items:
type: string
enum:
- IntegrationManager
- CreateProject
- FullProductionDeployment
- UsageViewer
- EnvVariableManager
- EnvironmentManager
- V0Builder
- V0Chatter
- V0Viewer
type: array
createdAt:
type: number
created:
type: number
joinedFrom:
properties:
origin:
type: string
enum:
- link
- saml
- mail
- import
- teams
- github
- gitlab
- bitbucket
- dsync
- feedback
- organization-teams
- nsnb-auto-approve
commitId:
type: string
repoId:
type: string
repoPath:
type: string
gitUserId:
oneOf:
- type: string
- type: number
gitUserLogin:
type: string
ssoUserId:
type: string
ssoConnectedAt:
type: number
idpUserId:
type: string
dsyncUserId:
type: string
dsyncConnectedAt:
type: number
required:
- origin
type: object
required:
- confirmed
- created
- createdAt
- role
type: object
description: The membership of the authenticated User in relation to the Team.
createdAt:
type: number
description: UNIX timestamp (in milliseconds) when the Team was created.
example: 1630748523395
required:
- avatar
- createdAt
- creatorId
- description
- id
- membership
- name
- slug
- stagingPrefix
- updatedAt
type: object
description: Data representing a Team.
additionalProperties: true
TeamLimited:
properties:
limited:
type: boolean
enum:
- true
description: >-
Property indicating that this Team data contains only limited
information, due to the authentication token missing privileges to
read the full Team data or due to team having MFA enforced and the
user not having MFA enabled. Re-login with the Team's configured
SAML Single Sign-On provider in order to upgrade the authentication
token with the necessary privileges.
limitedBy:
items:
type: string
enum:
- mfa
- scope
type: array
saml:
properties:
connection:
properties:
type:
type: string
description: The Identity Provider "type", for example Okta.
example: OktaSAML
status:
type: string
description: Current status of the connection.
example: linked
state:
type: string
description: Current state of the connection.
example: active
connectedAt:
type: number
description: >-
Timestamp (in milliseconds) of when the configuration was
connected.
example: 1611796915677
lastReceivedWebhookEvent:
type: number
description: >-
Timestamp (in milliseconds) of when the last webhook event
was received from WorkOS.
example: 1611796915677
lastSyncedAt:
type: number
description: >-
Timestamp (in milliseconds) of when the last directory sync
was performed.
example: 1611796915677
syncState:
type: string
enum:
- SETUP
- ACTIVE
description: >-
Controls whether directory sync events are processed. -
'SETUP': Directory connected but role mappings not yet
configured. Events are acknowledged but not processed. -
'ACTIVE': Fully configured. Events are processed normally. -
undefined: Legacy directory (pre-feature), treat as 'ACTIVE'
for backwards compatibility.
required:
- connectedAt
- state
- status
- type
type: object
description: Information for the SAML Single Sign-On configuration.
directory:
properties:
type:
type: string
description: The Identity Provider "type", for example Okta.
example: OktaSAML
state:
type: string
description: Current state of the connection.
example: active
connectedAt:
type: number
description: >-
Timestamp (in milliseconds) of when the configuration was
connected.
example: 1611796915677
lastReceivedWebhookEvent:
type: number
description: >-
Timestamp (in milliseconds) of when the last webhook event
was received from WorkOS.
example: 1611796915677
lastSyncedAt:
type: number
description: >-
Timestamp (in milliseconds) of when the last directory sync
was performed.
example: 1611796915677
syncState:
type: string
enum:
- SETUP
- ACTIVE
description: >-
Controls whether directory sync events are processed. -
'SETUP': Directory connected but role mappings not yet
configured. Events are acknowledged but not processed. -
'ACTIVE': Fully configured. Events are processed normally. -
undefined: Legacy directory (pre-feature), treat as 'ACTIVE'
for backwards compatibility.
required:
- connectedAt
- state
- type
type: object
description: Information for the Directory Sync configuration.
enforced:
type: boolean
enum:
- false
- true
description: >-
When `true`, interactions with the Team **must** be done with an
authentication token that has been authenticated with the Team's
SAML Single Sign-On provider.
required:
- enforced
type: object
description: >-
When "Single Sign-On (SAML)" is configured, this object contains
information that allows the client-side to identify whether or not
this Team has SAML enforced.
id:
type: string
description: The Team's unique identifier.
example: team_nllPyCtREAqxxdyFKbbMDlxd
slug:
type: string
description: The Team's slug, which is unique across the Vercel platform.
example: my-team
name:
nullable: true
type: string
description: >-
Name associated with the Team account, or `null` if none has been
provided.
example: My Team
avatar:
nullable: true
type: string
description: The ID of the file used as avatar for this Team.
example: 6eb07268bcfadd309905ffb1579354084c24655c
membership:
properties:
uid:
type: string
entitlements:
items:
properties:
entitlement:
type: string
required:
- entitlement
type: object
type: array
teamId:
type: string
confirmed:
type: boolean
enum:
- true
accessRequestedAt:
type: number
role:
type: string
enum:
- OWNER
- MEMBER
- DEVELOPER
- SECURITY
- BILLING
- VIEWER
- VIEWER_FOR_PLUS
- CONTRIBUTOR
teamRoles:
items:
type: string
enum:
- OWNER
- MEMBER
- DEVELOPER
- SECURITY
- BILLING
- VIEWER
- VIEWER_FOR_PLUS
- CONTRIBUTOR
type: array
teamPermissions:
items:
type: string
enum:
- IntegrationManager
- CreateProject
- FullProductionDeployment
- UsageViewer
- EnvVariableManager
- EnvironmentManager
- V0Builder
- V0Chatter
- V0Viewer
type: array
createdAt:
type: number
created:
type: number
joinedFrom:
properties:
origin:
type: string
enum:
- link
- saml
- mail
- import
- teams
- github
- gitlab
- bitbucket
- dsync
- feedback
- organization-teams
- nsnb-auto-approve
commitId:
type: string
repoId:
type: string
repoPath:
type: string
gitUserId:
oneOf:
- type: string
- type: number
gitUserLogin:
type: string
ssoUserId:
type: string
ssoConnectedAt:
type: number
idpUserId:
type: string
dsyncUserId:
type: string
dsyncConnectedAt:
type: number
required:
- origin
type: object
required:
- confirmed
- created
- createdAt
- role
type: object
description: The membership of the authenticated User in relation to the Team.
createdAt:
type: number
description: UNIX timestamp (in milliseconds) when the Team was created.
example: 1630748523395
required:
- avatar
- createdAt
- id
- limited
- limitedBy
- membership
- name
- slug
type: object
description: >-
A limited form of data representing a Team, due to the authentication
token missing privileges to read the full Team data.
Pagination:
properties:
count:
type: number
description: Amount of items in the current page.
example: 20
next:
nullable: true
type: number
description: Timestamp that must be used to request the next page.
example: 1540095775951
prev:
nullable: true
type: number
description: Timestamp that must be used to request the previous page.
example: 1540095775951
required:
- count
- next
- prev
type: object
description: >-
This object contains information related to the pagination of the
current request, including the necessary parameters to get the next or
previous page of data.
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/domains/list-all-the-domains.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# List all the domains
> Retrieves a list of domains registered for the authenticated user or team. By default it returns the last 20 domains if no limit is provided.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v5/domains
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v5/domains:
get:
tags:
- domains
summary: List all the domains
description: >-
Retrieves a list of domains registered for the authenticated user or
team. By default it returns the last 20 domains if no limit is provided.
operationId: getDomains
parameters:
- name: limit
description: Maximum number of domains to list from a request.
in: query
schema:
description: Maximum number of domains to list from a request.
type: number
example: 20
- name: since
description: Get domains created after this JavaScript timestamp.
in: query
schema:
description: Get domains created after this JavaScript timestamp.
type: number
example: 1609499532000
- name: until
description: Get domains created before this JavaScript timestamp.
in: query
schema:
description: Get domains created before this JavaScript timestamp.
type: number
example: 1612264332000
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'200':
description: Successful response retrieving a list of domains.
content:
application/json:
schema:
properties:
domains:
items:
properties:
verified:
type: boolean
enum:
- false
- true
description: If the domain has the ownership verified.
example: true
nameservers:
items:
type: string
type: array
description: A list of the current nameservers of the domain.
example:
- ns1.nameserver.net
- ns2.nameserver.net
intendedNameservers:
items:
type: string
type: array
description: >-
A list of the intended nameservers for the domain to
point to Vercel DNS.
example:
- ns1.vercel-dns.com
- ns2.vercel-dns.com
customNameservers:
items:
type: string
type: array
description: >-
A list of custom nameservers for the domain to point
to. Only applies to domains purchased with Vercel.
example:
- ns1.nameserver.net
- ns2.nameserver.net
creator:
properties:
username:
type: string
email:
type: string
customerId:
nullable: true
type: string
isDomainReseller:
type: boolean
enum:
- false
- true
id:
type: string
required:
- email
- id
- username
type: object
description: >-
An object containing information of the domain
creator, including the user's id, username, and
email.
example:
id: ZspSRT4ljIEEmMHgoDwKWDei
username: vercel_user
email: demo@example.com
registrar:
type: string
enum:
- new
description: >-
Whether or not the domain is registered with
Name.com. If set to `true`, the domain is registered
with Name.com.
name:
type: string
description: The domain name.
example: example.com
teamId:
nullable: true
type: string
boughtAt:
nullable: true
type: number
description: >-
If it was purchased through Vercel, the timestamp in
milliseconds when it was purchased.
example: 1613602938882
createdAt:
type: number
description: >-
Timestamp in milliseconds when the domain was
created in the registry.
example: 1613602938882
expiresAt:
nullable: true
type: number
description: >-
Timestamp in milliseconds at which the domain is set
to expire. `null` if not bought with Vercel.
example: 1613602938882
id:
type: string
description: The unique identifier of the domain.
example: EmTbe5CEJyTk2yVAHBUWy4A3sRusca3GCwRjTC1bpeVnt1
renew:
type: boolean
enum:
- false
- true
description: >-
Indicates whether the domain is set to automatically
renew.
example: true
serviceType:
type: string
enum:
- zeit.world
- external
- na
description: >-
The type of service the domain is handled by.
`external` if the DNS is externally handled,
`zeit.world` if handled with Vercel, or `na` if the
service is not available.
example: zeit.world
transferredAt:
nullable: true
type: number
description: >-
Timestamp in milliseconds at which the domain was
successfully transferred into Vercel. `null` if the
transfer is still processing or was never
transferred in.
example: 1613602938882
transferStartedAt:
type: number
description: >-
If transferred into Vercel, timestamp in
milliseconds when the domain transfer was initiated.
example: 1613602938882
userId:
type: string
required:
- boughtAt
- createdAt
- creator
- expiresAt
- id
- intendedNameservers
- name
- nameservers
- serviceType
- teamId
- userId
- verified
type: object
type: array
pagination:
$ref: '#/components/schemas/Pagination'
required:
- domains
- pagination
type: object
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'409':
description: ''
security:
- bearerToken: []
components:
schemas:
Pagination:
properties:
count:
type: number
description: Amount of items in the current page.
example: 20
next:
nullable: true
type: number
description: Timestamp that must be used to request the next page.
example: 1540095775951
prev:
nullable: true
type: number
description: Timestamp that must be used to request the previous page.
example: 1540095775951
required:
- count
- next
- prev
type: object
description: >-
This object contains information related to the pagination of the
current request, including the necessary parameters to get the next or
previous page of data.
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/authentication/list-auth-tokens.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# List Auth Tokens
> Retrieve a list of the current User's authentication tokens.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v5/user/tokens
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v5/user/tokens:
get:
tags:
- authentication
summary: List Auth Tokens
description: Retrieve a list of the current User's authentication tokens.
operationId: listAuthTokens
parameters: []
responses:
'200':
description: ''
content:
application/json:
schema:
properties:
tokens:
items:
$ref: '#/components/schemas/AuthToken'
type: array
pagination:
$ref: '#/components/schemas/Pagination'
required:
- pagination
- tokens
type: object
'400':
description: ''
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
security:
- bearerToken: []
components:
schemas:
AuthToken:
properties:
id:
type: string
description: The unique identifier of the token.
example: 5d9f2ebd38ddca62e5d51e9c1704c72530bdc8bfdd41e782a6687c48399e8391
name:
type: string
description: The human-readable name of the token.
type:
type: string
description: The type of the token.
example: oauth2-token
origin:
type: string
description: The origin of how the token was created.
example: github
scopes:
items:
oneOf:
- properties:
type:
type: string
enum:
- user
sudo:
properties:
origin:
type: string
enum:
- totp
- webauthn
- recovery-code
description: Possible multi-factor origins
expiresAt:
type: number
required:
- expiresAt
- origin
type: object
origin:
type: string
enum:
- saml
- github
- gitlab
- bitbucket
- email
- manual
- passkey
- otp
- sms
- invite
- google
- apple
- app
createdAt:
type: number
expiresAt:
type: number
required:
- createdAt
- type
type: object
description: The access scopes granted to the token.
- properties:
type:
type: string
enum:
- team
teamId:
type: string
origin:
type: string
enum:
- saml
- github
- gitlab
- bitbucket
- email
- manual
- passkey
- otp
- sms
- invite
- google
- apple
- app
createdAt:
type: number
expiresAt:
type: number
required:
- createdAt
- teamId
- type
type: object
description: The access scopes granted to the token.
type: array
description: The access scopes granted to the token.
expiresAt:
type: number
description: Timestamp (in milliseconds) of when the token expires.
example: 1632816536002
activeAt:
type: number
description: >-
Timestamp (in milliseconds) of when the token was most recently
used.
example: 1632816536002
createdAt:
type: number
description: Timestamp (in milliseconds) of when the token was created.
example: 1632816536002
leakedAt:
type: number
description: Timestamp (in milliseconds) of when the token was marked as leaked.
example: 1632816536002
required:
- activeAt
- createdAt
- id
- name
- type
type: object
description: Authentication token metadata.
Pagination:
properties:
count:
type: number
description: Amount of items in the current page.
example: 20
next:
nullable: true
type: number
description: Timestamp that must be used to request the next page.
example: 1540095775951
prev:
nullable: true
type: number
description: Timestamp that must be used to request the previous page.
example: 1540095775951
required:
- count
- next
- prev
type: object
description: >-
This object contains information related to the pagination of the
current request, including the necessary parameters to get the next or
previous page of data.
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/aliases/list-deployment-aliases.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# List Deployment Aliases
> Retrieves all Aliases for the Deployment with the given ID. The authenticated user or team must own the deployment.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v2/deployments/{id}/aliases
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v2/deployments/{id}/aliases:
get:
tags:
- aliases
summary: List Deployment Aliases
description: >-
Retrieves all Aliases for the Deployment with the given ID. The
authenticated user or team must own the deployment.
operationId: listDeploymentAliases
parameters:
- name: id
description: The ID of the deployment the aliases should be listed for
in: path
required: true
schema:
example: dpl_FjvFJncQHQcZMznrUm9EoB8sFuPa
description: The ID of the deployment the aliases should be listed for
type: string
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'200':
description: The list of aliases assigned to the deployment
content:
application/json:
schema:
properties:
aliases:
items:
properties:
uid:
type: string
description: The unique identifier of the alias
example: 2WjyKQmM8ZnGcJsPWMrHRHrE
alias:
type: string
description: >-
The alias name, it could be a `.vercel.app`
subdomain or a custom domain
example: my-alias.vercel.app
created:
type: string
format: date-time
description: The date when the alias was created
example: '2017-04-26T23:00:34.232Z'
redirect:
nullable: true
type: string
description: >-
Target destination domain for redirect when the
alias is a redirect
protectionBypass:
additionalProperties:
oneOf:
- properties:
createdAt:
type: number
createdBy:
type: string
scope:
type: string
enum:
- shareable-link
expires:
type: number
required:
- createdAt
- createdBy
- scope
type: object
description: The protection bypass for the alias
- properties:
createdAt:
type: number
lastUpdatedAt:
type: number
lastUpdatedBy:
type: string
access:
type: string
enum:
- requested
- granted
scope:
type: string
enum:
- user
required:
- access
- createdAt
- lastUpdatedAt
- lastUpdatedBy
- scope
type: object
description: The protection bypass for the alias
- properties:
createdAt:
type: number
createdBy:
type: string
scope:
type: string
enum:
- alias-protection-override
required:
- createdAt
- createdBy
- scope
type: object
description: The protection bypass for the alias
- properties:
createdAt:
type: number
lastUpdatedAt:
type: number
lastUpdatedBy:
type: string
scope:
type: string
enum:
- email_invite
required:
- createdAt
- lastUpdatedAt
- lastUpdatedBy
- scope
type: object
description: The protection bypass for the alias
type: object
description: The protection bypass for the alias
required:
- alias
- created
- uid
type: object
description: A list of the aliases assigned to the deployment
type: array
description: A list of the aliases assigned to the deployment
required:
- aliases
type: object
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: The deployment was not found
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/deployments/list-deployment-files.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# List Deployment Files
> Allows 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.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v6/deployments/{id}/files
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v6/deployments/{id}/files:
get:
tags:
- deployments
summary: List Deployment Files
description: >-
Allows 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.
operationId: listDeploymentFiles
parameters:
- name: id
description: The unique deployment identifier
in: path
required: true
schema:
description: The unique deployment identifier
type: string
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'200':
description: Retrieved the file tree successfully
content:
application/json:
schema:
items:
$ref: '#/components/schemas/FileTree'
type: array
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: |-
File tree not found
Deployment not found
security:
- bearerToken: []
components:
schemas:
FileTree:
properties:
name:
type: string
description: The name of the file tree entry
example: my-file.json
type:
type: string
enum:
- directory
- file
- symlink
- lambda
- middleware
- invalid
description: String indicating the type of file tree entry.
example: file
uid:
type: string
description: The unique identifier of the file (only valid for the `file` type)
example: 2d4aad419917f15b1146e9e03ddc9bb31747e4d0
children:
items:
$ref: '#/components/schemas/FileTree'
type: array
description: >-
The list of children files of the directory (only valid for the
`directory` type)
contentType:
type: string
description: The content-type of the file (only valid for the `file` type)
example: application/json
mode:
type: number
description: The file "mode" indicating file type and permissions.
required:
- mode
- name
- type
type: object
description: A deployment file tree entry
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/deployments/list-deployments.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# List deployments
> List 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`.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v6/deployments
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v6/deployments:
get:
tags:
- deployments
summary: List deployments
description: >-
List 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`.
operationId: getDeployments
parameters:
- name: app
description: Name of the deployment.
in: query
schema:
description: Name of the deployment.
type: string
example: docs
- name: from
description: >-
Gets the deployment created after this Date timestamp. (default:
current time)
in: query
schema:
description: >-
Gets the deployment created after this Date timestamp. (default:
current time)
type: number
example: 1612948664566
deprecated: true
- name: limit
description: Maximum number of deployments to list from a request.
in: query
schema:
description: Maximum number of deployments to list from a request.
type: number
example: 10
- name: projectId
description: Filter deployments from the given ID or name.
in: query
schema:
description: Filter deployments from the given ID or name.
type: string
example: QmXGTs7mvAMMC7WW5ebrM33qKG32QK3h4vmQMjmY
- name: projectIds
description: >-
Filter deployments from the given project IDs. Cannot be used when
projectId is specified.
in: query
schema:
description: >-
Filter deployments from the given project IDs. Cannot be used when
projectId is specified.
type: array
items:
type: string
example:
- prj_123
- prj_456
minItems: 1
maxItems: 20
- name: target
description: Filter deployments based on the environment.
in: query
schema:
description: Filter deployments based on the environment.
type: string
example: production
- name: to
description: >-
Gets the deployment created before this Date timestamp. (default:
current time)
in: query
schema:
description: >-
Gets the deployment created before this Date timestamp. (default:
current time)
type: number
example: 1612948664566
deprecated: true
- name: users
description: >-
Filter out deployments based on users who have created the
deployment.
in: query
schema:
description: >-
Filter out deployments based on users who have created the
deployment.
type: string
example: kr1PsOIzqEL5Xg6M4VZcZosf,K4amb7K9dAt5R2vBJWF32bmY
- name: since
description: Get Deployments created after this JavaScript timestamp.
in: query
schema:
description: Get Deployments created after this JavaScript timestamp.
type: number
example: 1540095775941
- name: until
description: Get Deployments created before this JavaScript timestamp.
in: query
schema:
description: Get Deployments created before this JavaScript timestamp.
type: number
example: 1540095775951
- name: state
description: >-
Filter deployments based on their state (`BUILDING`, `ERROR`,
`INITIALIZING`, `QUEUED`, `READY`, `CANCELED`)
in: query
schema:
description: >-
Filter deployments based on their state (`BUILDING`, `ERROR`,
`INITIALIZING`, `QUEUED`, `READY`, `CANCELED`)
type: string
example: BUILDING,READY
- name: rollbackCandidate
description: Filter deployments based on their rollback candidacy
in: query
schema:
description: Filter deployments based on their rollback candidacy
type: boolean
- name: branch
description: Filter deployments based on the branch name
in: query
schema:
description: Filter deployments based on the branch name
type: string
- name: sha
description: Filter deployments based on the SHA
in: query
schema:
description: Filter deployments based on the SHA
type: string
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'200':
description: ''
content:
application/json:
schema:
properties:
pagination:
$ref: '#/components/schemas/Pagination'
deployments:
items:
properties:
uid:
type: string
description: The unique identifier of the deployment.
example: dpl_2euZBFqxYdDMDG1jTrHFnNZ2eUVa
name:
type: string
description: The name of the deployment.
example: docs
projectId:
type: string
description: The project ID of the deployment
url:
type: string
description: The URL of the deployment.
example: docs-9jaeg38me.vercel.app
created:
type: number
description: Timestamp of when the deployment got created.
example: 1609492210000
defaultRoute:
type: string
description: >-
The default route that should be used for
screenshots and links if configured with
microfrontends.
example: /docs
deleted:
type: number
description: Timestamp of when the deployment got deleted.
example: 1609492210000
undeleted:
type: number
description: Timestamp of when the deployment was undeleted.
example: 1609492210000
softDeletedByRetention:
type: boolean
enum:
- false
- true
description: >-
Optional flag to indicate if the deployment was soft
deleted by retention policy.
example: true
source:
type: string
enum:
- api-trigger-git-deploy
- cli
- clone/repo
- git
- import
- import/repo
- redeploy
- v0-web
description: The source of the deployment.
example: cli
state:
type: string
enum:
- BUILDING
- ERROR
- INITIALIZING
- QUEUED
- READY
- CANCELED
- DELETED
description: In which state is the deployment.
example: READY
readyState:
type: string
enum:
- BUILDING
- ERROR
- INITIALIZING
- QUEUED
- READY
- CANCELED
- DELETED
description: In which state is the deployment.
example: READY
type:
type: string
enum:
- LAMBDAS
description: The type of the deployment.
example: LAMBDAS
creator:
properties:
uid:
type: string
description: The unique identifier of the user.
example: eLrCnEgbKhsHyfbiNR7E8496
email:
type: string
description: The email address of the user.
example: example@example.com
username:
type: string
description: The username of the user.
example: johndoe
githubLogin:
type: string
description: The GitHub login of the user.
example: johndoe
gitlabLogin:
type: string
description: The GitLab login of the user.
example: johndoe
required:
- uid
type: object
description: >-
Metadata information of the user who created the
deployment.
meta:
additionalProperties:
type: string
description: Metadata information from the Git provider.
type: object
description: Metadata information from the Git provider.
target:
nullable: true
type: string
enum:
- production
- staging
description: >-
On which environment has the deployment been
deployed to.
example: production
aliasError:
nullable: true
properties:
code:
type: string
message:
type: string
required:
- code
- message
type: object
description: >-
An error object in case aliasing of the deployment
failed.
aliasAssigned:
nullable: true
oneOf:
- type: number
- type: boolean
enum:
- false
- true
createdAt:
type: number
description: Timestamp of when the deployment got created.
example: 1609492210000
buildingAt:
type: number
description: >-
Timestamp of when the deployment started building
at.
example: 1609492210000
ready:
type: number
description: Timestamp of when the deployment got ready.
example: 1609492210000
readySubstate:
type: string
enum:
- STAGED
- ROLLING
- PROMOTED
description: >-
Substate of deployment when readyState is 'READY'
Tracks whether or not deployment has seen production
traffic: - STAGED: never seen production traffic -
ROLLING: in the process of gradually transitioning
production traffic - PROMOTED: has seen production
traffic
checksState:
type: string
enum:
- registered
- running
- completed
description: State of all registered checks
checksConclusion:
type: string
enum:
- succeeded
- failed
- skipped
- canceled
description: Conclusion for checks
checks:
properties:
deployment-alias:
properties:
state:
type: string
enum:
- succeeded
- failed
- pending
startedAt:
type: number
completedAt:
type: number
required:
- startedAt
- state
type: object
description: >-
Detailed information about v2 deployment checks.
Includes information about blocked workflows in
the deployment lifecycle.
required:
- deployment-alias
type: object
description: >-
Detailed information about v2 deployment checks.
Includes information about blocked workflows in the
deployment lifecycle.
inspectorUrl:
nullable: true
type: string
description: Vercel URL to inspect the deployment.
example: >-
https://vercel.com/acme/nextjs/J1hXN00qjUeoYfpEEf7dnDtpSiVq
errorCode:
type: string
description: Error code when the deployment is in an error state.
example: BUILD_FAILED
errorMessage:
nullable: true
type: string
description: >-
Error message when the deployment is in an canceled
or error state.
example: >-
The Deployment has been canceled because this
project was not affected
oomReport:
type: string
enum:
- out-of-memory
description: >-
Indicates if the deployment encountered an
out-of-memory error.
example: out-of-memory
isRollbackCandidate:
nullable: true
type: boolean
enum:
- false
- true
description: Deployment can be used for instant rollback
prebuilt:
type: boolean
enum:
- false
- true
projectSettings:
properties:
framework:
nullable: true
type: string
enum:
- blitzjs
- nextjs
- gatsby
- remix
- react-router
- astro
- hexo
- eleventy
- docusaurus-2
- docusaurus
- preact
- solidstart-1
- solidstart
- dojo
- ember
- vue
- scully
- ionic-angular
- angular
- polymer
- svelte
- sveltekit
- sveltekit-1
- ionic-react
- create-react-app
- gridsome
- umijs
- sapper
- saber
- stencil
- nuxtjs
- redwoodjs
- hugo
- jekyll
- brunch
- middleman
- zola
- hydrogen
- vite
- tanstack-start
- vitepress
- vuepress
- parcel
- fastapi
- flask
- fasthtml
- sanity-v3
- sanity
- storybook
- nitro
- hono
- express
- h3
- koa
- nestjs
- elysia
- fastify
- xmcp
- python
- ruby
- rust
- node
- services
gitForkProtection:
type: boolean
enum:
- false
- true
customerSupportCodeVisibility:
type: boolean
enum:
- false
- true
gitLFS:
type: boolean
enum:
- false
- true
devCommand:
nullable: true
type: string
installCommand:
nullable: true
type: string
buildCommand:
nullable: true
type: string
nodeVersion:
type: string
enum:
- 24.x
- 22.x
- 20.x
- 18.x
- 16.x
- 14.x
- 12.x
- 10.x
- 8.10.x
outputDirectory:
nullable: true
type: string
publicSource:
nullable: true
type: boolean
enum:
- false
- true
rootDirectory:
nullable: true
type: string
sourceFilesOutsideRootDirectory:
type: boolean
enum:
- false
- true
commandForIgnoringBuildStep:
nullable: true
type: string
createdAt:
type: number
speedInsights:
properties:
id:
type: string
enabledAt:
type: number
disabledAt:
type: number
canceledAt:
type: number
hasData:
type: boolean
enum:
- false
- true
paidAt:
type: number
required:
- id
type: object
webAnalytics:
properties:
id:
type: string
disabledAt:
type: number
canceledAt:
type: number
enabledAt:
type: number
hasData:
type: boolean
enum:
- true
required:
- id
type: object
skipGitConnectDuringLink:
type: boolean
enum:
- false
- true
gitComments:
properties:
onPullRequest:
type: boolean
enum:
- false
- true
description: Whether the Vercel bot should comment on PRs
onCommit:
type: boolean
enum:
- false
- true
description: >-
Whether the Vercel bot should comment on
commits
required:
- onCommit
- onPullRequest
type: object
description: Since June '23
type: object
description: >-
The project settings which was used for this
deployment
connectBuildsEnabled:
type: boolean
enum:
- false
- true
description: >-
The flag saying if Secure Compute network is used
for builds
connectConfigurationId:
type: string
description: >-
The ID of Secure Compute network used for this
deployment
passiveConnectConfigurationId:
type: string
description: >-
The ID of Secure Compute network used for this
deployment's passive functions
expiration:
type: number
description: >-
The expiration configured by the project retention
policy
proposedExpiration:
type: number
description: >-
The expiration proposed to replace the existing
expiration
customEnvironment:
properties:
id:
type: string
slug:
type: string
required:
- id
type: object
description: >-
The custom environment used for this deployment, if
any
required:
- created
- creator
- inspectorUrl
- name
- projectId
- type
- uid
- url
type: object
type: array
required:
- deployments
- pagination
type: object
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
'422':
description: ''
security:
- bearerToken: []
components:
schemas:
Pagination:
properties:
count:
type: number
description: Amount of items in the current page.
example: 20
next:
nullable: true
type: number
description: Timestamp that must be used to request the next page.
example: 1540095775951
prev:
nullable: true
type: number
description: Timestamp that must be used to request the previous page.
example: 1540095775951
required:
- count
- next
- prev
type: object
description: >-
This object contains information related to the pagination of the
current request, including the necessary parameters to get the next or
previous page of data.
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/dns/list-existing-dns-records.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# List existing DNS 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.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v4/domains/{domain}/records
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v4/domains/{domain}/records:
get:
tags:
- dns
summary: List existing DNS records
description: >-
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.
operationId: getRecords
parameters:
- name: domain
in: path
required: true
schema:
type: string
example: example.com
- name: limit
description: Maximum number of records to list from a request.
in: query
required: false
schema:
description: Maximum number of records to list from a request.
type: string
example: 20
- name: since
description: Get records created after this JavaScript timestamp.
in: query
required: false
schema:
description: Get records created after this JavaScript timestamp.
type: string
example: 1609499532000
- name: until
description: Get records created before this JavaScript timestamp.
in: query
required: false
schema:
description: Get records created before this JavaScript timestamp.
type: string
example: 1612264332000
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'200':
description: Successful response retrieving a list of paginated DNS records.
content:
application/json:
schema:
oneOf:
- type: string
- properties:
records:
items:
properties:
id:
type: string
slug:
type: string
name:
type: string
type:
type: string
enum:
- A
- AAAA
- ALIAS
- CAA
- CNAME
- HTTPS
- MX
- SRV
- TXT
- NS
value:
type: string
mxPriority:
type: number
priority:
type: number
creator:
type: string
created:
nullable: true
type: number
updated:
nullable: true
type: number
createdAt:
nullable: true
type: number
updatedAt:
nullable: true
type: number
ttl:
type: number
comment:
type: string
required:
- created
- createdAt
- creator
- id
- name
- slug
- type
- updated
- updatedAt
- value
type: object
type: array
required:
- records
type: object
- properties:
records:
items:
properties:
id:
type: string
slug:
type: string
name:
type: string
type:
type: string
enum:
- A
- AAAA
- ALIAS
- CAA
- CNAME
- HTTPS
- MX
- SRV
- TXT
- NS
value:
type: string
mxPriority:
type: number
priority:
type: number
creator:
type: string
created:
nullable: true
type: number
updated:
nullable: true
type: number
createdAt:
nullable: true
type: number
updatedAt:
nullable: true
type: number
ttl:
type: number
comment:
type: string
required:
- created
- createdAt
- creator
- id
- name
- slug
- type
- updated
- updatedAt
- value
type: object
type: array
pagination:
$ref: '#/components/schemas/Pagination'
required:
- pagination
- records
type: object
description: >-
Successful response retrieving a list of paginated DNS
records.
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
security:
- bearerToken: []
components:
schemas:
Pagination:
properties:
count:
type: number
description: Amount of items in the current page.
example: 20
next:
nullable: true
type: number
description: Timestamp that must be used to request the next page.
example: 1540095775951
prev:
nullable: true
type: number
description: Timestamp that must be used to request the previous page.
example: 1540095775951
required:
- count
- next
- prev
type: object
description: >-
This object contains information related to the pagination of the
current request, including the necessary parameters to get the next or
previous page of data.
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/billing/list-focus-billing-charges.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# List FOCUS billing charges
> Returns 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.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v1/billing/charges
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/billing/charges:
get:
tags:
- billing
summary: List FOCUS billing charges
description: >-
Returns 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.
operationId: listBillingCharges
parameters:
- name: from
description: >-
Inclusive start of the date range as an ISO 8601 date-time string in
UTC.
in: query
required: true
schema:
type: string
description: >-
Inclusive start of the date range as an ISO 8601 date-time string
in UTC.
example: '2025-01-01T00:00:00.000Z'
- name: to
description: >-
Exclusive end of the date range as an ISO 8601 date-time string in
UTC.
in: query
required: true
schema:
type: string
description: >-
Exclusive end of the date range as an ISO 8601 date-time string in
UTC.
example: '2025-01-31T00:00:00.000Z'
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
'500':
description: ''
'503':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/billing/list-focus-contract-commitments.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# List FOCUS contract commitments
> Returns 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.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v1/billing/contract-commitments
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/billing/contract-commitments:
get:
tags:
- billing
summary: List FOCUS contract commitments
description: >-
Returns 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.
operationId: listContractCommitments
parameters:
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'400':
description: ''
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/integrations/list-git-namespaces-by-provider.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# List git namespaces by provider
> 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.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v1/integrations/git-namespaces
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/integrations/git-namespaces:
get:
tags:
- integrations
summary: List git namespaces by provider
description: >-
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.
operationId: gitNamespaces
parameters:
- name: host
description: >-
The custom Git host if using a custom Git provider, like GitHub
Enterprise Server
in: query
schema:
description: >-
The custom Git host if using a custom Git provider, like GitHub
Enterprise Server
type: string
example: ghes-test.now.systems
- name: provider
in: query
schema:
enum:
- github
- github-limited
- github-custom-host
- gitlab
- bitbucket
responses:
'200':
description: ''
content:
application/json:
schema:
items:
properties:
provider:
type: string
slug:
type: string
id:
oneOf:
- type: string
- type: number
ownerType:
type: string
name:
type: string
isAccessRestricted:
type: boolean
enum:
- false
- true
installationId:
type: number
requireReauth:
type: boolean
enum:
- false
- true
required:
- id
- ownerType
- provider
- slug
type: object
type: array
'400':
description: One of the provided values in the request query is invalid.
'401':
description: ''
'403':
description: You do not have permission to access this resource.
'404':
description: ''
'429':
description: ''
'500':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/integrations/list-git-repositories-linked-to-namespace-by-provider.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# List git repositories linked to namespace by provider
> 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.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v1/integrations/search-repo
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/integrations/search-repo:
get:
tags:
- integrations
summary: List git repositories linked to namespace by provider
description: >-
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.
operationId: searchRepo
parameters:
- name: query
in: query
schema:
type: string
- name: namespaceId
in: query
schema:
nullable: true
oneOf:
- type: string
- type: number
- name: provider
in: query
schema:
enum:
- github
- github-limited
- github-custom-host
- gitlab
- bitbucket
- name: installationId
in: query
schema:
type: string
- name: host
description: >-
The custom Git host if using a custom Git provider, like GitHub
Enterprise Server
in: query
schema:
description: >-
The custom Git host if using a custom Git provider, like GitHub
Enterprise Server
type: string
example: ghes-test.now.systems
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'200':
description: ''
content:
application/json:
schema:
oneOf:
- type: object
- properties:
gitAccount:
properties:
provider:
type: string
enum:
- github
- github-limited
- github-custom-host
- gitlab
- bitbucket
namespaceId:
nullable: true
oneOf:
- type: string
- type: number
required:
- namespaceId
- provider
type: object
repos:
items:
properties:
id:
oneOf:
- type: string
- type: number
provider:
type: string
enum:
- github
- github-limited
- github-custom-host
- gitlab
- bitbucket
url:
type: string
name:
type: string
slug:
type: string
namespace:
type: string
owner:
properties:
id:
oneOf:
- type: string
- type: number
name:
type: string
required:
- id
- name
type: object
ownerType:
type: string
enum:
- user
- team
private:
type: boolean
enum:
- false
- true
defaultBranch:
type: string
updatedAt:
type: number
required:
- defaultBranch
- id
- name
- namespace
- owner
- ownerType
- private
- provider
- slug
- updatedAt
- url
type: object
type: array
required:
- gitAccount
- repos
type: object
'400':
description: One of the provided values in the request query is invalid.
'401':
description: ''
'403':
description: You do not have permission to access this resource.
'404':
description: ''
'429':
description: ''
'500':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/integrations/list-integration-billing-plans.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# List integration billing plans
> Get a list of billing plans for an integration and product.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v1/integrations/integration/{integrationIdOrSlug}/products/{productIdOrSlug}/plans
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/integrations/integration/{integrationIdOrSlug}/products/{productIdOrSlug}/plans:
get:
tags:
- integrations
summary: List integration billing plans
description: Get a list of billing plans for an integration and product.
operationId: getBillingPlans
parameters:
- name: integrationIdOrSlug
in: path
required: true
schema:
type: string
- name: integrationConfigurationId
in: query
required: false
schema:
type: string
- name: productIdOrSlug
in: path
required: true
schema:
type: string
- name: metadata
in: query
required: false
schema:
type: string
- name: source
in: query
required: false
schema:
type: string
enum:
- marketplace
- deploy-button
- external
- v0
- resource-claims
- cli
- oauth
- backoffice
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'200':
description: ''
content:
application/json:
schema:
properties:
plans:
items:
properties:
type:
type: string
enum:
- prepayment
- subscription
description:
type: string
id:
type: string
name:
type: string
scope:
type: string
enum:
- installation
- resource
paymentMethodRequired:
type: boolean
enum:
- false
- true
preauthorizationAmount:
type: number
initialCharge:
type: string
minimumAmount:
type: string
maximumAmount:
type: string
maximumAmountAutoPurchasePerPeriod:
type: string
cost:
type: string
details:
items:
properties:
label:
type: string
value:
type: string
required:
- label
type: object
type: array
highlightedDetails:
items:
properties:
label:
type: string
value:
type: string
required:
- label
type: object
type: array
quote:
items:
properties:
line:
type: string
amount:
type: string
required:
- amount
- line
type: object
type: array
effectiveDate:
type: string
disabled:
type: boolean
enum:
- false
- true
required:
- description
- id
- name
- paymentMethodRequired
- scope
- type
type: object
type: array
required:
- plans
type: object
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/access-groups/list-members-of-an-access-group.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# List members of an access group
> List members of an access group
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v1/access-groups/{idOrName}/members
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/access-groups/{idOrName}/members:
get:
tags:
- access-groups
summary: List members of an access group
description: List members of an access group
operationId: listAccessGroupMembers
parameters:
- name: idOrName
description: The ID or name of the Access Group.
in: path
required: true
schema:
type: string
description: The ID or name of the Access Group.
example: ag_pavWOn1iLObbXLRiwVvzmPrTWyTf
- name: limit
description: Limit how many access group members should be returned.
in: query
required: false
schema:
description: Limit how many access group members should be returned.
example: 20
type: integer
minimum: 1
maximum: 100
- name: next
description: Continuation cursor to retrieve the next page of results.
in: query
required: false
schema:
description: Continuation cursor to retrieve the next page of results.
type: string
- name: search
description: Search project members by their name, username, and email.
in: query
required: false
schema:
description: Search project members by their name, username, and email.
type: string
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'200':
description: ''
content:
application/json:
schema:
properties:
members:
items:
properties:
avatar:
type: string
email:
type: string
uid:
type: string
username:
type: string
name:
type: string
createdAt:
type: string
teamRole:
type: string
enum:
- OWNER
- MEMBER
- DEVELOPER
- SECURITY
- BILLING
- VIEWER
- VIEWER_FOR_PLUS
- CONTRIBUTOR
required:
- email
- teamRole
- uid
- username
type: object
type: array
pagination:
properties:
count:
type: number
next:
nullable: true
type: string
required:
- count
- next
type: object
required:
- members
- pagination
type: object
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/integrations/list-products-for-integration-configuration.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# List products for integration configuration
> Returns products available for an integration configuration. Each product includes a `metadataSchema` field with the JSON Schema for required and optional metadata fields.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v1/integrations/configuration/{id}/products
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/integrations/configuration/{id}/products:
get:
tags:
- integrations
summary: List products for integration configuration
description: >-
Returns products available for an integration configuration. Each
product includes a `metadataSchema` field with the JSON Schema for
required and optional metadata fields.
operationId: getConfigurationProducts
parameters:
- name: id
description: ID of the integration configuration
in: path
required: true
schema:
type: string
description: ID of the integration configuration
example: icfg_cuwj0AdCdH3BwWT4LPijCC7t
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'200':
description: List of products available for this integration configuration
content:
application/json:
schema:
properties:
products:
items:
properties:
id:
type: string
slug:
type: string
name:
type: string
protocols:
properties:
storage:
properties:
status:
type: string
enum:
- disabled
- enabled
repl:
properties:
enabled:
type: boolean
enum:
- false
- true
supportsReadOnlyMode:
type: boolean
enum:
- false
- true
welcomeMessage:
type: string
required:
- enabled
- supportsReadOnlyMode
type: object
required:
- status
type: object
experimentation:
properties:
status:
type: string
enum:
- disabled
- enabled
edgeConfigSyncingSupport:
type: boolean
enum:
- false
- true
required:
- status
type: object
ai:
properties:
status:
type: string
enum:
- disabled
- enabled
required:
- status
type: object
authentication:
properties:
status:
type: string
enum:
- disabled
- enabled
required:
- status
type: object
observability:
properties:
status:
type: string
enum:
- disabled
- enabled
required:
- status
type: object
video:
properties:
status:
type: string
enum:
- disabled
- enabled
required:
- status
type: object
workflow:
properties:
status:
type: string
enum:
- disabled
- enabled
required:
- status
type: object
checks:
properties:
status:
type: string
enum:
- disabled
- enabled
required:
- status
type: object
logDrain:
properties:
status:
type: string
enum:
- disabled
- enabled
endpoint:
type: string
headers:
additionalProperties:
type: string
type: object
format:
type: string
enum:
- json
- ndjson
required:
- endpoint
- format
- status
type: object
traceDrain:
properties:
status:
type: string
enum:
- disabled
- enabled
endpoint:
type: string
headers:
additionalProperties:
type: string
type: object
format:
type: string
enum:
- json
- proto
required:
- endpoint
- format
- status
type: object
messaging:
properties:
status:
type: string
enum:
- disabled
- enabled
required:
- status
type: object
other:
properties:
status:
type: string
enum:
- disabled
- enabled
required:
- status
type: object
type: object
primaryProtocol:
type: string
enum:
- checks
- ai
- authentication
- storage
- experimentation
- messaging
- observability
- video
- workflow
- logDrain
- traceDrain
- other
metadataSchema:
properties:
type:
type: string
enum:
- object
properties:
additionalProperties:
oneOf:
- properties:
type:
type: string
enum:
- string
ui:control:
type: string
enum:
- input
description:
type: string
enum:
items:
type: string
type: array
maxLength:
type: number
minLength:
type: number
pattern:
type: string
default:
type: string
ui:label:
type: string
ui:read-only:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
ui:hidden:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
ui:disabled:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
ui:description:
oneOf:
- type: string
- properties:
expr:
type: string
required:
- expr
type: object
ui:formatted-value:
properties:
expr:
type: string
required:
- expr
type: object
ui:placeholder:
type: string
required:
- type
- ui:control
type: object
- properties:
type:
type: string
enum:
- number
ui:control:
type: string
enum:
- input
minimum:
type: number
maximum:
type: number
description:
type: string
exclusiveMaximum:
type: number
exclusiveMinimum:
type: number
default:
type: number
ui:label:
type: string
ui:read-only:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
ui:hidden:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
ui:disabled:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
ui:description:
oneOf:
- type: string
- properties:
expr:
type: string
required:
- expr
type: object
ui:formatted-value:
properties:
expr:
type: string
required:
- expr
type: object
ui:placeholder:
type: string
required:
- type
- ui:control
type: object
- properties:
type:
type: string
enum:
- boolean
ui:control:
type: string
enum:
- toggle
description:
type: string
default:
type: boolean
enum:
- false
- true
ui:label:
type: string
ui:read-only:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
ui:hidden:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
ui:disabled:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
ui:description:
oneOf:
- type: string
- properties:
expr:
type: string
required:
- expr
type: object
ui:formatted-value:
properties:
expr:
type: string
required:
- expr
type: object
required:
- type
- ui:control
type: object
- properties:
type:
type: string
enum:
- array
items:
properties:
type:
type: string
enum:
- number
description:
type: string
minimum:
type: number
exclusiveMinimum:
type: number
maximum:
type: number
exclusiveMaximum:
type: number
default:
type: number
required:
- type
type: object
ui:control:
type: string
enum:
- slider
ui:steps:
items:
type: number
type: array
description:
type: string
maxItems:
type: number
minItems:
type: number
ui:label:
type: string
ui:read-only:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
ui:hidden:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
ui:disabled:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
ui:description:
oneOf:
- type: string
- properties:
expr:
type: string
required:
- expr
type: object
ui:formatted-value:
properties:
expr:
type: string
required:
- expr
type: object
default:
items:
type: number
type: array
required:
- items
- type
- ui:control
- ui:steps
type: object
- properties:
type:
type: string
enum:
- string
ui:control:
type: string
enum:
- select
ui:options:
items:
properties:
value:
type: string
label:
type: string
disabled:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
hidden:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
required:
- label
- value
type: object
type: array
description:
type: string
enum:
items:
type: string
type: array
maxLength:
type: number
minLength:
type: number
pattern:
type: string
default:
type: string
ui:label:
type: string
ui:read-only:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
ui:hidden:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
ui:disabled:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
ui:description:
oneOf:
- type: string
- properties:
expr:
type: string
required:
- expr
type: object
ui:formatted-value:
properties:
expr:
type: string
required:
- expr
type: object
ui:placeholder:
type: string
required:
- type
- ui:control
- ui:options
type: object
- properties:
type:
type: string
enum:
- array
items:
properties:
type:
type: string
enum:
- string
description:
type: string
minLength:
type: number
maxLength:
type: number
pattern:
type: string
default:
type: string
enum:
items:
type: string
type: array
required:
- type
type: object
ui:control:
type: string
enum:
- multi-select
ui:options:
items:
properties:
value:
type: string
label:
type: string
disabled:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
hidden:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
required:
- label
- value
type: object
type: array
description:
type: string
maxItems:
type: number
minItems:
type: number
ui:label:
type: string
ui:read-only:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
ui:hidden:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
ui:disabled:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
ui:description:
oneOf:
- type: string
- properties:
expr:
type: string
required:
- expr
type: object
ui:formatted-value:
properties:
expr:
type: string
required:
- expr
type: object
ui:placeholder:
type: string
default:
items:
type: string
type: array
example:
items:
type: string
type: array
required:
- items
- type
- ui:control
- ui:options
type: object
- properties:
type:
type: string
enum:
- string
ui:control:
type: string
enum:
- vercel-region
ui:options:
items:
oneOf:
- properties:
value:
type: string
label:
type: string
disabled:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
hidden:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
required:
- label
- value
type: object
- type: string
- properties:
value:
type: string
disabled:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
hidden:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
required:
- value
type: object
type: array
description:
type: string
enum:
items:
type: string
type: array
maxLength:
type: number
minLength:
type: number
pattern:
type: string
default:
type: string
ui:label:
type: string
ui:read-only:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
ui:hidden:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
ui:disabled:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
ui:description:
oneOf:
- type: string
- properties:
expr:
type: string
required:
- expr
type: object
ui:formatted-value:
properties:
expr:
type: string
required:
- expr
type: object
ui:placeholder:
type: string
required:
- type
- ui:control
- ui:options
type: object
- properties:
type:
type: string
enum:
- array
items:
properties:
type:
type: string
enum:
- string
description:
type: string
minLength:
type: number
maxLength:
type: number
pattern:
type: string
default:
type: string
enum:
items:
type: string
type: array
required:
- type
type: object
ui:control:
type: string
enum:
- multi-vercel-region
ui:options:
items:
oneOf:
- properties:
value:
type: string
label:
type: string
disabled:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
hidden:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
required:
- label
- value
type: object
- type: string
- properties:
value:
type: string
disabled:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
hidden:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
required:
- value
type: object
type: array
description:
type: string
maxItems:
type: number
minItems:
type: number
ui:label:
type: string
ui:read-only:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
ui:hidden:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
ui:disabled:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
ui:description:
oneOf:
- type: string
- properties:
expr:
type: string
required:
- expr
type: object
ui:formatted-value:
properties:
expr:
type: string
required:
- expr
type: object
ui:placeholder:
type: string
default:
items:
type: string
type: array
example:
items:
type: string
type: array
required:
- items
- type
- ui:control
- ui:options
type: object
- properties:
type:
type: string
enum:
- string
ui:control:
type: string
enum:
- domain
description:
type: string
enum:
items:
type: string
type: array
maxLength:
type: number
minLength:
type: number
pattern:
type: string
default:
type: string
ui:label:
type: string
ui:read-only:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
ui:hidden:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
ui:disabled:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
ui:description:
oneOf:
- type: string
- properties:
expr:
type: string
required:
- expr
type: object
ui:formatted-value:
properties:
expr:
type: string
required:
- expr
type: object
ui:placeholder:
type: string
required:
- type
- ui:control
type: object
- properties:
type:
type: string
enum:
- string
ui:control:
type: string
enum:
- git-namespace
description:
type: string
ui:label:
type: string
ui:read-only:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
ui:hidden:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
ui:disabled:
oneOf:
- properties:
expr:
type: string
required:
- expr
type: object
- type: boolean
enum:
- false
- true
- type: string
enum:
- update
- create
ui:description:
oneOf:
- type: string
- properties:
expr:
type: string
required:
- expr
type: object
ui:formatted-value:
properties:
expr:
type: string
required:
- expr
type: object
ui:placeholder:
type: string
git:providers:
items:
type: string
enum:
- github
- gitlab
- bitbucket
type: array
required:
- type
- ui:control
type: object
type: object
required:
items:
type: string
type: array
required:
- properties
- type
type: object
required:
- id
- metadataSchema
- name
- protocols
- slug
type: object
type: array
integration:
properties:
id:
type: string
slug:
type: string
name:
type: string
required:
- id
- name
- slug
type: object
configuration:
type: object
required:
- id
properties:
id:
type: string
required:
- configuration
- integration
- products
type: object
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
'500':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/projectmembers/list-project-members.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# List project members
> Lists all members of a project.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v1/projects/{idOrName}/members
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/projects/{idOrName}/members:
get:
tags:
- projectMembers
summary: List project members
description: Lists all members of a project.
operationId: getProjectMembers
parameters:
- name: idOrName
description: The ID or name of the Project.
in: path
required: true
schema:
type: string
description: The ID or name of the Project.
example: prj_pavWOn1iLObbXLRiwVvzmPrTWyTf
- name: limit
description: Limit how many project members should be returned
in: query
required: false
schema:
description: Limit how many project members should be returned
example: 20
type: integer
minimum: 1
maximum: 100
- name: since
description: Timestamp in milliseconds to only include members added since then.
in: query
required: false
schema:
description: >-
Timestamp in milliseconds to only include members added since
then.
example: 1540095775951
type: integer
- name: until
description: Timestamp in milliseconds to only include members added until then.
in: query
required: false
schema:
description: >-
Timestamp in milliseconds to only include members added until
then.
example: 1540095775951
type: integer
- name: search
description: Search project members by their name, username, and email.
in: query
required: false
schema:
description: Search project members by their name, username, and email.
type: string
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'200':
description: Paginated list of members for the project.
content:
application/json:
schema:
oneOf:
- type: object
- properties:
members:
items:
properties:
avatar:
type: string
description: ID of the file for the Avatar of this member.
example: 123a6c5209bc3778245d011443644c8d27dc2c50
email:
type: string
description: The email of this member.
example: jane.doe@example.com
role:
type: string
enum:
- ADMIN
- PROJECT_DEVELOPER
- PROJECT_VIEWER
- PROJECT_GUEST
description: Role of this user in the project.
example: ADMIN
computedProjectRole:
type: string
enum:
- ADMIN
- PROJECT_DEVELOPER
- PROJECT_VIEWER
- PROJECT_GUEST
description: Role of this user in the project.
example: ADMIN
uid:
type: string
description: The ID of this user.
example: zTuNVUXEAvvnNN3IaqinkyMw
username:
type: string
description: The unique username of this user.
example: jane-doe
name:
type: string
description: The name of this user.
example: Jane Doe
createdAt:
type: number
description: >-
Timestamp in milliseconds when this member was
added.
example: 1588720733602
teamRole:
type: string
enum:
- OWNER
- MEMBER
- DEVELOPER
- SECURITY
- BILLING
- VIEWER
- VIEWER_FOR_PLUS
- CONTRIBUTOR
description: The role of this user in the team.
example: CONTRIBUTOR
required:
- computedProjectRole
- createdAt
- email
- role
- teamRole
- uid
- username
type: object
type: array
pagination:
properties:
hasNext:
type: boolean
enum:
- false
- true
count:
type: number
description: Amount of items in the current page.
example: 20
next:
nullable: true
type: number
description: >-
Timestamp that must be used to request the next
page.
example: 1540095775951
prev:
nullable: true
type: number
description: >-
Timestamp that must be used to request the
previous page.
example: 1540095775951
required:
- count
- hasNext
- next
- prev
type: object
required:
- members
- pagination
type: object
description: Paginated list of members for the project.
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/access-groups/list-projects-of-an-access-group.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# List projects of an access group
> List projects of an access group
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v1/access-groups/{idOrName}/projects
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/access-groups/{idOrName}/projects:
get:
tags:
- access-groups
summary: List projects of an access group
description: List projects of an access group
operationId: listAccessGroupProjects
parameters:
- name: idOrName
description: The ID or name of the Access Group.
in: path
required: true
schema:
type: string
description: The ID or name of the Access Group.
example: ag_pavWOn1iLObbXLRiwVvzmPrTWyTf
- name: limit
description: Limit how many access group projects should be returned.
in: query
required: false
schema:
description: Limit how many access group projects should be returned.
example: 20
type: integer
minimum: 1
maximum: 100
- name: next
description: Continuation cursor to retrieve the next page of results.
in: query
required: false
schema:
description: Continuation cursor to retrieve the next page of results.
type: string
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'200':
description: ''
content:
application/json:
schema:
properties:
projects:
items:
properties:
projectId:
type: string
role:
type: string
enum:
- ADMIN
- PROJECT_DEVELOPER
- PROJECT_VIEWER
- PROJECT_GUEST
createdAt:
type: string
updatedAt:
type: string
project:
properties:
name:
type: string
framework:
nullable: true
type: string
latestDeploymentId:
type: string
type: object
required:
- createdAt
- project
- projectId
- role
- updatedAt
type: object
type: array
pagination:
properties:
count:
type: number
next:
nullable: true
type: string
required:
- count
- next
type: object
required:
- pagination
- projects
type: object
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/connect/list-secure-compute-networks.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# List Secure Compute networks
> Allows to list Secure Compute networks.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v1/connect/networks
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/connect/networks:
get:
tags:
- connect
summary: List Secure Compute networks
description: Allows to list Secure Compute networks.
operationId: listNetworks
parameters:
- name: includeHostedZones
description: Whether to include Hosted Zones in the response
in: query
schema:
type: boolean
description: Whether to include Hosted Zones in the response
default: true
- name: includePeeringConnections
description: Whether to include VPC Peering connections in the response
in: query
schema:
type: boolean
description: Whether to include VPC Peering connections in the response
default: true
- name: includeProjects
description: Whether to include projects in the response
in: query
schema:
type: boolean
description: Whether to include projects in the response
default: true
- name: search
description: The query to use as a filter for returned networks
in: query
schema:
type: string
description: The query to use as a filter for returned networks
maxLength: 255
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'200':
description: ''
content:
application/json:
schema:
items:
$ref: '#/components/schemas/Network'
type: array
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
security:
- bearerToken: []
components:
schemas:
Network:
properties:
awsAccountId:
type: string
description: The ID of the AWS Account in which the network exists.
awsAvailabilityZoneIds:
items:
type: string
type: array
description: >-
The IDs of the AWS Availability Zones in which the network exists,
if specified during creation.
awsRegion:
type: string
description: The AWS Region in which the network exists.
cidr:
type: string
description: The CIDR range of the Network.
createdAt:
type: number
description: >-
The date at which the Network was created, represented as a UNIX
timestamp since EPOCH.
egressIpAddresses:
items:
type: string
type: array
hostedZones:
properties:
count:
type: number
description: >-
The number of AWS Route53 Hosted Zones associated with the
Network.
required:
- count
type: object
description: >-
Metadata about any AWS Route53 Hosted Zones associated with the
Network.
id:
type: string
description: The unique identifier of the Network.
name:
type: string
description: The name of the network.
peeringConnections:
properties:
count:
type: number
description: >-
The number of AWS Route53 Hosted Zones associated with the
Network.
required:
- count
type: object
description: >-
Metadata about any AWS Route53 Hosted Zones associated with the
Network.
projects:
properties:
count:
type: number
ids:
items:
type: string
type: array
required:
- count
- ids
type: object
description: Metadata about any projects associated with the Network.
region:
type: string
description: The Vercel region in which the Network exists.
status:
type: string
enum:
- create_in_progress
- delete_in_progress
- error
- ready
description: The status of the Network.
teamId:
type: string
description: The unique identifier of the Team that owns the Network.
vpcId:
type: string
description: The ID of the VPC which hosts the network.
required:
- awsAccountId
- awsRegion
- cidr
- createdAt
- id
- name
- status
- teamId
type: object
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/teams/list-team-members.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# List team members
> Get a paginated list of team members for the provided team.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v3/teams/{teamId}/members
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v3/teams/{teamId}/members:
get:
tags:
- teams
summary: List team members
description: Get a paginated list of team members for the provided team.
operationId: getTeamMembers
parameters:
- name: limit
description: Limit how many teams should be returned
in: query
required: false
schema:
description: Limit how many teams should be returned
example: 20
minimum: 1
type: number
- name: since
description: Timestamp in milliseconds to only include members added since then.
in: query
required: false
schema:
description: >-
Timestamp in milliseconds to only include members added since
then.
example: 1540095775951
type: number
- name: until
description: Timestamp in milliseconds to only include members added until then.
in: query
required: false
schema:
description: >-
Timestamp in milliseconds to only include members added until
then.
example: 1540095775951
type: number
- name: search
description: Search team members by their name, username, and email.
in: query
required: false
schema:
description: Search team members by their name, username, and email.
type: string
- name: role
description: Only return members with the specified team role.
in: query
required: false
schema:
description: Only return members with the specified team role.
example: OWNER
type: string
enum:
- OWNER
- MEMBER
- DEVELOPER
- SECURITY
- BILLING
- VIEWER
- VIEWER_FOR_PLUS
- CONTRIBUTOR
- name: excludeProject
description: Exclude members who belong to the specified project.
in: query
required: false
schema:
description: Exclude members who belong to the specified project.
type: string
- name: eligibleMembersForProjectId
description: >-
Include team members who are eligible to be members of the specified
project.
in: query
required: false
schema:
description: >-
Include team members who are eligible to be members of the
specified project.
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
properties:
members:
items:
properties:
avatar:
type: string
description: ID of the file for the Avatar of this member.
example: 123a6c5209bc3778245d011443644c8d27dc2c50
confirmed:
type: boolean
enum:
- false
- true
description: >-
Boolean that indicates if this member was confirmed
by an owner.
example: true
email:
type: string
description: The email of this member.
example: jane.doe@example.com
github:
properties:
login:
type: string
type: object
description: Information about the GitHub account for this user.
gitlab:
properties:
login:
type: string
type: object
description: Information about the GitLab account of this user.
bitbucket:
properties:
login:
type: string
type: object
description: >-
Information about the Bitbucket account of this
user.
role:
type: string
enum:
- OWNER
- MEMBER
- DEVELOPER
- SECURITY
- BILLING
- VIEWER
- VIEWER_FOR_PLUS
- CONTRIBUTOR
description: Role of this user in the team.
example: OWNER
uid:
type: string
description: The ID of this user.
example: zTuNVUXEAvvnNN3IaqinkyMw
username:
type: string
description: The unique username of this user.
example: jane-doe
name:
type: string
description: The name of this user.
example: Jane Doe
createdAt:
type: number
description: >-
Timestamp in milliseconds when this member was
added.
example: 1588720733602
accessRequestedAt:
type: number
description: >-
Timestamp in milliseconds for when this team member
was accepted by an owner.
example: 1588820733602
joinedFrom:
properties:
origin:
type: string
enum:
- teams
- link
- import
- mail
- github
- gitlab
- bitbucket
- saml
- dsync
- feedback
- organization-teams
- nsnb-auto-approve
commitId:
type: string
repoId:
type: string
repoPath:
type: string
gitUserId:
oneOf:
- type: string
- type: number
gitUserLogin:
type: string
ssoUserId:
type: string
ssoConnectedAt:
type: number
idpUserId:
type: string
dsyncUserId:
type: string
dsyncConnectedAt:
type: number
required:
- origin
type: object
description: >-
Map with information about the members origin if
they joined by requesting access.
projects:
items:
properties:
name:
type: string
id:
type: string
role:
type: string
enum:
- ADMIN
- PROJECT_DEVELOPER
- PROJECT_VIEWER
- PROJECT_GUEST
required:
- id
- name
type: object
description: Array of project memberships
type: array
description: Array of project memberships
required:
- confirmed
- createdAt
- email
- role
- uid
- username
type: object
type: array
emailInviteCodes:
items:
properties:
accessGroups:
items:
type: string
type: array
id:
type: string
email:
type: string
role:
type: string
enum:
- OWNER
- MEMBER
- DEVELOPER
- SECURITY
- BILLING
- VIEWER
- VIEWER_FOR_PLUS
- CONTRIBUTOR
teamRoles:
items:
type: string
enum:
- OWNER
- MEMBER
- DEVELOPER
- SECURITY
- BILLING
- VIEWER
- VIEWER_FOR_PLUS
- CONTRIBUTOR
type: array
teamPermissions:
items:
type: string
enum:
- IntegrationManager
- CreateProject
- FullProductionDeployment
- UsageViewer
- EnvVariableManager
- EnvironmentManager
- V0Builder
- V0Chatter
- V0Viewer
type: array
isDSyncUser:
type: boolean
enum:
- false
- true
createdAt:
type: number
expired:
type: boolean
enum:
- true
projects:
additionalProperties:
type: string
enum:
- ADMIN
- PROJECT_DEVELOPER
- PROJECT_VIEWER
- PROJECT_GUEST
type: object
entitlements:
items:
type: string
type: array
required:
- id
- isDSyncUser
type: object
type: array
pagination:
properties:
hasNext:
type: boolean
enum:
- false
- true
count:
type: number
description: Amount of items in the current page.
example: 20
next:
nullable: true
type: number
description: Timestamp that must be used to request the next page.
example: 1540095775951
prev:
nullable: true
type: number
description: >-
Timestamp that must be used to request the previous
page.
example: 1540095775951
required:
- count
- hasNext
- next
- prev
type: object
required:
- members
- pagination
type: object
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/user/list-user-events.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# List User 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.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v3/events
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v3/events:
get:
tags:
- user
summary: List User Events
description: >-
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.
operationId: listUserEvents
parameters:
- name: limit
description: Maximum number of items which may be returned.
in: query
schema:
description: Maximum number of items which may be returned.
example: 20
type: number
- name: since
description: Timestamp to only include items created since then.
in: query
schema:
description: Timestamp to only include items created since then.
example: '2019-12-08T10:00:38.976Z'
type: string
- name: until
description: Timestamp to only include items created until then.
in: query
schema:
description: Timestamp to only include items created until then.
example: '2019-12-09T23:00:38.976Z'
type: string
- name: types
description: Comma-delimited list of event \"types\" to filter the results by.
in: query
schema:
description: Comma-delimited list of event \"types\" to filter the results by.
example: login,team-member-join,domain-buy
type: string
- name: userId
description: >-
Deprecated. Use `principalId` instead. If `principalId` and `userId`
both exist, `principalId` will be used.
in: query
schema:
description: >-
Deprecated. Use `principalId` instead. If `principalId` and
`userId` both exist, `principalId` will be used.
example: aeIInYVk59zbFF2SxfyxxmuO
type: string
- name: principalId
description: >-
When retrieving events for a Team, the `principalId` parameter may
be specified to filter events generated by a specific principal.
in: query
schema:
description: >-
When retrieving events for a Team, the `principalId` parameter may
be specified to filter events generated by a specific principal.
example: aeIInYVk59zbFF2SxfyxxmuO
type: string
- name: projectIds
description: Comma-delimited list of project IDs to filter the results by.
in: query
schema:
description: Comma-delimited list of project IDs to filter the results by.
example: aeIInYVk59zbFF2SxfyxxmuO
type: string
- name: withPayload
description: >-
When set to `true`, the response will include the `payload` field
for each event.
in: query
schema:
description: >-
When set to `true`, the response will include the `payload` field
for each event.
example: 'true'
type: string
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'200':
description: Successful response.
content:
application/json:
schema:
properties:
events:
items:
$ref: '#/components/schemas/UserEvent'
type: array
description: Array of events generated by the User.
required:
- events
type: object
description: Successful response.
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
security:
- bearerToken: []
components:
schemas:
UserEvent:
properties:
id:
type: string
description: The unique identifier of the Event.
example: uev_bfmMjiMnXfnPbT97dGdpJbCN
text:
type: string
description: The human-readable text of the Event.
example: You logged in via GitHub
entities:
items:
properties:
type:
type: string
enum:
- app
- author
- bitbucket_login
- bold
- deployment_host
- dns_record
- git_link
- github_login
- gitlab_login
- hook_name
- integration
- edge-config
- flag
- flags-segment
- flags-settings
- link
- project_name
- scaling_rules
- env_var_name
- target
- store
- system
example: author
description: The type of entity.
start:
type: number
description: >-
The index of where the entity begins within the `text`
(inclusive).
example: 0
end:
type: number
description: >-
The index of where the entity ends within the `text`
(non-inclusive).
example: 3
required:
- end
- start
- type
type: object
description: >-
A list of "entities" within the event `text`. Useful for enhancing
the displayed text with additional styling and links.
type: array
description: >-
A list of "entities" within the event `text`. Useful for enhancing
the displayed text with additional styling and links.
createdAt:
type: number
description: Timestamp (in milliseconds) of when the event was generated.
example: 1632859321020
user:
properties:
username:
type: string
avatar:
type: string
email:
type: string
slug:
type: string
uid:
type: string
required:
- avatar
- email
- uid
- username
type: object
description: Metadata for {@link userId}.
principal:
oneOf:
- properties:
type:
type: string
enum:
- user
avatar:
type: string
email:
type: string
slug:
type: string
uid:
type: string
username:
type: string
required:
- avatar
- email
- uid
- username
type: object
description: Metadata for {@link principalId}.
- properties:
type:
type: string
enum:
- app
clientId:
type: string
name:
type: string
required:
- clientId
- name
- type
type: object
description: Metadata for {@link principalId}.
via:
items:
oneOf:
- properties:
type:
type: string
enum:
- user
avatar:
type: string
email:
type: string
slug:
type: string
uid:
type: string
username:
type: string
required:
- avatar
- email
- uid
- username
type: object
description: Metadata for {@link viaIds}.
- properties:
type:
type: string
enum:
- app
clientId:
type: string
name:
type: string
required:
- clientId
- name
- type
type: object
description: Metadata for {@link viaIds}.
type: array
description: Metadata for {@link viaIds}.
userId:
type: string
description: >-
When the principal who generated the event is a user, this is their
ID; otherwise, it is empty.
example: zTuNVUXEAvvnNN3IaqinkyMw
principalId:
type: string
description: >-
The ID of the principal who generated the event. The principal is
typically a user, but it could also be an app, an integration, etc.
The principal may have delegated its authority to an acting party,
and so {@link viaIds} should be checked as well.
viaIds:
items:
type: string
type: array
description: >-
If the principal delegated its authority (for example, a user
delegating to an app), then this array contains the ID of the
current actor. For example, if `principalId` is "user123" and
`viaIds` is `["app456"]`, we can say the event was triggered by -
"app456 on behalf of user123", or - "user123 via app4556". Both are
equivalent. Arbitrarily long chains of delegation can be
represented. For example, if `principalId` is "user123" and `viaIds`
is `["service1", "service2"]`, we can say the event was triggered by
"user123 via service1 via service2".
payload:
oneOf:
- type: object
description: The payload of the event, if requested.
- properties:
action:
type: string
enum:
- deleted
- created
- updated
- archived
- unarchived
id:
type: string
slug:
type: string
projectId:
type: string
projectName:
type: string
required:
- action
- id
- projectId
- slug
type: object
description: The payload of the event, if requested.
- properties:
action:
type: string
enum:
- added
- deleted
- rotated
label:
type: string
projectName:
type: string
projectId:
type: string
environment:
type: string
required:
- action
- environment
type: object
description: The payload of the event, if requested.
- properties:
action:
type: string
enum:
- read
projectName:
type: string
projectId:
type: string
environment:
items:
type: string
type: array
required:
- action
- environment
type: object
description: The payload of the event, if requested.
- properties:
accessGroup:
properties:
id:
type: string
name:
type: string
required:
- id
- name
type: object
required:
- accessGroup
type: object
description: The payload of the event, if requested.
- properties:
author:
type: string
accessGroup:
properties:
id:
type: string
name:
type: string
required:
- id
- name
type: object
required:
- accessGroup
- author
type: object
description: The payload of the event, if requested.
- properties:
accessGroup:
properties:
id:
type: string
name:
type: string
required:
- id
type: object
user:
properties:
id:
type: string
username:
type: string
required:
- id
type: object
directoryType:
type: string
required:
- accessGroup
- user
type: object
description: The payload of the event, if requested.
- properties:
accessGroup:
properties:
id:
type: string
name:
type: string
required:
- id
- name
type: object
project:
properties:
id:
type: string
name:
type: string
required:
- id
type: object
next_role:
nullable: true
type: string
enum:
- ADMIN
- PROJECT_DEVELOPER
- PROJECT_VIEWER
- PROJECT_GUEST
previous_role:
type: string
enum:
- ADMIN
- PROJECT_DEVELOPER
- PROJECT_VIEWER
- PROJECT_GUEST
required:
- accessGroup
- project
type: object
description: The payload of the event, if requested.
- properties:
previous:
properties:
enabled:
type: boolean
enum:
- false
- true
description: Whether automatic code reviews are enabled
scope:
type: string
enum:
- public
- all
- private
description: Which repository visibilities get automatic reviews
includeDrafts:
type: boolean
enum:
- false
- true
description: >-
Whether to include draft pull requests in automatic
reviews
required:
- enabled
- includeDrafts
- scope
type: object
description: Automatic code review settings
next:
properties:
enabled:
type: boolean
enum:
- false
- true
description: Whether automatic code reviews are enabled
scope:
type: string
enum:
- public
- all
- private
description: Which repository visibilities get automatic reviews
includeDrafts:
type: boolean
enum:
- false
- true
description: >-
Whether to include draft pull requests in automatic
reviews
required:
- enabled
- includeDrafts
- scope
type: object
description: Automatic code review settings
required:
- next
type: object
description: The payload of the event, if requested.
- properties:
enabled:
type: boolean
enum:
- false
- true
required:
- enabled
type: object
description: The payload of the event, if requested.
- properties:
alias:
type: string
deployment:
nullable: true
properties:
id:
type: string
name:
type: string
url:
type: string
meta:
additionalProperties:
type: string
type: object
required:
- id
- meta
- name
- url
type: object
ruleCount:
type: number
deploymentUrl:
type: string
aliasId:
type: string
deploymentId:
nullable: true
type: string
oldDeploymentId:
nullable: true
type: string
redirect:
type: string
redirectStatusCode:
nullable: true
type: number
target:
nullable: true
type: string
system:
type: boolean
enum:
- false
- true
aliasUpdatedAt:
type: number
type: object
description: The payload of the event, if requested.
- properties:
aliasId:
type: string
alias:
type: string
projectName:
type: string
type: object
description: The payload of the event, if requested.
- properties:
alias:
type: string
type: object
description: The payload of the event, if requested.
- properties:
alias:
type: string
userId:
type: string
username:
type: string
type: object
description: The payload of the event, if requested.
- properties:
alias:
type: string
aliasId:
type: string
userId:
type: string
username:
type: string
type: object
description: The payload of the event, if requested.
- properties:
projectName:
type: string
alias:
type: string
action:
type: string
enum:
- created
- removed
required:
- action
- alias
- projectName
type: object
description: The payload of the event, if requested.
- properties:
alias:
type: string
email:
type: string
username:
type: string
type: object
description: The payload of the event, if requested.
- properties:
alias:
type: string
email:
type: string
type: object
description: The payload of the event, if requested.
- properties:
name:
type: string
alias:
type: string
oldTeam:
properties:
name:
type: string
required:
- name
type: object
newTeam:
properties:
name:
type: string
required:
- name
type: object
required:
- alias
type: object
description: The payload of the event, if requested.
- properties:
name:
type: string
alias:
type: string
aliasId:
type: string
deploymentId:
nullable: true
type: string
required:
- alias
- aliasId
- deploymentId
type: object
description: The payload of the event, if requested.
- properties:
alias:
type: string
deploymentUrl:
type: string
required:
- alias
- deploymentUrl
type: object
description: The payload of the event, if requested.
- properties:
projectName:
type: string
autoExposeSystemEnvs:
type: boolean
enum:
- false
- true
required:
- autoExposeSystemEnvs
- projectName
type: object
description: The payload of the event, if requested.
- properties:
avatar:
type: string
type: object
description: The payload of the event, if requested.
- properties:
project:
properties:
id:
type: string
name:
type: string
required:
- id
- name
type: object
bulkRedirectsLimit:
type: number
prevBulkRedirectsLimit:
type: number
required:
- bulkRedirectsLimit
- prevBulkRedirectsLimit
- project
type: object
description: The payload of the event, if requested.
- properties:
project:
properties:
id:
type: string
name:
type: string
required:
- id
- name
type: object
versionId:
type: string
required:
- project
- versionId
type: object
description: The payload of the event, if requested.
- properties:
cn:
type: string
cns:
items:
type: string
type: array
custom:
type: boolean
enum:
- false
- true
id:
type: string
required:
- custom
type: object
description: The payload of the event, if requested.
- properties:
cn:
type: string
cns:
items:
type: string
type: array
id:
type: string
type: object
description: The payload of the event, if requested.
- properties:
id:
type: string
oldTeam:
properties:
name:
type: string
required:
- name
type: object
newTeam:
properties:
name:
type: string
required:
- name
type: object
required:
- id
type: object
description: The payload of the event, if requested.
- properties:
src:
type: string
dst:
type: string
required:
- dst
- src
type: object
description: The payload of the event, if requested.
- properties:
id:
type: string
cn:
type: string
cns:
items:
type: string
type: array
required:
- id
type: object
description: The payload of the event, if requested.
- properties:
cn:
type: string
cns:
items:
type: string
type: array
type: object
description: The payload of the event, if requested.
- properties:
projectId:
type: string
projectName:
type: string
target:
items:
type: string
type: array
updated:
type: boolean
enum:
- false
- true
type: object
description: The payload of the event, if requested.
- properties:
projectId:
type: string
projectName:
type: string
certId:
type: string
origin:
type: string
type: object
description: The payload of the event, if requested.
- properties:
reason:
type: string
suffix:
type: string
required:
- suffix
type: object
description: The payload of the event, if requested.
- properties:
status:
type: string
suffix:
type: string
required:
- status
- suffix
type: object
description: The payload of the event, if requested.
- properties:
suffix:
type: string
required:
- suffix
type: object
description: The payload of the event, if requested.
- properties:
configuration:
properties:
id:
type: string
name:
type: string
required:
- id
- name
type: object
required:
- configuration
type: object
description: The payload of the event, if requested.
- properties:
team:
properties:
id:
type: string
name:
type: string
required:
- id
- name
type: object
configuration:
properties:
id:
type: string
name:
type: string
required:
- id
type: object
project:
properties:
id:
type: string
name:
type: string
required:
- id
type: object
buildsEnabled:
type: boolean
enum:
- false
- true
required:
- configuration
- project
- team
type: object
description: The payload of the event, if requested.
- properties:
team:
properties:
id:
type: string
name:
type: string
required:
- id
- name
type: object
configuration:
properties:
id:
type: string
name:
type: string
required:
- id
type: object
project:
properties:
id:
type: string
name:
type: string
required:
- id
type: object
buildsEnabled:
type: boolean
enum:
- false
- true
passive:
type: boolean
enum:
- false
- true
required:
- configuration
- project
- team
type: object
description: The payload of the event, if requested.
- properties:
team:
properties:
id:
type: string
name:
type: string
required:
- id
- name
type: object
configuration:
properties:
id:
type: string
name:
type: string
required:
- id
type: object
project:
properties:
id:
type: string
name:
type: string
required:
- id
type: object
required:
- configuration
- project
- team
type: object
description: The payload of the event, if requested.
- properties:
team:
properties:
id:
type: string
name:
type: string
required:
- id
- name
type: object
configuration:
properties:
id:
type: string
name:
type: string
required:
- id
type: object
newName:
type: string
required:
- configuration
- newName
- team
type: object
description: The payload of the event, if requested.
- properties:
githubLogin:
type: string
required:
- githubLogin
type: object
description: The payload of the event, if requested.
- properties:
gitlabLogin:
type: string
gitlabEmail:
type: string
gitlabName:
type: string
required:
- gitlabEmail
- gitlabLogin
type: object
description: The payload of the event, if requested.
- properties:
bitbucketEmail:
type: string
bitbucketLogin:
type: string
bitbucketName:
type: string
required:
- bitbucketEmail
- bitbucketLogin
type: object
description: The payload of the event, if requested.
- properties:
provider:
type: string
enum:
- github
- github-limited
- github-custom-host
- gitlab
- bitbucket
- google
- apple
login:
type: string
required:
- login
- provider
type: object
description: The payload of the event, if requested.
- properties:
projectId:
type: string
projectName:
type: string
hookName:
type: string
ref:
type: string
required:
- hookName
- projectId
- projectName
- ref
type: object
description: The payload of the event, if requested.
- properties:
project:
properties:
name:
type: string
required:
- name
type: object
job:
properties:
deployHook:
properties:
createdAt:
type: number
id:
type: string
name:
type: string
ref:
type: string
required:
- createdAt
- id
- name
- ref
type: object
state:
type: string
required:
- deployHook
- state
type: object
required:
- job
- project
type: object
description: The payload of the event, if requested.
- properties:
name:
type: string
alias:
items:
type: string
type: array
target:
nullable: true
type: string
deployment:
nullable: true
properties:
id:
type: string
name:
type: string
url:
type: string
meta:
additionalProperties:
type: string
type: object
required:
- id
- meta
- name
- url
type: object
url:
type: string
forced:
type: boolean
enum:
- false
- true
deploymentId:
type: string
plan:
type: string
project:
type: string
projectId:
type: string
regions:
items:
type: string
type: array
type:
type: string
required:
- url
type: object
description: The payload of the event, if requested.
- properties:
url:
type: string
oldTeam:
properties:
name:
type: string
required:
- name
type: object
newTeam:
properties:
name:
type: string
required:
- name
type: object
required:
- url
type: object
description: The payload of the event, if requested.
- properties:
deployment:
properties:
id:
type: string
name:
type: string
url:
type: string
meta:
additionalProperties:
type: string
type: object
required:
- id
- meta
- name
- url
type: object
deploymentId:
type: string
url:
type: string
required:
- deployment
- deploymentId
- url
type: object
description: The payload of the event, if requested.
- properties:
id:
type: string
value:
type: string
name:
type: string
domain:
type: string
type:
type: string
mxPriority:
type: number
required:
- domain
- id
- name
- type
- value
type: object
description: The payload of the event, if requested.
- properties:
id:
type: string
value:
type: string
name:
type: string
domain:
type: string
type:
type: string
required:
- domain
- id
- name
- type
- value
type: object
description: The payload of the event, if requested.
- properties:
name:
type: string
required:
- name
type: object
description: The payload of the event, if requested.
- properties:
name:
type: string
price:
type: number
currency:
type: string
required:
- name
- price
type: object
description: The payload of the event, if requested.
- properties:
name:
type: string
cdnEnabled:
type: boolean
enum:
- false
- true
required:
- cdnEnabled
- name
type: object
description: The payload of the event, if requested.
- properties:
name:
type: string
userId:
type: string
teamId:
type: string
ownerName:
type: string
required:
- name
- ownerName
- teamId
- userId
type: object
description: The payload of the event, if requested.
- properties:
name:
type: string
oldTeam:
properties:
name:
type: string
required:
- name
type: object
newTeam:
properties:
name:
type: string
required:
- name
type: object
required:
- name
type: object
description: The payload of the event, if requested.
- properties:
domainId:
type: string
name:
type: string
required:
- domainId
- name
type: object
description: The payload of the event, if requested.
- properties:
name:
type: string
fromId:
nullable: true
type: string
fromName:
nullable: true
type: string
required:
- fromId
- fromName
- name
type: object
description: The payload of the event, if requested.
- properties:
name:
type: string
destinationId:
nullable: true
type: string
destinationName:
nullable: true
type: string
required:
- destinationId
- destinationName
- name
type: object
description: The payload of the event, if requested.
- properties:
name:
type: string
destinationId:
type: string
destinationName:
type: string
required:
- destinationId
- destinationName
- name
type: object
description: The payload of the event, if requested.
- properties:
renew:
type: boolean
enum:
- false
- true
domain:
type: string
required:
- domain
type: object
description: The payload of the event, if requested.
- properties:
name:
type: string
price:
type: number
currency:
type: string
required:
- name
type: object
description: The payload of the event, if requested.
- properties:
sha:
type: string
gitUserPlatform:
type: string
projectName:
type: string
gitCommitterName:
type: string
source:
type: string
required:
- gitCommitterName
- gitUserPlatform
- projectName
- sha
- source
type: object
description: The payload of the event, if requested.
- properties:
email:
type: string
name:
type: string
required:
- email
- name
type: object
description: The payload of the event, if requested.
- properties:
key:
type: string
projectId:
type: string
projectName:
type: string
target:
oneOf:
- type: string
- items:
type: string
type: array
id:
type: string
gitBranch:
type: string
edgeConfigId:
nullable: true
type: string
edgeConfigTokenId:
nullable: true
type: string
source:
type: string
type: object
description: The payload of the event, if requested.
- properties:
created:
type: string
format: date-time
description: The date when the Shared Env Var was created.
example: '2021-02-10T13:11:49.180Z'
key:
type: string
description: The name of the Shared Env Var.
example: my-api-key
ownerId:
nullable: true
type: string
description: >-
The unique identifier of the owner (team) the Shared Env Var
was created for.
example: team_LLHUOMOoDlqOp8wPE4kFo9pE
id:
type: string
description: The unique identifier of the Shared Env Var.
example: env_XCG7t7AIHuO2SBA8667zNUiM
createdBy:
nullable: true
type: string
description: >-
The unique identifier of the user who created the Shared Env
Var.
example: 2qDDuGFTWXBLDNnqZfWPDp1A
deletedBy:
nullable: true
type: string
description: >-
The unique identifier of the user who deleted the Shared Env
Var.
example: 2qDDuGFTWXBLDNnqZfWPDp1A
updatedBy:
nullable: true
type: string
description: >-
The unique identifier of the user who last updated the
Shared Env Var.
example: 2qDDuGFTWXBLDNnqZfWPDp1A
createdAt:
type: number
description: Timestamp for when the Shared Env Var was created.
example: 1609492210000
deletedAt:
type: number
description: Timestamp for when the Shared Env Var was (soft) deleted.
example: 1609492210000
updatedAt:
type: number
description: Timestamp for when the Shared Env Var was last updated.
example: 1609492210000
value:
type: string
description: The value of the Shared Env Var.
projectId:
items:
type: string
type: array
description: >-
The unique identifiers of the projects which the Shared Env
Var is linked to.
example:
- prj_2WjyKQmM8ZnGcJsPWMrHRHrE
- prj_2WjyKQmM8ZnGcJsPWMrasEFg
type:
type: string
enum:
- system
- encrypted
- plain
- sensitive
description: >-
The type of this cosmos doc instance, if blank, assume
secret.
example: encrypted
target:
items:
type: string
enum:
- production
- preview
- development
example: production
description: environments this env variable targets
type: array
description: environments this env variable targets
example: production
applyToAllCustomEnvironments:
type: boolean
enum:
- false
- true
description: >-
whether or not this env varible applies to custom
environments
decrypted:
type: boolean
enum:
- false
- true
description: whether or not this env variable is decrypted
comment:
type: string
description: >-
A user provided comment that describes what this Shared Env
Var is for.
lastEditedByDisplayName:
type: string
description: The last editor full name or username.
projectNames:
items:
type: string
type: array
type: object
description: The payload of the event, if requested.
- properties:
oldEnvVar:
properties:
created:
type: string
format: date-time
description: The date when the Shared Env Var was created.
example: '2021-02-10T13:11:49.180Z'
key:
type: string
description: The name of the Shared Env Var.
example: my-api-key
ownerId:
nullable: true
type: string
description: >-
The unique identifier of the owner (team) the Shared Env
Var was created for.
example: team_LLHUOMOoDlqOp8wPE4kFo9pE
id:
type: string
description: The unique identifier of the Shared Env Var.
example: env_XCG7t7AIHuO2SBA8667zNUiM
createdBy:
nullable: true
type: string
description: >-
The unique identifier of the user who created the Shared
Env Var.
example: 2qDDuGFTWXBLDNnqZfWPDp1A
deletedBy:
nullable: true
type: string
description: >-
The unique identifier of the user who deleted the Shared
Env Var.
example: 2qDDuGFTWXBLDNnqZfWPDp1A
updatedBy:
nullable: true
type: string
description: >-
The unique identifier of the user who last updated the
Shared Env Var.
example: 2qDDuGFTWXBLDNnqZfWPDp1A
createdAt:
type: number
description: Timestamp for when the Shared Env Var was created.
example: 1609492210000
deletedAt:
type: number
description: >-
Timestamp for when the Shared Env Var was (soft)
deleted.
example: 1609492210000
updatedAt:
type: number
description: Timestamp for when the Shared Env Var was last updated.
example: 1609492210000
value:
type: string
description: The value of the Shared Env Var.
projectId:
items:
type: string
type: array
description: >-
The unique identifiers of the projects which the Shared
Env Var is linked to.
example:
- prj_2WjyKQmM8ZnGcJsPWMrHRHrE
- prj_2WjyKQmM8ZnGcJsPWMrasEFg
type:
type: string
enum:
- system
- encrypted
- plain
- sensitive
description: >-
The type of this cosmos doc instance, if blank, assume
secret.
example: encrypted
target:
items:
type: string
enum:
- production
- preview
- development
example: production
description: environments this env variable targets
type: array
description: environments this env variable targets
example: production
applyToAllCustomEnvironments:
type: boolean
enum:
- false
- true
description: >-
whether or not this env varible applies to custom
environments
decrypted:
type: boolean
enum:
- false
- true
description: whether or not this env variable is decrypted
comment:
type: string
description: >-
A user provided comment that describes what this Shared
Env Var is for.
lastEditedByDisplayName:
type: string
description: The last editor full name or username.
type: object
newEnvVar:
properties:
created:
type: string
format: date-time
description: The date when the Shared Env Var was created.
example: '2021-02-10T13:11:49.180Z'
key:
type: string
description: The name of the Shared Env Var.
example: my-api-key
ownerId:
nullable: true
type: string
description: >-
The unique identifier of the owner (team) the Shared Env
Var was created for.
example: team_LLHUOMOoDlqOp8wPE4kFo9pE
id:
type: string
description: The unique identifier of the Shared Env Var.
example: env_XCG7t7AIHuO2SBA8667zNUiM
createdBy:
nullable: true
type: string
description: >-
The unique identifier of the user who created the Shared
Env Var.
example: 2qDDuGFTWXBLDNnqZfWPDp1A
deletedBy:
nullable: true
type: string
description: >-
The unique identifier of the user who deleted the Shared
Env Var.
example: 2qDDuGFTWXBLDNnqZfWPDp1A
updatedBy:
nullable: true
type: string
description: >-
The unique identifier of the user who last updated the
Shared Env Var.
example: 2qDDuGFTWXBLDNnqZfWPDp1A
createdAt:
type: number
description: Timestamp for when the Shared Env Var was created.
example: 1609492210000
deletedAt:
type: number
description: >-
Timestamp for when the Shared Env Var was (soft)
deleted.
example: 1609492210000
updatedAt:
type: number
description: Timestamp for when the Shared Env Var was last updated.
example: 1609492210000
value:
type: string
description: The value of the Shared Env Var.
projectId:
items:
type: string
type: array
description: >-
The unique identifiers of the projects which the Shared
Env Var is linked to.
example:
- prj_2WjyKQmM8ZnGcJsPWMrHRHrE
- prj_2WjyKQmM8ZnGcJsPWMrasEFg
type:
type: string
enum:
- system
- encrypted
- plain
- sensitive
description: >-
The type of this cosmos doc instance, if blank, assume
secret.
example: encrypted
target:
items:
type: string
enum:
- production
- preview
- development
example: production
description: environments this env variable targets
type: array
description: environments this env variable targets
example: production
applyToAllCustomEnvironments:
type: boolean
enum:
- false
- true
description: >-
whether or not this env varible applies to custom
environments
decrypted:
type: boolean
enum:
- false
- true
description: whether or not this env variable is decrypted
comment:
type: string
description: >-
A user provided comment that describes what this Shared
Env Var is for.
lastEditedByDisplayName:
type: string
description: The last editor full name or username.
type: object
updateDiff:
properties:
id:
type: string
key:
type: string
newKey:
type: string
oldTarget:
items:
type: string
enum:
- production
- preview
- development
type: array
newTarget:
items:
type: string
enum:
- production
- preview
- development
type: array
oldType:
type: string
newType:
type: string
oldProjects:
items:
properties:
projectName:
type: string
projectId:
type: string
required:
- projectId
type: object
type: array
newProjects:
items:
properties:
projectName:
type: string
projectId:
type: string
required:
- projectId
type: object
type: array
changedValue:
type: boolean
enum:
- false
- true
required:
- changedValue
- id
type: object
type: object
description: The payload of the event, if requested.
- properties:
enabled:
type: boolean
enum:
- false
- true
updatedAt:
type: number
firstEnabledAt:
type: number
required:
- enabled
- updatedAt
type: object
description: The payload of the event, if requested.
- properties:
projectId:
type: string
restore:
type: boolean
enum:
- false
- true
configVersion:
type: number
configChangeCount:
type: number
configChanges:
items:
type: object
type: array
required:
- configChangeCount
- configChanges
- configVersion
- projectId
- restore
type: object
description: The payload of the event, if requested.
- properties:
projectId:
type: string
scope:
type: string
source:
type: string
required:
- projectId
- scope
- source
type: object
description: The payload of the event, if requested.
- properties:
projectId:
type: string
rulesetName:
type: string
active:
type: boolean
enum:
- false
- true
action:
type: string
enum:
- log
- challenge
- deny
required:
- active
- projectId
- rulesetName
type: object
description: The payload of the event, if requested.
- properties:
projectId:
type: string
rulesetName:
type: string
ruleGroups:
additionalProperties:
properties:
active:
type: boolean
enum:
- false
- true
action:
type: string
enum:
- log
- challenge
- deny
required:
- active
type: object
type: object
required:
- projectId
- ruleGroups
- rulesetName
type: object
description: The payload of the event, if requested.
- properties:
projectId:
type: string
prevAttackModeEnabled:
type: boolean
enum:
- false
- true
prevAttackModeActiveUntil:
nullable: true
type: number
attackModeEnabled:
type: boolean
enum:
- false
- true
attackModeActiveUntil:
nullable: true
type: number
required:
- attackModeEnabled
- projectId
type: object
description: The payload of the event, if requested.
- properties:
integrationId:
type: string
integrationSlug:
type: string
integrationName:
type: string
required:
- integrationId
- integrationName
- integrationSlug
type: object
description: The payload of the event, if requested.
- properties:
userId:
type: string
integrationId:
type: string
configurationId:
type: string
integrationSlug:
type: string
integrationName:
type: string
newOwner:
nullable: true
properties:
abuse:
properties:
blockHistory:
items:
properties:
action:
type: string
enum:
- blocked
- hard-blocked
- soft-blocked
- unblocked
createdAt:
type: number
caseId:
type: string
reason:
type: string
actor:
type: string
statusCode:
type: number
comment:
type: string
ineligibleForAppeal:
type: boolean
enum:
- false
- true
required:
- action
- createdAt
- reason
type: object
description: Since June 2023
type: array
description: Since June 2023
gitAuthHistory:
items:
type: string
type: array
description: >-
Since March 2022. Helps abuse checks by tracking git
auths. Format: `::`
history:
items:
properties:
scanner:
type: string
reason:
type: string
by:
type: string
byId:
type: string
at:
type: number
required:
- at
- by
- byId
- reason
- scanner
type: object
description: >-
(scanner history). Since November 2021. First
element is newest.
type: array
description: >-
(scanner history). Since November 2021. First
element is newest.
gitLineageBlocks:
type: number
description: >-
Since September 2023. How often did this owner
trigger an actual git lineage deploy block?
gitLineageBlocksDry:
type: number
description: >-
Since September 2023. How often did this owner
trigger a git lineage deploy block dry run?
scanner:
type: string
description: >-
Since November 2021. Guides the abuse scanner in
build container.
scheduledUnblockAt:
type: string
description: >-
Since December 2025. UTC timestamp string of when an
auto-unblock is scheduled. Format: "Wed, 03 Dec 2025
20:32:13 GMT"
updatedAt:
type: number
description: Since November 2021
creationUserAgent:
type: string
creationIp:
type: string
removedPhoneNumbers:
type: string
required:
- updatedAt
type: object
acceptanceState:
type: string
acceptedAt:
type: number
avatar:
type: string
billing:
type: object
properties:
plan:
type: string
enum:
- pro
- enterprise
- hobby
required:
- plan
blocked:
nullable: true
type: number
blockReason:
type: string
created:
type: number
createdAt:
type: number
credentials:
items:
oneOf:
- properties:
type:
type: string
enum:
- gitlab
- bitbucket
- google
- apple
- github-oauth
- github-oauth-limited
id:
type: string
required:
- id
- type
type: object
- properties:
type:
type: string
enum:
- github-oauth-custom-host
host:
type: string
id:
type: string
required:
- host
- id
- type
type: object
type: array
customerId:
nullable: true
type: string
orbCustomerId:
nullable: true
type: string
dataCache:
properties:
excessBillingEnabled:
type: boolean
enum:
- false
- true
type: object
deletedAt:
nullable: true
type: number
deploymentSecret:
type: string
dismissedTeams:
items:
type: string
type: array
dismissedToasts:
items:
properties:
name:
type: string
dismissals:
items:
properties:
scopeId:
type: string
createdAt:
type: number
required:
- createdAt
- scopeId
type: object
type: array
required:
- dismissals
- name
type: object
type: array
favoriteProjectsAndSpaces:
items:
properties:
teamId:
type: string
projectId:
type: string
required:
- projectId
- teamId
type: object
type: array
email:
type: string
id:
type: string
importFlowGitNamespace:
nullable: true
oneOf:
- type: string
- type: number
importFlowGitNamespaceId:
nullable: true
oneOf:
- type: string
- type: number
importFlowGitProvider:
nullable: true
type: string
enum:
- github
- github-limited
- github-custom-host
- gitlab
- bitbucket
preferredScopesAndGitNamespaces:
items:
properties:
scopeId:
type: string
gitNamespaceId:
nullable: true
oneOf:
- type: string
- type: number
required:
- gitNamespaceId
- scopeId
type: object
type: array
isDomainReseller:
type: boolean
enum:
- false
- true
isZeitPub:
type: boolean
enum:
- false
- true
maxActiveSlots:
type: number
name:
type: string
phoneNumber:
type: string
platformVersion:
nullable: true
type: number
preventAutoBlocking:
oneOf:
- type: number
- type: boolean
enum:
- false
- true
projectDomainsLimit:
type: number
description: >-
Overrides our DEFAULT project domains limit per account
or per project.
remoteCaching:
properties:
enabled:
type: boolean
enum:
- false
- true
type: object
description: Represents configuration for remote caching
removedAliasesAt:
type: number
removedBillingSubscriptionAt:
type: number
removedConfigurationsAt:
type: number
removedDeploymentsAt:
type: number
removedDomiansAt:
type: number
removedEventsAt:
type: number
removedProjectsAt:
type: number
removedSecretsAt:
type: number
removedSharedEnvVarsAt:
type: number
removedEdgeConfigsAt:
type: number
resourceConfig:
properties:
nodeType:
type: string
concurrentBuilds:
type: number
elasticConcurrencyEnabled:
type: boolean
enum:
- false
- true
buildEntitlements:
properties:
enhancedBuilds:
type: boolean
enum:
- false
- true
type: object
buildQueue:
properties:
configuration:
type: string
enum:
- SKIP_NAMESPACE_QUEUE
- WAIT_FOR_NAMESPACE_QUEUE
type: object
awsAccountType:
type: string
awsAccountIds:
items:
type: string
type: array
cfZoneName:
type: string
imageOptimizationType:
type: string
edgeConfigs:
type: number
edgeConfigSize:
type: number
edgeFunctionMaxSizeBytes:
type: number
edgeFunctionExecutionTimeoutMs:
type: number
serverlessFunctionMaxMemorySize:
type: number
kvDatabases:
type: number
postgresDatabases:
type: number
blobStores:
type: number
integrationStores:
type: number
cronJobsPerProject:
type: number
microfrontendGroupsPerTeam:
type: number
microfrontendProjectsPerGroup:
type: number
flagsExplorerOverridesThreshold:
type: number
flagsExplorerUnlimitedOverrides:
type: boolean
enum:
- false
- true
customEnvironmentsPerProject:
type: number
buildMachine:
properties:
default:
type: string
enum:
- enhanced
- turbo
- standard
purchaseType:
type: string
enum:
- enhanced
- turbo
isDefaultBuildMachine:
type: boolean
enum:
- false
- true
cores:
type: number
memory:
type: number
type: object
security:
properties:
customRules:
type: number
ipBlocks:
type: number
ipBypass:
type: number
rateLimit:
type: number
type: object
bulkRedirectsFreeLimitOverride:
type: number
type: object
resourceLimits:
additionalProperties:
properties:
max:
type: number
duration:
type: number
required:
- duration
- max
type: object
type: object
description: User | Team resource limits
activeDashboardViews:
items:
properties:
scopeId:
type: string
viewPreference:
nullable: true
type: string
enum:
- list
- cards
favoritesViewPreference:
nullable: true
type: string
enum:
- open
- closed
recentsViewPreference:
nullable: true
type: string
enum:
- open
- closed
required:
- scopeId
type: object
type: array
secondaryEmails:
items:
properties:
email:
type: string
verified:
type: boolean
enum:
- false
- true
required:
- email
- verified
type: object
type: array
emailDomains:
items:
type: string
type: array
emailNotifications:
properties:
rules:
additionalProperties:
properties:
email:
type: string
required:
- email
type: object
type: object
type: object
siftScore:
type: number
siftScores:
additionalProperties:
properties:
score:
type: number
reasons:
items:
properties:
name:
type: string
value:
type: string
required:
- name
- value
type: object
type: array
required:
- reasons
- score
type: object
type: object
siftRoute:
properties:
name:
type: string
enum:
- string
required:
- name
type: object
sfdcId:
type: string
softBlock:
nullable: true
properties:
blockedAt:
type: number
reason:
type: string
enum:
- SUBSCRIPTION_CANCELED
- SUBSCRIPTION_EXPIRED
- UNPAID_INVOICE
- ENTERPRISE_TRIAL_ENDED
- FAIR_USE_LIMITS_EXCEEDED
- BLOCKED_FOR_PLATFORM_ABUSE
blockedDueToOverageType:
type: string
enum:
- analyticsUsage
- artifacts
- bandwidth
- blobTotalAdvancedRequests
- blobTotalAvgSizeInBytes
- blobTotalGetResponseObjectSizeInBytes
- blobTotalSimpleRequests
- connectDataTransfer
- dataCacheRead
- dataCacheWrite
- edgeConfigRead
- edgeConfigWrite
- edgeFunctionExecutionUnits
- edgeMiddlewareInvocations
- edgeRequestAdditionalCpuDuration
- edgeRequest
- elasticConcurrencyBuildSlots
- fastDataTransfer
- fastOriginTransfer
- fluidCpuDuration
- fluidDuration
- functionDuration
- functionInvocation
- imageOptimizationCacheRead
- imageOptimizationCacheWrite
- imageOptimizationTransformation
- logDrainsVolume
- monitoringMetric
- blobDataTransfer
- observabilityEvent
- onDemandConcurrencyMinutes
- runtimeCacheRead
- runtimeCacheWrite
- serverlessFunctionExecution
- sourceImages
- wafOwaspExcessBytes
- wafOwaspRequests
- wafRateLimitRequest
- webAnalyticsEvent
required:
- blockedAt
- reason
type: object
stagingPrefix:
type: string
sysToken:
type: string
teams:
items:
properties:
created:
type: number
createdAt:
type: number
teamId:
type: string
role:
type: string
enum:
- OWNER
- MEMBER
- DEVELOPER
- SECURITY
- BILLING
- VIEWER
- VIEWER_FOR_PLUS
- CONTRIBUTOR
confirmed:
type: boolean
enum:
- true
confirmedAt:
type: number
accessRequestedAt:
type: number
teamRoles:
items:
type: string
enum:
- OWNER
- MEMBER
- DEVELOPER
- SECURITY
- BILLING
- VIEWER
- VIEWER_FOR_PLUS
- CONTRIBUTOR
type: array
teamPermissions:
items:
type: string
enum:
- IntegrationManager
- CreateProject
- FullProductionDeployment
- UsageViewer
- EnvVariableManager
- EnvironmentManager
- V0Builder
- V0Chatter
- V0Viewer
type: array
joinedFrom:
properties:
origin:
type: string
enum:
- teams
- saml
- link
- github
- gitlab
- bitbucket
- mail
- import
- dsync
- feedback
- organization-teams
- nsnb-auto-approve
commitId:
type: string
repoId:
type: string
repoPath:
type: string
gitUserId:
oneOf:
- type: string
- type: number
gitUserLogin:
type: string
ssoUserId:
type: string
ssoConnectedAt:
type: number
idpUserId:
type: string
dsyncUserId:
type: string
dsyncConnectedAt:
type: number
required:
- origin
type: object
required:
- confirmed
- confirmedAt
- created
- createdAt
- role
- teamId
type: object
type: array
description: >-
A helper that allows to describe a relationship
attribute. It receives the shape of a relationship plus
the foreignKey name to make it mandatory in the
resulting type.
trialTeamIds:
items:
type: string
type: array
description: >-
Introduced 2022-04-12 An array of teamIds (for trial
teams created after 2022-04-01), created by the user in
question. Used in determining whether the team has a
trial available in
utils/api-teams/user-has-trial-available.ts.
maxTrials:
type: number
description: >-
Introduced 2022-04-19 Number of maximum trials to
allocate to a user. When undefined, defaults to
MAX_TRIALS in
utils/api-teams/user-has-trial-available.ts. This is set
to trialTeamIds + 1 by
services/api-backoffice/src/handlers/add-additional-trial.ts.
trialTeamId:
type: string
description: >-
Deprecated on 2022-04-12 in favor of trialTeamIds and
using utils/api-teams/user-has-trial-available.ts.
type:
type: string
enum:
- user
usageAlerts:
nullable: true
properties:
warningAt:
nullable: true
type: number
blockingAt:
nullable: true
type: number
type: object
description: >-
Contains the timestamps when a user was notified about
their usage
overageUsageAlerts:
properties:
analyticsUsage:
properties:
currentThreshold:
type: number
warningAt:
nullable: true
type: number
blockedAt:
nullable: true
type: number
required:
- currentThreshold
type: object
artifacts:
properties:
currentThreshold:
type: number
warningAt:
nullable: true
type: number
blockedAt:
nullable: true
type: number
required:
- currentThreshold
type: object
bandwidth:
properties:
currentThreshold:
type: number
warningAt:
nullable: true
type: number
blockedAt:
nullable: true
type: number
required:
- currentThreshold
type: object
blobTotalAdvancedRequests:
properties:
currentThreshold:
type: number
warningAt:
nullable: true
type: number
blockedAt:
nullable: true
type: number
required:
- currentThreshold
type: object
blobTotalAvgSizeInBytes:
properties:
currentThreshold:
type: number
warningAt:
nullable: true
type: number
blockedAt:
nullable: true
type: number
required:
- currentThreshold
type: object
blobTotalGetResponseObjectSizeInBytes:
properties:
currentThreshold:
type: number
warningAt:
nullable: true
type: number
blockedAt:
nullable: true
type: number
required:
- currentThreshold
type: object
blobTotalSimpleRequests:
properties:
currentThreshold:
type: number
warningAt:
nullable: true
type: number
blockedAt:
nullable: true
type: number
required:
- currentThreshold
type: object
connectDataTransfer:
properties:
currentThreshold:
type: number
warningAt:
nullable: true
type: number
blockedAt:
nullable: true
type: number
required:
- currentThreshold
type: object
dataCacheRead:
properties:
currentThreshold:
type: number
warningAt:
nullable: true
type: number
blockedAt:
nullable: true
type: number
required:
- currentThreshold
type: object
dataCacheWrite:
properties:
currentThreshold:
type: number
warningAt:
nullable: true
type: number
blockedAt:
nullable: true
type: number
required:
- currentThreshold
type: object
edgeConfigRead:
properties:
currentThreshold:
type: number
warningAt:
nullable: true
type: number
blockedAt:
nullable: true
type: number
required:
- currentThreshold
type: object
edgeConfigWrite:
properties:
currentThreshold:
type: number
warningAt:
nullable: true
type: number
blockedAt:
nullable: true
type: number
required:
- currentThreshold
type: object
edgeFunctionExecutionUnits:
properties:
currentThreshold:
type: number
warningAt:
nullable: true
type: number
blockedAt:
nullable: true
type: number
required:
- currentThreshold
type: object
edgeMiddlewareInvocations:
properties:
currentThreshold:
type: number
warningAt:
nullable: true
type: number
blockedAt:
nullable: true
type: number
required:
- currentThreshold
type: object
edgeRequestAdditionalCpuDuration:
properties:
currentThreshold:
type: number
warningAt:
nullable: true
type: number
blockedAt:
nullable: true
type: number
required:
- currentThreshold
type: object
edgeRequest:
properties:
currentThreshold:
type: number
warningAt:
nullable: true
type: number
blockedAt:
nullable: true
type: number
required:
- currentThreshold
type: object
elasticConcurrencyBuildSlots:
properties:
currentThreshold:
type: number
warningAt:
nullable: true
type: number
blockedAt:
nullable: true
type: number
required:
- currentThreshold
type: object
fastDataTransfer:
properties:
currentThreshold:
type: number
warningAt:
nullable: true
type: number
blockedAt:
nullable: true
type: number
required:
- currentThreshold
type: object
fastOriginTransfer:
properties:
currentThreshold:
type: number
warningAt:
nullable: true
type: number
blockedAt:
nullable: true
type: number
required:
- currentThreshold
type: object
fluidCpuDuration:
properties:
currentThreshold:
type: number
warningAt:
nullable: true
type: number
blockedAt:
nullable: true
type: number
required:
- currentThreshold
type: object
fluidDuration:
properties:
currentThreshold:
type: number
warningAt:
nullable: true
type: number
blockedAt:
nullable: true
type: number
required:
- currentThreshold
type: object
functionDuration:
properties:
currentThreshold:
type: number
warningAt:
nullable: true
type: number
blockedAt:
nullable: true
type: number
required:
- currentThreshold
type: object
functionInvocation:
properties:
currentThreshold:
type: number
warningAt:
nullable: true
type: number
blockedAt:
nullable: true
type: number
required:
- currentThreshold
type: object
imageOptimizationCacheRead:
properties:
currentThreshold:
type: number
warningAt:
nullable: true
type: number
blockedAt:
nullable: true
type: number
required:
- currentThreshold
type: object
imageOptimizationCacheWrite:
properties:
currentThreshold:
type: number
warningAt:
nullable: true
type: number
blockedAt:
nullable: true
type: number
required:
- currentThreshold
type: object
imageOptimizationTransformation:
properties:
currentThreshold:
type: number
warningAt:
nullable: true
type: number
blockedAt:
nullable: true
type: number
required:
- currentThreshold
type: object
logDrainsVolume:
properties:
currentThreshold:
type: number
warningAt:
nullable: true
type: number
blockedAt:
nullable: true
type: number
required:
- currentThreshold
type: object
monitoringMetric:
properties:
currentThreshold:
type: number
warningAt:
nullable: true
type: number
blockedAt:
nullable: true
type: number
required:
- currentThreshold
type: object
blobDataTransfer:
properties:
currentThreshold:
type: number
warningAt:
nullable: true
type: number
blockedAt:
nullable: true
type: number
required:
- currentThreshold
type: object
observabilityEvent:
properties:
currentThreshold:
type: number
warningAt:
nullable: true
type: number
blockedAt:
nullable: true
type: number
required:
- currentThreshold
type: object
onDemandConcurrencyMinutes:
properties:
currentThreshold:
type: number
warningAt:
nullable: true
type: number
blockedAt:
nullable: true
type: number
required:
- currentThreshold
type: object
runtimeCacheRead:
properties:
currentThreshold:
type: number
warningAt:
nullable: true
type: number
blockedAt:
nullable: true
type: number
required:
- currentThreshold
type: object
runtimeCacheWrite:
properties:
currentThreshold:
type: number
warningAt:
nullable: true
type: number
blockedAt:
nullable: true
type: number
required:
- currentThreshold
type: object
serverlessFunctionExecution:
properties:
currentThreshold:
type: number
warningAt:
nullable: true
type: number
blockedAt:
nullable: true
type: number
required:
- currentThreshold
type: object
sourceImages:
properties:
currentThreshold:
type: number
warningAt:
nullable: true
type: number
blockedAt:
nullable: true
type: number
required:
- currentThreshold
type: object
wafOwaspExcessBytes:
properties:
currentThreshold:
type: number
warningAt:
nullable: true
type: number
blockedAt:
nullable: true
type: number
required:
- currentThreshold
type: object
wafOwaspRequests:
properties:
currentThreshold:
type: number
warningAt:
nullable: true
type: number
blockedAt:
nullable: true
type: number
required:
- currentThreshold
type: object
wafRateLimitRequest:
properties:
currentThreshold:
type: number
warningAt:
nullable: true
type: number
blockedAt:
nullable: true
type: number
required:
- currentThreshold
type: object
webAnalyticsEvent:
properties:
currentThreshold:
type: number
warningAt:
nullable: true
type: number
blockedAt:
nullable: true
type: number
required:
- currentThreshold
type: object
type: object
overageMetadata:
properties:
firstTimeOnDemandNotificationSentAt:
type: number
description: >-
Tracks if the first time on-demand overage email has
been sent.
dailyOverageSummaryEmailSentAt:
type: number
description: Tracks the last time we sent a daily summary email.
weeklyOverageSummaryEmailSentAt:
type: number
description: Tracks the last time we sent a weekly summary email.
overageSummaryExpiresAt:
type: number
description: >-
Tracks when the overage summary email will stop
auto-sending. We currently lock the user into email
for a month after the last on-demand usage.
increasedOnDemandEmailSentAt:
type: number
description: >-
Tracks the last time we sent a increased on-demand
email.
increasedOnDemandEmailAttemptedAt:
type: number
description: >-
Tracks the last time we attempted to send an
increased on-demand email. This check is to limit
the number of attempts per day.
type: object
description: Contains the timestamps for usage summary emails.
username:
type: string
updatedAt:
type: number
enablePreviewFeedback:
type: string
enum:
- default
- 'on'
- 'off'
- on-force
- off-force
- default-force
description: >-
Whether the Vercel Toolbar is enabled for preview
deployments.
featureBlocks:
properties:
webAnalytics:
properties:
updatedAt:
type: number
blockedFrom:
type: number
blockedUntil:
type: number
blockReason:
type: string
enum:
- admin_override
- limits_exceeded
graceEmailSentAt:
type: number
required:
- blockReason
- updatedAt
type: object
monitoring:
properties:
updatedAt:
type: number
blockedFrom:
type: number
blockedUntil:
type: number
blockReason:
type: string
enum:
- admin_override
- limits_exceeded
blockType:
type: string
enum:
- soft
- hard
required:
- blockReason
- blockType
- updatedAt
type: object
description: >-
A soft block indicates a temporary pause in data
collection (ex limit exceeded for the current cycle)
A hard block indicates a stoppage in data collection
that requires manual intervention (ex upgrading a
pro trial)
observabilityPlus:
properties:
updatedAt:
type: number
blockedFrom:
type: number
blockedUntil:
type: number
blockReason:
type: string
enum:
- admin_override
- limits_exceeded
blockType:
type: string
enum:
- soft
- hard
required:
- blockReason
- blockType
- updatedAt
type: object
dataCache:
properties:
updatedAt:
type: number
blockedFrom:
type: number
blockedUntil:
type: number
blockReason:
type: string
enum:
- admin_override
- limits_exceeded
required:
- blockReason
- updatedAt
type: object
imageOptimizationTransformation:
properties:
updatedAt:
type: number
blockedFrom:
type: number
blockedUntil:
type: number
blockReason:
type: string
enum:
- admin_override
- limits_exceeded
required:
- blockReason
- updatedAt
type: object
sourceImages:
properties:
updatedAt:
type: number
blockedFrom:
type: number
blockedUntil:
type: number
blockReason:
type: string
enum:
- admin_override
- limits_exceeded
required:
- blockReason
- updatedAt
type: object
blob:
properties:
updatedAt:
type: number
blockedFrom:
type: number
blockedUntil:
type: number
blockReason:
type: string
enum:
- admin_override
- limits_exceeded
overageReason:
type: string
enum:
- analyticsUsage
- artifacts
- bandwidth
- blobTotalAdvancedRequests
- blobTotalAvgSizeInBytes
- blobTotalGetResponseObjectSizeInBytes
- blobTotalSimpleRequests
- connectDataTransfer
- dataCacheRead
- dataCacheWrite
- edgeConfigRead
- edgeConfigWrite
- edgeFunctionExecutionUnits
- edgeMiddlewareInvocations
- edgeRequestAdditionalCpuDuration
- edgeRequest
- elasticConcurrencyBuildSlots
- fastDataTransfer
- fastOriginTransfer
- fluidCpuDuration
- fluidDuration
- functionDuration
- functionInvocation
- imageOptimizationCacheRead
- imageOptimizationCacheWrite
- imageOptimizationTransformation
- logDrainsVolume
- monitoringMetric
- blobDataTransfer
- observabilityEvent
- onDemandConcurrencyMinutes
- runtimeCacheRead
- runtimeCacheWrite
- serverlessFunctionExecution
- sourceImages
- wafOwaspExcessBytes
- wafOwaspRequests
- wafRateLimitRequest
- webAnalyticsEvent
required:
- blockReason
- overageReason
- updatedAt
type: object
postgres:
properties:
updatedAt:
type: number
blockedFrom:
type: number
blockedUntil:
type: number
blockReason:
type: string
enum:
- admin_override
- limits_exceeded
overageReason:
type: string
enum:
- analyticsUsage
- artifacts
- bandwidth
- blobTotalAdvancedRequests
- blobTotalAvgSizeInBytes
- blobTotalGetResponseObjectSizeInBytes
- blobTotalSimpleRequests
- connectDataTransfer
- dataCacheRead
- dataCacheWrite
- edgeConfigRead
- edgeConfigWrite
- edgeFunctionExecutionUnits
- edgeMiddlewareInvocations
- edgeRequestAdditionalCpuDuration
- edgeRequest
- elasticConcurrencyBuildSlots
- fastDataTransfer
- fastOriginTransfer
- fluidCpuDuration
- fluidDuration
- functionDuration
- functionInvocation
- imageOptimizationCacheRead
- imageOptimizationCacheWrite
- imageOptimizationTransformation
- logDrainsVolume
- monitoringMetric
- blobDataTransfer
- observabilityEvent
- onDemandConcurrencyMinutes
- runtimeCacheRead
- runtimeCacheWrite
- serverlessFunctionExecution
- sourceImages
- wafOwaspExcessBytes
- wafOwaspRequests
- wafRateLimitRequest
- webAnalyticsEvent
required:
- blockReason
- overageReason
- updatedAt
type: object
redis:
properties:
updatedAt:
type: number
blockedFrom:
type: number
blockedUntil:
type: number
blockReason:
type: string
enum:
- admin_override
- limits_exceeded
overageReason:
type: string
enum:
- analyticsUsage
- artifacts
- bandwidth
- blobTotalAdvancedRequests
- blobTotalAvgSizeInBytes
- blobTotalGetResponseObjectSizeInBytes
- blobTotalSimpleRequests
- connectDataTransfer
- dataCacheRead
- dataCacheWrite
- edgeConfigRead
- edgeConfigWrite
- edgeFunctionExecutionUnits
- edgeMiddlewareInvocations
- edgeRequestAdditionalCpuDuration
- edgeRequest
- elasticConcurrencyBuildSlots
- fastDataTransfer
- fastOriginTransfer
- fluidCpuDuration
- fluidDuration
- functionDuration
- functionInvocation
- imageOptimizationCacheRead
- imageOptimizationCacheWrite
- imageOptimizationTransformation
- logDrainsVolume
- monitoringMetric
- blobDataTransfer
- observabilityEvent
- onDemandConcurrencyMinutes
- runtimeCacheRead
- runtimeCacheWrite
- serverlessFunctionExecution
- sourceImages
- wafOwaspExcessBytes
- wafOwaspRequests
- wafRateLimitRequest
- webAnalyticsEvent
required:
- blockReason
- overageReason
- updatedAt
type: object
microfrontendsRequest:
properties:
updatedAt:
type: number
blockedFrom:
type: number
blockedUntil:
type: number
blockReason:
type: string
enum:
- admin_override
- limits_exceeded
required:
- blockReason
- updatedAt
type: object
workflowStorage:
properties:
updatedAt:
type: number
blockedFrom:
type: number
blockedUntil:
type: number
blockReason:
type: string
enum:
- admin_override
- limits_exceeded
required:
- blockReason
- updatedAt
type: object
workflowStep:
properties:
updatedAt:
type: number
blockedFrom:
type: number
blockedUntil:
type: number
blockReason:
type: string
enum:
- admin_override
- limits_exceeded
required:
- blockReason
- updatedAt
type: object
type: object
description: >-
Information about which features are blocked for a user.
Blocks can be either soft (the user can still access the
feature, but with a warning, e.g. prompting an upgrade)
or hard (the user cannot access the feature at all).
defaultTeamId:
type: string
version:
type: string
enum:
- northstar
northstarMigration:
properties:
teamId:
type: string
description: The ID of the team we created for this user.
projects:
type: number
description: The number of projects migrated for this user.
stores:
type: number
description: The number of stores migrated for this user.
integrationConfigurations:
type: number
description: >-
The number of integration configurations migrated
for this user.
integrationClients:
type: number
description: >-
The number of integration clients migrated for this
user.
startTime:
type: number
description: The migration start time timestamp for this user.
endTime:
type: number
description: The migration end time timestamp for this user.
required:
- endTime
- integrationClients
- integrationConfigurations
- projects
- startTime
- stores
- teamId
type: object
description: >-
An archive of information about the Northstar migration,
derived from the old (deprecated) property,
`northstarMigrationEvents`.
opportunityId:
type: string
description: >-
The salesforce opportunity ID that this user is linked
to. This is used to automatically associate a team of
the user's choosing with the opportunity.
mfaConfiguration:
properties:
enabled:
type: boolean
enum:
- false
- true
enabledAt:
type: number
recoveryCodes:
items:
type: string
type: array
totp:
properties:
secret:
type: string
createdAt:
type: number
required:
- createdAt
- secret
type: object
history:
items:
properties:
action:
type: string
enum:
- enabled
- disabled
description: The action that occurred
timestamp:
nullable: true
type: number
description: >-
Unix timestamp (milliseconds) when the change
occurred. May be null for events that occurred
before history tracking was implemented.
method:
type: string
enum:
- totp
- passkey
- user_disabled
- admin_removal
- unknown
description: >-
Method used for the state change - 'totp':
User set up TOTP authenticator - 'passkey':
User registered a passkey - 'user_disabled':
User disabled their own MFA - 'admin_removal':
Admin removed MFA via backoffice - 'unknown':
Method unknown (for pre-tracking events)
actorId:
type: string
description: >-
ID of the actor who made the change - For user
actions: the user's own ID - For admin
actions: the admin's user ID
actorType:
type: string
enum:
- user
- admin
description: Type of actor
reason:
type: string
description: >-
Optional: Additional context or reason e.g.,
"Account recovery request - ticket #12345"
required:
- action
- actorId
- actorType
- method
- timestamp
type: object
description: >-
History of MFA state changes (enabled/disabled
events). Most recent events first.
type: array
description: >-
History of MFA state changes (enabled/disabled
events). Most recent events first.
required:
- enabled
- recoveryCodes
type: object
description: >-
MFA configuration. When enabled, the user will be
required to provide a second factor of authentication
when logging in.
required:
- billing
- blocked
- createdAt
- deploymentSecret
- email
- id
- platformVersion
- stagingPrefix
- sysToken
- type
- updatedAt
- username
- version
type: object
required:
- configurationId
- integrationId
- integrationSlug
- newOwner
- userId
type: object
description: The payload of the event, if requested.
- properties:
configurations:
items:
properties:
integrationId:
type: string
configurationId:
type: string
integrationSlug:
type: string
integrationName:
type: string
required:
- configurationId
- integrationId
- integrationSlug
type: object
type: array
ownerId:
type: string
required:
- configurations
- ownerId
type: object
description: The payload of the event, if requested.
- properties:
integrationId:
type: string
configurationId:
type: string
integrationSlug:
type: string
integrationName:
type: string
ownerId:
type: string
billingPlanId:
type: string
billingPlanName:
type: string
required:
- billingPlanId
- configurationId
- integrationId
- integrationName
- integrationSlug
- ownerId
type: object
description: The payload of the event, if requested.
- properties:
integrationId:
type: string
configurationId:
type: string
integrationSlug:
type: string
integrationName:
type: string
ownerId:
type: string
projectIds:
items:
type: string
type: array
required:
- configurationId
- integrationId
- integrationName
- integrationSlug
- ownerId
type: object
description: The payload of the event, if requested.
- properties:
integrationId:
type: string
configurationId:
type: string
integrationSlug:
type: string
integrationName:
type: string
ownerId:
type: string
projectIds:
oneOf:
- items:
type: string
type: array
- type: string
enum:
- all
required:
- configurationId
- integrationId
- integrationName
- integrationSlug
- ownerId
type: object
description: The payload of the event, if requested.
- properties:
projectId:
type: string
fromDeploymentId:
type: string
toDeploymentId:
type: string
projectName:
type: string
reason:
type: string
required:
- fromDeploymentId
- projectId
- projectName
- toDeploymentId
type: object
description: The payload of the event, if requested.
- properties:
integrationId:
type: string
configurationId:
type: string
integrationSlug:
type: string
integrationName:
type: string
ownerId:
type: string
projectIds:
items:
type: string
type: array
confirmedScopes:
items:
type: string
type: array
required:
- configurationId
- confirmedScopes
- integrationId
- integrationName
- integrationSlug
- ownerId
type: object
description: The payload of the event, if requested.
- properties:
logDrainUrl:
nullable: true
type: string
integrationName:
type: string
required:
- logDrainUrl
type: object
description: The payload of the event, if requested.
- properties:
logDrainUrl:
type: string
integrationName:
type: string
required:
- logDrainUrl
type: object
description: The payload of the event, if requested.
- properties:
userAgent:
type: string
geolocation:
nullable: true
properties:
city:
properties:
names:
properties:
en:
type: string
required:
- en
type: object
required:
- names
type: object
country:
properties:
names:
properties:
en:
type: string
required:
- en
type: object
required:
- names
type: object
most_specific_subdivision:
properties:
names:
properties:
en:
type: string
required:
- en
type: object
required:
- names
type: object
regionName:
type: string
required:
- country
type: object
viaOTP:
type: boolean
enum:
- false
- true
viaEmailInvite:
type: boolean
enum:
- false
- true
viaGithub:
type: boolean
enum:
- false
- true
viaGitlab:
type: boolean
enum:
- false
- true
viaBitbucket:
type: boolean
enum:
- false
- true
viaGoogle:
type: boolean
enum:
- false
- true
viaApple:
type: boolean
enum:
- false
- true
viaSamlSso:
type: boolean
enum:
- false
- true
viaPasskey:
type: boolean
enum:
- false
- true
ssoType:
type: string
env:
type: string
os:
type: string
username:
type: string
factors:
oneOf:
- items:
oneOf:
- properties:
origin:
type: string
username:
type: string
teamId:
type: string
legacy:
type: boolean
enum:
- false
- true
required:
- origin
type: object
maxItems: 1
minItems: 1
type: array
- items:
oneOf:
- properties:
origin:
type: string
username:
type: string
teamId:
type: string
required:
- origin
type: object
- properties:
origin:
type: string
required:
- origin
type: object
maxItems: 2
minItems: 2
type: array
required:
- viaApple
- viaBitbucket
- viaEmailInvite
- viaGithub
- viaGitlab
- viaGoogle
- viaOTP
- viaPasskey
- viaSamlSso
type: object
description: The payload of the event, if requested.
- properties:
drainUrl:
nullable: true
type: string
integrationName:
type: string
required:
- drainUrl
type: object
description: The payload of the event, if requested.
- properties:
projectId:
type: string
toDeploymentId:
type: string
projectName:
type: string
required:
- projectId
- projectName
- toDeploymentId
type: object
description: The payload of the event, if requested.
- properties:
projectName:
type: string
required:
- projectName
type: object
description: The payload of the event, if requested.
- properties:
plan:
type: string
removedUsers:
additionalProperties:
properties:
role:
type: string
enum:
- OWNER
- MEMBER
- DEVELOPER
- SECURITY
- BILLING
- VIEWER
- VIEWER_FOR_PLUS
- CONTRIBUTOR
confirmed:
type: boolean
enum:
- false
- true
confirmedAt:
type: number
joinedFrom:
properties:
origin:
type: string
enum:
- teams
- saml
- link
- github
- gitlab
- bitbucket
- mail
- import
- dsync
- feedback
- organization-teams
- nsnb-auto-approve
commitId:
type: string
repoId:
type: string
repoPath:
type: string
gitUserId:
oneOf:
- type: string
- type: number
gitUserLogin:
type: string
ssoUserId:
type: string
ssoConnectedAt:
type: number
idpUserId:
type: string
dsyncUserId:
type: string
dsyncConnectedAt:
type: number
required:
- origin
type: object
required:
- confirmed
- role
type: object
type: object
prevPlan:
type: string
priorPlan:
type: string
isDowngrade:
type: boolean
enum:
- false
- true
userAgent:
type: string
isReactivate:
type: boolean
enum:
- false
- true
isTrialUpgrade:
type: boolean
enum:
- false
- true
automated:
type: boolean
enum:
- false
- true
reason:
type: string
timestamp:
type: number
removedMemberCount:
type: number
required:
- plan
type: object
description: The payload of the event, if requested.
- properties:
projectName:
type: string
branch:
type: string
required:
- branch
- projectName
type: object
description: The payload of the event, if requested.
- properties:
projectName:
type: string
projectId:
type: string
projectAnalytics:
nullable: true
properties:
id:
type: string
canceledAt:
nullable: true
type: number
disabledAt:
type: number
enabledAt:
type: number
paidAt:
type: number
sampleRatePercent:
nullable: true
type: number
spendLimitInDollars:
nullable: true
type: number
required:
- disabledAt
- enabledAt
- id
type: object
prevProjectAnalytics:
nullable: true
properties:
id:
type: string
canceledAt:
nullable: true
type: number
disabledAt:
type: number
enabledAt:
type: number
paidAt:
type: number
sampleRatePercent:
nullable: true
type: number
spendLimitInDollars:
nullable: true
type: number
required:
- disabledAt
- enabledAt
- id
type: object
required:
- prevProjectAnalytics
- projectAnalytics
- projectId
type: object
description: The payload of the event, if requested.
- properties:
projectName:
type: string
projectId:
type: string
projectAnalytics:
additionalProperties: true
type: object
prevProjectAnalytics:
nullable: true
additionalProperties: true
type: object
required:
- projectId
type: object
description: The payload of the event, if requested.
- properties:
projectName:
type: string
projectId:
type: string
required:
- projectId
type: object
description: The payload of the event, if requested.
- properties:
projectId:
type: string
projectName:
type: string
action:
type: string
enum:
- enabled
- disabled
required:
- action
- projectId
- projectName
type: object
description: The payload of the event, if requested.
- properties:
projectId:
type: string
projectName:
type: string
previous:
properties:
gitProvider:
type: string
enum:
- github
- github-limited
- github-custom-host
- gitlab
- bitbucket
gitRepoId:
type: string
gitRepositoryName:
type: string
required:
- gitProvider
- gitRepoId
- gitRepositoryName
type: object
next:
properties:
gitProvider:
type: string
enum:
- github
- github-limited
- github-custom-host
- gitlab
- bitbucket
gitRepoId:
type: string
gitRepositoryName:
type: string
required:
- gitProvider
- gitRepoId
- gitRepositoryName
type: object
required:
- next
- projectId
- projectName
type: object
description: The payload of the event, if requested.
- properties:
projectId:
type: string
projectName:
type: string
gitProvider:
type: string
enum:
- github
- github-limited
- github-custom-host
- gitlab
- bitbucket
gitRepoId:
type: string
gitRepositoryName:
type: string
required:
- gitProvider
- gitRepoId
- gitRepositoryName
- projectId
- projectName
type: object
description: The payload of the event, if requested.
- properties:
projectId:
type: string
projectName:
type: string
onPullRequest:
type: boolean
enum:
- false
- true
required:
- onPullRequest
- projectId
- projectName
type: object
description: The payload of the event, if requested.
- properties:
projectId:
type: string
projectName:
type: string
onCommit:
type: boolean
enum:
- false
- true
required:
- onCommit
- projectId
- projectName
type: object
description: The payload of the event, if requested.
- properties:
projectId:
type: string
projectName:
type: string
disableRepositoryDispatchEvents:
type: boolean
enum:
- false
- true
required:
- disableRepositoryDispatchEvents
- projectId
- projectName
type: object
description: The payload of the event, if requested.
- properties:
projectId:
type: string
projectName:
type: string
createDeployments:
type: string
enum:
- enabled
- disabled
required:
- createDeployments
- projectId
- projectName
type: object
description: The payload of the event, if requested.
- properties:
projectId:
type: string
projectName:
type: string
requireVerifiedCommits:
type: boolean
enum:
- false
- true
required:
- projectId
- projectName
- requireVerifiedCommits
type: object
description: The payload of the event, if requested.
- properties:
projectId:
type: string
projectName:
type: string
gitLFS:
type: boolean
enum:
- false
- true
required:
- gitLFS
- projectId
- projectName
type: object
description: The payload of the event, if requested.
- properties:
projectId:
type: string
projectName:
type: string
ssoProtection:
nullable: true
oneOf:
- properties:
deploymentType:
type: string
enum:
- all
- preview
- prod_deployment_urls_and_all_previews
- all_except_custom_domains
cve55182MigrationAppliedFrom:
nullable: true
type: string
enum:
- all
- preview
- prod_deployment_urls_and_all_previews
- all_except_custom_domains
required:
- deploymentType
type: object
- type: string
enum:
- all
- preview
- prod_deployment_urls_and_all_previews
- all_except_custom_domains
oldSsoProtection:
nullable: true
oneOf:
- properties:
deploymentType:
type: string
enum:
- all
- preview
- prod_deployment_urls_and_all_previews
- all_except_custom_domains
cve55182MigrationAppliedFrom:
nullable: true
type: string
enum:
- all
- preview
- prod_deployment_urls_and_all_previews
- all_except_custom_domains
required:
- deploymentType
type: object
- type: string
enum:
- all
- preview
- prod_deployment_urls_and_all_previews
- all_except_custom_domains
required:
- oldSsoProtection
- ssoProtection
type: object
description: The payload of the event, if requested.
- properties:
projectId:
type: string
projectName:
type: string
passwordProtection:
nullable: true
oneOf:
- properties:
deploymentType:
type: string
enum:
- all
- preview
- prod_deployment_urls_and_all_previews
- all_except_custom_domains
required:
- deploymentType
type: object
- type: string
enum:
- all
- preview
- prod_deployment_urls_and_all_previews
- all_except_custom_domains
oldPasswordProtection:
nullable: true
oneOf:
- properties:
deploymentType:
type: string
enum:
- all
- preview
- prod_deployment_urls_and_all_previews
- all_except_custom_domains
required:
- deploymentType
type: object
- type: string
enum:
- all
- preview
- prod_deployment_urls_and_all_previews
- all_except_custom_domains
required:
- oldPasswordProtection
- passwordProtection
type: object
description: The payload of the event, if requested.
- properties:
projectId:
type: string
projectName:
type: string
trustedIps:
nullable: true
type: string
enum:
- all
- preview
- prod_deployment_urls_and_all_previews
- all_except_custom_domains
- production
oldTrustedIps:
nullable: true
type: string
enum:
- all
- preview
- prod_deployment_urls_and_all_previews
- all_except_custom_domains
- production
addedAddresses:
nullable: true
items:
type: string
type: array
removedAddresses:
nullable: true
items:
type: string
type: array
required:
- projectId
- projectName
type: object
description: The payload of the event, if requested.
- properties:
projectId:
type: string
projectName:
type: string
optionsAllowlist:
nullable: true
properties:
paths:
items:
properties:
value:
type: string
required:
- value
type: object
type: array
required:
- paths
type: object
oldOptionsAllowlist:
nullable: true
properties:
paths:
items:
properties:
value:
type: string
required:
- value
type: object
type: array
required:
- paths
type: object
required:
- projectId
- projectName
type: object
description: The payload of the event, if requested.
- properties:
projectId:
type: string
projectName:
type: string
action:
type: string
enum:
- enabled
- disabled
- regenerated
- updated
isEnvVar:
type: boolean
enum:
- false
- true
note:
type: string
required:
- action
- projectId
- projectName
type: object
description: The payload of the event, if requested.
- properties:
name:
type: string
ownerId:
type: string
required:
- name
- ownerId
type: object
description: The payload of the event, if requested.
- properties:
team:
properties:
id:
type: string
name:
type: string
required:
- id
- name
type: object
project:
properties:
id:
type: string
name:
type: string
oldConnectConfigurations:
nullable: true
items:
properties:
envId:
oneOf:
- type: string
- type: string
enum:
- preview
- production
connectConfigurationId:
type: string
dc:
type: string
passive:
type: boolean
enum:
- false
- true
buildsEnabled:
type: boolean
enum:
- false
- true
aws:
properties:
subnetIds:
items:
type: string
type: array
securityGroupId:
type: string
required:
- securityGroupId
- subnetIds
type: object
createdAt:
type: number
updatedAt:
type: number
required:
- buildsEnabled
- connectConfigurationId
- createdAt
- envId
- passive
- updatedAt
type: object
type: array
newConnectConfigurations:
nullable: true
items:
properties:
envId:
oneOf:
- type: string
- type: string
enum:
- preview
- production
connectConfigurationId:
type: string
dc:
type: string
passive:
type: boolean
enum:
- false
- true
buildsEnabled:
type: boolean
enum:
- false
- true
aws:
properties:
subnetIds:
items:
type: string
type: array
securityGroupId:
type: string
required:
- securityGroupId
- subnetIds
type: object
createdAt:
type: number
updatedAt:
type: number
required:
- buildsEnabled
- connectConfigurationId
- createdAt
- envId
- passive
- updatedAt
type: object
type: array
required:
- id
- newConnectConfigurations
- oldConnectConfigurations
type: object
required:
- project
- team
type: object
description: The payload of the event, if requested.
- properties:
projectId:
type: string
reasonCode:
type: string
enum:
- BUDGET_REACHED
- PUBLIC_API
- BACKOFFICE
required:
- projectId
type: object
description: The payload of the event, if requested.
- properties:
projectId:
type: string
projectName:
type: string
enabled:
nullable: true
type: boolean
enum:
- false
- true
environment:
type: string
enum:
- preview
- production
required:
- enabled
- environment
- projectId
- projectName
type: object
description: The payload of the event, if requested.
- properties:
environment:
type: string
enum:
- preview
- production
enabled:
type: string
enum:
- default
- 'on'
- 'off'
- on-force
- off-force
- default-force
required:
- enabled
- environment
type: object
description: The payload of the event, if requested.
- properties:
projectId:
type: string
projectName:
type: string
previewDeploymentSuffix:
nullable: true
type: string
required:
- previewDeploymentSuffix
- projectId
- projectName
type: object
description: The payload of the event, if requested.
- properties:
projectId:
type: string
reasonCode:
type: string
enum:
- PUBLIC_API
- BACKOFFICE
required:
- projectId
type: object
description: The payload of the event, if requested.
- properties:
source:
type: string
projectId:
type: string
projectName:
type: string
required:
- projectId
- projectName
- source
type: object
description: The payload of the event, if requested.
- properties:
projectId:
type: string
projectName:
type: string
previous:
properties:
issuerMode:
type: string
enum:
- team
- global
type: object
next:
properties:
issuerMode:
type: string
enum:
- team
- global
required:
- issuerMode
type: object
required:
- next
- previous
- projectId
- projectName
type: object
description: The payload of the event, if requested.
- properties:
projectId:
type: string
projectName:
type: string
next:
properties:
project:
properties:
id:
type: string
staticIps:
properties:
builds:
type: boolean
enum:
- false
- true
enabled:
type: boolean
enum:
- false
- true
regions:
items:
type: string
type: array
required:
- enabled
type: object
required:
- staticIps
type: object
required:
- project
type: object
previous:
properties:
project:
properties:
id:
type: string
staticIps:
properties:
builds:
type: boolean
enum:
- false
- true
enabled:
type: boolean
enum:
- false
- true
regions:
items:
type: string
type: array
required:
- enabled
type: object
required:
- staticIps
type: object
required:
- project
type: object
required:
- next
- previous
- projectId
- projectName
type: object
description: The payload of the event, if requested.
- properties:
projectId:
type: string
projectName:
type: string
enableAffectedProjectsDeployments:
type: boolean
enum:
- false
- true
required:
- enableAffectedProjectsDeployments
- projectId
- projectName
type: object
description: The payload of the event, if requested.
- properties:
projectId:
type: string
projectName:
type: string
autoAssignCustomDomains:
type: boolean
enum:
- false
- true
required:
- autoAssignCustomDomains
- projectId
- projectName
type: object
description: The payload of the event, if requested.
- properties:
projectId:
type: string
projectName:
type: string
previous:
type: object
next:
type: object
required:
- next
- previous
- projectId
- projectName
type: object
description: The payload of the event, if requested.
- properties:
projectId:
type: string
projectName:
type: string
previewDeploymentsEnabled:
type: boolean
enum:
- false
- true
required:
- previewDeploymentsEnabled
- projectId
- projectName
type: object
description: The payload of the event, if requested.
- properties:
projectId:
type: string
projectName:
type: string
customEnvironmentId:
type: string
customEnvironmentSlug:
type: string
previous:
properties:
branchMatcher:
properties:
type:
type: string
enum:
- endsWith
- startsWith
- equals
description: The type of matching to perform
pattern:
type: string
description: The pattern to match against branch names
required:
- pattern
- type
type: object
type: object
next:
properties:
branchMatcher:
properties:
type:
type: string
enum:
- endsWith
- startsWith
- equals
description: The type of matching to perform
pattern:
type: string
description: The pattern to match against branch names
required:
- pattern
- type
type: object
type: object
required:
- customEnvironmentId
- customEnvironmentSlug
- next
- previous
- projectId
- projectName
type: object
description: The payload of the event, if requested.
- properties:
projectId:
type: string
projectName:
type: string
customEnvironmentId:
type: string
customEnvironmentSlug:
type: string
required:
- customEnvironmentId
- customEnvironmentSlug
- projectId
- projectName
type: object
description: The payload of the event, if requested.
- properties:
projectId:
type: string
projectName:
type: string
newProjectName:
type: string
required:
- newProjectName
- projectId
- projectName
type: object
description: The payload of the event, if requested.
- properties:
projectId:
type: string
projectName:
type: string
productionDeploymentsFastLane:
type: boolean
enum:
- false
- true
required:
- productionDeploymentsFastLane
- projectId
- projectName
type: object
description: The payload of the event, if requested.
- properties:
projectId:
type: string
projectName:
type: string
sourceFilesOutsideRootDirectory:
type: boolean
enum:
- false
- true
required:
- projectId
- projectName
- sourceFilesOutsideRootDirectory
type: object
description: The payload of the event, if requested.
- properties:
projectId:
type: string
projectName:
type: string
buildMachineType:
type: string
oldBuildMachineType:
type: string
required:
- projectId
- projectName
type: object
description: The payload of the event, if requested.
- properties:
projectId:
type: string
projectName:
type: string
elasticConcurrencyEnabled:
type: boolean
enum:
- false
- true
oldElasticConcurrencyEnabled:
type: boolean
enum:
- false
- true
buildQueueConfiguration:
type: string
enum:
- SKIP_NAMESPACE_QUEUE
- WAIT_FOR_NAMESPACE_QUEUE
oldBuildQueueConfiguration:
type: string
enum:
- SKIP_NAMESPACE_QUEUE
- WAIT_FOR_NAMESPACE_QUEUE
required:
- elasticConcurrencyEnabled
- oldElasticConcurrencyEnabled
- projectId
- projectName
type: object
description: The payload of the event, if requested.
- properties:
projectId:
type: string
projectName:
type: string
previous:
properties:
functionDefaultTimeout:
nullable: true
type: number
required:
- functionDefaultTimeout
type: object
next:
properties:
functionDefaultTimeout:
type: number
required:
- functionDefaultTimeout
type: object
required:
- next
- previous
- projectId
- projectName
type: object
description: The payload of the event, if requested.
- properties:
projectId:
type: string
projectName:
type: string
previous:
properties:
functionDefaultMemoryType:
nullable: true
type: string
required:
- functionDefaultMemoryType
type: object
next:
properties:
functionDefaultMemoryType:
type: string
required:
- functionDefaultMemoryType
type: object
required:
- next
- previous
- projectId
- projectName
type: object
description: The payload of the event, if requested.
- properties:
projectId:
type: string
projectName:
type: string
previous:
properties:
functionDefaultRegions:
nullable: true
items:
type: string
type: array
required:
- functionDefaultRegions
type: object
next:
properties:
functionDefaultRegions:
items:
type: string
type: array
required:
- functionDefaultRegions
type: object
required:
- next
- previous
- projectId
- projectName
type: object
description: The payload of the event, if requested.
- properties:
projectId:
type: string
projectName:
type: string
previous:
properties:
functionZeroConfigFailover:
nullable: true
type: boolean
enum:
- false
- true
required:
- functionZeroConfigFailover
type: object
next:
properties:
functionZeroConfigFailover:
type: boolean
enum:
- false
- true
required:
- functionZeroConfigFailover
type: object
required:
- next
- previous
- projectId
- projectName
type: object
description: The payload of the event, if requested.
- properties:
projectId:
type: string
projectName:
type: string
previous:
properties:
commandForIgnoringBuildStep:
type: string
type: object
next:
properties:
commandForIgnoringBuildStep:
type: string
type: object
required:
- next
- previous
- projectId
- projectName
type: object
description: The payload of the event, if requested.
- properties:
projectId:
type: string
projectName:
type: string
next:
properties:
skewProtectionBoundaryAt:
type: number
required:
- skewProtectionBoundaryAt
type: object
previous:
properties:
skewProtectionBoundaryAt:
type: number
type: object
required:
- next
- previous
- projectId
- projectName
type: object
description: The payload of the event, if requested.
- properties:
projectId:
type: string
projectName:
type: string
next:
properties:
skewProtectionMaxAge:
type: number
required:
- skewProtectionMaxAge
type: object
previous:
properties:
skewProtectionMaxAge:
type: number
type: object
required:
- next
- previous
- projectId
- projectName
type: object
description: The payload of the event, if requested.
- properties:
projectId:
type: string
projectName:
type: string
next:
properties:
skewProtectionAllowedDomains:
items:
type: string
type: array
required:
- skewProtectionAllowedDomains
type: object
previous:
properties:
skewProtectionAllowedDomains:
items:
type: string
type: array
type: object
required:
- next
- previous
- projectId
- projectName
type: object
description: The payload of the event, if requested.
- properties:
projectId:
type: string
projectName:
type: string
customerSupportCodeVisibility:
type: boolean
enum:
- false
- true
required:
- customerSupportCodeVisibility
- projectId
- projectName
type: object
description: The payload of the event, if requested.
- properties:
projectId:
type: string
projectName:
type: string
directoryListing:
type: boolean
enum:
- false
- true
required:
- directoryListing
- projectId
- projectName
type: object
description: The payload of the event, if requested.
- properties:
projectId:
type: string
projectName:
type: string
gitForkProtection:
type: boolean
enum:
- false
- true
required:
- gitForkProtection
- projectId
- projectName
type: object
description: The payload of the event, if requested.
- properties:
projectId:
type: string
projectName:
type: string
protectedSourcemaps:
type: boolean
enum:
- false
- true
required:
- projectId
- projectName
- protectedSourcemaps
type: object
description: The payload of the event, if requested.
- properties:
projectId:
type: string
projectName:
type: string
publicSource:
type: boolean
enum:
- false
- true
required:
- projectId
- projectName
- publicSource
type: object
description: The payload of the event, if requested.
- properties:
projectId:
type: string
projectName:
type: string
previous:
properties:
expiration:
type: string
expirationProduction:
type: string
expirationCanceled:
type: string
expirationErrored:
type: string
type: object
next:
properties:
expiration:
type: string
expirationProduction:
type: string
expirationCanceled:
type: string
expirationErrored:
type: string
type: object
required:
- next
- previous
type: object
description: The payload of the event, if requested.
- properties:
projectId:
type: string
projectName:
type: string
targetDeploymentId:
type: string
required:
- projectId
- projectName
type: object
description: The payload of the event, if requested.
- properties:
projectId:
type: string
projectName:
type: string
targetDeploymentId:
type: string
newTargetPercentage:
type: number
required:
- projectId
- projectName
type: object
description: The payload of the event, if requested.
- properties:
gitProvider:
type: string
gitProviderGroupDescriptor:
type: string
gitScope:
type: string
required:
- gitProvider
- gitProviderGroupDescriptor
- gitScope
type: object
description: The payload of the event, if requested.
- properties:
instances:
type: number
url:
type: string
required:
- instances
- url
type: object
description: The payload of the event, if requested.
- properties:
email:
type: string
verified:
type: boolean
enum:
- false
- true
required:
- email
- verified
type: object
description: The payload of the event, if requested.
- properties:
email:
type: string
required:
- email
type: object
description: The payload of the event, if requested.
- properties:
team:
properties:
id:
type: string
name:
type: string
required:
- id
type: object
previousRule:
properties:
email:
type: string
required:
- email
type: object
nextRule:
properties:
email:
type: string
required:
- email
type: object
required:
- team
type: object
description: The payload of the event, if requested.
- properties:
team:
properties:
id:
type: string
name:
type: string
required:
- id
type: object
previousRule:
properties:
email:
type: string
required:
- email
type: object
required:
- previousRule
- team
type: object
description: The payload of the event, if requested.
- properties:
uid:
type: string
name:
oneOf:
- type: string
- properties:
name:
type: string
required:
- name
type: object
required:
- name
- uid
type: object
description: The payload of the event, if requested.
- properties:
oldName:
type: string
newName:
type: string
uid:
type: string
required:
- newName
- oldName
type: object
description: The payload of the event, if requested.
- properties:
bio:
type: string
required:
- bio
type: object
description: The payload of the event, if requested.
- properties:
scalingRules:
additionalProperties:
properties:
min:
type: number
max:
type: number
required:
- max
- min
type: object
type: object
min:
type: number
max:
type: number
url:
type: string
required:
- max
- min
- scalingRules
- url
type: object
description: The payload of the event, if requested.
- properties:
budget:
properties:
budgetItem:
properties:
type:
type: string
enum:
- fixed
description: The budget type
fixedBudget:
type: number
description: Budget amount (USD / dollars)
previousSpend:
items:
type: number
type: array
description: Array of the last 3 months of spend data
notifiedAt:
items:
type: number
type: array
description: >-
Array of 50, 75, 100 to keep track of notifications
sent out
webhookId:
type: string
description: >-
Webhook id that corresponds to a webhook in Cosmos
webhook collection
webhookNotified:
type: boolean
enum:
- false
- true
description: >-
Keep track if the webhook has been called for the
month
createdAt:
type: number
description: Date time when budget is created
updatedAt:
type: number
description: Date time when budget is updated last
isActive:
type: boolean
enum:
- false
- true
description: Is the budget currently active for a customer
pauseProjects:
type: boolean
enum:
- false
- true
description: Should all projects be paused if budget is exceeded
pricingPlan:
type: string
enum:
- plus
- legacy
- unbundled
description: The acive pricing plan the team is billed with
teamId:
type: string
description: Partition key
id:
type: string
description: Sort key that needs to be unique per teamId
required:
- createdAt
- fixedBudget
- id
- isActive
- notifiedAt
- previousSpend
- teamId
- type
type: object
description: >-
Represents a budget for tracking and notifying teams on
their spending.
required:
- budgetItem
type: object
required:
- budget
type: object
description: The payload of the event, if requested.
- properties:
budget:
properties:
type:
type: string
enum:
- fixed
description: The budget type
fixedBudget:
type: number
description: Budget amount (USD / dollars)
previousSpend:
items:
type: number
type: array
description: Array of the last 3 months of spend data
notifiedAt:
items:
type: number
type: array
description: >-
Array of 50, 75, 100 to keep track of notifications sent
out
webhookId:
type: string
description: >-
Webhook id that corresponds to a webhook in Cosmos
webhook collection
webhookNotified:
type: boolean
enum:
- false
- true
description: Keep track if the webhook has been called for the month
createdAt:
type: number
description: Date time when budget is created
updatedAt:
type: number
description: Date time when budget is updated last
isActive:
type: boolean
enum:
- false
- true
description: Is the budget currently active for a customer
pauseProjects:
type: boolean
enum:
- false
- true
description: Should all projects be paused if budget is exceeded
pricingPlan:
type: string
enum:
- plus
- legacy
- unbundled
description: The acive pricing plan the team is billed with
teamId:
type: string
description: Partition key
id:
type: string
description: Sort key that needs to be unique per teamId
required:
- createdAt
- fixedBudget
- id
- isActive
- notifiedAt
- previousSpend
- teamId
- type
type: object
description: >-
Represents a budget for tracking and notifying teams on
their spending.
required:
- budget
type: object
description: The payload of the event, if requested.
- properties:
budget:
properties:
type:
type: string
enum:
- fixed
description: The budget type
fixedBudget:
type: number
description: Budget amount (USD / dollars)
previousSpend:
items:
type: number
type: array
description: Array of the last 3 months of spend data
notifiedAt:
items:
type: number
type: array
description: >-
Array of 50, 75, 100 to keep track of notifications sent
out
webhookId:
type: string
description: >-
Webhook id that corresponds to a webhook in Cosmos
webhook collection
webhookNotified:
type: boolean
enum:
- false
- true
description: Keep track if the webhook has been called for the month
createdAt:
type: number
description: Date time when budget is created
updatedAt:
type: number
description: Date time when budget is updated last
isActive:
type: boolean
enum:
- false
- true
description: Is the budget currently active for a customer
pauseProjects:
type: boolean
enum:
- false
- true
description: Should all projects be paused if budget is exceeded
pricingPlan:
type: string
enum:
- plus
- legacy
- unbundled
description: The acive pricing plan the team is billed with
teamId:
type: string
description: Partition key
id:
type: string
description: Sort key that needs to be unique per teamId
required:
- createdAt
- fixedBudget
- id
- isActive
- notifiedAt
- previousSpend
- teamId
- type
type: object
description: >-
Represents a budget for tracking and notifying teams on
their spending.
webhookUrl:
type: string
required:
- budget
type: object
description: The payload of the event, if requested.
- properties:
webhookUrl:
type: string
type: object
description: The payload of the event, if requested.
- properties:
id:
type: string
name:
type: string
computeUnitsMax:
type: number
computeUnitsMin:
type: number
suspendTimeoutSeconds:
type: number
type:
type: string
enum:
- redis
- postgres
- edge-config
- blob
- integration
access:
type: string
enum:
- public
- private
required:
- id
- type
type: object
description: The payload of the event, if requested.
- properties:
storeType:
type: string
enum:
- redis
- postgres
required:
- storeType
type: object
description: The payload of the event, if requested.
- properties:
store:
properties:
id:
type: string
name:
type: string
required:
- id
- name
type: object
ownerId:
type: string
required:
- store
type: object
description: The payload of the event, if requested.
- properties:
slug:
type: string
required:
- slug
type: object
description: The payload of the event, if requested.
- properties:
slug:
type: string
teamId:
type: string
by:
type: string
byUid:
type: string
reasons:
items:
properties:
slug:
type: string
description:
type: string
required:
- description
- slug
type: object
type: array
removedUsers:
additionalProperties:
properties:
role:
type: string
enum:
- OWNER
- MEMBER
- DEVELOPER
- SECURITY
- BILLING
- VIEWER
- VIEWER_FOR_PLUS
- CONTRIBUTOR
confirmed:
type: boolean
enum:
- false
- true
confirmedAt:
type: number
required:
- confirmed
- role
type: object
type: object
removedMemberCount:
type: number
timestamp:
type: number
required:
- by
- slug
- teamId
type: object
description: The payload of the event, if requested.
- properties:
deletedCount:
type: number
inviteIds:
items:
type: string
type: array
required:
- deletedCount
- inviteIds
type: object
description: The payload of the event, if requested.
- properties:
directoryType:
type: string
ssoType:
type: string
invitedUser:
properties:
username:
type: string
email:
type: string
required:
- email
- username
type: object
invitedEmail:
type: string
invitationRole:
type: string
entitlements:
items:
type: string
type: array
invitedUid:
type: string
type: object
description: The payload of the event, if requested.
- properties:
deletedUser:
properties:
username:
type: string
email:
type: string
required:
- email
- username
type: object
deletedUid:
type: string
githubUsername:
nullable: true
type: string
gitlabUsername:
nullable: true
type: string
bitbucketUsername:
nullable: true
type: string
directoryType:
type: string
role:
type: string
enum:
- OWNER
- MEMBER
- DEVELOPER
- SECURITY
- BILLING
- VIEWER
- VIEWER_FOR_PLUS
- CONTRIBUTOR
reason:
type: string
previousPlan:
type: string
enum:
- pro
- enterprise
- hobby
newPlan:
type: string
enum:
- pro
- enterprise
- hobby
automated:
type: boolean
enum:
- false
- true
type: object
description: The payload of the event, if requested.
- properties:
role:
type: string
uid:
type: string
origin:
type: string
teamRoles:
items:
type: string
type: array
teamPermissions:
items:
type: string
type: array
entitlements:
items:
type: string
type: array
required:
- uid
type: object
description: The payload of the event, if requested.
- properties:
directoryType:
type: string
updatedUser:
properties:
username:
type: string
email:
type: string
required:
- email
- username
type: object
role:
type: string
previousRole:
type: string
updatedUid:
type: string
required:
- previousRole
type: object
description: The payload of the event, if requested.
- properties:
entitlement:
type: string
user:
properties:
id:
type: string
username:
type: string
required:
- id
- username
type: object
required:
- entitlement
- user
type: object
description: The payload of the event, if requested.
- properties:
entitlement:
type: string
user:
properties:
id:
type: string
username:
type: string
required:
- id
- username
type: object
previousCanceledAt:
type: string
required:
- entitlement
- user
type: object
description: The payload of the event, if requested.
- properties:
enforced:
type: boolean
enum:
- false
- true
required:
- enforced
type: object
description: The payload of the event, if requested.
- properties:
name:
type: string
type: object
description: The payload of the event, if requested.
- properties:
slug:
type: string
type: object
description: The payload of the event, if requested.
- properties:
remoteCaching:
properties:
enabled:
type: boolean
enum:
- false
- true
type: object
description: Represents configuration for remote caching
type: object
description: The payload of the event, if requested.
- properties:
previous:
properties:
enabled:
type: boolean
enum:
- false
- true
totpVerified:
type: boolean
enum:
- false
- true
required:
- enabled
- totpVerified
type: object
next:
properties:
enabled:
type: boolean
enum:
- false
- true
totpVerified:
type: boolean
enum:
- false
- true
required:
- enabled
- totpVerified
type: object
required:
- next
- previous
type: object
description: The payload of the event, if requested.
- properties:
enabled:
type: boolean
enum:
- false
- true
totpVerified:
type: boolean
enum:
- false
- true
required:
- enabled
- totpVerified
type: object
description: The payload of the event, if requested.
- properties:
mfaEnabled:
type: boolean
enum:
- false
- true
required:
- mfaEnabled
type: object
description: The payload of the event, if requested.
- properties:
email:
type: string
prevEmail:
type: string
required:
- email
- prevEmail
type: object
description: The payload of the event, if requested.
- properties:
username:
type: string
required:
- username
type: object
description: The payload of the event, if requested.
- properties:
price:
type: number
currency:
type: string
enabled:
type: boolean
enum:
- false
- true
type: object
description: The payload of the event, if requested.
- properties:
previewDeploymentSuffix:
nullable: true
type: string
previousPreviewDeploymentSuffix:
nullable: true
type: string
type: object
description: The payload of the event, if requested.
- properties:
price:
type: number
currency:
type: string
type: object
description: The payload of the event, if requested.
- properties:
teamName:
type: string
username:
type: string
gitUsername:
type: string
githubUsername:
nullable: true
type: string
gitlabUsername:
nullable: true
type: string
bitbucketUsername:
nullable: true
type: string
updatedUid:
type: string
teamId:
type: string
required:
- teamName
type: object
description: The payload of the event, if requested.
- properties:
teamName:
type: string
username:
type: string
gitUsername:
nullable: true
type: string
githubUsername:
nullable: true
type: string
gitlabUsername:
nullable: true
type: string
bitbucketUsername:
nullable: true
type: string
required:
- teamName
type: object
description: The payload of the event, if requested.
- properties:
requestedTeamName:
type: string
requestedUserName:
type: string
gitUsername:
type: string
githubUsername:
type: string
gitlabUsername:
type: string
bitbucketUsername:
type: string
required:
- requestedTeamName
type: object
description: The payload of the event, if requested.
- properties:
projectId:
type: string
projectName:
type: string
originAccountName:
type: string
destinationAccountName:
type: string
destinationAccountId:
type: string
transferId:
type: string
required:
- destinationAccountId
- destinationAccountName
- originAccountName
- projectId
- projectName
type: object
description: The payload of the event, if requested.
- properties:
projectName:
type: string
destinationAccountName:
nullable: true
type: string
transferId:
type: string
required:
- destinationAccountName
- projectName
type: object
description: The payload of the event, if requested.
- properties:
previousProjectName:
type: string
newProjectName:
type: string
destinationAccountName:
type: string
transferId:
type: string
required:
- destinationAccountName
- newProjectName
- previousProjectName
type: object
description: The payload of the event, if requested.
- properties:
previousProjectName:
type: string
newProjectName:
type: string
originAccountName:
type: string
transferId:
type: string
required:
- newProjectName
- originAccountName
- previousProjectName
type: object
description: The payload of the event, if requested.
- properties:
project:
properties:
name:
type: string
id:
type: string
required:
- name
type: object
projectMembership:
nullable: true
properties:
role:
type: string
enum:
- ADMIN
- PROJECT_DEVELOPER
- PROJECT_VIEWER
- PROJECT_GUEST
uid:
type: string
createdAt:
type: number
username:
type: string
required:
- createdAt
- role
- uid
type: object
required:
- project
- projectMembership
type: object
description: The payload of the event, if requested.
- properties:
project:
properties:
name:
type: string
id:
type: string
required:
- name
type: object
removedMembership:
properties:
role:
type: string
enum:
- ADMIN
- PROJECT_DEVELOPER
- PROJECT_VIEWER
- PROJECT_GUEST
uid:
type: string
createdAt:
type: number
username:
type: string
required:
- createdAt
- role
- uid
type: object
required:
- project
- removedMembership
type: object
description: The payload of the event, if requested.
- properties:
project:
properties:
id:
type: string
name:
type: string
required:
- id
- name
type: object
projectMembership:
properties:
role:
type: string
enum:
- ADMIN
- PROJECT_DEVELOPER
- PROJECT_VIEWER
- PROJECT_GUEST
uid:
type: string
createdAt:
type: number
username:
type: string
previousRole:
type: string
enum:
- ADMIN
- PROJECT_DEVELOPER
- PROJECT_VIEWER
- PROJECT_GUEST
type: object
required:
- project
- projectMembership
type: object
description: The payload of the event, if requested.
- properties:
project:
properties:
name:
type: string
role:
type: string
enum:
- ADMIN
- PROJECT_DEVELOPER
- PROJECT_VIEWER
- PROJECT_GUEST
invitedUserName:
type: string
id:
type: string
invitedUserId:
type: string
required:
- invitedUserName
- name
- role
type: object
required:
- project
type: object
description: The payload of the event, if requested.
- properties:
projectName:
type: string
tags:
items:
type: string
type: array
target:
type: string
required:
- projectName
- tags
type: object
description: The payload of the event, if requested.
- properties:
projectName:
type: string
srcImages:
items:
type: string
type: array
required:
- projectName
- srcImages
type: object
description: The payload of the event, if requested.
- properties:
edgeConfigId:
type: string
edgeConfigSlug:
type: string
edgeConfigDigest:
type: string
required:
- edgeConfigDigest
- edgeConfigId
- edgeConfigSlug
type: object
description: The payload of the event, if requested.
- properties:
edgeConfigId:
type: string
edgeConfigSlug:
type: string
edgeConfigTokenId:
type: string
label:
type: string
required:
- edgeConfigId
- edgeConfigSlug
- edgeConfigTokenId
- label
type: object
description: The payload of the event, if requested.
- properties:
edgeConfigId:
type: string
edgeConfigSlug:
type: string
edgeConfigTokenIds:
items:
type: string
type: array
description: ids of deleted tokens
required:
- edgeConfigId
- edgeConfigSlug
- edgeConfigTokenIds
type: object
description: The payload of the event, if requested.
- properties:
action:
type: string
enum:
- enable
- disable
required:
- action
type: object
description: The payload of the event, if requested.
- properties:
id:
type: string
slug:
type: string
name:
type: string
required:
- id
- name
- slug
type: object
description: The payload of the event, if requested.
- properties:
id:
type: string
slug:
type: string
name:
type: string
fallbackEnvironment:
type: string
prev:
properties:
name:
type: string
slug:
type: string
fallbackEnvironment:
type: string
required:
- fallbackEnvironment
- name
- slug
type: object
required:
- id
- prev
type: object
description: The payload of the event, if requested.
- properties:
project:
properties:
id:
type: string
name:
type: string
required:
- id
- name
type: object
group:
properties:
id:
type: string
slug:
type: string
name:
type: string
required:
- id
- name
- slug
type: object
required:
- group
- project
type: object
description: The payload of the event, if requested.
- properties:
project:
properties:
id:
type: string
name:
type: string
microfrontends:
oneOf:
- properties:
isDefaultApp:
type: boolean
enum:
- true
updatedAt:
type: number
description: >-
Timestamp when the microfrontends settings were
last updated.
groupIds:
type: array
items:
type: string
minItems: 1
description: >-
The group IDs of microfrontends that this
project belongs to. Each microfrontend project
must belong to a microfrontends group that is
the set of microfrontends that are used
together.
enabled:
type: boolean
enum:
- true
description: >-
Whether microfrontends are enabled for this
project.
defaultRoute:
type: string
description: >-
A path that is used to take screenshots and as
the default path in preview links when a domain
for this microfrontend is shown in the UI.
Includes the leading slash, e.g. `/docs`
freeProjectForLegacyLimits:
type: boolean
enum:
- false
- true
description: >-
Whether the project was part of the legacy
limits for hobby and pro-trial before billing
was added. This field is only set when the team
is upgraded to a paid plan and we are
backfilling the subscription status. We cap the
subscription to 2 projects and set this field
for the 3rd project. When this field is set, the
project is not charged for and we do not call
any billing APIs for this project.
required:
- enabled
- groupIds
- isDefaultApp
- updatedAt
type: object
- properties:
isDefaultApp:
type: boolean
enum:
- false
routeObservabilityToThisProject:
type: boolean
enum:
- false
- true
description: >-
Whether observability data should be routed to
this microfrontend project or a root project.
doNotRouteWithMicrofrontendsRouting:
type: boolean
enum:
- false
- true
description: >-
Whether to add microfrontends routing to
aliases. This means domains in this project will
route as a microfrontend.
updatedAt:
type: number
description: >-
Timestamp when the microfrontends settings were
last updated.
groupIds:
type: array
items:
type: string
minItems: 1
description: >-
The group IDs of microfrontends that this
project belongs to. Each microfrontend project
must belong to a microfrontends group that is
the set of microfrontends that are used
together.
enabled:
type: boolean
enum:
- true
description: >-
Whether microfrontends are enabled for this
project.
defaultRoute:
type: string
description: >-
A path that is used to take screenshots and as
the default path in preview links when a domain
for this microfrontend is shown in the UI.
Includes the leading slash, e.g. `/docs`
freeProjectForLegacyLimits:
type: boolean
enum:
- false
- true
description: >-
Whether the project was part of the legacy
limits for hobby and pro-trial before billing
was added. This field is only set when the team
is upgraded to a paid plan and we are
backfilling the subscription status. We cap the
subscription to 2 projects and set this field
for the 3rd project. When this field is set, the
project is not charged for and we do not call
any billing APIs for this project.
required:
- enabled
- groupIds
- updatedAt
type: object
- properties:
updatedAt:
type: number
groupIds:
type: array
items: {}
minItems: 0
maxItems: 0
enabled:
type: boolean
enum:
- false
freeProjectForLegacyLimits:
type: boolean
enum:
- false
- true
required:
- enabled
- groupIds
- updatedAt
type: object
required:
- id
- name
type: object
prev:
properties:
project:
properties:
microfrontends:
oneOf:
- properties:
isDefaultApp:
type: boolean
enum:
- true
updatedAt:
type: number
description: >-
Timestamp when the microfrontends settings
were last updated.
groupIds:
type: array
items:
type: string
minItems: 1
description: >-
The group IDs of microfrontends that this
project belongs to. Each microfrontend
project must belong to a microfrontends
group that is the set of microfrontends that
are used together.
enabled:
type: boolean
enum:
- true
description: >-
Whether microfrontends are enabled for this
project.
defaultRoute:
type: string
description: >-
A path that is used to take screenshots and
as the default path in preview links when a
domain for this microfrontend is shown in
the UI. Includes the leading slash, e.g.
`/docs`
freeProjectForLegacyLimits:
type: boolean
enum:
- false
- true
description: >-
Whether the project was part of the legacy
limits for hobby and pro-trial before
billing was added. This field is only set
when the team is upgraded to a paid plan and
we are backfilling the subscription status.
We cap the subscription to 2 projects and
set this field for the 3rd project. When
this field is set, the project is not
charged for and we do not call any billing
APIs for this project.
required:
- enabled
- groupIds
- isDefaultApp
- updatedAt
type: object
- properties:
isDefaultApp:
type: boolean
enum:
- false
routeObservabilityToThisProject:
type: boolean
enum:
- false
- true
description: >-
Whether observability data should be routed
to this microfrontend project or a root
project.
doNotRouteWithMicrofrontendsRouting:
type: boolean
enum:
- false
- true
description: >-
Whether to add microfrontends routing to
aliases. This means domains in this project
will route as a microfrontend.
updatedAt:
type: number
description: >-
Timestamp when the microfrontends settings
were last updated.
groupIds:
type: array
items:
type: string
minItems: 1
description: >-
The group IDs of microfrontends that this
project belongs to. Each microfrontend
project must belong to a microfrontends
group that is the set of microfrontends that
are used together.
enabled:
type: boolean
enum:
- true
description: >-
Whether microfrontends are enabled for this
project.
defaultRoute:
type: string
description: >-
A path that is used to take screenshots and
as the default path in preview links when a
domain for this microfrontend is shown in
the UI. Includes the leading slash, e.g.
`/docs`
freeProjectForLegacyLimits:
type: boolean
enum:
- false
- true
description: >-
Whether the project was part of the legacy
limits for hobby and pro-trial before
billing was added. This field is only set
when the team is upgraded to a paid plan and
we are backfilling the subscription status.
We cap the subscription to 2 projects and
set this field for the 3rd project. When
this field is set, the project is not
charged for and we do not call any billing
APIs for this project.
required:
- enabled
- groupIds
- updatedAt
type: object
- properties:
updatedAt:
type: number
groupIds:
type: array
items: {}
minItems: 0
maxItems: 0
enabled:
type: boolean
enum:
- false
freeProjectForLegacyLimits:
type: boolean
enum:
- false
- true
required:
- enabled
- groupIds
- updatedAt
type: object
type: object
required:
- project
type: object
group:
properties:
id:
type: string
slug:
type: string
name:
type: string
required:
- id
- name
- slug
type: object
required:
- group
- prev
- project
type: object
description: The payload of the event, if requested.
- properties:
projectId:
type: string
projectName:
type: string
projectWebAnalytics:
properties:
id:
type: string
disabledAt:
type: number
canceledAt:
type: number
enabledAt:
type: number
hasData:
type: boolean
enum:
- true
required:
- id
type: object
prevProjectWebAnalytics:
nullable: true
properties:
id:
type: string
disabledAt:
type: number
canceledAt:
type: number
enabledAt:
type: number
hasData:
type: boolean
enum:
- true
required:
- id
type: object
required:
- projectId
- projectName
type: object
description: The payload of the event, if requested.
- properties:
tier:
type: string
enum:
- pro
- plus
required:
- tier
type: object
description: The payload of the event, if requested.
- properties:
oldName:
type: string
newName:
type: string
required:
- newName
- oldName
type: object
description: The payload of the event, if requested.
- properties:
appName:
type: string
appId:
type: string
scopes:
items:
type: string
enum:
- openid
- email
- profile
- offline_access
type: array
permissions:
items:
type: string
enum:
- '*'
- read:user
- read:domain
- read-write:domain
- read:team
- read:billing
- read-write:ai-gateway-api-key
- read:project
- read-write:project
- read:deployment
- read-write:deployment
type: array
required:
- appName
- scopes
type: object
description: The payload of the event, if requested.
- properties:
appName:
type: string
appId:
type: string
nextScopes:
items:
type: string
enum:
- openid
- email
- profile
- offline_access
type: array
nextPermissions:
items:
type: string
enum:
- '*'
- read:user
- read:domain
- read-write:domain
- read:team
- read:billing
- read-write:ai-gateway-api-key
- read:project
- read-write:project
- read:deployment
- read-write:deployment
type: array
required:
- appName
- nextScopes
type: object
description: The payload of the event, if requested.
- properties:
appName:
type: string
appId:
type: string
required:
- appName
type: object
description: The payload of the event, if requested.
- properties:
appName:
type: string
appId:
type: string
secretLastFourChars:
type: string
required:
- appName
type: object
description: The payload of the event, if requested.
- properties:
appName:
type: string
appId:
type: string
resources:
properties:
projectIds:
properties:
type:
type: string
enum:
- list
required:
type: boolean
enum:
- true
items:
properties:
type:
type: string
enum:
- string
required:
- type
type: object
required:
- items
- required
- type
type: object
required:
- projectIds
type: object
permissions:
items:
type: string
enum:
- read:domain
- read-write:domain
- read:team
- read:billing
- read-write:ai-gateway-api-key
- read:project
- read-write:project
- read:deployment
- read-write:deployment
type: array
required:
- appName
type: object
description: The payload of the event, if requested.
- properties:
appName:
type: string
appId:
type: string
installationId:
type: string
before:
properties:
resources:
properties:
projectIds:
properties:
type:
type: string
enum:
- list
required:
type: boolean
enum:
- true
items:
properties:
type:
type: string
enum:
- string
required:
- type
type: object
required:
- items
- required
- type
type: object
required:
- projectIds
type: object
permissions:
items:
type: string
enum:
- read:domain
- read-write:domain
- read:team
- read:billing
- read-write:ai-gateway-api-key
- read:project
- read-write:project
- read:deployment
- read-write:deployment
type: array
type: object
after:
properties:
resources:
properties:
projectIds:
properties:
type:
type: string
enum:
- list
required:
type: boolean
enum:
- true
items:
properties:
type:
type: string
enum:
- string
required:
- type
type: object
required:
- items
- required
- type
type: object
required:
- projectIds
type: object
permissions:
items:
type: string
enum:
- read:domain
- read-write:domain
- read:team
- read:billing
- read-write:ai-gateway-api-key
- read:project
- read-write:project
- read:deployment
- read-write:deployment
type: array
type: object
required:
- appName
type: object
description: The payload of the event, if requested.
- properties:
appName:
type: string
description: >-
The App's name at the moment this even was published (it may
have changed since then).
appId:
type: string
description: >-
The App's ID. Note that not all historical events have this
field.
app:
properties:
id:
type: string
description: The App's ID.
name:
type: string
description: >-
The App's name at the moment this even was published (it
may have changed since then).
required:
- id
- name
type: object
description: Note that not all historical events have this field.
issuedBefore:
type: number
description: >-
UNIX timestamp in seconds. Tokens issued before this
timestamp will be revoked. Note that not all historical
events have this field.
required:
- appName
type: object
description: The payload of the event, if requested.
- properties:
team:
properties:
id:
type: string
name:
type: string
required:
- id
- name
type: object
configuration:
properties:
id:
type: string
name:
type: string
required:
- id
type: object
peering:
properties:
id:
type: string
accountId:
type: string
region:
type: string
vpcId:
type: string
required:
- accountId
- id
- region
- vpcId
type: object
required:
- configuration
- peering
- team
type: object
description: The payload of the event, if requested.
- properties:
team:
properties:
id:
type: string
name:
type: string
required:
- id
- name
type: object
configuration:
properties:
id:
type: string
name:
type: string
required:
- id
type: object
peering:
properties:
id:
type: string
name:
type: string
required:
- id
type: object
required:
- configuration
- peering
- team
type: object
description: The payload of the event, if requested.
- properties:
team:
properties:
id:
type: string
name:
type: string
required:
- id
- name
type: object
configuration:
properties:
id:
type: string
name:
type: string
required:
- id
type: object
peering:
properties:
id:
type: string
name:
type: string
required:
- id
type: object
newName:
type: string
required:
- configuration
- peering
- team
type: object
description: The payload of the event, if requested.
- properties:
id:
type: string
url:
type: string
required:
- id
- url
type: object
description: The payload of the event, if requested.
- properties:
enabled:
type: string
enum:
- default
- 'on'
- 'off'
required:
- enabled
type: object
description: The payload of the event, if requested.
- properties:
enabled:
type: boolean
enum:
- false
- true
scope:
type: string
enum:
- dashboard
- log-drains
required:
- enabled
- scope
type: object
description: The payload of the event, if requested.
- properties:
previous:
additionalProperties:
oneOf:
- properties:
accessGroupId:
type: string
required:
- accessGroupId
type: object
- type: string
enum:
- OWNER
- MEMBER
- DEVELOPER
- SECURITY
- BILLING
- VIEWER
- VIEWER_FOR_PLUS
- CONTRIBUTOR
type: object
next:
additionalProperties:
oneOf:
- properties:
accessGroupId:
type: string
required:
- accessGroupId
type: object
- type: string
enum:
- OWNER
- MEMBER
- DEVELOPER
- SECURITY
- BILLING
- VIEWER
- VIEWER_FOR_PLUS
- CONTRIBUTOR
type: object
type: object
description: The payload of the event, if requested.
- properties:
domain:
type: string
ips:
items:
type: string
type: array
required:
- domain
- ips
type: object
description: The payload of the event, if requested.
- properties:
exportId:
type: string
from:
type: number
to:
type: number
format:
type: string
required:
- exportId
- format
- from
- to
type: object
description: The payload of the event, if requested.
- properties:
fileId:
type: string
required:
- fileId
type: object
description: The payload of the event, if requested.
- properties:
ruleName:
type: string
required:
- ruleName
type: object
description: The payload of the event, if requested.
- properties:
projectId:
type: string
projectName:
type: string
analyticsId:
type: string
sampleRatePercent:
nullable: true
type: number
spendLimitInDollars:
nullable: true
type: number
previous:
properties:
sampleRatePercent:
nullable: true
type: number
spendLimitInDollars:
nullable: true
type: number
required:
- sampleRatePercent
- spendLimitInDollars
type: object
required:
- previous
- sampleRatePercent
- spendLimitInDollars
type: object
description: The payload of the event, if requested.
- properties:
ownerId:
type: string
source:
type: string
cause:
type: string
blockReason:
type: string
siftRoute:
properties:
name:
type: string
required:
- name
type: object
required:
- cause
- ownerId
- source
type: object
description: The payload of the event, if requested.
- properties:
ownerId:
type: string
source:
type: string
cause:
type: string
reason:
nullable: true
type: string
required:
- cause
- ownerId
- source
type: object
description: The payload of the event, if requested.
- properties:
ownerId:
type: string
source:
type: string
cause:
type: string
blockReason:
type: string
required:
- cause
- ownerId
- source
type: object
description: The payload of the event, if requested.
- properties:
ownerId:
type: string
source:
type: string
cause:
type: string
required:
- cause
- ownerId
- source
type: object
description: The payload of the event, if requested.
- properties:
edgeConfigId:
type: string
edgeConfigSlug:
type: string
edgeConfigSchema:
type: object
required:
- edgeConfigId
- edgeConfigSlug
type: object
description: The payload of the event, if requested.
- properties:
edgeConfigId:
type: string
edgeConfigSlug:
type: string
edgeConfigDigest:
type: string
required:
- edgeConfigId
- edgeConfigSlug
type: object
description: The payload of the event, if requested.
- properties:
edgeConfig:
properties:
id:
type: string
slug:
type: string
required:
- id
- slug
type: object
fromAccount:
properties:
id:
type: string
type:
type: string
enum:
- team
- user
slug:
type: string
username:
type: string
required:
- id
- type
type: object
toAccount:
properties:
id:
type: string
type:
type: string
enum:
- team
- user
slug:
type: string
username:
type: string
required:
- id
- type
type: object
required:
- edgeConfig
- fromAccount
- toAccount
type: object
description: The payload of the event, if requested.
- properties:
grantType:
type: string
enum:
- authorization_code
- urn:ietf:params:oauth:grant-type:device_code
appName:
type: string
description: >-
the app's name at the time the event was published (it could
have changed since then)
atTTL:
type: number
description: access_token TTL
rtTTL:
type: number
description: refresh_token TTL
scope:
type: string
authMethod:
type: string
enum:
- email
- saml
- app
- github
- gitlab
- bitbucket
- google
- apple
- manual
- passkey
- otp
- sms
- invite
app:
properties:
clientId:
type: string
name:
type: string
description: >-
the app's name at the time the event was published (it
could have changed since then)
clientAuthenticationUsed:
properties:
method:
type: string
enum:
- none
- client_secret_basic
- client_secret_post
- client_secret_jwt
- private_key_jwt
- oidc_token
secretId:
type: string
required:
- method
type: object
required:
- clientAuthenticationUsed
- clientId
- name
type: object
description: >-
optional since entries prior to 2025-10-13 do not contain
app information
includesRefreshToken:
type: boolean
enum:
- false
- true
description: >-
optional since entries prior to 2025-10-13 do not contain
this field
publicId:
type: string
description: >-
optional since entries prior to 2025-10-13 do not contain
this field
sessionId:
type: string
description: >-
optional since entries prior to 2025-10-13 do not contain
this field
required:
- appName
- atTTL
- authMethod
- grantType
- scope
type: object
description: The payload of the event, if requested.
required:
- createdAt
- entities
- id
- principalId
- text
- userId
type: object
description: Array of events generated by the User.
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/environment/lists-all-shared-environment-variables-for-a-team.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Lists all Shared Environment Variables for a team
> Lists all Shared Environment Variables for a team, taking into account optional filters.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v1/env
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/env:
get:
tags:
- environment
summary: Lists all Shared Environment Variables for a team
description: >-
Lists all Shared Environment Variables for a team, taking into account
optional filters.
operationId: listSharedEnvVariable
parameters:
- name: search
in: query
schema:
type: string
- name: projectId
description: Filter SharedEnvVariables that belong to a project
in: query
schema:
description: Filter SharedEnvVariables that belong to a project
type: string
example: prj_2WjyKQmM8ZnGcJsPWMrHRHrE
- name: ids
description: Filter SharedEnvVariables based on comma separated ids
in: query
schema:
description: Filter SharedEnvVariables based on comma separated ids
type: string
example: env_2WjyKQmM8ZnGcJsPWMrHRHrE,env_2WjyKQmM8ZnGcJsPWMrHRCRV
- name: exclude_ids
description: Filter SharedEnvVariables based on comma separated ids
in: query
schema:
description: Filter SharedEnvVariables based on comma separated ids
type: string
example: env_2WjyKQmM8ZnGcJsPWMrHRHrE,env_2WjyKQmM8ZnGcJsPWMrHRCRV
- name: exclude-ids
description: Filter SharedEnvVariables based on comma separated ids
in: query
schema:
description: Filter SharedEnvVariables based on comma separated ids
type: string
example: env_2WjyKQmM8ZnGcJsPWMrHRHrE,env_2WjyKQmM8ZnGcJsPWMrHRCRV
- name: exclude_projectId
description: Filter SharedEnvVariables that belong to a project
in: query
schema:
description: Filter SharedEnvVariables that belong to a project
type: string
example: prj_2WjyKQmM8ZnGcJsPWMrHRHrE
- name: exclude-projectId
description: Filter SharedEnvVariables that belong to a project
in: query
schema:
description: Filter SharedEnvVariables that belong to a project
type: string
example: prj_2WjyKQmM8ZnGcJsPWMrHRHrE
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'200':
description: ''
content:
application/json:
schema:
properties:
data:
items:
properties:
created:
type: string
format: date-time
description: The date when the Shared Env Var was created.
example: '2021-02-10T13:11:49.180Z'
key:
type: string
description: The name of the Shared Env Var.
example: my-api-key
ownerId:
nullable: true
type: string
description: >-
The unique identifier of the owner (team) the Shared
Env Var was created for.
example: team_LLHUOMOoDlqOp8wPE4kFo9pE
id:
type: string
description: The unique identifier of the Shared Env Var.
example: env_XCG7t7AIHuO2SBA8667zNUiM
createdBy:
nullable: true
type: string
description: >-
The unique identifier of the user who created the
Shared Env Var.
example: 2qDDuGFTWXBLDNnqZfWPDp1A
deletedBy:
nullable: true
type: string
description: >-
The unique identifier of the user who deleted the
Shared Env Var.
example: 2qDDuGFTWXBLDNnqZfWPDp1A
updatedBy:
nullable: true
type: string
description: >-
The unique identifier of the user who last updated
the Shared Env Var.
example: 2qDDuGFTWXBLDNnqZfWPDp1A
createdAt:
type: number
description: Timestamp for when the Shared Env Var was created.
example: 1609492210000
deletedAt:
type: number
description: >-
Timestamp for when the Shared Env Var was (soft)
deleted.
example: 1609492210000
updatedAt:
type: number
description: >-
Timestamp for when the Shared Env Var was last
updated.
example: 1609492210000
value:
type: string
description: The value of the Shared Env Var.
projectId:
items:
type: string
type: array
description: >-
The unique identifiers of the projects which the
Shared Env Var is linked to.
example:
- prj_2WjyKQmM8ZnGcJsPWMrHRHrE
- prj_2WjyKQmM8ZnGcJsPWMrasEFg
type:
type: string
enum:
- encrypted
- sensitive
- system
- plain
description: >-
The type of this cosmos doc instance, if blank,
assume secret.
example: encrypted
target:
items:
type: string
enum:
- production
- preview
- development
example: production
description: environments this env variable targets
type: array
description: environments this env variable targets
example: production
applyToAllCustomEnvironments:
type: boolean
enum:
- false
- true
description: >-
whether or not this env varible applies to custom
environments
decrypted:
type: boolean
enum:
- false
- true
description: whether or not this env variable is decrypted
comment:
type: string
description: >-
A user provided comment that describes what this
Shared Env Var is for.
lastEditedByDisplayName:
type: string
description: The last editor full name or username.
type: object
type: array
pagination:
$ref: '#/components/schemas/Pagination'
required:
- data
- pagination
type: object
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
security:
- bearerToken: []
components:
schemas:
Pagination:
properties:
count:
type: number
description: Amount of items in the current page.
example: 20
next:
nullable: true
type: number
description: Timestamp that must be used to request the next page.
example: 1540095775951
prev:
nullable: true
type: number
description: Timestamp that must be used to request the previous page.
example: 1540095775951
required:
- count
- next
- prev
type: object
description: >-
This object contains information related to the pagination of the
current request, including the necessary parameters to get the next or
previous page of data.
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/examples/logs-monitoring.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Logs and Monitoring
> Learn how to use the Vercel SDK through real-life examples.
## Get deployment logs and check status
In this example, you retrieve the deployment logs and check the deployment status.
```ts run.ts theme={"system"}
import { Vercel } from '@vercel/sdk';
const vercel = new Vercel({
bearerToken: process.env.VERCEL_TOKEN,
});
async function getLogsAndStatus() {
try {
// Get deployment logs
const logsResponse = await vercel.deployments.getDeploymentEvents({
idOrUrl: 'project-name-uniqueid.vercel.app',
});
if (Array.isArray(logsResponse)) {
if ('deploymentId' in logsResponse[0]) {
const deploymentID = logsResponse[0].deploymentId;
const deploymentStatus = await vercel.deployments.getDeployment({
idOrUrl: deploymentID,
});
console.log(
`Deployment with id, ${deploymentID} status is ${deploymentStatus.status}`,
);
}
//Display logs with log type, timestamp and text
for (const item of result) {
if ('text' in item) {
console.log(
`${item.type} at ${new Date(item.created).toLocaleTimeString()}: ${
item.text
}`,
);
}
}
}
} catch (error) {
console.error(
error instanceof Error ? `Error: ${error.message}` : String(error),
);
}
}
getLogsAndStatus();
```
## Aggregate logs and send alerts
Create a custom monitoring system that aggregates logs from multiple deployments, analyzes them for errors, and sends alerts if certain thresholds are exceeded.
```ts run.ts theme={"system"}
import { Vercel } from '@vercel/sdk';
import * as nodemailer from 'nodemailer';
const vercel = new Vercel({
bearerToken: process.env.VERCEL_TOKEN,
});
const ALERT_EMAIL = 'alerts@example.com';
interface Log {
type: string;
created: number;
text: string;
}
async function monitorDeployments() {
try {
// Get recent deployments
const deploymentsResponse = await vercel.deployments.getDeployments({
limit: 5,
projectId: 'my-project', //The project name used in the deployment URL
});
let totalErrors = 0;
let totalWarnings = 0;
for (const deployment of deploymentsResponse.deployments) {
console.log(`Analyzing deployment: ${deployment.uid}`);
const logsResponse = await vercel.deployments.getDeploymentEvents({
idOrUrl: deployment.uid,
});
if (Array.isArray(logsResponse)) {
const logs = logsResponse as Log[];
const errors = logs.filter((log) => log.type === 'error');
const warnings = logs.filter((log) => log.type === 'warning');
totalErrors += errors.length;
totalWarnings += warnings.length;
console.log(`Errors: ${errors.length}, Warnings: ${warnings.length}`);
errors.forEach((error) => console.log(`Error: ${error.text}`));
}
}
console.log(
`Total Errors: ${totalErrors}, Total Warnings: ${totalWarnings}`,
);
// Send alert if thresholds are exceeded
if (totalErrors > 10 || totalWarnings > 20) {
const transporter = nodemailer.createTransport({
host: 'smtp.example.com',
port: 587,
secure: false,
auth: {
user: 'your_email@example.com',
pass: process.env.email_pwd,
},
});
await transporter.sendMail({
from: '"Vercel Monitor" ',
to: ALERT_EMAIL,
subject: 'Deployment Alert: High number of errors or warnings',
text: `Alert: ${totalErrors} errors and ${totalWarnings} warnings detected in recent deployments.`,
});
console.log('Alert email sent');
}
} catch (error) {
console.error(
error instanceof Error ? `Error: ${error.message}` : String(error),
);
}
}
monitorDeployments();
```
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/projects/move-a-project-domain.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Move a project domain
> Move one project's domain to another project. Also allows the move of all redirects pointed to that domain in the same project.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples post /v1/projects/{idOrName}/domains/{domain}/move
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/projects/{idOrName}/domains/{domain}/move:
post:
tags:
- projects
summary: Move a project domain
description: >-
Move one project's domain to another project. Also allows the move of
all redirects pointed to that domain in the same project.
operationId: moveProjectDomain
parameters:
- name: idOrName
description: The unique project identifier or the project name
in: path
required: true
schema:
description: The unique project identifier or the project name
type: string
- name: domain
description: The project domain name
in: path
required: true
schema:
description: The project domain name
type: string
example: www.example.com
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
requestBody:
content:
application/json:
schema:
required:
- projectId
properties:
projectId:
description: The unique target project identifier
example: prj_XLKmu1DyR1eY7zq8UgeRKbA7yVLA
oneOf:
- type: string
gitBranch:
description: Git branch to link the project domain
example: null
type: string
maxLength: 250
nullable: true
redirect:
description: Target destination domain for redirect
example: foobar.com
type: string
nullable: true
redirectStatusCode:
description: Status code for domain redirect
example: 307
type: integer
enum:
- null
- 301
- 302
- 307
- 308
nullable: true
type: object
responses:
'200':
description: The domain was updated successfuly
content:
application/json:
schema:
properties:
name:
type: string
apexName:
type: string
projectId:
type: string
redirect:
nullable: true
type: string
redirectStatusCode:
nullable: true
type: number
enum:
- 301
- 302
- 307
- 308
gitBranch:
nullable: true
type: string
customEnvironmentId:
nullable: true
type: string
updatedAt:
type: number
createdAt:
type: number
verified:
type: boolean
enum:
- false
- true
description: >-
`true` if the domain is verified for use with the project.
If `false` it will not be used as an alias on this project
until the challenge in `verification` is completed.
verification:
items:
properties:
type:
type: string
domain:
type: string
value:
type: string
reason:
type: string
required:
- domain
- reason
- type
- value
type: object
description: >-
A list of verification challenges, one of which must be
completed to verify the domain for use on the project.
After the challenge is complete `POST
/projects/:idOrName/domains/:domain/verify` to verify
the domain. Possible challenges: - If `verification.type
= TXT` the `verification.domain` will be checked for a
TXT record matching `verification.value`.
type: array
description: >-
A list of verification challenges, one of which must be
completed to verify the domain for use on the project.
After the challenge is complete `POST
/projects/:idOrName/domains/:domain/verify` to verify the
domain. Possible challenges: - If `verification.type =
TXT` the `verification.domain` will be checked for a TXT
record matching `verification.value`.
required:
- apexName
- name
- projectId
- verified
type: object
'400':
description: |-
One of the provided values in the request body is invalid.
One of the provided values in the request query is invalid.
The domain redirect is not valid
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'409':
description: The project is currently being transferred
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/marketplace/patch-an-existing-experimentation-item.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Patch an existing experimentation item
> Patch an existing experimentation item
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples patch /v1/installations/{integrationConfigurationId}/resources/{resourceId}/experimentation/items/{itemId}
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/installations/{integrationConfigurationId}/resources/{resourceId}/experimentation/items/{itemId}:
patch:
tags:
- marketplace
summary: Patch an existing experimentation item
description: Patch an existing experimentation item
parameters:
- name: integrationConfigurationId
in: path
required: true
schema:
type: string
- name: resourceId
in: path
required: true
schema:
type: string
- name: itemId
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
additionalProperties: false
required:
- slug
- origin
properties:
slug:
type: string
maxLength: 1024
origin:
type: string
maxLength: 2048
name:
type: string
maxLength: 1024
category:
type: string
enum:
- experiment
- flag
description:
type: string
maxLength: 1024
isArchived:
type: boolean
createdAt:
type: number
updatedAt:
type: number
responses:
'204':
description: The item was updated
'400':
description: |-
One of the provided values in the request body is invalid.
One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/projects/pause-a-project.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Pause a project
> Pause 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.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples post /v1/projects/{projectId}/pause
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/projects/{projectId}/pause:
post:
tags:
- projects
summary: Pause a project
description: >-
Pause 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.
operationId: pauseProject
parameters:
- name: projectId
description: The unique project identifier
in: path
required: true
schema:
type: string
description: The unique project identifier
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'200':
description: ''
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'500':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/projects/points-all-production-domains-for-a-project-to-the-given-deploy-1.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Points all production domains for a project to the given deploy
> Allows users to promote a deployment to production. Note: This does NOT rebuild the deployment. If you need that, then call create-deployments endpoint.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples post /v10/projects/{projectId}/promote/{deploymentId}
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v10/projects/{projectId}/promote/{deploymentId}:
post:
tags:
- projects
summary: Points all production domains for a project to the given deploy
description: >-
Allows users to promote a deployment to production. Note: This does NOT
rebuild the deployment. If you need that, then call create-deployments
endpoint.
operationId: requestPromote
parameters:
- name: projectId
in: path
required: true
schema:
type: string
- name: deploymentId
in: path
required: true
schema:
type: string
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'201':
description: ''
'202':
description: ''
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'409':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/projects/points-all-production-domains-for-a-project-to-the-given-deploy.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Points all production domains for a project to the given deploy
> Allows users to rollback to a deployment.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples post /v1/projects/{projectId}/rollback/{deploymentId}
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/projects/{projectId}/rollback/{deploymentId}:
post:
tags:
- projects
summary: Points all production domains for a project to the given deploy
description: Allows users to rollback to a deployment.
operationId: requestRollback
parameters:
- name: projectId
in: path
required: true
schema:
type: string
- name: deploymentId
description: The ID of the deployment to rollback *to*
in: path
required: true
schema:
type: string
description: The ID of the deployment to rollback *to*
- name: description
description: The reason for the rollback
in: query
required: false
schema:
type: string
description: The reason for the rollback
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'201':
description: ''
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'402':
description: ''
'403':
description: You do not have permission to access this resource.
'409':
description: ''
'422':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/examples/project-management.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Project Management
> Learn how to use the Vercel SDK through real-life examples.
## Create a new project
In this example, you will create a new project and retrieve its details. You will use the following method:
* Create project
```ts run.ts theme={"system"}
import { Vercel } from '@vercel/sdk';
const vercel = new Vercel({
bearerToken: process.env.VERCEL_TOKEN,
});
async function createAndGetProject() {
try {
const createResponse = await vercel.projects.createProject({
requestBody: {
name: 'my-new-project',
framework: 'nextjs',
},
});
console.log(`Project created: ${createResponse.id}`);
console.log('Project Details:', JSON.stringify(createResponse, null, 2));
} catch (error) {
console.error(
error instanceof Error ? `Error: ${error.message}` : String(error),
);
}
}
createAndGetProject();
```
## Create a new project with additional setup
In this example, you will create a new project, add environment variables, and set up automatic GitHub deployments.
* Create project
* Create env
```ts run.ts theme={"system"}
import { Vercel } from '@vercel/sdk';
const vercel = new Vercel({
bearerToken: process.env.VERCEL_TOKEN,
});
async function setupProjectWithGitHub() {
try {
// Create a new project with GH integration
const createResponse = await vercel.projects.createProject({
requestBody: {
name: 'advanced-project',
framework: 'nextjs',
gitRepository: {
repo: 'your-username-or-orgname/your-repo-name', //The repository should have been created before and the GH account is connected to your Vercel account
type: 'github',
},
},
});
console.log(`Project created: ${createResponse.id}`);
const envResponse = await vercel.projects.createProjectEnv({
idOrName: createResponse.id,
upsert: 'true',
requestBody: [
{
key: 'DATABASE_URL',
value: 'postgresql://user:pass@host:5432/db',
type: 'encrypted', // Encrypted when saved and viewable in the Vercel dashboard with correct permissions
target: ['production', 'preview'],
},
{
key: 'API_KEY',
value: 'your-api-key',
type: 'encrypted', // Encrypted when saved and viewable in the Vercel dashboard with correct permissions
target: ['production'],
},
{
key: 'API_URL',
value: 'your-api-url',
type: 'plain',
target: ['production', 'preview'],
},
],
});
console.log('Environment variables added:', envResponse.created);
} catch (error) {
console.error(
error instanceof Error ? `Error: ${error.message}` : String(error),
);
}
}
setupProjectWithGitHub();
```
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/bulk-redirects/promote-a-staging-version-to-production-or-restore-a-previous-production-version.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Promote a staging version to production or restore a previous production version.
> Update a version by promoting staging to production or restoring a previous production version
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples post /v1/bulk-redirects/versions
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/bulk-redirects/versions:
post:
tags:
- bulk-redirects
summary: >-
Promote a staging version to production or restore a previous production
version.
description: >-
Update a version by promoting staging to production or restoring a
previous production version
operationId: updateVersion
parameters:
- name: projectId
in: query
required: true
schema:
type: string
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
requestBody:
content:
application/json:
schema:
type: object
required:
- id
- action
properties:
id:
type: string
action:
type: string
enum:
- promote
- restore
- discard
name:
type: string
maxLength: 256
responses:
'200':
description: ''
content:
application/json:
schema:
properties:
version:
properties:
id:
type: string
description: The unique identifier for the version.
key:
type: string
description: >-
The key of the version. The key may be duplicated
across versions if the contents are the same as a
different version.
lastModified:
type: number
createdBy:
type: string
name:
type: string
description: >-
Optional name for the version. If not provided,
defaults to an ISO timestamp string.
isStaging:
type: boolean
enum:
- false
- true
description: >-
Whether this version has not been promoted to
production yet and is not serving end users.
isLive:
type: boolean
enum:
- false
- true
description: Whether this version is currently live in production.
redirectCount:
type: number
description: The number of redirects in this version.
alias:
type: string
description: >-
The staging link for previewing redirects in this
version.
required:
- createdBy
- id
- key
- lastModified
type: object
required:
- version
type: object
'400':
description: |-
One of the provided values in the request body is invalid.
One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
'500':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/domains/purchase-a-domain-deprecated.md
# Purchase a domain (deprecated)
> This endpoint is deprecated and replaced with the endpoint [Buy a domain](https://vercel.com/docs/rest-api/reference/endpoints/domains-registrar/buy-a-domain). Purchases the specified domain.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples post /v5/domains/buy
paths:
path: /v5/domains/buy
method: post
servers:
- url: https://api.vercel.com
description: Production API
request:
security:
- title: bearerToken
parameters:
query: {}
header:
Authorization:
type: http
scheme: bearer
description: Default authentication mechanism
cookie: {}
parameters:
path: {}
query:
teamId:
schema:
- type: string
description: The Team identifier to perform the request on behalf of.
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
slug:
schema:
- type: string
description: The Team slug to perform the request on behalf of.
example: my-team-url-slug
header: {}
cookie: {}
body:
application/json:
schemaArray:
- type: object
properties:
name:
allOf:
- description: The domain name to purchase.
type: string
example: example.com
expectedPrice:
allOf:
- description: The price you expect to be charged for the purchase.
type: number
example: 10
renew:
allOf:
- description: >-
Indicates whether the domain should be automatically
renewed.
type: boolean
example: true
country:
allOf:
- description: The country of the domain registrant
type: string
example: US
orgName:
allOf:
- description: The company name of the domain registrant
type: string
example: Acme Inc.
firstName:
allOf:
- description: The first name of the domain registrant
type: string
example: Jane
lastName:
allOf:
- description: The last name of the domain registrant
type: string
example: Doe
address1:
allOf:
- description: The street address of the domain registrant
type: string
example: 340 S Lemon Ave Suite 4133
city:
allOf:
- description: The city of the domain registrant
type: string
example: San Francisco
state:
allOf:
- description: The state of the domain registrant
type: string
example: CA
postalCode:
allOf:
- description: The postal code of the domain registrant
type: string
example: '91789'
phone:
allOf:
- description: The phone number of the domain registrant
type: string
example: '+1.4158551452'
email:
allOf:
- description: The email of the domain registrant
type: string
example: jane.doe@someplace.com
required: true
requiredProperties:
- name
- country
- firstName
- lastName
- address1
- city
- state
- postalCode
- phone
- email
additionalProperties: false
examples:
example:
value:
name: example.com
expectedPrice: 10
renew: true
country: US
orgName: Acme Inc.
firstName: Jane
lastName: Doe
address1: 340 S Lemon Ave Suite 4133
city: San Francisco
state: CA
postalCode: '91789'
phone: '+1.4158551452'
email: jane.doe@someplace.com
codeSamples:
- label: buyDomain
lang: go
source: "package main\n\nimport(\n\t\"os\"\n\t\"github.com/vercel/vercel\"\n\t\"context\"\n\t\"github.com/vercel/vercel/models/operations\"\n\t\"log\"\n)\n\nfunc main() {\n s := vercel.New(\n vercel.WithSecurity(os.Getenv(\"VERCEL_BEARER_TOKEN\")),\n )\n\n ctx := context.Background()\n res, err := s.Domains.BuyDomain(ctx, nil, nil, &operations.BuyDomainRequestBody{\n Name: \"example.com\",\n ExpectedPrice: vercel.Float64(10),\n Renew: vercel.Bool(true),\n Country: \"US\",\n OrgName: vercel.String(\"Acme Inc.\"),\n FirstName: \"Jane\",\n LastName: \"Doe\",\n Address1: \"340 S Lemon Ave Suite 4133\",\n City: \"San Francisco\",\n State: \"CA\",\n PostalCode: \"91789\",\n Phone: \"+1.4158551452\",\n Email: \"jane.doe@someplace.com\",\n })\n if err != nil {\n log.Fatal(err)\n }\n if res.TwoHundredAndOneApplicationJSONObject != nil {\n // handle response\n }\n}"
- label: buyDomain
lang: typescript
source: |-
import { Vercel } from "@vercel/sdk";
const vercel = new Vercel({
bearerToken: "",
});
async function run() {
const result = await vercel.domains.buyDomain({
teamId: "team_1a2b3c4d5e6f7g8h9i0j1k2l",
slug: "my-team-url-slug",
requestBody: {
name: "example.com",
expectedPrice: 10,
renew: true,
country: "US",
orgName: "Acme Inc.",
firstName: "Jane",
lastName: "Doe",
address1: "340 S Lemon Ave Suite 4133",
city: "San Francisco",
state: "CA",
postalCode: "91789",
phone: "+1.4158551452",
email: "jane.doe@someplace.com",
},
});
console.log(result);
}
run();
response:
'201':
application/json:
schemaArray:
- type: object
properties:
domain:
allOf:
- properties:
uid:
type: string
ns:
items:
type: string
type: array
verified:
type: boolean
created:
type: number
pending:
type: boolean
required:
- uid
- ns
- verified
- created
- pending
type: object
requiredProperties:
- domain
examples:
example:
value:
domain:
uid:
ns:
-
verified: true
created: 123
pending: true
description: ''
'202':
application/json:
schemaArray:
- type: object
properties:
domain:
allOf:
- properties:
uid:
type: string
ns:
items:
type: string
type: array
verified:
type: boolean
created:
type: number
pending:
type: boolean
required:
- uid
- ns
- verified
- created
- pending
type: object
requiredProperties:
- domain
examples:
example:
value:
domain:
uid:
ns:
-
verified: true
created: 123
pending: true
description: ''
'400':
_mintlify/placeholder:
schemaArray:
- type: any
description: One of the provided values in the request body is invalid.
examples: {}
description: One of the provided values in the request body is invalid.
'401':
_mintlify/placeholder:
schemaArray:
- type: any
description: The request is not authorized.
examples: {}
description: The request is not authorized.
'403':
_mintlify/placeholder:
schemaArray:
- type: any
description: You do not have permission to access this resource.
examples: {}
description: You do not have permission to access this resource.
'409': {}
'429': {}
'500': {}
deprecated: false
type: path
components:
schemas: {}
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/marketplace/push-data-into-a-user-provided-edge-config.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Push data into a user-provided Edge Config
> When 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.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples put /v1/installations/{integrationConfigurationId}/resources/{resourceId}/experimentation/edge-config
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/installations/{integrationConfigurationId}/resources/{resourceId}/experimentation/edge-config:
put:
tags:
- marketplace
summary: Push data into a user-provided Edge Config
description: >-
When 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.
parameters:
- name: integrationConfigurationId
in: path
required: true
schema:
type: string
- name: resourceId
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
additionalProperties: false
required:
- data
properties:
data:
type: object
additionalProperties: {}
responses:
'200':
description: The Edge Config was updated
content:
application/json:
schema:
properties:
items:
additionalProperties:
$ref: '#/components/schemas/EdgeConfigItemValue'
type: object
updatedAt:
type: number
digest:
type: string
purpose:
type: string
enum:
- flags
- experimentation
required:
- digest
- items
- updatedAt
type: object
'400':
description: |-
One of the provided values in the request body is invalid.
One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
'409':
description: ''
'412':
description: ''
security:
- bearerToken: []
components:
schemas:
EdgeConfigItemValue:
nullable: true
oneOf:
- type: string
- type: number
- additionalProperties:
$ref: '#/components/schemas/EdgeConfigItemValue'
type: object
- items:
$ref: '#/components/schemas/EdgeConfigItemValue'
type: array
- type: boolean
enum:
- false
- true
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/security/put-firewall-configuration.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Put Firewall Configuration
> Set the firewall configuration to provided rules and settings. Creates or overwrite the existing firewall configuration.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples put /v1/security/firewall/config
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/security/firewall/config:
put:
tags:
- security
summary: Put Firewall Configuration
description: >-
Set the firewall configuration to provided rules and settings. Creates
or overwrite the existing firewall configuration.
operationId: putFirewallConfig
parameters:
- name: projectId
in: query
required: true
schema:
type: string
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
requestBody:
content:
application/json:
schema:
type: object
properties:
firewallEnabled:
type: boolean
managedRules:
type: object
crs:
type: object
properties:
sd:
type: object
properties:
active:
type: boolean
action:
type: string
enum:
- deny
- log
required:
- active
- action
additionalProperties: false
description: >-
Scanner Detection - Detect and prevent reconnaissance
activities from network scanning tools.
ma:
type: object
properties:
active:
type: boolean
action:
type: string
enum:
- deny
- log
required:
- active
- action
additionalProperties: false
description: >-
Multipart Attack - Block attempts to bypass security
controls using multipart/form-data encoding.
lfi:
type: object
properties:
active:
type: boolean
action:
type: string
enum:
- deny
- log
required:
- active
- action
additionalProperties: false
description: >-
Local File Inclusion Attack - Prevent unauthorized
access to local files through web applications.
rfi:
type: object
properties:
active:
type: boolean
action:
type: string
enum:
- deny
- log
required:
- active
- action
additionalProperties: false
description: >-
Remote File Inclusion Attack - Prohibit unauthorized
upload or execution of remote files.
rce:
type: object
properties:
active:
type: boolean
action:
type: string
enum:
- deny
- log
required:
- active
- action
additionalProperties: false
description: >-
Remote Execution Attack - Prevent unauthorized execution
of remote scripts or commands.
php:
type: object
properties:
active:
type: boolean
action:
type: string
enum:
- deny
- log
required:
- active
- action
additionalProperties: false
description: >-
PHP Attack - Safeguard against vulnerability exploits in
PHP-based applications.
gen:
type: object
properties:
active:
type: boolean
action:
type: string
enum:
- deny
- log
required:
- active
- action
additionalProperties: false
description: >-
Generic Attack - Provide broad protection from various
undefined or novel attack vectors.
xss:
type: object
properties:
active:
type: boolean
action:
type: string
enum:
- deny
- log
required:
- active
- action
additionalProperties: false
description: >-
XSS Attack - Prevent injection of malicious scripts into
trusted webpages.
sqli:
type: object
properties:
active:
type: boolean
action:
type: string
enum:
- deny
- log
required:
- active
- action
additionalProperties: false
description: >-
SQL Injection Attack - Prohibit unauthorized use of SQL
commands to manipulate databases.
sf:
type: object
properties:
active:
type: boolean
action:
type: string
enum:
- deny
- log
required:
- active
- action
additionalProperties: false
description: >-
Session Fixation Attack - Prevent unauthorized takeover
of user sessions by enforcing unique session IDs.
java:
type: object
properties:
active:
type: boolean
action:
type: string
enum:
- deny
- log
required:
- active
- action
additionalProperties: false
description: >-
Java Attack - Mitigate risks of exploitation targeting
Java-based applications or components.
additionalProperties: false
description: Custom Ruleset
rules:
type: array
items:
type: object
properties:
id:
type: string
name:
type: string
maxLength: 160
description:
type: string
maxLength: 256
active:
type: boolean
conditionGroup:
type: array
items:
type: object
properties:
conditions:
type: array
items:
type: object
properties:
type:
type: string
enum:
- host
- path
- method
- header
- query
- cookie
- target_path
- route
- raw_path
- ip_address
- region
- protocol
- scheme
- environment
- user_agent
- geo_continent
- geo_country
- geo_country_region
- geo_city
- geo_as_number
- ja4_digest
- ja3_digest
- rate_limit_api_id
- server_action
- bot_name
- bot_category
description: >-
[Parameter](https://vercel.com/docs/security/vercel-waf/rule-configuration#parameters)
from the incoming traffic.
op:
type: string
enum:
- re
- eq
- neq
- ex
- nex
- inc
- ninc
- pre
- suf
- sub
- gt
- gte
- lt
- lte
neg:
type: boolean
key:
type: string
value:
anyOf:
- type: string
- type: array
items:
type: string
maxItems: 75
- type: number
required:
- type
- op
additionalProperties: false
maxItems: 65
required:
- conditions
additionalProperties: false
maxItems: 25
action:
type: object
properties:
mitigate:
type: object
properties:
action:
type: string
enum:
- log
- challenge
- deny
- bypass
- rate_limit
- redirect
rateLimit:
anyOf:
- type: object
properties:
algo:
type: string
enum:
- fixed_window
- token_bucket
window:
type: number
limit:
type: number
keys:
items:
type: string
type: array
action:
anyOf:
- type: string
enum:
- log
- challenge
- deny
- rate_limit
- {}
nullable: true
required:
- algo
- window
- limit
- keys
additionalProperties: false
- {}
nullable: true
redirect:
anyOf:
- type: object
properties:
location:
type: string
permanent:
type: boolean
required:
- location
- permanent
additionalProperties: false
- {}
nullable: true
actionDuration:
nullable: true
type: string
bypassSystem:
type: boolean
nullable: true
required:
- action
additionalProperties: false
additionalProperties: false
valid:
type: boolean
validationErrors:
anyOf:
- items:
type: string
type: array
- type: string
required:
- name
- active
- conditionGroup
- action
additionalProperties: false
ips:
type: array
items:
type: object
properties:
id:
type: string
hostname:
type: string
ip:
type: string
notes:
type: string
action:
type: string
enum:
- deny
- challenge
- log
- bypass
required:
- hostname
- ip
- action
additionalProperties: false
botIdEnabled:
type: boolean
required:
- firewallEnabled
additionalProperties: false
required: true
responses:
'200':
description: ''
content:
application/json:
schema:
properties:
active:
properties:
ownerId:
type: string
projectKey:
type: string
id:
type: string
version:
type: number
updatedAt:
type: string
firewallEnabled:
type: boolean
enum:
- false
- true
crs:
properties:
sd:
properties:
active:
type: boolean
enum:
- false
- true
action:
type: string
enum:
- deny
- log
required:
- action
- active
type: object
description: >-
Scanner Detection - Detect and prevent
reconnaissance activities from network scanning
tools.
ma:
properties:
active:
type: boolean
enum:
- false
- true
action:
type: string
enum:
- deny
- log
required:
- action
- active
type: object
description: >-
Multipart Attack - Block attempts to bypass
security controls using multipart/form-data
encoding.
lfi:
properties:
active:
type: boolean
enum:
- false
- true
action:
type: string
enum:
- deny
- log
required:
- action
- active
type: object
description: >-
Local File Inclusion Attack - Prevent unauthorized
access to local files through web applications.
rfi:
properties:
active:
type: boolean
enum:
- false
- true
action:
type: string
enum:
- deny
- log
required:
- action
- active
type: object
description: >-
Remote File Inclusion Attack - Prohibit
unauthorized upload or execution of remote files.
rce:
properties:
active:
type: boolean
enum:
- false
- true
action:
type: string
enum:
- deny
- log
required:
- action
- active
type: object
description: >-
Remote Execution Attack - Prevent unauthorized
execution of remote scripts or commands.
php:
properties:
active:
type: boolean
enum:
- false
- true
action:
type: string
enum:
- deny
- log
required:
- action
- active
type: object
description: >-
PHP Attack - Safeguard against vulnerability
exploits in PHP-based applications.
gen:
properties:
active:
type: boolean
enum:
- false
- true
action:
type: string
enum:
- deny
- log
required:
- action
- active
type: object
description: >-
Generic Attack - Provide broad protection from
various undefined or novel attack vectors.
xss:
properties:
active:
type: boolean
enum:
- false
- true
action:
type: string
enum:
- deny
- log
required:
- action
- active
type: object
description: >-
XSS Attack - Prevent injection of malicious
scripts into trusted webpages.
sqli:
properties:
active:
type: boolean
enum:
- false
- true
action:
type: string
enum:
- deny
- log
required:
- action
- active
type: object
description: >-
SQL Injection Attack - Prohibit unauthorized use
of SQL commands to manipulate databases.
sf:
properties:
active:
type: boolean
enum:
- false
- true
action:
type: string
enum:
- deny
- log
required:
- action
- active
type: object
description: >-
Session Fixation Attack - Prevent unauthorized
takeover of user sessions by enforcing unique
session IDs.
java:
properties:
active:
type: boolean
enum:
- false
- true
action:
type: string
enum:
- deny
- log
required:
- action
- active
type: object
description: >-
Java Attack - Mitigate risks of exploitation
targeting Java-based applications or components.
required:
- gen
- java
- lfi
- ma
- php
- rce
- rfi
- sd
- sf
- sqli
- xss
type: object
description: Custom Ruleset
rules:
items:
oneOf:
- properties:
id:
type: string
name:
type: string
description:
type: string
active:
type: boolean
enum:
- false
- true
conditionGroup:
items:
properties:
conditions:
items:
properties:
type:
type: string
enum:
- host
- path
- method
- header
- query
- cookie
- target_path
- route
- raw_path
- ip_address
- protocol
- region
- scheme
- environment
- user_agent
- geo_continent
- geo_country
- geo_country_region
- geo_city
- geo_as_number
- ja4_digest
- ja3_digest
- rate_limit_api_id
- server_action
- bot_name
- bot_category
op:
type: string
enum:
- sub
- re
- eq
- ex
- inc
- pre
- suf
- gt
- gte
- lt
- lte
- nex
- ninc
- neq
neg:
type: boolean
enum:
- false
- true
key:
type: string
value:
oneOf:
- type: string
- type: number
- items:
type: string
type: array
required:
- op
- type
type: object
type: array
required:
- conditions
type: object
type: array
action:
properties:
mitigate:
properties:
action:
type: string
enum:
- deny
- log
- challenge
- bypass
- rate_limit
- redirect
rateLimit:
nullable: true
properties:
algo:
type: string
enum:
- fixed_window
- token_bucket
window:
type: number
limit:
type: number
keys:
items:
type: string
type: array
action:
nullable: true
type: string
enum:
- deny
- log
- challenge
- rate_limit
required:
- algo
- keys
- limit
- window
type: object
redirect:
nullable: true
properties:
location:
type: string
permanent:
type: boolean
enum:
- false
- true
required:
- location
- permanent
type: object
actionDuration:
nullable: true
type: string
bypassSystem:
nullable: true
type: boolean
enum:
- false
- true
required:
- action
type: object
type: object
valid:
type: boolean
enum:
- true
validationErrors:
nullable: true
required:
- action
- active
- conditionGroup
- id
- name
- valid
- validationErrors
type: object
- properties:
id:
type: string
name:
type: string
description:
type: string
active:
type: boolean
enum:
- false
- true
conditionGroup:
items:
properties:
conditions:
items:
properties:
type:
type: string
enum:
- host
- path
- method
- header
- query
- cookie
- target_path
- route
- raw_path
- ip_address
- protocol
- region
- scheme
- environment
- user_agent
- geo_continent
- geo_country
- geo_country_region
- geo_city
- geo_as_number
- ja4_digest
- ja3_digest
- rate_limit_api_id
- server_action
- bot_name
- bot_category
op:
type: string
enum:
- sub
- re
- eq
- ex
- inc
- pre
- suf
- gt
- gte
- lt
- lte
- nex
- ninc
- neq
neg:
type: boolean
enum:
- false
- true
key:
type: string
value:
oneOf:
- type: string
- type: number
- items:
type: string
type: array
required:
- op
- type
type: object
type: array
required:
- conditions
type: object
type: array
action:
properties:
mitigate:
properties:
action:
type: string
enum:
- deny
- log
- challenge
- bypass
- rate_limit
- redirect
rateLimit:
nullable: true
properties:
algo:
type: string
enum:
- fixed_window
- token_bucket
window:
type: number
limit:
type: number
keys:
items:
type: string
type: array
action:
nullable: true
type: string
enum:
- deny
- log
- challenge
- rate_limit
required:
- algo
- keys
- limit
- window
type: object
redirect:
nullable: true
properties:
location:
type: string
permanent:
type: boolean
enum:
- false
- true
required:
- location
- permanent
type: object
actionDuration:
nullable: true
type: string
bypassSystem:
nullable: true
type: boolean
enum:
- false
- true
required:
- action
type: object
type: object
valid:
type: boolean
enum:
- false
validationErrors:
items:
type: string
type: array
required:
- action
- active
- conditionGroup
- id
- name
- valid
- validationErrors
type: object
type: array
ips:
items:
properties:
id:
type: string
hostname:
type: string
ip:
type: string
notes:
type: string
action:
type: string
enum:
- deny
- log
- challenge
- bypass
required:
- action
- hostname
- id
- ip
type: object
type: array
changes:
items:
type: object
type: array
managedRules:
properties:
bot_protection:
properties:
active:
type: boolean
enum:
- false
- true
action:
type: string
enum:
- deny
- log
- challenge
updatedAt:
type: string
userId:
type: string
username:
type: string
required:
- active
type: object
ai_bots:
properties:
active:
type: boolean
enum:
- false
- true
action:
type: string
enum:
- deny
- log
- challenge
updatedAt:
type: string
userId:
type: string
username:
type: string
required:
- active
type: object
owasp:
properties:
active:
type: boolean
enum:
- false
- true
action:
type: string
enum:
- deny
- log
- challenge
updatedAt:
type: string
userId:
type: string
username:
type: string
required:
- active
type: object
vercel_ruleset:
properties:
active:
type: boolean
enum:
- false
- true
action:
type: string
enum:
- deny
- log
- challenge
updatedAt:
type: string
userId:
type: string
username:
type: string
required:
- active
type: object
type: object
botIdEnabled:
type: boolean
enum:
- false
- true
required:
- changes
- crs
- firewallEnabled
- id
- ips
- ownerId
- projectKey
- rules
- updatedAt
- version
type: object
required:
- active
type: object
'400':
description: |-
One of the provided values in the request body is invalid.
One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'402':
description: ''
'403':
description: You do not have permission to access this resource.
'404':
description: ''
'500':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/artifacts/query-information-about-an-artifact.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Query information about an artifact
> Query information about an array of artifacts.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples post /v8/artifacts
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v8/artifacts:
post:
tags:
- artifacts
summary: Query information about an artifact
description: Query information about an array of artifacts.
operationId: artifactQuery
parameters:
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
requestBody:
content:
application/json:
schema:
type: object
required:
- hashes
properties:
hashes:
items:
type: string
description: artifact hashes
type: array
example:
- 12HKQaOmR5t5Uy6vdcQsNIiZgHGB
- 34HKQaOmR5t5Uy6vasdasdasdasd
required: true
responses:
'200':
description: ''
content:
application/json:
schema:
additionalProperties:
nullable: true
oneOf:
- properties:
size:
type: number
taskDurationMs:
type: number
tag:
type: string
required:
- size
- taskDurationMs
type: object
- properties:
error:
properties:
message:
type: string
required:
- message
type: object
required:
- error
type: object
type: object
'400':
description: One of the provided values in the request body is invalid.
'401':
description: The request is not authorized.
'402':
description: |-
The account was soft-blocked for an unhandled reason.
The account is missing a payment so payment method must be updated
'403':
description: >-
The customer has reached their spend cap limit and has been paused.
An owner can disable the cap or raise the limit in settings.
The Remote Caching usage limit has been reached for this account for
this billing cycle.
Remote Caching has been disabled for this team or user. An owner can
enable it in the billing settings.
You do not have permission to access this resource.
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/connect/read-a-secure-compute-network.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Read a Secure Compute network
> Allows to read a Secure Compute network.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v1/connect/networks/{networkId}
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/connect/networks/{networkId}:
get:
tags:
- connect
summary: Read a Secure Compute network
description: Allows to read a Secure Compute network.
operationId: readNetwork
parameters:
- name: networkId
description: The unique identifier of the Secure Compute network
in: path
required: true
schema:
type: string
description: The unique identifier of the Secure Compute network
example: uzrmorq7bn05z-fz
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Network'
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
security:
- bearerToken: []
components:
schemas:
Network:
properties:
awsAccountId:
type: string
description: The ID of the AWS Account in which the network exists.
awsAvailabilityZoneIds:
items:
type: string
type: array
description: >-
The IDs of the AWS Availability Zones in which the network exists,
if specified during creation.
awsRegion:
type: string
description: The AWS Region in which the network exists.
cidr:
type: string
description: The CIDR range of the Network.
createdAt:
type: number
description: >-
The date at which the Network was created, represented as a UNIX
timestamp since EPOCH.
egressIpAddresses:
items:
type: string
type: array
hostedZones:
properties:
count:
type: number
description: >-
The number of AWS Route53 Hosted Zones associated with the
Network.
required:
- count
type: object
description: >-
Metadata about any AWS Route53 Hosted Zones associated with the
Network.
id:
type: string
description: The unique identifier of the Network.
name:
type: string
description: The name of the network.
peeringConnections:
properties:
count:
type: number
description: >-
The number of AWS Route53 Hosted Zones associated with the
Network.
required:
- count
type: object
description: >-
Metadata about any AWS Route53 Hosted Zones associated with the
Network.
projects:
properties:
count:
type: number
ids:
items:
type: string
type: array
required:
- count
- ids
type: object
description: Metadata about any projects associated with the Network.
region:
type: string
description: The Vercel region in which the Network exists.
status:
type: string
enum:
- create_in_progress
- delete_in_progress
- error
- ready
description: The status of the Network.
teamId:
type: string
description: The unique identifier of the Team that owns the Network.
vpcId:
type: string
description: The ID of the VPC which hosts the network.
required:
- awsAccountId
- awsRegion
- cidr
- createdAt
- id
- name
- status
- teamId
type: object
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/security/read-active-attack-data.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Read active attack data
> Retrieve active attack data within the last N days (default: 1 day)
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v1/security/firewall/attack-status
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/security/firewall/attack-status:
get:
tags:
- security
summary: Read active attack data
description: 'Retrieve active attack data within the last N days (default: 1 day)'
operationId: getActiveAttackStatus
parameters:
- name: projectId
in: query
required: true
schema:
type: string
- name: since
in: query
required: false
schema:
type: number
minimum: 1
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'200':
description: ''
content:
application/json:
schema:
oneOf:
- type: object
- properties:
anomalies:
items:
properties:
projectId:
type: string
ownerId:
type: string
startTime:
type: number
endTime:
nullable: true
type: number
atMinute:
type: number
state:
type: string
affectedHostMap:
additionalProperties:
properties:
anomalyAlerts:
additionalProperties:
properties:
at_minute:
type: string
zscore:
type: number
total_requests_minute:
type: number
avg_requests:
type: number
stddev_requests:
type: number
required:
- at_minute
- avg_requests
- stddev_requests
- total_requests_minute
- zscore
type: object
type: object
ddosAlerts:
additionalProperties:
properties:
atMinute:
type: string
totalReqs:
type: number
required:
- atMinute
- totalReqs
type: object
type: object
type: object
type: object
required:
- affectedHostMap
- atMinute
- endTime
- ownerId
- projectId
- startTime
type: object
type: array
required:
- anomalies
type: object
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/security/read-firewall-actions-by-project.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Read Firewall Actions by Project
> Retrieve firewall actions for a project
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v1/security/firewall/events
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/security/firewall/events:
get:
tags:
- security
summary: Read Firewall Actions by Project
description: Retrieve firewall actions for a project
parameters:
- name: projectId
in: query
required: true
schema:
type: string
- name: startTimestamp
in: query
required: false
schema:
type: number
- name: endTimestamp
in: query
required: false
schema:
type: number
- name: hosts
in: query
required: false
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
properties:
actions:
items:
properties:
startTime:
type: string
endTime:
type: string
isActive:
type: boolean
enum:
- false
- true
action_type:
type: string
host:
type: string
public_ip:
type: string
count:
type: number
required:
- action_type
- count
- endTime
- host
- isActive
- public_ip
- startTime
type: object
type: array
required:
- actions
type: object
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
'500':
description: ''
security: []
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/security/read-firewall-configuration.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Read Firewall Configuration
> Retrieve the specified firewall configuration for a project. The deployed configVersion will be `active`
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v1/security/firewall/config/{configVersion}
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/security/firewall/config/{configVersion}:
get:
tags:
- security
summary: Read Firewall Configuration
description: >-
Retrieve the specified firewall configuration for a project. The
deployed configVersion will be `active`
operationId: getFirewallConfig
parameters:
- name: projectId
in: query
required: true
schema:
type: string
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
- description: The deployed configVersion for the firewall configuration
in: path
name: configVersion
required: true
schema:
type: string
responses:
'200':
description: >-
If the firewall configuration includes a [custom managed
ruleset](https://vercel.com/docs/security/vercel-waf/managed-rulesets),
it will include a `crs` item that has the following values: sd:
Scanner Detection ma: Multipart Attack lfi: Local File Inclusion
Attack rfi: Remote File Inclusion Attack rce: Remote Execution
Attack php: PHP Attack gen: Generic Attack xss: XSS Attack sqli: SQL
Injection Attack sf: Session Fixation Attack java: Java Attack
content:
application/json:
schema:
properties:
ownerId:
type: string
projectKey:
type: string
id:
type: string
version:
type: number
updatedAt:
type: string
firewallEnabled:
type: boolean
enum:
- false
- true
crs:
properties:
sd:
properties:
active:
type: boolean
enum:
- false
- true
action:
type: string
enum:
- deny
- log
required:
- action
- active
type: object
description: >-
Scanner Detection - Detect and prevent reconnaissance
activities from network scanning tools.
ma:
properties:
active:
type: boolean
enum:
- false
- true
action:
type: string
enum:
- deny
- log
required:
- action
- active
type: object
description: >-
Multipart Attack - Block attempts to bypass security
controls using multipart/form-data encoding.
lfi:
properties:
active:
type: boolean
enum:
- false
- true
action:
type: string
enum:
- deny
- log
required:
- action
- active
type: object
description: >-
Local File Inclusion Attack - Prevent unauthorized
access to local files through web applications.
rfi:
properties:
active:
type: boolean
enum:
- false
- true
action:
type: string
enum:
- deny
- log
required:
- action
- active
type: object
description: >-
Remote File Inclusion Attack - Prohibit unauthorized
upload or execution of remote files.
rce:
properties:
active:
type: boolean
enum:
- false
- true
action:
type: string
enum:
- deny
- log
required:
- action
- active
type: object
description: >-
Remote Execution Attack - Prevent unauthorized
execution of remote scripts or commands.
php:
properties:
active:
type: boolean
enum:
- false
- true
action:
type: string
enum:
- deny
- log
required:
- action
- active
type: object
description: >-
PHP Attack - Safeguard against vulnerability exploits
in PHP-based applications.
gen:
properties:
active:
type: boolean
enum:
- false
- true
action:
type: string
enum:
- deny
- log
required:
- action
- active
type: object
description: >-
Generic Attack - Provide broad protection from various
undefined or novel attack vectors.
xss:
properties:
active:
type: boolean
enum:
- false
- true
action:
type: string
enum:
- deny
- log
required:
- action
- active
type: object
description: >-
XSS Attack - Prevent injection of malicious scripts
into trusted webpages.
sqli:
properties:
active:
type: boolean
enum:
- false
- true
action:
type: string
enum:
- deny
- log
required:
- action
- active
type: object
description: >-
SQL Injection Attack - Prohibit unauthorized use of
SQL commands to manipulate databases.
sf:
properties:
active:
type: boolean
enum:
- false
- true
action:
type: string
enum:
- deny
- log
required:
- action
- active
type: object
description: >-
Session Fixation Attack - Prevent unauthorized
takeover of user sessions by enforcing unique session
IDs.
java:
properties:
active:
type: boolean
enum:
- false
- true
action:
type: string
enum:
- deny
- log
required:
- action
- active
type: object
description: >-
Java Attack - Mitigate risks of exploitation targeting
Java-based applications or components.
required:
- gen
- java
- lfi
- ma
- php
- rce
- rfi
- sd
- sf
- sqli
- xss
type: object
description: Custom Ruleset
rules:
items:
oneOf:
- properties:
id:
type: string
name:
type: string
description:
type: string
active:
type: boolean
enum:
- false
- true
conditionGroup:
items:
properties:
conditions:
items:
properties:
type:
type: string
enum:
- host
- path
- method
- header
- query
- cookie
- target_path
- route
- raw_path
- ip_address
- protocol
- region
- scheme
- environment
- user_agent
- geo_continent
- geo_country
- geo_country_region
- geo_city
- geo_as_number
- ja4_digest
- ja3_digest
- rate_limit_api_id
- server_action
- bot_name
- bot_category
op:
type: string
enum:
- sub
- re
- eq
- ex
- inc
- pre
- suf
- gt
- gte
- lt
- lte
- nex
- ninc
- neq
neg:
type: boolean
enum:
- false
- true
key:
type: string
value:
oneOf:
- type: string
- type: number
- items:
type: string
type: array
required:
- op
- type
type: object
type: array
required:
- conditions
type: object
type: array
action:
properties:
mitigate:
properties:
action:
type: string
enum:
- deny
- log
- challenge
- bypass
- rate_limit
- redirect
rateLimit:
nullable: true
properties:
algo:
type: string
enum:
- fixed_window
- token_bucket
window:
type: number
limit:
type: number
keys:
items:
type: string
type: array
action:
nullable: true
type: string
enum:
- deny
- log
- challenge
- rate_limit
required:
- algo
- keys
- limit
- window
type: object
redirect:
nullable: true
properties:
location:
type: string
permanent:
type: boolean
enum:
- false
- true
required:
- location
- permanent
type: object
actionDuration:
nullable: true
type: string
bypassSystem:
nullable: true
type: boolean
enum:
- false
- true
required:
- action
type: object
type: object
valid:
type: boolean
enum:
- true
validationErrors:
nullable: true
required:
- action
- active
- conditionGroup
- id
- name
- valid
- validationErrors
type: object
- properties:
id:
type: string
name:
type: string
description:
type: string
active:
type: boolean
enum:
- false
- true
conditionGroup:
items:
properties:
conditions:
items:
properties:
type:
type: string
enum:
- host
- path
- method
- header
- query
- cookie
- target_path
- route
- raw_path
- ip_address
- protocol
- region
- scheme
- environment
- user_agent
- geo_continent
- geo_country
- geo_country_region
- geo_city
- geo_as_number
- ja4_digest
- ja3_digest
- rate_limit_api_id
- server_action
- bot_name
- bot_category
op:
type: string
enum:
- sub
- re
- eq
- ex
- inc
- pre
- suf
- gt
- gte
- lt
- lte
- nex
- ninc
- neq
neg:
type: boolean
enum:
- false
- true
key:
type: string
value:
oneOf:
- type: string
- type: number
- items:
type: string
type: array
required:
- op
- type
type: object
type: array
required:
- conditions
type: object
type: array
action:
properties:
mitigate:
properties:
action:
type: string
enum:
- deny
- log
- challenge
- bypass
- rate_limit
- redirect
rateLimit:
nullable: true
properties:
algo:
type: string
enum:
- fixed_window
- token_bucket
window:
type: number
limit:
type: number
keys:
items:
type: string
type: array
action:
nullable: true
type: string
enum:
- deny
- log
- challenge
- rate_limit
required:
- algo
- keys
- limit
- window
type: object
redirect:
nullable: true
properties:
location:
type: string
permanent:
type: boolean
enum:
- false
- true
required:
- location
- permanent
type: object
actionDuration:
nullable: true
type: string
bypassSystem:
nullable: true
type: boolean
enum:
- false
- true
required:
- action
type: object
type: object
valid:
type: boolean
enum:
- false
validationErrors:
items:
type: string
type: array
required:
- action
- active
- conditionGroup
- id
- name
- valid
- validationErrors
type: object
type: array
ips:
items:
properties:
id:
type: string
hostname:
type: string
ip:
type: string
notes:
type: string
action:
type: string
enum:
- deny
- log
- challenge
- bypass
required:
- action
- hostname
- id
- ip
type: object
type: array
changes:
items:
type: object
type: array
managedRules:
properties:
bot_protection:
properties:
active:
type: boolean
enum:
- false
- true
action:
type: string
enum:
- deny
- log
- challenge
updatedAt:
type: string
userId:
type: string
username:
type: string
required:
- active
type: object
ai_bots:
properties:
active:
type: boolean
enum:
- false
- true
action:
type: string
enum:
- deny
- log
- challenge
updatedAt:
type: string
userId:
type: string
username:
type: string
required:
- active
type: object
owasp:
properties:
active:
type: boolean
enum:
- false
- true
action:
type: string
enum:
- deny
- log
- challenge
updatedAt:
type: string
userId:
type: string
username:
type: string
required:
- active
type: object
vercel_ruleset:
properties:
active:
type: boolean
enum:
- false
- true
action:
type: string
enum:
- deny
- log
- challenge
updatedAt:
type: string
userId:
type: string
username:
type: string
required:
- active
type: object
type: object
botIdEnabled:
type: boolean
enum:
- false
- true
required:
- changes
- crs
- firewallEnabled
- id
- ips
- ownerId
- projectKey
- rules
- updatedAt
- version
type: object
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/security/read-system-bypass.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Read System Bypass
> Retrieve the system bypass rules configured for the specified project
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v1/security/firewall/bypass
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/security/firewall/bypass:
get:
tags:
- security
summary: Read System Bypass
description: Retrieve the system bypass rules configured for the specified project
operationId: getBypassIp
parameters:
- name: projectId
in: query
required: true
schema:
type: string
- name: limit
in: query
required: false
schema:
type: number
example: 10
maximum: 256
- name: sourceIp
description: Filter by source IP
in: query
required: false
schema:
description: Filter by source IP
type: string
maxLength: 49
- name: domain
description: Filter by domain
in: query
required: false
schema:
description: Filter by domain
type: string
pattern: ([a-z]+[a-z.]+)$
maxLength: 2544
- name: projectScope
description: Filter by project scoped rules
in: query
required: false
schema:
description: Filter by project scoped rules
type: boolean
- name: offset
description: Used for pagination. Retrieves results after the provided id
in: query
required: false
schema:
description: Used for pagination. Retrieves results after the provided id
type: string
maxLength: 2560
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'200':
description: ''
content:
application/json:
schema:
properties:
result:
items:
properties:
OwnerId:
type: string
Id:
type: string
Domain:
type: string
Ip:
type: string
Action:
type: string
enum:
- bypass
- block
ProjectId:
type: string
IsProjectRule:
type: boolean
enum:
- false
- true
Note:
type: string
CreatedAt:
type: string
ActorId:
type: string
UpdatedAt:
type: string
UpdatedAtHour:
type: string
DeletedAt:
type: string
ExpiresAt:
nullable: true
type: number
required:
- CreatedAt
- Domain
- Id
- Ip
- OwnerId
- UpdatedAt
- UpdatedAtHour
type: object
type: array
pagination:
properties:
OwnerId:
type: string
Id:
type: string
required:
- Id
- OwnerId
type: object
required:
- result
type: object
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
'500':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/access-groups/reads-an-access-group-project.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Reads an access group project
> Allows reading an access group project
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v1/access-groups/{accessGroupIdOrName}/projects/{projectId}
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/access-groups/{accessGroupIdOrName}/projects/{projectId}:
get:
tags:
- access-groups
summary: Reads an access group project
description: Allows reading an access group project
operationId: readAccessGroupProject
parameters:
- name: accessGroupIdOrName
in: path
required: true
schema:
type: string
examples:
id:
summary: Access group ID
value: ag_1a2b3c4d5e6f7g8h9i0j
name:
summary: Access group name
value: My Access Group
- name: projectId
in: path
required: true
schema:
type: string
example: prj_ndlgr43fadlPyCtREAqxxdyFK
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'200':
description: ''
content:
application/json:
schema:
properties:
teamId:
type: string
accessGroupId:
type: string
projectId:
type: string
role:
type: string
enum:
- ADMIN
- PROJECT_DEVELOPER
- PROJECT_VIEWER
- PROJECT_GUEST
createdAt:
type: string
updatedAt:
type: string
required:
- accessGroupId
- createdAt
- projectId
- role
- teamId
- updatedAt
type: object
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/access-groups/reads-an-access-group.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Reads an access group
> Allows to read an access group
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v1/access-groups/{idOrName}
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/access-groups/{idOrName}:
get:
tags:
- access-groups
summary: Reads an access group
description: Allows to read an access group
operationId: readAccessGroup
parameters:
- name: idOrName
in: path
required: true
schema:
type: string
examples:
id:
summary: Access group ID
value: ag_1a2b3c4d5e6f7g8h9i0j
name:
summary: Access group name
value: My Access Group
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'200':
description: ''
content:
application/json:
schema:
properties:
teamPermissions:
items:
type: string
enum:
- IntegrationManager
- CreateProject
- FullProductionDeployment
- UsageViewer
- EnvVariableManager
- EnvironmentManager
- V0Builder
- V0Chatter
- V0Viewer
type: array
entitlements:
items:
type: string
enum:
- v0
type: array
isDsyncManaged:
type: boolean
enum:
- false
- true
name:
type: string
description: The name of this access group.
example: my-access-group
createdAt:
type: string
description: >-
Timestamp in milliseconds when the access group was
created.
example: 1588720733602
teamId:
type: string
description: ID of the team that this access group belongs to.
example: team_123a6c5209bc3778245d011443644c8d27dc2c50
updatedAt:
type: string
description: >-
Timestamp in milliseconds when the access group was last
updated.
example: 1588720733602
accessGroupId:
type: string
description: ID of the access group.
example: ag_123a6c5209bc3778245d011443644c8d27dc2c50
membersCount:
type: number
description: Number of members in the access group.
example: 5
projectsCount:
type: number
description: Number of projects in the access group.
example: 2
teamRoles:
items:
type: string
type: array
description: Roles that the team has in the access group.
example:
- DEVELOPER
- BILLING
required:
- accessGroupId
- createdAt
- isDsyncManaged
- membersCount
- name
- projectsCount
- teamId
- updatedAt
type: object
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/artifacts/record-an-artifacts-cache-usage-event.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Record an artifacts cache usage event
> 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.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples post /v8/artifacts/events
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v8/artifacts/events:
post:
tags:
- artifacts
summary: Record an artifacts cache usage event
description: >-
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.
operationId: recordEvents
parameters:
- in: header
description: >-
The continuous integration or delivery environment where this
artifact is downloaded.
schema:
type: string
description: >-
The continuous integration or delivery environment where this
artifact is downloaded.
example: VERCEL
maxLength: 50
name: x-artifact-client-ci
- in: header
description: 1 if the client is an interactive shell. Otherwise 0
schema:
type: integer
description: 1 if the client is an interactive shell. Otherwise 0
example: 0
minimum: 0
maximum: 1
name: x-artifact-client-interactive
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
requestBody:
content:
application/json:
schema:
type: array
items:
type: object
additionalProperties: false
required:
- sessionId
- source
- hash
- event
properties:
sessionId:
type: string
description: >-
A UUID (universally unique identifer) for the session that
generated this event.
source:
type: string
enum:
- LOCAL
- REMOTE
description: >-
One of `LOCAL` or `REMOTE`. `LOCAL` specifies that the
cache event was from the user's filesystem cache. `REMOTE`
specifies that the cache event is from a remote cache.
event:
type: string
enum:
- HIT
- MISS
description: >-
One of `HIT` or `MISS`. `HIT` specifies that a cached
artifact for `hash` was found in the cache. `MISS`
specifies that a cached artifact with `hash` was not
found.
hash:
type: string
example: 12HKQaOmR5t5Uy6vdcQsNIiZgHGB
description: The artifact hash
duration:
type: number
description: >-
The time taken to generate the artifact. This should be
sent as a body parameter on `HIT` events.
example: 400
required: true
responses:
'200':
description: Success. Event recorded.
'400':
description: |-
One of the provided values in the request body is invalid.
One of the provided values in the headers is invalid
'401':
description: The request is not authorized.
'402':
description: |-
The account was soft-blocked for an unhandled reason.
The account is missing a payment so payment method must be updated
'403':
description: >-
The customer has reached their spend cap limit and has been paused.
An owner can disable the cap or raise the limit in settings.
The Remote Caching usage limit has been reached for this account for
this billing cycle.
Remote Caching has been disabled for this team or user. An owner can
enable it in the billing settings.
You do not have permission to access this resource.
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/environment/remove-a-custom-environment.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Remove a custom environment
> Remove a custom environment for the project. Must not be named 'Production' or 'Preview'.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples delete /v9/projects/{idOrName}/custom-environments/{environmentSlugOrId}
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v9/projects/{idOrName}/custom-environments/{environmentSlugOrId}:
delete:
tags:
- environment
summary: Remove a custom environment
description: >-
Remove a custom environment for the project. Must not be named
'Production' or 'Preview'.
operationId: removeCustomEnvironment
parameters:
- name: idOrName
description: The unique project identifier or the project name
in: path
required: true
schema:
description: The unique project identifier or the project name
type: string
- name: environmentSlugOrId
description: The unique custom environment identifier within the project
in: path
required: true
schema:
description: The unique custom environment identifier within the project
type: string
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
requestBody:
content:
application/json:
schema:
type: object
properties:
deleteUnassignedEnvironmentVariables:
description: >-
Delete Environment Variables that are not assigned to any
environments.
type: boolean
responses:
'200':
description: ''
content:
application/json:
schema:
properties:
id:
type: string
description: >-
Unique identifier for the custom environment (format:
env_*)
slug:
type: string
description: URL-friendly name of the environment
type:
type: string
enum:
- production
- preview
- development
description: >-
The type of environment (production, preview, or
development)
description:
type: string
description: Optional description of the environment's purpose
branchMatcher:
properties:
type:
type: string
enum:
- endsWith
- startsWith
- equals
description: The type of matching to perform
pattern:
type: string
description: The pattern to match against branch names
required:
- pattern
- type
type: object
description: >-
Configuration for matching git branches to this
environment
domains:
items:
properties:
name:
type: string
apexName:
type: string
projectId:
type: string
redirect:
nullable: true
type: string
redirectStatusCode:
nullable: true
type: number
enum:
- 301
- 302
- 307
- 308
gitBranch:
nullable: true
type: string
customEnvironmentId:
nullable: true
type: string
updatedAt:
type: number
createdAt:
type: number
verified:
type: boolean
enum:
- false
- true
description: >-
`true` if the domain is verified for use with the
project. If `false` it will not be used as an alias
on this project until the challenge in
`verification` is completed.
verification:
items:
properties:
type:
type: string
domain:
type: string
value:
type: string
reason:
type: string
required:
- domain
- reason
- type
- value
type: object
description: >-
A list of verification challenges, one of which
must be completed to verify the domain for use on
the project. After the challenge is complete `POST
/projects/:idOrName/domains/:domain/verify` to
verify the domain. Possible challenges: - If
`verification.type = TXT` the
`verification.domain` will be checked for a TXT
record matching `verification.value`.
type: array
description: >-
A list of verification challenges, one of which must
be completed to verify the domain for use on the
project. After the challenge is complete `POST
/projects/:idOrName/domains/:domain/verify` to
verify the domain. Possible challenges: - If
`verification.type = TXT` the `verification.domain`
will be checked for a TXT record matching
`verification.value`.
required:
- apexName
- name
- projectId
- verified
type: object
description: List of domains associated with this environment
type: array
description: List of domains associated with this environment
currentDeploymentAliases:
items:
type: string
type: array
description: List of aliases for the current deployment
createdAt:
type: number
description: Timestamp when the environment was created
updatedAt:
type: number
description: Timestamp when the environment was last updated
required:
- createdAt
- id
- slug
- type
- updatedAt
type: object
description: >-
Internal representation of a custom environment with all
required properties
'400':
description: |-
One of the provided values in the request body is invalid.
One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/domains/remove-a-domain-by-name.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Remove a domain by name
> Delete a previously registered domain name from Vercel. Deleting a domain will automatically remove any associated aliases.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples delete /v6/domains/{domain}
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v6/domains/{domain}:
delete:
tags:
- domains
summary: Remove a domain by name
description: >-
Delete a previously registered domain name from Vercel. Deleting a
domain will automatically remove any associated aliases.
operationId: deleteDomain
parameters:
- name: domain
description: The name of the domain.
in: path
required: true
schema:
description: The name of the domain.
type: string
example: example.com
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'200':
description: Successful response removing a domain.
content:
application/json:
schema:
properties:
uid:
type: string
required:
- uid
type: object
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
'409':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/projects/remove-a-domain-from-a-project.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Remove a domain from a project
> 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.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples delete /v9/projects/{idOrName}/domains/{domain}
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v9/projects/{idOrName}/domains/{domain}:
delete:
tags:
- projects
summary: Remove a domain from a project
description: >-
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.
operationId: removeProjectDomain
parameters:
- name: idOrName
description: The unique project identifier or the project name
in: path
required: true
schema:
description: The unique project identifier or the project name
type: string
- name: domain
description: The project domain name
in: path
required: true
schema:
description: The project domain name
type: string
example: www.example.com
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
requestBody:
content:
application/json:
schema:
type: object
properties:
removeRedirects:
type: boolean
description: >-
Whether to remove all domains from this project that
redirect to the domain being removed.
responses:
'200':
description: The domain was succesfully removed from the project
content:
application/json:
schema:
type: object
'400':
description: |-
One of the provided values in the request body is invalid.
One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
'409':
description: The project is currently being transferred
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/projectmembers/remove-a-project-member.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Remove a Project Member
> Remove a member from a specific project
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples delete /v1/projects/{idOrName}/members/{uid}
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/projects/{idOrName}/members/{uid}:
delete:
tags:
- projectMembers
summary: Remove a Project Member
description: Remove a member from a specific project
operationId: removeProjectMember
parameters:
- name: idOrName
description: The ID or name of the Project.
in: path
required: true
schema:
type: string
description: The ID or name of the Project.
example: prj_pavWOn1iLObbXLRiwVvzmPrTWyTf
- name: uid
description: The user ID of the member.
in: path
required: true
schema:
type: string
description: The user ID of the member.
example: ndlgr43fadlPyCtREAqxxdyFK
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'200':
description: ''
content:
application/json:
schema:
type: object
required:
- id
properties:
id:
type: string
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/teams/remove-a-team-member.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Remove a Team Member
> Remove a Team Member from the Team, or dismiss a user that requested access, or leave a team.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples delete /v1/teams/{teamId}/members/{uid}
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/teams/{teamId}/members/{uid}:
delete:
tags:
- teams
summary: Remove a Team Member
description: >-
Remove a Team Member from the Team, or dismiss a user that requested
access, or leave a team.
operationId: removeTeamMember
parameters:
- name: uid
description: The user ID of the member.
in: path
required: true
schema:
type: string
description: The user ID of the member.
example: ndlgr43fadlPyCtREAqxxdyFK
- name: newDefaultTeamId
description: >-
The ID of the team to set as the new default team for the Northstar
user.
in: query
required: false
schema:
type: string
description: >-
The ID of the team to set as the new default team for the
Northstar user.
example: team_nllPyCtREAqxxdyFKbbMDlxd
- name: teamId
in: path
required: true
schema:
type: string
description: The unique team identifier
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
responses:
'200':
description: Successfully removed a member of the team.
content:
application/json:
schema:
properties:
id:
type: string
description: ID of the team.
required:
- id
type: object
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: |-
You do not have permission to access this resource.
Not authorized to update the team.
'404':
description: ''
'503':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/projects/remove-an-environment-variable.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Remove an environment variable
> 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.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples delete /v9/projects/{idOrName}/env/{id}
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v9/projects/{idOrName}/env/{id}:
delete:
tags:
- projects
summary: Remove an environment variable
description: >-
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.
operationId: removeProjectEnv
parameters:
- name: idOrName
description: The unique project identifier or the project name
in: path
required: true
schema:
description: The unique project identifier or the project name
type: string
example: prj_XLKmu1DyR1eY7zq8UgeRKbA7yVLA
- name: id
description: The unique environment variable identifier
in: path
required: true
schema:
description: The unique environment variable identifier
type: string
example: XMbOEya1gUUO1ir4
- name: customEnvironmentId
description: The unique custom environment identifier within the project
in: query
required: false
schema:
description: The unique custom environment identifier within the project
type: string
example: env_123abc4567
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'200':
description: The environment variable was successfully removed
content:
application/json:
schema:
oneOf:
- items:
properties:
type:
type: string
enum:
- secret
- system
- encrypted
- plain
- sensitive
value:
type: string
edgeConfigId:
nullable: true
type: string
edgeConfigTokenId:
nullable: true
type: string
createdAt:
type: number
updatedAt:
type: number
id:
type: string
createdBy:
nullable: true
type: string
target:
oneOf:
- items:
type: string
enum:
- production
- preview
- development
- preview
- development
type: array
- type: string
enum:
- production
- preview
- development
key:
type: string
gitBranch:
type: string
updatedBy:
nullable: true
type: string
sunsetSecretId:
type: string
description: >-
This is used to identify variables that have been
migrated from type secret to sensitive.
legacyValue:
type: string
description: >-
Legacy now-encryption ciphertext, present after
migration swaps value/vsmValue
decrypted:
type: boolean
enum:
- false
- true
configurationId:
nullable: true
type: string
contentHint:
nullable: true
oneOf:
- properties:
type:
type: string
enum:
- redis-url
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- redis-rest-api-url
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- redis-rest-api-token
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- redis-rest-api-read-only-token
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- blob-read-write-token
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-url
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-url-non-pooling
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-prisma-url
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-user
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-host
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-password
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-database
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-url-no-ssl
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- integration-store-secret
storeId:
type: string
integrationId:
type: string
integrationProductId:
type: string
integrationConfigurationId:
type: string
required:
- integrationConfigurationId
- integrationId
- integrationProductId
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- flags-connection-string
projectId:
type: string
required:
- projectId
- type
type: object
internalContentHint:
nullable: true
properties:
type:
type: string
enum:
- flags-secret
encryptedValue:
type: string
description: >-
Contains the `value` of the env variable,
encrypted with a special key to make decryption
possible in the subscriber Lambda.
required:
- encryptedValue
- type
type: object
description: >-
Similar to `contentHints`, but should not be exposed
to the user.
comment:
type: string
customEnvironmentIds:
items:
type: string
type: array
required:
- key
- type
- value
type: object
type: array
- properties:
system:
type: boolean
enum:
- false
- true
type:
type: string
enum:
- secret
- system
- encrypted
- plain
- sensitive
value:
type: string
edgeConfigId:
nullable: true
type: string
edgeConfigTokenId:
nullable: true
type: string
createdAt:
type: number
updatedAt:
type: number
id:
type: string
createdBy:
nullable: true
type: string
target:
oneOf:
- items:
type: string
enum:
- production
- preview
- development
- preview
- development
type: array
- type: string
enum:
- production
- preview
- development
key:
type: string
gitBranch:
type: string
updatedBy:
nullable: true
type: string
sunsetSecretId:
type: string
description: >-
This is used to identify variables that have been
migrated from type secret to sensitive.
legacyValue:
type: string
description: >-
Legacy now-encryption ciphertext, present after
migration swaps value/vsmValue
decrypted:
type: boolean
enum:
- false
- true
configurationId:
nullable: true
type: string
contentHint:
nullable: true
oneOf:
- properties:
type:
type: string
enum:
- redis-url
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- redis-rest-api-url
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- redis-rest-api-token
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- redis-rest-api-read-only-token
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- blob-read-write-token
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-url
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-url-non-pooling
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-prisma-url
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-user
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-host
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-password
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-database
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-url-no-ssl
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- integration-store-secret
storeId:
type: string
integrationId:
type: string
integrationProductId:
type: string
integrationConfigurationId:
type: string
required:
- integrationConfigurationId
- integrationId
- integrationProductId
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- flags-connection-string
projectId:
type: string
required:
- projectId
- type
type: object
internalContentHint:
nullable: true
properties:
type:
type: string
enum:
- flags-secret
encryptedValue:
type: string
description: >-
Contains the `value` of the env variable,
encrypted with a special key to make decryption
possible in the subscriber Lambda.
required:
- encryptedValue
- type
type: object
description: >-
Similar to `contentHints`, but should not be exposed
to the user.
comment:
type: string
customEnvironmentIds:
items:
type: string
type: array
required:
- key
- type
- value
type: object
- nullable: true
properties:
type:
type: string
enum:
- secret
- system
- encrypted
- plain
- sensitive
value:
type: string
edgeConfigId:
nullable: true
type: string
edgeConfigTokenId:
nullable: true
type: string
createdAt:
type: number
updatedAt:
type: number
id:
type: string
createdBy:
nullable: true
type: string
target:
oneOf:
- items:
type: string
enum:
- production
- preview
- development
- preview
- development
type: array
- type: string
enum:
- production
- preview
- development
key:
type: string
gitBranch:
type: string
updatedBy:
nullable: true
type: string
sunsetSecretId:
type: string
description: >-
This is used to identify variables that have been
migrated from type secret to sensitive.
legacyValue:
type: string
description: >-
Legacy now-encryption ciphertext, present after
migration swaps value/vsmValue
decrypted:
type: boolean
enum:
- false
- true
configurationId:
nullable: true
type: string
contentHint:
nullable: true
oneOf:
- properties:
type:
type: string
enum:
- redis-url
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- redis-rest-api-url
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- redis-rest-api-token
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- redis-rest-api-read-only-token
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- blob-read-write-token
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-url
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-url-non-pooling
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-prisma-url
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-user
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-host
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-password
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-database
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-url-no-ssl
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- integration-store-secret
storeId:
type: string
integrationId:
type: string
integrationProductId:
type: string
integrationConfigurationId:
type: string
required:
- integrationConfigurationId
- integrationId
- integrationProductId
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- flags-connection-string
projectId:
type: string
required:
- projectId
- type
type: object
internalContentHint:
nullable: true
properties:
type:
type: string
enum:
- flags-secret
encryptedValue:
type: string
description: >-
Contains the `value` of the env variable,
encrypted with a special key to make decryption
possible in the subscriber Lambda.
required:
- encryptedValue
- type
type: object
description: >-
Similar to `contentHints`, but should not be exposed
to the user.
comment:
type: string
customEnvironmentIds:
items:
type: string
type: array
required:
- key
- type
- value
type: object
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
'409':
description: >-
The project is being transfered and removing an environment variable
is not possible
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/certs/remove-cert.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Remove cert
> Remove cert
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples delete /v8/certs/{id}
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v8/certs/{id}:
delete:
tags:
- certs
summary: Remove cert
description: Remove cert
operationId: removeCert
parameters:
- name: id
description: The cert id to remove
in: path
required: true
schema:
description: The cert id to remove
type: string
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'200':
description: ''
content:
application/json:
schema:
type: object
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/security/remove-system-bypass-rule.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Remove System Bypass Rule
> Remove system bypass rules
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples delete /v1/security/firewall/bypass
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/security/firewall/bypass:
delete:
tags:
- security
summary: Remove System Bypass Rule
description: Remove system bypass rules
operationId: removeBypassIp
parameters:
- name: projectId
in: query
required: true
schema:
type: string
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
requestBody:
content:
application/json:
schema:
type: object
additionalProperties: false
oneOf:
- required:
- domain
- required:
- projectScope
properties:
domain:
type: string
pattern: ([a-z]+[a-z.]+)$
maxLength: 2544
projectScope:
type: boolean
sourceIp:
type: string
allSources:
type: boolean
note:
type: string
maxLength: 500
responses:
'200':
description: ''
content:
application/json:
schema:
properties:
ok:
type: boolean
enum:
- false
- true
required:
- ok
type: object
'400':
description: |-
One of the provided values in the request body is invalid.
One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
'500':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/domains-registrar/renew-a-domain.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Renew a domain
> Renew a domain
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples post /v1/registrar/domains/{domain}/renew
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/registrar/domains/{domain}/renew:
post:
tags:
- domains-registrar
summary: Renew a domain
description: Renew a domain
operationId: renewDomain
parameters:
- name: domain
in: path
schema:
$ref: '#/components/schemas/DomainName'
required: true
- name: teamId
in: query
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
required: false
requestBody:
content:
application/json:
schema:
type: object
required:
- years
- expectedPrice
properties:
years:
type: number
description: The number of years to renew the domain for.
expectedPrice:
type: number
minimum: 0.01
contactInformation:
type: object
required:
- firstName
- lastName
- email
- phone
- address1
- city
- state
- zip
- country
properties:
firstName:
$ref: '#/components/schemas/NonEmptyTrimmedString'
lastName:
$ref: '#/components/schemas/NonEmptyTrimmedString'
email:
$ref: '#/components/schemas/EmailAddress'
phone:
$ref: '#/components/schemas/E164PhoneNumber'
address1:
$ref: '#/components/schemas/NonEmptyTrimmedString'
address2:
$ref: '#/components/schemas/NonEmptyTrimmedString'
city:
$ref: '#/components/schemas/NonEmptyTrimmedString'
state:
$ref: '#/components/schemas/NonEmptyTrimmedString'
zip:
$ref: '#/components/schemas/NonEmptyTrimmedString'
country:
$ref: '#/components/schemas/CountryCode'
companyName:
$ref: '#/components/schemas/NonEmptyTrimmedString'
fax:
$ref: '#/components/schemas/E164PhoneNumber'
additionalProperties: false
additionalProperties: false
required: true
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
required:
- orderId
- _links
properties:
orderId:
$ref: '#/components/schemas/OrderId'
_links:
type: object
additionalProperties:
type: object
required:
- href
- method
properties:
href:
type: string
method:
type: string
enum:
- GET
- POST
- PUT
- DELETE
- PATCH
additionalProperties: false
additionalProperties: false
'400':
description: There was something wrong with the request
content:
application/json:
schema:
anyOf:
- $ref: '#/components/schemas/BadRequest'
- $ref: '#/components/schemas/DomainTooShort'
- $ref: '#/components/schemas/DomainNotRegistered'
- $ref: '#/components/schemas/ExpectedPriceMismatch'
- $ref: '#/components/schemas/DomainNotAvailable'
- $ref: '#/components/schemas/TldNotSupported'
- $ref: '#/components/schemas/HttpApiDecodeError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Unauthorized'
'403':
description: NotAuthorizedForScope
content:
application/json:
schema:
anyOf:
- $ref: '#/components/schemas/NotAuthorizedForScope'
- $ref: '#/components/schemas/Forbidden'
'404':
description: The domain was not found in our system.
content:
application/json:
schema:
$ref: '#/components/schemas/DomainNotFound'
'429':
description: TooManyRequests
content:
application/json:
schema:
$ref: '#/components/schemas/TooManyRequests'
'500':
description: InternalServerError
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerError'
security:
- bearerToken: []
components:
schemas:
DomainName:
type: string
description: A valid domain name
NonEmptyTrimmedString:
type: string
description: a non empty string
title: nonEmptyString
pattern: ^\S[\s\S]*\S$|^\S$|^$
minLength: 1
EmailAddress:
type: string
description: A valid RFC 5322 email address
title: nonEmptyString
minLength: 1
E164PhoneNumber:
type: string
description: A valid E.164 phone number
title: nonEmptyString
minLength: 1
pattern: ^(?=(?:\D*\d){8,15}$)\+[1-9]\d{0,2}\.?\d+$
CountryCode:
type: string
description: A valid ISO 3166-1 alpha-2 country code
OrderId:
type: string
description: A valid order ID
BadRequest:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 400
code:
type: string
enum:
- bad_request
message:
type: string
additionalProperties: false
DomainTooShort:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 400
code:
type: string
enum:
- domain_too_short
message:
type: string
additionalProperties: false
description: The domain name (excluding the TLD) is too short.
DomainNotRegistered:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 400
code:
type: string
enum:
- domain_not_registered
message:
type: string
additionalProperties: false
description: The domain is not registered with Vercel.
ExpectedPriceMismatch:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 400
code:
type: string
enum:
- expected_price_mismatch
message:
type: string
additionalProperties: false
description: The expected price passed does not match the actual price.
DomainNotAvailable:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 400
code:
type: string
enum:
- domain_not_available
message:
type: string
additionalProperties: false
description: The domain is not available.
TldNotSupported:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 400
code:
type: string
enum:
- tld_not_supported
message:
type: string
additionalProperties: false
description: The TLD is not currently supported.
HttpApiDecodeError:
type: object
required:
- issues
- message
properties:
issues:
type: array
items:
$ref: '#/components/schemas/Issue'
message:
type: string
additionalProperties: false
description: The request did not match the expected schema
Unauthorized:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 401
code:
type: string
enum:
- unauthorized
message:
type: string
additionalProperties: false
NotAuthorizedForScope:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 403
code:
type: string
enum:
- not_authorized_for_scope
message:
type: string
additionalProperties: false
Forbidden:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 403
code:
type: string
enum:
- forbidden
message:
type: string
additionalProperties: false
DomainNotFound:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 404
code:
type: string
enum:
- domain_not_found
message:
type: string
additionalProperties: false
description: The domain was not found in our system.
TooManyRequests:
type: object
required:
- status
- code
- message
- retryAfter
- limit
properties:
status:
type: number
enum:
- 429
code:
type: string
enum:
- too_many_requests
message:
type: string
retryAfter:
type: object
required:
- value
- str
properties:
value:
type: number
str:
type: string
additionalProperties: false
limit:
type: object
required:
- total
- remaining
- reset
properties:
total:
type: number
remaining:
type: number
reset:
type: number
additionalProperties: false
additionalProperties: false
InternalServerError:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 500
code:
type: string
enum:
- internal_server_error
message:
type: string
additionalProperties: false
Issue:
type: object
required:
- path
- message
properties:
path:
type: array
items:
$ref: '#/components/schemas/PropertyKey'
description: The path to the property where the issue occurred
message:
type: string
description: A descriptive message explaining the issue
additionalProperties: false
description: >-
Represents an error encountered while parsing a value to match the
schema
PropertyKey:
anyOf:
- type: string
- type: number
- type: object
required:
- _tag
- key
properties:
_tag:
type: string
enum:
- symbol
key:
type: string
additionalProperties: false
description: an object to be decoded into a globally shared symbol
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/teams/request-access-to-a-team.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Request access to a team
> 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.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples post /v1/teams/{teamId}/request
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/teams/{teamId}/request:
post:
tags:
- teams
summary: Request access to a team
description: >-
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.
operationId: requestAccessToTeam
parameters:
- name: teamId
in: path
required: true
schema:
type: string
description: The unique team identifier
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
requestBody:
content:
application/json:
schema:
type: object
additionalProperties: false
required:
- joinedFrom
properties:
joinedFrom:
type: object
additionalProperties: false
required:
- origin
properties:
origin:
type: string
enum:
- import
- teams
- github
- gitlab
- bitbucket
- feedback
- organization-teams
description: The origin of the request.
example: github
commitId:
type: string
description: The commit sha if the origin is a git provider.
example: f498d25d8bd654b578716203be73084b31130cd7
repoId:
type: string
description: The ID of the repository for the given Git provider.
example: '67753070'
repoPath:
type: string
description: The path to the repository for the given Git provider.
example: jane-doe/example
gitUserId:
description: >-
The ID of the Git account of the user who requests
access.
example: 103053343
oneOf:
- type: string
- type: number
gitUserLogin:
type: string
description: >-
The login name for the Git account of the user who
requests access.
example: jane-doe
required: true
responses:
'200':
description: Successfuly requested access to the team.
content:
application/json:
schema:
properties:
teamSlug:
type: string
teamName:
type: string
confirmed:
type: boolean
enum:
- false
- true
joinedFrom:
properties:
origin:
type: string
enum:
- teams
- link
- import
- mail
- github
- gitlab
- bitbucket
- saml
- dsync
- feedback
- organization-teams
- nsnb-auto-approve
commitId:
type: string
repoId:
type: string
repoPath:
type: string
gitUserId:
oneOf:
- type: string
- type: number
gitUserLogin:
type: string
ssoUserId:
type: string
ssoConnectedAt:
type: number
idpUserId:
type: string
dsyncUserId:
type: string
dsyncConnectedAt:
type: number
required:
- origin
type: object
accessRequestedAt:
type: number
github:
nullable: true
properties:
login:
type: string
type: object
gitlab:
nullable: true
properties:
login:
type: string
type: object
bitbucket:
nullable: true
properties:
login:
type: string
type: object
required:
- bitbucket
- github
- gitlab
- teamName
- teamSlug
type: object
'400':
description: |-
One of the provided values in the request body is invalid.
One of the provided values in the request query is invalid.
'401':
description: ''
'403':
description: You do not have permission to access this resource.
'404':
description: The team was not found.
'503':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/checks/rerequest-a-check.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Rerequest a check
> Rerequest a selected check that has failed.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples post /v1/deployments/{deploymentId}/checks/{checkId}/rerequest
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/deployments/{deploymentId}/checks/{checkId}/rerequest:
post:
tags:
- checks
summary: Rerequest a check
description: Rerequest a selected check that has failed.
operationId: rerequestCheck
parameters:
- name: deploymentId
description: The deployment to rerun the check for.
in: path
required: true
schema:
description: The deployment to rerun the check for.
example: dpl_2qn7PZrx89yxY34vEZPD31Y9XVj6
type: string
- name: checkId
description: The check to rerun
in: path
required: true
schema:
description: The check to rerun
example: check_2qn7PZrx89yxY34vEZPD31Y9XVj6
type: string
- name: autoUpdate
description: Mark the check as running
in: query
required: false
schema:
description: Mark the check as running
type: boolean
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'200':
description: ''
content:
application/json:
schema:
type: object
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: |-
The deployment was not found
Check was not found
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/bulk-redirects/restore-staged-project-level-redirects-to-their-production-version.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Restore staged project-level redirects to their production version.
> Restores the provided redirects in the staging version to the value in the production version. If no production version exists, removes the redirects from staging.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples post /v1/bulk-redirects/restore
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/bulk-redirects/restore:
post:
tags:
- bulk-redirects
summary: Restore staged project-level redirects to their production version.
description: >-
Restores the provided redirects in the staging version to the value in
the production version. If no production version exists, removes the
redirects from staging.
operationId: restoreRedirects
parameters:
- name: projectId
in: query
required: true
schema:
type: string
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
requestBody:
content:
application/json:
schema:
type: object
properties:
name:
type: string
maxLength: 256
redirects:
description: >-
The redirects to restore. The source of the redirect is used
to match the redirect to restore.
type: array
minItems: 1
maxItems: 100
items:
type: string
required:
- redirects
responses:
'200':
description: ''
content:
application/json:
schema:
properties:
version:
properties:
id:
type: string
description: The unique identifier for the version.
key:
type: string
description: >-
The key of the version. The key may be duplicated
across versions if the contents are the same as a
different version.
lastModified:
type: number
createdBy:
type: string
name:
type: string
description: >-
Optional name for the version. If not provided,
defaults to an ISO timestamp string.
isStaging:
type: boolean
enum:
- false
- true
description: >-
Whether this version has not been promoted to
production yet and is not serving end users.
isLive:
type: boolean
enum:
- false
- true
description: Whether this version is currently live in production.
redirectCount:
type: number
description: The number of redirects in this version.
alias:
type: string
description: >-
The staging link for previewing redirects in this
version.
required:
- createdBy
- id
- key
- lastModified
type: object
restored:
items:
type: string
type: array
failedToRestore:
items:
type: string
type: array
required:
- failedToRestore
- restored
- version
type: object
'400':
description: |-
One of the provided values in the request body is invalid.
One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
'500':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/environment/retrieve-a-custom-environment.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Retrieve a custom environment
> Retrieve a custom environment for the project. Must not be named 'Production' or 'Preview'.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v9/projects/{idOrName}/custom-environments/{environmentSlugOrId}
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v9/projects/{idOrName}/custom-environments/{environmentSlugOrId}:
get:
tags:
- environment
summary: Retrieve a custom environment
description: >-
Retrieve a custom environment for the project. Must not be named
'Production' or 'Preview'.
operationId: getCustomEnvironment
parameters:
- name: idOrName
description: The unique project identifier or the project name
in: path
required: true
schema:
description: The unique project identifier or the project name
type: string
- name: environmentSlugOrId
description: The unique custom environment identifier within the project
in: path
required: true
schema:
description: The unique custom environment identifier within the project
type: string
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'200':
description: ''
content:
application/json:
schema:
properties:
id:
type: string
description: >-
Unique identifier for the custom environment (format:
env_*)
slug:
type: string
description: URL-friendly name of the environment
type:
type: string
enum:
- production
- preview
- development
description: >-
The type of environment (production, preview, or
development)
description:
type: string
description: Optional description of the environment's purpose
branchMatcher:
properties:
type:
type: string
enum:
- endsWith
- startsWith
- equals
description: The type of matching to perform
pattern:
type: string
description: The pattern to match against branch names
required:
- pattern
- type
type: object
description: >-
Configuration for matching git branches to this
environment
domains:
items:
properties:
name:
type: string
apexName:
type: string
projectId:
type: string
redirect:
nullable: true
type: string
redirectStatusCode:
nullable: true
type: number
enum:
- 301
- 302
- 307
- 308
gitBranch:
nullable: true
type: string
customEnvironmentId:
nullable: true
type: string
updatedAt:
type: number
createdAt:
type: number
verified:
type: boolean
enum:
- false
- true
description: >-
`true` if the domain is verified for use with the
project. If `false` it will not be used as an alias
on this project until the challenge in
`verification` is completed.
verification:
items:
properties:
type:
type: string
domain:
type: string
value:
type: string
reason:
type: string
required:
- domain
- reason
- type
- value
type: object
description: >-
A list of verification challenges, one of which
must be completed to verify the domain for use on
the project. After the challenge is complete `POST
/projects/:idOrName/domains/:domain/verify` to
verify the domain. Possible challenges: - If
`verification.type = TXT` the
`verification.domain` will be checked for a TXT
record matching `verification.value`.
type: array
description: >-
A list of verification challenges, one of which must
be completed to verify the domain for use on the
project. After the challenge is complete `POST
/projects/:idOrName/domains/:domain/verify` to
verify the domain. Possible challenges: - If
`verification.type = TXT` the `verification.domain`
will be checked for a TXT record matching
`verification.value`.
required:
- apexName
- name
- projectId
- verified
type: object
description: List of domains associated with this environment
type: array
description: List of domains associated with this environment
currentDeploymentAliases:
items:
type: string
type: array
description: List of aliases for the current deployment
createdAt:
type: number
description: Timestamp when the environment was created
updatedAt:
type: number
description: Timestamp when the environment was last updated
required:
- createdAt
- id
- slug
- type
- updatedAt
type: object
description: >-
Internal representation of a custom environment with all
required properties
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/checks/retrieve-a-list-of-all-checks.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Retrieve a list of all checks
> List all of the checks created for a deployment.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v1/deployments/{deploymentId}/checks
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/deployments/{deploymentId}/checks:
get:
tags:
- checks
summary: Retrieve a list of all checks
description: List all of the checks created for a deployment.
operationId: getAllChecks
parameters:
- name: deploymentId
description: The deployment to get all checks for
in: path
required: true
schema:
description: The deployment to get all checks for
example: dpl_2qn7PZrx89yxY34vEZPD31Y9XVj6
type: string
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'200':
description: ''
content:
application/json:
schema:
properties:
checks:
items:
properties:
completedAt:
type: number
conclusion:
type: string
enum:
- canceled
- failed
- neutral
- succeeded
- skipped
- stale
createdAt:
type: number
detailsUrl:
type: string
id:
type: string
integrationId:
type: string
name:
type: string
output:
properties:
metrics:
properties:
FCP:
properties:
value:
nullable: true
type: number
previousValue:
type: number
source:
type: string
enum:
- web-vitals
required:
- source
- value
type: object
LCP:
properties:
value:
nullable: true
type: number
previousValue:
type: number
source:
type: string
enum:
- web-vitals
required:
- source
- value
type: object
CLS:
properties:
value:
nullable: true
type: number
previousValue:
type: number
source:
type: string
enum:
- web-vitals
required:
- source
- value
type: object
TBT:
properties:
value:
nullable: true
type: number
previousValue:
type: number
source:
type: string
enum:
- web-vitals
required:
- source
- value
type: object
virtualExperienceScore:
properties:
value:
nullable: true
type: number
previousValue:
type: number
source:
type: string
enum:
- web-vitals
required:
- source
- value
type: object
required:
- CLS
- FCP
- LCP
- TBT
type: object
type: object
path:
type: string
rerequestable:
type: boolean
enum:
- false
- true
blocking:
type: boolean
enum:
- false
- true
startedAt:
type: number
status:
type: string
enum:
- registered
- running
- completed
updatedAt:
type: number
required:
- blocking
- createdAt
- id
- integrationId
- name
- rerequestable
- status
- updatedAt
type: object
type: array
required:
- checks
type: object
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: The deployment was not found
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/drains/retrieve-a-list-of-all-drains.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Retrieve a list of all Drains
> Allows to retrieve the list of Drains of the authenticated team.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v1/drains
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/drains:
get:
tags:
- drains
summary: Retrieve a list of all Drains
description: Allows to retrieve the list of Drains of the authenticated team.
operationId: getDrains
parameters:
- name: projectId
in: query
schema:
type: string
- name: includeMetadata
in: query
schema:
type: boolean
default: false
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'200':
description: ''
content:
application/json:
schema:
properties:
drains:
oneOf:
- items:
properties:
id:
type: string
createdAt:
type: number
updatedAt:
type: number
projectIds:
items:
type: string
type: array
name:
type: string
teamId:
nullable: true
type: string
ownerId:
type: string
status:
type: string
enum:
- enabled
- disabled
- errored
firstErrorTimestamp:
type: number
disabledAt:
type: number
disabledBy:
type: string
disabledReason:
type: string
enum:
- disabled-by-owner
- feature-not-available
- account-plan-downgrade
- disabled-by-admin
schemas:
properties:
log:
type: object
trace:
type: object
analytics:
type: object
speed_insights:
type: object
type: object
delivery:
oneOf:
- properties:
type:
type: string
enum:
- http
endpoint:
type: string
encoding:
type: string
enum:
- json
- ndjson
compression:
type: string
enum:
- none
- gzip
headers:
additionalProperties:
type: string
type: object
secret:
oneOf:
- type: string
- properties:
kind:
type: string
enum:
- INTEGRATION_SECRET
required:
- kind
type: object
required:
- encoding
- endpoint
- headers
- type
type: object
- properties:
type:
type: string
enum:
- otlphttp
endpoint:
properties:
traces:
type: string
required:
- traces
type: object
encoding:
type: string
enum:
- json
- proto
headers:
additionalProperties:
type: string
type: object
secret:
oneOf:
- type: string
- properties:
kind:
type: string
enum:
- INTEGRATION_SECRET
required:
- kind
type: object
required:
- encoding
- endpoint
- headers
- type
type: object
- properties:
type:
type: string
enum:
- clickhouse
endpoint:
type: string
table:
type: string
required:
- endpoint
- table
- type
type: object
- properties:
type:
type: string
enum:
- internal
target:
type: string
enum:
- vercel-otel-traces-db
required:
- target
- type
type: object
sampling:
items:
properties:
type:
type: string
enum:
- head_sampling
rate:
type: number
env:
type: string
enum:
- production
- preview
requestPath:
type: string
required:
- rate
- type
type: object
type: array
source:
oneOf:
- properties:
kind:
type: string
enum:
- self-served
required:
- kind
type: object
- properties:
kind:
type: string
enum:
- integration
resourceId:
type: string
externalResourceId:
type: string
integrationId:
type: string
integrationConfigurationId:
type: string
required:
- integrationConfigurationId
- integrationId
- kind
type: object
filter:
type: string
filterV2:
oneOf:
- properties:
version:
type: string
enum:
- v1
required:
- version
type: object
- properties:
version:
type: string
enum:
- v2
filter:
oneOf:
- properties:
type:
type: string
enum:
- basic
project:
properties:
ids:
items:
type: string
type: array
type: object
log:
properties:
sources:
items:
type: string
enum:
- build
- edge
- lambda
- static
- external
- firewall
- redirect
type: array
legacy_excludeCachedStaticAssetLogs:
type: boolean
enum:
- false
- true
type: object
deployment:
properties:
environments:
items:
type: string
enum:
- production
- preview
type: array
type: object
required:
- type
type: object
- properties:
type:
type: string
enum:
- odata
text:
type: string
required:
- text
- type
type: object
required:
- filter
- version
type: object
required:
- createdAt
- delivery
- id
- name
- ownerId
- schemas
- source
- updatedAt
type: object
type: array
- items:
properties:
id:
type: string
createdAt:
type: number
updatedAt:
type: number
projectIds:
items:
type: string
type: array
name:
type: string
teamId:
nullable: true
type: string
ownerId:
type: string
status:
type: string
enum:
- enabled
- disabled
- errored
firstErrorTimestamp:
type: number
disabledAt:
type: number
disabledBy:
type: string
disabledReason:
type: string
enum:
- disabled-by-owner
- feature-not-available
- account-plan-downgrade
- disabled-by-admin
schemas:
properties:
log:
type: object
trace:
type: object
analytics:
type: object
speed_insights:
type: object
type: object
delivery:
oneOf:
- properties:
type:
type: string
enum:
- http
endpoint:
type: string
encoding:
type: string
enum:
- json
- ndjson
compression:
type: string
enum:
- none
- gzip
headers:
additionalProperties:
type: string
type: object
secret:
oneOf:
- type: string
- properties:
kind:
type: string
enum:
- INTEGRATION_SECRET
required:
- kind
type: object
required:
- encoding
- endpoint
- headers
- type
type: object
- properties:
type:
type: string
enum:
- otlphttp
endpoint:
properties:
traces:
type: string
required:
- traces
type: object
encoding:
type: string
enum:
- json
- proto
headers:
additionalProperties:
type: string
type: object
secret:
oneOf:
- type: string
- properties:
kind:
type: string
enum:
- INTEGRATION_SECRET
required:
- kind
type: object
required:
- encoding
- endpoint
- headers
- type
type: object
- properties:
type:
type: string
enum:
- clickhouse
endpoint:
type: string
table:
type: string
required:
- endpoint
- table
- type
type: object
- properties:
type:
type: string
enum:
- internal
target:
type: string
enum:
- vercel-otel-traces-db
required:
- target
- type
type: object
sampling:
items:
properties:
type:
type: string
enum:
- head_sampling
rate:
type: number
env:
type: string
enum:
- production
- preview
requestPath:
type: string
required:
- rate
- type
type: object
type: array
source:
oneOf:
- properties:
kind:
type: string
enum:
- self-served
required:
- kind
type: object
- properties:
kind:
type: string
enum:
- integration
resourceId:
type: string
externalResourceId:
type: string
integrationId:
type: string
integrationConfigurationId:
type: string
required:
- integrationConfigurationId
- integrationId
- kind
type: object
filter:
type: string
filterV2:
oneOf:
- properties:
version:
type: string
enum:
- v1
required:
- version
type: object
- properties:
version:
type: string
enum:
- v2
filter:
oneOf:
- properties:
type:
type: string
enum:
- basic
project:
properties:
ids:
items:
type: string
type: array
type: object
log:
properties:
sources:
items:
type: string
enum:
- build
- edge
- lambda
- static
- external
- firewall
- redirect
type: array
legacy_excludeCachedStaticAssetLogs:
type: boolean
enum:
- false
- true
type: object
deployment:
properties:
environments:
items:
type: string
enum:
- production
- preview
type: array
type: object
required:
- type
type: object
- properties:
type:
type: string
enum:
- odata
text:
type: string
required:
- text
- type
type: object
required:
- filter
- version
type: object
integrationIcon:
type: string
integrationConfigurationUri:
type: string
integrationWebsite:
type: string
projectAccess:
oneOf:
- properties:
access:
type: string
enum:
- all
required:
- access
type: object
- properties:
access:
type: string
enum:
- some
projectIds:
items:
type: string
type: array
required:
- access
- projectIds
type: object
required:
- createdAt
- delivery
- id
- name
- ownerId
- schemas
- source
- updatedAt
type: object
type: array
required:
- drains
type: object
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/projects/retrieve-a-list-of-projects.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Retrieve a list of projects
> Allows 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.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v10/projects
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v10/projects:
get:
tags:
- projects
summary: Retrieve a list of projects
description: >-
Allows 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.
operationId: getProjects
parameters:
- name: from
description: >-
Query only projects updated after the given timestamp or
continuation token.
in: query
schema:
description: >-
Query only projects updated after the given timestamp or
continuation token.
type: string
- name: gitForkProtection
description: >-
Specifies whether PRs from Git forks should require a team member's
authorization before it can be deployed
in: query
schema:
description: >-
Specifies whether PRs from Git forks should require a team
member's authorization before it can be deployed
type: string
enum:
- '1'
- '0'
example: '1'
- name: limit
description: Limit the number of projects returned
in: query
schema:
description: Limit the number of projects returned
type: string
- name: search
description: Search projects by the name field
in: query
schema:
description: Search projects by the name field
type: string
maxLength: 100
- name: repo
description: Filter results by repo. Also used for project count
in: query
schema:
description: Filter results by repo. Also used for project count
type: string
- name: repoId
description: Filter results by Repository ID.
in: query
schema:
description: Filter results by Repository ID.
type: string
- name: repoUrl
description: Filter results by Repository URL.
in: query
schema:
description: Filter results by Repository URL.
type: string
example: https://github.com/vercel/next.js
- name: excludeRepos
description: Filter results by excluding those projects that belong to a repo
in: query
schema:
description: Filter results by excluding those projects that belong to a repo
type: string
- name: edgeConfigId
description: Filter results by connected Edge Config ID
in: query
schema:
description: Filter results by connected Edge Config ID
type: string
- name: edgeConfigTokenId
description: Filter results by connected Edge Config Token ID
in: query
schema:
description: Filter results by connected Edge Config Token ID
type: string
- name: deprecated
in: query
schema:
type: boolean
- name: elasticConcurrencyEnabled
description: Filter results by projects with elastic concurrency enabled
in: query
schema:
description: Filter results by projects with elastic concurrency enabled
type: string
enum:
- '1'
- '0'
example: '1'
- name: staticIpsEnabled
description: Filter results by projects with Static IPs enabled
in: query
schema:
description: Filter results by projects with Static IPs enabled
enum:
- '0'
- '1'
example: '1'
type: string
- name: buildMachineTypes
description: >-
Filter results by build machine types. Accepts comma-separated
values. Use \"default\" for projects without a build machine type
set.
in: query
schema:
description: >-
Filter results by build machine types. Accepts comma-separated
values. Use \"default\" for projects without a build machine type
set.
type: string
example: default,enhanced
- name: buildQueueConfiguration
description: >-
Filter results by build queue configuration. SKIP_NAMESPACE_QUEUE
includes projects without a configuration set.
in: query
schema:
description: >-
Filter results by build queue configuration. SKIP_NAMESPACE_QUEUE
includes projects without a configuration set.
type: string
enum:
- SKIP_NAMESPACE_QUEUE
- WAIT_FOR_NAMESPACE_QUEUE
example: SKIP_NAMESPACE_QUEUE
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'200':
description: ''
content:
application/json:
schema:
nullable: true
oneOf:
- items:
properties:
accountId:
type: string
alias:
items:
properties:
configuredBy:
nullable: true
type: string
enum:
- A
- CNAME
- http
- dns-01
configuredChangedAt:
nullable: true
type: number
createdAt:
nullable: true
type: number
deployment:
nullable: true
properties:
alias:
items:
type: string
type: array
aliasAssigned:
nullable: true
oneOf:
- type: number
- type: boolean
enum:
- false
- true
builds:
items:
properties:
use:
type: string
src:
type: string
dest:
type: string
required:
- use
type: object
type: array
createdAt:
type: number
createdIn:
type: string
creator:
nullable: true
properties:
email:
type: string
githubLogin:
type: string
gitlabLogin:
type: string
uid:
type: string
username:
type: string
required:
- email
- uid
- username
type: object
deploymentHostname:
type: string
name:
type: string
forced:
type: boolean
enum:
- false
- true
id:
type: string
meta:
additionalProperties:
type: string
type: object
plan:
type: string
private:
type: boolean
enum:
- false
- true
readyState:
type: string
requestedAt:
type: number
target:
nullable: true
type: string
teamId:
nullable: true
type: string
type:
type: string
url:
type: string
userId:
type: string
withCache:
type: boolean
enum:
- false
- true
required:
- createdAt
- createdIn
- creator
- deploymentHostname
- id
- name
- plan
- private
- readyState
- type
- url
- userId
type: object
domain:
type: string
environment:
type: string
enum:
- production
- preview
gitBranch:
nullable: true
type: string
redirect:
nullable: true
type: string
redirectStatusCode:
nullable: true
type: number
enum:
- 301
- 302
- 307
- 308
target:
type: string
enum:
- PRODUCTION
- STAGING
- PREVIEW
required:
- deployment
- domain
- environment
- target
type: object
type: array
analytics:
properties:
id:
type: string
canceledAt:
nullable: true
type: number
disabledAt:
type: number
enabledAt:
type: number
paidAt:
type: number
sampleRatePercent:
nullable: true
type: number
spendLimitInDollars:
nullable: true
type: number
required:
- disabledAt
- enabledAt
- id
type: object
appliedCve55182Migration:
type: boolean
enum:
- false
- true
autoExposeSystemEnvs:
type: boolean
enum:
- false
- true
autoAssignCustomDomains:
type: boolean
enum:
- false
- true
autoAssignCustomDomainsUpdatedBy:
type: string
buildCommand:
nullable: true
type: string
commandForIgnoringBuildStep:
nullable: true
type: string
customerSupportCodeVisibility:
type: boolean
enum:
- false
- true
createdAt:
type: number
devCommand:
nullable: true
type: string
directoryListing:
type: boolean
enum:
- false
- true
deploymentExpiration:
nullable: true
properties:
expirationDays:
type: number
description: >-
Number of days to keep non-production
deployments (mostly preview deployments) before
soft deletion.
expirationDaysProduction:
type: number
description: >-
Number of days to keep production deployments
before soft deletion.
expirationDaysCanceled:
type: number
description: >-
Number of days to keep canceled deployments
before soft deletion.
expirationDaysErrored:
type: number
description: >-
Number of days to keep errored deployments
before soft deletion.
deploymentsToKeep:
type: number
description: >-
Minimum number of production deployments to keep
for this project, even if they are over the
production expiration limit.
type: object
description: >-
Retention policies for deployments. These are
enforced at the project level, but we also maintain
an instance of this at the team level as a default
policy that gets applied to new projects.
installCommand:
nullable: true
type: string
ipBuckets:
items:
properties:
bucket:
type: string
supportUntil:
type: number
required:
- bucket
type: object
type: array
env:
items:
properties:
target:
oneOf:
- items:
type: string
enum:
- production
- preview
- development
- preview
- development
type: array
- type: string
enum:
- production
- preview
- development
- preview
- development
type:
type: string
enum:
- secret
- system
- encrypted
- plain
- sensitive
sunsetSecretId:
type: string
description: >-
This is used to identify variables that have
been migrated from type secret to sensitive.
legacyValue:
type: string
description: >-
Legacy now-encryption ciphertext, present
after migration swaps value/vsmValue
decrypted:
type: boolean
enum:
- false
- true
value:
type: string
vsmValue:
type: string
id:
type: string
key:
type: string
configurationId:
nullable: true
type: string
createdAt:
type: number
updatedAt:
type: number
createdBy:
nullable: true
type: string
updatedBy:
nullable: true
type: string
gitBranch:
type: string
edgeConfigId:
nullable: true
type: string
edgeConfigTokenId:
nullable: true
type: string
contentHint:
nullable: true
oneOf:
- properties:
type:
type: string
enum:
- redis-url
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- redis-rest-api-url
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- redis-rest-api-token
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- redis-rest-api-read-only-token
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- blob-read-write-token
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-url
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-url-non-pooling
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-prisma-url
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-user
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-host
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-password
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-database
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-url-no-ssl
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- integration-store-secret
storeId:
type: string
integrationId:
type: string
integrationProductId:
type: string
integrationConfigurationId:
type: string
required:
- integrationConfigurationId
- integrationId
- integrationProductId
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- flags-connection-string
projectId:
type: string
required:
- projectId
- type
type: object
internalContentHint:
nullable: true
properties:
type:
type: string
enum:
- flags-secret
encryptedValue:
type: string
description: >-
Contains the `value` of the env variable,
encrypted with a special key to make
decryption possible in the subscriber
Lambda.
required:
- encryptedValue
- type
type: object
description: >-
Similar to `contentHints`, but should not be
exposed to the user.
comment:
type: string
customEnvironmentIds:
items:
type: string
type: array
required:
- key
- type
- value
type: object
type: array
framework:
nullable: true
type: string
enum:
- blitzjs
- nextjs
- gatsby
- remix
- react-router
- astro
- hexo
- eleventy
- docusaurus-2
- docusaurus
- preact
- solidstart-1
- solidstart
- dojo
- ember
- vue
- scully
- ionic-angular
- angular
- polymer
- svelte
- sveltekit
- sveltekit-1
- ionic-react
- create-react-app
- gridsome
- umijs
- sapper
- saber
- stencil
- nuxtjs
- redwoodjs
- hugo
- jekyll
- brunch
- middleman
- zola
- hydrogen
- vite
- tanstack-start
- vitepress
- vuepress
- parcel
- fastapi
- flask
- fasthtml
- sanity-v3
- sanity
- storybook
- nitro
- hono
- express
- h3
- koa
- nestjs
- elysia
- fastify
- xmcp
- python
- ruby
- rust
- node
- services
gitForkProtection:
type: boolean
enum:
- false
- true
id:
type: string
latestDeployments:
items:
properties:
alias:
items:
type: string
type: array
aliasAssigned:
nullable: true
oneOf:
- type: number
- type: boolean
enum:
- false
- true
builds:
items:
properties:
use:
type: string
src:
type: string
dest:
type: string
required:
- use
type: object
type: array
createdAt:
type: number
createdIn:
type: string
creator:
nullable: true
properties:
email:
type: string
githubLogin:
type: string
gitlabLogin:
type: string
uid:
type: string
username:
type: string
required:
- email
- uid
- username
type: object
deploymentHostname:
type: string
name:
type: string
forced:
type: boolean
enum:
- false
- true
id:
type: string
meta:
additionalProperties:
type: string
type: object
plan:
type: string
private:
type: boolean
enum:
- false
- true
readyState:
type: string
requestedAt:
type: number
target:
nullable: true
type: string
teamId:
nullable: true
type: string
type:
type: string
url:
type: string
userId:
type: string
withCache:
type: boolean
enum:
- false
- true
required:
- createdAt
- createdIn
- creator
- deploymentHostname
- id
- name
- plan
- private
- readyState
- type
- url
- userId
type: object
type: array
link:
oneOf:
- properties:
org:
type: string
repoOwnerId:
type: number
description: >-
A new field, should be included in all new
project links, is being added just in time
when a deployment is created. This is needed
for Protected Git scopes.
repo:
type: string
repoId:
type: number
type:
type: string
enum:
- github
createdAt:
type: number
deployHooks:
items:
properties:
createdAt:
type: number
id:
type: string
name:
type: string
ref:
type: string
url:
type: string
required:
- id
- name
- ref
- url
type: object
type: array
gitCredentialId:
type: string
updatedAt:
type: number
sourceless:
type: boolean
enum:
- false
- true
productionBranch:
type: string
required:
- deployHooks
- gitCredentialId
- org
- productionBranch
- type
type: object
- properties:
type:
type: string
enum:
- github-limited
repo:
type: string
repoId:
type: number
createdAt:
type: number
updatedAt:
type: number
org:
type: string
repoOwnerId:
type: number
description: >-
A new field, should be included in all new
project links, is being added just in time
when a deployment is created. This is needed
for Protected Git scopes.
deployHooks:
items:
properties:
createdAt:
type: number
id:
type: string
name:
type: string
ref:
type: string
url:
type: string
required:
- id
- name
- ref
- url
type: object
type: array
gitCredentialId:
type: string
sourceless:
type: boolean
enum:
- false
- true
productionBranch:
type: string
required:
- deployHooks
- gitCredentialId
- org
- productionBranch
- type
type: object
- properties:
org:
type: string
repoOwnerId:
type: number
description: >-
A new field, should be included in all new
project links, is being added just in time
when a deployment is created. This is needed
for Protected Git scopes.
repo:
type: string
repoId:
type: number
type:
type: string
enum:
- github-custom-host
host:
type: string
createdAt:
type: number
deployHooks:
items:
properties:
createdAt:
type: number
id:
type: string
name:
type: string
ref:
type: string
url:
type: string
required:
- id
- name
- ref
- url
type: object
type: array
gitCredentialId:
type: string
updatedAt:
type: number
sourceless:
type: boolean
enum:
- false
- true
productionBranch:
type: string
required:
- deployHooks
- gitCredentialId
- host
- org
- productionBranch
- type
type: object
- properties:
projectId:
type: string
projectName:
type: string
projectNameWithNamespace:
type: string
projectNamespace:
type: string
projectOwnerId:
type: number
description: >-
A new field, should be included in all new
project links, is being added just in time
when a deployment is created. This is needed
for Protected Git scopes. This is the id of
the top level group that a namespace belongs
to. Gitlab supports group nesting (up to 20
levels).
projectUrl:
type: string
type:
type: string
enum:
- gitlab
createdAt:
type: number
deployHooks:
items:
properties:
createdAt:
type: number
id:
type: string
name:
type: string
ref:
type: string
url:
type: string
required:
- id
- name
- ref
- url
type: object
type: array
gitCredentialId:
type: string
updatedAt:
type: number
sourceless:
type: boolean
enum:
- false
- true
productionBranch:
type: string
required:
- deployHooks
- gitCredentialId
- productionBranch
- projectId
- projectName
- projectNameWithNamespace
- projectNamespace
- projectUrl
- type
type: object
- properties:
name:
type: string
slug:
type: string
owner:
type: string
type:
type: string
enum:
- bitbucket
uuid:
type: string
workspaceUuid:
type: string
createdAt:
type: number
deployHooks:
items:
properties:
createdAt:
type: number
id:
type: string
name:
type: string
ref:
type: string
url:
type: string
required:
- id
- name
- ref
- url
type: object
type: array
gitCredentialId:
type: string
updatedAt:
type: number
sourceless:
type: boolean
enum:
- false
- true
productionBranch:
type: string
required:
- deployHooks
- gitCredentialId
- name
- owner
- productionBranch
- slug
- type
- uuid
- workspaceUuid
type: object
name:
type: string
nodeVersion:
type: string
enum:
- 24.x
- 22.x
- 20.x
- 18.x
- 16.x
- 14.x
- 12.x
- 10.x
- 8.10.x
outputDirectory:
nullable: true
type: string
passwordProtection:
nullable: true
type: object
publicSource:
nullable: true
type: boolean
enum:
- false
- true
resourceConfig:
properties:
elasticConcurrencyEnabled:
type: boolean
enum:
- false
- true
fluid:
type: boolean
enum:
- false
- true
functionDefaultRegions:
items:
type: string
type: array
functionDefaultTimeout:
type: number
functionDefaultMemoryType:
type: string
enum:
- standard_legacy
- standard
- performance
functionZeroConfigFailover:
type: boolean
enum:
- false
- true
buildMachineType:
type: string
enum:
- enhanced
- turbo
isNSNBDisabled:
type: boolean
enum:
- false
- true
buildQueue:
properties:
configuration:
type: string
enum:
- SKIP_NAMESPACE_QUEUE
- WAIT_FOR_NAMESPACE_QUEUE
type: object
type: object
required:
- functionDefaultRegions
rollingRelease:
nullable: true
properties:
target:
type: string
description: >-
The environment that the release targets,
currently only supports production. Adding in
case we want to configure with alias groups or
custom environments.
example: production
stages:
nullable: true
items:
properties:
targetPercentage:
type: number
description: >-
The percentage of traffic to serve to the
canary deployment (0-100)
example: 25
requireApproval:
type: boolean
enum:
- false
- true
description: >-
Whether or not this stage requires manual
approval to proceed
example: false
duration:
type: number
description: >-
Duration in minutes for automatic
advancement to the next stage
example: 600
linearShift:
type: boolean
enum:
- false
- true
description: >-
Whether to linearly shift traffic over the
duration of this stage
example: false
required:
- targetPercentage
type: object
description: >-
An array of all the stages required during a
deployment release. Each stage defines a
target percentage and advancement rules. The
final stage must always have targetPercentage:
100.
type: array
description: >-
An array of all the stages required during a
deployment release. Each stage defines a target
percentage and advancement rules. The final
stage must always have targetPercentage: 100.
canaryResponseHeader:
type: boolean
enum:
- false
- true
description: >-
Whether the request served by a canary
deployment should return a header indicating a
canary was served. Defaults to `false` when
omitted.
example: false
required:
- target
type: object
description: >-
Project-level rolling release configuration that
defines how deployments should be gradually rolled
out
rootDirectory:
nullable: true
type: string
serverlessFunctionRegion:
type: string
serverlessFunctionZeroConfigFailover:
type: boolean
enum:
- false
- true
speedInsights:
properties:
id:
type: string
enabledAt:
type: number
disabledAt:
type: number
canceledAt:
type: number
hasData:
type: boolean
enum:
- false
- true
paidAt:
type: number
required:
- id
type: object
skipGitConnectDuringLink:
type: boolean
enum:
- false
- true
sourceFilesOutsideRootDirectory:
type: boolean
enum:
- false
- true
ssoProtection:
nullable: true
properties:
deploymentType:
type: string
enum:
- preview
- all
- prod_deployment_urls_and_all_previews
- all_except_custom_domains
cve55182MigrationAppliedFrom:
nullable: true
type: string
enum:
- preview
- all
- prod_deployment_urls_and_all_previews
- all_except_custom_domains
required:
- deploymentType
type: object
targets:
additionalProperties:
nullable: true
properties:
alias:
items:
type: string
type: array
aliasAssigned:
nullable: true
oneOf:
- type: number
- type: boolean
enum:
- false
- true
builds:
items:
properties:
use:
type: string
src:
type: string
dest:
type: string
required:
- use
type: object
type: array
createdAt:
type: number
createdIn:
type: string
creator:
nullable: true
properties:
email:
type: string
githubLogin:
type: string
gitlabLogin:
type: string
uid:
type: string
username:
type: string
required:
- email
- uid
- username
type: object
deploymentHostname:
type: string
name:
type: string
forced:
type: boolean
enum:
- false
- true
id:
type: string
meta:
additionalProperties:
type: string
type: object
plan:
type: string
private:
type: boolean
enum:
- false
- true
readyState:
type: string
requestedAt:
type: number
target:
nullable: true
type: string
teamId:
nullable: true
type: string
type:
type: string
url:
type: string
userId:
type: string
withCache:
type: boolean
enum:
- false
- true
required:
- createdAt
- createdIn
- creator
- deploymentHostname
- id
- name
- plan
- private
- readyState
- type
- url
- userId
type: object
type: object
transferCompletedAt:
type: number
transferStartedAt:
type: number
transferToAccountId:
type: string
transferredFromAccountId:
type: string
updatedAt:
type: number
live:
type: boolean
enum:
- false
- true
hasActiveBranches:
type: boolean
enum:
- false
- true
gitComments:
properties:
onPullRequest:
type: boolean
enum:
- false
- true
description: Whether the Vercel bot should comment on PRs
onCommit:
type: boolean
enum:
- false
- true
description: Whether the Vercel bot should comment on commits
required:
- onCommit
- onPullRequest
type: object
gitProviderOptions:
properties:
createDeployments:
type: string
enum:
- enabled
- disabled
description: >-
Whether the Vercel bot should automatically
create GitHub deployments
https://docs.github.com/en/rest/deployments/deployments#about-deployments
NOTE: repository-dispatch events should be used
instead
disableRepositoryDispatchEvents:
type: boolean
enum:
- false
- true
description: >-
Whether the Vercel bot should not automatically
create GitHub repository-dispatch events on
deployment events.
https://vercel.com/docs/git/vercel-for-github#repository-dispatch-events
requireVerifiedCommits:
type: boolean
enum:
- false
- true
description: >-
Whether the project requires commits to be
signed before deployments will be created.
required:
- createDeployments
type: object
paused:
type: boolean
enum:
- false
- true
webAnalytics:
properties:
id:
type: string
disabledAt:
type: number
canceledAt:
type: number
enabledAt:
type: number
hasData:
type: boolean
enum:
- true
required:
- id
type: object
security:
properties:
attackModeEnabled:
type: boolean
enum:
- false
- true
attackModeUpdatedAt:
type: number
firewallEnabled:
type: boolean
enum:
- false
- true
firewallUpdatedAt:
type: number
attackModeActiveUntil:
nullable: true
type: number
firewallConfigVersion:
type: number
firewallRoutes:
items:
properties:
src:
oneOf:
- type: string
- properties:
re:
type: string
eq:
type: string
neq:
type: string
inc:
items:
type: string
type: array
ninc:
items:
type: string
type: array
pre:
type: string
suf:
type: string
gt:
type: number
gte:
type: number
lt:
type: number
lte:
type: number
type: object
has:
items:
properties:
type:
type: string
enum:
- path
- query
- host
- method
- header
- cookie
- ip_address
- protocol
- scheme
- environment
- region
- initial_request_path
key:
type: string
value:
oneOf:
- type: string
- properties:
re:
type: string
eq:
type: string
neq:
type: string
inc:
items:
type: string
type: array
ninc:
items:
type: string
type: array
pre:
type: string
suf:
type: string
gt:
type: number
gte:
type: number
lt:
type: number
lte:
type: number
type: object
required:
- type
type: object
type: array
missing:
items:
properties:
type:
type: string
enum:
- path
- query
- host
- method
- header
- cookie
- ip_address
- protocol
- scheme
- environment
- region
- initial_request_path
key:
type: string
value:
oneOf:
- type: string
- properties:
re:
type: string
eq:
type: string
neq:
type: string
inc:
items:
type: string
type: array
ninc:
items:
type: string
type: array
pre:
type: string
suf:
type: string
gt:
type: number
gte:
type: number
lt:
type: number
lte:
type: number
type: object
required:
- type
type: object
type: array
dest:
type: string
status:
type: number
handle:
type: string
enum:
- init
- finalize
mitigate:
properties:
action:
type: string
enum:
- log
- deny
- challenge
- bypass
- rate_limit
- redirect
rule_id:
type: string
ttl:
type: number
erl:
properties:
algo:
type: string
enum:
- fixed_window
- token_bucket
window:
type: number
limit:
type: number
keys:
items:
type: string
type: array
required:
- algo
- keys
- limit
- window
type: object
required:
- action
- rule_id
type: object
type: object
type: array
firewallSeawallEnabled:
type: boolean
enum:
- false
- true
ja3Enabled:
type: boolean
enum:
- false
- true
ja4Enabled:
type: boolean
enum:
- false
- true
firewallBypassIps:
items:
type: string
type: array
managedRules:
nullable: true
properties:
vercel_ruleset:
properties:
active:
type: boolean
enum:
- false
- true
action:
type: string
enum:
- log
- deny
- challenge
required:
- active
type: object
bot_filter:
properties:
active:
type: boolean
enum:
- false
- true
action:
type: string
enum:
- log
- deny
- challenge
required:
- active
type: object
ai_bots:
properties:
active:
type: boolean
enum:
- false
- true
action:
type: string
enum:
- log
- deny
- challenge
required:
- active
type: object
owasp:
properties:
active:
type: boolean
enum:
- false
- true
action:
type: string
enum:
- log
- deny
- challenge
required:
- active
type: object
required:
- ai_bots
- bot_filter
- owasp
- vercel_ruleset
type: object
botIdEnabled:
type: boolean
enum:
- false
- true
type: object
oidcTokenConfig:
properties:
enabled:
type: boolean
enum:
- false
- true
description: >-
Whether or not to generate OpenID Connect JSON
Web Tokens.
issuerMode:
type: string
enum:
- team
- global
description: >-
- team: `https://oidc.vercel.com/[team_slug]` -
global: `https://oidc.vercel.com`
type: object
tier:
type: string
enum:
- standard
- advanced
- critical
abuse:
properties:
scanner:
type: string
history:
items:
properties:
scanner:
type: string
reason:
type: string
by:
type: string
byId:
type: string
at:
type: number
required:
- at
- by
- byId
- reason
- scanner
type: object
type: array
updatedAt:
type: number
block:
properties:
action:
type: string
enum:
- blocked
reason:
type: string
statusCode:
type: number
createdAt:
type: number
caseId:
type: string
actor:
type: string
comment:
type: string
ineligibleForAppeal:
type: boolean
enum:
- false
- true
isCascading:
type: boolean
enum:
- false
- true
required:
- action
- createdAt
- reason
- statusCode
type: object
blockHistory:
items:
oneOf:
- properties:
action:
type: string
enum:
- blocked
reason:
type: string
statusCode:
type: number
createdAt:
type: number
caseId:
type: string
actor:
type: string
comment:
type: string
ineligibleForAppeal:
type: boolean
enum:
- false
- true
isCascading:
type: boolean
enum:
- false
- true
required:
- action
- createdAt
- reason
- statusCode
type: object
- properties:
action:
type: string
enum:
- unblocked
createdAt:
type: number
caseId:
type: string
actor:
type: string
comment:
type: string
ineligibleForAppeal:
type: boolean
enum:
- false
- true
isCascading:
type: boolean
enum:
- false
- true
required:
- action
- createdAt
type: object
- properties:
action:
type: string
enum:
- route-blocked
route:
oneOf:
- properties:
src:
type: string
status:
type: number
required:
- src
- status
type: object
- properties:
has:
items:
oneOf:
- properties:
type:
type: string
enum:
- header
key:
type: string
enum:
- x-vercel-ip-country
value:
properties:
eq:
type: string
required:
- eq
type: object
required:
- key
- type
- value
type: object
- properties:
type:
type: string
enum:
- host
value:
properties:
eq:
type: string
required:
- eq
type: object
required:
- type
- value
type: object
type: array
mitigate:
properties:
action:
type: string
enum:
- block_legal_cwc
required:
- action
type: object
src:
type: string
required:
- has
- mitigate
type: object
reason:
type: string
createdAt:
type: number
caseId:
type: string
actor:
type: string
comment:
type: string
ineligibleForAppeal:
type: boolean
enum:
- false
- true
isCascading:
type: boolean
enum:
- false
- true
required:
- action
- createdAt
- reason
- route
type: object
- properties:
action:
type: string
enum:
- route-unblocked
route:
oneOf:
- properties:
src:
type: string
status:
type: number
required:
- src
- status
type: object
- properties:
has:
items:
oneOf:
- properties:
type:
type: string
enum:
- header
key:
type: string
enum:
- x-vercel-ip-country
value:
properties:
eq:
type: string
required:
- eq
type: object
required:
- key
- type
- value
type: object
- properties:
type:
type: string
enum:
- host
value:
properties:
eq:
type: string
required:
- eq
type: object
required:
- type
- value
type: object
type: array
mitigate:
properties:
action:
type: string
enum:
- block_legal_cwc
required:
- action
type: object
src:
type: string
required:
- has
- mitigate
type: object
statusCode:
type: number
createdAt:
type: number
caseId:
type: string
actor:
type: string
comment:
type: string
ineligibleForAppeal:
type: boolean
enum:
- false
- true
isCascading:
type: boolean
enum:
- false
- true
required:
- action
- createdAt
- route
type: object
type: array
interstitial:
type: boolean
enum:
- false
- true
required:
- history
- updatedAt
type: object
internalRoutes:
items:
oneOf:
- properties:
src:
type: string
status:
type: number
required:
- src
- status
type: object
- properties:
has:
items:
oneOf:
- properties:
type:
type: string
enum:
- header
key:
type: string
enum:
- x-vercel-ip-country
value:
properties:
eq:
type: string
required:
- eq
type: object
required:
- key
- type
- value
type: object
- properties:
type:
type: string
enum:
- host
value:
properties:
eq:
type: string
required:
- eq
type: object
required:
- type
- value
type: object
type: array
mitigate:
properties:
action:
type: string
enum:
- block_legal_cwc
required:
- action
type: object
src:
type: string
required:
- has
- mitigate
type: object
type: array
required:
- accountId
- alias
- directoryListing
- id
- name
- nodeVersion
- resourceConfig
- serverlessFunctionRegion
type: object
type: array
- properties:
projects:
items:
properties:
accountId:
type: string
alias:
items:
properties:
configuredBy:
nullable: true
type: string
enum:
- A
- CNAME
- http
- dns-01
configuredChangedAt:
nullable: true
type: number
createdAt:
nullable: true
type: number
deployment:
nullable: true
properties:
alias:
items:
type: string
type: array
aliasAssigned:
nullable: true
oneOf:
- type: number
- type: boolean
enum:
- false
- true
builds:
items:
properties:
use:
type: string
src:
type: string
dest:
type: string
required:
- use
type: object
type: array
createdAt:
type: number
createdIn:
type: string
creator:
nullable: true
properties:
email:
type: string
githubLogin:
type: string
gitlabLogin:
type: string
uid:
type: string
username:
type: string
required:
- email
- uid
- username
type: object
deploymentHostname:
type: string
name:
type: string
forced:
type: boolean
enum:
- false
- true
id:
type: string
meta:
additionalProperties:
type: string
type: object
plan:
type: string
private:
type: boolean
enum:
- false
- true
readyState:
type: string
requestedAt:
type: number
target:
nullable: true
type: string
teamId:
nullable: true
type: string
type:
type: string
url:
type: string
userId:
type: string
withCache:
type: boolean
enum:
- false
- true
required:
- createdAt
- createdIn
- creator
- deploymentHostname
- id
- name
- plan
- private
- readyState
- type
- url
- userId
type: object
domain:
type: string
environment:
type: string
enum:
- production
- preview
gitBranch:
nullable: true
type: string
redirect:
nullable: true
type: string
redirectStatusCode:
nullable: true
type: number
enum:
- 301
- 302
- 307
- 308
target:
type: string
enum:
- PRODUCTION
- STAGING
- PREVIEW
required:
- deployment
- domain
- environment
- target
type: object
type: array
analytics:
properties:
id:
type: string
canceledAt:
nullable: true
type: number
disabledAt:
type: number
enabledAt:
type: number
paidAt:
type: number
sampleRatePercent:
nullable: true
type: number
spendLimitInDollars:
nullable: true
type: number
required:
- disabledAt
- enabledAt
- id
type: object
appliedCve55182Migration:
type: boolean
enum:
- false
- true
autoExposeSystemEnvs:
type: boolean
enum:
- false
- true
autoAssignCustomDomains:
type: boolean
enum:
- false
- true
autoAssignCustomDomainsUpdatedBy:
type: string
buildCommand:
nullable: true
type: string
commandForIgnoringBuildStep:
nullable: true
type: string
customerSupportCodeVisibility:
type: boolean
enum:
- false
- true
createdAt:
type: number
devCommand:
nullable: true
type: string
directoryListing:
type: boolean
enum:
- false
- true
deploymentExpiration:
nullable: true
properties:
expirationDays:
type: number
description: >-
Number of days to keep non-production
deployments (mostly preview deployments)
before soft deletion.
expirationDaysProduction:
type: number
description: >-
Number of days to keep production
deployments before soft deletion.
expirationDaysCanceled:
type: number
description: >-
Number of days to keep canceled deployments
before soft deletion.
expirationDaysErrored:
type: number
description: >-
Number of days to keep errored deployments
before soft deletion.
deploymentsToKeep:
type: number
description: >-
Minimum number of production deployments to
keep for this project, even if they are over
the production expiration limit.
type: object
description: >-
Retention policies for deployments. These are
enforced at the project level, but we also
maintain an instance of this at the team level
as a default policy that gets applied to new
projects.
installCommand:
nullable: true
type: string
ipBuckets:
items:
properties:
bucket:
type: string
supportUntil:
type: number
required:
- bucket
type: object
type: array
env:
items:
properties:
target:
oneOf:
- items:
type: string
enum:
- production
- preview
- development
- preview
- development
type: array
- type: string
enum:
- production
- preview
- development
- preview
- development
type:
type: string
enum:
- secret
- system
- encrypted
- plain
- sensitive
sunsetSecretId:
type: string
description: >-
This is used to identify variables that
have been migrated from type secret to
sensitive.
legacyValue:
type: string
description: >-
Legacy now-encryption ciphertext, present
after migration swaps value/vsmValue
decrypted:
type: boolean
enum:
- false
- true
value:
type: string
vsmValue:
type: string
id:
type: string
key:
type: string
configurationId:
nullable: true
type: string
createdAt:
type: number
updatedAt:
type: number
createdBy:
nullable: true
type: string
updatedBy:
nullable: true
type: string
gitBranch:
type: string
edgeConfigId:
nullable: true
type: string
edgeConfigTokenId:
nullable: true
type: string
contentHint:
nullable: true
oneOf:
- properties:
type:
type: string
enum:
- redis-url
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- redis-rest-api-url
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- redis-rest-api-token
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- redis-rest-api-read-only-token
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- blob-read-write-token
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-url
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-url-non-pooling
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-prisma-url
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-user
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-host
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-password
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-database
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-url-no-ssl
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- integration-store-secret
storeId:
type: string
integrationId:
type: string
integrationProductId:
type: string
integrationConfigurationId:
type: string
required:
- integrationConfigurationId
- integrationId
- integrationProductId
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- flags-connection-string
projectId:
type: string
required:
- projectId
- type
type: object
internalContentHint:
nullable: true
properties:
type:
type: string
enum:
- flags-secret
encryptedValue:
type: string
description: >-
Contains the `value` of the env
variable, encrypted with a special key
to make decryption possible in the
subscriber Lambda.
required:
- encryptedValue
- type
type: object
description: >-
Similar to `contentHints`, but should not
be exposed to the user.
comment:
type: string
customEnvironmentIds:
items:
type: string
type: array
required:
- key
- type
- value
type: object
type: array
framework:
nullable: true
type: string
enum:
- blitzjs
- nextjs
- gatsby
- remix
- react-router
- astro
- hexo
- eleventy
- docusaurus-2
- docusaurus
- preact
- solidstart-1
- solidstart
- dojo
- ember
- vue
- scully
- ionic-angular
- angular
- polymer
- svelte
- sveltekit
- sveltekit-1
- ionic-react
- create-react-app
- gridsome
- umijs
- sapper
- saber
- stencil
- nuxtjs
- redwoodjs
- hugo
- jekyll
- brunch
- middleman
- zola
- hydrogen
- vite
- tanstack-start
- vitepress
- vuepress
- parcel
- fastapi
- flask
- fasthtml
- sanity-v3
- sanity
- storybook
- nitro
- hono
- express
- h3
- koa
- nestjs
- elysia
- fastify
- xmcp
- python
- ruby
- rust
- node
- services
gitForkProtection:
type: boolean
enum:
- false
- true
id:
type: string
latestDeployments:
items:
properties:
alias:
items:
type: string
type: array
aliasAssigned:
nullable: true
oneOf:
- type: number
- type: boolean
enum:
- false
- true
builds:
items:
properties:
use:
type: string
src:
type: string
dest:
type: string
required:
- use
type: object
type: array
createdAt:
type: number
createdIn:
type: string
creator:
nullable: true
properties:
email:
type: string
githubLogin:
type: string
gitlabLogin:
type: string
uid:
type: string
username:
type: string
required:
- email
- uid
- username
type: object
deploymentHostname:
type: string
name:
type: string
forced:
type: boolean
enum:
- false
- true
id:
type: string
meta:
additionalProperties:
type: string
type: object
plan:
type: string
private:
type: boolean
enum:
- false
- true
readyState:
type: string
requestedAt:
type: number
target:
nullable: true
type: string
teamId:
nullable: true
type: string
type:
type: string
url:
type: string
userId:
type: string
withCache:
type: boolean
enum:
- false
- true
required:
- createdAt
- createdIn
- creator
- deploymentHostname
- id
- name
- plan
- private
- readyState
- type
- url
- userId
type: object
type: array
link:
oneOf:
- properties:
org:
type: string
repoOwnerId:
type: number
description: >-
A new field, should be included in all
new project links, is being added just
in time when a deployment is created.
This is needed for Protected Git scopes.
repo:
type: string
repoId:
type: number
type:
type: string
enum:
- github
createdAt:
type: number
deployHooks:
items:
properties:
createdAt:
type: number
id:
type: string
name:
type: string
ref:
type: string
url:
type: string
required:
- id
- name
- ref
- url
type: object
type: array
gitCredentialId:
type: string
updatedAt:
type: number
sourceless:
type: boolean
enum:
- false
- true
productionBranch:
type: string
required:
- deployHooks
- gitCredentialId
- org
- productionBranch
- type
type: object
- properties:
type:
type: string
enum:
- github-limited
repo:
type: string
repoId:
type: number
createdAt:
type: number
updatedAt:
type: number
org:
type: string
repoOwnerId:
type: number
description: >-
A new field, should be included in all
new project links, is being added just
in time when a deployment is created.
This is needed for Protected Git scopes.
deployHooks:
items:
properties:
createdAt:
type: number
id:
type: string
name:
type: string
ref:
type: string
url:
type: string
required:
- id
- name
- ref
- url
type: object
type: array
gitCredentialId:
type: string
sourceless:
type: boolean
enum:
- false
- true
productionBranch:
type: string
required:
- deployHooks
- gitCredentialId
- org
- productionBranch
- type
type: object
- properties:
org:
type: string
repoOwnerId:
type: number
description: >-
A new field, should be included in all
new project links, is being added just
in time when a deployment is created.
This is needed for Protected Git scopes.
repo:
type: string
repoId:
type: number
type:
type: string
enum:
- github-custom-host
host:
type: string
createdAt:
type: number
deployHooks:
items:
properties:
createdAt:
type: number
id:
type: string
name:
type: string
ref:
type: string
url:
type: string
required:
- id
- name
- ref
- url
type: object
type: array
gitCredentialId:
type: string
updatedAt:
type: number
sourceless:
type: boolean
enum:
- false
- true
productionBranch:
type: string
required:
- deployHooks
- gitCredentialId
- host
- org
- productionBranch
- type
type: object
- properties:
projectId:
type: string
projectName:
type: string
projectNameWithNamespace:
type: string
projectNamespace:
type: string
projectOwnerId:
type: number
description: >-
A new field, should be included in all
new project links, is being added just
in time when a deployment is created.
This is needed for Protected Git scopes.
This is the id of the top level group
that a namespace belongs to. Gitlab
supports group nesting (up to 20
levels).
projectUrl:
type: string
type:
type: string
enum:
- gitlab
createdAt:
type: number
deployHooks:
items:
properties:
createdAt:
type: number
id:
type: string
name:
type: string
ref:
type: string
url:
type: string
required:
- id
- name
- ref
- url
type: object
type: array
gitCredentialId:
type: string
updatedAt:
type: number
sourceless:
type: boolean
enum:
- false
- true
productionBranch:
type: string
required:
- deployHooks
- gitCredentialId
- productionBranch
- projectId
- projectName
- projectNameWithNamespace
- projectNamespace
- projectUrl
- type
type: object
- properties:
name:
type: string
slug:
type: string
owner:
type: string
type:
type: string
enum:
- bitbucket
uuid:
type: string
workspaceUuid:
type: string
createdAt:
type: number
deployHooks:
items:
properties:
createdAt:
type: number
id:
type: string
name:
type: string
ref:
type: string
url:
type: string
required:
- id
- name
- ref
- url
type: object
type: array
gitCredentialId:
type: string
updatedAt:
type: number
sourceless:
type: boolean
enum:
- false
- true
productionBranch:
type: string
required:
- deployHooks
- gitCredentialId
- name
- owner
- productionBranch
- slug
- type
- uuid
- workspaceUuid
type: object
name:
type: string
nodeVersion:
type: string
enum:
- 24.x
- 22.x
- 20.x
- 18.x
- 16.x
- 14.x
- 12.x
- 10.x
- 8.10.x
outputDirectory:
nullable: true
type: string
passwordProtection:
nullable: true
type: object
publicSource:
nullable: true
type: boolean
enum:
- false
- true
resourceConfig:
properties:
elasticConcurrencyEnabled:
type: boolean
enum:
- false
- true
fluid:
type: boolean
enum:
- false
- true
functionDefaultRegions:
items:
type: string
type: array
functionDefaultTimeout:
type: number
functionDefaultMemoryType:
type: string
enum:
- standard_legacy
- standard
- performance
functionZeroConfigFailover:
type: boolean
enum:
- false
- true
buildMachineType:
type: string
enum:
- enhanced
- turbo
isNSNBDisabled:
type: boolean
enum:
- false
- true
buildQueue:
properties:
configuration:
type: string
enum:
- SKIP_NAMESPACE_QUEUE
- WAIT_FOR_NAMESPACE_QUEUE
type: object
type: object
required:
- functionDefaultRegions
rollingRelease:
nullable: true
properties:
target:
type: string
description: >-
The environment that the release targets,
currently only supports production. Adding
in case we want to configure with alias
groups or custom environments.
example: production
stages:
nullable: true
items:
properties:
targetPercentage:
type: number
description: >-
The percentage of traffic to serve to
the canary deployment (0-100)
example: 25
requireApproval:
type: boolean
enum:
- false
- true
description: >-
Whether or not this stage requires
manual approval to proceed
example: false
duration:
type: number
description: >-
Duration in minutes for automatic
advancement to the next stage
example: 600
linearShift:
type: boolean
enum:
- false
- true
description: >-
Whether to linearly shift traffic over
the duration of this stage
example: false
required:
- targetPercentage
type: object
description: >-
An array of all the stages required during
a deployment release. Each stage defines a
target percentage and advancement rules.
The final stage must always have
targetPercentage: 100.
type: array
description: >-
An array of all the stages required during a
deployment release. Each stage defines a
target percentage and advancement rules. The
final stage must always have
targetPercentage: 100.
canaryResponseHeader:
type: boolean
enum:
- false
- true
description: >-
Whether the request served by a canary
deployment should return a header indicating
a canary was served. Defaults to `false`
when omitted.
example: false
required:
- target
type: object
description: >-
Project-level rolling release configuration that
defines how deployments should be gradually
rolled out
rootDirectory:
nullable: true
type: string
serverlessFunctionRegion:
type: string
serverlessFunctionZeroConfigFailover:
type: boolean
enum:
- false
- true
speedInsights:
properties:
id:
type: string
enabledAt:
type: number
disabledAt:
type: number
canceledAt:
type: number
hasData:
type: boolean
enum:
- false
- true
paidAt:
type: number
required:
- id
type: object
skipGitConnectDuringLink:
type: boolean
enum:
- false
- true
sourceFilesOutsideRootDirectory:
type: boolean
enum:
- false
- true
ssoProtection:
nullable: true
properties:
deploymentType:
type: string
enum:
- preview
- all
- prod_deployment_urls_and_all_previews
- all_except_custom_domains
cve55182MigrationAppliedFrom:
nullable: true
type: string
enum:
- preview
- all
- prod_deployment_urls_and_all_previews
- all_except_custom_domains
required:
- deploymentType
type: object
targets:
additionalProperties:
nullable: true
properties:
alias:
items:
type: string
type: array
aliasAssigned:
nullable: true
oneOf:
- type: number
- type: boolean
enum:
- false
- true
builds:
items:
properties:
use:
type: string
src:
type: string
dest:
type: string
required:
- use
type: object
type: array
createdAt:
type: number
createdIn:
type: string
creator:
nullable: true
properties:
email:
type: string
githubLogin:
type: string
gitlabLogin:
type: string
uid:
type: string
username:
type: string
required:
- email
- uid
- username
type: object
deploymentHostname:
type: string
name:
type: string
forced:
type: boolean
enum:
- false
- true
id:
type: string
meta:
additionalProperties:
type: string
type: object
plan:
type: string
private:
type: boolean
enum:
- false
- true
readyState:
type: string
requestedAt:
type: number
target:
nullable: true
type: string
teamId:
nullable: true
type: string
type:
type: string
url:
type: string
userId:
type: string
withCache:
type: boolean
enum:
- false
- true
required:
- createdAt
- createdIn
- creator
- deploymentHostname
- id
- name
- plan
- private
- readyState
- type
- url
- userId
type: object
type: object
transferCompletedAt:
type: number
transferStartedAt:
type: number
transferToAccountId:
type: string
transferredFromAccountId:
type: string
updatedAt:
type: number
live:
type: boolean
enum:
- false
- true
hasActiveBranches:
type: boolean
enum:
- false
- true
gitComments:
properties:
onPullRequest:
type: boolean
enum:
- false
- true
description: Whether the Vercel bot should comment on PRs
onCommit:
type: boolean
enum:
- false
- true
description: >-
Whether the Vercel bot should comment on
commits
required:
- onCommit
- onPullRequest
type: object
gitProviderOptions:
properties:
createDeployments:
type: string
enum:
- enabled
- disabled
description: >-
Whether the Vercel bot should automatically
create GitHub deployments
https://docs.github.com/en/rest/deployments/deployments#about-deployments
NOTE: repository-dispatch events should be
used instead
disableRepositoryDispatchEvents:
type: boolean
enum:
- false
- true
description: >-
Whether the Vercel bot should not
automatically create GitHub
repository-dispatch events on deployment
events.
https://vercel.com/docs/git/vercel-for-github#repository-dispatch-events
requireVerifiedCommits:
type: boolean
enum:
- false
- true
description: >-
Whether the project requires commits to be
signed before deployments will be created.
required:
- createDeployments
type: object
paused:
type: boolean
enum:
- false
- true
webAnalytics:
properties:
id:
type: string
disabledAt:
type: number
canceledAt:
type: number
enabledAt:
type: number
hasData:
type: boolean
enum:
- true
required:
- id
type: object
security:
properties:
attackModeEnabled:
type: boolean
enum:
- false
- true
attackModeUpdatedAt:
type: number
firewallEnabled:
type: boolean
enum:
- false
- true
firewallUpdatedAt:
type: number
attackModeActiveUntil:
nullable: true
type: number
firewallConfigVersion:
type: number
firewallRoutes:
items:
properties:
src:
oneOf:
- type: string
- properties:
re:
type: string
eq:
type: string
neq:
type: string
inc:
items:
type: string
type: array
ninc:
items:
type: string
type: array
pre:
type: string
suf:
type: string
gt:
type: number
gte:
type: number
lt:
type: number
lte:
type: number
type: object
has:
items:
properties:
type:
type: string
enum:
- path
- query
- host
- method
- header
- cookie
- ip_address
- protocol
- scheme
- environment
- region
- initial_request_path
key:
type: string
value:
oneOf:
- type: string
- properties:
re:
type: string
eq:
type: string
neq:
type: string
inc:
items:
type: string
type: array
ninc:
items:
type: string
type: array
pre:
type: string
suf:
type: string
gt:
type: number
gte:
type: number
lt:
type: number
lte:
type: number
type: object
required:
- type
type: object
type: array
missing:
items:
properties:
type:
type: string
enum:
- path
- query
- host
- method
- header
- cookie
- ip_address
- protocol
- scheme
- environment
- region
- initial_request_path
key:
type: string
value:
oneOf:
- type: string
- properties:
re:
type: string
eq:
type: string
neq:
type: string
inc:
items:
type: string
type: array
ninc:
items:
type: string
type: array
pre:
type: string
suf:
type: string
gt:
type: number
gte:
type: number
lt:
type: number
lte:
type: number
type: object
required:
- type
type: object
type: array
dest:
type: string
status:
type: number
handle:
type: string
enum:
- init
- finalize
mitigate:
properties:
action:
type: string
enum:
- log
- deny
- challenge
- bypass
- rate_limit
- redirect
rule_id:
type: string
ttl:
type: number
erl:
properties:
algo:
type: string
enum:
- fixed_window
- token_bucket
window:
type: number
limit:
type: number
keys:
items:
type: string
type: array
required:
- algo
- keys
- limit
- window
type: object
required:
- action
- rule_id
type: object
type: object
type: array
firewallSeawallEnabled:
type: boolean
enum:
- false
- true
ja3Enabled:
type: boolean
enum:
- false
- true
ja4Enabled:
type: boolean
enum:
- false
- true
firewallBypassIps:
items:
type: string
type: array
managedRules:
nullable: true
properties:
vercel_ruleset:
properties:
active:
type: boolean
enum:
- false
- true
action:
type: string
enum:
- log
- deny
- challenge
required:
- active
type: object
bot_filter:
properties:
active:
type: boolean
enum:
- false
- true
action:
type: string
enum:
- log
- deny
- challenge
required:
- active
type: object
ai_bots:
properties:
active:
type: boolean
enum:
- false
- true
action:
type: string
enum:
- log
- deny
- challenge
required:
- active
type: object
owasp:
properties:
active:
type: boolean
enum:
- false
- true
action:
type: string
enum:
- log
- deny
- challenge
required:
- active
type: object
required:
- ai_bots
- bot_filter
- owasp
- vercel_ruleset
type: object
botIdEnabled:
type: boolean
enum:
- false
- true
type: object
oidcTokenConfig:
properties:
enabled:
type: boolean
enum:
- false
- true
description: >-
Whether or not to generate OpenID Connect
JSON Web Tokens.
issuerMode:
type: string
enum:
- team
- global
description: >-
- team:
`https://oidc.vercel.com/[team_slug]` -
global: `https://oidc.vercel.com`
type: object
tier:
type: string
enum:
- standard
- advanced
- critical
abuse:
properties:
scanner:
type: string
history:
items:
properties:
scanner:
type: string
reason:
type: string
by:
type: string
byId:
type: string
at:
type: number
required:
- at
- by
- byId
- reason
- scanner
type: object
type: array
updatedAt:
type: number
block:
properties:
action:
type: string
enum:
- blocked
reason:
type: string
statusCode:
type: number
createdAt:
type: number
caseId:
type: string
actor:
type: string
comment:
type: string
ineligibleForAppeal:
type: boolean
enum:
- false
- true
isCascading:
type: boolean
enum:
- false
- true
required:
- action
- createdAt
- reason
- statusCode
type: object
blockHistory:
items:
oneOf:
- properties:
action:
type: string
enum:
- blocked
reason:
type: string
statusCode:
type: number
createdAt:
type: number
caseId:
type: string
actor:
type: string
comment:
type: string
ineligibleForAppeal:
type: boolean
enum:
- false
- true
isCascading:
type: boolean
enum:
- false
- true
required:
- action
- createdAt
- reason
- statusCode
type: object
- properties:
action:
type: string
enum:
- unblocked
createdAt:
type: number
caseId:
type: string
actor:
type: string
comment:
type: string
ineligibleForAppeal:
type: boolean
enum:
- false
- true
isCascading:
type: boolean
enum:
- false
- true
required:
- action
- createdAt
type: object
- properties:
action:
type: string
enum:
- route-blocked
route:
oneOf:
- properties:
src:
type: string
status:
type: number
required:
- src
- status
type: object
- properties:
has:
items:
oneOf:
- properties:
type:
type: string
enum:
- header
key:
type: string
enum:
- x-vercel-ip-country
value:
properties:
eq:
type: string
required:
- eq
type: object
required:
- key
- type
- value
type: object
- properties:
type:
type: string
enum:
- host
value:
properties:
eq:
type: string
required:
- eq
type: object
required:
- type
- value
type: object
type: array
mitigate:
properties:
action:
type: string
enum:
- block_legal_cwc
required:
- action
type: object
src:
type: string
required:
- has
- mitigate
type: object
reason:
type: string
createdAt:
type: number
caseId:
type: string
actor:
type: string
comment:
type: string
ineligibleForAppeal:
type: boolean
enum:
- false
- true
isCascading:
type: boolean
enum:
- false
- true
required:
- action
- createdAt
- reason
- route
type: object
- properties:
action:
type: string
enum:
- route-unblocked
route:
oneOf:
- properties:
src:
type: string
status:
type: number
required:
- src
- status
type: object
- properties:
has:
items:
oneOf:
- properties:
type:
type: string
enum:
- header
key:
type: string
enum:
- x-vercel-ip-country
value:
properties:
eq:
type: string
required:
- eq
type: object
required:
- key
- type
- value
type: object
- properties:
type:
type: string
enum:
- host
value:
properties:
eq:
type: string
required:
- eq
type: object
required:
- type
- value
type: object
type: array
mitigate:
properties:
action:
type: string
enum:
- block_legal_cwc
required:
- action
type: object
src:
type: string
required:
- has
- mitigate
type: object
statusCode:
type: number
createdAt:
type: number
caseId:
type: string
actor:
type: string
comment:
type: string
ineligibleForAppeal:
type: boolean
enum:
- false
- true
isCascading:
type: boolean
enum:
- false
- true
required:
- action
- createdAt
- route
type: object
type: array
interstitial:
type: boolean
enum:
- false
- true
required:
- history
- updatedAt
type: object
internalRoutes:
items:
oneOf:
- properties:
src:
type: string
status:
type: number
required:
- src
- status
type: object
- properties:
has:
items:
oneOf:
- properties:
type:
type: string
enum:
- header
key:
type: string
enum:
- x-vercel-ip-country
value:
properties:
eq:
type: string
required:
- eq
type: object
required:
- key
- type
- value
type: object
- properties:
type:
type: string
enum:
- host
value:
properties:
eq:
type: string
required:
- eq
type: object
required:
- type
- value
type: object
type: array
mitigate:
properties:
action:
type: string
enum:
- block_legal_cwc
required:
- action
type: object
src:
type: string
required:
- has
- mitigate
type: object
type: array
required:
- accountId
- alias
- directoryListing
- id
- name
- nodeVersion
- resourceConfig
- serverlessFunctionRegion
type: object
type: array
pagination:
oneOf:
- properties:
count:
type: number
description: Amount of items in the current page.
example: 20
next:
nullable: true
type: string
description: >-
Continuation token that must be used to
request the next page. Base32 encoded for safe
URL transmission.
example: JBSWY3DPEHPK3PXP
required:
- count
- next
type: object
description: >-
This object contains information related to the
pagination of the current request using
continuation tokens. Since CosmosDB doesn't
support going to previous pages, only count and
next are provided.
- $ref: '#/components/schemas/Pagination'
required:
- pagination
- projects
type: object
- properties:
projects:
items:
properties:
accountId:
type: string
analytics:
properties:
id:
type: string
canceledAt:
nullable: true
type: number
disabledAt:
type: number
enabledAt:
type: number
paidAt:
type: number
sampleRatePercent:
nullable: true
type: number
spendLimitInDollars:
nullable: true
type: number
required:
- disabledAt
- enabledAt
- id
type: object
appliedCve55182Migration:
type: boolean
enum:
- false
- true
speedInsights:
properties:
id:
type: string
enabledAt:
type: number
disabledAt:
type: number
canceledAt:
type: number
hasData:
type: boolean
enum:
- false
- true
paidAt:
type: number
required:
- id
type: object
autoExposeSystemEnvs:
type: boolean
enum:
- false
- true
autoAssignCustomDomains:
type: boolean
enum:
- false
- true
autoAssignCustomDomainsUpdatedBy:
type: string
buildCommand:
nullable: true
type: string
commandForIgnoringBuildStep:
nullable: true
type: string
connectConfigurations:
nullable: true
items:
properties:
envId:
oneOf:
- type: string
- type: string
enum:
- production
- preview
connectConfigurationId:
type: string
dc:
type: string
passive:
type: boolean
enum:
- false
- true
buildsEnabled:
type: boolean
enum:
- false
- true
aws:
properties:
subnetIds:
items:
type: string
type: array
securityGroupId:
type: string
required:
- securityGroupId
- subnetIds
type: object
createdAt:
type: number
updatedAt:
type: number
required:
- buildsEnabled
- connectConfigurationId
- createdAt
- envId
- passive
- updatedAt
type: object
type: array
connectConfigurationId:
nullable: true
type: string
connectBuildsEnabled:
type: boolean
enum:
- false
- true
passiveConnectConfigurationId:
nullable: true
type: string
createdAt:
type: number
customerSupportCodeVisibility:
type: boolean
enum:
- false
- true
crons:
properties:
enabledAt:
type: number
description: >-
The time the feature was enabled for this
project. Note: It enables automatically with
the first Deployment that outputs cronjobs.
disabledAt:
nullable: true
type: number
description: >-
The time the feature was disabled for this
project.
updatedAt:
type: number
deploymentId:
nullable: true
type: string
description: >-
The ID of the Deployment from which the
definitions originated.
definitions:
items:
properties:
host:
type: string
description: The hostname that should be used.
example: vercel.com
path:
type: string
description: >-
The path that should be called for the
cronjob.
example: /api/crons/sync-something?hello=world
schedule:
type: string
description: The cron expression.
example: 0 0 * * *
required:
- host
- path
- schedule
type: object
type: array
required:
- definitions
- deploymentId
- disabledAt
- enabledAt
- updatedAt
type: object
dataCache:
properties:
userDisabled:
type: boolean
enum:
- false
- true
storageSizeBytes:
nullable: true
type: number
unlimited:
type: boolean
enum:
- false
- true
required:
- userDisabled
type: object
deploymentExpiration:
nullable: true
properties:
expirationDays:
type: number
description: >-
Number of days to keep non-production
deployments (mostly preview deployments)
before soft deletion.
expirationDaysProduction:
type: number
description: >-
Number of days to keep production
deployments before soft deletion.
expirationDaysCanceled:
type: number
description: >-
Number of days to keep canceled deployments
before soft deletion.
expirationDaysErrored:
type: number
description: >-
Number of days to keep errored deployments
before soft deletion.
deploymentsToKeep:
type: number
description: >-
Minimum number of production deployments to
keep for this project, even if they are over
the production expiration limit.
type: object
description: >-
Retention policies for deployments. These are
enforced at the project level, but we also
maintain an instance of this at the team level
as a default policy that gets applied to new
projects.
devCommand:
nullable: true
type: string
directoryListing:
type: boolean
enum:
- false
- true
installCommand:
nullable: true
type: string
env:
items:
properties:
target:
oneOf:
- items:
type: string
enum:
- production
- preview
- development
- preview
- development
type: array
- type: string
enum:
- production
- preview
- development
- preview
- development
type:
type: string
enum:
- secret
- system
- encrypted
- plain
- sensitive
sunsetSecretId:
type: string
description: >-
This is used to identify variables that
have been migrated from type secret to
sensitive.
legacyValue:
type: string
description: >-
Legacy now-encryption ciphertext, present
after migration swaps value/vsmValue
decrypted:
type: boolean
enum:
- false
- true
value:
type: string
vsmValue:
type: string
id:
type: string
key:
type: string
configurationId:
nullable: true
type: string
createdAt:
type: number
updatedAt:
type: number
createdBy:
nullable: true
type: string
updatedBy:
nullable: true
type: string
gitBranch:
type: string
edgeConfigId:
nullable: true
type: string
edgeConfigTokenId:
nullable: true
type: string
contentHint:
nullable: true
oneOf:
- properties:
type:
type: string
enum:
- redis-url
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- redis-rest-api-url
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- redis-rest-api-token
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- redis-rest-api-read-only-token
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- blob-read-write-token
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-url
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-url-non-pooling
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-prisma-url
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-user
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-host
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-password
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-database
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-url-no-ssl
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- integration-store-secret
storeId:
type: string
integrationId:
type: string
integrationProductId:
type: string
integrationConfigurationId:
type: string
required:
- integrationConfigurationId
- integrationId
- integrationProductId
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- flags-connection-string
projectId:
type: string
required:
- projectId
- type
type: object
internalContentHint:
nullable: true
properties:
type:
type: string
enum:
- flags-secret
encryptedValue:
type: string
description: >-
Contains the `value` of the env
variable, encrypted with a special key
to make decryption possible in the
subscriber Lambda.
required:
- encryptedValue
- type
type: object
description: >-
Similar to `contentHints`, but should not
be exposed to the user.
comment:
type: string
customEnvironmentIds:
items:
type: string
type: array
required:
- key
- type
- value
type: object
type: array
customEnvironments:
items:
properties:
id:
type: string
description: >-
Unique identifier for the custom
environment (format: env_*)
slug:
type: string
description: URL-friendly name of the environment
type:
type: string
enum:
- production
- preview
- development
description: >-
The type of environment (production,
preview, or development)
description:
type: string
description: >-
Optional description of the environment's
purpose
branchMatcher:
properties:
type:
type: string
enum:
- endsWith
- startsWith
- equals
description: The type of matching to perform
pattern:
type: string
description: >-
The pattern to match against branch
names
required:
- pattern
- type
type: object
description: >-
Configuration for matching git branches to
this environment
domains:
items:
properties:
name:
type: string
apexName:
type: string
projectId:
type: string
redirect:
nullable: true
type: string
redirectStatusCode:
nullable: true
type: number
enum:
- 301
- 302
- 307
- 308
gitBranch:
nullable: true
type: string
customEnvironmentId:
nullable: true
type: string
updatedAt:
type: number
createdAt:
type: number
verified:
type: boolean
enum:
- false
- true
description: >-
`true` if the domain is verified for use
with the project. If `false` it will not
be used as an alias on this project
until the challenge in `verification` is
completed.
verification:
items:
properties:
type:
type: string
domain:
type: string
value:
type: string
reason:
type: string
required:
- domain
- reason
- type
- value
type: object
description: >-
A list of verification challenges, one
of which must be completed to verify the
domain for use on the project. After the
challenge is complete `POST
/projects/:idOrName/domains/:domain/verify`
to verify the domain. Possible
challenges: - If `verification.type =
TXT` the `verification.domain` will be
checked for a TXT record matching
`verification.value`.
type: array
description: >-
A list of verification challenges, one
of which must be completed to verify the
domain for use on the project. After the
challenge is complete `POST
/projects/:idOrName/domains/:domain/verify`
to verify the domain. Possible
challenges: - If `verification.type =
TXT` the `verification.domain` will be
checked for a TXT record matching
`verification.value`.
required:
- apexName
- name
- projectId
- verified
type: object
description: >-
List of domains associated with this
environment
type: array
description: >-
List of domains associated with this
environment
currentDeploymentAliases:
items:
type: string
type: array
description: List of aliases for the current deployment
createdAt:
type: number
description: Timestamp when the environment was created
updatedAt:
type: number
description: >-
Timestamp when the environment was last
updated
required:
- createdAt
- id
- slug
- type
- updatedAt
type: object
description: >-
Internal representation of a custom
environment with all required properties
type: array
framework:
nullable: true
type: string
enum:
- blitzjs
- nextjs
- gatsby
- remix
- react-router
- astro
- hexo
- eleventy
- docusaurus-2
- docusaurus
- preact
- solidstart-1
- solidstart
- dojo
- ember
- vue
- scully
- ionic-angular
- angular
- polymer
- svelte
- sveltekit
- sveltekit-1
- ionic-react
- create-react-app
- gridsome
- umijs
- sapper
- saber
- stencil
- nuxtjs
- redwoodjs
- hugo
- jekyll
- brunch
- middleman
- zola
- hydrogen
- vite
- tanstack-start
- vitepress
- vuepress
- parcel
- fastapi
- flask
- fasthtml
- sanity-v3
- sanity
- storybook
- nitro
- hono
- express
- h3
- koa
- nestjs
- elysia
- fastify
- xmcp
- python
- ruby
- rust
- node
- services
gitForkProtection:
type: boolean
enum:
- false
- true
gitLFS:
type: boolean
enum:
- false
- true
id:
type: string
ipBuckets:
items:
properties:
bucket:
type: string
supportUntil:
type: number
required:
- bucket
type: object
type: array
latestDeployments:
items:
properties:
alias:
items:
type: string
type: array
aliasAssigned:
nullable: true
oneOf:
- type: number
- type: boolean
enum:
- false
- true
builds:
items:
properties:
use:
type: string
src:
type: string
dest:
type: string
required:
- use
type: object
type: array
createdAt:
type: number
createdIn:
type: string
creator:
nullable: true
properties:
email:
type: string
githubLogin:
type: string
gitlabLogin:
type: string
uid:
type: string
username:
type: string
required:
- email
- uid
- username
type: object
deploymentHostname:
type: string
name:
type: string
forced:
type: boolean
enum:
- false
- true
id:
type: string
meta:
additionalProperties:
type: string
type: object
plan:
type: string
private:
type: boolean
enum:
- false
- true
readyState:
type: string
requestedAt:
type: number
target:
nullable: true
type: string
teamId:
nullable: true
type: string
type:
type: string
url:
type: string
userId:
type: string
withCache:
type: boolean
enum:
- false
- true
required:
- createdAt
- createdIn
- creator
- deploymentHostname
- id
- name
- plan
- private
- readyState
- type
- url
- userId
type: object
type: array
link:
oneOf:
- properties:
org:
type: string
repoOwnerId:
type: number
description: >-
A new field, should be included in all
new project links, is being added just
in time when a deployment is created.
This is needed for Protected Git scopes.
repo:
type: string
repoId:
type: number
type:
type: string
enum:
- github
createdAt:
type: number
deployHooks:
items:
properties:
createdAt:
type: number
id:
type: string
name:
type: string
ref:
type: string
url:
type: string
required:
- id
- name
- ref
- url
type: object
type: array
gitCredentialId:
type: string
updatedAt:
type: number
sourceless:
type: boolean
enum:
- false
- true
productionBranch:
type: string
required:
- deployHooks
- gitCredentialId
- org
- productionBranch
- type
type: object
- properties:
type:
type: string
enum:
- github-limited
repo:
type: string
repoId:
type: number
createdAt:
type: number
updatedAt:
type: number
org:
type: string
repoOwnerId:
type: number
description: >-
A new field, should be included in all
new project links, is being added just
in time when a deployment is created.
This is needed for Protected Git scopes.
deployHooks:
items:
properties:
createdAt:
type: number
id:
type: string
name:
type: string
ref:
type: string
url:
type: string
required:
- id
- name
- ref
- url
type: object
type: array
gitCredentialId:
type: string
sourceless:
type: boolean
enum:
- false
- true
productionBranch:
type: string
required:
- deployHooks
- gitCredentialId
- org
- productionBranch
- type
type: object
- properties:
org:
type: string
repoOwnerId:
type: number
description: >-
A new field, should be included in all
new project links, is being added just
in time when a deployment is created.
This is needed for Protected Git scopes.
repo:
type: string
repoId:
type: number
type:
type: string
enum:
- github-custom-host
host:
type: string
createdAt:
type: number
deployHooks:
items:
properties:
createdAt:
type: number
id:
type: string
name:
type: string
ref:
type: string
url:
type: string
required:
- id
- name
- ref
- url
type: object
type: array
gitCredentialId:
type: string
updatedAt:
type: number
sourceless:
type: boolean
enum:
- false
- true
productionBranch:
type: string
required:
- deployHooks
- gitCredentialId
- host
- org
- productionBranch
- type
type: object
- properties:
projectId:
type: string
projectName:
type: string
projectNameWithNamespace:
type: string
projectNamespace:
type: string
projectOwnerId:
type: number
description: >-
A new field, should be included in all
new project links, is being added just
in time when a deployment is created.
This is needed for Protected Git scopes.
This is the id of the top level group
that a namespace belongs to. Gitlab
supports group nesting (up to 20
levels).
projectUrl:
type: string
type:
type: string
enum:
- gitlab
createdAt:
type: number
deployHooks:
items:
properties:
createdAt:
type: number
id:
type: string
name:
type: string
ref:
type: string
url:
type: string
required:
- id
- name
- ref
- url
type: object
type: array
gitCredentialId:
type: string
updatedAt:
type: number
sourceless:
type: boolean
enum:
- false
- true
productionBranch:
type: string
required:
- deployHooks
- gitCredentialId
- productionBranch
- projectId
- projectName
- projectNameWithNamespace
- projectNamespace
- projectUrl
- type
type: object
- properties:
name:
type: string
slug:
type: string
owner:
type: string
type:
type: string
enum:
- bitbucket
uuid:
type: string
workspaceUuid:
type: string
createdAt:
type: number
deployHooks:
items:
properties:
createdAt:
type: number
id:
type: string
name:
type: string
ref:
type: string
url:
type: string
required:
- id
- name
- ref
- url
type: object
type: array
gitCredentialId:
type: string
updatedAt:
type: number
sourceless:
type: boolean
enum:
- false
- true
productionBranch:
type: string
required:
- deployHooks
- gitCredentialId
- name
- owner
- productionBranch
- slug
- type
- uuid
- workspaceUuid
type: object
microfrontends:
oneOf:
- properties:
isDefaultApp:
type: boolean
enum:
- true
updatedAt:
type: number
description: >-
Timestamp when the microfrontends
settings were last updated.
groupIds:
type: array
items:
type: string
minItems: 1
description: >-
The group IDs of microfrontends that
this project belongs to. Each
microfrontend project must belong to a
microfrontends group that is the set of
microfrontends that are used together.
enabled:
type: boolean
enum:
- true
description: >-
Whether microfrontends are enabled for
this project.
defaultRoute:
type: string
description: >-
A path that is used to take screenshots
and as the default path in preview links
when a domain for this microfrontend is
shown in the UI. Includes the leading
slash, e.g. `/docs`
freeProjectForLegacyLimits:
type: boolean
enum:
- false
- true
description: >-
Whether the project was part of the
legacy limits for hobby and pro-trial
before billing was added. This field is
only set when the team is upgraded to a
paid plan and we are backfilling the
subscription status. We cap the
subscription to 2 projects and set this
field for the 3rd project. When this
field is set, the project is not charged
for and we do not call any billing APIs
for this project.
required:
- enabled
- groupIds
- isDefaultApp
- updatedAt
type: object
- properties:
isDefaultApp:
type: boolean
enum:
- false
routeObservabilityToThisProject:
type: boolean
enum:
- false
- true
description: >-
Whether observability data should be
routed to this microfrontend project or
a root project.
doNotRouteWithMicrofrontendsRouting:
type: boolean
enum:
- false
- true
description: >-
Whether to add microfrontends routing to
aliases. This means domains in this
project will route as a microfrontend.
updatedAt:
type: number
description: >-
Timestamp when the microfrontends
settings were last updated.
groupIds:
type: array
items:
type: string
minItems: 1
description: >-
The group IDs of microfrontends that
this project belongs to. Each
microfrontend project must belong to a
microfrontends group that is the set of
microfrontends that are used together.
enabled:
type: boolean
enum:
- true
description: >-
Whether microfrontends are enabled for
this project.
defaultRoute:
type: string
description: >-
A path that is used to take screenshots
and as the default path in preview links
when a domain for this microfrontend is
shown in the UI. Includes the leading
slash, e.g. `/docs`
freeProjectForLegacyLimits:
type: boolean
enum:
- false
- true
description: >-
Whether the project was part of the
legacy limits for hobby and pro-trial
before billing was added. This field is
only set when the team is upgraded to a
paid plan and we are backfilling the
subscription status. We cap the
subscription to 2 projects and set this
field for the 3rd project. When this
field is set, the project is not charged
for and we do not call any billing APIs
for this project.
required:
- enabled
- groupIds
- updatedAt
type: object
- properties:
updatedAt:
type: number
groupIds:
type: array
items: {}
minItems: 0
maxItems: 0
enabled:
type: boolean
enum:
- false
freeProjectForLegacyLimits:
type: boolean
enum:
- false
- true
required:
- enabled
- groupIds
- updatedAt
type: object
name:
type: string
nodeVersion:
type: string
enum:
- 24.x
- 22.x
- 20.x
- 18.x
- 16.x
- 14.x
- 12.x
- 10.x
- 8.10.x
optionsAllowlist:
nullable: true
properties:
paths:
items:
properties:
value:
type: string
required:
- value
type: object
type: array
required:
- paths
type: object
outputDirectory:
nullable: true
type: string
passwordProtection:
nullable: true
type: object
productionDeploymentsFastLane:
type: boolean
enum:
- false
- true
publicSource:
nullable: true
type: boolean
enum:
- false
- true
resourceConfig:
properties:
elasticConcurrencyEnabled:
type: boolean
enum:
- false
- true
fluid:
type: boolean
enum:
- false
- true
functionDefaultRegions:
items:
type: string
type: array
functionDefaultTimeout:
type: number
functionDefaultMemoryType:
type: string
enum:
- standard_legacy
- standard
- performance
functionZeroConfigFailover:
type: boolean
enum:
- false
- true
buildMachineType:
type: string
enum:
- enhanced
- turbo
isNSNBDisabled:
type: boolean
enum:
- false
- true
buildQueue:
properties:
configuration:
type: string
enum:
- SKIP_NAMESPACE_QUEUE
- WAIT_FOR_NAMESPACE_QUEUE
type: object
type: object
required:
- functionDefaultRegions
rollbackDescription:
properties:
userId:
type: string
description: The user who rolled back the project.
username:
type: string
description: >-
The username of the user who rolled back the
project.
description:
type: string
description: >-
User-supplied explanation of why they rolled
back the project. Limited to 250 characters.
createdAt:
type: number
description: >-
Timestamp of when the rollback was
requested.
required:
- createdAt
- description
- userId
- username
type: object
description: >-
Description of why a project was rolled back,
and by whom. Note that lastAliasRequest contains
the from/to details of the rollback.
rollingRelease:
nullable: true
properties:
target:
type: string
description: >-
The environment that the release targets,
currently only supports production. Adding
in case we want to configure with alias
groups or custom environments.
example: production
stages:
nullable: true
items:
properties:
targetPercentage:
type: number
description: >-
The percentage of traffic to serve to
the canary deployment (0-100)
example: 25
requireApproval:
type: boolean
enum:
- false
- true
description: >-
Whether or not this stage requires
manual approval to proceed
example: false
duration:
type: number
description: >-
Duration in minutes for automatic
advancement to the next stage
example: 600
linearShift:
type: boolean
enum:
- false
- true
description: >-
Whether to linearly shift traffic over
the duration of this stage
example: false
required:
- targetPercentage
type: object
description: >-
An array of all the stages required during
a deployment release. Each stage defines a
target percentage and advancement rules.
The final stage must always have
targetPercentage: 100.
type: array
description: >-
An array of all the stages required during a
deployment release. Each stage defines a
target percentage and advancement rules. The
final stage must always have
targetPercentage: 100.
canaryResponseHeader:
type: boolean
enum:
- false
- true
description: >-
Whether the request served by a canary
deployment should return a header indicating
a canary was served. Defaults to `false`
when omitted.
example: false
required:
- target
type: object
description: >-
Project-level rolling release configuration that
defines how deployments should be gradually
rolled out
defaultResourceConfig:
properties:
elasticConcurrencyEnabled:
type: boolean
enum:
- false
- true
fluid:
type: boolean
enum:
- false
- true
functionDefaultRegions:
items:
type: string
type: array
functionDefaultTimeout:
type: number
functionDefaultMemoryType:
type: string
enum:
- standard_legacy
- standard
- performance
functionZeroConfigFailover:
type: boolean
enum:
- false
- true
buildMachineType:
type: string
enum:
- enhanced
- turbo
isNSNBDisabled:
type: boolean
enum:
- false
- true
buildQueue:
properties:
configuration:
type: string
enum:
- SKIP_NAMESPACE_QUEUE
- WAIT_FOR_NAMESPACE_QUEUE
type: object
type: object
required:
- functionDefaultRegions
rootDirectory:
nullable: true
type: string
serverlessFunctionZeroConfigFailover:
type: boolean
enum:
- false
- true
skewProtectionBoundaryAt:
type: number
skewProtectionMaxAge:
type: number
skewProtectionAllowedDomains:
items:
type: string
type: array
skipGitConnectDuringLink:
type: boolean
enum:
- false
- true
staticIps:
properties:
builds:
type: boolean
enum:
- false
- true
enabled:
type: boolean
enum:
- false
- true
regions:
items:
type: string
type: array
required:
- builds
- enabled
- regions
type: object
sourceFilesOutsideRootDirectory:
type: boolean
enum:
- false
- true
enableAffectedProjectsDeployments:
type: boolean
enum:
- false
- true
ssoProtection:
nullable: true
properties:
deploymentType:
type: string
enum:
- preview
- all
- prod_deployment_urls_and_all_previews
- all_except_custom_domains
cve55182MigrationAppliedFrom:
nullable: true
type: string
enum:
- preview
- all
- prod_deployment_urls_and_all_previews
- all_except_custom_domains
required:
- deploymentType
type: object
targets:
additionalProperties:
nullable: true
properties:
alias:
items:
type: string
type: array
aliasAssigned:
nullable: true
oneOf:
- type: number
- type: boolean
enum:
- false
- true
builds:
items:
properties:
use:
type: string
src:
type: string
dest:
type: string
required:
- use
type: object
type: array
createdAt:
type: number
createdIn:
type: string
creator:
nullable: true
properties:
email:
type: string
githubLogin:
type: string
gitlabLogin:
type: string
uid:
type: string
username:
type: string
required:
- email
- uid
- username
type: object
deploymentHostname:
type: string
name:
type: string
forced:
type: boolean
enum:
- false
- true
id:
type: string
meta:
additionalProperties:
type: string
type: object
plan:
type: string
private:
type: boolean
enum:
- false
- true
readyState:
type: string
requestedAt:
type: number
target:
nullable: true
type: string
teamId:
nullable: true
type: string
type:
type: string
url:
type: string
userId:
type: string
withCache:
type: boolean
enum:
- false
- true
required:
- createdAt
- createdIn
- creator
- deploymentHostname
- id
- name
- plan
- private
- readyState
- type
- url
- userId
type: object
type: object
transferCompletedAt:
type: number
transferStartedAt:
type: number
transferToAccountId:
type: string
transferredFromAccountId:
type: string
updatedAt:
type: number
live:
type: boolean
enum:
- false
- true
enablePreviewFeedback:
nullable: true
type: boolean
enum:
- false
- true
enableProductionFeedback:
nullable: true
type: boolean
enum:
- false
- true
permissions:
properties:
oauth2Connection:
items:
$ref: '#/components/schemas/ACLAction'
type: array
user:
items:
$ref: '#/components/schemas/ACLAction'
type: array
userConnection:
items:
$ref: '#/components/schemas/ACLAction'
type: array
userSudo:
items:
$ref: '#/components/schemas/ACLAction'
type: array
webAuthn:
items:
$ref: '#/components/schemas/ACLAction'
type: array
accessGroup:
items:
$ref: '#/components/schemas/ACLAction'
type: array
agent:
items:
$ref: '#/components/schemas/ACLAction'
type: array
alerts:
items:
$ref: '#/components/schemas/ACLAction'
type: array
alertRules:
items:
$ref: '#/components/schemas/ACLAction'
type: array
aliasGlobal:
items:
$ref: '#/components/schemas/ACLAction'
type: array
analyticsSampling:
items:
$ref: '#/components/schemas/ACLAction'
type: array
analyticsUsage:
items:
$ref: '#/components/schemas/ACLAction'
type: array
apiKey:
items:
$ref: '#/components/schemas/ACLAction'
type: array
apiKeyAiGateway:
items:
$ref: '#/components/schemas/ACLAction'
type: array
apiKeyOwnedBySelf:
items:
$ref: '#/components/schemas/ACLAction'
type: array
oauth2Application:
items:
$ref: '#/components/schemas/ACLAction'
type: array
vercelAppInstallation:
items:
$ref: '#/components/schemas/ACLAction'
type: array
vercelAppInstallationRequest:
items:
$ref: '#/components/schemas/ACLAction'
type: array
auditLog:
items:
$ref: '#/components/schemas/ACLAction'
type: array
billingAddress:
items:
$ref: '#/components/schemas/ACLAction'
type: array
billingInformation:
items:
$ref: '#/components/schemas/ACLAction'
type: array
billingInvoice:
items:
$ref: '#/components/schemas/ACLAction'
type: array
billingInvoiceEmailRecipient:
items:
$ref: '#/components/schemas/ACLAction'
type: array
billingInvoiceLanguage:
items:
$ref: '#/components/schemas/ACLAction'
type: array
billingPlan:
items:
$ref: '#/components/schemas/ACLAction'
type: array
billingPurchaseOrder:
items:
$ref: '#/components/schemas/ACLAction'
type: array
billingRefund:
items:
$ref: '#/components/schemas/ACLAction'
type: array
billingTaxId:
items:
$ref: '#/components/schemas/ACLAction'
type: array
blob:
items:
$ref: '#/components/schemas/ACLAction'
type: array
blobStoreTokenSet:
items:
$ref: '#/components/schemas/ACLAction'
type: array
budget:
items:
$ref: '#/components/schemas/ACLAction'
type: array
cacheArtifact:
items:
$ref: '#/components/schemas/ACLAction'
type: array
cacheArtifactUsageEvent:
items:
$ref: '#/components/schemas/ACLAction'
type: array
codeChecks:
items:
$ref: '#/components/schemas/ACLAction'
type: array
concurrentBuilds:
items:
$ref: '#/components/schemas/ACLAction'
type: array
connect:
items:
$ref: '#/components/schemas/ACLAction'
type: array
connectConfiguration:
items:
$ref: '#/components/schemas/ACLAction'
type: array
buildMachineDefault:
items:
$ref: '#/components/schemas/ACLAction'
type: array
dataCacheBillingSettings:
items:
$ref: '#/components/schemas/ACLAction'
type: array
defaultDeploymentProtection:
items:
$ref: '#/components/schemas/ACLAction'
type: array
domain:
items:
$ref: '#/components/schemas/ACLAction'
type: array
domainAcceptDelegation:
items:
$ref: '#/components/schemas/ACLAction'
type: array
domainAuthCodes:
items:
$ref: '#/components/schemas/ACLAction'
type: array
domainCertificate:
items:
$ref: '#/components/schemas/ACLAction'
type: array
domainCheckConfig:
items:
$ref: '#/components/schemas/ACLAction'
type: array
domainMove:
items:
$ref: '#/components/schemas/ACLAction'
type: array
domainPurchase:
items:
$ref: '#/components/schemas/ACLAction'
type: array
domainRecord:
items:
$ref: '#/components/schemas/ACLAction'
type: array
domainTransferIn:
items:
$ref: '#/components/schemas/ACLAction'
type: array
drain:
items:
$ref: '#/components/schemas/ACLAction'
type: array
edgeConfig:
items:
$ref: '#/components/schemas/ACLAction'
type: array
edgeConfigItem:
items:
$ref: '#/components/schemas/ACLAction'
type: array
edgeConfigSchema:
items:
$ref: '#/components/schemas/ACLAction'
type: array
edgeConfigToken:
items:
$ref: '#/components/schemas/ACLAction'
type: array
endpointVerification:
items:
$ref: '#/components/schemas/ACLAction'
type: array
event:
items:
$ref: '#/components/schemas/ACLAction'
type: array
fileUpload:
items:
$ref: '#/components/schemas/ACLAction'
type: array
flagsExplorerSubscription:
items:
$ref: '#/components/schemas/ACLAction'
type: array
gitRepository:
items:
$ref: '#/components/schemas/ACLAction'
type: array
imageOptimizationNewPrice:
items:
$ref: '#/components/schemas/ACLAction'
type: array
integration:
items:
$ref: '#/components/schemas/ACLAction'
type: array
integrationAccount:
items:
$ref: '#/components/schemas/ACLAction'
type: array
integrationConfiguration:
items:
$ref: '#/components/schemas/ACLAction'
type: array
integrationConfigurationProjects:
items:
$ref: '#/components/schemas/ACLAction'
type: array
integrationConfigurationRole:
items:
$ref: '#/components/schemas/ACLAction'
type: array
integrationConfigurationTransfer:
items:
$ref: '#/components/schemas/ACLAction'
type: array
integrationDeploymentAction:
items:
$ref: '#/components/schemas/ACLAction'
type: array
integrationEvent:
items:
$ref: '#/components/schemas/ACLAction'
type: array
integrationLog:
items:
$ref: '#/components/schemas/ACLAction'
type: array
integrationResource:
items:
$ref: '#/components/schemas/ACLAction'
type: array
integrationResourceReplCommand:
items:
$ref: '#/components/schemas/ACLAction'
type: array
integrationResourceSecrets:
items:
$ref: '#/components/schemas/ACLAction'
type: array
integrationSSOSession:
items:
$ref: '#/components/schemas/ACLAction'
type: array
integrationStoreTokenSet:
items:
$ref: '#/components/schemas/ACLAction'
type: array
integrationVercelConfigurationOverride:
items:
$ref: '#/components/schemas/ACLAction'
type: array
integrationPullRequest:
items:
$ref: '#/components/schemas/ACLAction'
type: array
ipBlocking:
items:
$ref: '#/components/schemas/ACLAction'
type: array
jobGlobal:
items:
$ref: '#/components/schemas/ACLAction'
type: array
logDrain:
items:
$ref: '#/components/schemas/ACLAction'
type: array
marketplaceBillingData:
items:
$ref: '#/components/schemas/ACLAction'
type: array
marketplaceExperimentationEdgeConfigData:
items:
$ref: '#/components/schemas/ACLAction'
type: array
marketplaceExperimentationItem:
items:
$ref: '#/components/schemas/ACLAction'
type: array
marketplaceInstallationMember:
items:
$ref: '#/components/schemas/ACLAction'
type: array
marketplaceInvoice:
items:
$ref: '#/components/schemas/ACLAction'
type: array
marketplaceSettings:
items:
$ref: '#/components/schemas/ACLAction'
type: array
Monitoring:
items:
$ref: '#/components/schemas/ACLAction'
type: array
monitoringAlert:
items:
$ref: '#/components/schemas/ACLAction'
type: array
monitoringChart:
items:
$ref: '#/components/schemas/ACLAction'
type: array
monitoringQuery:
items:
$ref: '#/components/schemas/ACLAction'
type: array
monitoringSettings:
items:
$ref: '#/components/schemas/ACLAction'
type: array
notificationCustomerBudget:
items:
$ref: '#/components/schemas/ACLAction'
type: array
notificationDeploymentFailed:
items:
$ref: '#/components/schemas/ACLAction'
type: array
notificationDomainConfiguration:
items:
$ref: '#/components/schemas/ACLAction'
type: array
notificationDomainExpire:
items:
$ref: '#/components/schemas/ACLAction'
type: array
notificationDomainMoved:
items:
$ref: '#/components/schemas/ACLAction'
type: array
notificationDomainPurchase:
items:
$ref: '#/components/schemas/ACLAction'
type: array
notificationDomainRenewal:
items:
$ref: '#/components/schemas/ACLAction'
type: array
notificationDomainTransfer:
items:
$ref: '#/components/schemas/ACLAction'
type: array
notificationDomainUnverified:
items:
$ref: '#/components/schemas/ACLAction'
type: array
NotificationMonitoringAlert:
items:
$ref: '#/components/schemas/ACLAction'
type: array
notificationPaymentFailed:
items:
$ref: '#/components/schemas/ACLAction'
type: array
notificationPreferences:
items:
$ref: '#/components/schemas/ACLAction'
type: array
notificationStatementOfReasons:
items:
$ref: '#/components/schemas/ACLAction'
type: array
notificationUsageAlert:
items:
$ref: '#/components/schemas/ACLAction'
type: array
observabilityConfiguration:
items:
$ref: '#/components/schemas/ACLAction'
type: array
observabilityFunnel:
items:
$ref: '#/components/schemas/ACLAction'
type: array
observabilityNotebook:
items:
$ref: '#/components/schemas/ACLAction'
type: array
openTelemetryEndpoint:
items:
$ref: '#/components/schemas/ACLAction'
type: array
ownEvent:
items:
$ref: '#/components/schemas/ACLAction'
type: array
organizationDomain:
items:
$ref: '#/components/schemas/ACLAction'
type: array
passwordProtectionInvoiceItem:
items:
$ref: '#/components/schemas/ACLAction'
type: array
paymentMethod:
items:
$ref: '#/components/schemas/ACLAction'
type: array
permissions:
items:
$ref: '#/components/schemas/ACLAction'
type: array
postgres:
items:
$ref: '#/components/schemas/ACLAction'
type: array
postgresStoreTokenSet:
items:
$ref: '#/components/schemas/ACLAction'
type: array
previewDeploymentSuffix:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectTransferIn:
items:
$ref: '#/components/schemas/ACLAction'
type: array
proTrialOnboarding:
items:
$ref: '#/components/schemas/ACLAction'
type: array
rateLimit:
items:
$ref: '#/components/schemas/ACLAction'
type: array
redis:
items:
$ref: '#/components/schemas/ACLAction'
type: array
redisStoreTokenSet:
items:
$ref: '#/components/schemas/ACLAction'
type: array
remoteCaching:
items:
$ref: '#/components/schemas/ACLAction'
type: array
repository:
items:
$ref: '#/components/schemas/ACLAction'
type: array
samlConfig:
items:
$ref: '#/components/schemas/ACLAction'
type: array
secret:
items:
$ref: '#/components/schemas/ACLAction'
type: array
securityPlusConfiguration:
items:
$ref: '#/components/schemas/ACLAction'
type: array
sensitiveEnvironmentVariablePolicy:
items:
$ref: '#/components/schemas/ACLAction'
type: array
sharedEnvVars:
items:
$ref: '#/components/schemas/ACLAction'
type: array
sharedEnvVarsProduction:
items:
$ref: '#/components/schemas/ACLAction'
type: array
space:
items:
$ref: '#/components/schemas/ACLAction'
type: array
spaceRun:
items:
$ref: '#/components/schemas/ACLAction'
type: array
storeTransfer:
items:
$ref: '#/components/schemas/ACLAction'
type: array
supportCase:
items:
$ref: '#/components/schemas/ACLAction'
type: array
supportCaseComment:
items:
$ref: '#/components/schemas/ACLAction'
type: array
team:
items:
$ref: '#/components/schemas/ACLAction'
type: array
teamAccessRequest:
items:
$ref: '#/components/schemas/ACLAction'
type: array
teamFellowMembership:
items:
$ref: '#/components/schemas/ACLAction'
type: array
teamGitExclusivity:
items:
$ref: '#/components/schemas/ACLAction'
type: array
teamInvite:
items:
$ref: '#/components/schemas/ACLAction'
type: array
teamInviteCode:
items:
$ref: '#/components/schemas/ACLAction'
type: array
teamJoin:
items:
$ref: '#/components/schemas/ACLAction'
type: array
teamMemberMfaStatus:
items:
$ref: '#/components/schemas/ACLAction'
type: array
teamMicrofrontends:
items:
$ref: '#/components/schemas/ACLAction'
type: array
teamOwnMembership:
items:
$ref: '#/components/schemas/ACLAction'
type: array
teamOwnMembershipDisconnectSAML:
items:
$ref: '#/components/schemas/ACLAction'
type: array
token:
items:
$ref: '#/components/schemas/ACLAction'
type: array
usage:
items:
$ref: '#/components/schemas/ACLAction'
type: array
usageCycle:
items:
$ref: '#/components/schemas/ACLAction'
type: array
vercelRun:
items:
$ref: '#/components/schemas/ACLAction'
type: array
vercelRunExec:
items:
$ref: '#/components/schemas/ACLAction'
type: array
vpcPeeringConnection:
items:
$ref: '#/components/schemas/ACLAction'
type: array
webAnalyticsPlan:
items:
$ref: '#/components/schemas/ACLAction'
type: array
webhook:
items:
$ref: '#/components/schemas/ACLAction'
type: array
webhook-event:
items:
$ref: '#/components/schemas/ACLAction'
type: array
aliasProject:
items:
$ref: '#/components/schemas/ACLAction'
type: array
aliasProtectionBypass:
items:
$ref: '#/components/schemas/ACLAction'
type: array
buildMachine:
items:
$ref: '#/components/schemas/ACLAction'
type: array
connectConfigurationLink:
items:
$ref: '#/components/schemas/ACLAction'
type: array
dataCacheNamespace:
items:
$ref: '#/components/schemas/ACLAction'
type: array
deployment:
items:
$ref: '#/components/schemas/ACLAction'
type: array
deploymentBuildLogs:
items:
$ref: '#/components/schemas/ACLAction'
type: array
deploymentCheck:
items:
$ref: '#/components/schemas/ACLAction'
type: array
deploymentCheckPreview:
items:
$ref: '#/components/schemas/ACLAction'
type: array
deploymentCheckReRunFromProductionBranch:
items:
$ref: '#/components/schemas/ACLAction'
type: array
deploymentProductionGit:
items:
$ref: '#/components/schemas/ACLAction'
type: array
deploymentV0:
items:
$ref: '#/components/schemas/ACLAction'
type: array
deploymentPreview:
items:
$ref: '#/components/schemas/ACLAction'
type: array
deploymentPrivate:
items:
$ref: '#/components/schemas/ACLAction'
type: array
deploymentPromote:
items:
$ref: '#/components/schemas/ACLAction'
type: array
deploymentRollback:
items:
$ref: '#/components/schemas/ACLAction'
type: array
edgeCacheNamespace:
items:
$ref: '#/components/schemas/ACLAction'
type: array
environments:
items:
$ref: '#/components/schemas/ACLAction'
type: array
job:
items:
$ref: '#/components/schemas/ACLAction'
type: array
logs:
items:
$ref: '#/components/schemas/ACLAction'
type: array
logsPreset:
items:
$ref: '#/components/schemas/ACLAction'
type: array
observabilityData:
items:
$ref: '#/components/schemas/ACLAction'
type: array
onDemandBuild:
items:
$ref: '#/components/schemas/ACLAction'
type: array
onDemandConcurrency:
items:
$ref: '#/components/schemas/ACLAction'
type: array
optionsAllowlist:
items:
$ref: '#/components/schemas/ACLAction'
type: array
passwordProtection:
items:
$ref: '#/components/schemas/ACLAction'
type: array
productionAliasProtectionBypass:
items:
$ref: '#/components/schemas/ACLAction'
type: array
project:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectAccessGroup:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectAnalyticsSampling:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectAnalyticsUsage:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectCheck:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectCheckRun:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectDeploymentExpiration:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectDeploymentHook:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectDeploymentProtectionStrict:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectDomain:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectDomainCheckConfig:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectDomainMove:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectEnvVars:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectEnvVarsProduction:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectEnvVarsUnownedByIntegration:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectFlags:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectFlagsProduction:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectFromV0:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectId:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectIntegrationConfiguration:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectLink:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectMember:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectMonitoring:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectOIDCToken:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectPermissions:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectProductionBranch:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectProtectionBypass:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectRollingRelease:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectSupportCase:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectSupportCaseComment:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectTier:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectTransfer:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectTransferOut:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectUsage:
items:
$ref: '#/components/schemas/ACLAction'
type: array
seawallConfig:
items:
$ref: '#/components/schemas/ACLAction'
type: array
sharedEnvVarConnection:
items:
$ref: '#/components/schemas/ACLAction'
type: array
skewProtection:
items:
$ref: '#/components/schemas/ACLAction'
type: array
analytics:
items:
$ref: '#/components/schemas/ACLAction'
type: array
trustedIps:
items:
$ref: '#/components/schemas/ACLAction'
type: array
v0Chat:
items:
$ref: '#/components/schemas/ACLAction'
type: array
webAnalytics:
items:
$ref: '#/components/schemas/ACLAction'
type: array
type: object
lastRollbackTarget:
nullable: true
type: object
lastAliasRequest:
nullable: true
properties:
fromDeploymentId:
nullable: true
type: string
toDeploymentId:
type: string
fromRollingReleaseId:
type: string
description: >-
If rolling back from a rolling release,
fromDeploymentId captures the "base" of that
rolling release, and fromRollingReleaseId
captures the "target" of that rolling
release.
jobStatus:
type: string
enum:
- succeeded
- failed
- skipped
- pending
- in-progress
requestedAt:
type: number
type:
type: string
enum:
- promote
- rollback
required:
- fromDeploymentId
- jobStatus
- requestedAt
- toDeploymentId
- type
type: object
protectionBypass:
additionalProperties:
oneOf:
- properties:
createdAt:
type: number
createdBy:
type: string
scope:
type: string
enum:
- integration-automation-bypass
integrationId:
type: string
configurationId:
type: string
required:
- configurationId
- createdAt
- createdBy
- integrationId
- scope
type: object
- properties:
createdAt:
type: number
createdBy:
type: string
scope:
type: string
enum:
- automation-bypass
isEnvVar:
type: boolean
enum:
- false
- true
description: >-
When there was only one bypass, it was
automatically set as an env var on
deployments. With multiple bypasses,
there is always one bypass that is
selected as the default, and gets set as
an env var on deployments. As this is a
new field, undefined means that the
bypass is the env var. If there are any
automation bypasses, exactly one must be
the env var.
note:
type: string
description: >-
Optional note about the bypass to be
displayed in the UI
required:
- createdAt
- createdBy
- scope
type: object
type: object
hasActiveBranches:
type: boolean
enum:
- false
- true
trustedIps:
nullable: true
oneOf:
- properties:
deploymentType:
type: string
enum:
- production
- preview
- all
- prod_deployment_urls_and_all_previews
- all_except_custom_domains
addresses:
items:
properties:
value:
type: string
note:
type: string
required:
- value
type: object
type: array
protectionMode:
type: string
enum:
- additional
- exclusive
required:
- addresses
- deploymentType
- protectionMode
type: object
- properties:
deploymentType:
type: string
enum:
- production
- preview
- all
- prod_deployment_urls_and_all_previews
- all_except_custom_domains
required:
- deploymentType
type: object
gitComments:
properties:
onPullRequest:
type: boolean
enum:
- false
- true
description: Whether the Vercel bot should comment on PRs
onCommit:
type: boolean
enum:
- false
- true
description: >-
Whether the Vercel bot should comment on
commits
required:
- onCommit
- onPullRequest
type: object
gitProviderOptions:
properties:
createDeployments:
type: string
enum:
- enabled
- disabled
description: >-
Whether the Vercel bot should automatically
create GitHub deployments
https://docs.github.com/en/rest/deployments/deployments#about-deployments
NOTE: repository-dispatch events should be
used instead
disableRepositoryDispatchEvents:
type: boolean
enum:
- false
- true
description: >-
Whether the Vercel bot should not
automatically create GitHub
repository-dispatch events on deployment
events.
https://vercel.com/docs/git/vercel-for-github#repository-dispatch-events
requireVerifiedCommits:
type: boolean
enum:
- false
- true
description: >-
Whether the project requires commits to be
signed before deployments will be created.
required:
- createDeployments
type: object
paused:
type: boolean
enum:
- false
- true
concurrencyBucketName:
type: string
webAnalytics:
properties:
id:
type: string
disabledAt:
type: number
canceledAt:
type: number
enabledAt:
type: number
hasData:
type: boolean
enum:
- true
required:
- id
type: object
security:
properties:
attackModeEnabled:
type: boolean
enum:
- false
- true
attackModeUpdatedAt:
type: number
firewallEnabled:
type: boolean
enum:
- false
- true
firewallUpdatedAt:
type: number
attackModeActiveUntil:
nullable: true
type: number
firewallConfigVersion:
type: number
firewallSeawallEnabled:
type: boolean
enum:
- false
- true
ja3Enabled:
type: boolean
enum:
- false
- true
ja4Enabled:
type: boolean
enum:
- false
- true
firewallBypassIps:
items:
type: string
type: array
managedRules:
nullable: true
properties:
vercel_ruleset:
properties:
active:
type: boolean
enum:
- false
- true
action:
type: string
enum:
- log
- deny
- challenge
required:
- active
type: object
bot_filter:
properties:
active:
type: boolean
enum:
- false
- true
action:
type: string
enum:
- log
- deny
- challenge
required:
- active
type: object
ai_bots:
properties:
active:
type: boolean
enum:
- false
- true
action:
type: string
enum:
- log
- deny
- challenge
required:
- active
type: object
owasp:
properties:
active:
type: boolean
enum:
- false
- true
action:
type: string
enum:
- log
- deny
- challenge
required:
- active
type: object
required:
- ai_bots
- bot_filter
- owasp
- vercel_ruleset
type: object
botIdEnabled:
type: boolean
enum:
- false
- true
type: object
oidcTokenConfig:
properties:
enabled:
type: boolean
enum:
- false
- true
description: >-
Whether or not to generate OpenID Connect
JSON Web Tokens.
issuerMode:
type: string
enum:
- team
- global
description: >-
- team:
`https://oidc.vercel.com/[team_slug]` -
global: `https://oidc.vercel.com`
type: object
tier:
type: string
enum:
- standard
- advanced
- critical
features:
properties:
webAnalytics:
type: boolean
enum:
- false
- true
type: object
v0:
type: boolean
enum:
- false
- true
abuse:
properties:
scanner:
type: string
history:
items:
properties:
scanner:
type: string
reason:
type: string
by:
type: string
byId:
type: string
at:
type: number
required:
- at
- by
- byId
- reason
- scanner
type: object
type: array
updatedAt:
type: number
block:
properties:
action:
type: string
enum:
- blocked
reason:
type: string
statusCode:
type: number
createdAt:
type: number
caseId:
type: string
actor:
type: string
comment:
type: string
ineligibleForAppeal:
type: boolean
enum:
- false
- true
isCascading:
type: boolean
enum:
- false
- true
required:
- action
- createdAt
- reason
- statusCode
type: object
blockHistory:
items:
oneOf:
- properties:
action:
type: string
enum:
- blocked
reason:
type: string
statusCode:
type: number
createdAt:
type: number
caseId:
type: string
actor:
type: string
comment:
type: string
ineligibleForAppeal:
type: boolean
enum:
- false
- true
isCascading:
type: boolean
enum:
- false
- true
required:
- action
- createdAt
- reason
- statusCode
type: object
- properties:
action:
type: string
enum:
- unblocked
createdAt:
type: number
caseId:
type: string
actor:
type: string
comment:
type: string
ineligibleForAppeal:
type: boolean
enum:
- false
- true
isCascading:
type: boolean
enum:
- false
- true
required:
- action
- createdAt
type: object
- properties:
action:
type: string
enum:
- route-blocked
route:
oneOf:
- properties:
src:
type: string
status:
type: number
required:
- src
- status
type: object
- properties:
has:
items:
oneOf:
- properties:
type:
type: string
enum:
- header
key:
type: string
enum:
- x-vercel-ip-country
value:
properties:
eq:
type: string
required:
- eq
type: object
required:
- key
- type
- value
type: object
- properties:
type:
type: string
enum:
- host
value:
properties:
eq:
type: string
required:
- eq
type: object
required:
- type
- value
type: object
type: array
mitigate:
properties:
action:
type: string
enum:
- block_legal_cwc
required:
- action
type: object
src:
type: string
required:
- has
- mitigate
type: object
reason:
type: string
createdAt:
type: number
caseId:
type: string
actor:
type: string
comment:
type: string
ineligibleForAppeal:
type: boolean
enum:
- false
- true
isCascading:
type: boolean
enum:
- false
- true
required:
- action
- createdAt
- reason
- route
type: object
- properties:
action:
type: string
enum:
- route-unblocked
route:
oneOf:
- properties:
src:
type: string
status:
type: number
required:
- src
- status
type: object
- properties:
has:
items:
oneOf:
- properties:
type:
type: string
enum:
- header
key:
type: string
enum:
- x-vercel-ip-country
value:
properties:
eq:
type: string
required:
- eq
type: object
required:
- key
- type
- value
type: object
- properties:
type:
type: string
enum:
- host
value:
properties:
eq:
type: string
required:
- eq
type: object
required:
- type
- value
type: object
type: array
mitigate:
properties:
action:
type: string
enum:
- block_legal_cwc
required:
- action
type: object
src:
type: string
required:
- has
- mitigate
type: object
statusCode:
type: number
createdAt:
type: number
caseId:
type: string
actor:
type: string
comment:
type: string
ineligibleForAppeal:
type: boolean
enum:
- false
- true
isCascading:
type: boolean
enum:
- false
- true
required:
- action
- createdAt
- route
type: object
type: array
interstitial:
type: boolean
enum:
- false
- true
required:
- history
- updatedAt
type: object
internalRoutes:
items:
oneOf:
- properties:
src:
type: string
status:
type: number
required:
- src
- status
type: object
- properties:
has:
items:
oneOf:
- properties:
type:
type: string
enum:
- header
key:
type: string
enum:
- x-vercel-ip-country
value:
properties:
eq:
type: string
required:
- eq
type: object
required:
- key
- type
- value
type: object
- properties:
type:
type: string
enum:
- host
value:
properties:
eq:
type: string
required:
- eq
type: object
required:
- type
- value
type: object
type: array
mitigate:
properties:
action:
type: string
enum:
- block_legal_cwc
required:
- action
type: object
src:
type: string
required:
- has
- mitigate
type: object
type: array
hasDeployments:
type: boolean
enum:
- false
- true
dismissedToasts:
items:
properties:
key:
type: string
dismissedAt:
type: number
action:
type: string
enum:
- delete
- cancel
- accept
value:
nullable: true
oneOf:
- type: string
- type: number
- properties:
previousValue:
oneOf:
- type: string
- type: number
- type: boolean
enum:
- false
- true
currentValue:
oneOf:
- type: string
- type: number
- type: boolean
enum:
- false
- true
required:
- currentValue
- previousValue
type: object
- type: boolean
enum:
- false
- true
required:
- action
- dismissedAt
- key
- value
type: object
type: array
protectedSourcemaps:
type: boolean
enum:
- false
- true
required:
- accountId
- defaultResourceConfig
- directoryListing
- id
- name
- nodeVersion
- resourceConfig
type: object
type: array
pagination:
oneOf:
- properties:
count:
type: number
description: Amount of items in the current page.
example: 20
next:
nullable: true
type: string
description: >-
Continuation token that must be used to
request the next page. Base32 encoded for safe
URL transmission.
example: JBSWY3DPEHPK3PXP
required:
- count
- next
type: object
description: >-
This object contains information related to the
pagination of the current request using
continuation tokens. Since CosmosDB doesn't
support going to previous pages, only count and
next are provided.
- $ref: '#/components/schemas/Pagination'
required:
- pagination
- projects
type: object
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
security:
- bearerToken: []
components:
schemas:
Pagination:
properties:
count:
type: number
description: Amount of items in the current page.
example: 20
next:
nullable: true
type: number
description: Timestamp that must be used to request the next page.
example: 1540095775951
prev:
nullable: true
type: number
description: Timestamp that must be used to request the previous page.
example: 1540095775951
required:
- count
- next
- prev
type: object
description: >-
This object contains information related to the pagination of the
current request, including the necessary parameters to get the next or
previous page of data.
ACLAction:
type: string
enum:
- create
- delete
- read
- update
- list
description: >-
Enum containing the actions that can be performed against a resource.
Group operations are included.
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/integrations/retrieve-an-integration-configuration.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Retrieve an integration configuration
> 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.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v1/integrations/configuration/{id}
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/integrations/configuration/{id}:
get:
tags:
- integrations
summary: Retrieve an integration configuration
description: >-
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.
operationId: getConfiguration
parameters:
- name: id
description: ID of the configuration to check
in: path
required: true
schema:
type: string
description: ID of the configuration to check
example: icfg_cuwj0AdCdH3BwWT4LPijCC7t
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'200':
description: The configuration with the provided id
content:
application/json:
schema:
oneOf:
- properties:
projectSelection:
type: string
enum:
- selected
- all
description: >-
A string representing the permission for projects.
Possible values are `all` or `selected`.
example: all
notification:
properties:
level:
type: string
enum:
- error
- info
- warn
title:
type: string
message:
type: string
href:
type: string
required:
- level
- title
type: object
transferRequest:
oneOf:
- properties:
kind:
type: string
enum:
- transfer-to-marketplace
metadata:
additionalProperties: true
type: object
billingPlan:
properties:
id:
type: string
type:
type: string
enum:
- prepayment
- subscription
scope:
type: string
enum:
- installation
- resource
name:
type: string
description:
type: string
paymentMethodRequired:
type: boolean
enum:
- false
- true
preauthorizationAmount:
type: number
required:
- description
- id
- name
- type
type: object
requestId:
type: string
transferId:
type: string
requester:
properties:
name:
type: string
email:
type: string
required:
- name
type: object
createdAt:
type: number
expiresAt:
type: number
discardedAt:
type: number
discardedBy:
type: string
approvedAt:
type: number
approvedBy:
type: string
authorizationId:
type: string
required:
- createdAt
- expiresAt
- kind
- requestId
- requester
- transferId
type: object
- properties:
kind:
type: string
enum:
- transfer-from-marketplace
requestId:
type: string
transferId:
type: string
requester:
properties:
name:
type: string
email:
type: string
required:
- name
type: object
createdAt:
type: number
expiresAt:
type: number
discardedAt:
type: number
discardedBy:
type: string
approvedAt:
type: number
approvedBy:
type: string
authorizationId:
type: string
required:
- createdAt
- expiresAt
- kind
- requestId
- requester
- transferId
type: object
projects:
items:
type: string
type: array
description: >-
When a configuration is limited to access certain
projects, this will contain each of the project ID it
is allowed to access. If it is not defined, the
configuration has full access.
example:
- prj_xQxbutw1HpL6HLYPAzt5h75m8NjO
status:
type: string
enum:
- error
- ready
- pending
- onboarding
- suspended
- resumed
- uninstalled
description: >-
The configuration status. Optional. If not defined,
assume 'ready'.
type:
type: string
enum:
- integration-configuration
createdAt:
type: number
description: >-
A timestamp that tells you when the configuration was
created
example: 1558531915505
deletedAt:
nullable: true
type: number
description: >-
A timestamp that tells you when the configuration was
deleted.
example: 1558531915505
id:
type: string
description: The unique identifier of the configuration
example: icfg_3bwCLgxL8qt5kjRLcv2Dit7F
slug:
type: string
description: >-
The slug of the integration the configuration is
created for.
example: slack
teamId:
nullable: true
type: string
description: >-
When the configuration was created for a team, this
will show the ID of the team.
example: team_nLlpyC6RE1qxydlFKbrxDlud
updatedAt:
type: number
description: >-
A timestamp that tells you when the configuration was
updated.
example: 1558531915505
userId:
type: string
description: The ID of the user that created the configuration.
example: kr1PsOIzqEL5Xg6M4VZcZosf
scopes:
items:
type: string
type: array
description: >-
The resources that are allowed to be accessed by the
configuration.
example:
- read:project
- read-write:log-drain
source:
type: string
enum:
- marketplace
- deploy-button
- external
- v0
- resource-claims
- cli
- oauth
- backoffice
description: >-
Source defines where the configuration was installed
from. It is used to analyze user engagement for
integration installations in product metrics.
example: marketplace
integrationId:
type: string
description: >-
The unique identifier of the app the configuration was
created for
example: oac_xzpVzcUOgcB1nrVlirtKhbWV
ownerId:
type: string
description: The user or team ID that owns the configuration
example: kr1PsOIzqEL5Xg6M4VZcZosf
canConfigureOpenTelemetry:
type: boolean
enum:
- false
- true
completedAt:
type: number
description: >-
A timestamp that tells you when the configuration was
installed successfully
example: 1558531915505
externalId:
type: string
description: >-
An external identifier defined by the integration
vendor.
disabledAt:
type: number
description: >-
A timestamp that tells you when the configuration was
disabled. Note: Configurations can be disabled when
the associated user loses access to a team. They do
not function during this time until the configuration
is 'transferred', meaning the associated user is
changed to one with access to the team.
example: 1558531915505
deleteRequestedAt:
nullable: true
type: number
description: >-
A timestamp that tells you when the configuration
deletion has been started for cases when the deletion
needs to be settled/approved by partners, such as when
marketplace invoices have been paid.
example: 1558531915505
disabledReason:
type: string
enum:
- disabled-by-owner
- feature-not-available
- disabled-by-admin
- original-owner-left-the-team
- account-plan-downgrade
- original-owner-role-downgraded
installationType:
type: string
enum:
- marketplace
- external
description: >-
Defines the installation type. - 'external'
integrations are installed via the existing
integrations flow - 'marketplace' integrations are
natively installed: - when accepting the TOS of a
partner during the store creation process - if
undefined, assume 'external'
required:
- createdAt
- id
- integrationId
- notification
- ownerId
- projectSelection
- scopes
- slug
- transferRequest
- type
- updatedAt
- userId
type: object
- properties:
completedAt:
type: number
description: >-
A timestamp that tells you when the configuration was
installed successfully
example: 1558531915505
createdAt:
type: number
description: >-
A timestamp that tells you when the configuration was
created
example: 1558531915505
id:
type: string
description: The unique identifier of the configuration
example: icfg_3bwCLgxL8qt5kjRLcv2Dit7F
integrationId:
type: string
description: >-
The unique identifier of the app the configuration was
created for
example: oac_xzpVzcUOgcB1nrVlirtKhbWV
ownerId:
type: string
description: The user or team ID that owns the configuration
example: kr1PsOIzqEL5Xg6M4VZcZosf
status:
type: string
enum:
- error
- ready
- pending
- onboarding
- suspended
- resumed
- uninstalled
description: >-
The configuration status. Optional. If not defined,
assume 'ready'.
externalId:
type: string
description: >-
An external identifier defined by the integration
vendor.
projects:
items:
type: string
type: array
description: >-
When a configuration is limited to access certain
projects, this will contain each of the project ID it
is allowed to access. If it is not defined, the
configuration has full access.
example:
- prj_xQxbutw1HpL6HLYPAzt5h75m8NjO
source:
type: string
enum:
- marketplace
- deploy-button
- external
- v0
- resource-claims
- cli
- oauth
- backoffice
description: >-
Source defines where the configuration was installed
from. It is used to analyze user engagement for
integration installations in product metrics.
example: marketplace
slug:
type: string
description: >-
The slug of the integration the configuration is
created for.
example: slack
teamId:
nullable: true
type: string
description: >-
When the configuration was created for a team, this
will show the ID of the team.
example: team_nLlpyC6RE1qxydlFKbrxDlud
type:
type: string
enum:
- integration-configuration
updatedAt:
type: number
description: >-
A timestamp that tells you when the configuration was
updated.
example: 1558531915505
userId:
type: string
description: The ID of the user that created the configuration.
example: kr1PsOIzqEL5Xg6M4VZcZosf
scopes:
items:
type: string
type: array
description: >-
The resources that are allowed to be accessed by the
configuration.
example:
- read:project
- read-write:log-drain
disabledAt:
type: number
description: >-
A timestamp that tells you when the configuration was
disabled. Note: Configurations can be disabled when
the associated user loses access to a team. They do
not function during this time until the configuration
is 'transferred', meaning the associated user is
changed to one with access to the team.
example: 1558531915505
deletedAt:
nullable: true
type: number
description: >-
A timestamp that tells you when the configuration was
deleted.
example: 1558531915505
deleteRequestedAt:
nullable: true
type: number
description: >-
A timestamp that tells you when the configuration
deletion has been started for cases when the deletion
needs to be settled/approved by partners, such as when
marketplace invoices have been paid.
example: 1558531915505
disabledReason:
type: string
enum:
- disabled-by-owner
- feature-not-available
- disabled-by-admin
- original-owner-left-the-team
- account-plan-downgrade
- original-owner-role-downgraded
installationType:
type: string
enum:
- marketplace
- external
description: >-
Defines the installation type. - 'external'
integrations are installed via the existing
integrations flow - 'marketplace' integrations are
natively installed: - when accepting the TOS of a
partner during the store creation process - if
undefined, assume 'external'
required:
- createdAt
- id
- integrationId
- ownerId
- scopes
- slug
- type
- updatedAt
- userId
type: object
description: The configuration with the provided id
- properties:
completedAt:
type: number
description: >-
A timestamp that tells you when the configuration was
installed successfully
example: 1558531915505
createdAt:
type: number
description: >-
A timestamp that tells you when the configuration was
created
example: 1558531915505
id:
type: string
description: The unique identifier of the configuration
example: icfg_3bwCLgxL8qt5kjRLcv2Dit7F
integrationId:
type: string
description: >-
The unique identifier of the app the configuration was
created for
example: oac_xzpVzcUOgcB1nrVlirtKhbWV
ownerId:
type: string
description: The user or team ID that owns the configuration
example: kr1PsOIzqEL5Xg6M4VZcZosf
status:
type: string
enum:
- error
- ready
- pending
- onboarding
- suspended
- resumed
- uninstalled
description: >-
The configuration status. Optional. If not defined,
assume 'ready'.
externalId:
type: string
description: >-
An external identifier defined by the integration
vendor.
projects:
items:
type: string
type: array
description: >-
When a configuration is limited to access certain
projects, this will contain each of the project ID it
is allowed to access. If it is not defined, the
configuration has full access.
example:
- prj_xQxbutw1HpL6HLYPAzt5h75m8NjO
source:
type: string
enum:
- marketplace
- deploy-button
- external
- v0
- resource-claims
- cli
- oauth
- backoffice
description: >-
Source defines where the configuration was installed
from. It is used to analyze user engagement for
integration installations in product metrics.
example: marketplace
slug:
type: string
description: >-
The slug of the integration the configuration is
created for.
example: slack
teamId:
nullable: true
type: string
description: >-
When the configuration was created for a team, this
will show the ID of the team.
example: team_nLlpyC6RE1qxydlFKbrxDlud
type:
type: string
enum:
- integration-configuration
updatedAt:
type: number
description: >-
A timestamp that tells you when the configuration was
updated.
example: 1558531915505
userId:
type: string
description: The ID of the user that created the configuration.
example: kr1PsOIzqEL5Xg6M4VZcZosf
scopes:
items:
type: string
type: array
description: >-
The resources that are allowed to be accessed by the
configuration.
example:
- read:project
- read-write:log-drain
disabledAt:
type: number
description: >-
A timestamp that tells you when the configuration was
disabled. Note: Configurations can be disabled when
the associated user loses access to a team. They do
not function during this time until the configuration
is 'transferred', meaning the associated user is
changed to one with access to the team.
example: 1558531915505
deletedAt:
nullable: true
type: number
description: >-
A timestamp that tells you when the configuration was
deleted.
example: 1558531915505
deleteRequestedAt:
nullable: true
type: number
description: >-
A timestamp that tells you when the configuration
deletion has been started for cases when the deletion
needs to be settled/approved by partners, such as when
marketplace invoices have been paid.
example: 1558531915505
disabledReason:
type: string
enum:
- disabled-by-owner
- feature-not-available
- disabled-by-admin
- original-owner-left-the-team
- account-plan-downgrade
- original-owner-role-downgraded
installationType:
type: string
enum:
- marketplace
- external
description: >-
Defines the installation type. - 'external'
integrations are installed via the existing
integrations flow - 'marketplace' integrations are
natively installed: - when accepting the TOS of a
partner during the store creation process - if
undefined, assume 'external'
type: object
description: >-
A configuration represents information about a single
installation of an integration within an individual or
team account
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: The configuration was not found
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/environment/retrieve-custom-environments.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Retrieve custom environments
> Retrieve custom environments for the project. Must not be named 'Production' or 'Preview'.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v9/projects/{idOrName}/custom-environments
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v9/projects/{idOrName}/custom-environments:
get:
tags:
- environment
summary: Retrieve custom environments
description: >-
Retrieve custom environments for the project. Must not be named
'Production' or 'Preview'.
parameters:
- name: idOrName
description: The unique project identifier or the project name
in: path
required: true
schema:
description: The unique project identifier or the project name
type: string
- name: gitBranch
description: Fetch custom environments for a specific git branch
in: query
required: false
schema:
description: Fetch custom environments for a specific git branch
type: string
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'200':
description: ''
content:
application/json:
schema:
properties:
accountLimit:
properties:
total:
type: number
required:
- total
type: object
description: >-
The maximum number of custom environments allowed either
by the team's plan type or a custom override.
environments:
items:
properties:
type:
type: string
enum:
- production
- preview
- development
description: >-
The type of environment (production, preview, or
development)
description:
type: string
description: Optional description of the environment's purpose
createdAt:
type: number
description: Timestamp when the environment was created
updatedAt:
type: number
description: Timestamp when the environment was last updated
id:
type: string
description: >-
Unique identifier for the custom environment
(format: env_*)
slug:
type: string
description: URL-friendly name of the environment
branchMatcher:
properties:
type:
type: string
enum:
- endsWith
- startsWith
- equals
description: The type of matching to perform
pattern:
type: string
description: The pattern to match against branch names
required:
- pattern
- type
type: object
description: >-
Configuration for matching git branches to this
environment
domains:
items:
properties:
name:
type: string
apexName:
type: string
projectId:
type: string
redirect:
nullable: true
type: string
redirectStatusCode:
nullable: true
type: number
enum:
- 301
- 302
- 307
- 308
gitBranch:
nullable: true
type: string
customEnvironmentId:
nullable: true
type: string
updatedAt:
type: number
createdAt:
type: number
verified:
type: boolean
enum:
- false
- true
description: >-
`true` if the domain is verified for use with
the project. If `false` it will not be used as
an alias on this project until the challenge
in `verification` is completed.
verification:
items:
properties:
type:
type: string
domain:
type: string
value:
type: string
reason:
type: string
required:
- domain
- reason
- type
- value
type: object
description: >-
A list of verification challenges, one of
which must be completed to verify the domain
for use on the project. After the challenge
is complete `POST
/projects/:idOrName/domains/:domain/verify`
to verify the domain. Possible challenges: -
If `verification.type = TXT` the
`verification.domain` will be checked for a
TXT record matching `verification.value`.
type: array
description: >-
A list of verification challenges, one of
which must be completed to verify the domain
for use on the project. After the challenge is
complete `POST
/projects/:idOrName/domains/:domain/verify` to
verify the domain. Possible challenges: - If
`verification.type = TXT` the
`verification.domain` will be checked for a
TXT record matching `verification.value`.
required:
- apexName
- name
- projectId
- verified
type: object
description: List of domains associated with this environment
type: array
description: List of domains associated with this environment
currentDeploymentAliases:
items:
type: string
type: array
description: List of aliases for the current deployment
required:
- createdAt
- id
- slug
- type
- updatedAt
type: object
type: array
required:
- accountLimit
- environments
type: object
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/projects/retrieve-project-domains-by-project-by-id-or-name.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Retrieve project domains by project by id or name
> Retrieve the domains associated with a given project by passing either the project `id` or `name` in the URL.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v9/projects/{idOrName}/domains
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v9/projects/{idOrName}/domains:
get:
tags:
- projects
summary: Retrieve project domains by project by id or name
description: >-
Retrieve the domains associated with a given project by passing either
the project `id` or `name` in the URL.
operationId: getProjectDomains
parameters:
- name: idOrName
description: The unique project identifier or the project name
in: path
required: true
schema:
description: The unique project identifier or the project name
oneOf:
- type: string
- name: production
description: Filters only production domains when set to `true`.
in: query
required: false
schema:
default: 'false'
description: Filters only production domains when set to `true`.
enum:
- 'true'
- 'false'
- name: target
description: >-
Filters on the target of the domain. Can be either \"production\",
\"preview\"
in: query
required: false
schema:
description: >-
Filters on the target of the domain. Can be either \"production\",
\"preview\"
enum:
- production
- preview
type: string
- name: customEnvironmentId
description: The unique custom environment identifier within the project
in: query
required: false
schema:
description: The unique custom environment identifier within the project
type: string
example: env_123abc4567
- name: gitBranch
description: Filters domains based on specific branch.
in: query
required: false
schema:
description: Filters domains based on specific branch.
type: string
- name: redirects
description: >-
Excludes redirect project domains when \"false\". Includes redirect
project domains when \"true\" (default).
in: query
required: false
schema:
default: 'true'
description: >-
Excludes redirect project domains when \"false\". Includes
redirect project domains when \"true\" (default).
enum:
- 'true'
- 'false'
- name: redirect
description: Filters domains based on their redirect target.
in: query
required: false
schema:
description: Filters domains based on their redirect target.
type: string
example: example.com
- name: verified
description: Filters domains based on their verification status.
in: query
required: false
schema:
description: Filters domains based on their verification status.
enum:
- 'true'
- 'false'
- name: limit
description: Maximum number of domains to list from a request (max 100).
in: query
required: false
schema:
description: Maximum number of domains to list from a request (max 100).
type: number
example: 20
- name: since
description: Get domains created after this JavaScript timestamp.
in: query
required: false
schema:
description: Get domains created after this JavaScript timestamp.
type: number
example: 1609499532000
- name: until
description: Get domains created before this JavaScript timestamp.
in: query
required: false
schema:
description: Get domains created before this JavaScript timestamp.
type: number
example: 1612264332000
- name: order
description: Domains sort order by createdAt
in: query
required: false
schema:
default: DESC
description: Domains sort order by createdAt
enum:
- ASC
- DESC
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'200':
description: Successful response retrieving a list of domains
content:
application/json:
schema:
oneOf:
- properties:
domains:
items:
properties:
name:
type: string
apexName:
type: string
projectId:
type: string
redirect:
nullable: true
type: string
redirectStatusCode:
nullable: true
type: number
enum:
- 301
- 302
- 307
- 308
gitBranch:
nullable: true
type: string
customEnvironmentId:
nullable: true
type: string
updatedAt:
type: number
createdAt:
type: number
verified:
type: boolean
enum:
- false
- true
description: >-
`true` if the domain is verified for use with
the project. If `false` it will not be used as
an alias on this project until the challenge in
`verification` is completed.
verification:
items:
properties:
type:
type: string
domain:
type: string
value:
type: string
reason:
type: string
required:
- domain
- reason
- type
- value
type: object
description: >-
A list of verification challenges, one of
which must be completed to verify the domain
for use on the project. After the challenge is
complete `POST
/projects/:idOrName/domains/:domain/verify` to
verify the domain. Possible challenges: - If
`verification.type = TXT` the
`verification.domain` will be checked for a
TXT record matching `verification.value`.
type: array
description: >-
A list of verification challenges, one of which
must be completed to verify the domain for use
on the project. After the challenge is complete
`POST
/projects/:idOrName/domains/:domain/verify` to
verify the domain. Possible challenges: - If
`verification.type = TXT` the
`verification.domain` will be checked for a TXT
record matching `verification.value`.
required:
- apexName
- name
- projectId
- verified
type: object
type: array
pagination:
properties:
count:
type: number
next:
nullable: true
type: number
prev:
nullable: true
type: number
required:
- count
- next
- prev
type: object
required:
- domains
- pagination
type: object
- properties:
domains:
items:
properties:
name:
type: string
apexName:
type: string
projectId:
type: string
redirect:
nullable: true
type: string
redirectStatusCode:
nullable: true
type: number
enum:
- 301
- 302
- 307
- 308
gitBranch:
nullable: true
type: string
customEnvironmentId:
nullable: true
type: string
updatedAt:
type: number
createdAt:
type: number
verified:
type: boolean
enum:
- false
- true
description: >-
`true` if the domain is verified for use with
the project. If `false` it will not be used as
an alias on this project until the challenge in
`verification` is completed.
verification:
items:
properties:
type:
type: string
domain:
type: string
value:
type: string
reason:
type: string
required:
- domain
- reason
- type
- value
type: object
description: >-
A list of verification challenges, one of
which must be completed to verify the domain
for use on the project. After the challenge is
complete `POST
/projects/:idOrName/domains/:domain/verify` to
verify the domain. Possible challenges: - If
`verification.type = TXT` the
`verification.domain` will be checked for a
TXT record matching `verification.value`.
type: array
description: >-
A list of verification challenges, one of which
must be completed to verify the domain for use
on the project. After the challenge is complete
`POST
/projects/:idOrName/domains/:domain/verify` to
verify the domain. Possible challenges: - If
`verification.type = TXT` the
`verification.domain` will be checked for a TXT
record matching `verification.value`.
required:
- apexName
- name
- projectId
- verified
type: object
type: array
pagination:
$ref: '#/components/schemas/Pagination'
required:
- domains
- pagination
type: object
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
security:
- bearerToken: []
components:
schemas:
Pagination:
properties:
count:
type: number
description: Amount of items in the current page.
example: 20
next:
nullable: true
type: number
description: Timestamp that must be used to request the next page.
example: 1540095775951
prev:
nullable: true
type: number
description: Timestamp that must be used to request the previous page.
example: 1540095775951
required:
- count
- next
- prev
type: object
description: >-
This object contains information related to the pagination of the
current request, including the necessary parameters to get the next or
previous page of data.
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/environment/retrieve-the-decrypted-value-of-a-shared-environment-variable-by-id.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Retrieve the decrypted value of a Shared Environment Variable by id.
> Retrieve the decrypted value of a Shared Environment Variable by id.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v1/env/{id}
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/env/{id}:
get:
tags:
- environment
summary: Retrieve the decrypted value of a Shared Environment Variable by id.
description: Retrieve the decrypted value of a Shared Environment Variable by id.
operationId: getSharedEnvVar
parameters:
- name: id
description: >-
The unique ID for the Shared Environment Variable to get the
decrypted value.
in: path
required: true
schema:
description: >-
The unique ID for the Shared Environment Variable to get the
decrypted value.
type: string
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'200':
description: ''
content:
application/json:
schema:
properties:
created:
type: string
format: date-time
description: The date when the Shared Env Var was created.
example: '2021-02-10T13:11:49.180Z'
key:
type: string
description: The name of the Shared Env Var.
example: my-api-key
ownerId:
nullable: true
type: string
description: >-
The unique identifier of the owner (team) the Shared Env
Var was created for.
example: team_LLHUOMOoDlqOp8wPE4kFo9pE
id:
type: string
description: The unique identifier of the Shared Env Var.
example: env_XCG7t7AIHuO2SBA8667zNUiM
createdBy:
nullable: true
type: string
description: >-
The unique identifier of the user who created the Shared
Env Var.
example: 2qDDuGFTWXBLDNnqZfWPDp1A
deletedBy:
nullable: true
type: string
description: >-
The unique identifier of the user who deleted the Shared
Env Var.
example: 2qDDuGFTWXBLDNnqZfWPDp1A
updatedBy:
nullable: true
type: string
description: >-
The unique identifier of the user who last updated the
Shared Env Var.
example: 2qDDuGFTWXBLDNnqZfWPDp1A
createdAt:
type: number
description: Timestamp for when the Shared Env Var was created.
example: 1609492210000
deletedAt:
type: number
description: Timestamp for when the Shared Env Var was (soft) deleted.
example: 1609492210000
updatedAt:
type: number
description: Timestamp for when the Shared Env Var was last updated.
example: 1609492210000
value:
type: string
description: The value of the Shared Env Var.
projectId:
items:
type: string
type: array
description: >-
The unique identifiers of the projects which the Shared
Env Var is linked to.
example:
- prj_2WjyKQmM8ZnGcJsPWMrHRHrE
- prj_2WjyKQmM8ZnGcJsPWMrasEFg
type:
type: string
enum:
- encrypted
- sensitive
- system
- plain
description: >-
The type of this cosmos doc instance, if blank, assume
secret.
example: encrypted
target:
items:
type: string
enum:
- production
- preview
- development
example: production
description: environments this env variable targets
type: array
description: environments this env variable targets
example: production
applyToAllCustomEnvironments:
type: boolean
enum:
- false
- true
description: >-
whether or not this env varible applies to custom
environments
decrypted:
type: boolean
enum:
- false
- true
description: whether or not this env variable is decrypted
comment:
type: string
description: >-
A user provided comment that describes what this Shared
Env Var is for.
lastEditedByDisplayName:
type: string
description: The last editor full name or username.
type: object
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/projects/retrieve-the-decrypted-value-of-an-environment-variable-of-a-project-by-id.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Retrieve the decrypted value of an environment variable of a project by id
> Retrieve the environment variable for a given project.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v1/projects/{idOrName}/env/{id}
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/projects/{idOrName}/env/{id}:
get:
tags:
- projects
summary: >-
Retrieve the decrypted value of an environment variable of a project by
id
description: Retrieve the environment variable for a given project.
operationId: getProjectEnv
parameters:
- name: idOrName
description: The unique project identifier or the project name
in: path
required: true
schema:
description: The unique project identifier or the project name
type: string
example: prj_XLKmu1DyR1eY7zq8UgeRKbA7yVLA
- name: id
description: >-
The unique ID for the environment variable to get the decrypted
value.
in: path
required: true
schema:
description: >-
The unique ID for the environment variable to get the decrypted
value.
type: string
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'200':
description: ''
content:
application/json:
schema:
oneOf:
- properties:
decrypted:
type: boolean
enum:
- false
- true
type:
type: string
enum:
- secret
- system
- encrypted
- plain
- sensitive
edgeConfigId:
nullable: true
type: string
edgeConfigTokenId:
nullable: true
type: string
createdAt:
type: number
updatedAt:
type: number
id:
type: string
createdBy:
nullable: true
type: string
target:
oneOf:
- items:
type: string
enum:
- production
- preview
- development
- preview
- development
type: array
- type: string
enum:
- production
- preview
- development
key:
type: string
gitBranch:
type: string
updatedBy:
nullable: true
type: string
sunsetSecretId:
type: string
description: >-
This is used to identify variables that have been
migrated from type secret to sensitive.
legacyValue:
type: string
description: >-
Legacy now-encryption ciphertext, present after
migration swaps value/vsmValue
configurationId:
nullable: true
type: string
contentHint:
nullable: true
oneOf:
- properties:
type:
type: string
enum:
- redis-url
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- redis-rest-api-url
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- redis-rest-api-token
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- redis-rest-api-read-only-token
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- blob-read-write-token
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-url
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-url-non-pooling
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-prisma-url
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-user
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-host
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-password
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-database
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-url-no-ssl
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- integration-store-secret
storeId:
type: string
integrationId:
type: string
integrationProductId:
type: string
integrationConfigurationId:
type: string
required:
- integrationConfigurationId
- integrationId
- integrationProductId
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- flags-connection-string
projectId:
type: string
required:
- projectId
- type
type: object
internalContentHint:
nullable: true
properties:
type:
type: string
enum:
- flags-secret
encryptedValue:
type: string
description: >-
Contains the `value` of the env variable,
encrypted with a special key to make decryption
possible in the subscriber Lambda.
required:
- encryptedValue
- type
type: object
description: >-
Similar to `contentHints`, but should not be exposed
to the user.
comment:
type: string
customEnvironmentIds:
items:
type: string
type: array
required:
- decrypted
- key
- type
type: object
- properties:
type:
type: string
enum:
- secret
- system
- encrypted
- plain
- sensitive
value:
type: string
edgeConfigId:
nullable: true
type: string
edgeConfigTokenId:
nullable: true
type: string
createdAt:
type: number
updatedAt:
type: number
id:
type: string
createdBy:
nullable: true
type: string
target:
oneOf:
- items:
type: string
enum:
- production
- preview
- development
type: array
- type: string
enum:
- production
- preview
- development
key:
type: string
gitBranch:
type: string
updatedBy:
nullable: true
type: string
sunsetSecretId:
type: string
description: >-
This is used to identify variables that have been
migrated from type secret to sensitive.
legacyValue:
type: string
description: >-
Legacy now-encryption ciphertext, present after
migration swaps value/vsmValue
decrypted:
type: boolean
enum:
- false
- true
configurationId:
nullable: true
type: string
contentHint:
nullable: true
oneOf:
- properties:
type:
type: string
enum:
- redis-url
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- redis-rest-api-url
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- redis-rest-api-token
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- redis-rest-api-read-only-token
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- blob-read-write-token
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-url
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-url-non-pooling
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-prisma-url
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-user
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-host
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-password
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-database
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-url-no-ssl
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- integration-store-secret
storeId:
type: string
integrationId:
type: string
integrationProductId:
type: string
integrationConfigurationId:
type: string
required:
- integrationConfigurationId
- integrationId
- integrationProductId
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- flags-connection-string
projectId:
type: string
required:
- projectId
- type
type: object
internalContentHint:
nullable: true
properties:
type:
type: string
enum:
- flags-secret
encryptedValue:
type: string
description: >-
Contains the `value` of the env variable,
encrypted with a special key to make decryption
possible in the subscriber Lambda.
required:
- encryptedValue
- type
type: object
description: >-
Similar to `contentHints`, but should not be exposed
to the user.
comment:
type: string
customEnvironmentIds:
items:
type: string
type: array
required:
- key
- type
- value
type: object
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/projects/retrieve-the-environment-variables-of-a-project-by-id-or-name.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Retrieve the environment variables of a project by id or name
> Retrieve the environment variables for a given project by passing either the project `id` or `name` in the URL.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v10/projects/{idOrName}/env
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v10/projects/{idOrName}/env:
get:
tags:
- projects
summary: Retrieve the environment variables of a project by id or name
description: >-
Retrieve the environment variables for a given project by passing either
the project `id` or `name` in the URL.
operationId: filterProjectEnvs
parameters:
- name: idOrName
description: The unique project identifier or the project name
in: path
required: true
schema:
description: The unique project identifier or the project name
type: string
example: prj_XLKmu1DyR1eY7zq8UgeRKbA7yVLA
- name: gitBranch
description: >-
If defined, the git branch of the environment variable to filter the
results (must have target=preview)
in: query
required: false
schema:
description: >-
If defined, the git branch of the environment variable to filter
the results (must have target=preview)
type: string
maxLength: 250
example: feature-1
- name: decrypt
description: If true, the environment variable value will be decrypted
in: query
required: false
schema:
description: If true, the environment variable value will be decrypted
type: string
enum:
- 'true'
- 'false'
example: 'true'
deprecated: true
- name: source
description: The source that is calling the endpoint.
in: query
required: false
schema:
description: The source that is calling the endpoint.
type: string
example: vercel-cli:pull
- name: customEnvironmentId
description: The unique custom environment identifier within the project
in: query
required: false
schema:
description: The unique custom environment identifier within the project
type: string
example: env_123abc4567
- name: customEnvironmentSlug
description: The custom environment slug (name) within the project
in: query
required: false
schema:
type: string
description: The custom environment slug (name) within the project
example: my-custom-env
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'200':
description: The list of environment variables for the given project
content:
application/json:
schema:
oneOf:
- properties:
target:
oneOf:
- items:
type: string
enum:
- production
- preview
- development
- preview
- development
type: array
- type: string
enum:
- production
- preview
- development
- preview
- development
type:
type: string
enum:
- secret
- system
- encrypted
- plain
- sensitive
sunsetSecretId:
type: string
description: >-
This is used to identify variables that have been
migrated from type secret to sensitive.
legacyValue:
type: string
description: >-
Legacy now-encryption ciphertext, present after
migration swaps value/vsmValue
decrypted:
type: boolean
enum:
- false
- true
value:
type: string
vsmValue:
type: string
id:
type: string
key:
type: string
configurationId:
nullable: true
type: string
createdAt:
type: number
updatedAt:
type: number
createdBy:
nullable: true
type: string
updatedBy:
nullable: true
type: string
gitBranch:
type: string
edgeConfigId:
nullable: true
type: string
edgeConfigTokenId:
nullable: true
type: string
contentHint:
nullable: true
oneOf:
- properties:
type:
type: string
enum:
- redis-url
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- redis-rest-api-url
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- redis-rest-api-token
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- redis-rest-api-read-only-token
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- blob-read-write-token
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-url
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-url-non-pooling
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-prisma-url
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-user
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-host
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-password
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-database
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-url-no-ssl
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- integration-store-secret
storeId:
type: string
integrationId:
type: string
integrationProductId:
type: string
integrationConfigurationId:
type: string
required:
- integrationConfigurationId
- integrationId
- integrationProductId
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- flags-connection-string
projectId:
type: string
required:
- projectId
- type
type: object
internalContentHint:
nullable: true
properties:
type:
type: string
enum:
- flags-secret
encryptedValue:
type: string
description: >-
Contains the `value` of the env variable,
encrypted with a special key to make decryption
possible in the subscriber Lambda.
required:
- encryptedValue
- type
type: object
description: >-
Similar to `contentHints`, but should not be exposed
to the user.
comment:
type: string
customEnvironmentIds:
items:
type: string
type: array
system:
type: boolean
enum:
- false
- true
required:
- key
- type
- value
type: object
- properties:
envs:
items:
properties:
target:
oneOf:
- items:
type: string
enum:
- production
- preview
- development
- preview
- development
type: array
- type: string
enum:
- production
- preview
- development
- preview
- development
type:
type: string
enum:
- secret
- system
- encrypted
- plain
- sensitive
sunsetSecretId:
type: string
description: >-
This is used to identify variables that have
been migrated from type secret to sensitive.
legacyValue:
type: string
description: >-
Legacy now-encryption ciphertext, present after
migration swaps value/vsmValue
decrypted:
type: boolean
enum:
- false
- true
value:
type: string
vsmValue:
type: string
id:
type: string
key:
type: string
configurationId:
nullable: true
type: string
createdAt:
type: number
updatedAt:
type: number
createdBy:
nullable: true
type: string
updatedBy:
nullable: true
type: string
gitBranch:
type: string
edgeConfigId:
nullable: true
type: string
edgeConfigTokenId:
nullable: true
type: string
contentHint:
nullable: true
oneOf:
- properties:
type:
type: string
enum:
- redis-url
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- redis-rest-api-url
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- redis-rest-api-token
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- redis-rest-api-read-only-token
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- blob-read-write-token
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-url
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-url-non-pooling
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-prisma-url
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-user
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-host
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-password
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-database
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-url-no-ssl
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- integration-store-secret
storeId:
type: string
integrationId:
type: string
integrationProductId:
type: string
integrationConfigurationId:
type: string
required:
- integrationConfigurationId
- integrationId
- integrationProductId
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- flags-connection-string
projectId:
type: string
required:
- projectId
- type
type: object
internalContentHint:
nullable: true
properties:
type:
type: string
enum:
- flags-secret
encryptedValue:
type: string
description: >-
Contains the `value` of the env variable,
encrypted with a special key to make
decryption possible in the subscriber
Lambda.
required:
- encryptedValue
- type
type: object
description: >-
Similar to `contentHints`, but should not be
exposed to the user.
comment:
type: string
customEnvironmentIds:
items:
type: string
type: array
system:
type: boolean
enum:
- false
- true
required:
- key
- type
- value
type: object
type: array
pagination:
$ref: '#/components/schemas/Pagination'
required:
- envs
- pagination
type: object
- properties:
envs:
items:
properties:
target:
oneOf:
- items:
type: string
enum:
- production
- preview
- development
- preview
- development
type: array
- type: string
enum:
- production
- preview
- development
- preview
- development
type:
type: string
enum:
- secret
- system
- encrypted
- plain
- sensitive
sunsetSecretId:
type: string
description: >-
This is used to identify variables that have
been migrated from type secret to sensitive.
legacyValue:
type: string
description: >-
Legacy now-encryption ciphertext, present after
migration swaps value/vsmValue
decrypted:
type: boolean
enum:
- false
- true
value:
type: string
vsmValue:
type: string
id:
type: string
key:
type: string
configurationId:
nullable: true
type: string
createdAt:
type: number
updatedAt:
type: number
createdBy:
nullable: true
type: string
updatedBy:
nullable: true
type: string
gitBranch:
type: string
edgeConfigId:
nullable: true
type: string
edgeConfigTokenId:
nullable: true
type: string
contentHint:
nullable: true
oneOf:
- properties:
type:
type: string
enum:
- redis-url
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- redis-rest-api-url
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- redis-rest-api-token
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- redis-rest-api-read-only-token
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- blob-read-write-token
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-url
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-url-non-pooling
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-prisma-url
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-user
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-host
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-password
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-database
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-url-no-ssl
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- integration-store-secret
storeId:
type: string
integrationId:
type: string
integrationProductId:
type: string
integrationConfigurationId:
type: string
required:
- integrationConfigurationId
- integrationId
- integrationProductId
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- flags-connection-string
projectId:
type: string
required:
- projectId
- type
type: object
internalContentHint:
nullable: true
properties:
type:
type: string
enum:
- flags-secret
encryptedValue:
type: string
description: >-
Contains the `value` of the env variable,
encrypted with a special key to make
decryption possible in the subscriber
Lambda.
required:
- encryptedValue
- type
type: object
description: >-
Similar to `contentHints`, but should not be
exposed to the user.
comment:
type: string
customEnvironmentIds:
items:
type: string
type: array
system:
type: boolean
enum:
- false
- true
required:
- key
- type
- value
type: object
type: array
required:
- envs
type: object
description: The list of environment variables for the given project
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
security:
- bearerToken: []
components:
schemas:
Pagination:
properties:
count:
type: number
description: Amount of items in the current page.
example: 20
next:
nullable: true
type: number
description: Timestamp that must be used to request the next page.
example: 1540095775951
prev:
nullable: true
type: number
description: Timestamp that must be used to request the previous page.
example: 1540095775951
required:
- count
- next
- prev
type: object
description: >-
This object contains information related to the pagination of the
current request, including the necessary parameters to get the next or
previous page of data.
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/logdrains/retrieves-a-configurable-log-drain-deprecated.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Retrieves a Configurable Log Drain (deprecated)
> 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.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v1/log-drains/{id}
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/log-drains/{id}:
get:
tags:
- logDrains
summary: Retrieves a Configurable Log Drain (deprecated)
description: >-
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.
operationId: getConfigurableLogDrain
parameters:
- name: id
in: path
required: true
schema:
type: string
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'200':
description: ''
content:
application/json:
schema:
type: object
properties:
createdFrom:
type: string
clientId:
type: string
configurationId:
type: string
projectsMetadata:
nullable: true
items:
properties:
id:
type: string
name:
type: string
framework:
nullable: true
type: string
enum:
- blitzjs
- nextjs
- gatsby
- remix
- react-router
- astro
- hexo
- eleventy
- docusaurus-2
- docusaurus
- preact
- solidstart-1
- solidstart
- dojo
- ember
- vue
- scully
- ionic-angular
- angular
- polymer
- svelte
- sveltekit
- sveltekit-1
- ionic-react
- create-react-app
- gridsome
- umijs
- sapper
- saber
- stencil
- nuxtjs
- redwoodjs
- hugo
- jekyll
- brunch
- middleman
- zola
- hydrogen
- vite
- tanstack-start
- vitepress
- vuepress
- parcel
- fastapi
- flask
- fasthtml
- sanity-v3
- sanity
- storybook
- nitro
- hono
- express
- h3
- koa
- nestjs
- elysia
- fastify
- xmcp
- python
- ruby
- rust
- node
- services
latestDeployment:
type: string
required:
- id
- name
type: object
type: array
integrationIcon:
type: string
integrationConfigurationUri:
type: string
integrationWebsite:
type: string
required:
- createdFrom
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/logdrains/retrieves-a-list-of-all-the-log-drains-deprecated.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Retrieves a list of all the Log Drains (deprecated)
> Retrieves 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.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v1/log-drains
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/log-drains:
get:
tags:
- logDrains
summary: Retrieves a list of all the Log Drains (deprecated)
description: >-
Retrieves 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.
operationId: getAllLogDrains
parameters:
- name: projectId
in: query
schema:
pattern: ^[a-zA-z0-9_]+$
type: string
- name: projectIdOrName
in: query
schema:
type: string
- name: includeMetadata
in: query
schema:
type: boolean
default: false
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'200':
description: ''
content:
application/json:
schema:
oneOf:
- items:
type: object
properties:
createdFrom:
type: string
clientId:
type: string
configurationId:
type: string
projectsMetadata:
nullable: true
items:
properties:
id:
type: string
name:
type: string
framework:
nullable: true
type: string
enum:
- blitzjs
- nextjs
- gatsby
- remix
- react-router
- astro
- hexo
- eleventy
- docusaurus-2
- docusaurus
- preact
- solidstart-1
- solidstart
- dojo
- ember
- vue
- scully
- ionic-angular
- angular
- polymer
- svelte
- sveltekit
- sveltekit-1
- ionic-react
- create-react-app
- gridsome
- umijs
- sapper
- saber
- stencil
- nuxtjs
- redwoodjs
- hugo
- jekyll
- brunch
- middleman
- zola
- hydrogen
- vite
- tanstack-start
- vitepress
- vuepress
- parcel
- fastapi
- flask
- fasthtml
- sanity-v3
- sanity
- storybook
- nitro
- hono
- express
- h3
- koa
- nestjs
- elysia
- fastify
- xmcp
- python
- ruby
- rust
- node
- services
latestDeployment:
type: string
required:
- id
- name
type: object
type: array
integrationIcon:
type: string
integrationConfigurationUri:
type: string
integrationWebsite:
type: string
required:
- createdFrom
type: array
- properties:
drains:
oneOf:
- items:
properties:
id:
type: string
createdAt:
type: number
updatedAt:
type: number
projectIds:
items:
type: string
type: array
name:
type: string
teamId:
nullable: true
type: string
ownerId:
type: string
status:
type: string
enum:
- enabled
- disabled
- errored
firstErrorTimestamp:
type: number
disabledAt:
type: number
disabledBy:
type: string
disabledReason:
type: string
enum:
- disabled-by-owner
- feature-not-available
- account-plan-downgrade
- disabled-by-admin
schemas:
properties:
log:
type: object
trace:
type: object
analytics:
type: object
speed_insights:
type: object
type: object
delivery:
oneOf:
- properties:
type:
type: string
enum:
- http
endpoint:
type: string
encoding:
type: string
enum:
- json
- ndjson
compression:
type: string
enum:
- none
- gzip
headers:
additionalProperties:
type: string
type: object
secret:
oneOf:
- type: string
- properties:
kind:
type: string
enum:
- INTEGRATION_SECRET
required:
- kind
type: object
required:
- encoding
- endpoint
- headers
- type
type: object
- properties:
type:
type: string
enum:
- otlphttp
endpoint:
properties:
traces:
type: string
required:
- traces
type: object
encoding:
type: string
enum:
- json
- proto
headers:
additionalProperties:
type: string
type: object
secret:
oneOf:
- type: string
- properties:
kind:
type: string
enum:
- INTEGRATION_SECRET
required:
- kind
type: object
required:
- encoding
- endpoint
- headers
- type
type: object
- properties:
type:
type: string
enum:
- clickhouse
endpoint:
type: string
table:
type: string
required:
- endpoint
- table
- type
type: object
- properties:
type:
type: string
enum:
- internal
target:
type: string
enum:
- vercel-otel-traces-db
required:
- target
- type
type: object
sampling:
items:
properties:
type:
type: string
enum:
- head_sampling
rate:
type: number
env:
type: string
enum:
- production
- preview
requestPath:
type: string
required:
- rate
- type
type: object
type: array
source:
oneOf:
- properties:
kind:
type: string
enum:
- self-served
required:
- kind
type: object
- properties:
kind:
type: string
enum:
- integration
resourceId:
type: string
externalResourceId:
type: string
integrationId:
type: string
integrationConfigurationId:
type: string
required:
- integrationConfigurationId
- integrationId
- kind
type: object
filter:
type: string
filterV2:
oneOf:
- properties:
version:
type: string
enum:
- v1
required:
- version
type: object
- properties:
version:
type: string
enum:
- v2
filter:
oneOf:
- properties:
type:
type: string
enum:
- basic
project:
properties:
ids:
items:
type: string
type: array
type: object
log:
properties:
sources:
items:
type: string
enum:
- build
- edge
- lambda
- static
- external
- firewall
- redirect
type: array
legacy_excludeCachedStaticAssetLogs:
type: boolean
enum:
- false
- true
type: object
deployment:
properties:
environments:
items:
type: string
enum:
- production
- preview
type: array
type: object
required:
- type
type: object
- properties:
type:
type: string
enum:
- odata
text:
type: string
required:
- text
- type
type: object
required:
- filter
- version
type: object
required:
- createdAt
- delivery
- id
- name
- ownerId
- schemas
- source
- updatedAt
type: object
type: array
- items:
properties:
id:
type: string
createdAt:
type: number
updatedAt:
type: number
projectIds:
items:
type: string
type: array
name:
type: string
teamId:
nullable: true
type: string
ownerId:
type: string
status:
type: string
enum:
- enabled
- disabled
- errored
firstErrorTimestamp:
type: number
disabledAt:
type: number
disabledBy:
type: string
disabledReason:
type: string
enum:
- disabled-by-owner
- feature-not-available
- account-plan-downgrade
- disabled-by-admin
schemas:
properties:
log:
type: object
trace:
type: object
analytics:
type: object
speed_insights:
type: object
type: object
delivery:
oneOf:
- properties:
type:
type: string
enum:
- http
endpoint:
type: string
encoding:
type: string
enum:
- json
- ndjson
compression:
type: string
enum:
- none
- gzip
headers:
additionalProperties:
type: string
type: object
secret:
oneOf:
- type: string
- properties:
kind:
type: string
enum:
- INTEGRATION_SECRET
required:
- kind
type: object
required:
- encoding
- endpoint
- headers
- type
type: object
- properties:
type:
type: string
enum:
- otlphttp
endpoint:
properties:
traces:
type: string
required:
- traces
type: object
encoding:
type: string
enum:
- json
- proto
headers:
additionalProperties:
type: string
type: object
secret:
oneOf:
- type: string
- properties:
kind:
type: string
enum:
- INTEGRATION_SECRET
required:
- kind
type: object
required:
- encoding
- endpoint
- headers
- type
type: object
- properties:
type:
type: string
enum:
- clickhouse
endpoint:
type: string
table:
type: string
required:
- endpoint
- table
- type
type: object
- properties:
type:
type: string
enum:
- internal
target:
type: string
enum:
- vercel-otel-traces-db
required:
- target
- type
type: object
sampling:
items:
properties:
type:
type: string
enum:
- head_sampling
rate:
type: number
env:
type: string
enum:
- production
- preview
requestPath:
type: string
required:
- rate
- type
type: object
type: array
source:
oneOf:
- properties:
kind:
type: string
enum:
- self-served
required:
- kind
type: object
- properties:
kind:
type: string
enum:
- integration
resourceId:
type: string
externalResourceId:
type: string
integrationId:
type: string
integrationConfigurationId:
type: string
required:
- integrationConfigurationId
- integrationId
- kind
type: object
filter:
type: string
filterV2:
oneOf:
- properties:
version:
type: string
enum:
- v1
required:
- version
type: object
- properties:
version:
type: string
enum:
- v2
filter:
oneOf:
- properties:
type:
type: string
enum:
- basic
project:
properties:
ids:
items:
type: string
type: array
type: object
log:
properties:
sources:
items:
type: string
enum:
- build
- edge
- lambda
- static
- external
- firewall
- redirect
type: array
legacy_excludeCachedStaticAssetLogs:
type: boolean
enum:
- false
- true
type: object
deployment:
properties:
environments:
items:
type: string
enum:
- production
- preview
type: array
type: object
required:
- type
type: object
- properties:
type:
type: string
enum:
- odata
text:
type: string
required:
- text
- type
type: object
required:
- filter
- version
type: object
integrationIcon:
type: string
integrationConfigurationUri:
type: string
integrationWebsite:
type: string
projectAccess:
oneOf:
- properties:
access:
type: string
enum:
- all
required:
- access
type: object
- properties:
access:
type: string
enum:
- some
projectIds:
items:
type: string
type: array
required:
- access
- projectIds
type: object
required:
- createdAt
- delivery
- id
- name
- ownerId
- schemas
- source
- updatedAt
type: object
type: array
required:
- drains
type: object
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/logdrains/retrieves-a-list-of-integration-log-drains-deprecated.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Retrieves a list of Integration log drains (deprecated)
> Retrieves 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.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples get /v2/integrations/log-drains
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v2/integrations/log-drains:
get:
tags:
- logDrains
summary: Retrieves a list of Integration log drains (deprecated)
description: >-
Retrieves 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.
operationId: getIntegrationLogDrains
parameters:
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'200':
description: A list of log drains
content:
application/json:
schema:
items:
properties:
clientId:
type: string
description: >-
The oauth2 client application id that created this log
drain
example: oac_xRhY4LAB7yLhUADD69EvV7ct
configurationId:
type: string
description: The client configuration this log drain was created with
example: icfg_3bwCLgxL8qt5kjRLcv2Dit7F
createdAt:
type: number
description: >-
A timestamp that tells you when the log drain was
created
example: 1558531915505
id:
type: string
description: >-
The unique identifier of the log drain. Always prefixed
with `ld_`
example: ld_nBuA7zCID8g4QZ8g
deliveryFormat:
type: string
enum:
- json
- ndjson
- protobuf
description: The delivery log format
example: json
name:
type: string
description: The name of the log drain
example: My first log drain
ownerId:
type: string
description: >-
The identifier of the team or user whose events will
trigger the log drain
example: kr1PsOIzqEL5Xg6M4VZcZosf
projectId:
nullable: true
type: string
example: AbCgVkqoxXeXCDWehVir51LHGrrcWL4mkYm14W6UBPWQeb
projectIds:
items:
type: string
type: array
description: >-
The identifier of the projects this log drain is
associated with
example: AbCgVkqoxXeXCDWehVir51LHGrrcWL4mkYm14W6UBPWQeb
url:
type: string
description: The URL to call when logs are generated
example: https://example.com/log-drain
sources:
items:
type: string
enum:
- external
- build
- edge
- lambda
- static
- firewall
- redirect
description: >-
The sources from which logs are currently being
delivered to this log drain.
example:
- build
- edge
type: array
description: >-
The sources from which logs are currently being
delivered to this log drain.
example:
- build
- edge
createdFrom:
type: string
enum:
- integration
- self-served
description: >-
Whether the log drain was created by an integration or
by a user
example: integration
headers:
additionalProperties:
type: string
type: object
description: The headers to send with the request
example: '{"Authorization": "Bearer 123"}'
environments:
items:
type: string
enum:
- production
- preview
description: The environment of log drain
example:
- production
type: array
description: The environment of log drain
example:
- production
branch:
type: string
description: The branch regexp of log drain
example: feature/*
samplingRate:
type: number
description: The sampling rate of log drain
example: 0.5
source:
oneOf:
- properties:
kind:
type: string
enum:
- self-served
required:
- kind
type: object
- properties:
kind:
type: string
enum:
- integration
resourceId:
type: string
externalResourceId:
type: string
integrationId:
type: string
integrationConfigurationId:
type: string
required:
- integrationConfigurationId
- integrationId
- kind
type: object
required:
- createdAt
- id
- name
- ownerId
- source
- url
type: object
type: array
'400':
description: ''
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/examples/rolling-releases.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Rolling Releases Management
> Learn how to use the Vercel SDK to manage Rolling Releases through real-life examples.
## Updating your project's rolling release configuration
In this example, you configure rolling releases for your project with multiple stages. This allows you to gradually roll out deployments to production, starting with a small percentage of traffic and progressively increasing it.
```ts run.ts theme={"system"}
import { Vercel } from "@vercel/sdk";
const vercel = new Vercel({
bearerToken: process.env.VERCEL_TOKEN,
});
async function setRollingReleaseConfig() {
const result = await vercel.rollingRelease.updateRollingReleaseConfig({
idOrName: "your-project-id", // Can be project ID or URL-encoded project name
teamId: "team_1a2b3c4d5e6f7g8h9i0j1k2l", // Optional - required if your token is scoped to multiple teams
slug: "my-team-url-slug", // Optional - alternative to teamId
requestBody: {
target: "production",
stages: [
{
targetPercentage: 5, // Start with 5% of traffic
duration: 300 // Wait 5 minutes before next stage
},
{
targetPercentage: 25, // Then 25% of traffic
duration: 600 // Wait 10 minutes
},
{
targetPercentage: 50, // Then 50% of traffic
duration: 900 // Wait 15 minutes if approved
},
{
targetPercentage: 100, // Finally, 100% of traffic
}
]
}
});
console.log("Rolling Release Configuration Updated:", result.rollingRelease);
}
setRollingReleaseConfig();
```
## Approve the next stage of a rolling release
In this example, you manually approve advancing a rolling release to the next stage. This is useful when you have stages configured with `requireApproval: true` and want to control the rollout progression.
```ts run.ts theme={"system"}
import { Vercel } from "@vercel/sdk";
const vercel = new Vercel({
bearerToken: process.env.VERCEL_TOKEN,
});
async function approveNextStage() {
const projectId = "your-project-id";
try {
// First, get the current rolling release status to understand the current state
const currentStatus = await vercel.rollingRelease.getActiveRollingRelease({
idOrName: projectId,
teamId: "team_1a2b3c4d5e6f7g8h9i0j1k2l", // Optional
});
if (!currentStatus.rollingRelease || currentStatus.rollingRelease.state !== "ACTIVE") {
console.log("No active rolling release found for this project");
return;
}
const { rollingRelease } = currentStatus;
console.log(`Current stage: ${rollingRelease.activeStage?.index} (${rollingRelease.activeStage?.targetPercentage}% traffic)`);
console.log(`Next stage: ${rollingRelease.nextStage?.index} (${rollingRelease.nextStage?.targetPercentage}% traffic)`);
if (!rollingRelease.nextStage) {
console.log("Rolling release is already at the final stage");
return;
}
if (!rollingRelease.nextStage.requireApproval) {
console.log("Next stage does not require manual approval");
return;
}
// Approve advancing to the next stage
const approvalResult = await vercel.rollingRelease.approveRollingReleaseStage({
idOrName: projectId,
teamId: "team_1a2b3c4d5e6f7g8h9i0j1k2l", // Optional
requestBody: {
nextStageIndex: rollingRelease.nextStage.index,
canaryDeploymentId: rollingRelease.canaryDeployment?.id || "",
},
});
console.log("✓ Rolling release stage approved successfully!");
console.log(`Advanced to stage ${approvalResult.rollingRelease?.activeStage?.index} (${approvalResult.rollingRelease?.activeStage?.targetPercentage}% traffic)`);
// Display updated rollout information
if (approvalResult.rollingRelease?.nextStage) {
console.log(`Next stage will be: ${approvalResult.rollingRelease.nextStage.index} (${approvalResult.rollingRelease.nextStage.targetPercentage}% traffic)`);
} else {
console.log("This was the final stage - rolling release will complete automatically");
}
} catch (error) {
console.error("Failed to approve rolling release stage:", error);
}
}
approveNextStage();
```
## Force completion of a rolling release
In this example, you force-complete an active rolling release, immediately promoting the canary deployment to serve 100% of traffic. This is useful for emergency situations or when you want to skip remaining stages.
```ts run.ts theme={"system"}
import { Vercel } from "@vercel/sdk";
const vercel = new Vercel({
bearerToken: process.env.VERCEL_TOKEN,
});
async function forceCompleteRollingRelease() {
const projectId = "your-project-id";
try {
// First, get the current rolling release status
const currentStatus = await vercel.rollingRelease.getActiveRollingRelease({
idOrName: projectId,
teamId: "team_1a2b3c4d5e6f7g8h9i0j1k2l", // Optional
});
if (!currentStatus.rollingRelease || currentStatus.rollingRelease.state !== "ACTIVE") {
console.log("No active rolling release found for this project");
return;
}
const { rollingRelease } = currentStatus;
console.log(`Current rolling release state: ${rollingRelease.state}`);
console.log(`Current stage: ${rollingRelease.activeStage?.index} (${rollingRelease.activeStage?.targetPercentage}% traffic)`);
console.log(`Canary deployment: ${rollingRelease.canaryDeployment?.name} (${rollingRelease.canaryDeployment?.id})`);
if (!rollingRelease.canaryDeployment?.id) {
console.error("No canary deployment found to complete");
return;
}
// Confirm the action (in a real scenario, you might want additional checks)
console.log("⚠️ WARNING: This will immediately promote the canary deployment to 100% traffic");
console.log(` Skipping ${rollingRelease.stages?.length - (rollingRelease.activeStage?.index || 0) - 1} remaining stages`);
// Force complete the rolling release
const completionResult = await vercel.rollingRelease.completeRollingRelease({
idOrName: projectId,
teamId: "team_1a2b3c4d5e6f7g8h9i0j1k2l", // Optional
requestBody: {
canaryDeploymentId: rollingRelease.canaryDeployment.id,
},
});
console.log("✓ Rolling release completed successfully!");
console.log(`Final state: ${completionResult.rollingRelease?.state}`);
// The canary deployment is now the current deployment serving 100% traffic
if (completionResult.rollingRelease?.currentDeployment) {
console.log(`New production deployment: ${completionResult.rollingRelease.currentDeployment.name}`);
console.log(`Production URL: ${completionResult.rollingRelease.currentDeployment.url}`);
}
// Log completion time
if (completionResult.rollingRelease?.updatedAt) {
const completedAt = new Date(completionResult.rollingRelease.updatedAt);
console.log(`Completed at: ${completedAt.toISOString()}`);
}
} catch (error) {
console.error("Failed to complete rolling release:", error);
// Handle specific error cases
if (error.response?.status === 404) {
console.error("Project not found or no rolling release configuration exists");
} else if (error.response?.status === 400) {
console.error("Invalid request - check the canary deployment ID");
} else if (error.response?.status === 403) {
console.error("Insufficient permissions to complete rolling release");
}
}
}
forceCompleteRollingRelease();
```
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/sdk.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Using the Vercel SDK
> Interact programmatically with your Vercel account using the SDK.
The `@vercel/sdk` is a type-safe Typescript SDK that allows you to access the resources and methods of the Vercel REST API.
To view the methods for all endpoints, and explore code examples, see the [reference endpoints documentation](/endpoints).
## Installing Vercel SDK
To download and install Vercel SDK, run the following command:
```bash pnpm theme={"system"}
pnpm i @vercel/sdk
```
```bash npm theme={"system"}
npm i @vercel/sdk
```
```bash yarn theme={"system"}
yarn add @vercel/sdk
```
### Authentication
Vercel Access Tokens are required to authenticate and use the Vercel SDK.
Once you have [created a token](/welcome#creating-an-access-token), you can use it to initialize the SDK as follows:
```ts run.ts theme={"system"}
import { Vercel } from '@vercel/sdk';
const vercel = new Vercel({
bearerToken: '',
});
```
### Troubleshooting
Make sure that you create a token with the correct Vercel [scope](https://vercel.com/docs/dashboard-features#scope-selector).
If you face permission (403) errors when you are already sending a token, it can be one of the following problems:
* The token you are using has expired. Check the expiry date of the token in the Vercel dashboard.
* The token does not have access to the correct scope, either not the right team or it does not have account level access.
* The resource or operation you are trying to use is not available for that team. For example, AccessGroups is an Enterprise only feature and you are using a token for a team on the pro plan.
### Examples
Learn how to use Vercel SDK through the following categories of examples:
* [Deployments Automation](/examples/deployments-automation)
* [Project Management](/examples/project-management)
* [Domain Management](/examples/domain-management)
* [Team Management](/examples/team-management)
* [Environment Variables](/examples/environment-variables)
* [Logs and Monitoring](/examples/logs-monitoring)
* [Integrations](/examples/integrations)
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/authentication/sso-token-exchange.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# SSO Token Exchange
> During 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.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples post /v1/integrations/sso/token
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/integrations/sso/token:
post:
tags:
- authentication
- marketplace
summary: SSO Token Exchange
description: >-
During 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.
operationId: exchange-sso-token
parameters: []
requestBody:
content:
application/json:
schema:
oneOf:
- type: object
required:
- code
- client_id
- client_secret
- grant_type
properties:
code:
type: string
description: The sensitive code received from Vercel
state:
type: string
description: The state received from the initialization request
client_id:
type: string
description: The integration client id
client_secret:
type: string
description: The integration client secret
redirect_uri:
type: string
description: The integration redirect URI
grant_type:
type: string
description: >-
The grant type, when using x-www-form-urlencoded content
type
enum:
- authorization_code
- type: object
required:
- refresh_token
- client_id
- client_secret
- grant_type
properties:
refresh_token:
type: string
description: The refresh token received from previous token exchange
client_id:
type: string
description: The integration client id
client_secret:
type: string
description: The integration client secret
grant_type:
type: string
description: >-
The grant type, when using x-www-form-urlencoded content
type
enum:
- refresh_token
required: true
responses:
'200':
description: ''
content:
application/json:
schema:
oneOf:
- properties:
id_token:
type: string
token_type:
nullable: true
type: string
expires_in:
type: number
access_token:
nullable: true
type: string
refresh_token:
type: string
required:
- access_token
- id_token
- token_type
type: object
- properties:
id_token:
type: string
token_type:
type: string
access_token:
type: string
refresh_token:
type: string
expires_in:
type: number
required:
- access_token
- expires_in
- id_token
- refresh_token
- token_type
type: object
'400':
description: One of the provided values in the request body is invalid.
'403':
description: ''
'500':
description: ''
security: []
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/bulk-redirects/stages-new-redirects-for-a-project.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Stages new redirects for a project.
> Stages new redirects for a project and returns the new version.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples put /v1/bulk-redirects
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/bulk-redirects:
put:
tags:
- bulk-redirects
summary: Stages new redirects for a project.
description: Stages new redirects for a project and returns the new version.
operationId: stageRedirects
parameters:
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
requestBody:
content:
application/json:
schema:
type: object
required:
- projectId
- teamId
properties:
projectId:
type: string
teamId:
type: string
overwrite:
type: boolean
name:
type: string
maxLength: 256
redirects:
type: array
default: []
items:
type: object
required:
- source
- destination
properties:
source:
type: string
maxLength: 2048
destination:
type: string
maxLength: 2048
statusCode:
oneOf:
- type: number
- type: string
permanent:
type: boolean
caseSensitive:
type: boolean
query:
type: boolean
preserveQueryParams:
type: boolean
responses:
'200':
description: ''
content:
application/json:
schema:
properties:
alias:
nullable: true
type: string
version:
properties:
id:
type: string
description: The unique identifier for the version.
key:
type: string
description: >-
The key of the version. The key may be duplicated
across versions if the contents are the same as a
different version.
lastModified:
type: number
createdBy:
type: string
name:
type: string
description: >-
Optional name for the version. If not provided,
defaults to an ISO timestamp string.
isStaging:
type: boolean
enum:
- false
- true
description: >-
Whether this version has not been promoted to
production yet and is not serving end users.
isLive:
type: boolean
enum:
- false
- true
description: Whether this version is currently live in production.
redirectCount:
type: number
description: The number of redirects in this version.
alias:
type: string
description: >-
The staging link for previewing redirects in this
version.
required:
- createdBy
- id
- key
- lastModified
type: object
required:
- alias
- version
type: object
'400':
description: One of the provided values in the request body is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'500':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/marketplace/submit-billing-data.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Submit Billing Data
> Sends the billing and usage data. The partner should do this at least once a day and ideally once per hour.
Use the `credentials.access_token` we provided in the [Upsert Installation](#upsert-installation) body to authorize this request.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples post /v1/installations/{integrationConfigurationId}/billing
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/installations/{integrationConfigurationId}/billing:
post:
tags:
- marketplace
summary: Submit Billing Data
description: >-
Sends the billing and usage data. The partner should do this at least
once a day and ideally once per hour.
Use the
`credentials.access_token` we provided in the [Upsert
Installation](#upsert-installation) body to authorize this request.
operationId: submit-billing-data
parameters:
- name: integrationConfigurationId
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
properties:
timestamp:
description: >-
Server time of your integration, used to determine the most
recent data for race conditions & updates. Only the latest
usage data for a given day, week, and month will be kept.
type: string
format: date-time
eod:
description: >-
End of Day, the UTC datetime for when the end of the
billing/usage day is in UTC time. This tells us which day
the usage data is for, and also allows for your \"end of
day\" to be different from UTC 00:00:00. eod must be within
the period dates, and cannot be older than 24h earlier from
our server's current time.
type: string
format: date-time
period:
type: object
description: >-
Period for the billing cycle. The period end date cannot be
older than 24 hours earlier than our current server's time.
properties:
start:
type: string
format: date-time
end:
type: string
format: date-time
required:
- start
- end
additionalProperties: false
billing:
description: Billing data (interim invoicing data).
oneOf:
- type: array
items:
type: object
properties:
billingPlanId:
type: string
description: Partner's billing plan ID.
resourceId:
type: string
description: Partner's resource ID.
start:
description: >-
Start and end are only needed if different from
the period's start/end.
type: string
format: date-time
end:
description: >-
Start and end are only needed if different from
the period's start/end.
type: string
format: date-time
name:
type: string
description: Line item name.
details:
type: string
description: Line item details.
price:
description: Price per unit.
type: string
pattern: ^[0-9]+(\\.[0-9]+)?$
quantity:
type: number
description: Quantity of units.
units:
type: string
description: Units of the quantity.
total:
description: Total amount.
type: string
pattern: ^[0-9]+(\\.[0-9]+)?$
required:
- billingPlanId
- name
- price
- quantity
- units
- total
additionalProperties: false
- type: object
properties:
items:
type: array
items:
type: object
properties:
billingPlanId:
type: string
description: Partner's billing plan ID.
resourceId:
type: string
description: Partner's resource ID.
start:
description: >-
Start and end are only needed if different
from the period's start/end.
type: string
format: date-time
end:
description: >-
Start and end are only needed if different
from the period's start/end.
type: string
format: date-time
name:
type: string
description: Line item name.
details:
type: string
description: Line item details.
price:
description: Price per unit.
type: string
pattern: ^[0-9]+(\\.[0-9]+)?$
quantity:
type: number
description: Quantity of units.
units:
type: string
description: Units of the quantity.
total:
description: Total amount.
type: string
pattern: ^[0-9]+(\\.[0-9]+)?$
required:
- billingPlanId
- name
- price
- quantity
- units
- total
additionalProperties: false
discounts:
type: array
items:
type: object
properties:
billingPlanId:
type: string
description: Partner's billing plan ID.
resourceId:
type: string
description: Partner's resource ID.
start:
description: >-
Start and end are only needed if different
from the period's start/end.
type: string
format: date-time
end:
description: >-
Start and end are only needed if different
from the period's start/end.
type: string
format: date-time
name:
type: string
description: Discount name.
details:
type: string
description: Discount details.
amount:
description: Discount amount.
type: string
pattern: ^[0-9]+(\\.[0-9]+)?$
required:
- billingPlanId
- name
- amount
additionalProperties: false
required:
- items
usage:
type: array
items:
type: object
properties:
resourceId:
type: string
description: Partner's resource ID.
name:
type: string
description: Metric name.
type:
type: string
description: >-
\n Type of the metric.\n -
total: measured total value, such as Database
size\n - interval: usage during the
period, such as i/o or number of
queries.\n - rate: rate of usage, such as
queries per second.\n
enum:
- total
- interval
- rate
units:
type: string
description: 'Metric units. Example: \"GB\"'
dayValue:
type: number
description: >-
Metric value for the day. Could be a final or an
interim value for the day.
periodValue:
type: number
description: >-
Metric value for the billing period. Could be a final
or an interim value for the period.
planValue:
type: number
description: >-
The limit value of the metric for a billing period, if
a limit is defined by the plan.
required:
- name
- type
- units
- dayValue
- periodValue
additionalProperties: false
required:
- timestamp
- eod
- period
- billing
- usage
additionalProperties: false
required: true
responses:
'201':
description: ''
'400':
description: |-
One of the provided values in the request body is invalid.
One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/marketplace/submit-invoice.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Submit Invoice
> This 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.
Use the `credentials.access_token` we provided in the [Upsert Installation](#upsert-installation) body to authorize this request.
There are several limitations to the invoice submission:
1. A resource can only be billed once per the billing period and the billing plan.
2. The billing plan used to bill the resource must have been active for this resource during the billing period.
3. The billing plan used must be a subscription plan.
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.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples post /v1/installations/{integrationConfigurationId}/billing/invoices
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/installations/{integrationConfigurationId}/billing/invoices:
post:
tags:
- marketplace
summary: Submit Invoice
description: >-
This 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.
Use the `credentials.access_token` we
provided in the [Upsert Installation](#upsert-installation) body to
authorize this request.
There are several limitations to the
invoice submission:
1. A resource can only be billed once per
the billing period and the billing plan.
2. The billing plan used
to bill the resource must have been active for this resource during the
billing period.
3. The billing plan used must be a subscription
plan.
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.
operationId: submit-invoice
parameters:
- name: integrationConfigurationId
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
properties:
externalId:
type: string
invoiceDate:
description: Invoice date. Must be within the period's start and end.
type: string
format: date-time
memo:
type: string
description: Additional memo for the invoice.
period:
type: object
description: Subscription period for this billing cycle.
properties:
start:
type: string
format: date-time
end:
type: string
format: date-time
required:
- start
- end
additionalProperties: false
items:
type: array
items:
type: object
properties:
resourceId:
type: string
description: Partner's resource ID.
billingPlanId:
type: string
description: Partner's billing plan ID.
start:
description: >-
Start and end are only needed if different from the
period's start/end.
type: string
format: date-time
end:
description: >-
Start and end are only needed if different from the
period's start/end.
type: string
format: date-time
name:
type: string
details:
type: string
price:
type: string
pattern: ^[0-9]+(\\.[0-9]+)?$
description: Currency amount as a decimal string.
quantity:
type: number
units:
type: string
total:
type: string
pattern: ^[0-9]+(\\.[0-9]+)?$
description: Currency amount as a decimal string.
required:
- billingPlanId
- name
- price
- quantity
- units
- total
additionalProperties: false
discounts:
type: array
items:
type: object
properties:
resourceId:
type: string
description: Partner's resource ID.
billingPlanId:
type: string
description: Partner's billing plan ID.
start:
description: >-
Start and end are only needed if different from the
period's start/end.
type: string
format: date-time
end:
description: >-
Start and end are only needed if different from the
period's start/end.
type: string
format: date-time
name:
type: string
details:
type: string
amount:
type: string
pattern: ^[0-9]+(\\.[0-9]+)?$
description: Currency amount as a decimal string.
required:
- billingPlanId
- name
- amount
additionalProperties: false
test:
type: object
description: Test mode
properties:
validate:
type: boolean
result:
type: string
enum:
- paid
- notpaid
additionalProperties: false
required:
- invoiceDate
- period
- items
additionalProperties: false
required: true
responses:
'200':
description: ''
content:
application/json:
schema:
properties:
invoiceId:
type: string
test:
type: boolean
enum:
- false
- true
validationErrors:
items:
type: string
type: array
type: object
'400':
description: |-
One of the provided values in the request body is invalid.
One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
'409':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/marketplace/submit-prepayment-balances.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Submit Prepayment Balances
> Sends the prepayment balances. The partner should do this at least once a day and ideally once per hour.
Use the `credentials.access_token` we provided in the [Upsert Installation](#upsert-installation) body to authorize this request.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples post /v1/installations/{integrationConfigurationId}/billing/balance
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/installations/{integrationConfigurationId}/billing/balance:
post:
tags:
- marketplace
summary: Submit Prepayment Balances
description: >-
Sends the prepayment balances. The partner should do this at least once
a day and ideally once per hour.
Use the
`credentials.access_token` we provided in the [Upsert
Installation](#upsert-installation) body to authorize this request.
operationId: submit-prepayment-balances
parameters:
- name: integrationConfigurationId
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
properties:
timestamp:
description: >-
Server time of your integration, used to determine the most
recent data for race conditions & updates. Only the latest
usage data for a given day, week, and month will be kept.
type: string
format: date-time
balances:
type: array
items:
type: object
description: A credit balance for a particular token type
properties:
resourceId:
type: string
description: >-
Partner's resource ID, exclude if credits are tied to
the installation and not an individual resource.
credit:
type: string
description: >-
A human-readable description of the credits the user
currently has, e.g. \"2,000 Tokens\"
nameLabel:
type: string
description: >-
The name of the credits, for display purposes, e.g.
\"Tokens\"
currencyValueInCents:
type: number
description: >-
The dollar value of the credit balance, in USD and
provided in cents, which is used to trigger automatic
purchase thresholds.
required:
- currencyValueInCents
additionalProperties: false
required:
- timestamp
- balances
additionalProperties: false
responses:
'201':
description: ''
'400':
description: |-
One of the provided values in the request body is invalid.
One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/examples/team-management.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Team and User Management
> Learn how to use the Vercel SDK through real-life examples.
## Invite a user to a team
In this example, you will find your team id and invite a new member to that team with a specific role.
```ts run.ts theme={"system"}
import { Vercel } from '@vercel/sdk';
const vercel = new Vercel({
bearerToken: process.env.VERCEL_TOKEN,
});
async function inviteTeamMember() {
try {
// Invite a new team member
const availableTeams = (await vercel.teams.getTeams({})).teams;
const myTeam = availableTeams.filter(
(team) => team.slug === 'my-team-slug',
);
if (myTeam.length > 0) {
const teamid = myTeam[0].id;
const inviteResponse = await vercel.teams.inviteUserToTeam({
teamId: teamid,
requestBody: {
email: 'john@example.com',
role: 'MEMBER',
},
});
console.log(
`User with role ${inviteResponse.role} invited: ${inviteResponse.username}`,
);
}
} catch (error) {
console.error(
error instanceof Error ? `Error: ${error.message}` : String(error),
);
}
}
inviteTeamMember();
```
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/domains-registrar/transfer-in-a-domain.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Transfer-in a domain
> Transfer a domain in from another registrar
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples post /v1/registrar/domains/{domain}/transfer
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/registrar/domains/{domain}/transfer:
post:
tags:
- domains-registrar
summary: Transfer-in a domain
description: Transfer a domain in from another registrar
operationId: transferInDomain
parameters:
- name: domain
in: path
schema:
$ref: '#/components/schemas/DomainName'
required: true
- name: teamId
in: query
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
required: false
requestBody:
content:
application/json:
schema:
type: object
required:
- authCode
- autoRenew
- years
- expectedPrice
- contactInformation
properties:
authCode:
type: string
description: >-
The auth code for the domain. You must obtain this code from
the losing registrar.
autoRenew:
type: boolean
description: >-
Whether the domain should be auto-renewed before it expires.
This can be configured later through the Vercel Dashboard or
the [Update auto-renew for a
domain](https://vercel.com/docs/rest-api/reference/endpoints/domains-registrar/update-auto-renew-for-a-domain)
endpoint.
years:
type: number
description: >-
The number of years to renew the domain for once it is
transferred in. This must be a valid number of transfer
years for the TLD.
expectedPrice:
type: number
minimum: 0.01
contactInformation:
type: object
required:
- firstName
- lastName
- email
- phone
- address1
- city
- state
- zip
- country
properties:
firstName:
$ref: '#/components/schemas/NonEmptyTrimmedString'
lastName:
$ref: '#/components/schemas/NonEmptyTrimmedString'
email:
$ref: '#/components/schemas/EmailAddress'
phone:
$ref: '#/components/schemas/E164PhoneNumber'
address1:
$ref: '#/components/schemas/NonEmptyTrimmedString'
address2:
$ref: '#/components/schemas/NonEmptyTrimmedString'
city:
$ref: '#/components/schemas/NonEmptyTrimmedString'
state:
$ref: '#/components/schemas/NonEmptyTrimmedString'
zip:
$ref: '#/components/schemas/NonEmptyTrimmedString'
country:
$ref: '#/components/schemas/CountryCode'
companyName:
$ref: '#/components/schemas/NonEmptyTrimmedString'
fax:
$ref: '#/components/schemas/E164PhoneNumber'
additionalProperties: false
additionalProperties: false
required: true
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
required:
- orderId
- _links
properties:
orderId:
$ref: '#/components/schemas/OrderId'
_links:
type: object
additionalProperties:
type: object
required:
- href
- method
properties:
href:
type: string
method:
type: string
enum:
- GET
- POST
- PUT
- DELETE
- PATCH
additionalProperties: false
additionalProperties: false
'400':
description: There was something wrong with the request
content:
application/json:
schema:
anyOf:
- $ref: '#/components/schemas/BadRequest'
- $ref: '#/components/schemas/DomainAlreadyOwned'
- $ref: '#/components/schemas/DomainTooShort'
- $ref: '#/components/schemas/DNSSECEnabled'
- $ref: '#/components/schemas/ExpectedPriceMismatch'
- $ref: '#/components/schemas/DomainNotAvailable'
- $ref: '#/components/schemas/TldNotSupported'
- $ref: '#/components/schemas/HttpApiDecodeError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Unauthorized'
'403':
description: NotAuthorizedForScope
content:
application/json:
schema:
anyOf:
- $ref: '#/components/schemas/NotAuthorizedForScope'
- $ref: '#/components/schemas/Forbidden'
'429':
description: TooManyRequests
content:
application/json:
schema:
$ref: '#/components/schemas/TooManyRequests'
'500':
description: InternalServerError
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerError'
security:
- bearerToken: []
components:
schemas:
DomainName:
type: string
description: A valid domain name
NonEmptyTrimmedString:
type: string
description: a non empty string
title: nonEmptyString
pattern: ^\S[\s\S]*\S$|^\S$|^$
minLength: 1
EmailAddress:
type: string
description: A valid RFC 5322 email address
title: nonEmptyString
minLength: 1
E164PhoneNumber:
type: string
description: A valid E.164 phone number
title: nonEmptyString
minLength: 1
pattern: ^(?=(?:\D*\d){8,15}$)\+[1-9]\d{0,2}\.?\d+$
CountryCode:
type: string
description: A valid ISO 3166-1 alpha-2 country code
OrderId:
type: string
description: A valid order ID
BadRequest:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 400
code:
type: string
enum:
- bad_request
message:
type: string
additionalProperties: false
DomainAlreadyOwned:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 400
code:
type: string
enum:
- domain_already_owned
message:
type: string
additionalProperties: false
description: The domain is already owned by another team or user.
DomainTooShort:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 400
code:
type: string
enum:
- domain_too_short
message:
type: string
additionalProperties: false
description: The domain name (excluding the TLD) is too short.
DNSSECEnabled:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 400
code:
type: string
enum:
- dnssec_enabled
message:
type: string
additionalProperties: false
description: >-
The operation cannot be completed because DNSSEC is enabled for the
domain.
ExpectedPriceMismatch:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 400
code:
type: string
enum:
- expected_price_mismatch
message:
type: string
additionalProperties: false
description: The expected price passed does not match the actual price.
DomainNotAvailable:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 400
code:
type: string
enum:
- domain_not_available
message:
type: string
additionalProperties: false
description: The domain is not available.
TldNotSupported:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 400
code:
type: string
enum:
- tld_not_supported
message:
type: string
additionalProperties: false
description: The TLD is not currently supported.
HttpApiDecodeError:
type: object
required:
- issues
- message
properties:
issues:
type: array
items:
$ref: '#/components/schemas/Issue'
message:
type: string
additionalProperties: false
description: The request did not match the expected schema
Unauthorized:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 401
code:
type: string
enum:
- unauthorized
message:
type: string
additionalProperties: false
NotAuthorizedForScope:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 403
code:
type: string
enum:
- not_authorized_for_scope
message:
type: string
additionalProperties: false
Forbidden:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 403
code:
type: string
enum:
- forbidden
message:
type: string
additionalProperties: false
TooManyRequests:
type: object
required:
- status
- code
- message
- retryAfter
- limit
properties:
status:
type: number
enum:
- 429
code:
type: string
enum:
- too_many_requests
message:
type: string
retryAfter:
type: object
required:
- value
- str
properties:
value:
type: number
str:
type: string
additionalProperties: false
limit:
type: object
required:
- total
- remaining
- reset
properties:
total:
type: number
remaining:
type: number
reset:
type: number
additionalProperties: false
additionalProperties: false
InternalServerError:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 500
code:
type: string
enum:
- internal_server_error
message:
type: string
additionalProperties: false
Issue:
type: object
required:
- path
- message
properties:
path:
type: array
items:
$ref: '#/components/schemas/PropertyKey'
description: The path to the property where the issue occurred
message:
type: string
description: A descriptive message explaining the issue
additionalProperties: false
description: >-
Represents an error encountered while parsing a value to match the
schema
PropertyKey:
anyOf:
- type: string
- type: number
- type: object
required:
- _tag
- key
properties:
_tag:
type: string
enum:
- symbol
key:
type: string
additionalProperties: false
description: an object to be decoded into a globally shared symbol
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/projects/unpause-a-project.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Unpause a project
> Unpause 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.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples post /v1/projects/{projectId}/unpause
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/projects/{projectId}/unpause:
post:
tags:
- projects
summary: Unpause a project
description: >-
Unpause 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.
operationId: unpauseProject
parameters:
- name: projectId
description: The unique project identifier
in: path
required: true
schema:
type: string
description: The unique project identifier
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'200':
description: ''
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'500':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/checks/update-a-check.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Update a check
> Update an existing check. This endpoint must be called with an OAuth2 or it will produce a 400 error.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples patch /v1/deployments/{deploymentId}/checks/{checkId}
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/deployments/{deploymentId}/checks/{checkId}:
patch:
tags:
- checks
summary: Update a check
description: >-
Update an existing check. This endpoint must be called with an OAuth2 or
it will produce a 400 error.
operationId: updateCheck
parameters:
- name: deploymentId
description: The deployment to update the check for.
in: path
required: true
schema:
description: The deployment to update the check for.
example: dpl_2qn7PZrx89yxY34vEZPD31Y9XVj6
type: string
- name: checkId
description: The check being updated
in: path
required: true
schema:
description: The check being updated
example: check_2qn7PZrx89yxY34vEZPD31Y9XVj6
type: string
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
requestBody:
content:
application/json:
schema:
properties:
name:
description: The name of the check being created
maxLength: 100
example: Performance Check
type: string
path:
description: Path of the page that is being checked
type: string
maxLength: 255
example: /
status:
description: The current status of the check
enum:
- running
- completed
conclusion:
description: The result of the check being run
enum:
- canceled
- failed
- neutral
- succeeded
- skipped
detailsUrl:
description: >-
A URL a user may visit to see more information about the
check
type: string
example: https://example.com/check/run/1234abc
output:
description: The results of the check Run
type: object
properties:
metrics:
type: object
description: Metrics about the page
required:
- FCP
- LCP
- CLS
- TBT
additionalProperties: false
properties:
FCP:
type: object
required:
- value
- source
properties:
value:
type: number
example: 1200
description: First Contentful Paint value
nullable: true
previousValue:
type: number
example: 900
description: >-
Previous First Contentful Paint value to display
a delta
source:
type: string
enum:
- web-vitals
LCP:
type: object
required:
- value
- source
properties:
value:
type: number
example: 1200
description: Largest Contentful Paint value
nullable: true
previousValue:
type: number
example: 1000
description: >-
Previous Largest Contentful Paint value to
display a delta
source:
type: string
enum:
- web-vitals
CLS:
type: object
required:
- value
- source
properties:
value:
type: number
example: 4
description: Cumulative Layout Shift value
nullable: true
previousValue:
type: number
example: 2
description: >-
Previous Cumulative Layout Shift value to
display a delta
source:
type: string
enum:
- web-vitals
TBT:
type: object
required:
- value
- source
properties:
value:
type: number
example: 3000
description: Total Blocking Time value
nullable: true
previousValue:
type: number
example: 3500
description: >-
Previous Total Blocking Time value to display a
delta
source:
enum:
- web-vitals
virtualExperienceScore:
type: object
required:
- value
- source
properties:
value:
type: integer
maximum: 100
minimum: 0
example: 30
description: >-
The calculated Virtual Experience Score value,
between 0 and 100
nullable: true
previousValue:
type: integer
maximum: 100
minimum: 0
example: 35
description: >-
A previous Virtual Experience Score value to
display a delta, between 0 and 100
source:
enum:
- web-vitals
externalId:
description: An identifier that can be used as an external reference
type: string
example: 1234abc
type: object
required: true
responses:
'200':
description: ''
content:
application/json:
schema:
properties:
id:
type: string
name:
type: string
path:
type: string
status:
type: string
enum:
- registered
- running
- completed
conclusion:
type: string
enum:
- canceled
- failed
- neutral
- succeeded
- skipped
- stale
blocking:
type: boolean
enum:
- false
- true
output:
properties:
metrics:
properties:
FCP:
properties:
value:
nullable: true
type: number
previousValue:
type: number
source:
type: string
enum:
- web-vitals
required:
- source
- value
type: object
LCP:
properties:
value:
nullable: true
type: number
previousValue:
type: number
source:
type: string
enum:
- web-vitals
required:
- source
- value
type: object
CLS:
properties:
value:
nullable: true
type: number
previousValue:
type: number
source:
type: string
enum:
- web-vitals
required:
- source
- value
type: object
TBT:
properties:
value:
nullable: true
type: number
previousValue:
type: number
source:
type: string
enum:
- web-vitals
required:
- source
- value
type: object
virtualExperienceScore:
properties:
value:
nullable: true
type: number
previousValue:
type: number
source:
type: string
enum:
- web-vitals
required:
- source
- value
type: object
required:
- CLS
- FCP
- LCP
- TBT
type: object
type: object
detailsUrl:
type: string
integrationId:
type: string
deploymentId:
type: string
externalId:
type: string
createdAt:
type: number
updatedAt:
type: number
startedAt:
type: number
completedAt:
type: number
rerequestable:
type: boolean
enum:
- false
- true
required:
- blocking
- createdAt
- deploymentId
- id
- integrationId
- name
- status
- updatedAt
type: object
'400':
description: |-
One of the provided values in the request body is invalid.
One of the provided values in the request query is invalid.
The provided token is not from an OAuth2 Client
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: |-
Check was not found
The deployment was not found
'413':
description: The output provided is too large
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/environment/update-a-custom-environment.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Update a custom environment
> Update a custom environment for the project. Must not be named 'Production' or 'Preview'.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples patch /v9/projects/{idOrName}/custom-environments/{environmentSlugOrId}
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v9/projects/{idOrName}/custom-environments/{environmentSlugOrId}:
patch:
tags:
- environment
summary: Update a custom environment
description: >-
Update a custom environment for the project. Must not be named
'Production' or 'Preview'.
operationId: updateCustomEnvironment
parameters:
- name: idOrName
description: The unique project identifier or the project name
in: path
required: true
schema:
description: The unique project identifier or the project name
type: string
- name: environmentSlugOrId
description: The unique custom environment identifier within the project
in: path
required: true
schema:
description: The unique custom environment identifier within the project
type: string
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
requestBody:
content:
application/json:
schema:
type: object
properties:
slug:
description: The slug of the custom environment.
type: string
maxLength: 32
description:
description: Description of the custom environment. This is optional.
type: string
maxLength: 256
branchMatcher:
required:
- type
- pattern
description: >-
How we want to determine a matching branch. This is
optional.
type: object
properties:
type:
description: >-
Type of matcher. One of \"equals\", \"startsWith\", or
\"endsWith\".
enum:
- equals
- startsWith
- endsWith
pattern:
description: Git branch name or portion thereof.
type: string
maxLength: 100
nullable: true
responses:
'200':
description: ''
content:
application/json:
schema:
properties:
id:
type: string
description: >-
Unique identifier for the custom environment (format:
env_*)
slug:
type: string
description: URL-friendly name of the environment
type:
type: string
enum:
- production
- preview
- development
description: >-
The type of environment (production, preview, or
development)
description:
type: string
description: Optional description of the environment's purpose
branchMatcher:
properties:
type:
type: string
enum:
- endsWith
- startsWith
- equals
description: The type of matching to perform
pattern:
type: string
description: The pattern to match against branch names
required:
- pattern
- type
type: object
description: >-
Configuration for matching git branches to this
environment
domains:
items:
properties:
name:
type: string
apexName:
type: string
projectId:
type: string
redirect:
nullable: true
type: string
redirectStatusCode:
nullable: true
type: number
enum:
- 301
- 302
- 307
- 308
gitBranch:
nullable: true
type: string
customEnvironmentId:
nullable: true
type: string
updatedAt:
type: number
createdAt:
type: number
verified:
type: boolean
enum:
- false
- true
description: >-
`true` if the domain is verified for use with the
project. If `false` it will not be used as an alias
on this project until the challenge in
`verification` is completed.
verification:
items:
properties:
type:
type: string
domain:
type: string
value:
type: string
reason:
type: string
required:
- domain
- reason
- type
- value
type: object
description: >-
A list of verification challenges, one of which
must be completed to verify the domain for use on
the project. After the challenge is complete `POST
/projects/:idOrName/domains/:domain/verify` to
verify the domain. Possible challenges: - If
`verification.type = TXT` the
`verification.domain` will be checked for a TXT
record matching `verification.value`.
type: array
description: >-
A list of verification challenges, one of which must
be completed to verify the domain for use on the
project. After the challenge is complete `POST
/projects/:idOrName/domains/:domain/verify` to
verify the domain. Possible challenges: - If
`verification.type = TXT` the `verification.domain`
will be checked for a TXT record matching
`verification.value`.
required:
- apexName
- name
- projectId
- verified
type: object
description: List of domains associated with this environment
type: array
description: List of domains associated with this environment
currentDeploymentAliases:
items:
type: string
type: array
description: List of aliases for the current deployment
createdAt:
type: number
description: Timestamp when the environment was created
updatedAt:
type: number
description: Timestamp when the environment was last updated
required:
- createdAt
- id
- slug
- type
- updatedAt
type: object
description: >-
Internal representation of a custom environment with all
required properties
'400':
description: |-
One of the provided values in the request body is invalid.
One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'402':
description: |-
The account was soft-blocked for an unhandled reason.
The account is missing a payment so payment method must be updated
'403':
description: You do not have permission to access this resource.
'500':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/projects/update-a-project-domain.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Update a project domain
> Update a project domain's configuration, including the name, git branch and redirect of the domain.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples patch /v9/projects/{idOrName}/domains/{domain}
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v9/projects/{idOrName}/domains/{domain}:
patch:
tags:
- projects
summary: Update a project domain
description: >-
Update a project domain's configuration, including the name, git branch
and redirect of the domain.
operationId: updateProjectDomain
parameters:
- name: idOrName
description: The unique project identifier or the project name
in: path
required: true
schema:
description: The unique project identifier or the project name
type: string
- name: domain
description: The project domain name
in: path
required: true
schema:
description: The project domain name
type: string
example: www.example.com
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
requestBody:
content:
application/json:
schema:
properties:
gitBranch:
description: Git branch to link the project domain
example: null
type: string
maxLength: 250
nullable: true
redirect:
description: Target destination domain for redirect
example: foobar.com
type: string
nullable: true
redirectStatusCode:
description: Status code for domain redirect
example: 307
type: integer
enum:
- null
- 301
- 302
- 307
- 308
nullable: true
type: object
required: true
responses:
'200':
description: The domain was updated successfuly
content:
application/json:
schema:
properties:
name:
type: string
apexName:
type: string
projectId:
type: string
redirect:
nullable: true
type: string
redirectStatusCode:
nullable: true
type: number
enum:
- 301
- 302
- 307
- 308
gitBranch:
nullable: true
type: string
customEnvironmentId:
nullable: true
type: string
updatedAt:
type: number
createdAt:
type: number
verified:
type: boolean
enum:
- false
- true
description: >-
`true` if the domain is verified for use with the project.
If `false` it will not be used as an alias on this project
until the challenge in `verification` is completed.
verification:
items:
properties:
type:
type: string
domain:
type: string
value:
type: string
reason:
type: string
required:
- domain
- reason
- type
- value
type: object
description: >-
A list of verification challenges, one of which must be
completed to verify the domain for use on the project.
After the challenge is complete `POST
/projects/:idOrName/domains/:domain/verify` to verify
the domain. Possible challenges: - If `verification.type
= TXT` the `verification.domain` will be checked for a
TXT record matching `verification.value`.
type: array
description: >-
A list of verification challenges, one of which must be
completed to verify the domain for use on the project.
After the challenge is complete `POST
/projects/:idOrName/domains/:domain/verify` to verify the
domain. Possible challenges: - If `verification.type =
TXT` the `verification.domain` will be checked for a TXT
record matching `verification.value`.
required:
- apexName
- name
- projectId
- verified
type: object
'400':
description: |-
One of the provided values in the request body is invalid.
One of the provided values in the request query is invalid.
The domain redirect is not valid
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'409':
description: The project is currently being transferred
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/connect/update-a-secure-compute-network.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Update a Secure Compute network
> Allows to update a Secure Compute network.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples patch /v1/connect/networks/{networkId}
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/connect/networks/{networkId}:
patch:
tags:
- connect
summary: Update a Secure Compute network
description: Allows to update a Secure Compute network.
operationId: updateNetwork
parameters:
- name: networkId
description: The unique identifier of the Secure Compute network
in: path
required: true
schema:
type: string
description: The unique identifier of the Secure Compute network
example: uzrmorq7bn05z-fz
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
requestBody:
content:
application/json:
schema:
type: object
additionalProperties: false
properties:
name:
type: string
description: The name of the Secure Compute network
maxLength: 255
required:
- name
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Network'
'400':
description: |-
One of the provided values in the request body is invalid.
One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
security:
- bearerToken: []
components:
schemas:
Network:
properties:
awsAccountId:
type: string
description: The ID of the AWS Account in which the network exists.
awsAvailabilityZoneIds:
items:
type: string
type: array
description: >-
The IDs of the AWS Availability Zones in which the network exists,
if specified during creation.
awsRegion:
type: string
description: The AWS Region in which the network exists.
cidr:
type: string
description: The CIDR range of the Network.
createdAt:
type: number
description: >-
The date at which the Network was created, represented as a UNIX
timestamp since EPOCH.
egressIpAddresses:
items:
type: string
type: array
hostedZones:
properties:
count:
type: number
description: >-
The number of AWS Route53 Hosted Zones associated with the
Network.
required:
- count
type: object
description: >-
Metadata about any AWS Route53 Hosted Zones associated with the
Network.
id:
type: string
description: The unique identifier of the Network.
name:
type: string
description: The name of the network.
peeringConnections:
properties:
count:
type: number
description: >-
The number of AWS Route53 Hosted Zones associated with the
Network.
required:
- count
type: object
description: >-
Metadata about any AWS Route53 Hosted Zones associated with the
Network.
projects:
properties:
count:
type: number
ids:
items:
type: string
type: array
required:
- count
- ids
type: object
description: Metadata about any projects associated with the Network.
region:
type: string
description: The Vercel region in which the Network exists.
status:
type: string
enum:
- create_in_progress
- delete_in_progress
- error
- ready
description: The status of the Network.
teamId:
type: string
description: The unique identifier of the Team that owns the Network.
vpcId:
type: string
description: The ID of the VPC which hosts the network.
required:
- awsAccountId
- awsRegion
- cidr
- createdAt
- id
- name
- status
- teamId
type: object
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/teams/update-a-team-member.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Update a Team Member
> 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.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples patch /v1/teams/{teamId}/members/{uid}
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/teams/{teamId}/members/{uid}:
patch:
tags:
- teams
summary: Update a Team Member
description: >-
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.
operationId: updateTeamMember
parameters:
- name: uid
description: The ID of the member.
in: path
required: true
schema:
type: string
description: The ID of the member.
example: ndfasllgPyCtREAqxxdyFKb
- name: teamId
in: path
required: true
schema:
type: string
description: The unique team identifier
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
requestBody:
content:
application/json:
schema:
type: object
properties:
confirmed:
type: boolean
enum:
- true
description: Accept a user who requested access to the team.
example: true
role:
type: string
description: The role in the team of the member.
example: VIEWER
default: MEMBER
projects:
type: array
items:
type: object
additionalProperties: false
required:
- role
- projectId
properties:
projectId:
type: string
maxLength: 256
example: prj_ndlgr43fadlPyCtREAqxxdyFK
description: The ID of the project.
role:
type: string
example: ADMIN
description: >-
The project role of the member that will be added.
\"null\" will remove this project level role.
nullable: true
enum:
- ADMIN
- PROJECT_VIEWER
- PROJECT_DEVELOPER
- null
joinedFrom:
additionalProperties: false
type: object
properties:
ssoUserId:
nullable: true
required: true
responses:
'200':
description: Successfully updated the membership.
content:
application/json:
schema:
properties:
id:
type: string
description: ID of the team.
required:
- id
type: object
'400':
description: >-
One of the provided values in the request body is invalid.
One of the provided values in the request query is invalid.
Cannot disconnect SSO from a Team member that does not have a SSO
connection.
Cannot confirm a member that is already confirmed.
Cannot confirm a member that did not request access.
'401':
description: >-
The request is not authorized.
Team members can only be updated by an owner, or by the
authenticated user if they are only disconnecting their SAML
connection to the Team.
'402':
description: ''
'403':
description: You do not have permission to access this resource.
'404':
description: |-
The provided user is not part of this team.
A user with the specified ID does not exist.
'409':
description: ''
'500':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/teams/update-a-team.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Update a Team
> 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.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples patch /v2/teams/{teamId}
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v2/teams/{teamId}:
patch:
tags:
- teams
summary: Update a Team
description: >-
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.
operationId: patchTeam
parameters:
- description: The Team identifier to perform the request on behalf of.
in: path
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
required: true
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
requestBody:
content:
application/json:
schema:
type: object
additionalProperties: false
properties:
avatar:
type: string
format: regex
description: The hash value of an uploaded image.
description:
type: string
maxLength: 140
example: >-
Our mission is to make cloud computing accessible to
everyone
description: A short text that describes the team.
emailDomain:
type: string
format: regex
example: example.com
nullable: true
name:
type: string
maxLength: 256
example: My Team
description: The name of the team.
previewDeploymentSuffix:
type: string
format: hostname
example: example.dev
description: Suffix that will be used for all preview deployments.
nullable: true
regenerateInviteCode:
type: boolean
example: true
description: Create a new invite code and replace the current one.
saml:
type: object
additionalProperties: false
properties:
enforced:
type: boolean
example: true
description: >-
Require that members of the team use SAML Single
Sign-On.
roles:
type: object
description: Directory groups to role or access group mappings.
additionalProperties:
anyOf:
- type: string
enum:
- OWNER
- MEMBER
- DEVELOPER
- SECURITY
- BILLING
- VIEWER
- VIEWER_FOR_PLUS
- CONTRIBUTOR
- type: object
additionalProperties: false
required:
- accessGroupId
properties:
accessGroupId:
type: string
pattern: ^ag_[A-z0-9_ -]+$
slug:
type: string
example: my-team
description: A new slug for the team.
enablePreviewFeedback:
type: string
example: 'on'
description: 'Enable preview toolbar: one of on, off or default.'
enableProductionFeedback:
type: string
example: 'on'
description: 'Enable production toolbar: one of on, off or default.'
sensitiveEnvironmentVariablePolicy:
type: string
example: 'on'
description: >-
Sensitive environment variable policy: one of on, off or
default.
remoteCaching:
type: object
description: Whether or not remote caching is enabled for the team
additionalProperties: false
properties:
enabled:
type: boolean
example: true
description: Enable or disable remote caching for the team.
hideIpAddresses:
type: boolean
example: false
description: Display or hide IP addresses in Monitoring queries.
hideIpAddressesInLogDrains:
type: boolean
example: false
description: Display or hide IP addresses in Log Drains.
defaultDeploymentProtection:
type: object
description: Default deployment protection settings for new projects.
additionalProperties: false
properties:
passwordProtection:
additionalProperties: false
description: Allows to protect project deployments with a password
properties:
deploymentType:
description: >-
Specify if the password will apply to every
Deployment Target or just Preview
enum:
- all
- preview
- prod_deployment_urls_and_all_previews
- all_except_custom_domains
type: string
password:
description: >-
The password that will be used to protect Project
Deployments
maxLength: 72
type: string
nullable: true
required:
- deploymentType
type: object
nullable: true
ssoProtection:
additionalProperties: false
description: >-
Ensures visitors to your Preview Deployments are logged
into Vercel and have a minimum of Viewer access on your
team
properties:
deploymentType:
default: preview
description: >-
Specify if the Vercel Authentication (SSO
Protection) will apply to every Deployment Target or
just Preview
enum:
- all
- preview
- prod_deployment_urls_and_all_previews
- all_except_custom_domains
type: string
required:
- deploymentType
type: object
nullable: true
defaultExpirationSettings:
properties:
expiration:
description: The time period to keep non-production deployments for
example: 1y
type: string
enum:
- 3y
- 2y
- 1y
- 6m
- 3m
- 2m
- 1m
- 2w
- 1w
- 1d
- unlimited
expirationProduction:
description: The time period to keep production deployments for
example: 1y
type: string
enum:
- 3y
- 2y
- 1y
- 6m
- 3m
- 2m
- 1m
- 2w
- 1w
- 1d
- unlimited
expirationCanceled:
description: The time period to keep canceled deployments for
example: 1y
type: string
enum:
- 1y
- 6m
- 3m
- 2m
- 1m
- 2w
- 1w
- 1d
- unlimited
expirationErrored:
description: The time period to keep errored deployments for
example: 1y
type: string
enum:
- 1y
- 6m
- 3m
- 2m
- 1m
- 2w
- 1w
- 1d
- unlimited
type: object
additionalProperties: false
strictDeploymentProtectionSettings:
type: object
description: >-
When enabled, deployment protection settings require
stricter permissions (owner-only).
additionalProperties: false
properties:
enabled:
type: boolean
example: true
description: Enable or disable strict deployment protection settings.
required:
- enabled
nsnbConfig:
anyOf:
- type: object
description: NSNB configuration for the team.
additionalProperties: false
properties:
preference:
type: string
enum:
- auto-approval
- manual-approval
- block
description: The NSNB preference for the team.
required:
- preference
- type: string
resourceConfig:
type: object
description: Resource configuration for the team.
additionalProperties: false
properties:
buildMachine:
type: object
description: Build machine configuration.
additionalProperties: false
properties:
default:
type: string
enum:
- standard
- enhanced
- turbo
example: standard
description: >-
Default build machine type for new builds: standard,
enhanced, or turbo.
required: true
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Team'
'400':
description: One of the provided values in the request body is invalid.
'401':
description: The request is not authorized.
'402':
description: ''
'403':
description: |-
You do not have permission to access this resource.
Not authorized to update the team. Must be an OWNER.
'428':
description: |-
Owner does not have protection add-on
Advanced Deployment Protection is not available for the user plan
security:
- bearerToken: []
components:
schemas:
Team:
properties:
connect:
properties:
enabled:
type: boolean
enum:
- false
- true
type: object
creatorId:
type: string
description: The ID of the user who created the Team.
example: R6efeCJQ2HKXywuasPDc0fOWB
updatedAt:
type: number
description: Timestamp (in milliseconds) of when the Team was last updated.
example: 1611796915677
emailDomain:
nullable: true
type: string
description: >-
Hostname that'll be matched with emails on sign-up to automatically
join the Team.
example: example.com
saml:
properties:
connection:
properties:
type:
type: string
description: The Identity Provider "type", for example Okta.
example: OktaSAML
status:
type: string
description: Current status of the connection.
example: linked
state:
type: string
description: Current state of the connection.
example: active
connectedAt:
type: number
description: >-
Timestamp (in milliseconds) of when the configuration was
connected.
example: 1611796915677
lastReceivedWebhookEvent:
type: number
description: >-
Timestamp (in milliseconds) of when the last webhook event
was received from WorkOS.
example: 1611796915677
lastSyncedAt:
type: number
description: >-
Timestamp (in milliseconds) of when the last directory sync
was performed.
example: 1611796915677
syncState:
type: string
enum:
- SETUP
- ACTIVE
description: >-
Controls whether directory sync events are processed. -
'SETUP': Directory connected but role mappings not yet
configured. Events are acknowledged but not processed. -
'ACTIVE': Fully configured. Events are processed normally. -
undefined: Legacy directory (pre-feature), treat as 'ACTIVE'
for backwards compatibility.
required:
- connectedAt
- state
- status
- type
type: object
description: Information for the SAML Single Sign-On configuration.
directory:
properties:
type:
type: string
description: The Identity Provider "type", for example Okta.
example: OktaSAML
state:
type: string
description: Current state of the connection.
example: active
connectedAt:
type: number
description: >-
Timestamp (in milliseconds) of when the configuration was
connected.
example: 1611796915677
lastReceivedWebhookEvent:
type: number
description: >-
Timestamp (in milliseconds) of when the last webhook event
was received from WorkOS.
example: 1611796915677
lastSyncedAt:
type: number
description: >-
Timestamp (in milliseconds) of when the last directory sync
was performed.
example: 1611796915677
syncState:
type: string
enum:
- SETUP
- ACTIVE
description: >-
Controls whether directory sync events are processed. -
'SETUP': Directory connected but role mappings not yet
configured. Events are acknowledged but not processed. -
'ACTIVE': Fully configured. Events are processed normally. -
undefined: Legacy directory (pre-feature), treat as 'ACTIVE'
for backwards compatibility.
required:
- connectedAt
- state
- type
type: object
description: Information for the Directory Sync configuration.
enforced:
type: boolean
enum:
- false
- true
description: >-
When `true`, interactions with the Team **must** be done with an
authentication token that has been authenticated with the Team's
SAML Single Sign-On provider.
defaultRedirectUri:
type: string
enum:
- vercel.com
- v0.dev
- v0.app
description: >-
The default redirect URI to use after successful SAML
authentication.
roles:
additionalProperties:
oneOf:
- properties:
accessGroupId:
type: string
required:
- accessGroupId
type: object
description: >-
When "Directory Sync" is configured, this object contains
a mapping of which Directory Group (by ID) should be
assigned to which Vercel Team "role".
- type: string
enum:
- OWNER
- MEMBER
- DEVELOPER
- SECURITY
- BILLING
- VIEWER
- VIEWER_FOR_PLUS
- CONTRIBUTOR
type: object
description: >-
When "Directory Sync" is configured, this object contains a
mapping of which Directory Group (by ID) should be assigned to
which Vercel Team "role".
required:
- enforced
type: object
description: >-
When "Single Sign-On (SAML)" is configured, this object contains
information regarding the configuration of the Identity Provider
(IdP).
inviteCode:
type: string
description: >-
Code that can be used to join this Team. Only visible to Team
owners.
example: hasihf9e89
description:
nullable: true
type: string
description: A short description of the Team.
example: Our mission is to make cloud computing accessible to everyone.
defaultRoles:
properties:
teamRoles:
items:
type: string
enum:
- OWNER
- MEMBER
- DEVELOPER
- SECURITY
- BILLING
- VIEWER
- VIEWER_FOR_PLUS
- CONTRIBUTOR
type: array
teamPermissions:
items:
type: string
enum:
- IntegrationManager
- CreateProject
- FullProductionDeployment
- UsageViewer
- EnvVariableManager
- EnvironmentManager
- V0Builder
- V0Chatter
- V0Viewer
type: array
type: object
description: Default roles for the team.
stagingPrefix:
type: string
description: The prefix that is prepended to automatic aliases.
resourceConfig:
properties:
concurrentBuilds:
type: number
description: The total amount of concurrent builds that can be used.
elasticConcurrencyEnabled:
type: boolean
enum:
- false
- true
description: >-
Whether every build for this team / user has elastic concurrency
enabled automatically.
edgeConfigSize:
type: number
description: >-
The maximum size in kilobytes of an Edge Config. Only specified
if a custom limit is set.
edgeConfigs:
type: number
description: The maximum number of edge configs an account can create.
kvDatabases:
type: number
description: The maximum number of kv databases an account can create.
blobStores:
type: number
description: The maximum number of blob stores an account can create.
postgresDatabases:
type: number
description: The maximum number of postgres databases an account can create.
buildEntitlements:
properties:
enhancedBuilds:
type: boolean
enum:
- false
- true
type: object
buildMachine:
properties:
default:
type: string
enum:
- standard
- enhanced
- turbo
description: Default build machine type for new builds
type: object
description: Build machine configuration
type: object
previewDeploymentSuffix:
nullable: true
type: string
description: The hostname that is current set as preview deployment suffix.
example: example.dev
platform:
type: boolean
enum:
- false
- true
description: Whether the team is a platform team.
example: true
disableHardAutoBlocks:
oneOf:
- type: number
- type: boolean
enum:
- false
- true
remoteCaching:
properties:
enabled:
type: boolean
enum:
- false
- true
type: object
description: Is remote caching enabled for this team
defaultDeploymentProtection:
properties:
passwordProtection:
nullable: true
properties:
deploymentType:
type: string
required:
- deploymentType
type: object
ssoProtection:
nullable: true
properties:
deploymentType:
type: string
required:
- deploymentType
type: object
type: object
description: >-
Default deployment protection for this team null indicates
protection is disabled
defaultExpirationSettings:
properties:
expirationDays:
type: number
description: >-
Number of days to keep non-production deployments (mostly
preview deployments) before soft deletion.
expirationDaysProduction:
type: number
description: >-
Number of days to keep production deployments before soft
deletion.
expirationDaysCanceled:
type: number
description: >-
Number of days to keep canceled deployments before soft
deletion.
expirationDaysErrored:
type: number
description: Number of days to keep errored deployments before soft deletion.
deploymentsToKeep:
type: number
description: >-
Minimum number of production deployments to keep for this
project, even if they are over the production expiration limit.
type: object
description: Default deployment expiration settings for this team
enablePreviewFeedback:
nullable: true
type: string
enum:
- default
- 'on'
- 'off'
- on-force
- off-force
- default-force
description: Whether toolbar is enabled on preview deployments
enableProductionFeedback:
nullable: true
type: string
enum:
- default
- 'on'
- 'off'
- on-force
- off-force
- default-force
description: Whether toolbar is enabled on production deployments
sensitiveEnvironmentVariablePolicy:
nullable: true
type: string
enum:
- default
- 'on'
- 'off'
description: Sensitive environment variable policy for this team
hideIpAddresses:
nullable: true
type: boolean
enum:
- false
- true
description: >-
Indicates if IP addresses should be accessible in observability
(o11y) tooling
hideIpAddressesInLogDrains:
nullable: true
type: boolean
enum:
- false
- true
description: Indicates if IP addresses should be accessible in log drains
ipBuckets:
items:
properties:
bucket:
type: string
supportUntil:
type: number
required:
- bucket
type: object
type: array
strictDeploymentProtectionSettings:
properties:
enabled:
type: boolean
enum:
- false
- true
updatedAt:
type: number
required:
- enabled
- updatedAt
type: object
description: >-
When enabled, deployment protection settings require stricter
permissions (owner-only).
nsnbConfig:
properties:
preference:
type: string
enum:
- auto-approval
- manual-approval
- block
required:
- preference
type: object
description: NSNB configuration for the team.
id:
type: string
description: The Team's unique identifier.
example: team_nllPyCtREAqxxdyFKbbMDlxd
slug:
type: string
description: The Team's slug, which is unique across the Vercel platform.
example: my-team
name:
nullable: true
type: string
description: >-
Name associated with the Team account, or `null` if none has been
provided.
example: My Team
avatar:
nullable: true
type: string
description: The ID of the file used as avatar for this Team.
example: 6eb07268bcfadd309905ffb1579354084c24655c
membership:
properties:
uid:
type: string
entitlements:
items:
properties:
entitlement:
type: string
required:
- entitlement
type: object
type: array
teamId:
type: string
confirmed:
type: boolean
enum:
- true
accessRequestedAt:
type: number
role:
type: string
enum:
- OWNER
- MEMBER
- DEVELOPER
- SECURITY
- BILLING
- VIEWER
- VIEWER_FOR_PLUS
- CONTRIBUTOR
teamRoles:
items:
type: string
enum:
- OWNER
- MEMBER
- DEVELOPER
- SECURITY
- BILLING
- VIEWER
- VIEWER_FOR_PLUS
- CONTRIBUTOR
type: array
teamPermissions:
items:
type: string
enum:
- IntegrationManager
- CreateProject
- FullProductionDeployment
- UsageViewer
- EnvVariableManager
- EnvironmentManager
- V0Builder
- V0Chatter
- V0Viewer
type: array
createdAt:
type: number
created:
type: number
joinedFrom:
properties:
origin:
type: string
enum:
- link
- saml
- mail
- import
- teams
- github
- gitlab
- bitbucket
- dsync
- feedback
- organization-teams
- nsnb-auto-approve
commitId:
type: string
repoId:
type: string
repoPath:
type: string
gitUserId:
oneOf:
- type: string
- type: number
gitUserLogin:
type: string
ssoUserId:
type: string
ssoConnectedAt:
type: number
idpUserId:
type: string
dsyncUserId:
type: string
dsyncConnectedAt:
type: number
required:
- origin
type: object
required:
- confirmed
- created
- createdAt
- role
type: object
description: The membership of the authenticated User in relation to the Team.
createdAt:
type: number
description: UNIX timestamp (in milliseconds) when the Team was created.
example: 1630748523395
required:
- avatar
- createdAt
- creatorId
- description
- id
- membership
- name
- slug
- stagingPrefix
- updatedAt
type: object
description: Data representing a Team.
additionalProperties: true
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/access-groups/update-an-access-group-project.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Update an access group project
> Allows update of an access group project
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples patch /v1/access-groups/{accessGroupIdOrName}/projects/{projectId}
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/access-groups/{accessGroupIdOrName}/projects/{projectId}:
patch:
tags:
- access-groups
summary: Update an access group project
description: Allows update of an access group project
operationId: updateAccessGroupProject
parameters:
- name: accessGroupIdOrName
in: path
required: true
schema:
type: string
examples:
id:
summary: Access group ID
value: ag_1a2b3c4d5e6f7g8h9i0j
name:
summary: Access group name
value: My Access Group
- name: projectId
in: path
required: true
schema:
type: string
example: prj_ndlgr43fadlPyCtREAqxxdyFK
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
requestBody:
content:
application/json:
schema:
type: object
additionalProperties: false
required:
- role
properties:
role:
type: string
example: ADMIN
description: The project role that will be added to this Access Group.
enum:
- ADMIN
- PROJECT_VIEWER
- PROJECT_DEVELOPER
- null
required: true
responses:
'200':
description: ''
content:
application/json:
schema:
properties:
teamId:
type: string
accessGroupId:
type: string
projectId:
type: string
role:
type: string
enum:
- ADMIN
- PROJECT_DEVELOPER
- PROJECT_VIEWER
- PROJECT_GUEST
createdAt:
type: string
updatedAt:
type: string
required:
- accessGroupId
- createdAt
- projectId
- role
- teamId
- updatedAt
type: object
'400':
description: |-
One of the provided values in the request body is invalid.
One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/access-groups/update-an-access-group.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Update an access group
> Allows to update an access group metadata
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples post /v1/access-groups/{idOrName}
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/access-groups/{idOrName}:
post:
tags:
- access-groups
summary: Update an access group
description: Allows to update an access group metadata
operationId: updateAccessGroup
parameters:
- name: idOrName
in: path
required: true
schema:
type: string
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
requestBody:
content:
application/json:
schema:
type: object
additionalProperties: false
properties:
name:
type: string
description: The name of the access group
maxLength: 50
pattern: ^[A-z0-9_ -]+$
example: My access group
projects:
type: array
items:
type: object
additionalProperties: false
required:
- role
- projectId
properties:
projectId:
type: string
maxLength: 256
example: prj_ndlgr43fadlPyCtREAqxxdyFK
description: The ID of the project.
role:
type: string
example: ADMIN
description: >-
The project role that will be added to this Access
Group. \"null\" will remove this project level role.
nullable: true
enum:
- ADMIN
- PROJECT_VIEWER
- PROJECT_DEVELOPER
- null
membersToAdd:
description: List of members to add to the access group.
type: array
items:
type: string
example:
- usr_1a2b3c4d5e6f7g8h9i0j
- usr_2b3c4d5e6f7g8h9i0j1k
membersToRemove:
description: List of members to remove from the access group.
type: array
items:
type: string
example:
- usr_1a2b3c4d5e6f7g8h9i0j
- usr_2b3c4d5e6f7g8h9i0j1k
required: true
responses:
'200':
description: ''
content:
application/json:
schema:
properties:
entitlements:
items:
type: string
enum:
- v0
type: array
name:
type: string
description: The name of this access group.
example: my-access-group
createdAt:
type: string
description: >-
Timestamp in milliseconds when the access group was
created.
example: 1588720733602
teamId:
type: string
description: ID of the team that this access group belongs to.
example: team_123a6c5209bc3778245d011443644c8d27dc2c50
updatedAt:
type: string
description: >-
Timestamp in milliseconds when the access group was last
updated.
example: 1588720733602
accessGroupId:
type: string
description: ID of the access group.
example: ag_123a6c5209bc3778245d011443644c8d27dc2c50
membersCount:
type: number
description: Number of members in the access group.
example: 5
projectsCount:
type: number
description: Number of projects in the access group.
example: 2
teamRoles:
items:
type: string
type: array
description: Roles that the team has in the access group.
example:
- DEVELOPER
- BILLING
teamPermissions:
items:
type: string
type: array
description: Permissions that the team has in the access group.
example:
- CreateProject
required:
- accessGroupId
- createdAt
- entitlements
- membersCount
- name
- projectsCount
- teamId
- updatedAt
type: object
'400':
description: |-
One of the provided values in the request body is invalid.
One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/edge-config/update-an-edge-config.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Update an Edge Config
> Updates an Edge Config.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples put /v1/edge-config/{edgeConfigId}
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/edge-config/{edgeConfigId}:
put:
tags:
- edge-config
summary: Update an Edge Config
description: Updates an Edge Config.
operationId: updateEdgeConfig
parameters:
- name: edgeConfigId
in: path
required: true
schema:
type: string
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
requestBody:
content:
application/json:
schema:
type: object
required:
- slug
properties:
slug:
maxLength: 64
pattern: ^[\\w-]+$
type: string
required: true
responses:
'200':
description: ''
content:
application/json:
schema:
properties:
transfer:
properties:
fromAccountId:
type: string
startedAt:
type: number
doneAt:
nullable: true
type: number
required:
- doneAt
- fromAccountId
- startedAt
type: object
description: >-
Keeps track of the current state of the Edge Config while
it gets transferred.
id:
type: string
createdAt:
type: number
createdBy:
type: string
description: >-
The ID of the user who created the Edge Config, optional
because it is not always set.
ownerId:
type: string
slug:
type: string
description: >-
Name for the Edge Config Names are not unique. Must start
with an alphabetic character and can contain only
alphanumeric characters and underscores).
updatedAt:
type: number
digest:
type: string
purpose:
oneOf:
- properties:
type:
type: string
enum:
- flags
projectId:
type: string
required:
- projectId
- type
type: object
- properties:
type:
type: string
enum:
- experimentation
resourceId:
type: string
required:
- resourceId
- type
type: object
deletedAt:
nullable: true
type: number
schema:
type: object
syncedToDynamoAt:
type: number
description: >-
Timestamp of when the Edge Config was synced to DynamoDB
initially. It is only set when syncing the entire Edge
Config, not when updating.
sizeInBytes:
type: number
itemCount:
type: number
required:
- createdAt
- digest
- id
- itemCount
- ownerId
- sizeInBytes
- slug
- updatedAt
type: object
description: An Edge Config
'400':
description: |-
One of the provided values in the request body is invalid.
One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'402':
description: |-
The account was soft-blocked for an unhandled reason.
The account is missing a payment so payment method must be updated
'403':
description: You do not have permission to access this resource.
'404':
description: ''
'409':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/dns/update-an-existing-dns-record.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Update an existing DNS record
> Updates an existing DNS record for a domain name.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples patch /v1/domains/records/{recordId}
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/domains/records/{recordId}:
patch:
tags:
- dns
summary: Update an existing DNS record
description: Updates an existing DNS record for a domain name.
operationId: updateRecord
parameters:
- name: recordId
description: The id of the DNS record
in: path
required: true
schema:
description: The id of the DNS record
example: rec_2qn7pzrx89yxy34vezpd31y9
type: string
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
requestBody:
content:
application/json:
schema:
additionalProperties: false
properties:
name:
type: string
description: The name of the DNS record
example: example-1
nullable: true
value:
type: string
description: The value of the DNS record
example: google.com
nullable: true
type:
enum:
- A
- AAAA
- ALIAS
- CAA
- CNAME
- HTTPS
- MX
- SRV
- TXT
- NS
type: string
description: The type of the DNS record
example: A
maxLength: 255
nullable: true
ttl:
type: integer
description: The Time to live (TTL) value of the DNS record
example: '60'
minimum: 60
maximum: 2147483647
nullable: true
mxPriority:
type: integer
description: The MX priority value of the DNS record
nullable: true
srv:
additionalProperties: false
required:
- target
- weight
- port
- priority
properties:
target:
type: string
description: ''
example: example2.com.
maxLength: 255
nullable: true
weight:
description: ''
type: integer
nullable: true
port:
description: ''
type: integer
nullable: true
priority:
description: ''
type: integer
nullable: true
type: object
nullable: true
https:
additionalProperties: false
required:
- priority
- target
properties:
priority:
description: ''
type: integer
nullable: true
target:
type: string
description: ''
example: example2.com.
maxLength: 255
nullable: true
params:
description: ''
type: string
nullable: true
type: object
nullable: true
comment:
type: string
description: A comment to add context on what this DNS record is for
example: used to verify ownership of domain
maxLength: 500
type: object
required: true
responses:
'200':
description: ''
content:
application/json:
schema:
properties:
id:
type: string
name:
type: string
type:
type: string
enum:
- record
- record-sys
value:
type: string
creator:
type: string
domain:
type: string
ttl:
type: number
comment:
type: string
recordType:
type: string
enum:
- A
- AAAA
- ALIAS
- CAA
- CNAME
- HTTPS
- MX
- SRV
- TXT
- NS
createdAt:
nullable: true
type: number
required:
- creator
- domain
- id
- name
- recordType
- type
- value
type: object
'400':
description: |-
One of the provided values in the request body is invalid.
One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'402':
description: |-
The account was soft-blocked for an unhandled reason.
The account is missing a payment so payment method must be updated
'403':
description: You do not have permission to access this resource.
'404':
description: ''
'409':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/drains/update-an-existing-drain.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Update an existing Drain
> Update the configuration of an existing drain.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples patch /v1/drains/{id}
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/drains/{id}:
patch:
tags:
- drains
summary: Update an existing Drain
description: Update the configuration of an existing drain.
operationId: updateDrain
parameters:
- name: id
in: path
required: true
schema:
type: string
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
requestBody:
content:
application/json:
schema:
type: object
additionalProperties: false
properties:
name:
type: string
projects:
type: string
enum:
- some
- all
projectIds:
nullable: true
items:
type: string
type: array
filter:
oneOf:
- nullable: true
type: string
- type: object
additionalProperties: false
required:
- version
- filter
properties:
version:
type: string
filter:
oneOf:
- type: object
additionalProperties: false
required:
- type
properties:
type:
type: string
project:
type: object
additionalProperties: false
properties:
ids:
items:
type: string
type: array
log:
type: object
additionalProperties: false
properties:
sources:
items:
type: string
enum:
- build
- edge
- lambda
- static
- external
- firewall
- redirect
type: array
deployment:
type: object
additionalProperties: false
properties:
environments:
items:
type: string
enum:
- production
- preview
type: array
- type: object
additionalProperties: false
required:
- type
- text
properties:
type:
type: string
text:
type: string
schemas:
type: object
additionalProperties:
type: object
required:
- version
properties:
version:
type: string
delivery:
type: object
oneOf:
- type: object
additionalProperties: false
required:
- type
- endpoint
- encoding
- headers
properties:
type:
type: string
endpoint:
type: string
compression:
type: string
enum:
- gzip
- none
encoding:
type: string
enum:
- json
- ndjson
headers:
additionalProperties:
type: string
type: object
secret:
type: string
- type: object
additionalProperties: false
required:
- type
- endpoint
- encoding
- headers
properties:
type:
type: string
endpoint:
oneOf:
- type: object
additionalProperties: false
required:
- traces
properties:
traces:
type: string
encoding:
type: string
enum:
- proto
- json
headers:
additionalProperties:
type: string
type: object
secret:
type: string
sampling:
type: array
maxItems: 10
items:
type: object
additionalProperties: false
required:
- type
- rate
properties:
type:
type: string
rate:
type: number
minimum: 0
maximum: 1
description: Sampling rate from 0 to 1 (e.g., 0.1 for 10%)
env:
type: string
enum:
- production
- preview
description: Environment to apply sampling to
requestPath:
type: string
description: Request path prefix to apply the sampling rule to
nullable: true
transforms:
type: array
items:
type: object
required:
- id
properties:
id:
type: string
nullable: true
status:
type: string
enum:
- enabled
- disabled
source:
type: object
oneOf:
- oneOf:
- properties:
kind:
type: string
default: integration
externalResourceId:
type: string
additionalProperties: false
required:
- externalResourceId
- properties:
kind:
type: string
default: integration
resourceId:
type: string
additionalProperties: false
required:
- resourceId
- properties:
kind:
type: string
default: integration
additionalProperties: false
required:
- kind
- properties:
kind:
type: string
default: self-served
additionalProperties: false
required:
- kind
responses:
'200':
description: ''
content:
application/json:
schema:
oneOf:
- properties:
id:
type: string
createdAt:
type: number
updatedAt:
type: number
projectIds:
items:
type: string
type: array
name:
type: string
teamId:
nullable: true
type: string
ownerId:
type: string
status:
type: string
enum:
- enabled
- disabled
- errored
firstErrorTimestamp:
type: number
disabledAt:
type: number
disabledBy:
type: string
disabledReason:
type: string
enum:
- disabled-by-owner
- feature-not-available
- account-plan-downgrade
- disabled-by-admin
schemas:
properties:
log:
type: object
trace:
type: object
analytics:
type: object
speed_insights:
type: object
type: object
delivery:
oneOf:
- properties:
type:
type: string
enum:
- http
endpoint:
type: string
encoding:
type: string
enum:
- json
- ndjson
compression:
type: string
enum:
- none
- gzip
headers:
additionalProperties:
type: string
type: object
secret:
oneOf:
- type: string
- properties:
kind:
type: string
enum:
- INTEGRATION_SECRET
required:
- kind
type: object
required:
- encoding
- endpoint
- headers
- type
type: object
- properties:
type:
type: string
enum:
- otlphttp
endpoint:
properties:
traces:
type: string
required:
- traces
type: object
encoding:
type: string
enum:
- json
- proto
headers:
additionalProperties:
type: string
type: object
secret:
oneOf:
- type: string
- properties:
kind:
type: string
enum:
- INTEGRATION_SECRET
required:
- kind
type: object
required:
- encoding
- endpoint
- headers
- type
type: object
- properties:
type:
type: string
enum:
- clickhouse
endpoint:
type: string
table:
type: string
required:
- endpoint
- table
- type
type: object
- properties:
type:
type: string
enum:
- internal
target:
type: string
enum:
- vercel-otel-traces-db
required:
- target
- type
type: object
sampling:
items:
properties:
type:
type: string
enum:
- head_sampling
rate:
type: number
env:
type: string
enum:
- production
- preview
requestPath:
type: string
required:
- rate
- type
type: object
type: array
source:
oneOf:
- properties:
kind:
type: string
enum:
- self-served
required:
- kind
type: object
- properties:
kind:
type: string
enum:
- integration
resourceId:
type: string
externalResourceId:
type: string
integrationId:
type: string
integrationConfigurationId:
type: string
required:
- integrationConfigurationId
- integrationId
- kind
type: object
filter:
type: string
filterV2:
oneOf:
- properties:
version:
type: string
enum:
- v1
required:
- version
type: object
- properties:
version:
type: string
enum:
- v2
filter:
oneOf:
- properties:
type:
type: string
enum:
- basic
project:
properties:
ids:
items:
type: string
type: array
type: object
log:
properties:
sources:
items:
type: string
enum:
- build
- edge
- lambda
- static
- external
- firewall
- redirect
type: array
legacy_excludeCachedStaticAssetLogs:
type: boolean
enum:
- false
- true
type: object
deployment:
properties:
environments:
items:
type: string
enum:
- production
- preview
type: array
type: object
required:
- type
type: object
- properties:
type:
type: string
enum:
- odata
text:
type: string
required:
- text
- type
type: object
required:
- filter
- version
type: object
required:
- createdAt
- delivery
- id
- name
- ownerId
- schemas
- source
- updatedAt
type: object
- properties:
id:
type: string
createdAt:
type: number
updatedAt:
type: number
projectIds:
items:
type: string
type: array
name:
type: string
teamId:
nullable: true
type: string
ownerId:
type: string
status:
type: string
enum:
- enabled
- disabled
- errored
firstErrorTimestamp:
type: number
disabledAt:
type: number
disabledBy:
type: string
disabledReason:
type: string
enum:
- disabled-by-owner
- feature-not-available
- account-plan-downgrade
- disabled-by-admin
schemas:
properties:
log:
type: object
trace:
type: object
analytics:
type: object
speed_insights:
type: object
type: object
delivery:
oneOf:
- properties:
type:
type: string
enum:
- http
endpoint:
type: string
encoding:
type: string
enum:
- json
- ndjson
compression:
type: string
enum:
- none
- gzip
headers:
additionalProperties:
type: string
type: object
secret:
oneOf:
- type: string
- properties:
kind:
type: string
enum:
- INTEGRATION_SECRET
required:
- kind
type: object
required:
- encoding
- endpoint
- headers
- type
type: object
- properties:
type:
type: string
enum:
- otlphttp
endpoint:
properties:
traces:
type: string
required:
- traces
type: object
encoding:
type: string
enum:
- json
- proto
headers:
additionalProperties:
type: string
type: object
secret:
oneOf:
- type: string
- properties:
kind:
type: string
enum:
- INTEGRATION_SECRET
required:
- kind
type: object
required:
- encoding
- endpoint
- headers
- type
type: object
- properties:
type:
type: string
enum:
- clickhouse
endpoint:
type: string
table:
type: string
required:
- endpoint
- table
- type
type: object
- properties:
type:
type: string
enum:
- internal
target:
type: string
enum:
- vercel-otel-traces-db
required:
- target
- type
type: object
sampling:
items:
properties:
type:
type: string
enum:
- head_sampling
rate:
type: number
env:
type: string
enum:
- production
- preview
requestPath:
type: string
required:
- rate
- type
type: object
type: array
source:
oneOf:
- properties:
kind:
type: string
enum:
- self-served
required:
- kind
type: object
- properties:
kind:
type: string
enum:
- integration
resourceId:
type: string
externalResourceId:
type: string
integrationId:
type: string
integrationConfigurationId:
type: string
required:
- integrationConfigurationId
- integrationId
- kind
type: object
filter:
type: string
filterV2:
oneOf:
- properties:
version:
type: string
enum:
- v1
required:
- version
type: object
- properties:
version:
type: string
enum:
- v2
filter:
oneOf:
- properties:
type:
type: string
enum:
- basic
project:
properties:
ids:
items:
type: string
type: array
type: object
log:
properties:
sources:
items:
type: string
enum:
- build
- edge
- lambda
- static
- external
- firewall
- redirect
type: array
legacy_excludeCachedStaticAssetLogs:
type: boolean
enum:
- false
- true
type: object
deployment:
properties:
environments:
items:
type: string
enum:
- production
- preview
type: array
type: object
required:
- type
type: object
- properties:
type:
type: string
enum:
- odata
text:
type: string
required:
- text
- type
type: object
required:
- filter
- version
type: object
integrationIcon:
type: string
integrationConfigurationUri:
type: string
integrationWebsite:
type: string
projectAccess:
oneOf:
- properties:
access:
type: string
enum:
- all
required:
- access
type: object
- properties:
access:
type: string
enum:
- some
projectIds:
items:
type: string
type: array
required:
- access
- projectIds
type: object
required:
- createdAt
- delivery
- id
- name
- ownerId
- schemas
- source
- updatedAt
type: object
'400':
description: |-
One of the provided values in the request body is invalid.
One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/projects/update-an-existing-project.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Update an existing project
> Update the fields of a project using either its `name` or `id`.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples patch /v9/projects/{idOrName}
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v9/projects/{idOrName}:
patch:
tags:
- projects
summary: Update an existing project
description: Update the fields of a project using either its `name` or `id`.
operationId: updateProject
parameters:
- name: idOrName
description: The unique project identifier or the project name
in: path
required: true
schema:
example: prj_12HKQaOmR5t5Uy6vdcQsNIiZgHGB
description: The unique project identifier or the project name
type: string
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
requestBody:
content:
application/json:
schema:
additionalProperties: false
properties:
autoExposeSystemEnvs:
type: boolean
autoAssignCustomDomains:
type: boolean
autoAssignCustomDomainsUpdatedBy:
type: string
buildCommand:
description: >-
The build command for this project. When `null` is used this
value will be automatically detected
maxLength: 256
type: string
nullable: true
commandForIgnoringBuildStep:
maxLength: 256
type: string
nullable: true
customerSupportCodeVisibility:
description: >-
Specifies whether customer support can see git source for a
deployment
type: boolean
devCommand:
description: >-
The dev command for this project. When `null` is used this
value will be automatically detected
maxLength: 256
type: string
nullable: true
directoryListing:
type: boolean
framework:
description: >-
The framework that is being used for this project. When
`null` is used no framework is selected
type: string
enum:
- null
- blitzjs
- nextjs
- gatsby
- remix
- react-router
- astro
- hexo
- eleventy
- docusaurus-2
- docusaurus
- preact
- solidstart-1
- solidstart
- dojo
- ember
- vue
- scully
- ionic-angular
- angular
- polymer
- svelte
- sveltekit
- sveltekit-1
- ionic-react
- create-react-app
- gridsome
- umijs
- sapper
- saber
- stencil
- nuxtjs
- redwoodjs
- hugo
- jekyll
- brunch
- middleman
- zola
- hydrogen
- vite
- tanstack-start
- vitepress
- vuepress
- parcel
- fastapi
- flask
- fasthtml
- sanity-v3
- sanity
- storybook
- nitro
- hono
- express
- h3
- koa
- nestjs
- elysia
- fastify
- xmcp
- python
- ruby
- rust
- node
- services
nullable: true
gitForkProtection:
description: >-
Specifies whether PRs from Git forks should require a team
member's authorization before it can be deployed
type: boolean
gitLFS:
description: Specifies whether Git LFS is enabled for this project.
type: boolean
protectedSourcemaps:
description: >-
Specifies whether sourcemaps are protected and require
authentication to access.
type: boolean
installCommand:
description: >-
The install command for this project. When `null` is used
this value will be automatically detected
maxLength: 256
type: string
nullable: true
name:
description: The desired name for the project
example: a-project-name
type: string
maxLength: 100
nodeVersion:
enum:
- 24.x
- 22.x
- 20.x
- 18.x
- 16.x
- 14.x
- 12.x
- 10.x
type: string
outputDirectory:
description: >-
The output directory of the project. When `null` is used
this value will be automatically detected
maxLength: 256
type: string
nullable: true
previewDeploymentsDisabled:
description: >-
Specifies whether preview deployments are disabled for this
project.
type: boolean
nullable: true
previewDeploymentSuffix:
description: >-
Custom domain suffix for preview deployments. Takes
precedence over team-level suffix. Must be a domain owned by
the team.
type: string
maxLength: 253
nullable: true
publicSource:
description: >-
Specifies whether the source code and logs of the
deployments for this project should be public or not
type: boolean
nullable: true
resourceConfig:
properties:
buildMachineType:
enum:
- null
- enhanced
- turbo
buildQueue:
properties:
configuration:
type: string
enum:
- SKIP_NAMESPACE_QUEUE
- WAIT_FOR_NAMESPACE_QUEUE
type: object
fluid:
type: boolean
functionDefaultRegions:
description: >-
The regions to deploy Vercel Functions to for this
project
type: array
minItems: 1
uniqueItems: true
items:
type: string
maxLength: 4
functionDefaultTimeout:
type: number
maximum: 900
minimum: 1
functionDefaultMemoryType:
enum:
- standard_legacy
- standard
- performance
functionZeroConfigFailover:
description: >-
Specifies whether Zero Config Failover is enabled for
this project.
oneOf:
- type: boolean
elasticConcurrencyEnabled:
type: boolean
isNSNBDisabled:
type: boolean
type: object
description: Specifies resource override configuration for the project
additionalProperties: false
rootDirectory:
description: >-
The name of a directory or relative path to the source code
of your project. When `null` is used it will default to the
project root
maxLength: 256
type: string
nullable: true
serverlessFunctionRegion:
description: The region to deploy Serverless Functions in this project
maxLength: 4
type: string
nullable: true
serverlessFunctionZeroConfigFailover:
description: >-
Specifies whether Zero Config Failover is enabled for this
project.
oneOf:
- type: boolean
skewProtectionBoundaryAt:
description: >-
Deployments created before this absolute datetime have Skew
Protection disabled. Value is in milliseconds since epoch to
match \"createdAt\" fields.
minimum: 0
type: integer
skewProtectionMaxAge:
description: >-
Deployments created before this rolling window have Skew
Protection disabled. Value is in seconds to match
\"revalidate\" fields.
minimum: 0
type: integer
skewProtectionAllowedDomains:
description: >-
Cross-site domains allowed to fetch skew-protected assets
(hostnames, optionally with leading wildcard like
*.example.com).
type: array
items:
type: string
maxLength: 254
maxItems: 12
skipGitConnectDuringLink:
description: >-
Opts-out of the message prompting a CLI user to connect a
Git repository in `vercel link`.
type: boolean
deprecated: true
sourceFilesOutsideRootDirectory:
description: >-
Indicates if there are source files outside of the root
directory
type: boolean
enablePreviewFeedback:
description: Opt-in to preview toolbar on the project level
type: boolean
nullable: true
enableProductionFeedback:
description: Opt-in to production toolbar on the project level
type: boolean
nullable: true
enableAffectedProjectsDeployments:
description: >-
Opt-in to skip deployments when there are no changes to the
root directory and its dependencies
type: boolean
staticIps:
additionalProperties: false
description: Manage Static IPs for this project
properties:
enabled:
description: Opt-in to Static IPs for this project
type: boolean
required:
- enabled
type: object
oidcTokenConfig:
description: OpenID Connect JSON Web Token generation configuration.
type: object
additionalProperties: false
properties:
enabled:
description: >-
Whether or not to generate OpenID Connect JSON Web
Tokens.
deprecated: true
type: boolean
default: true
issuerMode:
description: >-
team: `https://oidc.vercel.com/[team_slug]` global:
`https://oidc.vercel.com`
type: string
enum:
- team
- global
default: team
passwordProtection:
additionalProperties: false
description: Allows to protect project deployments with a password
properties:
deploymentType:
description: >-
Specify if the password will apply to every Deployment
Target or just Preview
enum:
- all
- preview
- prod_deployment_urls_and_all_previews
- all_except_custom_domains
type: string
password:
description: >-
The password that will be used to protect Project
Deployments
maxLength: 72
type: string
nullable: true
required:
- deploymentType
type: object
nullable: true
ssoProtection:
additionalProperties: false
description: >-
Ensures visitors to your Preview Deployments are logged into
Vercel and have a minimum of Viewer access on your team
properties:
deploymentType:
default: preview
description: >-
Specify if the Vercel Authentication (SSO Protection)
will apply to every Deployment Target or just Preview
enum:
- all
- preview
- prod_deployment_urls_and_all_previews
- all_except_custom_domains
type: string
required:
- deploymentType
type: object
nullable: true
trustedIps:
additionalProperties: false
description: >-
Restricts access to deployments based on the incoming
request IP address
properties:
deploymentType:
description: >-
Specify if the Trusted IPs will apply to every
Deployment Target or just Preview
enum:
- all
- preview
- production
- prod_deployment_urls_and_all_previews
- all_except_custom_domains
type: string
addresses:
type: array
items:
type: object
properties:
value:
type: string
description: >-
The IP addresses that are allowlisted. Supports
IPv4 addresses and CIDR notations. IPv6 is not
supported
note:
type: string
description: >-
An optional note explaining what the IP address or
subnet is used for
maxLength: 20
required:
- value
additionalProperties: false
minItems: 1
protectionMode:
description: >-
exclusive: ip match is enough to bypass deployment
protection (regardless of other settings). additional:
ip must match + any other protection should be also
provided (password, vercel auth, shareable link,
automation bypass header, automation bypass query param)
enum:
- exclusive
- additional
type: string
required:
- deploymentType
- addresses
- protectionMode
type: object
nullable: true
optionsAllowlist:
additionalProperties: false
description: >-
Specify a list of paths that should not be protected by
Deployment Protection to enable Cors preflight requests
properties:
paths:
type: array
items:
type: object
properties:
value:
type: string
description: >-
The regex path that should not be protected by
Deployment Protection
pattern: ^/.*
required:
- value
additionalProperties: false
minItems: 1
maxItems: 5
required:
- paths
type: object
nullable: true
connectConfigurations:
type: array
description: >-
The list of connections from project environment to Secure
Compute network
items:
additionalProperties: false
properties:
envId:
type: string
description: The ID of the environment
connectConfigurationId:
type: string
description: The ID of the Secure Compute network
passive:
type: boolean
description: >-
Whether the configuration should be passive, meaning
builds will not run there and only passive Serverless
Functions will be deployed
buildsEnabled:
type: boolean
description: >-
Flag saying if project builds should use Secure
Compute
required:
- envId
- connectConfigurationId
- passive
- buildsEnabled
oneOf:
- type: object
minItems: 1
nullable: true
dismissedToasts:
description: >-
An array of objects representing a Dismissed Toast in
regards to a Project. Objects are either merged with
existing toasts (on key match), or added to the
`dimissedToasts` array.`
type: array
minItems: 0
maxItems: 50
items:
type: object
additionalProperties: false
required:
- key
- dismissedAt
- action
- value
properties:
key:
type: string
description: unique identifier for the dismissed toast
dismissedAt:
type: number
description: >-
unix timestamp representing the time the toast was
dimissed
action:
enum:
- cancel
- accept
- delete
description: >-
Whether the toast was dismissed, the action was
accepted, or the dismissal with this key should be
removed
value:
oneOf:
- type: string
- type: string
- type: boolean
- type: number
- type: object
additionalProperties: false
required:
- previousValue
- currentValue
properties:
previousValue:
oneOf:
- type: number
- type: boolean
- type: string
currentValue:
oneOf:
- type: number
- type: boolean
- type: string
type: object
required: true
responses:
'200':
description: The project was successfully updated
content:
application/json:
schema:
properties:
accountId:
type: string
analytics:
properties:
id:
type: string
canceledAt:
nullable: true
type: number
disabledAt:
type: number
enabledAt:
type: number
paidAt:
type: number
sampleRatePercent:
nullable: true
type: number
spendLimitInDollars:
nullable: true
type: number
required:
- disabledAt
- enabledAt
- id
type: object
appliedCve55182Migration:
type: boolean
enum:
- false
- true
speedInsights:
properties:
id:
type: string
enabledAt:
type: number
disabledAt:
type: number
canceledAt:
type: number
hasData:
type: boolean
enum:
- false
- true
paidAt:
type: number
required:
- id
type: object
autoExposeSystemEnvs:
type: boolean
enum:
- false
- true
autoAssignCustomDomains:
type: boolean
enum:
- false
- true
autoAssignCustomDomainsUpdatedBy:
type: string
buildCommand:
nullable: true
type: string
commandForIgnoringBuildStep:
nullable: true
type: string
connectConfigurations:
nullable: true
items:
properties:
envId:
oneOf:
- type: string
- type: string
enum:
- production
- preview
connectConfigurationId:
type: string
dc:
type: string
passive:
type: boolean
enum:
- false
- true
buildsEnabled:
type: boolean
enum:
- false
- true
aws:
properties:
subnetIds:
items:
type: string
type: array
securityGroupId:
type: string
required:
- securityGroupId
- subnetIds
type: object
createdAt:
type: number
updatedAt:
type: number
required:
- buildsEnabled
- connectConfigurationId
- createdAt
- envId
- passive
- updatedAt
type: object
type: array
connectConfigurationId:
nullable: true
type: string
connectBuildsEnabled:
type: boolean
enum:
- false
- true
passiveConnectConfigurationId:
nullable: true
type: string
createdAt:
type: number
customerSupportCodeVisibility:
type: boolean
enum:
- false
- true
crons:
properties:
enabledAt:
type: number
description: >-
The time the feature was enabled for this project.
Note: It enables automatically with the first
Deployment that outputs cronjobs.
disabledAt:
nullable: true
type: number
description: The time the feature was disabled for this project.
updatedAt:
type: number
deploymentId:
nullable: true
type: string
description: >-
The ID of the Deployment from which the definitions
originated.
definitions:
items:
properties:
host:
type: string
description: The hostname that should be used.
example: vercel.com
path:
type: string
description: The path that should be called for the cronjob.
example: /api/crons/sync-something?hello=world
schedule:
type: string
description: The cron expression.
example: 0 0 * * *
required:
- host
- path
- schedule
type: object
type: array
required:
- definitions
- deploymentId
- disabledAt
- enabledAt
- updatedAt
type: object
dataCache:
properties:
userDisabled:
type: boolean
enum:
- false
- true
storageSizeBytes:
nullable: true
type: number
unlimited:
type: boolean
enum:
- false
- true
required:
- userDisabled
type: object
deploymentExpiration:
nullable: true
properties:
expirationDays:
type: number
description: >-
Number of days to keep non-production deployments
(mostly preview deployments) before soft deletion.
expirationDaysProduction:
type: number
description: >-
Number of days to keep production deployments before
soft deletion.
expirationDaysCanceled:
type: number
description: >-
Number of days to keep canceled deployments before
soft deletion.
expirationDaysErrored:
type: number
description: >-
Number of days to keep errored deployments before soft
deletion.
deploymentsToKeep:
type: number
description: >-
Minimum number of production deployments to keep for
this project, even if they are over the production
expiration limit.
type: object
description: >-
Retention policies for deployments. These are enforced at
the project level, but we also maintain an instance of
this at the team level as a default policy that gets
applied to new projects.
devCommand:
nullable: true
type: string
directoryListing:
type: boolean
enum:
- false
- true
installCommand:
nullable: true
type: string
env:
items:
properties:
target:
oneOf:
- items:
type: string
type: array
- type: string
enum:
- production
- preview
- development
type:
type: string
enum:
- secret
- system
- encrypted
- plain
- sensitive
sunsetSecretId:
type: string
description: >-
This is used to identify variables that have been
migrated from type secret to sensitive.
legacyValue:
type: string
description: >-
Legacy now-encryption ciphertext, present after
migration swaps value/vsmValue
decrypted:
type: boolean
enum:
- false
- true
value:
type: string
vsmValue:
type: string
id:
type: string
key:
type: string
configurationId:
nullable: true
type: string
createdAt:
type: number
updatedAt:
type: number
createdBy:
nullable: true
type: string
updatedBy:
nullable: true
type: string
gitBranch:
type: string
edgeConfigId:
nullable: true
type: string
edgeConfigTokenId:
nullable: true
type: string
contentHint:
nullable: true
oneOf:
- properties:
type:
type: string
enum:
- redis-url
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- redis-rest-api-url
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- redis-rest-api-token
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- redis-rest-api-read-only-token
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- blob-read-write-token
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-url
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-url-non-pooling
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-prisma-url
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-user
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-host
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-password
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-database
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- postgres-url-no-ssl
storeId:
type: string
required:
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- integration-store-secret
storeId:
type: string
integrationId:
type: string
integrationProductId:
type: string
integrationConfigurationId:
type: string
required:
- integrationConfigurationId
- integrationId
- integrationProductId
- storeId
- type
type: object
- properties:
type:
type: string
enum:
- flags-connection-string
projectId:
type: string
required:
- projectId
- type
type: object
internalContentHint:
nullable: true
properties:
type:
type: string
enum:
- flags-secret
encryptedValue:
type: string
description: >-
Contains the `value` of the env variable,
encrypted with a special key to make decryption
possible in the subscriber Lambda.
required:
- encryptedValue
- type
type: object
description: >-
Similar to `contentHints`, but should not be exposed
to the user.
comment:
type: string
customEnvironmentIds:
items:
type: string
type: array
required:
- key
- type
- value
type: object
type: array
customEnvironments:
items:
properties:
id:
type: string
description: >-
Unique identifier for the custom environment
(format: env_*)
slug:
type: string
description: URL-friendly name of the environment
type:
type: string
enum:
- production
- preview
- development
description: >-
The type of environment (production, preview, or
development)
description:
type: string
description: Optional description of the environment's purpose
branchMatcher:
properties:
type:
type: string
enum:
- endsWith
- startsWith
- equals
description: The type of matching to perform
pattern:
type: string
description: The pattern to match against branch names
required:
- pattern
- type
type: object
description: >-
Configuration for matching git branches to this
environment
domains:
items:
properties:
name:
type: string
apexName:
type: string
projectId:
type: string
redirect:
nullable: true
type: string
redirectStatusCode:
nullable: true
type: number
enum:
- 301
- 302
- 307
- 308
gitBranch:
nullable: true
type: string
customEnvironmentId:
nullable: true
type: string
updatedAt:
type: number
createdAt:
type: number
verified:
type: boolean
enum:
- false
- true
description: >-
`true` if the domain is verified for use with
the project. If `false` it will not be used as
an alias on this project until the challenge
in `verification` is completed.
verification:
items:
properties:
type:
type: string
domain:
type: string
value:
type: string
reason:
type: string
required:
- domain
- reason
- type
- value
type: object
description: >-
A list of verification challenges, one of
which must be completed to verify the domain
for use on the project. After the challenge
is complete `POST
/projects/:idOrName/domains/:domain/verify`
to verify the domain. Possible challenges: -
If `verification.type = TXT` the
`verification.domain` will be checked for a
TXT record matching `verification.value`.
type: array
description: >-
A list of verification challenges, one of
which must be completed to verify the domain
for use on the project. After the challenge is
complete `POST
/projects/:idOrName/domains/:domain/verify` to
verify the domain. Possible challenges: - If
`verification.type = TXT` the
`verification.domain` will be checked for a
TXT record matching `verification.value`.
required:
- apexName
- name
- projectId
- verified
type: object
description: List of domains associated with this environment
type: array
description: List of domains associated with this environment
currentDeploymentAliases:
items:
type: string
type: array
description: List of aliases for the current deployment
createdAt:
type: number
description: Timestamp when the environment was created
updatedAt:
type: number
description: Timestamp when the environment was last updated
required:
- createdAt
- id
- slug
- type
- updatedAt
type: object
description: >-
Internal representation of a custom environment with all
required properties
type: array
framework:
nullable: true
type: string
enum:
- blitzjs
- nextjs
- gatsby
- remix
- react-router
- astro
- hexo
- eleventy
- docusaurus-2
- docusaurus
- preact
- solidstart-1
- solidstart
- dojo
- ember
- vue
- scully
- ionic-angular
- angular
- polymer
- svelte
- sveltekit
- sveltekit-1
- ionic-react
- create-react-app
- gridsome
- umijs
- sapper
- saber
- stencil
- nuxtjs
- redwoodjs
- hugo
- jekyll
- brunch
- middleman
- zola
- hydrogen
- vite
- tanstack-start
- vitepress
- vuepress
- parcel
- fastapi
- flask
- fasthtml
- sanity-v3
- sanity
- storybook
- nitro
- hono
- express
- h3
- koa
- nestjs
- elysia
- fastify
- xmcp
- python
- ruby
- rust
- node
- services
gitForkProtection:
type: boolean
enum:
- false
- true
gitLFS:
type: boolean
enum:
- false
- true
id:
type: string
ipBuckets:
items:
properties:
bucket:
type: string
supportUntil:
type: number
required:
- bucket
type: object
type: array
latestDeployments:
items:
properties:
alias:
items:
type: string
type: array
aliasAssigned:
nullable: true
oneOf:
- type: number
- type: boolean
enum:
- false
- true
builds:
items:
properties:
use:
type: string
src:
type: string
dest:
type: string
required:
- use
type: object
type: array
createdAt:
type: number
createdIn:
type: string
creator:
nullable: true
properties:
email:
type: string
githubLogin:
type: string
gitlabLogin:
type: string
uid:
type: string
username:
type: string
required:
- email
- uid
- username
type: object
deploymentHostname:
type: string
name:
type: string
forced:
type: boolean
enum:
- false
- true
id:
type: string
meta:
additionalProperties:
type: string
type: object
plan:
type: string
private:
type: boolean
enum:
- false
- true
readyState:
type: string
requestedAt:
type: number
target:
nullable: true
type: string
teamId:
nullable: true
type: string
type:
type: string
url:
type: string
userId:
type: string
withCache:
type: boolean
enum:
- false
- true
required:
- createdAt
- createdIn
- creator
- deploymentHostname
- id
- name
- plan
- private
- readyState
- type
- url
- userId
type: object
type: array
link:
oneOf:
- properties:
org:
type: string
repoOwnerId:
type: number
description: >-
A new field, should be included in all new project
links, is being added just in time when a
deployment is created. This is needed for
Protected Git scopes.
repo:
type: string
repoId:
type: number
type:
type: string
enum:
- github
createdAt:
type: number
deployHooks:
items:
properties:
createdAt:
type: number
id:
type: string
name:
type: string
ref:
type: string
url:
type: string
required:
- id
- name
- ref
- url
type: object
type: array
gitCredentialId:
type: string
updatedAt:
type: number
sourceless:
type: boolean
enum:
- false
- true
productionBranch:
type: string
required:
- deployHooks
- gitCredentialId
- org
- productionBranch
- type
type: object
- properties:
type:
type: string
enum:
- github-limited
repo:
type: string
repoId:
type: number
createdAt:
type: number
updatedAt:
type: number
org:
type: string
repoOwnerId:
type: number
description: >-
A new field, should be included in all new project
links, is being added just in time when a
deployment is created. This is needed for
Protected Git scopes.
deployHooks:
items:
properties:
createdAt:
type: number
id:
type: string
name:
type: string
ref:
type: string
url:
type: string
required:
- id
- name
- ref
- url
type: object
type: array
gitCredentialId:
type: string
sourceless:
type: boolean
enum:
- false
- true
productionBranch:
type: string
required:
- deployHooks
- gitCredentialId
- org
- productionBranch
- type
type: object
- properties:
org:
type: string
repoOwnerId:
type: number
description: >-
A new field, should be included in all new project
links, is being added just in time when a
deployment is created. This is needed for
Protected Git scopes.
repo:
type: string
repoId:
type: number
type:
type: string
enum:
- github-custom-host
host:
type: string
createdAt:
type: number
deployHooks:
items:
properties:
createdAt:
type: number
id:
type: string
name:
type: string
ref:
type: string
url:
type: string
required:
- id
- name
- ref
- url
type: object
type: array
gitCredentialId:
type: string
updatedAt:
type: number
sourceless:
type: boolean
enum:
- false
- true
productionBranch:
type: string
required:
- deployHooks
- gitCredentialId
- host
- org
- productionBranch
- type
type: object
- properties:
projectId:
type: string
projectName:
type: string
projectNameWithNamespace:
type: string
projectNamespace:
type: string
projectOwnerId:
type: number
description: >-
A new field, should be included in all new project
links, is being added just in time when a
deployment is created. This is needed for
Protected Git scopes. This is the id of the top
level group that a namespace belongs to. Gitlab
supports group nesting (up to 20 levels).
projectUrl:
type: string
type:
type: string
enum:
- gitlab
createdAt:
type: number
deployHooks:
items:
properties:
createdAt:
type: number
id:
type: string
name:
type: string
ref:
type: string
url:
type: string
required:
- id
- name
- ref
- url
type: object
type: array
gitCredentialId:
type: string
updatedAt:
type: number
sourceless:
type: boolean
enum:
- false
- true
productionBranch:
type: string
required:
- deployHooks
- gitCredentialId
- productionBranch
- projectId
- projectName
- projectNameWithNamespace
- projectNamespace
- projectUrl
- type
type: object
- properties:
name:
type: string
slug:
type: string
owner:
type: string
type:
type: string
enum:
- bitbucket
uuid:
type: string
workspaceUuid:
type: string
createdAt:
type: number
deployHooks:
items:
properties:
createdAt:
type: number
id:
type: string
name:
type: string
ref:
type: string
url:
type: string
required:
- id
- name
- ref
- url
type: object
type: array
gitCredentialId:
type: string
updatedAt:
type: number
sourceless:
type: boolean
enum:
- false
- true
productionBranch:
type: string
required:
- deployHooks
- gitCredentialId
- name
- owner
- productionBranch
- slug
- type
- uuid
- workspaceUuid
type: object
microfrontends:
oneOf:
- properties:
isDefaultApp:
type: boolean
enum:
- true
updatedAt:
type: number
description: >-
Timestamp when the microfrontends settings were
last updated.
groupIds:
type: array
items:
type: string
minItems: 1
description: >-
The group IDs of microfrontends that this project
belongs to. Each microfrontend project must belong
to a microfrontends group that is the set of
microfrontends that are used together.
enabled:
type: boolean
enum:
- true
description: >-
Whether microfrontends are enabled for this
project.
defaultRoute:
type: string
description: >-
A path that is used to take screenshots and as the
default path in preview links when a domain for
this microfrontend is shown in the UI. Includes
the leading slash, e.g. `/docs`
freeProjectForLegacyLimits:
type: boolean
enum:
- false
- true
description: >-
Whether the project was part of the legacy limits
for hobby and pro-trial before billing was added.
This field is only set when the team is upgraded
to a paid plan and we are backfilling the
subscription status. We cap the subscription to 2
projects and set this field for the 3rd project.
When this field is set, the project is not charged
for and we do not call any billing APIs for this
project.
required:
- enabled
- groupIds
- isDefaultApp
- updatedAt
type: object
- properties:
isDefaultApp:
type: boolean
enum:
- false
routeObservabilityToThisProject:
type: boolean
enum:
- false
- true
description: >-
Whether observability data should be routed to
this microfrontend project or a root project.
doNotRouteWithMicrofrontendsRouting:
type: boolean
enum:
- false
- true
description: >-
Whether to add microfrontends routing to aliases.
This means domains in this project will route as a
microfrontend.
updatedAt:
type: number
description: >-
Timestamp when the microfrontends settings were
last updated.
groupIds:
type: array
items:
type: string
minItems: 1
description: >-
The group IDs of microfrontends that this project
belongs to. Each microfrontend project must belong
to a microfrontends group that is the set of
microfrontends that are used together.
enabled:
type: boolean
enum:
- true
description: >-
Whether microfrontends are enabled for this
project.
defaultRoute:
type: string
description: >-
A path that is used to take screenshots and as the
default path in preview links when a domain for
this microfrontend is shown in the UI. Includes
the leading slash, e.g. `/docs`
freeProjectForLegacyLimits:
type: boolean
enum:
- false
- true
description: >-
Whether the project was part of the legacy limits
for hobby and pro-trial before billing was added.
This field is only set when the team is upgraded
to a paid plan and we are backfilling the
subscription status. We cap the subscription to 2
projects and set this field for the 3rd project.
When this field is set, the project is not charged
for and we do not call any billing APIs for this
project.
required:
- enabled
- groupIds
- updatedAt
type: object
- properties:
updatedAt:
type: number
groupIds:
type: array
items: {}
minItems: 0
maxItems: 0
enabled:
type: boolean
enum:
- false
freeProjectForLegacyLimits:
type: boolean
enum:
- false
- true
required:
- enabled
- groupIds
- updatedAt
type: object
name:
type: string
nodeVersion:
type: string
enum:
- 24.x
- 22.x
- 20.x
- 18.x
- 16.x
- 14.x
- 12.x
- 10.x
- 8.10.x
optionsAllowlist:
nullable: true
properties:
paths:
items:
properties:
value:
type: string
required:
- value
type: object
type: array
required:
- paths
type: object
outputDirectory:
nullable: true
type: string
passwordProtection:
nullable: true
type: object
productionDeploymentsFastLane:
type: boolean
enum:
- false
- true
publicSource:
nullable: true
type: boolean
enum:
- false
- true
resourceConfig:
properties:
elasticConcurrencyEnabled:
type: boolean
enum:
- false
- true
fluid:
type: boolean
enum:
- false
- true
functionDefaultRegions:
items:
type: string
type: array
functionDefaultTimeout:
type: number
functionDefaultMemoryType:
type: string
enum:
- standard_legacy
- standard
- performance
functionZeroConfigFailover:
type: boolean
enum:
- false
- true
buildMachineType:
type: string
enum:
- enhanced
- turbo
isNSNBDisabled:
type: boolean
enum:
- false
- true
buildQueue:
properties:
configuration:
type: string
enum:
- SKIP_NAMESPACE_QUEUE
- WAIT_FOR_NAMESPACE_QUEUE
type: object
type: object
required:
- functionDefaultRegions
rollbackDescription:
properties:
userId:
type: string
description: The user who rolled back the project.
username:
type: string
description: The username of the user who rolled back the project.
description:
type: string
description: >-
User-supplied explanation of why they rolled back the
project. Limited to 250 characters.
createdAt:
type: number
description: Timestamp of when the rollback was requested.
required:
- createdAt
- description
- userId
- username
type: object
description: >-
Description of why a project was rolled back, and by whom.
Note that lastAliasRequest contains the from/to details of
the rollback.
rollingRelease:
nullable: true
properties:
target:
type: string
description: >-
The environment that the release targets, currently
only supports production. Adding in case we want to
configure with alias groups or custom environments.
example: production
stages:
nullable: true
items:
properties:
targetPercentage:
type: number
description: >-
The percentage of traffic to serve to the canary
deployment (0-100)
example: 25
requireApproval:
type: boolean
enum:
- false
- true
description: >-
Whether or not this stage requires manual
approval to proceed
example: false
duration:
type: number
description: >-
Duration in minutes for automatic advancement to
the next stage
example: 600
linearShift:
type: boolean
enum:
- false
- true
description: >-
Whether to linearly shift traffic over the
duration of this stage
example: false
required:
- targetPercentage
type: object
description: >-
An array of all the stages required during a
deployment release. Each stage defines a target
percentage and advancement rules. The final stage
must always have targetPercentage: 100.
type: array
description: >-
An array of all the stages required during a
deployment release. Each stage defines a target
percentage and advancement rules. The final stage must
always have targetPercentage: 100.
canaryResponseHeader:
type: boolean
enum:
- false
- true
description: >-
Whether the request served by a canary deployment
should return a header indicating a canary was served.
Defaults to `false` when omitted.
example: false
required:
- target
type: object
description: >-
Project-level rolling release configuration that defines
how deployments should be gradually rolled out
defaultResourceConfig:
properties:
elasticConcurrencyEnabled:
type: boolean
enum:
- false
- true
fluid:
type: boolean
enum:
- false
- true
functionDefaultRegions:
items:
type: string
type: array
functionDefaultTimeout:
type: number
functionDefaultMemoryType:
type: string
enum:
- standard_legacy
- standard
- performance
functionZeroConfigFailover:
type: boolean
enum:
- false
- true
buildMachineType:
type: string
enum:
- enhanced
- turbo
isNSNBDisabled:
type: boolean
enum:
- false
- true
buildQueue:
properties:
configuration:
type: string
enum:
- SKIP_NAMESPACE_QUEUE
- WAIT_FOR_NAMESPACE_QUEUE
type: object
type: object
required:
- functionDefaultRegions
rootDirectory:
nullable: true
type: string
serverlessFunctionZeroConfigFailover:
type: boolean
enum:
- false
- true
skewProtectionBoundaryAt:
type: number
skewProtectionMaxAge:
type: number
skewProtectionAllowedDomains:
items:
type: string
type: array
skipGitConnectDuringLink:
type: boolean
enum:
- false
- true
staticIps:
properties:
builds:
type: boolean
enum:
- false
- true
enabled:
type: boolean
enum:
- false
- true
regions:
items:
type: string
type: array
required:
- builds
- enabled
- regions
type: object
sourceFilesOutsideRootDirectory:
type: boolean
enum:
- false
- true
enableAffectedProjectsDeployments:
type: boolean
enum:
- false
- true
ssoProtection:
nullable: true
properties:
deploymentType:
type: string
enum:
- preview
- all
- prod_deployment_urls_and_all_previews
- all_except_custom_domains
cve55182MigrationAppliedFrom:
nullable: true
type: string
enum:
- preview
- all
- prod_deployment_urls_and_all_previews
- all_except_custom_domains
required:
- deploymentType
type: object
targets:
additionalProperties:
nullable: true
properties:
alias:
items:
type: string
type: array
aliasAssigned:
nullable: true
oneOf:
- type: number
- type: boolean
enum:
- false
- true
builds:
items:
properties:
use:
type: string
src:
type: string
dest:
type: string
required:
- use
type: object
type: array
createdAt:
type: number
createdIn:
type: string
creator:
nullable: true
properties:
email:
type: string
githubLogin:
type: string
gitlabLogin:
type: string
uid:
type: string
username:
type: string
required:
- email
- uid
- username
type: object
deploymentHostname:
type: string
name:
type: string
forced:
type: boolean
enum:
- false
- true
id:
type: string
meta:
additionalProperties:
type: string
type: object
plan:
type: string
private:
type: boolean
enum:
- false
- true
readyState:
type: string
requestedAt:
type: number
target:
nullable: true
type: string
teamId:
nullable: true
type: string
type:
type: string
url:
type: string
userId:
type: string
withCache:
type: boolean
enum:
- false
- true
required:
- createdAt
- createdIn
- creator
- deploymentHostname
- id
- name
- plan
- private
- readyState
- type
- url
- userId
type: object
type: object
transferCompletedAt:
type: number
transferStartedAt:
type: number
transferToAccountId:
type: string
transferredFromAccountId:
type: string
updatedAt:
type: number
live:
type: boolean
enum:
- false
- true
enablePreviewFeedback:
nullable: true
type: boolean
enum:
- false
- true
enableProductionFeedback:
nullable: true
type: boolean
enum:
- false
- true
permissions:
properties:
oauth2Connection:
items:
$ref: '#/components/schemas/ACLAction'
type: array
user:
items:
$ref: '#/components/schemas/ACLAction'
type: array
userConnection:
items:
$ref: '#/components/schemas/ACLAction'
type: array
userSudo:
items:
$ref: '#/components/schemas/ACLAction'
type: array
webAuthn:
items:
$ref: '#/components/schemas/ACLAction'
type: array
accessGroup:
items:
$ref: '#/components/schemas/ACLAction'
type: array
agent:
items:
$ref: '#/components/schemas/ACLAction'
type: array
alerts:
items:
$ref: '#/components/schemas/ACLAction'
type: array
alertRules:
items:
$ref: '#/components/schemas/ACLAction'
type: array
aliasGlobal:
items:
$ref: '#/components/schemas/ACLAction'
type: array
analyticsSampling:
items:
$ref: '#/components/schemas/ACLAction'
type: array
analyticsUsage:
items:
$ref: '#/components/schemas/ACLAction'
type: array
apiKey:
items:
$ref: '#/components/schemas/ACLAction'
type: array
apiKeyAiGateway:
items:
$ref: '#/components/schemas/ACLAction'
type: array
apiKeyOwnedBySelf:
items:
$ref: '#/components/schemas/ACLAction'
type: array
oauth2Application:
items:
$ref: '#/components/schemas/ACLAction'
type: array
vercelAppInstallation:
items:
$ref: '#/components/schemas/ACLAction'
type: array
vercelAppInstallationRequest:
items:
$ref: '#/components/schemas/ACLAction'
type: array
auditLog:
items:
$ref: '#/components/schemas/ACLAction'
type: array
billingAddress:
items:
$ref: '#/components/schemas/ACLAction'
type: array
billingInformation:
items:
$ref: '#/components/schemas/ACLAction'
type: array
billingInvoice:
items:
$ref: '#/components/schemas/ACLAction'
type: array
billingInvoiceEmailRecipient:
items:
$ref: '#/components/schemas/ACLAction'
type: array
billingInvoiceLanguage:
items:
$ref: '#/components/schemas/ACLAction'
type: array
billingPlan:
items:
$ref: '#/components/schemas/ACLAction'
type: array
billingPurchaseOrder:
items:
$ref: '#/components/schemas/ACLAction'
type: array
billingRefund:
items:
$ref: '#/components/schemas/ACLAction'
type: array
billingTaxId:
items:
$ref: '#/components/schemas/ACLAction'
type: array
blob:
items:
$ref: '#/components/schemas/ACLAction'
type: array
blobStoreTokenSet:
items:
$ref: '#/components/schemas/ACLAction'
type: array
budget:
items:
$ref: '#/components/schemas/ACLAction'
type: array
cacheArtifact:
items:
$ref: '#/components/schemas/ACLAction'
type: array
cacheArtifactUsageEvent:
items:
$ref: '#/components/schemas/ACLAction'
type: array
codeChecks:
items:
$ref: '#/components/schemas/ACLAction'
type: array
concurrentBuilds:
items:
$ref: '#/components/schemas/ACLAction'
type: array
connect:
items:
$ref: '#/components/schemas/ACLAction'
type: array
connectConfiguration:
items:
$ref: '#/components/schemas/ACLAction'
type: array
buildMachineDefault:
items:
$ref: '#/components/schemas/ACLAction'
type: array
dataCacheBillingSettings:
items:
$ref: '#/components/schemas/ACLAction'
type: array
defaultDeploymentProtection:
items:
$ref: '#/components/schemas/ACLAction'
type: array
domain:
items:
$ref: '#/components/schemas/ACLAction'
type: array
domainAcceptDelegation:
items:
$ref: '#/components/schemas/ACLAction'
type: array
domainAuthCodes:
items:
$ref: '#/components/schemas/ACLAction'
type: array
domainCertificate:
items:
$ref: '#/components/schemas/ACLAction'
type: array
domainCheckConfig:
items:
$ref: '#/components/schemas/ACLAction'
type: array
domainMove:
items:
$ref: '#/components/schemas/ACLAction'
type: array
domainPurchase:
items:
$ref: '#/components/schemas/ACLAction'
type: array
domainRecord:
items:
$ref: '#/components/schemas/ACLAction'
type: array
domainTransferIn:
items:
$ref: '#/components/schemas/ACLAction'
type: array
drain:
items:
$ref: '#/components/schemas/ACLAction'
type: array
edgeConfig:
items:
$ref: '#/components/schemas/ACLAction'
type: array
edgeConfigItem:
items:
$ref: '#/components/schemas/ACLAction'
type: array
edgeConfigSchema:
items:
$ref: '#/components/schemas/ACLAction'
type: array
edgeConfigToken:
items:
$ref: '#/components/schemas/ACLAction'
type: array
endpointVerification:
items:
$ref: '#/components/schemas/ACLAction'
type: array
event:
items:
$ref: '#/components/schemas/ACLAction'
type: array
fileUpload:
items:
$ref: '#/components/schemas/ACLAction'
type: array
flagsExplorerSubscription:
items:
$ref: '#/components/schemas/ACLAction'
type: array
gitRepository:
items:
$ref: '#/components/schemas/ACLAction'
type: array
imageOptimizationNewPrice:
items:
$ref: '#/components/schemas/ACLAction'
type: array
integration:
items:
$ref: '#/components/schemas/ACLAction'
type: array
integrationAccount:
items:
$ref: '#/components/schemas/ACLAction'
type: array
integrationConfiguration:
items:
$ref: '#/components/schemas/ACLAction'
type: array
integrationConfigurationProjects:
items:
$ref: '#/components/schemas/ACLAction'
type: array
integrationConfigurationRole:
items:
$ref: '#/components/schemas/ACLAction'
type: array
integrationConfigurationTransfer:
items:
$ref: '#/components/schemas/ACLAction'
type: array
integrationDeploymentAction:
items:
$ref: '#/components/schemas/ACLAction'
type: array
integrationEvent:
items:
$ref: '#/components/schemas/ACLAction'
type: array
integrationLog:
items:
$ref: '#/components/schemas/ACLAction'
type: array
integrationResource:
items:
$ref: '#/components/schemas/ACLAction'
type: array
integrationResourceReplCommand:
items:
$ref: '#/components/schemas/ACLAction'
type: array
integrationResourceSecrets:
items:
$ref: '#/components/schemas/ACLAction'
type: array
integrationSSOSession:
items:
$ref: '#/components/schemas/ACLAction'
type: array
integrationStoreTokenSet:
items:
$ref: '#/components/schemas/ACLAction'
type: array
integrationVercelConfigurationOverride:
items:
$ref: '#/components/schemas/ACLAction'
type: array
integrationPullRequest:
items:
$ref: '#/components/schemas/ACLAction'
type: array
ipBlocking:
items:
$ref: '#/components/schemas/ACLAction'
type: array
jobGlobal:
items:
$ref: '#/components/schemas/ACLAction'
type: array
logDrain:
items:
$ref: '#/components/schemas/ACLAction'
type: array
marketplaceBillingData:
items:
$ref: '#/components/schemas/ACLAction'
type: array
marketplaceExperimentationEdgeConfigData:
items:
$ref: '#/components/schemas/ACLAction'
type: array
marketplaceExperimentationItem:
items:
$ref: '#/components/schemas/ACLAction'
type: array
marketplaceInstallationMember:
items:
$ref: '#/components/schemas/ACLAction'
type: array
marketplaceInvoice:
items:
$ref: '#/components/schemas/ACLAction'
type: array
marketplaceSettings:
items:
$ref: '#/components/schemas/ACLAction'
type: array
Monitoring:
items:
$ref: '#/components/schemas/ACLAction'
type: array
monitoringAlert:
items:
$ref: '#/components/schemas/ACLAction'
type: array
monitoringChart:
items:
$ref: '#/components/schemas/ACLAction'
type: array
monitoringQuery:
items:
$ref: '#/components/schemas/ACLAction'
type: array
monitoringSettings:
items:
$ref: '#/components/schemas/ACLAction'
type: array
notificationCustomerBudget:
items:
$ref: '#/components/schemas/ACLAction'
type: array
notificationDeploymentFailed:
items:
$ref: '#/components/schemas/ACLAction'
type: array
notificationDomainConfiguration:
items:
$ref: '#/components/schemas/ACLAction'
type: array
notificationDomainExpire:
items:
$ref: '#/components/schemas/ACLAction'
type: array
notificationDomainMoved:
items:
$ref: '#/components/schemas/ACLAction'
type: array
notificationDomainPurchase:
items:
$ref: '#/components/schemas/ACLAction'
type: array
notificationDomainRenewal:
items:
$ref: '#/components/schemas/ACLAction'
type: array
notificationDomainTransfer:
items:
$ref: '#/components/schemas/ACLAction'
type: array
notificationDomainUnverified:
items:
$ref: '#/components/schemas/ACLAction'
type: array
NotificationMonitoringAlert:
items:
$ref: '#/components/schemas/ACLAction'
type: array
notificationPaymentFailed:
items:
$ref: '#/components/schemas/ACLAction'
type: array
notificationPreferences:
items:
$ref: '#/components/schemas/ACLAction'
type: array
notificationStatementOfReasons:
items:
$ref: '#/components/schemas/ACLAction'
type: array
notificationUsageAlert:
items:
$ref: '#/components/schemas/ACLAction'
type: array
observabilityConfiguration:
items:
$ref: '#/components/schemas/ACLAction'
type: array
observabilityFunnel:
items:
$ref: '#/components/schemas/ACLAction'
type: array
observabilityNotebook:
items:
$ref: '#/components/schemas/ACLAction'
type: array
openTelemetryEndpoint:
items:
$ref: '#/components/schemas/ACLAction'
type: array
ownEvent:
items:
$ref: '#/components/schemas/ACLAction'
type: array
organizationDomain:
items:
$ref: '#/components/schemas/ACLAction'
type: array
passwordProtectionInvoiceItem:
items:
$ref: '#/components/schemas/ACLAction'
type: array
paymentMethod:
items:
$ref: '#/components/schemas/ACLAction'
type: array
permissions:
items:
$ref: '#/components/schemas/ACLAction'
type: array
postgres:
items:
$ref: '#/components/schemas/ACLAction'
type: array
postgresStoreTokenSet:
items:
$ref: '#/components/schemas/ACLAction'
type: array
previewDeploymentSuffix:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectTransferIn:
items:
$ref: '#/components/schemas/ACLAction'
type: array
proTrialOnboarding:
items:
$ref: '#/components/schemas/ACLAction'
type: array
rateLimit:
items:
$ref: '#/components/schemas/ACLAction'
type: array
redis:
items:
$ref: '#/components/schemas/ACLAction'
type: array
redisStoreTokenSet:
items:
$ref: '#/components/schemas/ACLAction'
type: array
remoteCaching:
items:
$ref: '#/components/schemas/ACLAction'
type: array
repository:
items:
$ref: '#/components/schemas/ACLAction'
type: array
samlConfig:
items:
$ref: '#/components/schemas/ACLAction'
type: array
secret:
items:
$ref: '#/components/schemas/ACLAction'
type: array
securityPlusConfiguration:
items:
$ref: '#/components/schemas/ACLAction'
type: array
sensitiveEnvironmentVariablePolicy:
items:
$ref: '#/components/schemas/ACLAction'
type: array
sharedEnvVars:
items:
$ref: '#/components/schemas/ACLAction'
type: array
sharedEnvVarsProduction:
items:
$ref: '#/components/schemas/ACLAction'
type: array
space:
items:
$ref: '#/components/schemas/ACLAction'
type: array
spaceRun:
items:
$ref: '#/components/schemas/ACLAction'
type: array
storeTransfer:
items:
$ref: '#/components/schemas/ACLAction'
type: array
supportCase:
items:
$ref: '#/components/schemas/ACLAction'
type: array
supportCaseComment:
items:
$ref: '#/components/schemas/ACLAction'
type: array
team:
items:
$ref: '#/components/schemas/ACLAction'
type: array
teamAccessRequest:
items:
$ref: '#/components/schemas/ACLAction'
type: array
teamFellowMembership:
items:
$ref: '#/components/schemas/ACLAction'
type: array
teamGitExclusivity:
items:
$ref: '#/components/schemas/ACLAction'
type: array
teamInvite:
items:
$ref: '#/components/schemas/ACLAction'
type: array
teamInviteCode:
items:
$ref: '#/components/schemas/ACLAction'
type: array
teamJoin:
items:
$ref: '#/components/schemas/ACLAction'
type: array
teamMemberMfaStatus:
items:
$ref: '#/components/schemas/ACLAction'
type: array
teamMicrofrontends:
items:
$ref: '#/components/schemas/ACLAction'
type: array
teamOwnMembership:
items:
$ref: '#/components/schemas/ACLAction'
type: array
teamOwnMembershipDisconnectSAML:
items:
$ref: '#/components/schemas/ACLAction'
type: array
token:
items:
$ref: '#/components/schemas/ACLAction'
type: array
usage:
items:
$ref: '#/components/schemas/ACLAction'
type: array
usageCycle:
items:
$ref: '#/components/schemas/ACLAction'
type: array
vercelRun:
items:
$ref: '#/components/schemas/ACLAction'
type: array
vercelRunExec:
items:
$ref: '#/components/schemas/ACLAction'
type: array
vpcPeeringConnection:
items:
$ref: '#/components/schemas/ACLAction'
type: array
webAnalyticsPlan:
items:
$ref: '#/components/schemas/ACLAction'
type: array
webhook:
items:
$ref: '#/components/schemas/ACLAction'
type: array
webhook-event:
items:
$ref: '#/components/schemas/ACLAction'
type: array
aliasProject:
items:
$ref: '#/components/schemas/ACLAction'
type: array
aliasProtectionBypass:
items:
$ref: '#/components/schemas/ACLAction'
type: array
buildMachine:
items:
$ref: '#/components/schemas/ACLAction'
type: array
connectConfigurationLink:
items:
$ref: '#/components/schemas/ACLAction'
type: array
dataCacheNamespace:
items:
$ref: '#/components/schemas/ACLAction'
type: array
deployment:
items:
$ref: '#/components/schemas/ACLAction'
type: array
deploymentBuildLogs:
items:
$ref: '#/components/schemas/ACLAction'
type: array
deploymentCheck:
items:
$ref: '#/components/schemas/ACLAction'
type: array
deploymentCheckPreview:
items:
$ref: '#/components/schemas/ACLAction'
type: array
deploymentCheckReRunFromProductionBranch:
items:
$ref: '#/components/schemas/ACLAction'
type: array
deploymentProductionGit:
items:
$ref: '#/components/schemas/ACLAction'
type: array
deploymentV0:
items:
$ref: '#/components/schemas/ACLAction'
type: array
deploymentPreview:
items:
$ref: '#/components/schemas/ACLAction'
type: array
deploymentPrivate:
items:
$ref: '#/components/schemas/ACLAction'
type: array
deploymentPromote:
items:
$ref: '#/components/schemas/ACLAction'
type: array
deploymentRollback:
items:
$ref: '#/components/schemas/ACLAction'
type: array
edgeCacheNamespace:
items:
$ref: '#/components/schemas/ACLAction'
type: array
environments:
items:
$ref: '#/components/schemas/ACLAction'
type: array
job:
items:
$ref: '#/components/schemas/ACLAction'
type: array
logs:
items:
$ref: '#/components/schemas/ACLAction'
type: array
logsPreset:
items:
$ref: '#/components/schemas/ACLAction'
type: array
observabilityData:
items:
$ref: '#/components/schemas/ACLAction'
type: array
onDemandBuild:
items:
$ref: '#/components/schemas/ACLAction'
type: array
onDemandConcurrency:
items:
$ref: '#/components/schemas/ACLAction'
type: array
optionsAllowlist:
items:
$ref: '#/components/schemas/ACLAction'
type: array
passwordProtection:
items:
$ref: '#/components/schemas/ACLAction'
type: array
productionAliasProtectionBypass:
items:
$ref: '#/components/schemas/ACLAction'
type: array
project:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectAccessGroup:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectAnalyticsSampling:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectAnalyticsUsage:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectCheck:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectCheckRun:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectDeploymentExpiration:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectDeploymentHook:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectDeploymentProtectionStrict:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectDomain:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectDomainCheckConfig:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectDomainMove:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectEnvVars:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectEnvVarsProduction:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectEnvVarsUnownedByIntegration:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectFlags:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectFlagsProduction:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectFromV0:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectId:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectIntegrationConfiguration:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectLink:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectMember:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectMonitoring:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectOIDCToken:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectPermissions:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectProductionBranch:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectProtectionBypass:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectRollingRelease:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectSupportCase:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectSupportCaseComment:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectTier:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectTransfer:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectTransferOut:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectUsage:
items:
$ref: '#/components/schemas/ACLAction'
type: array
seawallConfig:
items:
$ref: '#/components/schemas/ACLAction'
type: array
sharedEnvVarConnection:
items:
$ref: '#/components/schemas/ACLAction'
type: array
skewProtection:
items:
$ref: '#/components/schemas/ACLAction'
type: array
analytics:
items:
$ref: '#/components/schemas/ACLAction'
type: array
trustedIps:
items:
$ref: '#/components/schemas/ACLAction'
type: array
v0Chat:
items:
$ref: '#/components/schemas/ACLAction'
type: array
webAnalytics:
items:
$ref: '#/components/schemas/ACLAction'
type: array
type: object
lastRollbackTarget:
nullable: true
type: object
lastAliasRequest:
nullable: true
properties:
fromDeploymentId:
nullable: true
type: string
toDeploymentId:
type: string
fromRollingReleaseId:
type: string
description: >-
If rolling back from a rolling release,
fromDeploymentId captures the "base" of that rolling
release, and fromRollingReleaseId captures the
"target" of that rolling release.
jobStatus:
type: string
enum:
- succeeded
- failed
- skipped
- pending
- in-progress
requestedAt:
type: number
type:
type: string
enum:
- promote
- rollback
required:
- fromDeploymentId
- jobStatus
- requestedAt
- toDeploymentId
- type
type: object
protectionBypass:
additionalProperties:
oneOf:
- properties:
createdAt:
type: number
createdBy:
type: string
scope:
type: string
enum:
- integration-automation-bypass
integrationId:
type: string
configurationId:
type: string
required:
- configurationId
- createdAt
- createdBy
- integrationId
- scope
type: object
- properties:
createdAt:
type: number
createdBy:
type: string
scope:
type: string
enum:
- automation-bypass
isEnvVar:
type: boolean
enum:
- false
- true
description: >-
When there was only one bypass, it was
automatically set as an env var on deployments.
With multiple bypasses, there is always one
bypass that is selected as the default, and gets
set as an env var on deployments. As this is a
new field, undefined means that the bypass is
the env var. If there are any automation
bypasses, exactly one must be the env var.
note:
type: string
description: >-
Optional note about the bypass to be displayed
in the UI
required:
- createdAt
- createdBy
- scope
type: object
type: object
hasActiveBranches:
type: boolean
enum:
- false
- true
trustedIps:
nullable: true
oneOf:
- properties:
deploymentType:
type: string
enum:
- production
- preview
- all
- prod_deployment_urls_and_all_previews
- all_except_custom_domains
addresses:
items:
properties:
value:
type: string
note:
type: string
required:
- value
type: object
type: array
protectionMode:
type: string
enum:
- additional
- exclusive
required:
- addresses
- deploymentType
- protectionMode
type: object
- properties:
deploymentType:
type: string
enum:
- production
- preview
- all
- prod_deployment_urls_and_all_previews
- all_except_custom_domains
required:
- deploymentType
type: object
gitComments:
properties:
onPullRequest:
type: boolean
enum:
- false
- true
description: Whether the Vercel bot should comment on PRs
onCommit:
type: boolean
enum:
- false
- true
description: Whether the Vercel bot should comment on commits
required:
- onCommit
- onPullRequest
type: object
gitProviderOptions:
properties:
createDeployments:
type: string
enum:
- enabled
- disabled
description: >-
Whether the Vercel bot should automatically create
GitHub deployments
https://docs.github.com/en/rest/deployments/deployments#about-deployments
NOTE: repository-dispatch events should be used
instead
disableRepositoryDispatchEvents:
type: boolean
enum:
- false
- true
description: >-
Whether the Vercel bot should not automatically create
GitHub repository-dispatch events on deployment
events.
https://vercel.com/docs/git/vercel-for-github#repository-dispatch-events
requireVerifiedCommits:
type: boolean
enum:
- false
- true
description: >-
Whether the project requires commits to be signed
before deployments will be created.
required:
- createDeployments
type: object
paused:
type: boolean
enum:
- false
- true
concurrencyBucketName:
type: string
webAnalytics:
properties:
id:
type: string
disabledAt:
type: number
canceledAt:
type: number
enabledAt:
type: number
hasData:
type: boolean
enum:
- true
required:
- id
type: object
security:
properties:
attackModeEnabled:
type: boolean
enum:
- false
- true
attackModeUpdatedAt:
type: number
firewallEnabled:
type: boolean
enum:
- false
- true
firewallUpdatedAt:
type: number
attackModeActiveUntil:
nullable: true
type: number
firewallConfigVersion:
type: number
firewallSeawallEnabled:
type: boolean
enum:
- false
- true
ja3Enabled:
type: boolean
enum:
- false
- true
ja4Enabled:
type: boolean
enum:
- false
- true
firewallBypassIps:
items:
type: string
type: array
managedRules:
nullable: true
properties:
vercel_ruleset:
properties:
active:
type: boolean
enum:
- false
- true
action:
type: string
enum:
- log
- deny
- challenge
required:
- active
type: object
bot_filter:
properties:
active:
type: boolean
enum:
- false
- true
action:
type: string
enum:
- log
- deny
- challenge
required:
- active
type: object
ai_bots:
properties:
active:
type: boolean
enum:
- false
- true
action:
type: string
enum:
- log
- deny
- challenge
required:
- active
type: object
owasp:
properties:
active:
type: boolean
enum:
- false
- true
action:
type: string
enum:
- log
- deny
- challenge
required:
- active
type: object
required:
- ai_bots
- bot_filter
- owasp
- vercel_ruleset
type: object
botIdEnabled:
type: boolean
enum:
- false
- true
type: object
oidcTokenConfig:
properties:
enabled:
type: boolean
enum:
- false
- true
description: >-
Whether or not to generate OpenID Connect JSON Web
Tokens.
issuerMode:
type: string
enum:
- team
- global
description: >-
- team: `https://oidc.vercel.com/[team_slug]` -
global: `https://oidc.vercel.com`
type: object
tier:
type: string
enum:
- standard
- advanced
- critical
features:
properties:
webAnalytics:
type: boolean
enum:
- false
- true
type: object
v0:
type: boolean
enum:
- false
- true
abuse:
properties:
scanner:
type: string
history:
items:
properties:
scanner:
type: string
reason:
type: string
by:
type: string
byId:
type: string
at:
type: number
required:
- at
- by
- byId
- reason
- scanner
type: object
type: array
updatedAt:
type: number
block:
properties:
action:
type: string
enum:
- blocked
reason:
type: string
statusCode:
type: number
createdAt:
type: number
caseId:
type: string
actor:
type: string
comment:
type: string
ineligibleForAppeal:
type: boolean
enum:
- false
- true
isCascading:
type: boolean
enum:
- false
- true
required:
- action
- createdAt
- reason
- statusCode
type: object
blockHistory:
items:
oneOf:
- properties:
action:
type: string
enum:
- blocked
reason:
type: string
statusCode:
type: number
createdAt:
type: number
caseId:
type: string
actor:
type: string
comment:
type: string
ineligibleForAppeal:
type: boolean
enum:
- false
- true
isCascading:
type: boolean
enum:
- false
- true
required:
- action
- createdAt
- reason
- statusCode
type: object
- properties:
action:
type: string
enum:
- unblocked
createdAt:
type: number
caseId:
type: string
actor:
type: string
comment:
type: string
ineligibleForAppeal:
type: boolean
enum:
- false
- true
isCascading:
type: boolean
enum:
- false
- true
required:
- action
- createdAt
type: object
- properties:
action:
type: string
enum:
- route-blocked
route:
oneOf:
- properties:
src:
type: string
status:
type: number
required:
- src
- status
type: object
- properties:
has:
items:
oneOf:
- properties:
type:
type: string
enum:
- header
key:
type: string
enum:
- x-vercel-ip-country
value:
properties:
eq:
type: string
required:
- eq
type: object
required:
- key
- type
- value
type: object
- properties:
type:
type: string
enum:
- host
value:
properties:
eq:
type: string
required:
- eq
type: object
required:
- type
- value
type: object
type: array
mitigate:
properties:
action:
type: string
enum:
- block_legal_cwc
required:
- action
type: object
src:
type: string
required:
- has
- mitigate
type: object
reason:
type: string
createdAt:
type: number
caseId:
type: string
actor:
type: string
comment:
type: string
ineligibleForAppeal:
type: boolean
enum:
- false
- true
isCascading:
type: boolean
enum:
- false
- true
required:
- action
- createdAt
- reason
- route
type: object
- properties:
action:
type: string
enum:
- route-unblocked
route:
oneOf:
- properties:
src:
type: string
status:
type: number
required:
- src
- status
type: object
- properties:
has:
items:
oneOf:
- properties:
type:
type: string
enum:
- header
key:
type: string
enum:
- x-vercel-ip-country
value:
properties:
eq:
type: string
required:
- eq
type: object
required:
- key
- type
- value
type: object
- properties:
type:
type: string
enum:
- host
value:
properties:
eq:
type: string
required:
- eq
type: object
required:
- type
- value
type: object
type: array
mitigate:
properties:
action:
type: string
enum:
- block_legal_cwc
required:
- action
type: object
src:
type: string
required:
- has
- mitigate
type: object
statusCode:
type: number
createdAt:
type: number
caseId:
type: string
actor:
type: string
comment:
type: string
ineligibleForAppeal:
type: boolean
enum:
- false
- true
isCascading:
type: boolean
enum:
- false
- true
required:
- action
- createdAt
- route
type: object
type: array
interstitial:
type: boolean
enum:
- false
- true
required:
- history
- updatedAt
type: object
internalRoutes:
items:
oneOf:
- properties:
src:
type: string
status:
type: number
required:
- src
- status
type: object
- properties:
has:
items:
oneOf:
- properties:
type:
type: string
enum:
- header
key:
type: string
enum:
- x-vercel-ip-country
value:
properties:
eq:
type: string
required:
- eq
type: object
required:
- key
- type
- value
type: object
- properties:
type:
type: string
enum:
- host
value:
properties:
eq:
type: string
required:
- eq
type: object
required:
- type
- value
type: object
type: array
mitigate:
properties:
action:
type: string
enum:
- block_legal_cwc
required:
- action
type: object
src:
type: string
required:
- has
- mitigate
type: object
type: array
hasDeployments:
type: boolean
enum:
- false
- true
dismissedToasts:
items:
properties:
key:
type: string
dismissedAt:
type: number
action:
type: string
enum:
- delete
- cancel
- accept
value:
nullable: true
oneOf:
- type: string
- type: number
- properties:
previousValue:
oneOf:
- type: string
- type: number
- type: boolean
enum:
- false
- true
currentValue:
oneOf:
- type: string
- type: number
- type: boolean
enum:
- false
- true
required:
- currentValue
- previousValue
type: object
- type: boolean
enum:
- false
- true
required:
- action
- dismissedAt
- key
- value
type: object
type: array
protectedSourcemaps:
type: boolean
enum:
- false
- true
required:
- accountId
- defaultResourceConfig
- directoryListing
- id
- name
- nodeVersion
- resourceConfig
type: object
'400':
description: |-
One of the provided values in the request body is invalid.
One of the provided values in the request query is invalid.
Trusted IPs is only accessible for enterprise customers
'401':
description: The request is not authorized.
'402':
description: >-
The account was soft-blocked for an unhandled reason.
The account is missing a payment so payment method must be updated
Pro customers are allowed to deploy Serverless Functions to up to
`proMaxRegions` regions, or if the project was created before the
limit was introduced.
Deploying to Serverless Functions to multiple regions requires a
plan update
'403':
description: You do not have permission to access this resource.
'404':
description: ''
'409':
description: |-
The provided name for the project is already being used
The project is currently being transferred.
'428':
description: |-
Owner does not have protection add-on
Advanced Deployment Protection is not available for the user plan
security:
- bearerToken: []
components:
schemas:
ACLAction:
type: string
enum:
- create
- delete
- read
- update
- list
description: >-
Enum containing the actions that can be performed against a resource.
Group operations are included.
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/security/update-attack-challenge-mode.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Update Attack Challenge mode
> Update the setting for determining if the project has Attack Challenge mode enabled.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples post /v1/security/attack-mode
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/security/attack-mode:
post:
tags:
- security
summary: Update Attack Challenge mode
description: >-
Update the setting for determining if the project has Attack Challenge
mode enabled.
operationId: updateAttackChallengeMode
parameters:
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
requestBody:
content:
application/json:
schema:
type: object
oneOf:
- required:
- projectId
- attackModeEnabled
- attackModeActiveUntil
properties:
projectId:
type: string
attackModeEnabled:
type: boolean
attackModeActiveUntil:
type: number
- type: object
required:
- projectId
- attackModeEnabled
properties:
projectId:
type: string
attackModeEnabled:
type: boolean
required: true
responses:
'200':
description: ''
content:
application/json:
schema:
properties:
attackModeEnabled:
type: boolean
enum:
- false
- true
attackModeUpdatedAt:
type: number
required:
- attackModeEnabled
- attackModeUpdatedAt
type: object
'400':
description: One of the provided values in the request body is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/domains-registrar/update-auto-renew-for-a-domain.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Update auto-renew for a domain
> Update the auto-renew setting for a domain
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples patch /v1/registrar/domains/{domain}/auto-renew
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/registrar/domains/{domain}/auto-renew:
patch:
tags:
- domains-registrar
summary: Update auto-renew for a domain
description: Update the auto-renew setting for a domain
operationId: updateDomainAutoRenew
parameters:
- name: domain
in: path
schema:
$ref: '#/components/schemas/DomainName'
required: true
- name: teamId
in: query
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
required: false
requestBody:
content:
application/json:
schema:
type: object
required:
- autoRenew
properties:
autoRenew:
type: boolean
additionalProperties: false
required: true
responses:
'204':
description: Success
'400':
description: There was something wrong with the request
content:
application/json:
schema:
anyOf:
- $ref: '#/components/schemas/DomainAlreadyRenewing'
- $ref: '#/components/schemas/DomainNotRenewable'
- $ref: '#/components/schemas/DomainNotRegistered'
- $ref: '#/components/schemas/HttpApiDecodeError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Unauthorized'
'403':
description: NotAuthorizedForScope
content:
application/json:
schema:
anyOf:
- $ref: '#/components/schemas/NotAuthorizedForScope'
- $ref: '#/components/schemas/Forbidden'
'404':
description: The domain was not found in our system.
content:
application/json:
schema:
$ref: '#/components/schemas/DomainNotFound'
'429':
description: TooManyRequests
content:
application/json:
schema:
$ref: '#/components/schemas/TooManyRequests'
'500':
description: InternalServerError
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerError'
security:
- bearerToken: []
components:
schemas:
DomainName:
type: string
description: A valid domain name
DomainAlreadyRenewing:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 400
code:
type: string
enum:
- domain_already_renewing
message:
type: string
additionalProperties: false
description: The domain is already renewing.
DomainNotRenewable:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 400
code:
type: string
enum:
- domain_not_renewable
message:
type: string
additionalProperties: false
description: The domain is not renewable.
DomainNotRegistered:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 400
code:
type: string
enum:
- domain_not_registered
message:
type: string
additionalProperties: false
description: The domain is not registered with Vercel.
HttpApiDecodeError:
type: object
required:
- issues
- message
properties:
issues:
type: array
items:
$ref: '#/components/schemas/Issue'
message:
type: string
additionalProperties: false
description: The request did not match the expected schema
Unauthorized:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 401
code:
type: string
enum:
- unauthorized
message:
type: string
additionalProperties: false
NotAuthorizedForScope:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 403
code:
type: string
enum:
- not_authorized_for_scope
message:
type: string
additionalProperties: false
Forbidden:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 403
code:
type: string
enum:
- forbidden
message:
type: string
additionalProperties: false
DomainNotFound:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 404
code:
type: string
enum:
- domain_not_found
message:
type: string
additionalProperties: false
description: The domain was not found in our system.
TooManyRequests:
type: object
required:
- status
- code
- message
- retryAfter
- limit
properties:
status:
type: number
enum:
- 429
code:
type: string
enum:
- too_many_requests
message:
type: string
retryAfter:
type: object
required:
- value
- str
properties:
value:
type: number
str:
type: string
additionalProperties: false
limit:
type: object
required:
- total
- remaining
- reset
properties:
total:
type: number
remaining:
type: number
reset:
type: number
additionalProperties: false
additionalProperties: false
InternalServerError:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 500
code:
type: string
enum:
- internal_server_error
message:
type: string
additionalProperties: false
Issue:
type: object
required:
- path
- message
properties:
path:
type: array
items:
$ref: '#/components/schemas/PropertyKey'
description: The path to the property where the issue occurred
message:
type: string
description: A descriptive message explaining the issue
additionalProperties: false
description: >-
Represents an error encountered while parsing a value to match the
schema
PropertyKey:
anyOf:
- type: string
- type: number
- type: object
required:
- _tag
- key
properties:
_tag:
type: string
enum:
- symbol
key:
type: string
additionalProperties: false
description: an object to be decoded into a globally shared symbol
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/deployments/update-deployment-integration-action.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Update deployment integration action
> Updates the deployment integration action for the specified integration installation
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples patch /v1/deployments/{deploymentId}/integrations/{integrationConfigurationId}/resources/{resourceId}/actions/{action}
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/deployments/{deploymentId}/integrations/{integrationConfigurationId}/resources/{resourceId}/actions/{action}:
patch:
tags:
- deployments
- integrations
summary: Update deployment integration action
description: >-
Updates the deployment integration action for the specified integration
installation
operationId: update-integration-deployment-action
parameters:
- name: deploymentId
in: path
required: true
schema:
type: string
- name: integrationConfigurationId
in: path
required: true
schema:
type: string
- name: resourceId
in: path
required: true
schema:
type: string
- name: action
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
properties:
status:
type: string
enum:
- running
- succeeded
- failed
statusText:
type: string
statusUrl:
type: string
format: uri
pattern: '^https?://|^sso:'
outcomes:
type: array
items:
oneOf:
- type: object
properties:
kind:
type: string
secrets:
type: array
items:
type: object
properties:
name:
type: string
value:
type: string
required:
- name
- value
additionalProperties: false
required:
- kind
- secrets
additionalProperties: false
additionalProperties: false
responses:
'202':
description: ''
'400':
description: |-
One of the provided values in the request body is invalid.
One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/edge-config/update-edge-config-items-in-batch.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Update Edge Config items in batch
> Update multiple Edge Config Items in batch.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples patch /v1/edge-config/{edgeConfigId}/items
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/edge-config/{edgeConfigId}/items:
patch:
tags:
- edge-config
summary: Update Edge Config items in batch
description: Update multiple Edge Config Items in batch.
operationId: patchEdgeConfigItems
parameters:
- name: edgeConfigId
in: path
required: true
schema:
type: string
pattern: ^ecfg_
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
requestBody:
content:
application/json:
schema:
type: object
additionalProperties: false
required:
- items
properties:
items:
type: array
items:
oneOf:
- type: object
properties:
operation:
enum:
- create
- update
- upsert
- delete
key:
maxLength: 256
pattern: ^[\\w-]+$
type: string
value:
nullable: true
description:
oneOf:
- type: string
maxLength: 512
- {}
nullable: true
anyOf:
- properties:
operation:
type: string
enum:
- create
required:
- operation
- key
- value
- properties:
operation:
enum:
- update
- upsert
required:
- operation
- key
- value
- properties:
operation:
enum:
- update
- upsert
required:
- operation
- key
- description
responses:
'200':
description: ''
content:
application/json:
schema:
properties:
status:
type: string
required:
- status
type: object
'400':
description: |-
One of the provided values in the request body is invalid.
One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'402':
description: |-
The account was soft-blocked for an unhandled reason.
The account is missing a payment so payment method must be updated
'403':
description: You do not have permission to access this resource.
'404':
description: ''
'409':
description: ''
'412':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/edge-config/update-edge-config-schema.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Update Edge Config schema
> Update an Edge Config's schema.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples post /v1/edge-config/{edgeConfigId}/schema
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/edge-config/{edgeConfigId}/schema:
post:
tags:
- edge-config
summary: Update Edge Config schema
description: Update an Edge Config's schema.
operationId: patchEdgeConfigSchema
parameters:
- name: edgeConfigId
in: path
required: true
schema:
type: string
- name: dryRun
in: query
required: false
schema:
type: string
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
requestBody:
content:
application/json:
schema:
type: object
additionalProperties: false
required:
- definition
properties:
definition: {}
required: true
responses:
'200':
description: ''
content:
application/json:
schema:
nullable: true
type: object
description: The JSON schema uploaded by the user
'400':
description: |-
One of the provided values in the request body is invalid.
One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'402':
description: |-
The account was soft-blocked for an unhandled reason.
The account is missing a payment so payment method must be updated
'403':
description: You do not have permission to access this resource.
'404':
description: ''
'409':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/security/update-firewall-configuration.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Update Firewall Configuration
> Process updates to modify the existing firewall config for a project
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples patch /v1/security/firewall/config
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/security/firewall/config:
patch:
tags:
- security
summary: Update Firewall Configuration
description: Process updates to modify the existing firewall config for a project
operationId: updateFirewallConfig
parameters:
- name: projectId
in: query
required: true
schema:
type: string
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
requestBody:
content:
application/json:
schema:
oneOf:
- description: Enable Firewall
type: object
properties:
action:
type: string
enum:
- firewallEnabled
id:
nullable: true
value:
type: boolean
required:
- action
- value
additionalProperties: false
- description: Add a custom rule
type: object
properties:
action:
type: string
enum:
- rules.insert
id:
nullable: true
value:
type: object
properties:
name:
type: string
maxLength: 160
description:
type: string
maxLength: 256
active:
type: boolean
conditionGroup:
type: array
items:
type: object
properties:
conditions:
type: array
items:
type: object
properties:
type:
type: string
enum:
- host
- path
- method
- header
- query
- cookie
- target_path
- route
- raw_path
- ip_address
- region
- protocol
- scheme
- environment
- user_agent
- geo_continent
- geo_country
- geo_country_region
- geo_city
- geo_as_number
- ja4_digest
- ja3_digest
- rate_limit_api_id
- server_action
- bot_name
- bot_category
op:
type: string
enum:
- re
- eq
- neq
- ex
- nex
- inc
- ninc
- pre
- suf
- sub
- gt
- gte
- lt
- lte
neg:
type: boolean
key:
type: string
value:
oneOf:
- type: string
- type: array
items:
type: string
maxItems: 75
- type: number
required:
- type
- op
additionalProperties: false
maxItems: 65
required:
- conditions
additionalProperties: false
maxItems: 25
action:
type: object
properties:
mitigate:
type: object
properties:
action:
type: string
enum:
- log
- challenge
- deny
- bypass
- rate_limit
- redirect
rateLimit:
anyOf:
- type: object
properties:
algo:
type: string
enum:
- fixed_window
- token_bucket
window:
type: number
limit:
type: number
keys:
items:
type: string
type: array
action:
anyOf:
- type: string
enum:
- log
- challenge
- deny
- rate_limit
- {}
nullable: true
required:
- algo
- window
- limit
- keys
additionalProperties: false
- {}
nullable: true
redirect:
anyOf:
- type: object
properties:
location:
type: string
permanent:
type: boolean
required:
- location
- permanent
additionalProperties: false
- {}
nullable: true
actionDuration:
nullable: true
type: string
bypassSystem:
type: boolean
nullable: true
required:
- action
additionalProperties: false
additionalProperties: false
valid:
type: boolean
validationErrors:
anyOf:
- items:
type: string
type: array
- type: string
required:
- name
- active
- conditionGroup
- action
additionalProperties: false
required:
- action
- value
additionalProperties: false
- description: Update a custom rule
type: object
properties:
action:
type: string
enum:
- rules.update
id:
type: string
value:
type: object
properties:
name:
type: string
maxLength: 160
description:
type: string
maxLength: 256
active:
type: boolean
conditionGroup:
type: array
items:
type: object
properties:
conditions:
type: array
items:
type: object
properties:
type:
type: string
enum:
- host
- path
- method
- header
- query
- cookie
- target_path
- route
- raw_path
- ip_address
- region
- protocol
- scheme
- environment
- user_agent
- geo_continent
- geo_country
- geo_country_region
- geo_city
- geo_as_number
- ja4_digest
- ja3_digest
- rate_limit_api_id
- server_action
- bot_name
- bot_category
op:
type: string
enum:
- re
- eq
- neq
- ex
- nex
- inc
- ninc
- pre
- suf
- sub
- gt
- gte
- lt
- lte
neg:
type: boolean
key:
type: string
value:
anyOf:
- type: string
- type: array
items:
type: string
maxItems: 75
- type: number
required:
- type
- op
additionalProperties: false
maxItems: 65
required:
- conditions
additionalProperties: false
maxItems: 25
action:
type: object
properties:
mitigate:
type: object
properties:
action:
type: string
enum:
- log
- challenge
- deny
- bypass
- rate_limit
- redirect
rateLimit:
anyOf:
- type: object
properties:
algo:
type: string
enum:
- fixed_window
- token_bucket
window:
type: number
limit:
type: number
keys:
items:
type: string
type: array
action:
anyOf:
- type: string
enum:
- log
- challenge
- deny
- rate_limit
- {}
nullable: true
required:
- algo
- window
- limit
- keys
additionalProperties: false
- {}
nullable: true
redirect:
anyOf:
- type: object
properties:
location:
type: string
permanent:
type: boolean
required:
- location
- permanent
additionalProperties: false
- {}
nullable: true
actionDuration:
nullable: true
type: string
bypassSystem:
type: boolean
nullable: true
required:
- action
additionalProperties: false
additionalProperties: false
valid:
type: boolean
validationErrors:
anyOf:
- items:
type: string
type: array
- type: string
required:
- name
- active
- conditionGroup
- action
additionalProperties: false
required:
- action
- id
- value
additionalProperties: false
- description: Remove a custom rule
type: object
properties:
action:
type: string
enum:
- rules.remove
id:
type: string
value:
nullable: true
required:
- action
- id
additionalProperties: false
- description: Reorder a custom rule
type: object
properties:
action:
type: string
enum:
- rules.priority
id:
type: string
value:
type: number
required:
- action
- id
- value
additionalProperties: false
- description: Enable a managed rule
type: object
properties:
action:
type: string
enum:
- crs.update
id:
type: string
enum:
- sd
- ma
- lfi
- rfi
- rce
- php
- gen
- xss
- sqli
- sf
- java
value:
type: object
properties:
active:
type: boolean
action:
type: string
enum:
- deny
- log
required:
- active
- action
additionalProperties: false
required:
- action
- id
- value
additionalProperties: false
- description: Disable a managed rule
type: object
properties:
action:
type: string
enum:
- crs.disable
id:
nullable: true
value:
nullable: true
required:
- action
additionalProperties: false
- description: Add an IP Blocking rule
type: object
properties:
action:
type: string
enum:
- ip.insert
id:
nullable: true
value:
type: object
properties:
hostname:
type: string
ip:
type: string
notes:
type: string
action:
type: string
enum:
- deny
- challenge
- log
- bypass
required:
- hostname
- ip
- action
additionalProperties: false
required:
- action
- value
additionalProperties: false
- description: Update an IP Blocking rule
type: object
properties:
action:
type: string
enum:
- ip.update
id:
type: string
value:
type: object
properties:
hostname:
type: string
ip:
type: string
notes:
type: string
action:
type: string
enum:
- deny
- challenge
- log
- bypass
required:
- hostname
- ip
- action
additionalProperties: false
required:
- action
- id
- value
additionalProperties: false
- description: Remove an IP Blocking rule
type: object
properties:
action:
type: string
enum:
- ip.remove
id:
type: string
value:
nullable: true
required:
- action
- id
additionalProperties: false
- description: Update a managed ruleset
type: object
properties:
action:
type: string
enum:
- managedRules.update
id:
type: string
enum:
- ai_bots
- bot_filter
- bot_protection
- vercel_ruleset
- owasp
value:
type: object
properties:
action:
type: string
enum:
- log
- challenge
- deny
active:
type: boolean
required:
- active
additionalProperties: false
required:
- action
- id
- value
additionalProperties: false
- description: Update a managed rule group
type: object
properties:
action:
type: string
id:
type: string
enum:
- ai_bots
- bot_filter
- bot_protection
- vercel_ruleset
- owasp
value:
type: object
additionalProperties:
type: object
properties:
action:
type: string
enum:
- log
- challenge
- deny
active:
type: boolean
required:
- active
additionalProperties: false
required:
- action
- id
- value
additionalProperties: false
- description: Toggle bot ID
type: object
properties:
action:
type: string
id:
type: string
value:
type: boolean
required:
- action
- value
additionalProperties: false
required: true
responses:
'200':
description: ''
content:
application/json:
schema:
type: object
'400':
description: |-
One of the provided values in the request body is invalid.
One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'402':
description: ''
'403':
description: You do not have permission to access this resource.
'404':
description: ''
'500':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/marketplace/update-installation.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Update Installation
> This endpoint updates an integration installation.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples patch /v1/installations/{integrationConfigurationId}
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/installations/{integrationConfigurationId}:
patch:
tags:
- marketplace
summary: Update Installation
description: This endpoint updates an integration installation.
operationId: update-installation
parameters:
- name: integrationConfigurationId
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
properties:
status:
type: string
enum:
- ready
- pending
- onboarding
- suspended
- resumed
- uninstalled
- error
externalId:
type: string
billingPlan:
type: object
required:
- id
- type
- name
properties:
id:
type: string
type:
type: string
enum:
- prepayment
- subscription
name:
type: string
description:
type: string
paymentMethodRequired:
type: boolean
cost:
type: string
details:
type: array
items:
type: object
properties:
label:
type: string
value:
type: string
required:
- label
additionalProperties: false
highlightedDetails:
type: array
items:
type: object
properties:
label:
type: string
value:
type: string
required:
- label
additionalProperties: false
effectiveDate:
type: string
additionalProperties: true
notification:
oneOf:
- type: object
required:
- level
- title
properties:
level:
type: string
enum:
- info
- warn
- error
title:
type: string
message:
type: string
href:
type: string
format: uri
- type: string
description: >-
A notification to display to your customer. Send `null` to
clear the current notification.
additionalProperties: false
responses:
'204':
description: ''
'400':
description: |-
One of the provided values in the request body is invalid.
One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/domains-registrar/update-nameservers-for-a-domain.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Update nameservers for a domain
> Update the nameservers for a domain. Pass an empty array to use Vercel's default nameservers.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples patch /v1/registrar/domains/{domain}/nameservers
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/registrar/domains/{domain}/nameservers:
patch:
tags:
- domains-registrar
summary: Update nameservers for a domain
description: >-
Update the nameservers for a domain. Pass an empty array to use Vercel's
default nameservers.
operationId: updateDomainNameservers
parameters:
- name: domain
in: path
schema:
$ref: '#/components/schemas/DomainName'
required: true
- name: teamId
in: query
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
required: false
requestBody:
content:
application/json:
schema:
type: object
required:
- nameservers
properties:
nameservers:
type: array
items:
$ref: '#/components/schemas/Nameserver'
additionalProperties: false
required: true
responses:
'204':
description: Success
'400':
description: There was something wrong with the request
content:
application/json:
schema:
anyOf:
- $ref: '#/components/schemas/DomainNotRegistered'
- $ref: '#/components/schemas/HttpApiDecodeError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Unauthorized'
'403':
description: NotAuthorizedForScope
content:
application/json:
schema:
anyOf:
- $ref: '#/components/schemas/NotAuthorizedForScope'
- $ref: '#/components/schemas/Forbidden'
'404':
description: The domain was not found in our system.
content:
application/json:
schema:
$ref: '#/components/schemas/DomainNotFound'
'429':
description: TooManyRequests
content:
application/json:
schema:
$ref: '#/components/schemas/TooManyRequests'
'500':
description: InternalServerError
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerError'
security:
- bearerToken: []
components:
schemas:
DomainName:
type: string
description: A valid domain name
Nameserver:
type: string
description: A valid nameserver
DomainNotRegistered:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 400
code:
type: string
enum:
- domain_not_registered
message:
type: string
additionalProperties: false
description: The domain is not registered with Vercel.
HttpApiDecodeError:
type: object
required:
- issues
- message
properties:
issues:
type: array
items:
$ref: '#/components/schemas/Issue'
message:
type: string
additionalProperties: false
description: The request did not match the expected schema
Unauthorized:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 401
code:
type: string
enum:
- unauthorized
message:
type: string
additionalProperties: false
NotAuthorizedForScope:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 403
code:
type: string
enum:
- not_authorized_for_scope
message:
type: string
additionalProperties: false
Forbidden:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 403
code:
type: string
enum:
- forbidden
message:
type: string
additionalProperties: false
DomainNotFound:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 404
code:
type: string
enum:
- domain_not_found
message:
type: string
additionalProperties: false
description: The domain was not found in our system.
TooManyRequests:
type: object
required:
- status
- code
- message
- retryAfter
- limit
properties:
status:
type: number
enum:
- 429
code:
type: string
enum:
- too_many_requests
message:
type: string
retryAfter:
type: object
required:
- value
- str
properties:
value:
type: number
str:
type: string
additionalProperties: false
limit:
type: object
required:
- total
- remaining
- reset
properties:
total:
type: number
remaining:
type: number
reset:
type: number
additionalProperties: false
additionalProperties: false
InternalServerError:
type: object
required:
- status
- code
- message
properties:
status:
type: number
enum:
- 500
code:
type: string
enum:
- internal_server_error
message:
type: string
additionalProperties: false
Issue:
type: object
required:
- path
- message
properties:
path:
type: array
items:
$ref: '#/components/schemas/PropertyKey'
description: The path to the property where the issue occurred
message:
type: string
description: A descriptive message explaining the issue
additionalProperties: false
description: >-
Represents an error encountered while parsing a value to match the
schema
PropertyKey:
anyOf:
- type: string
- type: number
- type: object
required:
- _tag
- key
properties:
_tag:
type: string
enum:
- symbol
key:
type: string
additionalProperties: false
description: an object to be decoded into a globally shared symbol
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/domains/update-or-move-apex-domain.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Update or move apex domain
> Update 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).
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples patch /v3/domains/{domain}
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v3/domains/{domain}:
patch:
tags:
- domains
summary: Update or move apex domain
description: >-
Update 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).
operationId: patchDomain
parameters:
- name: domain
in: path
schema:
type: string
required: true
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
requestBody:
content:
application/json:
schema:
oneOf:
- type: object
description: update
additionalProperties: false
properties:
op:
example: update
type: string
renew:
description: >-
This field is deprecated. Please use PATCH
/v1/registrar/domains/{domainName}/auto-renew instead.
type: boolean
deprecated: true
customNameservers:
description: >-
This field is deprecated. Please use PATCH
/v1/registrar/domains/{domainName}/nameservers instead.
items:
type: string
maxItems: 4
minItems: 0
type: array
uniqueItems: true
deprecated: true
zone:
description: >-
Specifies whether this is a DNS zone that intends to use
Vercel's nameservers.
type: boolean
- type: object
description: move-out
additionalProperties: false
properties:
op:
example: move-out
type: string
destination:
description: User or team to move domain to
type: string
required: true
responses:
'200':
description: ''
content:
application/json:
schema:
oneOf:
- properties:
moved:
type: boolean
enum:
- false
- true
required:
- moved
type: object
- properties:
moved:
type: boolean
enum:
- false
- true
token:
type: string
required:
- moved
- token
type: object
- properties:
renew:
type: boolean
enum:
- false
- true
customNameservers:
items:
type: string
type: array
zone:
type: boolean
enum:
- false
- true
type: object
'400':
description: |-
One of the provided values in the request body is invalid.
One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
'409':
description: ''
'500':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/projects/update-protection-bypass-for-automation.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Update Protection Bypass for Automation
> Update the deployment protection automation bypass for a project
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples patch /v1/projects/{idOrName}/protection-bypass
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/projects/{idOrName}/protection-bypass:
patch:
tags:
- projects
summary: Update Protection Bypass for Automation
description: Update the deployment protection automation bypass for a project
operationId: updateProjectProtectionBypass
parameters:
- name: idOrName
description: The unique project identifier or the project name
in: path
required: true
schema:
description: The unique project identifier or the project name
type: string
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
requestBody:
content:
application/json:
schema:
type: object
properties:
revoke:
description: >-
Optional instructions for revoking and regenerating a
automation bypass
type: object
properties:
secret:
description: Automation bypass to revoked
type: string
regenerate:
description: >-
Whether or not a new automation bypass should be created
after the provided secret is revoked
type: boolean
required:
- secret
- regenerate
generate:
description: >-
Generate a new secret. If neither generate or revoke are
provided, a new random secret will be generated.
type: object
properties:
secret:
description: >-
Optional value of the secret to generate, don't send it
for oauth2 tokens
type: string
pattern: ^[a-zA-Z0-9]{32}$
note:
type: string
description: Note to be displayed in the UI for this bypass
maxLength: 100
update:
description: Update an existing bypass
type: object
required:
- secret
properties:
secret:
description: Automation bypass to updated
type: string
isEnvVar:
type: boolean
description: >-
Whether or not this bypass is set as the
VERCEL_AUTOMATION_BYPASS_SECRET environment variable on
deployments
note:
type: string
description: Note to be displayed in the UI for this bypass
maxLength: 100
additionalProperties: false
required: true
responses:
'200':
description: ''
content:
application/json:
schema:
properties:
protectionBypass:
additionalProperties:
oneOf:
- properties:
createdAt:
type: number
createdBy:
type: string
scope:
type: string
enum:
- integration-automation-bypass
integrationId:
type: string
configurationId:
type: string
required:
- configurationId
- createdAt
- createdBy
- integrationId
- scope
type: object
- properties:
createdAt:
type: number
createdBy:
type: string
scope:
type: string
enum:
- automation-bypass
isEnvVar:
type: boolean
enum:
- false
- true
description: >-
When there was only one bypass, it was
automatically set as an env var on deployments.
With multiple bypasses, there is always one
bypass that is selected as the default, and gets
set as an env var on deployments. As this is a
new field, undefined means that the bypass is
the env var. If there are any automation
bypasses, exactly one must be the env var.
note:
type: string
description: >-
Optional note about the bypass to be displayed
in the UI
required:
- createdAt
- createdBy
- scope
type: object
type: object
type: object
'400':
description: |-
One of the provided values in the request body is invalid.
One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
'409':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/marketplace/update-resource-secrets-deprecated.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Update Resource Secrets (Deprecated)
> This endpoint is deprecated and replaced with the endpoint [Update Resource Secrets](#update-resource-secrets).
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.
Use cases for this endpoint:
- 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.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples put /v1/installations/{integrationConfigurationId}/products/{integrationProductIdOrSlug}/resources/{resourceId}/secrets
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/installations/{integrationConfigurationId}/products/{integrationProductIdOrSlug}/resources/{resourceId}/secrets:
put:
tags:
- marketplace
summary: Update Resource Secrets (Deprecated)
description: >-
This endpoint is deprecated and replaced with the endpoint [Update
Resource Secrets](#update-resource-secrets).
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.
Use cases for this endpoint:
- 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.
operationId: update-resource-secrets
parameters:
- name: integrationConfigurationId
in: path
required: true
schema:
type: string
- name: integrationProductIdOrSlug
in: path
required: true
schema:
type: string
- name: resourceId
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
required:
- secrets
properties:
secrets:
type: array
items:
type: object
required:
- name
- value
properties:
name:
type: string
value:
type: string
prefix:
type: string
environmentOverrides:
type: object
description: >-
A map of environments to override values for the
secret, used for setting different values across
deployments in production, preview, and development
environments. Note: the same value will be used for
all deployments in the given environment.
properties:
development:
type: string
description: Value used for development environment.
preview:
type: string
description: Value used for preview environment.
production:
type: string
description: Value used for production environment.
additionalProperties: false
partial:
type: boolean
description: If true, will only update the provided secrets
additionalProperties: false
required: true
responses:
'201':
description: ''
'400':
description: |-
One of the provided values in the request body is invalid.
One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
'409':
description: ''
'422':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/marketplace/update-resource-secrets.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Update Resource Secrets
> 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.
Use cases for this endpoint:
- 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.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples put /v1/installations/{integrationConfigurationId}/resources/{resourceId}/secrets
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/installations/{integrationConfigurationId}/resources/{resourceId}/secrets:
put:
tags:
- marketplace
summary: Update Resource Secrets
description: >-
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.
Use cases for this
endpoint:
- 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.
operationId: update-resource-secrets-by-id
parameters:
- name: integrationConfigurationId
in: path
required: true
schema:
type: string
- name: resourceId
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
required:
- secrets
properties:
secrets:
type: array
items:
type: object
required:
- name
- value
properties:
name:
type: string
value:
type: string
prefix:
type: string
environmentOverrides:
type: object
description: >-
A map of environments to override values for the
secret, used for setting different values across
deployments in production, preview, and development
environments. Note: the same value will be used for
all deployments in the given environment.
properties:
development:
type: string
description: Value used for development environment.
preview:
type: string
description: Value used for preview environment.
production:
type: string
description: Value used for production environment.
additionalProperties: false
partial:
type: boolean
description: >-
If true, will only overwrite the provided secrets instead of
replacing all secrets.
additionalProperties: false
responses:
'201':
description: ''
'400':
description: |-
One of the provided values in the request body is invalid.
One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
'409':
description: ''
'422':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/marketplace/update-resource.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Update Resource
> This endpoint updates an existing resource in the installation. All parameters are optional, allowing partial updates.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples patch /v1/installations/{integrationConfigurationId}/resources/{resourceId}
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/installations/{integrationConfigurationId}/resources/{resourceId}:
patch:
tags:
- marketplace
summary: Update Resource
description: >-
This endpoint updates an existing resource in the installation. All
parameters are optional, allowing partial updates.
operationId: update-resource
parameters:
- name: integrationConfigurationId
in: path
required: true
schema:
type: string
- name: resourceId
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
properties:
ownership:
type: string
enum:
- owned
- linked
- sandbox
name:
type: string
status:
type: string
enum:
- ready
- pending
- onboarding
- suspended
- resumed
- uninstalled
- error
metadata:
additionalProperties: true
type: object
billingPlan:
type: object
required:
- id
- type
- name
properties:
id:
type: string
type:
type: string
enum:
- prepayment
- subscription
name:
type: string
description:
type: string
paymentMethodRequired:
type: boolean
cost:
type: string
details:
type: array
items:
type: object
properties:
label:
type: string
value:
type: string
required:
- label
additionalProperties: false
highlightedDetails:
type: array
items:
type: object
properties:
label:
type: string
value:
type: string
required:
- label
additionalProperties: false
effectiveDate:
type: string
additionalProperties: true
notification:
oneOf:
- type: object
required:
- level
- title
properties:
level:
type: string
enum:
- info
- warn
- error
title:
type: string
message:
type: string
href:
type: string
format: uri
- type: string
extras:
additionalProperties: true
type: object
secrets:
oneOf:
- type: array
items:
type: object
required:
- name
- value
properties:
name:
type: string
value:
type: string
prefix:
type: string
environmentOverrides:
type: object
description: >-
A map of environments to override values for the
secret, used for setting different values across
deployments in production, preview, and
development environments. Note: the same value
will be used for all deployments in the given
environment.
properties:
development:
type: string
description: Value used for development environment.
preview:
type: string
description: Value used for preview environment.
production:
type: string
description: Value used for production environment.
additionalProperties: false
- type: object
required:
- secrets
properties:
secrets:
type: array
items:
type: object
required:
- name
- value
properties:
name:
type: string
value:
type: string
prefix:
type: string
environmentOverrides:
type: object
description: >-
A map of environments to override values for
the secret, used for setting different values
across deployments in production, preview, and
development environments. Note: the same value
will be used for all deployments in the given
environment.
properties:
development:
type: string
description: Value used for development environment.
preview:
type: string
description: Value used for preview environment.
production:
type: string
description: Value used for production environment.
additionalProperties: false
partial:
type: boolean
description: >-
If true, will only overwrite the provided secrets
instead of replacing all secrets.
additionalProperties: false
additionalProperties: false
responses:
'200':
description: ''
content:
application/json:
schema:
properties:
name:
type: string
required:
- name
type: object
'400':
description: |-
One of the provided values in the request body is invalid.
One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
'409':
description: ''
'422':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/teams/update-team-directory-sync-role-mappings.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Update Team Directory Sync Role Mappings
> Update the Directory Sync role mappings for a Team. This endpoint allows updating the mapping between directory groups and team roles or access groups.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples post /v1/teams/{teamId}/dsync-roles
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/teams/{teamId}/dsync-roles:
post:
tags:
- teams
summary: Update Team Directory Sync Role Mappings
description: >-
Update the Directory Sync role mappings for a Team. This endpoint allows
updating the mapping between directory groups and team roles or access
groups.
operationId: postTeamDsyncRoles
parameters:
- description: The Team identifier to perform the request on behalf of.
in: path
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
required: true
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
requestBody:
content:
application/json:
schema:
type: object
additionalProperties: false
required:
- roles
properties:
roles:
type: object
description: Directory groups to role or access group mappings.
additionalProperties:
anyOf:
- type: string
enum:
- OWNER
- MEMBER
- DEVELOPER
- SECURITY
- BILLING
- VIEWER
- VIEWER_FOR_PLUS
- CONTRIBUTOR
- type: object
additionalProperties: false
required:
- accessGroupId
properties:
accessGroupId:
type: string
pattern: ^ag_[A-z0-9_ -]+$
responses:
'200':
description: ''
content:
application/json:
schema:
properties:
ok:
type: boolean
enum:
- false
- true
required:
- ok
type: object
'400':
description: One of the provided values in the request body is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/rolling-release/update-the-active-rolling-release-to-the-next-stage-for-a-project.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Update the active rolling release to the next stage for a project
> Advance a rollout to the next stage. This is only needed when rolling releases is configured to require manual approval.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples post /v1/projects/{idOrName}/rolling-release/approve-stage
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/projects/{idOrName}/rolling-release/approve-stage:
post:
tags:
- rolling-release
summary: Update the active rolling release to the next stage for a project
description: >-
Advance a rollout to the next stage. This is only needed when rolling
releases is configured to require manual approval.
operationId: approveRollingReleaseStage
parameters:
- name: idOrName
description: Project ID or project name (URL-encoded)
in: path
required: true
schema:
description: Project ID or project name (URL-encoded)
type: string
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
requestBody:
content:
application/json:
schema:
type: object
required:
- nextStageIndex
- canaryDeploymentId
properties:
nextStageIndex:
description: The index of the stage to transition to
type: number
canaryDeploymentId:
description: >-
The id of the canary deployment to approve for the next
stage
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
properties:
rollingRelease:
nullable: true
properties:
state:
type: string
enum:
- ACTIVE
- COMPLETE
- ABORTED
description: The current state of the rolling release
example: ACTIVE
currentDeployment:
nullable: true
properties:
name:
type: string
description: >-
The name of the project associated with the
deployment at the time that the deployment was
created
example: my-project
createdAt:
type: number
description: >-
A number containing the date when the deployment
was created in milliseconds
example: 1540257589405
id:
type: string
description: A string holding the unique ID of the deployment
example: dpl_89qyp1cskzkLrVicDaZoDbjyHuDJ
readyState:
type: string
enum:
- BUILDING
- ERROR
- INITIALIZING
- QUEUED
- READY
- CANCELED
description: >-
The state of the deployment depending on the
process of deploying, or if it is ready or in an
error state
example: READY
readyStateAt:
type: number
source:
type: string
enum:
- import
- api-trigger-git-deploy
- cli
- clone/repo
- git
- import/repo
- redeploy
- v0-web
description: Where was the deployment created from
example: cli
target:
nullable: true
type: string
enum:
- staging
- production
description: >-
If defined, either `staging` if a staging alias in
the format `..now.sh` was assigned
upon creation, or `production` if the aliases from
`alias` were assigned. `null` value indicates the
"preview" deployment.
example: null
url:
type: string
description: A string with the unique URL of the deployment
example: my-instant-deployment-3ij3cxz9qr.now.sh
required:
- createdAt
- id
- name
- readyState
- url
type: object
description: The current deployment receiving production traffic
example:
id: dpl_abc123
name: my-shop@main
url: my-shop.vercel.app
target: production
source: git
createdAt: 1716206500000
readyState: READY
readyStateAt: 1716206800000
canaryDeployment:
nullable: true
properties:
name:
type: string
description: >-
The name of the project associated with the
deployment at the time that the deployment was
created
example: my-project
createdAt:
type: number
description: >-
A number containing the date when the deployment
was created in milliseconds
example: 1540257589405
id:
type: string
description: A string holding the unique ID of the deployment
example: dpl_89qyp1cskzkLrVicDaZoDbjyHuDJ
readyState:
type: string
enum:
- BUILDING
- ERROR
- INITIALIZING
- QUEUED
- READY
- CANCELED
description: >-
The state of the deployment depending on the
process of deploying, or if it is ready or in an
error state
example: READY
readyStateAt:
type: number
source:
type: string
enum:
- import
- api-trigger-git-deploy
- cli
- clone/repo
- git
- import/repo
- redeploy
- v0-web
description: Where was the deployment created from
example: cli
target:
nullable: true
type: string
enum:
- staging
- production
description: >-
If defined, either `staging` if a staging alias in
the format `..now.sh` was assigned
upon creation, or `production` if the aliases from
`alias` were assigned. `null` value indicates the
"preview" deployment.
example: null
url:
type: string
description: A string with the unique URL of the deployment
example: my-instant-deployment-3ij3cxz9qr.now.sh
required:
- createdAt
- id
- name
- readyState
- url
type: object
description: The canary deployment being rolled out
example:
id: dpl_def456
name: my-shop@9c7e2f4
url: 9c7e2f4-my-shop.vercel.app
target: production
source: git
createdAt: 1716210100000
readyState: READY
readyStateAt: 1716210400000
queuedDeploymentId:
nullable: true
type: string
description: >-
The ID of a deployment queued for the next rolling
release
example: dpl_ghi789
advancementType:
type: string
enum:
- automatic
- manual-approval
description: The advancement type of the rolling release
example: manual-approval
stages:
items:
properties:
index:
type: number
description: The zero-based index of the stage
example: 0
isFinalStage:
type: boolean
enum:
- false
- true
description: >-
Whether or not this stage is the final stage
(targetPercentage === 100)
example: false
targetPercentage:
type: number
description: >-
The percentage of traffic to serve to the canary
deployment (0-100)
example: 25
requireApproval:
type: boolean
enum:
- false
- true
description: >-
Whether or not this stage requires manual
approval to proceed
duration:
nullable: true
type: number
description: >-
Duration in seconds for automatic advancement,
null for manual stages or the final stage
example: null
linearShift:
type: boolean
enum:
- false
- true
description: >-
Whether to linearly shift traffic over the
duration of this stage
example: false
required:
- duration
- index
- isFinalStage
- requireApproval
- targetPercentage
type: object
description: All stages configured for this rolling release
example:
- index: 0
isFinalStage: false
targetPercentage: 5
requireApproval: true
duration: null
- index: 1
isFinalStage: false
targetPercentage: 25
requireApproval: true
duration: null
- index: 2
isFinalStage: false
targetPercentage: 60
requireApproval: true
duration: null
- index: 3
isFinalStage: true
targetPercentage: 100
requireApproval: false
duration: null
type: array
description: All stages configured for this rolling release
example:
- index: 0
isFinalStage: false
targetPercentage: 5
requireApproval: true
duration: null
- index: 1
isFinalStage: false
targetPercentage: 25
requireApproval: true
duration: null
- index: 2
isFinalStage: false
targetPercentage: 60
requireApproval: true
duration: null
- index: 3
isFinalStage: true
targetPercentage: 100
requireApproval: false
duration: null
activeStage:
nullable: true
properties:
index:
type: number
description: The zero-based index of the stage
example: 0
isFinalStage:
type: boolean
enum:
- false
- true
description: >-
Whether or not this stage is the final stage
(targetPercentage === 100)
example: false
targetPercentage:
type: number
description: >-
The percentage of traffic to serve to the canary
deployment (0-100)
example: 25
requireApproval:
type: boolean
enum:
- false
- true
description: >-
Whether or not this stage requires manual approval
to proceed
duration:
nullable: true
type: number
description: >-
Duration in seconds for automatic advancement,
null for manual stages or the final stage
example: null
linearShift:
type: boolean
enum:
- false
- true
description: >-
Whether to linearly shift traffic over the
duration of this stage
example: false
required:
- duration
- index
- isFinalStage
- requireApproval
- targetPercentage
type: object
description: >-
The currently active stage, null if the rollout is
aborted
example:
index: 1
isFinalStage: false
targetPercentage: 25
requireApproval: true
duration: null
nextStage:
nullable: true
properties:
index:
type: number
description: The zero-based index of the stage
example: 0
isFinalStage:
type: boolean
enum:
- false
- true
description: >-
Whether or not this stage is the final stage
(targetPercentage === 100)
example: false
targetPercentage:
type: number
description: >-
The percentage of traffic to serve to the canary
deployment (0-100)
example: 25
requireApproval:
type: boolean
enum:
- false
- true
description: >-
Whether or not this stage requires manual approval
to proceed
duration:
nullable: true
type: number
description: >-
Duration in seconds for automatic advancement,
null for manual stages or the final stage
example: null
linearShift:
type: boolean
enum:
- false
- true
description: >-
Whether to linearly shift traffic over the
duration of this stage
example: false
required:
- duration
- index
- isFinalStage
- requireApproval
- targetPercentage
type: object
description: >-
The next stage to be activated, null if not in ACTIVE
state
example:
index: 2
isFinalStage: false
targetPercentage: 60
requireApproval: true
duration: null
startedAt:
type: number
description: >-
Unix timestamp in milliseconds when the rolling
release started
example: 1716210500000
updatedAt:
type: number
description: >-
Unix timestamp in milliseconds when the rolling
release was last updated
example: 1716210600000
required:
- activeStage
- advancementType
- canaryDeployment
- currentDeployment
- nextStage
- queuedDeploymentId
- stages
- startedAt
- state
- updatedAt
type: object
description: >-
Rolling release information including configuration and
document details, or null if no rolling release exists
required:
- rollingRelease
type: object
description: >-
The response format for rolling release endpoints that return
rolling release information
'400':
description: |-
One of the provided values in the request body is invalid.
One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
'500':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/projects/update-the-data-cache-feature.md
# Update the data cache feature
> Update the data cache feature on a project.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples patch /v1/data-cache/projects/{projectId}
paths:
path: /v1/data-cache/projects/{projectId}
method: patch
servers:
- url: https://api.vercel.com
description: Production API
request:
security:
- title: bearerToken
parameters:
query: {}
header:
Authorization:
type: http
scheme: bearer
description: Default authentication mechanism
cookie: {}
parameters:
path:
projectId:
schema:
- type: string
required: true
description: The unique project identifier
example: prj_12HKQaOmR5t5Uy6vdcQsNIiZgHGB
query:
teamId:
schema:
- type: string
description: The Team identifier to perform the request on behalf of.
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
slug:
schema:
- type: string
description: The Team slug to perform the request on behalf of.
example: my-team-url-slug
header: {}
cookie: {}
body:
application/json:
schemaArray:
- type: object
properties:
disabled:
allOf:
- type: boolean
example: true
description: >-
Enable or disable data cache for the project - default:
false
required: true
examples:
example:
value:
disabled: true
codeSamples:
- label: updateProjectDataCache
lang: go
source: "package main\n\nimport(\n\t\"os\"\n\t\"github.com/vercel/vercel\"\n\t\"context\"\n\t\"github.com/vercel/vercel/models/operations\"\n\t\"log\"\n)\n\nfunc main() {\n s := vercel.New(\n vercel.WithSecurity(os.Getenv(\"VERCEL_BEARER_TOKEN\")),\n )\n\n ctx := context.Background()\n res, err := s.Projects.UpdateProjectDataCache(ctx, \"prj_12HKQaOmR5t5Uy6vdcQsNIiZgHGB\", nil, nil, &operations.UpdateProjectDataCacheRequestBody{\n Disabled: vercel.Bool(true),\n })\n if err != nil {\n log.Fatal(err)\n }\n if res.Object != nil {\n // handle response\n }\n}"
- label: updateProjectDataCache
lang: typescript
source: |-
import { Vercel } from "@vercel/sdk";
const vercel = new Vercel({
bearerToken: "",
});
async function run() {
const result = await vercel.projects.updateProjectDataCache({
projectId: "prj_12HKQaOmR5t5Uy6vdcQsNIiZgHGB",
teamId: "team_1a2b3c4d5e6f7g8h9i0j1k2l",
slug: "my-team-url-slug",
requestBody: {
disabled: true,
},
});
console.log(result);
}
run();
response:
'200':
application/json:
schemaArray:
- type: object
properties:
accountId:
allOf:
- type: string
analytics:
allOf:
- properties:
id:
type: string
canceledAt:
nullable: true
type: number
disabledAt:
type: number
enabledAt:
type: number
paidAt:
type: number
sampleRatePercent:
nullable: true
type: number
spendLimitInDollars:
nullable: true
type: number
required:
- id
- disabledAt
- enabledAt
type: object
speedInsights:
allOf:
- properties:
id:
type: string
enabledAt:
type: number
disabledAt:
type: number
canceledAt:
type: number
hasData:
type: boolean
paidAt:
type: number
required:
- id
type: object
autoExposeSystemEnvs:
allOf:
- type: boolean
autoAssignCustomDomains:
allOf:
- type: boolean
autoAssignCustomDomainsUpdatedBy:
allOf:
- type: string
buildCommand:
allOf:
- nullable: true
type: string
commandForIgnoringBuildStep:
allOf:
- nullable: true
type: string
connectConfigurations:
allOf:
- nullable: true
items:
properties:
envId:
oneOf:
- type: string
- type: string
enum:
- preview
- production
connectConfigurationId:
type: string
dc:
type: string
passive:
type: boolean
buildsEnabled:
type: boolean
aws:
properties:
subnetIds:
items:
type: string
type: array
securityGroupId:
type: string
required:
- subnetIds
- securityGroupId
type: object
createdAt:
type: number
updatedAt:
type: number
required:
- envId
- connectConfigurationId
- passive
- buildsEnabled
- createdAt
- updatedAt
type: object
type: array
connectConfigurationId:
allOf:
- nullable: true
type: string
connectBuildsEnabled:
allOf:
- type: boolean
passiveConnectConfigurationId:
allOf:
- nullable: true
type: string
createdAt:
allOf:
- type: number
customerSupportCodeVisibility:
allOf:
- type: boolean
crons:
allOf:
- properties:
enabledAt:
type: number
description: >-
The time the feature was enabled for this project.
Note: It enables automatically with the first
Deployment that outputs cronjobs.
disabledAt:
nullable: true
type: number
description: The time the feature was disabled for this project.
updatedAt:
type: number
deploymentId:
nullable: true
type: string
description: >-
The ID of the Deployment from which the definitions
originated.
definitions:
items:
properties:
host:
type: string
description: The hostname that should be used.
example: vercel.com
path:
type: string
description: The path that should be called for the cronjob.
example: /api/crons/sync-something?hello=world
schedule:
type: string
description: The cron expression.
example: 0 0 * * *
required:
- host
- path
- schedule
type: object
type: array
required:
- enabledAt
- disabledAt
- updatedAt
- deploymentId
- definitions
type: object
dataCache:
allOf:
- properties:
userDisabled:
type: boolean
storageSizeBytes:
nullable: true
type: number
unlimited:
type: boolean
required:
- userDisabled
type: object
deploymentExpiration:
allOf:
- nullable: true
properties:
expirationDays:
type: number
description: >-
Number of days to keep non-production deployments
(mostly preview deployments) before soft deletion.
expirationDaysProduction:
type: number
description: >-
Number of days to keep production deployments before
soft deletion.
expirationDaysCanceled:
type: number
description: >-
Number of days to keep canceled deployments before
soft deletion.
expirationDaysErrored:
type: number
description: >-
Number of days to keep errored deployments before soft
deletion.
deploymentsToKeep:
type: number
description: >-
Minimum number of production deployments to keep for
this project, even if they are over the production
expiration limit.
type: object
description: >-
Retention policies for deployments. These are enforced at
the project level, but we also maintain an instance of
this at the team level as a default policy that gets
applied to new projects.
devCommand:
allOf:
- nullable: true
type: string
directoryListing:
allOf:
- type: boolean
installCommand:
allOf:
- nullable: true
type: string
env:
allOf:
- items:
properties:
target:
oneOf:
- items:
type: string
enum:
- production
- preview
- development
type: array
- type: string
enum:
- production
- preview
- development
type:
type: string
enum:
- secret
- system
- encrypted
- plain
- sensitive
sunsetSecretId:
type: string
description: >-
This is used to identiy variables that have been
migrated from type secret to sensitive.
decrypted:
type: boolean
value:
type: string
vsmValue:
type: string
id:
type: string
key:
type: string
configurationId:
nullable: true
type: string
createdAt:
type: number
updatedAt:
type: number
createdBy:
nullable: true
type: string
updatedBy:
nullable: true
type: string
gitBranch:
type: string
edgeConfigId:
nullable: true
type: string
edgeConfigTokenId:
nullable: true
type: string
contentHint:
nullable: true
oneOf:
- properties:
type:
type: string
enum:
- redis-url
storeId:
type: string
required:
- type
- storeId
type: object
- properties:
type:
type: string
enum:
- redis-rest-api-url
storeId:
type: string
required:
- type
- storeId
type: object
- properties:
type:
type: string
enum:
- redis-rest-api-token
storeId:
type: string
required:
- type
- storeId
type: object
- properties:
type:
type: string
enum:
- redis-rest-api-read-only-token
storeId:
type: string
required:
- type
- storeId
type: object
- properties:
type:
type: string
enum:
- blob-read-write-token
storeId:
type: string
required:
- type
- storeId
type: object
- properties:
type:
type: string
enum:
- postgres-url
storeId:
type: string
required:
- type
- storeId
type: object
- properties:
type:
type: string
enum:
- postgres-url-non-pooling
storeId:
type: string
required:
- type
- storeId
type: object
- properties:
type:
type: string
enum:
- postgres-prisma-url
storeId:
type: string
required:
- type
- storeId
type: object
- properties:
type:
type: string
enum:
- postgres-user
storeId:
type: string
required:
- type
- storeId
type: object
- properties:
type:
type: string
enum:
- postgres-host
storeId:
type: string
required:
- type
- storeId
type: object
- properties:
type:
type: string
enum:
- postgres-password
storeId:
type: string
required:
- type
- storeId
type: object
- properties:
type:
type: string
enum:
- postgres-database
storeId:
type: string
required:
- type
- storeId
type: object
- properties:
type:
type: string
enum:
- postgres-url-no-ssl
storeId:
type: string
required:
- type
- storeId
type: object
- properties:
type:
type: string
enum:
- integration-store-secret
storeId:
type: string
integrationId:
type: string
integrationProductId:
type: string
integrationConfigurationId:
type: string
required:
- type
- storeId
- integrationId
- integrationProductId
- integrationConfigurationId
type: object
- properties:
type:
type: string
enum:
- flags-connection-string
projectId:
type: string
required:
- type
- projectId
type: object
internalContentHint:
nullable: true
properties:
type:
type: string
enum:
- flags-secret
encryptedValue:
type: string
description: >-
Contains the `value` of the env variable,
encrypted with a special key to make decryption
possible in the subscriber Lambda.
required:
- type
- encryptedValue
type: object
description: >-
Similar to `contentHints`, but should not be exposed
to the user.
comment:
type: string
customEnvironmentIds:
items:
type: string
type: array
required:
- type
- value
- key
type: object
type: array
customEnvironments:
allOf:
- items:
properties:
id:
type: string
description: >-
Unique identifier for the custom environment
(format: env_*)
slug:
type: string
description: URL-friendly name of the environment
type:
type: string
enum:
- preview
- production
- development
description: >-
The type of environment (production, preview, or
development)
description:
type: string
description: Optional description of the environment's purpose
branchMatcher:
properties:
type:
type: string
enum:
- endsWith
- startsWith
- equals
description: The type of matching to perform
pattern:
type: string
description: The pattern to match against branch names
required:
- type
- pattern
type: object
description: >-
Configuration for matching git branches to this
environment
domains:
items:
properties:
name:
type: string
apexName:
type: string
projectId:
type: string
redirect:
nullable: true
type: string
redirectStatusCode:
nullable: true
type: number
enum:
- 307
- 301
- 302
- 308
gitBranch:
nullable: true
type: string
customEnvironmentId:
nullable: true
type: string
updatedAt:
type: number
createdAt:
type: number
verified:
type: boolean
description: >-
`true` if the domain is verified for use with
the project. If `false` it will not be used as
an alias on this project until the challenge
in `verification` is completed.
verification:
items:
properties:
type:
type: string
domain:
type: string
value:
type: string
reason:
type: string
required:
- type
- domain
- value
- reason
type: object
description: >-
A list of verification challenges, one of
which must be completed to verify the domain
for use on the project. After the challenge
is complete `POST
/projects/:idOrName/domains/:domain/verify`
to verify the domain. Possible challenges: -
If `verification.type = TXT` the
`verification.domain` will be checked for a
TXT record matching `verification.value`.
type: array
description: >-
A list of verification challenges, one of
which must be completed to verify the domain
for use on the project. After the challenge is
complete `POST
/projects/:idOrName/domains/:domain/verify` to
verify the domain. Possible challenges: - If
`verification.type = TXT` the
`verification.domain` will be checked for a
TXT record matching `verification.value`.
required:
- name
- apexName
- projectId
- verified
type: object
description: List of domains associated with this environment
type: array
description: List of domains associated with this environment
currentDeploymentAliases:
items:
type: string
type: array
description: List of aliases for the current deployment
createdAt:
type: number
description: Timestamp when the environment was created
updatedAt:
type: number
description: Timestamp when the environment was last updated
required:
- id
- slug
- type
- createdAt
- updatedAt
type: object
description: >-
Internal representation of a custom environment with all
required properties
type: array
framework:
allOf:
- nullable: true
type: string
enum:
- blitzjs
- nextjs
- gatsby
- remix
- react-router
- astro
- hexo
- eleventy
- docusaurus-2
- docusaurus
- preact
- solidstart-1
- solidstart
- dojo
- ember
- vue
- scully
- ionic-angular
- angular
- polymer
- svelte
- sveltekit
- sveltekit-1
- ionic-react
- create-react-app
- gridsome
- umijs
- sapper
- saber
- stencil
- nuxtjs
- redwoodjs
- hugo
- jekyll
- brunch
- middleman
- zola
- hydrogen
- vite
- vitepress
- vuepress
- parcel
- fastapi
- flask
- fasthtml
- sanity-v3
- sanity
- storybook
- nitro
- hono
- express
- h3
- nestjs
- fastify
- xmcp
gitForkProtection:
allOf:
- type: boolean
gitLFS:
allOf:
- type: boolean
id:
allOf:
- type: string
ipBuckets:
allOf:
- items:
properties:
bucket:
type: string
supportUntil:
type: number
required:
- bucket
type: object
type: array
latestDeployments:
allOf:
- items:
properties:
id:
type: string
alias:
items:
type: string
type: array
aliasAssigned:
nullable: true
oneOf:
- type: number
- type: boolean
aliasError:
nullable: true
properties:
code:
type: string
message:
type: string
required:
- code
- message
type: object
aliasFinal:
nullable: true
type: string
automaticAliases:
items:
type: string
type: array
branchMatcher:
properties:
type:
type: string
enum:
- endsWith
- startsWith
- equals
description: The type of matching to perform
pattern:
type: string
description: The pattern to match against branch names
required:
- type
- pattern
type: object
buildingAt:
type: number
builds:
items:
properties:
use:
type: string
src:
type: string
dest:
type: string
required:
- use
type: object
type: array
checksConclusion:
type: string
enum:
- succeeded
- failed
- skipped
- canceled
checksState:
type: string
enum:
- registered
- running
- completed
connectBuildsEnabled:
type: boolean
connectConfigurationId:
type: string
createdAt:
type: number
createdIn:
type: string
creator:
nullable: true
properties:
email:
type: string
githubLogin:
type: string
gitlabLogin:
type: string
uid:
type: string
username:
type: string
required:
- email
- uid
- username
type: object
deletedAt:
type: number
deploymentHostname:
type: string
forced:
type: boolean
name:
type: string
meta:
additionalProperties:
type: string
type: object
monorepoManager:
nullable: true
type: string
oidcTokenClaims:
properties:
iss:
type: string
sub:
type: string
scope:
type: string
aud:
type: string
owner:
type: string
owner_id:
type: string
project:
type: string
project_id:
type: string
environment:
type: string
required:
- iss
- sub
- scope
- aud
- owner
- owner_id
- project
- project_id
- environment
type: object
plan:
type: string
enum:
- pro
- enterprise
- hobby
previewCommentsEnabled:
type: boolean
description: >-
Whether or not preview comments are enabled for the
deployment
example: false
private:
type: boolean
readyAt:
type: number
readyState:
type: string
enum:
- BUILDING
- ERROR
- INITIALIZING
- QUEUED
- READY
- CANCELED
readySubstate:
type: string
enum:
- STAGED
- ROLLING
- PROMOTED
requestedAt:
type: number
target:
nullable: true
type: string
teamId:
nullable: true
type: string
type:
type: string
enum:
- LAMBDAS
url:
type: string
userId:
type: string
withCache:
type: boolean
required:
- id
- createdAt
- createdIn
- creator
- deploymentHostname
- name
- plan
- private
- readyState
- type
- url
- userId
type: object
type: array
link:
allOf:
- oneOf:
- properties:
org:
type: string
repoOwnerId:
type: number
description: >-
A new field, should be included in all new project
links, is being added just in time when a
deployment is created. This is needed for
Protected Git scopes.
repo:
type: string
repoId:
type: number
type:
type: string
enum:
- github
createdAt:
type: number
deployHooks:
items:
properties:
createdAt:
type: number
id:
type: string
name:
type: string
ref:
type: string
url:
type: string
required:
- id
- name
- ref
- url
type: object
type: array
gitCredentialId:
type: string
updatedAt:
type: number
sourceless:
type: boolean
productionBranch:
type: string
required:
- org
- type
- gitCredentialId
- productionBranch
- deployHooks
type: object
- properties:
type:
type: string
enum:
- github-limited
createdAt:
type: number
updatedAt:
type: number
org:
type: string
repoOwnerId:
type: number
description: >-
A new field, should be included in all new project
links, is being added just in time when a
deployment is created. This is needed for
Protected Git scopes.
repo:
type: string
repoId:
type: number
deployHooks:
items:
properties:
createdAt:
type: number
id:
type: string
name:
type: string
ref:
type: string
url:
type: string
required:
- id
- name
- ref
- url
type: object
type: array
gitCredentialId:
type: string
sourceless:
type: boolean
productionBranch:
type: string
required:
- type
- org
- gitCredentialId
- productionBranch
- deployHooks
type: object
- properties:
org:
type: string
repoOwnerId:
type: number
description: >-
A new field, should be included in all new project
links, is being added just in time when a
deployment is created. This is needed for
Protected Git scopes.
repo:
type: string
repoId:
type: number
type:
type: string
enum:
- github-custom-host
host:
type: string
createdAt:
type: number
deployHooks:
items:
properties:
createdAt:
type: number
id:
type: string
name:
type: string
ref:
type: string
url:
type: string
required:
- id
- name
- ref
- url
type: object
type: array
gitCredentialId:
type: string
updatedAt:
type: number
sourceless:
type: boolean
productionBranch:
type: string
required:
- org
- type
- host
- gitCredentialId
- productionBranch
- deployHooks
type: object
- properties:
projectId:
type: string
projectName:
type: string
projectNameWithNamespace:
type: string
projectNamespace:
type: string
projectOwnerId:
type: number
description: >-
A new field, should be included in all new project
links, is being added just in time when a
deployment is created. This is needed for
Protected Git scopes. This is the id of the top
level group that a namespace belongs to. Gitlab
supports group nesting (up to 20 levels).
projectUrl:
type: string
type:
type: string
enum:
- gitlab
createdAt:
type: number
deployHooks:
items:
properties:
createdAt:
type: number
id:
type: string
name:
type: string
ref:
type: string
url:
type: string
required:
- id
- name
- ref
- url
type: object
type: array
gitCredentialId:
type: string
updatedAt:
type: number
sourceless:
type: boolean
productionBranch:
type: string
required:
- projectId
- projectName
- projectNameWithNamespace
- projectNamespace
- projectUrl
- type
- gitCredentialId
- productionBranch
- deployHooks
type: object
- properties:
name:
type: string
slug:
type: string
owner:
type: string
type:
type: string
enum:
- bitbucket
uuid:
type: string
workspaceUuid:
type: string
createdAt:
type: number
deployHooks:
items:
properties:
createdAt:
type: number
id:
type: string
name:
type: string
ref:
type: string
url:
type: string
required:
- id
- name
- ref
- url
type: object
type: array
gitCredentialId:
type: string
updatedAt:
type: number
sourceless:
type: boolean
productionBranch:
type: string
required:
- name
- slug
- owner
- type
- uuid
- workspaceUuid
- gitCredentialId
- productionBranch
- deployHooks
type: object
microfrontends:
allOf:
- oneOf:
- properties:
isDefaultApp:
type: boolean
updatedAt:
type: number
description: >-
Timestamp when the microfrontends settings were
last updated.
groupIds:
items:
oneOf:
- type: string
- type: string
maxItems: 2
minItems: 2
type: array
description: >-
The group IDs of microfrontends that this project
belongs to. Each microfrontend project must belong
to a microfrontends group that is the set of
microfrontends that are used together.
enabled:
type: boolean
description: >-
Whether microfrontends are enabled for this
project.
defaultRoute:
type: string
description: >-
A path that is used to take screenshots and as the
default path in preview links when a domain for
this microfrontend is shown in the UI. Includes
the leading slash, e.g. `/docs`
required:
- isDefaultApp
- updatedAt
- groupIds
- enabled
type: object
- properties:
isDefaultApp:
type: boolean
routeObservabilityToThisProject:
type: boolean
description: >-
Whether observability data should be routed to
this microfrontend project or a root project.
doNotRouteWithMicrofrontendsRouting:
type: boolean
description: >-
Whether to add microfrontends routing to aliases.
This means domains in this project will route as a
microfrontend.
updatedAt:
type: number
description: >-
Timestamp when the microfrontends settings were
last updated.
groupIds:
items:
oneOf:
- type: string
- type: string
maxItems: 2
minItems: 2
type: array
description: >-
The group IDs of microfrontends that this project
belongs to. Each microfrontend project must belong
to a microfrontends group that is the set of
microfrontends that are used together.
enabled:
type: boolean
description: >-
Whether microfrontends are enabled for this
project.
defaultRoute:
type: string
description: >-
A path that is used to take screenshots and as the
default path in preview links when a domain for
this microfrontend is shown in the UI. Includes
the leading slash, e.g. `/docs`
required:
- updatedAt
- groupIds
- enabled
type: object
- properties:
updatedAt:
type: number
groupIds:
items:
oneOf: []
maxItems: 0
minItems: 0
type: array
enabled:
type: boolean
required:
- updatedAt
- groupIds
- enabled
type: object
name:
allOf:
- type: string
nodeVersion:
allOf:
- type: string
enum:
- 22.x
- 20.x
- 18.x
- 16.x
- 14.x
- 12.x
- 10.x
- 8.10.x
optionsAllowlist:
allOf:
- nullable: true
properties:
paths:
items:
properties:
value:
type: string
required:
- value
type: object
type: array
required:
- paths
type: object
outputDirectory:
allOf:
- nullable: true
type: string
passwordProtection:
allOf:
- nullable: true
type: object
productionDeploymentsFastLane:
allOf:
- type: boolean
publicSource:
allOf:
- nullable: true
type: boolean
resourceConfig:
allOf:
- properties:
fluid:
type: boolean
functionDefaultRegions:
items:
type: string
type: array
functionDefaultTimeout:
type: number
functionDefaultMemoryType:
type: string
enum:
- standard_legacy
- standard
- performance
functionZeroConfigFailover:
type: boolean
elasticConcurrencyEnabled:
type: boolean
buildMachineType:
type: string
enum:
- enhanced
- turbo
isNSNBDisabled:
type: boolean
type: object
required:
- functionDefaultRegions
rollbackDescription:
allOf:
- properties:
userId:
type: string
description: The user who rolled back the project.
username:
type: string
description: The username of the user who rolled back the project.
description:
type: string
description: >-
User-supplied explanation of why they rolled back the
project. Limited to 250 characters.
createdAt:
type: number
description: Timestamp of when the rollback was requested.
required:
- userId
- username
- description
- createdAt
type: object
description: >-
Description of why a project was rolled back, and by whom.
Note that lastAliasRequest contains the from/to details of
the rollback.
rollingRelease:
allOf:
- nullable: true
properties:
target:
type: string
description: >-
The environment that the release targets, currently
only supports production. Adding in case we want to
configure with alias groups or custom environments.
example: production
stages:
nullable: true
items:
properties:
targetPercentage:
type: number
description: >-
The percentage of traffic to serve to the canary
deployment (0-100)
example: 25
requireApproval:
type: boolean
description: >-
Whether or not this stage requires manual
approval to proceed
example: false
duration:
type: number
description: >-
Duration in minutes for automatic advancement to
the next stage
example: 600
linearShift:
type: boolean
description: >-
Whether to linearly shift traffic over the
duration of this stage
example: false
required:
- targetPercentage
type: object
description: >-
An array of all the stages required during a
deployment release. Each stage defines a target
percentage and advancement rules. The final stage
must always have targetPercentage: 100.
type: array
description: >-
An array of all the stages required during a
deployment release. Each stage defines a target
percentage and advancement rules. The final stage must
always have targetPercentage: 100.
canaryResponseHeader:
type: boolean
description: >-
Whether the request served by a canary deployment
should return a header indicating a canary was served.
Defaults to `false` when omitted.
example: false
required:
- target
type: object
description: >-
Project-level rolling release configuration that defines
how deployments should be gradually rolled out
defaultResourceConfig:
allOf:
- properties:
fluid:
type: boolean
functionDefaultRegions:
items:
type: string
type: array
functionDefaultTimeout:
type: number
functionDefaultMemoryType:
type: string
enum:
- standard_legacy
- standard
- performance
functionZeroConfigFailover:
type: boolean
elasticConcurrencyEnabled:
type: boolean
buildMachineType:
type: string
enum:
- enhanced
- turbo
isNSNBDisabled:
type: boolean
type: object
required:
- functionDefaultRegions
rootDirectory:
allOf:
- nullable: true
type: string
serverlessFunctionZeroConfigFailover:
allOf:
- type: boolean
skewProtectionBoundaryAt:
allOf:
- type: number
skewProtectionMaxAge:
allOf:
- type: number
skipGitConnectDuringLink:
allOf:
- type: boolean
sourceFilesOutsideRootDirectory:
allOf:
- type: boolean
enableAffectedProjectsDeployments:
allOf:
- type: boolean
ssoProtection:
allOf:
- nullable: true
properties:
deploymentType:
type: string
enum:
- preview
- all
- prod_deployment_urls_and_all_previews
- all_except_custom_domains
required:
- deploymentType
type: object
targets:
allOf:
- additionalProperties:
nullable: true
properties:
id:
type: string
alias:
items:
type: string
type: array
aliasAssigned:
nullable: true
oneOf:
- type: number
- type: boolean
aliasError:
nullable: true
properties:
code:
type: string
message:
type: string
required:
- code
- message
type: object
aliasFinal:
nullable: true
type: string
automaticAliases:
items:
type: string
type: array
branchMatcher:
properties:
type:
type: string
enum:
- endsWith
- startsWith
- equals
description: The type of matching to perform
pattern:
type: string
description: The pattern to match against branch names
required:
- type
- pattern
type: object
buildingAt:
type: number
builds:
items:
properties:
use:
type: string
src:
type: string
dest:
type: string
required:
- use
type: object
type: array
checksConclusion:
type: string
enum:
- succeeded
- failed
- skipped
- canceled
checksState:
type: string
enum:
- registered
- running
- completed
connectBuildsEnabled:
type: boolean
connectConfigurationId:
type: string
createdAt:
type: number
createdIn:
type: string
creator:
nullable: true
properties:
email:
type: string
githubLogin:
type: string
gitlabLogin:
type: string
uid:
type: string
username:
type: string
required:
- email
- uid
- username
type: object
deletedAt:
type: number
deploymentHostname:
type: string
forced:
type: boolean
name:
type: string
meta:
additionalProperties:
type: string
type: object
monorepoManager:
nullable: true
type: string
oidcTokenClaims:
properties:
iss:
type: string
sub:
type: string
scope:
type: string
aud:
type: string
owner:
type: string
owner_id:
type: string
project:
type: string
project_id:
type: string
environment:
type: string
required:
- iss
- sub
- scope
- aud
- owner
- owner_id
- project
- project_id
- environment
type: object
plan:
type: string
enum:
- pro
- enterprise
- hobby
previewCommentsEnabled:
type: boolean
description: >-
Whether or not preview comments are enabled for the
deployment
example: false
private:
type: boolean
readyAt:
type: number
readyState:
type: string
enum:
- BUILDING
- ERROR
- INITIALIZING
- QUEUED
- READY
- CANCELED
readySubstate:
type: string
enum:
- STAGED
- ROLLING
- PROMOTED
requestedAt:
type: number
target:
nullable: true
type: string
teamId:
nullable: true
type: string
type:
type: string
enum:
- LAMBDAS
url:
type: string
userId:
type: string
withCache:
type: boolean
required:
- id
- createdAt
- createdIn
- creator
- deploymentHostname
- name
- plan
- private
- readyState
- type
- url
- userId
type: object
type: object
transferCompletedAt:
allOf:
- type: number
transferStartedAt:
allOf:
- type: number
transferToAccountId:
allOf:
- type: string
transferredFromAccountId:
allOf:
- type: string
updatedAt:
allOf:
- type: number
live:
allOf:
- type: boolean
enablePreviewFeedback:
allOf:
- nullable: true
type: boolean
enableProductionFeedback:
allOf:
- nullable: true
type: boolean
permissions:
allOf:
- properties:
oauth2Connection:
items:
$ref: '#/components/schemas/ACLAction'
type: array
user:
items:
$ref: '#/components/schemas/ACLAction'
type: array
userConnection:
items:
$ref: '#/components/schemas/ACLAction'
type: array
userSudo:
items:
$ref: '#/components/schemas/ACLAction'
type: array
webAuthn:
items:
$ref: '#/components/schemas/ACLAction'
type: array
accessGroup:
items:
$ref: '#/components/schemas/ACLAction'
type: array
agent:
items:
$ref: '#/components/schemas/ACLAction'
type: array
alerts:
items:
$ref: '#/components/schemas/ACLAction'
type: array
aliasGlobal:
items:
$ref: '#/components/schemas/ACLAction'
type: array
analyticsSampling:
items:
$ref: '#/components/schemas/ACLAction'
type: array
analyticsUsage:
items:
$ref: '#/components/schemas/ACLAction'
type: array
apiKey:
items:
$ref: '#/components/schemas/ACLAction'
type: array
apiKeyAiGateway:
items:
$ref: '#/components/schemas/ACLAction'
type: array
apiKeyOwnedBySelf:
items:
$ref: '#/components/schemas/ACLAction'
type: array
oauth2Application:
items:
$ref: '#/components/schemas/ACLAction'
type: array
vercelAppInstallation:
items:
$ref: '#/components/schemas/ACLAction'
type: array
vercelAppInstallationRequest:
items:
$ref: '#/components/schemas/ACLAction'
type: array
auditLog:
items:
$ref: '#/components/schemas/ACLAction'
type: array
billingAddress:
items:
$ref: '#/components/schemas/ACLAction'
type: array
billingInformation:
items:
$ref: '#/components/schemas/ACLAction'
type: array
billingInvoice:
items:
$ref: '#/components/schemas/ACLAction'
type: array
billingInvoiceEmailRecipient:
items:
$ref: '#/components/schemas/ACLAction'
type: array
billingInvoiceLanguage:
items:
$ref: '#/components/schemas/ACLAction'
type: array
billingPlan:
items:
$ref: '#/components/schemas/ACLAction'
type: array
billingPurchaseOrder:
items:
$ref: '#/components/schemas/ACLAction'
type: array
billingRefund:
items:
$ref: '#/components/schemas/ACLAction'
type: array
billingTaxId:
items:
$ref: '#/components/schemas/ACLAction'
type: array
blob:
items:
$ref: '#/components/schemas/ACLAction'
type: array
blobStoreTokenSet:
items:
$ref: '#/components/schemas/ACLAction'
type: array
budget:
items:
$ref: '#/components/schemas/ACLAction'
type: array
cacheArtifact:
items:
$ref: '#/components/schemas/ACLAction'
type: array
cacheArtifactUsageEvent:
items:
$ref: '#/components/schemas/ACLAction'
type: array
codeChecks:
items:
$ref: '#/components/schemas/ACLAction'
type: array
concurrentBuilds:
items:
$ref: '#/components/schemas/ACLAction'
type: array
connect:
items:
$ref: '#/components/schemas/ACLAction'
type: array
connectConfiguration:
items:
$ref: '#/components/schemas/ACLAction'
type: array
dataCacheBillingSettings:
items:
$ref: '#/components/schemas/ACLAction'
type: array
defaultDeploymentProtection:
items:
$ref: '#/components/schemas/ACLAction'
type: array
domain:
items:
$ref: '#/components/schemas/ACLAction'
type: array
domainAcceptDelegation:
items:
$ref: '#/components/schemas/ACLAction'
type: array
domainAuthCodes:
items:
$ref: '#/components/schemas/ACLAction'
type: array
domainCertificate:
items:
$ref: '#/components/schemas/ACLAction'
type: array
domainCheckConfig:
items:
$ref: '#/components/schemas/ACLAction'
type: array
domainMove:
items:
$ref: '#/components/schemas/ACLAction'
type: array
domainPurchase:
items:
$ref: '#/components/schemas/ACLAction'
type: array
domainRecord:
items:
$ref: '#/components/schemas/ACLAction'
type: array
domainTransferIn:
items:
$ref: '#/components/schemas/ACLAction'
type: array
drain:
items:
$ref: '#/components/schemas/ACLAction'
type: array
edgeConfig:
items:
$ref: '#/components/schemas/ACLAction'
type: array
edgeConfigItem:
items:
$ref: '#/components/schemas/ACLAction'
type: array
edgeConfigSchema:
items:
$ref: '#/components/schemas/ACLAction'
type: array
edgeConfigToken:
items:
$ref: '#/components/schemas/ACLAction'
type: array
endpointVerification:
items:
$ref: '#/components/schemas/ACLAction'
type: array
event:
items:
$ref: '#/components/schemas/ACLAction'
type: array
fileUpload:
items:
$ref: '#/components/schemas/ACLAction'
type: array
flagsExplorerSubscription:
items:
$ref: '#/components/schemas/ACLAction'
type: array
gitRepository:
items:
$ref: '#/components/schemas/ACLAction'
type: array
imageOptimizationNewPrice:
items:
$ref: '#/components/schemas/ACLAction'
type: array
integration:
items:
$ref: '#/components/schemas/ACLAction'
type: array
integrationAccount:
items:
$ref: '#/components/schemas/ACLAction'
type: array
integrationConfiguration:
items:
$ref: '#/components/schemas/ACLAction'
type: array
integrationConfigurationProjects:
items:
$ref: '#/components/schemas/ACLAction'
type: array
integrationConfigurationRole:
items:
$ref: '#/components/schemas/ACLAction'
type: array
integrationConfigurationTransfer:
items:
$ref: '#/components/schemas/ACLAction'
type: array
integrationDeploymentAction:
items:
$ref: '#/components/schemas/ACLAction'
type: array
integrationEvent:
items:
$ref: '#/components/schemas/ACLAction'
type: array
integrationLog:
items:
$ref: '#/components/schemas/ACLAction'
type: array
integrationResource:
items:
$ref: '#/components/schemas/ACLAction'
type: array
integrationResourceReplCommand:
items:
$ref: '#/components/schemas/ACLAction'
type: array
integrationResourceSecrets:
items:
$ref: '#/components/schemas/ACLAction'
type: array
integrationSSOSession:
items:
$ref: '#/components/schemas/ACLAction'
type: array
integrationStoreTokenSet:
items:
$ref: '#/components/schemas/ACLAction'
type: array
integrationVercelConfigurationOverride:
items:
$ref: '#/components/schemas/ACLAction'
type: array
integrationPullRequest:
items:
$ref: '#/components/schemas/ACLAction'
type: array
ipBlocking:
items:
$ref: '#/components/schemas/ACLAction'
type: array
jobGlobal:
items:
$ref: '#/components/schemas/ACLAction'
type: array
logDrain:
items:
$ref: '#/components/schemas/ACLAction'
type: array
marketplaceBillingData:
items:
$ref: '#/components/schemas/ACLAction'
type: array
marketplaceExperimentationEdgeConfigData:
items:
$ref: '#/components/schemas/ACLAction'
type: array
marketplaceExperimentationItem:
items:
$ref: '#/components/schemas/ACLAction'
type: array
marketplaceInstallationMember:
items:
$ref: '#/components/schemas/ACLAction'
type: array
marketplaceInvoice:
items:
$ref: '#/components/schemas/ACLAction'
type: array
marketplaceSettings:
items:
$ref: '#/components/schemas/ACLAction'
type: array
Monitoring:
items:
$ref: '#/components/schemas/ACLAction'
type: array
monitoringAlert:
items:
$ref: '#/components/schemas/ACLAction'
type: array
monitoringChart:
items:
$ref: '#/components/schemas/ACLAction'
type: array
monitoringQuery:
items:
$ref: '#/components/schemas/ACLAction'
type: array
monitoringSettings:
items:
$ref: '#/components/schemas/ACLAction'
type: array
notificationCustomerBudget:
items:
$ref: '#/components/schemas/ACLAction'
type: array
notificationDeploymentFailed:
items:
$ref: '#/components/schemas/ACLAction'
type: array
notificationDomainConfiguration:
items:
$ref: '#/components/schemas/ACLAction'
type: array
notificationDomainExpire:
items:
$ref: '#/components/schemas/ACLAction'
type: array
notificationDomainMoved:
items:
$ref: '#/components/schemas/ACLAction'
type: array
notificationDomainPurchase:
items:
$ref: '#/components/schemas/ACLAction'
type: array
notificationDomainRenewal:
items:
$ref: '#/components/schemas/ACLAction'
type: array
notificationDomainTransfer:
items:
$ref: '#/components/schemas/ACLAction'
type: array
notificationDomainUnverified:
items:
$ref: '#/components/schemas/ACLAction'
type: array
NotificationMonitoringAlert:
items:
$ref: '#/components/schemas/ACLAction'
type: array
notificationPaymentFailed:
items:
$ref: '#/components/schemas/ACLAction'
type: array
notificationPreferences:
items:
$ref: '#/components/schemas/ACLAction'
type: array
notificationStatementOfReasons:
items:
$ref: '#/components/schemas/ACLAction'
type: array
notificationUsageAlert:
items:
$ref: '#/components/schemas/ACLAction'
type: array
observabilityConfiguration:
items:
$ref: '#/components/schemas/ACLAction'
type: array
observabilityFunnel:
items:
$ref: '#/components/schemas/ACLAction'
type: array
observabilityNotebook:
items:
$ref: '#/components/schemas/ACLAction'
type: array
openTelemetryEndpoint:
items:
$ref: '#/components/schemas/ACLAction'
type: array
ownEvent:
items:
$ref: '#/components/schemas/ACLAction'
type: array
passwordProtectionInvoiceItem:
items:
$ref: '#/components/schemas/ACLAction'
type: array
paymentMethod:
items:
$ref: '#/components/schemas/ACLAction'
type: array
permissions:
items:
$ref: '#/components/schemas/ACLAction'
type: array
postgres:
items:
$ref: '#/components/schemas/ACLAction'
type: array
postgresStoreTokenSet:
items:
$ref: '#/components/schemas/ACLAction'
type: array
previewDeploymentSuffix:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectTransferIn:
items:
$ref: '#/components/schemas/ACLAction'
type: array
proTrialOnboarding:
items:
$ref: '#/components/schemas/ACLAction'
type: array
rateLimit:
items:
$ref: '#/components/schemas/ACLAction'
type: array
redis:
items:
$ref: '#/components/schemas/ACLAction'
type: array
redisStoreTokenSet:
items:
$ref: '#/components/schemas/ACLAction'
type: array
remoteCaching:
items:
$ref: '#/components/schemas/ACLAction'
type: array
repository:
items:
$ref: '#/components/schemas/ACLAction'
type: array
samlConfig:
items:
$ref: '#/components/schemas/ACLAction'
type: array
secret:
items:
$ref: '#/components/schemas/ACLAction'
type: array
sensitiveEnvironmentVariablePolicy:
items:
$ref: '#/components/schemas/ACLAction'
type: array
sharedEnvVars:
items:
$ref: '#/components/schemas/ACLAction'
type: array
sharedEnvVarsProduction:
items:
$ref: '#/components/schemas/ACLAction'
type: array
space:
items:
$ref: '#/components/schemas/ACLAction'
type: array
spaceRun:
items:
$ref: '#/components/schemas/ACLAction'
type: array
storeTransfer:
items:
$ref: '#/components/schemas/ACLAction'
type: array
supportCase:
items:
$ref: '#/components/schemas/ACLAction'
type: array
supportCaseComment:
items:
$ref: '#/components/schemas/ACLAction'
type: array
team:
items:
$ref: '#/components/schemas/ACLAction'
type: array
teamAccessRequest:
items:
$ref: '#/components/schemas/ACLAction'
type: array
teamFellowMembership:
items:
$ref: '#/components/schemas/ACLAction'
type: array
teamGitExclusivity:
items:
$ref: '#/components/schemas/ACLAction'
type: array
teamInvite:
items:
$ref: '#/components/schemas/ACLAction'
type: array
teamInviteCode:
items:
$ref: '#/components/schemas/ACLAction'
type: array
teamJoin:
items:
$ref: '#/components/schemas/ACLAction'
type: array
teamMemberMfaStatus:
items:
$ref: '#/components/schemas/ACLAction'
type: array
teamMicrofrontends:
items:
$ref: '#/components/schemas/ACLAction'
type: array
teamOwnMembership:
items:
$ref: '#/components/schemas/ACLAction'
type: array
teamOwnMembershipDisconnectSAML:
items:
$ref: '#/components/schemas/ACLAction'
type: array
token:
items:
$ref: '#/components/schemas/ACLAction'
type: array
usage:
items:
$ref: '#/components/schemas/ACLAction'
type: array
usageCycle:
items:
$ref: '#/components/schemas/ACLAction'
type: array
vercelRun:
items:
$ref: '#/components/schemas/ACLAction'
type: array
vercelRunExec:
items:
$ref: '#/components/schemas/ACLAction'
type: array
vpcPeeringConnection:
items:
$ref: '#/components/schemas/ACLAction'
type: array
webAnalyticsPlan:
items:
$ref: '#/components/schemas/ACLAction'
type: array
webhook:
items:
$ref: '#/components/schemas/ACLAction'
type: array
webhook-event:
items:
$ref: '#/components/schemas/ACLAction'
type: array
aliasProject:
items:
$ref: '#/components/schemas/ACLAction'
type: array
aliasProtectionBypass:
items:
$ref: '#/components/schemas/ACLAction'
type: array
buildMachine:
items:
$ref: '#/components/schemas/ACLAction'
type: array
connectConfigurationLink:
items:
$ref: '#/components/schemas/ACLAction'
type: array
dataCacheNamespace:
items:
$ref: '#/components/schemas/ACLAction'
type: array
deployment:
items:
$ref: '#/components/schemas/ACLAction'
type: array
deploymentBuildLogs:
items:
$ref: '#/components/schemas/ACLAction'
type: array
deploymentCheck:
items:
$ref: '#/components/schemas/ACLAction'
type: array
deploymentCheckPreview:
items:
$ref: '#/components/schemas/ACLAction'
type: array
deploymentCheckReRunFromProductionBranch:
items:
$ref: '#/components/schemas/ACLAction'
type: array
deploymentProductionGit:
items:
$ref: '#/components/schemas/ACLAction'
type: array
deploymentV0:
items:
$ref: '#/components/schemas/ACLAction'
type: array
deploymentPreview:
items:
$ref: '#/components/schemas/ACLAction'
type: array
deploymentPrivate:
items:
$ref: '#/components/schemas/ACLAction'
type: array
deploymentPromote:
items:
$ref: '#/components/schemas/ACLAction'
type: array
deploymentRollback:
items:
$ref: '#/components/schemas/ACLAction'
type: array
edgeCacheNamespace:
items:
$ref: '#/components/schemas/ACLAction'
type: array
environments:
items:
$ref: '#/components/schemas/ACLAction'
type: array
job:
items:
$ref: '#/components/schemas/ACLAction'
type: array
logs:
items:
$ref: '#/components/schemas/ACLAction'
type: array
logsPreset:
items:
$ref: '#/components/schemas/ACLAction'
type: array
observabilityData:
items:
$ref: '#/components/schemas/ACLAction'
type: array
onDemandBuild:
items:
$ref: '#/components/schemas/ACLAction'
type: array
onDemandConcurrency:
items:
$ref: '#/components/schemas/ACLAction'
type: array
optionsAllowlist:
items:
$ref: '#/components/schemas/ACLAction'
type: array
passwordProtection:
items:
$ref: '#/components/schemas/ACLAction'
type: array
productionAliasProtectionBypass:
items:
$ref: '#/components/schemas/ACLAction'
type: array
project:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectAccessGroup:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectAnalyticsSampling:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectAnalyticsUsage:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectCheck:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectCheckRun:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectDeploymentExpiration:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectDeploymentHook:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectDomain:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectDomainCheckConfig:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectDomainMove:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectEnvVars:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectEnvVarsProduction:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectEnvVarsUnownedByIntegration:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectFlags:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectFromV0:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectId:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectIntegrationConfiguration:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectLink:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectMember:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectMonitoring:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectOIDCToken:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectPermissions:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectProductionBranch:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectProtectionBypass:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectRollingRelease:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectSupportCase:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectSupportCaseComment:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectTier:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectTransfer:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectTransferOut:
items:
$ref: '#/components/schemas/ACLAction'
type: array
projectUsage:
items:
$ref: '#/components/schemas/ACLAction'
type: array
seawallConfig:
items:
$ref: '#/components/schemas/ACLAction'
type: array
sharedEnvVarConnection:
items:
$ref: '#/components/schemas/ACLAction'
type: array
skewProtection:
items:
$ref: '#/components/schemas/ACLAction'
type: array
analytics:
items:
$ref: '#/components/schemas/ACLAction'
type: array
trustedIps:
items:
$ref: '#/components/schemas/ACLAction'
type: array
v0Chat:
items:
$ref: '#/components/schemas/ACLAction'
type: array
webAnalytics:
items:
$ref: '#/components/schemas/ACLAction'
type: array
type: object
lastRollbackTarget:
allOf:
- nullable: true
type: object
lastAliasRequest:
allOf:
- nullable: true
properties:
fromDeploymentId:
type: string
toDeploymentId:
type: string
fromRollingReleaseId:
type: string
description: >-
If rolling back from a rolling release,
fromDeploymentId captures the "base" of that rolling
release, and fromRollingReleaseId captures the
"target" of that rolling release.
jobStatus:
type: string
enum:
- succeeded
- failed
- skipped
- pending
- in-progress
requestedAt:
type: number
type:
type: string
enum:
- promote
- rollback
required:
- fromDeploymentId
- toDeploymentId
- jobStatus
- requestedAt
- type
type: object
protectionBypass:
allOf:
- additionalProperties:
oneOf:
- properties:
createdAt:
type: number
createdBy:
type: string
scope:
type: string
enum:
- integration-automation-bypass
integrationId:
type: string
configurationId:
type: string
required:
- createdAt
- createdBy
- scope
- integrationId
- configurationId
type: object
- properties:
createdAt:
type: number
createdBy:
type: string
scope:
type: string
enum:
- automation-bypass
required:
- createdAt
- createdBy
- scope
type: object
type: object
hasActiveBranches:
allOf:
- type: boolean
trustedIps:
allOf:
- nullable: true
oneOf:
- properties:
deploymentType:
type: string
enum:
- preview
- production
- all
- prod_deployment_urls_and_all_previews
- all_except_custom_domains
addresses:
items:
properties:
value:
type: string
note:
type: string
required:
- value
type: object
type: array
protectionMode:
type: string
enum:
- additional
- exclusive
required:
- deploymentType
- addresses
- protectionMode
type: object
- properties:
deploymentType:
type: string
enum:
- preview
- production
- all
- prod_deployment_urls_and_all_previews
- all_except_custom_domains
required:
- deploymentType
type: object
gitComments:
allOf:
- properties:
onPullRequest:
type: boolean
description: Whether the Vercel bot should comment on PRs
onCommit:
type: boolean
description: Whether the Vercel bot should comment on commits
required:
- onPullRequest
- onCommit
type: object
gitProviderOptions:
allOf:
- properties:
createDeployments:
type: string
enum:
- enabled
- disabled
description: >-
Whether the Vercel bot should automatically create
GitHub deployments
https://docs.github.com/en/rest/deployments/deployments#about-deployments
NOTE: repository-dispatch events should be used
instead
disableRepositoryDispatchEvents:
type: boolean
description: >-
Whether the Vercel bot should not automatically create
GitHub repository-dispatch events on deployment
events.
https://vercel.com/docs/git/vercel-for-github#repository-dispatch-events
requireVerifiedCommits:
type: boolean
description: >-
Whether the project requires commits to be signed
before deployments will be created.
required:
- createDeployments
type: object
paused:
allOf:
- type: boolean
concurrencyBucketName:
allOf:
- type: string
webAnalytics:
allOf:
- properties:
id:
type: string
disabledAt:
type: number
canceledAt:
type: number
enabledAt:
type: number
hasData:
type: boolean
required:
- id
type: object
security:
allOf:
- properties:
attackModeEnabled:
type: boolean
attackModeUpdatedAt:
type: number
firewallEnabled:
type: boolean
firewallUpdatedAt:
type: number
attackModeActiveUntil:
nullable: true
type: number
firewallConfigVersion:
type: number
firewallSeawallEnabled:
type: boolean
ja3Enabled:
type: boolean
ja4Enabled:
type: boolean
firewallBypassIps:
items:
type: string
type: array
managedRules:
nullable: true
properties:
bot_filter:
properties:
active:
type: boolean
action:
type: string
enum:
- log
- challenge
- deny
required:
- active
type: object
ai_bots:
properties:
active:
type: boolean
action:
type: string
enum:
- log
- challenge
- deny
required:
- active
type: object
owasp:
properties:
active:
type: boolean
action:
type: string
enum:
- log
- challenge
- deny
required:
- active
type: object
required:
- bot_filter
- ai_bots
- owasp
type: object
botIdEnabled:
type: boolean
type: object
oidcTokenConfig:
allOf:
- properties:
enabled:
type: boolean
description: >-
Whether or not to generate OpenID Connect JSON Web
Tokens.
issuerMode:
type: string
enum:
- team
- global
description: >-
- team: `https://oidc.vercel.com/[team_slug]` -
global: `https://oidc.vercel.com`
type: object
tier:
allOf:
- type: string
enum:
- standard
- advanced
- critical
features:
allOf:
- properties:
webAnalytics:
type: boolean
type: object
v0:
allOf:
- type: boolean
abuse:
allOf:
- properties:
scanner:
type: string
history:
items:
properties:
scanner:
type: string
reason:
type: string
by:
type: string
byId:
type: string
at:
type: number
required:
- scanner
- reason
- by
- byId
- at
type: object
type: array
updatedAt:
type: number
block:
properties:
action:
type: string
enum:
- blocked
reason:
type: string
statusCode:
type: number
createdAt:
type: number
caseId:
type: string
actor:
type: string
comment:
type: string
isCascading:
type: boolean
required:
- action
- reason
- statusCode
- createdAt
type: object
blockHistory:
items:
oneOf:
- properties:
action:
type: string
enum:
- blocked
reason:
type: string
statusCode:
type: number
createdAt:
type: number
caseId:
type: string
actor:
type: string
comment:
type: string
isCascading:
type: boolean
required:
- action
- reason
- statusCode
- createdAt
type: object
- properties:
action:
type: string
enum:
- unblocked
createdAt:
type: number
caseId:
type: string
actor:
type: string
comment:
type: string
isCascading:
type: boolean
required:
- action
- createdAt
type: object
- properties:
action:
type: string
enum:
- route-blocked
route:
oneOf:
- properties:
src:
type: string
status:
type: number
required:
- src
- status
type: object
- properties:
has:
items:
oneOf:
- properties:
type:
type: string
enum:
- header
key:
type: string
enum:
- x-vercel-ip-country
value:
properties:
eq:
type: string
required:
- eq
type: object
required:
- type
- key
- value
type: object
- properties:
type:
type: string
enum:
- host
value:
properties:
eq:
type: string
required:
- eq
type: object
required:
- type
- value
type: object
type: array
mitigate:
properties:
action:
type: string
enum:
- block_legal_cwc
required:
- action
type: object
src:
type: string
required:
- has
- mitigate
type: object
reason:
type: string
createdAt:
type: number
caseId:
type: string
actor:
type: string
comment:
type: string
isCascading:
type: boolean
required:
- action
- route
- reason
- createdAt
type: object
- properties:
action:
type: string
enum:
- route-unblocked
route:
oneOf:
- properties:
src:
type: string
status:
type: number
required:
- src
- status
type: object
- properties:
has:
items:
oneOf:
- properties:
type:
type: string
enum:
- header
key:
type: string
enum:
- x-vercel-ip-country
value:
properties:
eq:
type: string
required:
- eq
type: object
required:
- type
- key
- value
type: object
- properties:
type:
type: string
enum:
- host
value:
properties:
eq:
type: string
required:
- eq
type: object
required:
- type
- value
type: object
type: array
mitigate:
properties:
action:
type: string
enum:
- block_legal_cwc
required:
- action
type: object
src:
type: string
required:
- has
- mitigate
type: object
statusCode:
type: number
createdAt:
type: number
caseId:
type: string
actor:
type: string
comment:
type: string
isCascading:
type: boolean
required:
- action
- route
- createdAt
type: object
type: array
interstitial:
type: boolean
interstitialHistory:
items:
properties:
action:
type: string
enum:
- add-interstitial
- remove-interstitial
createdAt:
type: number
caseId:
type: string
reason:
type: string
actor:
type: string
comment:
type: string
required:
- action
- createdAt
type: object
type: array
required:
- history
- updatedAt
type: object
internalRoutes:
allOf:
- items:
oneOf:
- properties:
src:
type: string
status:
type: number
required:
- src
- status
type: object
- properties:
has:
items:
oneOf:
- properties:
type:
type: string
enum:
- header
key:
type: string
enum:
- x-vercel-ip-country
value:
properties:
eq:
type: string
required:
- eq
type: object
required:
- type
- key
- value
type: object
- properties:
type:
type: string
enum:
- host
value:
properties:
eq:
type: string
required:
- eq
type: object
required:
- type
- value
type: object
type: array
mitigate:
properties:
action:
type: string
enum:
- block_legal_cwc
required:
- action
type: object
src:
type: string
required:
- has
- mitigate
type: object
type: array
requiredProperties:
- accountId
- directoryListing
- id
- name
- nodeVersion
- resourceConfig
- defaultResourceConfig
examples:
example:
value:
accountId:
analytics:
id:
canceledAt: 123
disabledAt: 123
enabledAt: 123
paidAt: 123
sampleRatePercent: 123
spendLimitInDollars: 123
speedInsights:
id:
enabledAt: 123
disabledAt: 123
canceledAt: 123
hasData: true
paidAt: 123
autoExposeSystemEnvs: true
autoAssignCustomDomains: true
autoAssignCustomDomainsUpdatedBy:
buildCommand:
commandForIgnoringBuildStep:
connectConfigurations:
- envId:
connectConfigurationId:
dc:
passive: true
buildsEnabled: true
aws:
subnetIds:
-
securityGroupId:
createdAt: 123
updatedAt: 123
connectConfigurationId:
connectBuildsEnabled: true
passiveConnectConfigurationId:
createdAt: 123
customerSupportCodeVisibility: true
crons:
enabledAt: 123
disabledAt: 123
updatedAt: 123
deploymentId:
definitions:
- host: vercel.com
path: /api/crons/sync-something?hello=world
schedule: 0 0 * * *
dataCache:
userDisabled: true
storageSizeBytes: 123
unlimited: true
deploymentExpiration:
expirationDays: 123
expirationDaysProduction: 123
expirationDaysCanceled: 123
expirationDaysErrored: 123
deploymentsToKeep: 123
devCommand:
directoryListing: true
installCommand:
env:
- target:
- production
type: secret
sunsetSecretId:
decrypted: true
value:
vsmValue:
id:
key:
configurationId:
createdAt: 123
updatedAt: 123
createdBy:
updatedBy:
gitBranch:
edgeConfigId:
edgeConfigTokenId:
contentHint:
type: redis-url
storeId:
internalContentHint:
type: flags-secret
encryptedValue:
comment:
customEnvironmentIds:
-
customEnvironments:
- id:
slug:
type: preview
description:
branchMatcher:
type: endsWith
pattern:
domains:
- name:
apexName:
projectId:
redirect:
redirectStatusCode: 307
gitBranch:
customEnvironmentId:
updatedAt: 123
createdAt: 123
verified: true
verification:
- type:
domain:
value:
reason:
currentDeploymentAliases:
-
createdAt: 123
updatedAt: 123
framework: blitzjs
gitForkProtection: true
gitLFS: true
id:
ipBuckets:
- bucket:
supportUntil: 123
latestDeployments:
- id:
alias:
-
aliasAssigned: 123
aliasError:
code:
message:
aliasFinal:
automaticAliases:
-
branchMatcher:
type: endsWith
pattern:
buildingAt: 123
builds:
- use:
src:
dest:
checksConclusion: succeeded
checksState: registered
connectBuildsEnabled: true
connectConfigurationId:
createdAt: 123
createdIn:
creator:
email:
githubLogin:
gitlabLogin:
uid:
username:
deletedAt: 123
deploymentHostname:
forced: true
name:
meta: {}
monorepoManager:
oidcTokenClaims:
iss:
sub:
scope:
aud:
owner:
owner_id:
project:
project_id:
environment:
plan: pro
previewCommentsEnabled: false
private: true
readyAt: 123
readyState: BUILDING
readySubstate: STAGED
requestedAt: 123
target:
teamId:
type: LAMBDAS
url:
userId:
withCache: true
link:
org:
repoOwnerId: 123
repo:
repoId: 123
type: github
createdAt: 123
deployHooks:
- createdAt: 123
id:
name:
ref:
url:
gitCredentialId:
updatedAt: 123
sourceless: true
productionBranch:
microfrontends:
isDefaultApp: true
updatedAt: 123
groupIds:
-
enabled: true
defaultRoute:
name:
nodeVersion: 22.x
optionsAllowlist:
paths:
- value:
outputDirectory:
passwordProtection: {}
productionDeploymentsFastLane: true
publicSource: true
resourceConfig:
fluid: true
functionDefaultRegions:
-
functionDefaultTimeout: 123
functionDefaultMemoryType: standard_legacy
functionZeroConfigFailover: true
elasticConcurrencyEnabled: true
buildMachineType: enhanced
isNSNBDisabled: true
rollbackDescription:
userId:
username:
description:
createdAt: 123
rollingRelease:
target: production
stages:
- targetPercentage: 25
requireApproval: false
duration: 600
linearShift: false
canaryResponseHeader: false
defaultResourceConfig:
fluid: true
functionDefaultRegions:
-
functionDefaultTimeout: 123
functionDefaultMemoryType: standard_legacy
functionZeroConfigFailover: true
elasticConcurrencyEnabled: true
buildMachineType: enhanced
isNSNBDisabled: true
rootDirectory:
serverlessFunctionZeroConfigFailover: true
skewProtectionBoundaryAt: 123
skewProtectionMaxAge: 123
skipGitConnectDuringLink: true
sourceFilesOutsideRootDirectory: true
enableAffectedProjectsDeployments: true
ssoProtection:
deploymentType: preview
targets: {}
transferCompletedAt: 123
transferStartedAt: 123
transferToAccountId:
transferredFromAccountId:
updatedAt: 123
live: true
enablePreviewFeedback: true
enableProductionFeedback: true
permissions:
oauth2Connection:
- create
user:
- create
userConnection:
- create
userSudo:
- create
webAuthn:
- create
accessGroup:
- create
agent:
- create
alerts:
- create
aliasGlobal:
- create
analyticsSampling:
- create
analyticsUsage:
- create
apiKey:
- create
apiKeyAiGateway:
- create
apiKeyOwnedBySelf:
- create
oauth2Application:
- create
vercelAppInstallation:
- create
vercelAppInstallationRequest:
- create
auditLog:
- create
billingAddress:
- create
billingInformation:
- create
billingInvoice:
- create
billingInvoiceEmailRecipient:
- create
billingInvoiceLanguage:
- create
billingPlan:
- create
billingPurchaseOrder:
- create
billingRefund:
- create
billingTaxId:
- create
blob:
- create
blobStoreTokenSet:
- create
budget:
- create
cacheArtifact:
- create
cacheArtifactUsageEvent:
- create
codeChecks:
- create
concurrentBuilds:
- create
connect:
- create
connectConfiguration:
- create
dataCacheBillingSettings:
- create
defaultDeploymentProtection:
- create
domain:
- create
domainAcceptDelegation:
- create
domainAuthCodes:
- create
domainCertificate:
- create
domainCheckConfig:
- create
domainMove:
- create
domainPurchase:
- create
domainRecord:
- create
domainTransferIn:
- create
drain:
- create
edgeConfig:
- create
edgeConfigItem:
- create
edgeConfigSchema:
- create
edgeConfigToken:
- create
endpointVerification:
- create
event:
- create
fileUpload:
- create
flagsExplorerSubscription:
- create
gitRepository:
- create
imageOptimizationNewPrice:
- create
integration:
- create
integrationAccount:
- create
integrationConfiguration:
- create
integrationConfigurationProjects:
- create
integrationConfigurationRole:
- create
integrationConfigurationTransfer:
- create
integrationDeploymentAction:
- create
integrationEvent:
- create
integrationLog:
- create
integrationResource:
- create
integrationResourceReplCommand:
- create
integrationResourceSecrets:
- create
integrationSSOSession:
- create
integrationStoreTokenSet:
- create
integrationVercelConfigurationOverride:
- create
integrationPullRequest:
- create
ipBlocking:
- create
jobGlobal:
- create
logDrain:
- create
marketplaceBillingData:
- create
marketplaceExperimentationEdgeConfigData:
- create
marketplaceExperimentationItem:
- create
marketplaceInstallationMember:
- create
marketplaceInvoice:
- create
marketplaceSettings:
- create
Monitoring:
- create
monitoringAlert:
- create
monitoringChart:
- create
monitoringQuery:
- create
monitoringSettings:
- create
notificationCustomerBudget:
- create
notificationDeploymentFailed:
- create
notificationDomainConfiguration:
- create
notificationDomainExpire:
- create
notificationDomainMoved:
- create
notificationDomainPurchase:
- create
notificationDomainRenewal:
- create
notificationDomainTransfer:
- create
notificationDomainUnverified:
- create
NotificationMonitoringAlert:
- create
notificationPaymentFailed:
- create
notificationPreferences:
- create
notificationStatementOfReasons:
- create
notificationUsageAlert:
- create
observabilityConfiguration:
- create
observabilityFunnel:
- create
observabilityNotebook:
- create
openTelemetryEndpoint:
- create
ownEvent:
- create
passwordProtectionInvoiceItem:
- create
paymentMethod:
- create
permissions:
- create
postgres:
- create
postgresStoreTokenSet:
- create
previewDeploymentSuffix:
- create
projectTransferIn:
- create
proTrialOnboarding:
- create
rateLimit:
- create
redis:
- create
redisStoreTokenSet:
- create
remoteCaching:
- create
repository:
- create
samlConfig:
- create
secret:
- create
sensitiveEnvironmentVariablePolicy:
- create
sharedEnvVars:
- create
sharedEnvVarsProduction:
- create
space:
- create
spaceRun:
- create
storeTransfer:
- create
supportCase:
- create
supportCaseComment:
- create
team:
- create
teamAccessRequest:
- create
teamFellowMembership:
- create
teamGitExclusivity:
- create
teamInvite:
- create
teamInviteCode:
- create
teamJoin:
- create
teamMemberMfaStatus:
- create
teamMicrofrontends:
- create
teamOwnMembership:
- create
teamOwnMembershipDisconnectSAML:
- create
token:
- create
usage:
- create
usageCycle:
- create
vercelRun:
- create
vercelRunExec:
- create
vpcPeeringConnection:
- create
webAnalyticsPlan:
- create
webhook:
- create
webhook-event:
- create
aliasProject:
- create
aliasProtectionBypass:
- create
buildMachine:
- create
connectConfigurationLink:
- create
dataCacheNamespace:
- create
deployment:
- create
deploymentBuildLogs:
- create
deploymentCheck:
- create
deploymentCheckPreview:
- create
deploymentCheckReRunFromProductionBranch:
- create
deploymentProductionGit:
- create
deploymentV0:
- create
deploymentPreview:
- create
deploymentPrivate:
- create
deploymentPromote:
- create
deploymentRollback:
- create
edgeCacheNamespace:
- create
environments:
- create
job:
- create
logs:
- create
logsPreset:
- create
observabilityData:
- create
onDemandBuild:
- create
onDemandConcurrency:
- create
optionsAllowlist:
- create
passwordProtection:
- create
productionAliasProtectionBypass:
- create
project:
- create
projectAccessGroup:
- create
projectAnalyticsSampling:
- create
projectAnalyticsUsage:
- create
projectCheck:
- create
projectCheckRun:
- create
projectDeploymentExpiration:
- create
projectDeploymentHook:
- create
projectDomain:
- create
projectDomainCheckConfig:
- create
projectDomainMove:
- create
projectEnvVars:
- create
projectEnvVarsProduction:
- create
projectEnvVarsUnownedByIntegration:
- create
projectFlags:
- create
projectFromV0:
- create
projectId:
- create
projectIntegrationConfiguration:
- create
projectLink:
- create
projectMember:
- create
projectMonitoring:
- create
projectOIDCToken:
- create
projectPermissions:
- create
projectProductionBranch:
- create
projectProtectionBypass:
- create
projectRollingRelease:
- create
projectSupportCase:
- create
projectSupportCaseComment:
- create
projectTier:
- create
projectTransfer:
- create
projectTransferOut:
- create
projectUsage:
- create
seawallConfig:
- create
sharedEnvVarConnection:
- create
skewProtection:
- create
analytics:
- create
trustedIps:
- create
v0Chat:
- create
webAnalytics:
- create
lastRollbackTarget: {}
lastAliasRequest:
fromDeploymentId:
toDeploymentId:
fromRollingReleaseId:
jobStatus: succeeded
requestedAt: 123
type: promote
protectionBypass: {}
hasActiveBranches: true
trustedIps:
deploymentType: preview
addresses:
- value:
note:
protectionMode: additional
gitComments:
onPullRequest: true
onCommit: true
gitProviderOptions:
createDeployments: enabled
disableRepositoryDispatchEvents: true
requireVerifiedCommits: true
paused: true
concurrencyBucketName:
webAnalytics:
id:
disabledAt: 123
canceledAt: 123
enabledAt: 123
hasData: true
security:
attackModeEnabled: true
attackModeUpdatedAt: 123
firewallEnabled: true
firewallUpdatedAt: 123
attackModeActiveUntil: 123
firewallConfigVersion: 123
firewallSeawallEnabled: true
ja3Enabled: true
ja4Enabled: true
firewallBypassIps:
-
managedRules:
bot_filter:
active: true
action: log
ai_bots:
active: true
action: log
owasp:
active: true
action: log
botIdEnabled: true
oidcTokenConfig:
enabled: true
issuerMode: team
tier: standard
features:
webAnalytics: true
v0: true
abuse:
scanner:
history:
- scanner:
reason:
by:
byId:
at: 123
updatedAt: 123
block:
action: blocked
reason:
statusCode: 123
createdAt: 123
caseId:
actor:
comment:
isCascading: true
blockHistory:
- action: blocked
reason:
statusCode: 123
createdAt: 123
caseId:
actor:
comment:
isCascading: true
interstitial: true
interstitialHistory:
- action: add-interstitial
createdAt: 123
caseId:
reason:
actor:
comment:
internalRoutes:
- src:
status: 123
description: ''
'400':
_mintlify/placeholder:
schemaArray:
- type: any
description: |-
One of the provided values in the request body is invalid.
One of the provided values in the request query is invalid.
examples: {}
description: |-
One of the provided values in the request body is invalid.
One of the provided values in the request query is invalid.
'401':
_mintlify/placeholder:
schemaArray:
- type: any
description: The request is not authorized.
examples: {}
description: The request is not authorized.
'403':
_mintlify/placeholder:
schemaArray:
- type: any
description: You do not have permission to access this resource.
examples: {}
description: You do not have permission to access this resource.
'404': {}
deprecated: false
type: path
components:
schemas:
ACLAction:
type: string
enum:
- create
- delete
- read
- update
- list
description: >-
Enum containing the actions that can be performed against a resource.
Group operations are included.
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/aliases/update-the-protection-bypass-for-a-url.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Update the protection bypass for a URL
> Update 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).
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples patch /aliases/{id}/protection-bypass
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/aliases/{id}/protection-bypass:
patch:
tags:
- aliases
summary: Update the protection bypass for a URL
description: >-
Update 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).
operationId: patchUrlProtectionBypass
parameters:
- name: id
description: The alias or deployment ID
in: path
required: true
schema:
type: string
description: The alias or deployment ID
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
requestBody:
content:
application/json:
schema:
oneOf:
- type: object
properties:
ttl:
description: >-
Optional time the shareable link is valid for in
seconds. If not provided, the shareable link will never
expire.
type: number
maximum: 63072000
revoke:
description: >-
Optional instructions for revoking and regenerating a
shareable link
type: object
properties:
secret:
description: Sharebale link to revoked
type: string
regenerate:
description: >-
Whether or not a new shareable link should be
created after the provided secret is revoked
type: boolean
required:
- secret
- regenerate
additionalProperties: false
- type: object
properties:
scope:
description: >-
Instructions for creating a user scoped protection
bypass
type: object
properties:
userId:
type: string
description: Specified user id for the scoped bypass.
email:
type: string
format: email
description: Specified email for the scoped bypass.
access:
enum:
- denied
- granted
description: Invitation status for the user scoped bypass.
allOf:
- anyOf:
- required:
- userId
- required:
- email
- required:
- access
required:
- scope
additionalProperties: false
- type: object
properties:
override:
type: object
properties:
scope:
enum:
- alias-protection-override
action:
enum:
- create
- revoke
required:
- scope
- action
required:
- override
additionalProperties: false
responses:
'200':
description: ''
content:
application/json:
schema:
additionalProperties: true
type: object
'400':
description: |-
One of the provided values in the request body is invalid.
One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
'409':
description: ''
'428':
description: ''
'500':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/rolling-release/update-the-rolling-release-settings-for-the-project.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Update the rolling release settings for the project
> Update (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.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples patch /v1/projects/{idOrName}/rolling-release/config
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/projects/{idOrName}/rolling-release/config:
patch:
tags:
- rolling-release
summary: Update the rolling release settings for the project
description: >-
Update (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.
operationId: updateRollingReleaseConfig
parameters:
- name: idOrName
description: Project ID or project name (URL-encoded)
in: path
required: true
schema:
description: Project ID or project name (URL-encoded)
type: string
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'200':
description: ''
content:
application/json:
schema:
oneOf:
- properties:
rollingRelease:
nullable: true
required:
- rollingRelease
type: object
- properties:
rollingRelease:
nullable: true
properties:
stages:
nullable: true
items:
properties:
targetPercentage:
type: number
description: >-
The percentage of traffic to serve to the
canary deployment (0-100)
example: 25
requireApproval:
type: boolean
enum:
- false
- true
description: >-
Whether or not this stage requires manual
approval to proceed
example: false
duration:
type: number
description: >-
Duration in minutes for automatic
advancement to the next stage
example: 600
linearShift:
type: boolean
enum:
- false
- true
description: >-
Whether to linearly shift traffic over the
duration of this stage
example: false
required:
- targetPercentage
type: object
description: >-
A stage object configured for a rolling release
once a new deployment is triggered the first
stage will be read in the proxy for first time
visitors, and if a RNG < targetPercentage then
it will serve the new deployment. Upon approval
the next stage will be read, etc.
type: array
type: object
required:
- rollingRelease
type: object
'400':
description: One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'404':
description: ''
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/environment/updates-one-or-more-shared-environment-variables.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Updates one or more shared environment variables
> Updates a given Shared Environment Variable for a Team.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples patch /v1/env
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/env:
patch:
tags:
- environment
summary: Updates one or more shared environment variables
description: Updates a given Shared Environment Variable for a Team.
operationId: updateSharedEnvVariable
parameters:
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
requestBody:
content:
application/json:
schema:
additionalProperties: false
type: object
required:
- updates
properties:
updates:
description: >-
An object where each key is an environment variable ID (not
the key name) and the value is the update to apply
type: object
example:
env_2WjyKQmM8ZnGcJsPWMrHRHrE:
key: API_URL
value: https://api.vercel.com
target:
- production
- preview
projectIdUpdates:
link:
- prj_2WjyKQmM8ZnGcJsPWMrHRHrE
additionalProperties:
type: object
additionalProperties: false
properties:
key:
description: The name of the Shared Environment Variable
type: string
example: API_URL
value:
description: The value of the Shared Environment Variable
type: string
example: https://api.vercel.com
target:
description: >-
The target environment of the Shared Environment
Variable
type: array
items:
enum:
- production
- preview
- development
example:
- production
- preview
projectId:
description: Associate a Shared Environment Variable to projects.
type: array
items:
type: string
example:
- prj_2WjyKQmM8ZnGcJsPWMrHRHrE
- prj_2WjyKQmM8ZnGcJsPWMrHRCRV
projectIdUpdates:
description: >-
Incrementally update project linking without
specifying the full list
type: object
additionalProperties: false
properties:
link:
description: Project IDs to add to this environment variable
type: array
items:
type: string
example:
- prj_2WjyKQmM8ZnGcJsPWMrHRHrE
unlink:
description: >-
Project IDs to remove from this environment
variable
type: array
items:
type: string
example:
- prj_2WjyKQmM8ZnGcJsPWMrHRCRV
type:
description: The new type of the Shared Environment Variable
type: string
enum:
- encrypted
- sensitive
example: encrypted
comment:
type: string
description: >-
A comment to add context on what this Shared
Environment Variable is for
example: database connection string for production
maxLength: 500
responses:
'200':
description: ''
content:
application/json:
schema:
properties:
updated:
items:
properties:
created:
type: string
format: date-time
description: The date when the Shared Env Var was created.
example: '2021-02-10T13:11:49.180Z'
key:
type: string
description: The name of the Shared Env Var.
example: my-api-key
ownerId:
nullable: true
type: string
description: >-
The unique identifier of the owner (team) the Shared
Env Var was created for.
example: team_LLHUOMOoDlqOp8wPE4kFo9pE
id:
type: string
description: The unique identifier of the Shared Env Var.
example: env_XCG7t7AIHuO2SBA8667zNUiM
createdBy:
nullable: true
type: string
description: >-
The unique identifier of the user who created the
Shared Env Var.
example: 2qDDuGFTWXBLDNnqZfWPDp1A
deletedBy:
nullable: true
type: string
description: >-
The unique identifier of the user who deleted the
Shared Env Var.
example: 2qDDuGFTWXBLDNnqZfWPDp1A
updatedBy:
nullable: true
type: string
description: >-
The unique identifier of the user who last updated
the Shared Env Var.
example: 2qDDuGFTWXBLDNnqZfWPDp1A
createdAt:
type: number
description: Timestamp for when the Shared Env Var was created.
example: 1609492210000
deletedAt:
type: number
description: >-
Timestamp for when the Shared Env Var was (soft)
deleted.
example: 1609492210000
updatedAt:
type: number
description: >-
Timestamp for when the Shared Env Var was last
updated.
example: 1609492210000
value:
type: string
description: The value of the Shared Env Var.
projectId:
items:
type: string
type: array
description: >-
The unique identifiers of the projects which the
Shared Env Var is linked to.
example:
- prj_2WjyKQmM8ZnGcJsPWMrHRHrE
- prj_2WjyKQmM8ZnGcJsPWMrasEFg
type:
type: string
enum:
- encrypted
- sensitive
- system
- plain
description: >-
The type of this cosmos doc instance, if blank,
assume secret.
example: encrypted
target:
items:
type: string
enum:
- production
- preview
- development
example: production
description: environments this env variable targets
type: array
description: environments this env variable targets
example: production
applyToAllCustomEnvironments:
type: boolean
enum:
- false
- true
description: >-
whether or not this env varible applies to custom
environments
decrypted:
type: boolean
enum:
- false
- true
description: whether or not this env variable is decrypted
comment:
type: string
description: >-
A user provided comment that describes what this
Shared Env Var is for.
lastEditedByDisplayName:
type: string
description: The last editor full name or username.
type: object
type: array
failed:
items:
properties:
error:
properties:
code:
type: string
message:
type: string
key:
type: string
envVarId:
type: string
envVarKey:
type: string
action:
type: string
link:
type: string
value:
oneOf:
- type: string
- items:
type: string
enum:
- production
- preview
- development
- preview
- development
type: array
gitBranch:
type: string
target:
oneOf:
- items:
type: string
enum:
- production
- preview
- development
- preview
- development
type: array
- type: string
enum:
- production
- preview
- development
- preview
- development
project:
type: string
required:
- code
- message
type: object
required:
- error
type: object
type: array
required:
- failed
- updated
type: object
'400':
description: One of the provided values in the request body is invalid.
'401':
description: The request is not authorized.
'402':
description: |-
The account was soft-blocked for an unhandled reason.
The account is missing a payment so payment method must be updated
'403':
description: You do not have permission to access this resource.
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/updates-the-description-for-a-rollback.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Updates the description for a rollback
> Updates the reason for a rollback, without changing the rollback status itself.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples patch /v1/projects/{projectId}/rollback/{deploymentId}/update-description
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/projects/{projectId}/rollback/{deploymentId}/update-description:
patch:
tags: []
summary: Updates the description for a rollback
description: >-
Updates the reason for a rollback, without changing the rollback status
itself.
parameters:
- name: projectId
in: path
required: true
schema:
type: string
- name: deploymentId
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
properties:
description:
type: string
description: The reason for the rollback
responses:
'200':
description: ''
'400':
description: |-
One of the provided values in the request body is invalid.
One of the provided values in the request query is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
'409':
description: ''
'422':
description: ''
security: []
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/artifacts/upload-a-cache-artifact.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Upload a cache artifact
> Uploads a cache artifact identified by the `hash` specified on the path. The cache artifact can then be downloaded with the provided `hash`.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples put /v8/artifacts/{hash}
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v8/artifacts/{hash}:
put:
tags:
- artifacts
summary: Upload a cache artifact
description: >-
Uploads a cache artifact identified by the `hash` specified on the path.
The cache artifact can then be downloaded with the provided `hash`.
operationId: uploadArtifact
parameters:
- in: header
description: The artifact size in bytes
required: true
schema:
description: The artifact size in bytes
type: number
name: Content-Length
- in: header
description: The time taken to generate the uploaded artifact in milliseconds.
required: false
schema:
type: number
description: The time taken to generate the uploaded artifact in milliseconds.
example: 400
name: x-artifact-duration
- in: header
description: >-
The continuous integration or delivery environment where this
artifact was generated.
required: false
schema:
type: string
description: >-
The continuous integration or delivery environment where this
artifact was generated.
example: VERCEL
maxLength: 50
name: x-artifact-client-ci
- in: header
description: 1 if the client is an interactive shell. Otherwise 0
required: false
schema:
type: integer
description: 1 if the client is an interactive shell. Otherwise 0
example: 0
minimum: 0
maximum: 1
name: x-artifact-client-interactive
- in: header
description: >-
The base64 encoded tag for this artifact. The value is sent back to
clients when the artifact is downloaded as the header
`x-artifact-tag`
required: false
schema:
type: string
description: >-
The base64 encoded tag for this artifact. The value is sent back
to clients when the artifact is downloaded as the header
`x-artifact-tag`
example: Tc0BmHvJYMIYJ62/zx87YqO0Flxk+5Ovip25NY825CQ=
maxLength: 600
name: x-artifact-tag
- name: hash
description: The artifact hash
in: path
required: true
schema:
type: string
example: 12HKQaOmR5t5Uy6vdcQsNIiZgHGB
description: The artifact hash
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
requestBody:
content:
application/octet-stream:
schema:
type: string
format: binary
required: true
responses:
'202':
description: File successfully uploaded
content:
application/json:
schema:
properties:
urls:
items:
type: string
type: array
description: Array of URLs where the artifact was updated
example:
- >-
https://api.vercel.com/v2/now/artifact/12HKQaOmR5t5Uy6vdcQsNIiZgHGB
required:
- urls
type: object
'400':
description: |-
One of the provided values in the request query is invalid.
One of the provided values in the headers is invalid
File size is not valid
'401':
description: The request is not authorized.
'402':
description: |-
The account was soft-blocked for an unhandled reason.
The account is missing a payment so payment method must be updated
'403':
description: >-
The customer has reached their spend cap limit and has been paused.
An owner can disable the cap or raise the limit in settings.
The Remote Caching usage limit has been reached for this account for
this billing cycle.
Remote Caching has been disabled for this team or user. An owner can
enable it in the billing settings.
You do not have permission to access this resource.
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/certs/upload-a-cert.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Upload a cert
> Upload a cert
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples put /v8/certs
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v8/certs:
put:
tags:
- certs
summary: Upload a cert
description: Upload a cert
operationId: uploadCert
parameters:
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
requestBody:
content:
application/json:
schema:
type: object
required:
- ca
- key
- cert
additionalProperties: false
properties:
ca:
type: string
description: The certificate authority
key:
type: string
description: The certificate key
cert:
type: string
description: The certificate
skipValidation:
type: boolean
description: Skip validation of the certificate
responses:
'200':
description: ''
content:
application/json:
schema:
properties:
id:
type: string
createdAt:
type: number
expiresAt:
type: number
autoRenew:
type: boolean
enum:
- false
- true
cns:
items:
type: string
type: array
required:
- autoRenew
- cns
- createdAt
- expiresAt
- id
type: object
'400':
description: One of the provided values in the request body is invalid.
'401':
description: The request is not authorized.
'402':
description: This feature is only available for Enterprise customers.
'403':
description: You do not have permission to access this resource.
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/projects/upload-client-certificate-for-egress-mtls.md
# Upload client certificate for egress mTLS
> Upload a client certificate for mTLS authentication to external origins.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples post /v1/projects/{idOrName}/client-cert
paths:
path: /v1/projects/{idOrName}/client-cert
method: post
servers:
- url: https://api.vercel.com
description: Production API
request:
security:
- title: bearerToken
parameters:
query: {}
header:
Authorization:
type: http
scheme: bearer
description: Default authentication mechanism
cookie: {}
parameters:
path:
idOrName:
schema:
- type: string
required: true
description: The unique project identifier or the project name
example: prj_XLKmu1DyR1eY7zq8UgeRKbA7yVLA
query:
teamId:
schema:
- type: string
description: The Team identifier to perform the request on behalf of.
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
slug:
schema:
- type: string
description: The Team slug to perform the request on behalf of.
example: my-team-url-slug
header: {}
cookie: {}
body:
application/json:
schemaArray:
- type: object
properties:
cert:
allOf:
- description: The client certificate in PEM format
type: string
example: >-
-----BEGIN CERTIFICATE-----\\n...\\n-----END
CERTIFICATE-----
key:
allOf:
- description: The private key in PEM format
type: string
example: >-
-----BEGIN PRIVATE KEY-----\\n...\\n-----END PRIVATE
KEY-----
ca:
allOf:
- description: The certificate authority in PEM format
type: string
example: >-
-----BEGIN CERTIFICATE-----\\n...\\n-----END
CERTIFICATE-----
origin:
allOf:
- description: >-
The origin this certificate should be used for. If not
specified, the certificate will be project-wide.
type: string
example: https://api.example.com
skipValidation:
allOf:
- type: boolean
description: Skip validation of the certificate
requiredProperties:
- cert
- key
- ca
additionalProperties: false
examples:
example:
value:
cert: '-----BEGIN CERTIFICATE-----\\n...\\n-----END CERTIFICATE-----'
key: '-----BEGIN PRIVATE KEY-----\\n...\\n-----END PRIVATE KEY-----'
ca: '-----BEGIN CERTIFICATE-----\\n...\\n-----END CERTIFICATE-----'
origin: https://api.example.com
skipValidation: true
codeSamples:
- label: uploadProjectClientCert
lang: typescript
source: |-
import { Vercel } from "@vercel/sdk";
const vercel = new Vercel({
bearerToken: "",
});
async function run() {
const result = await vercel.projects.uploadProjectClientCert({
idOrName: "prj_XLKmu1DyR1eY7zq8UgeRKbA7yVLA",
teamId: "team_1a2b3c4d5e6f7g8h9i0j1k2l",
slug: "my-team-url-slug",
requestBody: {
cert: "-----BEGIN CERTIFICATE-----\\n...\\n-----END CERTIFICATE-----",
key: "-----BEGIN PRIVATE KEY-----\\n...\\n-----END PRIVATE KEY-----",
ca: "-----BEGIN CERTIFICATE-----\\n...\\n-----END CERTIFICATE-----",
origin: "https://api.example.com",
},
});
console.log(result);
}
run();
response:
'200':
application/json:
schemaArray:
- type: object
properties:
updated:
allOf:
- type: boolean
origin:
allOf:
- type: string
certId:
allOf:
- type: string
requiredProperties:
- updated
- origin
- certId
examples:
example:
value:
updated: true
origin:
certId:
description: Client certificate uploaded successfully
'400':
_mintlify/placeholder:
schemaArray:
- type: any
description: |-
One of the provided values in the request body is invalid.
One of the provided values in the request query is invalid.
examples: {}
description: |-
One of the provided values in the request body is invalid.
One of the provided values in the request query is invalid.
'401':
_mintlify/placeholder:
schemaArray:
- type: any
description: The request is not authorized.
examples: {}
description: The request is not authorized.
'402':
_mintlify/placeholder:
schemaArray:
- type: any
description: |-
The account was soft-blocked for an unhandled reason.
The account is missing a payment so payment method must be updated
examples: {}
description: |-
The account was soft-blocked for an unhandled reason.
The account is missing a payment so payment method must be updated
'403':
_mintlify/placeholder:
schemaArray:
- type: any
description: You do not have permission to access this resource.
examples: {}
description: You do not have permission to access this resource.
'404': {}
'409':
_mintlify/placeholder:
schemaArray:
- type: any
description: >-
The project is being transferred and uploading certificates is not
possible
examples: {}
description: >-
The project is being transferred and uploading certificates is not
possible
'500':
_mintlify/placeholder:
schemaArray:
- type: any
description: |-
Failed to upload the client certificate
Failed to encrypt the private key
examples: {}
description: |-
Failed to upload the client certificate
Failed to encrypt the private key
deprecated: false
type: path
components:
schemas: {}
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/deployments/upload-deployment-files.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Upload Deployment 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.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples post /v2/files
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v2/files:
post:
tags:
- deployments
summary: Upload Deployment Files
description: >-
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.
operationId: uploadFile
parameters:
- in: header
description: The file size in bytes
schema:
description: The file size in bytes
type: number
name: Content-Length
- in: header
description: The file SHA1 used to check the integrity
schema:
type: string
description: The file SHA1 used to check the integrity
maxLength: 40
name: x-vercel-digest
- in: header
description: The file SHA1 used to check the integrity
schema:
deprecated: true
type: string
description: The file SHA1 used to check the integrity
maxLength: 40
name: x-now-digest
- in: header
description: The file size as an alternative to `Content-Length`
schema:
type: number
deprecated: true
description: The file size as an alternative to `Content-Length`
name: x-now-size
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
requestBody:
content:
application/octet-stream:
schema:
type: string
format: binary
responses:
'200':
description: |-
File already uploaded
File successfully uploaded
content:
application/json:
schema:
oneOf:
- properties:
urls:
items:
type: string
type: array
description: Array of URLs where the file was updated
example:
- example-upload.aws.com
required:
- urls
type: object
- type: object
'400':
description: |-
One of the provided values in the headers is invalid
Digest is not valid
File size is not valid
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/drains/validate-drain-delivery-configuration.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Validate Drain delivery configuration
> Validate the delivery configuration of a Drain using sample events.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples post /v1/drains/test
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v1/drains/test:
post:
tags:
- drains
summary: Validate Drain delivery configuration
description: Validate the delivery configuration of a Drain using sample events.
operationId: testDrain
parameters:
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
requestBody:
content:
application/json:
schema:
type: object
additionalProperties: false
required:
- schemas
- delivery
properties:
schemas:
type: object
additionalProperties:
type: object
required:
- version
properties:
version:
type: string
delivery:
type: object
oneOf:
- type: object
additionalProperties: false
required:
- type
- endpoint
- encoding
- headers
properties:
type:
type: string
endpoint:
type: string
compression:
type: string
enum:
- gzip
- none
encoding:
type: string
enum:
- json
- ndjson
headers:
additionalProperties:
type: string
type: object
secret:
type: string
- type: object
additionalProperties: false
required:
- type
- endpoint
- encoding
- headers
properties:
type:
type: string
endpoint:
oneOf:
- type: object
additionalProperties: false
required:
- traces
properties:
traces:
type: string
encoding:
type: string
enum:
- proto
- json
headers:
additionalProperties:
type: string
type: object
secret:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
oneOf:
- type: object
- properties:
status:
type: string
error:
type: string
endpoint:
type: string
required:
- endpoint
- error
- status
type: object
'400':
description: One of the provided values in the request body is invalid.
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/endpoints/projects/verify-project-domain.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Verify project domain
> Attempts to verify a project domain with `verified = false` by checking the correctness of the project domain's `verification` challenge.
## OpenAPI
````yaml https://spec.speakeasy.com/vercel/vercel-docs/vercel-oas-with-code-samples post /v9/projects/{idOrName}/domains/{domain}/verify
openapi: 3.0.3
info:
title: Vercel REST API & SDK
description: >-
The [`@vercel/sdk`](https://www.npmjs.com/package/@vercel/sdk) is a
type-safe Typescript SDK that allows you to access the resources and methods
of the Vercel REST API. Learn how to [install
it](https://vercel.com/docs/rest-api/sdk#installing-vercel-sdk) and
[authenticate](https://vercel.com/docs/rest-api/sdk#authentication) with a
Vercel access token.
contact:
email: support@vercel.com
name: Vercel Support
url: https://vercel.com/support
version: 0.0.1
servers:
- url: https://api.vercel.com
description: Production API
security: []
paths:
/v9/projects/{idOrName}/domains/{domain}/verify:
post:
tags:
- projects
summary: Verify project domain
description: >-
Attempts to verify a project domain with `verified = false` by checking
the correctness of the project domain's `verification` challenge.
operationId: verifyProjectDomain
parameters:
- name: idOrName
description: The unique project identifier or the project name
in: path
required: true
schema:
example: prj_12HKQaOmR5t5Uy6vdcQsNIiZgHGB
description: The unique project identifier or the project name
type: string
- name: domain
description: The domain name you want to verify
in: path
required: true
schema:
description: The domain name you want to verify
type: string
example: example.com
- description: The Team identifier to perform the request on behalf of.
in: query
name: teamId
schema:
type: string
example: team_1a2b3c4d5e6f7g8h9i0j1k2l
- description: The Team slug to perform the request on behalf of.
in: query
name: slug
schema:
type: string
example: my-team-url-slug
responses:
'200':
description: |-
The project domain was verified successfully
Domain is already verified
content:
application/json:
schema:
properties:
name:
type: string
apexName:
type: string
projectId:
type: string
redirect:
nullable: true
type: string
redirectStatusCode:
nullable: true
type: number
enum:
- 301
- 302
- 307
- 308
gitBranch:
nullable: true
type: string
customEnvironmentId:
nullable: true
type: string
updatedAt:
type: number
createdAt:
type: number
verified:
type: boolean
enum:
- false
- true
description: >-
`true` if the domain is verified for use with the project.
If `false` it will not be used as an alias on this project
until the challenge in `verification` is completed.
required:
- apexName
- name
- projectId
- verified
type: object
'400':
description: >-
One of the provided values in the request query is invalid.
There is an existing TXT record on the domain verifying it for
another project
The domain does not have a TXT record that attempts to verify the
project domain
The TXT record on the domain does not match the expected challenge
for the project domain
Project domain is not assigned to project
'401':
description: The request is not authorized.
'403':
description: You do not have permission to access this resource.
security:
- bearerToken: []
components:
securitySchemes:
bearerToken:
type: http
description: Default authentication mechanism
scheme: bearer
````
---
# Source: https://vercel.mintlify-docs-rest-api-reference.com/docs/rest-api/reference/welcome.md
> ## Documentation Index
> Fetch the complete documentation index at: https://vercel.mintlify.app/docs/rest-api/reference/llms.txt
> Use this file to discover all available pages before exploring further.
# Using the REST API
> Interact programmatically with your Vercel account using the SDK or direct HTTP requests.
To view all endpoints, and explore code examples with the SDK and direct API calls, see the [reference endpoints documentation](/endpoints).
You can deploy new versions of web applications, manage custom domains, retrieve information about deployments, and manage secrets and environment variables for projects.
The API supports any programming language or framework that can send HTTP requests.
To interact with the API, you can:
* [Use the Vercel SDK](/sdk) by first instantiating with your token
* Use the language of your choice by calling the endpoints directly and [providing your token](#authentication)
## API Basics
Our API is exposed as an HTTP/1 and HTTP/2 service over SSL. All endpoints live under the URL `https://api.vercel.com` and then generally follow the REST architecture.
### Server Specs
#### HTTP and TLS
The API supports HTTP versions 1, 1.1, and 2, although HTTP/2 is preferred.
TLS versions 1.2 and 1.3 are supported, with resumption.
For more information on TLS support, refer to the SSL Labs report.
### Content Type
All requests must be encoded as JSON with the Content-Type: application/json header. If not otherwise specified, responses from the Vercel API, including errors, are encoded exclusively as JSON as well.
### Authentication
Vercel Access Tokens are required to authenticate and use the Vercel API.
```js theme={"system"}
Authorization: Bearer
```
#### Creating an Access Token
Access Tokens can be created and managed from inside your [account settings](https://vercel.com/account/tokens).
1. In the upper-right corner of your [dashboard](https://vercel.com/dashboard), click your profile picture, then select **Account Settings** or go to the [Tokens page directly](https://vercel.com/account/settings/tokens)
2. Select **Tokens** from the sidebar
3. From **Create Token** section, enter a descriptive name for the token
4. Choose the scope from the list of Teams in the drop-down menu. The scope ensures that only your specified Team(s) can use an Access Token
5. From the drop-down, select an expiration date for the Token
6. Click **Create Token**
7. Once you've created an Access Token, securely store the value as it will not be shown again.
#### Expiration
Setting an expiration date on an Access Token is highly recommended and is considered one of the standard security practices that helps keep your information secure. You can select from a default list of expiration dates ranging from 1 day to 1 year. You can view the expiration date of your Access Tokens on the [tokens page.](https://vercel.com/account/tokens)
#### Accessing Resources Owned by a Team
By default, you can access resources contained within your own user account (personal).
To access resources owned by a team, or create a project for a *specific* team, you must first find the [Team ID](https://vercel.com/docs/teams-and-accounts/create-or-join-a-team#find-your-team-id).
After you obtained the Team ID, append it as a query string at the end of the API endpoint URL:
```js theme={"system"}
https://api.vercel.com/v6/deployments?teamId=[teamID]
```
#### Failed Authentication
If authentication is unsuccessful for a request, the [error status code](#errors) **403** is returned.
## Types
The following is a list of the types of data used within the Vercel API:
| Name | Definition | Example |
| ----------- | ---------------------------------------------------------------------- | ---------------------------- |
| **ID** | A unique value used to identify resources. | `"V0fra8eEgQwEpFhYG2vTzC3K"` |
| **String** | A string is a sequence of characters used to represent text. | `"value"` |
| **Integer** | An integer is a number without decimals. | `1234` |
| **Float** | A float is a number with decimals. | `12.34` |
| **Map** | A data structure with a list of values assigned to a unique key. | `{ "key": "value" }` |
| **List** | A data structure with only a list of values separated by a comma. | `["value", 1234, 12.34]` |
| **Enum** | An Enum is a String with only a few possible valid values. | `A` or `B` |
| **Date** | An Integer representing a date in milliseconds since the UNIX epoch. | `1540095775941` |
| **IsoDate** | A String representing a date in the 8601 format. | `YYYY-MM-DDTHH:mm:ssZ` |
| **Boolean** | A Boolean is a type of two possible values representing true or false. | `true` |
## Pagination
When the API response includes an array of records, a pagination object is returned when the total number of records present is greater than the limit per request. The default value of this limit is 20 but it can be changed by passing a value to the query parameter `limit` when the request is made. The maximum possible value of `limit` is 100.
You can then use the pagination object to make additional requests and obtain all the records.
The pagination object is structured as shown in the example below:
```json pagination-structure theme={"system"}
{
"pagination": {
"count": 20, //Amount of items in the current page.
"next": 1555072968396, //Timestamp that must be used to request the next page.
"prev": 1555413045188 //Timestamp that must be used to request the previous page.
}
}
```
In order to obtain the records for the next batch, perform the following actions:
1. Send a request to the same API endpoint
2. Include the query parameter `until` with a value equal to the timestamp value of `next` returned in the previous request
3. Repeat this sequence until the pagination object has a `next` value of `null`
This is an example of applying this sequence with `Node.js` to save all the projects in your personal account to a `json` file:
```js pagination-example.js theme={"system"}
const axios = require('axios');
const fs = require('fs');
const vercelToken = 'yourtokenvalue'; //Replace with your token
const apiEndPt = 'https://api.vercel.com/v9/projects';
let config = {
method: 'get',
url: apiEndPt,
headers: {
Authorization: 'Bearer ' + vercelToken,
},
};
let results = [];
(function loop() {
axios(config)
.then(function (response) {
results.push(...response.data.projects);
if (response.data.pagination.next !== null) {
config.url = `${apiEndPt}?until=${response.data.pagination.next}`;
loop();
} else {
//you can use the final results object and for example save it to a json file
fs.writeFileSync('projects.json', JSON.stringify(results));
}
})
.catch(function (error) {
console.log(error);
});
})();
```
## Rate Limits
We limit the number of calls you can make over a certain period of time.
Rate limits vary and are specified by the following header in all responses:
| Header | Description |
| ----------------------- | ---------------------------------------------------------------------------- |
| `X-RateLimit-Limit` | The maximum number of requests that the consumer is permitted to make. |
| `X-RateLimit-Remaining` | The number of requests remaining in the current rate limit window. |
| `X-RateLimit-Reset` | The time at which the current rate limit window resets in UTC epoch seconds. |
When the rate limit is **exceeded**, an error is returned with the status "**429 Too Many Requests**":
```json error-response theme={"system"}
{
"error": {
"code": "too_many_requests",
"message": "Rate limit exceeded"
}
}
```
You can find the complete list of rate limits in the [limits
documentation](https://vercel.com/docs/limits#rate-limits).
## Versioning
All endpoints and examples are designated with a specific version. Versions vary per endpoint and are not global.
The response shape of a certain endpoint is not guaranteed to be fixed over time. In particular, we might add new keys to responses without bumping a version endpoint, which will be noted in the changelog.
To ensure the security and correctness of your application, make sure to only read the keys from the response that your application needs. Don't proxy entire responses to third-parties without validation.
Old versions of each endpoint are supported for as long as possible. When we intend to deprecate, we will notify users in the changelog section.
Endpoint versions follow the base URL and come before the endpoint. For example:
```js version-endpoint theme={"system"}
https://api.vercel.com/v6/deployments`
```
This examples uses version `6` of the [deployments
endpoint](/endpoints/deployments/get-deployment-events).