# 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).