{"note":"OpenAPI conversion -- returning structured metadata","name":"vercel","description":"Vercel API","version":"0.0.1","base_url":"https://api.vercel.com","endpoints":322,"raw":"@lap v0.3\n# Machine-readable API spec. Each @endpoint block is one API call.\n@api Vercel API\n@base https://api.vercel.com\n@version 0.0.1\n@auth Bearer bearer | OAuth2\n@endpoints 322\n@hint download_for_search\n@toc access-groups(11), artifacts(6), billing(3), bulk-redirects(7), projects(75), deployments(21), connect(5), domains(10), registrar(16), log-drains(4), drains(6), edge-cache(4), edge-config(17), env(6), events(2), teams(18), integrations(12), installations(23), microfrontends(5), observability(2), sandboxes(40), security(9), storage(1), files(1), user(6), webhooks(4), aliases(4), certs(4)\n\n@group access-groups\n@endpoint GET /v1/access-groups/{idOrName}\n@desc Reads an access group\n@required {idOrName: str}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {teamPermissions: [str], entitlements: [str], isDsyncManaged: bool, name: str, createdAt: str, teamId: str, updatedAt: str, accessGroupId: str, membersCount: num, projectsCount: num, teamRoles: [str]}\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource.}\n\n@endpoint POST /v1/access-groups/{idOrName}\n@desc Update an access group\n@required {idOrName: str}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of., name: str # The name of the access group, projects: [map{projectId!: str, role!: str}], membersToAdd: [str] # List of members to add to the access group., membersToRemove: [str] # List of members to remove from the access group.}\n@returns(200) {entitlements: [str], name: str, createdAt: str, teamId: str, updatedAt: str, accessGroupId: str, membersCount: num, projectsCount: num, teamRoles: [str], teamPermissions: [str]}\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource.}\n\n@endpoint DELETE /v1/access-groups/{idOrName}\n@desc Deletes an access group\n@required {idOrName: str}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200)\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource.}\n\n@endpoint GET /v1/access-groups/{idOrName}/members\n@desc List members of an access group\n@required {idOrName: str # The ID or name of the Access Group.}\n@optional {limit: int # Limit how many access group members should be returned., next: str # Continuation cursor to retrieve the next page of results., search: str # Search project members by their name, username, and email., teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {members: [map], pagination: map{count: num, next: str?}}\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource.}\n\n@endpoint GET /v1/access-groups\n@desc List access groups for a team, project or member\n@optional {projectId: str # Filter access groups by project., search: str # Search for access groups by name., membersLimit: int # Number of members to include in the response., projectsLimit: int # Number of projects to include in the response., limit: int # Limit how many access group should be returned., next: str # Continuation cursor to retrieve the next page of results., teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200)\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource.}\n\n@endpoint POST /v1/access-groups\n@desc Creates an access group\n@required {name: str # The name of the access group}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of., projects: [map{projectId!: str, role!: str}], membersToAdd: [str] # List of members to add to the access group.}\n@returns(200) {entitlements: [str], membersCount: num, projectsCount: num, name: str, createdAt: str, teamId: str, updatedAt: str, accessGroupId: str, teamRoles: [str], teamPermissions: [str]}\n@errors {400: One of the provided values in the request body is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource.}\n\n@endpoint GET /v1/access-groups/{idOrName}/projects\n@desc List projects of an access group\n@required {idOrName: str # The ID or name of the Access Group.}\n@optional {limit: int # Limit how many access group projects should be returned., next: str # Continuation cursor to retrieve the next page of results., teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {projects: [map], pagination: map{count: num, next: str?}}\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource.}\n\n@endpoint POST /v1/access-groups/{accessGroupIdOrName}/projects\n@desc Create an access group project\n@required {accessGroupIdOrName: str, projectId: str # The ID of the project., role: str(ADMIN/PROJECT_VIEWER/PROJECT_DEVELOPER) # The project role that will be added to this Access Group.}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {teamId: str, accessGroupId: str, projectId: str, role: str, createdAt: str, updatedAt: str}\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource.}\n\n@endpoint GET /v1/access-groups/{accessGroupIdOrName}/projects/{projectId}\n@desc Reads an access group project\n@required {accessGroupIdOrName: str, projectId: str}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {teamId: str, accessGroupId: str, projectId: str, role: str, createdAt: str, updatedAt: str}\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource.}\n\n@endpoint PATCH /v1/access-groups/{accessGroupIdOrName}/projects/{projectId}\n@desc Update an access group project\n@required {accessGroupIdOrName: str, projectId: str, role: str(ADMIN/PROJECT_VIEWER/PROJECT_DEVELOPER) # The project role that will be added to this Access Group.}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {teamId: str, accessGroupId: str, projectId: str, role: str, createdAt: str, updatedAt: str}\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource.}\n\n@endpoint DELETE /v1/access-groups/{accessGroupIdOrName}/projects/{projectId}\n@desc Delete an access group project\n@required {accessGroupIdOrName: str, projectId: str}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200)\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource.}\n\n@endgroup\n\n@group artifacts\n@endpoint POST /v8/artifacts/events\n@desc Record an artifacts cache usage event\n@optional {x-artifact-client-ci: str # The continuous integration or delivery environment where this artifact is downloaded., x-artifact-client-interactive: int # 1 if the client is an interactive shell. Otherwise 0, teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) Success. Event recorded.\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the headers is invalid, 401: The request is not authorized., 402: The account was soft-blocked for an unhandled reason. The account is missing a payment so payment method must be updated, 403: 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.}\n\n@endpoint GET /v8/artifacts/status\n@desc Get status of Remote Caching for this principal\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200)\n@errors {400, 401: The request is not authorized., 402: The account was soft-blocked for an unhandled reason. The account is missing a payment so payment method must be updated, 403: You do not have permission to access this resource.}\n\n@endpoint PUT /v8/artifacts/{hash}\n@desc Upload a cache artifact\n@required {Content-Length: num # The artifact size in bytes, hash: str # The artifact hash}\n@optional {x-artifact-duration: num # The time taken to generate the uploaded artifact in milliseconds., x-artifact-client-ci: str # The continuous integration or delivery environment where this artifact was generated., x-artifact-client-interactive: int # 1 if the client is an interactive shell. Otherwise 0, x-artifact-tag: str # 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`, x-artifact-sha: str # The SHA of the source control revision that generated this artifact., x-artifact-dirty-hash: str # A hash representing uncommitted changes in the working directory when this artifact was generated., teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(202) {urls: [str]} # File successfully uploaded\n@errors {400: 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: The request is not authorized., 402: The account was soft-blocked for an unhandled reason. The account is missing a payment so payment method must be updated, 403: 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.}\n\n@endpoint GET /v8/artifacts/{hash}\n@desc Download a cache artifact\n@required {hash: str # The artifact hash}\n@optional {x-artifact-client-ci: str # The continuous integration or delivery environment where this artifact is downloaded., x-artifact-client-interactive: int # 1 if the client is an interactive shell. Otherwise 0, teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) The artifact was found and is downloaded as a stream. Content-Length should be verified.\n@errors {400: One of the provided values in the request query is invalid. One of the provided values in the headers is invalid, 401: The request is not authorized., 402: The account was soft-blocked for an unhandled reason. The account is missing a payment so payment method must be updated, 403: 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: The artifact was not found}\n\n@endpoint HEAD /v8/artifacts/{hash}\n@desc Check if a cache artifact exists\n@required {hash: str # The artifact hash}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) The artifact was found and headers are returned\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 402: The account was soft-blocked for an unhandled reason. The account is missing a payment so payment method must be updated, 403: 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: The artifact was not found}\n\n@endpoint POST /v8/artifacts\n@desc Query information about an artifact\n@required {hashes: [str] # artifact hashes}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200)\n@errors {400: One of the provided values in the request body is invalid., 401: The request is not authorized., 402: The account was soft-blocked for an unhandled reason. The account is missing a payment so payment method must be updated, 403: 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.}\n\n@endgroup\n\n@group billing\n@endpoint GET /v1/billing/charges\n@desc List FOCUS billing charges\n@required {from: str # Inclusive start of the date range as an ISO 8601 date-time string in UTC., to: str # Exclusive end of the date range as an ISO 8601 date-time string in UTC.}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200)\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404, 500, 503}\n\n@endpoint GET /v1/billing/contract-commitments\n@desc List FOCUS contract commitments\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200)\n@errors {400, 401: The request is not authorized., 403: You do not have permission to access this resource., 404}\n\n@endpoint POST /v1/billing/buy\n@desc Purchase credits\n@required {item: map{type!: str, creditType!: str, amount!: int}}\n@optional {source: str # The source of the purchase request. Defaults to `api` if not specified., teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200)\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 402, 403: You do not have permission to access this resource., 404, 500}\n\n@endgroup\n\n@group bulk-redirects\n@endpoint PUT /v1/bulk-redirects\n@desc Stages new redirects for a project.\n@required {projectId: str, teamId: str}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of., overwrite: bool, name: str, redirects: [map{source!: str, destination!: str, statusCode: any, permanent: bool, caseSensitive: bool, query: bool, preserveQueryParams: bool}]=}\n@returns(200) {alias: str?, version: map{id: str, key: str, lastModified: num, createdBy: str, name: str, isStaging: bool, isLive: bool, redirectCount: num, alias: str}}\n@errors {400: One of the provided values in the request body is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 500}\n\n@endpoint GET /v1/bulk-redirects\n@desc Gets project-level redirects.\n@required {projectId: str}\n@optional {versionId: str, q: str, diff: any, page: int, per_page: int, sort_by: str(source/destination/statusCode), sort_order: str(asc/desc), teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200)\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404}\n\n@endpoint DELETE /v1/bulk-redirects\n@desc Delete project-level redirects.\n@required {projectId: str, redirects: [str] # The redirects to delete. The source of the redirect is used to match the redirect to delete.}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of., name: str}\n@returns(200)\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404, 500}\n\n@endpoint PATCH /v1/bulk-redirects\n@desc Edit a project-level redirect.\n@required {projectId: str, redirect: map{source!: str, destination: str, statusCode: num, permanent: bool, caseSensitive: bool, query: bool, preserveQueryParams: bool} # The redirect object to edit. The source field is used to match the redirect to modify.}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of., name: str, restore: bool # If true, restores the redirect from the latest production version to staging.}\n@returns(200) {alias: str?, version: map{id: str, key: str, lastModified: num, createdBy: str, name: str, isStaging: bool, isLive: bool, redirectCount: num, alias: str}}\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404, 500}\n\n@endpoint POST /v1/bulk-redirects/restore\n@desc Restore staged project-level redirects to their production version.\n@required {projectId: str, redirects: [str] # The redirects to restore. The source of the redirect is used to match the redirect to restore.}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of., name: str}\n@returns(200) {version: map{id: str, key: str, lastModified: num, createdBy: str, name: str, isStaging: bool, isLive: bool, redirectCount: num, alias: str}, restored: [str], failedToRestore: [str]}\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404, 500}\n\n@endpoint GET /v1/bulk-redirects/versions\n@desc Get the version history for a project's redirects.\n@required {projectId: str}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {versions: [map]}\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 500}\n\n@endpoint POST /v1/bulk-redirects/versions\n@desc Promote a staging version to production or restore a previous production version.\n@required {projectId: str, id: str, action: str(promote/restore/discard)}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of., name: str}\n@returns(200) {version: map{id: str, key: str, lastModified: num, createdBy: str, name: str, isStaging: bool, isLive: bool, redirectCount: num, alias: str}}\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404, 500}\n\n@endgroup\n\n@group projects\n@endpoint GET /v2/projects/{projectIdOrName}/checks\n@desc List all checks for a project\n@required {projectIdOrName: str}\n@optional {blocks: str(build-start/deployment-start/deployment-alias/deployment-promotion/none), teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {checks: [map]}\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 500}\n\n@endpoint POST /v2/projects/{projectIdOrName}/checks\n@desc Create a check\n@required {projectIdOrName: str, name: str, requires: str(build-ready/deployment-url/none)=deployment-url}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of., isRerequestable: bool, targets: [str], blocks: str(build-start/deployment-start/deployment-alias/deployment-promotion/none)=deployment-alias, source: map, timeout: num=300}\n@returns(200) {id: str, name: str, ownerId: str, projectId: str, isRerequestable: bool, requires: str, source: any, blocks: str, targets: [str], sourceKind: str, sourceIntegrationConfigurationId: str, timeout: num, createdAt: num, updatedAt: num, deletedAt: num}\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 500}\n\n@endpoint GET /v2/projects/{projectIdOrName}/checks/{checkId}\n@desc Get a check\n@required {projectIdOrName: str, checkId: str # The ID of the resource that will be updated.}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {id: str, name: str, ownerId: str, projectId: str, isRerequestable: bool, requires: str, source: any, blocks: str, targets: [str], sourceKind: str, sourceIntegrationConfigurationId: str, timeout: num, createdAt: num, updatedAt: num, deletedAt: num}\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 500}\n\n@endpoint PATCH /v2/projects/{projectIdOrName}/checks/{checkId}\n@desc Update a check\n@required {projectIdOrName: str, checkId: str}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of., name: str, isRerequestable: bool, requires: str(build-ready/deployment-url)=deployment-url, targets: [str], blocks: str(build-start/deployment-start/deployment-alias/deployment-promotion/none)=deployment-alias, timeout: num=300}\n@returns(200) {id: str, name: str, ownerId: str, projectId: str, isRerequestable: bool, requires: str, source: any, blocks: str, targets: [str], sourceKind: str, sourceIntegrationConfigurationId: str, timeout: num, createdAt: num, updatedAt: num, deletedAt: num}\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404, 500}\n\n@endpoint DELETE /v2/projects/{projectIdOrName}/checks/{checkId}\n@desc Delete a check\n@required {projectIdOrName: str, checkId: str}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {success: bool}\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404, 500}\n\n@endpoint GET /v2/projects/{projectIdOrName}/checks/{checkId}/runs\n@desc List runs for a check\n@required {projectIdOrName: str, checkId: str # The ID of the resource that will be updated.}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {runs: [map]}\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 500}\n\n@endgroup\n\n@group deployments\n@endpoint GET /v2/deployments/{deploymentId}/check-runs\n@desc List check runs for a deployment\n@required {deploymentId: str}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {runs: [map]}\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 500}\n\n@endpoint POST /v2/deployments/{deploymentId}/check-runs\n@desc Create a check run\n@required {deploymentId: str, checkId: str}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {id: str, name: str, checkId: str, ownerId: str, deploymentId: str, projectId: str, source: any, requires: str, blocks: str, targets: [str], status: str, conclusion: str, conclusionText: str, externalId: str, externalUrl: str, output: map, timeout: num, createdAt: num, updatedAt: num, completedAt: num}\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404, 500}\n\n@endpoint GET /v2/deployments/{deploymentId}/check-runs/{checkRunId}\n@desc Get a check run\n@required {deploymentId: str, checkRunId: str # The ID of the resource that will be updated.}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {id: str, name: str, checkId: str, ownerId: str, deploymentId: str, projectId: str, source: any, requires: str, blocks: str, targets: [str], status: str, conclusion: str, conclusionText: str, externalId: str, externalUrl: str, output: map, timeout: num, createdAt: num, updatedAt: num, completedAt: num}\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404, 500}\n\n@endpoint PATCH /v2/deployments/{deploymentId}/check-runs/{checkRunId}\n@desc Update a check run\n@required {deploymentId: str, checkRunId: str}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of., externalId: str, externalUrl: str(uri), status: str(queued/running/completed), output: map, completedAt: num, conclusion: str(canceled/skipped/timeout/failed/neutral/succeeded), conclusionText: str}\n@returns(200) {id: str, name: str, checkId: str, ownerId: str, deploymentId: str, projectId: str, source: any, requires: str, blocks: str, targets: [str], status: str, conclusion: str, conclusionText: str, externalId: str, externalUrl: str, output: map, timeout: num, createdAt: num, updatedAt: num, completedAt: num}\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 413: The output provided is too large, 500}\n\n@endpoint POST /v1/deployments/{deploymentId}/checks\n@desc Creates a new Check\n@required {deploymentId: str # The deployment to create the check for., name: str # The name of the check being created, blocking: bool # Whether the check should block a deployment from succeeding}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of., path: str # Path of the page that is being checked, detailsUrl: str # URL to display for further details, externalId: str # An identifier that can be used as an external reference, rerequestable: bool # Whether a user should be able to request for the check to be rerun if it fails}\n@returns(200) {id: str, name: str, createdAt: num, updatedAt: num, deploymentId: str, status: str, conclusion: str, externalId: str, output: map{metrics: map{FCP: map{value: num?, previousValue: num, source: str}, LCP: map{value: num?, previousValue: num, source: str}, CLS: map{value: num?, previousValue: num, source: str}, TBT: map{value: num?, previousValue: num, source: str}, virtualExperienceScore: map{value: num?, previousValue: num, source: str}}}, completedAt: num, path: str, blocking: bool, detailsUrl: str, integrationId: str, startedAt: num, rerequestable: bool}\n@errors {400: 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: The request is not authorized., 403: You do not have permission to access this resource., 404: The deployment was not found}\n\n@endpoint GET /v1/deployments/{deploymentId}/checks\n@desc Retrieve a list of all checks\n@required {deploymentId: str # The deployment to get all checks for}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {checks: [map]}\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404: The deployment was not found}\n\n@endpoint GET /v1/deployments/{deploymentId}/checks/{checkId}\n@desc Get a single check\n@required {deploymentId: str # The deployment to get the check for., checkId: str # The check to fetch}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {id: str, name: str, createdAt: num, updatedAt: num, deploymentId: str, status: str, conclusion: str, externalId: str, output: map{metrics: map{FCP: map{value: num?, previousValue: num, source: str}, LCP: map{value: num?, previousValue: num, source: str}, CLS: map{value: num?, previousValue: num, source: str}, TBT: map{value: num?, previousValue: num, source: str}, virtualExperienceScore: map{value: num?, previousValue: num, source: str}}}, completedAt: num, path: str, blocking: bool, detailsUrl: str, integrationId: str, startedAt: num, rerequestable: bool}\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource. The provided token is not from an OAuth2 Client that created the Check, 404: Check was not found The deployment was not found}\n\n@endpoint PATCH /v1/deployments/{deploymentId}/checks/{checkId}\n@desc Update a check\n@required {deploymentId: str # The deployment to update the check for., checkId: str # The check being updated}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of., name: str # The name of the check being created, path: str # Path of the page that is being checked, status: any(running/completed) # The current status of the check, conclusion: any(canceled/failed/neutral/succeeded/skipped) # The result of the check being run, detailsUrl: str # A URL a user may visit to see more information about the check, output: map{metrics: map} # The results of the check Run, externalId: str # An identifier that can be used as an external reference}\n@returns(200) {id: str, name: str, createdAt: num, updatedAt: num, deploymentId: str, status: str, conclusion: str, externalId: str, output: map{metrics: map{FCP: map{value: num?, previousValue: num, source: str}, LCP: map{value: num?, previousValue: num, source: str}, CLS: map{value: num?, previousValue: num, source: str}, TBT: map{value: num?, previousValue: num, source: str}, virtualExperienceScore: map{value: num?, previousValue: num, source: str}}}, completedAt: num, path: str, blocking: bool, detailsUrl: str, integrationId: str, startedAt: num, rerequestable: bool}\n@errors {400: 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: The request is not authorized., 403: You do not have permission to access this resource., 404: Check was not found The deployment was not found, 413: The output provided is too large}\n\n@endpoint POST /v1/deployments/{deploymentId}/checks/{checkId}/rerequest\n@desc Rerequest a check\n@required {deploymentId: str # The deployment to rerun the check for., checkId: str # The check to rerun}\n@optional {autoUpdate: bool # Mark the check as running, teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200)\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404: The deployment was not found Check was not found}\n\n@endgroup\n\n@group connect\n@endpoint GET /v1/connect/networks\n@desc List Secure Compute networks\n@optional {includeHostedZones: bool=true # Whether to include Hosted Zones in the response, includePeeringConnections: bool=true # Whether to include VPC Peering connections in the response, includeProjects: bool=true # Whether to include projects in the response, search: str # The query to use as a filter for returned networks, teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200)\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource.}\n\n@endpoint POST /v1/connect/networks\n@desc Create a Secure Compute network\n@required {cidr: str # The CIDR block of the network, name: str # The name of the network, region: str # The region where the network will be created}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of., awsAvailabilityZoneIds: [str]}\n@returns(201) {awsAccountId: str, awsAvailabilityZoneIds: [str], awsRegion: str, cidr: str, createdAt: num, egressIpAddresses: [str], hostedZones: map{count: num}, id: str, name: str, peeringConnections: map{count: num}, projects: map{count: num, ids: [str]}, region: str, status: str, teamId: str, vpcId: str}\n@errors {400: One of the provided values in the request body is invalid., 401: The request is not authorized., 402: The account was soft-blocked for an unhandled reason. The account is missing a payment so payment method must be updated, 403: You do not have permission to access this resource., 409}\n\n@endpoint DELETE /v1/connect/networks/{networkId}\n@desc Delete a Secure Compute network\n@required {networkId: str # The ID of the network to delete}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(204)\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 402, 403: You do not have permission to access this resource., 409}\n\n@endpoint PATCH /v1/connect/networks/{networkId}\n@desc Update a Secure Compute network\n@required {networkId: str # The unique identifier of the Secure Compute network, name: str # The name of the Secure Compute network}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {awsAccountId: str, awsAvailabilityZoneIds: [str], awsRegion: str, cidr: str, createdAt: num, egressIpAddresses: [str], hostedZones: map{count: num}, id: str, name: str, peeringConnections: map{count: num}, projects: map{count: num, ids: [str]}, region: str, status: str, teamId: str, vpcId: str}\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource.}\n\n@endpoint GET /v1/connect/networks/{networkId}\n@desc Read a Secure Compute network\n@required {networkId: str # The unique identifier of the Secure Compute network}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {awsAccountId: str, awsAvailabilityZoneIds: [str], awsRegion: str, cidr: str, createdAt: num, egressIpAddresses: [str], hostedZones: map{count: num}, id: str, name: str, peeringConnections: map{count: num}, projects: map{count: num, ids: [str]}, region: str, status: str, teamId: str, vpcId: str}\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource.}\n\n@endgroup\n\n@group deployments\n@endpoint GET /v3/deployments/{idOrUrl}/events\n@desc Get deployment events\n@required {idOrUrl: str # The unique identifier or hostname of the deployment.}\n@optional {direction: str(backward/forward)=forward # Order of the returned events based on the timestamp., follow: num(0/1) # When enabled, this endpoint will return live events as they happen., limit: num # Maximum number of events to return. Provide `-1` to return all available logs., name: str # Deployment build ID., since: num # Timestamp for when build logs should be pulled from., until: num # Timestamp for when the build logs should be pulled up until., statusCode: any # HTTP status code range to filter events by., delimiter: num(0/1), builds: num(0/1), teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200)\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 500}\n\n@endpoint PATCH /v1/deployments/{deploymentId}/integrations/{integrationConfigurationId}/resources/{resourceId}/actions/{action}\n@desc Update deployment integration action\n@required {deploymentId: str, integrationConfigurationId: str, resourceId: str, action: str}\n@optional {status: str(running/succeeded/failed), statusText: str, statusUrl: str(uri), outcomes: [any]}\n@returns(202)\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource.}\n\n@endpoint GET /v13/deployments/{idOrUrl}\n@desc Get a deployment by ID or URL\n@required {idOrUrl: str # The unique identifier or hostname of the deployment.}\n@optional {withGitRepoInfo: str # Whether to add in gitRepo information., teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) The deployment including only public information The deployment including both public and private information\n@errors {400: One of the provided values in the request query is invalid., 403: You do not have permission to access this resource., 404: The deployment was not found, 429}\n\n@endpoint POST /v13/deployments\n@desc Create a new deployment\n@required {name: str # A string with the project name used in the deployment URL}\n@optional {forceNew: any(0/1) # Forces a new deployment even if there is a previous similar deployment, skipAutoDetectionConfirmation: any(0/1) # Allows to skip framework detection so the API would not fail to ask for confirmation, teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of., customEnvironmentSlugOrId: str # Deploy to a custom environment, which will override the default environment, deploymentId: str # An deployment id for an existing deployment to redeploy, files: [any] # A list of objects with the files to be deployed, gitMetadata: map{remoteUrl: str, commitAuthorName: str, commitAuthorEmail: str, commitMessage: str, commitRef: str, commitSha: str, dirty: bool, ci: bool, ciType: str, ciGitProviderUsername: str, ciGitRepoVisibility: str} # Populates initial git metadata for different git providers., gitSource: any # Defines the Git Repository source to be deployed. This property can not be used in combination with `files`., meta: map # An object containing the deployment's metadata. Multiple key-value pairs can be attached to a deployment, monorepoManager: str # The monorepo manager that is being used for this deployment. When `null` is used no monorepo manager is selected, project: str # The target project identifier in which the deployment will be created. When defined, this parameter overrides name, projectSettings: map{buildCommand: str, commandForIgnoringBuildStep: str, devCommand: str, framework: str, installCommand: str, nodeVersion: str, outputDirectory: str, rootDirectory: str, serverlessFunctionRegion: str, skipGitConnectDuringLink: bool, sourceFilesOutsideRootDirectory: bool} # 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, target: str # 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`., withLatestCommit: bool # When `true` and `deploymentId` is passed in, the sha from the previous deployment's `gitSource` is removed forcing the latest commit to be used.}\n@returns(200) {aliasAssignedAt: any?, alwaysRefuseToBuild: bool, build: map{env: [str]}, buildArtifactUrls: [str], builds: [map], env: [str], inspectorUrl: str?, isInConcurrentBuildsQueue: bool, isInSystemBuildsQueue: bool, projectSettings: map{nodeVersion: str, buildCommand: str?, devCommand: str?, framework: str?, commandForIgnoringBuildStep: str?, installCommand: str?, outputDirectory: str?, speedInsights: map{id: str, enabledAt: num, disabledAt: num, canceledAt: num, hasData: bool, paidAt: num}, webAnalytics: map{id: str, disabledAt: num, canceledAt: num, enabledAt: num, hasData: bool}}, integrations: map{status: str, startedAt: num, claimedAt: num, completedAt: num, skippedAt: num, skippedBy: str}, images: map{sizes: [num], qualities: [num], domains: [str], remotePatterns: [map], localPatterns: [map], minimumCacheTTL: num, formats: [str], dangerouslyAllowSVG: bool, contentSecurityPolicy: str, contentDispositionType: str}, alias: [str], aliasAssigned: bool, bootedAt: num, buildingAt: num, buildContainerFinishedAt: num, buildSkipped: bool, creator: map{uid: str, username: str, avatar: str}, initReadyAt: num, isFirstBranchDeployment: bool, lambdas: [map], public: bool, ready: num, status: str, team: map{id: str, name: str, slug: str, avatar: str}, userAliases: [str], previewCommentsEnabled: bool, ttyBuildLogs: bool, customEnvironment: any, oomReport: str, readyStateReason: str, aliasWarning: map?{code: str, message: str, link: str, action: str}, id: str, createdAt: num, readyState: str, name: str, type: str, aliasError: map?{code: str, message: str}, aliasFinal: str?, autoAssignCustomDomains: bool, automaticAliases: [str], buildErrorAt: num, checksState: str, checksConclusion: str, deletedAt: num?, defaultRoute: str, canceledAt: num, errorCode: str, errorLink: str, errorMessage: str?, errorStep: str, passiveRegions: [str], gitSource: any, manualProvisioning: map{state: str, completedAt: num}, meta: map, originCacheRegion: str, nodeVersion: str, project: map{id: str, name: str, framework: str?}, prebuilt: bool, readySubstate: str, regions: [str], softDeletedByRetention: bool, source: str, target: str?, undeletedAt: num, url: str, userConfiguredDeploymentId: str, version: num, oidcTokenClaims: map{iss: str, sub: str, scope: str, aud: str, owner: str, owner_id: str, project: str, project_id: str, environment: str, plan: str}, projectId: str, plan: str, platform: map{source: map{name: str}, origin: map{type: str, value: str}, creator: map{name: str, avatar: str}, meta: map}, connectBuildsEnabled: bool, connectConfigurationId: str, createdIn: str, crons: [map], functions: map?, monorepoManager: str?, ownerId: str, passiveConnectConfigurationId: str, routes: [any]?, gitRepo: any?, flags: any, microfrontends: any, config: map{version: num, functionType: str, functionMemoryType: str, functionTimeout: num?, secureComputePrimaryRegion: str?, secureComputeFallbackRegion: str?, isUsingActiveCPU: bool, resourceConfig: map{buildQueue: map{configuration: str}, elasticConcurrency: str, buildMachine: map{purchaseType: str?}}}, checks: map{deployment-alias: map{state: str, startedAt: num, completedAt: num}}, seatBlock: map{blockCode: str, userId: str, isVerified: bool, gitUserId: any, gitProvider: str}, attribution: map{commitMeta: map{email: str, name: str, isVerified: bool}, gitUser: map{id: any, login: str, type: str}, vercelUser: map{id: str, username: str, teamRoles: [str]}}} # The successfully created deployment\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 402: 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: You do not have permission to access this resource., 404, 409: The deployment project is being transferred, 426, 429, 500, 503}\n\n@endpoint PATCH /v12/deployments/{id}/cancel\n@desc Cancel a deployment\n@required {id: str # The unique identifier of the deployment.}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {aliasAssignedAt: any?, alwaysRefuseToBuild: bool, build: map{env: [str]}, buildArtifactUrls: [str], builds: [map], env: [str], inspectorUrl: str?, isInConcurrentBuildsQueue: bool, isInSystemBuildsQueue: bool, projectSettings: map{nodeVersion: str, buildCommand: str?, devCommand: str?, framework: str?, commandForIgnoringBuildStep: str?, installCommand: str?, outputDirectory: str?, speedInsights: map{id: str, enabledAt: num, disabledAt: num, canceledAt: num, hasData: bool, paidAt: num}, webAnalytics: map{id: str, disabledAt: num, canceledAt: num, enabledAt: num, hasData: bool}}, integrations: map{status: str, startedAt: num, claimedAt: num, completedAt: num, skippedAt: num, skippedBy: str}, images: map{sizes: [num], qualities: [num], domains: [str], remotePatterns: [map], localPatterns: [map], minimumCacheTTL: num, formats: [str], dangerouslyAllowSVG: bool, contentSecurityPolicy: str, contentDispositionType: str}, alias: [str], aliasAssigned: bool, bootedAt: num, buildingAt: num, buildContainerFinishedAt: num, buildSkipped: bool, creator: map{uid: str, username: str, avatar: str}, initReadyAt: num, isFirstBranchDeployment: bool, lambdas: [map], public: bool, ready: num, status: str, team: map{id: str, name: str, slug: str, avatar: str}, userAliases: [str], previewCommentsEnabled: bool, ttyBuildLogs: bool, customEnvironment: any, oomReport: str, readyStateReason: str, aliasWarning: map?{code: str, message: str, link: str, action: str}, id: str, createdAt: num, readyState: str, name: str, type: str, aliasError: map?{code: str, message: str}, aliasFinal: str?, autoAssignCustomDomains: bool, automaticAliases: [str], buildErrorAt: num, checksState: str, checksConclusion: str, deletedAt: num?, defaultRoute: str, canceledAt: num, errorCode: str, errorLink: str, errorMessage: str?, errorStep: str, passiveRegions: [str], gitSource: any, manualProvisioning: map{state: str, completedAt: num}, meta: map, originCacheRegion: str, nodeVersion: str, project: map{id: str, name: str, framework: str?}, prebuilt: bool, readySubstate: str, regions: [str], softDeletedByRetention: bool, source: str, target: str?, undeletedAt: num, url: str, userConfiguredDeploymentId: str, version: num, oidcTokenClaims: map{iss: str, sub: str, scope: str, aud: str, owner: str, owner_id: str, project: str, project_id: str, environment: str, plan: str}, projectId: str, plan: str, platform: map{source: map{name: str}, origin: map{type: str, value: str}, creator: map{name: str, avatar: str}, meta: map}, connectBuildsEnabled: bool, connectConfigurationId: str, createdIn: str, crons: [map], functions: map?, monorepoManager: str?, ownerId: str, passiveConnectConfigurationId: str, routes: [any]?, gitRepo: any?, flags: any, microfrontends: any, config: map{version: num, functionType: str, functionMemoryType: str, functionTimeout: num?, secureComputePrimaryRegion: str?, secureComputeFallbackRegion: str?, isUsingActiveCPU: bool, resourceConfig: map{buildQueue: map{configuration: str}, elasticConcurrency: str, buildMachine: map{purchaseType: str?}}}, checks: map{deployment-alias: map{state: str, startedAt: num, completedAt: num}}, seatBlock: map{blockCode: str, userId: str, isVerified: bool, gitUserId: any, gitProvider: str}, attribution: map{commitMeta: map{email: str, name: str, isVerified: bool}, gitUser: map{id: any, login: str, type: str}, vercelUser: map{id: str, username: str, teamRoles: [str]}}}\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404}\n\n@endgroup\n\n@group domains\n@endpoint GET /v5/domains/{domain}/records\n@desc List existing DNS records\n@required {domain: str}\n@optional {limit: str # Maximum number of records to list from a request., since: str # Get records created after this JavaScript timestamp., until: str # Get records created before this JavaScript timestamp., teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) Successful response retrieving a list of paginated DNS records.\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404}\n\n@endpoint POST /v2/domains/{domain}/records\n@desc Create a DNS record\n@required {domain: str # The domain used to create the DNS record., type: str(A/AAAA/ALIAS/CAA/CNAME/HTTPS/MX/SRV/TXT/NS) # The type of record, it could be one of the valid DNS records.}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) Successful response showing the uid of the newly created DNS record.\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 402: The account was soft-blocked for an unhandled reason. The account is missing a payment so payment method must be updated, 403: You do not have permission to access this resource., 404, 409}\n\n@endpoint PATCH /v1/domains/records/{recordId}\n@desc Update an existing DNS record\n@required {recordId: str # The id of the DNS record}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of., name: str # The name of the DNS record, value: str # The value of the DNS record, type: str(A/AAAA/ALIAS/CAA/CNAME/HTTPS/MX/SRV/TXT/NS) # The type of the DNS record, ttl: int # The Time to live (TTL) value of the DNS record, mxPriority: int # The MX priority value of the DNS record, srv: map{target!: str, weight!: int, port!: int, priority!: int}, https: map{priority!: int, target!: str, params: str}, comment: str # A comment to add context on what this DNS record is for}\n@returns(200) {id: str, name: str, type: str, value: str, creator: str, domain: str, ttl: num, comment: str, recordType: str, createdAt: num?}\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 402: The account was soft-blocked for an unhandled reason. The account is missing a payment so payment method must be updated, 403: You do not have permission to access this resource., 404, 409}\n\n@endpoint DELETE /v2/domains/{domain}/records/{recordId}\n@desc Delete a DNS record\n@required {domain: str, recordId: str}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) Successful response by removing the specified DNS record.\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404}\n\n@endgroup\n\n@group registrar\n@endpoint GET /v1/registrar/tlds/supported\n@desc Get supported TLDs\n@optional {teamId: str}\n@returns(200) A list of the TLDs supported by Vercel.\n@errors {400: There was something wrong with the request, 401: Unauthorized, 403: NotAuthorizedForScope, 429: TooManyRequests, 500: InternalServerError}\n\n@endpoint GET /v1/registrar/tlds/{tld}\n@desc Get TLD\n@required {tld: str}\n@optional {teamId: str}\n@returns(200) {supportedLanguageCodes: map} # Success\n@errors {400: There was something wrong with the request, 401: Unauthorized, 403: NotAuthorizedForScope, 429: TooManyRequests, 500: InternalServerError}\n\n@endpoint GET /v1/registrar/tlds/{tld}/price\n@desc Get TLD price data\n@required {tld: str}\n@optional {years: str # The number of years to get the price for. If not provided, the minimum number of years for the TLD will be used., teamId: str}\n@returns(200) {years: num, purchasePrice: any, renewalPrice: any, transferPrice: any} # Success\n@errors {400: There was something wrong with the request, 401: Unauthorized, 403: NotAuthorizedForScope, 429: TooManyRequests, 500: InternalServerError}\n\n@endpoint GET /v1/registrar/domains/{domain}/availability\n@desc Get availability for a domain\n@required {domain: str}\n@optional {teamId: str}\n@returns(200) {available: bool} # Success\n@errors {400: There was something wrong with the request, 401: Unauthorized, 403: NotAuthorizedForScope, 404: NotFound, 429: TooManyRequests, 500: InternalServerError}\n\n@endpoint GET /v1/registrar/domains/{domain}/price\n@desc Get price data for a domain\n@required {domain: str}\n@optional {years: str # The number of years to get the price for. If not provided, the minimum number of years for the TLD will be used., teamId: str}\n@returns(200) {years: num, purchasePrice: any, renewalPrice: any, transferPrice: any} # Success\n@errors {400: There was something wrong with the request, 401: Unauthorized, 403: NotAuthorizedForScope, 429: TooManyRequests, 500: InternalServerError}\n\n@endpoint POST /v1/registrar/domains/availability\n@desc Get availability for multiple domains\n@required {domains: [str] # an array of at most 50 item(s)}\n@optional {teamId: str}\n@returns(200) {results: [map]} # Success\n@errors {400: There was something wrong with the request, 401: Unauthorized, 403: NotAuthorizedForScope, 429: TooManyRequests, 500: InternalServerError}\n\n@endpoint GET /v1/registrar/domains/{domain}/auth-code\n@desc Get the auth code for a domain\n@required {domain: str}\n@optional {teamId: str}\n@returns(200) {authCode: str} # Success\n@errors {400: There was something wrong with the request, 401: Unauthorized, 403: NotAuthorizedForScope, 404: The domain was not found in our system., 409: The domain cannot be transfered out until the specified date., 429: TooManyRequests, 500: InternalServerError}\n\n@endpoint POST /v1/registrar/domains/{domain}/buy\n@desc Buy a domain\n@required {domain: str, autoRenew: bool # 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: num # The number of years to purchase the domain for., expectedPrice: num, contactInformation: map{firstName!: str, lastName!: str, email!: str, phone!: str, address1!: str, address2: str, city!: str, state!: str, zip!: str, country!: str, companyName: str, fax: str, additional: map} # 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.}\n@optional {teamId: str, languageCode: str # The language code for the domain. For punycode domains, this must be provided. The list of supported language codes for a TLD can be retrieved from the [Get TLD](https://vercel.com/docs/rest-api/reference/endpoints/domains-registrar/get-tld) endpoint.}\n@returns(200) {orderId: str, _links: map} # Success\n@errors {400: There was something wrong with the request, 401: Unauthorized, 403: NotAuthorizedForScope, 429: TooManyRequests, 500: InternalServerError}\n\n@endpoint POST /v1/registrar/domains/buy\n@desc Buy multiple domains\n@required {domains: [map{domainName!: str, autoRenew!: bool, years!: num, expectedPrice!: num, languageCode: str}], contactInformation: map{firstName!: str, lastName!: str, email!: str, phone!: str, address1!: str, address2: str, city!: str, state!: str, zip!: str, country!: str, companyName: str, fax: str, additional: map} # 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.}\n@optional {teamId: str}\n@returns(200) {orderId: str, _links: map} # Success\n@errors {400: There was something wrong with the request, 401: Unauthorized, 403: NotAuthorizedForScope, 429: TooManyRequests, 500: InternalServerError}\n\n@endpoint POST /v1/registrar/domains/{domain}/transfer\n@desc Transfer-in a domain\n@required {domain: str, authCode: str # The auth code for the domain. You must obtain this code from the losing registrar., autoRenew: bool # 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: num # 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: num, contactInformation: map{firstName!: str, lastName!: str, email!: str, phone!: str, address1!: str, address2: str, city!: str, state!: str, zip!: str, country!: str, companyName: str, fax: str}}\n@optional {teamId: str}\n@returns(200) {orderId: str, _links: map} # Success\n@errors {400: There was something wrong with the request, 401: Unauthorized, 403: NotAuthorizedForScope, 429: TooManyRequests, 500: InternalServerError}\n\n@endpoint GET /v1/registrar/domains/{domain}/transfer\n@desc Get a domain's transfer status\n@required {domain: str}\n@optional {teamId: str}\n@returns(200) {status: str} # Success\n@errors {400: There was something wrong with the request, 401: Unauthorized, 403: NotAuthorizedForScope, 404: NotFound, 429: TooManyRequests, 500: InternalServerError}\n\n@endpoint POST /v1/registrar/domains/{domain}/renew\n@desc Renew a domain\n@required {domain: str, years: num # The number of years to renew the domain for., expectedPrice: num}\n@optional {teamId: str, contactInformation: map{firstName!: str, lastName!: str, email!: str, phone!: str, address1!: str, address2: str, city!: str, state!: str, zip!: str, country!: str, companyName: str, fax: str}}\n@returns(200) {orderId: str, _links: map} # Success\n@errors {400: There was something wrong with the request, 401: Unauthorized, 403: NotAuthorizedForScope, 404: The domain was not found in our system., 429: TooManyRequests, 500: InternalServerError}\n\n@endpoint PATCH /v1/registrar/domains/{domain}/auto-renew\n@desc Update auto-renew for a domain\n@required {domain: str, autoRenew: bool}\n@optional {teamId: str}\n@returns(204) Success\n@errors {400: There was something wrong with the request, 401: Unauthorized, 403: NotAuthorizedForScope, 404: The domain was not found in our system., 429: TooManyRequests, 500: InternalServerError}\n\n@endpoint PATCH /v1/registrar/domains/{domain}/nameservers\n@desc Update nameservers for a domain\n@required {domain: str, nameservers: [str]}\n@optional {teamId: str}\n@returns(204) Success\n@errors {400: There was something wrong with the request, 401: Unauthorized, 403: NotAuthorizedForScope, 404: The domain was not found in our system., 429: TooManyRequests, 500: InternalServerError}\n\n@endpoint GET /v1/registrar/domains/{domain}/contact-info/schema\n@desc Get contact info schema\n@required {domain: str}\n@optional {teamId: str}\n@returns(200) Success\n@errors {400: There was something wrong with the request, 401: Unauthorized, 403: NotAuthorizedForScope, 429: TooManyRequests, 500: InternalServerError}\n\n@endpoint GET /v1/registrar/orders/{orderId}\n@desc Get a domain order\n@required {orderId: str}\n@optional {teamId: str}\n@returns(200) {orderId: str, domains: [any], status: str, error: any} # Success\n@errors {400: There was something wrong with the request, 401: Unauthorized, 403: NotAuthorizedForScope, 404: NotFound, 429: TooManyRequests, 500: InternalServerError}\n\n@endgroup\n\n@group domains\n@endpoint GET /v6/domains/{domain}/config\n@desc Get a Domain's configuration\n@required {domain: str # The name of the domain.}\n@optional {projectIdOrName: str # The project id or name that will be associated with the domain. Use this when the domain is not yet associated with a project., strict: any(true/false) # 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., teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {configuredBy: str?, acceptedChallenges: [str], recommendedIPv4: [map], recommendedCNAME: [map], misconfigured: bool}\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource.}\n\n@endpoint GET /v5/domains/{domain}\n@desc Get Information for a Single Domain\n@required {domain: str # The name of the domain.}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {domain: map{suffix: bool, verified: bool, nameservers: [str], intendedNameservers: [str], customNameservers: [str], creator: map{username: str, email: str, customerId: str?, isDomainReseller: bool, id: str}, name: str, teamId: str?, boughtAt: num?, createdAt: num, expiresAt: num?, id: str, renew: bool, serviceType: str, transferredAt: num?, transferStartedAt: num, userId: str}} # Successful response retrieving an information for a specific domains.\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404}\n\n@endpoint GET /v5/domains\n@desc List all the domains\n@optional {limit: num # Maximum number of domains to list from a request., since: num # Get domains created after this JavaScript timestamp., until: num # Get domains created before this JavaScript timestamp., teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {domains: [map], pagination: map{count: num, next: num?, prev: num?}} # Successful response retrieving a list of domains.\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 409}\n\n@endpoint POST /v7/domains\n@desc Add an existing domain to the Vercel platform\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of., method: str # The domain operation to perform. It can be either `add` or `move-in`.}\n@returns(200) {domain: map{verified: bool, nameservers: [str], intendedNameservers: [str], customNameservers: [str], creator: map{username: str, email: str, customerId: str?, isDomainReseller: bool, id: str}, name: str, teamId: str?, boughtAt: num?, createdAt: num, expiresAt: num?, id: str, renew: bool, serviceType: str, transferredAt: num?, transferStartedAt: num, userId: str}}\n@errors {400: One of the provided values in the request body is invalid., 401: The request is not authorized., 402: The account was soft-blocked for an unhandled reason. The account is missing a payment so payment method must be updated, 403: You do not have permission to access this resource., 404, 409: The domain is not allowed to be used}\n\n@endpoint PATCH /v3/domains/{domain}\n@desc Update or move apex domain\n@required {domain: str}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200)\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404, 409, 500}\n\n@endpoint DELETE /v6/domains/{domain}\n@desc Remove a domain by name\n@required {domain: str # The name of the domain.}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {uid: str} # Successful response removing a domain.\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404, 409}\n\n@endgroup\n\n@group log-drains\n@endpoint GET /v1/log-drains/{id}\n@desc Retrieves a Configurable Log Drain (deprecated)\n@required {id: str}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {createdFrom: str, clientId: str, configurationId: str, projectsMetadata: [map]?, integrationIcon: str, integrationConfigurationUri: str, integrationWebsite: str}\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404}\n\n@endpoint DELETE /v1/log-drains/{id}\n@desc Deletes a Configurable Log Drain (deprecated)\n@required {id: str}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(204)\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404}\n\n@endpoint GET /v1/log-drains\n@desc Retrieves a list of all the Log Drains (deprecated)\n@optional {projectId: str, projectIdOrName: str, includeMetadata: bool=false, teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200)\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404}\n\n@endpoint POST /v1/log-drains\n@desc Creates a Configurable Log Drain (deprecated)\n@required {deliveryFormat: any(json/ndjson) # The delivery log format, url: str(uri) # The log drain url, sources: [str]}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of., headers: map # Headers to be sent together with the request, projectIds: [str], environments: [str], secret: str # Custom secret of log drain, samplingRate: num # The sampling rate for this log drain. It should be a percentage rate between 0 and 100. With max 2 decimal points, name: str # The custom name of this log drain.}\n@returns(200)\n@errors {400: One of the provided values in the request body is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource.}\n\n@endgroup\n\n@group drains\n@endpoint POST /v1/drains\n@desc Create a new Drain\n@required {name: str, projects: str(some/all), schemas: map}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of., projectIds: [str], filter: any, delivery: map, sampling: [map{type!: str, rate!: num, env: str, requestPath: str}], transforms: [map{id!: str}], source: map}\n@returns(200)\n@errors {400: One of the provided values in the request body is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource.}\n\n@endpoint GET /v1/drains\n@desc Retrieve a list of all Drains\n@optional {projectId: str, includeMetadata: bool=false, teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {drains: any}\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404}\n\n@endpoint DELETE /v1/drains/{id}\n@desc Delete a drain\n@required {id: str}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(204)\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404}\n\n@endpoint GET /v1/drains/{id}\n@desc Find a Drain by id\n@required {id: str}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200)\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404}\n\n@endpoint PATCH /v1/drains/{id}\n@desc Update an existing Drain\n@required {id: str}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of., name: str, projects: str(some/all), projectIds: [str], filter: any, schemas: map, delivery: map, sampling: [map{type!: str, rate!: num, env: str, requestPath: str}], transforms: [map{id!: str}], status: str(enabled/disabled), source: map}\n@returns(200)\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404}\n\n@endpoint POST /v1/drains/test\n@desc Validate Drain delivery configuration\n@required {schemas: map, delivery: map}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200)\n@errors {400: One of the provided values in the request body is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource.}\n\n@endgroup\n\n@group edge-cache\n@endpoint POST /v1/edge-cache/invalidate-by-tags\n@desc Invalidate by tag\n@required {projectIdOrName: str, tags: any}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of., target: str(production/preview)}\n@returns(200)\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404}\n\n@endpoint POST /v1/edge-cache/dangerously-delete-by-tags\n@desc Dangerously delete by tag\n@required {projectIdOrName: str, tags: any}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of., revalidationDeadlineSeconds: num, target: str(production/preview)}\n@returns(200)\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404}\n\n@endpoint POST /v1/edge-cache/invalidate-by-src-images\n@desc Invalidate by source image\n@required {projectIdOrName: str, srcImages: [str]}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200)\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 402, 403: You do not have permission to access this resource., 404}\n\n@endpoint POST /v1/edge-cache/dangerously-delete-by-src-images\n@desc Dangerously delete by source image\n@required {projectIdOrName: str, srcImages: [str]}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of., revalidationDeadlineSeconds: num}\n@returns(200)\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 402, 403: You do not have permission to access this resource., 404}\n\n@endgroup\n\n@group edge-config\n@endpoint GET /v1/edge-config\n@desc Get Edge Configs\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) List of all edge configs.\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource.}\n\n@endpoint POST /v1/edge-config\n@desc Create an Edge Config\n@required {slug: str}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of., items: map}\n@returns(201) {transfer: map{fromAccountId: str, startedAt: num, doneAt: num?}, id: str, createdAt: num, createdBy: str, ownerId: str, slug: str, updatedAt: num, digest: str, purpose: any, deletedAt: num?, schema: map, syncedToDynamoAt: num, sizeInBytes: num, itemCount: num}\n@errors {400: One of the provided values in the request body is invalid., 401: The request is not authorized., 402: The account was soft-blocked for an unhandled reason. The account is missing a payment so payment method must be updated, 403: You do not have permission to access this resource.}\n\n@endpoint GET /v1/edge-config/{edgeConfigId}\n@desc Get an Edge Config\n@required {edgeConfigId: str}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {transfer: map{fromAccountId: str, startedAt: num, doneAt: num?}, id: str, createdAt: num, createdBy: str, ownerId: str, slug: str, updatedAt: num, digest: str, purpose: any, deletedAt: num?, schema: map, syncedToDynamoAt: num, sizeInBytes: num, itemCount: num} # The EdgeConfig.\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404}\n\n@endpoint PUT /v1/edge-config/{edgeConfigId}\n@desc Update an Edge Config\n@required {edgeConfigId: str, slug: str}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {transfer: map{fromAccountId: str, startedAt: num, doneAt: num?}, id: str, createdAt: num, createdBy: str, ownerId: str, slug: str, updatedAt: num, digest: str, purpose: any, deletedAt: num?, schema: map, syncedToDynamoAt: num, sizeInBytes: num, itemCount: num}\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 402: The account was soft-blocked for an unhandled reason. The account is missing a payment so payment method must be updated, 403: You do not have permission to access this resource., 404, 409}\n\n@endpoint DELETE /v1/edge-config/{edgeConfigId}\n@desc Delete an Edge Config\n@required {edgeConfigId: str}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(204)\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404, 409}\n\n@endpoint GET /v1/edge-config/{edgeConfigId}/items\n@desc Get Edge Config items\n@required {edgeConfigId: str}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) List of all Edge Config items.\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404}\n\n@endpoint PATCH /v1/edge-config/{edgeConfigId}/items\n@desc Update Edge Config items in batch\n@required {edgeConfigId: str, items: [any]}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {status: str}\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 402: The account was soft-blocked for an unhandled reason. The account is missing a payment so payment method must be updated, 403: You do not have permission to access this resource., 404, 409, 412}\n\n@endpoint GET /v1/edge-config/{edgeConfigId}/schema\n@desc Get Edge Config schema\n@required {edgeConfigId: str}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) The EdgeConfig.\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404}\n\n@endpoint POST /v1/edge-config/{edgeConfigId}/schema\n@desc Update Edge Config schema\n@required {edgeConfigId: str, definition: any}\n@optional {dryRun: str, teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200)\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 402: The account was soft-blocked for an unhandled reason. The account is missing a payment so payment method must be updated, 403: You do not have permission to access this resource., 404, 409}\n\n@endpoint DELETE /v1/edge-config/{edgeConfigId}/schema\n@desc Delete an Edge Config's schema\n@required {edgeConfigId: str}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(204)\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 402: The account was soft-blocked for an unhandled reason. The account is missing a payment so payment method must be updated, 403: You do not have permission to access this resource., 404, 409}\n\n@endpoint GET /v1/edge-config/{edgeConfigId}/item/{edgeConfigItemKey}\n@desc Get an Edge Config item\n@required {edgeConfigId: str, edgeConfigItemKey: str}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {key: str, value: any?, description: str, edgeConfigId: str, createdAt: num, updatedAt: num} # The EdgeConfig.\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404}\n\n@endpoint GET /v1/edge-config/{edgeConfigId}/tokens\n@desc Get all tokens of an Edge Config\n@required {edgeConfigId: str}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {token: str, label: str, id: str, edgeConfigId: str, createdAt: num} # The EdgeConfig.\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404}\n\n@endpoint DELETE /v1/edge-config/{edgeConfigId}/tokens\n@desc Delete one or more Edge Config tokens\n@required {edgeConfigId: str, tokens: [str]}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(204)\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 402: The account was soft-blocked for an unhandled reason. The account is missing a payment so payment method must be updated, 403: You do not have permission to access this resource., 404, 409}\n\n@endpoint GET /v1/edge-config/{edgeConfigId}/token/{token}\n@desc Get Edge Config token meta data\n@required {edgeConfigId: str, token: str}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {token: str, label: str, id: str, edgeConfigId: str, createdAt: num} # The EdgeConfig.\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404}\n\n@endpoint POST /v1/edge-config/{edgeConfigId}/token\n@desc Create an Edge Config token\n@required {edgeConfigId: str, label: str}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(201) {token: str, id: str}\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 402: The account was soft-blocked for an unhandled reason. The account is missing a payment so payment method must be updated, 403: You do not have permission to access this resource., 404, 409}\n\n@endpoint GET /v1/edge-config/{edgeConfigId}/backups/{edgeConfigBackupVersionId}\n@desc Get Edge Config backup\n@required {edgeConfigId: str, edgeConfigBackupVersionId: str}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200)\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404}\n\n@endpoint GET /v1/edge-config/{edgeConfigId}/backups\n@desc Get Edge Config backups\n@required {edgeConfigId: str}\n@optional {next: str, limit: num, metadata: str, teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {backups: [map], pagination: map{hasNext: bool, next: str}}\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404}\n\n@endgroup\n\n@group env\n@endpoint POST /v1/env\n@desc Create one or more shared environment variables\n@required {evs: [map{key!: str, value!: str, comment: str}]}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of., type: str(encrypted/sensitive) # The type of environment variable, target: [any] # The target environment of the Shared Environment Variable, projectId: [str] # Associate a Shared Environment Variable to projects.}\n@returns(201) {created: [map], failed: [map]}\n@errors {400: One of the provided values in the request body is invalid., 401: The request is not authorized., 402: The account was soft-blocked for an unhandled reason. The account is missing a payment so payment method must be updated, 403: You do not have permission to access this resource.}\n\n@endpoint GET /v1/env\n@desc Lists all Shared Environment Variables for a team\n@optional {search: str, projectId: str # Filter SharedEnvVariables that belong to a project, ids: str # Filter SharedEnvVariables based on comma separated ids, exclude_ids: str # Filter SharedEnvVariables based on comma separated ids, exclude-ids: str # Filter SharedEnvVariables based on comma separated ids, exclude_projectId: str # Filter SharedEnvVariables that belong to a project, exclude-projectId: str # Filter SharedEnvVariables that belong to a project, teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {data: [map], pagination: map{count: num, next: num?, prev: num?}}\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404}\n\n@endpoint PATCH /v1/env\n@desc Updates one or more shared environment variables\n@required {updates: map # An object where each key is an environment variable ID (not the key name) and the value is the update to apply}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {updated: [map], failed: [map]}\n@errors {400: One of the provided values in the request body is invalid., 401: The request is not authorized., 402: The account was soft-blocked for an unhandled reason. The account is missing a payment so payment method must be updated, 403: You do not have permission to access this resource.}\n\n@endpoint DELETE /v1/env\n@desc Delete one or more Env Var\n@required {ids: [str] # IDs of the Shared Environment Variables to delete}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {deleted: [str], failed: [map]}\n@errors {400: One of the provided values in the request body is invalid., 401: The request is not authorized., 402: The account was soft-blocked for an unhandled reason. The account is missing a payment so payment method must be updated, 403: You do not have permission to access this resource.}\n\n@endpoint GET /v1/env/{id}\n@desc Retrieve the decrypted value of a Shared Environment Variable by id.\n@required {id: str # The unique ID for the Shared Environment Variable to get the decrypted value.}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {created: str(date-time), key: str, ownerId: str?, id: str, createdBy: str?, deletedBy: str?, updatedBy: str?, createdAt: num, deletedAt: num, updatedAt: num, value: str, projectId: [str], type: str, target: [str], applyToAllCustomEnvironments: bool, decrypted: bool, comment: str, lastEditedByDisplayName: str}\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource.}\n\n@endpoint PATCH /v1/env/{id}/unlink/{projectId}\n@desc Disconnects a shared environment variable for a given project\n@required {id: str # The unique ID for the Shared Environment Variable to unlink from the project., projectId: str}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {id: str}\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource.}\n\n@endgroup\n\n@group events\n@endpoint GET /v3/events\n@desc List User Events\n@optional {limit: num # Maximum number of items which may be returned., since: str # Timestamp to only include items created since then., until: str # Timestamp to only include items created until then., types: str # Comma-delimited list of event \\\"types\\\" to filter the results by., userId: str # Deprecated. Use `principalId` instead. If `principalId` and `userId` both exist, `principalId` will be used., principalId: str # When retrieving events for a Team, the `principalId` parameter may be specified to filter events generated by a specific principal., projectIds: str # Comma-delimited list of project IDs to filter the results by., withPayload: str # When set to `true`, the response will include the `payload` field for each event., teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) Successful response.\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource.}\n\n@endpoint GET /v1/events/types\n@desc List Event Types\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {types: [map]}\n@errors {400, 401: The request is not authorized., 403: You do not have permission to access this resource.}\n\n@endgroup\n\n@group projects\n@endpoint GET /v1/projects/{projectIdOrName}/feature-flags/flags\n@desc List flags\n@required {projectIdOrName: str # The project id or name}\n@optional {state: str(active/archived) # The state of the flags to retrieve. Defaults to `active`., withMetadata: bool # Whether to include metadata in the response, limit: int # Maximum number of flags to return. When not set, all flags are returned., cursor: str # Pagination cursor to continue from., search: str # Search flags by their slug or description. Case-insensitive., teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {data: [map], pagination: map{next: str?}}\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 402: The account was soft-blocked for an unhandled reason. The account is missing a payment so payment method must be updated, 403: You do not have permission to access this resource., 404}\n\n@endpoint PUT /v1/projects/{projectIdOrName}/feature-flags/flags\n@desc Create a flag\n@required {projectIdOrName: str # The project id or name, slug: str # A unique (per project) key for the flag, composed of letters, numbers, dashes, and underscores, kind: any(boolean/string/number/json) # The kind of flag, environments: map # The configuration for the flag in different environments}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of., variants: [map{id!: str, label: str, description: str, value!: any}] # The variants of the flag, seed: num # A random seed to prevent split points in different flags from having the same targets, description: str # A description of the flag, state: str(active/archived)}\n@returns(201) {description: str, experiment: map{name: str, id: str, numVariants: num, surfaceArea: str, stickyRequirement: bool, layer: str, guardrailMetrics: [map], hypothesis: str, device: str, controlVariantId: str, startedAt: num, endedAt: num, allocationUnit: str, primaryMetrics: [map], status: str}, variants: [map], id: str, environments: map, kind: str, revision: num, seed: num, state: str, slug: str, createdAt: num, updatedAt: num, createdBy: str, ownerId: str, projectId: str, typeName: str}\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 402: The account was soft-blocked for an unhandled reason. The account is missing a payment so payment method must be updated, 403: You do not have permission to access this resource., 404, 409, 412}\n\n@endpoint GET /v1/projects/{projectIdOrName}/feature-flags/flags/{flagIdOrSlug}\n@desc Get a flag\n@required {projectIdOrName: str # The project id or name, flagIdOrSlug: str # The flag id or name}\n@optional {ifMatch: str # Etag to match, can be used interchangeably with the `if-match` header, withMetadata: bool # Whether to include metadata in the response, teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {description: str, experiment: map{name: str, id: str, numVariants: num, surfaceArea: str, stickyRequirement: bool, layer: str, guardrailMetrics: [map], hypothesis: str, device: str, controlVariantId: str, startedAt: num, endedAt: num, allocationUnit: str, primaryMetrics: [map], status: str}, variants: [map], id: str, environments: map, kind: str, revision: num, seed: num, state: str, slug: str, createdAt: num, updatedAt: num, createdBy: str, ownerId: str, projectId: str, typeName: str, metadata: map{creator: map{id: str, name: str}}}\n@errors {304, 400: One of the provided values in the request query is invalid., 401: The request is not authorized., 402: The account was soft-blocked for an unhandled reason. The account is missing a payment so payment method must be updated, 403: You do not have permission to access this resource., 404}\n\n@endpoint PATCH /v1/projects/{projectIdOrName}/feature-flags/flags/{flagIdOrSlug}\n@desc Update a flag\n@required {projectIdOrName: str # The project id or name, flagIdOrSlug: str # The flag id or name}\n@optional {ifMatch: str # Etag to match, can be used interchangeably with the `if-match` header, withMetadata: bool # Whether to include metadata in the response, teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of., createdBy: str # The user who created this patch, message: str # Additional message for this version, variants: [map{id!: str, label: str, description: str, value!: any}] # The variants of the flag, environments: map # The configuration for the flag in different environments, seed: num # A random seed to prevent split points in different flags from having the same targets, description: str # A description of the flag, state: str(active/archived)}\n@returns(200)\n@errors {304, 400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 402: The account was soft-blocked for an unhandled reason. The account is missing a payment so payment method must be updated, 403: You do not have permission to access this resource., 404, 409, 412}\n\n@endpoint DELETE /v1/projects/{projectIdOrName}/feature-flags/flags/{flagIdOrSlug}\n@desc Delete a flag\n@required {projectIdOrName: str # The project id or name, flagIdOrSlug: str # The flag id or name}\n@optional {ifMatch: str # Etag to match, can be used interchangeably with the `if-match` header, withMetadata: bool # Whether to include metadata in the response, teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(204)\n@errors {304, 400: One of the provided values in the request query is invalid., 401: The request is not authorized., 402: The account was soft-blocked for an unhandled reason. The account is missing a payment so payment method must be updated, 403: You do not have permission to access this resource., 404, 409, 412}\n\n@endpoint GET /v1/projects/{projectIdOrName}/feature-flags/flags/{flagIdOrSlug}/versions\n@desc List flag versions\n@required {projectIdOrName: str, flagIdOrSlug: str}\n@optional {limit: num=20, cursor: str # Pagination cursor, environment: str # Environment to filter by, withMetadata: bool=false # Whether to include metadata, teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {versions: [map], pagination: map}\n@errors {304, 400: One of the provided values in the request query is invalid., 401: The request is not authorized., 402: The account was soft-blocked for an unhandled reason. The account is missing a payment so payment method must be updated, 403: You do not have permission to access this resource., 404}\n\n@endpoint GET /v1/projects/{projectIdOrName}/feature-flags/settings\n@desc Get project flag settings\n@required {projectIdOrName: str # The project id or name}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {typeName: str, projectId: str, ownerId: str, enabled: bool, environments: [str], connections: [map], entities: [map], createdAt: num, updatedAt: num, metadata: map{activeFlagCount: num, archivedFlagCount: num, segmentCount: num, packSizeInBytes: num, packRevision: num, configUpdatedAt: num}}\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 402: The account was soft-blocked for an unhandled reason. The account is missing a payment so payment method must be updated, 403: You do not have permission to access this resource., 404}\n\n@endpoint PATCH /v1/projects/{projectIdOrName}/feature-flags/settings\n@desc Update project flag settings\n@required {projectIdOrName: str # The project id or name}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of., enabled: bool, entities: [map{kind!: str, label!: str, attributes!: [map]}], environments: [str] # The environments to sync}\n@returns(200) {typeName: str, projectId: str, ownerId: str, enabled: bool, environments: [str], connections: [map], entities: [map], createdAt: num, updatedAt: num, metadata: map{activeFlagCount: num, archivedFlagCount: num, segmentCount: num, packSizeInBytes: num, packRevision: num, configUpdatedAt: num}}\n@returns(201) {typeName: str, projectId: str, ownerId: str, enabled: bool, environments: [str], connections: [map], entities: [map], createdAt: num, updatedAt: num, metadata: map{activeFlagCount: num, archivedFlagCount: num, segmentCount: num, packSizeInBytes: num, packRevision: num, configUpdatedAt: num}}\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 402: The account was soft-blocked for an unhandled reason. The account is missing a payment so payment method must be updated, 403: You do not have permission to access this resource., 404, 409, 412}\n\n@endgroup\n\n@group teams\n@endpoint GET /v1/teams/{teamId}/feature-flags/settings\n@desc List team project flag settings\n@required {teamId: str # The Team identifier to perform the request on behalf of.}\n@optional {limit: int=20 # Maximum number of settings to return., cursor: str # Pagination cursor to continue from., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200)\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource.}\n\n@endpoint GET /v1/teams/{teamId}/feature-flags/flags\n@desc List all flags for a team\n@required {teamId: str # The Team identifier to perform the request on behalf of.}\n@optional {state: str(active/archived) # The state of the flags to retrieve. Defaults to `active`., withMetadata: bool # Whether to include metadata in the response, limit: int=20 # Maximum number of flags to return., cursor: str # Pagination cursor to continue from., search: str # Search flags by their slug or description. Case-insensitive., kind: str(boolean/string/number/json) # The kind of flags to retrieve., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {data: [map], pagination: map{next: str?}}\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource.}\n\n@endgroup\n\n@group projects\n@endpoint PUT /v1/projects/{projectIdOrName}/feature-flags/segments\n@desc Create a segment\n@required {projectIdOrName: str # The project id or name, slug: str, label: str, data: map{rules: [map], include: map, exclude: map} # The data of the segment, hint: str}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of., createdBy: str # The entity who created the segment, description: str}\n@returns(201) {description: str, createdBy: str, usedByFlags: [str], usedBySegments: [str], id: str, label: str, slug: str, createdAt: num, updatedAt: num, projectId: str, typeName: str, data: map{rules: [map], include: map, exclude: map}, hint: str}\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 402: The account was soft-blocked for an unhandled reason. The account is missing a payment so payment method must be updated, 403: You do not have permission to access this resource., 404, 409, 412}\n\n@endpoint GET /v1/projects/{projectIdOrName}/feature-flags/segments\n@desc List segments\n@required {projectIdOrName: str # The project id or name}\n@optional {withMetadata: bool=false # Whether to include metadata, teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {data: [map]}\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 402: The account was soft-blocked for an unhandled reason. The account is missing a payment so payment method must be updated, 403: You do not have permission to access this resource., 404}\n\n@endpoint GET /v1/projects/{projectIdOrName}/feature-flags/segments/{segmentIdOrSlug}\n@desc Get a segment\n@required {projectIdOrName: str # The project id or name, segmentIdOrSlug: str # The segment slug}\n@optional {withMetadata: bool=false # Whether to include metadata, teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {description: str, createdBy: str, usedByFlags: [str], usedBySegments: [str], id: str, label: str, slug: str, createdAt: num, updatedAt: num, projectId: str, typeName: str, data: map{rules: [map], include: map, exclude: map}, hint: str, metadata: map{creator: map{id: str, name: str}}}\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 402: The account was soft-blocked for an unhandled reason. The account is missing a payment so payment method must be updated, 403: You do not have permission to access this resource., 404}\n\n@endpoint DELETE /v1/projects/{projectIdOrName}/feature-flags/segments/{segmentIdOrSlug}\n@desc Delete a segment\n@required {projectIdOrName: str # The project id or name, segmentIdOrSlug: str # The segment slug}\n@optional {withMetadata: bool=false # Whether to include metadata, teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(204)\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 402: The account was soft-blocked for an unhandled reason. The account is missing a payment so payment method must be updated, 403: You do not have permission to access this resource., 404, 409, 412}\n\n@endpoint PATCH /v1/projects/{projectIdOrName}/feature-flags/segments/{segmentIdOrSlug}\n@desc Update a segment\n@required {projectIdOrName: str # The project id or name, segmentIdOrSlug: str # The segment slug}\n@optional {withMetadata: bool=false # Whether to include metadata, teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of., operations: [map{action!: str, field!: str, entity!: str, attribute!: str, value!: map}], label: str, description: str, data: map{rules: [map], include: map, exclude: map} # The data of the segment, hint: str}\n@returns(200)\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 402: The account was soft-blocked for an unhandled reason. The account is missing a payment so payment method must be updated, 403: You do not have permission to access this resource., 404, 409, 412}\n\n@endgroup\n\n@group deployments\n@endpoint GET /v1/deployments/{deploymentId}/feature-flags\n@desc Retrieve the feature flags of a deployment\n@required {deploymentId: str}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {flags: [map], status: map?{deploymentId: str, projectId: str, responseStatus: num, flagCount: num, createdAt: num}}\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404}\n\n@endgroup\n\n@group projects\n@endpoint GET /v1/projects/{projectIdOrName}/feature-flags/sdk-keys\n@desc Get all SDK keys\n@required {projectIdOrName: str # The project id or name}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {data: [map]}\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 402: The account was soft-blocked for an unhandled reason. The account is missing a payment so payment method must be updated, 403: You do not have permission to access this resource., 404}\n\n@endpoint PUT /v1/projects/{projectIdOrName}/feature-flags/sdk-keys\n@desc Create an SDK key\n@required {projectIdOrName: str # The project id or name, sdkKeyType: str(server/mobile/client), environment: str}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of., label: str}\n@returns(200) {hashKey: str, projectId: str, type: str, environment: str, createdBy: str, createdAt: num, updatedAt: num, label: str, deletedAt: num, keyValue: str, tokenValue: str, connectionString: str}\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 402: The account was soft-blocked for an unhandled reason. The account is missing a payment so payment method must be updated, 403: You do not have permission to access this resource., 404, 409}\n\n@endpoint DELETE /v1/projects/{projectIdOrName}/feature-flags/sdk-keys/{hashKey}\n@desc Delete an SDK key\n@required {projectIdOrName: str # The project id or name, hashKey: str # The SDK key hash key to delete}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(204)\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 402: The account was soft-blocked for an unhandled reason. The account is missing a payment so payment method must be updated, 403: You do not have permission to access this resource., 404, 409}\n\n@endgroup\n\n@group integrations\n@endpoint GET /v1/integrations/git-namespaces\n@desc List git namespaces by provider\n@optional {host: str # The custom Git host if using a custom Git provider, like GitHub Enterprise Server, provider: any(github/github-limited/github-custom-host/gitlab/bitbucket)}\n@returns(200)\n@errors {400: One of the provided values in the request query is invalid., 401, 403: You do not have permission to access this resource., 404, 429, 500}\n\n@endpoint GET /v1/integrations/search-repo\n@desc List git repositories linked to namespace by provider\n@optional {query: str, namespaceId: any, provider: any(github/github-limited/github-custom-host/gitlab/bitbucket), installationId: str, host: str # The custom Git host if using a custom Git provider, like GitHub Enterprise Server, teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200)\n@errors {400: One of the provided values in the request query is invalid., 401, 403: You do not have permission to access this resource., 404, 429, 500}\n\n@endpoint GET /v1/integrations/integration/{integrationIdOrSlug}/products/{productIdOrSlug}/plans\n@desc List integration billing plans\n@required {integrationIdOrSlug: str, productIdOrSlug: str}\n@optional {integrationConfigurationId: str, metadata: str, source: str(marketplace/deploy-button/external/v0/resource-claims/cli/oauth/backoffice), teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {plans: [map]}\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404}\n\n@endpoint POST /v1/integrations/installations/{integrationConfigurationId}/resources/{resourceId}/connections\n@desc Connect integration resource to project\n@required {integrationConfigurationId: str, resourceId: str, projectId: str}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(201)\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404}\n\n@endgroup\n\n@group installations\n@endpoint PATCH /v1/installations/{integrationConfigurationId}\n@desc Update Installation\n@required {integrationConfigurationId: str}\n@optional {status: str(ready/pending/onboarding/suspended/resumed/uninstalled/error), externalId: str, billingPlan: map{id!: str, type!: str, name!: str, description: str, paymentMethodRequired: bool, cost: str, details: [map], highlightedDetails: [map], effectiveDate: str}, notification: any # A notification to display to your customer. Send `null` to clear the current notification.}\n@returns(204)\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404}\n\n@endpoint GET /v1/installations/{integrationConfigurationId}/account\n@desc Get Account Information\n@required {integrationConfigurationId: str}\n@returns(200) {name: str, url: str, contact: map?{email: str, name: str}}\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404}\n\n@endpoint GET /v1/installations/{integrationConfigurationId}/member/{memberId}\n@desc Get Member Information\n@required {integrationConfigurationId: str, memberId: str}\n@returns(200) {id: str, role: str, globalUserId: str, userEmail: str}\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404}\n\n@endpoint POST /v1/installations/{integrationConfigurationId}/events\n@desc Create Event\n@required {integrationConfigurationId: str, event: any}\n@returns(201)\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404}\n\n@endpoint GET /v1/installations/{integrationConfigurationId}/resources\n@desc Get Integration Resources\n@required {integrationConfigurationId: str}\n@returns(200) {resources: [map]}\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404}\n\n@endpoint GET /v1/installations/{integrationConfigurationId}/resources/{resourceId}\n@desc Get Integration Resource\n@required {integrationConfigurationId: str # The ID of the integration configuration (installation) the resource belongs to, resourceId: str # The ID provided by the 3rd party provider for the given resource}\n@returns(200) {id: str, internalId: str, name: str, status: str, productId: str, protocolSettings: map{experimentation: map{edgeConfigSyncingEnabled: bool, edgeConfigId: str, edgeConfigTokenId: str}}, notification: map{title: str, level: str, message: str, href: str}, billingPlanId: str, metadata: map}\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404}\n\n@endpoint DELETE /v1/installations/{integrationConfigurationId}/resources/{resourceId}\n@desc Delete Integration Resource\n@required {integrationConfigurationId: str, resourceId: str}\n@returns(204)\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404}\n\n@endpoint PUT /v1/installations/{integrationConfigurationId}/resources/{resourceId}\n@desc Import Resource\n@required {integrationConfigurationId: str, resourceId: str, productId: str, name: str, status: str(ready/pending/onboarding/suspended/resumed/uninstalled/error)}\n@optional {ownership: str(owned/linked/sandbox), metadata: map, billingPlan: map{id!: str, type!: str, name!: str, description: str, paymentMethodRequired: bool, cost: str, details: [map], highlightedDetails: [map], effectiveDate: str}, notification: map{level!: str, title!: str, message: str, href: str(uri)}, extras: map, secrets: [map{name!: str, value!: str, prefix: str, environmentOverrides: map}]}\n@returns(200) {name: str}\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404, 409, 422, 429}\n\n@endpoint PATCH /v1/installations/{integrationConfigurationId}/resources/{resourceId}\n@desc Update Resource\n@required {integrationConfigurationId: str, resourceId: str}\n@optional {ownership: str(owned/linked/sandbox), name: str, status: str(ready/pending/onboarding/suspended/resumed/uninstalled/error), metadata: map, billingPlan: map{id!: str, type!: str, name!: str, description: str, paymentMethodRequired: bool, cost: str, details: [map], highlightedDetails: [map], effectiveDate: str}, notification: any, extras: map, secrets: any}\n@returns(200) {name: str}\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404, 409, 422}\n\n@endpoint POST /v1/installations/{integrationConfigurationId}/billing\n@desc Submit Billing Data\n@required {integrationConfigurationId: str, timestamp: str(date-time) # 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., eod: str(date-time) # 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., period: map{start!: str(date-time), end!: str(date-time)} # Period for the billing cycle. The period end date cannot be older than 24 hours earlier than our current server's time., billing: any # Billing data (interim invoicing data)., usage: [map{resourceId: str, name!: str, type!: str, units!: str, dayValue!: num, periodValue!: num, planValue: num}]}\n@returns(201)\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404}\n\n@endpoint POST /v1/installations/{integrationConfigurationId}/billing/invoices\n@desc Submit Invoice\n@required {integrationConfigurationId: str, invoiceDate: str(date-time) # Invoice date. Must be within the period's start and end., period: map{start!: str(date-time), end!: str(date-time)} # Subscription period for this billing cycle., items: [map{resourceId: str, billingPlanId!: str, start: str(date-time), end: str(date-time), name!: str, details: str, price!: str, quantity!: num, units!: str, total!: str}]}\n@optional {externalId: str, memo: str # Additional memo for the invoice., discounts: [map{resourceId: str, billingPlanId!: str, start: str(date-time), end: str(date-time), name!: str, details: str, amount!: str}], final: bool # Set this to `true` if this is the final invoice for the installation. Can only be set when the installation is pending deletion., test: map{validate: bool, result: str} # Test mode}\n@returns(200) {invoiceId: str, test: bool, validationErrors: [str]}\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404, 409}\n\n@endpoint POST /v1/installations/{integrationConfigurationId}/billing/finalize\n@desc Finalize Installation\n@required {integrationConfigurationId: str}\n@returns(204)\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404}\n\n@endpoint GET /v1/installations/{integrationConfigurationId}/billing/invoices/{invoiceId}\n@desc Get Invoice\n@required {integrationConfigurationId: str, invoiceId: str}\n@returns(200) {test: bool, invoiceId: str, externalId: str, state: str, invoiceNumber: str, invoiceDate: str, period: map{start: str, end: str}, paidAt: str, refundedAt: str, memo: str, items: [map], discounts: [map], total: str, refundReason: str, refundTotal: str, created: str, updated: str}\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404}\n\n@endpoint POST /v1/installations/{integrationConfigurationId}/billing/invoices/{invoiceId}/actions\n@desc Invoice Actions\n@required {integrationConfigurationId: str, invoiceId: str}\n@returns(204)\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404, 409}\n\n@endpoint POST /v1/installations/{integrationConfigurationId}/billing/balance\n@desc Submit Prepayment Balances\n@required {integrationConfigurationId: str, timestamp: str(date-time) # 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., balances: [map{resourceId: str, credit: str, nameLabel: str, currencyValueInCents!: num}]}\n@returns(201)\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404}\n\n@endpoint PUT /v1/installations/{integrationConfigurationId}/products/{integrationProductIdOrSlug}/resources/{resourceId}/secrets\n@desc Deprecated: true. Update Resource Secrets (Deprecated)\n@required {integrationConfigurationId: str, integrationProductIdOrSlug: str, resourceId: str, secrets: [map{name!: str, value!: str, prefix: str, environmentOverrides: map}]}\n@optional {partial: bool # If true, will only update the provided secrets}\n@returns(201)\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404, 409, 422}\n\n@endpoint PUT /v1/installations/{integrationConfigurationId}/resources/{resourceId}/secrets\n@desc Update Resource Secrets\n@required {integrationConfigurationId: str, resourceId: str, secrets: [map{name!: str, value!: str, prefix: str, environmentOverrides: map}]}\n@optional {partial: bool # If true, will only overwrite the provided secrets instead of replacing all secrets.}\n@returns(201)\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404, 409, 422}\n\n@endgroup\n\n@group integrations\n@endpoint GET /v1/integrations/configurations\n@desc Get configurations for the authenticated user or team\n@required {view: str(account/project)}\n@optional {installationType: str(marketplace/external/provisioning), integrationIdOrSlug: str # ID of the integration, teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) The list of configurations for the authenticated user\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource.}\n\n@endpoint GET /v1/integrations/configuration/{id}\n@desc Retrieve an integration configuration\n@required {id: str # ID of the configuration to check}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) The configuration with the provided id\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404: The configuration was not found}\n\n@endpoint DELETE /v1/integrations/configuration/{id}\n@desc Delete an integration configuration\n@required {id: str}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(204) The configuration was successfully removed\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404: The configuration was not found}\n\n@endpoint GET /v1/integrations/configuration/{id}/products\n@desc List products for integration configuration\n@required {id: str # ID of the integration configuration}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {products: [map], integration: map{id: str, slug: str, name: str}, configuration: map{id: str}} # List of products available for this integration configuration\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404, 500}\n\n@endpoint POST /v1/integrations/sso/token\n@desc SSO Token Exchange\n@returns(200)\n@errors {400: One of the provided values in the request body is invalid., 403, 500}\n\n@endpoint GET /v2/integrations/log-drains\n@desc Retrieves a list of Integration log drains (deprecated)\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) A list of log drains\n@errors {400, 401: The request is not authorized., 403: You do not have permission to access this resource.}\n\n@endpoint POST /v2/integrations/log-drains\n@desc Creates a new Integration Log Drain (deprecated)\n@required {name: str # The name of the log drain, url: str(uri) # The url where you will receive logs. The protocol must be `https://` or `http://` when type is `json` and `ndjson`.}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of., projectIds: [str], secret: str # A secret to sign log drain notification headers so a consumer can verify their authenticity, deliveryFormat: any(json/ndjson) # The delivery log format, sources: [str], headers: map # Headers to be sent together with the request, environments: [str]}\n@returns(200) {clientId: str, configurationId: str, createdAt: num, id: str, deliveryFormat: str, name: str, ownerId: str, projectId: str?, projectIds: [str], url: str, sources: [str], createdFrom: str, headers: map, environments: [str], branch: str, samplingRate: num, source: any} # The log drain was successfully created\n@errors {400: One of the provided values in the request body is invalid. The provided token is not from an OAuth2 Client, 401: The request is not authorized., 403: You do not have permission to access this resource.}\n\n@endpoint DELETE /v1/integrations/log-drains/{id}\n@desc Deletes the Integration log drain with the provided `id` (deprecated)\n@required {id: str # ID of the log drain to be deleted}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(204) The log drain was successfully deleted\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404}\n\n@endgroup\n\n@group projects\n@endpoint GET /v1/projects/{projectId}/deployments/{deploymentId}/runtime-logs\n@desc Get logs for a deployment\n@required {projectId: str, deploymentId: str}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200)\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource.}\n\n@endgroup\n\n@group installations\n@endpoint POST /v1/installations/{integrationConfigurationId}/resources/{resourceId}/experimentation/items\n@desc Create one or multiple experimentation items\n@required {integrationConfigurationId: str, resourceId: str, items: [map{id!: str, slug!: str, origin!: str, category: str, name: str, description: str, isArchived: bool, createdAt: num, updatedAt: num}]}\n@returns(204) The items were created\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404}\n\n@endpoint PATCH /v1/installations/{integrationConfigurationId}/resources/{resourceId}/experimentation/items/{itemId}\n@desc Patch an existing experimentation item\n@required {integrationConfigurationId: str, resourceId: str, itemId: str, slug: str, origin: str}\n@optional {name: str, category: str(experiment/flag), description: str, isArchived: bool, createdAt: num, updatedAt: num}\n@returns(204) The item was updated\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404}\n\n@endpoint DELETE /v1/installations/{integrationConfigurationId}/resources/{resourceId}/experimentation/items/{itemId}\n@desc Delete an existing experimentation item\n@required {integrationConfigurationId: str, resourceId: str, itemId: str}\n@returns(204) The item was deleted\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404}\n\n@endpoint HEAD /v1/installations/{integrationConfigurationId}/resources/{resourceId}/experimentation/edge-config\n@desc Get the data of a user-provided Edge Config\n@required {integrationConfigurationId: str, resourceId: str}\n@returns(200) {items: map, updatedAt: num, digest: str, purpose: str} # The Edge Config data\n@errors {304, 400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404}\n\n@endpoint GET /v1/installations/{integrationConfigurationId}/resources/{resourceId}/experimentation/edge-config\n@desc Get the data of a user-provided Edge Config\n@required {integrationConfigurationId: str, resourceId: str}\n@returns(200) {items: map, updatedAt: num, digest: str, purpose: str} # The Edge Config data\n@errors {304, 400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404}\n\n@endpoint PUT /v1/installations/{integrationConfigurationId}/resources/{resourceId}/experimentation/edge-config\n@desc Push data into a user-provided Edge Config\n@required {integrationConfigurationId: str, resourceId: str, data: map}\n@returns(200) {items: map, updatedAt: num, digest: str, purpose: str} # The Edge Config was updated\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404, 409, 412}\n\n@endgroup\n\n@group microfrontends\n@endpoint GET /v1/microfrontends/groups\n@desc List microfrontends groups\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200)\n@errors {400, 401: The request is not authorized., 403: You do not have permission to access this resource., 500}\n\n@endpoint GET /v1/microfrontends/groups/{groupId}/projects\n@desc List projects in a microfrontends group\n@required {groupId: str}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {projects: [map]}\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource.}\n\n@endpoint GET /v1/microfrontends/{deploymentId}/config\n@desc Get microfrontends config for a deployment\n@required {deploymentId: str # The unique deployment identifier}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {config: map?{$schema: str, version: str, applications: map, options: map{disableOverrides: bool, localProxyPort: num}}}\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404, 500}\n\n@endpoint GET /v1/microfrontends/projects/{projectIdOrName}/production-mfe-config\n@desc Get microfrontends config for a project\n@required {projectIdOrName: str # The name or ID of the project}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {config: map?{$schema: str, version: str, applications: map, options: map{disableOverrides: bool, localProxyPort: num}}}\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404, 500}\n\n@endpoint POST /v1/microfrontends/group\n@desc Create a microfrontends group with applications\n@required {groupName: str # The name of the microfrontends group that will be used to identify the group, defaultApp: map{projectId!: str, defaultRoute: str} # The default app for the new microfrontend group, otherApplications: [map{projectId!: str, defaultRoute: str}] # The list of other applications that will be used in the new microfrontend group}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {newMicrofrontendsGroup: map{id: str, slug: str, name: str, fallbackEnvironment: str, createdAt: num, updatedAt: num}}\n@errors {400: One of the provided values in the request body is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 500}\n\n@endgroup\n\n@group observability\n@endpoint GET /v1/observability/manage/configuration/projects\n@desc Lists disabled Observability Plus projects\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {disabledProjects: [map]}\n@errors {400, 401: The request is not authorized., 403: You do not have permission to access this resource., 404}\n\n@endpoint PUT /v1/observability/manage/configuration/projects/{projectIdOrName}\n@desc Updates a disabled Observability Plus project setting\n@required {projectIdOrName: str # The ID or name of the project to update, disabled: bool # Whether Observability Plus should be disabled for the project}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {id: str, disabledAt: num}\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404}\n\n@endgroup\n\n@group projects\n@endpoint GET /v1/projects/{idOrName}/members\n@desc List project members\n@required {idOrName: str # The ID or name of the Project.}\n@optional {limit: int # Limit how many project members should be returned, since: int # Timestamp in milliseconds to only include members added since then., until: int # Timestamp in milliseconds to only include members added until then., search: str # Search project members by their name, username, and email., teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) Paginated list of members for the project.\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource.}\n\n@endpoint POST /v1/projects/{idOrName}/members\n@desc Adds a new member to a project.\n@required {idOrName: str # The ID or name of the Project., role: str(ADMIN/PROJECT_VIEWER/PROJECT_DEVELOPER) # The project role of the member that will be added.}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of., uid: str # The ID of the team member that should be added to this project., username: str # The username of the team member that should be added to this project., email: str(email) # The email of the team member that should be added to this project.}\n@returns(200) {id: str} # Responds with the project ID on success.\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 500}\n\n@endpoint DELETE /v1/projects/{idOrName}/members/{uid}\n@desc Remove a Project Member\n@required {idOrName: str # The ID or name of the Project., uid: str # The user ID of the member.}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {id: str}\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource.}\n\n@endpoint GET /v1/projects/{projectId}/routes\n@desc Get project routing rules\n@required {projectId: str}\n@optional {versionId: str, q: str, filter: str(rewrite/redirect/set_status/transform), diff: any, teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200)\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404}\n\n@endpoint PUT /v1/projects/{projectId}/routes\n@desc Stage routing rules\n@required {projectId: str}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of., overwrite: bool, routes: [map{id!: str, name!: str, description: str, enabled: bool, route!: map}]=}\n@returns(200) {version: map{id: str, s3Key: str, lastModified: num, createdBy: str, isStaging: bool, isLive: bool, ruleCount: num, alias: str}}\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource.}\n\n@endpoint POST /v1/projects/{projectId}/routes\n@desc Add a routing rule\n@required {projectId: str, route: map{name!: str, description: str, enabled: bool, srcSyntax: str, route!: map}}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of., position: map{placement: str, referenceId: str} # Controls where the route is inserted. Defaults to \\\"end\\\" if omitted.}\n@returns(200) {route: map{routeType: str, id: str, name: str, description: str, enabled: bool, staged: bool, route: map{src: str, dest: str, headers: map, methods: [str], continue: bool, override: bool, caseSensitive: bool, check: bool, important: bool, status: num, has: [any], missing: [any], mitigate: map{action: str}, transforms: [map], env: [str], locale: map{redirect: map, cookie: str}, source: str, destination: str, statusCode: num, middlewarePath: str, middlewareRawSrc: [str], middleware: num, respectOriginCacheControl: bool}, rawSrc: str, rawDest: str, srcSyntax: str}, version: map{id: str, s3Key: str, lastModified: num, createdBy: str, isStaging: bool, isLive: bool, ruleCount: num, alias: str}}\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource.}\n\n@endpoint DELETE /v1/projects/{projectId}/routes\n@desc Delete routing rules\n@required {projectId: str, routeIds: [str] # The IDs of the routes to delete}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {deletedCount: num, version: map{id: str, s3Key: str, lastModified: num, createdBy: str, isStaging: bool, isLive: bool, ruleCount: num, alias: str}}\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404}\n\n@endpoint PATCH /v1/projects/{projectId}/routes/{routeId}\n@desc Edit a routing rule\n@required {projectId: str, routeId: str}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of., route: map{name!: str, description: str, enabled: bool, srcSyntax: str, route!: map} # The full route object to replace the existing route with, restore: bool # If true, restores the staged route to the value in the production version.}\n@returns(200) {route: map{routeType: str, id: str, name: str, description: str, enabled: bool, staged: bool, route: map{src: str, dest: str, headers: map, methods: [str], continue: bool, override: bool, caseSensitive: bool, check: bool, important: bool, status: num, has: [any], missing: [any], mitigate: map{action: str}, transforms: [map], env: [str], locale: map{redirect: map, cookie: str}, source: str, destination: str, statusCode: num, middlewarePath: str, middlewareRawSrc: [str], middleware: num, respectOriginCacheControl: bool}, rawSrc: str, rawDest: str, srcSyntax: str}, version: map{id: str, s3Key: str, lastModified: num, createdBy: str, isStaging: bool, isLive: bool, ruleCount: num, alias: str}}\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404}\n\n@endpoint POST /v1/projects/{projectId}/routes/generate\n@desc Generate a routing rule from natural language\n@required {projectId: str, prompt: str}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of., currentRoute: map{name: str, description: str, pathCondition!: map, conditions: [map], actions!: [map]}}\n@returns(200) {route: map{name: str, description: str, pathCondition: map{value: str, syntax: str}, conditions: [map], actions: [map]}, error: str}\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 408, 500}\n\n@endpoint GET /v1/projects/{projectId}/routes/versions\n@desc Get routing rule version history\n@required {projectId: str}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {versions: [map]}\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource.}\n\n@endpoint POST /v1/projects/{projectId}/routes/versions\n@desc Promote, restore, or discard a routing rule version\n@required {projectId: str, id: str, action: str(promote/restore/discard)}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {version: map{id: str, s3Key: str, lastModified: num, createdBy: str, isStaging: bool, isLive: bool, ruleCount: num, alias: str}}\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404, 500}\n\n@endpoint GET /v10/projects\n@desc Retrieve a list of projects\n@optional {from: str # Query only projects updated after the given timestamp or continuation token., gitForkProtection: str(1/0) # Specifies whether PRs from Git forks should require a team member's authorization before it can be deployed, limit: str # Limit the number of projects returned, search: str # Search projects by the name field, repo: str # Filter results by repo. Also used for project count, repoId: str # Filter results by Repository ID., repoUrl: str # Filter results by Repository URL., excludeRepos: str # Filter results by excluding those projects that belong to a repo, edgeConfigId: str # Filter results by connected Edge Config ID, edgeConfigTokenId: str # Filter results by connected Edge Config Token ID, deprecated: bool, elasticConcurrencyEnabled: str(1/0) # Filter results by projects with elastic concurrency enabled, staticIpsEnabled: str(0/1) # Filter results by projects with Static IPs enabled, buildMachineTypes: str # Filter results by build machine types. Accepts comma-separated values. Use \\\"default\\\" for projects without a build machine type set., buildQueueConfiguration: str(SKIP_NAMESPACE_QUEUE/WAIT_FOR_NAMESPACE_QUEUE) # Filter results by build queue configuration. SKIP_NAMESPACE_QUEUE includes projects without a configuration set., teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200)\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource.}\n\n@endpoint POST /v11/projects\n@desc Create a new project\n@required {name: str # The desired name for the project}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of., enablePreviewFeedback: bool # Opt-in to preview toolbar on the project level, enableProductionFeedback: bool # Opt-in to production toolbar on the project level, previewDeploymentsDisabled: bool # Specifies whether preview deployments are disabled for this project., previewDeploymentSuffix: str # Custom domain suffix for preview deployments. Takes precedence over team-level suffix. Must be a domain owned by the team., buildCommand: str # The build command for this project. When `null` is used this value will be automatically detected, commandForIgnoringBuildStep: str, devCommand: str # The dev command for this project. When `null` is used this value will be automatically detected, environmentVariables: [map{key!: str, target!: any, gitBranch: str, type: str, value!: str}] # Collection of ENV Variables the Project will use, framework: any(services/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/django/sanity-v3/sanity/storybook/nitro/hono/express/h3/koa/nestjs/elysia/fastify/xmcp/python/ruby/rust/node/go) # The framework that is being used for this project. When `null` is used no framework is selected, gitRepository: map{repo!: str, type!: any} # 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, installCommand: str # The install command for this project. When `null` is used this value will be automatically detected, skipGitConnectDuringLink: bool # Opts-out of the message prompting a CLI user to connect a Git repository in `vercel link`., ssoProtection: map{deploymentType!: str} # The Vercel Auth setting for the project (historically named \\\"SSO Protection\\\"), outputDirectory: str # The output directory of the project. When `null` is used this value will be automatically detected, publicSource: bool # Specifies whether the source code and logs of the deployments for this project should be public or not, rootDirectory: str # 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, serverlessFunctionRegion: str # The region to deploy Serverless Functions in this project, serverlessFunctionZeroConfigFailover: any # Specifies whether Zero Config Failover is enabled for this project., oidcTokenConfig: map{enabled: bool, issuerMode: str} # OpenID Connect JSON Web Token generation configuration., enableAffectedProjectsDeployments: bool # Opt-in to skip deployments when there are no changes to the root directory and its dependencies, resourceConfig: map{fluid: bool, functionDefaultRegions: [str], functionDefaultTimeout: num, functionDefaultMemoryType: any, functionZeroConfigFailover: any, elasticConcurrencyEnabled: bool, buildMachineType: any, buildMachineSelection: any, buildMachineElasticLastUpdated: num, isNSNBDisabled: bool, buildQueue: map} # Specifies resource override configuration for the project}\n@returns(200) {accountId: str, analytics: map{id: str, canceledAt: num?, disabledAt: num, enabledAt: num, paidAt: num, sampleRatePercent: num?, spendLimitInDollars: num?}, appliedCve55182Migration: bool, speedInsights: map{id: str, enabledAt: num, disabledAt: num, canceledAt: num, hasData: bool, paidAt: num}, autoExposeSystemEnvs: bool, autoAssignCustomDomains: bool, autoAssignCustomDomainsUpdatedBy: str, buildCommand: str?, commandForIgnoringBuildStep: str?, connectConfigurations: [map]?, connectConfigurationId: str?, connectBuildsEnabled: bool, passiveConnectConfigurationId: str?, createdAt: num, customerSupportCodeVisibility: bool, crons: map{enabledAt: num, disabledAt: num?, updatedAt: num, deploymentId: str?, definitions: [map]}, dataCache: map{userDisabled: bool, storageSizeBytes: num?, unlimited: bool}, delegatedProtection: map?, deploymentExpiration: map{expirationDays: num, expirationDaysProduction: num, expirationDaysCanceled: num, expirationDaysErrored: num, deploymentsToKeep: num}, devCommand: str?, directoryListing: bool, installCommand: str?, env: [map], customEnvironments: [map], framework: str?, gitForkProtection: bool, gitLFS: bool, id: str, ipBuckets: [map], jobs: map{lint: map{targets: [str]}, typecheck: map{targets: [str]}}, latestDeployments: [map], link: any, microfrontends: any, name: str, nodeVersion: str, optionsAllowlist: map?{paths: [map]}, outputDirectory: str?, passwordProtection: map?, productionDeploymentsFastLane: bool, publicSource: bool?, resourceConfig: map{elasticConcurrencyEnabled: bool, fluid: bool, functionDefaultRegions: [str], functionDefaultTimeout: num, functionDefaultMemoryType: str, functionZeroConfigFailover: bool, buildMachineType: str, buildMachineSelection: str, buildMachineElasticLastUpdated: num, isNSNBDisabled: bool, buildQueue: map{configuration: str}}, rollbackDescription: map{userId: str, username: str, description: str, createdAt: num}, rollingRelease: map?{target: str, stages: [map]?, canaryResponseHeader: bool}, defaultResourceConfig: map{elasticConcurrencyEnabled: bool, fluid: bool, functionDefaultRegions: [str], functionDefaultTimeout: num, functionDefaultMemoryType: str, functionZeroConfigFailover: bool, buildMachineType: str, buildMachineSelection: str, buildMachineElasticLastUpdated: num, isNSNBDisabled: bool, buildQueue: map{configuration: str}}, rootDirectory: str?, serverlessFunctionZeroConfigFailover: bool, skewProtectionBoundaryAt: num, skewProtectionMaxAge: num, skewProtectionAllowedDomains: [str], skipGitConnectDuringLink: bool, staticIps: map{builds: bool, enabled: bool, regions: [str]}, sourceFilesOutsideRootDirectory: bool, enableAffectedProjectsDeployments: bool, enableExternalRewriteCaching: bool, ssoProtection: map?{deploymentType: str, cve55182MigrationAppliedFrom: str?}, targets: map, transferCompletedAt: num, transferStartedAt: num, transferToAccountId: str, transferredFromAccountId: str, updatedAt: num, live: bool, enablePreviewFeedback: bool?, enableProductionFeedback: bool?, permissions: map{oauth2Connection: [str], user: [str], userConnection: [str], userPreference: [str], userSudo: [str], webAuthn: [str], accessGroup: [str], agent: [str], aiGatewayUsage: [str], alerts: [str], alertRules: [str], aliasGlobal: [str], analyticsSampling: [str], analyticsUsage: [str], apiKey: [str], apiKeyAiGateway: [str], apiKeyOwnedBySelf: [str], oauth2Application: [str], vercelAppInstallation: [str], vercelAppInstallationRequest: [str], auditLog: [str], billingAddress: [str], billingInformation: [str], billingInvoice: [str], billingInvoiceEmailRecipient: [str], billingInvoiceLanguage: [str], billingPlan: [str], billingPurchaseOrder: [str], billingRefund: [str], billingTaxId: [str], blob: [str], blobStoreTokenSet: [str], budget: [str], cacheArtifact: [str], cacheArtifactUsageEvent: [str], codeChecks: [str], ciInvocations: [str], ciLogs: [str], concurrentBuilds: [str], connect: [str], connectConfiguration: [str], buildMachineDefault: [str], dataCacheBillingSettings: [str], defaultDeploymentProtection: [str], domain: [str], domainAcceptDelegation: [str], domainAuthCodes: [str], domainCertificate: [str], domainCheckConfig: [str], domainMove: [str], domainPurchase: [str], domainRecord: [str], domainTransferIn: [str], drain: [str], edgeConfig: [str], edgeConfigItem: [str], edgeConfigSchema: [str], edgeConfigToken: [str], endpointVerification: [str], event: [str], fileUpload: [str], flagsExplorerSubscription: [str], gitRepository: [str], imageOptimizationNewPrice: [str], integration: [str], integrationAccount: [str], integrationConfiguration: [str], integrationConfigurationProjects: [str], integrationConfigurationRole: [str], integrationConfigurationTransfer: [str], integrationDeploymentAction: [str], integrationEvent: [str], integrationLog: [str], integrationResource: [str], integrationResourceData: [str], integrationResourceReplCommand: [str], integrationResourceSecrets: [str], integrationSSOSession: [str], integrationStrict: [str], integrationStoreTokenSet: [str], integrationVercelConfigurationOverride: [str], integrationPullRequest: [str], ipBlocking: [str], jobGlobal: [str], logDrain: [str], marketplaceBillingData: [str], marketplaceExperimentationEdgeConfigData: [str], marketplaceExperimentationItem: [str], marketplaceInstallationMember: [str], marketplaceInvoice: [str], marketplaceSettings: [str], Monitoring: [str], monitoringAlert: [str], monitoringChart: [str], monitoringQuery: [str], monitoringSettings: [str], notificationCustomerBudget: [str], notificationDeploymentFailed: [str], notificationDomainConfiguration: [str], notificationDomainExpire: [str], notificationDomainMoved: [str], notificationDomainPurchase: [str], notificationDomainRenewal: [str], notificationDomainTransfer: [str], notificationDomainUnverified: [str], NotificationMonitoringAlert: [str], notificationPaymentFailed: [str], notificationPreferences: [str], notificationStatementOfReasons: [str], notificationUsageAlert: [str], observabilityConfiguration: [str], observabilityFunnel: [str], observabilityNotebook: [str], openTelemetryEndpoint: [str], ownEvent: [str], organization: [str], organizationDomain: [str], passwordProtectionInvoiceItem: [str], paymentMethod: [str], permissions: [str], postgres: [str], postgresStoreTokenSet: [str], previewDeploymentSuffix: [str], privateCloudAccount: [str], projectTransferIn: [str], proTrialOnboarding: [str], rateLimit: [str], redis: [str], redisStoreTokenSet: [str], remoteCaching: [str], repository: [str], samlConfig: [str], secret: [str], securityPlusConfiguration: [str], sensitiveEnvironmentVariablePolicy: [str], sharedEnvVars: [str], sharedEnvVarsProduction: [str], space: [str], spaceRun: [str], storeTransfer: [str], supportCase: [str], supportCaseComment: [str], team: [str], teamAccessRequest: [str], teamFellowMembership: [str], teamGitExclusivity: [str], teamInvite: [str], teamInviteCode: [str], teamJoin: [str], teamMemberMfaStatus: [str], teamMicrofrontends: [str], teamOwnMembership: [str], teamOwnMembershipDisconnectSAML: [str], token: [str], toolbarComment: [str], usage: [str], usageCycle: [str], vercelRun: [str], vercelRunExec: [str], vpcPeeringConnection: [str], webAnalyticsPlan: [str], webhook: [str], webhook-event: [str], aliasProject: [str], aliasProtectionBypass: [str], bulkRedirects: [str], buildMachine: [str], connectConfigurationLink: [str], dataCacheNamespace: [str], deployment: [str], deploymentBuildLogs: [str], deploymentCheck: [str], deploymentCheckPreview: [str], deploymentCheckReRunFromProductionBranch: [str], deploymentProductionGit: [str], deploymentV0: [str], deploymentPreview: [str], deploymentPrivate: [str], deploymentPromote: [str], deploymentRollback: [str], edgeCacheNamespace: [str], environments: [str], job: [str], logs: [str], logsPreset: [str], observabilityData: [str], onDemandBuild: [str], onDemandConcurrency: [str], optionsAllowlist: [str], passwordProtection: [str], privateLinkEndpoint: [str], productionAliasProtectionBypass: [str], project: [str], projectAccessGroup: [str], projectAnalyticsSampling: [str], projectAnalyticsUsage: [str], projectCheck: [str], projectCheckRun: [str], projectDelegatedProtection: [str], projectDeploymentExpiration: [str], projectDeploymentHook: [str], projectDeploymentProtectionStrict: [str], projectDomain: [str], projectDomainCheckConfig: [str], projectDomainMove: [str], projectEvent: [str], projectEnvVars: [str], projectEnvVarsProduction: [str], projectEnvVarsUnownedByIntegration: [str], projectFlags: [str], projectFlagsProduction: [str], projectFromV0: [str], projectId: [str], projectIntegrationConfiguration: [str], projectLink: [str], projectMember: [str], projectMonitoring: [str], projectOIDCToken: [str], projectPermissions: [str], projectProductionBranch: [str], projectProtectionBypass: [str], projectRollingRelease: [str], projectRoutes: [str], projectSupportCase: [str], projectSupportCaseComment: [str], projectTier: [str], projectTransfer: [str], projectTransferOut: [str], projectUsage: [str], seawallConfig: [str], sharedEnvVarConnection: [str], skewProtection: [str], analytics: [str], trustedIps: [str], v0Chat: [str], webAnalytics: [str]}, lastRollbackTarget: map?, lastAliasRequest: map?{fromDeploymentId: str?, toDeploymentId: str, fromRollingReleaseId: str, jobStatus: str, requestedAt: num, type: str}, protectionBypass: map, hasActiveBranches: bool, trustedIps: any?, gitComments: map{onPullRequest: bool, onCommit: bool}, gitProviderOptions: map{createDeployments: str, disableRepositoryDispatchEvents: bool, requireVerifiedCommits: bool, consolidatedGitCommitStatus: map{enabled: bool, propagateFailures: bool}}, paused: bool, concurrencyBucketName: str, webAnalytics: map{id: str, disabledAt: num, canceledAt: num, enabledAt: num, hasData: bool}, security: map{attackModeEnabled: bool, attackModeUpdatedAt: num, firewallEnabled: bool, firewallUpdatedAt: num, attackModeActiveUntil: num?, firewallConfigVersion: num, firewallSeawallEnabled: bool, ja3Enabled: bool, ja4Enabled: bool, firewallBypassIps: [str], managedRules: map?{vercel_ruleset: map{active: bool, action: str}, bot_filter: map{active: bool, action: str}, ai_bots: map{active: bool, action: str}, owasp: map{active: bool, action: str}}, botIdEnabled: bool, log_headers: any, securityPlus: bool}, oidcTokenConfig: map{enabled: bool, issuerMode: str}, tier: str, flatRateTier: str, usageStatus: map{kind: str, exceededAllowanceUntil: num, bypassThrottleUntil: num}, features: map{webAnalytics: bool}, v0: bool, v0Created: bool, abuse: map{scanner: str, history: [map], updatedAt: num, block: map{action: str, reason: str, statusCode: num, createdAt: num, caseId: str, actor: str, comment: str, ineligibleForAppeal: bool, isCascading: bool}, blockHistory: [any], interstitial: bool}, internalRoutes: [any], hasDeployments: bool, dismissedToasts: [map], protectedSourcemaps: bool, tracing: map{domains: str, ignorePaths: [str], samplingRules: [map]}} # The project was successfuly created\n@errors {400: 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: The request is not authorized., 402: 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: You do not have permission to access this resource., 404, 409: A project with the provided name already exists., 428: Owner does not have protection add-on, 429, 500}\n\n@endpoint GET /v9/projects/{idOrName}\n@desc Find a project by id or name\n@required {idOrName: any # The unique project identifier or the project name}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {integrations: [map], accountId: str, analytics: map{id: str, canceledAt: num?, disabledAt: num, enabledAt: num, paidAt: num, sampleRatePercent: num?, spendLimitInDollars: num?}, appliedCve55182Migration: bool, speedInsights: map{id: str, enabledAt: num, disabledAt: num, canceledAt: num, hasData: bool, paidAt: num}, autoExposeSystemEnvs: bool, autoAssignCustomDomains: bool, autoAssignCustomDomainsUpdatedBy: str, buildCommand: str?, commandForIgnoringBuildStep: str?, connectConfigurations: [map]?, connectConfigurationId: str?, connectBuildsEnabled: bool, passiveConnectConfigurationId: str?, createdAt: num, customerSupportCodeVisibility: bool, crons: map{enabledAt: num, disabledAt: num?, updatedAt: num, deploymentId: str?, definitions: [map]}, dataCache: map{userDisabled: bool, storageSizeBytes: num?, unlimited: bool}, delegatedProtection: map?, deploymentExpiration: map{expirationDays: num, expirationDaysProduction: num, expirationDaysCanceled: num, expirationDaysErrored: num, deploymentsToKeep: num}, devCommand: str?, directoryListing: bool, installCommand: str?, env: [map], customEnvironments: [map], framework: str?, gitForkProtection: bool, gitLFS: bool, id: str, ipBuckets: [map], jobs: map{lint: map{targets: [str]}, typecheck: map{targets: [str]}}, latestDeployments: [map], link: any, microfrontends: any, name: str, nodeVersion: str, optionsAllowlist: map?{paths: [map]}, outputDirectory: str?, passwordProtection: map?, productionDeploymentsFastLane: bool, publicSource: bool?, resourceConfig: map{elasticConcurrencyEnabled: bool, fluid: bool, functionDefaultRegions: [str], functionDefaultTimeout: num, functionDefaultMemoryType: str, functionZeroConfigFailover: bool, buildMachineType: str, buildMachineSelection: str, buildMachineElasticLastUpdated: num, isNSNBDisabled: bool, buildQueue: map{configuration: str}}, rollbackDescription: map{userId: str, username: str, description: str, createdAt: num}, rollingRelease: map?{target: str, stages: [map]?, canaryResponseHeader: bool}, defaultResourceConfig: map{elasticConcurrencyEnabled: bool, fluid: bool, functionDefaultRegions: [str], functionDefaultTimeout: num, functionDefaultMemoryType: str, functionZeroConfigFailover: bool, buildMachineType: str, buildMachineSelection: str, buildMachineElasticLastUpdated: num, isNSNBDisabled: bool, buildQueue: map{configuration: str}}, rootDirectory: str?, serverlessFunctionZeroConfigFailover: bool, skewProtectionBoundaryAt: num, skewProtectionMaxAge: num, skewProtectionAllowedDomains: [str], skipGitConnectDuringLink: bool, staticIps: map{builds: bool, enabled: bool, regions: [str]}, sourceFilesOutsideRootDirectory: bool, enableAffectedProjectsDeployments: bool, enableExternalRewriteCaching: bool, ssoProtection: map?{deploymentType: str, cve55182MigrationAppliedFrom: str?}, targets: map, transferCompletedAt: num, transferStartedAt: num, transferToAccountId: str, transferredFromAccountId: str, updatedAt: num, live: bool, enablePreviewFeedback: bool?, enableProductionFeedback: bool?, permissions: map{oauth2Connection: [str], user: [str], userConnection: [str], userPreference: [str], userSudo: [str], webAuthn: [str], accessGroup: [str], agent: [str], aiGatewayUsage: [str], alerts: [str], alertRules: [str], aliasGlobal: [str], analyticsSampling: [str], analyticsUsage: [str], apiKey: [str], apiKeyAiGateway: [str], apiKeyOwnedBySelf: [str], oauth2Application: [str], vercelAppInstallation: [str], vercelAppInstallationRequest: [str], auditLog: [str], billingAddress: [str], billingInformation: [str], billingInvoice: [str], billingInvoiceEmailRecipient: [str], billingInvoiceLanguage: [str], billingPlan: [str], billingPurchaseOrder: [str], billingRefund: [str], billingTaxId: [str], blob: [str], blobStoreTokenSet: [str], budget: [str], cacheArtifact: [str], cacheArtifactUsageEvent: [str], codeChecks: [str], ciInvocations: [str], ciLogs: [str], concurrentBuilds: [str], connect: [str], connectConfiguration: [str], buildMachineDefault: [str], dataCacheBillingSettings: [str], defaultDeploymentProtection: [str], domain: [str], domainAcceptDelegation: [str], domainAuthCodes: [str], domainCertificate: [str], domainCheckConfig: [str], domainMove: [str], domainPurchase: [str], domainRecord: [str], domainTransferIn: [str], drain: [str], edgeConfig: [str], edgeConfigItem: [str], edgeConfigSchema: [str], edgeConfigToken: [str], endpointVerification: [str], event: [str], fileUpload: [str], flagsExplorerSubscription: [str], gitRepository: [str], imageOptimizationNewPrice: [str], integration: [str], integrationAccount: [str], integrationConfiguration: [str], integrationConfigurationProjects: [str], integrationConfigurationRole: [str], integrationConfigurationTransfer: [str], integrationDeploymentAction: [str], integrationEvent: [str], integrationLog: [str], integrationResource: [str], integrationResourceData: [str], integrationResourceReplCommand: [str], integrationResourceSecrets: [str], integrationSSOSession: [str], integrationStrict: [str], integrationStoreTokenSet: [str], integrationVercelConfigurationOverride: [str], integrationPullRequest: [str], ipBlocking: [str], jobGlobal: [str], logDrain: [str], marketplaceBillingData: [str], marketplaceExperimentationEdgeConfigData: [str], marketplaceExperimentationItem: [str], marketplaceInstallationMember: [str], marketplaceInvoice: [str], marketplaceSettings: [str], Monitoring: [str], monitoringAlert: [str], monitoringChart: [str], monitoringQuery: [str], monitoringSettings: [str], notificationCustomerBudget: [str], notificationDeploymentFailed: [str], notificationDomainConfiguration: [str], notificationDomainExpire: [str], notificationDomainMoved: [str], notificationDomainPurchase: [str], notificationDomainRenewal: [str], notificationDomainTransfer: [str], notificationDomainUnverified: [str], NotificationMonitoringAlert: [str], notificationPaymentFailed: [str], notificationPreferences: [str], notificationStatementOfReasons: [str], notificationUsageAlert: [str], observabilityConfiguration: [str], observabilityFunnel: [str], observabilityNotebook: [str], openTelemetryEndpoint: [str], ownEvent: [str], organization: [str], organizationDomain: [str], passwordProtectionInvoiceItem: [str], paymentMethod: [str], permissions: [str], postgres: [str], postgresStoreTokenSet: [str], previewDeploymentSuffix: [str], privateCloudAccount: [str], projectTransferIn: [str], proTrialOnboarding: [str], rateLimit: [str], redis: [str], redisStoreTokenSet: [str], remoteCaching: [str], repository: [str], samlConfig: [str], secret: [str], securityPlusConfiguration: [str], sensitiveEnvironmentVariablePolicy: [str], sharedEnvVars: [str], sharedEnvVarsProduction: [str], space: [str], spaceRun: [str], storeTransfer: [str], supportCase: [str], supportCaseComment: [str], team: [str], teamAccessRequest: [str], teamFellowMembership: [str], teamGitExclusivity: [str], teamInvite: [str], teamInviteCode: [str], teamJoin: [str], teamMemberMfaStatus: [str], teamMicrofrontends: [str], teamOwnMembership: [str], teamOwnMembershipDisconnectSAML: [str], token: [str], toolbarComment: [str], usage: [str], usageCycle: [str], vercelRun: [str], vercelRunExec: [str], vpcPeeringConnection: [str], webAnalyticsPlan: [str], webhook: [str], webhook-event: [str], aliasProject: [str], aliasProtectionBypass: [str], bulkRedirects: [str], buildMachine: [str], connectConfigurationLink: [str], dataCacheNamespace: [str], deployment: [str], deploymentBuildLogs: [str], deploymentCheck: [str], deploymentCheckPreview: [str], deploymentCheckReRunFromProductionBranch: [str], deploymentProductionGit: [str], deploymentV0: [str], deploymentPreview: [str], deploymentPrivate: [str], deploymentPromote: [str], deploymentRollback: [str], edgeCacheNamespace: [str], environments: [str], job: [str], logs: [str], logsPreset: [str], observabilityData: [str], onDemandBuild: [str], onDemandConcurrency: [str], optionsAllowlist: [str], passwordProtection: [str], privateLinkEndpoint: [str], productionAliasProtectionBypass: [str], project: [str], projectAccessGroup: [str], projectAnalyticsSampling: [str], projectAnalyticsUsage: [str], projectCheck: [str], projectCheckRun: [str], projectDelegatedProtection: [str], projectDeploymentExpiration: [str], projectDeploymentHook: [str], projectDeploymentProtectionStrict: [str], projectDomain: [str], projectDomainCheckConfig: [str], projectDomainMove: [str], projectEvent: [str], projectEnvVars: [str], projectEnvVarsProduction: [str], projectEnvVarsUnownedByIntegration: [str], projectFlags: [str], projectFlagsProduction: [str], projectFromV0: [str], projectId: [str], projectIntegrationConfiguration: [str], projectLink: [str], projectMember: [str], projectMonitoring: [str], projectOIDCToken: [str], projectPermissions: [str], projectProductionBranch: [str], projectProtectionBypass: [str], projectRollingRelease: [str], projectRoutes: [str], projectSupportCase: [str], projectSupportCaseComment: [str], projectTier: [str], projectTransfer: [str], projectTransferOut: [str], projectUsage: [str], seawallConfig: [str], sharedEnvVarConnection: [str], skewProtection: [str], analytics: [str], trustedIps: [str], v0Chat: [str], webAnalytics: [str]}, lastRollbackTarget: map?, lastAliasRequest: map?{fromDeploymentId: str?, toDeploymentId: str, fromRollingReleaseId: str, jobStatus: str, requestedAt: num, type: str}, protectionBypass: map, hasActiveBranches: bool, trustedIps: any?, gitComments: map{onPullRequest: bool, onCommit: bool}, gitProviderOptions: map{createDeployments: str, disableRepositoryDispatchEvents: bool, requireVerifiedCommits: bool, consolidatedGitCommitStatus: map{enabled: bool, propagateFailures: bool}}, paused: bool, concurrencyBucketName: str, webAnalytics: map{id: str, disabledAt: num, canceledAt: num, enabledAt: num, hasData: bool}, security: map{attackModeEnabled: bool, attackModeUpdatedAt: num, firewallEnabled: bool, firewallUpdatedAt: num, attackModeActiveUntil: num?, firewallConfigVersion: num, firewallSeawallEnabled: bool, ja3Enabled: bool, ja4Enabled: bool, firewallBypassIps: [str], managedRules: map?{vercel_ruleset: map{active: bool, action: str}, bot_filter: map{active: bool, action: str}, ai_bots: map{active: bool, action: str}, owasp: map{active: bool, action: str}}, botIdEnabled: bool, log_headers: any, securityPlus: bool}, oidcTokenConfig: map{enabled: bool, issuerMode: str}, tier: str, flatRateTier: str, usageStatus: map{kind: str, exceededAllowanceUntil: num, bypassThrottleUntil: num}, features: map{webAnalytics: bool}, v0: bool, v0Created: bool, abuse: map{scanner: str, history: [map], updatedAt: num, block: map{action: str, reason: str, statusCode: num, createdAt: num, caseId: str, actor: str, comment: str, ineligibleForAppeal: bool, isCascading: bool}, blockHistory: [any], interstitial: bool}, internalRoutes: [any], hasDeployments: bool, dismissedToasts: [map], protectedSourcemaps: bool, tracing: map{domains: str, ignorePaths: [str], samplingRules: [map]}} # The project information\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource.}\n\n@endpoint PATCH /v9/projects/{idOrName}\n@desc Update an existing project\n@required {idOrName: str # The unique project identifier or the project name}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of., autoExposeSystemEnvs: bool, autoAssignCustomDomains: bool, autoAssignCustomDomainsUpdatedBy: str, buildCommand: str # The build command for this project. When `null` is used this value will be automatically detected, commandForIgnoringBuildStep: str, customerSupportCodeVisibility: bool # Specifies whether customer support can see git source for a deployment, devCommand: str # The dev command for this project. When `null` is used this value will be automatically detected, directoryListing: bool, framework: str(services/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/django/sanity-v3/sanity/storybook/nitro/hono/express/h3/koa/nestjs/elysia/fastify/xmcp/python/ruby/rust/node/go) # The framework that is being used for this project. When `null` is used no framework is selected, gitForkProtection: bool # Specifies whether PRs from Git forks should require a team member's authorization before it can be deployed, gitLFS: bool # Specifies whether Git LFS is enabled for this project., protectedSourcemaps: bool # Specifies whether sourcemaps are protected and require authentication to access., installCommand: str # The install command for this project. When `null` is used this value will be automatically detected, name: str # The desired name for the project, nodeVersion: str(24.x/22.x/20.x/18.x/16.x/14.x/12.x/10.x), outputDirectory: str # The output directory of the project. When `null` is used this value will be automatically detected, previewDeploymentsDisabled: bool # Specifies whether preview deployments are disabled for this project., previewDeploymentSuffix: str # Custom domain suffix for preview deployments. Takes precedence over team-level suffix. Must be a domain owned by the team., publicSource: bool # Specifies whether the source code and logs of the deployments for this project should be public or not, resourceConfig: map{buildMachineType: any, buildQueue: map, fluid: bool, functionDefaultRegions: [str], functionDefaultTimeout: num, functionDefaultMemoryType: any, functionZeroConfigFailover: any, elasticConcurrencyEnabled: bool, buildMachineSelection: any, buildMachineElasticLastUpdated: num, isNSNBDisabled: bool} # Specifies resource override configuration for the project, rootDirectory: str # 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, serverlessFunctionRegion: str # The region to deploy Serverless Functions in this project, serverlessFunctionZeroConfigFailover: any # Specifies whether Zero Config Failover is enabled for this project., skewProtectionBoundaryAt: int # Deployments created before this absolute datetime have Skew Protection disabled. Value is in milliseconds since epoch to match \\\"createdAt\\\" fields., skewProtectionMaxAge: int # Deployments created before this rolling window have Skew Protection disabled. Value is in seconds to match \\\"revalidate\\\" fields., skewProtectionAllowedDomains: [str] # Cross-site domains allowed to fetch skew-protected assets (hostnames, optionally with leading wildcard like *.example.com)., skipGitConnectDuringLink: bool # Opts-out of the message prompting a CLI user to connect a Git repository in `vercel link`., sourceFilesOutsideRootDirectory: bool # Indicates if there are source files outside of the root directory, enablePreviewFeedback: bool # Opt-in to preview toolbar on the project level, enableProductionFeedback: bool # Opt-in to production toolbar on the project level, enableAffectedProjectsDeployments: bool # Opt-in to skip deployments when there are no changes to the root directory and its dependencies, enableExternalRewriteCaching: bool # Specifies whether external rewrite caching is enabled for this project., staticIps: map{enabled!: bool} # Manage Static IPs for this project, tracing: map{domains: str, ignorePaths: [str], samplingRules: [map]} # Tracing configuration for this project, oidcTokenConfig: map{enabled: bool, issuerMode: str} # OpenID Connect JSON Web Token generation configuration., passwordProtection: map{deploymentType!: str, password: str} # Allows to protect project deployments with a password, ssoProtection: map{deploymentType!: str} # Ensures visitors to your Preview Deployments are logged into Vercel and have a minimum of Viewer access on your team, trustedIps: map{deploymentType!: str, addresses!: [map], protectionMode!: str} # Restricts access to deployments based on the incoming request IP address, optionsAllowlist: map{paths!: [map]} # Specify a list of paths that should not be protected by Deployment Protection to enable Cors preflight requests, connectConfigurations: [any] # The list of connections from project environment to Secure Compute network, dismissedToasts: [map{key!: str, dismissedAt!: num, action!: any, value!: any}] # 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.`}\n@returns(200) {accountId: str, analytics: map{id: str, canceledAt: num?, disabledAt: num, enabledAt: num, paidAt: num, sampleRatePercent: num?, spendLimitInDollars: num?}, appliedCve55182Migration: bool, speedInsights: map{id: str, enabledAt: num, disabledAt: num, canceledAt: num, hasData: bool, paidAt: num}, autoExposeSystemEnvs: bool, autoAssignCustomDomains: bool, autoAssignCustomDomainsUpdatedBy: str, buildCommand: str?, commandForIgnoringBuildStep: str?, connectConfigurations: [map]?, connectConfigurationId: str?, connectBuildsEnabled: bool, passiveConnectConfigurationId: str?, createdAt: num, customerSupportCodeVisibility: bool, crons: map{enabledAt: num, disabledAt: num?, updatedAt: num, deploymentId: str?, definitions: [map]}, dataCache: map{userDisabled: bool, storageSizeBytes: num?, unlimited: bool}, delegatedProtection: map?, deploymentExpiration: map{expirationDays: num, expirationDaysProduction: num, expirationDaysCanceled: num, expirationDaysErrored: num, deploymentsToKeep: num}, devCommand: str?, directoryListing: bool, installCommand: str?, env: [map], customEnvironments: [map], framework: str?, gitForkProtection: bool, gitLFS: bool, id: str, ipBuckets: [map], jobs: map{lint: map{targets: [str]}, typecheck: map{targets: [str]}}, latestDeployments: [map], link: any, microfrontends: any, name: str, nodeVersion: str, optionsAllowlist: map?{paths: [map]}, outputDirectory: str?, passwordProtection: map?, productionDeploymentsFastLane: bool, publicSource: bool?, resourceConfig: map{elasticConcurrencyEnabled: bool, fluid: bool, functionDefaultRegions: [str], functionDefaultTimeout: num, functionDefaultMemoryType: str, functionZeroConfigFailover: bool, buildMachineType: str, buildMachineSelection: str, buildMachineElasticLastUpdated: num, isNSNBDisabled: bool, buildQueue: map{configuration: str}}, rollbackDescription: map{userId: str, username: str, description: str, createdAt: num}, rollingRelease: map?{target: str, stages: [map]?, canaryResponseHeader: bool}, defaultResourceConfig: map{elasticConcurrencyEnabled: bool, fluid: bool, functionDefaultRegions: [str], functionDefaultTimeout: num, functionDefaultMemoryType: str, functionZeroConfigFailover: bool, buildMachineType: str, buildMachineSelection: str, buildMachineElasticLastUpdated: num, isNSNBDisabled: bool, buildQueue: map{configuration: str}}, rootDirectory: str?, serverlessFunctionZeroConfigFailover: bool, skewProtectionBoundaryAt: num, skewProtectionMaxAge: num, skewProtectionAllowedDomains: [str], skipGitConnectDuringLink: bool, staticIps: map{builds: bool, enabled: bool, regions: [str]}, sourceFilesOutsideRootDirectory: bool, enableAffectedProjectsDeployments: bool, enableExternalRewriteCaching: bool, ssoProtection: map?{deploymentType: str, cve55182MigrationAppliedFrom: str?}, targets: map, transferCompletedAt: num, transferStartedAt: num, transferToAccountId: str, transferredFromAccountId: str, updatedAt: num, live: bool, enablePreviewFeedback: bool?, enableProductionFeedback: bool?, permissions: map{oauth2Connection: [str], user: [str], userConnection: [str], userPreference: [str], userSudo: [str], webAuthn: [str], accessGroup: [str], agent: [str], aiGatewayUsage: [str], alerts: [str], alertRules: [str], aliasGlobal: [str], analyticsSampling: [str], analyticsUsage: [str], apiKey: [str], apiKeyAiGateway: [str], apiKeyOwnedBySelf: [str], oauth2Application: [str], vercelAppInstallation: [str], vercelAppInstallationRequest: [str], auditLog: [str], billingAddress: [str], billingInformation: [str], billingInvoice: [str], billingInvoiceEmailRecipient: [str], billingInvoiceLanguage: [str], billingPlan: [str], billingPurchaseOrder: [str], billingRefund: [str], billingTaxId: [str], blob: [str], blobStoreTokenSet: [str], budget: [str], cacheArtifact: [str], cacheArtifactUsageEvent: [str], codeChecks: [str], ciInvocations: [str], ciLogs: [str], concurrentBuilds: [str], connect: [str], connectConfiguration: [str], buildMachineDefault: [str], dataCacheBillingSettings: [str], defaultDeploymentProtection: [str], domain: [str], domainAcceptDelegation: [str], domainAuthCodes: [str], domainCertificate: [str], domainCheckConfig: [str], domainMove: [str], domainPurchase: [str], domainRecord: [str], domainTransferIn: [str], drain: [str], edgeConfig: [str], edgeConfigItem: [str], edgeConfigSchema: [str], edgeConfigToken: [str], endpointVerification: [str], event: [str], fileUpload: [str], flagsExplorerSubscription: [str], gitRepository: [str], imageOptimizationNewPrice: [str], integration: [str], integrationAccount: [str], integrationConfiguration: [str], integrationConfigurationProjects: [str], integrationConfigurationRole: [str], integrationConfigurationTransfer: [str], integrationDeploymentAction: [str], integrationEvent: [str], integrationLog: [str], integrationResource: [str], integrationResourceData: [str], integrationResourceReplCommand: [str], integrationResourceSecrets: [str], integrationSSOSession: [str], integrationStrict: [str], integrationStoreTokenSet: [str], integrationVercelConfigurationOverride: [str], integrationPullRequest: [str], ipBlocking: [str], jobGlobal: [str], logDrain: [str], marketplaceBillingData: [str], marketplaceExperimentationEdgeConfigData: [str], marketplaceExperimentationItem: [str], marketplaceInstallationMember: [str], marketplaceInvoice: [str], marketplaceSettings: [str], Monitoring: [str], monitoringAlert: [str], monitoringChart: [str], monitoringQuery: [str], monitoringSettings: [str], notificationCustomerBudget: [str], notificationDeploymentFailed: [str], notificationDomainConfiguration: [str], notificationDomainExpire: [str], notificationDomainMoved: [str], notificationDomainPurchase: [str], notificationDomainRenewal: [str], notificationDomainTransfer: [str], notificationDomainUnverified: [str], NotificationMonitoringAlert: [str], notificationPaymentFailed: [str], notificationPreferences: [str], notificationStatementOfReasons: [str], notificationUsageAlert: [str], observabilityConfiguration: [str], observabilityFunnel: [str], observabilityNotebook: [str], openTelemetryEndpoint: [str], ownEvent: [str], organization: [str], organizationDomain: [str], passwordProtectionInvoiceItem: [str], paymentMethod: [str], permissions: [str], postgres: [str], postgresStoreTokenSet: [str], previewDeploymentSuffix: [str], privateCloudAccount: [str], projectTransferIn: [str], proTrialOnboarding: [str], rateLimit: [str], redis: [str], redisStoreTokenSet: [str], remoteCaching: [str], repository: [str], samlConfig: [str], secret: [str], securityPlusConfiguration: [str], sensitiveEnvironmentVariablePolicy: [str], sharedEnvVars: [str], sharedEnvVarsProduction: [str], space: [str], spaceRun: [str], storeTransfer: [str], supportCase: [str], supportCaseComment: [str], team: [str], teamAccessRequest: [str], teamFellowMembership: [str], teamGitExclusivity: [str], teamInvite: [str], teamInviteCode: [str], teamJoin: [str], teamMemberMfaStatus: [str], teamMicrofrontends: [str], teamOwnMembership: [str], teamOwnMembershipDisconnectSAML: [str], token: [str], toolbarComment: [str], usage: [str], usageCycle: [str], vercelRun: [str], vercelRunExec: [str], vpcPeeringConnection: [str], webAnalyticsPlan: [str], webhook: [str], webhook-event: [str], aliasProject: [str], aliasProtectionBypass: [str], bulkRedirects: [str], buildMachine: [str], connectConfigurationLink: [str], dataCacheNamespace: [str], deployment: [str], deploymentBuildLogs: [str], deploymentCheck: [str], deploymentCheckPreview: [str], deploymentCheckReRunFromProductionBranch: [str], deploymentProductionGit: [str], deploymentV0: [str], deploymentPreview: [str], deploymentPrivate: [str], deploymentPromote: [str], deploymentRollback: [str], edgeCacheNamespace: [str], environments: [str], job: [str], logs: [str], logsPreset: [str], observabilityData: [str], onDemandBuild: [str], onDemandConcurrency: [str], optionsAllowlist: [str], passwordProtection: [str], privateLinkEndpoint: [str], productionAliasProtectionBypass: [str], project: [str], projectAccessGroup: [str], projectAnalyticsSampling: [str], projectAnalyticsUsage: [str], projectCheck: [str], projectCheckRun: [str], projectDelegatedProtection: [str], projectDeploymentExpiration: [str], projectDeploymentHook: [str], projectDeploymentProtectionStrict: [str], projectDomain: [str], projectDomainCheckConfig: [str], projectDomainMove: [str], projectEvent: [str], projectEnvVars: [str], projectEnvVarsProduction: [str], projectEnvVarsUnownedByIntegration: [str], projectFlags: [str], projectFlagsProduction: [str], projectFromV0: [str], projectId: [str], projectIntegrationConfiguration: [str], projectLink: [str], projectMember: [str], projectMonitoring: [str], projectOIDCToken: [str], projectPermissions: [str], projectProductionBranch: [str], projectProtectionBypass: [str], projectRollingRelease: [str], projectRoutes: [str], projectSupportCase: [str], projectSupportCaseComment: [str], projectTier: [str], projectTransfer: [str], projectTransferOut: [str], projectUsage: [str], seawallConfig: [str], sharedEnvVarConnection: [str], skewProtection: [str], analytics: [str], trustedIps: [str], v0Chat: [str], webAnalytics: [str]}, lastRollbackTarget: map?, lastAliasRequest: map?{fromDeploymentId: str?, toDeploymentId: str, fromRollingReleaseId: str, jobStatus: str, requestedAt: num, type: str}, protectionBypass: map, hasActiveBranches: bool, trustedIps: any?, gitComments: map{onPullRequest: bool, onCommit: bool}, gitProviderOptions: map{createDeployments: str, disableRepositoryDispatchEvents: bool, requireVerifiedCommits: bool, consolidatedGitCommitStatus: map{enabled: bool, propagateFailures: bool}}, paused: bool, concurrencyBucketName: str, webAnalytics: map{id: str, disabledAt: num, canceledAt: num, enabledAt: num, hasData: bool}, security: map{attackModeEnabled: bool, attackModeUpdatedAt: num, firewallEnabled: bool, firewallUpdatedAt: num, attackModeActiveUntil: num?, firewallConfigVersion: num, firewallSeawallEnabled: bool, ja3Enabled: bool, ja4Enabled: bool, firewallBypassIps: [str], managedRules: map?{vercel_ruleset: map{active: bool, action: str}, bot_filter: map{active: bool, action: str}, ai_bots: map{active: bool, action: str}, owasp: map{active: bool, action: str}}, botIdEnabled: bool, log_headers: any, securityPlus: bool}, oidcTokenConfig: map{enabled: bool, issuerMode: str}, tier: str, flatRateTier: str, usageStatus: map{kind: str, exceededAllowanceUntil: num, bypassThrottleUntil: num}, features: map{webAnalytics: bool}, v0: bool, v0Created: bool, abuse: map{scanner: str, history: [map], updatedAt: num, block: map{action: str, reason: str, statusCode: num, createdAt: num, caseId: str, actor: str, comment: str, ineligibleForAppeal: bool, isCascading: bool}, blockHistory: [any], interstitial: bool}, internalRoutes: [any], hasDeployments: bool, dismissedToasts: [map], protectedSourcemaps: bool, tracing: map{domains: str, ignorePaths: [str], samplingRules: [map]}} # The project was successfully updated\n@errors {400: 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: The request is not authorized., 402: 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: You do not have permission to access this resource., 404, 409: The provided name for the project is already being used The project is currently being transferred., 428: Owner does not have protection add-on Advanced Deployment Protection is not available for the user plan}\n\n@endpoint DELETE /v9/projects/{idOrName}\n@desc Delete a Project\n@required {idOrName: str # The unique project identifier or the project name}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(204) The project was successfuly removed\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 409}\n\n@endpoint PATCH /v1/projects/{idOrName}/shared-connect-links\n@desc Configures Static IPs for a project\n@required {idOrName: str # The unique project identifier or the project name}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of., builds: bool # Whether to use Static IPs for builds., regions: [str]}\n@returns(200)\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 402, 403: You do not have permission to access this resource., 404, 409, 500}\n\n@endpoint POST /v9/projects/{idOrName}/custom-environments\n@desc Create a custom environment for the current project.\n@required {idOrName: str # The unique project identifier or the project name}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of., slug: str # The slug of the custom environment to create., description: str # Description of the custom environment. This is optional., branchMatcher: map{type!: any, pattern!: str} # How we want to determine a matching branch. This is optional., copyEnvVarsFrom: str # Where to copy environment variables from. This is optional.}\n@returns(201) {id: str, slug: str, type: str, description: str, branchMatcher: map{type: str, pattern: str}, domains: [map], currentDeploymentAliases: [str], createdAt: num, updatedAt: num}\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 402: The account was soft-blocked for an unhandled reason. The account is missing a payment so payment method must be updated, 403: You do not have permission to access this resource., 500}\n\n@endpoint GET /v9/projects/{idOrName}/custom-environments\n@desc Retrieve custom environments\n@required {idOrName: str # The unique project identifier or the project name}\n@optional {gitBranch: str # Fetch custom environments for a specific git branch, teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {accountLimit: map{total: num}, environments: [map]}\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource.}\n\n@endpoint GET /v9/projects/{idOrName}/custom-environments/{environmentSlugOrId}\n@desc Retrieve a custom environment\n@required {idOrName: str # The unique project identifier or the project name, environmentSlugOrId: str # The unique custom environment identifier within the project}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {id: str, slug: str, type: str, description: str, branchMatcher: map{type: str, pattern: str}, domains: [map], currentDeploymentAliases: [str], createdAt: num, updatedAt: num}\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404}\n\n@endpoint PATCH /v9/projects/{idOrName}/custom-environments/{environmentSlugOrId}\n@desc Update a custom environment\n@required {idOrName: str # The unique project identifier or the project name, environmentSlugOrId: str # The unique custom environment identifier within the project}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of., slug: str # The slug of the custom environment., description: str # Description of the custom environment. This is optional., branchMatcher: map{type!: any, pattern!: str} # How we want to determine a matching branch. This is optional.}\n@returns(200) {id: str, slug: str, type: str, description: str, branchMatcher: map{type: str, pattern: str}, domains: [map], currentDeploymentAliases: [str], createdAt: num, updatedAt: num}\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 402: The account was soft-blocked for an unhandled reason. The account is missing a payment so payment method must be updated, 403: You do not have permission to access this resource., 500}\n\n@endpoint DELETE /v9/projects/{idOrName}/custom-environments/{environmentSlugOrId}\n@desc Remove a custom environment\n@required {idOrName: str # The unique project identifier or the project name, environmentSlugOrId: str # The unique custom environment identifier within the project}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of., deleteUnassignedEnvironmentVariables: bool # Delete Environment Variables that are not assigned to any environments.}\n@returns(200) {id: str, slug: str, type: str, description: str, branchMatcher: map{type: str, pattern: str}, domains: [map], currentDeploymentAliases: [str], createdAt: num, updatedAt: num}\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource.}\n\n@endpoint GET /v9/projects/{idOrName}/domains\n@desc Retrieve project domains by project by id or name\n@required {idOrName: any # The unique project identifier or the project name}\n@optional {production: any(true/false)=false # Filters only production domains when set to `true`., target: str(production/preview) # Filters on the target of the domain. Can be either \\\"production\\\", \\\"preview\\\", customEnvironmentId: str # The unique custom environment identifier within the project, gitBranch: str # Filters domains based on specific branch., redirects: any(true/false)=true # Excludes redirect project domains when \\\"false\\\". Includes redirect project domains when \\\"true\\\" (default)., redirect: str # Filters domains based on their redirect target., verified: any(true/false) # Filters domains based on their verification status., limit: num # Maximum number of domains to list from a request (max 100)., since: num # Get domains created after this JavaScript timestamp., until: num # Get domains created before this JavaScript timestamp., order: any(ASC/DESC)=DESC # Domains sort order by createdAt, teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) Successful response retrieving a list of domains\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource.}\n\n@endpoint GET /v9/projects/{idOrName}/domains/{domain}\n@desc Get a project domain\n@required {idOrName: str # The unique project identifier or the project name, domain: str # The project domain name}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {name: str, apexName: str, projectId: str, redirect: str?, redirectStatusCode: num?, gitBranch: str?, customEnvironmentId: str?, updatedAt: num, createdAt: num, verified: bool, verification: [map]}\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource.}\n\n@endpoint PATCH /v9/projects/{idOrName}/domains/{domain}\n@desc Update a project domain\n@required {idOrName: str # The unique project identifier or the project name, domain: str # The project domain name}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of., gitBranch: str # Git branch to link the project domain, redirect: str # Target destination domain for redirect, redirectStatusCode: int(301/302/307/308) # Status code for domain redirect}\n@returns(200) {name: str, apexName: str, projectId: str, redirect: str?, redirectStatusCode: num?, gitBranch: str?, customEnvironmentId: str?, updatedAt: num, createdAt: num, verified: bool, verification: [map]} # The domain was updated successfuly\n@errors {400: 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: The request is not authorized., 403: You do not have permission to access this resource., 409: The project is currently being transferred}\n\n@endpoint DELETE /v9/projects/{idOrName}/domains/{domain}\n@desc Remove a domain from a project\n@required {idOrName: str # The unique project identifier or the project name, domain: str # The project domain name}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of., removeRedirects: bool # Whether to remove all domains from this project that redirect to the domain being removed.}\n@returns(200) The domain was succesfully removed from the project\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404, 409: The project is currently being transferred}\n\n@endpoint POST /v10/projects/{idOrName}/domains\n@desc Add a domain to a project\n@required {idOrName: str # The unique project identifier or the project name, name: str # The project domain name}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of., gitBranch: str # Git branch to link the project domain, customEnvironmentId: str # The unique custom environment identifier within the project, redirect: str # Target destination domain for redirect, redirectStatusCode: int(301/302/307/308) # Status code for domain redirect}\n@returns(200) {name: str, apexName: str, projectId: str, redirect: str?, redirectStatusCode: num?, gitBranch: str?, customEnvironmentId: str?, updatedAt: num, createdAt: num, verified: bool, verification: [map]} # The domain was successfully added to the project\n@errors {400: 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: The request is not authorized., 402: The account was soft-blocked for an unhandled reason. The account is missing a payment so payment method must be updated, 403: You do not have permission to access this resource. You don't have access to the domain you are adding, 409: 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}\n\n@endpoint POST /v1/projects/{idOrName}/domains/{domain}/move\n@desc Move a project domain\n@required {idOrName: str # The unique project identifier or the project name, domain: str # The project domain name, projectId: any # The unique target project identifier}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of., gitBranch: str # Git branch to link the project domain, redirect: str # Target destination domain for redirect, redirectStatusCode: int(301/302/307/308) # Status code for domain redirect}\n@returns(200) {name: str, apexName: str, projectId: str, redirect: str?, redirectStatusCode: num?, gitBranch: str?, customEnvironmentId: str?, updatedAt: num, createdAt: num, verified: bool, verification: [map]} # The domain was updated successfuly\n@errors {400: 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: The request is not authorized., 403: You do not have permission to access this resource., 409: The project is currently being transferred}\n\n@endpoint POST /v9/projects/{idOrName}/domains/{domain}/verify\n@desc Verify project domain\n@required {idOrName: str # The unique project identifier or the project name, domain: str # The domain name you want to verify}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {name: str, apexName: str, projectId: str, redirect: str?, redirectStatusCode: num?, gitBranch: str?, customEnvironmentId: str?, updatedAt: num, createdAt: num, verified: bool} # The project domain was verified successfully Domain is already verified\n@errors {400: 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: The request is not authorized., 403: You do not have permission to access this resource.}\n\n@endpoint GET /v10/projects/{idOrName}/env\n@desc Retrieve the environment variables of a project by id or name\n@required {idOrName: str # The unique project identifier or the project name}\n@optional {gitBranch: str # If defined, the git branch of the environment variable to filter the results (must have target=preview), decrypt: str(true/false) # If true, the environment variable value will be decrypted, source: str # The source that is calling the endpoint., customEnvironmentId: str # The unique custom environment identifier within the project, customEnvironmentSlug: str # The custom environment slug (name) within the project, teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) The list of environment variables for the given project\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource.}\n\n@endpoint POST /v10/projects/{idOrName}/env\n@desc Create one or more environment variables\n@required {idOrName: str # The unique project identifier or the project name}\n@optional {upsert: str # Allow override of environment variable if it already exists, teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(201) {created: any, failed: [map]} # The environment variable was created successfully\n@errors {400: 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: The request is not authorized., 402: The account was soft-blocked for an unhandled reason. The account is missing a payment so payment method must be updated, 403: 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, 409: The project is being transfered and creating an environment variable is not possible, 429, 500}\n\n@endpoint GET /v1/projects/{idOrName}/env/{id}\n@desc Retrieve the decrypted value of an environment variable of a project by id\n@required {idOrName: str # The unique project identifier or the project name, id: str # The unique ID for the environment variable to get the decrypted value.}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200)\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource.}\n\n@endpoint DELETE /v9/projects/{idOrName}/env/{id}\n@desc Remove an environment variable\n@required {idOrName: str # The unique project identifier or the project name, id: str # The unique environment variable identifier}\n@optional {customEnvironmentId: str # The unique custom environment identifier within the project, teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) The environment variable was successfully removed\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404, 409: The project is being transfered and removing an environment variable is not possible}\n\n@endpoint PATCH /v9/projects/{idOrName}/env/{id}\n@desc Edit an environment variable\n@required {idOrName: str # The unique project identifier or the project name, id: str # The unique environment variable identifier}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of., key: str # The name of the environment variable, target: [any] # The target environment of the environment variable, gitBranch: str # If defined, the git branch of the environment variable (must have target=preview), type: str(system/encrypted/plain/sensitive) # The type of environment variable, value: str # The value of the environment variable, customEnvironmentIds: [str] # The custom environments that the environment variable should be synced to, comment: str # A comment to add context on what this env var is for}\n@returns(200) {type: str, value: str, edgeConfigId: str?, edgeConfigTokenId: str?, createdAt: num, updatedAt: num, id: str, createdBy: str?, target: any, key: str, gitBranch: str, updatedBy: str?, sunsetSecretId: str, legacyValue: str, decrypted: bool, configurationId: str?, contentHint: any?, internalContentHint: map?{type: str, encryptedValue: str}, comment: str, customEnvironmentIds: [str]} # The environment variable was successfully edited\n@errors {400: 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: The request is not authorized., 403: You do not have permission to access this resource., 404, 409: The project is being transfered and removing an environment variable is not possible, 429, 500}\n\n@endpoint DELETE /v1/projects/{idOrName}/env\n@desc Batch remove environment variables\n@required {idOrName: str # The unique project identifier or the project name, ids: [str] # Array of environment variable IDs to delete}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {deleted: num, ids: [str]}\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404, 409}\n\n@endpoint GET /v1/projects/{idOrName}/rolling-release/billing\n@desc Get rolling release billing status\n@required {idOrName: str # Project ID or project name (URL-encoded)}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200)\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404}\n\n@endpoint GET /v1/projects/{idOrName}/rolling-release/config\n@desc Get rolling release configuration\n@required {idOrName: str # Project ID or project name (URL-encoded)}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {rollingRelease: map?{target: str, stages: [map]?, canaryResponseHeader: bool}}\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404}\n\n@endpoint DELETE /v1/projects/{idOrName}/rolling-release/config\n@desc Delete rolling release configuration\n@required {idOrName: str # Project ID or project name (URL-encoded)}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {rollingRelease: any?}\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404}\n\n@endpoint PATCH /v1/projects/{idOrName}/rolling-release/config\n@desc Update the rolling release settings for the project\n@required {idOrName: str # Project ID or project name (URL-encoded)}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200)\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404}\n\n@endpoint GET /v1/projects/{idOrName}/rolling-release\n@desc Get the active rolling release information for a project\n@required {idOrName: str # Project ID or project name (URL-encoded)}\n@optional {state: str(ACTIVE/COMPLETE/ABORTED) # Filter by rolling release state, teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {rollingRelease: map?{state: str, currentDeployment: map?{name: str, createdAt: num, id: str, readyState: str, readyStateAt: num, source: str, target: str?, url: str}, canaryDeployment: map?{name: str, createdAt: num, id: str, readyState: str, readyStateAt: num, source: str, target: str?, url: str}, queuedDeploymentId: str?, advancementType: str, stages: [map], activeStage: map?{index: num, isFinalStage: bool, targetPercentage: num, requireApproval: bool, duration: num?, linearShift: bool}, nextStage: map?{index: num, isFinalStage: bool, targetPercentage: num, requireApproval: bool, duration: num?, linearShift: bool}, startedAt: num, updatedAt: num}}\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404}\n\n@endpoint POST /v1/projects/{idOrName}/rolling-release/approve-stage\n@desc Update the active rolling release to the next stage for a project\n@required {idOrName: str # Project ID or project name (URL-encoded), nextStageIndex: num # The index of the stage to transition to, canaryDeploymentId: str # The id of the canary deployment to approve for the next stage}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {rollingRelease: map?{state: str, currentDeployment: map?{name: str, createdAt: num, id: str, readyState: str, readyStateAt: num, source: str, target: str?, url: str}, canaryDeployment: map?{name: str, createdAt: num, id: str, readyState: str, readyStateAt: num, source: str, target: str?, url: str}, queuedDeploymentId: str?, advancementType: str, stages: [map], activeStage: map?{index: num, isFinalStage: bool, targetPercentage: num, requireApproval: bool, duration: num?, linearShift: bool}, nextStage: map?{index: num, isFinalStage: bool, targetPercentage: num, requireApproval: bool, duration: num?, linearShift: bool}, startedAt: num, updatedAt: num}}\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404, 500}\n\n@endpoint POST /v1/projects/{idOrName}/rolling-release/complete\n@desc Complete the rolling release for the project\n@required {idOrName: str # Project ID or project name (URL-encoded), canaryDeploymentId: str # The ID of the canary deployment to complete}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {rollingRelease: map?{state: str, currentDeployment: map?{name: str, createdAt: num, id: str, readyState: str, readyStateAt: num, source: str, target: str?, url: str}, canaryDeployment: map?{name: str, createdAt: num, id: str, readyState: str, readyStateAt: num, source: str, target: str?, url: str}, queuedDeploymentId: str?, advancementType: str, stages: [map], activeStage: map?{index: num, isFinalStage: bool, targetPercentage: num, requireApproval: bool, duration: num?, linearShift: bool}, nextStage: map?{index: num, isFinalStage: bool, targetPercentage: num, requireApproval: bool, duration: num?, linearShift: bool}, startedAt: num, updatedAt: num}}\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404}\n\n@endpoint POST /projects/{idOrName}/transfer-request\n@desc Create project transfer request\n@required {idOrName: str # The ID or name of the project to transfer.}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of., callbackUrl: str # The URL to send a webhook to when the transfer is accepted., callbackSecret: str # The secret to use to sign the webhook payload with HMAC-SHA256.}\n@returns(200) {code: str} # The project transfer request has been initiated successfully.\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource.}\n\n@endpoint PUT /projects/transfer-request/{code}\n@desc Accept project transfer request\n@required {code: str # The code of the project transfer request.}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of., newProjectName: str # The desired name for the project, paidFeatures: map{concurrentBuilds: int, passwordProtection: bool, previewDeploymentSuffix: bool}, acceptedPolicies: map}\n@returns(202) The project has been transferred successfully.\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404, 422}\n\n@endpoint PATCH /v1/projects/{idOrName}/protection-bypass\n@desc Update Protection Bypass for Automation\n@required {idOrName: str # The unique project identifier or the project name}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of., revoke: map{secret!: str, regenerate!: bool} # Optional instructions for revoking and regenerating a automation bypass, generate: map{secret: str, note: str} # Generate a new secret. If neither generate or revoke are provided, a new random secret will be generated., update: map{secret!: str, isEnvVar: bool, note: str} # Update an existing bypass}\n@returns(200) {protectionBypass: map}\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404, 409}\n\n@endpoint POST /v1/projects/{projectId}/rollback/{deploymentId}\n@desc Points all production domains for a project to the given deploy\n@required {projectId: str, deploymentId: str # The ID of the deployment to rollback *to*}\n@optional {description: str # The reason for the rollback, teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(201)\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 402, 403: You do not have permission to access this resource., 409, 422}\n\n@endpoint PATCH /v1/projects/{projectId}/rollback/{deploymentId}/update-description\n@desc Updates the description for a rollback\n@required {projectId: str, deploymentId: str}\n@optional {description: str # The reason for the rollback}\n@returns(200)\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 409, 422}\n\n@endpoint PATCH /v1/projects/{projectId}/microfrontends\n@desc Update the microfrontends settings\n@required {projectId: str # The unique project identifier}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of., microfrontendsGroupId: str # The unique group identifier to add this microfrontend to, enabled: bool # Enable or disable microfrontends for the project, isDefaultApp: bool # Whether the application is the default application for the microfrontends group, defaultRoute: str # The default route used for screenshots and preview links for the project, routeObservabilityToThisProject: bool # Whether observability data should be routed to this project or a root project. Can only be set for child applications., doNotRouteWithMicrofrontendsRouting: bool # Whether domains in this project should route as a microfrontend. Can only be set for child applications.}\n@returns(200) {accountId: str, analytics: map{id: str, canceledAt: num?, disabledAt: num, enabledAt: num, paidAt: num, sampleRatePercent: num?, spendLimitInDollars: num?}, appliedCve55182Migration: bool, speedInsights: map{id: str, enabledAt: num, disabledAt: num, canceledAt: num, hasData: bool, paidAt: num}, autoExposeSystemEnvs: bool, autoAssignCustomDomains: bool, autoAssignCustomDomainsUpdatedBy: str, buildCommand: str?, commandForIgnoringBuildStep: str?, connectConfigurations: [map]?, connectConfigurationId: str?, connectBuildsEnabled: bool, passiveConnectConfigurationId: str?, createdAt: num, customerSupportCodeVisibility: bool, crons: map{enabledAt: num, disabledAt: num?, updatedAt: num, deploymentId: str?, definitions: [map]}, dataCache: map{userDisabled: bool, storageSizeBytes: num?, unlimited: bool}, delegatedProtection: map?, deploymentExpiration: map{expirationDays: num, expirationDaysProduction: num, expirationDaysCanceled: num, expirationDaysErrored: num, deploymentsToKeep: num}, devCommand: str?, directoryListing: bool, installCommand: str?, env: [map], customEnvironments: [map], framework: str?, gitForkProtection: bool, gitLFS: bool, id: str, ipBuckets: [map], jobs: map{lint: map{targets: [str]}, typecheck: map{targets: [str]}}, latestDeployments: [map], link: any, microfrontends: any, name: str, nodeVersion: str, optionsAllowlist: map?{paths: [map]}, outputDirectory: str?, passwordProtection: map?, productionDeploymentsFastLane: bool, publicSource: bool?, resourceConfig: map{elasticConcurrencyEnabled: bool, fluid: bool, functionDefaultRegions: [str], functionDefaultTimeout: num, functionDefaultMemoryType: str, functionZeroConfigFailover: bool, buildMachineType: str, buildMachineSelection: str, buildMachineElasticLastUpdated: num, isNSNBDisabled: bool, buildQueue: map{configuration: str}}, rollbackDescription: map{userId: str, username: str, description: str, createdAt: num}, rollingRelease: map?{target: str, stages: [map]?, canaryResponseHeader: bool}, defaultResourceConfig: map{elasticConcurrencyEnabled: bool, fluid: bool, functionDefaultRegions: [str], functionDefaultTimeout: num, functionDefaultMemoryType: str, functionZeroConfigFailover: bool, buildMachineType: str, buildMachineSelection: str, buildMachineElasticLastUpdated: num, isNSNBDisabled: bool, buildQueue: map{configuration: str}}, rootDirectory: str?, serverlessFunctionZeroConfigFailover: bool, skewProtectionBoundaryAt: num, skewProtectionMaxAge: num, skewProtectionAllowedDomains: [str], skipGitConnectDuringLink: bool, staticIps: map{builds: bool, enabled: bool, regions: [str]}, sourceFilesOutsideRootDirectory: bool, enableAffectedProjectsDeployments: bool, enableExternalRewriteCaching: bool, ssoProtection: map?{deploymentType: str, cve55182MigrationAppliedFrom: str?}, targets: map, transferCompletedAt: num, transferStartedAt: num, transferToAccountId: str, transferredFromAccountId: str, updatedAt: num, live: bool, enablePreviewFeedback: bool?, enableProductionFeedback: bool?, permissions: map{oauth2Connection: [str], user: [str], userConnection: [str], userPreference: [str], userSudo: [str], webAuthn: [str], accessGroup: [str], agent: [str], aiGatewayUsage: [str], alerts: [str], alertRules: [str], aliasGlobal: [str], analyticsSampling: [str], analyticsUsage: [str], apiKey: [str], apiKeyAiGateway: [str], apiKeyOwnedBySelf: [str], oauth2Application: [str], vercelAppInstallation: [str], vercelAppInstallationRequest: [str], auditLog: [str], billingAddress: [str], billingInformation: [str], billingInvoice: [str], billingInvoiceEmailRecipient: [str], billingInvoiceLanguage: [str], billingPlan: [str], billingPurchaseOrder: [str], billingRefund: [str], billingTaxId: [str], blob: [str], blobStoreTokenSet: [str], budget: [str], cacheArtifact: [str], cacheArtifactUsageEvent: [str], codeChecks: [str], ciInvocations: [str], ciLogs: [str], concurrentBuilds: [str], connect: [str], connectConfiguration: [str], buildMachineDefault: [str], dataCacheBillingSettings: [str], defaultDeploymentProtection: [str], domain: [str], domainAcceptDelegation: [str], domainAuthCodes: [str], domainCertificate: [str], domainCheckConfig: [str], domainMove: [str], domainPurchase: [str], domainRecord: [str], domainTransferIn: [str], drain: [str], edgeConfig: [str], edgeConfigItem: [str], edgeConfigSchema: [str], edgeConfigToken: [str], endpointVerification: [str], event: [str], fileUpload: [str], flagsExplorerSubscription: [str], gitRepository: [str], imageOptimizationNewPrice: [str], integration: [str], integrationAccount: [str], integrationConfiguration: [str], integrationConfigurationProjects: [str], integrationConfigurationRole: [str], integrationConfigurationTransfer: [str], integrationDeploymentAction: [str], integrationEvent: [str], integrationLog: [str], integrationResource: [str], integrationResourceData: [str], integrationResourceReplCommand: [str], integrationResourceSecrets: [str], integrationSSOSession: [str], integrationStrict: [str], integrationStoreTokenSet: [str], integrationVercelConfigurationOverride: [str], integrationPullRequest: [str], ipBlocking: [str], jobGlobal: [str], logDrain: [str], marketplaceBillingData: [str], marketplaceExperimentationEdgeConfigData: [str], marketplaceExperimentationItem: [str], marketplaceInstallationMember: [str], marketplaceInvoice: [str], marketplaceSettings: [str], Monitoring: [str], monitoringAlert: [str], monitoringChart: [str], monitoringQuery: [str], monitoringSettings: [str], notificationCustomerBudget: [str], notificationDeploymentFailed: [str], notificationDomainConfiguration: [str], notificationDomainExpire: [str], notificationDomainMoved: [str], notificationDomainPurchase: [str], notificationDomainRenewal: [str], notificationDomainTransfer: [str], notificationDomainUnverified: [str], NotificationMonitoringAlert: [str], notificationPaymentFailed: [str], notificationPreferences: [str], notificationStatementOfReasons: [str], notificationUsageAlert: [str], observabilityConfiguration: [str], observabilityFunnel: [str], observabilityNotebook: [str], openTelemetryEndpoint: [str], ownEvent: [str], organization: [str], organizationDomain: [str], passwordProtectionInvoiceItem: [str], paymentMethod: [str], permissions: [str], postgres: [str], postgresStoreTokenSet: [str], previewDeploymentSuffix: [str], privateCloudAccount: [str], projectTransferIn: [str], proTrialOnboarding: [str], rateLimit: [str], redis: [str], redisStoreTokenSet: [str], remoteCaching: [str], repository: [str], samlConfig: [str], secret: [str], securityPlusConfiguration: [str], sensitiveEnvironmentVariablePolicy: [str], sharedEnvVars: [str], sharedEnvVarsProduction: [str], space: [str], spaceRun: [str], storeTransfer: [str], supportCase: [str], supportCaseComment: [str], team: [str], teamAccessRequest: [str], teamFellowMembership: [str], teamGitExclusivity: [str], teamInvite: [str], teamInviteCode: [str], teamJoin: [str], teamMemberMfaStatus: [str], teamMicrofrontends: [str], teamOwnMembership: [str], teamOwnMembershipDisconnectSAML: [str], token: [str], toolbarComment: [str], usage: [str], usageCycle: [str], vercelRun: [str], vercelRunExec: [str], vpcPeeringConnection: [str], webAnalyticsPlan: [str], webhook: [str], webhook-event: [str], aliasProject: [str], aliasProtectionBypass: [str], bulkRedirects: [str], buildMachine: [str], connectConfigurationLink: [str], dataCacheNamespace: [str], deployment: [str], deploymentBuildLogs: [str], deploymentCheck: [str], deploymentCheckPreview: [str], deploymentCheckReRunFromProductionBranch: [str], deploymentProductionGit: [str], deploymentV0: [str], deploymentPreview: [str], deploymentPrivate: [str], deploymentPromote: [str], deploymentRollback: [str], edgeCacheNamespace: [str], environments: [str], job: [str], logs: [str], logsPreset: [str], observabilityData: [str], onDemandBuild: [str], onDemandConcurrency: [str], optionsAllowlist: [str], passwordProtection: [str], privateLinkEndpoint: [str], productionAliasProtectionBypass: [str], project: [str], projectAccessGroup: [str], projectAnalyticsSampling: [str], projectAnalyticsUsage: [str], projectCheck: [str], projectCheckRun: [str], projectDelegatedProtection: [str], projectDeploymentExpiration: [str], projectDeploymentHook: [str], projectDeploymentProtectionStrict: [str], projectDomain: [str], projectDomainCheckConfig: [str], projectDomainMove: [str], projectEvent: [str], projectEnvVars: [str], projectEnvVarsProduction: [str], projectEnvVarsUnownedByIntegration: [str], projectFlags: [str], projectFlagsProduction: [str], projectFromV0: [str], projectId: [str], projectIntegrationConfiguration: [str], projectLink: [str], projectMember: [str], projectMonitoring: [str], projectOIDCToken: [str], projectPermissions: [str], projectProductionBranch: [str], projectProtectionBypass: [str], projectRollingRelease: [str], projectRoutes: [str], projectSupportCase: [str], projectSupportCaseComment: [str], projectTier: [str], projectTransfer: [str], projectTransferOut: [str], projectUsage: [str], seawallConfig: [str], sharedEnvVarConnection: [str], skewProtection: [str], analytics: [str], trustedIps: [str], v0Chat: [str], webAnalytics: [str]}, lastRollbackTarget: map?, lastAliasRequest: map?{fromDeploymentId: str?, toDeploymentId: str, fromRollingReleaseId: str, jobStatus: str, requestedAt: num, type: str}, protectionBypass: map, hasActiveBranches: bool, trustedIps: any?, gitComments: map{onPullRequest: bool, onCommit: bool}, gitProviderOptions: map{createDeployments: str, disableRepositoryDispatchEvents: bool, requireVerifiedCommits: bool, consolidatedGitCommitStatus: map{enabled: bool, propagateFailures: bool}}, paused: bool, concurrencyBucketName: str, webAnalytics: map{id: str, disabledAt: num, canceledAt: num, enabledAt: num, hasData: bool}, security: map{attackModeEnabled: bool, attackModeUpdatedAt: num, firewallEnabled: bool, firewallUpdatedAt: num, attackModeActiveUntil: num?, firewallConfigVersion: num, firewallSeawallEnabled: bool, ja3Enabled: bool, ja4Enabled: bool, firewallBypassIps: [str], managedRules: map?{vercel_ruleset: map{active: bool, action: str}, bot_filter: map{active: bool, action: str}, ai_bots: map{active: bool, action: str}, owasp: map{active: bool, action: str}}, botIdEnabled: bool, log_headers: any, securityPlus: bool}, oidcTokenConfig: map{enabled: bool, issuerMode: str}, tier: str, flatRateTier: str, usageStatus: map{kind: str, exceededAllowanceUntil: num, bypassThrottleUntil: num}, features: map{webAnalytics: bool}, v0: bool, v0Created: bool, abuse: map{scanner: str, history: [map], updatedAt: num, block: map{action: str, reason: str, statusCode: num, createdAt: num, caseId: str, actor: str, comment: str, ineligibleForAppeal: bool, isCascading: bool}, blockHistory: [any], interstitial: bool}, internalRoutes: [any], hasDeployments: bool, dismissedToasts: [map], protectedSourcemaps: bool, tracing: map{domains: str, ignorePaths: [str], samplingRules: [map]}}\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 409, 500}\n\n@endpoint POST /v10/projects/{projectId}/promote/{deploymentId}\n@desc Points all production domains for a project to the given deploy\n@required {projectId: str, deploymentId: str}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(201)\n@returns(202)\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 409}\n\n@endpoint GET /v1/projects/{projectId}/promote/aliases\n@desc Gets a list of aliases with status for the current promote\n@required {projectId: str}\n@optional {limit: num # Maximum number of aliases to list from a request (max 100)., since: num # Get aliases created after this epoch timestamp., until: num # Get aliases created before this epoch timestamp., failedOnly: bool # Filter results down to aliases that failed to map to the requested deployment, teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200)\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404}\n\n@endpoint POST /v1/projects/{projectId}/pause\n@desc Pause a project\n@required {projectId: str # The unique project identifier}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200)\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 500}\n\n@endpoint POST /v1/projects/{projectId}/unpause\n@desc Unpause a project\n@required {projectId: str # The unique project identifier}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200)\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 500}\n\n@endgroup\n\n@group sandboxes\n@endpoint GET /v1/sandboxes\n@desc List sandboxes\n@optional {project: str # The unique identifier or name of the project to list sandboxes for., limit: num # Maximum number of sandboxes to return in the response. Used for pagination., since: num # Filter sandboxes created after this timestamp. Specified as Unix time in milliseconds., until: num # Filter sandboxes created before this timestamp. Specified as Unix time in milliseconds., teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {sandboxes: [map], pagination: map{total: num, count: num, next: num?, prev: num?}} # The list of sandboxes matching the request filters.\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404: The project does not exist or the team does not have access to it.}\n\n@endpoint POST /v1/sandboxes\n@desc Create a sandbox\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of., resources: map{vcpus: int, memory: int} # Resources to define the VM, runtime: str(node22/node24/python3.13)=node24 # The runtime environment for the sandbox. Determines the pre-installed language runtimes and tools available., source: any # The source from which to initialize the sandbox filesystem. Can be a Git repository, a tarball URL, or an existing snapshot., projectId: str # The target project slug or ID in which the sandbox will be assigned to., ports: [int] # List of ports to expose from the sandbox. Each port will be accessible via a unique URL. Maximum of 15 ports can be exposed., timeout: int # Maximum duration in milliseconds that the sandbox can run before being automatically stopped., networkPolicy: map{mode!: str, allowedDomains: [str], allowedCIDRs: [str], deniedCIDRs: [str]} # Network access policy for the sandbox.\\n    Controls which external hosts the sandbox can communicate with.\\n    Use \\\"allow-all\\\" mode to allow all traffic, \\\"deny-all\\\" to block all traffic or \\\"custom\\\" to provide specific rules., env: map=[object Object] # Default environment variables for the sandbox. These are inherited by all commands unless overridden.}\n@returns(200) {sandbox: map{id: str, memory: num, vcpus: num, region: str, runtime: str, timeout: num, status: str, requestedAt: num, startedAt: num, cwd: str, requestedStopAt: num, stoppedAt: num, abortedAt: num, duration: num, sourceSnapshotId: str, snapshottedAt: num, createdAt: num, updatedAt: num, networkPolicy: map{mode: str, allowedDomains: [str], allowedCIDRs: [str], deniedCIDRs: [str], injectionRules: [map]}, activeCpuDurationMs: num, networkTransfer: map{ingress: num, egress: num}}, routes: [map]}\n@errors {400: One of the provided values in the request body is invalid., 401: The request is not authorized., 402: The account was soft-blocked for an unhandled reason. The account is missing a payment so payment method must be updated, 403: You do not have permission to access this resource., 404, 410, 422, 429: The concurrency limit has been exceeded., 500}\n\n@endpoint GET /v1/sandboxes/snapshots\n@desc List snapshots\n@optional {project: str # The unique identifier or name of the project to list snapshots for., limit: num # Maximum number of snapshots to return in the response. Used for pagination., since: num # Filter snapshots created after this timestamp. Specified as Unix time in milliseconds., until: num # Filter snapshots created before this timestamp. Specified as Unix time in milliseconds., teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {snapshots: [map], pagination: map{total: num, count: num, next: num?, prev: num?}}\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404}\n\n@endpoint GET /v1/sandboxes/{sandboxId}\n@desc Get a sandbox\n@required {sandboxId: str # The unique identifier of the sandbox to retrieve.}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {sandbox: map{id: str, memory: num, vcpus: num, region: str, runtime: str, timeout: num, status: str, requestedAt: num, startedAt: num, cwd: str, requestedStopAt: num, stoppedAt: num, abortedAt: num, duration: num, sourceSnapshotId: str, snapshottedAt: num, createdAt: num, updatedAt: num, networkPolicy: map{mode: str, allowedDomains: [str], allowedCIDRs: [str], deniedCIDRs: [str], injectionRules: [map]}, activeCpuDurationMs: num, networkTransfer: map{ingress: num, egress: num}}, routes: [map]}\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 429}\n\n@endpoint GET /v1/sandboxes/{sandboxId}/cmd\n@desc List commands\n@required {sandboxId: str # The unique identifier of the sandbox to list commands for.}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {commands: [map]} # The list of commands executed in the sandbox.\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource.}\n\n@endpoint POST /v1/sandboxes/{sandboxId}/cmd\n@desc Execute a command\n@required {sandboxId: str # The unique identifier of the sandbox in which to execute the command., command: str # The executable or shell command to run. This is the program name without arguments.}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of., args: [str] # Arguments to pass to the command. Each argument should be a separate array element., cwd: str # The working directory in which to execute the command. Defaults to the sandbox home directory if not specified., env: map=[object Object] # Additional environment variables to set for this command. These are merged with the sandbox environment., sudo: bool=false # Execute the command with root (superuser) privileges., wait: bool=false # If true, returns an ND-JSON stream that emits the command status when started and again when finished. Useful for synchronously waiting for command completion.}\n@returns(200) {command: map{id: str, name: str, args: [str], cwd: str, sandboxId: str, exitCode: num?, startedAt: num}}\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 410, 422}\n\n@endpoint POST /v1/sandboxes/{sandboxId}/{cmdId}/kill\n@desc Kill a command\n@required {cmdId: str # The unique identifier of the command to terminate., sandboxId: str # The unique identifier of the sandbox containing the command., signal: num # The POSIX signal number to send to the process. Common values: 15 (SIGTERM) for graceful termination, 9 (SIGKILL) for forced termination.}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {command: map{id: str, name: str, args: [str], cwd: str, sandboxId: str, exitCode: num?, startedAt: num}} # The command was terminated successfully.\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404, 410, 422}\n\n@endpoint POST /v1/sandboxes/{sandboxId}/stop\n@desc Stop a sandbox\n@required {sandboxId: str # The unique identifier of the sandbox to stop.}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {sandbox: map{id: str, memory: num, vcpus: num, region: str, runtime: str, timeout: num, status: str, requestedAt: num, startedAt: num, cwd: str, requestedStopAt: num, stoppedAt: num, abortedAt: num, duration: num, sourceSnapshotId: str, snapshottedAt: num, createdAt: num, updatedAt: num, networkPolicy: map{mode: str, allowedDomains: [str], allowedCIDRs: [str], deniedCIDRs: [str], injectionRules: [map]}, activeCpuDurationMs: num, networkTransfer: map{ingress: num, egress: num}}} # The sandbox was stopped successfully.\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 410, 422}\n\n@endpoint POST /v1/sandboxes/{sandboxId}/extend-timeout\n@desc Extend sandbox timeout\n@required {sandboxId: str # The unique identifier of the sandbox to extend the timeout for., duration: num # The amount of time in milliseconds to add to the current timeout. Must be at least 1000ms (1 second).}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {sandbox: map{id: str, memory: num, vcpus: num, region: str, runtime: str, timeout: num, status: str, requestedAt: num, startedAt: num, cwd: str, requestedStopAt: num, stoppedAt: num, abortedAt: num, duration: num, sourceSnapshotId: str, snapshottedAt: num, createdAt: num, updatedAt: num, networkPolicy: map{mode: str, allowedDomains: [str], allowedCIDRs: [str], deniedCIDRs: [str], injectionRules: [map]}, activeCpuDurationMs: num, networkTransfer: map{ingress: num, egress: num}}} # The sandbox timeout was extended successfully.\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 410, 422}\n\n@endpoint POST /v1/sandboxes/{sandboxId}/network-policy\n@desc Update network policy\n@required {sandboxId: str # The unique identifier of the sandbox to update the network policy for., mode: str(allow-all/deny-all/custom/default-allow/default-deny) # The network access policy mode. Use \\\"allow-all\\\" to permit all outbound traffic. Use \\\"deny-all\\\" to block all outbound traffic. Use \\\"custom\\\" to specify explicit allow/deny rules.}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of., allowedDomains: [str] # List of domain names the sandbox is allowed to connect to. Only applies when mode is \\\"custom\\\". Supports wildcard patterns (e.g., \\\"*.example.com\\\" matches all subdomains)., allowedCIDRs: [str] # List of IP address ranges (in CIDR notation) the sandbox is allowed to connect to. Traffic to these addresses bypasses domain-based restrictions., deniedCIDRs: [str] # List of IP address ranges (in CIDR notation) the sandbox is blocked from connecting to. These rules take precedence over all allowed rules.}\n@returns(200) {sandbox: map{id: str, memory: num, vcpus: num, region: str, runtime: str, timeout: num, status: str, requestedAt: num, startedAt: num, cwd: str, requestedStopAt: num, stoppedAt: num, abortedAt: num, duration: num, sourceSnapshotId: str, snapshottedAt: num, createdAt: num, updatedAt: num, networkPolicy: map{mode: str, allowedDomains: [str], allowedCIDRs: [str], deniedCIDRs: [str], injectionRules: [map]}, activeCpuDurationMs: num, networkTransfer: map{ingress: num, egress: num}}} # The sandbox network policy was updated successfully.\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 402, 403: You do not have permission to access this resource., 410, 422}\n\n@endpoint GET /v1/sandboxes/{sandboxId}/cmd/{cmdId}\n@desc Get a command\n@required {sandboxId: str # The unique identifier of the sandbox containing the command., cmdId: str # The unique identifier of the command to retrieve.}\n@optional {wait: str(true/false)=false # If set to \\\"true\\\", the request will block until the command finishes execution. Useful for synchronously waiting for command completion., teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {command: map{id: str, name: str, args: [str], cwd: str, sandboxId: str, exitCode: num?, startedAt: num}} # The command data along with the exit code if the command did finish.\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 410, 422}\n\n@endpoint GET /v1/sandboxes/{sandboxId}/cmd/{cmdId}/logs\n@desc Stream command logs\n@required {sandboxId: str # The unique identifier of the sandbox containing the command., cmdId: str # The unique identifier of the command to stream logs for.}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200)\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 410, 422}\n\n@endpoint POST /v1/sandboxes/{sandboxId}/fs/read\n@desc Read a file\n@required {sandboxId: str # The unique identifier of the sandbox to read the file from., path: str # The path of the file to read. Can be absolute or relative to the working directory.}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of., cwd: str # The base directory for resolving relative paths. If not specified, paths are resolved from the sandbox home directory.}\n@returns(200)\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404, 410, 422}\n\n@endpoint POST /v1/sandboxes/{sandboxId}/fs/mkdir\n@desc Create a directory\n@required {sandboxId: str # The unique identifier of the sandbox to create the directory in., path: str # The path of the directory to create. Can be absolute or relative to the working directory.}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of., cwd: str # The base directory for resolving relative paths. If not specified, paths are resolved from the sandbox home directory., recursive: bool=true # If true, creates parent directories as needed (like `mkdir -p`). If false, fails if parent directories do not exist.}\n@returns(200) The directory was created successfully.\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 410, 422}\n\n@endpoint POST /v1/sandboxes/{sandboxId}/fs/write\n@desc Write files\n@required {sandboxId: str # The unique identifier of the sandbox to write files to.}\n@optional {x-cwd: str # The target directory where the tarball contents will be extracted. If not specified, files are extracted to the sandbox home directory., teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) The files were successfully written to the sandbox.\n@errors {400: One of the provided values in the request query is invalid. One of the provided values in the headers is invalid, 401: The request is not authorized., 403: You do not have permission to access this resource., 410, 422}\n\n@endpoint GET /v1/sandboxes/snapshots/{snapshotId}\n@desc Get a snapshot\n@required {snapshotId: str # The unique identifier of the snapshot to retrieve.}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {snapshot: map{id: str, sourceSessionId: str, region: str, status: str, sizeBytes: num, expiresAt: num, createdAt: num, updatedAt: num}}\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404}\n\n@endpoint DELETE /v1/sandboxes/snapshots/{snapshotId}\n@desc Delete a snapshot\n@required {snapshotId: str # The unique identifier of the snapshot to delete.}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {snapshot: map{id: str, sourceSessionId: str, region: str, status: str, sizeBytes: num, expiresAt: num, createdAt: num, updatedAt: num}}\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404}\n\n@endpoint POST /v1/sandboxes/{sandboxId}/snapshot\n@desc Create a snapshot\n@required {sandboxId: str # The unique identifier of the sandbox to snapshot.}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of., expiration: any # The number of milliseconds after which the snapshot will expire and be deleted. Use 0 for no expiration.}\n@returns(201) {snapshot: map{id: str, sourceSessionId: str, region: str, status: str, sizeBytes: num, expiresAt: num, createdAt: num, updatedAt: num}, sandbox: map{id: str, memory: num, vcpus: num, region: str, runtime: str, timeout: num, status: str, requestedAt: num, startedAt: num, cwd: str, requestedStopAt: num, stoppedAt: num, abortedAt: num, duration: num, sourceSnapshotId: str, snapshottedAt: num, createdAt: num, updatedAt: num, networkPolicy: map{mode: str, allowedDomains: [str], allowedCIDRs: [str], deniedCIDRs: [str], injectionRules: [map]}, activeCpuDurationMs: num, networkTransfer: map{ingress: num, egress: num}}}\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 402: The account was soft-blocked for an unhandled reason. The account is missing a payment so payment method must be updated, 403: You do not have permission to access this resource., 410, 422}\n\n@endpoint GET /v2/sandboxes\n@desc List sandboxes\n@optional {project: str # The unique identifier or name of the project to list named sandboxes for., limit: num=20 # Maximum number of named sandboxes to return in the response. Used for pagination., sortBy: str(createdAt/name/statusUpdatedAt)=createdAt # Field to sort by., namePrefix: str # Filter named sandboxes whose name starts with this prefix. Only valid when sortBy=name., cursor: str # Opaque pagination cursor from a previous response., sortOrder: str(asc/desc)=desc # Sort direction. Defaults to desc., tags: any # Filter sandboxes by tag. Format: \\\"key:value\\\". Only one tag filter is supported at a time., teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {sandboxes: [map], pagination: map{count: num, next: str?}}\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404}\n\n@endpoint POST /v2/sandboxes\n@desc Create a named sandbox\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of., resources: map{vcpus: int, memory: int} # Resources to define the VM, runtime: str(node22/node24/python3.13)=node24 # The runtime environment for the sandbox. Determines the pre-installed language runtimes and tools available., source: any # The source from which to initialize the sandbox filesystem. Can be a Git repository, a tarball URL, or an existing snapshot., projectId: str # The target project slug or ID in which the sandbox will be assigned to., ports: [int] # List of ports to expose from the sandbox. Each port will be accessible via a unique URL. Maximum of 15 ports can be exposed., timeout: int # Maximum duration in milliseconds that the sandbox can run before being automatically stopped., networkPolicy: map{mode!: str, allowedDomains: [str], allowedCIDRs: [str], deniedCIDRs: [str]} # Network access policy for the sandbox.\\n    Controls which external hosts the sandbox can communicate with.\\n    Use \\\"allow-all\\\" mode to allow all traffic, \\\"deny-all\\\" to block all traffic or \\\"custom\\\" to provide specific rules., env: map=[object Object] # Default environment variables for the sandbox. These are inherited by all commands unless overridden., name: str # Name for the sandbox. Must be unique per project and URL-safe (alphanumeric, hyphens, underscores)., persistent: bool=true # Whether the sandbox persists its state across restarts via automatic snapshots. Defaults to true., snapshotExpiration: any # Default snapshot expiration time in milliseconds. Set to 0 to disable expiration. When set, this value is used as the default expiration for all snapshots created for this sandbox., tags: map # Key-value tags to associate with the sandbox. Maximum 5 tags.}\n@returns(200) {sandbox: map{name: str, currentSnapshotId: str, currentSessionId: str, status: str, statusUpdatedAt: num, persistent: bool, region: str, vcpus: num, memory: num, runtime: str, timeout: num, snapshotExpiration: num, networkPolicy: map{mode: str, allowedDomains: [str], allowedCIDRs: [str], deniedCIDRs: [str]}, totalEgressBytes: num, totalIngressBytes: num, totalActiveCpuDurationMs: num, totalDurationMs: num, cwd: str, tags: map, createdAt: num, updatedAt: num}, session: map{sourceSandboxName: str, projectId: str, id: str, memory: num, vcpus: num, region: str, runtime: str, timeout: num, status: str, requestedAt: num, startedAt: num, cwd: str, requestedStopAt: num, stoppedAt: num, abortedAt: num, duration: num, sourceSnapshotId: str, snapshottedAt: num, createdAt: num, updatedAt: num, networkPolicy: map{mode: str, allowedDomains: [str], allowedCIDRs: [str], deniedCIDRs: [str], injectionRules: [map]}, activeCpuDurationMs: num, networkTransfer: map{ingress: num, egress: num}}, routes: [map]}\n@errors {400: One of the provided values in the request body is invalid., 401: The request is not authorized., 402: The account was soft-blocked for an unhandled reason. The account is missing a payment so payment method must be updated, 403: You do not have permission to access this resource., 404, 410, 422, 429: The concurrency limit has been exceeded., 500}\n\n@endpoint GET /v2/sandboxes/snapshots\n@desc List snapshots\n@optional {project: str # The unique identifier or name of the project to list snapshots for., name: str # Name for the sandbox. Must be unique per project and URL-safe (alphanumeric, hyphens, underscores)., limit: num=20 # Maximum number of snapshots to return in the response. Used for pagination., cursor: str # Opaque pagination cursor from a previous response., sortOrder: str(asc/desc)=desc # Sort direction for results by creation time., teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200)\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404}\n\n@endpoint GET /v2/sandboxes/snapshots/{snapshotId}\n@desc Get a snapshot\n@required {snapshotId: str # The unique identifier of the snapshot to retrieve.}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {snapshot: map{id: str, sourceSessionId: str, region: str, status: str, sizeBytes: num, expiresAt: num, createdAt: num, updatedAt: num}}\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404}\n\n@endpoint DELETE /v2/sandboxes/snapshots/{snapshotId}\n@desc Delete a snapshot\n@required {snapshotId: str # The unique identifier of the snapshot to delete.}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {snapshot: map{id: str, sourceSessionId: str, region: str, status: str, sizeBytes: num, expiresAt: num, createdAt: num, updatedAt: num}}\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404}\n\n@endpoint GET /v2/sandboxes/sessions\n@desc List sessions\n@optional {project: str # The unique identifier or name of the project to list sessions for., name: str # Filter sessions by sandbox name. Only sessions belonging to the specified sandbox are returned., limit: num=20 # Maximum number of sessions to return in the response. Used for pagination., cursor: str # Opaque pagination cursor from a previous response., sortOrder: str(asc/desc)=desc # Sort direction for results by creation time., teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) The list of sessions matching the request filters.\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404, 500}\n\n@endpoint GET /v2/sandboxes/sessions/{sessionId}\n@desc Get a session\n@required {sessionId: str # The unique identifier of the session to retrieve.}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {session: map{sourceSandboxName: str, projectId: str, id: str, memory: num, vcpus: num, region: str, runtime: str, timeout: num, status: str, requestedAt: num, startedAt: num, cwd: str, requestedStopAt: num, stoppedAt: num, abortedAt: num, duration: num, sourceSnapshotId: str, snapshottedAt: num, createdAt: num, updatedAt: num, networkPolicy: map{mode: str, allowedDomains: [str], allowedCIDRs: [str], deniedCIDRs: [str], injectionRules: [map]}, activeCpuDurationMs: num, networkTransfer: map{ingress: num, egress: num}}, routes: [map]} # The session was retrieved successfully.\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 500}\n\n@endpoint GET /v2/sandboxes/{name}\n@desc Get a named sandbox\n@required {name: str # Name for the sandbox. Must be unique per project and URL-safe (alphanumeric, hyphens, underscores).}\n@optional {projectId: str # The project ID or name (required when not using OIDC token)., resume: bool=false # Whether to automatically resume a stopped named sandbox by creating a new instance from its snapshot. Defaults to false., teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {sandbox: map{name: str, currentSnapshotId: str, currentSessionId: str, status: str, statusUpdatedAt: num, persistent: bool, region: str, vcpus: num, memory: num, runtime: str, timeout: num, snapshotExpiration: num, networkPolicy: map{mode: str, allowedDomains: [str], allowedCIDRs: [str], deniedCIDRs: [str]}, totalEgressBytes: num, totalIngressBytes: num, totalActiveCpuDurationMs: num, totalDurationMs: num, cwd: str, tags: map, createdAt: num, updatedAt: num}, session: map{sourceSandboxName: str, projectId: str, id: str, memory: num, vcpus: num, region: str, runtime: str, timeout: num, status: str, requestedAt: num, startedAt: num, cwd: str, requestedStopAt: num, stoppedAt: num, abortedAt: num, duration: num, sourceSnapshotId: str, snapshottedAt: num, createdAt: num, updatedAt: num, networkPolicy: map{mode: str, allowedDomains: [str], allowedCIDRs: [str], deniedCIDRs: [str], injectionRules: [map]}, activeCpuDurationMs: num, networkTransfer: map{ingress: num, egress: num}}, routes: [map]}\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 402: The account was soft-blocked for an unhandled reason. The account is missing a payment so payment method must be updated, 403: You do not have permission to access this resource., 404, 429: The concurrency limit has been exceeded., 500}\n\n@endpoint PATCH /v2/sandboxes/{name}\n@desc Update a sandbox\n@required {name: str # The sandbox to update.}\n@optional {projectId: str # The project ID that owns the named sandbox. When provided, takes precedence over OIDC project context., teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of., resources: map{vcpus: int, memory: int} # Resources to define the VM, runtime: str(node22/node24/python3.13) # The runtime environment for the sandbox. Determines the pre-installed language runtimes and tools available., timeout: int # Maximum duration in milliseconds that the sandbox can run before being automatically stopped., persistent: bool # Whether the sandbox persists its state across restarts via automatic snapshots., snapshotExpiration: any # Default snapshot expiration time in milliseconds. Set to 0 to disable expiration. When set, this value is used as the default expiration for all snapshots created for this sandbox., networkPolicy: map{mode!: str, allowedDomains: [str], allowedCIDRs: [str], deniedCIDRs: [str]} # Network access policy for the sandbox.\\n    Controls which external hosts the sandbox can communicate with.\\n    Use \\\"allow-all\\\" mode to allow all traffic, \\\"deny-all\\\" to block all traffic or \\\"custom\\\" to provide specific rules., env: map # Default environment variables for the sandbox. Set to empty object to clear., tags: map # Key-value tags to associate with the sandbox. Replaces existing tags. Set to empty object to clear. Maximum 5 tags.}\n@returns(200) {sandbox: map{name: str, currentSnapshotId: str, currentSessionId: str, status: str, statusUpdatedAt: num, persistent: bool, region: str, vcpus: num, memory: num, runtime: str, timeout: num, snapshotExpiration: num, networkPolicy: map{mode: str, allowedDomains: [str], allowedCIDRs: [str], deniedCIDRs: [str]}, totalEgressBytes: num, totalIngressBytes: num, totalActiveCpuDurationMs: num, totalDurationMs: num, cwd: str, tags: map, createdAt: num, updatedAt: num}}\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 402, 403: You do not have permission to access this resource., 404, 410, 422, 500}\n\n@endpoint DELETE /v2/sandboxes/{name}\n@desc Delete a sandbox\n@required {name: str # The sandbox name to delete.}\n@optional {projectId: str # The project ID that owns the named sandbox. When provided, takes precedence over OIDC project context., teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {sandbox: map{name: str, currentSnapshotId: str, currentSessionId: str, status: str, statusUpdatedAt: num, persistent: bool, region: str, vcpus: num, memory: num, runtime: str, timeout: num, snapshotExpiration: num, networkPolicy: map{mode: str, allowedDomains: [str], allowedCIDRs: [str], deniedCIDRs: [str]}, totalEgressBytes: num, totalIngressBytes: num, totalActiveCpuDurationMs: num, totalDurationMs: num, cwd: str, tags: map, createdAt: num, updatedAt: num}}\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404, 410, 422}\n\n@endpoint GET /v2/sandboxes/sessions/{sessionId}/cmd\n@desc List commands\n@required {sessionId: str # The unique identifier of the session to list commands for.}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {commands: [map]} # The list of commands executed in the session.\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource.}\n\n@endpoint POST /v2/sandboxes/sessions/{sessionId}/cmd\n@desc Execute a command\n@required {sessionId: str # The unique identifier of the session in which to execute the command., command: str # The executable or shell command to run. This is the program name without arguments.}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of., args: [str] # Arguments to pass to the command. Each argument should be a separate array element., cwd: str # The working directory in which to execute the command. Defaults to the sandbox home directory if not specified., env: map=[object Object] # Additional environment variables to set for this command. These are merged with the sandbox environment., sudo: bool=false # Execute the command with root (superuser) privileges., wait: bool=false # If true, returns an ND-JSON stream that emits the command status when started and again when finished. Useful for synchronously waiting for command completion.}\n@returns(200) {command: map{id: str, name: str, args: [str], cwd: str, sessionId: str, exitCode: num?, startedAt: num}}\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 410, 422}\n\n@endpoint GET /v2/sandboxes/sessions/{sessionId}/cmd/{cmdId}\n@desc Get a command\n@required {sessionId: str # The unique identifier of the session containing the command., cmdId: str # The unique identifier of the command to retrieve.}\n@optional {wait: str(true/false)=false # If set to \\\"true\\\", the request will block until the command finishes execution. Useful for synchronously waiting for command completion., teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {command: map{id: str, name: str, args: [str], cwd: str, sessionId: str, exitCode: num?, startedAt: num}} # The command data along with the exit code if the command did finish.\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 410, 422}\n\n@endpoint POST /v2/sandboxes/sessions/{sessionId}/cmd/{cmdId}/kill\n@desc Kill a command\n@required {cmdId: str # The unique identifier of the command to terminate., sessionId: str # The unique identifier of the session containing the command., signal: num # The POSIX signal number to send to the process. Common values: 15 (SIGTERM) for graceful termination, 9 (SIGKILL) for forced termination.}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {command: map{id: str, name: str, args: [str], cwd: str, sessionId: str, exitCode: num?, startedAt: num}} # The command was terminated successfully.\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404, 410, 422}\n\n@endpoint GET /v2/sandboxes/sessions/{sessionId}/cmd/{cmdId}/logs\n@desc Stream command logs\n@required {sessionId: str # The unique identifier of the session containing the command., cmdId: str # The unique identifier of the command to stream logs for.}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200)\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 410, 422}\n\n@endpoint POST /v2/sandboxes/sessions/{sessionId}/stop\n@desc Stop a session\n@required {sessionId: str # The unique identifier of the session to stop.}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {session: map{sourceSandboxName: str, projectId: str, id: str, memory: num, vcpus: num, region: str, runtime: str, timeout: num, status: str, requestedAt: num, startedAt: num, cwd: str, requestedStopAt: num, stoppedAt: num, abortedAt: num, duration: num, sourceSnapshotId: str, snapshottedAt: num, createdAt: num, updatedAt: num, networkPolicy: map{mode: str, allowedDomains: [str], allowedCIDRs: [str], deniedCIDRs: [str], injectionRules: [map]}, activeCpuDurationMs: num, networkTransfer: map{ingress: num, egress: num}}} # The session was stopped successfully.\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 410, 422, 500}\n\n@endpoint POST /v2/sandboxes/sessions/{sessionId}/extend-timeout\n@desc Extend session timeout\n@required {sessionId: str # The unique identifier of the session to extend the timeout for., duration: num # The amount of time in milliseconds to add to the current timeout. Must be at least 1000ms (1 second).}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {session: map{sourceSandboxName: str, projectId: str, id: str, memory: num, vcpus: num, region: str, runtime: str, timeout: num, status: str, requestedAt: num, startedAt: num, cwd: str, requestedStopAt: num, stoppedAt: num, abortedAt: num, duration: num, sourceSnapshotId: str, snapshottedAt: num, createdAt: num, updatedAt: num, networkPolicy: map{mode: str, allowedDomains: [str], allowedCIDRs: [str], deniedCIDRs: [str], injectionRules: [map]}, activeCpuDurationMs: num, networkTransfer: map{ingress: num, egress: num}}} # The session timeout was extended successfully.\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 410, 422, 500}\n\n@endpoint POST /v2/sandboxes/sessions/{sessionId}/network-policy\n@desc Update network policy\n@required {sessionId: str # The unique identifier of the session to update the network policy for., mode: str(allow-all/deny-all/custom/default-allow/default-deny) # The network access policy mode. Use \\\"allow-all\\\" to permit all outbound traffic. Use \\\"deny-all\\\" to block all outbound traffic. Use \\\"custom\\\" to specify explicit allow/deny rules.}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of., allowedDomains: [str] # List of domain names the sandbox is allowed to connect to. Only applies when mode is \\\"custom\\\". Supports wildcard patterns (e.g., \\\"*.example.com\\\" matches all subdomains)., allowedCIDRs: [str] # List of IP address ranges (in CIDR notation) the sandbox is allowed to connect to. Traffic to these addresses bypasses domain-based restrictions., deniedCIDRs: [str] # List of IP address ranges (in CIDR notation) the sandbox is blocked from connecting to. These rules take precedence over all allowed rules.}\n@returns(200) {session: map{sourceSandboxName: str, projectId: str, id: str, memory: num, vcpus: num, region: str, runtime: str, timeout: num, status: str, requestedAt: num, startedAt: num, cwd: str, requestedStopAt: num, stoppedAt: num, abortedAt: num, duration: num, sourceSnapshotId: str, snapshottedAt: num, createdAt: num, updatedAt: num, networkPolicy: map{mode: str, allowedDomains: [str], allowedCIDRs: [str], deniedCIDRs: [str], injectionRules: [map]}, activeCpuDurationMs: num, networkTransfer: map{ingress: num, egress: num}}} # The session network policy was updated successfully.\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 402, 403: You do not have permission to access this resource., 410, 422, 500}\n\n@endpoint POST /v2/sandboxes/sessions/{sessionId}/fs/read\n@desc Read a file\n@required {sessionId: str # The unique identifier of the session to read the file from., path: str # The path of the file to read. Can be absolute or relative to the working directory.}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of., cwd: str # The base directory for resolving relative paths. If not specified, paths are resolved from the sandbox home directory.}\n@returns(200)\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404, 410, 422}\n\n@endpoint POST /v2/sandboxes/sessions/{sessionId}/fs/mkdir\n@desc Create a directory\n@required {sessionId: str # The unique identifier of the session to create the directory in., path: str # The path of the directory to create. Can be absolute or relative to the working directory.}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of., cwd: str # The base directory for resolving relative paths. If not specified, paths are resolved from the sandbox home directory., recursive: bool=true # If true, creates parent directories as needed (like `mkdir -p`). If false, fails if parent directories do not exist.}\n@returns(200) The directory was created successfully.\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 410, 422}\n\n@endpoint POST /v2/sandboxes/sessions/{sessionId}/fs/write\n@desc Write files\n@required {sessionId: str # The unique identifier of the session to write files to.}\n@optional {x-cwd: str # The target directory where the tarball contents will be extracted. If not specified, files are extracted to the sandbox home directory., teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) The files were successfully written to the session.\n@errors {400: One of the provided values in the request query is invalid. One of the provided values in the headers is invalid, 401: The request is not authorized., 403: You do not have permission to access this resource., 410, 422}\n\n@endpoint POST /v2/sandboxes/sessions/{sessionId}/snapshot\n@desc Create a snapshot\n@required {sessionId: str # The unique identifier of the session to snapshot.}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of., expiration: any # The number of milliseconds after which the snapshot will expire and be deleted. Use 0 for no expiration.}\n@returns(201) {snapshot: map{id: str, sourceSessionId: str, region: str, status: str, sizeBytes: num, expiresAt: num, createdAt: num, updatedAt: num}, session: map{sourceSandboxName: str, projectId: str, id: str, memory: num, vcpus: num, region: str, runtime: str, timeout: num, status: str, requestedAt: num, startedAt: num, cwd: str, requestedStopAt: num, stoppedAt: num, abortedAt: num, duration: num, sourceSnapshotId: str, snapshottedAt: num, createdAt: num, updatedAt: num, networkPolicy: map{mode: str, allowedDomains: [str], allowedCIDRs: [str], deniedCIDRs: [str], injectionRules: [map]}, activeCpuDurationMs: num, networkTransfer: map{ingress: num, egress: num}}}\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 402: The account was soft-blocked for an unhandled reason. The account is missing a payment so payment method must be updated, 403: You do not have permission to access this resource., 410, 422, 500}\n\n@endgroup\n\n@group security\n@endpoint POST /v1/security/attack-mode\n@desc Update Attack Challenge mode\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {attackModeEnabled: bool, attackModeUpdatedAt: num}\n@errors {400: One of the provided values in the request body is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404}\n\n@endpoint PUT /v1/security/firewall/config\n@desc Put Firewall Configuration\n@required {projectId: str, firewallEnabled: bool}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of., managedRules: map, crs: map{sd: map, ma: map, lfi: map, rfi: map, rce: map, php: map, gen: map, xss: map, sqli: map, sf: map, java: map} # Custom Ruleset, rules: [map{id: str, name!: str, description: str, active!: bool, conditionGroup!: [map], action!: map, valid: bool, validationErrors: any}], ips: [map{id: str, hostname!: str, ip!: str, notes: str, action!: str}], botIdEnabled: bool, logHeaders: any}\n@returns(200) {active: map{ownerId: str, projectKey: str, id: str, version: num, updatedAt: str, firewallEnabled: bool, crs: map{sd: map{active: bool, action: str}, ma: map{active: bool, action: str}, lfi: map{active: bool, action: str}, rfi: map{active: bool, action: str}, rce: map{active: bool, action: str}, php: map{active: bool, action: str}, gen: map{active: bool, action: str}, xss: map{active: bool, action: str}, sqli: map{active: bool, action: str}, sf: map{active: bool, action: str}, java: map{active: bool, action: str}}, rules: [any], ips: [map], changes: [map], managedRules: map{bot_protection: map{active: bool, action: str, updatedAt: str, userId: str, username: str}, ai_bots: map{active: bool, action: str, updatedAt: str, userId: str, username: str}, owasp: map{active: bool, action: str, updatedAt: str, userId: str, username: str}, vercel_ruleset: map{active: bool, action: str, updatedAt: str, userId: str, username: str}}, botIdEnabled: bool, logHeaders: any}}\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 402, 403: You do not have permission to access this resource., 404, 500}\n\n@endpoint PATCH /v1/security/firewall/config\n@desc Update Firewall Configuration\n@required {projectId: str}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200)\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 402, 403: You do not have permission to access this resource., 404, 500}\n\n@endpoint GET /v1/security/firewall/config/{configVersion}\n@desc Read Firewall Configuration\n@required {projectId: str, configVersion: str # The deployed configVersion for the firewall configuration}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {ownerId: str, projectKey: str, id: str, version: num, updatedAt: str, firewallEnabled: bool, crs: map{sd: map{active: bool, action: str}, ma: map{active: bool, action: str}, lfi: map{active: bool, action: str}, rfi: map{active: bool, action: str}, rce: map{active: bool, action: str}, php: map{active: bool, action: str}, gen: map{active: bool, action: str}, xss: map{active: bool, action: str}, sqli: map{active: bool, action: str}, sf: map{active: bool, action: str}, java: map{active: bool, action: str}}, rules: [any], ips: [map], changes: [map], managedRules: map{bot_protection: map{active: bool, action: str, updatedAt: str, userId: str, username: str}, ai_bots: map{active: bool, action: str, updatedAt: str, userId: str, username: str}, owasp: map{active: bool, action: str, updatedAt: str, userId: str, username: str}, vercel_ruleset: map{active: bool, action: str, updatedAt: str, userId: str, username: str}}, botIdEnabled: bool, logHeaders: any} # 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\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404}\n\n@endpoint GET /v1/security/firewall/attack-status\n@desc Read active attack data\n@required {projectId: str}\n@optional {since: num, teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200)\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404}\n\n@endpoint GET /v1/security/firewall/bypass\n@desc Read System Bypass\n@required {projectId: str}\n@optional {limit: num, sourceIp: str # Filter by source IP, domain: str # Filter by domain, projectScope: bool # Filter by project scoped rules, offset: str # Used for pagination. Retrieves results after the provided id, teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {result: [map], pagination: map{OwnerId: str, Id: str}}\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404, 500}\n\n@endpoint POST /v1/security/firewall/bypass\n@desc Create System Bypass Rule\n@required {projectId: str}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of., domain: str, projectScope: bool # If the specified bypass will apply to all domains for a project., sourceIp: str, allSources: bool, ttl: num # Time to live in milliseconds, note: str}\n@returns(200)\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404, 500}\n\n@endpoint DELETE /v1/security/firewall/bypass\n@desc Remove System Bypass Rule\n@required {projectId: str}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of., domain: str, projectScope: bool, sourceIp: str, allSources: bool, note: str}\n@returns(200) {ok: bool}\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404, 500}\n\n@endpoint GET /v1/security/firewall/events\n@desc Read Firewall Actions by Project\n@required {projectId: str}\n@optional {startTimestamp: num, endTimestamp: num, hosts: str}\n@returns(200) {actions: [map]}\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404, 500}\n\n@endgroup\n\n@group storage\n@endpoint POST /v1/storage/stores/integration/direct\n@desc Create integration store (free and paid plans)\n@required {name: str # Human-readable name for the storage resource, integrationConfigurationId: str # ID of your integration configuration. Get this from GET /v1/integrations/configurations, integrationProductIdOrSlug: str # ID or slug of the integration product. Get available products from GET /v1/integrations/configuration/{id}/products}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of., metadata: map # Optional key-value pairs for resource metadata, externalId: str # Optional external identifier for tracking purposes, protocolSettings: map # Protocol-specific configuration settings, source: str(marketplace/deploy-button/external/v0/resource-claims/cli/oauth/backoffice)=marketplace # Source of the store creation request, billingPlanId: str # 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., paymentMethodId: str # Payment method ID for paid resources. Optional - uses default payment method if not provided., prepaymentAmountCents: num # Amount in cents for prepayment billing plans. Required only for prepayment plans with variable amounts.}\n@returns(200) {store: map?{projectsMetadata: [map], projectFilter: map{git: map{providers: any, owners: [str], repos: [str]}}, totalConnectedProjects: num, usageQuotaExceeded: bool, status: str?, ownership: str, capabilities: map{mcp: bool, mcpReadonly: bool, sso: bool, billable: bool, transferable: bool, secretsSync: bool, secretRotation: any, projects: bool, v0: bool}, metadata: map, externalResourceId: str, externalResourceStatus: str?, directPartnerConsoleUrl: str, product: map{id: str, name: str, slug: str, iconUrl: str, capabilities: map{mcp: bool, mcpReadonly: bool, sso: bool, billable: bool, transferable: bool, secretsSync: bool, secretRotation: any, sandbox: bool, linking: bool, projects: bool, v0: bool, importResource: bool, connectedImportResource: bool, nativeImportResource: bool, databaseUI: bool}, shortDescription: str, metadataSchema: map{type: str, properties: map, required: [str]}, resourceLinks: [map], tags: [str], projectConnectionScopes: [str], showSSOLinkOnProjectConnection: bool, disableResourceRenaming: bool, resourceTitle: str, agentSkillUrl: str, repl: map{enabled: bool, supportsReadOnlyMode: bool, welcomeMessage: str}, guides: [map], integration: map{id: str, name: str, slug: str, supportsInstallationBillingPlans: bool, icon: str, flags: [str]}, integrationConfigurationId: str, supportedProtocols: [str], primaryProtocol: str, logDrainStatus: str}, protocolSettings: map{experimentation: map{edgeConfigSyncingEnabled: bool, edgeConfigId: str, edgeConfigTokenId: str}}, notification: map{title: str, level: str, message: str, href: str}, secrets: [map], billingPlan: map{type: str, description: str, id: str, name: str, scope: str, paymentMethodRequired: bool, preauthorizationAmount: num, initialCharge: str, minimumAmount: str, maximumAmount: str, maximumAmountAutoPurchasePerPeriod: str, cost: str, details: [map], highlightedDetails: [map], quote: [map], effectiveDate: str, disabled: bool}, secretRotationRequestedAt: num, secretRotationRequestedReason: str, secretRotationRequestedBy: str, secretRotationCompletedAt: num, parentId: str, targets: [str]}}\n@errors {400: One of the provided values in the request body is invalid., 401: The request is not authorized., 402: The account was soft-blocked for an unhandled reason. The account is missing a payment so payment method must be updated, 403: You do not have permission to access this resource., 404, 409, 429, 500}\n\n@endgroup\n\n@group teams\n@endpoint GET /v3/teams/{teamId}/members\n@desc List team members\n@required {teamId: str # The Team identifier to perform the request on behalf of.}\n@optional {limit: num # Limit how many teams should be returned, since: num # Timestamp in milliseconds to only include members added since then., until: num # Timestamp in milliseconds to only include members added until then., search: str # Search team members by their name, username, and email., role: str(OWNER/MEMBER/DEVELOPER/SECURITY/BILLING/VIEWER/VIEWER_FOR_PLUS/CONTRIBUTOR) # Only return members with the specified team role., excludeProject: str # Exclude members who belong to the specified project., eligibleMembersForProjectId: str # Include team members who are eligible to be members of the specified project., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {members: [map], emailInviteCodes: [map], pagination: map{hasNext: bool, count: num, next: num?, prev: num?}}\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404}\n\n@endpoint POST /v2/teams/{teamId}/members\n@desc Invite a user\n@required {teamId: str # The Team identifier to perform the request on behalf of.}\n@optional {slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {uid: str, username: str, email: str, role: str, teamRoles: [str], teamPermissions: [str]}\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource. The authenticated user must be a team owner to perform the action, 503}\n\n@endpoint POST /v1/teams/{teamId}/request\n@desc Request access to a team\n@required {teamId: str, joinedFrom: map{origin!: str, commitId: str, repoId: str, repoPath: str, gitUserId: any, gitUserLogin: str}}\n@returns(200) {teamSlug: str, teamName: str, confirmed: bool, joinedFrom: map{origin: str, commitId: str, repoId: str, repoPath: str, gitUserId: any, gitUserLogin: str, ssoUserId: str, ssoConnectedAt: num, idpUserId: str, dsyncUserId: str, dsyncConnectedAt: num}, accessRequestedAt: num, github: map?{login: str}, gitlab: map?{login: str}, bitbucket: map?{login: str}} # Successfuly requested access to the team.\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401, 403: You do not have permission to access this resource., 404: The team was not found., 429, 503}\n\n@endpoint GET /v1/teams/{teamId}/request/{userId}\n@desc Get access request status\n@required {userId: str, teamId: str}\n@returns(200) {teamSlug: str, teamName: str, confirmed: bool, joinedFrom: map{origin: str, commitId: str, repoId: str, repoPath: str, gitUserId: any, gitUserLogin: str, ssoUserId: str, ssoConnectedAt: num, idpUserId: str, dsyncUserId: str, dsyncConnectedAt: num}, accessRequestedAt: num, github: map?{login: str}, gitlab: map?{login: str}, bitbucket: map?{login: str}} # Successfully\n@errors {400: 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, 403: You do not have permission to access this resource., 404: The provided user doesn't have a membership. Team was not found.}\n\n@endpoint POST /v1/teams/{teamId}/members/teams/join\n@desc Join a team\n@required {teamId: str}\n@optional {inviteCode: str # The invite code to join the team.}\n@returns(200) {teamId: str, slug: str, name: str, from: str} # Successfully joined a team.\n@errors {400: One of the provided values in the request body is invalid., 401, 402, 403: You do not have permission to access this resource., 404}\n\n@endpoint PATCH /v1/teams/{teamId}/members/{uid}\n@desc Update a Team Member\n@required {uid: str # The ID of the member., teamId: str}\n@optional {confirmed: bool # Accept a user who requested access to the team., role: str=MEMBER # The role in the team of the member., projects: [map{projectId!: str, role!: str}], joinedFrom: map{ssoUserId: any}}\n@returns(200) {id: str} # Successfully updated the membership.\n@errors {400: 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: 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, 403: You do not have permission to access this resource., 404: The provided user is not part of this team. A user with the specified ID does not exist., 409, 500}\n\n@endpoint DELETE /v1/teams/{teamId}/members/{uid}\n@desc Remove a Team Member\n@required {uid: str # The user ID of the member., teamId: str}\n@optional {newDefaultTeamId: str # The ID of the team to set as the new default team for the Northstar user.}\n@returns(200) {id: str} # Successfully removed a member of the team.\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource. Not authorized to update the team., 404, 503}\n\n@endpoint GET /v2/teams/{teamId}\n@desc Get a Team\n@required {teamId: str # The Team identifier to perform the request on behalf of.}\n@optional {slug: str}\n@returns(200) {connect: map{enabled: bool}, creatorId: str, updatedAt: num, emailDomain: str?, saml: map{connection: map{type: str, status: str, state: str, connectedAt: num, lastReceivedWebhookEvent: num, lastSyncedAt: num, syncState: str}, directory: map{type: str, state: str, connectedAt: num, lastReceivedWebhookEvent: num, lastSyncedAt: num, syncState: str}, enforced: bool, defaultRedirectUri: str, roles: map}, inviteCode: str, description: str?, defaultRoles: map{teamRoles: [str], teamPermissions: [str]}, stagingPrefix: str, resourceConfig: map{concurrentBuilds: num, elasticConcurrencyEnabled: bool, edgeConfigSize: num, edgeConfigs: num, kvDatabases: num, blobStores: num, postgresDatabases: num, buildEntitlements: map{enhancedBuilds: bool}, buildMachine: map{default: str}}, previewDeploymentSuffix: str?, platform: bool, disableHardAutoBlocks: any, remoteCaching: map{enabled: bool}, defaultDeploymentProtection: map{passwordProtection: map?{deploymentType: str}, ssoProtection: map?{deploymentType: str}}, defaultExpirationSettings: map{expirationDays: num, expirationDaysProduction: num, expirationDaysCanceled: num, expirationDaysErrored: num, deploymentsToKeep: num}, enablePreviewFeedback: str?, enableProductionFeedback: str?, sensitiveEnvironmentVariablePolicy: str?, hideIpAddresses: bool?, hideIpAddressesInLogDrains: bool?, ipBuckets: [map], strictDeploymentProtectionSettings: map{enabled: bool, updatedAt: num}, nsnbConfig: map{preference: str}, id: str, slug: str, name: str?, avatar: str?, membership: map{uid: str, entitlements: [map], teamId: str, confirmed: bool, accessRequestedAt: num, role: str, teamRoles: [str], teamPermissions: [str], createdAt: num, created: num, joinedFrom: map{origin: str, commitId: str, repoId: str, repoPath: str, gitUserId: any, gitUserLogin: str, ssoUserId: str, ssoConnectedAt: num, idpUserId: str, dsyncUserId: str, dsyncConnectedAt: num}}, createdAt: num} # The requested team\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource. Not authorized to access the team., 404: Team was not found.}\n\n@endpoint PATCH /v2/teams/{teamId}\n@desc Update a Team\n@required {teamId: str # The Team identifier to perform the request on behalf of.}\n@optional {slug: str # The Team slug to perform the request on behalf of., avatar: str(regex) # The hash value of an uploaded image., description: str # A short text that describes the team., emailDomain: str(regex), name: str # The name of the team., previewDeploymentSuffix: str(hostname) # Suffix that will be used for all preview deployments., regenerateInviteCode: bool # Create a new invite code and replace the current one., saml: map{enforced: bool, roles: map}, slug: str # A new slug for the team., enablePreviewFeedback: str # Enable preview toolbar: one of on, off or default., enableProductionFeedback: str # Enable production toolbar: one of on, off or default., sensitiveEnvironmentVariablePolicy: str # Sensitive environment variable policy: one of on, off or default., remoteCaching: map{enabled: bool} # Whether or not remote caching is enabled for the team, hideIpAddresses: bool # Display or hide IP addresses in Monitoring queries., hideIpAddressesInLogDrains: bool # Display or hide IP addresses in Log Drains., defaultDeploymentProtection: map{passwordProtection: map, ssoProtection: map} # Default deployment protection settings for new projects., defaultExpirationSettings: map{expiration: str, expirationProduction: str, expirationCanceled: str, expirationErrored: str}, strictDeploymentProtectionSettings: map{enabled!: bool} # When enabled, deployment protection settings require stricter permissions (owner-only)., nsnbConfig: any, resourceConfig: map{buildMachine: map} # Resource configuration for the team.}\n@returns(200) {connect: map{enabled: bool}, creatorId: str, updatedAt: num, emailDomain: str?, saml: map{connection: map{type: str, status: str, state: str, connectedAt: num, lastReceivedWebhookEvent: num, lastSyncedAt: num, syncState: str}, directory: map{type: str, state: str, connectedAt: num, lastReceivedWebhookEvent: num, lastSyncedAt: num, syncState: str}, enforced: bool, defaultRedirectUri: str, roles: map}, inviteCode: str, description: str?, defaultRoles: map{teamRoles: [str], teamPermissions: [str]}, stagingPrefix: str, resourceConfig: map{concurrentBuilds: num, elasticConcurrencyEnabled: bool, edgeConfigSize: num, edgeConfigs: num, kvDatabases: num, blobStores: num, postgresDatabases: num, buildEntitlements: map{enhancedBuilds: bool}, buildMachine: map{default: str}}, previewDeploymentSuffix: str?, platform: bool, disableHardAutoBlocks: any, remoteCaching: map{enabled: bool}, defaultDeploymentProtection: map{passwordProtection: map?{deploymentType: str}, ssoProtection: map?{deploymentType: str}}, defaultExpirationSettings: map{expirationDays: num, expirationDaysProduction: num, expirationDaysCanceled: num, expirationDaysErrored: num, deploymentsToKeep: num}, enablePreviewFeedback: str?, enableProductionFeedback: str?, sensitiveEnvironmentVariablePolicy: str?, hideIpAddresses: bool?, hideIpAddressesInLogDrains: bool?, ipBuckets: [map], strictDeploymentProtectionSettings: map{enabled: bool, updatedAt: num}, nsnbConfig: map{preference: str}, id: str, slug: str, name: str?, avatar: str?, membership: map{uid: str, entitlements: [map], teamId: str, confirmed: bool, accessRequestedAt: num, role: str, teamRoles: [str], teamPermissions: [str], createdAt: num, created: num, joinedFrom: map{origin: str, commitId: str, repoId: str, repoPath: str, gitUserId: any, gitUserLogin: str, ssoUserId: str, ssoConnectedAt: num, idpUserId: str, dsyncUserId: str, dsyncConnectedAt: num}}, createdAt: num}\n@errors {400: One of the provided values in the request body is invalid., 401: The request is not authorized., 402, 403: You do not have permission to access this resource. Not authorized to update the team. Must be an OWNER., 428: Owner does not have protection add-on Advanced Deployment Protection is not available for the user plan}\n\n@endpoint GET /v2/teams\n@desc List all teams\n@optional {limit: num # Maximum number of Teams which may be returned., since: num # Timestamp (in milliseconds) to only include Teams created since then., until: num # Timestamp (in milliseconds) to only include Teams created until then.}\n@returns(200) {teams: [any], pagination: map{count: num, next: num?, prev: num?}} # A paginated list of teams.\n@errors {400: One of the provided values in the request query is invalid., 401, 403: You do not have permission to access this resource.}\n\n@endpoint POST /v1/teams\n@desc Create a Team\n@required {slug: str # The desired slug for the Team}\n@optional {name: str # The desired name for the Team. It will be generated from the provided slug if nothing is provided, attribution: map{sessionReferrer: str, landingPage: str, pageBeforeConversionPage: str, utm: map} # Attribution information for the session or current page}\n@returns(200) {id: str, slug: str} # The team was created successfully\n@errors {400: One of the provided values in the request body is invalid. The slug is already in use, 401, 403: You do not have permission to access this resource.}\n\n@endpoint POST /v1/teams/{teamId}/dsync-roles\n@desc Update Team Directory Sync Role Mappings\n@required {teamId: str # The Team identifier to perform the request on behalf of., roles: map # Directory groups to role or access group mappings.}\n@optional {slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {ok: bool}\n@errors {400: One of the provided values in the request body is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource.}\n\n@endpoint DELETE /v1/teams/{teamId}\n@desc Delete a Team\n@required {teamId: str # The Team identifier to perform the request on behalf of.}\n@optional {newDefaultTeamId: str # Id of the team to be set as the new default team, slug: str # The Team slug to perform the request on behalf of., reasons: [map{slug!: str, description!: str}] # Optional array of objects that describe the reason why the team is being deleted.}\n@returns(200) {id: str, newDefaultTeamIdError: bool} # The Team was successfully deleted\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 402, 403: You do not have permission to access this resource. The authenticated user can't access the team, 409}\n\n@endpoint DELETE /v1/teams/{teamId}/invites/{inviteId}\n@desc Delete a Team invite code\n@required {inviteId: str # The Team invite code ID., teamId: str # The Team identifier to perform the request on behalf of.}\n@returns(200) {id: str} # Successfully deleted Team invite code.\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource. Invite managed by directory sync Not authorized to access this team., 404: Team invite code not found.}\n\n@endpoint PATCH /v1/teams/{teamId}/microfrontends/{groupId}\n@desc Update a microfrontends group\n@required {groupId: str, teamId: str # The Team identifier to perform the request on behalf of.}\n@optional {slug: str # The Team slug to perform the request on behalf of., name: str # The new name for the existing microfrontends group., fallbackEnvironment: str # The new fallback environment for the microfrontends group. Must be \\\"SAME_ENV\\\", \\\"PRODUCTION\\\", or a valid custom environment slug from the default app.}\n@returns(200) {updatedMicrofrontendsGroup: map{name: str, slug: str, id: str, fallbackEnvironment: str}}\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404}\n\n@endpoint DELETE /v1/teams/{teamId}/microfrontends/{groupId}\n@desc Delete a microfrontends group\n@required {groupId: str # The microfrontend group ID to delete., teamId: str # The Team identifier to perform the request on behalf of.}\n@optional {slug: str # The Team slug to perform the request on behalf of.}\n@returns(200)\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404, 500}\n\n@endgroup\n\n@group files\n@endpoint POST /v2/files\n@desc Upload Deployment Files\n@optional {Content-Length: num # The file size in bytes, x-vercel-digest: str # The file SHA1 used to check the integrity, x-now-digest: str # The file SHA1 used to check the integrity, x-now-size: num # The file size as an alternative to `Content-Length`, teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) File already uploaded File successfully uploaded\n@errors {400: One of the provided values in the headers is invalid Digest is not valid File size is not valid, 401: The request is not authorized., 403: You do not have permission to access this resource.}\n\n@endgroup\n\n@group user\n@endpoint GET /v6/user/tokens\n@desc List Auth Tokens\n@returns(200)\n@errors {400, 401: The request is not authorized., 403: You do not have permission to access this resource.}\n\n@endpoint POST /v3/user/tokens\n@desc Create an Auth Token\n@required {name: str}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of., expiresAt: num}\n@returns(200) {token: map{id: str, name: str, type: str, prefix: str, suffix: str, origin: str, scopes: [any], createdAt: num, activeAt: num, expiresAt: num, revokedAt: num, leakedAt: num, leakedUrl: str}, bearerToken: str} # Successful response.\n@errors {400: One of the provided values in the request body is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404}\n\n@endpoint GET /v5/user/tokens/{tokenId}\n@desc Get Auth Token Metadata\n@required {tokenId: str # 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.}\n@returns(200) {token: map{id: str, name: str, type: str, prefix: str, suffix: str, origin: str, scopes: [any], createdAt: num, activeAt: num, expiresAt: num, revokedAt: num, leakedAt: num, leakedUrl: str}} # Successful response.\n@errors {400: One of the provided values in the request query is invalid., 401, 403: You do not have permission to access this resource., 404: Token not found with the requested `tokenId`.}\n\n@endpoint DELETE /v3/user/tokens/{tokenId}\n@desc Delete an authentication token\n@required {tokenId: str # 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.}\n@returns(200) {tokenId: str} # Authentication token successfully deleted.\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404: Token not found with the requested `tokenId`.}\n\n@endpoint GET /v2/user\n@desc Get the User\n@returns(200) {user: any} # Successful response.\n@errors {302, 400, 401: The request is not authorized., 403: You do not have permission to access this resource., 409}\n\n@endpoint DELETE /v1/user\n@desc Delete User Account\n@optional {reasons: [map{slug!: str, description!: str}] # Optional array of objects that describe the reason why the User account is being deleted.}\n@returns(202) {id: str, email: str, message: str} # Response indicating that the User deletion process has been initiated, and a confirmation email has been sent.\n@errors {400: One of the provided values in the request body is invalid., 401, 402, 403: You do not have permission to access this resource.}\n\n@endgroup\n\n@group webhooks\n@endpoint POST /v1/webhooks\n@desc Creates a webhook\n@required {url: str(uri), events: [str]}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of., projectIds: [str]}\n@returns(200) {secret: str, events: [str], id: str, url: str, ownerId: str, createdAt: num, updatedAt: num, projectIds: [str]}\n@errors {400: One of the provided values in the request body is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource.}\n\n@endpoint GET /v1/webhooks\n@desc Get a list of webhooks\n@optional {projectId: str, teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200)\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource.}\n\n@endpoint GET /v1/webhooks/{id}\n@desc Get a webhook\n@required {id: str}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {events: [str], id: str, url: str, ownerId: str, createdAt: num, updatedAt: num, projectIds: [str]}\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource.}\n\n@endpoint DELETE /v1/webhooks/{id}\n@desc Deletes a webhook\n@required {id: str}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(204)\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource.}\n\n@endgroup\n\n@group deployments\n@endpoint GET /v2/deployments/{id}/aliases\n@desc List Deployment Aliases\n@required {id: str # The ID of the deployment the aliases should be listed for}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {aliases: [map]} # The list of aliases assigned to the deployment\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404: The deployment was not found}\n\n@endpoint POST /v2/deployments/{id}/aliases\n@desc Assign an Alias\n@required {id: any # The ID of the deployment the aliases should be listed for}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of., alias: str # The alias we want to assign to the deployment defined in the URL, redirect: str # 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}\n@returns(200) {uid: str, alias: str, created: str(date-time), oldDeploymentId: str?} # The alias was successfully assigned to the deployment\n@errors {400: 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: The request is not authorized., 402: The account was soft-blocked for an unhandled reason. The account is missing a payment so payment method must be updated, 403: You do not have permission to access this resource. If no .vercel.app alias exists then we fail (nothing to mirror), 404: The domain used for the alias was not found The deployment was not found, 409: The provided alias is already assigned to the given deployment The domain is not allowed to be used}\n\n@endgroup\n\n@group aliases\n@endpoint GET /v4/aliases\n@desc List aliases\n@optional {domain: any # Get only aliases of the given domain name, from: num # Get only aliases created after the provided timestamp, limit: num # Maximum number of aliases to list from a request, projectId: str # Filter aliases from the given `projectId`, since: num # Get aliases created after this JavaScript timestamp, until: num # Get aliases created before this JavaScript timestamp, rollbackDeploymentId: str # Get aliases that would be rolled back for the given deployment, teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {aliases: [map], pagination: map{count: num, next: num?, prev: num?}} # The paginated list of aliases\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404}\n\n@endpoint GET /v4/aliases/{idOrAlias}\n@desc Get an Alias\n@required {idOrAlias: str # The alias or alias ID to be retrieved}\n@optional {from: num # Get the alias only if it was created after the provided timestamp, projectId: str # Get the alias only if it is assigned to the provided project ID, since: num # Get the alias only if it was created after this JavaScript timestamp, until: num # Get the alias only if it was created before this JavaScript timestamp, teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {alias: str, created: str(date-time), createdAt: num?, creator: map{uid: str, email: str, username: str}, deletedAt: num?, deployment: map{id: str, url: str, meta: str}, deploymentId: str?, projectId: str?, redirect: str?, redirectStatusCode: num?, uid: str, updatedAt: num?, protectionBypass: map, microfrontends: map{defaultApp: map{projectId: str}, applications: any}} # The alias information\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404: The alias was not found}\n\n@endpoint DELETE /v2/aliases/{aliasId}\n@desc Delete an Alias\n@required {aliasId: any # The ID or alias that will be removed}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {status: str} # The alias was successfully removed\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404: The alias was not found}\n\n@endpoint PATCH /aliases/{id}/protection-bypass\n@desc Update the protection bypass for a URL\n@required {id: str # The alias or deployment ID}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200)\n@errors {400: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404, 409, 428}\n\n@endgroup\n\n@group certs\n@endpoint GET /v8/certs/{id}\n@desc Get cert by id\n@required {id: str # The cert id}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {id: str, createdAt: num, expiresAt: num, autoRenew: bool, cns: [str]}\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404}\n\n@endpoint DELETE /v8/certs/{id}\n@desc Remove cert\n@required {id: str # The cert id to remove}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200)\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404}\n\n@endpoint POST /v8/certs\n@desc Issue a new cert\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of., cns: [str] # The common names the cert should be issued for}\n@returns(200) {id: str, createdAt: num, expiresAt: num, autoRenew: bool, cns: [str]}\n@errors {400: One of the provided values in the request body is invalid., 401: The request is not authorized., 402: The account was soft-blocked for an unhandled reason. The account is missing a payment so payment method must be updated, 403: You do not have permission to access this resource., 404, 449, 500}\n\n@endpoint PUT /v8/certs\n@desc Upload a cert\n@required {ca: str # The certificate authority, key: str # The certificate key, cert: str # The certificate}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of., skipValidation: bool # Skip validation of the certificate}\n@returns(200) {id: str, createdAt: num, expiresAt: num, autoRenew: bool, cns: [str]}\n@errors {400: One of the provided values in the request body is invalid., 401: The request is not authorized., 402: This feature is only available for Enterprise customers., 403: You do not have permission to access this resource.}\n\n@endgroup\n\n@group deployments\n@endpoint GET /v6/deployments/{id}/files\n@desc List Deployment Files\n@required {id: str # The unique deployment identifier}\n@optional {teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) Retrieved the file tree successfully\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404: File tree not found Deployment not found}\n\n@endpoint GET /v8/deployments/{id}/files/{fileId}\n@desc Get Deployment File Contents\n@required {id: str # The unique deployment identifier, fileId: str # The unique file identifier}\n@optional {path: str # Path to the file to fetch (only for Git deployments), teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404: File not found Deployment not found, 410: Invalid API version.}\n\n@endpoint GET /v6/deployments\n@desc List deployments\n@optional {app: str # Name of the deployment., from: num # Gets the deployment created after this Date timestamp. (default: current time), limit: num # Maximum number of deployments to list from a request., projectId: str # Filter deployments from the given ID or name., projectIds: [str] # Filter deployments from the given project IDs. Cannot be used when projectId is specified., target: str # Filter deployments based on the environment., to: num # Gets the deployment created before this Date timestamp. (default: current time), users: str # Filter out deployments based on users who have created the deployment., since: num # Get Deployments created after this JavaScript timestamp., until: num # Get Deployments created before this JavaScript timestamp., state: str # Filter deployments based on their state (`BUILDING`, `ERROR`, `INITIALIZING`, `QUEUED`, `READY`, `CANCELED`), rollbackCandidate: bool # Filter deployments based on their rollback candidacy, branch: str # Filter deployments based on the branch name, sha: str # Filter deployments based on the SHA, teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {pagination: map{count: num, next: num?, prev: num?}, deployments: [map]}\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404, 422}\n\n@endpoint DELETE /v13/deployments/{id}\n@desc Delete a Deployment\n@required {id: str # The ID of the deployment to be deleted}\n@optional {url: str # A Deployment or Alias URL. In case it is passed, the ID will be ignored, teamId: str # The Team identifier to perform the request on behalf of., slug: str # The Team slug to perform the request on behalf of.}\n@returns(200) {uid: str, state: str} # The deployment was successfully deleted\n@errors {400: One of the provided values in the request query is invalid., 401: The request is not authorized., 403: You do not have permission to access this resource., 404: The deployment was not found}\n\n@endgroup\n\n@end\n"}