From 6bab83e3fdba6cd02196420950b909f46a14ea08 Mon Sep 17 00:00:00 2001 From: Jeffrey Aven Date: Thu, 14 Dec 2023 20:38:56 +1100 Subject: [PATCH] added vercel --- .../src/vercel/v00.00.00000/provider.yaml | 179 + .../vercel/v00.00.00000/services/aliases.yaml | 859 ++ .../v00.00.00000/services/artifacts.yaml | 498 + .../v00.00.00000/services/authentication.yaml | 532 + .../services/billing_settings.yaml | 79 + .../vercel/v00.00.00000/services/cache.yaml | 69 + .../vercel/v00.00.00000/services/certs.yaml | 300 + .../vercel/v00.00.00000/services/checks.yaml | 1044 ++ .../v00.00.00000/services/deployments.yaml | 6734 +++++++++ .../src/vercel/v00.00.00000/services/dns.yaml | 884 ++ .../vercel/v00.00.00000/services/domains.yaml | 1224 ++ .../v00.00.00000/services/edge_config.yaml | 968 ++ .../v00.00.00000/services/integrations.yaml | 1109 ++ .../v00.00.00000/services/log_drains.yaml | 907 ++ .../services/project_members.yaml | 345 + .../v00.00.00000/services/projects.yaml | 11897 ++++++++++++++++ .../vercel/v00.00.00000/services/secrets.yaml | 533 + .../vercel/v00.00.00000/services/teams.yaml | 3140 ++++ .../vercel/v00.00.00000/services/user.yaml | 1975 +++ .../v00.00.00000/services/webhooks.yaml | 597 + 20 files changed, 33873 insertions(+) create mode 100644 providers/src/vercel/v00.00.00000/provider.yaml create mode 100644 providers/src/vercel/v00.00.00000/services/aliases.yaml create mode 100644 providers/src/vercel/v00.00.00000/services/artifacts.yaml create mode 100644 providers/src/vercel/v00.00.00000/services/authentication.yaml create mode 100644 providers/src/vercel/v00.00.00000/services/billing_settings.yaml create mode 100644 providers/src/vercel/v00.00.00000/services/cache.yaml create mode 100644 providers/src/vercel/v00.00.00000/services/certs.yaml create mode 100644 providers/src/vercel/v00.00.00000/services/checks.yaml create mode 100644 providers/src/vercel/v00.00.00000/services/deployments.yaml create mode 100644 providers/src/vercel/v00.00.00000/services/dns.yaml create mode 100644 providers/src/vercel/v00.00.00000/services/domains.yaml create mode 100644 providers/src/vercel/v00.00.00000/services/edge_config.yaml create mode 100644 providers/src/vercel/v00.00.00000/services/integrations.yaml create mode 100644 providers/src/vercel/v00.00.00000/services/log_drains.yaml create mode 100644 providers/src/vercel/v00.00.00000/services/project_members.yaml create mode 100644 providers/src/vercel/v00.00.00000/services/projects.yaml create mode 100644 providers/src/vercel/v00.00.00000/services/secrets.yaml create mode 100644 providers/src/vercel/v00.00.00000/services/teams.yaml create mode 100644 providers/src/vercel/v00.00.00000/services/user.yaml create mode 100644 providers/src/vercel/v00.00.00000/services/webhooks.yaml diff --git a/providers/src/vercel/v00.00.00000/provider.yaml b/providers/src/vercel/v00.00.00000/provider.yaml new file mode 100644 index 00000000..0211e870 --- /dev/null +++ b/providers/src/vercel/v00.00.00000/provider.yaml @@ -0,0 +1,179 @@ +id: vercel +name: vercel +version: v00.00.00000 +providerServices: + aliases: + id: 'aliases:v00.00.00000' + name: aliases + preferred: true + service: + $ref: vercel/v00.00.00000/services/aliases.yaml + title: Vercel API - Aliases + version: v00.00.00000 + description: Aliases + artifacts: + id: 'artifacts:v00.00.00000' + name: artifacts + preferred: true + service: + $ref: vercel/v00.00.00000/services/artifacts.yaml + title: Vercel API - Artifacts + version: v00.00.00000 + description: Artifacts + authentication: + id: 'authentication:v00.00.00000' + name: authentication + preferred: true + service: + $ref: vercel/v00.00.00000/services/authentication.yaml + title: Vercel API - Authentication + version: v00.00.00000 + description: Authentication + billing_settings: + id: 'billing_settings:v00.00.00000' + name: billing_settings + preferred: true + service: + $ref: vercel/v00.00.00000/services/billing_settings.yaml + title: Vercel API - Billing Settings + version: v00.00.00000 + description: Billing Settings + cache: + id: 'cache:v00.00.00000' + name: cache + preferred: true + service: + $ref: vercel/v00.00.00000/services/cache.yaml + title: Vercel API - Cache + version: v00.00.00000 + description: Cache + certs: + id: 'certs:v00.00.00000' + name: certs + preferred: true + service: + $ref: vercel/v00.00.00000/services/certs.yaml + title: Vercel API - Certs + version: v00.00.00000 + description: Certs + checks: + id: 'checks:v00.00.00000' + name: checks + preferred: true + service: + $ref: vercel/v00.00.00000/services/checks.yaml + title: Vercel API - Checks + version: v00.00.00000 + description: Checks + deployments: + id: 'deployments:v00.00.00000' + name: deployments + preferred: true + service: + $ref: vercel/v00.00.00000/services/deployments.yaml + title: Vercel API - Deployments + version: v00.00.00000 + description: Deployments + dns: + id: 'dns:v00.00.00000' + name: dns + preferred: true + service: + $ref: vercel/v00.00.00000/services/dns.yaml + title: Vercel API - Dns + version: v00.00.00000 + description: Dns + domains: + id: 'domains:v00.00.00000' + name: domains + preferred: true + service: + $ref: vercel/v00.00.00000/services/domains.yaml + title: Vercel API - Domains + version: v00.00.00000 + description: Domains + edge_config: + id: 'edge_config:v00.00.00000' + name: edge_config + preferred: true + service: + $ref: vercel/v00.00.00000/services/edge_config.yaml + title: Vercel API - Edge Config + version: v00.00.00000 + description: Edge-Config + integrations: + id: 'integrations:v00.00.00000' + name: integrations + preferred: true + service: + $ref: vercel/v00.00.00000/services/integrations.yaml + title: Vercel API - Integrations + version: v00.00.00000 + description: Integrations + log_drains: + id: 'log_drains:v00.00.00000' + name: log_drains + preferred: true + service: + $ref: vercel/v00.00.00000/services/log_drains.yaml + title: Vercel API - Log Drains + version: v00.00.00000 + description: LogDrains + projects: + id: 'projects:v00.00.00000' + name: projects + preferred: true + service: + $ref: vercel/v00.00.00000/services/projects.yaml + title: Vercel API - Projects + version: v00.00.00000 + description: Projects + project_members: + id: 'project_members:v00.00.00000' + name: project_members + preferred: true + service: + $ref: vercel/v00.00.00000/services/project_members.yaml + title: Vercel API - Project Members + version: v00.00.00000 + description: ProjectMembers + secrets: + id: 'secrets:v00.00.00000' + name: secrets + preferred: true + service: + $ref: vercel/v00.00.00000/services/secrets.yaml + title: Vercel API - Secrets + version: v00.00.00000 + description: Secrets + teams: + id: 'teams:v00.00.00000' + name: teams + preferred: true + service: + $ref: vercel/v00.00.00000/services/teams.yaml + title: Vercel API - Teams + version: v00.00.00000 + description: Teams + user: + id: 'user:v00.00.00000' + name: user + preferred: true + service: + $ref: vercel/v00.00.00000/services/user.yaml + title: Vercel API - User + version: v00.00.00000 + description: User + webhooks: + id: 'webhooks:v00.00.00000' + name: webhooks + preferred: true + service: + $ref: vercel/v00.00.00000/services/webhooks.yaml + title: Vercel API - Webhooks + version: v00.00.00000 + description: Webhooks +config: + auth: + type: bearer + credentialsenvvar: VERCEL_API_TOKEN diff --git a/providers/src/vercel/v00.00.00000/services/aliases.yaml b/providers/src/vercel/v00.00.00000/services/aliases.yaml new file mode 100644 index 00000000..8736f64b --- /dev/null +++ b/providers/src/vercel/v00.00.00000/services/aliases.yaml @@ -0,0 +1,859 @@ +openapi: 3.0.3 +servers: + - url: 'https://api.vercel.com' + description: Production API +info: + contact: + email: support@vercel.com + name: Vercel Support + url: 'https://vercel.com/support' + version: 0.0.1 + title: Vercel API - aliases + description: aliases +components: + schemas: + Pagination: + properties: + count: + type: number + description: Amount of items in the current page. + example: 20 + next: + nullable: true + type: number + description: Timestamp that must be used to request the next page. + example: 1540095775951 + prev: + nullable: true + type: number + description: Timestamp that must be used to request the previous page. + example: 1540095775951 + required: + - count + - next + - prev + type: object + description: 'This object contains information related to the pagination of the current request, including the necessary parameters to get the next or previous page of data.' + responses: {} + securitySchemes: + bearerToken: + type: http + description: Default authentication mechanism + scheme: bearer + oauth2: + type: oauth2 + flows: + authorizationCode: + authorizationUrl: 'https://api.vercel.com/oauth/authorize' + tokenUrl: 'https://api.vercel.com/oauth/access_token' + scopes: {} + x-stackQL-resources: + aliases: + id: vercel.aliases.aliases + name: aliases + title: Aliases + methods: + list_aliases: + operation: + $ref: '#/paths/~1v4~1aliases/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.aliases + _list_aliases: + operation: + $ref: '#/paths/~1v4~1aliases/get' + response: + mediaType: application/json + openAPIDocKey: '200' + get_alias: + operation: + $ref: '#/paths/~1v4~1aliases~1{idOrAlias}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_alias: + operation: + $ref: '#/paths/~1v2~1aliases~1{aliasId}/delete' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/aliases/methods/get_alias' + - $ref: '#/components/x-stackQL-resources/aliases/methods/list_aliases' + insert: [] + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/aliases/methods/delete_alias' + deployments: + id: vercel.aliases.deployments + name: deployments + title: Deployments + methods: + list_deployment_aliases: + operation: + $ref: '#/paths/~1v2~1deployments~1{id}~1aliases/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.aliases + _list_deployment_aliases: + operation: + $ref: '#/paths/~1v2~1deployments~1{id}~1aliases/get' + response: + mediaType: application/json + openAPIDocKey: '200' + assign_alias: + operation: + $ref: '#/paths/~1v2~1deployments~1{id}~1aliases/post' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/deployments/methods/list_deployment_aliases' + insert: [] + update: [] + delete: [] +paths: + /v4/aliases: + get: + description: 'Retrieves a list of aliases for the authenticated User or Team. When `domain` is provided, only aliases for that domain will be returned. When `projectId` is provided, it will only return the given project aliases.' + operationId: listAliases + security: + - bearerToken: [] + summary: List aliases + tags: + - aliases + responses: + '200': + description: The paginated list of aliases + content: + application/json: + schema: + properties: + aliases: + items: + properties: + alias: + type: string + description: 'The alias name, it could be a `.vercel.app` subdomain or a custom domain' + example: my-alias.vercel.app + created: + type: string + format: date-time + description: The date when the alias was created + example: '2017-04-26T23:00:34.232Z' + createdAt: + type: number + description: The date when the alias was created in milliseconds since the UNIX epoch + example: 1540095775941 + creator: + properties: + uid: + type: string + description: ID of the user who created the alias + example: 96SnxkFiMyVKsK3pnoHfx3Hz + email: + type: string + description: Email of the user who created the alias + example: john-doe@gmail.com + username: + type: string + description: Username of the user who created the alias + example: john-doe + required: + - uid + - email + - username + type: object + description: Information of the user who created the alias + deletedAt: + type: number + description: The date when the alias was deleted in milliseconds since the UNIX epoch + example: 1540095775941 + deployment: + properties: + id: + type: string + description: The deployment unique identifier + example: dpl_5m8CQaRBm3FnWRW1od3wKTpaECPx + url: + type: string + description: The deployment unique URL + example: my-instant-deployment-3ij3cxz9qr.now.sh + meta: + type: string + description: The deployment metadata + example: {} + required: + - id + - url + type: object + description: 'A map with the deployment ID, URL and metadata' + deploymentId: + nullable: true + type: string + description: The deployment ID + example: dpl_5m8CQaRBm3FnWRW1od3wKTpaECPx + projectId: + nullable: true + type: string + description: The unique identifier of the project + example: prj_12HKQaOmR5t5Uy6vdcQsNIiZgHGB + redirect: + nullable: true + type: string + description: Target destination domain for redirect when the alias is a redirect + redirectStatusCode: + nullable: true + type: number + enum: + - 301 + - 302 + - 307 + - 308 + description: Status code to be used on redirect + uid: + type: string + description: The unique identifier of the alias + updatedAt: + type: number + description: The date when the alias was updated in milliseconds since the UNIX epoch + example: 1540095775941 + protectionBypass: + additionalProperties: + oneOf: + - properties: + createdAt: + type: number + createdBy: + type: string + scope: + type: string + enum: + - shareable-link + required: + - createdAt + - createdBy + - scope + type: object + description: The protection bypass for the alias + - properties: + createdAt: + type: number + lastUpdatedAt: + type: number + lastUpdatedBy: + type: string + access: + type: string + enum: + - requested + - granted + scope: + type: string + enum: + - user + required: + - createdAt + - lastUpdatedAt + - lastUpdatedBy + - access + - scope + type: object + description: The protection bypass for the alias + - properties: + createdAt: + type: number + createdBy: + type: string + scope: + type: string + enum: + - alias-protection-override + required: + - createdAt + - createdBy + - scope + type: object + description: The protection bypass for the alias + type: object + description: The protection bypass for the alias + required: + - alias + - created + - deploymentId + - projectId + - uid + type: object + type: array + pagination: + $ref: '#/components/schemas/Pagination' + required: + - aliases + - pagination + type: object + '400': + description: One of the provided values in the request query is invalid. + '401': + description: '' + '403': + description: You do not have permission to access this resource. + '404': + description: '' + parameters: + - name: domain + description: Get only aliases of the given domain name + in: query + schema: + description: Get only aliases of the given domain name + example: my-test-domain.com + items: + type: string + maxItems: 20 + oneOf: + - type: array + - type: string + - name: from + description: Get only aliases created after the provided timestamp + in: query + schema: + deprecated: true + description: Get only aliases created after the provided timestamp + example: 1540095775951 + type: number + - name: limit + description: Maximum number of aliases to list from a request + in: query + schema: + description: Maximum number of aliases to list from a request + example: 10 + type: number + - name: projectId + description: Filter aliases from the given `projectId` + in: query + schema: + description: Filter aliases from the given `projectId` + example: prj_12HKQaOmR5t5Uy6vdcQsNIiZgHGB + type: string + - name: since + description: Get aliases created after this JavaScript timestamp + in: query + schema: + description: Get aliases created after this JavaScript timestamp + example: 1540095775941 + type: number + - name: until + description: Get aliases created before this JavaScript timestamp + in: query + schema: + description: Get aliases created before this JavaScript timestamp + example: 1540095775951 + type: number + - name: rollbackDeploymentId + description: Get aliases that would be rolled back for the given deployment + in: query + schema: + description: Get aliases that would be rolled back for the given deployment + example: dpl_XXX + type: string + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + '/v4/aliases/{idOrAlias}': + get: + description: Retrieves an Alias for the given host name or alias ID. + operationId: getAlias + security: + - bearerToken: [] + summary: Get an Alias + tags: + - aliases + responses: + '200': + description: The alias information + content: + application/json: + schema: + properties: + alias: + type: string + description: 'The alias name, it could be a `.vercel.app` subdomain or a custom domain' + example: my-alias.vercel.app + created: + type: string + format: date-time + description: The date when the alias was created + example: '2017-04-26T23:00:34.232Z' + createdAt: + type: number + description: The date when the alias was created in milliseconds since the UNIX epoch + example: 1540095775941 + creator: + properties: + uid: + type: string + description: ID of the user who created the alias + example: 96SnxkFiMyVKsK3pnoHfx3Hz + email: + type: string + description: Email of the user who created the alias + example: john-doe@gmail.com + username: + type: string + description: Username of the user who created the alias + example: john-doe + required: + - uid + - email + - username + type: object + description: Information of the user who created the alias + deletedAt: + type: number + description: The date when the alias was deleted in milliseconds since the UNIX epoch + example: 1540095775941 + deployment: + properties: + id: + type: string + description: The deployment unique identifier + example: dpl_5m8CQaRBm3FnWRW1od3wKTpaECPx + url: + type: string + description: The deployment unique URL + example: my-instant-deployment-3ij3cxz9qr.now.sh + meta: + type: string + description: The deployment metadata + example: {} + required: + - id + - url + type: object + description: 'A map with the deployment ID, URL and metadata' + deploymentId: + nullable: true + type: string + description: The deployment ID + example: dpl_5m8CQaRBm3FnWRW1od3wKTpaECPx + projectId: + nullable: true + type: string + description: The unique identifier of the project + example: prj_12HKQaOmR5t5Uy6vdcQsNIiZgHGB + redirect: + nullable: true + type: string + description: Target destination domain for redirect when the alias is a redirect + redirectStatusCode: + nullable: true + type: number + enum: + - 301 + - 302 + - 307 + - 308 + description: Status code to be used on redirect + uid: + type: string + description: The unique identifier of the alias + updatedAt: + type: number + description: The date when the alias was updated in milliseconds since the UNIX epoch + example: 1540095775941 + protectionBypass: + additionalProperties: + oneOf: + - properties: + createdAt: + type: number + createdBy: + type: string + scope: + type: string + enum: + - shareable-link + required: + - createdAt + - createdBy + - scope + type: object + description: The protection bypass for the alias + - properties: + createdAt: + type: number + lastUpdatedAt: + type: number + lastUpdatedBy: + type: string + access: + type: string + enum: + - requested + - granted + scope: + type: string + enum: + - user + required: + - createdAt + - lastUpdatedAt + - lastUpdatedBy + - access + - scope + type: object + description: The protection bypass for the alias + - properties: + createdAt: + type: number + createdBy: + type: string + scope: + type: string + enum: + - alias-protection-override + required: + - createdAt + - createdBy + - scope + type: object + description: The protection bypass for the alias + type: object + description: The protection bypass for the alias + required: + - alias + - created + - deploymentId + - projectId + - uid + type: object + '400': + description: One of the provided values in the request query is invalid. + '401': + description: '' + '403': + description: You do not have permission to access this resource. + '404': + description: The alias was not found + parameters: + - name: from + description: Get the alias only if it was created after the provided timestamp + in: query + required: false + schema: + deprecated: true + description: Get the alias only if it was created after the provided timestamp + example: 1540095775951 + type: number + - name: idOrAlias + description: The alias or alias ID to be retrieved + in: path + required: true + schema: + description: The alias or alias ID to be retrieved + example: example.vercel.app + type: string + - name: projectId + description: Get the alias only if it is assigned to the provided project ID + in: query + required: false + schema: + description: Get the alias only if it is assigned to the provided project ID + example: prj_12HKQaOmR5t5Uy6vdcQsNIiZgHGB + type: string + - name: since + description: Get the alias only if it was created after this JavaScript timestamp + in: query + required: false + schema: + description: Get the alias only if it was created after this JavaScript timestamp + example: 1540095775941 + type: number + - name: until + description: Get the alias only if it was created before this JavaScript timestamp + in: query + required: false + schema: + description: Get the alias only if it was created before this JavaScript timestamp + example: 1540095775951 + type: number + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + '/v2/aliases/{aliasId}': + delete: + description: Delete an Alias with the specified ID. + operationId: deleteAlias + security: + - bearerToken: [] + summary: Delete an Alias + tags: + - aliases + responses: + '200': + description: The alias was successfully removed + content: + application/json: + schema: + properties: + status: + type: string + enum: + - SUCCESS + required: + - status + type: object + '400': + description: One of the provided values in the request query is invalid. + '401': + description: '' + '403': + description: You do not have permission to access this resource. + '404': + description: The alias was not found + parameters: + - name: aliasId + description: The ID or alias that will be removed + in: path + required: true + schema: + example: 2WjyKQmM8ZnGcJsPWMrHRHrE + description: The ID or alias that will be removed + oneOf: + - type: string + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + '/v2/deployments/{id}/aliases': + get: + description: Retrieves all Aliases for the Deployment with the given ID. The authenticated user or team must own the deployment. + operationId: listDeploymentAliases + security: + - bearerToken: [] + summary: List Deployment Aliases + tags: + - aliases + responses: + '200': + description: The list of aliases assigned to the deployment + content: + application/json: + schema: + properties: + aliases: + items: + properties: + uid: + type: string + description: The unique identifier of the alias + example: 2WjyKQmM8ZnGcJsPWMrHRHrE + alias: + type: string + description: 'The alias name, it could be a `.vercel.app` subdomain or a custom domain' + example: my-alias.vercel.app + created: + type: string + format: date-time + description: The date when the alias was created + example: '2017-04-26T23:00:34.232Z' + redirect: + nullable: true + type: string + description: Target destination domain for redirect when the alias is a redirect + protectionBypass: + additionalProperties: + oneOf: + - properties: + createdAt: + type: number + createdBy: + type: string + scope: + type: string + enum: + - shareable-link + required: + - createdAt + - createdBy + - scope + type: object + description: The protection bypass for the alias + - properties: + createdAt: + type: number + lastUpdatedAt: + type: number + lastUpdatedBy: + type: string + access: + type: string + enum: + - requested + - granted + scope: + type: string + enum: + - user + required: + - createdAt + - lastUpdatedAt + - lastUpdatedBy + - access + - scope + type: object + description: The protection bypass for the alias + - properties: + createdAt: + type: number + createdBy: + type: string + scope: + type: string + enum: + - alias-protection-override + required: + - createdAt + - createdBy + - scope + type: object + description: The protection bypass for the alias + type: object + description: The protection bypass for the alias + required: + - uid + - alias + - created + type: object + description: A list of the aliases assigned to the deployment + type: array + description: A list of the aliases assigned to the deployment + required: + - aliases + type: object + '400': + description: One of the provided values in the request query is invalid. + '401': + description: '' + '403': + description: You do not have permission to access this resource. + '404': + description: The deployment was not found + parameters: + - name: id + description: The ID of the deployment the aliases should be listed for + in: path + required: true + schema: + example: dpl_FjvFJncQHQcZMznrUm9EoB8sFuPa + description: The ID of the deployment the aliases should be listed for + type: string + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + post: + description: 'Creates a new alias for the deployment with the given deployment ID. The authenticated user or team must own this deployment. If the desired alias is already assigned to another deployment, then it will be removed from the old deployment and assigned to the new one.' + operationId: assignAlias + security: + - bearerToken: [] + summary: Assign an Alias + tags: + - aliases + responses: + '200': + description: The alias was successfully assigned to the deployment + content: + application/json: + schema: + properties: + uid: + type: string + description: The unique identifier of the alias + example: 2WjyKQmM8ZnGcJsPWMrHRHrE + alias: + type: string + description: The assigned alias name + example: my-alias.vercel.app + created: + type: string + format: date-time + description: The date when the alias was created + example: '2017-04-26T23:00:34.232Z' + oldDeploymentId: + nullable: true + type: string + description: 'The unique identifier of the previously aliased deployment, only received when the alias was used before' + example: dpl_FjvFJncQHQcZMznrUm9EoB8sFuPa + required: + - uid + - alias + - created + type: object + '400': + description: |- + One of the provided values in the request body is invalid. + One of the provided values in the request query is invalid. + The cert for the provided alias is not ready + The deployment is not READY and can not be aliased + The supplied alias is invalid + '401': + description: '' + '402': + description: |- + The account was soft-blocked for an unhandled reason. + The account is missing a payment so payment method must be updated + '403': + description: |- + You do not have permission to access this resource. + If no .vercel.app alias exists then we fail (nothing to mirror) + '404': + description: |- + The domain used for the alias was not found + The deployment was not found + '409': + description: The provided alias is already assigned to the given deployment + parameters: + - name: id + description: The ID of the deployment the aliases should be listed for + in: path + required: true + schema: + description: The ID of the deployment the aliases should be listed for + example: dpl_FjvFJncQHQcZMznrUm9EoB8sFuPa + oneOf: + - type: string + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + properties: + alias: + description: The alias we want to assign to the deployment defined in the URL + example: my-alias.vercel.app + type: string + redirect: + description: The redirect property will take precedence over the deployment id from the URL and consists of a hostname (like test.com) to which the alias should redirect using status code 307 + example: null + type: string + nullable: true + type: object diff --git a/providers/src/vercel/v00.00.00000/services/artifacts.yaml b/providers/src/vercel/v00.00.00000/services/artifacts.yaml new file mode 100644 index 00000000..aff39073 --- /dev/null +++ b/providers/src/vercel/v00.00.00000/services/artifacts.yaml @@ -0,0 +1,498 @@ +openapi: 3.0.3 +servers: + - url: 'https://api.vercel.com' + description: Production API +info: + contact: + email: support@vercel.com + name: Vercel Support + url: 'https://vercel.com/support' + version: 0.0.1 + title: Vercel API - artifacts + description: artifacts +components: + schemas: {} + responses: {} + securitySchemes: + bearerToken: + type: http + description: Default authentication mechanism + scheme: bearer + oauth2: + type: oauth2 + flows: + authorizationCode: + authorizationUrl: 'https://api.vercel.com/oauth/authorize' + tokenUrl: 'https://api.vercel.com/oauth/access_token' + scopes: {} + x-stackQL-resources: + artifacts: + id: vercel.artifacts.artifacts + name: artifacts + title: Artifacts + methods: + record_events: + operation: + $ref: '#/paths/~1v8~1artifacts~1events/post' + response: + mediaType: application/json + openAPIDocKey: '200' + status: + operation: + $ref: '#/paths/~1v8~1artifacts~1status/get' + response: + mediaType: application/json + openAPIDocKey: '200' + upload_artifact: + operation: + $ref: '#/paths/~1v8~1artifacts~1{hash}/put' + response: + mediaType: application/json + openAPIDocKey: '200' + download_artifact: + operation: + $ref: '#/paths/~1v8~1artifacts~1{hash}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + artifact_exists: + operation: + $ref: '#/paths/~1v8~1artifacts~1{hash}/head' + response: + mediaType: application/json + openAPIDocKey: '200' + artifact_query: + operation: + $ref: '#/paths/~1v8~1artifacts/post' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: [] + insert: [] + update: [] + delete: [] +paths: + /v8/artifacts/events: + post: + description: Records an artifacts cache usage event. The body of this request is an array of cache usage events. The supported event types are `HIT` and `MISS`. The source is either `LOCAL` the cache event was on the users filesystem cache or `REMOTE` if the cache event is for a remote cache. When the event is a `HIT` the request also accepts a number `duration` which is the time taken to generate the artifact in the cache. + operationId: recordEvents + security: + - bearerToken: [] + summary: Record an artifacts cache usage event + tags: + - artifacts + responses: + '200': + description: Success. Event recorded. + '400': + description: |- + One of the provided values in the request body is invalid. + One of the provided values in the headers is invalid + '401': + description: '' + '402': + description: |- + The account was soft-blocked for an unhandled reason. + The account is missing a payment so payment method must be updated + '403': + description: |- + You do not have permission to access this resource. + The 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. + parameters: + - in: header + description: The continuous integration or delivery environment where this artifact is downloaded. + schema: + type: string + description: The continuous integration or delivery environment where this artifact is downloaded. + example: VERCEL + maxLength: 50 + name: x-artifact-client-ci + - in: header + description: 1 if the client is an interactive shell. Otherwise 0 + schema: + type: integer + description: 1 if the client is an interactive shell. Otherwise 0 + example: 0 + minimum: 0 + maximum: 1 + name: x-artifact-client-interactive + - description: The Team identifier or slug to perform the request on behalf of. + in: query + required: true + name: teamId + schema: + type: string + requestBody: + content: + application/json: + schema: + type: array + items: + type: object + additionalProperties: false + required: + - sessionId + - source + - hash + - event + properties: + sessionId: + type: string + description: A UUID (universally unique identifer) for the session that generated this event. + source: + type: string + enum: + - LOCAL + - REMOTE + description: One of `LOCAL` or `REMOTE`. `LOCAL` specifies that the cache event was from the user's filesystem cache. `REMOTE` specifies that the cache event is from a remote cache. + event: + type: string + enum: + - HIT + - MISS + description: One of `HIT` or `MISS`. `HIT` specifies that a cached artifact for `hash` was found in the cache. `MISS` specifies that a cached artifact with `hash` was not found. + hash: + type: string + example: 12HKQaOmR5t5Uy6vdcQsNIiZgHGB + description: The artifact hash + duration: + type: number + description: The time taken to generate the artifact. This should be sent as a body parameter on `HIT` events. + example: 400 + /v8/artifacts/status: + get: + description: 'Check the status of Remote Caching for this principal. Returns a JSON-encoded status indicating if Remote Caching is enabled, disabled, or disabled due to usage limits.' + operationId: status + security: + - bearerToken: [] + summary: Get status of Remote Caching for this principal + tags: + - artifacts + responses: + '200': + description: '' + content: + application/json: + schema: + properties: + status: + type: string + enum: + - disabled + - enabled + - over_limit + - paused + required: + - status + type: object + '400': + description: '' + '401': + description: '' + '402': + description: |- + The account was soft-blocked for an unhandled reason. + The account is missing a payment so payment method must be updated + '403': + description: You do not have permission to access this resource. + parameters: + - description: The Team identifier or slug to perform the request on behalf of. + in: query + required: true + name: teamId + schema: + type: string + '/v8/artifacts/{hash}': + put: + description: Uploads a cache artifact identified by the `hash` specified on the path. The cache artifact can then be downloaded with the provided `hash`. + operationId: uploadArtifact + security: + - bearerToken: [] + summary: Upload a cache artifact + tags: + - artifacts + responses: + '202': + description: File successfully uploaded + content: + application/json: + schema: + properties: + urls: + items: + type: string + type: array + description: Array of URLs where the artifact was updated + example: + - 'https://api.vercel.com/v2/now/artifact/12HKQaOmR5t5Uy6vdcQsNIiZgHGB' + required: + - urls + type: object + '400': + description: |- + One of the provided values in the request query is invalid. + One of the provided values in the headers is invalid + File size is not valid + '401': + description: '' + '402': + description: |- + The account was soft-blocked for an unhandled reason. + The account is missing a payment so payment method must be updated + '403': + description: |- + You do not have permission to access this resource. + The 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. + parameters: + - in: header + description: The artifact size in bytes + required: true + schema: + description: The artifact size in bytes + type: number + name: Content-Length + - in: header + description: The time taken to generate the uploaded artifact in milliseconds. + required: false + schema: + type: number + description: The time taken to generate the uploaded artifact in milliseconds. + example: 400 + name: x-artifact-duration + - in: header + description: The continuous integration or delivery environment where this artifact was generated. + required: false + schema: + type: string + description: The continuous integration or delivery environment where this artifact was generated. + example: VERCEL + maxLength: 50 + name: x-artifact-client-ci + - in: header + description: 1 if the client is an interactive shell. Otherwise 0 + required: false + schema: + type: integer + description: 1 if the client is an interactive shell. Otherwise 0 + example: 0 + minimum: 0 + maximum: 1 + name: x-artifact-client-interactive + - in: header + description: The base64 encoded tag for this artifact. The value is sent back to clients when the artifact is downloaded as the header `x-artifact-tag` + required: false + schema: + type: string + description: The base64 encoded tag for this artifact. The value is sent back to clients when the artifact is downloaded as the header `x-artifact-tag` + example: Tc0BmHvJYMIYJ62/zx87YqO0Flxk+5Ovip25NY825CQ= + maxLength: 600 + name: x-artifact-tag + - name: hash + description: The artifact hash + in: path + required: true + schema: + example: 12HKQaOmR5t5Uy6vdcQsNIiZgHGB + description: The artifact hash + type: string + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + requestBody: + content: + application/octet-stream: + schema: + type: string + format: binary + get: + description: Downloads a cache artifact indentified by its `hash` specified on the request path. The artifact is downloaded as an octet-stream. The client should verify the content-length header and response body. + operationId: downloadArtifact + security: + - bearerToken: [] + summary: Download a cache artifact + tags: + - artifacts + responses: + '200': + description: The artifact was found and is downloaded as a stream. Content-Length should be verified. + content: + application/json: + schema: + type: string + format: binary + description: An octet stream response that will be piped to the response stream. + '400': + description: |- + One of the provided values in the request query is invalid. + One of the provided values in the headers is invalid + '401': + description: '' + '402': + description: |- + The account was soft-blocked for an unhandled reason. + The account is missing a payment so payment method must be updated + '403': + description: |- + You do not have permission to access this resource. + The 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. + '404': + description: The artifact was not found + parameters: + - in: header + description: The continuous integration or delivery environment where this artifact is downloaded. + schema: + type: string + description: The continuous integration or delivery environment where this artifact is downloaded. + example: VERCEL + maxLength: 50 + name: x-artifact-client-ci + - in: header + description: 1 if the client is an interactive shell. Otherwise 0 + schema: + type: integer + description: 1 if the client is an interactive shell. Otherwise 0 + example: 0 + minimum: 0 + maximum: 1 + name: x-artifact-client-interactive + - name: hash + description: The artifact hash + in: path + required: true + schema: + example: 12HKQaOmR5t5Uy6vdcQsNIiZgHGB + description: The artifact hash + type: string + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + head: + description: Check that a cache artifact with the given `hash` exists. This request returns response headers only and is equivalent to a `GET` request to this endpoint where the response contains no body. + operationId: artifactExists + security: + - bearerToken: [] + summary: Check if a cache artifact exists + tags: + - artifacts + responses: + '200': + description: The artifact was found and headers are returned + '400': + description: One of the provided values in the request query is invalid. + '401': + description: '' + '402': + description: |- + The account was soft-blocked for an unhandled reason. + The account is missing a payment so payment method must be updated + '403': + description: |- + You do not have permission to access this resource. + The 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. + '404': + description: The artifact was not found + parameters: + - name: hash + description: The artifact hash + in: path + required: true + schema: + example: 12HKQaOmR5t5Uy6vdcQsNIiZgHGB + description: The artifact hash + type: string + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + /v8/artifacts: + post: + description: Query information about an array of artifacts. + operationId: artifactQuery + security: + - bearerToken: [] + summary: Query information about an artifact + tags: + - artifacts + responses: + '200': + description: '' + content: + application/json: + schema: + additionalProperties: + nullable: true + oneOf: + - properties: + size: + type: number + taskDurationMs: + type: number + tag: + type: string + required: + - size + - taskDurationMs + type: object + - properties: + error: + properties: + message: + type: string + required: + - message + type: object + required: + - error + type: object + type: object + '400': + description: One of the provided values in the request body is invalid. + '401': + description: '' + '402': + description: |- + The account was soft-blocked for an unhandled reason. + The account is missing a payment so payment method must be updated + '403': + description: |- + You do not have permission to access this resource. + The 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. + parameters: + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + type: object + required: + - hashes + properties: + hashes: + items: + type: string + description: artifact hashes + type: array diff --git a/providers/src/vercel/v00.00.00000/services/authentication.yaml b/providers/src/vercel/v00.00.00000/services/authentication.yaml new file mode 100644 index 00000000..5b3871d4 --- /dev/null +++ b/providers/src/vercel/v00.00.00000/services/authentication.yaml @@ -0,0 +1,532 @@ +openapi: 3.0.3 +servers: + - url: 'https://api.vercel.com' + description: Production API +info: + contact: + email: support@vercel.com + name: Vercel Support + url: 'https://vercel.com/support' + version: 0.0.1 + title: Vercel API - authentication + description: authentication +components: + schemas: + AuthToken: + properties: + id: + type: string + description: The unique identifier of the token. + example: 5d9f2ebd38ddca62e5d51e9c1704c72530bdc8bfdd41e782a6687c48399e8391 + name: + type: string + description: The human-readable name of the token. + type: + type: string + description: The type of the token. + example: oauth2-token + origin: + type: string + description: The origin of how the token was created. + example: github + scopes: + items: + oneOf: + - properties: + type: + type: string + enum: + - user + origin: + type: string + enum: + - saml + - github + - gitlab + - bitbucket + - email + - manual + createdAt: + type: number + expiresAt: + type: number + required: + - type + - origin + - createdAt + type: object + description: The access scopes granted to the token. + - properties: + type: + type: string + enum: + - team + teamId: + type: string + origin: + type: string + enum: + - saml + - github + - gitlab + - bitbucket + - email + - manual + createdAt: + type: number + expiresAt: + type: number + required: + - type + - teamId + - origin + - createdAt + type: object + description: The access scopes granted to the token. + type: array + description: The access scopes granted to the token. + expiresAt: + type: number + description: Timestamp (in milliseconds) of when the token expires. + example: 1632816536002 + activeAt: + type: number + description: Timestamp (in milliseconds) of when the token was most recently used. + example: 1632816536002 + createdAt: + type: number + description: Timestamp (in milliseconds) of when the token was created. + example: 1632816536002 + required: + - id + - name + - type + - activeAt + - createdAt + type: object + description: Authentication token metadata. + Pagination: + properties: + count: + type: number + description: Amount of items in the current page. + example: 20 + next: + nullable: true + type: number + description: Timestamp that must be used to request the next page. + example: 1540095775951 + prev: + nullable: true + type: number + description: Timestamp that must be used to request the previous page. + example: 1540095775951 + required: + - count + - next + - prev + type: object + description: 'This object contains information related to the pagination of the current request, including the necessary parameters to get the next or previous page of data.' + responses: {} + securitySchemes: + bearerToken: + type: http + description: Default authentication mechanism + scheme: bearer + oauth2: + type: oauth2 + flows: + authorizationCode: + authorizationUrl: 'https://api.vercel.com/oauth/authorize' + tokenUrl: 'https://api.vercel.com/oauth/access_token' + scopes: {} + x-stackQL-resources: + user_tokens: + id: vercel.authentication.user_tokens + name: user_tokens + title: User Tokens + methods: + list_auth_tokens: + operation: + $ref: '#/paths/~1v5~1user~1tokens/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.tokens + _list_auth_tokens: + operation: + $ref: '#/paths/~1v5~1user~1tokens/get' + response: + mediaType: application/json + openAPIDocKey: '200' + create_auth_token: + operation: + $ref: '#/paths/~1v3~1user~1tokens/post' + response: + mediaType: application/json + openAPIDocKey: '200' + get_auth_token: + operation: + $ref: '#/paths/~1v5~1user~1tokens~1{tokenId}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_auth_token: + operation: + $ref: '#/paths/~1v3~1user~1tokens~1{tokenId}/delete' + response: + mediaType: application/json + openAPIDocKey: '200' + verify_token: + operation: + $ref: '#/paths/~1registration~1verify/get' + response: + mediaType: application/json + openAPIDocKey: '200' + email_login: + operation: + $ref: '#/paths/~1registration/post' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/user_tokens/methods/get_auth_token' + - $ref: '#/components/x-stackQL-resources/user_tokens/methods/list_auth_tokens' + insert: + - $ref: '#/components/x-stackQL-resources/user_tokens/methods/create_auth_token' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/user_tokens/methods/delete_auth_token' +paths: + /v5/user/tokens: + get: + description: Retrieve a list of the current User's authentication tokens. + operationId: listAuthTokens + security: + - bearerToken: [] + summary: List Auth Tokens + tags: + - authentication + responses: + '200': + description: '' + content: + application/json: + schema: + properties: + tokens: + items: + $ref: '#/components/schemas/AuthToken' + type: array + testingToken: + $ref: '#/components/schemas/AuthToken' + pagination: + $ref: '#/components/schemas/Pagination' + required: + - tokens + - pagination + type: object + '400': + description: '' + '401': + description: '' + '403': + description: You do not have permission to access this resource. + parameters: [] + /v3/user/tokens: + post: + description: 'Creates and returns a new authentication token for the currently authenticated User. The `bearerToken` property is only provided once, in the response body, so be sure to save it on the client for use with API requests.' + operationId: createAuthToken + security: + - bearerToken: [] + summary: Create an Auth Token + tags: + - authentication + responses: + '200': + description: Successful response. + content: + application/json: + schema: + properties: + token: + $ref: '#/components/schemas/AuthToken' + bearerToken: + type: string + description: 'The authentication token''s actual value. This token is only provided in this response, and can never be retrieved again in the future. Be sure to save it somewhere safe!' + example: uRKJSTt0L4RaSkiMj41QTkxM + required: + - token + - bearerToken + type: object + description: Successful response. + '400': + description: One of the provided values in the request body is invalid. + '401': + description: '' + '403': + description: You do not have permission to access this resource. + '404': + description: '' + parameters: + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + oneOf: + - type: object + additionalProperties: false + required: + - name + properties: + name: + type: string + expiresAt: + type: number + - type: object + additionalProperties: false + required: + - type + - name + properties: + type: + enum: + - oauth2-token + name: + type: string + clientId: + type: string + installationId: + type: string + expiresAt: + type: number + '/v5/user/tokens/{tokenId}': + get: + description: Retrieve metadata about an authentication token belonging to the currently authenticated User. + operationId: getAuthToken + security: + - bearerToken: [] + summary: Get Auth Token Metadata + tags: + - authentication + responses: + '200': + description: Successful response. + content: + application/json: + schema: + properties: + token: + $ref: '#/components/schemas/AuthToken' + required: + - token + type: object + description: Successful response. + '400': + description: One of the provided values in the request query is invalid. + '403': + description: You do not have permission to access this resource. + '404': + description: Token not found with the requested `tokenId`. + parameters: + - name: tokenId + description: 'The identifier of the token to retrieve. The special value \"current\" may be supplied, which returns the metadata for the token that the current HTTP request is authenticated with.' + in: path + required: true + schema: + type: string + description: 'The identifier of the token to retrieve. The special value \"current\" may be supplied, which returns the metadata for the token that the current HTTP request is authenticated with.' + example: 5d9f2ebd38ddca62e5d51e9c1704c72530bdc8bfdd41e782a6687c48399e8391 + '/v3/user/tokens/{tokenId}': + delete: + description: 'Invalidate an authentication token, such that it will no longer be valid for future HTTP requests.' + operationId: deleteAuthToken + security: + - bearerToken: [] + summary: Delete an authentication token + tags: + - authentication + responses: + '200': + description: Authentication token successfully deleted. + content: + application/json: + schema: + properties: + tokenId: + type: string + description: The unique identifier of the token that was deleted. + example: 5d9f2ebd38ddca62e5d51e9c1704c72530bdc8bfdd41e782a6687c48399e8391 + required: + - tokenId + type: object + description: Authentication token successfully deleted. + '400': + description: One of the provided values in the request query is invalid. + '401': + description: '' + '403': + description: You do not have permission to access this resource. + '404': + description: Token not found with the requested `tokenId`. + parameters: + - name: tokenId + description: 'The identifier of the token to invalidate. The special value \"current\" may be supplied, which invalidates the token that the HTTP request was authenticated with.' + in: path + required: true + schema: + type: string + description: 'The identifier of the token to invalidate. The special value \"current\" may be supplied, which invalidates the token that the HTTP request was authenticated with.' + example: 5d9f2ebd38ddca62e5d51e9c1704c72530bdc8bfdd41e782a6687c48399e8391 + /registration/verify: + get: + description: Verify the user accepted the login request and get a authentication token. The user email address and the token received after requesting the login must be added to the URL as a query string with the names `email` and `token`. + operationId: verifyToken + security: [] + summary: Verify a login request to get an authentication token + tags: + - authentication + responses: + '200': + description: The verification was successful. + content: + application/json: + schema: + properties: + token: + type: string + description: The user authentication token that can be used to perform API requests. + example: 1ioXyz9Ue4xdCYGROet1dlKd + email: + type: string + description: Email address of the authenticated user. + example: amy@example.com + teamId: + type: string + description: 'When completing SAML Single Sign-On authentication, this will be the ID of the Team that was authenticated for.' + example: team_LLHUOMOoDlqOp8wPE4kFo9pE + required: + - token + - email + type: object + '400': + description: |- + One of the provided values in the request query is invalid. + The slug is already in use + The provided token exists but is not yet confirmed + '403': + description: |- + You do not have permission to access this resource. + The verification sso token is invalid or not found + The verification token is invalid or not found + '404': + description: '' + parameters: + - name: email + description: Email to verify the login. + in: query + required: false + schema: + type: string + description: Email to verify the login. + - name: token + description: The token returned when the login was requested. + in: query + required: true + schema: + type: string + description: The token returned when the login was requested. + - name: tokenName + description: The desired name for the token. It will be displayed on the user account details. + in: query + required: false + schema: + type: string + example: Your Client App Name + description: The desired name for the token. It will be displayed on the user account details. + - name: ssoUserId + description: 'The SAML Profile ID, when connecting a SAML Profile to a Team member for the first time.' + in: query + required: false + schema: + type: string + description: 'The SAML Profile ID, when connecting a SAML Profile to a Team member for the first time.' + - name: teamName + description: The name of this user's team. + in: query + required: false + schema: + type: string + description: The name of this user's team. + - name: teamSlug + description: The slug for this user's team. + in: query + required: false + schema: + type: string + description: The slug for this user's team. + - name: teamPlan + description: The plan for this user's team (pro or hobby). + in: query + required: false + schema: + type: string + enum: + - pro + - hobby + description: The plan for this user's team (pro or hobby). + /registration: + post: + description: Request a new login for a user to get a token. This will respond with a verification token and send an email to confirm the request. Once confirmed you can use the verification token to get an authentication token. + operationId: emailLogin + security: [] + summary: Login with email + tags: + - authentication + responses: + '200': + description: The request was successful and an email was sent + content: + application/json: + schema: + properties: + token: + type: string + description: The token used to verify the user accepted the login request + example: T1dmvPu36nmyYisXAs7IRzcR + securityCode: + type: string + description: The code the user is going to receive on the email. **Must** be displayed to the user so they can verify the request is the correct. + example: Practical Saola + required: + - token + - securityCode + type: object + '400': + description: |- + One of the provided values in the request body is invalid. + The provided email is invalid because the owner is blocked + parameters: [] + requestBody: + content: + application/json: + schema: + properties: + email: + example: user@mail.com + description: The user email. + type: string + tokenName: + example: Your Client App Name + description: The desired name for the token. It will be displayed on the user account details. + type: string + required: + - email + type: object diff --git a/providers/src/vercel/v00.00.00000/services/billing_settings.yaml b/providers/src/vercel/v00.00.00000/services/billing_settings.yaml new file mode 100644 index 00000000..1a3d05b4 --- /dev/null +++ b/providers/src/vercel/v00.00.00000/services/billing_settings.yaml @@ -0,0 +1,79 @@ +openapi: 3.0.3 +servers: + - url: 'https://api.vercel.com' + description: Production API +info: + contact: + email: support@vercel.com + name: Vercel Support + url: 'https://vercel.com/support' + version: 0.0.1 + title: Vercel API - billing_settings + description: billing_settings +components: + schemas: {} + responses: {} + securitySchemes: + bearerToken: + type: http + description: Default authentication mechanism + scheme: bearer + oauth2: + type: oauth2 + flows: + authorizationCode: + authorizationUrl: 'https://api.vercel.com/oauth/authorize' + tokenUrl: 'https://api.vercel.com/oauth/access_token' + scopes: {} + x-stackQL-resources: + data_cache: + id: vercel.billing_settings.data_cache + name: data_cache + title: Data Cache + methods: + enable_excess_billing: + operation: + $ref: '#/paths/~1data-cache~1billing-settings/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: [] + insert: [] + update: [] + delete: [] +paths: + /data-cache/billing-settings: + patch: + description: '' + operationId: enableExcessBilling + security: [] + tags: + - billing_settings + responses: + '200': + description: '' + content: + application/json: + schema: + properties: + excessBillingEnabled: + type: boolean + type: object + '400': + description: One of the provided values in the request body is invalid. + '401': + description: '' + '403': + description: You do not have permission to access this resource. + '404': + description: '' + parameters: [] + requestBody: + content: + application/json: + schema: + type: object + properties: + excessBillingEnabled: + type: boolean diff --git a/providers/src/vercel/v00.00.00000/services/cache.yaml b/providers/src/vercel/v00.00.00000/services/cache.yaml new file mode 100644 index 00000000..ca155330 --- /dev/null +++ b/providers/src/vercel/v00.00.00000/services/cache.yaml @@ -0,0 +1,69 @@ +openapi: 3.0.3 +servers: + - url: 'https://api.vercel.com' + description: Production API +info: + contact: + email: support@vercel.com + name: Vercel Support + url: 'https://vercel.com/support' + version: 0.0.1 + title: Vercel API - cache + description: cache +components: + schemas: {} + responses: {} + securitySchemes: + bearerToken: + type: http + description: Default authentication mechanism + scheme: bearer + oauth2: + type: oauth2 + flows: + authorizationCode: + authorizationUrl: 'https://api.vercel.com/oauth/authorize' + tokenUrl: 'https://api.vercel.com/oauth/access_token' + scopes: {} + x-stackQL-resources: + data_cache_purge_all: + id: vercel.cache.data_cache_purge_all + name: data_cache_purge_all + title: Data Cache Purge All + methods: + purge_all: + operation: + $ref: '#/paths/~1data-cache~1purge-all/delete' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: [] + insert: [] + update: [] + delete: [] +paths: + /data-cache/purge-all: + delete: + description: '' + operationId: purgeAll + security: [] + tags: + - cache + responses: + '200': + description: '' + '400': + description: One of the provided values in the request query is invalid. + '401': + description: '' + '403': + description: You do not have permission to access this resource. + '404': + description: '' + parameters: + - name: projectIdOrName + in: query + required: true + schema: + type: string diff --git a/providers/src/vercel/v00.00.00000/services/certs.yaml b/providers/src/vercel/v00.00.00000/services/certs.yaml new file mode 100644 index 00000000..df0c9b63 --- /dev/null +++ b/providers/src/vercel/v00.00.00000/services/certs.yaml @@ -0,0 +1,300 @@ +openapi: 3.0.3 +servers: + - url: 'https://api.vercel.com' + description: Production API +info: + contact: + email: support@vercel.com + name: Vercel Support + url: 'https://vercel.com/support' + version: 0.0.1 + title: Vercel API - certs + description: certs +components: + schemas: {} + responses: {} + securitySchemes: + bearerToken: + type: http + description: Default authentication mechanism + scheme: bearer + oauth2: + type: oauth2 + flows: + authorizationCode: + authorizationUrl: 'https://api.vercel.com/oauth/authorize' + tokenUrl: 'https://api.vercel.com/oauth/access_token' + scopes: {} + x-stackQL-resources: + certs: + id: vercel.certs.certs + name: certs + title: Certs + methods: + get_cert_by_id: + operation: + $ref: '#/paths/~1v7~1certs~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + remove_cert: + operation: + $ref: '#/paths/~1v7~1certs~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '200' + issue_cert: + operation: + $ref: '#/paths/~1v7~1certs/post' + response: + mediaType: application/json + openAPIDocKey: '200' + upload_cert: + operation: + $ref: '#/paths/~1v7~1certs/put' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/certs/methods/get_cert_by_id' + insert: [] + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/certs/methods/remove_cert' +paths: + '/v7/certs/{id}': + get: + description: Get cert by id + operationId: getCertById + security: + - bearerToken: [] + summary: Get cert by id + tags: + - certs + responses: + '200': + description: '' + content: + application/json: + schema: + properties: + id: + type: string + createdAt: + type: number + expiresAt: + type: number + autoRenew: + type: boolean + cns: + items: + type: string + type: array + required: + - id + - createdAt + - expiresAt + - autoRenew + - cns + type: object + '400': + description: One of the provided values in the request query is invalid. + '401': + description: '' + '403': + description: You do not have permission to access this resource. + '404': + description: '' + parameters: + - name: id + description: The cert id + in: path + required: true + schema: + description: The cert id + type: string + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + delete: + description: Remove cert + operationId: removeCert + security: + - bearerToken: [] + summary: Remove cert + tags: + - certs + responses: + '200': + description: '' + content: + application/json: + schema: + type: object + '400': + description: One of the provided values in the request query is invalid. + '401': + description: '' + '403': + description: You do not have permission to access this resource. + '404': + description: '' + parameters: + - name: id + description: The cert id to remove + in: path + required: true + schema: + description: The cert id to remove + type: string + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + /v7/certs: + post: + description: Issue a new cert + operationId: issueCert + security: + - bearerToken: [] + summary: Issue a new cert + tags: + - certs + responses: + '200': + description: '' + content: + application/json: + schema: + properties: + id: + type: string + createdAt: + type: number + expiresAt: + type: number + autoRenew: + type: boolean + cns: + items: + type: string + type: array + required: + - id + - createdAt + - expiresAt + - autoRenew + - cns + type: object + '400': + description: One of the provided values in the request body is invalid. + '401': + description: '' + '402': + description: |- + The account was soft-blocked for an unhandled reason. + The account is missing a payment so payment method must be updated + '403': + description: You do not have permission to access this resource. + '404': + description: '' + '449': + description: '' + '500': + description: '' + parameters: + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + type: object + properties: + cns: + description: The common names the cert should be issued for + type: array + items: + type: string + put: + description: Upload a cert + operationId: uploadCert + security: + - bearerToken: [] + summary: Upload a cert + tags: + - certs + responses: + '200': + description: '' + content: + application/json: + schema: + properties: + id: + type: string + createdAt: + type: number + expiresAt: + type: number + autoRenew: + type: boolean + cns: + items: + type: string + type: array + required: + - id + - createdAt + - expiresAt + - autoRenew + - cns + type: object + '400': + description: One of the provided values in the request body is invalid. + '401': + description: '' + '402': + description: This feature is only available for Enterprise customers. + '403': + description: You do not have permission to access this resource. + parameters: + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + type: object + required: + - ca + - key + - cert + additionalProperties: false + properties: + ca: + type: string + description: The certificate authority + key: + type: string + description: The certificate key + cert: + type: string + description: The certificate + skipValidation: + type: boolean + description: Skip validation of the certificate diff --git a/providers/src/vercel/v00.00.00000/services/checks.yaml b/providers/src/vercel/v00.00.00000/services/checks.yaml new file mode 100644 index 00000000..1e99020e --- /dev/null +++ b/providers/src/vercel/v00.00.00000/services/checks.yaml @@ -0,0 +1,1044 @@ +openapi: 3.0.3 +servers: + - url: 'https://api.vercel.com' + description: Production API +info: + contact: + email: support@vercel.com + name: Vercel Support + url: 'https://vercel.com/support' + version: 0.0.1 + title: Vercel API - checks + description: checks +components: + schemas: {} + responses: {} + securitySchemes: + bearerToken: + type: http + description: Default authentication mechanism + scheme: bearer + oauth2: + type: oauth2 + flows: + authorizationCode: + authorizationUrl: 'https://api.vercel.com/oauth/authorize' + tokenUrl: 'https://api.vercel.com/oauth/access_token' + scopes: {} + x-stackQL-resources: + deployments: + id: vercel.checks.deployments + name: deployments + title: Deployments + methods: + create_check: + operation: + $ref: '#/paths/~1v1~1deployments~1{deploymentId}~1checks/post' + response: + mediaType: application/json + openAPIDocKey: '200' + get_all_checks: + operation: + $ref: '#/paths/~1v1~1deployments~1{deploymentId}~1checks/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.checks + _get_all_checks: + operation: + $ref: '#/paths/~1v1~1deployments~1{deploymentId}~1checks/get' + response: + mediaType: application/json + openAPIDocKey: '200' + get_check: + operation: + $ref: '#/paths/~1v1~1deployments~1{deploymentId}~1checks~1{checkId}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_check: + operation: + $ref: '#/paths/~1v1~1deployments~1{deploymentId}~1checks~1{checkId}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + rerequest_check: + operation: + $ref: '#/paths/~1v1~1deployments~1{deploymentId}~1checks~1{checkId}~1rerequest/post' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/deployments/methods/get_check' + - $ref: '#/components/x-stackQL-resources/deployments/methods/get_all_checks' + insert: + - $ref: '#/components/x-stackQL-resources/deployments/methods/create_check' + update: [] + delete: [] +paths: + '/v1/deployments/{deploymentId}/checks': + post: + description: Creates a new check. This endpoint must be called with an OAuth2 or it will produce a 400 error. + operationId: createCheck + security: + - bearerToken: [] + summary: Creates a new Check + tags: + - checks + responses: + '200': + description: '' + content: + application/json: + schema: + properties: + id: + type: string + name: + type: string + path: + type: string + status: + type: string + enum: + - registered + - running + - completed + conclusion: + type: string + enum: + - canceled + - failed + - neutral + - succeeded + - skipped + - stale + blocking: + type: boolean + output: + properties: + metrics: + properties: + FCP: + properties: + value: + nullable: true + type: number + previousValue: + type: number + source: + type: string + enum: + - web-vitals + required: + - value + - source + type: object + LCP: + properties: + value: + nullable: true + type: number + previousValue: + type: number + source: + type: string + enum: + - web-vitals + required: + - value + - source + type: object + CLS: + properties: + value: + nullable: true + type: number + previousValue: + type: number + source: + type: string + enum: + - web-vitals + required: + - value + - source + type: object + TBT: + properties: + value: + nullable: true + type: number + previousValue: + type: number + source: + type: string + enum: + - web-vitals + required: + - value + - source + type: object + virtualExperienceScore: + properties: + value: + nullable: true + type: number + previousValue: + type: number + source: + type: string + enum: + - web-vitals + required: + - value + - source + type: object + required: + - FCP + - LCP + - CLS + - TBT + type: object + type: object + detailsUrl: + type: string + integrationId: + type: string + deploymentId: + type: string + externalId: + type: string + createdAt: + type: number + updatedAt: + type: number + startedAt: + type: number + completedAt: + type: number + rerequestable: + type: boolean + required: + - id + - name + - status + - blocking + - integrationId + - deploymentId + - createdAt + - updatedAt + type: object + '400': + description: |- + One of the provided values in the request body is invalid. + One of the provided values in the request query is invalid. + Cannot create check for finished deployment + The provided token is not from an OAuth2 Client + '401': + description: '' + '403': + description: You do not have permission to access this resource. + '404': + description: The deployment was not found + parameters: + - name: deploymentId + description: The deployment to create the check for. + in: path + required: true + schema: + description: The deployment to create the check for. + example: dpl_2qn7PZrx89yxY34vEZPD31Y9XVj6 + type: string + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + properties: + name: + description: The name of the check being created + maxLength: 100 + example: Performance Check + type: string + path: + description: Path of the page that is being checked + type: string + maxLength: 255 + example: / + blocking: + description: Whether the check should block a deployment from succeeding + type: boolean + example: true + detailsUrl: + description: URL to display for further details + type: string + example: 'http://example.com' + externalId: + description: An identifier that can be used as an external reference + type: string + example: 1234abc + rerequestable: + description: Whether a user should be able to request for the check to be rerun if it fails + type: boolean + example: true + required: + - name + - blocking + type: object + get: + description: List all of the checks created for a deployment. + operationId: getAllChecks + security: + - bearerToken: [] + summary: Retrieve a list of all checks + tags: + - checks + responses: + '200': + description: '' + content: + application/json: + schema: + properties: + checks: + items: + properties: + completedAt: + type: number + conclusion: + type: string + enum: + - canceled + - failed + - neutral + - succeeded + - skipped + - stale + createdAt: + type: number + detailsUrl: + type: string + id: + type: string + integrationId: + type: string + name: + type: string + output: + properties: + metrics: + properties: + FCP: + properties: + value: + nullable: true + type: number + previousValue: + type: number + source: + type: string + enum: + - web-vitals + required: + - value + - source + type: object + LCP: + properties: + value: + nullable: true + type: number + previousValue: + type: number + source: + type: string + enum: + - web-vitals + required: + - value + - source + type: object + CLS: + properties: + value: + nullable: true + type: number + previousValue: + type: number + source: + type: string + enum: + - web-vitals + required: + - value + - source + type: object + TBT: + properties: + value: + nullable: true + type: number + previousValue: + type: number + source: + type: string + enum: + - web-vitals + required: + - value + - source + type: object + virtualExperienceScore: + properties: + value: + nullable: true + type: number + previousValue: + type: number + source: + type: string + enum: + - web-vitals + required: + - value + - source + type: object + required: + - FCP + - LCP + - CLS + - TBT + type: object + type: object + path: + type: string + rerequestable: + type: boolean + startedAt: + type: number + status: + type: string + enum: + - registered + - running + - completed + updatedAt: + type: number + required: + - createdAt + - id + - integrationId + - name + - rerequestable + - status + - updatedAt + type: object + type: array + required: + - checks + type: object + '400': + description: One of the provided values in the request query is invalid. + '401': + description: '' + '403': + description: You do not have permission to access this resource. + '404': + description: The deployment was not found + parameters: + - name: deploymentId + description: The deployment to get all checks for + in: path + required: true + schema: + description: The deployment to get all checks for + example: dpl_2qn7PZrx89yxY34vEZPD31Y9XVj6 + type: string + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + '/v1/deployments/{deploymentId}/checks/{checkId}': + get: + description: Return a detailed response for a single check. + operationId: getCheck + security: + - bearerToken: [] + summary: Get a single check + tags: + - checks + responses: + '200': + description: '' + content: + application/json: + schema: + properties: + id: + type: string + name: + type: string + path: + type: string + status: + type: string + enum: + - registered + - running + - completed + conclusion: + type: string + enum: + - canceled + - failed + - neutral + - succeeded + - skipped + - stale + blocking: + type: boolean + output: + properties: + metrics: + properties: + FCP: + properties: + value: + nullable: true + type: number + previousValue: + type: number + source: + type: string + enum: + - web-vitals + required: + - value + - source + type: object + LCP: + properties: + value: + nullable: true + type: number + previousValue: + type: number + source: + type: string + enum: + - web-vitals + required: + - value + - source + type: object + CLS: + properties: + value: + nullable: true + type: number + previousValue: + type: number + source: + type: string + enum: + - web-vitals + required: + - value + - source + type: object + TBT: + properties: + value: + nullable: true + type: number + previousValue: + type: number + source: + type: string + enum: + - web-vitals + required: + - value + - source + type: object + virtualExperienceScore: + properties: + value: + nullable: true + type: number + previousValue: + type: number + source: + type: string + enum: + - web-vitals + required: + - value + - source + type: object + required: + - FCP + - LCP + - CLS + - TBT + type: object + type: object + detailsUrl: + type: string + integrationId: + type: string + deploymentId: + type: string + externalId: + type: string + createdAt: + type: number + updatedAt: + type: number + startedAt: + type: number + completedAt: + type: number + rerequestable: + type: boolean + required: + - id + - name + - status + - blocking + - integrationId + - deploymentId + - createdAt + - updatedAt + type: object + '400': + description: One of the provided values in the request query is invalid. + '401': + description: '' + '403': + description: |- + You do not have permission to access this resource. + The provided token is not from an OAuth2 Client that created the Check + '404': + description: |- + Check was not found + The deployment was not found + parameters: + - name: deploymentId + description: The deployment to get the check for. + in: path + required: true + schema: + description: The deployment to get the check for. + example: dpl_2qn7PZrx89yxY34vEZPD31Y9XVj6 + type: string + - name: checkId + description: The check to fetch + in: path + required: true + schema: + description: The check to fetch + example: check_2qn7PZrx89yxY34vEZPD31Y9XVj6 + type: string + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + patch: + description: Update an existing check. This endpoint must be called with an OAuth2 or it will produce a 400 error. + operationId: updateCheck + security: + - bearerToken: [] + summary: Update a check + tags: + - checks + responses: + '200': + description: '' + content: + application/json: + schema: + properties: + id: + type: string + name: + type: string + path: + type: string + status: + type: string + enum: + - registered + - running + - completed + conclusion: + type: string + enum: + - canceled + - failed + - neutral + - succeeded + - skipped + - stale + blocking: + type: boolean + output: + properties: + metrics: + properties: + FCP: + properties: + value: + nullable: true + type: number + previousValue: + type: number + source: + type: string + enum: + - web-vitals + required: + - value + - source + type: object + LCP: + properties: + value: + nullable: true + type: number + previousValue: + type: number + source: + type: string + enum: + - web-vitals + required: + - value + - source + type: object + CLS: + properties: + value: + nullable: true + type: number + previousValue: + type: number + source: + type: string + enum: + - web-vitals + required: + - value + - source + type: object + TBT: + properties: + value: + nullable: true + type: number + previousValue: + type: number + source: + type: string + enum: + - web-vitals + required: + - value + - source + type: object + virtualExperienceScore: + properties: + value: + nullable: true + type: number + previousValue: + type: number + source: + type: string + enum: + - web-vitals + required: + - value + - source + type: object + required: + - FCP + - LCP + - CLS + - TBT + type: object + type: object + detailsUrl: + type: string + integrationId: + type: string + deploymentId: + type: string + externalId: + type: string + createdAt: + type: number + updatedAt: + type: number + startedAt: + type: number + completedAt: + type: number + rerequestable: + type: boolean + required: + - id + - name + - status + - blocking + - integrationId + - deploymentId + - createdAt + - updatedAt + type: object + '400': + description: |- + One of the provided values in the request body is invalid. + One of the provided values in the request query is invalid. + The provided token is not from an OAuth2 Client + '401': + description: '' + '403': + description: You do not have permission to access this resource. + '404': + description: |- + Check was not found + The deployment was not found + '413': + description: The output provided is too large + parameters: + - name: deploymentId + description: The deployment to update the check for. + in: path + required: true + schema: + description: The deployment to update the check for. + example: dpl_2qn7PZrx89yxY34vEZPD31Y9XVj6 + type: string + - name: checkId + description: The check being updated + in: path + required: true + schema: + description: The check being updated + example: check_2qn7PZrx89yxY34vEZPD31Y9XVj6 + type: string + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + properties: + name: + description: The name of the check being created + maxLength: 100 + example: Performance Check + type: string + path: + description: Path of the page that is being checked + type: string + maxLength: 255 + example: / + status: + description: The current status of the check + enum: + - running + - completed + conclusion: + description: The result of the check being run + enum: + - canceled + - failed + - neutral + - succeeded + - skipped + detailsUrl: + description: A URL a user may visit to see more information about the check + type: string + example: 'https://example.com/check/run/1234abc' + output: + description: The results of the check Run + type: object + properties: + metrics: + type: object + description: Metrics about the page + required: + - FCP + - LCP + - CLS + - TBT + additionalProperties: false + properties: + FCP: + type: object + required: + - value + - source + properties: + value: + type: number + example: 1200 + description: First Contentful Paint value + nullable: true + previousValue: + type: number + example: 900 + description: Previous First Contentful Paint value to display a delta + source: + type: string + enum: + - web-vitals + LCP: + type: object + required: + - value + - source + properties: + value: + type: number + example: 1200 + description: Largest Contentful Paint value + nullable: true + previousValue: + type: number + example: 1000 + description: Previous Largest Contentful Paint value to display a delta + source: + type: string + enum: + - web-vitals + CLS: + type: object + required: + - value + - source + properties: + value: + type: number + example: 4 + description: Cumulative Layout Shift value + nullable: true + previousValue: + type: number + example: 2 + description: Previous Cumulative Layout Shift value to display a delta + source: + type: string + enum: + - web-vitals + TBT: + type: object + required: + - value + - source + properties: + value: + type: number + example: 3000 + description: Total Blocking Time value + nullable: true + previousValue: + type: number + example: 3500 + description: Previous Total Blocking Time value to display a delta + source: + enum: + - web-vitals + virtualExperienceScore: + type: object + required: + - value + - source + properties: + value: + type: integer + maximum: 100 + minimum: 0 + example: 30 + description: 'The calculated Virtual Experience Score value, between 0 and 100' + nullable: true + previousValue: + type: integer + maximum: 100 + minimum: 0 + example: 35 + description: 'A previous Virtual Experience Score value to display a delta, between 0 and 100' + source: + enum: + - web-vitals + externalId: + description: An identifier that can be used as an external reference + type: string + example: 1234abc + type: object + '/v1/deployments/{deploymentId}/checks/{checkId}/rerequest': + post: + description: Rerequest a selected check that has failed. + operationId: rerequestCheck + security: + - bearerToken: [] + summary: Rerequest a check + tags: + - checks + responses: + '200': + description: '' + content: + application/json: + schema: + type: object + '400': + description: One of the provided values in the request query is invalid. + '401': + description: '' + '403': + description: You do not have permission to access this resource. + '404': + description: |- + The deployment was not found + Check was not found + parameters: + - name: deploymentId + description: The deployment to rerun the check for. + in: path + required: true + schema: + description: The deployment to rerun the check for. + example: dpl_2qn7PZrx89yxY34vEZPD31Y9XVj6 + type: string + - name: checkId + description: The check to rerun + in: path + required: true + schema: + description: The check to rerun + example: check_2qn7PZrx89yxY34vEZPD31Y9XVj6 + type: string + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string diff --git a/providers/src/vercel/v00.00.00000/services/deployments.yaml b/providers/src/vercel/v00.00.00000/services/deployments.yaml new file mode 100644 index 00000000..dfa7d42b --- /dev/null +++ b/providers/src/vercel/v00.00.00000/services/deployments.yaml @@ -0,0 +1,6734 @@ +openapi: 3.0.3 +servers: + - url: 'https://api.vercel.com' + description: Production API +info: + contact: + email: support@vercel.com + name: Vercel Support + url: 'https://vercel.com/support' + version: 0.0.1 + title: Vercel API - deployments + description: deployments +components: + schemas: + FileTree: + properties: + name: + type: string + description: The name of the file tree entry + example: my-file.json + type: + type: string + enum: + - directory + - file + - symlink + - lambda + - middleware + - invalid + description: String indicating the type of file tree entry. + example: file + uid: + type: string + description: The unique identifier of the file (only valid for the `file` type) + example: 2d4aad419917f15b1146e9e03ddc9bb31747e4d0 + children: + items: + $ref: '#/components/schemas/FileTree' + type: array + description: The list of children files of the directory (only valid for the `directory` type) + contentType: + type: string + description: The content-type of the file (only valid for the `file` type) + example: application/json + mode: + type: number + description: The file "mode" indicating file type and permissions. + symlink: + type: string + description: Not currently used. See `file-list-to-tree.ts`. + required: + - name + - type + - mode + type: object + description: A deployment file tree entry + Pagination: + properties: + count: + type: number + description: Amount of items in the current page. + example: 20 + next: + nullable: true + type: number + description: Timestamp that must be used to request the next page. + example: 1540095775951 + prev: + nullable: true + type: number + description: Timestamp that must be used to request the previous page. + example: 1540095775951 + required: + - count + - next + - prev + type: object + description: 'This object contains information related to the pagination of the current request, including the necessary parameters to get the next or previous page of data.' + responses: {} + securitySchemes: + bearerToken: + type: http + description: Default authentication mechanism + scheme: bearer + oauth2: + type: oauth2 + flows: + authorizationCode: + authorizationUrl: 'https://api.vercel.com/oauth/authorize' + tokenUrl: 'https://api.vercel.com/oauth/access_token' + scopes: {} + x-stackQL-resources: + builds: + id: vercel.deployments.builds + name: builds + title: Builds + methods: + get_builds_for_deployment: + operation: + $ref: '#/paths/~1deployments~1{deploymentId}~1builds/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.builds + _get_builds_for_deployment: + operation: + $ref: '#/paths/~1deployments~1{deploymentId}~1builds/get' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/builds/methods/get_builds_for_deployment' + insert: [] + update: [] + delete: [] + events: + id: vercel.deployments.events + name: events + title: Events + methods: + get_deployment_events: + operation: + $ref: '#/paths/~1v2~1deployments~1{idOrUrl}~1events/get' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/events/methods/get_deployment_events' + insert: [] + update: [] + delete: [] + deployments: + id: vercel.deployments.deployments + name: deployments + title: Deployments + methods: + get_deployment: + operation: + $ref: '#/paths/~1v13~1deployments~1{idOrUrl}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + create_deployment: + operation: + $ref: '#/paths/~1v13~1deployments/post' + response: + mediaType: application/json + openAPIDocKey: '200' + cancel_deployment: + operation: + $ref: '#/paths/~1v12~1deployments~1{id}~1cancel/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + get_deployments: + operation: + $ref: '#/paths/~1v6~1deployments/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.deployments + _get_deployments: + operation: + $ref: '#/paths/~1v6~1deployments/get' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_deployment: + operation: + $ref: '#/paths/~1v13~1deployments~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/deployments/methods/get_deployment' + - $ref: '#/components/x-stackQL-resources/deployments/methods/get_deployments' + insert: + - $ref: '#/components/x-stackQL-resources/deployments/methods/create_deployment' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/deployments/methods/delete_deployment' + files: + id: vercel.deployments.files + name: files + title: Files + methods: + upload_file: + operation: + $ref: '#/paths/~1v2~1files/post' + response: + mediaType: application/json + openAPIDocKey: '200' + list_deployment_files: + operation: + $ref: '#/paths/~1v6~1deployments~1{id}~1files/get' + response: + mediaType: application/json + openAPIDocKey: '200' + get_deployment_file_contents: + operation: + $ref: '#/paths/~1v6~1deployments~1{id}~1files~1{fileId}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/files/methods/list_deployment_files' + insert: [] + update: [] + delete: [] +paths: + '/deployments/{deploymentId}/builds': + get: + description: Retrieves the list of builds given their deployment's unique identifier. No longer listed as public API as of May 2023. + operationId: getBuildsForDeployment + security: [] + tags: + - deployments + responses: + '200': + description: '' + content: + application/json: + schema: + properties: + builds: + items: + properties: + id: + type: string + description: The unique identifier of the Build + deploymentId: + type: string + description: The unique identifier of the deployment + entrypoint: + type: string + description: The entrypoint of the deployment + readyState: + type: string + enum: + - INITIALIZING + - BUILDING + - UPLOADING + - DEPLOYING + - READY + - ARCHIVED + - ERROR + - QUEUED + - CANCELED + description: 'The state of the deployment depending on the process of deploying, or if it is ready or in an error state' + readyStateAt: + type: number + description: The time at which the Build state was last modified + scheduledAt: + nullable: true + type: number + description: The time at which the Build was scheduled to be built + createdAt: + type: number + description: The time at which the Build was created + deployedAt: + type: number + description: The time at which the Build was deployed + createdIn: + type: string + description: The region where the Build was first created + use: + type: string + description: The Runtime the Build used to generate the output + config: + properties: + distDir: + type: string + forceBuildIn: + type: string + reuseWorkPathFrom: + type: string + zeroConfig: + type: boolean + type: object + description: An object that contains the Build's configuration + output: + items: + properties: + type: + type: string + enum: + - lambda + - file + - edge + description: The type of the output + path: + type: string + description: The absolute path of the file or Serverless Function + digest: + type: string + description: The SHA1 of the file + mode: + type: number + description: The POSIX file permissions + size: + type: number + description: The size of the file in bytes + lambda: + nullable: true + properties: + functionName: + type: string + deployedTo: + items: + type: string + type: array + memorySize: + type: number + timeout: + type: number + layers: + items: + type: string + type: array + required: + - functionName + - deployedTo + type: object + description: 'If the output is a Serverless Function, an object containing the name, location and memory size of the function' + edge: + nullable: true + properties: + regions: + nullable: true + items: + type: string + type: array + description: 'The regions where the edge function will be invoked. Only exists if the edge function as a regional edge function, see: https://vercel.com/docs/concepts/edge-network/regions#setting-edge-function-regions' + required: + - regions + type: object + description: Exists if the output is an edge function. + required: + - path + - digest + - mode + type: object + description: A list of outputs for the Build that can be either Serverless Functions or static files + type: array + description: A list of outputs for the Build that can be either Serverless Functions or static files + fingerprint: + nullable: true + type: string + description: 'If the Build uses the `@vercel/static` Runtime, it contains a hashed string of all outputs' + copiedFrom: + type: string + required: + - id + - deploymentId + - entrypoint + - readyState + - output + type: object + description: An object representing a Build on Vercel + type: array + required: + - builds + type: object + '400': + description: One of the provided values in the request query is invalid. + '401': + description: '' + '403': + description: You do not have permission to access this resource. + '404': + description: Deployment was not found + parameters: + - name: deploymentId + description: The deployment unique identifier + in: path + required: true + schema: + type: string + description: The deployment unique identifier + '/v2/deployments/{idOrUrl}/events': + get: + description: Get the build logs of a deployment by deployment ID and build ID. It can work as an infinite stream of logs or as a JSON endpoint depending on the input parameters. + operationId: getDeploymentEvents + security: + - bearerToken: [] + summary: Get deployment events + tags: + - deployments + responses: + '200': + description: |- + A stream of jsonlines where each line is a deployment log item. + Array of deployment logs for the provided query. + content: + application/json: + schema: + type: array + items: + oneOf: + - properties: + type: + type: string + enum: + - command + created: + type: number + payload: + properties: + deploymentId: + type: string + text: + type: string + id: + type: string + date: + type: number + serial: + type: string + required: + - deploymentId + - id + - date + - serial + type: object + required: + - type + - created + - payload + type: object + - properties: + type: + type: string + enum: + - deployment-state + created: + type: number + payload: + properties: + deploymentId: + type: string + info: + properties: + type: + type: string + name: + type: string + entrypoint: + type: string + path: + type: string + step: + type: string + required: + - type + - name + type: object + id: + type: string + date: + type: number + serial: + type: string + required: + - deploymentId + - info + - id + - date + - serial + type: object + required: + - type + - created + - payload + type: object + - properties: + type: + type: string + enum: + - delimiter + created: + type: number + payload: + properties: + deploymentId: + type: string + info: + properties: + type: + type: string + name: + type: string + entrypoint: + type: string + path: + type: string + step: + type: string + required: + - type + - name + type: object + id: + type: string + date: + type: number + serial: + type: string + required: + - deploymentId + - info + - id + - date + - serial + type: object + required: + - type + - created + - payload + type: object + - properties: + type: + type: string + enum: + - exit + created: + type: number + payload: + properties: + date: + type: number + text: + type: string + id: + type: string + deploymentId: + type: string + created: + type: number + serial: + type: string + required: + - date + - id + - deploymentId + - created + - serial + type: object + required: + - type + - created + - payload + type: object + - properties: + type: + type: string + enum: + - middleware + created: + type: number + payload: + properties: + deploymentId: + type: string + info: + properties: + type: + type: string + name: + type: string + entrypoint: + type: string + path: + type: string + step: + type: string + required: + - type + - name + type: object + text: + type: string + id: + type: string + date: + type: number + serial: + type: string + requestId: + type: string + required: + - deploymentId + - info + - id + - date + - serial + type: object + required: + - type + - created + - payload + type: object + - properties: + type: + type: string + enum: + - delimiter + - command + - stdout + - stderr + - exit + - deployment-state + - middleware + - middleware-invocation + - edge-function-invocation + - fatal + created: + type: number + payload: + properties: + deploymentId: + type: string + info: + properties: + type: + type: string + name: + type: string + entrypoint: + type: string + path: + type: string + step: + type: string + required: + - type + - name + type: object + text: + type: string + id: + type: string + date: + type: number + serial: + type: string + statusCode: + type: number + requestId: + type: string + required: + - deploymentId + - info + - id + - date + - serial + type: object + required: + - type + - created + - payload + type: object + - oneOf: + - type: object + - properties: + type: + type: string + enum: + - command + created: + type: number + payload: + properties: + deploymentId: + type: string + text: + type: string + id: + type: string + date: + type: number + serial: + type: string + required: + - deploymentId + - id + - date + - serial + type: object + required: + - type + - created + - payload + type: object + - properties: + type: + type: string + enum: + - deployment-state + created: + type: number + payload: + properties: + deploymentId: + type: string + info: + properties: + type: + type: string + name: + type: string + entrypoint: + type: string + path: + type: string + step: + type: string + required: + - type + - name + type: object + id: + type: string + date: + type: number + serial: + type: string + required: + - deploymentId + - info + - id + - date + - serial + type: object + required: + - type + - created + - payload + type: object + - properties: + type: + type: string + enum: + - delimiter + created: + type: number + payload: + properties: + deploymentId: + type: string + info: + properties: + type: + type: string + name: + type: string + entrypoint: + type: string + path: + type: string + step: + type: string + required: + - type + - name + type: object + id: + type: string + date: + type: number + serial: + type: string + required: + - deploymentId + - info + - id + - date + - serial + type: object + required: + - type + - created + - payload + type: object + - properties: + type: + type: string + enum: + - exit + created: + type: number + payload: + properties: + date: + type: number + text: + type: string + id: + type: string + deploymentId: + type: string + created: + type: number + serial: + type: string + required: + - date + - id + - deploymentId + - created + - serial + type: object + required: + - type + - created + - payload + type: object + - properties: + type: + type: string + enum: + - middleware + created: + type: number + payload: + properties: + deploymentId: + type: string + info: + properties: + type: + type: string + name: + type: string + entrypoint: + type: string + path: + type: string + step: + type: string + required: + - type + - name + type: object + text: + type: string + id: + type: string + date: + type: number + serial: + type: string + requestId: + type: string + required: + - deploymentId + - info + - id + - date + - serial + type: object + required: + - type + - created + - payload + type: object + - properties: + type: + type: string + enum: + - delimiter + - command + - stdout + - stderr + - exit + - deployment-state + - middleware + - middleware-invocation + - edge-function-invocation + - fatal + created: + type: number + payload: + properties: + deploymentId: + type: string + info: + properties: + type: + type: string + name: + type: string + entrypoint: + type: string + path: + type: string + step: + type: string + required: + - type + - name + type: object + text: + type: string + id: + type: string + date: + type: number + serial: + type: string + statusCode: + type: number + requestId: + type: string + required: + - deploymentId + - info + - id + - date + - serial + type: object + required: + - type + - created + - payload + type: object + application/stream+json: + schema: + oneOf: + - properties: + type: + type: string + enum: + - command + created: + type: number + payload: + properties: + deploymentId: + type: string + text: + type: string + id: + type: string + date: + type: number + serial: + type: string + required: + - deploymentId + - id + - date + - serial + type: object + required: + - type + - created + - payload + type: object + - properties: + type: + type: string + enum: + - deployment-state + created: + type: number + payload: + properties: + deploymentId: + type: string + info: + properties: + type: + type: string + name: + type: string + entrypoint: + type: string + path: + type: string + step: + type: string + required: + - type + - name + type: object + id: + type: string + date: + type: number + serial: + type: string + required: + - deploymentId + - info + - id + - date + - serial + type: object + required: + - type + - created + - payload + type: object + - properties: + type: + type: string + enum: + - delimiter + created: + type: number + payload: + properties: + deploymentId: + type: string + info: + properties: + type: + type: string + name: + type: string + entrypoint: + type: string + path: + type: string + step: + type: string + required: + - type + - name + type: object + id: + type: string + date: + type: number + serial: + type: string + required: + - deploymentId + - info + - id + - date + - serial + type: object + required: + - type + - created + - payload + type: object + - properties: + type: + type: string + enum: + - exit + created: + type: number + payload: + properties: + date: + type: number + text: + type: string + id: + type: string + deploymentId: + type: string + created: + type: number + serial: + type: string + required: + - date + - id + - deploymentId + - created + - serial + type: object + required: + - type + - created + - payload + type: object + - properties: + type: + type: string + enum: + - middleware + created: + type: number + payload: + properties: + deploymentId: + type: string + info: + properties: + type: + type: string + name: + type: string + entrypoint: + type: string + path: + type: string + step: + type: string + required: + - type + - name + type: object + text: + type: string + id: + type: string + date: + type: number + serial: + type: string + requestId: + type: string + required: + - deploymentId + - info + - id + - date + - serial + type: object + required: + - type + - created + - payload + type: object + - properties: + type: + type: string + enum: + - delimiter + - command + - stdout + - stderr + - exit + - deployment-state + - middleware + - middleware-invocation + - edge-function-invocation + - fatal + created: + type: number + payload: + properties: + deploymentId: + type: string + info: + properties: + type: + type: string + name: + type: string + entrypoint: + type: string + path: + type: string + step: + type: string + required: + - type + - name + type: object + text: + type: string + id: + type: string + date: + type: number + serial: + type: string + statusCode: + type: number + requestId: + type: string + required: + - deploymentId + - info + - id + - date + - serial + type: object + required: + - type + - created + - payload + type: object + - oneOf: + - type: object + - properties: + type: + type: string + enum: + - command + created: + type: number + payload: + properties: + deploymentId: + type: string + text: + type: string + id: + type: string + date: + type: number + serial: + type: string + required: + - deploymentId + - id + - date + - serial + type: object + required: + - type + - created + - payload + type: object + - properties: + type: + type: string + enum: + - deployment-state + created: + type: number + payload: + properties: + deploymentId: + type: string + info: + properties: + type: + type: string + name: + type: string + entrypoint: + type: string + path: + type: string + step: + type: string + required: + - type + - name + type: object + id: + type: string + date: + type: number + serial: + type: string + required: + - deploymentId + - info + - id + - date + - serial + type: object + required: + - type + - created + - payload + type: object + - properties: + type: + type: string + enum: + - delimiter + created: + type: number + payload: + properties: + deploymentId: + type: string + info: + properties: + type: + type: string + name: + type: string + entrypoint: + type: string + path: + type: string + step: + type: string + required: + - type + - name + type: object + id: + type: string + date: + type: number + serial: + type: string + required: + - deploymentId + - info + - id + - date + - serial + type: object + required: + - type + - created + - payload + type: object + - properties: + type: + type: string + enum: + - exit + created: + type: number + payload: + properties: + date: + type: number + text: + type: string + id: + type: string + deploymentId: + type: string + created: + type: number + serial: + type: string + required: + - date + - id + - deploymentId + - created + - serial + type: object + required: + - type + - created + - payload + type: object + - properties: + type: + type: string + enum: + - middleware + created: + type: number + payload: + properties: + deploymentId: + type: string + info: + properties: + type: + type: string + name: + type: string + entrypoint: + type: string + path: + type: string + step: + type: string + required: + - type + - name + type: object + text: + type: string + id: + type: string + date: + type: number + serial: + type: string + requestId: + type: string + required: + - deploymentId + - info + - id + - date + - serial + type: object + required: + - type + - created + - payload + type: object + - properties: + type: + type: string + enum: + - delimiter + - command + - stdout + - stderr + - exit + - deployment-state + - middleware + - middleware-invocation + - edge-function-invocation + - fatal + created: + type: number + payload: + properties: + deploymentId: + type: string + info: + properties: + type: + type: string + name: + type: string + entrypoint: + type: string + path: + type: string + step: + type: string + required: + - type + - name + type: object + text: + type: string + id: + type: string + date: + type: number + serial: + type: string + statusCode: + type: number + requestId: + type: string + required: + - deploymentId + - info + - id + - date + - serial + type: object + required: + - type + - created + - payload + type: object + '400': + description: One of the provided values in the request query is invalid. + '401': + description: '' + '403': + description: You do not have permission to access this resource. + '404': + description: The deployment was not found + parameters: + - name: idOrUrl + description: The unique identifier or hostname of the deployment. + in: path + required: true + schema: + type: string + example: dpl_5WJWYSyB7BpgTj3EuwF37WMRBXBtPQ2iTMJHJBJyRfd + description: The unique identifier or hostname of the deployment. + - name: direction + description: Order of the returned events based on the timestamp. + in: query + required: false + schema: + type: string + enum: + - backward + - forward + default: forward + example: backward + description: Order of the returned events based on the timestamp. + - name: follow + description: 'When enabled, this endpoint will return live events as they happen.' + in: query + required: false + schema: + type: number + enum: + - 0 + - 1 + example: 1 + description: 'When enabled, this endpoint will return live events as they happen.' + - name: limit + description: Maximum number of events to return. Provide `-1` to return all available logs. + in: query + required: false + schema: + type: number + example: 100 + description: Maximum number of events to return. Provide `-1` to return all available logs. + - name: name + description: Deployment build ID. + in: query + required: false + schema: + type: string + example: bld_cotnkcr76 + description: Deployment build ID. + - name: since + description: Timestamp for when build logs should be pulled from. + in: query + required: false + schema: + type: number + example: 1540095775941 + description: Timestamp for when build logs should be pulled from. + - name: until + description: Timestamp for when the build logs should be pulled up until. + in: query + required: false + schema: + type: number + example: 1540106318643 + description: Timestamp for when the build logs should be pulled up until. + - name: statusCode + description: HTTP status code range to filter events by. + in: query + required: false + schema: + example: 5xx + description: HTTP status code range to filter events by. + oneOf: + - type: number + - type: string + - name: delimiter + in: query + required: false + schema: + type: number + enum: + - 0 + - 1 + example: 1 + - name: builds + in: query + required: false + schema: + type: number + enum: + - 0 + - 1 + example: 1 + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + '/v13/deployments/{idOrUrl}': + get: + description: Retrieves information for a deployment either by supplying its ID (`id` property) or Hostname (`url` property). Additional details will be included when the authenticated user or team is an owner of the deployment. + operationId: getDeployment + security: + - bearerToken: [] + summary: Get a deployment by ID or URL + tags: + - deployments + responses: + '200': + description: |- + The deployment including only public information + The deployment including both public and private information + content: + application/json: + schema: + oneOf: + - properties: + build: + properties: + env: + items: + type: string + type: array + description: The keys of the environment variables that were assigned during the build phase. + example: + - MY_ENV_VAR + required: + - env + type: object + builds: + items: + type: object + type: array + connectBuildsEnabled: + type: boolean + description: The flag saying if Vercel Connect configuration is used for builds + connectConfigurationId: + type: string + description: The ID of Vercel Connect configuration used for this deployment + createdIn: + type: string + description: The region where the deployment was first created + example: sfo1 + env: + items: + type: string + type: array + description: The keys of the environment variables that were assigned during runtime + example: + - MY_SECRET + functions: + nullable: true + additionalProperties: + properties: + memory: + type: number + maxDuration: + type: number + runtime: + type: string + includeFiles: + type: string + excludeFiles: + type: string + type: object + description: An object used to configure your Serverless Functions + example: + api/test.js: + memory: 3008 + type: object + description: An object used to configure your Serverless Functions + example: + api/test.js: + memory: 3008 + inspectorUrl: + nullable: true + type: string + description: Vercel URL to inspect the deployment. + example: 'https://vercel.com/acme/nextjs/J1hXN00qjUeoYfpEEf7dnDtpSiVq' + isInConcurrentBuildsQueue: + type: boolean + description: Is the deployment currently queued waiting for a Concurrent Build Slot to be available + example: false + meta: + additionalProperties: + type: string + description: An object containing the deployment's metadata + example: + foo: bar + type: object + description: An object containing the deployment's metadata + example: + foo: bar + monorepoManager: + nullable: true + type: string + description: An monorepo manager that was used for the deployment + example: turbo + name: + type: string + description: The name of the project associated with the deployment at the time that the deployment was created + example: my-project + ownerId: + type: string + description: The unique ID of the user or team the deployment belongs to + example: ZspSRT4ljIEEmMHgoDwKWDei + plan: + type: string + enum: + - pro + - enterprise + - hobby + - oss + description: The pricing plan the deployment was made under + example: pro + projectId: + type: string + description: The ID of the project the deployment is associated with + example: prj_12HKQaOmR5t5Uy6vdcQsNIiZgHGB + routes: + nullable: true + items: + oneOf: + - properties: + src: + type: string + dest: + type: string + headers: + additionalProperties: + type: string + type: object + methods: + items: + type: string + type: array + continue: + type: boolean + override: + type: boolean + caseSensitive: + type: boolean + check: + type: boolean + important: + type: boolean + status: + type: number + has: + items: + oneOf: + - properties: + type: + type: string + enum: + - host + value: + type: string + required: + - type + - value + type: object + - properties: + type: + type: string + enum: + - header + - cookie + - query + key: + type: string + value: + type: string + required: + - type + - key + type: object + type: array + missing: + items: + oneOf: + - properties: + type: + type: string + enum: + - host + value: + type: string + required: + - type + - value + type: object + - properties: + type: + type: string + enum: + - header + - cookie + - query + key: + type: string + value: + type: string + required: + - type + - key + type: object + type: array + locale: + properties: + redirect: + additionalProperties: + type: string + type: object + cookie: + type: string + type: object + middlewarePath: + type: string + description: A middleware key within the `output` key under the build result. Overrides a `middleware` definition. + middlewareRawSrc: + items: + type: string + type: array + description: The original middleware matchers. + middleware: + type: number + description: A middleware index in the `middleware` key under the build result + required: + - src + type: object + description: A list of routes objects used to rewrite paths to point towards other internal or external paths + example: + - src: /docs + dest: 'https://docs.example.com' + - properties: + handle: + type: string + enum: + - error + - filesystem + - hit + - miss + - rewrite + - resource + src: + type: string + dest: + type: string + status: + type: number + required: + - handle + type: object + description: A list of routes objects used to rewrite paths to point towards other internal or external paths + example: + - src: /docs + dest: 'https://docs.example.com' + - properties: + src: + type: string + continue: + type: boolean + middleware: + type: number + enum: + - 0 + required: + - src + - continue + - middleware + type: object + description: A list of routes objects used to rewrite paths to point towards other internal or external paths + example: + - src: /docs + dest: 'https://docs.example.com' + type: array + description: A list of routes objects used to rewrite paths to point towards other internal or external paths + example: + - src: /docs + dest: 'https://docs.example.com' + gitRepo: + nullable: true + oneOf: + - properties: + namespace: + type: string + projectId: + type: number + type: + type: string + enum: + - gitlab + url: + type: string + path: + type: string + defaultBranch: + type: string + name: + type: string + private: + type: boolean + ownerType: + type: string + enum: + - team + - user + required: + - namespace + - projectId + - type + - url + - path + - defaultBranch + - name + - private + - ownerType + type: object + - properties: + org: + type: string + repo: + type: string + repoId: + type: number + type: + type: string + enum: + - github + repoOwnerId: + type: string + path: + type: string + defaultBranch: + type: string + name: + type: string + private: + type: boolean + ownerType: + type: string + enum: + - team + - user + required: + - org + - repo + - repoId + - type + - repoOwnerId + - path + - defaultBranch + - name + - private + - ownerType + type: object + - properties: + owner: + type: string + repoUuid: + type: string + slug: + type: string + type: + type: string + enum: + - bitbucket + workspaceUuid: + type: string + path: + type: string + defaultBranch: + type: string + name: + type: string + private: + type: boolean + ownerType: + type: string + enum: + - team + - user + required: + - owner + - repoUuid + - slug + - type + - workspaceUuid + - path + - defaultBranch + - name + - private + - ownerType + type: object + aliasAssignedAt: + nullable: true + oneOf: + - type: number + - type: boolean + lambdas: + items: + properties: + id: + type: string + createdAt: + type: number + entrypoint: + nullable: true + type: string + readyState: + type: string + enum: + - BUILDING + - ERROR + - INITIALIZING + - READY + readyStateAt: + type: number + output: + items: + properties: + path: + type: string + functionName: + type: string + required: + - path + - functionName + type: object + type: array + required: + - id + - output + type: object + type: array + public: + type: boolean + description: A boolean representing if the deployment is public or not. By default this is `false` + example: false + readyState: + type: string + enum: + - QUEUED + - BUILDING + - ERROR + - INITIALIZING + - READY + - CANCELED + description: 'The state of the deployment depending on the process of deploying, or if it is ready or in an error state' + example: READY + readySubstate: + type: string + enum: + - STAGED + - PROMOTED + description: The substate of the deployment when the state is "READY" + example: STAGED + regions: + items: + type: string + type: array + description: The regions the deployment exists in + example: + - sfo1 + source: + type: string + enum: + - cli + - git + - import + - import/repo + - clone/repo + description: Where was the deployment created from + example: cli + target: + nullable: true + type: string + enum: + - staging + - production + description: 'If defined, either `staging` if a staging alias in the format `..now.sh` was assigned upon creation, or `production` if the aliases from `alias` were assigned' + example: null + team: + properties: + id: + type: string + description: The ID of the team owner + example: team_LLHUOMOoDlqOp8wPE4kFo9pE + name: + type: string + description: The name of the team owner + example: FSociety + slug: + type: string + description: The slug of the team owner + example: fsociety + required: + - id + - name + - slug + type: object + description: The team that owns the deployment if any + type: + type: string + enum: + - LAMBDAS + url: + type: string + description: A string with the unique URL of the deployment + example: my-instant-deployment-3ij3cxz9qr.now.sh + userAliases: + items: + type: string + type: array + description: An array of domains that were provided by the user when creating the Deployment. + example: + - sub1.example.com + - sub2.example.com + version: + type: number + enum: + - 2 + description: The platform version that was used to create the deployment. + example: 2 + previewCommentsEnabled: + type: boolean + description: Whether or not preview comments are enabled for the deployment + example: false + alias: + items: + type: string + type: array + description: 'A list of all the aliases (default aliases, staging aliases and production aliases) that were assigned upon deployment creation' + example: [] + aliasAssigned: + type: boolean + description: A boolean that will be true when the aliases from the alias property were assigned successfully + example: true + aliasError: + nullable: true + properties: + code: + type: string + message: + type: string + required: + - code + - message + type: object + description: 'An object that will contain a `code` and a `message` when the aliasing fails, otherwise the value will be `null`' + example: null + aliasFinal: + nullable: true + type: string + aliasWarning: + nullable: true + properties: + code: + type: string + message: + type: string + link: + type: string + action: + type: string + required: + - code + - message + type: object + autoAssignCustomDomains: + type: boolean + automaticAliases: + items: + type: string + type: array + bootedAt: + type: number + buildErrorAt: + type: number + buildingAt: + type: number + canceledAt: + type: number + checksState: + type: string + enum: + - registered + - running + - completed + checksConclusion: + type: string + enum: + - succeeded + - failed + - skipped + - canceled + createdAt: + type: number + description: A number containing the date when the deployment was created in milliseconds + example: 1540257589405 + creator: + properties: + uid: + type: string + description: The ID of the user that created the deployment + example: 96SnxkFiMyVKsK3pnoHfx3Hz + username: + type: string + description: The username of the user that created the deployment + example: john-doe + required: + - uid + type: object + description: Information about the deployment creator + errorCode: + type: string + errorLink: + type: string + errorMessage: + nullable: true + type: string + errorStep: + type: string + gitSource: + oneOf: + - properties: + type: + type: string + enum: + - github + repoId: + oneOf: + - type: string + - type: number + ref: + nullable: true + type: string + sha: + type: string + prId: + nullable: true + type: number + required: + - type + - repoId + type: object + - properties: + type: + type: string + enum: + - github + org: + type: string + repo: + type: string + ref: + nullable: true + type: string + sha: + type: string + prId: + nullable: true + type: number + required: + - type + - org + - repo + type: object + - properties: + type: + type: string + enum: + - gitlab + projectId: + oneOf: + - type: string + - type: number + ref: + nullable: true + type: string + sha: + type: string + prId: + nullable: true + type: number + required: + - type + - projectId + type: object + - properties: + type: + type: string + enum: + - bitbucket + workspaceUuid: + type: string + repoUuid: + type: string + ref: + nullable: true + type: string + sha: + type: string + prId: + nullable: true + type: number + required: + - type + - repoUuid + type: object + - properties: + type: + type: string + enum: + - bitbucket + owner: + type: string + slug: + type: string + ref: + nullable: true + type: string + sha: + type: string + prId: + nullable: true + type: number + required: + - type + - owner + - slug + type: object + - properties: + type: + type: string + enum: + - custom + ref: + type: string + sha: + type: string + gitUrl: + type: string + required: + - type + - ref + - sha + - gitUrl + type: object + - properties: + type: + type: string + enum: + - github + ref: + type: string + sha: + type: string + repoId: + type: number + org: + type: string + repo: + type: string + required: + - type + - ref + - sha + - repoId + type: object + - properties: + type: + type: string + enum: + - gitlab + ref: + type: string + sha: + type: string + projectId: + type: number + required: + - type + - ref + - sha + - projectId + type: object + - properties: + type: + type: string + enum: + - bitbucket + ref: + type: string + sha: + type: string + owner: + type: string + slug: + type: string + workspaceUuid: + type: string + repoUuid: + type: string + required: + - type + - ref + - sha + - workspaceUuid + - repoUuid + type: object + id: + type: string + description: A string holding the unique ID of the deployment + example: dpl_89qyp1cskzkLrVicDaZoDbjyHuDJ + required: + - build + - createdIn + - env + - inspectorUrl + - isInConcurrentBuildsQueue + - meta + - name + - ownerId + - plan + - projectId + - routes + - public + - readyState + - regions + - type + - url + - version + - alias + - aliasAssigned + - bootedAt + - buildingAt + - createdAt + - creator + - id + type: object + description: The deployment including both public and private information + - properties: + lambdas: + items: + properties: + id: + type: string + createdAt: + type: number + entrypoint: + nullable: true + type: string + readyState: + type: string + enum: + - BUILDING + - ERROR + - INITIALIZING + - READY + readyStateAt: + type: number + output: + items: + properties: + path: + type: string + functionName: + type: string + required: + - path + - functionName + type: object + type: array + required: + - id + - output + type: object + type: array + name: + type: string + description: The name of the project associated with the deployment at the time that the deployment was created + example: my-project + meta: + additionalProperties: + type: string + description: An object containing the deployment's metadata + example: + foo: bar + type: object + description: An object containing the deployment's metadata + example: + foo: bar + public: + type: boolean + description: A boolean representing if the deployment is public or not. By default this is `false` + example: false + readyState: + type: string + enum: + - QUEUED + - BUILDING + - ERROR + - INITIALIZING + - READY + - CANCELED + description: 'The state of the deployment depending on the process of deploying, or if it is ready or in an error state' + example: READY + readySubstate: + type: string + enum: + - STAGED + - PROMOTED + description: The substate of the deployment when the state is "READY" + example: STAGED + regions: + items: + type: string + type: array + description: The regions the deployment exists in + example: + - sfo1 + source: + type: string + enum: + - cli + - git + - import + - import/repo + - clone/repo + description: Where was the deployment created from + example: cli + target: + nullable: true + type: string + enum: + - staging + - production + description: 'If defined, either `staging` if a staging alias in the format `..now.sh` was assigned upon creation, or `production` if the aliases from `alias` were assigned' + example: null + team: + properties: + id: + type: string + description: The ID of the team owner + example: team_LLHUOMOoDlqOp8wPE4kFo9pE + name: + type: string + description: The name of the team owner + example: FSociety + slug: + type: string + description: The slug of the team owner + example: fsociety + required: + - id + - name + - slug + type: object + description: The team that owns the deployment if any + type: + type: string + enum: + - LAMBDAS + url: + type: string + description: A string with the unique URL of the deployment + example: my-instant-deployment-3ij3cxz9qr.now.sh + userAliases: + items: + type: string + type: array + description: An array of domains that were provided by the user when creating the Deployment. + example: + - sub1.example.com + - sub2.example.com + version: + type: number + enum: + - 2 + description: The platform version that was used to create the deployment. + example: 2 + previewCommentsEnabled: + type: boolean + description: Whether or not preview comments are enabled for the deployment + example: false + alias: + items: + type: string + type: array + description: 'A list of all the aliases (default aliases, staging aliases and production aliases) that were assigned upon deployment creation' + example: [] + aliasAssigned: + type: boolean + description: A boolean that will be true when the aliases from the alias property were assigned successfully + example: true + aliasError: + nullable: true + properties: + code: + type: string + message: + type: string + required: + - code + - message + type: object + description: 'An object that will contain a `code` and a `message` when the aliasing fails, otherwise the value will be `null`' + example: null + aliasFinal: + nullable: true + type: string + aliasWarning: + nullable: true + properties: + code: + type: string + message: + type: string + link: + type: string + action: + type: string + required: + - code + - message + type: object + autoAssignCustomDomains: + type: boolean + automaticAliases: + items: + type: string + type: array + bootedAt: + type: number + buildErrorAt: + type: number + buildingAt: + type: number + canceledAt: + type: number + checksState: + type: string + enum: + - registered + - running + - completed + checksConclusion: + type: string + enum: + - succeeded + - failed + - skipped + - canceled + createdAt: + type: number + description: A number containing the date when the deployment was created in milliseconds + example: 1540257589405 + creator: + properties: + uid: + type: string + description: The ID of the user that created the deployment + example: 96SnxkFiMyVKsK3pnoHfx3Hz + username: + type: string + description: The username of the user that created the deployment + example: john-doe + required: + - uid + type: object + description: Information about the deployment creator + errorCode: + type: string + errorLink: + type: string + errorMessage: + nullable: true + type: string + errorStep: + type: string + gitSource: + oneOf: + - properties: + type: + type: string + enum: + - github + repoId: + oneOf: + - type: string + - type: number + ref: + nullable: true + type: string + sha: + type: string + prId: + nullable: true + type: number + required: + - type + - repoId + type: object + - properties: + type: + type: string + enum: + - github + org: + type: string + repo: + type: string + ref: + nullable: true + type: string + sha: + type: string + prId: + nullable: true + type: number + required: + - type + - org + - repo + type: object + - properties: + type: + type: string + enum: + - gitlab + projectId: + oneOf: + - type: string + - type: number + ref: + nullable: true + type: string + sha: + type: string + prId: + nullable: true + type: number + required: + - type + - projectId + type: object + - properties: + type: + type: string + enum: + - bitbucket + workspaceUuid: + type: string + repoUuid: + type: string + ref: + nullable: true + type: string + sha: + type: string + prId: + nullable: true + type: number + required: + - type + - repoUuid + type: object + - properties: + type: + type: string + enum: + - bitbucket + owner: + type: string + slug: + type: string + ref: + nullable: true + type: string + sha: + type: string + prId: + nullable: true + type: number + required: + - type + - owner + - slug + type: object + - properties: + type: + type: string + enum: + - custom + ref: + type: string + sha: + type: string + gitUrl: + type: string + required: + - type + - ref + - sha + - gitUrl + type: object + - properties: + type: + type: string + enum: + - github + ref: + type: string + sha: + type: string + repoId: + type: number + org: + type: string + repo: + type: string + required: + - type + - ref + - sha + - repoId + type: object + - properties: + type: + type: string + enum: + - gitlab + ref: + type: string + sha: + type: string + projectId: + type: number + required: + - type + - ref + - sha + - projectId + type: object + - properties: + type: + type: string + enum: + - bitbucket + ref: + type: string + sha: + type: string + owner: + type: string + slug: + type: string + workspaceUuid: + type: string + repoUuid: + type: string + required: + - type + - ref + - sha + - workspaceUuid + - repoUuid + type: object + id: + type: string + description: A string holding the unique ID of the deployment + example: dpl_89qyp1cskzkLrVicDaZoDbjyHuDJ + required: + - name + - meta + - public + - readyState + - regions + - type + - url + - version + - alias + - aliasAssigned + - bootedAt + - buildingAt + - createdAt + - creator + - id + type: object + description: The deployment including only public information + '400': + description: One of the provided values in the request query is invalid. + '403': + description: You do not have permission to access this resource. + '404': + description: The deployment was not found + parameters: + - name: idOrUrl + description: The unique identifier or hostname of the deployment. + in: path + required: true + schema: + example: dpl_89qyp1cskzkLrVicDaZoDbjyHuDJ + description: The unique identifier or hostname of the deployment. + type: string + - name: withGitRepoInfo + description: Whether to add in gitRepo information. + in: query + required: false + schema: + description: Whether to add in gitRepo information. + type: string + example: 'true' + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + /v13/deployments: + post: + description: 'Create a new deployment with all the required and intended data. If the deployment is not a git deployment, all files must be provided with the request, either referenced or inlined. Additionally, a deployment id can be specified to redeploy a previous deployment.' + operationId: createDeployment + security: + - bearerToken: [] + summary: Create a new deployment + tags: + - deployments + responses: + '200': + description: The successfully created deployment + content: + application/json: + schema: + properties: + build: + properties: + env: + items: + type: string + type: array + description: The keys of the environment variables that were assigned during the build phase. + example: + - MY_ENV_VAR + required: + - env + type: object + builds: + items: + type: object + type: array + connectBuildsEnabled: + type: boolean + description: The flag saying if Vercel Connect configuration is used for builds + connectConfigurationId: + type: string + description: The ID of Vercel Connect configuration used for this deployment + createdIn: + type: string + description: The region where the deployment was first created + example: sfo1 + env: + items: + type: string + type: array + description: The keys of the environment variables that were assigned during runtime + example: + - MY_SECRET + functions: + nullable: true + additionalProperties: + properties: + memory: + type: number + maxDuration: + type: number + runtime: + type: string + includeFiles: + type: string + excludeFiles: + type: string + type: object + description: An object used to configure your Serverless Functions + example: + api/test.js: + memory: 3008 + type: object + description: An object used to configure your Serverless Functions + example: + api/test.js: + memory: 3008 + inspectorUrl: + nullable: true + type: string + description: Vercel URL to inspect the deployment. + example: 'https://vercel.com/acme/nextjs/J1hXN00qjUeoYfpEEf7dnDtpSiVq' + isInConcurrentBuildsQueue: + type: boolean + description: Is the deployment currently queued waiting for a Concurrent Build Slot to be available + example: false + meta: + additionalProperties: + type: string + description: An object containing the deployment's metadata + example: + foo: bar + type: object + description: An object containing the deployment's metadata + example: + foo: bar + monorepoManager: + nullable: true + type: string + description: An monorepo manager that was used for the deployment + example: turbo + name: + type: string + description: The name of the project associated with the deployment at the time that the deployment was created + example: my-project + ownerId: + type: string + description: The unique ID of the user or team the deployment belongs to + example: ZspSRT4ljIEEmMHgoDwKWDei + plan: + type: string + enum: + - pro + - enterprise + - hobby + - oss + description: The pricing plan the deployment was made under + example: pro + projectId: + type: string + description: The ID of the project the deployment is associated with + example: prj_12HKQaOmR5t5Uy6vdcQsNIiZgHGB + routes: + nullable: true + items: + oneOf: + - properties: + src: + type: string + dest: + type: string + headers: + additionalProperties: + type: string + type: object + methods: + items: + type: string + type: array + continue: + type: boolean + override: + type: boolean + caseSensitive: + type: boolean + check: + type: boolean + important: + type: boolean + status: + type: number + has: + items: + oneOf: + - properties: + type: + type: string + enum: + - host + value: + type: string + required: + - type + - value + type: object + - properties: + type: + type: string + enum: + - header + - cookie + - query + key: + type: string + value: + type: string + required: + - type + - key + type: object + type: array + missing: + items: + oneOf: + - properties: + type: + type: string + enum: + - host + value: + type: string + required: + - type + - value + type: object + - properties: + type: + type: string + enum: + - header + - cookie + - query + key: + type: string + value: + type: string + required: + - type + - key + type: object + type: array + locale: + properties: + redirect: + additionalProperties: + type: string + type: object + cookie: + type: string + type: object + middlewarePath: + type: string + description: A middleware key within the `output` key under the build result. Overrides a `middleware` definition. + middlewareRawSrc: + items: + type: string + type: array + description: The original middleware matchers. + middleware: + type: number + description: A middleware index in the `middleware` key under the build result + required: + - src + type: object + description: A list of routes objects used to rewrite paths to point towards other internal or external paths + example: + - src: /docs + dest: 'https://docs.example.com' + - properties: + handle: + type: string + enum: + - error + - filesystem + - hit + - miss + - rewrite + - resource + src: + type: string + dest: + type: string + status: + type: number + required: + - handle + type: object + description: A list of routes objects used to rewrite paths to point towards other internal or external paths + example: + - src: /docs + dest: 'https://docs.example.com' + - properties: + src: + type: string + continue: + type: boolean + middleware: + type: number + enum: + - 0 + required: + - src + - continue + - middleware + type: object + description: A list of routes objects used to rewrite paths to point towards other internal or external paths + example: + - src: /docs + dest: 'https://docs.example.com' + type: array + description: A list of routes objects used to rewrite paths to point towards other internal or external paths + example: + - src: /docs + dest: 'https://docs.example.com' + gitRepo: + nullable: true + oneOf: + - properties: + namespace: + type: string + projectId: + type: number + type: + type: string + enum: + - gitlab + url: + type: string + path: + type: string + defaultBranch: + type: string + name: + type: string + private: + type: boolean + ownerType: + type: string + enum: + - team + - user + required: + - namespace + - projectId + - type + - url + - path + - defaultBranch + - name + - private + - ownerType + type: object + - properties: + org: + type: string + repo: + type: string + repoId: + type: number + type: + type: string + enum: + - github + repoOwnerId: + type: string + path: + type: string + defaultBranch: + type: string + name: + type: string + private: + type: boolean + ownerType: + type: string + enum: + - team + - user + required: + - org + - repo + - repoId + - type + - repoOwnerId + - path + - defaultBranch + - name + - private + - ownerType + type: object + - properties: + owner: + type: string + repoUuid: + type: string + slug: + type: string + type: + type: string + enum: + - bitbucket + workspaceUuid: + type: string + path: + type: string + defaultBranch: + type: string + name: + type: string + private: + type: boolean + ownerType: + type: string + enum: + - team + - user + required: + - owner + - repoUuid + - slug + - type + - workspaceUuid + - path + - defaultBranch + - name + - private + - ownerType + type: object + aliasAssignedAt: + nullable: true + oneOf: + - type: number + - type: boolean + lambdas: + items: + properties: + id: + type: string + createdAt: + type: number + entrypoint: + nullable: true + type: string + readyState: + type: string + enum: + - BUILDING + - ERROR + - INITIALIZING + - READY + readyStateAt: + type: number + output: + items: + properties: + path: + type: string + functionName: + type: string + required: + - path + - functionName + type: object + type: array + required: + - id + - output + type: object + type: array + public: + type: boolean + description: A boolean representing if the deployment is public or not. By default this is `false` + example: false + readyState: + type: string + enum: + - QUEUED + - BUILDING + - ERROR + - INITIALIZING + - READY + - CANCELED + description: 'The state of the deployment depending on the process of deploying, or if it is ready or in an error state' + example: READY + readySubstate: + type: string + enum: + - STAGED + - PROMOTED + description: The substate of the deployment when the state is "READY" + example: STAGED + regions: + items: + type: string + type: array + description: The regions the deployment exists in + example: + - sfo1 + source: + type: string + enum: + - cli + - git + - import + - import/repo + - clone/repo + description: Where was the deployment created from + example: cli + target: + nullable: true + type: string + enum: + - staging + - production + description: 'If defined, either `staging` if a staging alias in the format `..now.sh` was assigned upon creation, or `production` if the aliases from `alias` were assigned' + example: null + team: + properties: + id: + type: string + description: The ID of the team owner + example: team_LLHUOMOoDlqOp8wPE4kFo9pE + name: + type: string + description: The name of the team owner + example: FSociety + slug: + type: string + description: The slug of the team owner + example: fsociety + required: + - id + - name + - slug + type: object + description: The team that owns the deployment if any + type: + type: string + enum: + - LAMBDAS + url: + type: string + description: A string with the unique URL of the deployment + example: my-instant-deployment-3ij3cxz9qr.now.sh + userAliases: + items: + type: string + type: array + description: An array of domains that were provided by the user when creating the Deployment. + example: + - sub1.example.com + - sub2.example.com + version: + type: number + enum: + - 2 + description: The platform version that was used to create the deployment. + example: 2 + previewCommentsEnabled: + type: boolean + description: Whether or not preview comments are enabled for the deployment + example: false + alias: + items: + type: string + type: array + description: 'A list of all the aliases (default aliases, staging aliases and production aliases) that were assigned upon deployment creation' + example: [] + aliasAssigned: + type: boolean + description: A boolean that will be true when the aliases from the alias property were assigned successfully + example: true + aliasError: + nullable: true + properties: + code: + type: string + message: + type: string + required: + - code + - message + type: object + description: 'An object that will contain a `code` and a `message` when the aliasing fails, otherwise the value will be `null`' + example: null + aliasFinal: + nullable: true + type: string + aliasWarning: + nullable: true + properties: + code: + type: string + message: + type: string + link: + type: string + action: + type: string + required: + - code + - message + type: object + autoAssignCustomDomains: + type: boolean + automaticAliases: + items: + type: string + type: array + bootedAt: + type: number + buildErrorAt: + type: number + buildingAt: + type: number + canceledAt: + type: number + checksState: + type: string + enum: + - registered + - running + - completed + checksConclusion: + type: string + enum: + - succeeded + - failed + - skipped + - canceled + createdAt: + type: number + description: A number containing the date when the deployment was created in milliseconds + example: 1540257589405 + creator: + properties: + uid: + type: string + description: The ID of the user that created the deployment + example: 96SnxkFiMyVKsK3pnoHfx3Hz + username: + type: string + description: The username of the user that created the deployment + example: john-doe + required: + - uid + type: object + description: Information about the deployment creator + errorCode: + type: string + errorLink: + type: string + errorMessage: + nullable: true + type: string + errorStep: + type: string + gitSource: + oneOf: + - properties: + type: + type: string + enum: + - github + repoId: + oneOf: + - type: string + - type: number + ref: + nullable: true + type: string + sha: + type: string + prId: + nullable: true + type: number + required: + - type + - repoId + type: object + - properties: + type: + type: string + enum: + - github + org: + type: string + repo: + type: string + ref: + nullable: true + type: string + sha: + type: string + prId: + nullable: true + type: number + required: + - type + - org + - repo + type: object + - properties: + type: + type: string + enum: + - gitlab + projectId: + oneOf: + - type: string + - type: number + ref: + nullable: true + type: string + sha: + type: string + prId: + nullable: true + type: number + required: + - type + - projectId + type: object + - properties: + type: + type: string + enum: + - bitbucket + workspaceUuid: + type: string + repoUuid: + type: string + ref: + nullable: true + type: string + sha: + type: string + prId: + nullable: true + type: number + required: + - type + - repoUuid + type: object + - properties: + type: + type: string + enum: + - bitbucket + owner: + type: string + slug: + type: string + ref: + nullable: true + type: string + sha: + type: string + prId: + nullable: true + type: number + required: + - type + - owner + - slug + type: object + - properties: + type: + type: string + enum: + - custom + ref: + type: string + sha: + type: string + gitUrl: + type: string + required: + - type + - ref + - sha + - gitUrl + type: object + - properties: + type: + type: string + enum: + - github + ref: + type: string + sha: + type: string + repoId: + type: number + org: + type: string + repo: + type: string + required: + - type + - ref + - sha + - repoId + type: object + - properties: + type: + type: string + enum: + - gitlab + ref: + type: string + sha: + type: string + projectId: + type: number + required: + - type + - ref + - sha + - projectId + type: object + - properties: + type: + type: string + enum: + - bitbucket + ref: + type: string + sha: + type: string + owner: + type: string + slug: + type: string + workspaceUuid: + type: string + repoUuid: + type: string + required: + - type + - ref + - sha + - workspaceUuid + - repoUuid + type: object + id: + type: string + description: A string holding the unique ID of the deployment + example: dpl_89qyp1cskzkLrVicDaZoDbjyHuDJ + required: + - build + - createdIn + - env + - inspectorUrl + - isInConcurrentBuildsQueue + - meta + - name + - ownerId + - plan + - projectId + - routes + - public + - readyState + - regions + - type + - url + - version + - alias + - aliasAssigned + - bootedAt + - buildingAt + - createdAt + - creator + - id + type: object + description: The successfully created deployment + '400': + description: |- + One of the provided values in the request body is invalid. + One of the provided values in the request query is invalid. + '401': + description: '' + '402': + description: |- + The account was soft-blocked for an unhandled reason. + The account is missing a payment so payment method must be updated + Deploying to Serverless Functions to multiple regions requires a plan update + '403': + description: You do not have permission to access this resource. + '404': + description: '' + '409': + description: The deployment project is being transferred + parameters: + - name: forceNew + description: Forces a new deployment even if there is a previous similar deployment + in: query + schema: + description: Forces a new deployment even if there is a previous similar deployment + enum: + - '0' + - '1' + - name: skipAutoDetectionConfirmation + description: Allows to skip framework detection so the API would not fail to ask for confirmation + in: query + schema: + description: Allows to skip framework detection so the API would not fail to ask for confirmation + enum: + - '0' + - '1' + - name: forceNew + description: Forces a new deployment even if there is a previous similar deployment + in: query + schema: + description: Forces a new deployment even if there is a previous similar deployment + enum: + - '0' + - '1' + - name: skipAutoDetectionConfirmation + description: Allows to skip framework detection so the API would not fail to ask for confirmation + in: query + schema: + description: Allows to skip framework detection so the API would not fail to ask for confirmation + enum: + - '0' + - '1' + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + type: object + additionalProperties: false + properties: + $schema: + description: 'Ignored. Can be set to get completions, validations and documentation in some editors.' + example: + - 'https://openapi.vercel.sh/vercel.json' + type: string + alias: + description: Aliases that will get assigned when the deployment is `READY` and the target is `production`. The client needs to make a `GET` request to its API to ensure the assignment + example: + - example.vercel.app + items: + maxLength: 253 + type: string + maxItems: 50 + maxLength: 253 + type: array + build: + additionalProperties: false + description: An object containing another object with information to be passed to the Build Process + deprecated: true + properties: + env: + additionalProperties: + maxLength: 65536 + type: string + description: An object containing the deployment's environment variable names and values to be passed to Builds. Secrets can be referenced by prefixing the value with `@` + example: + A_SECRET: '@a-secret' + deprecated: true + maxProperties: 100 + minProperties: 0 + type: object + type: object + builds: + description: A list of build descriptions whose src references valid source files. + deprecated: true + items: + additionalProperties: false + properties: + config: + description: 'Optionally, an object including arbitrary metadata to be passed to the Builder' + type: object + src: + description: 'A glob expression or pathname. If more than one file is resolved, one build will be created per matched file. It can include `*` and `**`' + maxLength: 4096 + type: string + use: + description: 'An npm module to be installed by the build process. It can include a semver compatible version (e.g.: `@org/proj@1`)' + maxLength: 256 + type: string + required: + - use + type: object + maxItems: 128 + minItems: 0 + type: array + cleanUrls: + description: 'When set to `true`, all HTML files and Serverless Functions will have their extension removed. When visiting a path that ends with the extension, a 308 response will redirect the client to the extensionless path.' + type: boolean + env: + additionalProperties: + maxLength: 65536 + type: string + description: An object containing the deployment's environment variable names and values. Secrets can be referenced by prefixing the value with `@` + example: + A_SECRET: '@a-secret' + deprecated: true + maxProperties: 100 + minProperties: 0 + type: object + functions: + additionalProperties: + additionalProperties: false + properties: + excludeFiles: + description: 'A glob pattern to match files that should be excluded from your Serverless Function. If you’re using a Community Runtime, the behavior might vary.' + maxLength: 256 + type: string + includeFiles: + description: 'A glob pattern to match files that should be included in your Serverless Function. If you’re using a Community Runtime, the behavior might vary.' + maxLength: 256 + type: string + maxDuration: + description: An integer defining how long your Serverless Function should be allowed to run on every request in seconds (between 1 and the maximum limit of your plan). + maximum: 900 + minimum: 1 + type: number + memory: + description: An integer defining the memory your Serverless Function should be provided with (between 128 and 3008). + maximum: 3008 + minimum: 128 + type: number + runtime: + description: 'The npm package name of a Runtime, including its version' + maxLength: 256 + type: string + type: object + description: An object describing custom options for your Serverless Functions. Each key must be glob pattern that matches the paths of the Serverless Functions you would like to customize (like `api/*.js` or `api/test.js`). + example: + src/pages/**: + maxDuration: 6 + memory: 1024 + maxProperties: 50 + minProperties: 1 + type: object + git: + type: object + properties: + deploymentEnabled: + description: Specifies the branches that will not trigger an auto-deployment when committing to them. Any non specified branch is `true` by default. + example: + main: false + oneOf: + - type: boolean + - type: object + additionalProperties: + type: boolean + headers: + type: array + maxItems: 1024 + description: A list of header definitions. + items: + type: object + additionalProperties: false + required: + - source + - headers + properties: + source: + description: A pattern that matches each incoming pathname (excluding querystring) + type: string + maxLength: 4096 + headers: + description: An array of key/value pairs representing each response header. + type: array + maxItems: 1024 + items: + type: object + additionalProperties: false + required: + - key + - value + properties: + key: + type: string + maxLength: 4096 + value: + type: string + maxLength: 4096 + has: + description: An array of requirements that are needed to match + type: array + maxItems: 16 + items: + anyOf: + - type: object + additionalProperties: false + required: + - type + - value + properties: + type: + description: The type of request element to check + type: string + enum: + - host + value: + description: A regular expression used to match the value. Named groups can be used in the destination + type: string + maxLength: 4096 + - type: object + additionalProperties: false + required: + - type + - key + properties: + type: + description: The type of request element to check + type: string + enum: + - header + - cookie + - query + key: + description: The name of the element contained in the particular type + type: string + maxLength: 4096 + value: + description: A regular expression used to match the value. Named groups can be used in the destination + type: string + maxLength: 4096 + missing: + description: An array of requirements that are needed to match + type: array + maxItems: 16 + items: + anyOf: + - type: object + additionalProperties: false + required: + - type + - value + properties: + type: + description: The type of request element to check + type: string + enum: + - host + value: + description: A regular expression used to match the value. Named groups can be used in the destination + type: string + maxLength: 4096 + - type: object + additionalProperties: false + required: + - type + - key + properties: + type: + description: The type of request element to check + type: string + enum: + - header + - cookie + - query + key: + description: The name of the element contained in the particular type + type: string + maxLength: 4096 + value: + description: A regular expression used to match the value. Named groups can be used in the destination + type: string + maxLength: 4096 + images: + type: object + additionalProperties: false + required: + - sizes + properties: + contentDispositionType: + enum: + - inline + - attachment + contentSecurityPolicy: + type: string + maxLength: 256 + dangerouslyAllowSVG: + type: boolean + domains: + type: array + minItems: 0 + maxItems: 50 + items: + type: string + maxLength: 256 + formats: + type: array + minItems: 1 + maxItems: 4 + items: + enum: + - image/avif + - image/webp + - image/jpeg + - image/png + minimumCacheTTL: + type: integer + minimum: 1 + maximum: 315360000 + remotePatterns: + type: array + minItems: 0 + maxItems: 50 + items: + type: object + additionalProperties: false + required: + - hostname + properties: + protocol: + enum: + - http + - https + hostname: + type: string + maxLength: 256 + port: + type: string + maxLength: 5 + pathname: + type: string + maxLength: 256 + sizes: + type: array + minItems: 1 + maxItems: 50 + items: + type: number + name: + description: A string with the project name used in the deployment URL + example: my-instant-deployment + type: string + public: + description: Whether a deployment's source and logs are available publicly + type: boolean + redirects: + title: Redirects + type: array + maxItems: 1024 + description: A list of redirect definitions. + items: + type: object + additionalProperties: false + required: + - source + - destination + properties: + source: + description: A pattern that matches each incoming pathname (excluding querystring). + type: string + maxLength: 4096 + destination: + description: A location destination defined as an absolute pathname or external URL. + type: string + maxLength: 4096 + permanent: + description: 'A boolean to toggle between permanent and temporary redirect. When `true`, the status code is `308`. When `false` the status code is `307`.' + type: boolean + has: + description: An array of requirements that are needed to match + type: array + maxItems: 16 + items: + anyOf: + - type: object + additionalProperties: false + required: + - type + - value + properties: + type: + description: The type of request element to check + type: string + enum: + - host + value: + description: A regular expression used to match the value. Named groups can be used in the destination + type: string + maxLength: 4096 + - type: object + additionalProperties: false + required: + - type + - key + properties: + type: + description: The type of request element to check + type: string + enum: + - header + - cookie + - query + key: + description: The name of the element contained in the particular type + type: string + maxLength: 4096 + value: + description: A regular expression used to match the value. Named groups can be used in the destination + type: string + maxLength: 4096 + missing: + description: An array of requirements that are needed to match + type: array + maxItems: 16 + items: + anyOf: + - type: object + additionalProperties: false + required: + - type + - value + properties: + type: + description: The type of request element to check + type: string + enum: + - host + value: + description: A regular expression used to match the value. Named groups can be used in the destination + type: string + maxLength: 4096 + - type: object + additionalProperties: false + required: + - type + - key + properties: + type: + description: The type of request element to check + type: string + enum: + - header + - cookie + - query + key: + description: The name of the element contained in the particular type + type: string + maxLength: 4096 + value: + description: A regular expression used to match the value. Named groups can be used in the destination + type: string + maxLength: 4096 + regions: + description: An array of the regions the deployment's Serverless Functions should be deployed to + example: + - sfo + - bru + items: + maxLength: 256 + type: string + maxItems: 1000 + minItems: 1 + type: array + rewrites: + type: array + maxItems: 1024 + description: A list of rewrite definitions. + items: + type: object + additionalProperties: false + required: + - source + - destination + properties: + source: + description: A pattern that matches each incoming pathname (excluding querystring). + type: string + maxLength: 4096 + destination: + description: An absolute pathname to an existing resource or an external URL. + type: string + maxLength: 4096 + has: + description: An array of requirements that are needed to match + type: array + maxItems: 16 + items: + anyOf: + - type: object + additionalProperties: false + required: + - type + - value + properties: + type: + description: The type of request element to check + type: string + enum: + - host + value: + description: A regular expression used to match the value. Named groups can be used in the destination + type: string + maxLength: 4096 + - type: object + additionalProperties: false + required: + - type + - key + properties: + type: + description: The type of request element to check + type: string + enum: + - header + - cookie + - query + key: + description: The name of the element contained in the particular type + type: string + maxLength: 4096 + value: + description: A regular expression used to match the value. Named groups can be used in the destination + type: string + maxLength: 4096 + missing: + description: An array of requirements that are needed to match + type: array + maxItems: 16 + items: + anyOf: + - type: object + additionalProperties: false + required: + - type + - value + properties: + type: + description: The type of request element to check + type: string + enum: + - host + value: + description: A regular expression used to match the value. Named groups can be used in the destination + type: string + maxLength: 4096 + - type: object + additionalProperties: false + required: + - type + - key + properties: + type: + description: The type of request element to check + type: string + enum: + - header + - cookie + - query + key: + description: The name of the element contained in the particular type + type: string + maxLength: 4096 + value: + description: A regular expression used to match the value. Named groups can be used in the destination + type: string + maxLength: 4096 + routes: + type: array + maxItems: 1024 + deprecated: true + description: A list of routes objects used to rewrite paths to point towards other internal or external paths + example: + - dest: 'https://docs.example.com' + src: /docs + items: + anyOf: + - type: object + required: + - src + additionalProperties: false + properties: + src: + type: string + maxLength: 4096 + dest: + type: string + maxLength: 4096 + headers: + type: object + additionalProperties: + type: string + maxLength: 4096 + minProperties: 1 + maxProperties: 100 + methods: + type: array + maxItems: 10 + items: + type: string + maxLength: 32 + caseSensitive: + type: boolean + important: + type: boolean + user: + type: boolean + continue: + type: boolean + override: + type: boolean + check: + type: boolean + isInternal: + type: boolean + status: + type: integer + minimum: 100 + maximum: 999 + locale: + type: object + additionalProperties: false + minProperties: 1 + properties: + redirect: + type: object + additionalProperties: + type: string + maxLength: 4096 + minProperties: 1 + maxProperties: 100 + value: + type: string + maxLength: 4096 + path: + type: string + maxLength: 4096 + cookie: + type: string + maxLength: 4096 + default: + type: string + maxLength: 4096 + middleware: + type: number + middlewarePath: + type: string + middlewareRawSrc: + type: array + items: + type: string + has: + description: An array of requirements that are needed to match + type: array + maxItems: 16 + items: + anyOf: + - type: object + additionalProperties: false + required: + - type + - value + properties: + type: + description: The type of request element to check + type: string + enum: + - host + value: + description: A regular expression used to match the value. Named groups can be used in the destination + type: string + maxLength: 4096 + - type: object + additionalProperties: false + required: + - type + - key + properties: + type: + description: The type of request element to check + type: string + enum: + - header + - cookie + - query + key: + description: The name of the element contained in the particular type + type: string + maxLength: 4096 + value: + description: A regular expression used to match the value. Named groups can be used in the destination + type: string + maxLength: 4096 + missing: + description: An array of requirements that are needed to match + type: array + maxItems: 16 + items: + anyOf: + - type: object + additionalProperties: false + required: + - type + - value + properties: + type: + description: The type of request element to check + type: string + enum: + - host + value: + description: A regular expression used to match the value. Named groups can be used in the destination + type: string + maxLength: 4096 + - type: object + additionalProperties: false + required: + - type + - key + properties: + type: + description: The type of request element to check + type: string + enum: + - header + - cookie + - query + key: + description: The name of the element contained in the particular type + type: string + maxLength: 4096 + value: + description: A regular expression used to match the value. Named groups can be used in the destination + type: string + maxLength: 4096 + - type: object + required: + - handle + additionalProperties: false + properties: + handle: + type: string + maxLength: 32 + enum: + - error + - filesystem + - hit + - miss + - resource + - rewrite + trailingSlash: + description: 'When `false`, visiting a path that ends with a forward slash will respond with a `308` status code and redirect to the path without the trailing slash.' + type: boolean + buildCommand: + description: The build command for this project. When `null` is used this value will be automatically detected + maxLength: 256 + type: string + nullable: true + ignoreCommand: + maxLength: 256 + type: string + nullable: true + devCommand: + description: The dev command for this project. When `null` is used this value will be automatically detected + maxLength: 256 + type: string + nullable: true + framework: + description: The framework that is being used for this project. When `null` is used no framework is selected + type: string + enum: + - null + - blitzjs + - nextjs + - gatsby + - remix + - astro + - hexo + - eleventy + - docusaurus-2 + - docusaurus + - preact + - solidstart + - dojo + - ember + - vue + - scully + - ionic-angular + - angular + - polymer + - svelte + - sveltekit + - sveltekit-1 + - ionic-react + - create-react-app + - gridsome + - umijs + - sapper + - saber + - stencil + - nuxtjs + - redwoodjs + - hugo + - jekyll + - brunch + - middleman + - zola + - hydrogen + - vite + - vitepress + - vuepress + - parcel + - sanity + - storybook + nullable: true + installCommand: + description: The install command for this project. When `null` is used this value will be automatically detected + maxLength: 256 + type: string + nullable: true + outputDirectory: + description: The output directory of the project. When `null` is used this value will be automatically detected + maxLength: 256 + type: string + nullable: true + crons: + description: An array of cron jobs that should be created for production Deployments. + type: array + maxItems: 20 + items: + type: object + required: + - schedule + - path + properties: + schedule: + type: string + maxLength: 256 + path: + type: string + maxLength: 512 + pattern: ^/.* + deploymentId: + description: An deployment id for an existing deployment to redeploy + type: string + files: + description: A list of objects with the files to be deployed + items: + oneOf: + - additionalProperties: false + description: Used in the case you want to inline a file inside the request + properties: + data: + description: 'The file content, it could be either a `base64` (useful for images, etc.) of the files or the plain content for source code' + type: string + encoding: + description: 'The file content encoding, it could be either a base64 (useful for images, etc.) of the files or the plain text for source code.' + enum: + - base64 + - utf-8 + file: + description: The file name including the whole path + example: folder/file.js + type: string + required: + - file + - data + title: InlinedFile + type: object + - additionalProperties: false + description: Used in the case you want to reference a file that was already uploaded + properties: + file: + description: The file path relative to the project root + example: folder/file.js + type: string + sha: + description: 'The file contents hashed with SHA1, used to check the integrity' + type: string + size: + description: The file size in bytes + type: integer + required: + - file + title: UploadedFile + type: object + type: array + gitMetadata: + description: Populates initial git metadata for different git providers. + additionalProperties: false + type: object + properties: + remoteUrl: + type: string + description: The git repository's remote origin url + example: 'https://github.com/vercel/next.js' + commitAuthorName: + type: string + description: The name of the author of the commit + example: kyliau + commitMessage: + type: string + description: The commit message + example: add method to measure Interaction to Next Paint (INP) (#36490) + commitRef: + type: string + description: The branch on which the commit was made + example: main + commitSha: + type: string + description: The hash of the commit + example: dc36199b2234c6586ebe05ec94078a895c707e29 + dirty: + type: boolean + description: Whether or not there have been modifications to the working tree since the latest commit + example: true + gitSource: + description: Defines the Git Repository source to be deployed. This property can not be used in combination with `files`. + anyOf: + - properties: + ref: + type: string + repoId: + oneOf: + - type: number + - type: string + sha: + type: string + type: + enum: + - github + type: string + required: + - type + - ref + - repoId + type: object + - properties: + org: + type: string + ref: + type: string + repo: + type: string + sha: + type: string + type: + enum: + - github + type: string + required: + - type + - ref + - org + - repo + type: object + - properties: + projectId: + oneOf: + - type: number + - type: string + ref: + type: string + sha: + type: string + type: + enum: + - gitlab + type: string + required: + - type + - ref + - projectId + type: object + - properties: + ref: + type: string + repoUuid: + type: string + sha: + type: string + type: + enum: + - bitbucket + type: string + workspaceUuid: + type: string + required: + - type + - ref + - repoUuid + type: object + - properties: + owner: + type: string + ref: + type: string + sha: + type: string + slug: + type: string + type: + enum: + - bitbucket + type: string + required: + - type + - ref + - owner + - slug + type: object + meta: + additionalProperties: + maxLength: 65536 + type: string + description: An object containing the deployment's metadata. Multiple key-value pairs can be attached to a deployment + example: + foo: bar + maxProperties: 100 + type: object + monorepoManager: + description: The monorepo manager that is being used for this deployment. When `null` is used no monorepo manager is selected + type: string + nullable: true + project: + type: object + required: + - id + - region_id + - name + - pg_version + - proxy_host + - branch_logical_size_limit + - branch_logical_size_limit_bytes + - store_passwords + - created_at + - updated_at + - owner_id + properties: + id: + type: string + region_id: + type: string + name: + type: string + pg_version: + type: number + proxy_host: + type: string + branch_logical_size_limit: + type: number + description: The logical size limit for a branch in MiB. + branch_logical_size_limit_bytes: + type: number + description: The logical size limit for a branch in bytes. + synthetic_storage_size: + type: number + description: The data storage size in bytes. + store_passwords: + type: boolean + created_at: + type: string + updated_at: + type: string + owner_id: + type: string + quota_reset_at: + type: string + data_storage_bytes_hour: + type: number + data_transfer_bytes: + type: number + written_data_bytes: + type: number + active_time_seconds: + type: number + compute_time_seconds: + type: number + settings: + type: object + properties: + quota: + type: object + properties: + compute_time_seconds: + type: number + description: The total amount of CPU seconds allowed to be spent by a project's compute endpoints. + active_time_seconds: + type: number + description: The total amount of wall-clock time allowed to be spent by a project's compute endpoints. + written_data_bytes: + type: number + description: The total amount of data written to all project's branches. + data_transfer_bytes: + type: number + description: The total amount of data transferred from all project's branches using proxy. + logical_size_bytes: + type: number + description: The logical size of every project's branch. + projectSettings: + additionalProperties: false + description: Project settings that will be applied to the deployment. It is required for the first deployment of a project and will be saved for any following deployments + properties: + buildCommand: + description: The build command for this project. When `null` is used this value will be automatically detected + maxLength: 256 + type: string + nullable: true + commandForIgnoringBuildStep: + maxLength: 256 + type: string + nullable: true + devCommand: + description: The dev command for this project. When `null` is used this value will be automatically detected + maxLength: 256 + type: string + nullable: true + framework: + description: The framework that is being used for this project. When `null` is used no framework is selected + type: string + enum: + - null + - blitzjs + - nextjs + - gatsby + - remix + - astro + - hexo + - eleventy + - docusaurus-2 + - docusaurus + - preact + - solidstart + - dojo + - ember + - vue + - scully + - ionic-angular + - angular + - polymer + - svelte + - sveltekit + - sveltekit-1 + - ionic-react + - create-react-app + - gridsome + - umijs + - sapper + - saber + - stencil + - nuxtjs + - redwoodjs + - hugo + - jekyll + - brunch + - middleman + - zola + - hydrogen + - vite + - vitepress + - vuepress + - parcel + - sanity + - storybook + nullable: true + installCommand: + description: The install command for this project. When `null` is used this value will be automatically detected + maxLength: 256 + type: string + nullable: true + outputDirectory: + description: The output directory of the project. When `null` is used this value will be automatically detected + maxLength: 256 + type: string + nullable: true + rootDirectory: + description: The name of a directory or relative path to the source code of your project. When `null` is used it will default to the project root + maxLength: 256 + type: string + nullable: true + serverlessFunctionRegion: + description: The region to deploy Serverless Functions in this project + maxLength: 4 + type: string + nullable: true + skipGitConnectDuringLink: + description: Opts-out of the message prompting a CLI user to connect a Git repository in `vercel link`. + type: boolean + deprecated: true + sourceFilesOutsideRootDirectory: + description: 'Indicates if there are source files outside of the root directory, typically used for monorepos' + type: boolean + type: object + target: + description: 'Either not defined, `staging`, or `production`. 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`' + enum: + - staging + - production + type: string + withLatestCommit: + description: 'When `true` and `deploymentId` is passed in, the sha from the previous deployment''s `gitSource` is removed forcing the latest commit to be used.' + type: boolean + connection_uris: + type: array + items: + type: object + required: + - connection_uri + properties: + connection_uri: + type: string + example: 'postgres://user:pw@endpoint.us-east-2.aws.neon.tech/neondb' + roles: + type: array + items: + type: object + required: + - branch_id + - name + - created_at + - updated_at + properties: + branch_id: + type: string + name: + type: string + created_at: + type: string + updated_at: + type: string + protected: + type: boolean + password: + type: string + databases: + type: array + items: + type: object + required: + - id + - branch_id + - name + - owner_name + - created_at + - updated_at + properties: + id: + type: number + branch_id: + type: string + name: + type: string + owner_name: + type: string + created_at: + type: string + updated_at: + type: string + branch: + type: object + required: + - id + - project_id + - name + - current_state + - primary + - created_at + - updated_at + properties: + id: + type: string + project_id: + type: string + name: + type: string + current_state: + type: string + enum: + - init + - ready + primary: + type: boolean + created_at: + type: string + updated_at: + type: string + parent_id: + type: string + endpoints: + type: array + items: + type: object + required: + - host + - id + - project_id + - branch_id + - autoscaling_limit_min_cu + - autoscaling_limit_max_cu + - region_id + - type + - current_state + - pooler_enabled + - pooler_mode + - disabled + - passwordless_access + - created_at + - updated_at + - suspend_timeout_seconds + properties: + host: + type: string + id: + type: string + project_id: + type: string + branch_id: + type: string + autoscaling_limit_min_cu: + type: number + autoscaling_limit_max_cu: + type: number + region_id: + type: string + type: + type: string + current_state: + type: string + pooler_enabled: + type: boolean + pooler_mode: + type: string + disabled: + type: boolean + passwordless_access: + type: boolean + last_active: + type: string + created_at: + type: string + updated_at: + type: string + suspend_timeout_seconds: + type: number + endpoint: + type: object + required: + - host + - id + - project_id + - branch_id + - autoscaling_limit_min_cu + - autoscaling_limit_max_cu + - region_id + - type + - current_state + - pooler_enabled + - pooler_mode + - disabled + - passwordless_access + - created_at + - updated_at + - suspend_timeout_seconds + properties: + host: + type: string + id: + type: string + project_id: + type: string + branch_id: + type: string + autoscaling_limit_min_cu: + type: number + autoscaling_limit_max_cu: + type: number + region_id: + type: string + type: + type: string + current_state: + type: string + pooler_enabled: + type: boolean + pooler_mode: + type: string + disabled: + type: boolean + passwordless_access: + type: boolean + last_active: + type: string + created_at: + type: string + updated_at: + type: string + suspend_timeout_seconds: + type: number + database: + type: object + required: + - id + - branch_id + - name + - owner_name + - created_at + - updated_at + properties: + id: + type: number + branch_id: + type: string + name: + type: string + owner_name: + type: string + created_at: + type: string + updated_at: + type: string + role: + type: object + required: + - branch_id + - name + - created_at + - updated_at + properties: + branch_id: + type: string + name: + type: string + created_at: + type: string + updated_at: + type: string + protected: + type: boolean + password: + type: string + password: + type: string + projects: + type: array + items: + type: object + required: + - id + - data_storage_bytes_hour + - data_transfer_bytes + - written_data_bytes + - compute_time_seconds + - synthetic_storage_size + properties: + id: + type: string + data_storage_bytes_hour: + type: number + data_storage_bytes_hour_updated_at: + type: string + data_transfer_bytes: + type: number + data_transfer_bytes_updated_at: + type: string + written_data_bytes: + type: number + written_data_bytes_updated_at: + type: string + compute_time_seconds: + type: number + compute_time_seconds_updated_at: + type: string + synthetic_storage_size: + type: number + synthetic_storage_size_updated_at: + type: string + pagination: + type: object + required: + - cursor + properties: + cursor: + type: string + required: + - name + - project + - connection_uris + - roles + - databases + - branch + - endpoints + - endpoint + - database + - role + - password + - projects + - pagination + '/v12/deployments/{id}/cancel': + patch: + description: 'This endpoint allows you to cancel a deployment which is currently building, by supplying its `id` in the URL.' + operationId: cancelDeployment + security: + - bearerToken: [] + summary: Cancel a deployment + tags: + - deployments + responses: + '200': + description: '' + content: + application/json: + schema: + properties: + build: + properties: + env: + items: + type: string + type: array + description: The keys of the environment variables that were assigned during the build phase. + example: + - MY_ENV_VAR + required: + - env + type: object + builds: + items: + type: object + type: array + connectBuildsEnabled: + type: boolean + description: The flag saying if Vercel Connect configuration is used for builds + connectConfigurationId: + type: string + description: The ID of Vercel Connect configuration used for this deployment + createdIn: + type: string + description: The region where the deployment was first created + example: sfo1 + env: + items: + type: string + type: array + description: The keys of the environment variables that were assigned during runtime + example: + - MY_SECRET + functions: + nullable: true + additionalProperties: + properties: + memory: + type: number + maxDuration: + type: number + runtime: + type: string + includeFiles: + type: string + excludeFiles: + type: string + type: object + description: An object used to configure your Serverless Functions + example: + api/test.js: + memory: 3008 + type: object + description: An object used to configure your Serverless Functions + example: + api/test.js: + memory: 3008 + inspectorUrl: + nullable: true + type: string + description: Vercel URL to inspect the deployment. + example: 'https://vercel.com/acme/nextjs/J1hXN00qjUeoYfpEEf7dnDtpSiVq' + isInConcurrentBuildsQueue: + type: boolean + description: Is the deployment currently queued waiting for a Concurrent Build Slot to be available + example: false + meta: + additionalProperties: + type: string + description: An object containing the deployment's metadata + example: + foo: bar + type: object + description: An object containing the deployment's metadata + example: + foo: bar + monorepoManager: + nullable: true + type: string + description: An monorepo manager that was used for the deployment + example: turbo + name: + type: string + description: The name of the project associated with the deployment at the time that the deployment was created + example: my-project + ownerId: + type: string + description: The unique ID of the user or team the deployment belongs to + example: ZspSRT4ljIEEmMHgoDwKWDei + plan: + type: string + enum: + - pro + - enterprise + - hobby + - oss + description: The pricing plan the deployment was made under + example: pro + projectId: + type: string + description: The ID of the project the deployment is associated with + example: prj_12HKQaOmR5t5Uy6vdcQsNIiZgHGB + routes: + nullable: true + items: + oneOf: + - properties: + src: + type: string + dest: + type: string + headers: + additionalProperties: + type: string + type: object + methods: + items: + type: string + type: array + continue: + type: boolean + override: + type: boolean + caseSensitive: + type: boolean + check: + type: boolean + important: + type: boolean + status: + type: number + has: + items: + oneOf: + - properties: + type: + type: string + enum: + - host + value: + type: string + required: + - type + - value + type: object + - properties: + type: + type: string + enum: + - header + - cookie + - query + key: + type: string + value: + type: string + required: + - type + - key + type: object + type: array + missing: + items: + oneOf: + - properties: + type: + type: string + enum: + - host + value: + type: string + required: + - type + - value + type: object + - properties: + type: + type: string + enum: + - header + - cookie + - query + key: + type: string + value: + type: string + required: + - type + - key + type: object + type: array + locale: + properties: + redirect: + additionalProperties: + type: string + type: object + cookie: + type: string + type: object + middlewarePath: + type: string + description: A middleware key within the `output` key under the build result. Overrides a `middleware` definition. + middlewareRawSrc: + items: + type: string + type: array + description: The original middleware matchers. + middleware: + type: number + description: A middleware index in the `middleware` key under the build result + required: + - src + type: object + description: A list of routes objects used to rewrite paths to point towards other internal or external paths + example: + - src: /docs + dest: 'https://docs.example.com' + - properties: + handle: + type: string + enum: + - error + - filesystem + - hit + - miss + - rewrite + - resource + src: + type: string + dest: + type: string + status: + type: number + required: + - handle + type: object + description: A list of routes objects used to rewrite paths to point towards other internal or external paths + example: + - src: /docs + dest: 'https://docs.example.com' + - properties: + src: + type: string + continue: + type: boolean + middleware: + type: number + enum: + - 0 + required: + - src + - continue + - middleware + type: object + description: A list of routes objects used to rewrite paths to point towards other internal or external paths + example: + - src: /docs + dest: 'https://docs.example.com' + type: array + description: A list of routes objects used to rewrite paths to point towards other internal or external paths + example: + - src: /docs + dest: 'https://docs.example.com' + gitRepo: + nullable: true + oneOf: + - properties: + namespace: + type: string + projectId: + type: number + type: + type: string + enum: + - gitlab + url: + type: string + path: + type: string + defaultBranch: + type: string + name: + type: string + private: + type: boolean + ownerType: + type: string + enum: + - user + - team + required: + - namespace + - projectId + - type + - url + - path + - defaultBranch + - name + - private + - ownerType + type: object + - properties: + org: + type: string + repo: + type: string + repoId: + type: number + type: + type: string + enum: + - github + repoOwnerId: + type: string + path: + type: string + defaultBranch: + type: string + name: + type: string + private: + type: boolean + ownerType: + type: string + enum: + - user + - team + required: + - org + - repo + - repoId + - type + - repoOwnerId + - path + - defaultBranch + - name + - private + - ownerType + type: object + - properties: + owner: + type: string + repoUuid: + type: string + slug: + type: string + type: + type: string + enum: + - bitbucket + workspaceUuid: + type: string + path: + type: string + defaultBranch: + type: string + name: + type: string + private: + type: boolean + ownerType: + type: string + enum: + - user + - team + required: + - owner + - repoUuid + - slug + - type + - workspaceUuid + - path + - defaultBranch + - name + - private + - ownerType + type: object + aliasAssignedAt: + nullable: true + oneOf: + - type: number + - type: boolean + lambdas: + items: + properties: + id: + type: string + createdAt: + type: number + entrypoint: + nullable: true + type: string + readyState: + type: string + enum: + - INITIALIZING + - BUILDING + - READY + - ERROR + readyStateAt: + type: number + output: + items: + properties: + path: + type: string + functionName: + type: string + required: + - path + - functionName + type: object + type: array + required: + - id + - output + type: object + type: array + public: + type: boolean + description: A boolean representing if the deployment is public or not. By default this is `false` + example: false + readyState: + type: string + enum: + - INITIALIZING + - BUILDING + - READY + - ERROR + - QUEUED + - CANCELED + description: 'The state of the deployment depending on the process of deploying, or if it is ready or in an error state' + example: READY + readySubstate: + type: string + enum: + - STAGED + - PROMOTED + description: The substate of the deployment when the state is "READY" + example: STAGED + regions: + items: + type: string + type: array + description: The regions the deployment exists in + example: + - sfo1 + source: + type: string + enum: + - cli + - git + - import + - import/repo + - clone/repo + description: Where was the deployment created from + example: cli + target: + nullable: true + type: string + enum: + - staging + - production + description: 'If defined, either `staging` if a staging alias in the format `..now.sh` was assigned upon creation, or `production` if the aliases from `alias` were assigned' + example: null + team: + properties: + id: + type: string + description: The ID of the team owner + example: team_LLHUOMOoDlqOp8wPE4kFo9pE + name: + type: string + description: The name of the team owner + example: FSociety + slug: + type: string + description: The slug of the team owner + example: fsociety + required: + - id + - name + - slug + type: object + description: The team that owns the deployment if any + type: + type: string + enum: + - LAMBDAS + url: + type: string + description: A string with the unique URL of the deployment + example: my-instant-deployment-3ij3cxz9qr.now.sh + userAliases: + items: + type: string + type: array + description: An array of domains that were provided by the user when creating the Deployment. + example: + - sub1.example.com + - sub2.example.com + version: + type: number + enum: + - 2 + description: The platform version that was used to create the deployment. + example: 2 + previewCommentsEnabled: + type: boolean + description: Whether or not preview comments are enabled for the deployment + example: false + alias: + items: + type: string + type: array + description: 'A list of all the aliases (default aliases, staging aliases and production aliases) that were assigned upon deployment creation' + example: [] + aliasAssigned: + type: boolean + description: A boolean that will be true when the aliases from the alias property were assigned successfully + example: true + aliasError: + nullable: true + properties: + code: + type: string + message: + type: string + required: + - code + - message + type: object + description: 'An object that will contain a `code` and a `message` when the aliasing fails, otherwise the value will be `null`' + example: null + aliasFinal: + nullable: true + type: string + aliasWarning: + nullable: true + properties: + code: + type: string + message: + type: string + link: + type: string + action: + type: string + required: + - code + - message + type: object + autoAssignCustomDomains: + type: boolean + automaticAliases: + items: + type: string + type: array + bootedAt: + type: number + buildErrorAt: + type: number + buildingAt: + type: number + canceledAt: + type: number + checksState: + type: string + enum: + - registered + - running + - completed + checksConclusion: + type: string + enum: + - succeeded + - failed + - skipped + - canceled + createdAt: + type: number + description: A number containing the date when the deployment was created in milliseconds + example: 1540257589405 + creator: + properties: + uid: + type: string + description: The ID of the user that created the deployment + example: 96SnxkFiMyVKsK3pnoHfx3Hz + username: + type: string + description: The username of the user that created the deployment + example: john-doe + required: + - uid + type: object + description: Information about the deployment creator + errorCode: + type: string + errorLink: + type: string + errorMessage: + nullable: true + type: string + errorStep: + type: string + gitSource: + oneOf: + - properties: + type: + type: string + enum: + - github + repoId: + oneOf: + - type: string + - type: number + ref: + nullable: true + type: string + sha: + type: string + prId: + nullable: true + type: number + required: + - type + - repoId + type: object + - properties: + type: + type: string + enum: + - github + org: + type: string + repo: + type: string + ref: + nullable: true + type: string + sha: + type: string + prId: + nullable: true + type: number + required: + - type + - org + - repo + type: object + - properties: + type: + type: string + enum: + - gitlab + projectId: + oneOf: + - type: string + - type: number + ref: + nullable: true + type: string + sha: + type: string + prId: + nullable: true + type: number + required: + - type + - projectId + type: object + - properties: + type: + type: string + enum: + - bitbucket + workspaceUuid: + type: string + repoUuid: + type: string + ref: + nullable: true + type: string + sha: + type: string + prId: + nullable: true + type: number + required: + - type + - repoUuid + type: object + - properties: + type: + type: string + enum: + - bitbucket + owner: + type: string + slug: + type: string + ref: + nullable: true + type: string + sha: + type: string + prId: + nullable: true + type: number + required: + - type + - owner + - slug + type: object + - properties: + type: + type: string + enum: + - custom + ref: + type: string + sha: + type: string + gitUrl: + type: string + required: + - type + - ref + - sha + - gitUrl + type: object + - properties: + type: + type: string + enum: + - github + ref: + type: string + sha: + type: string + repoId: + type: number + org: + type: string + repo: + type: string + required: + - type + - ref + - sha + - repoId + type: object + - properties: + type: + type: string + enum: + - gitlab + ref: + type: string + sha: + type: string + projectId: + type: number + required: + - type + - ref + - sha + - projectId + type: object + - properties: + type: + type: string + enum: + - bitbucket + ref: + type: string + sha: + type: string + owner: + type: string + slug: + type: string + workspaceUuid: + type: string + repoUuid: + type: string + required: + - type + - ref + - sha + - workspaceUuid + - repoUuid + type: object + id: + type: string + description: A string holding the unique ID of the deployment + example: dpl_89qyp1cskzkLrVicDaZoDbjyHuDJ + required: + - build + - createdIn + - env + - inspectorUrl + - isInConcurrentBuildsQueue + - meta + - name + - ownerId + - plan + - projectId + - routes + - public + - readyState + - regions + - type + - url + - version + - alias + - aliasAssigned + - bootedAt + - buildingAt + - createdAt + - creator + - id + type: object + '400': + description: One of the provided values in the request query is invalid. + '401': + description: '' + '403': + description: You do not have permission to access this resource. + '404': + description: '' + parameters: + - name: id + description: The unique identifier of the deployment. + in: path + required: true + schema: + type: string + example: dpl_5WJWYSyB7BpgTj3EuwF37WMRBXBtPQ2iTMJHJBJyRfd + description: The unique identifier of the deployment. + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + /v2/files: + post: + description: 'Before you create a deployment you need to upload the required files for that deployment. To do it, you need to first upload each file to this endpoint. Once that''s completed, you can create a new deployment with the uploaded files. The file content must be placed inside the body of the request. In the case of a successful response you''ll receive a status code 200 with an empty body.' + operationId: uploadFile + security: + - bearerToken: [] + summary: Upload Deployment Files + tags: + - deployments + responses: + '200': + description: |- + File already uploaded + File successfully uploaded + content: + application/json: + schema: + oneOf: + - properties: + urls: + items: + type: string + type: array + description: Array of URLs where the file was updated + example: + - example-upload.aws.com + required: + - urls + type: object + - type: object + '400': + description: |- + One of the provided values in the headers is invalid + Digest is not valid + File size is not valid + '401': + description: '' + '403': + description: You do not have permission to access this resource. + parameters: + - in: header + description: The file size in bytes + schema: + description: The file size in bytes + type: number + name: Content-Length + - in: header + description: The file SHA1 used to check the integrity + schema: + type: string + description: The file SHA1 used to check the integrity + maxLength: 40 + name: x-vercel-digest + - in: header + description: The file SHA1 used to check the integrity + schema: + deprecated: true + type: string + description: The file SHA1 used to check the integrity + maxLength: 40 + name: x-now-digest + - in: header + description: The file size as an alternative to `Content-Length` + schema: + type: number + deprecated: true + description: The file size as an alternative to `Content-Length` + name: x-now-size + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + '/v6/deployments/{id}/files': + get: + description: Allows to retrieve the file structure of a deployment by supplying the deployment unique identifier. + operationId: listDeploymentFiles + security: + - bearerToken: [] + summary: List Deployment Files + tags: + - deployments + responses: + '200': + description: Retrieved the file tree successfully + content: + application/json: + schema: + items: + $ref: '#/components/schemas/FileTree' + type: array + '400': + description: One of the provided values in the request query is invalid. + '401': + description: '' + '403': + description: You do not have permission to access this resource. + '404': + description: |- + File tree not found + Deployment not found + parameters: + - name: id + description: The unique deployment identifier + in: path + required: true + schema: + description: The unique deployment identifier + type: string + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + '/v6/deployments/{id}/files/{fileId}': + get: + description: Allows to retrieve the content of a file by supplying the file identifier and the deployment unique identifier. The response body will contain the raw content of the file. + operationId: getDeploymentFileContents + security: + - bearerToken: [] + summary: Get Deployment File Contents + tags: + - deployments + responses: + '400': + description: One of the provided values in the request query is invalid. + '401': + description: '' + '403': + description: You do not have permission to access this resource. + '404': + description: |- + File not found + Deployment not found + parameters: + - name: id + description: The unique deployment identifier + in: path + required: true + schema: + description: The unique deployment identifier + type: string + - name: fileId + description: The unique file identifier + in: path + required: true + schema: + description: The unique file identifier + type: string + - name: path + description: Path to the file to fetch (only for Git deployments) + in: query + required: false + schema: + description: Path to the file to fetch (only for Git deployments) + type: string + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + /v6/deployments: + get: + description: 'List deployments under the authenticated user or team. If a deployment hasn''t finished uploading (is incomplete), the `url` property will have a value of `null`.' + operationId: getDeployments + security: + - bearerToken: [] + summary: List deployments + tags: + - deployments + responses: + '200': + description: '' + content: + application/json: + schema: + properties: + pagination: + $ref: '#/components/schemas/Pagination' + deployments: + items: + properties: + uid: + type: string + description: The unique identifier of the deployment. + example: dpl_2euZBFqxYdDMDG1jTrHFnNZ2eUVa + name: + type: string + description: The name of the deployment. + example: docs + url: + type: string + description: The URL of the deployment. + example: docs-9jaeg38me.vercel.app + created: + type: number + description: Timestamp of when the deployment got created. + example: 1609492210000 + source: + type: string + enum: + - cli + - git + - import + - import/repo + - clone/repo + description: The source of the deployment. + example: cli + state: + type: string + enum: + - BUILDING + - ERROR + - INITIALIZING + - QUEUED + - READY + - CANCELED + description: In which state is the deployment. + example: READY + readyState: + type: string + enum: + - BUILDING + - ERROR + - INITIALIZING + - QUEUED + - READY + - CANCELED + description: In which state is the deployment. + example: READY + type: + type: string + enum: + - LAMBDAS + description: The type of the deployment. + example: LAMBDAS + creator: + properties: + uid: + type: string + description: The unique identifier of the user. + example: eLrCnEgbKhsHyfbiNR7E8496 + email: + type: string + description: The email address of the user. + example: example@example.com + username: + type: string + description: The username of the user. + example: johndoe + githubLogin: + type: string + description: The GitHub login of the user. + example: johndoe + gitlabLogin: + type: string + description: The GitLab login of the user. + example: johndoe + required: + - uid + type: object + description: Metadata information of the user who created the deployment. + meta: + additionalProperties: + type: string + description: Metadata information from the Git provider. + type: object + description: Metadata information from the Git provider. + target: + nullable: true + type: string + enum: + - production + - staging + description: On which environment has the deployment been deployed to. + example: production + aliasError: + nullable: true + properties: + code: + type: string + message: + type: string + required: + - code + - message + type: object + description: An error object in case aliasing of the deployment failed. + aliasAssigned: + nullable: true + oneOf: + - type: number + - type: boolean + createdAt: + type: number + description: Timestamp of when the deployment got created. + example: 1609492210000 + buildingAt: + type: number + description: Timestamp of when the deployment started building at. + example: 1609492210000 + ready: + type: number + description: Timestamp of when the deployment got ready. + example: 1609492210000 + readySubstate: + type: string + enum: + - STAGED + - PROMOTED + description: 'Since June 2023 Substate of deployment when readyState is ''READY'' Tracks whether or not deployment has seen production traffic: - STAGED: never seen production traffic - PROMOTED: has seen production traffic' + checksState: + type: string + enum: + - registered + - running + - completed + description: State of all registered checks + checksConclusion: + type: string + enum: + - succeeded + - failed + - skipped + - canceled + description: Conclusion for checks + inspectorUrl: + nullable: true + type: string + description: Vercel URL to inspect the deployment. + example: 'https://vercel.com/acme/nextjs/J1hXN00qjUeoYfpEEf7dnDtpSiVq' + isRollbackCandidate: + nullable: true + type: boolean + description: Deployment can be used for instant rollback + projectSettings: + properties: + framework: + nullable: true + type: string + enum: + - blitzjs + - nextjs + - gatsby + - remix + - astro + - hexo + - eleventy + - docusaurus-2 + - docusaurus + - preact + - solidstart + - dojo + - ember + - vue + - scully + - ionic-angular + - angular + - polymer + - svelte + - sveltekit + - sveltekit-1 + - ionic-react + - create-react-app + - gridsome + - umijs + - sapper + - saber + - stencil + - nuxtjs + - redwoodjs + - hugo + - jekyll + - brunch + - middleman + - zola + - hydrogen + - vite + - vitepress + - vuepress + - parcel + - sanity + - storybook + gitForkProtection: + type: boolean + customerSupportCodeVisibility: + type: boolean + gitLFS: + type: boolean + devCommand: + nullable: true + type: string + installCommand: + nullable: true + type: string + buildCommand: + nullable: true + type: string + nodeVersion: + type: string + enum: + - 18.x + - 16.x + - 14.x + - 12.x + - 10.x + outputDirectory: + nullable: true + type: string + publicSource: + nullable: true + type: boolean + rootDirectory: + nullable: true + type: string + serverlessFunctionRegion: + nullable: true + type: string + sourceFilesOutsideRootDirectory: + type: boolean + commandForIgnoringBuildStep: + nullable: true + type: string + createdAt: + type: number + skipGitConnectDuringLink: + type: boolean + gitComments: + properties: + onPullRequest: + type: boolean + description: Whether the Vercel bot should comment on PRs + onCommit: + type: boolean + description: Whether the Vercel bot should comment on commits + required: + - onPullRequest + - onCommit + type: object + description: Since June '23 + type: object + description: The project settings which was used for this deployment + connectBuildsEnabled: + type: boolean + description: The flag saying if Vercel Connect configuration is used for builds + connectConfigurationId: + type: string + description: The ID of Vercel Connect configuration used for this deployment + required: + - uid + - name + - url + - created + - type + - creator + - inspectorUrl + type: object + type: array + required: + - pagination + - deployments + type: object + '400': + description: One of the provided values in the request query is invalid. + '401': + description: '' + '403': + description: You do not have permission to access this resource. + '404': + description: '' + '422': + description: '' + parameters: + - name: app + description: Name of the deployment. + in: query + schema: + description: Name of the deployment. + type: string + example: docs + - name: from + description: 'Gets the deployment created after this Date timestamp. (default: current time)' + in: query + schema: + description: 'Gets the deployment created after this Date timestamp. (default: current time)' + type: number + example: 1612948664566 + deprecated: true + - name: limit + description: Maximum number of deployments to list from a request. + in: query + schema: + description: Maximum number of deployments to list from a request. + type: number + example: 10 + - name: projectId + description: Filter deployments from the given `projectId`. + in: query + schema: + description: Filter deployments from the given `projectId`. + type: string + example: QmXGTs7mvAMMC7WW5ebrM33qKG32QK3h4vmQMjmY + - name: target + description: Filter deployments based on the environment. + in: query + schema: + description: Filter deployments based on the environment. + type: string + enum: + - production + - preview + example: production + - name: to + description: 'Gets the deployment created before this Date timestamp. (default: current time)' + in: query + schema: + description: 'Gets the deployment created before this Date timestamp. (default: current time)' + type: number + example: 1612948664566 + deprecated: true + - name: users + description: Filter out deployments based on users who have created the deployment. + in: query + schema: + description: Filter out deployments based on users who have created the deployment. + type: string + example: 'kr1PsOIzqEL5Xg6M4VZcZosf,K4amb7K9dAt5R2vBJWF32bmY' + - name: since + description: Get Deployments created after this JavaScript timestamp. + in: query + schema: + description: Get Deployments created after this JavaScript timestamp. + type: number + example: 1540095775941 + - name: until + description: Get Deployments created before this JavaScript timestamp. + in: query + schema: + description: Get Deployments created before this JavaScript timestamp. + type: number + example: 1540095775951 + - name: state + description: 'Filter deployments based on their state (`BUILDING`, `ERROR`, `INITIALIZING`, `QUEUED`, `READY`, `CANCELED`)' + in: query + schema: + description: 'Filter deployments based on their state (`BUILDING`, `ERROR`, `INITIALIZING`, `QUEUED`, `READY`, `CANCELED`)' + type: string + example: 'BUILDING,READY' + - name: rollbackCandidate + description: Filter deployments based on their rollback candidacy + in: query + schema: + description: Filter deployments based on their rollback candidacy + type: boolean + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + '/v13/deployments/{id}': + delete: + description: 'This API allows you to delete a deployment, either by supplying its `id` in the URL or the `url` of the deployment as a query parameter. You can obtain the ID, for example, by listing all deployments.' + operationId: deleteDeployment + security: + - bearerToken: [] + summary: Delete a Deployment + tags: + - deployments + responses: + '200': + description: The deployment was successfully deleted + content: + application/json: + schema: + properties: + uid: + type: string + description: The removed deployment ID. + example: dpl_5WJWYSyB7BpgTj3EuwF37WMRBXBtPQ2iTMJHJBJyRfd + state: + type: string + enum: + - DELETED + description: A constant with the final state of the deployment. + required: + - uid + - state + type: object + '400': + description: One of the provided values in the request query is invalid. + '401': + description: '' + '403': + description: You do not have permission to access this resource. + '404': + description: The deployment was not found + parameters: + - name: id + description: The ID of the deployment to be deleted + in: path + required: true + schema: + description: The ID of the deployment to be deleted + example: dpl_5WJWYSyB7BpgTj3EuwF37WMRBXBtPQ2iTMJHJBJyRfd + type: string + - name: url + description: 'A Deployment or Alias URL. In case it is passed, the ID will be ignored' + in: query + required: false + schema: + description: 'A Deployment or Alias URL. In case it is passed, the ID will be ignored' + example: 'https://files-orcin-xi.vercel.app/' + type: string + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string diff --git a/providers/src/vercel/v00.00.00000/services/dns.yaml b/providers/src/vercel/v00.00.00000/services/dns.yaml new file mode 100644 index 00000000..a2145939 --- /dev/null +++ b/providers/src/vercel/v00.00.00000/services/dns.yaml @@ -0,0 +1,884 @@ +openapi: 3.0.3 +servers: + - url: 'https://api.vercel.com' + description: Production API +info: + contact: + email: support@vercel.com + name: Vercel Support + url: 'https://vercel.com/support' + version: 0.0.1 + title: Vercel API - dns + description: dns +components: + schemas: + Pagination: + properties: + count: + type: number + description: Amount of items in the current page. + example: 20 + next: + nullable: true + type: number + description: Timestamp that must be used to request the next page. + example: 1540095775951 + prev: + nullable: true + type: number + description: Timestamp that must be used to request the previous page. + example: 1540095775951 + required: + - count + - next + - prev + type: object + description: 'This object contains information related to the pagination of the current request, including the necessary parameters to get the next or previous page of data.' + responses: {} + securitySchemes: + bearerToken: + type: http + description: Default authentication mechanism + scheme: bearer + oauth2: + type: oauth2 + flows: + authorizationCode: + authorizationUrl: 'https://api.vercel.com/oauth/authorize' + tokenUrl: 'https://api.vercel.com/oauth/access_token' + scopes: {} + x-stackQL-resources: + domains_records: + id: vercel.dns.domains_records + name: domains_records + title: Domains Records + methods: + get_records: + operation: + $ref: '#/paths/~1v4~1domains~1{domain}~1records/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $._records + _get_records: + operation: + $ref: '#/paths/~1v4~1domains~1{domain}~1records/get' + response: + mediaType: application/json + openAPIDocKey: '200' + create_record: + operation: + $ref: '#/paths/~1v2~1domains~1{domain}~1records/post' + response: + mediaType: application/json + openAPIDocKey: '200' + update_record: + operation: + $ref: '#/paths/~1v1~1domains~1records~1{recordId}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + remove_record: + operation: + $ref: '#/paths/~1v2~1domains~1{domain}~1records~1{recordId}/delete' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/domains_records/methods/get_records' + insert: + - $ref: '#/components/x-stackQL-resources/domains_records/methods/create_record' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/domains_records/methods/remove_record' +paths: + '/v4/domains/{domain}/records': + get: + description: Retrieves a list of DNS records created for a domain name. By default it returns 20 records if no limit is provided. The rest can be retrieved using the pagination options. + operationId: getRecords + security: + - bearerToken: [] + summary: List existing DNS records + tags: + - dns + responses: + '200': + description: Successful response retrieving a list of paginated DNS records. + content: + application/json: + schema: + oneOf: + - type: string + - properties: + records: + items: + properties: + id: + type: string + slug: + type: string + name: + type: string + type: + type: string + enum: + - A + - AAAA + - ALIAS + - CAA + - CNAME + - MX + - SRV + - TXT + - NS + value: + type: string + mxPriority: + type: number + priority: + type: number + creator: + type: string + created: + nullable: true + type: number + updated: + nullable: true + type: number + createdAt: + nullable: true + type: number + updatedAt: + nullable: true + type: number + required: + - id + - slug + - name + - type + - value + - creator + - created + - updated + - createdAt + - updatedAt + type: object + type: array + required: + - records + type: object + - properties: + records: + items: + properties: + id: + type: string + slug: + type: string + name: + type: string + type: + type: string + enum: + - A + - AAAA + - ALIAS + - CAA + - CNAME + - MX + - SRV + - TXT + - NS + value: + type: string + mxPriority: + type: number + priority: + type: number + creator: + type: string + created: + nullable: true + type: number + updated: + nullable: true + type: number + createdAt: + nullable: true + type: number + updatedAt: + nullable: true + type: number + required: + - id + - slug + - name + - type + - value + - creator + - created + - updated + - createdAt + - updatedAt + type: object + type: array + pagination: + $ref: '#/components/schemas/Pagination' + required: + - records + - pagination + type: object + description: Successful response retrieving a list of paginated DNS records. + '400': + description: One of the provided values in the request query is invalid. + '401': + description: '' + '403': + description: You do not have permission to access this resource. + '404': + description: '' + parameters: + - name: domain + in: path + required: true + schema: + type: string + example: example.com + - name: limit + description: Maximum number of records to list from a request. + in: query + required: false + schema: + description: Maximum number of records to list from a request. + type: string + example: 20 + - name: since + description: Get records created after this JavaScript timestamp. + in: query + required: false + schema: + description: Get records created after this JavaScript timestamp. + type: string + example: 1609499532000 + - name: until + description: Get records created before this JavaScript timestamp. + in: query + required: false + schema: + description: Get records created before this JavaScript timestamp. + type: string + example: 1612264332000 + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + '/v2/domains/{domain}/records': + post: + description: Creates a DNS record for a domain. + operationId: createRecord + security: + - bearerToken: [] + summary: Create a DNS record + tags: + - dns + responses: + '200': + description: Successful response showing the uid of the newly created DNS record. + content: + application/json: + schema: + oneOf: + - properties: + uid: + type: string + updated: + type: number + required: + - uid + - updated + type: object + - properties: + uid: + type: string + description: The id of the newly created DNS record + example: rec_V0fra8eEgQwEpFhYG2vTzC3K + required: + - uid + type: object + '400': + description: |- + One of the provided values in the request body is invalid. + One of the provided values in the request query is invalid. + '401': + description: '' + '402': + description: |- + The account was soft-blocked for an unhandled reason. + The account is missing a payment so payment method must be updated + '403': + description: You do not have permission to access this resource. + '404': + description: '' + '409': + description: '' + parameters: + - name: domain + description: The domain used to create the DNS record. + in: path + required: true + schema: + description: The domain used to create the DNS record. + type: string + example: example.com + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + required: + - type + properties: + type: + description: 'The type of record, it could be one of the valid DNS records.' + type: string + enum: + - A + - AAAA + - ALIAS + - CAA + - CNAME + - MX + - SRV + - TXT + - NS + anyOf: + - type: object + additionalProperties: false + required: + - type + - value + - name + properties: + name: + description: A subdomain name or an empty string for the root domain. + type: string + example: subdomain + type: + description: Must be of type `A`. + type: string + enum: + - A + ttl: + description: The TTL value. Must be a number between 60 and 2147483647. Default value is 60. + type: number + minimum: 60 + maximum: 2147483647 + example: 60 + value: + description: The record value must be a valid IPv4 address. + type: string + format: ipv4 + example: 192.0.2.42 + comment: + type: string + description: A comment to add context on what this DNS record is for + example: used to verify ownership of domain + maxLength: 500 + - type: object + additionalProperties: false + required: + - type + - value + - name + properties: + name: + description: A subdomain name or an empty string for the root domain. + type: string + example: subdomain + type: + description: Must be of type `AAAA`. + type: string + enum: + - AAAA + ttl: + description: The TTL value. Must be a number between 60 and 2147483647. Default value is 60. + type: number + minimum: 60 + maximum: 2147483647 + example: 60 + value: + description: An AAAA record pointing to an IPv6 address. + type: string + format: ipv6 + example: '2001:DB8::42' + comment: + type: string + description: A comment to add context on what this DNS record is for + example: used to verify ownership of domain + maxLength: 500 + - type: object + additionalProperties: false + required: + - type + - value + - name + properties: + name: + description: A subdomain name or an empty string for the root domain. + type: string + example: subdomain + type: + description: Must be of type `ALIAS`. + type: string + enum: + - ALIAS + ttl: + description: The TTL value. Must be a number between 60 and 2147483647. Default value is 60. + type: number + minimum: 60 + maximum: 2147483647 + example: 60 + value: + description: An ALIAS virtual record pointing to a hostname resolved to an A record on server side. + type: string + example: cname.vercel-dns.com + comment: + type: string + description: A comment to add context on what this DNS record is for + example: used to verify ownership of domain + maxLength: 500 + - type: object + additionalProperties: false + required: + - type + - value + - name + properties: + name: + description: A subdomain name or an empty string for the root domain. + type: string + example: subdomain + type: + description: Must be of type `CAA`. + type: string + enum: + - CAA + ttl: + description: The TTL value. Must be a number between 60 and 2147483647. Default value is 60. + type: number + minimum: 60 + maximum: 2147483647 + example: 60 + value: + description: A CAA record to specify which Certificate Authorities (CAs) are allowed to issue certificates for the domain. + type: string + example: 0 issue \"letsencrypt.org\" + comment: + type: string + description: A comment to add context on what this DNS record is for + example: used to verify ownership of domain + maxLength: 500 + - type: object + additionalProperties: false + required: + - type + - name + properties: + name: + description: A subdomain name or an empty string for the root domain. + type: string + example: subdomain + type: + description: Must be of type `CNAME`. + type: string + enum: + - CNAME + ttl: + description: The TTL value. Must be a number between 60 and 2147483647. Default value is 60. + type: number + minimum: 60 + maximum: 2147483647 + example: 60 + value: + description: A CNAME record mapping to another domain name. + type: string + example: cname.vercel-dns.com + comment: + type: string + description: A comment to add context on what this DNS record is for + example: used to verify ownership of domain + maxLength: 500 + - type: object + additionalProperties: false + required: + - type + - value + - name + - mxPriority + properties: + name: + description: A subdomain name or an empty string for the root domain. + type: string + example: subdomain + type: + description: Must be of type `MX`. + type: string + enum: + - MX + ttl: + description: The TTL value. Must be a number between 60 and 2147483647. Default value is 60. + type: number + minimum: 60 + maximum: 2147483647 + example: 60 + value: + description: An MX record specifying the mail server responsible for accepting messages on behalf of the domain name. + type: string + example: 10 mail.example.com. + mxPriority: + type: number + minimum: 0 + maximum: 65535 + example: 10 + comment: + type: string + description: A comment to add context on what this DNS record is for + example: used to verify ownership of domain + maxLength: 500 + - type: object + additionalProperties: false + required: + - type + - name + - srv + properties: + name: + description: A subdomain name or an empty string for the root domain. + type: string + name: subdomain + type: + description: Must be of type `SRV`. + type: string + enum: + - SRV + ttl: + description: The TTL value. Must be a number between 60 and 2147483647. Default value is 60. + type: number + minimum: 60 + maximum: 2147483647 + example: 60 + srv: + type: object + additionalProperties: false + required: + - weight + - port + - priority + properties: + priority: + anyOf: + - type: number + minimum: 0 + maximum: 65535 + example: 10 + - type: 'null' + weight: + anyOf: + - type: number + minimum: 0 + maximum: 65535 + example: 10 + - type: 'null' + port: + anyOf: + - type: number + minimum: 0 + maximum: 65535 + example: 5000 + - type: 'null' + target: + type: string + example: host.example.com + comment: + type: string + description: A comment to add context on what this DNS record is for + example: used to verify ownership of domain + maxLength: 500 + - type: object + additionalProperties: false + required: + - type + - value + - name + properties: + name: + description: A subdomain name or an empty string for the root domain. + type: string + name: subdomain + type: + description: Must be of type `TXT`. + type: string + enum: + - TXT + ttl: + description: The TTL value. Must be a number between 60 and 2147483647. Default value is 60. + type: number + minimum: 60 + maximum: 2147483647 + example: 60 + value: + description: A TXT record containing arbitrary text. + type: string + example: hello + comment: + type: string + description: A comment to add context on what this DNS record is for + example: used to verify ownership of domain + maxLength: 500 + - type: object + additionalProperties: false + required: + - type + - name + properties: + name: + description: A subdomain name. + type: string + example: subdomain + type: + description: Must be of type `NS`. + type: string + enum: + - NS + ttl: + description: The TTL value. Must be a number between 60 and 2147483647. Default value is 60. + type: number + minimum: 60 + maximum: 2147483647 + example: 60 + value: + description: An NS domain value. + type: string + example: ns1.example.com + comment: + type: string + description: A comment to add context on what this DNS record is for + example: used to verify ownership of domain + maxLength: 500 + '/v1/domains/records/{recordId}': + patch: + description: Updates an existing DNS record for a domain name. + operationId: updateRecord + security: + - bearerToken: [] + summary: Update an existing DNS record + tags: + - dns + responses: + '200': + description: '' + content: + application/json: + schema: + properties: + comment: + type: string + createdAt: + nullable: true + type: number + creator: + type: string + domain: + type: string + id: + type: string + name: + type: string + recordType: + type: string + enum: + - A + - AAAA + - ALIAS + - CAA + - CNAME + - MX + - SRV + - TXT + - NS + ttl: + type: number + type: + type: string + enum: + - record + - record-sys + value: + type: string + required: + - creator + - domain + - id + - name + - recordType + - type + - value + type: object + '400': + description: |- + One of the provided values in the request body is invalid. + One of the provided values in the request query is invalid. + '401': + description: '' + '402': + description: |- + The account was soft-blocked for an unhandled reason. + The account is missing a payment so payment method must be updated + '403': + description: You do not have permission to access this resource. + '404': + description: '' + '409': + description: '' + parameters: + - name: recordId + description: The id of the DNS record + in: path + required: true + schema: + description: The id of the DNS record + example: rec_2qn7pzrx89yxy34vezpd31y9 + type: string + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + properties: + name: + type: string + description: The name of the DNS record + example: example-1 + nullable: true + value: + type: string + description: The value of the DNS record + example: google.com + nullable: true + type: + enum: + - A + - AAAA + - ALIAS + - CAA + - CNAME + - MX + - SRV + - TXT + - NS + type: string + description: The type of the DNS record + example: A + maxLength: 255 + nullable: true + ttl: + type: integer + description: The Time to live (TTL) value of the DNS record + example: '60' + minimum: 60 + maximum: 2147483647 + nullable: true + mxPriority: + type: integer + description: The MX priority value of the DNS record + nullable: true + srv: + additionalProperties: false + required: + - target + - weight + - port + - priority + properties: + target: + type: string + description: '' + example: example2.com. + maxLength: 255 + nullable: true + weight: + description: '' + type: integer + nullable: true + port: + description: '' + type: integer + nullable: true + priority: + description: '' + type: integer + nullable: true + type: object + nullable: true + comment: + type: string + description: A comment to add context on what this DNS record is for + example: used to verify ownership of domain + maxLength: 500 + type: object + '/v2/domains/{domain}/records/{recordId}': + delete: + description: Removes an existing DNS record from a domain name. + operationId: removeRecord + security: + - bearerToken: [] + summary: Delete a DNS record + tags: + - dns + responses: + '200': + description: Successful response by removing the specified DNS record. + content: + application/json: + schema: + type: object + '400': + description: One of the provided values in the request query is invalid. + '401': + description: '' + '403': + description: You do not have permission to access this resource. + '404': + description: '' + parameters: + - name: domain + in: path + required: true + schema: + type: string + example: example.com + - name: recordId + in: path + required: true + schema: + type: string + example: rec_V0fra8eEgQwEpFhYG2vTzC3K + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string diff --git a/providers/src/vercel/v00.00.00000/services/domains.yaml b/providers/src/vercel/v00.00.00000/services/domains.yaml new file mode 100644 index 00000000..85273b2e --- /dev/null +++ b/providers/src/vercel/v00.00.00000/services/domains.yaml @@ -0,0 +1,1224 @@ +openapi: 3.0.3 +servers: + - url: 'https://api.vercel.com' + description: Production API +info: + contact: + email: support@vercel.com + name: Vercel Support + url: 'https://vercel.com/support' + version: 0.0.1 + title: Vercel API - domains + description: domains +components: + schemas: + Pagination: + properties: + count: + type: number + description: Amount of items in the current page. + example: 20 + next: + nullable: true + type: number + description: Timestamp that must be used to request the next page. + example: 1540095775951 + prev: + nullable: true + type: number + description: Timestamp that must be used to request the previous page. + example: 1540095775951 + required: + - count + - next + - prev + type: object + description: 'This object contains information related to the pagination of the current request, including the necessary parameters to get the next or previous page of data.' + responses: {} + securitySchemes: + bearerToken: + type: http + description: Default authentication mechanism + scheme: bearer + oauth2: + type: oauth2 + flows: + authorizationCode: + authorizationUrl: 'https://api.vercel.com/oauth/authorize' + tokenUrl: 'https://api.vercel.com/oauth/access_token' + scopes: {} + x-stackQL-resources: + domains: + id: vercel.domains.domains + name: domains + title: Domains + methods: + buy_domain: + operation: + $ref: '#/paths/~1v4~1domains~1buy/post' + response: + mediaType: application/json + openAPIDocKey: '200' + get_domain: + operation: + $ref: '#/paths/~1v5~1domains~1{domain}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.domain + _get_domain: + operation: + $ref: '#/paths/~1v5~1domains~1{domain}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + get_domains: + operation: + $ref: '#/paths/~1v5~1domains/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.domains + _get_domains: + operation: + $ref: '#/paths/~1v5~1domains/get' + response: + mediaType: application/json + openAPIDocKey: '200' + create_or_transfer_domain: + operation: + $ref: '#/paths/~1v5~1domains/post' + response: + mediaType: application/json + openAPIDocKey: '200' + patch_domain: + operation: + $ref: '#/paths/~1v3~1domains~1{domain}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_domain: + operation: + $ref: '#/paths/~1v6~1domains~1{domain}/delete' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/domains/methods/get_domain' + - $ref: '#/components/x-stackQL-resources/domains/methods/get_domains' + insert: + - $ref: '#/components/x-stackQL-resources/domains/methods/create_or_transfer_domain' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/domains/methods/delete_domain' + price: + id: vercel.domains.price + name: price + title: Price + methods: + check_domain_price: + operation: + $ref: '#/paths/~1v4~1domains~1price/get' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/price/methods/check_domain_price' + insert: [] + update: [] + delete: [] + status: + id: vercel.domains.status + name: status + title: Status + methods: + check_domain_status: + operation: + $ref: '#/paths/~1v4~1domains~1status/get' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/status/methods/check_domain_status' + insert: [] + update: [] + delete: [] + domain_registry: + id: vercel.domains.domain_registry + name: domain_registry + title: Domain Registry + methods: + get_domain_transfer: + operation: + $ref: '#/paths/~1v1~1domains~1{domain}~1registry/get' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/domain_registry/methods/get_domain_transfer' + insert: [] + update: [] + delete: [] + config: + id: vercel.domains.config + name: config + title: Config + methods: + get_domain_config: + operation: + $ref: '#/paths/~1v6~1domains~1{domain}~1config/get' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/config/methods/get_domain_config' + insert: [] + update: [] + delete: [] +paths: + /v4/domains/buy: + post: + description: Allows to purchase the specified domain. + operationId: buyDomain + security: + - bearerToken: [] + summary: Purchase a domain + tags: + - domains + responses: + '201': + description: Successful response for purchasing a Domain. + content: + application/json: + schema: + properties: + domain: + properties: + uid: + type: string + ns: + items: + type: string + type: array + verified: + type: boolean + created: + type: number + pending: + type: boolean + required: + - uid + - ns + - verified + - created + - pending + type: object + required: + - domain + type: object + '202': + description: Domain purchase is being processed asynchronously. + content: + application/json: + schema: + properties: + domain: + properties: + uid: + type: string + ns: + items: + type: string + type: array + verified: + type: boolean + created: + type: number + pending: + type: boolean + required: + - uid + - ns + - verified + - created + - pending + type: object + required: + - domain + type: object + '400': + description: One of the provided values in the request body is invalid. + '401': + description: '' + '403': + description: You do not have permission to access this resource. + '409': + description: '' + '429': + description: '' + parameters: + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + additionalProperties: false + type: object + required: + - name + properties: + name: + description: The domain name to purchase. + type: string + example: example.com + expectedPrice: + description: The price you expect to be charged for the purchase. + type: number + example: 10 + renew: + description: Indicates whether the domain should be automatically renewed. + type: boolean + example: true + /v4/domains/price: + get: + description: Check the price to purchase a domain and how long a single purchase period is. + operationId: checkDomainPrice + security: + - bearerToken: [] + summary: Check the price for a domain + tags: + - domains + responses: + '200': + description: Successful response which returns the price of the domain and the period. + content: + application/json: + schema: + properties: + price: + type: number + description: The domain price in USD. + example: 20 + period: + type: number + description: The number of years the domain could be held before paying again. + example: 1 + required: + - price + - period + type: object + description: Successful response which returns the price of the domain and the period. + '400': + description: One of the provided values in the request query is invalid. + '401': + description: '' + '403': + description: You do not have permission to access this resource. + parameters: + - name: name + description: The name of the domain for which the price needs to be checked. + in: query + required: true + schema: + description: The name of the domain for which the price needs to be checked. + type: string + example: example.com + - name: type + description: In which status of the domain the price needs to be checked. + in: query + required: false + schema: + description: In which status of the domain the price needs to be checked. + type: string + enum: + - new + - renewal + example: new + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + /v4/domains/status: + get: + description: Check if a domain name is available for purchase. + operationId: checkDomainStatus + security: + - bearerToken: [] + summary: Check a Domain Availability + tags: + - domains + responses: + '200': + description: Successful response checking if a Domain's name is available. + content: + application/json: + schema: + properties: + available: + type: boolean + required: + - available + type: object + '400': + description: One of the provided values in the request query is invalid. + '401': + description: '' + '403': + description: You do not have permission to access this resource. + parameters: + - name: name + description: The name of the domain for which we would like to check the status. + in: query + required: true + schema: + description: The name of the domain for which we would like to check the status. + type: string + example: example.com + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + '/v1/domains/{domain}/registry': + get: + description: Fetch domain transfer availability or transfer status if a transfer is in progress. + operationId: getDomainTransfer + security: + - bearerToken: [] + summary: Get domain transfer info. + tags: + - domains + responses: + '200': + description: '' + content: + application/json: + schema: + properties: + transferable: + type: boolean + description: Whether or not the domain is transferable + transferPolicy: + nullable: true + type: string + enum: + - charge-and-renew + - no-charge-no-change + - no-change + - new-term + - not-supported + description: 'The domain''s transfer policy (depends on TLD requirements). `charge-and-renew`: transfer will charge for renewal and will renew the existing domain''s registration. `no-charge-no-change`: transfer will have no change to registration period and does not require charge. `no-change`: transfer charge is required, but no change in registration period. `new-term`: transfer charge is required and a new registry term is set based on the transfer date. `not-supported`: transfers are not supported for this domain or TLD. `null`: This TLD is not supported by Vercel''s Registrar.' + reason: + type: string + description: Description associated with transferable state. + status: + type: string + enum: + - pending_owner + - pending_admin + - pending_registry + - completed + - cancelled + - undef + - unknown + description: 'The current state of an ongoing transfer. `pending_owner`: Awaiting approval by domain''s admin contact (every transfer begins with this status). If approval is not given within five days, the transfer is cancelled. `pending_admin`: Waiting for approval by Vercel Registrar admin. `pending_registry`: Awaiting registry approval (the transfer completes after 7 days unless it is declined by the current registrar). `completed`: The transfer completed successfully. `cancelled`: The transfer was cancelled. `undef`: No transfer exists for this domain. `unknown`: This TLD is not supported by Vercel''s Registrar.' + required: + - transferable + - transferPolicy + - reason + - status + type: object + '400': + description: '' + '401': + description: '' + '403': + description: You do not have permission to access this resource. + parameters: + - name: domain + description: The name of the domain. + in: path + required: true + schema: + type: string + description: The name of the domain. + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + '/v6/domains/{domain}/config': + get: + description: Get a Domain's configuration. + operationId: getDomainConfig + security: + - bearerToken: [] + summary: Get a Domain's configuration + tags: + - domains + responses: + '200': + description: '' + content: + application/json: + schema: + properties: + configuredBy: + nullable: true + type: string + enum: + - CNAME + - A + - http + description: 'How we see the domain''s configuration. - `CNAME`: Domain has a CNAME pointing to Vercel. - `A`: Domain''s A record is resolving to Vercel. - `http`: Domain is resolving to Vercel but may be behind a Proxy. - `null`: Domain is not resolving to Vercel.' + acceptedChallenges: + items: + type: string + enum: + - dns-01 + - http-01 + description: Which challenge types the domain can use for issuing certs. + type: array + description: Which challenge types the domain can use for issuing certs. + misconfigured: + type: boolean + description: Whether or not the domain is configured AND we can automatically generate a TLS certificate. + required: + - misconfigured + type: object + '400': + description: One of the provided values in the request query is invalid. + '401': + description: '' + '403': + description: You do not have permission to access this resource. + parameters: + - name: domain + description: The name of the domain. + in: path + required: true + schema: + description: The name of the domain. + type: string + example: example.com + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + '/v5/domains/{domain}': + get: + description: Get information for a single domain in an account or team. + operationId: getDomain + security: + - bearerToken: [] + summary: Get Information for a Single Domain + tags: + - domains + responses: + '200': + description: Successful response retrieving an information for a specific domains. + content: + application/json: + schema: + properties: + domain: + properties: + suffix: + type: boolean + verified: + type: boolean + description: If the domain has the ownership verified. + example: true + nameservers: + items: + type: string + type: array + description: A list of the current nameservers of the domain. + example: + - ns1.nameserver.net + - ns2.nameserver.net + intendedNameservers: + items: + type: string + type: array + description: A list of the intended nameservers for the domain to point to Vercel DNS. + example: + - ns1.vercel-dns.com + - ns2.vercel-dns.com + customNameservers: + items: + type: string + type: array + description: A list of custom nameservers for the domain to point to. Only applies to domains purchased with Vercel. + example: + - ns1.nameserver.net + - ns2.nameserver.net + creator: + properties: + username: + type: string + email: + type: string + customerId: + nullable: true + type: string + isDomainReseller: + type: boolean + id: + type: string + required: + - username + - email + - id + type: object + description: 'An object containing information of the domain creator, including the user''s id, username, and email.' + example: + id: ZspSRT4ljIEEmMHgoDwKWDei + username: vercel_user + email: demo@example.com + boughtAt: + nullable: true + type: number + description: 'If it was purchased through Vercel, the timestamp in milliseconds when it was purchased.' + example: 1613602938882 + createdAt: + type: number + description: Timestamp in milliseconds when the domain was created in the registry. + example: 1613602938882 + expiresAt: + nullable: true + type: number + description: Timestamp in milliseconds at which the domain is set to expire. `null` if not bought with Vercel. + example: 1613602938882 + id: + type: string + description: The unique identifier of the domain. + example: EmTbe5CEJyTk2yVAHBUWy4A3sRusca3GCwRjTC1bpeVnt1 + name: + type: string + description: The domain name. + example: example.com + orderedAt: + type: number + description: Timestamp in milliseconds at which the domain was ordered. + example: 1613602938882 + renew: + type: boolean + description: Indicates whether the domain is set to automatically renew. + example: true + serviceType: + type: string + enum: + - zeit.world + - external + - na + description: 'The type of service the domain is handled by. `external` if the DNS is externally handled, `zeit.world` if handled with Vercel, or `na` if the service is not available.' + example: zeit.world + transferredAt: + nullable: true + type: number + description: Timestamp in milliseconds at which the domain was successfully transferred into Vercel. `null` if the transfer is still processing or was never transferred in. + example: 1613602938882 + transferStartedAt: + type: number + description: 'If transferred into Vercel, timestamp in milliseconds when the domain transfer was initiated.' + example: 1613602938882 + required: + - suffix + - verified + - nameservers + - intendedNameservers + - creator + - boughtAt + - createdAt + - expiresAt + - id + - name + - serviceType + type: object + required: + - domain + type: object + '400': + description: One of the provided values in the request query is invalid. + '401': + description: '' + '403': + description: You do not have permission to access this resource. + '404': + description: '' + parameters: + - name: domain + description: The name of the domain. + in: path + required: true + schema: + description: The name of the domain. + type: string + example: example.com + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + /v5/domains: + get: + description: Retrieves a list of domains registered for the authenticated user or team. By default it returns the last 20 domains if no limit is provided. + operationId: getDomains + security: + - bearerToken: [] + summary: List all the domains + tags: + - domains + responses: + '200': + description: Successful response retrieving a list of domains. + content: + application/json: + schema: + properties: + domains: + items: + properties: + verified: + type: boolean + description: If the domain has the ownership verified. + example: true + nameservers: + items: + type: string + type: array + description: A list of the current nameservers of the domain. + example: + - ns1.nameserver.net + - ns2.nameserver.net + intendedNameservers: + items: + type: string + type: array + description: A list of the intended nameservers for the domain to point to Vercel DNS. + example: + - ns1.vercel-dns.com + - ns2.vercel-dns.com + customNameservers: + items: + type: string + type: array + description: A list of custom nameservers for the domain to point to. Only applies to domains purchased with Vercel. + example: + - ns1.nameserver.net + - ns2.nameserver.net + creator: + properties: + username: + type: string + email: + type: string + customerId: + nullable: true + type: string + isDomainReseller: + type: boolean + id: + type: string + required: + - username + - email + - id + type: object + description: 'An object containing information of the domain creator, including the user''s id, username, and email.' + example: + id: ZspSRT4ljIEEmMHgoDwKWDei + username: vercel_user + email: demo@example.com + renew: + type: boolean + description: Indicates whether the domain is set to automatically renew. + example: true + boughtAt: + nullable: true + type: number + description: 'If it was purchased through Vercel, the timestamp in milliseconds when it was purchased.' + example: 1613602938882 + createdAt: + type: number + description: Timestamp in milliseconds when the domain was created in the registry. + example: 1613602938882 + expiresAt: + nullable: true + type: number + description: Timestamp in milliseconds at which the domain is set to expire. `null` if not bought with Vercel. + example: 1613602938882 + id: + type: string + description: The unique identifier of the domain. + example: EmTbe5CEJyTk2yVAHBUWy4A3sRusca3GCwRjTC1bpeVnt1 + name: + type: string + description: The domain name. + example: example.com + orderedAt: + type: number + description: Timestamp in milliseconds at which the domain was ordered. + example: 1613602938882 + serviceType: + type: string + enum: + - zeit.world + - external + - na + description: 'The type of service the domain is handled by. `external` if the DNS is externally handled, `zeit.world` if handled with Vercel, or `na` if the service is not available.' + example: zeit.world + transferredAt: + nullable: true + type: number + description: Timestamp in milliseconds at which the domain was successfully transferred into Vercel. `null` if the transfer is still processing or was never transferred in. + example: 1613602938882 + transferStartedAt: + type: number + description: 'If transferred into Vercel, timestamp in milliseconds when the domain transfer was initiated.' + example: 1613602938882 + required: + - verified + - nameservers + - intendedNameservers + - creator + - boughtAt + - createdAt + - expiresAt + - id + - name + - serviceType + type: object + type: array + pagination: + $ref: '#/components/schemas/Pagination' + required: + - domains + - pagination + type: object + '400': + description: One of the provided values in the request query is invalid. + '401': + description: '' + '403': + description: You do not have permission to access this resource. + '409': + description: '' + parameters: + - name: limit + description: Maximum number of domains to list from a request. + in: query + schema: + description: Maximum number of domains to list from a request. + type: number + example: 20 + - name: since + description: Get domains created after this JavaScript timestamp. + in: query + schema: + description: Get domains created after this JavaScript timestamp. + type: number + example: 1609499532000 + - name: until + description: Get domains created before this JavaScript timestamp. + in: query + schema: + description: Get domains created before this JavaScript timestamp. + type: number + example: 1612264332000 + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + post: + description: This endpoint is used for adding a new apex domain name with Vercel for the authenticating user. Can also be used for initiating a domain transfer request from an external Registrar to Vercel. + operationId: createOrTransferDomain + security: + - bearerToken: [] + summary: Register or transfer-in a new Domain + tags: + - domains + responses: + '200': + description: '' + content: + application/json: + schema: + properties: + domain: + properties: + verified: + type: boolean + description: If the domain has the ownership verified. + example: true + nameservers: + items: + type: string + type: array + description: A list of the current nameservers of the domain. + example: + - ns1.nameserver.net + - ns2.nameserver.net + intendedNameservers: + items: + type: string + type: array + description: A list of the intended nameservers for the domain to point to Vercel DNS. + example: + - ns1.vercel-dns.com + - ns2.vercel-dns.com + customNameservers: + items: + type: string + type: array + description: A list of custom nameservers for the domain to point to. Only applies to domains purchased with Vercel. + example: + - ns1.nameserver.net + - ns2.nameserver.net + creator: + properties: + username: + type: string + email: + type: string + customerId: + nullable: true + type: string + isDomainReseller: + type: boolean + id: + type: string + required: + - username + - email + - id + type: object + description: 'An object containing information of the domain creator, including the user''s id, username, and email.' + example: + id: ZspSRT4ljIEEmMHgoDwKWDei + username: vercel_user + email: demo@example.com + id: + type: string + description: The unique identifier of the domain. + example: EmTbe5CEJyTk2yVAHBUWy4A3sRusca3GCwRjTC1bpeVnt1 + boughtAt: + nullable: true + type: number + description: 'If it was purchased through Vercel, the timestamp in milliseconds when it was purchased.' + example: 1613602938882 + createdAt: + type: number + description: Timestamp in milliseconds when the domain was created in the registry. + example: 1613602938882 + expiresAt: + nullable: true + type: number + description: Timestamp in milliseconds at which the domain is set to expire. `null` if not bought with Vercel. + example: 1613602938882 + name: + type: string + description: The domain name. + example: example.com + orderedAt: + type: number + description: Timestamp in milliseconds at which the domain was ordered. + example: 1613602938882 + renew: + type: boolean + description: Indicates whether the domain is set to automatically renew. + example: true + serviceType: + type: string + enum: + - zeit.world + - external + - na + description: 'The type of service the domain is handled by. `external` if the DNS is externally handled, `zeit.world` if handled with Vercel, or `na` if the service is not available.' + example: zeit.world + transferredAt: + nullable: true + type: number + description: Timestamp in milliseconds at which the domain was successfully transferred into Vercel. `null` if the transfer is still processing or was never transferred in. + example: 1613602938882 + transferStartedAt: + type: number + description: 'If transferred into Vercel, timestamp in milliseconds when the domain transfer was initiated.' + example: 1613602938882 + required: + - verified + - nameservers + - intendedNameservers + - creator + - id + - boughtAt + - createdAt + - expiresAt + - name + - serviceType + type: object + required: + - domain + type: object + '400': + description: One of the provided values in the request body is invalid. + '401': + description: '' + '402': + description: |- + The account was soft-blocked for an unhandled reason. + The account is missing a payment so payment method must be updated + '403': + description: You do not have permission to access this resource. + '404': + description: '' + '409': + description: '' + parameters: + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + properties: + method: + description: The domain operation to perform. It can be either `add` or `transfer-in`. + type: string + example: transfer-in + oneOf: + - additionalProperties: false + type: object + description: add + required: + - name + properties: + name: + description: The domain name you want to add. + type: string + example: example.com + cdnEnabled: + description: Whether the domain has the Vercel Edge Network enabled or not. + type: boolean + example: true + zone: + type: boolean + method: + description: The domain operation to perform. + type: string + example: add + - additionalProperties: false + type: object + description: move-in + required: + - method + - name + properties: + name: + description: The domain name you want to add. + type: string + example: example.com + method: + description: The domain operation to perform. + type: string + example: move-in + token: + description: The move-in token from Move Requested email. + type: string + example: fdhfr820ad#@FAdlj$$ + - additionalProperties: false + type: object + description: transfer-in + required: + - method + - name + properties: + name: + description: The domain name you want to add. + type: string + example: example.com + method: + description: The domain operation to perform. + type: string + example: transfer-in + authCode: + description: The authorization code assigned to the domain. + type: string + example: fdhfr820ad#@FAdlj$$ + expectedPrice: + description: The price you expect to be charged for the required 1 year renewal. + type: number + example: 8 + '/v3/domains/{domain}': + patch: + description: Update or move apex domain. + operationId: patchDomain + security: + - bearerToken: [] + summary: Update or move apex domain + tags: + - domains + responses: + '200': + description: '' + content: + application/json: + schema: + oneOf: + - properties: + moved: + type: boolean + required: + - moved + type: object + - properties: + moved: + type: boolean + token: + type: string + required: + - moved + - token + type: object + - properties: + renew: + type: boolean + customNameservers: + items: + type: string + type: array + zone: + type: boolean + type: object + '400': + description: |- + One of the provided values in the request body is invalid. + One of the provided values in the request query is invalid. + '401': + description: '' + '403': + description: You do not have permission to access this resource. + '404': + description: '' + '409': + description: '' + parameters: + - name: domain + description: The name of the domain. + in: path + required: true + schema: + type: string + description: The name of the domain. + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + oneOf: + - type: object + description: update + additionalProperties: false + properties: + op: + example: update + type: string + renew: + description: Specifies whether domain should be renewed. + type: boolean + customNameservers: + description: The custom nameservers for this project. + items: + type: string + maxItems: 4 + minItems: 0 + type: array + uniqueItems: true + zone: + description: Specifies whether this is a DNS zone that intends to use Vercel's nameservers. + type: boolean + - type: object + description: move-out + additionalProperties: false + properties: + op: + example: move-out + type: string + destination: + description: User or team to move domain to + type: string + '/v6/domains/{domain}': + delete: + description: Delete a previously registered domain name from Vercel. Deleting a domain will automatically remove any associated aliases. + operationId: deleteDomain + security: + - bearerToken: [] + summary: Remove a domain by name + tags: + - domains + responses: + '200': + description: Successful response removing a domain. + content: + application/json: + schema: + properties: + uid: + type: string + required: + - uid + type: object + '400': + description: One of the provided values in the request query is invalid. + '401': + description: '' + '403': + description: You do not have permission to access this resource. + '404': + description: '' + '409': + description: '' + parameters: + - name: domain + description: The name of the domain. + in: path + required: true + schema: + description: The name of the domain. + type: string + example: example.com + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string diff --git a/providers/src/vercel/v00.00.00000/services/edge_config.yaml b/providers/src/vercel/v00.00.00000/services/edge_config.yaml new file mode 100644 index 00000000..247b7856 --- /dev/null +++ b/providers/src/vercel/v00.00.00000/services/edge_config.yaml @@ -0,0 +1,968 @@ +openapi: 3.0.3 +servers: + - url: 'https://api.vercel.com' + description: Production API +info: + contact: + email: support@vercel.com + name: Vercel Support + url: 'https://vercel.com/support' + version: 0.0.1 + title: Vercel API - edge_config + description: edge-config +components: + schemas: + EdgeConfigItem: + properties: + key: + type: string + value: + $ref: '#/components/schemas/EdgeConfigItemValue' + edgeConfigId: + type: string + createdAt: + type: number + updatedAt: + type: number + required: + - key + - value + - edgeConfigId + - createdAt + - updatedAt + type: object + description: The EdgeConfig. + EdgeConfigItemValue: + nullable: true + oneOf: + - type: string + - type: number + - type: boolean + - additionalProperties: + $ref: '#/components/schemas/EdgeConfigItemValue' + type: object + - items: + $ref: '#/components/schemas/EdgeConfigItemValue' + type: array + EdgeConfigToken: + properties: + token: + type: string + label: + type: string + id: + type: string + description: 'This is not the token itself, but rather an id to identify the token by' + edgeConfigId: + type: string + createdAt: + type: number + required: + - token + - label + - id + - edgeConfigId + - createdAt + type: object + description: The EdgeConfig. + responses: {} + securitySchemes: + bearerToken: + type: http + description: Default authentication mechanism + scheme: bearer + oauth2: + type: oauth2 + flows: + authorizationCode: + authorizationUrl: 'https://api.vercel.com/oauth/authorize' + tokenUrl: 'https://api.vercel.com/oauth/access_token' + scopes: {} + x-stackQL-resources: + edge_config: + id: vercel.edge_config.edge_config + name: edge_config + title: Edge Config + methods: + get_edge_configs: + operation: + $ref: '#/paths/~1v1~1edge-config/get' + response: + mediaType: application/json + openAPIDocKey: '200' + create_edge_config: + operation: + $ref: '#/paths/~1v1~1edge-config/post' + response: + mediaType: application/json + openAPIDocKey: '200' + get_edge_config: + operation: + $ref: '#/paths/~1v1~1edge-config~1{edgeConfigId}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_edge_config: + operation: + $ref: '#/paths/~1v1~1edge-config~1{edgeConfigId}/put' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_edge_config: + operation: + $ref: '#/paths/~1v1~1edge-config~1{edgeConfigId}/delete' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/edge_config/methods/get_edge_config' + - $ref: '#/components/x-stackQL-resources/edge_config/methods/get_edge_configs' + insert: + - $ref: '#/components/x-stackQL-resources/edge_config/methods/create_edge_config' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/edge_config/methods/delete_edge_config' + items: + id: vercel.edge_config.items + name: items + title: Items + methods: + get_edge_config_items: + operation: + $ref: '#/paths/~1v1~1edge-config~1{edgeConfigId}~1items/get' + response: + mediaType: application/json + openAPIDocKey: '200' + patcht_edge_config_items: + operation: + $ref: '#/paths/~1v1~1edge-config~1{edgeConfigId}~1items/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/items/methods/get_edge_config_items' + insert: [] + update: [] + delete: [] + item: + id: vercel.edge_config.item + name: item + title: Item + methods: + get_edge_config_item: + operation: + $ref: '#/paths/~1v1~1edge-config~1{edgeConfigId}~1item~1{edgeConfigItemKey}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/item/methods/get_edge_config_item' + insert: [] + update: [] + delete: [] + tokens: + id: vercel.edge_config.tokens + name: tokens + title: Tokens + methods: + get_edge_config_tokens: + operation: + $ref: '#/paths/~1v1~1edge-config~1{edgeConfigId}~1tokens/get' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_edge_config_tokens: + operation: + $ref: '#/paths/~1v1~1edge-config~1{edgeConfigId}~1tokens/delete' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/tokens/methods/get_edge_config_tokens' + insert: [] + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/tokens/methods/delete_edge_config_tokens' + token: + id: vercel.edge_config.token + name: token + title: Token + methods: + get_edge_config_token: + operation: + $ref: '#/paths/~1v1~1edge-config~1{edgeConfigId}~1token~1{token}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + create_edge_config_token: + operation: + $ref: '#/paths/~1v1~1edge-config~1{edgeConfigId}~1token/post' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/token/methods/get_edge_config_token' + insert: + - $ref: '#/components/x-stackQL-resources/token/methods/create_edge_config_token' + update: [] + delete: [] +paths: + /v1/edge-config: + get: + description: Returns all Edge Configs. + operationId: getEdgeConfigs + security: + - bearerToken: [] + summary: Get Edge Configs + tags: + - edge-config + responses: + '200': + description: List of all edge configs. + content: + application/json: + schema: + properties: + id: + type: string + createdAt: + type: number + ownerId: + type: string + slug: + type: string + description: Name for the Edge Config Names are not unique. Must start with an alphabetic character and can contain only alphanumeric characters and underscores). + updatedAt: + type: number + digest: + type: string + transfer: + properties: + fromAccountId: + type: string + startedAt: + type: number + doneAt: + nullable: true + type: number + required: + - fromAccountId + - startedAt + - doneAt + type: object + description: Keeps track of the current state of the Edge Config while it gets transferred. + sizeInBytes: + type: number + itemCount: + type: number + required: + - sizeInBytes + - itemCount + type: object + description: List of all edge configs. + '400': + description: One of the provided values in the request query is invalid. + '401': + description: '' + '403': + description: You do not have permission to access this resource. + parameters: + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + post: + description: Creates an Edge Config. + operationId: createEdgeConfig + security: + - bearerToken: [] + summary: Create an Edge Config + tags: + - edge-config + responses: + '201': + description: '' + content: + application/json: + schema: + properties: + createdAt: + type: number + updatedAt: + type: number + id: + type: string + slug: + type: string + description: Name for the Edge Config Names are not unique. Must start with an alphabetic character and can contain only alphanumeric characters and underscores). + ownerId: + type: string + digest: + type: string + transfer: + properties: + fromAccountId: + type: string + startedAt: + type: number + doneAt: + nullable: true + type: number + required: + - fromAccountId + - startedAt + - doneAt + type: object + description: Keeps track of the current state of the Edge Config while it gets transferred. + sizeInBytes: + type: number + itemCount: + type: number + required: + - sizeInBytes + - itemCount + type: object + description: An Edge Config + '400': + description: One of the provided values in the request body is invalid. + '401': + description: '' + '402': + description: |- + The account was soft-blocked for an unhandled reason. + The account is missing a payment so payment method must be updated + '403': + description: You do not have permission to access this resource. + parameters: + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + type: object + required: + - slug + properties: + slug: + maxLength: 32 + pattern: '^[\\w-]+$' + type: string + items: + type: object + propertyNames: + maxLength: 256 + pattern: '^[\\w-]+$' + type: string + additionalProperties: + oneOf: + - oneOf: + - type: string + - type: number + - type: boolean + - type: 'null' + - type: object + - type: array + items: + oneOf: + - type: string + - type: number + - type: boolean + - type: 'null' + - type: object + '/v1/edge-config/{edgeConfigId}': + get: + description: Returns an Edge Config. + operationId: getEdgeConfig + security: + - bearerToken: [] + summary: Get an Edge Config + tags: + - edge-config + responses: + '200': + description: The EdgeConfig. + content: + application/json: + schema: + properties: + createdAt: + type: number + updatedAt: + type: number + id: + type: string + slug: + type: string + description: Name for the Edge Config Names are not unique. Must start with an alphabetic character and can contain only alphanumeric characters and underscores). + ownerId: + type: string + digest: + type: string + transfer: + properties: + fromAccountId: + type: string + startedAt: + type: number + doneAt: + nullable: true + type: number + required: + - fromAccountId + - startedAt + - doneAt + type: object + description: Keeps track of the current state of the Edge Config while it gets transferred. + sizeInBytes: + type: number + itemCount: + type: number + required: + - sizeInBytes + - itemCount + type: object + description: The EdgeConfig. + '400': + description: One of the provided values in the request query is invalid. + '401': + description: '' + '403': + description: You do not have permission to access this resource. + '404': + description: '' + parameters: + - name: edgeConfigId + description: Edge config id. + in: path + required: true + schema: + type: string + description: Edge config id. + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + put: + description: Updates an Edge Config. + operationId: updateEdgeConfig + security: + - bearerToken: [] + summary: Update an Edge Config + tags: + - edge-config + responses: + '200': + description: '' + content: + application/json: + schema: + properties: + createdAt: + type: number + updatedAt: + type: number + id: + type: string + slug: + type: string + description: Name for the Edge Config Names are not unique. Must start with an alphabetic character and can contain only alphanumeric characters and underscores). + ownerId: + type: string + digest: + type: string + transfer: + properties: + fromAccountId: + type: string + startedAt: + type: number + doneAt: + nullable: true + type: number + required: + - fromAccountId + - startedAt + - doneAt + type: object + description: Keeps track of the current state of the Edge Config while it gets transferred. + sizeInBytes: + type: number + itemCount: + type: number + required: + - sizeInBytes + - itemCount + type: object + description: An Edge Config + '400': + description: |- + One of the provided values in the request body is invalid. + One of the provided values in the request query is invalid. + '401': + description: '' + '402': + description: |- + The account was soft-blocked for an unhandled reason. + The account is missing a payment so payment method must be updated + '403': + description: You do not have permission to access this resource. + '404': + description: '' + parameters: + - name: edgeConfigId + description: Edge config id. + in: path + required: true + schema: + type: string + description: Edge config id. + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + type: object + required: + - slug + properties: + slug: + maxLength: 32 + pattern: '^[\\w-]+$' + type: string + delete: + description: Delete an Edge Config by id. + operationId: deleteEdgeConfig + security: + - bearerToken: [] + summary: Delete an Edge Config + tags: + - edge-config + responses: + '204': + description: '' + '400': + description: One of the provided values in the request query is invalid. + '401': + description: '' + '403': + description: You do not have permission to access this resource. + '404': + description: '' + parameters: + - name: edgeConfigId + description: Edge config id. + in: path + required: true + schema: + type: string + description: Edge config id. + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + '/v1/edge-config/{edgeConfigId}/items': + get: + description: Returns all items of an Edge Config. + operationId: getEdgeConfigItems + security: + - bearerToken: [] + summary: Get Edge Config items + tags: + - edge-config + responses: + '200': + description: The EdgeConfig. + content: + application/json: + schema: + $ref: '#/components/schemas/EdgeConfigItem' + '400': + description: One of the provided values in the request query is invalid. + '401': + description: '' + '403': + description: You do not have permission to access this resource. + '404': + description: '' + parameters: + - name: edgeConfigId + description: Edge config id. + in: path + required: true + schema: + type: string + description: Edge config id. + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + patch: + description: Update multiple Edge Config Items in batch. + operationId: patchtEdgeConfigItems + security: + - bearerToken: [] + summary: Update Edge Config items in batch + tags: + - edge-config + responses: + '200': + description: '' + content: + application/json: + schema: + properties: + status: + type: string + required: + - status + type: object + '400': + description: |- + One of the provided values in the request body is invalid. + One of the provided values in the request query is invalid. + '401': + description: '' + '402': + description: |- + The account was soft-blocked for an unhandled reason. + The account is missing a payment so payment method must be updated + '403': + description: You do not have permission to access this resource. + '404': + description: '' + '409': + description: '' + parameters: + - name: edgeConfigId + description: Edge config id. + in: path + required: true + schema: + type: string + description: Edge config id. + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + type: object + additionalProperties: false + required: + - items + properties: + items: + type: array + items: + oneOf: + - type: object + required: + - operation + - key + - value + properties: + operation: + oneOf: + - const: create + - const: update + - const: upsert + key: + maxLength: 256 + pattern: '^[\\w-]+$' + type: string + value: + oneOf: + - oneOf: + - type: string + - type: number + - type: boolean + - type: 'null' + - type: object + - type: array + items: + oneOf: + - type: string + - type: number + - type: boolean + - type: 'null' + - type: object + - type: object + required: + - operation + - key + properties: + operation: + const: delete + key: + maxLength: 256 + pattern: '^[\\w-]+$' + type: string + '/v1/edge-config/{edgeConfigId}/item/{edgeConfigItemKey}': + get: + description: Returns a specific Edge Config Item. + operationId: getEdgeConfigItem + security: + - bearerToken: [] + summary: Get an Edge Config item + tags: + - edge-config + responses: + '200': + description: The EdgeConfig. + content: + application/json: + schema: + $ref: '#/components/schemas/EdgeConfigItem' + '400': + description: One of the provided values in the request query is invalid. + '401': + description: '' + '403': + description: You do not have permission to access this resource. + '404': + description: '' + parameters: + - name: edgeConfigId + description: Edge config id. + in: path + required: true + schema: + type: string + description: Edge config id. + - name: edgeConfigItemKey + description: Edge config id item key. + in: path + required: true + schema: + type: string + description: Edge config id item key. + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + '/v1/edge-config/{edgeConfigId}/tokens': + get: + description: Returns all tokens of an Edge Config. + operationId: getEdgeConfigTokens + security: + - bearerToken: [] + summary: Get all tokens of an Edge Config + tags: + - edge-config + responses: + '200': + description: The EdgeConfig. + content: + application/json: + schema: + $ref: '#/components/schemas/EdgeConfigToken' + '400': + description: One of the provided values in the request query is invalid. + '401': + description: '' + '403': + description: You do not have permission to access this resource. + '404': + description: '' + parameters: + - name: edgeConfigId + description: Edge config id. + in: path + required: true + schema: + type: string + description: Edge config id. + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + delete: + description: Deletes one or more tokens of an existing Edge Config. + operationId: deleteEdgeConfigTokens + security: + - bearerToken: [] + summary: Delete one or more Edge Config tokens + tags: + - edge-config + responses: + '204': + description: '' + '400': + description: |- + One of the provided values in the request body is invalid. + One of the provided values in the request query is invalid. + '401': + description: '' + '402': + description: |- + The account was soft-blocked for an unhandled reason. + The account is missing a payment so payment method must be updated + '403': + description: You do not have permission to access this resource. + '404': + description: '' + parameters: + - name: edgeConfigId + description: Edge config id. + in: path + required: true + schema: + type: string + description: Edge config id. + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + type: object + additionalProperties: false + required: + - tokens + properties: + tokens: + type: array + items: + type: string + '/v1/edge-config/{edgeConfigId}/token/{token}': + get: + description: Return meta data about an Edge Config token. + operationId: getEdgeConfigToken + security: + - bearerToken: [] + summary: Get Edge Config token meta data + tags: + - edge-config + responses: + '200': + description: The EdgeConfig. + content: + application/json: + schema: + $ref: '#/components/schemas/EdgeConfigToken' + '400': + description: One of the provided values in the request query is invalid. + '401': + description: '' + '403': + description: You do not have permission to access this resource. + '404': + description: '' + parameters: + - name: edgeConfigId + description: Edge config id. + in: path + required: true + schema: + type: string + description: Edge config id. + - name: token + in: path + required: true + schema: + type: string + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + '/v1/edge-config/{edgeConfigId}/token': + post: + description: Adds a token to an existing Edge Config. + operationId: createEdgeConfigToken + security: + - bearerToken: [] + summary: Create an Edge Config token + tags: + - edge-config + responses: + '201': + description: '' + content: + application/json: + schema: + properties: + token: + type: string + id: + type: string + required: + - token + - id + type: object + '400': + description: |- + One of the provided values in the request body is invalid. + One of the provided values in the request query is invalid. + '401': + description: '' + '402': + description: |- + The account was soft-blocked for an unhandled reason. + The account is missing a payment so payment method must be updated + '403': + description: You do not have permission to access this resource. + '404': + description: '' + parameters: + - name: edgeConfigId + description: Edge config id. + in: path + required: true + schema: + type: string + description: Edge config id. + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + type: object + additionalProperties: false + required: + - label + properties: + label: + maxLength: 52 + type: string diff --git a/providers/src/vercel/v00.00.00000/services/integrations.yaml b/providers/src/vercel/v00.00.00000/services/integrations.yaml new file mode 100644 index 00000000..01470156 --- /dev/null +++ b/providers/src/vercel/v00.00.00000/services/integrations.yaml @@ -0,0 +1,1109 @@ +openapi: 3.0.3 +servers: + - url: 'https://api.vercel.com' + description: Production API +info: + contact: + email: support@vercel.com + name: Vercel Support + url: 'https://vercel.com/support' + version: 0.0.1 + title: Vercel API - integrations + description: integrations +components: + schemas: {} + responses: {} + securitySchemes: + bearerToken: + type: http + description: Default authentication mechanism + scheme: bearer + oauth2: + type: oauth2 + flows: + authorizationCode: + authorizationUrl: 'https://api.vercel.com/oauth/authorize' + tokenUrl: 'https://api.vercel.com/oauth/access_token' + scopes: {} + x-stackQL-resources: + configuration: + id: vercel.integrations.configuration + name: configuration + title: Configuration + methods: + get_configurations: + operation: + $ref: '#/paths/~1v1~1integrations~1configurations/get' + response: + mediaType: application/json + openAPIDocKey: '200' + get_configuration: + operation: + $ref: '#/paths/~1v1~1integrations~1configuration~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_configuration: + operation: + $ref: '#/paths/~1v1~1integrations~1configuration~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/configuration/methods/get_configuration' + - $ref: '#/components/x-stackQL-resources/configuration/methods/get_configurations' + insert: [] + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/configuration/methods/delete_configuration' + git_namespaces: + id: vercel.integrations.git_namespaces + name: git_namespaces + title: Git Namespaces + methods: + git_namespaces: + operation: + $ref: '#/paths/~1v1~1integrations~1git-namespaces/get' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/git_namespaces/methods/git_namespaces' + insert: [] + update: [] + delete: [] + search_repo: + id: vercel.integrations.search_repo + name: search_repo + title: Search Repo + methods: + git_namespaces: + operation: + $ref: '#/paths/~1v1~1integrations~1search-repo/get' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/search_repo/methods/git_namespaces' + insert: [] + update: [] + delete: [] +paths: + /v1/integrations/configurations: + get: + description: 'Allows to retrieve all configurations for an authenticated integration. When the `project` view is used, configurations generated for the authorization flow will be filtered out of the results.' + operationId: getConfigurations + security: + - bearerToken: [] + summary: Get configurations for the authenticated user or team + tags: + - integrations + responses: + '200': + description: The list of configurations for the authenticated user + content: + application/json: + schema: + oneOf: + - items: + properties: + completedAt: + type: number + description: A timestamp that tells you when the configuration was installed successfully + example: 1558531915505 + createdAt: + type: number + description: A timestamp that tells you when the configuration was created + example: 1558531915505 + id: + type: string + description: The unique identifier of the configuration + example: icfg_3bwCLgxL8qt5kjRLcv2Dit7F + integrationId: + type: string + description: The unique identifier of the app the configuration was created for + example: oac_xzpVzcUOgcB1nrVlirtKhbWV + ownerId: + type: string + description: The user or team ID that owns the configuration + example: kr1PsOIzqEL5Xg6M4VZcZosf + projects: + items: + type: string + type: array + description: 'When a configuration is limited to access certain projects, this will contain each of the project ID it is allowed to access. If it is not defined, the configuration has full access.' + example: + - prj_xQxbutw1HpL6HLYPAzt5h75m8NjO + source: + type: string + enum: + - marketplace + - deploy-button + - external + description: Source defines where the configuration was installed from. It is used to analyze user engagement for integration installations in product metrics. + example: marketplace + removedLogDrainsAt: + type: number + removedProjectEnvsAt: + type: number + removedTokensAt: + type: number + removedWebhooksAt: + type: number + slug: + type: string + description: The slug of the integration the configuration is created for. + example: slack + teamId: + nullable: true + type: string + description: 'When the configuration was created for a team, this will show the ID of the team.' + example: team_nLlpyC6RE1qxydlFKbrxDlud + type: + type: string + enum: + - integration-configuration + updatedAt: + type: number + description: A timestamp that tells you when the configuration was updated. + example: 1558531915505 + userId: + type: string + description: The ID of the user that created the configuration. + example: kr1PsOIzqEL5Xg6M4VZcZosf + scopes: + items: + type: string + type: array + description: The resources that are allowed to be accessed by the configuration. + example: + - 'read:project' + - 'read-write:log-drain' + scopesQueue: + items: + properties: + scopes: + properties: + added: + items: + type: string + enum: + - 'read:integration-configuration' + - 'read-write:integration-configuration' + - 'read:deployment' + - 'read-write:deployment' + - 'read-write:deployment-check' + - 'read:project' + - 'read-write:project' + - 'read-write:project-env-vars' + - 'read-write:global-project-env-vars' + - 'read:team' + - 'read:user' + - 'read-write:log-drain' + - 'read:domain' + - 'read-write:domain' + - 'read-write:edge-config' + - 'read-write:otel-endpoint' + - 'read:monitoring' + type: array + upgraded: + items: + type: string + enum: + - 'read:integration-configuration' + - 'read-write:integration-configuration' + - 'read:deployment' + - 'read-write:deployment' + - 'read-write:deployment-check' + - 'read:project' + - 'read-write:project' + - 'read-write:project-env-vars' + - 'read-write:global-project-env-vars' + - 'read:team' + - 'read:user' + - 'read-write:log-drain' + - 'read:domain' + - 'read-write:domain' + - 'read-write:edge-config' + - 'read-write:otel-endpoint' + - 'read:monitoring' + type: array + required: + - added + - upgraded + type: object + note: + type: string + requestedAt: + type: number + confirmedAt: + type: number + required: + - scopes + - note + - requestedAt + type: object + type: array + disabledAt: + type: number + description: 'A timestamp that tells you when the configuration was disabled. Note: Configurations can be disabled when the associated user loses access to a team. They do not function during this time until the configuration is ''transferred'', meaning the associated user is changed to one with access to the team.' + example: 1558531915505 + deletedAt: + nullable: true + type: number + description: A timestamp that tells you when the configuration was updated. + example: 1558531915505 + disabledReason: + type: string + enum: + - log-drain-high-error-rate + - log-drains-add-on-disabled-by-owner + - account-plan-downgrade + - disabled-by-admin + - original-owner-left-the-team + required: + - createdAt + - id + - integrationId + - ownerId + - slug + - type + - updatedAt + - userId + - scopes + type: object + type: array + - items: + properties: + integration: + properties: + name: + type: string + icon: + type: string + category: + type: string + isLegacy: + type: boolean + flags: + items: + type: string + type: array + assignedBetaLabelAt: + type: number + required: + - name + - icon + - category + - isLegacy + type: object + completedAt: + type: number + description: A timestamp that tells you when the configuration was installed successfully + example: 1558531915505 + createdAt: + type: number + description: A timestamp that tells you when the configuration was created + example: 1558531915505 + id: + type: string + description: The unique identifier of the configuration + example: icfg_3bwCLgxL8qt5kjRLcv2Dit7F + integrationId: + type: string + description: The unique identifier of the app the configuration was created for + example: oac_xzpVzcUOgcB1nrVlirtKhbWV + ownerId: + type: string + description: The user or team ID that owns the configuration + example: kr1PsOIzqEL5Xg6M4VZcZosf + projects: + items: + type: string + type: array + description: 'When a configuration is limited to access certain projects, this will contain each of the project ID it is allowed to access. If it is not defined, the configuration has full access.' + example: + - prj_xQxbutw1HpL6HLYPAzt5h75m8NjO + source: + type: string + enum: + - marketplace + - deploy-button + - external + description: Source defines where the configuration was installed from. It is used to analyze user engagement for integration installations in product metrics. + example: marketplace + removedLogDrainsAt: + type: number + removedProjectEnvsAt: + type: number + removedTokensAt: + type: number + removedWebhooksAt: + type: number + slug: + type: string + description: The slug of the integration the configuration is created for. + example: slack + teamId: + nullable: true + type: string + description: 'When the configuration was created for a team, this will show the ID of the team.' + example: team_nLlpyC6RE1qxydlFKbrxDlud + type: + type: string + enum: + - integration-configuration + updatedAt: + type: number + description: A timestamp that tells you when the configuration was updated. + example: 1558531915505 + userId: + type: string + description: The ID of the user that created the configuration. + example: kr1PsOIzqEL5Xg6M4VZcZosf + scopes: + items: + type: string + type: array + description: The resources that are allowed to be accessed by the configuration. + example: + - 'read:project' + - 'read-write:log-drain' + scopesQueue: + items: + properties: + scopes: + properties: + added: + items: + type: string + enum: + - 'read:integration-configuration' + - 'read-write:integration-configuration' + - 'read:deployment' + - 'read-write:deployment' + - 'read-write:deployment-check' + - 'read:project' + - 'read-write:project' + - 'read-write:project-env-vars' + - 'read-write:global-project-env-vars' + - 'read:team' + - 'read:user' + - 'read-write:log-drain' + - 'read:domain' + - 'read-write:domain' + - 'read-write:edge-config' + - 'read-write:otel-endpoint' + - 'read:monitoring' + type: array + upgraded: + items: + type: string + enum: + - 'read:integration-configuration' + - 'read-write:integration-configuration' + - 'read:deployment' + - 'read-write:deployment' + - 'read-write:deployment-check' + - 'read:project' + - 'read-write:project' + - 'read-write:project-env-vars' + - 'read-write:global-project-env-vars' + - 'read:team' + - 'read:user' + - 'read-write:log-drain' + - 'read:domain' + - 'read-write:domain' + - 'read-write:edge-config' + - 'read-write:otel-endpoint' + - 'read:monitoring' + type: array + required: + - added + - upgraded + type: object + note: + type: string + requestedAt: + type: number + confirmedAt: + type: number + required: + - scopes + - note + - requestedAt + type: object + type: array + disabledAt: + type: number + description: 'A timestamp that tells you when the configuration was disabled. Note: Configurations can be disabled when the associated user loses access to a team. They do not function during this time until the configuration is ''transferred'', meaning the associated user is changed to one with access to the team.' + example: 1558531915505 + deletedAt: + nullable: true + type: number + description: A timestamp that tells you when the configuration was updated. + example: 1558531915505 + disabledReason: + type: string + enum: + - log-drain-high-error-rate + - log-drains-add-on-disabled-by-owner + - account-plan-downgrade + - disabled-by-admin + - original-owner-left-the-team + required: + - integration + - createdAt + - id + - integrationId + - ownerId + - slug + - type + - updatedAt + - userId + - scopes + type: object + type: array + '400': + description: One of the provided values in the request query is invalid. + '401': + description: '' + '403': + description: You do not have permission to access this resource. + parameters: + - name: view + in: query + required: true + schema: + type: string + enum: + - account + - project + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + '/v1/integrations/configuration/{id}': + get: + description: Allows to retrieve a the configuration with the provided id in case it exists. The authenticated user or team must be the owner of the config in order to access it. + operationId: getConfiguration + security: + - bearerToken: [] + summary: Retrieve an integration configuration + tags: + - integrations + responses: + '200': + description: '' + content: + application/json: + schema: + oneOf: + - properties: + completedAt: + type: number + description: A timestamp that tells you when the configuration was installed successfully + example: 1558531915505 + createdAt: + type: number + description: A timestamp that tells you when the configuration was created + example: 1558531915505 + id: + type: string + description: The unique identifier of the configuration + example: icfg_3bwCLgxL8qt5kjRLcv2Dit7F + integrationId: + type: string + description: The unique identifier of the app the configuration was created for + example: oac_xzpVzcUOgcB1nrVlirtKhbWV + ownerId: + type: string + description: The user or team ID that owns the configuration + example: kr1PsOIzqEL5Xg6M4VZcZosf + projects: + items: + type: string + type: array + description: 'When a configuration is limited to access certain projects, this will contain each of the project ID it is allowed to access. If it is not defined, the configuration has full access.' + example: + - prj_xQxbutw1HpL6HLYPAzt5h75m8NjO + source: + type: string + enum: + - marketplace + - deploy-button + - external + description: Source defines where the configuration was installed from. It is used to analyze user engagement for integration installations in product metrics. + example: marketplace + removedLogDrainsAt: + type: number + removedProjectEnvsAt: + type: number + removedTokensAt: + type: number + removedWebhooksAt: + type: number + slug: + type: string + description: The slug of the integration the configuration is created for. + example: slack + teamId: + nullable: true + type: string + description: 'When the configuration was created for a team, this will show the ID of the team.' + example: team_nLlpyC6RE1qxydlFKbrxDlud + type: + type: string + enum: + - integration-configuration + updatedAt: + type: number + description: A timestamp that tells you when the configuration was updated. + example: 1558531915505 + userId: + type: string + description: The ID of the user that created the configuration. + example: kr1PsOIzqEL5Xg6M4VZcZosf + scopes: + items: + type: string + type: array + description: The resources that are allowed to be accessed by the configuration. + example: + - 'read:project' + - 'read-write:log-drain' + scopesQueue: + items: + properties: + scopes: + properties: + added: + items: + type: string + enum: + - 'read:integration-configuration' + - 'read-write:integration-configuration' + - 'read:deployment' + - 'read-write:deployment' + - 'read-write:deployment-check' + - 'read:project' + - 'read-write:project' + - 'read-write:project-env-vars' + - 'read-write:global-project-env-vars' + - 'read:team' + - 'read:user' + - 'read-write:log-drain' + - 'read:domain' + - 'read-write:domain' + - 'read-write:edge-config' + - 'read-write:otel-endpoint' + - 'read:monitoring' + type: array + upgraded: + items: + type: string + enum: + - 'read:integration-configuration' + - 'read-write:integration-configuration' + - 'read:deployment' + - 'read-write:deployment' + - 'read-write:deployment-check' + - 'read:project' + - 'read-write:project' + - 'read-write:project-env-vars' + - 'read-write:global-project-env-vars' + - 'read:team' + - 'read:user' + - 'read-write:log-drain' + - 'read:domain' + - 'read-write:domain' + - 'read-write:edge-config' + - 'read-write:otel-endpoint' + - 'read:monitoring' + type: array + required: + - added + - upgraded + type: object + note: + type: string + requestedAt: + type: number + confirmedAt: + type: number + required: + - scopes + - note + - requestedAt + type: object + type: array + disabledAt: + type: number + description: 'A timestamp that tells you when the configuration was disabled. Note: Configurations can be disabled when the associated user loses access to a team. They do not function during this time until the configuration is ''transferred'', meaning the associated user is changed to one with access to the team.' + example: 1558531915505 + deletedAt: + nullable: true + type: number + description: A timestamp that tells you when the configuration was updated. + example: 1558531915505 + disabledReason: + type: string + enum: + - log-drain-high-error-rate + - log-drains-add-on-disabled-by-owner + - account-plan-downgrade + - disabled-by-admin + - original-owner-left-the-team + required: + - createdAt + - id + - integrationId + - ownerId + - slug + - type + - updatedAt + - userId + - scopes + type: object + - properties: + projectSelection: + type: string + enum: + - selected + - all + description: A string representing the permission for projects. Possible values are `all` or `selected`. + example: all + completedAt: + type: number + description: A timestamp that tells you when the configuration was installed successfully + example: 1558531915505 + createdAt: + type: number + description: A timestamp that tells you when the configuration was created + example: 1558531915505 + id: + type: string + description: The unique identifier of the configuration + example: icfg_3bwCLgxL8qt5kjRLcv2Dit7F + integrationId: + type: string + description: The unique identifier of the app the configuration was created for + example: oac_xzpVzcUOgcB1nrVlirtKhbWV + ownerId: + type: string + description: The user or team ID that owns the configuration + example: kr1PsOIzqEL5Xg6M4VZcZosf + projects: + items: + type: string + type: array + description: 'When a configuration is limited to access certain projects, this will contain each of the project ID it is allowed to access. If it is not defined, the configuration has full access.' + example: + - prj_xQxbutw1HpL6HLYPAzt5h75m8NjO + source: + type: string + enum: + - marketplace + - deploy-button + - external + description: Source defines where the configuration was installed from. It is used to analyze user engagement for integration installations in product metrics. + example: marketplace + removedLogDrainsAt: + type: number + removedProjectEnvsAt: + type: number + removedTokensAt: + type: number + removedWebhooksAt: + type: number + slug: + type: string + description: The slug of the integration the configuration is created for. + example: slack + teamId: + nullable: true + type: string + description: 'When the configuration was created for a team, this will show the ID of the team.' + example: team_nLlpyC6RE1qxydlFKbrxDlud + type: + type: string + enum: + - integration-configuration + updatedAt: + type: number + description: A timestamp that tells you when the configuration was updated. + example: 1558531915505 + userId: + type: string + description: The ID of the user that created the configuration. + example: kr1PsOIzqEL5Xg6M4VZcZosf + scopes: + items: + type: string + type: array + description: The resources that are allowed to be accessed by the configuration. + example: + - 'read:project' + - 'read-write:log-drain' + scopesQueue: + items: + properties: + scopes: + properties: + added: + items: + type: string + enum: + - 'read:integration-configuration' + - 'read-write:integration-configuration' + - 'read:deployment' + - 'read-write:deployment' + - 'read-write:deployment-check' + - 'read:project' + - 'read-write:project' + - 'read-write:project-env-vars' + - 'read-write:global-project-env-vars' + - 'read:team' + - 'read:user' + - 'read-write:log-drain' + - 'read:domain' + - 'read-write:domain' + - 'read-write:edge-config' + - 'read-write:otel-endpoint' + - 'read:monitoring' + type: array + upgraded: + items: + type: string + enum: + - 'read:integration-configuration' + - 'read-write:integration-configuration' + - 'read:deployment' + - 'read-write:deployment' + - 'read-write:deployment-check' + - 'read:project' + - 'read-write:project' + - 'read-write:project-env-vars' + - 'read-write:global-project-env-vars' + - 'read:team' + - 'read:user' + - 'read-write:log-drain' + - 'read:domain' + - 'read-write:domain' + - 'read-write:edge-config' + - 'read-write:otel-endpoint' + - 'read:monitoring' + type: array + required: + - added + - upgraded + type: object + note: + type: string + requestedAt: + type: number + confirmedAt: + type: number + required: + - scopes + - note + - requestedAt + type: object + type: array + disabledAt: + type: number + description: 'A timestamp that tells you when the configuration was disabled. Note: Configurations can be disabled when the associated user loses access to a team. They do not function during this time until the configuration is ''transferred'', meaning the associated user is changed to one with access to the team.' + example: 1558531915505 + deletedAt: + nullable: true + type: number + description: A timestamp that tells you when the configuration was updated. + example: 1558531915505 + disabledReason: + type: string + enum: + - log-drain-high-error-rate + - log-drains-add-on-disabled-by-owner + - account-plan-downgrade + - disabled-by-admin + - original-owner-left-the-team + canConfigureOpenTelemetry: + type: boolean + required: + - projectSelection + - createdAt + - id + - integrationId + - ownerId + - slug + - type + - updatedAt + - userId + - scopes + type: object + '400': + description: One of the provided values in the request query is invalid. + '401': + description: '' + '403': + description: You do not have permission to access this resource. + '404': + description: The configuration was not found + parameters: + - name: id + description: ID of the configuration to check + in: path + required: true + schema: + type: string + description: ID of the configuration to check + example: icfg_cuwj0AdCdH3BwWT4LPijCC7t + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + delete: + description: 'Allows to remove the configuration with the `id` provided in the parameters. The configuration and all of its resources will be removed. This includes Webhooks, LogDrains and Project Env variables.' + operationId: deleteConfiguration + security: + - bearerToken: [] + summary: Delete an integration configuration + tags: + - integrations + responses: + '204': + description: The configuration was successfully removed + '400': + description: One of the provided values in the request query is invalid. + '401': + description: '' + '403': + description: You do not have permission to access this resource. + '404': + description: The configuration was not found + parameters: + - name: id + description: ID of the configuration to delete + in: path + required: true + schema: + type: string + description: ID of the configuration to delete + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + /v1/integrations/git-namespaces: + get: + description: 'Lists git namespaces for a supported provider. Supported providers are `github`, `gitlab` and `bitbucket`. If the provider is not provided, it will try to obtain it from the user that authenticated the request.' + operationId: gitNamespaces + security: + - bearerToken: [] + summary: List git namespaces by provider + tags: + - integrations + responses: + '200': + description: '' + content: + application/json: + schema: + items: + properties: + provider: + type: string + slug: + type: string + id: + oneOf: + - type: string + - type: number + ownerType: + type: string + name: + type: string + isAccessRestricted: + type: boolean + installationId: + type: number + requireReauth: + type: boolean + required: + - provider + - slug + - id + - ownerType + type: object + type: array + '400': + description: One of the provided values in the request query is invalid. + '403': + description: You do not have permission to access this resource. + parameters: + - name: host + description: 'The custom Git host if using a custom Git provider, like GitHub Enterprise Server' + in: query + schema: + description: 'The custom Git host if using a custom Git provider, like GitHub Enterprise Server' + type: string + example: ghes-test.now.systems + - name: provider + in: query + schema: + type: string + enum: + - github + - github-custom-host + - gitlab + - bitbucket + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + /v1/integrations/search-repo: + get: + description: 'Lists git repositories linked to a namespace `id` for a supported provider. A specific namespace `id` can be obtained via the `git-namespaces` endpoint. Supported providers are `github`, `gitlab` and `bitbucket`. If the provider or namespace is not provided, it will try to obtain it from the user that authenticated the request.' + operationId: gitNamespaces + security: + - bearerToken: [] + summary: List git repositories linked to namespace by provider + tags: + - integrations + responses: + '200': + description: '' + content: + application/json: + schema: + properties: + gitAccount: + properties: + provider: + type: string + enum: + - github + - github-custom-host + - gitlab + - bitbucket + namespaceId: + nullable: true + oneOf: + - type: string + - type: number + required: + - provider + - namespaceId + type: object + repos: + items: + properties: + id: + oneOf: + - type: string + - type: number + provider: + type: string + enum: + - github + - github-custom-host + - gitlab + - bitbucket + url: + type: string + name: + type: string + slug: + type: string + namespace: + type: string + owner: + properties: + id: + oneOf: + - type: string + - type: number + name: + type: string + required: + - id + - name + type: object + ownerType: + type: string + enum: + - user + - team + private: + type: boolean + defaultBranch: + type: string + updatedAt: + type: number + required: + - id + - provider + - url + - name + - slug + - namespace + - owner + - ownerType + - private + - defaultBranch + - updatedAt + type: object + type: array + required: + - gitAccount + - repos + type: object + '400': + description: One of the provided values in the request query is invalid. + '403': + description: You do not have permission to access this resource. + parameters: + - name: query + in: query + schema: + type: string + - name: namespaceId + in: query + schema: + type: string + nullable: true + - name: provider + in: query + schema: + enum: + - github + - github-custom-host + - gitlab + - bitbucket + - name: installationId + in: query + schema: + type: string + - name: host + description: 'The custom Git host if using a custom Git provider, like GitHub Enterprise Server' + in: query + schema: + description: 'The custom Git host if using a custom Git provider, like GitHub Enterprise Server' + type: string + example: ghes-test.now.systems + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string diff --git a/providers/src/vercel/v00.00.00000/services/log_drains.yaml b/providers/src/vercel/v00.00.00000/services/log_drains.yaml new file mode 100644 index 00000000..00b667af --- /dev/null +++ b/providers/src/vercel/v00.00.00000/services/log_drains.yaml @@ -0,0 +1,907 @@ +openapi: 3.0.3 +servers: + - url: 'https://api.vercel.com' + description: Production API +info: + contact: + email: support@vercel.com + name: Vercel Support + url: 'https://vercel.com/support' + version: 0.0.1 + title: Vercel API - log_drains + description: logDrains +components: + schemas: {} + responses: {} + securitySchemes: + bearerToken: + type: http + description: Default authentication mechanism + scheme: bearer + oauth2: + type: oauth2 + flows: + authorizationCode: + authorizationUrl: 'https://api.vercel.com/oauth/authorize' + tokenUrl: 'https://api.vercel.com/oauth/access_token' + scopes: {} + x-stackQL-resources: + integrations: + id: vercel.log_drains.integrations + name: integrations + title: Integrations + methods: + get_integration_log_drains: + operation: + $ref: '#/paths/~1v2~1integrations~1log-drains/get' + response: + mediaType: application/json + openAPIDocKey: '200' + create_log_drain: + operation: + $ref: '#/paths/~1v2~1integrations~1log-drains/post' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_integration_log_drain: + operation: + $ref: '#/paths/~1v1~1integrations~1log-drains~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/integrations/methods/get_integration_log_drains' + insert: + - $ref: '#/components/x-stackQL-resources/integrations/methods/create_log_drain' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/integrations/methods/delete_integration_log_drain' + log_drains: + id: vercel.log_drains.log_drains + name: log_drains + title: Log Drains + methods: + get_configurable_log_drain: + operation: + $ref: '#/paths/~1v1~1log-drains~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_configurable_log_drain: + operation: + $ref: '#/paths/~1v1~1log-drains~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '200' + get_configurable_log_drains: + operation: + $ref: '#/paths/~1v1~1log-drains/get' + response: + mediaType: application/json + openAPIDocKey: '200' + create_configurable_log_drain: + operation: + $ref: '#/paths/~1v1~1log-drains/post' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/log_drains/methods/get_configurable_log_drain' + - $ref: '#/components/x-stackQL-resources/log_drains/methods/get_configurable_log_drains' + insert: + - $ref: '#/components/x-stackQL-resources/log_drains/methods/create_configurable_log_drain' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/log_drains/methods/delete_configurable_log_drain' +paths: + /v2/integrations/log-drains: + get: + description: 'Retrieves a list of all Integration log drains that are defined for the authenticated user or team. When using an OAuth2 token, the list is limited to log drains created by the authenticated integration.' + operationId: getIntegrationLogDrains + security: + - bearerToken: [] + summary: Retrieves a list of Integration log drains + tags: + - logDrains + responses: + '200': + description: A list of log drains + content: + application/json: + schema: + items: + properties: + clientId: + type: string + description: The oauth2 client application id that created this log drain + example: oac_xRhY4LAB7yLhUADD69EvV7ct + configurationId: + type: string + description: The client configuration this log drain was created with + example: icfg_cuwj0AdCdH3BwWT4LPijCC7t + createdAt: + type: number + description: A timestamp that tells you when the log drain was created + example: 1558531915505 + id: + type: string + description: The unique identifier of the log drain. Always prefixed with `ld_` + example: ld_nBuA7zCID8g4QZ8g + deliveryFormat: + type: string + enum: + - json + - ndjson + - syslog + description: The delivery log format + example: json + name: + type: string + description: The name of the log drain + example: My first log drain + ownerId: + type: string + description: The identifier of the team or user whose events will trigger the log drain + example: kr1PsOIzqEL5Xg6M4VZcZosf + projectId: + nullable: true + type: string + example: AbCgVkqoxXeXCDWehVir51LHGrrcWL4mkYm14W6UBPWQeb + projectIds: + items: + type: string + type: array + description: The identifier of the projects this log drain is associated with + example: AbCgVkqoxXeXCDWehVir51LHGrrcWL4mkYm14W6UBPWQeb + url: + type: string + description: The URL to call when logs are generated + example: 'https://example.com/log-drain' + sources: + items: + type: string + enum: + - static + - lambda + - build + - edge + - external + - deployment + description: The sources from which logs are currently being delivered to this log drain. + example: + - build + - edge + type: array + description: The sources from which logs are currently being delivered to this log drain. + example: + - build + - edge + createdFrom: + type: string + enum: + - self-served + - integration + description: Whether the log drain was created by an integration or by a user + example: integration + headers: + additionalProperties: + type: string + type: object + description: The headers to send with the request + example: '{"Authorization": "Bearer 123"}' + environment: + type: string + enum: + - preview + - production + description: The environment of log drain + example: production + branch: + type: string + description: The branch regexp of log drain + example: feature/* + required: + - createdAt + - id + - name + - ownerId + - url + type: object + type: array + '400': + description: '' + '401': + description: '' + '403': + description: You do not have permission to access this resource. + parameters: + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + post: + description: 'Creates an Integration log drain. This endpoint must be called with an OAuth2 client (integration), since log drains are tied to integrations. If it is called with a different token type it will produce a 400 error.' + operationId: createLogDrain + security: + - bearerToken: [] + summary: Creates a new Integration Log Drain + tags: + - logDrains + responses: + '200': + description: The log drain was successfully created + content: + application/json: + schema: + properties: + clientId: + type: string + description: The oauth2 client application id that created this log drain + example: oac_xRhY4LAB7yLhUADD69EvV7ct + configurationId: + type: string + description: The client configuration this log drain was created with + example: icfg_cuwj0AdCdH3BwWT4LPijCC7t + createdAt: + type: number + description: A timestamp that tells you when the log drain was created + example: 1558531915505 + id: + type: string + description: The unique identifier of the log drain. Always prefixed with `ld_` + example: ld_nBuA7zCID8g4QZ8g + deliveryFormat: + type: string + enum: + - json + - ndjson + - syslog + description: The delivery log format + example: json + name: + type: string + description: The name of the log drain + example: My first log drain + ownerId: + type: string + description: The identifier of the team or user whose events will trigger the log drain + example: kr1PsOIzqEL5Xg6M4VZcZosf + projectId: + nullable: true + type: string + example: AbCgVkqoxXeXCDWehVir51LHGrrcWL4mkYm14W6UBPWQeb + projectIds: + items: + type: string + type: array + description: The identifier of the projects this log drain is associated with + example: AbCgVkqoxXeXCDWehVir51LHGrrcWL4mkYm14W6UBPWQeb + url: + type: string + description: The URL to call when logs are generated + example: 'https://example.com/log-drain' + sources: + items: + type: string + enum: + - static + - lambda + - build + - edge + - external + - deployment + description: The sources from which logs are currently being delivered to this log drain. + example: + - build + - edge + type: array + description: The sources from which logs are currently being delivered to this log drain. + example: + - build + - edge + createdFrom: + type: string + enum: + - self-served + - integration + description: Whether the log drain was created by an integration or by a user + example: integration + headers: + additionalProperties: + type: string + type: object + description: The headers to send with the request + example: '{"Authorization": "Bearer 123"}' + environment: + type: string + enum: + - preview + - production + description: The environment of log drain + example: production + branch: + type: string + description: The branch regexp of log drain + example: feature/* + required: + - createdAt + - id + - name + - ownerId + - url + type: object + '400': + description: |- + One of the provided values in the request body is invalid. + The provided token is not from an OAuth2 Client + '401': + description: '' + '403': + description: You do not have permission to access this resource. + parameters: + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + properties: + name: + description: The name of the log drain + example: My first log drain + maxLength: 100 + pattern: '^[A-z0-9_ -]+$' + type: string + projectIds: + minItems: 1 + maxItems: 50 + type: array + items: + pattern: '^[a-zA-z0-9_]+$' + type: string + secret: + description: A secret to sign log drain notification headers so a consumer can verify their authenticity + example: a1Xsfd325fXcs + maxLength: 100 + pattern: '^[A-z0-9_ -]+$' + type: string + deliveryFormat: + description: The delivery log format + example: json + enum: + - json + - ndjson + - syslog + url: + description: 'The url where you will receive logs. The protocol must be `https://` or `http://` when type is `json` and `ndjson`, and `syslog+tls:` or `syslog:` when the type is `syslog`.' + example: 'https://example.com/log-drain' + format: uri + pattern: '^(https?|syslog\\+tls|syslog)://' + type: string + sources: + type: array + uniqueItems: true + items: + type: string + enum: + - static + - lambda + - build + - edge + - external + minItems: 1 + headers: + description: Headers to be sent together with the request + type: object + additionalProperties: + type: string + environment: + description: The environment of log drain + example: production + enum: + - preview + - production + branch: + description: The branch regexp of log drain + example: feature/* + type: string + previousLogDrainId: + description: The id of the log drain that was previously created and deleted + example: ld_1 + type: string + required: + - name + - url + type: object + '/v1/integrations/log-drains/{id}': + delete: + description: 'Deletes the Integration log drain with the provided `id`. When using an OAuth2 Token, the log drain can be deleted only if the integration owns it.' + operationId: deleteIntegrationLogDrain + security: + - bearerToken: [] + summary: Deletes the Integration log drain with the provided `id` + tags: + - logDrains + responses: + '204': + description: The log drain was successfully deleted + '400': + description: One of the provided values in the request query is invalid. + '401': + description: '' + '403': + description: You do not have permission to access this resource. + '404': + description: The log drain was not found + parameters: + - name: id + description: ID of the log drain to be deleted + in: path + required: true + schema: + description: ID of the log drain to be deleted + type: string + - name: updateFlow + description: 'If this API is being called as part of an update flow, this should be set to true' + in: query + required: false + schema: + description: 'If this API is being called as part of an update flow, this should be set to true' + type: boolean + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + '/v1/log-drains/{id}': + get: + description: Retrieves a Configurable Log Drain. This endpoint must be called with a team AccessToken (integration OAuth2 clients are not allowed). Only log drains owned by the authenticated team can be accessed. + operationId: getConfigurableLogDrain + security: + - bearerToken: [] + summary: Retrieves a Configurable Log Drain + tags: + - logDrains + responses: + '200': + description: '' + content: + application/json: + schema: + properties: + id: + type: string + deliveryFormat: + type: string + enum: + - json + - ndjson + - syslog + url: + type: string + name: + type: string + clientId: + type: string + configurationId: + type: string + teamId: + nullable: true + type: string + ownerId: + type: string + projectIds: + items: + type: string + type: array + createdAt: + type: number + sources: + items: + type: string + enum: + - static + - lambda + - build + - edge + - external + - deployment + type: array + headers: + additionalProperties: + type: string + type: object + environment: + type: string + enum: + - production + - preview + branch: + type: string + status: + type: string + enum: + - enabled + - disabled + - errored + disabledAt: + type: number + disabledReason: + type: string + enum: + - log-drain-high-error-rate + - log-drains-add-on-disabled-by-owner + - disabled-by-admin + - account-plan-downgrade + disabledBy: + type: string + firstErrorTimestamp: + type: number + secret: + type: string + createdFrom: + type: string + enum: + - self-served + required: + - id + - deliveryFormat + - url + - name + - ownerId + - createdAt + - secret + type: object + '400': + description: One of the provided values in the request query is invalid. + '401': + description: '' + '403': + description: You do not have permission to access this resource. + '404': + description: '' + parameters: + - name: id + description: ID of the log drain. + in: path + required: true + schema: + type: string + description: ID of the log drain. + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + delete: + description: Deletes a Configurable Log Drain. This endpoint must be called with a team AccessToken (integration OAuth2 clients are not allowed). Only log drains owned by the authenticated team can be deleted. + operationId: deleteConfigurableLogDrain + security: + - bearerToken: [] + summary: Deletes a Configurable Log Drain + tags: + - logDrains + responses: + '204': + description: '' + '400': + description: One of the provided values in the request query is invalid. + '401': + description: '' + '403': + description: You do not have permission to access this resource. + '404': + description: '' + parameters: + - name: id + description: ID of the log drain to be deleted. + in: path + required: true + schema: + type: string + description: ID of the log drain to be deleted. + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + /v1/log-drains: + get: + description: Retrieves a list of Configurable Log Drains. This endpoint must be called with a team AccessToken (integration OAuth2 clients are not allowed). Only log drains owned by the authenticated team can be accessed. + operationId: getConfigurableLogDrains + security: + - bearerToken: [] + summary: Retrieves a list of Configurable Log Drains + tags: + - logDrains + responses: + '200': + description: '' + content: + application/json: + schema: + items: + properties: + id: + type: string + deliveryFormat: + type: string + enum: + - json + - ndjson + - syslog + url: + type: string + name: + type: string + clientId: + type: string + configurationId: + type: string + teamId: + nullable: true + type: string + ownerId: + type: string + projectIds: + items: + type: string + type: array + createdAt: + type: number + sources: + items: + type: string + enum: + - static + - lambda + - build + - edge + - external + - deployment + type: array + headers: + additionalProperties: + type: string + type: object + environment: + type: string + enum: + - production + - preview + branch: + type: string + status: + type: string + enum: + - enabled + - disabled + - errored + disabledAt: + type: number + disabledReason: + type: string + enum: + - log-drain-high-error-rate + - log-drains-add-on-disabled-by-owner + - disabled-by-admin + - account-plan-downgrade + disabledBy: + type: string + firstErrorTimestamp: + type: number + secret: + type: string + createdFrom: + type: string + enum: + - self-served + required: + - id + - deliveryFormat + - url + - name + - ownerId + - createdAt + - secret + type: object + type: array + '400': + description: One of the provided values in the request query is invalid. + '401': + description: '' + '403': + description: You do not have permission to access this resource. + parameters: + - name: projectId + in: query + schema: + pattern: '^[a-zA-z0-9_]+$' + type: string + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + post: + description: Creates a configurable log drain. This endpoint must be called with a team AccessToken (integration OAuth2 clients are not allowed) + operationId: createConfigurableLogDrain + security: + - bearerToken: [] + summary: Creates a Configurable Log Drain + tags: + - logDrains + responses: + '200': + description: '' + content: + application/json: + schema: + properties: + secret: + type: string + description: The secret to validate the log-drain payload + id: + type: string + deliveryFormat: + type: string + enum: + - json + - ndjson + - syslog + url: + type: string + name: + type: string + clientId: + type: string + configurationId: + type: string + teamId: + nullable: true + type: string + ownerId: + type: string + projectIds: + items: + type: string + type: array + createdAt: + type: number + sources: + items: + type: string + enum: + - static + - lambda + - build + - edge + - external + - deployment + type: array + headers: + additionalProperties: + type: string + type: object + environment: + type: string + enum: + - production + - preview + branch: + type: string + status: + type: string + enum: + - enabled + - disabled + - errored + disabledAt: + type: number + disabledReason: + type: string + enum: + - log-drain-high-error-rate + - log-drains-add-on-disabled-by-owner + - disabled-by-admin + - account-plan-downgrade + disabledBy: + type: string + firstErrorTimestamp: + type: number + createdFrom: + type: string + enum: + - self-served + required: + - id + - deliveryFormat + - url + - name + - ownerId + - createdAt + type: object + '400': + description: One of the provided values in the request body is invalid. + '401': + description: '' + '403': + description: You do not have permission to access this resource. + parameters: + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + type: object + additionalProperties: false + required: + - deliveryFormat + - url + - sources + properties: + deliveryFormat: + description: The delivery log format + example: json + enum: + - json + - ndjson + url: + description: The log drain url + format: uri + pattern: '^(http|https)?://' + type: string + headers: + description: Headers to be sent together with the request + type: object + additionalProperties: + type: string + projectIds: + minItems: 1 + maxItems: 50 + type: array + items: + pattern: '^[a-zA-z0-9_]+$' + type: string + sources: + type: array + uniqueItems: true + items: + type: string + enum: + - static + - lambda + - build + - edge + - external + minItems: 1 + environment: + description: The environment of log drain + example: production + enum: + - preview + - production + branch: + description: The branch regexp of log drain + example: feature/* + type: string + secret: + description: Custom secret of log drain + type: string diff --git a/providers/src/vercel/v00.00.00000/services/project_members.yaml b/providers/src/vercel/v00.00.00000/services/project_members.yaml new file mode 100644 index 00000000..dcf88a22 --- /dev/null +++ b/providers/src/vercel/v00.00.00000/services/project_members.yaml @@ -0,0 +1,345 @@ +openapi: 3.0.3 +servers: + - url: 'https://api.vercel.com' + description: Production API +info: + contact: + email: support@vercel.com + name: Vercel Support + url: 'https://vercel.com/support' + version: 0.0.1 + title: Vercel API - project_members + description: projectMembers +components: + schemas: {} + responses: {} + securitySchemes: + bearerToken: + type: http + description: Default authentication mechanism + scheme: bearer + oauth2: + type: oauth2 + flows: + authorizationCode: + authorizationUrl: 'https://api.vercel.com/oauth/authorize' + tokenUrl: 'https://api.vercel.com/oauth/access_token' + scopes: {} + x-stackQL-resources: + projects_members: + id: vercel.project_members.projects_members + name: projects_members + title: Projects Members + methods: + get_project_members: + operation: + $ref: '#/paths/~1v1~1projects~1{idOrName}~1members/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.members + _get_project_members: + operation: + $ref: '#/paths/~1v1~1projects~1{idOrName}~1members/get' + response: + mediaType: application/json + openAPIDocKey: '200' + add_project_member: + operation: + $ref: '#/paths/~1v1~1projects~1{idOrName}~1members/post' + response: + mediaType: application/json + openAPIDocKey: '200' + remove_project_member: + operation: + $ref: '#/paths/~1v1~1projects~1{idOrName}~1members~1{uid}/delete' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/projects_members/methods/get_project_members' + insert: [] + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/projects_members/methods/remove_project_member' +paths: + '/v1/projects/{idOrName}/members': + get: + description: Lists all members of a project. + operationId: getProjectMembers + security: + - bearerToken: [] + summary: List project members + tags: + - projectMembers + responses: + '200': + description: Paginated list of members for the project. + content: + application/json: + schema: + oneOf: + - type: object + - properties: + members: + items: + properties: + avatar: + type: string + description: ID of the file for the Avatar of this member. + example: 123a6c5209bc3778245d011443644c8d27dc2c50 + email: + type: string + description: The email of this member. + example: jane.doe@example.com + role: + type: string + enum: + - ADMIN + - PROJECT_DEVELOPER + - PROJECT_VIEWER + description: Role of this user in the project. + example: ADMIN + uid: + type: string + description: The ID of this user. + example: zTuNVUXEAvvnNN3IaqinkyMw + username: + type: string + description: The unique username of this user. + example: jane-doe + name: + type: string + description: The name of this user. + example: Jane Doe + createdAt: + type: number + description: Timestamp in milliseconds when this member was added. + example: 1588720733602 + required: + - email + - role + - uid + - username + - createdAt + type: object + type: array + pagination: + properties: + hasNext: + type: boolean + count: + type: number + description: Amount of items in the current page. + example: 20 + next: + nullable: true + type: number + description: Timestamp that must be used to request the next page. + example: 1540095775951 + prev: + nullable: true + type: number + description: Timestamp that must be used to request the previous page. + example: 1540095775951 + required: + - hasNext + - count + - next + - prev + type: object + required: + - members + - pagination + type: object + description: Paginated list of members for the project. + '400': + description: One of the provided values in the request query is invalid. + '401': + description: '' + '403': + description: You do not have permission to access this resource. + parameters: + - name: idOrName + description: The ID or name of the Project. + in: path + required: true + schema: + type: string + description: The ID or name of the Project. + example: prj_pavWOn1iLObbXLRiwVvzmPrTWyTf + - name: limit + description: Limit how many project members should be returned + in: query + required: false + schema: + description: Limit how many project members should be returned + example: 20 + type: integer + minimum: 1 + maximum: 100 + - name: since + description: Timestamp in milliseconds to only include members added since then. + in: query + required: false + schema: + description: Timestamp in milliseconds to only include members added since then. + example: 1540095775951 + type: integer + - name: until + description: Timestamp in milliseconds to only include members added until then. + in: query + required: false + schema: + description: Timestamp in milliseconds to only include members added until then. + example: 1540095775951 + type: integer + - name: search + description: 'Search project members by their name, username, and email.' + in: query + required: false + schema: + description: 'Search project members by their name, username, and email.' + type: string + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + post: + description: Adds a new member to the project. + operationId: addProjectMember + security: + - bearerToken: [] + summary: Adds a new member to a project. + tags: + - projectMembers + responses: + '200': + description: Responds with the project ID on success. + content: + application/json: + schema: + properties: + id: + type: string + required: + - id + type: object + description: Responds with the project ID on success. + '400': + description: |- + One of the provided values in the request body is invalid. + One of the provided values in the request query is invalid. + '401': + description: '' + '403': + description: You do not have permission to access this resource. + '500': + description: '' + parameters: + - name: idOrName + description: The ID or name of the Project. + in: path + required: true + schema: + type: string + description: The ID or name of the Project. + example: prj_pavWOn1iLObbXLRiwVvzmPrTWyTf + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + type: object + additionalProperties: false + required: + - role + oneOf: + - required: + - uid + - required: + - username + - required: + - email + properties: + uid: + type: string + maxLength: 256 + example: ndlgr43fadlPyCtREAqxxdyFK + description: The ID of the team member that should be added to this project. + username: + type: string + maxLength: 256 + example: example + description: The username of the team member that should be added to this project. + email: + type: string + format: email + example: entity@example.com + description: The email of the team member that should be added to this project. + role: + type: string + enum: + - ADMIN + - PROJECT_DEVELOPER + - PROJECT_VIEWER + example: ADMIN + description: The project role of the member that will be added. + '/v1/projects/{idOrName}/members/{uid}': + delete: + description: Remove a member from a specific project + operationId: removeProjectMember + security: + - bearerToken: [] + summary: Remove a Project Member + tags: + - projectMembers + responses: + '200': + description: '' + content: + application/json: + schema: + properties: + id: + type: string + required: + - id + type: object + '400': + description: One of the provided values in the request query is invalid. + '401': + description: '' + '403': + description: You do not have permission to access this resource. + parameters: + - name: idOrName + description: The ID or name of the Project. + in: path + required: true + schema: + type: string + description: The ID or name of the Project. + example: prj_pavWOn1iLObbXLRiwVvzmPrTWyTf + - name: uid + description: The user ID of the member. + in: path + required: true + schema: + type: string + description: The user ID of the member. + example: ndlgr43fadlPyCtREAqxxdyFK + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string diff --git a/providers/src/vercel/v00.00.00000/services/projects.yaml b/providers/src/vercel/v00.00.00000/services/projects.yaml new file mode 100644 index 00000000..7392c3e9 --- /dev/null +++ b/providers/src/vercel/v00.00.00000/services/projects.yaml @@ -0,0 +1,11897 @@ +openapi: 3.0.3 +servers: + - url: 'https://api.vercel.com' + description: Production API +info: + contact: + email: support@vercel.com + name: Vercel Support + url: 'https://vercel.com/support' + version: 0.0.1 + title: Vercel API - projects + description: projects +components: + schemas: + ACLAction: + type: string + enum: + - create + - delete + - read + - update + - list + description: Enum containing the actions that can be performed against a resource. Group operations are included. + Pagination: + properties: + count: + type: number + description: Amount of items in the current page. + example: 20 + next: + nullable: true + type: number + description: Timestamp that must be used to request the next page. + example: 1540095775951 + prev: + nullable: true + type: number + description: Timestamp that must be used to request the previous page. + example: 1540095775951 + required: + - count + - next + - prev + type: object + description: 'This object contains information related to the pagination of the current request, including the necessary parameters to get the next or previous page of data.' + responses: {} + securitySchemes: + bearerToken: + type: http + description: Default authentication mechanism + scheme: bearer + oauth2: + type: oauth2 + flows: + authorizationCode: + authorizationUrl: 'https://api.vercel.com/oauth/authorize' + tokenUrl: 'https://api.vercel.com/oauth/access_token' + scopes: {} + x-stackQL-resources: + projects: + id: vercel.projects.projects + name: projects + title: Projects + methods: + update_project_data_cache: + operation: + $ref: '#/paths/~1v1~1data-cache~1projects~1{projectId}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + get_projects: + operation: + $ref: '#/paths/~1v9~1projects/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.projects + _get_projects: + operation: + $ref: '#/paths/~1v9~1projects/get' + response: + mediaType: application/json + openAPIDocKey: '200' + create_project: + operation: + $ref: '#/paths/~1v9~1projects/post' + response: + mediaType: application/json + openAPIDocKey: '200' + get_project: + operation: + $ref: '#/paths/~1v9~1projects~1{idOrName}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_project: + operation: + $ref: '#/paths/~1v9~1projects~1{idOrName}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_project: + operation: + $ref: '#/paths/~1v9~1projects~1{idOrName}/delete' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/projects/methods/get_project' + - $ref: '#/components/x-stackQL-resources/projects/methods/get_projects' + insert: + - $ref: '#/components/x-stackQL-resources/projects/methods/create_project' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/projects/methods/delete_project' + domains: + id: vercel.projects.domains + name: domains + title: Domains + methods: + get_project_domains: + operation: + $ref: '#/paths/~1v9~1projects~1{idOrName}~1domains/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.domains + _get_project_domains: + operation: + $ref: '#/paths/~1v9~1projects~1{idOrName}~1domains/get' + response: + mediaType: application/json + openAPIDocKey: '200' + get_project_domain: + operation: + $ref: '#/paths/~1v9~1projects~1{idOrName}~1domains~1{domain}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_project_domain: + operation: + $ref: '#/paths/~1v9~1projects~1{idOrName}~1domains~1{domain}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + remove_project_domain: + operation: + $ref: '#/paths/~1v9~1projects~1{idOrName}~1domains~1{domain}/delete' + response: + mediaType: application/json + openAPIDocKey: '200' + add_project_domain: + operation: + $ref: '#/paths/~1v10~1projects~1{idOrName}~1domains/post' + response: + mediaType: application/json + openAPIDocKey: '200' + verify_project_domain: + operation: + $ref: '#/paths/~1v9~1projects~1{idOrName}~1domains~1{domain}~1verify/post' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/domains/methods/get_project_domain' + - $ref: '#/components/x-stackQL-resources/domains/methods/get_project_domains' + insert: [] + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/domains/methods/remove_project_domain' + env: + id: vercel.projects.env + name: env + title: Env + methods: + filter_project_envs: + operation: + $ref: '#/paths/~1v9~1projects~1{idOrName}~1env/get' + response: + mediaType: application/json + openAPIDocKey: '200' + get_project_env: + operation: + $ref: '#/paths/~1v1~1projects~1{idOrName}~1env~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + create_project_env: + operation: + $ref: '#/paths/~1v10~1projects~1{idOrName}~1env/post' + response: + mediaType: application/json + openAPIDocKey: '200' + remove_project_env: + operation: + $ref: '#/paths/~1v9~1projects~1{idOrName}~1env~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '200' + edit_project_env: + operation: + $ref: '#/paths/~1v9~1projects~1{idOrName}~1env~1{id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/env/methods/get_project_env' + insert: + - $ref: '#/components/x-stackQL-resources/env/methods/create_project_env' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/env/methods/remove_project_env' +paths: + '/v1/data-cache/projects/{projectId}': + patch: + description: Update the data cache feature on a project. + operationId: updateProjectDataCache + security: + - bearerToken: [] + summary: Update the data cache feature + tags: + - projects + responses: + '200': + description: '' + content: + application/json: + schema: + properties: + accountId: + type: string + analytics: + properties: + id: + type: string + canceledAt: + nullable: true + type: number + disabledAt: + type: number + enabledAt: + type: number + paidAt: + type: number + sampleRatePercent: + nullable: true + type: number + spendLimitInDollars: + nullable: true + type: number + required: + - id + - canceledAt + - disabledAt + - enabledAt + type: object + autoExposeSystemEnvs: + type: boolean + autoAssignCustomDomains: + type: boolean + autoAssignCustomDomainsUpdatedBy: + type: string + buildCommand: + nullable: true + type: string + commandForIgnoringBuildStep: + nullable: true + type: string + connectConfigurationId: + nullable: true + type: string + connectBuildsEnabled: + type: boolean + createdAt: + type: number + customerSupportCodeVisibility: + type: boolean + crons: + properties: + enabledAt: + type: number + description: 'The time the feature was enabled for this project. Note: It enables automatically with the first Deployment that outputs cronjobs.' + disabledAt: + nullable: true + type: number + description: The time the feature was disabled for this project. + updatedAt: + type: number + deploymentId: + nullable: true + type: string + description: The ID of the Deployment from which the definitions originated. + definitions: + items: + properties: + host: + type: string + description: The hostname that should be used. + example: vercel.com + path: + type: string + description: The path that should be called for the cronjob. + example: /api/crons/sync-something?hello=world + schedule: + type: string + description: The cron expression. + example: 0 0 * * * + required: + - host + - path + - schedule + type: object + type: array + required: + - enabledAt + - disabledAt + - updatedAt + - deploymentId + - definitions + type: object + dataCache: + properties: + userDisabled: + type: boolean + storageSizeBytes: + nullable: true + type: number + unlimited: + type: boolean + required: + - userDisabled + type: object + devCommand: + nullable: true + type: string + directoryListing: + type: boolean + installCommand: + nullable: true + type: string + env: + items: + properties: + target: + oneOf: + - items: + type: string + enum: + - production + - preview + - development + - preview + - development + type: array + - type: string + enum: + - production + - preview + - development + - preview + - development + type: + type: string + enum: + - secret + - system + - encrypted + - plain + - sensitive + id: + type: string + key: + type: string + value: + type: string + configurationId: + nullable: true + type: string + createdAt: + type: number + updatedAt: + type: number + createdBy: + nullable: true + type: string + updatedBy: + nullable: true + type: string + gitBranch: + type: string + edgeConfigId: + nullable: true + type: string + edgeConfigTokenId: + nullable: true + type: string + contentHint: + nullable: true + oneOf: + - properties: + type: + type: string + enum: + - redis-url + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - redis-rest-api-url + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - redis-rest-api-token + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - redis-rest-api-read-only-token + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - blob-read-write-token + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-url + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-url-non-pooling + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-prisma-url + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-user + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-host + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-password + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-database + storeId: + type: string + required: + - type + - storeId + type: object + decrypted: + type: boolean + description: Whether `value` is decrypted. + required: + - type + - key + - value + type: object + type: array + framework: + nullable: true + type: string + enum: + - blitzjs + - nextjs + - gatsby + - remix + - astro + - hexo + - eleventy + - docusaurus-2 + - docusaurus + - preact + - solidstart + - dojo + - ember + - vue + - scully + - ionic-angular + - angular + - polymer + - svelte + - sveltekit + - sveltekit-1 + - ionic-react + - create-react-app + - gridsome + - umijs + - sapper + - saber + - stencil + - nuxtjs + - redwoodjs + - hugo + - jekyll + - brunch + - middleman + - zola + - hydrogen + - vite + - vitepress + - vuepress + - parcel + - sanity + - storybook + gitForkProtection: + type: boolean + gitLFS: + type: boolean + id: + type: string + latestDeployments: + items: + properties: + alias: + items: + type: string + type: array + aliasAssigned: + nullable: true + oneOf: + - type: number + - type: boolean + aliasError: + nullable: true + properties: + code: + type: string + message: + type: string + required: + - code + - message + type: object + aliasFinal: + nullable: true + type: string + automaticAliases: + items: + type: string + type: array + builds: + items: + properties: + use: + type: string + src: + type: string + dest: + type: string + required: + - use + type: object + type: array + connectBuildsEnabled: + type: boolean + connectConfigurationId: + type: string + createdAt: + type: number + createdIn: + type: string + creator: + nullable: true + properties: + email: + type: string + githubLogin: + type: string + gitlabLogin: + type: string + uid: + type: string + username: + type: string + required: + - email + - uid + - username + type: object + deploymentHostname: + type: string + name: + type: string + forced: + type: boolean + id: + type: string + meta: + additionalProperties: + type: string + type: object + monorepoManager: + nullable: true + type: string + plan: + type: string + enum: + - pro + - enterprise + - hobby + - oss + private: + type: boolean + readyState: + type: string + enum: + - BUILDING + - ERROR + - INITIALIZING + - QUEUED + - READY + - CANCELED + readySubstate: + type: string + enum: + - STAGED + - PROMOTED + requestedAt: + type: number + target: + nullable: true + type: string + teamId: + nullable: true + type: string + type: + type: string + enum: + - LAMBDAS + url: + type: string + userId: + type: string + withCache: + type: boolean + checksConclusion: + type: string + enum: + - succeeded + - failed + - skipped + - canceled + checksState: + type: string + enum: + - registered + - running + - completed + readyAt: + type: number + buildingAt: + type: number + previewCommentsEnabled: + type: boolean + description: Whether or not preview comments are enabled for the deployment + example: false + required: + - createdAt + - createdIn + - creator + - deploymentHostname + - name + - id + - plan + - private + - readyState + - type + - url + - userId + type: object + type: array + link: + oneOf: + - properties: + org: + type: string + repo: + type: string + repoId: + type: number + type: + type: string + enum: + - github + createdAt: + type: number + deployHooks: + items: + properties: + createdAt: + type: number + id: + type: string + name: + type: string + ref: + type: string + url: + type: string + required: + - id + - name + - ref + - url + type: object + type: array + gitCredentialId: + type: string + updatedAt: + type: number + sourceless: + type: boolean + productionBranch: + type: string + required: + - deployHooks + type: object + - properties: + projectId: + type: string + projectName: + type: string + projectNameWithNamespace: + type: string + projectNamespace: + type: string + projectUrl: + type: string + type: + type: string + enum: + - gitlab + createdAt: + type: number + deployHooks: + items: + properties: + createdAt: + type: number + id: + type: string + name: + type: string + ref: + type: string + url: + type: string + required: + - id + - name + - ref + - url + type: object + type: array + gitCredentialId: + type: string + updatedAt: + type: number + sourceless: + type: boolean + productionBranch: + type: string + required: + - deployHooks + type: object + - properties: + name: + type: string + slug: + type: string + owner: + type: string + type: + type: string + enum: + - bitbucket + uuid: + type: string + workspaceUuid: + type: string + createdAt: + type: number + deployHooks: + items: + properties: + createdAt: + type: number + id: + type: string + name: + type: string + ref: + type: string + url: + type: string + required: + - id + - name + - ref + - url + type: object + type: array + gitCredentialId: + type: string + updatedAt: + type: number + sourceless: + type: boolean + productionBranch: + type: string + required: + - deployHooks + type: object + name: + type: string + nodeVersion: + type: string + enum: + - 18.x + - 16.x + - 14.x + - 12.x + - 10.x + outputDirectory: + nullable: true + type: string + passwordProtection: + nullable: true + type: object + productionDeploymentsFastLane: + type: boolean + publicSource: + nullable: true + type: boolean + rootDirectory: + nullable: true + type: string + serverlessFunctionRegion: + nullable: true + type: string + skipGitConnectDuringLink: + type: boolean + sourceFilesOutsideRootDirectory: + type: boolean + ssoProtection: + nullable: true + properties: + deploymentType: + type: string + enum: + - all + - preview + - prod_deployment_urls_and_all_previews + required: + - deploymentType + type: object + targets: + additionalProperties: + nullable: true + properties: + alias: + items: + type: string + type: array + aliasAssigned: + nullable: true + oneOf: + - type: number + - type: boolean + aliasError: + nullable: true + properties: + code: + type: string + message: + type: string + required: + - code + - message + type: object + aliasFinal: + nullable: true + type: string + automaticAliases: + items: + type: string + type: array + builds: + items: + properties: + use: + type: string + src: + type: string + dest: + type: string + required: + - use + type: object + type: array + connectBuildsEnabled: + type: boolean + connectConfigurationId: + type: string + createdAt: + type: number + createdIn: + type: string + creator: + nullable: true + properties: + email: + type: string + githubLogin: + type: string + gitlabLogin: + type: string + uid: + type: string + username: + type: string + required: + - email + - uid + - username + type: object + deploymentHostname: + type: string + name: + type: string + forced: + type: boolean + id: + type: string + meta: + additionalProperties: + type: string + type: object + monorepoManager: + nullable: true + type: string + plan: + type: string + enum: + - pro + - enterprise + - hobby + - oss + private: + type: boolean + readyState: + type: string + enum: + - BUILDING + - ERROR + - INITIALIZING + - QUEUED + - READY + - CANCELED + readySubstate: + type: string + enum: + - STAGED + - PROMOTED + requestedAt: + type: number + target: + nullable: true + type: string + teamId: + nullable: true + type: string + type: + type: string + enum: + - LAMBDAS + url: + type: string + userId: + type: string + withCache: + type: boolean + checksConclusion: + type: string + enum: + - succeeded + - failed + - skipped + - canceled + checksState: + type: string + enum: + - registered + - running + - completed + readyAt: + type: number + buildingAt: + type: number + previewCommentsEnabled: + type: boolean + description: Whether or not preview comments are enabled for the deployment + example: false + required: + - createdAt + - createdIn + - creator + - deploymentHostname + - name + - id + - plan + - private + - readyState + - type + - url + - userId + type: object + type: object + transferCompletedAt: + type: number + transferStartedAt: + type: number + transferToAccountId: + type: string + transferredFromAccountId: + type: string + updatedAt: + type: number + live: + type: boolean + enablePreviewFeedback: + nullable: true + type: boolean + permissions: + properties: + aliasGlobal: + items: + $ref: '#/components/schemas/ACLAction' + type: array + analyticsSampling: + items: + $ref: '#/components/schemas/ACLAction' + type: array + analyticsUsage: + items: + $ref: '#/components/schemas/ACLAction' + type: array + auditLog: + items: + $ref: '#/components/schemas/ACLAction' + type: array + billingAddress: + items: + $ref: '#/components/schemas/ACLAction' + type: array + billingInformation: + items: + $ref: '#/components/schemas/ACLAction' + type: array + billingInvoice: + items: + $ref: '#/components/schemas/ACLAction' + type: array + billingInvoiceEmailRecipient: + items: + $ref: '#/components/schemas/ACLAction' + type: array + billingInvoiceLanguage: + items: + $ref: '#/components/schemas/ACLAction' + type: array + billingPlan: + items: + $ref: '#/components/schemas/ACLAction' + type: array + billingPurchaseOrder: + items: + $ref: '#/components/schemas/ACLAction' + type: array + billingTaxId: + items: + $ref: '#/components/schemas/ACLAction' + type: array + blob: + items: + $ref: '#/components/schemas/ACLAction' + type: array + budget: + items: + $ref: '#/components/schemas/ACLAction' + type: array + cacheArtifact: + items: + $ref: '#/components/schemas/ACLAction' + type: array + cacheArtifactUsageEvent: + items: + $ref: '#/components/schemas/ACLAction' + type: array + concurrentBuilds: + items: + $ref: '#/components/schemas/ACLAction' + type: array + connect: + items: + $ref: '#/components/schemas/ACLAction' + type: array + connectConfiguration: + items: + $ref: '#/components/schemas/ACLAction' + type: array + domain: + items: + $ref: '#/components/schemas/ACLAction' + type: array + domainAcceptDelegation: + items: + $ref: '#/components/schemas/ACLAction' + type: array + domainAuthCodes: + items: + $ref: '#/components/schemas/ACLAction' + type: array + domainCertificate: + items: + $ref: '#/components/schemas/ACLAction' + type: array + domainCheckConfig: + items: + $ref: '#/components/schemas/ACLAction' + type: array + domainMove: + items: + $ref: '#/components/schemas/ACLAction' + type: array + domainPurchase: + items: + $ref: '#/components/schemas/ACLAction' + type: array + domainRecord: + items: + $ref: '#/components/schemas/ACLAction' + type: array + domainTransferIn: + items: + $ref: '#/components/schemas/ACLAction' + type: array + event: + items: + $ref: '#/components/schemas/ACLAction' + type: array + ownEvent: + items: + $ref: '#/components/schemas/ACLAction' + type: array + sensitiveEnvironmentVariablePolicy: + items: + $ref: '#/components/schemas/ACLAction' + type: array + fileUpload: + items: + $ref: '#/components/schemas/ACLAction' + type: array + gitRepository: + items: + $ref: '#/components/schemas/ACLAction' + type: array + ipBlocking: + items: + $ref: '#/components/schemas/ACLAction' + type: array + integration: + items: + $ref: '#/components/schemas/ACLAction' + type: array + integrationConfiguration: + items: + $ref: '#/components/schemas/ACLAction' + type: array + integrationConfigurationTransfer: + items: + $ref: '#/components/schemas/ACLAction' + type: array + integrationConfigurationProjects: + items: + $ref: '#/components/schemas/ACLAction' + type: array + integrationVercelConfigurationOverride: + items: + $ref: '#/components/schemas/ACLAction' + type: array + jobGlobal: + items: + $ref: '#/components/schemas/ACLAction' + type: array + logDrain: + items: + $ref: '#/components/schemas/ACLAction' + type: array + Monitoring: + items: + $ref: '#/components/schemas/ACLAction' + type: array + monitoringQuery: + items: + $ref: '#/components/schemas/ACLAction' + type: array + monitoringChart: + items: + $ref: '#/components/schemas/ACLAction' + type: array + monitoringAlert: + items: + $ref: '#/components/schemas/ACLAction' + type: array + notificationDeploymentFailed: + items: + $ref: '#/components/schemas/ACLAction' + type: array + notificationDomainConfiguration: + items: + $ref: '#/components/schemas/ACLAction' + type: array + notificationDomainExpire: + items: + $ref: '#/components/schemas/ACLAction' + type: array + notificationDomainMoved: + items: + $ref: '#/components/schemas/ACLAction' + type: array + notificationDomainPurchase: + items: + $ref: '#/components/schemas/ACLAction' + type: array + notificationDomainRenewal: + items: + $ref: '#/components/schemas/ACLAction' + type: array + notificationDomainTransfer: + items: + $ref: '#/components/schemas/ACLAction' + type: array + notificationDomainUnverified: + items: + $ref: '#/components/schemas/ACLAction' + type: array + NotificationMonitoringAlert: + items: + $ref: '#/components/schemas/ACLAction' + type: array + notificationPaymentFailed: + items: + $ref: '#/components/schemas/ACLAction' + type: array + notificationUsageAlert: + items: + $ref: '#/components/schemas/ACLAction' + type: array + notificationCustomerBudget: + items: + $ref: '#/components/schemas/ACLAction' + type: array + openTelemetryEndpoint: + items: + $ref: '#/components/schemas/ACLAction' + type: array + paymentMethod: + items: + $ref: '#/components/schemas/ACLAction' + type: array + permissions: + items: + $ref: '#/components/schemas/ACLAction' + type: array + postgres: + items: + $ref: '#/components/schemas/ACLAction' + type: array + previewDeploymentSuffix: + items: + $ref: '#/components/schemas/ACLAction' + type: array + proTrialOnboarding: + items: + $ref: '#/components/schemas/ACLAction' + type: array + seawallConfig: + items: + $ref: '#/components/schemas/ACLAction' + type: array + sharedEnvVars: + items: + $ref: '#/components/schemas/ACLAction' + type: array + sharedEnvVarsProduction: + items: + $ref: '#/components/schemas/ACLAction' + type: array + space: + items: + $ref: '#/components/schemas/ACLAction' + type: array + spaceRun: + items: + $ref: '#/components/schemas/ACLAction' + type: array + passwordProtectionInvoiceItem: + items: + $ref: '#/components/schemas/ACLAction' + type: array + rateLimit: + items: + $ref: '#/components/schemas/ACLAction' + type: array + redis: + items: + $ref: '#/components/schemas/ACLAction' + type: array + remoteCaching: + items: + $ref: '#/components/schemas/ACLAction' + type: array + samlConfig: + items: + $ref: '#/components/schemas/ACLAction' + type: array + secret: + items: + $ref: '#/components/schemas/ACLAction' + type: array + supportCase: + items: + $ref: '#/components/schemas/ACLAction' + type: array + supportCaseComment: + items: + $ref: '#/components/schemas/ACLAction' + type: array + dataCacheBillingSettings: + items: + $ref: '#/components/schemas/ACLAction' + type: array + team: + items: + $ref: '#/components/schemas/ACLAction' + type: array + teamAccessRequest: + items: + $ref: '#/components/schemas/ACLAction' + type: array + teamFellowMembership: + items: + $ref: '#/components/schemas/ACLAction' + type: array + teamInvite: + items: + $ref: '#/components/schemas/ACLAction' + type: array + teamInviteCode: + items: + $ref: '#/components/schemas/ACLAction' + type: array + teamJoin: + items: + $ref: '#/components/schemas/ACLAction' + type: array + teamOwnMembership: + items: + $ref: '#/components/schemas/ACLAction' + type: array + teamOwnMembershipDisconnectSAML: + items: + $ref: '#/components/schemas/ACLAction' + type: array + token: + items: + $ref: '#/components/schemas/ACLAction' + type: array + usage: + items: + $ref: '#/components/schemas/ACLAction' + type: array + usageCycle: + items: + $ref: '#/components/schemas/ACLAction' + type: array + user: + items: + $ref: '#/components/schemas/ACLAction' + type: array + userConnection: + items: + $ref: '#/components/schemas/ACLAction' + type: array + webAnalyticsPlan: + items: + $ref: '#/components/schemas/ACLAction' + type: array + edgeConfig: + items: + $ref: '#/components/schemas/ACLAction' + type: array + edgeConfigItem: + items: + $ref: '#/components/schemas/ACLAction' + type: array + edgeConfigToken: + items: + $ref: '#/components/schemas/ACLAction' + type: array + webhook: + items: + $ref: '#/components/schemas/ACLAction' + type: array + webhook-event: + items: + $ref: '#/components/schemas/ACLAction' + type: array + endpointVerification: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectTransferIn: + items: + $ref: '#/components/schemas/ACLAction' + type: array + aliasProject: + items: + $ref: '#/components/schemas/ACLAction' + type: array + aliasProtectionBypass: + items: + $ref: '#/components/schemas/ACLAction' + type: array + connectConfigurationLink: + items: + $ref: '#/components/schemas/ACLAction' + type: array + dataCacheNamespace: + items: + $ref: '#/components/schemas/ACLAction' + type: array + deployment: + items: + $ref: '#/components/schemas/ACLAction' + type: array + deploymentCheck: + items: + $ref: '#/components/schemas/ACLAction' + type: array + deploymentCheckPreview: + items: + $ref: '#/components/schemas/ACLAction' + type: array + deploymentCheckReRunFromProductionBranch: + items: + $ref: '#/components/schemas/ACLAction' + type: array + deploymentProductionGit: + items: + $ref: '#/components/schemas/ACLAction' + type: array + deploymentPreview: + items: + $ref: '#/components/schemas/ACLAction' + type: array + deploymentPrivate: + items: + $ref: '#/components/schemas/ACLAction' + type: array + deploymentPromote: + items: + $ref: '#/components/schemas/ACLAction' + type: array + deploymentRollback: + items: + $ref: '#/components/schemas/ACLAction' + type: array + logs: + items: + $ref: '#/components/schemas/ACLAction' + type: array + logsPreset: + items: + $ref: '#/components/schemas/ACLAction' + type: array + passwordProtection: + items: + $ref: '#/components/schemas/ACLAction' + type: array + job: + items: + $ref: '#/components/schemas/ACLAction' + type: array + project: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectAnalyticsSampling: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectDeploymentHook: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectDomain: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectDomainMove: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectDomainCheckConfig: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectEnvVars: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectEnvVarsProduction: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectEnvVarsUnownedByIntegration: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectId: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectIntegrationConfiguration: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectLink: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectMember: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectMonitoring: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectPermissions: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectProductionBranch: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectTransfer: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectTransferOut: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectProtectionBypass: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectUsage: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectAnalyticsUsage: + items: + $ref: '#/components/schemas/ACLAction' + type: array + analytics: + items: + $ref: '#/components/schemas/ACLAction' + type: array + trustedIps: + items: + $ref: '#/components/schemas/ACLAction' + type: array + webAnalytics: + items: + $ref: '#/components/schemas/ACLAction' + type: array + sharedEnvVarConnection: + items: + $ref: '#/components/schemas/ACLAction' + type: array + type: object + lastRollbackTarget: + nullable: true + type: object + lastAliasRequest: + nullable: true + properties: + fromDeploymentId: + type: string + toDeploymentId: + type: string + jobStatus: + type: string + enum: + - succeeded + - failed + - skipped + - pending + - in-progress + requestedAt: + type: number + type: + type: string + enum: + - promote + - rollback + required: + - fromDeploymentId + - toDeploymentId + - jobStatus + - requestedAt + - type + type: object + hasFloatingAliases: + type: boolean + protectionBypass: + additionalProperties: + properties: + createdAt: + type: number + createdBy: + type: string + scope: + type: string + enum: + - automation-bypass + required: + - createdAt + - createdBy + - scope + type: object + type: object + hasActiveBranches: + type: boolean + trustedIps: + nullable: true + oneOf: + - properties: + deploymentType: + type: string + enum: + - all + - preview + - prod_deployment_urls_and_all_previews + - production + addresses: + items: + properties: + value: + type: string + note: + type: string + required: + - value + type: object + type: array + protectionMode: + type: string + enum: + - additional + - exclusive + required: + - deploymentType + - addresses + - protectionMode + type: object + - properties: + deploymentType: + type: string + enum: + - all + - preview + - prod_deployment_urls_and_all_previews + - production + required: + - deploymentType + type: object + gitComments: + properties: + onPullRequest: + type: boolean + description: Whether the Vercel bot should comment on PRs + onCommit: + type: boolean + description: Whether the Vercel bot should comment on commits + required: + - onPullRequest + - onCommit + type: object + paused: + type: boolean + required: + - accountId + - directoryListing + - id + - name + - nodeVersion + type: object + '400': + description: |- + One of the provided values in the request body is invalid. + One of the provided values in the request query is invalid. + '401': + description: '' + '403': + description: You do not have permission to access this resource. + '404': + description: '' + parameters: + - name: projectId + description: The unique project identifier + in: path + required: true + schema: + example: prj_12HKQaOmR5t5Uy6vdcQsNIiZgHGB + description: The unique project identifier + type: string + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + type: object + properties: + disabled: + type: boolean + example: true + description: 'Enable or disable data cache for the project - default: false' + /v9/projects: + get: + description: Allows to retrieve the list of projects of the authenticated user or team. The list will be paginated and the provided query parameters allow filtering the returned projects. + operationId: getProjects + security: + - bearerToken: [] + summary: Retrieve a list of projects + tags: + - projects + responses: + '200': + description: The paginated list of projects + content: + application/json: + schema: + properties: + projects: + items: + properties: + accountId: + type: string + analytics: + properties: + id: + type: string + canceledAt: + nullable: true + type: number + disabledAt: + type: number + enabledAt: + type: number + paidAt: + type: number + sampleRatePercent: + nullable: true + type: number + spendLimitInDollars: + nullable: true + type: number + required: + - id + - canceledAt + - disabledAt + - enabledAt + type: object + autoExposeSystemEnvs: + type: boolean + autoAssignCustomDomains: + type: boolean + autoAssignCustomDomainsUpdatedBy: + type: string + buildCommand: + nullable: true + type: string + commandForIgnoringBuildStep: + nullable: true + type: string + connectConfigurationId: + nullable: true + type: string + connectBuildsEnabled: + type: boolean + createdAt: + type: number + customerSupportCodeVisibility: + type: boolean + crons: + properties: + enabledAt: + type: number + description: 'The time the feature was enabled for this project. Note: It enables automatically with the first Deployment that outputs cronjobs.' + disabledAt: + nullable: true + type: number + description: The time the feature was disabled for this project. + updatedAt: + type: number + deploymentId: + nullable: true + type: string + description: The ID of the Deployment from which the definitions originated. + definitions: + items: + properties: + host: + type: string + description: The hostname that should be used. + example: vercel.com + path: + type: string + description: The path that should be called for the cronjob. + example: /api/crons/sync-something?hello=world + schedule: + type: string + description: The cron expression. + example: 0 0 * * * + required: + - host + - path + - schedule + type: object + type: array + required: + - enabledAt + - disabledAt + - updatedAt + - deploymentId + - definitions + type: object + dataCache: + properties: + userDisabled: + type: boolean + storageSizeBytes: + nullable: true + type: number + unlimited: + type: boolean + required: + - userDisabled + type: object + devCommand: + nullable: true + type: string + directoryListing: + type: boolean + installCommand: + nullable: true + type: string + env: + items: + properties: + target: + oneOf: + - items: + type: string + enum: + - production + - preview + - development + - preview + - development + type: array + - type: string + enum: + - production + - preview + - development + - preview + - development + type: + type: string + enum: + - secret + - system + - encrypted + - plain + - sensitive + id: + type: string + key: + type: string + value: + type: string + configurationId: + nullable: true + type: string + createdAt: + type: number + updatedAt: + type: number + createdBy: + nullable: true + type: string + updatedBy: + nullable: true + type: string + gitBranch: + type: string + edgeConfigId: + nullable: true + type: string + edgeConfigTokenId: + nullable: true + type: string + contentHint: + nullable: true + oneOf: + - properties: + type: + type: string + enum: + - redis-url + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - redis-rest-api-url + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - redis-rest-api-token + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - redis-rest-api-read-only-token + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - blob-read-write-token + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-url + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-url-non-pooling + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-prisma-url + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-user + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-host + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-password + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-database + storeId: + type: string + required: + - type + - storeId + type: object + decrypted: + type: boolean + description: Whether `value` is decrypted. + required: + - type + - key + - value + type: object + type: array + framework: + nullable: true + type: string + enum: + - blitzjs + - nextjs + - gatsby + - remix + - astro + - hexo + - eleventy + - docusaurus-2 + - docusaurus + - preact + - solidstart + - dojo + - ember + - vue + - scully + - ionic-angular + - angular + - polymer + - svelte + - sveltekit + - sveltekit-1 + - ionic-react + - create-react-app + - gridsome + - umijs + - sapper + - saber + - stencil + - nuxtjs + - redwoodjs + - hugo + - jekyll + - brunch + - middleman + - zola + - hydrogen + - vite + - vitepress + - vuepress + - parcel + - sanity + - storybook + gitForkProtection: + type: boolean + gitLFS: + type: boolean + id: + type: string + latestDeployments: + items: + properties: + alias: + items: + type: string + type: array + aliasAssigned: + nullable: true + oneOf: + - type: number + - type: boolean + aliasError: + nullable: true + properties: + code: + type: string + message: + type: string + required: + - code + - message + type: object + aliasFinal: + nullable: true + type: string + automaticAliases: + items: + type: string + type: array + builds: + items: + properties: + use: + type: string + src: + type: string + dest: + type: string + required: + - use + type: object + type: array + connectBuildsEnabled: + type: boolean + connectConfigurationId: + type: string + createdAt: + type: number + createdIn: + type: string + creator: + nullable: true + properties: + email: + type: string + githubLogin: + type: string + gitlabLogin: + type: string + uid: + type: string + username: + type: string + required: + - email + - uid + - username + type: object + deploymentHostname: + type: string + name: + type: string + forced: + type: boolean + id: + type: string + meta: + additionalProperties: + type: string + type: object + monorepoManager: + nullable: true + type: string + plan: + type: string + enum: + - pro + - enterprise + - hobby + - oss + private: + type: boolean + readyState: + type: string + enum: + - BUILDING + - ERROR + - INITIALIZING + - QUEUED + - READY + - CANCELED + readySubstate: + type: string + enum: + - STAGED + - PROMOTED + requestedAt: + type: number + target: + nullable: true + type: string + teamId: + nullable: true + type: string + type: + type: string + enum: + - LAMBDAS + url: + type: string + userId: + type: string + withCache: + type: boolean + checksConclusion: + type: string + enum: + - succeeded + - failed + - skipped + - canceled + checksState: + type: string + enum: + - registered + - running + - completed + readyAt: + type: number + buildingAt: + type: number + previewCommentsEnabled: + type: boolean + description: Whether or not preview comments are enabled for the deployment + example: false + required: + - createdAt + - createdIn + - creator + - deploymentHostname + - name + - id + - plan + - private + - readyState + - type + - url + - userId + type: object + type: array + link: + oneOf: + - properties: + org: + type: string + repo: + type: string + repoId: + type: number + type: + type: string + enum: + - github + createdAt: + type: number + deployHooks: + items: + properties: + createdAt: + type: number + id: + type: string + name: + type: string + ref: + type: string + url: + type: string + required: + - id + - name + - ref + - url + type: object + type: array + gitCredentialId: + type: string + updatedAt: + type: number + sourceless: + type: boolean + productionBranch: + type: string + required: + - deployHooks + type: object + - properties: + projectId: + type: string + projectName: + type: string + projectNameWithNamespace: + type: string + projectNamespace: + type: string + projectUrl: + type: string + type: + type: string + enum: + - gitlab + createdAt: + type: number + deployHooks: + items: + properties: + createdAt: + type: number + id: + type: string + name: + type: string + ref: + type: string + url: + type: string + required: + - id + - name + - ref + - url + type: object + type: array + gitCredentialId: + type: string + updatedAt: + type: number + sourceless: + type: boolean + productionBranch: + type: string + required: + - deployHooks + type: object + - properties: + name: + type: string + slug: + type: string + owner: + type: string + type: + type: string + enum: + - bitbucket + uuid: + type: string + workspaceUuid: + type: string + createdAt: + type: number + deployHooks: + items: + properties: + createdAt: + type: number + id: + type: string + name: + type: string + ref: + type: string + url: + type: string + required: + - id + - name + - ref + - url + type: object + type: array + gitCredentialId: + type: string + updatedAt: + type: number + sourceless: + type: boolean + productionBranch: + type: string + required: + - deployHooks + type: object + name: + type: string + nodeVersion: + type: string + enum: + - 18.x + - 16.x + - 14.x + - 12.x + - 10.x + outputDirectory: + nullable: true + type: string + passwordProtection: + nullable: true + type: object + productionDeploymentsFastLane: + type: boolean + publicSource: + nullable: true + type: boolean + rootDirectory: + nullable: true + type: string + serverlessFunctionRegion: + nullable: true + type: string + skipGitConnectDuringLink: + type: boolean + sourceFilesOutsideRootDirectory: + type: boolean + ssoProtection: + nullable: true + properties: + deploymentType: + type: string + enum: + - all + - preview + - prod_deployment_urls_and_all_previews + required: + - deploymentType + type: object + targets: + additionalProperties: + nullable: true + properties: + alias: + items: + type: string + type: array + aliasAssigned: + nullable: true + oneOf: + - type: number + - type: boolean + aliasError: + nullable: true + properties: + code: + type: string + message: + type: string + required: + - code + - message + type: object + aliasFinal: + nullable: true + type: string + automaticAliases: + items: + type: string + type: array + builds: + items: + properties: + use: + type: string + src: + type: string + dest: + type: string + required: + - use + type: object + type: array + connectBuildsEnabled: + type: boolean + connectConfigurationId: + type: string + createdAt: + type: number + createdIn: + type: string + creator: + nullable: true + properties: + email: + type: string + githubLogin: + type: string + gitlabLogin: + type: string + uid: + type: string + username: + type: string + required: + - email + - uid + - username + type: object + deploymentHostname: + type: string + name: + type: string + forced: + type: boolean + id: + type: string + meta: + additionalProperties: + type: string + type: object + monorepoManager: + nullable: true + type: string + plan: + type: string + enum: + - pro + - enterprise + - hobby + - oss + private: + type: boolean + readyState: + type: string + enum: + - BUILDING + - ERROR + - INITIALIZING + - QUEUED + - READY + - CANCELED + readySubstate: + type: string + enum: + - STAGED + - PROMOTED + requestedAt: + type: number + target: + nullable: true + type: string + teamId: + nullable: true + type: string + type: + type: string + enum: + - LAMBDAS + url: + type: string + userId: + type: string + withCache: + type: boolean + checksConclusion: + type: string + enum: + - succeeded + - failed + - skipped + - canceled + checksState: + type: string + enum: + - registered + - running + - completed + readyAt: + type: number + buildingAt: + type: number + previewCommentsEnabled: + type: boolean + description: Whether or not preview comments are enabled for the deployment + example: false + required: + - createdAt + - createdIn + - creator + - deploymentHostname + - name + - id + - plan + - private + - readyState + - type + - url + - userId + type: object + type: object + transferCompletedAt: + type: number + transferStartedAt: + type: number + transferToAccountId: + type: string + transferredFromAccountId: + type: string + updatedAt: + type: number + live: + type: boolean + enablePreviewFeedback: + nullable: true + type: boolean + permissions: + properties: + aliasProject: + items: + $ref: '#/components/schemas/ACLAction' + type: array + aliasProtectionBypass: + items: + $ref: '#/components/schemas/ACLAction' + type: array + connectConfigurationLink: + items: + $ref: '#/components/schemas/ACLAction' + type: array + dataCacheNamespace: + items: + $ref: '#/components/schemas/ACLAction' + type: array + deployment: + items: + $ref: '#/components/schemas/ACLAction' + type: array + deploymentCheck: + items: + $ref: '#/components/schemas/ACLAction' + type: array + deploymentCheckPreview: + items: + $ref: '#/components/schemas/ACLAction' + type: array + deploymentCheckReRunFromProductionBranch: + items: + $ref: '#/components/schemas/ACLAction' + type: array + deploymentProductionGit: + items: + $ref: '#/components/schemas/ACLAction' + type: array + deploymentPreview: + items: + $ref: '#/components/schemas/ACLAction' + type: array + deploymentPrivate: + items: + $ref: '#/components/schemas/ACLAction' + type: array + deploymentPromote: + items: + $ref: '#/components/schemas/ACLAction' + type: array + deploymentRollback: + items: + $ref: '#/components/schemas/ACLAction' + type: array + logs: + items: + $ref: '#/components/schemas/ACLAction' + type: array + logsPreset: + items: + $ref: '#/components/schemas/ACLAction' + type: array + passwordProtection: + items: + $ref: '#/components/schemas/ACLAction' + type: array + job: + items: + $ref: '#/components/schemas/ACLAction' + type: array + project: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectAnalyticsSampling: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectDeploymentHook: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectDomain: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectDomainMove: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectDomainCheckConfig: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectEnvVars: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectEnvVarsProduction: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectEnvVarsUnownedByIntegration: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectId: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectIntegrationConfiguration: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectLink: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectMember: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectMonitoring: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectPermissions: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectProductionBranch: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectTransfer: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectTransferOut: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectProtectionBypass: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectUsage: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectAnalyticsUsage: + items: + $ref: '#/components/schemas/ACLAction' + type: array + analytics: + items: + $ref: '#/components/schemas/ACLAction' + type: array + trustedIps: + items: + $ref: '#/components/schemas/ACLAction' + type: array + webAnalytics: + items: + $ref: '#/components/schemas/ACLAction' + type: array + sharedEnvVarConnection: + items: + $ref: '#/components/schemas/ACLAction' + type: array + aliasGlobal: + items: + $ref: '#/components/schemas/ACLAction' + type: array + analyticsSampling: + items: + $ref: '#/components/schemas/ACLAction' + type: array + analyticsUsage: + items: + $ref: '#/components/schemas/ACLAction' + type: array + auditLog: + items: + $ref: '#/components/schemas/ACLAction' + type: array + billingAddress: + items: + $ref: '#/components/schemas/ACLAction' + type: array + billingInformation: + items: + $ref: '#/components/schemas/ACLAction' + type: array + billingInvoice: + items: + $ref: '#/components/schemas/ACLAction' + type: array + billingInvoiceEmailRecipient: + items: + $ref: '#/components/schemas/ACLAction' + type: array + billingInvoiceLanguage: + items: + $ref: '#/components/schemas/ACLAction' + type: array + billingPlan: + items: + $ref: '#/components/schemas/ACLAction' + type: array + billingPurchaseOrder: + items: + $ref: '#/components/schemas/ACLAction' + type: array + billingTaxId: + items: + $ref: '#/components/schemas/ACLAction' + type: array + blob: + items: + $ref: '#/components/schemas/ACLAction' + type: array + budget: + items: + $ref: '#/components/schemas/ACLAction' + type: array + cacheArtifact: + items: + $ref: '#/components/schemas/ACLAction' + type: array + cacheArtifactUsageEvent: + items: + $ref: '#/components/schemas/ACLAction' + type: array + concurrentBuilds: + items: + $ref: '#/components/schemas/ACLAction' + type: array + connect: + items: + $ref: '#/components/schemas/ACLAction' + type: array + connectConfiguration: + items: + $ref: '#/components/schemas/ACLAction' + type: array + domain: + items: + $ref: '#/components/schemas/ACLAction' + type: array + domainAcceptDelegation: + items: + $ref: '#/components/schemas/ACLAction' + type: array + domainAuthCodes: + items: + $ref: '#/components/schemas/ACLAction' + type: array + domainCertificate: + items: + $ref: '#/components/schemas/ACLAction' + type: array + domainCheckConfig: + items: + $ref: '#/components/schemas/ACLAction' + type: array + domainMove: + items: + $ref: '#/components/schemas/ACLAction' + type: array + domainPurchase: + items: + $ref: '#/components/schemas/ACLAction' + type: array + domainRecord: + items: + $ref: '#/components/schemas/ACLAction' + type: array + domainTransferIn: + items: + $ref: '#/components/schemas/ACLAction' + type: array + event: + items: + $ref: '#/components/schemas/ACLAction' + type: array + ownEvent: + items: + $ref: '#/components/schemas/ACLAction' + type: array + sensitiveEnvironmentVariablePolicy: + items: + $ref: '#/components/schemas/ACLAction' + type: array + fileUpload: + items: + $ref: '#/components/schemas/ACLAction' + type: array + gitRepository: + items: + $ref: '#/components/schemas/ACLAction' + type: array + ipBlocking: + items: + $ref: '#/components/schemas/ACLAction' + type: array + integration: + items: + $ref: '#/components/schemas/ACLAction' + type: array + integrationConfiguration: + items: + $ref: '#/components/schemas/ACLAction' + type: array + integrationConfigurationTransfer: + items: + $ref: '#/components/schemas/ACLAction' + type: array + integrationConfigurationProjects: + items: + $ref: '#/components/schemas/ACLAction' + type: array + integrationVercelConfigurationOverride: + items: + $ref: '#/components/schemas/ACLAction' + type: array + jobGlobal: + items: + $ref: '#/components/schemas/ACLAction' + type: array + logDrain: + items: + $ref: '#/components/schemas/ACLAction' + type: array + Monitoring: + items: + $ref: '#/components/schemas/ACLAction' + type: array + monitoringQuery: + items: + $ref: '#/components/schemas/ACLAction' + type: array + monitoringChart: + items: + $ref: '#/components/schemas/ACLAction' + type: array + monitoringAlert: + items: + $ref: '#/components/schemas/ACLAction' + type: array + notificationDeploymentFailed: + items: + $ref: '#/components/schemas/ACLAction' + type: array + notificationDomainConfiguration: + items: + $ref: '#/components/schemas/ACLAction' + type: array + notificationDomainExpire: + items: + $ref: '#/components/schemas/ACLAction' + type: array + notificationDomainMoved: + items: + $ref: '#/components/schemas/ACLAction' + type: array + notificationDomainPurchase: + items: + $ref: '#/components/schemas/ACLAction' + type: array + notificationDomainRenewal: + items: + $ref: '#/components/schemas/ACLAction' + type: array + notificationDomainTransfer: + items: + $ref: '#/components/schemas/ACLAction' + type: array + notificationDomainUnverified: + items: + $ref: '#/components/schemas/ACLAction' + type: array + NotificationMonitoringAlert: + items: + $ref: '#/components/schemas/ACLAction' + type: array + notificationPaymentFailed: + items: + $ref: '#/components/schemas/ACLAction' + type: array + notificationUsageAlert: + items: + $ref: '#/components/schemas/ACLAction' + type: array + notificationCustomerBudget: + items: + $ref: '#/components/schemas/ACLAction' + type: array + openTelemetryEndpoint: + items: + $ref: '#/components/schemas/ACLAction' + type: array + paymentMethod: + items: + $ref: '#/components/schemas/ACLAction' + type: array + permissions: + items: + $ref: '#/components/schemas/ACLAction' + type: array + postgres: + items: + $ref: '#/components/schemas/ACLAction' + type: array + previewDeploymentSuffix: + items: + $ref: '#/components/schemas/ACLAction' + type: array + proTrialOnboarding: + items: + $ref: '#/components/schemas/ACLAction' + type: array + seawallConfig: + items: + $ref: '#/components/schemas/ACLAction' + type: array + sharedEnvVars: + items: + $ref: '#/components/schemas/ACLAction' + type: array + sharedEnvVarsProduction: + items: + $ref: '#/components/schemas/ACLAction' + type: array + space: + items: + $ref: '#/components/schemas/ACLAction' + type: array + spaceRun: + items: + $ref: '#/components/schemas/ACLAction' + type: array + passwordProtectionInvoiceItem: + items: + $ref: '#/components/schemas/ACLAction' + type: array + rateLimit: + items: + $ref: '#/components/schemas/ACLAction' + type: array + redis: + items: + $ref: '#/components/schemas/ACLAction' + type: array + remoteCaching: + items: + $ref: '#/components/schemas/ACLAction' + type: array + samlConfig: + items: + $ref: '#/components/schemas/ACLAction' + type: array + secret: + items: + $ref: '#/components/schemas/ACLAction' + type: array + supportCase: + items: + $ref: '#/components/schemas/ACLAction' + type: array + supportCaseComment: + items: + $ref: '#/components/schemas/ACLAction' + type: array + dataCacheBillingSettings: + items: + $ref: '#/components/schemas/ACLAction' + type: array + team: + items: + $ref: '#/components/schemas/ACLAction' + type: array + teamAccessRequest: + items: + $ref: '#/components/schemas/ACLAction' + type: array + teamFellowMembership: + items: + $ref: '#/components/schemas/ACLAction' + type: array + teamInvite: + items: + $ref: '#/components/schemas/ACLAction' + type: array + teamInviteCode: + items: + $ref: '#/components/schemas/ACLAction' + type: array + teamJoin: + items: + $ref: '#/components/schemas/ACLAction' + type: array + teamOwnMembership: + items: + $ref: '#/components/schemas/ACLAction' + type: array + teamOwnMembershipDisconnectSAML: + items: + $ref: '#/components/schemas/ACLAction' + type: array + token: + items: + $ref: '#/components/schemas/ACLAction' + type: array + usage: + items: + $ref: '#/components/schemas/ACLAction' + type: array + usageCycle: + items: + $ref: '#/components/schemas/ACLAction' + type: array + user: + items: + $ref: '#/components/schemas/ACLAction' + type: array + userConnection: + items: + $ref: '#/components/schemas/ACLAction' + type: array + webAnalyticsPlan: + items: + $ref: '#/components/schemas/ACLAction' + type: array + edgeConfig: + items: + $ref: '#/components/schemas/ACLAction' + type: array + edgeConfigItem: + items: + $ref: '#/components/schemas/ACLAction' + type: array + edgeConfigToken: + items: + $ref: '#/components/schemas/ACLAction' + type: array + webhook: + items: + $ref: '#/components/schemas/ACLAction' + type: array + webhook-event: + items: + $ref: '#/components/schemas/ACLAction' + type: array + endpointVerification: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectTransferIn: + items: + $ref: '#/components/schemas/ACLAction' + type: array + type: object + lastRollbackTarget: + nullable: true + type: object + lastAliasRequest: + nullable: true + properties: + fromDeploymentId: + type: string + toDeploymentId: + type: string + jobStatus: + type: string + enum: + - succeeded + - failed + - skipped + - pending + - in-progress + requestedAt: + type: number + type: + type: string + enum: + - promote + - rollback + required: + - fromDeploymentId + - toDeploymentId + - jobStatus + - requestedAt + - type + type: object + hasFloatingAliases: + type: boolean + protectionBypass: + additionalProperties: + properties: + createdAt: + type: number + createdBy: + type: string + scope: + type: string + enum: + - automation-bypass + required: + - createdAt + - createdBy + - scope + type: object + type: object + hasActiveBranches: + type: boolean + trustedIps: + nullable: true + oneOf: + - properties: + deploymentType: + type: string + enum: + - all + - preview + - prod_deployment_urls_and_all_previews + - production + addresses: + items: + properties: + value: + type: string + note: + type: string + required: + - value + type: object + type: array + protectionMode: + type: string + enum: + - additional + - exclusive + required: + - deploymentType + - addresses + - protectionMode + type: object + - properties: + deploymentType: + type: string + enum: + - all + - preview + - prod_deployment_urls_and_all_previews + - production + required: + - deploymentType + type: object + gitComments: + properties: + onPullRequest: + type: boolean + description: Whether the Vercel bot should comment on PRs + onCommit: + type: boolean + description: Whether the Vercel bot should comment on commits + required: + - onPullRequest + - onCommit + type: object + paused: + type: boolean + required: + - accountId + - directoryListing + - id + - name + - nodeVersion + type: object + type: array + pagination: + $ref: '#/components/schemas/Pagination' + required: + - projects + - pagination + type: object + '400': + description: One of the provided values in the request query is invalid. + '401': + description: '' + '403': + description: You do not have permission to access this resource. + parameters: + - name: from + description: Query only projects updated after the given timestamp + in: query + schema: + description: Query only projects updated after the given timestamp + type: string + - name: gitForkProtection + description: Specifies whether PRs from Git forks should require a team member's authorization before it can be deployed + in: query + schema: + description: Specifies whether PRs from Git forks should require a team member's authorization before it can be deployed + type: string + enum: + - '1' + - '0' + example: '1' + - name: limit + description: Limit the number of projects returned + in: query + schema: + description: Limit the number of projects returned + type: string + - name: search + description: Search projects by the name field + in: query + schema: + description: Search projects by the name field + type: string + - name: repo + description: Filter results by repo. Also used for project count + in: query + schema: + description: Filter results by repo. Also used for project count + type: string + - name: repoId + description: Filter results by Repository ID. + in: query + schema: + description: Filter results by Repository ID. + type: string + - name: repoUrl + description: Filter results by Repository URL. + in: query + schema: + description: Filter results by Repository URL. + type: string + example: 'https://github.com/vercel/next.js' + - name: excludeRepos + description: Filter results by excluding those projects that belong to a repo + in: query + schema: + description: Filter results by excluding those projects that belong to a repo + type: string + - name: edgeConfigId + description: Filter results by connected Edge Config ID + in: query + schema: + description: Filter results by connected Edge Config ID + type: string + - name: edgeConfigTokenId + description: Filter results by connected Edge Config Token ID + in: query + schema: + description: Filter results by connected Edge Config Token ID + type: string + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + post: + description: Allows to create a new project with the provided configuration. It only requires the project `name` but more configuration can be provided to override the defaults. + operationId: createProject + security: + - bearerToken: [] + summary: Create a new project + tags: + - projects + responses: + '200': + description: The project was successfuly created + content: + application/json: + schema: + properties: + accountId: + type: string + analytics: + properties: + id: + type: string + canceledAt: + nullable: true + type: number + disabledAt: + type: number + enabledAt: + type: number + paidAt: + type: number + sampleRatePercent: + nullable: true + type: number + spendLimitInDollars: + nullable: true + type: number + required: + - id + - canceledAt + - disabledAt + - enabledAt + type: object + autoExposeSystemEnvs: + type: boolean + autoAssignCustomDomains: + type: boolean + autoAssignCustomDomainsUpdatedBy: + type: string + buildCommand: + nullable: true + type: string + commandForIgnoringBuildStep: + nullable: true + type: string + connectConfigurationId: + nullable: true + type: string + connectBuildsEnabled: + type: boolean + createdAt: + type: number + customerSupportCodeVisibility: + type: boolean + crons: + properties: + enabledAt: + type: number + description: 'The time the feature was enabled for this project. Note: It enables automatically with the first Deployment that outputs cronjobs.' + disabledAt: + nullable: true + type: number + description: The time the feature was disabled for this project. + updatedAt: + type: number + deploymentId: + nullable: true + type: string + description: The ID of the Deployment from which the definitions originated. + definitions: + items: + properties: + host: + type: string + description: The hostname that should be used. + example: vercel.com + path: + type: string + description: The path that should be called for the cronjob. + example: /api/crons/sync-something?hello=world + schedule: + type: string + description: The cron expression. + example: 0 0 * * * + required: + - host + - path + - schedule + type: object + type: array + required: + - enabledAt + - disabledAt + - updatedAt + - deploymentId + - definitions + type: object + dataCache: + properties: + userDisabled: + type: boolean + storageSizeBytes: + nullable: true + type: number + unlimited: + type: boolean + required: + - userDisabled + type: object + devCommand: + nullable: true + type: string + directoryListing: + type: boolean + installCommand: + nullable: true + type: string + env: + items: + properties: + target: + oneOf: + - items: + type: string + enum: + - production + - preview + - development + - preview + - development + type: array + - type: string + enum: + - production + - preview + - development + - preview + - development + type: + type: string + enum: + - system + - secret + - encrypted + - plain + - sensitive + id: + type: string + key: + type: string + value: + type: string + configurationId: + nullable: true + type: string + createdAt: + type: number + updatedAt: + type: number + createdBy: + nullable: true + type: string + updatedBy: + nullable: true + type: string + gitBranch: + type: string + edgeConfigId: + nullable: true + type: string + edgeConfigTokenId: + nullable: true + type: string + contentHint: + nullable: true + oneOf: + - properties: + type: + type: string + enum: + - redis-url + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - redis-rest-api-url + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - redis-rest-api-token + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - redis-rest-api-read-only-token + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - blob-read-write-token + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-url + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-url-non-pooling + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-prisma-url + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-user + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-host + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-password + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-database + storeId: + type: string + required: + - type + - storeId + type: object + decrypted: + type: boolean + description: Whether `value` is decrypted. + required: + - type + - key + - value + type: object + type: array + framework: + nullable: true + type: string + enum: + - blitzjs + - nextjs + - gatsby + - remix + - astro + - hexo + - eleventy + - docusaurus-2 + - docusaurus + - preact + - solidstart + - dojo + - ember + - vue + - scully + - ionic-angular + - angular + - polymer + - svelte + - sveltekit + - sveltekit-1 + - ionic-react + - create-react-app + - gridsome + - umijs + - sapper + - saber + - stencil + - nuxtjs + - redwoodjs + - hugo + - jekyll + - brunch + - middleman + - zola + - hydrogen + - vite + - vitepress + - vuepress + - parcel + - sanity + - storybook + gitForkProtection: + type: boolean + gitLFS: + type: boolean + id: + type: string + latestDeployments: + items: + properties: + alias: + items: + type: string + type: array + aliasAssigned: + nullable: true + oneOf: + - type: number + - type: boolean + aliasError: + nullable: true + properties: + code: + type: string + message: + type: string + required: + - code + - message + type: object + aliasFinal: + nullable: true + type: string + automaticAliases: + items: + type: string + type: array + builds: + items: + properties: + use: + type: string + src: + type: string + dest: + type: string + required: + - use + type: object + type: array + connectBuildsEnabled: + type: boolean + connectConfigurationId: + type: string + createdAt: + type: number + createdIn: + type: string + creator: + nullable: true + properties: + email: + type: string + githubLogin: + type: string + gitlabLogin: + type: string + uid: + type: string + username: + type: string + required: + - email + - uid + - username + type: object + deploymentHostname: + type: string + name: + type: string + forced: + type: boolean + id: + type: string + meta: + additionalProperties: + type: string + type: object + monorepoManager: + nullable: true + type: string + plan: + type: string + enum: + - pro + - enterprise + - hobby + - oss + private: + type: boolean + readyState: + type: string + enum: + - BUILDING + - ERROR + - INITIALIZING + - QUEUED + - READY + - CANCELED + readySubstate: + type: string + enum: + - STAGED + - PROMOTED + requestedAt: + type: number + target: + nullable: true + type: string + teamId: + nullable: true + type: string + type: + type: string + enum: + - LAMBDAS + url: + type: string + userId: + type: string + withCache: + type: boolean + checksConclusion: + type: string + enum: + - succeeded + - failed + - skipped + - canceled + checksState: + type: string + enum: + - registered + - running + - completed + readyAt: + type: number + buildingAt: + type: number + previewCommentsEnabled: + type: boolean + description: Whether or not preview comments are enabled for the deployment + example: false + required: + - createdAt + - createdIn + - creator + - deploymentHostname + - name + - id + - plan + - private + - readyState + - type + - url + - userId + type: object + type: array + link: + oneOf: + - properties: + org: + type: string + repo: + type: string + repoId: + type: number + type: + type: string + enum: + - github + createdAt: + type: number + deployHooks: + items: + properties: + createdAt: + type: number + id: + type: string + name: + type: string + ref: + type: string + url: + type: string + required: + - id + - name + - ref + - url + type: object + type: array + gitCredentialId: + type: string + updatedAt: + type: number + sourceless: + type: boolean + productionBranch: + type: string + required: + - deployHooks + type: object + - properties: + projectId: + type: string + projectName: + type: string + projectNameWithNamespace: + type: string + projectNamespace: + type: string + projectUrl: + type: string + type: + type: string + enum: + - gitlab + createdAt: + type: number + deployHooks: + items: + properties: + createdAt: + type: number + id: + type: string + name: + type: string + ref: + type: string + url: + type: string + required: + - id + - name + - ref + - url + type: object + type: array + gitCredentialId: + type: string + updatedAt: + type: number + sourceless: + type: boolean + productionBranch: + type: string + required: + - deployHooks + type: object + - properties: + name: + type: string + slug: + type: string + owner: + type: string + type: + type: string + enum: + - bitbucket + uuid: + type: string + workspaceUuid: + type: string + createdAt: + type: number + deployHooks: + items: + properties: + createdAt: + type: number + id: + type: string + name: + type: string + ref: + type: string + url: + type: string + required: + - id + - name + - ref + - url + type: object + type: array + gitCredentialId: + type: string + updatedAt: + type: number + sourceless: + type: boolean + productionBranch: + type: string + required: + - deployHooks + type: object + name: + type: string + nodeVersion: + type: string + enum: + - 18.x + - 16.x + - 14.x + - 12.x + - 10.x + outputDirectory: + nullable: true + type: string + passwordProtection: + nullable: true + type: object + productionDeploymentsFastLane: + type: boolean + publicSource: + nullable: true + type: boolean + rootDirectory: + nullable: true + type: string + serverlessFunctionRegion: + nullable: true + type: string + skipGitConnectDuringLink: + type: boolean + sourceFilesOutsideRootDirectory: + type: boolean + ssoProtection: + nullable: true + properties: + deploymentType: + type: string + enum: + - all + - preview + - prod_deployment_urls_and_all_previews + required: + - deploymentType + type: object + targets: + additionalProperties: + nullable: true + properties: + alias: + items: + type: string + type: array + aliasAssigned: + nullable: true + oneOf: + - type: number + - type: boolean + aliasError: + nullable: true + properties: + code: + type: string + message: + type: string + required: + - code + - message + type: object + aliasFinal: + nullable: true + type: string + automaticAliases: + items: + type: string + type: array + builds: + items: + properties: + use: + type: string + src: + type: string + dest: + type: string + required: + - use + type: object + type: array + connectBuildsEnabled: + type: boolean + connectConfigurationId: + type: string + createdAt: + type: number + createdIn: + type: string + creator: + nullable: true + properties: + email: + type: string + githubLogin: + type: string + gitlabLogin: + type: string + uid: + type: string + username: + type: string + required: + - email + - uid + - username + type: object + deploymentHostname: + type: string + name: + type: string + forced: + type: boolean + id: + type: string + meta: + additionalProperties: + type: string + type: object + monorepoManager: + nullable: true + type: string + plan: + type: string + enum: + - pro + - enterprise + - hobby + - oss + private: + type: boolean + readyState: + type: string + enum: + - BUILDING + - ERROR + - INITIALIZING + - QUEUED + - READY + - CANCELED + readySubstate: + type: string + enum: + - STAGED + - PROMOTED + requestedAt: + type: number + target: + nullable: true + type: string + teamId: + nullable: true + type: string + type: + type: string + enum: + - LAMBDAS + url: + type: string + userId: + type: string + withCache: + type: boolean + checksConclusion: + type: string + enum: + - succeeded + - failed + - skipped + - canceled + checksState: + type: string + enum: + - registered + - running + - completed + readyAt: + type: number + buildingAt: + type: number + previewCommentsEnabled: + type: boolean + description: Whether or not preview comments are enabled for the deployment + example: false + required: + - createdAt + - createdIn + - creator + - deploymentHostname + - name + - id + - plan + - private + - readyState + - type + - url + - userId + type: object + type: object + transferCompletedAt: + type: number + transferStartedAt: + type: number + transferToAccountId: + type: string + transferredFromAccountId: + type: string + updatedAt: + type: number + live: + type: boolean + enablePreviewFeedback: + nullable: true + type: boolean + permissions: + properties: + aliasGlobal: + items: + $ref: '#/components/schemas/ACLAction' + type: array + analyticsSampling: + items: + $ref: '#/components/schemas/ACLAction' + type: array + analyticsUsage: + items: + $ref: '#/components/schemas/ACLAction' + type: array + auditLog: + items: + $ref: '#/components/schemas/ACLAction' + type: array + billingAddress: + items: + $ref: '#/components/schemas/ACLAction' + type: array + billingInformation: + items: + $ref: '#/components/schemas/ACLAction' + type: array + billingInvoice: + items: + $ref: '#/components/schemas/ACLAction' + type: array + billingInvoiceEmailRecipient: + items: + $ref: '#/components/schemas/ACLAction' + type: array + billingInvoiceLanguage: + items: + $ref: '#/components/schemas/ACLAction' + type: array + billingPlan: + items: + $ref: '#/components/schemas/ACLAction' + type: array + billingPurchaseOrder: + items: + $ref: '#/components/schemas/ACLAction' + type: array + billingTaxId: + items: + $ref: '#/components/schemas/ACLAction' + type: array + blob: + items: + $ref: '#/components/schemas/ACLAction' + type: array + budget: + items: + $ref: '#/components/schemas/ACLAction' + type: array + cacheArtifact: + items: + $ref: '#/components/schemas/ACLAction' + type: array + cacheArtifactUsageEvent: + items: + $ref: '#/components/schemas/ACLAction' + type: array + concurrentBuilds: + items: + $ref: '#/components/schemas/ACLAction' + type: array + connect: + items: + $ref: '#/components/schemas/ACLAction' + type: array + connectConfiguration: + items: + $ref: '#/components/schemas/ACLAction' + type: array + domain: + items: + $ref: '#/components/schemas/ACLAction' + type: array + domainAcceptDelegation: + items: + $ref: '#/components/schemas/ACLAction' + type: array + domainAuthCodes: + items: + $ref: '#/components/schemas/ACLAction' + type: array + domainCertificate: + items: + $ref: '#/components/schemas/ACLAction' + type: array + domainCheckConfig: + items: + $ref: '#/components/schemas/ACLAction' + type: array + domainMove: + items: + $ref: '#/components/schemas/ACLAction' + type: array + domainPurchase: + items: + $ref: '#/components/schemas/ACLAction' + type: array + domainRecord: + items: + $ref: '#/components/schemas/ACLAction' + type: array + domainTransferIn: + items: + $ref: '#/components/schemas/ACLAction' + type: array + event: + items: + $ref: '#/components/schemas/ACLAction' + type: array + ownEvent: + items: + $ref: '#/components/schemas/ACLAction' + type: array + sensitiveEnvironmentVariablePolicy: + items: + $ref: '#/components/schemas/ACLAction' + type: array + fileUpload: + items: + $ref: '#/components/schemas/ACLAction' + type: array + gitRepository: + items: + $ref: '#/components/schemas/ACLAction' + type: array + ipBlocking: + items: + $ref: '#/components/schemas/ACLAction' + type: array + integration: + items: + $ref: '#/components/schemas/ACLAction' + type: array + integrationConfiguration: + items: + $ref: '#/components/schemas/ACLAction' + type: array + integrationConfigurationTransfer: + items: + $ref: '#/components/schemas/ACLAction' + type: array + integrationConfigurationProjects: + items: + $ref: '#/components/schemas/ACLAction' + type: array + integrationVercelConfigurationOverride: + items: + $ref: '#/components/schemas/ACLAction' + type: array + jobGlobal: + items: + $ref: '#/components/schemas/ACLAction' + type: array + logDrain: + items: + $ref: '#/components/schemas/ACLAction' + type: array + Monitoring: + items: + $ref: '#/components/schemas/ACLAction' + type: array + monitoringQuery: + items: + $ref: '#/components/schemas/ACLAction' + type: array + monitoringChart: + items: + $ref: '#/components/schemas/ACLAction' + type: array + monitoringAlert: + items: + $ref: '#/components/schemas/ACLAction' + type: array + notificationDeploymentFailed: + items: + $ref: '#/components/schemas/ACLAction' + type: array + notificationDomainConfiguration: + items: + $ref: '#/components/schemas/ACLAction' + type: array + notificationDomainExpire: + items: + $ref: '#/components/schemas/ACLAction' + type: array + notificationDomainMoved: + items: + $ref: '#/components/schemas/ACLAction' + type: array + notificationDomainPurchase: + items: + $ref: '#/components/schemas/ACLAction' + type: array + notificationDomainRenewal: + items: + $ref: '#/components/schemas/ACLAction' + type: array + notificationDomainTransfer: + items: + $ref: '#/components/schemas/ACLAction' + type: array + notificationDomainUnverified: + items: + $ref: '#/components/schemas/ACLAction' + type: array + NotificationMonitoringAlert: + items: + $ref: '#/components/schemas/ACLAction' + type: array + notificationPaymentFailed: + items: + $ref: '#/components/schemas/ACLAction' + type: array + notificationUsageAlert: + items: + $ref: '#/components/schemas/ACLAction' + type: array + notificationCustomerBudget: + items: + $ref: '#/components/schemas/ACLAction' + type: array + openTelemetryEndpoint: + items: + $ref: '#/components/schemas/ACLAction' + type: array + paymentMethod: + items: + $ref: '#/components/schemas/ACLAction' + type: array + permissions: + items: + $ref: '#/components/schemas/ACLAction' + type: array + postgres: + items: + $ref: '#/components/schemas/ACLAction' + type: array + previewDeploymentSuffix: + items: + $ref: '#/components/schemas/ACLAction' + type: array + proTrialOnboarding: + items: + $ref: '#/components/schemas/ACLAction' + type: array + seawallConfig: + items: + $ref: '#/components/schemas/ACLAction' + type: array + sharedEnvVars: + items: + $ref: '#/components/schemas/ACLAction' + type: array + sharedEnvVarsProduction: + items: + $ref: '#/components/schemas/ACLAction' + type: array + space: + items: + $ref: '#/components/schemas/ACLAction' + type: array + spaceRun: + items: + $ref: '#/components/schemas/ACLAction' + type: array + passwordProtectionInvoiceItem: + items: + $ref: '#/components/schemas/ACLAction' + type: array + rateLimit: + items: + $ref: '#/components/schemas/ACLAction' + type: array + redis: + items: + $ref: '#/components/schemas/ACLAction' + type: array + remoteCaching: + items: + $ref: '#/components/schemas/ACLAction' + type: array + samlConfig: + items: + $ref: '#/components/schemas/ACLAction' + type: array + secret: + items: + $ref: '#/components/schemas/ACLAction' + type: array + supportCase: + items: + $ref: '#/components/schemas/ACLAction' + type: array + supportCaseComment: + items: + $ref: '#/components/schemas/ACLAction' + type: array + dataCacheBillingSettings: + items: + $ref: '#/components/schemas/ACLAction' + type: array + team: + items: + $ref: '#/components/schemas/ACLAction' + type: array + teamAccessRequest: + items: + $ref: '#/components/schemas/ACLAction' + type: array + teamFellowMembership: + items: + $ref: '#/components/schemas/ACLAction' + type: array + teamInvite: + items: + $ref: '#/components/schemas/ACLAction' + type: array + teamInviteCode: + items: + $ref: '#/components/schemas/ACLAction' + type: array + teamJoin: + items: + $ref: '#/components/schemas/ACLAction' + type: array + teamOwnMembership: + items: + $ref: '#/components/schemas/ACLAction' + type: array + teamOwnMembershipDisconnectSAML: + items: + $ref: '#/components/schemas/ACLAction' + type: array + token: + items: + $ref: '#/components/schemas/ACLAction' + type: array + usage: + items: + $ref: '#/components/schemas/ACLAction' + type: array + usageCycle: + items: + $ref: '#/components/schemas/ACLAction' + type: array + user: + items: + $ref: '#/components/schemas/ACLAction' + type: array + userConnection: + items: + $ref: '#/components/schemas/ACLAction' + type: array + webAnalyticsPlan: + items: + $ref: '#/components/schemas/ACLAction' + type: array + edgeConfig: + items: + $ref: '#/components/schemas/ACLAction' + type: array + edgeConfigItem: + items: + $ref: '#/components/schemas/ACLAction' + type: array + edgeConfigToken: + items: + $ref: '#/components/schemas/ACLAction' + type: array + webhook: + items: + $ref: '#/components/schemas/ACLAction' + type: array + webhook-event: + items: + $ref: '#/components/schemas/ACLAction' + type: array + endpointVerification: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectTransferIn: + items: + $ref: '#/components/schemas/ACLAction' + type: array + aliasProject: + items: + $ref: '#/components/schemas/ACLAction' + type: array + aliasProtectionBypass: + items: + $ref: '#/components/schemas/ACLAction' + type: array + connectConfigurationLink: + items: + $ref: '#/components/schemas/ACLAction' + type: array + dataCacheNamespace: + items: + $ref: '#/components/schemas/ACLAction' + type: array + deployment: + items: + $ref: '#/components/schemas/ACLAction' + type: array + deploymentCheck: + items: + $ref: '#/components/schemas/ACLAction' + type: array + deploymentCheckPreview: + items: + $ref: '#/components/schemas/ACLAction' + type: array + deploymentCheckReRunFromProductionBranch: + items: + $ref: '#/components/schemas/ACLAction' + type: array + deploymentProductionGit: + items: + $ref: '#/components/schemas/ACLAction' + type: array + deploymentPreview: + items: + $ref: '#/components/schemas/ACLAction' + type: array + deploymentPrivate: + items: + $ref: '#/components/schemas/ACLAction' + type: array + deploymentPromote: + items: + $ref: '#/components/schemas/ACLAction' + type: array + deploymentRollback: + items: + $ref: '#/components/schemas/ACLAction' + type: array + logs: + items: + $ref: '#/components/schemas/ACLAction' + type: array + logsPreset: + items: + $ref: '#/components/schemas/ACLAction' + type: array + passwordProtection: + items: + $ref: '#/components/schemas/ACLAction' + type: array + job: + items: + $ref: '#/components/schemas/ACLAction' + type: array + project: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectAnalyticsSampling: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectDeploymentHook: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectDomain: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectDomainMove: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectDomainCheckConfig: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectEnvVars: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectEnvVarsProduction: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectEnvVarsUnownedByIntegration: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectId: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectIntegrationConfiguration: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectLink: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectMember: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectMonitoring: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectPermissions: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectProductionBranch: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectTransfer: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectTransferOut: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectProtectionBypass: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectUsage: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectAnalyticsUsage: + items: + $ref: '#/components/schemas/ACLAction' + type: array + analytics: + items: + $ref: '#/components/schemas/ACLAction' + type: array + trustedIps: + items: + $ref: '#/components/schemas/ACLAction' + type: array + webAnalytics: + items: + $ref: '#/components/schemas/ACLAction' + type: array + sharedEnvVarConnection: + items: + $ref: '#/components/schemas/ACLAction' + type: array + type: object + lastRollbackTarget: + nullable: true + type: object + lastAliasRequest: + nullable: true + properties: + fromDeploymentId: + type: string + toDeploymentId: + type: string + jobStatus: + type: string + enum: + - succeeded + - failed + - skipped + - pending + - in-progress + requestedAt: + type: number + type: + type: string + enum: + - promote + - rollback + required: + - fromDeploymentId + - toDeploymentId + - jobStatus + - requestedAt + - type + type: object + hasFloatingAliases: + type: boolean + protectionBypass: + additionalProperties: + properties: + createdAt: + type: number + createdBy: + type: string + scope: + type: string + enum: + - automation-bypass + required: + - createdAt + - createdBy + - scope + type: object + type: object + hasActiveBranches: + type: boolean + trustedIps: + nullable: true + oneOf: + - properties: + deploymentType: + type: string + enum: + - all + - preview + - prod_deployment_urls_and_all_previews + - production + addresses: + items: + properties: + value: + type: string + note: + type: string + required: + - value + type: object + type: array + protectionMode: + type: string + enum: + - additional + - exclusive + required: + - deploymentType + - addresses + - protectionMode + type: object + - properties: + deploymentType: + type: string + enum: + - all + - preview + - prod_deployment_urls_and_all_previews + - production + required: + - deploymentType + type: object + gitComments: + properties: + onPullRequest: + type: boolean + description: Whether the Vercel bot should comment on PRs + onCommit: + type: boolean + description: Whether the Vercel bot should comment on commits + required: + - onPullRequest + - onCommit + type: object + paused: + type: boolean + required: + - accountId + - directoryListing + - id + - name + - nodeVersion + type: object + '400': + description: |- + One of the provided values in the request body is invalid. + One of the provided values in the request query is invalid. + The Bitbucket Webhook for the project link could not be created + The Gitlab Webhook for the project link could not be created + '401': + description: '' + '402': + description: |- + The account was soft-blocked for an unhandled reason. + The account is missing a payment so payment method must be updated + '403': + description: You do not have permission to access this resource. + '409': + description: A project with the provided name already exists. + parameters: + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + additionalProperties: false + properties: + buildCommand: + description: The build command for this project. When `null` is used this value will be automatically detected + maxLength: 256 + type: string + nullable: true + commandForIgnoringBuildStep: + maxLength: 256 + type: string + nullable: true + devCommand: + description: The dev command for this project. When `null` is used this value will be automatically detected + maxLength: 256 + type: string + nullable: true + environmentVariables: + description: Collection of ENV Variables the Project will use + items: + properties: + key: + description: Name of the ENV variable + type: string + target: + description: Deployment Target or Targets in which the ENV variable will be used + oneOf: + - enum: + - production + - preview + - development + - items: + enum: + - production + - preview + - development + type: array + gitBranch: + description: The git branch of the environment variable + type: string + maxLength: 250 + example: feature-1 + type: + description: Type of the ENV variable + enum: + - system + - secret + - encrypted + - plain + type: string + value: + description: Value for the ENV variable + type: string + required: + - key + - value + - target + type: object + type: array + framework: + description: The framework that is being used for this project. When `null` is used no framework is selected + enum: + - null + - blitzjs + - nextjs + - gatsby + - remix + - astro + - hexo + - eleventy + - docusaurus-2 + - docusaurus + - preact + - solidstart + - dojo + - ember + - vue + - scully + - ionic-angular + - angular + - polymer + - svelte + - sveltekit + - sveltekit-1 + - ionic-react + - create-react-app + - gridsome + - umijs + - sapper + - saber + - stencil + - nuxtjs + - redwoodjs + - hugo + - jekyll + - brunch + - middleman + - zola + - hydrogen + - vite + - vitepress + - vuepress + - parcel + - sanity + - storybook + gitRepository: + description: 'The Git Repository that will be connected to the project. When this is defined, any pushes to the specified connected Git Repository will be automatically deployed' + properties: + repo: + description: 'The name of the git repository. For example: \"vercel/next.js\"' + type: string + type: + description: The Git Provider of the repository + enum: + - github + - gitlab + - bitbucket + required: + - type + - repo + type: object + installCommand: + description: The install command for this project. When `null` is used this value will be automatically detected + maxLength: 256 + type: string + nullable: true + name: + description: The desired name for the project + example: a-project-name + type: string + maxLength: 100 + pattern: '^[a-z0-9]([a-z0-9]|-[a-z0-9])*$' + skipGitConnectDuringLink: + description: Opts-out of the message prompting a CLI user to connect a Git repository in `vercel link`. + type: boolean + deprecated: true + outputDirectory: + description: The output directory of the project. When `null` is used this value will be automatically detected + maxLength: 256 + type: string + nullable: true + publicSource: + description: Specifies whether the source code and logs of the deployments for this project should be public or not + type: boolean + nullable: true + rootDirectory: + description: The name of a directory or relative path to the source code of your project. When `null` is used it will default to the project root + maxLength: 256 + type: string + nullable: true + serverlessFunctionRegion: + description: The region to deploy Serverless Functions in this project + maxLength: 4 + type: string + nullable: true + required: + - name + type: object + '/v9/projects/{idOrName}': + get: + description: Get the information for a specific project by passing either the project `id` or `name` in the URL. + operationId: getProject + security: + - bearerToken: [] + summary: Find a project by id or name + tags: + - projects + responses: + '200': + description: The project information + content: + application/json: + schema: + properties: + accountId: + type: string + analytics: + properties: + id: + type: string + canceledAt: + nullable: true + type: number + disabledAt: + type: number + enabledAt: + type: number + paidAt: + type: number + sampleRatePercent: + nullable: true + type: number + spendLimitInDollars: + nullable: true + type: number + required: + - id + - canceledAt + - disabledAt + - enabledAt + type: object + autoExposeSystemEnvs: + type: boolean + autoAssignCustomDomains: + type: boolean + autoAssignCustomDomainsUpdatedBy: + type: string + buildCommand: + nullable: true + type: string + commandForIgnoringBuildStep: + nullable: true + type: string + connectConfigurationId: + nullable: true + type: string + connectBuildsEnabled: + type: boolean + createdAt: + type: number + customerSupportCodeVisibility: + type: boolean + crons: + properties: + enabledAt: + type: number + description: 'The time the feature was enabled for this project. Note: It enables automatically with the first Deployment that outputs cronjobs.' + disabledAt: + nullable: true + type: number + description: The time the feature was disabled for this project. + updatedAt: + type: number + deploymentId: + nullable: true + type: string + description: The ID of the Deployment from which the definitions originated. + definitions: + items: + properties: + host: + type: string + description: The hostname that should be used. + example: vercel.com + path: + type: string + description: The path that should be called for the cronjob. + example: /api/crons/sync-something?hello=world + schedule: + type: string + description: The cron expression. + example: 0 0 * * * + required: + - host + - path + - schedule + type: object + type: array + required: + - enabledAt + - disabledAt + - updatedAt + - deploymentId + - definitions + type: object + dataCache: + properties: + userDisabled: + type: boolean + storageSizeBytes: + nullable: true + type: number + unlimited: + type: boolean + required: + - userDisabled + type: object + devCommand: + nullable: true + type: string + directoryListing: + type: boolean + installCommand: + nullable: true + type: string + env: + items: + properties: + target: + oneOf: + - items: + type: string + enum: + - production + - preview + - development + - preview + - development + type: array + - type: string + enum: + - production + - preview + - development + - preview + - development + type: + type: string + enum: + - secret + - system + - encrypted + - plain + - sensitive + id: + type: string + key: + type: string + value: + type: string + configurationId: + nullable: true + type: string + createdAt: + type: number + updatedAt: + type: number + createdBy: + nullable: true + type: string + updatedBy: + nullable: true + type: string + gitBranch: + type: string + edgeConfigId: + nullable: true + type: string + edgeConfigTokenId: + nullable: true + type: string + contentHint: + nullable: true + oneOf: + - properties: + type: + type: string + enum: + - redis-url + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - redis-rest-api-url + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - redis-rest-api-token + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - redis-rest-api-read-only-token + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - blob-read-write-token + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-url + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-url-non-pooling + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-prisma-url + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-user + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-host + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-password + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-database + storeId: + type: string + required: + - type + - storeId + type: object + decrypted: + type: boolean + description: Whether `value` is decrypted. + required: + - type + - key + - value + type: object + type: array + framework: + nullable: true + type: string + enum: + - blitzjs + - nextjs + - gatsby + - remix + - astro + - hexo + - eleventy + - docusaurus-2 + - docusaurus + - preact + - solidstart + - dojo + - ember + - vue + - scully + - ionic-angular + - angular + - polymer + - svelte + - sveltekit + - sveltekit-1 + - ionic-react + - create-react-app + - gridsome + - umijs + - sapper + - saber + - stencil + - nuxtjs + - redwoodjs + - hugo + - jekyll + - brunch + - middleman + - zola + - hydrogen + - vite + - vitepress + - vuepress + - parcel + - sanity + - storybook + gitForkProtection: + type: boolean + gitLFS: + type: boolean + id: + type: string + latestDeployments: + items: + properties: + alias: + items: + type: string + type: array + aliasAssigned: + nullable: true + oneOf: + - type: number + - type: boolean + aliasError: + nullable: true + properties: + code: + type: string + message: + type: string + required: + - code + - message + type: object + aliasFinal: + nullable: true + type: string + automaticAliases: + items: + type: string + type: array + builds: + items: + properties: + use: + type: string + src: + type: string + dest: + type: string + required: + - use + type: object + type: array + connectBuildsEnabled: + type: boolean + connectConfigurationId: + type: string + createdAt: + type: number + createdIn: + type: string + creator: + nullable: true + properties: + email: + type: string + githubLogin: + type: string + gitlabLogin: + type: string + uid: + type: string + username: + type: string + required: + - email + - uid + - username + type: object + deploymentHostname: + type: string + name: + type: string + forced: + type: boolean + id: + type: string + meta: + additionalProperties: + type: string + type: object + monorepoManager: + nullable: true + type: string + plan: + type: string + enum: + - pro + - enterprise + - hobby + - oss + private: + type: boolean + readyState: + type: string + enum: + - BUILDING + - ERROR + - INITIALIZING + - QUEUED + - READY + - CANCELED + readySubstate: + type: string + enum: + - STAGED + - PROMOTED + requestedAt: + type: number + target: + nullable: true + type: string + teamId: + nullable: true + type: string + type: + type: string + enum: + - LAMBDAS + url: + type: string + userId: + type: string + withCache: + type: boolean + checksConclusion: + type: string + enum: + - succeeded + - failed + - skipped + - canceled + checksState: + type: string + enum: + - registered + - running + - completed + readyAt: + type: number + buildingAt: + type: number + previewCommentsEnabled: + type: boolean + description: Whether or not preview comments are enabled for the deployment + example: false + required: + - createdAt + - createdIn + - creator + - deploymentHostname + - name + - id + - plan + - private + - readyState + - type + - url + - userId + type: object + type: array + link: + oneOf: + - properties: + org: + type: string + repo: + type: string + repoId: + type: number + type: + type: string + enum: + - github + createdAt: + type: number + deployHooks: + items: + properties: + createdAt: + type: number + id: + type: string + name: + type: string + ref: + type: string + url: + type: string + required: + - id + - name + - ref + - url + type: object + type: array + gitCredentialId: + type: string + updatedAt: + type: number + sourceless: + type: boolean + productionBranch: + type: string + required: + - deployHooks + type: object + - properties: + projectId: + type: string + projectName: + type: string + projectNameWithNamespace: + type: string + projectNamespace: + type: string + projectUrl: + type: string + type: + type: string + enum: + - gitlab + createdAt: + type: number + deployHooks: + items: + properties: + createdAt: + type: number + id: + type: string + name: + type: string + ref: + type: string + url: + type: string + required: + - id + - name + - ref + - url + type: object + type: array + gitCredentialId: + type: string + updatedAt: + type: number + sourceless: + type: boolean + productionBranch: + type: string + required: + - deployHooks + type: object + - properties: + name: + type: string + slug: + type: string + owner: + type: string + type: + type: string + enum: + - bitbucket + uuid: + type: string + workspaceUuid: + type: string + createdAt: + type: number + deployHooks: + items: + properties: + createdAt: + type: number + id: + type: string + name: + type: string + ref: + type: string + url: + type: string + required: + - id + - name + - ref + - url + type: object + type: array + gitCredentialId: + type: string + updatedAt: + type: number + sourceless: + type: boolean + productionBranch: + type: string + required: + - deployHooks + type: object + name: + type: string + nodeVersion: + type: string + enum: + - 18.x + - 16.x + - 14.x + - 12.x + - 10.x + outputDirectory: + nullable: true + type: string + passwordProtection: + nullable: true + type: object + productionDeploymentsFastLane: + type: boolean + publicSource: + nullable: true + type: boolean + rootDirectory: + nullable: true + type: string + serverlessFunctionRegion: + nullable: true + type: string + skipGitConnectDuringLink: + type: boolean + sourceFilesOutsideRootDirectory: + type: boolean + ssoProtection: + nullable: true + properties: + deploymentType: + type: string + enum: + - all + - preview + - prod_deployment_urls_and_all_previews + required: + - deploymentType + type: object + targets: + additionalProperties: + nullable: true + properties: + alias: + items: + type: string + type: array + aliasAssigned: + nullable: true + oneOf: + - type: number + - type: boolean + aliasError: + nullable: true + properties: + code: + type: string + message: + type: string + required: + - code + - message + type: object + aliasFinal: + nullable: true + type: string + automaticAliases: + items: + type: string + type: array + builds: + items: + properties: + use: + type: string + src: + type: string + dest: + type: string + required: + - use + type: object + type: array + connectBuildsEnabled: + type: boolean + connectConfigurationId: + type: string + createdAt: + type: number + createdIn: + type: string + creator: + nullable: true + properties: + email: + type: string + githubLogin: + type: string + gitlabLogin: + type: string + uid: + type: string + username: + type: string + required: + - email + - uid + - username + type: object + deploymentHostname: + type: string + name: + type: string + forced: + type: boolean + id: + type: string + meta: + additionalProperties: + type: string + type: object + monorepoManager: + nullable: true + type: string + plan: + type: string + enum: + - pro + - enterprise + - hobby + - oss + private: + type: boolean + readyState: + type: string + enum: + - BUILDING + - ERROR + - INITIALIZING + - QUEUED + - READY + - CANCELED + readySubstate: + type: string + enum: + - STAGED + - PROMOTED + requestedAt: + type: number + target: + nullable: true + type: string + teamId: + nullable: true + type: string + type: + type: string + enum: + - LAMBDAS + url: + type: string + userId: + type: string + withCache: + type: boolean + checksConclusion: + type: string + enum: + - succeeded + - failed + - skipped + - canceled + checksState: + type: string + enum: + - registered + - running + - completed + readyAt: + type: number + buildingAt: + type: number + previewCommentsEnabled: + type: boolean + description: Whether or not preview comments are enabled for the deployment + example: false + required: + - createdAt + - createdIn + - creator + - deploymentHostname + - name + - id + - plan + - private + - readyState + - type + - url + - userId + type: object + type: object + transferCompletedAt: + type: number + transferStartedAt: + type: number + transferToAccountId: + type: string + transferredFromAccountId: + type: string + updatedAt: + type: number + live: + type: boolean + enablePreviewFeedback: + nullable: true + type: boolean + permissions: + properties: + aliasGlobal: + items: + $ref: '#/components/schemas/ACLAction' + type: array + analyticsSampling: + items: + $ref: '#/components/schemas/ACLAction' + type: array + analyticsUsage: + items: + $ref: '#/components/schemas/ACLAction' + type: array + auditLog: + items: + $ref: '#/components/schemas/ACLAction' + type: array + billingAddress: + items: + $ref: '#/components/schemas/ACLAction' + type: array + billingInformation: + items: + $ref: '#/components/schemas/ACLAction' + type: array + billingInvoice: + items: + $ref: '#/components/schemas/ACLAction' + type: array + billingInvoiceEmailRecipient: + items: + $ref: '#/components/schemas/ACLAction' + type: array + billingInvoiceLanguage: + items: + $ref: '#/components/schemas/ACLAction' + type: array + billingPlan: + items: + $ref: '#/components/schemas/ACLAction' + type: array + billingPurchaseOrder: + items: + $ref: '#/components/schemas/ACLAction' + type: array + billingTaxId: + items: + $ref: '#/components/schemas/ACLAction' + type: array + blob: + items: + $ref: '#/components/schemas/ACLAction' + type: array + budget: + items: + $ref: '#/components/schemas/ACLAction' + type: array + cacheArtifact: + items: + $ref: '#/components/schemas/ACLAction' + type: array + cacheArtifactUsageEvent: + items: + $ref: '#/components/schemas/ACLAction' + type: array + concurrentBuilds: + items: + $ref: '#/components/schemas/ACLAction' + type: array + connect: + items: + $ref: '#/components/schemas/ACLAction' + type: array + connectConfiguration: + items: + $ref: '#/components/schemas/ACLAction' + type: array + domain: + items: + $ref: '#/components/schemas/ACLAction' + type: array + domainAcceptDelegation: + items: + $ref: '#/components/schemas/ACLAction' + type: array + domainAuthCodes: + items: + $ref: '#/components/schemas/ACLAction' + type: array + domainCertificate: + items: + $ref: '#/components/schemas/ACLAction' + type: array + domainCheckConfig: + items: + $ref: '#/components/schemas/ACLAction' + type: array + domainMove: + items: + $ref: '#/components/schemas/ACLAction' + type: array + domainPurchase: + items: + $ref: '#/components/schemas/ACLAction' + type: array + domainRecord: + items: + $ref: '#/components/schemas/ACLAction' + type: array + domainTransferIn: + items: + $ref: '#/components/schemas/ACLAction' + type: array + event: + items: + $ref: '#/components/schemas/ACLAction' + type: array + ownEvent: + items: + $ref: '#/components/schemas/ACLAction' + type: array + sensitiveEnvironmentVariablePolicy: + items: + $ref: '#/components/schemas/ACLAction' + type: array + fileUpload: + items: + $ref: '#/components/schemas/ACLAction' + type: array + gitRepository: + items: + $ref: '#/components/schemas/ACLAction' + type: array + ipBlocking: + items: + $ref: '#/components/schemas/ACLAction' + type: array + integration: + items: + $ref: '#/components/schemas/ACLAction' + type: array + integrationConfiguration: + items: + $ref: '#/components/schemas/ACLAction' + type: array + integrationConfigurationTransfer: + items: + $ref: '#/components/schemas/ACLAction' + type: array + integrationConfigurationProjects: + items: + $ref: '#/components/schemas/ACLAction' + type: array + integrationVercelConfigurationOverride: + items: + $ref: '#/components/schemas/ACLAction' + type: array + jobGlobal: + items: + $ref: '#/components/schemas/ACLAction' + type: array + logDrain: + items: + $ref: '#/components/schemas/ACLAction' + type: array + Monitoring: + items: + $ref: '#/components/schemas/ACLAction' + type: array + monitoringQuery: + items: + $ref: '#/components/schemas/ACLAction' + type: array + monitoringChart: + items: + $ref: '#/components/schemas/ACLAction' + type: array + monitoringAlert: + items: + $ref: '#/components/schemas/ACLAction' + type: array + notificationDeploymentFailed: + items: + $ref: '#/components/schemas/ACLAction' + type: array + notificationDomainConfiguration: + items: + $ref: '#/components/schemas/ACLAction' + type: array + notificationDomainExpire: + items: + $ref: '#/components/schemas/ACLAction' + type: array + notificationDomainMoved: + items: + $ref: '#/components/schemas/ACLAction' + type: array + notificationDomainPurchase: + items: + $ref: '#/components/schemas/ACLAction' + type: array + notificationDomainRenewal: + items: + $ref: '#/components/schemas/ACLAction' + type: array + notificationDomainTransfer: + items: + $ref: '#/components/schemas/ACLAction' + type: array + notificationDomainUnverified: + items: + $ref: '#/components/schemas/ACLAction' + type: array + NotificationMonitoringAlert: + items: + $ref: '#/components/schemas/ACLAction' + type: array + notificationPaymentFailed: + items: + $ref: '#/components/schemas/ACLAction' + type: array + notificationUsageAlert: + items: + $ref: '#/components/schemas/ACLAction' + type: array + notificationCustomerBudget: + items: + $ref: '#/components/schemas/ACLAction' + type: array + openTelemetryEndpoint: + items: + $ref: '#/components/schemas/ACLAction' + type: array + paymentMethod: + items: + $ref: '#/components/schemas/ACLAction' + type: array + permissions: + items: + $ref: '#/components/schemas/ACLAction' + type: array + postgres: + items: + $ref: '#/components/schemas/ACLAction' + type: array + previewDeploymentSuffix: + items: + $ref: '#/components/schemas/ACLAction' + type: array + proTrialOnboarding: + items: + $ref: '#/components/schemas/ACLAction' + type: array + seawallConfig: + items: + $ref: '#/components/schemas/ACLAction' + type: array + sharedEnvVars: + items: + $ref: '#/components/schemas/ACLAction' + type: array + sharedEnvVarsProduction: + items: + $ref: '#/components/schemas/ACLAction' + type: array + space: + items: + $ref: '#/components/schemas/ACLAction' + type: array + spaceRun: + items: + $ref: '#/components/schemas/ACLAction' + type: array + passwordProtectionInvoiceItem: + items: + $ref: '#/components/schemas/ACLAction' + type: array + rateLimit: + items: + $ref: '#/components/schemas/ACLAction' + type: array + redis: + items: + $ref: '#/components/schemas/ACLAction' + type: array + remoteCaching: + items: + $ref: '#/components/schemas/ACLAction' + type: array + samlConfig: + items: + $ref: '#/components/schemas/ACLAction' + type: array + secret: + items: + $ref: '#/components/schemas/ACLAction' + type: array + supportCase: + items: + $ref: '#/components/schemas/ACLAction' + type: array + supportCaseComment: + items: + $ref: '#/components/schemas/ACLAction' + type: array + dataCacheBillingSettings: + items: + $ref: '#/components/schemas/ACLAction' + type: array + team: + items: + $ref: '#/components/schemas/ACLAction' + type: array + teamAccessRequest: + items: + $ref: '#/components/schemas/ACLAction' + type: array + teamFellowMembership: + items: + $ref: '#/components/schemas/ACLAction' + type: array + teamInvite: + items: + $ref: '#/components/schemas/ACLAction' + type: array + teamInviteCode: + items: + $ref: '#/components/schemas/ACLAction' + type: array + teamJoin: + items: + $ref: '#/components/schemas/ACLAction' + type: array + teamOwnMembership: + items: + $ref: '#/components/schemas/ACLAction' + type: array + teamOwnMembershipDisconnectSAML: + items: + $ref: '#/components/schemas/ACLAction' + type: array + token: + items: + $ref: '#/components/schemas/ACLAction' + type: array + usage: + items: + $ref: '#/components/schemas/ACLAction' + type: array + usageCycle: + items: + $ref: '#/components/schemas/ACLAction' + type: array + user: + items: + $ref: '#/components/schemas/ACLAction' + type: array + userConnection: + items: + $ref: '#/components/schemas/ACLAction' + type: array + webAnalyticsPlan: + items: + $ref: '#/components/schemas/ACLAction' + type: array + edgeConfig: + items: + $ref: '#/components/schemas/ACLAction' + type: array + edgeConfigItem: + items: + $ref: '#/components/schemas/ACLAction' + type: array + edgeConfigToken: + items: + $ref: '#/components/schemas/ACLAction' + type: array + webhook: + items: + $ref: '#/components/schemas/ACLAction' + type: array + webhook-event: + items: + $ref: '#/components/schemas/ACLAction' + type: array + endpointVerification: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectTransferIn: + items: + $ref: '#/components/schemas/ACLAction' + type: array + aliasProject: + items: + $ref: '#/components/schemas/ACLAction' + type: array + aliasProtectionBypass: + items: + $ref: '#/components/schemas/ACLAction' + type: array + connectConfigurationLink: + items: + $ref: '#/components/schemas/ACLAction' + type: array + dataCacheNamespace: + items: + $ref: '#/components/schemas/ACLAction' + type: array + deployment: + items: + $ref: '#/components/schemas/ACLAction' + type: array + deploymentCheck: + items: + $ref: '#/components/schemas/ACLAction' + type: array + deploymentCheckPreview: + items: + $ref: '#/components/schemas/ACLAction' + type: array + deploymentCheckReRunFromProductionBranch: + items: + $ref: '#/components/schemas/ACLAction' + type: array + deploymentProductionGit: + items: + $ref: '#/components/schemas/ACLAction' + type: array + deploymentPreview: + items: + $ref: '#/components/schemas/ACLAction' + type: array + deploymentPrivate: + items: + $ref: '#/components/schemas/ACLAction' + type: array + deploymentPromote: + items: + $ref: '#/components/schemas/ACLAction' + type: array + deploymentRollback: + items: + $ref: '#/components/schemas/ACLAction' + type: array + logs: + items: + $ref: '#/components/schemas/ACLAction' + type: array + logsPreset: + items: + $ref: '#/components/schemas/ACLAction' + type: array + passwordProtection: + items: + $ref: '#/components/schemas/ACLAction' + type: array + job: + items: + $ref: '#/components/schemas/ACLAction' + type: array + project: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectAnalyticsSampling: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectDeploymentHook: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectDomain: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectDomainMove: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectDomainCheckConfig: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectEnvVars: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectEnvVarsProduction: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectEnvVarsUnownedByIntegration: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectId: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectIntegrationConfiguration: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectLink: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectMember: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectMonitoring: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectPermissions: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectProductionBranch: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectTransfer: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectTransferOut: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectProtectionBypass: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectUsage: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectAnalyticsUsage: + items: + $ref: '#/components/schemas/ACLAction' + type: array + analytics: + items: + $ref: '#/components/schemas/ACLAction' + type: array + trustedIps: + items: + $ref: '#/components/schemas/ACLAction' + type: array + webAnalytics: + items: + $ref: '#/components/schemas/ACLAction' + type: array + sharedEnvVarConnection: + items: + $ref: '#/components/schemas/ACLAction' + type: array + type: object + lastRollbackTarget: + nullable: true + type: object + lastAliasRequest: + nullable: true + properties: + fromDeploymentId: + type: string + toDeploymentId: + type: string + jobStatus: + type: string + enum: + - succeeded + - failed + - skipped + - pending + - in-progress + requestedAt: + type: number + type: + type: string + enum: + - promote + - rollback + required: + - fromDeploymentId + - toDeploymentId + - jobStatus + - requestedAt + - type + type: object + hasFloatingAliases: + type: boolean + protectionBypass: + additionalProperties: + properties: + createdAt: + type: number + createdBy: + type: string + scope: + type: string + enum: + - automation-bypass + required: + - createdAt + - createdBy + - scope + type: object + type: object + hasActiveBranches: + type: boolean + trustedIps: + nullable: true + oneOf: + - properties: + deploymentType: + type: string + enum: + - all + - preview + - prod_deployment_urls_and_all_previews + - production + addresses: + items: + properties: + value: + type: string + note: + type: string + required: + - value + type: object + type: array + protectionMode: + type: string + enum: + - additional + - exclusive + required: + - deploymentType + - addresses + - protectionMode + type: object + - properties: + deploymentType: + type: string + enum: + - all + - preview + - prod_deployment_urls_and_all_previews + - production + required: + - deploymentType + type: object + gitComments: + properties: + onPullRequest: + type: boolean + description: Whether the Vercel bot should comment on PRs + onCommit: + type: boolean + description: Whether the Vercel bot should comment on commits + required: + - onPullRequest + - onCommit + type: object + paused: + type: boolean + required: + - accountId + - directoryListing + - id + - name + - nodeVersion + type: object + '400': + description: One of the provided values in the request query is invalid. + '401': + description: '' + '403': + description: You do not have permission to access this resource. + parameters: + - name: idOrName + description: The unique project identifier or the project name + in: path + required: true + schema: + description: The unique project identifier or the project name + oneOf: + - type: string + - type: boolean + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + patch: + description: Update the fields of a project using either its `name` or `id`. + operationId: updateProject + security: + - bearerToken: [] + summary: Update an existing project + tags: + - projects + responses: + '200': + description: The project was successfully updated + content: + application/json: + schema: + properties: + accountId: + type: string + analytics: + properties: + id: + type: string + canceledAt: + nullable: true + type: number + disabledAt: + type: number + enabledAt: + type: number + paidAt: + type: number + sampleRatePercent: + nullable: true + type: number + spendLimitInDollars: + nullable: true + type: number + required: + - id + - canceledAt + - disabledAt + - enabledAt + type: object + autoExposeSystemEnvs: + type: boolean + autoAssignCustomDomains: + type: boolean + autoAssignCustomDomainsUpdatedBy: + type: string + buildCommand: + nullable: true + type: string + commandForIgnoringBuildStep: + nullable: true + type: string + connectConfigurationId: + nullable: true + type: string + connectBuildsEnabled: + type: boolean + createdAt: + type: number + customerSupportCodeVisibility: + type: boolean + crons: + properties: + enabledAt: + type: number + description: 'The time the feature was enabled for this project. Note: It enables automatically with the first Deployment that outputs cronjobs.' + disabledAt: + nullable: true + type: number + description: The time the feature was disabled for this project. + updatedAt: + type: number + deploymentId: + nullable: true + type: string + description: The ID of the Deployment from which the definitions originated. + definitions: + items: + properties: + host: + type: string + description: The hostname that should be used. + example: vercel.com + path: + type: string + description: The path that should be called for the cronjob. + example: /api/crons/sync-something?hello=world + schedule: + type: string + description: The cron expression. + example: 0 0 * * * + required: + - host + - path + - schedule + type: object + type: array + required: + - enabledAt + - disabledAt + - updatedAt + - deploymentId + - definitions + type: object + dataCache: + properties: + userDisabled: + type: boolean + storageSizeBytes: + nullable: true + type: number + unlimited: + type: boolean + required: + - userDisabled + type: object + devCommand: + nullable: true + type: string + directoryListing: + type: boolean + installCommand: + nullable: true + type: string + env: + items: + properties: + target: + oneOf: + - items: + type: string + enum: + - production + - preview + - development + - preview + - development + type: array + - type: string + enum: + - production + - preview + - development + - preview + - development + type: + type: string + enum: + - secret + - system + - encrypted + - plain + - sensitive + id: + type: string + key: + type: string + value: + type: string + configurationId: + nullable: true + type: string + createdAt: + type: number + updatedAt: + type: number + createdBy: + nullable: true + type: string + updatedBy: + nullable: true + type: string + gitBranch: + type: string + edgeConfigId: + nullable: true + type: string + edgeConfigTokenId: + nullable: true + type: string + contentHint: + nullable: true + oneOf: + - properties: + type: + type: string + enum: + - redis-url + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - redis-rest-api-url + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - redis-rest-api-token + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - redis-rest-api-read-only-token + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - blob-read-write-token + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-url + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-url-non-pooling + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-prisma-url + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-user + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-host + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-password + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-database + storeId: + type: string + required: + - type + - storeId + type: object + decrypted: + type: boolean + description: Whether `value` is decrypted. + required: + - type + - key + - value + type: object + type: array + framework: + nullable: true + type: string + enum: + - blitzjs + - nextjs + - gatsby + - remix + - astro + - hexo + - eleventy + - docusaurus-2 + - docusaurus + - preact + - solidstart + - dojo + - ember + - vue + - scully + - ionic-angular + - angular + - polymer + - svelte + - sveltekit + - sveltekit-1 + - ionic-react + - create-react-app + - gridsome + - umijs + - sapper + - saber + - stencil + - nuxtjs + - redwoodjs + - hugo + - jekyll + - brunch + - middleman + - zola + - hydrogen + - vite + - vitepress + - vuepress + - parcel + - sanity + - storybook + gitForkProtection: + type: boolean + gitLFS: + type: boolean + id: + type: string + latestDeployments: + items: + properties: + alias: + items: + type: string + type: array + aliasAssigned: + nullable: true + oneOf: + - type: number + - type: boolean + aliasError: + nullable: true + properties: + code: + type: string + message: + type: string + required: + - code + - message + type: object + aliasFinal: + nullable: true + type: string + automaticAliases: + items: + type: string + type: array + builds: + items: + properties: + use: + type: string + src: + type: string + dest: + type: string + required: + - use + type: object + type: array + connectBuildsEnabled: + type: boolean + connectConfigurationId: + type: string + createdAt: + type: number + createdIn: + type: string + creator: + nullable: true + properties: + email: + type: string + githubLogin: + type: string + gitlabLogin: + type: string + uid: + type: string + username: + type: string + required: + - email + - uid + - username + type: object + deploymentHostname: + type: string + name: + type: string + forced: + type: boolean + id: + type: string + meta: + additionalProperties: + type: string + type: object + monorepoManager: + nullable: true + type: string + plan: + type: string + enum: + - pro + - enterprise + - hobby + - oss + private: + type: boolean + readyState: + type: string + enum: + - BUILDING + - ERROR + - INITIALIZING + - QUEUED + - READY + - CANCELED + readySubstate: + type: string + enum: + - STAGED + - PROMOTED + requestedAt: + type: number + target: + nullable: true + type: string + teamId: + nullable: true + type: string + type: + type: string + enum: + - LAMBDAS + url: + type: string + userId: + type: string + withCache: + type: boolean + checksConclusion: + type: string + enum: + - succeeded + - failed + - skipped + - canceled + checksState: + type: string + enum: + - registered + - running + - completed + readyAt: + type: number + buildingAt: + type: number + previewCommentsEnabled: + type: boolean + description: Whether or not preview comments are enabled for the deployment + example: false + required: + - createdAt + - createdIn + - creator + - deploymentHostname + - name + - id + - plan + - private + - readyState + - type + - url + - userId + type: object + type: array + link: + oneOf: + - properties: + org: + type: string + repo: + type: string + repoId: + type: number + type: + type: string + enum: + - github + createdAt: + type: number + deployHooks: + items: + properties: + createdAt: + type: number + id: + type: string + name: + type: string + ref: + type: string + url: + type: string + required: + - id + - name + - ref + - url + type: object + type: array + gitCredentialId: + type: string + updatedAt: + type: number + sourceless: + type: boolean + productionBranch: + type: string + required: + - deployHooks + type: object + - properties: + projectId: + type: string + projectName: + type: string + projectNameWithNamespace: + type: string + projectNamespace: + type: string + projectUrl: + type: string + type: + type: string + enum: + - gitlab + createdAt: + type: number + deployHooks: + items: + properties: + createdAt: + type: number + id: + type: string + name: + type: string + ref: + type: string + url: + type: string + required: + - id + - name + - ref + - url + type: object + type: array + gitCredentialId: + type: string + updatedAt: + type: number + sourceless: + type: boolean + productionBranch: + type: string + required: + - deployHooks + type: object + - properties: + name: + type: string + slug: + type: string + owner: + type: string + type: + type: string + enum: + - bitbucket + uuid: + type: string + workspaceUuid: + type: string + createdAt: + type: number + deployHooks: + items: + properties: + createdAt: + type: number + id: + type: string + name: + type: string + ref: + type: string + url: + type: string + required: + - id + - name + - ref + - url + type: object + type: array + gitCredentialId: + type: string + updatedAt: + type: number + sourceless: + type: boolean + productionBranch: + type: string + required: + - deployHooks + type: object + name: + type: string + nodeVersion: + type: string + enum: + - 18.x + - 16.x + - 14.x + - 12.x + - 10.x + outputDirectory: + nullable: true + type: string + passwordProtection: + nullable: true + type: object + productionDeploymentsFastLane: + type: boolean + publicSource: + nullable: true + type: boolean + rootDirectory: + nullable: true + type: string + serverlessFunctionRegion: + nullable: true + type: string + skipGitConnectDuringLink: + type: boolean + sourceFilesOutsideRootDirectory: + type: boolean + ssoProtection: + nullable: true + properties: + deploymentType: + type: string + enum: + - all + - preview + - prod_deployment_urls_and_all_previews + required: + - deploymentType + type: object + targets: + additionalProperties: + nullable: true + properties: + alias: + items: + type: string + type: array + aliasAssigned: + nullable: true + oneOf: + - type: number + - type: boolean + aliasError: + nullable: true + properties: + code: + type: string + message: + type: string + required: + - code + - message + type: object + aliasFinal: + nullable: true + type: string + automaticAliases: + items: + type: string + type: array + builds: + items: + properties: + use: + type: string + src: + type: string + dest: + type: string + required: + - use + type: object + type: array + connectBuildsEnabled: + type: boolean + connectConfigurationId: + type: string + createdAt: + type: number + createdIn: + type: string + creator: + nullable: true + properties: + email: + type: string + githubLogin: + type: string + gitlabLogin: + type: string + uid: + type: string + username: + type: string + required: + - email + - uid + - username + type: object + deploymentHostname: + type: string + name: + type: string + forced: + type: boolean + id: + type: string + meta: + additionalProperties: + type: string + type: object + monorepoManager: + nullable: true + type: string + plan: + type: string + enum: + - pro + - enterprise + - hobby + - oss + private: + type: boolean + readyState: + type: string + enum: + - BUILDING + - ERROR + - INITIALIZING + - QUEUED + - READY + - CANCELED + readySubstate: + type: string + enum: + - STAGED + - PROMOTED + requestedAt: + type: number + target: + nullable: true + type: string + teamId: + nullable: true + type: string + type: + type: string + enum: + - LAMBDAS + url: + type: string + userId: + type: string + withCache: + type: boolean + checksConclusion: + type: string + enum: + - succeeded + - failed + - skipped + - canceled + checksState: + type: string + enum: + - registered + - running + - completed + readyAt: + type: number + buildingAt: + type: number + previewCommentsEnabled: + type: boolean + description: Whether or not preview comments are enabled for the deployment + example: false + required: + - createdAt + - createdIn + - creator + - deploymentHostname + - name + - id + - plan + - private + - readyState + - type + - url + - userId + type: object + type: object + transferCompletedAt: + type: number + transferStartedAt: + type: number + transferToAccountId: + type: string + transferredFromAccountId: + type: string + updatedAt: + type: number + live: + type: boolean + enablePreviewFeedback: + nullable: true + type: boolean + permissions: + properties: + aliasGlobal: + items: + $ref: '#/components/schemas/ACLAction' + type: array + analyticsSampling: + items: + $ref: '#/components/schemas/ACLAction' + type: array + analyticsUsage: + items: + $ref: '#/components/schemas/ACLAction' + type: array + auditLog: + items: + $ref: '#/components/schemas/ACLAction' + type: array + billingAddress: + items: + $ref: '#/components/schemas/ACLAction' + type: array + billingInformation: + items: + $ref: '#/components/schemas/ACLAction' + type: array + billingInvoice: + items: + $ref: '#/components/schemas/ACLAction' + type: array + billingInvoiceEmailRecipient: + items: + $ref: '#/components/schemas/ACLAction' + type: array + billingInvoiceLanguage: + items: + $ref: '#/components/schemas/ACLAction' + type: array + billingPlan: + items: + $ref: '#/components/schemas/ACLAction' + type: array + billingPurchaseOrder: + items: + $ref: '#/components/schemas/ACLAction' + type: array + billingTaxId: + items: + $ref: '#/components/schemas/ACLAction' + type: array + blob: + items: + $ref: '#/components/schemas/ACLAction' + type: array + budget: + items: + $ref: '#/components/schemas/ACLAction' + type: array + cacheArtifact: + items: + $ref: '#/components/schemas/ACLAction' + type: array + cacheArtifactUsageEvent: + items: + $ref: '#/components/schemas/ACLAction' + type: array + concurrentBuilds: + items: + $ref: '#/components/schemas/ACLAction' + type: array + connect: + items: + $ref: '#/components/schemas/ACLAction' + type: array + connectConfiguration: + items: + $ref: '#/components/schemas/ACLAction' + type: array + domain: + items: + $ref: '#/components/schemas/ACLAction' + type: array + domainAcceptDelegation: + items: + $ref: '#/components/schemas/ACLAction' + type: array + domainAuthCodes: + items: + $ref: '#/components/schemas/ACLAction' + type: array + domainCertificate: + items: + $ref: '#/components/schemas/ACLAction' + type: array + domainCheckConfig: + items: + $ref: '#/components/schemas/ACLAction' + type: array + domainMove: + items: + $ref: '#/components/schemas/ACLAction' + type: array + domainPurchase: + items: + $ref: '#/components/schemas/ACLAction' + type: array + domainRecord: + items: + $ref: '#/components/schemas/ACLAction' + type: array + domainTransferIn: + items: + $ref: '#/components/schemas/ACLAction' + type: array + event: + items: + $ref: '#/components/schemas/ACLAction' + type: array + ownEvent: + items: + $ref: '#/components/schemas/ACLAction' + type: array + sensitiveEnvironmentVariablePolicy: + items: + $ref: '#/components/schemas/ACLAction' + type: array + fileUpload: + items: + $ref: '#/components/schemas/ACLAction' + type: array + gitRepository: + items: + $ref: '#/components/schemas/ACLAction' + type: array + ipBlocking: + items: + $ref: '#/components/schemas/ACLAction' + type: array + integration: + items: + $ref: '#/components/schemas/ACLAction' + type: array + integrationConfiguration: + items: + $ref: '#/components/schemas/ACLAction' + type: array + integrationConfigurationTransfer: + items: + $ref: '#/components/schemas/ACLAction' + type: array + integrationConfigurationProjects: + items: + $ref: '#/components/schemas/ACLAction' + type: array + integrationVercelConfigurationOverride: + items: + $ref: '#/components/schemas/ACLAction' + type: array + jobGlobal: + items: + $ref: '#/components/schemas/ACLAction' + type: array + logDrain: + items: + $ref: '#/components/schemas/ACLAction' + type: array + Monitoring: + items: + $ref: '#/components/schemas/ACLAction' + type: array + monitoringQuery: + items: + $ref: '#/components/schemas/ACLAction' + type: array + monitoringChart: + items: + $ref: '#/components/schemas/ACLAction' + type: array + monitoringAlert: + items: + $ref: '#/components/schemas/ACLAction' + type: array + notificationDeploymentFailed: + items: + $ref: '#/components/schemas/ACLAction' + type: array + notificationDomainConfiguration: + items: + $ref: '#/components/schemas/ACLAction' + type: array + notificationDomainExpire: + items: + $ref: '#/components/schemas/ACLAction' + type: array + notificationDomainMoved: + items: + $ref: '#/components/schemas/ACLAction' + type: array + notificationDomainPurchase: + items: + $ref: '#/components/schemas/ACLAction' + type: array + notificationDomainRenewal: + items: + $ref: '#/components/schemas/ACLAction' + type: array + notificationDomainTransfer: + items: + $ref: '#/components/schemas/ACLAction' + type: array + notificationDomainUnverified: + items: + $ref: '#/components/schemas/ACLAction' + type: array + NotificationMonitoringAlert: + items: + $ref: '#/components/schemas/ACLAction' + type: array + notificationPaymentFailed: + items: + $ref: '#/components/schemas/ACLAction' + type: array + notificationUsageAlert: + items: + $ref: '#/components/schemas/ACLAction' + type: array + notificationCustomerBudget: + items: + $ref: '#/components/schemas/ACLAction' + type: array + openTelemetryEndpoint: + items: + $ref: '#/components/schemas/ACLAction' + type: array + paymentMethod: + items: + $ref: '#/components/schemas/ACLAction' + type: array + permissions: + items: + $ref: '#/components/schemas/ACLAction' + type: array + postgres: + items: + $ref: '#/components/schemas/ACLAction' + type: array + previewDeploymentSuffix: + items: + $ref: '#/components/schemas/ACLAction' + type: array + proTrialOnboarding: + items: + $ref: '#/components/schemas/ACLAction' + type: array + seawallConfig: + items: + $ref: '#/components/schemas/ACLAction' + type: array + sharedEnvVars: + items: + $ref: '#/components/schemas/ACLAction' + type: array + sharedEnvVarsProduction: + items: + $ref: '#/components/schemas/ACLAction' + type: array + space: + items: + $ref: '#/components/schemas/ACLAction' + type: array + spaceRun: + items: + $ref: '#/components/schemas/ACLAction' + type: array + passwordProtectionInvoiceItem: + items: + $ref: '#/components/schemas/ACLAction' + type: array + rateLimit: + items: + $ref: '#/components/schemas/ACLAction' + type: array + redis: + items: + $ref: '#/components/schemas/ACLAction' + type: array + remoteCaching: + items: + $ref: '#/components/schemas/ACLAction' + type: array + samlConfig: + items: + $ref: '#/components/schemas/ACLAction' + type: array + secret: + items: + $ref: '#/components/schemas/ACLAction' + type: array + supportCase: + items: + $ref: '#/components/schemas/ACLAction' + type: array + supportCaseComment: + items: + $ref: '#/components/schemas/ACLAction' + type: array + dataCacheBillingSettings: + items: + $ref: '#/components/schemas/ACLAction' + type: array + team: + items: + $ref: '#/components/schemas/ACLAction' + type: array + teamAccessRequest: + items: + $ref: '#/components/schemas/ACLAction' + type: array + teamFellowMembership: + items: + $ref: '#/components/schemas/ACLAction' + type: array + teamInvite: + items: + $ref: '#/components/schemas/ACLAction' + type: array + teamInviteCode: + items: + $ref: '#/components/schemas/ACLAction' + type: array + teamJoin: + items: + $ref: '#/components/schemas/ACLAction' + type: array + teamOwnMembership: + items: + $ref: '#/components/schemas/ACLAction' + type: array + teamOwnMembershipDisconnectSAML: + items: + $ref: '#/components/schemas/ACLAction' + type: array + token: + items: + $ref: '#/components/schemas/ACLAction' + type: array + usage: + items: + $ref: '#/components/schemas/ACLAction' + type: array + usageCycle: + items: + $ref: '#/components/schemas/ACLAction' + type: array + user: + items: + $ref: '#/components/schemas/ACLAction' + type: array + userConnection: + items: + $ref: '#/components/schemas/ACLAction' + type: array + webAnalyticsPlan: + items: + $ref: '#/components/schemas/ACLAction' + type: array + edgeConfig: + items: + $ref: '#/components/schemas/ACLAction' + type: array + edgeConfigItem: + items: + $ref: '#/components/schemas/ACLAction' + type: array + edgeConfigToken: + items: + $ref: '#/components/schemas/ACLAction' + type: array + webhook: + items: + $ref: '#/components/schemas/ACLAction' + type: array + webhook-event: + items: + $ref: '#/components/schemas/ACLAction' + type: array + endpointVerification: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectTransferIn: + items: + $ref: '#/components/schemas/ACLAction' + type: array + aliasProject: + items: + $ref: '#/components/schemas/ACLAction' + type: array + aliasProtectionBypass: + items: + $ref: '#/components/schemas/ACLAction' + type: array + connectConfigurationLink: + items: + $ref: '#/components/schemas/ACLAction' + type: array + dataCacheNamespace: + items: + $ref: '#/components/schemas/ACLAction' + type: array + deployment: + items: + $ref: '#/components/schemas/ACLAction' + type: array + deploymentCheck: + items: + $ref: '#/components/schemas/ACLAction' + type: array + deploymentCheckPreview: + items: + $ref: '#/components/schemas/ACLAction' + type: array + deploymentCheckReRunFromProductionBranch: + items: + $ref: '#/components/schemas/ACLAction' + type: array + deploymentProductionGit: + items: + $ref: '#/components/schemas/ACLAction' + type: array + deploymentPreview: + items: + $ref: '#/components/schemas/ACLAction' + type: array + deploymentPrivate: + items: + $ref: '#/components/schemas/ACLAction' + type: array + deploymentPromote: + items: + $ref: '#/components/schemas/ACLAction' + type: array + deploymentRollback: + items: + $ref: '#/components/schemas/ACLAction' + type: array + logs: + items: + $ref: '#/components/schemas/ACLAction' + type: array + logsPreset: + items: + $ref: '#/components/schemas/ACLAction' + type: array + passwordProtection: + items: + $ref: '#/components/schemas/ACLAction' + type: array + job: + items: + $ref: '#/components/schemas/ACLAction' + type: array + project: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectAnalyticsSampling: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectDeploymentHook: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectDomain: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectDomainMove: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectDomainCheckConfig: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectEnvVars: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectEnvVarsProduction: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectEnvVarsUnownedByIntegration: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectId: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectIntegrationConfiguration: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectLink: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectMember: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectMonitoring: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectPermissions: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectProductionBranch: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectTransfer: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectTransferOut: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectProtectionBypass: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectUsage: + items: + $ref: '#/components/schemas/ACLAction' + type: array + projectAnalyticsUsage: + items: + $ref: '#/components/schemas/ACLAction' + type: array + analytics: + items: + $ref: '#/components/schemas/ACLAction' + type: array + trustedIps: + items: + $ref: '#/components/schemas/ACLAction' + type: array + webAnalytics: + items: + $ref: '#/components/schemas/ACLAction' + type: array + sharedEnvVarConnection: + items: + $ref: '#/components/schemas/ACLAction' + type: array + type: object + lastRollbackTarget: + nullable: true + type: object + lastAliasRequest: + nullable: true + properties: + fromDeploymentId: + type: string + toDeploymentId: + type: string + jobStatus: + type: string + enum: + - succeeded + - failed + - skipped + - pending + - in-progress + requestedAt: + type: number + type: + type: string + enum: + - promote + - rollback + required: + - fromDeploymentId + - toDeploymentId + - jobStatus + - requestedAt + - type + type: object + hasFloatingAliases: + type: boolean + protectionBypass: + additionalProperties: + properties: + createdAt: + type: number + createdBy: + type: string + scope: + type: string + enum: + - automation-bypass + required: + - createdAt + - createdBy + - scope + type: object + type: object + hasActiveBranches: + type: boolean + trustedIps: + nullable: true + oneOf: + - properties: + deploymentType: + type: string + enum: + - all + - preview + - prod_deployment_urls_and_all_previews + - production + addresses: + items: + properties: + value: + type: string + note: + type: string + required: + - value + type: object + type: array + protectionMode: + type: string + enum: + - exclusive + - additional + required: + - deploymentType + - addresses + - protectionMode + type: object + - properties: + deploymentType: + type: string + enum: + - all + - preview + - prod_deployment_urls_and_all_previews + - production + required: + - deploymentType + type: object + gitComments: + properties: + onPullRequest: + type: boolean + description: Whether the Vercel bot should comment on PRs + onCommit: + type: boolean + description: Whether the Vercel bot should comment on commits + required: + - onPullRequest + - onCommit + type: object + paused: + type: boolean + required: + - accountId + - directoryListing + - id + - name + - nodeVersion + type: object + '400': + description: |- + One of the provided values in the request body is invalid. + One of the provided values in the request query is invalid. + Owner does not have protection add-on + Trusted IPs is only accessible for enterprise customers + Advanced Deployment Protection is not available for the user plan + '401': + description: '' + '403': + description: You do not have permission to access this resource. + '409': + description: |- + The provided name for the project is already being used + The project is currently being transferred. + parameters: + - name: idOrName + description: The unique project identifier or the project name + in: path + required: true + schema: + example: prj_12HKQaOmR5t5Uy6vdcQsNIiZgHGB + description: The unique project identifier or the project name + type: string + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + additionalProperties: false + properties: + autoExposeSystemEnvs: + type: boolean + autoAssignCustomDomains: + type: boolean + autoAssignCustomDomainsUpdatedBy: + type: string + buildCommand: + description: The build command for this project. When `null` is used this value will be automatically detected + maxLength: 256 + type: string + nullable: true + commandForIgnoringBuildStep: + maxLength: 256 + type: string + nullable: true + customerSupportCodeVisibility: + description: Specifies whether customer support can see git source for a deployment + type: boolean + devCommand: + description: The dev command for this project. When `null` is used this value will be automatically detected + maxLength: 256 + type: string + nullable: true + directoryListing: + type: boolean + framework: + description: The framework that is being used for this project. When `null` is used no framework is selected + enum: + - null + - blitzjs + - nextjs + - gatsby + - remix + - astro + - hexo + - eleventy + - docusaurus-2 + - docusaurus + - preact + - solidstart + - dojo + - ember + - vue + - scully + - ionic-angular + - angular + - polymer + - svelte + - sveltekit + - sveltekit-1 + - ionic-react + - create-react-app + - gridsome + - umijs + - sapper + - saber + - stencil + - nuxtjs + - redwoodjs + - hugo + - jekyll + - brunch + - middleman + - zola + - hydrogen + - vite + - vitepress + - vuepress + - parcel + - sanity + - storybook + type: string + nullable: true + gitForkProtection: + description: Specifies whether PRs from Git forks should require a team member's authorization before it can be deployed + type: boolean + gitLFS: + description: Specifies whether Git LFS is enabled for this project. + type: boolean + installCommand: + description: The install command for this project. When `null` is used this value will be automatically detected + maxLength: 256 + type: string + nullable: true + name: + description: The desired name for the project + example: a-project-name + type: string + maxLength: 100 + pattern: '^[a-z0-9]([a-z0-9]|-[a-z0-9])*$' + nodeVersion: + enum: + - 18.x + - 16.x + - 14.x + - 12.x + - 10.x + type: string + outputDirectory: + description: The output directory of the project. When `null` is used this value will be automatically detected + maxLength: 256 + type: string + nullable: true + passwordProtection: + additionalProperties: false + description: Allows to protect project deployments with a password + properties: + deploymentType: + description: Specify if the password will apply to every Deployment Target or just Preview + enum: + - all + - preview + - prod_deployment_urls_and_all_previews + type: string + password: + description: The password that will be used to protect Project Deployments + maxLength: 72 + type: string + nullable: true + required: + - deploymentType + type: object + nullable: true + publicSource: + description: Specifies whether the source code and logs of the deployments for this project should be public or not + type: boolean + nullable: true + rootDirectory: + description: The name of a directory or relative path to the source code of your project. When `null` is used it will default to the project root + maxLength: 256 + type: string + nullable: true + serverlessFunctionRegion: + description: The region to deploy Serverless Functions in this project + maxLength: 4 + type: string + nullable: true + skipGitConnectDuringLink: + description: Opts-out of the message prompting a CLI user to connect a Git repository in `vercel link`. + type: boolean + deprecated: true + sourceFilesOutsideRootDirectory: + description: Indicates if there are source files outside of the root directory + type: boolean + ssoProtection: + additionalProperties: false + description: Ensures visitors to your Preview Deployments are logged into Vercel and have a minimum of Viewer access on your team + properties: + deploymentType: + default: preview + description: Specify if the Vercel Authentication (SSO Protection) will apply to every Deployment Target or just Preview + enum: + - all + - preview + - prod_deployment_urls_and_all_previews + type: string + required: + - deploymentType + type: object + nullable: true + trustedIps: + additionalProperties: false + description: Restricts access to deployments based on the incoming request IP address + properties: + deploymentType: + description: Specify if the Trusted IPs will apply to every Deployment Target or just Preview + enum: + - all + - preview + - production + - prod_deployment_urls_and_all_previews + type: string + addresses: + type: array + items: + type: object + properties: + value: + type: string + description: The IP addresses that are allowlisted. Supported formats are IPv4 and CIDR. + note: + type: string + description: An optional note explaining what the IP address or subnet is used for + required: + - value + additionalProperties: false + minItems: 1 + protectionMode: + description: 'exclusive: ip match is enough to bypass deployment protection (regardless of other settings). additional: ip must match + any other protection should be also provided (password, vercel auth, shareable link, automation bypass header, automation bypass query param)' + enum: + - exclusive + - additional + type: string + required: + - deploymentType + - addresses + - protectionMode + type: object + nullable: true + enablePreviewFeedback: + description: Opt-in to Preview comments on the project level + type: boolean + nullable: true + type: object + delete: + description: Delete a specific project by passing either the project `id` or `name` in the URL. + operationId: deleteProject + security: + - bearerToken: [] + summary: Delete a Project + tags: + - projects + responses: + '204': + description: The project was successfuly removed + '400': + description: One of the provided values in the request query is invalid. + '401': + description: '' + '403': + description: You do not have permission to access this resource. + '409': + description: '' + parameters: + - name: idOrName + description: The unique project identifier or the project name + in: path + required: true + schema: + example: prj_12HKQaOmR5t5Uy6vdcQsNIiZgHGB + description: The unique project identifier or the project name + type: string + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + '/v9/projects/{idOrName}/domains': + get: + description: Retrieve the domains associated with a given project by passing either the project `id` or `name` in the URL. + operationId: getProjectDomains + security: + - bearerToken: [] + summary: Retrieve project domains by project by id or name + tags: + - projects + responses: + '200': + description: Successful response retrieving a list of domains + content: + application/json: + schema: + properties: + domains: + items: + properties: + name: + type: string + apexName: + type: string + projectId: + type: string + redirect: + nullable: true + type: string + redirectStatusCode: + nullable: true + type: number + enum: + - 307 + - 301 + - 302 + - 308 + gitBranch: + nullable: true + type: string + updatedAt: + type: number + createdAt: + type: number + verified: + type: boolean + description: '`true` if the domain is verified for use with the project. If `false` it will not be used as an alias on this project until the challenge in `verification` is completed.' + verification: + items: + properties: + type: + type: string + domain: + type: string + value: + type: string + reason: + type: string + required: + - type + - domain + - value + - reason + type: object + description: 'A list of verification challenges, one of which must be completed to verify the domain for use on the project. After the challenge is complete `POST /projects/:idOrName/domains/:domain/verify` to verify the domain. Possible challenges: - If `verification.type = TXT` the `verification.domain` will be checked for a TXT record matching `verification.value`.' + type: array + description: 'A list of verification challenges, one of which must be completed to verify the domain for use on the project. After the challenge is complete `POST /projects/:idOrName/domains/:domain/verify` to verify the domain. Possible challenges: - If `verification.type = TXT` the `verification.domain` will be checked for a TXT record matching `verification.value`.' + required: + - name + - apexName + - projectId + - verified + type: object + type: array + pagination: + $ref: '#/components/schemas/Pagination' + required: + - domains + - pagination + type: object + '400': + description: One of the provided values in the request query is invalid. + '401': + description: '' + '403': + description: You do not have permission to access this resource. + parameters: + - name: idOrName + description: The unique project identifier or the project name + in: path + required: true + schema: + description: The unique project identifier or the project name + oneOf: + - type: string + - type: integer + - name: production + description: Filters only production domains when set to `true`. + in: query + required: false + schema: + default: 'false' + description: Filters only production domains when set to `true`. + enum: + - 'true' + - 'false' + - name: gitBranch + description: Filters domains based on specific branch. + in: query + required: false + schema: + description: Filters domains based on specific branch. + type: string + - name: redirects + description: Excludes redirect project domains when \"false\". Includes redirect project domains when \"true\" (default). + in: query + required: false + schema: + default: 'true' + description: Excludes redirect project domains when \"false\". Includes redirect project domains when \"true\" (default). + enum: + - 'true' + - 'false' + - name: redirect + description: Filters domains based on their redirect target. + in: query + required: false + schema: + description: Filters domains based on their redirect target. + type: string + example: example.com + - name: verified + description: Filters domains based on their verification status. + in: query + required: false + schema: + description: Filters domains based on their verification status. + enum: + - 'true' + - 'false' + - name: limit + description: Maximum number of domains to list from a request (max 100). + in: query + required: false + schema: + description: Maximum number of domains to list from a request (max 100). + type: number + example: 20 + - name: since + description: Get domains created after this JavaScript timestamp. + in: query + required: false + schema: + description: Get domains created after this JavaScript timestamp. + type: number + example: 1609499532000 + - name: until + description: Get domains created before this JavaScript timestamp. + in: query + required: false + schema: + description: Get domains created before this JavaScript timestamp. + type: number + example: 1612264332000 + - name: order + description: Domains sort order by createdAt + in: query + required: false + schema: + default: DESC + description: Domains sort order by createdAt + enum: + - ASC + - DESC + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + '/v9/projects/{idOrName}/domains/{domain}': + get: + description: Get project domain by project id/name and domain name. + operationId: getProjectDomain + security: + - bearerToken: [] + summary: Get a project domain + tags: + - projects + responses: + '200': + description: '' + content: + application/json: + schema: + properties: + name: + type: string + apexName: + type: string + projectId: + type: string + redirect: + nullable: true + type: string + redirectStatusCode: + nullable: true + type: number + enum: + - 307 + - 301 + - 302 + - 308 + gitBranch: + nullable: true + type: string + updatedAt: + type: number + createdAt: + type: number + verified: + type: boolean + description: '`true` if the domain is verified for use with the project. If `false` it will not be used as an alias on this project until the challenge in `verification` is completed.' + verification: + items: + properties: + type: + type: string + domain: + type: string + value: + type: string + reason: + type: string + required: + - type + - domain + - value + - reason + type: object + description: 'A list of verification challenges, one of which must be completed to verify the domain for use on the project. After the challenge is complete `POST /projects/:idOrName/domains/:domain/verify` to verify the domain. Possible challenges: - If `verification.type = TXT` the `verification.domain` will be checked for a TXT record matching `verification.value`.' + type: array + description: 'A list of verification challenges, one of which must be completed to verify the domain for use on the project. After the challenge is complete `POST /projects/:idOrName/domains/:domain/verify` to verify the domain. Possible challenges: - If `verification.type = TXT` the `verification.domain` will be checked for a TXT record matching `verification.value`.' + required: + - name + - apexName + - projectId + - verified + type: object + '400': + description: One of the provided values in the request query is invalid. + '401': + description: '' + '403': + description: You do not have permission to access this resource. + parameters: + - name: idOrName + description: The unique project identifier or the project name + in: path + required: true + schema: + description: The unique project identifier or the project name + type: string + - name: domain + description: The project domain name + in: path + required: true + schema: + description: The project domain name + type: string + example: www.example.com + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + patch: + description: 'Update a project domain''s configuration, including the name, git branch and redirect of the domain.' + operationId: updateProjectDomain + security: + - bearerToken: [] + summary: Update a project domain + tags: + - projects + responses: + '200': + description: The domain was updated successfuly + content: + application/json: + schema: + properties: + name: + type: string + apexName: + type: string + projectId: + type: string + redirect: + nullable: true + type: string + redirectStatusCode: + nullable: true + type: number + enum: + - 307 + - 301 + - 302 + - 308 + gitBranch: + nullable: true + type: string + updatedAt: + type: number + createdAt: + type: number + verified: + type: boolean + description: '`true` if the domain is verified for use with the project. If `false` it will not be used as an alias on this project until the challenge in `verification` is completed.' + verification: + items: + properties: + type: + type: string + domain: + type: string + value: + type: string + reason: + type: string + required: + - type + - domain + - value + - reason + type: object + description: 'A list of verification challenges, one of which must be completed to verify the domain for use on the project. After the challenge is complete `POST /projects/:idOrName/domains/:domain/verify` to verify the domain. Possible challenges: - If `verification.type = TXT` the `verification.domain` will be checked for a TXT record matching `verification.value`.' + type: array + description: 'A list of verification challenges, one of which must be completed to verify the domain for use on the project. After the challenge is complete `POST /projects/:idOrName/domains/:domain/verify` to verify the domain. Possible challenges: - If `verification.type = TXT` the `verification.domain` will be checked for a TXT record matching `verification.value`.' + required: + - name + - apexName + - projectId + - verified + type: object + '400': + description: |- + One of the provided values in the request body is invalid. + One of the provided values in the request query is invalid. + The domain redirect is not valid + '401': + description: '' + '403': + description: You do not have permission to access this resource. + '409': + description: The project is currently being transferred + parameters: + - name: idOrName + description: The unique project identifier or the project name + in: path + required: true + schema: + description: The unique project identifier or the project name + type: string + - name: domain + description: The project domain name + in: path + required: true + schema: + description: The project domain name + type: string + example: www.example.com + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + properties: + gitBranch: + description: Git branch to link the project domain + example: null + type: string + maxLength: 250 + nullable: true + redirect: + description: Target destination domain for redirect + example: foobar.com + type: string + nullable: true + redirectStatusCode: + description: Status code for domain redirect + example: 307 + type: integer + enum: + - null + - 301 + - 302 + - 307 + - 308 + nullable: true + type: object + delete: + description: Remove a domain from a project by passing the domain name and by specifying the project by either passing the project `id` or `name` in the URL. + operationId: removeProjectDomain + security: + - bearerToken: [] + summary: Remove a domain from a project + tags: + - projects + responses: + '200': + description: The domain was succesfully removed from the project + content: + application/json: + schema: + type: object + '400': + description: One of the provided values in the request query is invalid. + '401': + description: '' + '403': + description: You do not have permission to access this resource. + '404': + description: '' + '409': + description: The project is currently being transferred + parameters: + - name: idOrName + description: The unique project identifier or the project name + in: path + required: true + schema: + description: The unique project identifier or the project name + type: string + - name: domain + description: The project domain name + in: path + required: true + schema: + description: The project domain name + type: string + example: www.example.com + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + '/v10/projects/{idOrName}/domains': + post: + description: 'Add a domain to the project by passing its domain name and by specifying the project by either passing the project `id` or `name` in the URL. If the domain is not yet verified to be used on this project, the request will return `verified = false`, and the domain will need to be verified according to the `verification` challenge via `POST /projects/:idOrName/domains/:domain/verify`. If the domain already exists on the project, the request will fail with a `400` status code.' + operationId: addProjectDomain + security: + - bearerToken: [] + summary: Add a domain to a project + tags: + - projects + responses: + '200': + description: The domain was successfully added to the project + content: + application/json: + schema: + properties: + name: + type: string + apexName: + type: string + projectId: + type: string + redirect: + nullable: true + type: string + redirectStatusCode: + nullable: true + type: number + enum: + - 307 + - 301 + - 302 + - 308 + gitBranch: + nullable: true + type: string + updatedAt: + type: number + createdAt: + type: number + verified: + type: boolean + description: '`true` if the domain is verified for use with the project. If `false` it will not be used as an alias on this project until the challenge in `verification` is completed.' + verification: + items: + properties: + type: + type: string + domain: + type: string + value: + type: string + reason: + type: string + required: + - type + - domain + - value + - reason + type: object + description: 'A list of verification challenges, one of which must be completed to verify the domain for use on the project. After the challenge is complete `POST /projects/:idOrName/domains/:domain/verify` to verify the domain. Possible challenges: - If `verification.type = TXT` the `verification.domain` will be checked for a TXT record matching `verification.value`.' + type: array + description: 'A list of verification challenges, one of which must be completed to verify the domain for use on the project. After the challenge is complete `POST /projects/:idOrName/domains/:domain/verify` to verify the domain. Possible challenges: - If `verification.type = TXT` the `verification.domain` will be checked for a TXT record matching `verification.value`.' + required: + - name + - apexName + - projectId + - verified + type: object + '400': + description: |- + One of the provided values in the request body is invalid. + One of the provided values in the request query is invalid. + The domain is not valid + You can't set both a git branch and a redirect for the domain + The domain can not be added because the latest production deployment for the project was not successful + The domain redirect is not valid + A domain cannot redirect to itself + You can not set the production branch as a branch for your domain + '401': + description: '' + '402': + description: |- + The account was soft-blocked for an unhandled reason. + The account is missing a payment so payment method must be updated + '403': + description: |- + You do not have permission to access this resource. + You don't have access to the domain you are adding + '409': + description: |- + The domain is already assigned to another Vercel project + Cannot create project domain since owner already has `domain` on their account + Cannot create project domain if the current verified domain + The project is currently being transferred + parameters: + - name: idOrName + description: The unique project identifier or the project name + in: path + required: true + schema: + description: The unique project identifier or the project name + type: string + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + properties: + name: + description: The project domain name + example: www.example.com + type: string + gitBranch: + description: Git branch to link the project domain + example: null + maxLength: 250 + type: string + nullable: true + redirect: + description: Target destination domain for redirect + example: foobar.com + type: string + nullable: true + redirectStatusCode: + description: Status code for domain redirect + example: 307 + type: integer + enum: + - null + - 301 + - 302 + - 307 + - 308 + nullable: true + required: + - name + type: object + '/v9/projects/{idOrName}/domains/{domain}/verify': + post: + description: Attempts to verify a project domain with `verified = false` by checking the correctness of the project domain's `verification` challenge. + operationId: verifyProjectDomain + security: + - bearerToken: [] + summary: Verify project domain + tags: + - projects + responses: + '200': + description: |- + The project domain was verified successfully + Domain is already verified + content: + application/json: + schema: + properties: + name: + type: string + apexName: + type: string + projectId: + type: string + redirect: + nullable: true + type: string + redirectStatusCode: + nullable: true + type: number + enum: + - 307 + - 301 + - 302 + - 308 + gitBranch: + nullable: true + type: string + updatedAt: + type: number + createdAt: + type: number + verified: + type: boolean + description: '`true` if the domain is verified for use with the project. If `false` it will not be used as an alias on this project until the challenge in `verification` is completed.' + verification: + items: + properties: + type: + type: string + domain: + type: string + value: + type: string + reason: + type: string + required: + - type + - domain + - value + - reason + type: object + description: 'A list of verification challenges, one of which must be completed to verify the domain for use on the project. After the challenge is complete `POST /projects/:idOrName/domains/:domain/verify` to verify the domain. Possible challenges: - If `verification.type = TXT` the `verification.domain` will be checked for a TXT record matching `verification.value`.' + type: array + description: 'A list of verification challenges, one of which must be completed to verify the domain for use on the project. After the challenge is complete `POST /projects/:idOrName/domains/:domain/verify` to verify the domain. Possible challenges: - If `verification.type = TXT` the `verification.domain` will be checked for a TXT record matching `verification.value`.' + required: + - name + - apexName + - projectId + - verified + type: object + '400': + description: |- + One of the provided values in the request query is invalid. + There is an existing TXT record on the domain verifying it for another project + The domain does not have a TXT record that attempts to verify the project domain + The TXT record on the domain does not match the expected challenge for the project domain + Project domain is not assigned to project + '401': + description: '' + '403': + description: You do not have permission to access this resource. + parameters: + - name: idOrName + description: The unique project identifier or the project name + in: path + required: true + schema: + example: prj_12HKQaOmR5t5Uy6vdcQsNIiZgHGB + description: The unique project identifier or the project name + type: string + - name: domain + description: The domain name you want to verify + in: path + required: true + schema: + description: The domain name you want to verify + type: string + example: example.com + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + '/v9/projects/{idOrName}/env': + get: + description: Retrieve the environment variables for a given project by passing either the project `id` or `name` in the URL. + operationId: filterProjectEnvs + security: + - bearerToken: [] + summary: Retrieve the environment variables of a project by id or name + tags: + - projects + responses: + '200': + description: The list of environment variables for the given project + content: + application/json: + schema: + oneOf: + - properties: + target: + oneOf: + - items: + type: string + enum: + - production + - preview + - development + - preview + - development + type: array + - type: string + enum: + - production + - preview + - development + - preview + - development + type: + type: string + enum: + - secret + - system + - encrypted + - plain + - sensitive + id: + type: string + key: + type: string + value: + type: string + configurationId: + nullable: true + type: string + createdAt: + type: number + updatedAt: + type: number + createdBy: + nullable: true + type: string + updatedBy: + nullable: true + type: string + gitBranch: + type: string + edgeConfigId: + nullable: true + type: string + edgeConfigTokenId: + nullable: true + type: string + contentHint: + nullable: true + oneOf: + - properties: + type: + type: string + enum: + - redis-url + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - redis-rest-api-url + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - redis-rest-api-token + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - redis-rest-api-read-only-token + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - blob-read-write-token + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-url + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-url-non-pooling + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-prisma-url + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-user + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-host + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-password + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-database + storeId: + type: string + required: + - type + - storeId + type: object + decrypted: + type: boolean + description: Whether `value` is decrypted. + system: + type: boolean + type: object + - properties: + envs: + items: + properties: + target: + oneOf: + - items: + type: string + enum: + - production + - preview + - development + - preview + - development + type: array + - type: string + enum: + - production + - preview + - development + - preview + - development + type: + type: string + enum: + - secret + - system + - encrypted + - plain + - sensitive + id: + type: string + key: + type: string + value: + type: string + configurationId: + nullable: true + type: string + createdAt: + type: number + updatedAt: + type: number + createdBy: + nullable: true + type: string + updatedBy: + nullable: true + type: string + gitBranch: + type: string + edgeConfigId: + nullable: true + type: string + edgeConfigTokenId: + nullable: true + type: string + contentHint: + nullable: true + oneOf: + - properties: + type: + type: string + enum: + - redis-url + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - redis-rest-api-url + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - redis-rest-api-token + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - redis-rest-api-read-only-token + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - blob-read-write-token + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-url + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-url-non-pooling + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-prisma-url + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-user + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-host + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-password + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-database + storeId: + type: string + required: + - type + - storeId + type: object + decrypted: + type: boolean + description: Whether `value` is decrypted. + system: + type: boolean + type: object + type: array + pagination: + $ref: '#/components/schemas/Pagination' + required: + - envs + - pagination + type: object + - properties: + envs: + items: + properties: + target: + oneOf: + - items: + type: string + enum: + - production + - preview + - development + - preview + - development + type: array + - type: string + enum: + - production + - preview + - development + - preview + - development + type: + type: string + enum: + - secret + - system + - encrypted + - plain + - sensitive + id: + type: string + key: + type: string + value: + type: string + configurationId: + nullable: true + type: string + createdAt: + type: number + updatedAt: + type: number + createdBy: + nullable: true + type: string + updatedBy: + nullable: true + type: string + gitBranch: + type: string + edgeConfigId: + nullable: true + type: string + edgeConfigTokenId: + nullable: true + type: string + contentHint: + nullable: true + oneOf: + - properties: + type: + type: string + enum: + - redis-url + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - redis-rest-api-url + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - redis-rest-api-token + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - redis-rest-api-read-only-token + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - blob-read-write-token + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-url + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-url-non-pooling + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-prisma-url + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-user + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-host + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-password + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-database + storeId: + type: string + required: + - type + - storeId + type: object + decrypted: + type: boolean + description: Whether `value` is decrypted. + system: + type: boolean + type: object + type: array + required: + - envs + type: object + description: The list of environment variables for the given project + '400': + description: One of the provided values in the request query is invalid. + '401': + description: '' + '403': + description: You do not have permission to access this resource. + parameters: + - name: idOrName + description: The unique project identifier or the project name + in: path + required: true + schema: + description: The unique project identifier or the project name + type: string + example: prj_XLKmu1DyR1eY7zq8UgeRKbA7yVLA + - name: gitBranch + description: 'If defined, the git branch of the environment variable to filter the results' + in: query + required: false + schema: + description: 'If defined, the git branch of the environment variable to filter the results' + type: string + maxLength: 250 + example: feature-1 + - name: decrypt + description: 'If true, the environment variable value will be decrypted' + in: query + required: false + schema: + description: 'If true, the environment variable value will be decrypted' + type: string + enum: + - 'true' + - 'false' + example: 'true' + deprecated: true + - name: source + description: The source that is calling the endpoint. + in: query + required: false + schema: + description: The source that is calling the endpoint. + type: string + example: 'vercel-cli:pull' + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + '/v1/projects/{idOrName}/env/{id}': + get: + description: Retrieve the environment variable for a given project. + operationId: getProjectEnv + security: + - bearerToken: [] + summary: Retrieve the decrypted value of an environment variable of a project by id + tags: + - projects + responses: + '200': + description: '' + content: + application/json: + schema: + properties: + target: + oneOf: + - items: + type: string + enum: + - production + - preview + - development + - preview + - development + type: array + - type: string + enum: + - production + - preview + - development + - preview + - development + type: + type: string + enum: + - secret + - system + - encrypted + - plain + - sensitive + id: + type: string + key: + type: string + value: + type: string + configurationId: + nullable: true + type: string + createdAt: + type: number + updatedAt: + type: number + createdBy: + nullable: true + type: string + updatedBy: + nullable: true + type: string + gitBranch: + type: string + edgeConfigId: + nullable: true + type: string + edgeConfigTokenId: + nullable: true + type: string + contentHint: + nullable: true + oneOf: + - properties: + type: + type: string + enum: + - redis-url + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - redis-rest-api-url + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - redis-rest-api-token + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - redis-rest-api-read-only-token + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - blob-read-write-token + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-url + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-url-non-pooling + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-prisma-url + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-user + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-host + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-password + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-database + storeId: + type: string + required: + - type + - storeId + type: object + decrypted: + type: boolean + description: Whether `value` is decrypted. + required: + - type + - key + - value + type: object + '400': + description: One of the provided values in the request query is invalid. + '401': + description: '' + '403': + description: You do not have permission to access this resource. + parameters: + - name: idOrName + description: The unique project identifier or the project name + in: path + required: true + schema: + description: The unique project identifier or the project name + type: string + example: prj_XLKmu1DyR1eY7zq8UgeRKbA7yVLA + - name: id + description: The unique ID for the environment variable to get the decrypted value. + in: path + required: true + schema: + description: The unique ID for the environment variable to get the decrypted value. + type: string + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + '/v10/projects/{idOrName}/env': + post: + description: 'Create one ore more environment variables for a project by passing its `key`, `value`, `type` and `target` and by specifying the project by either passing the project `id` or `name` in the URL.' + operationId: createProjectEnv + security: + - bearerToken: [] + summary: Create one or more environment variables + tags: + - projects + responses: + '201': + description: The environment variable was created successfully + content: + application/json: + schema: + properties: + created: + oneOf: + - properties: + target: + oneOf: + - items: + type: string + enum: + - production + - preview + - development + - preview + - development + - preview + - development + type: array + - type: string + enum: + - production + - preview + - development + - preview + - development + - preview + - development + type: + type: string + enum: + - system + - secret + - encrypted + - plain + - sensitive + id: + type: string + key: + type: string + value: + type: string + configurationId: + nullable: true + type: string + createdAt: + type: number + updatedAt: + type: number + createdBy: + nullable: true + type: string + updatedBy: + nullable: true + type: string + gitBranch: + type: string + edgeConfigId: + nullable: true + type: string + edgeConfigTokenId: + nullable: true + type: string + contentHint: + nullable: true + oneOf: + - properties: + type: + type: string + enum: + - redis-url + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - redis-rest-api-url + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - redis-rest-api-token + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - redis-rest-api-read-only-token + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - blob-read-write-token + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-url + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-url-non-pooling + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-prisma-url + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-user + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-host + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-password + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-database + storeId: + type: string + required: + - type + - storeId + type: object + decrypted: + type: boolean + description: Whether `value` is decrypted. + system: + type: boolean + type: object + - items: + properties: + target: + oneOf: + - items: + type: string + enum: + - production + - preview + - development + - preview + - development + - preview + - development + type: array + - type: string + enum: + - production + - preview + - development + - preview + - development + - preview + - development + type: + type: string + enum: + - system + - secret + - encrypted + - plain + - sensitive + id: + type: string + key: + type: string + value: + type: string + configurationId: + nullable: true + type: string + createdAt: + type: number + updatedAt: + type: number + createdBy: + nullable: true + type: string + updatedBy: + nullable: true + type: string + gitBranch: + type: string + edgeConfigId: + nullable: true + type: string + edgeConfigTokenId: + nullable: true + type: string + contentHint: + nullable: true + oneOf: + - properties: + type: + type: string + enum: + - redis-url + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - redis-rest-api-url + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - redis-rest-api-token + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - redis-rest-api-read-only-token + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - blob-read-write-token + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-url + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-url-non-pooling + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-prisma-url + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-user + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-host + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-password + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-database + storeId: + type: string + required: + - type + - storeId + type: object + decrypted: + type: boolean + description: Whether `value` is decrypted. + system: + type: boolean + type: object + type: array + failed: + items: + properties: + error: + properties: + code: + type: string + message: + type: string + key: + type: string + envVarId: + type: string + envVarKey: + type: string + action: + type: string + link: + type: string + value: + oneOf: + - type: string + - items: + type: string + enum: + - production + - preview + - development + - preview + - development + - preview + - development + type: array + gitBranch: + type: string + target: + oneOf: + - items: + type: string + enum: + - production + - preview + - development + - preview + - development + - preview + - development + type: array + - type: string + enum: + - production + - preview + - development + - preview + - development + - preview + - development + project: + type: string + required: + - code + - message + type: object + required: + - error + type: object + type: array + required: + - created + - failed + type: object + '400': + description: |- + One of the provided values in the request body is invalid. + One of the provided values in the request query is invalid. + '401': + description: '' + '402': + description: |- + The account was soft-blocked for an unhandled reason. + The account is missing a payment so payment method must be updated + '403': + description: |- + You do not have permission to access this resource. + The environment variable cannot be created because it already exists + Additional permissions are required to create production environment variables + '409': + description: The project is being transfered and creating an environment variable is not possible + parameters: + - name: idOrName + description: The unique project identifier or the project name + in: path + required: true + schema: + description: The unique project identifier or the project name + type: string + example: prj_XLKmu1DyR1eY7zq8UgeRKbA7yVLA + - name: upsert + description: Allow override of environment variable if it already exists + in: query + required: false + schema: + description: Allow override of environment variable if it already exists + type: string + example: 'true' + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + oneOf: + - type: object + required: + - key + - value + - type + - target + properties: + key: + description: The name of the environment variable + type: string + example: API_URL + value: + description: The value of the environment variable + type: string + example: 'https://api.vercel.com' + type: + description: The type of environment variable + type: string + enum: + - system + - secret + - encrypted + - plain + - sensitive + example: plain + target: + description: The target environment of the environment variable + type: array + items: + enum: + - production + - preview + - development + example: + - production + - preview + gitBranch: + description: The git branch of the environment variable + type: string + maxLength: 250 + example: feature-1 + nullable: true + - type: array + items: + type: object + required: + - key + - value + - type + - target + properties: + key: + description: The name of the environment variable + type: string + example: API_URL + value: + description: The value of the environment variable + type: string + example: 'https://api.vercel.com' + type: + description: The type of environment variable + type: string + enum: + - system + - secret + - encrypted + - plain + - sensitive + example: plain + target: + description: The target environment of the environment variable + type: array + items: + enum: + - production + - preview + - development + example: + - production + - preview + gitBranch: + description: The git branch of the environment variable + type: string + maxLength: 250 + example: feature-1 + nullable: true + '/v9/projects/{idOrName}/env/{id}': + delete: + description: Delete a specific environment variable for a given project by passing the environment variable identifier and either passing the project `id` or `name` in the URL. + operationId: removeProjectEnv + security: + - bearerToken: [] + summary: Remove an environment variable + tags: + - projects + responses: + '200': + description: The environment variable was successfully removed + content: + application/json: + schema: + oneOf: + - items: + properties: + target: + oneOf: + - items: + type: string + enum: + - production + - preview + - development + - preview + - development + - preview + - development + type: array + - type: string + enum: + - production + - preview + - development + - preview + - development + - preview + - development + type: + type: string + enum: + - system + - encrypted + - plain + - sensitive + - secret + id: + type: string + key: + type: string + value: + type: string + configurationId: + nullable: true + type: string + createdAt: + type: number + updatedAt: + type: number + createdBy: + nullable: true + type: string + updatedBy: + nullable: true + type: string + gitBranch: + type: string + edgeConfigId: + nullable: true + type: string + edgeConfigTokenId: + nullable: true + type: string + contentHint: + nullable: true + oneOf: + - properties: + type: + type: string + enum: + - redis-url + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - redis-rest-api-url + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - redis-rest-api-token + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - redis-rest-api-read-only-token + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - blob-read-write-token + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-url + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-url-non-pooling + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-prisma-url + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-user + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-host + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-password + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-database + storeId: + type: string + required: + - type + - storeId + type: object + decrypted: + type: boolean + description: Whether `value` is decrypted. + required: + - type + - key + - value + type: object + type: array + - properties: + system: + type: boolean + target: + oneOf: + - items: + type: string + enum: + - production + - preview + - development + - preview + - development + - preview + - development + type: array + - type: string + enum: + - production + - preview + - development + - preview + - development + - preview + - development + type: + type: string + enum: + - system + - encrypted + - plain + - sensitive + - secret + id: + type: string + key: + type: string + value: + type: string + configurationId: + nullable: true + type: string + createdAt: + type: number + updatedAt: + type: number + createdBy: + nullable: true + type: string + updatedBy: + nullable: true + type: string + gitBranch: + type: string + edgeConfigId: + nullable: true + type: string + edgeConfigTokenId: + nullable: true + type: string + contentHint: + nullable: true + oneOf: + - properties: + type: + type: string + enum: + - redis-url + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - redis-rest-api-url + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - redis-rest-api-token + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - redis-rest-api-read-only-token + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - blob-read-write-token + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-url + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-url-non-pooling + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-prisma-url + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-user + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-host + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-password + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-database + storeId: + type: string + required: + - type + - storeId + type: object + decrypted: + type: boolean + description: Whether `value` is decrypted. + required: + - type + - key + - value + type: object + - properties: + target: + oneOf: + - items: + type: string + enum: + - production + - preview + - development + - preview + - development + - preview + - development + type: array + - type: string + enum: + - production + - preview + - development + - preview + - development + - preview + - development + type: + type: string + enum: + - system + - encrypted + - plain + - sensitive + - secret + id: + type: string + key: + type: string + value: + type: string + configurationId: + nullable: true + type: string + createdAt: + type: number + updatedAt: + type: number + createdBy: + nullable: true + type: string + updatedBy: + nullable: true + type: string + gitBranch: + type: string + edgeConfigId: + nullable: true + type: string + edgeConfigTokenId: + nullable: true + type: string + contentHint: + nullable: true + oneOf: + - properties: + type: + type: string + enum: + - redis-url + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - redis-rest-api-url + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - redis-rest-api-token + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - redis-rest-api-read-only-token + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - blob-read-write-token + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-url + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-url-non-pooling + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-prisma-url + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-user + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-host + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-password + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-database + storeId: + type: string + required: + - type + - storeId + type: object + decrypted: + type: boolean + description: Whether `value` is decrypted. + required: + - type + - key + - value + type: object + '400': + description: One of the provided values in the request query is invalid. + '401': + description: '' + '403': + description: You do not have permission to access this resource. + '404': + description: '' + '409': + description: The project is being transfered and removing an environment variable is not possible + parameters: + - name: idOrName + description: The unique project identifier or the project name + in: path + required: true + schema: + description: The unique project identifier or the project name + type: string + example: prj_XLKmu1DyR1eY7zq8UgeRKbA7yVLA + - name: id + description: The unique environment variable identifier + in: path + required: true + schema: + description: The unique environment variable identifier + type: string + example: XMbOEya1gUUO1ir4 + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + patch: + description: Edit a specific environment variable for a given project by passing the environment variable identifier and either passing the project `id` or `name` in the URL. + operationId: editProjectEnv + security: + - bearerToken: [] + summary: Edit an environment variable + tags: + - projects + responses: + '200': + description: The environment variable was successfully edited + content: + application/json: + schema: + properties: + target: + oneOf: + - items: + type: string + enum: + - production + - preview + - development + - preview + - development + type: array + - type: string + enum: + - production + - preview + - development + - preview + - development + type: + type: string + enum: + - system + - encrypted + - plain + - sensitive + - secret + id: + type: string + key: + type: string + value: + type: string + configurationId: + nullable: true + type: string + createdAt: + type: number + updatedAt: + type: number + createdBy: + nullable: true + type: string + updatedBy: + nullable: true + type: string + gitBranch: + type: string + edgeConfigId: + nullable: true + type: string + edgeConfigTokenId: + nullable: true + type: string + contentHint: + nullable: true + oneOf: + - properties: + type: + type: string + enum: + - redis-url + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - redis-rest-api-url + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - redis-rest-api-token + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - redis-rest-api-read-only-token + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - blob-read-write-token + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-url + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-url-non-pooling + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-prisma-url + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-user + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-host + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-password + storeId: + type: string + required: + - type + - storeId + type: object + - properties: + type: + type: string + enum: + - postgres-database + storeId: + type: string + required: + - type + - storeId + type: object + decrypted: + type: boolean + description: Whether `value` is decrypted. + required: + - type + - key + - value + type: object + '400': + description: |- + One of the provided values in the request body is invalid. + One of the provided values in the request query is invalid. + '401': + description: '' + '403': + description: You do not have permission to access this resource. + '409': + description: The project is being transfered and removing an environment variable is not possible + parameters: + - name: idOrName + description: The unique project identifier or the project name + in: path + required: true + schema: + description: The unique project identifier or the project name + type: string + example: prj_XLKmu1DyR1eY7zq8UgeRKbA7yVLA + - name: id + description: The unique environment variable identifier + in: path + required: true + schema: + description: The unique environment variable identifier + type: string + example: XMbOEya1gUUO1ir4 + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + type: object + additionalProperties: false + properties: + key: + description: The name of the environment variable + type: string + example: GITHUB_APP_ID + target: + description: The target environment of the environment variable + type: array + items: + enum: + - production + - preview + - development + example: + - preview + gitBranch: + description: The git branch of the environment variable + type: string + maxLength: 250 + example: feature-1 + nullable: true + type: + description: The type of environment variable + type: string + enum: + - system + - secret + - encrypted + - plain + - sensitive + example: plain + value: + description: The value of the environment variable + type: string + example: bkWIjbnxcvo78 diff --git a/providers/src/vercel/v00.00.00000/services/secrets.yaml b/providers/src/vercel/v00.00.00000/services/secrets.yaml new file mode 100644 index 00000000..7bf09493 --- /dev/null +++ b/providers/src/vercel/v00.00.00000/services/secrets.yaml @@ -0,0 +1,533 @@ +openapi: 3.0.3 +servers: + - url: 'https://api.vercel.com' + description: Production API +info: + contact: + email: support@vercel.com + name: Vercel Support + url: 'https://vercel.com/support' + version: 0.0.1 + title: Vercel API - secrets + description: secrets +components: + schemas: + Pagination: + properties: + count: + type: number + description: Amount of items in the current page. + example: 20 + next: + nullable: true + type: number + description: Timestamp that must be used to request the next page. + example: 1540095775951 + prev: + nullable: true + type: number + description: Timestamp that must be used to request the previous page. + example: 1540095775951 + required: + - count + - next + - prev + type: object + description: 'This object contains information related to the pagination of the current request, including the necessary parameters to get the next or previous page of data.' + responses: {} + securitySchemes: + bearerToken: + type: http + description: Default authentication mechanism + scheme: bearer + oauth2: + type: oauth2 + flows: + authorizationCode: + authorizationUrl: 'https://api.vercel.com/oauth/authorize' + tokenUrl: 'https://api.vercel.com/oauth/access_token' + scopes: {} + x-stackQL-resources: + secrets: + id: vercel.secrets.secrets + name: secrets + title: Secrets + methods: + get_secrets: + operation: + $ref: '#/paths/~1v3~1secrets/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.secrets + _get_secrets: + operation: + $ref: '#/paths/~1v3~1secrets/get' + response: + mediaType: application/json + openAPIDocKey: '200' + create_secret: + operation: + $ref: '#/paths/~1v2~1secrets~1{name}/post' + response: + mediaType: application/json + openAPIDocKey: '200' + rename_secret: + operation: + $ref: '#/paths/~1v2~1secrets~1{name}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + get_secret: + operation: + $ref: '#/paths/~1v3~1secrets~1{idOrName}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_secret: + operation: + $ref: '#/paths/~1v2~1secrets~1{idOrName}/delete' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/secrets/methods/get_secret' + - $ref: '#/components/x-stackQL-resources/secrets/methods/get_secrets' + insert: + - $ref: '#/components/x-stackQL-resources/secrets/methods/create_secret' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/secrets/methods/delete_secret' +paths: + /v3/secrets: + get: + description: Retrieves the active Vercel secrets for the authenticated user or team. By default it returns 20 secrets. The rest can be retrieved using the pagination options. The body will contain an entry for each secret. + operationId: getSecrets + security: + - bearerToken: [] + summary: List secrets + tags: + - secrets + responses: + '200': + description: Successful response retrieving a list of secrets. + content: + application/json: + schema: + properties: + secrets: + items: + properties: + created: + type: string + format: date-time + description: The date when the secret was created. + example: '2021-02-10T13:11:49.180Z' + name: + type: string + description: The name of the secret. + example: my-api-key + teamId: + nullable: true + type: string + description: The unique identifier of the team the secret was created for. + example: team_LLHUOMOoDlqOp8wPE4kFo9pE + uid: + type: string + description: The unique identifier of the secret. + example: sec_XCG7t7AIHuO2SBA8667zNUiM + userId: + type: string + description: The unique identifier of the user who created the secret. + example: 2qDDuGFTWXBLDNnqZfWPDp1A + value: + type: string + description: The value of the secret. + createdAt: + type: number + description: Timestamp for when the secret was created. + example: 1609492210000 + projectId: + type: string + description: The unique identifier of the project which the secret belongs to. + example: prj_2WjyKQmM8ZnGcJsPWMrHRHrE + decryptable: + type: boolean + description: Indicates whether the secret value can be decrypted after it has been created. + example: true + required: + - created + - name + - uid + type: object + description: Data representing a secret. + type: array + pagination: + $ref: '#/components/schemas/Pagination' + required: + - secrets + - pagination + type: object + '400': + description: One of the provided values in the request query is invalid. + '401': + description: '' + '403': + description: You do not have permission to access this resource. + parameters: + - name: id + description: Filter out secrets based on comma separated secret ids. + in: query + schema: + description: Filter out secrets based on comma separated secret ids. + type: string + example: 'sec_RKc5iV0rV3ZSrFrHiruRno7k,sec_fGc5iV0rV3ZSrFrHiruRnouQ' + deprecated: true + - name: projectId + description: Filter out secrets that belong to a project. + in: query + schema: + description: Filter out secrets that belong to a project. + type: string + example: prj_2WjyKQmM8ZnGcJsPWMrHRHrE + deprecated: true + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + '/v2/secrets/{name}': + post: + description: Allows to create a new secret. + operationId: createSecret + security: + - bearerToken: [] + summary: Create a new secret + tags: + - secrets + responses: + '200': + description: Successful response showing the created secret. + content: + application/json: + schema: + properties: + value: + type: object + properties: + type: + type: string + enum: + - Buffer + data: + type: array + items: + type: number + created: + type: string + format: date-time + description: The date when the secret was created. + example: '2021-02-10T13:11:49.180Z' + name: + type: string + description: The name of the secret. + example: my-api-key + teamId: + nullable: true + type: string + description: The unique identifier of the team the secret was created for. + example: team_LLHUOMOoDlqOp8wPE4kFo9pE + uid: + type: string + description: The unique identifier of the secret. + example: sec_XCG7t7AIHuO2SBA8667zNUiM + userId: + type: string + description: The unique identifier of the user who created the secret. + example: 2qDDuGFTWXBLDNnqZfWPDp1A + createdAt: + type: number + description: Timestamp for when the secret was created. + example: 1609492210000 + projectId: + type: string + description: The unique identifier of the project which the secret belongs to. + example: prj_2WjyKQmM8ZnGcJsPWMrHRHrE + decryptable: + type: boolean + description: Indicates whether the secret value can be decrypted after it has been created. + example: true + required: + - value + - created + - name + - uid + type: object + '400': + description: One of the provided values in the request body is invalid. + '401': + description: '' + '402': + description: |- + The account was soft-blocked for an unhandled reason. + The account is missing a payment so payment method must be updated + '403': + description: You do not have permission to access this resource. + parameters: + - name: name + description: The name of the secret. + in: path + required: true + schema: + type: string + description: The name of the secret. + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + additionalProperties: false + type: object + required: + - name + - value + properties: + name: + description: The name of the secret (max 100 characters). + type: string + example: my-api-key + maximum: 100 + value: + description: The value of the new secret. + type: string + example: some secret value + decryptable: + description: Whether the secret value can be decrypted after it has been created. + type: boolean + example: true + projectId: + description: Associate a secret to a project. + type: string + example: prj_2WjyKQmM8ZnGcJsPWMrHRHrE + deprecated: true + patch: + description: Enables to edit the name of a secret. The name has to be unique to the user or team’s secrets. + operationId: renameSecret + security: + - bearerToken: [] + summary: Change secret name + tags: + - secrets + responses: + '200': + description: '' + content: + application/json: + schema: + properties: + uid: + type: string + name: + type: string + created: + type: string + format: date-time + oldName: + type: string + required: + - uid + - name + - created + - oldName + type: object + '400': + description: |- + One of the provided values in the request body is invalid. + One of the provided values in the request query is invalid. + '401': + description: '' + '403': + description: You do not have permission to access this resource. + parameters: + - name: name + description: The name of the secret. + in: path + required: true + schema: + description: The name of the secret. + type: string + example: my-api-key + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + additionalProperties: false + type: object + required: + - name + properties: + name: + description: The name of the new secret. + type: string + example: my-api-key + maximum: 100 + '/v3/secrets/{idOrName}': + get: + description: Retrieves the information for a specific secret by passing either the secret id or name in the URL. + operationId: getSecret + security: + - bearerToken: [] + summary: Get a single secret + tags: + - secrets + responses: + '200': + description: Successful response retrieving a secret. + content: + application/json: + schema: + properties: + created: + type: string + format: date-time + description: The date when the secret was created. + example: '2021-02-10T13:11:49.180Z' + name: + type: string + description: The name of the secret. + example: my-api-key + teamId: + nullable: true + type: string + description: The unique identifier of the team the secret was created for. + example: team_LLHUOMOoDlqOp8wPE4kFo9pE + uid: + type: string + description: The unique identifier of the secret. + example: sec_XCG7t7AIHuO2SBA8667zNUiM + userId: + type: string + description: The unique identifier of the user who created the secret. + example: 2qDDuGFTWXBLDNnqZfWPDp1A + value: + type: string + description: The value of the secret. + createdAt: + type: number + description: Timestamp for when the secret was created. + example: 1609492210000 + projectId: + type: string + description: The unique identifier of the project which the secret belongs to. + example: prj_2WjyKQmM8ZnGcJsPWMrHRHrE + decryptable: + type: boolean + description: Indicates whether the secret value can be decrypted after it has been created. + example: true + required: + - created + - name + - uid + type: object + description: Data representing a secret. + '400': + description: One of the provided values in the request query is invalid. + '401': + description: '' + '403': + description: You do not have permission to access this resource. + '404': + description: '' + parameters: + - name: idOrName + description: The name or the unique identifier to which the secret belongs to. + in: path + required: true + schema: + description: The name or the unique identifier to which the secret belongs to. + type: string + example: sec_RKc5iV0rV3ZSrFrHiruRno7k + - name: decrypt + description: Whether to try to decrypt the value of the secret. Only works if `decryptable` has been set to `true` when the secret was created. + in: query + required: false + schema: + description: Whether to try to decrypt the value of the secret. Only works if `decryptable` has been set to `true` when the secret was created. + type: string + enum: + - 'true' + - 'false' + example: 'true' + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + '/v2/secrets/{idOrName}': + delete: + description: This deletes the user or team’s secret defined in the URL. + operationId: deleteSecret + security: + - bearerToken: [] + summary: Delete a secret + tags: + - secrets + responses: + '200': + description: '' + content: + application/json: + schema: + properties: + uid: + type: string + description: The unique identifier of the deleted secret. + example: sec_XCG7t7AIHuO2SBA8667zNUiM + name: + type: string + description: The name of the deleted secret. + example: my-api-key + created: + type: number + description: The date when the secret was created. + example: '2021-02-10T13:11:49.180Z' + required: + - uid + - name + - created + type: object + '400': + description: One of the provided values in the request query is invalid. + '401': + description: '' + '403': + description: You do not have permission to access this resource. + parameters: + - name: idOrName + description: The name or the unique identifier to which the secret belongs to. + in: path + required: true + schema: + description: The name or the unique identifier to which the secret belongs to. + type: string + example: sec_RKc5iV0rV3ZSrFrHiruRno7k + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string diff --git a/providers/src/vercel/v00.00.00000/services/teams.yaml b/providers/src/vercel/v00.00.00000/services/teams.yaml new file mode 100644 index 00000000..c6e8fb7b --- /dev/null +++ b/providers/src/vercel/v00.00.00000/services/teams.yaml @@ -0,0 +1,3140 @@ +openapi: 3.0.3 +servers: + - url: 'https://api.vercel.com' + description: Production API +info: + contact: + email: support@vercel.com + name: Vercel Support + url: 'https://vercel.com/support' + version: 0.0.1 + title: Vercel API - teams + description: teams +components: + schemas: + Team: + type: object + description: Data representing a Team. + properties: + id: + type: string + description: The Team's unique identifier. + example: team_nllPyCtREAqxxdyFKbbMDlxd + slug: + type: string + description: 'The Team''s slug, which is unique across the Vercel platform.' + example: my-team + name: + nullable: true + type: string + description: 'Name associated with the Team account, or `null` if none has been provided.' + example: My Team + avatar: + nullable: true + type: string + description: The ID of the file used as avatar for this Team. + example: 6eb07268bcfadd309905ffb1579354084c24655c + additionalProperties: true + TeamLimited: + properties: + limited: + type: boolean + description: 'Property indicating that this Team data contains only limited information, due to the authentication token missing privileges to read the full Team data. Re-login with the Team''s configured SAML Single Sign-On provider in order to upgrade the authentication token with the necessary privileges.' + saml: + properties: + connection: + properties: + type: + type: string + description: 'The Identity Provider "type", for example Okta.' + example: OktaSAML + status: + type: string + description: Current status of the connection. + example: linked + state: + type: string + description: Current state of the connection. + example: active + connectedAt: + type: number + description: Timestamp (in milliseconds) of when the configuration was connected. + example: 1611796915677 + lastReceivedWebhookEvent: + type: number + description: Timestamp (in milliseconds) of when the last webhook event was received from WorkOS. + example: 1611796915677 + required: + - type + - status + - state + - connectedAt + type: object + description: Information for the SAML Single Sign-On configuration. + directory: + properties: + type: + type: string + description: 'The Identity Provider "type", for example Okta.' + example: OktaSAML + status: + type: string + description: Current status of the connection. + example: linked + state: + type: string + description: Current state of the connection. + example: active + connectedAt: + type: number + description: Timestamp (in milliseconds) of when the configuration was connected. + example: 1611796915677 + lastReceivedWebhookEvent: + type: number + description: Timestamp (in milliseconds) of when the last webhook event was received from WorkOS. + example: 1611796915677 + required: + - type + - status + - state + - connectedAt + type: object + description: Information for the SAML Single Sign-On configuration. + enforced: + type: boolean + description: 'When `true`, interactions with the Team **must** be done with an authentication token that has been authenticated with the Team''s SAML Single Sign-On provider.' + required: + - enforced + type: object + description: 'When "Single Sign-On (SAML)" is configured, this object contains information that allows the client-side to identify whether or not this Team has SAML enforced.' + id: + type: string + description: The Team's unique identifier. + example: team_nllPyCtREAqxxdyFKbbMDlxd + slug: + type: string + description: 'The Team''s slug, which is unique across the Vercel platform.' + example: my-team + name: + nullable: true + type: string + description: 'Name associated with the Team account, or `null` if none has been provided.' + example: My Team + avatar: + nullable: true + type: string + description: The ID of the file used as avatar for this Team. + example: 6eb07268bcfadd309905ffb1579354084c24655c + membership: + oneOf: + - properties: + confirmed: + type: boolean + confirmedAt: + type: number + accessRequestedAt: + type: number + role: + type: string + enum: + - OWNER + - MEMBER + - VIEWER + - DEVELOPER + - BILLING + - CONTRIBUTOR + teamId: + type: string + uid: + type: string + createdAt: + type: number + created: + type: number + joinedFrom: + properties: + origin: + type: string + enum: + - link + - saml + - mail + - import + - teams + - github + - gitlab + - bitbucket + - dsync + - feedback + - organization-teams + commitId: + type: string + repoId: + type: string + repoPath: + type: string + gitUserId: + oneOf: + - type: string + - type: number + gitUserLogin: + type: string + ssoUserId: + type: string + ssoConnectedAt: + type: number + idpUserId: + type: string + dsyncUserId: + type: string + dsyncConnectedAt: + type: number + required: + - origin + type: object + required: + - confirmed + - confirmedAt + - role + - uid + - createdAt + - created + type: object + description: The membership of the authenticated User in relation to the Team. + - properties: + confirmed: + type: boolean + confirmedAt: + type: number + accessRequestedAt: + type: number + role: + type: string + enum: + - OWNER + - MEMBER + - VIEWER + - DEVELOPER + - BILLING + - CONTRIBUTOR + teamId: + type: string + uid: + type: string + createdAt: + type: number + created: + type: number + joinedFrom: + properties: + origin: + type: string + enum: + - link + - saml + - mail + - import + - teams + - github + - gitlab + - bitbucket + - dsync + - feedback + - organization-teams + commitId: + type: string + repoId: + type: string + repoPath: + type: string + gitUserId: + oneOf: + - type: string + - type: number + gitUserLogin: + type: string + ssoUserId: + type: string + ssoConnectedAt: + type: number + idpUserId: + type: string + dsyncUserId: + type: string + dsyncConnectedAt: + type: number + required: + - origin + type: object + required: + - confirmed + - accessRequestedAt + - role + - uid + - createdAt + - created + type: object + description: The membership of the authenticated User in relation to the Team. + created: + type: string + description: Will remain undocumented. Remove in v3 API. + createdAt: + type: number + description: UNIX timestamp (in milliseconds) when the Team was created. + example: 1630748523395 + required: + - limited + - id + - slug + - name + - avatar + - membership + - created + - createdAt + type: object + description: 'A limited form of data representing a Team, due to the authentication token missing privileges to read the full Team data.' + Pagination: + properties: + count: + type: number + description: Amount of items in the current page. + example: 20 + next: + nullable: true + type: number + description: Timestamp that must be used to request the next page. + example: 1540095775951 + prev: + nullable: true + type: number + description: Timestamp that must be used to request the previous page. + example: 1540095775951 + required: + - count + - next + - prev + type: object + description: 'This object contains information related to the pagination of the current request, including the necessary parameters to get the next or previous page of data.' + responses: {} + securitySchemes: + bearerToken: + type: http + description: Default authentication mechanism + scheme: bearer + oauth2: + type: oauth2 + flows: + authorizationCode: + authorizationUrl: 'https://api.vercel.com/oauth/authorize' + tokenUrl: 'https://api.vercel.com/oauth/access_token' + scopes: {} + x-stackQL-resources: + members: + id: vercel.teams.members + name: members + title: Members + methods: + get_team_members: + operation: + $ref: '#/paths/~1v2~1teams~1{teamId}~1members/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.members + _get_team_members: + operation: + $ref: '#/paths/~1v2~1teams~1{teamId}~1members/get' + response: + mediaType: application/json + openAPIDocKey: '200' + invite_user_to_team: + operation: + $ref: '#/paths/~1v1~1teams~1{teamId}~1members/post' + response: + mediaType: application/json + openAPIDocKey: '200' + update_team_member: + operation: + $ref: '#/paths/~1v1~1teams~1{teamId}~1members~1{uid}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + remove_team_member: + operation: + $ref: '#/paths/~1v1~1teams~1{teamId}~1members~1{uid}/delete' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/members/methods/get_team_members' + insert: [] + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/members/methods/remove_team_member' + request: + id: vercel.teams.request + name: request + title: Request + methods: + request_access_to_team: + operation: + $ref: '#/paths/~1v1~1teams~1{teamId}~1request/post' + response: + mediaType: application/json + openAPIDocKey: '200' + get_team_access_request: + operation: + $ref: '#/paths/~1v1~1teams~1{teamId}~1request~1{userId}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/request/methods/get_team_access_request' + insert: [] + update: [] + delete: [] + teams: + id: vercel.teams.teams + name: teams + title: Teams + methods: + join_team: + operation: + $ref: '#/paths/~1v1~1teams~1{teamId}~1members~1teams~1join/post' + response: + mediaType: application/json + openAPIDocKey: '200' + get_team: + operation: + $ref: '#/paths/~1v2~1teams~1{teamId}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + patch_team: + operation: + $ref: '#/paths/~1v2~1teams~1{teamId}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + get_teams: + operation: + $ref: '#/paths/~1v2~1teams/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.teams + _get_teams: + operation: + $ref: '#/paths/~1v2~1teams/get' + response: + mediaType: application/json + openAPIDocKey: '200' + create_team: + operation: + $ref: '#/paths/~1v1~1teams/post' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_team: + operation: + $ref: '#/paths/~1v1~1teams~1{teamId}/delete' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/teams/methods/get_team' + - $ref: '#/components/x-stackQL-resources/teams/methods/get_teams' + insert: + - $ref: '#/components/x-stackQL-resources/teams/methods/create_team' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/teams/methods/delete_team' + invites: + id: vercel.teams.invites + name: invites + title: Invites + methods: + delete_team_invite_code: + operation: + $ref: '#/paths/~1v1~1teams~1{teamId}~1invites~1{inviteId}/delete' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: [] + insert: [] + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/invites/methods/delete_team_invite_code' +paths: + '/v2/teams/{teamId}/members': + get: + description: Get a paginated list of team members for the provided team. + operationId: getTeamMembers + security: + - bearerToken: [] + summary: List team members + tags: + - teams + responses: + '200': + description: '' + content: + application/json: + schema: + properties: + members: + items: + properties: + avatar: + type: string + description: ID of the file for the Avatar of this member. + example: 123a6c5209bc3778245d011443644c8d27dc2c50 + confirmed: + type: boolean + description: Boolean that indicates if this member was confirmed by an owner. + example: true + email: + type: string + description: The email of this member. + example: jane.doe@example.com + github: + properties: + login: + type: string + type: object + description: Information about the GitHub account for this user. + gitlab: + properties: + login: + type: string + type: object + description: Information about the GitLab account of this user. + bitbucket: + properties: + login: + type: string + type: object + description: Information about the Bitbucket account of this user. + role: + type: string + enum: + - OWNER + - MEMBER + - DEVELOPER + - VIEWER + - BILLING + - CONTRIBUTOR + description: Role of this user in the team. + example: OWNER + uid: + type: string + description: The ID of this user. + example: zTuNVUXEAvvnNN3IaqinkyMw + username: + type: string + description: The unique username of this user. + example: jane-doe + name: + type: string + description: The name of this user. + example: Jane Doe + createdAt: + type: number + description: Timestamp in milliseconds when this member was added. + example: 1588720733602 + accessRequestedAt: + type: number + description: Timestamp in milliseconds for when this team member was accepted by an owner. + example: 1588820733602 + joinedFrom: + properties: + origin: + type: string + enum: + - mail + - link + - import + - teams + - github + - gitlab + - bitbucket + - saml + - dsync + - feedback + - organization-teams + commitId: + type: string + repoId: + type: string + repoPath: + type: string + gitUserId: + oneOf: + - type: string + - type: number + gitUserLogin: + type: string + ssoUserId: + type: string + ssoConnectedAt: + type: number + idpUserId: + type: string + dsyncUserId: + type: string + dsyncConnectedAt: + type: number + required: + - origin + type: object + description: Map with information about the members origin if they joined by requesting access. + projects: + items: + properties: + id: + type: string + name: + type: string + role: + type: string + enum: + - ADMIN + - PROJECT_DEVELOPER + - PROJECT_VIEWER + type: object + description: Array of project memberships + type: array + description: Array of project memberships + required: + - confirmed + - email + - role + - uid + - username + - createdAt + type: object + type: array + emailInviteCodes: + items: + properties: + id: + type: string + email: + type: string + role: + type: string + enum: + - OWNER + - MEMBER + - DEVELOPER + - VIEWER + - BILLING + - CONTRIBUTOR + isDSyncUser: + type: boolean + createdAt: + type: number + expired: + type: boolean + projects: + additionalProperties: + type: string + enum: + - ADMIN + - PROJECT_DEVELOPER + - PROJECT_VIEWER + type: object + required: + - id + - isDSyncUser + type: object + type: array + pagination: + properties: + hasNext: + type: boolean + count: + type: number + description: Amount of items in the current page. + example: 20 + next: + nullable: true + type: number + description: Timestamp that must be used to request the next page. + example: 1540095775951 + prev: + nullable: true + type: number + description: Timestamp that must be used to request the previous page. + example: 1540095775951 + required: + - hasNext + - count + - next + - prev + type: object + required: + - members + - pagination + type: object + '400': + description: One of the provided values in the request query is invalid. + '401': + description: '' + '403': + description: You do not have permission to access this resource. + '404': + description: No team was found. + parameters: + - name: teamId + description: ID of the Team. + in: path + required: true + schema: + type: string + description: ID of the Team. + - name: limit + description: Limit how many teams should be returned + in: query + required: false + schema: + description: Limit how many teams should be returned + example: 20 + type: number + - name: since + description: Timestamp in milliseconds to only include members added since then. + in: query + required: false + schema: + description: Timestamp in milliseconds to only include members added since then. + example: 1540095775951 + type: number + - name: until + description: Timestamp in milliseconds to only include members added until then. + in: query + required: false + schema: + description: Timestamp in milliseconds to only include members added until then. + example: 1540095775951 + type: number + - name: search + description: 'Search team members by their name, username, and email.' + in: query + required: false + schema: + description: 'Search team members by their name, username, and email.' + type: string + - name: role + description: Only return members with the specified team role. + in: query + required: false + schema: + description: Only return members with the specified team role. + example: OWNER + type: string + enum: + - OWNER + - MEMBER + - DEVELOPER + - VIEWER + - BILLING + - CONTRIBUTOR + - name: excludeProject + description: Exclude members who belong to the specified project. + in: query + required: false + schema: + description: Exclude members who belong to the specified project. + type: string + - name: eligibleMembersForProjectId + description: Include team members who are eligible to be members of the specified project. + in: query + required: false + schema: + description: Include team members who are eligible to be members of the specified project. + type: string + '/v1/teams/{teamId}/members': + post: + description: 'Invite a user to join the team specified in the URL. The authenticated user needs to be an `OWNER` in order to successfully invoke this endpoint. The user can be specified with an email or an ID. If both email and ID are provided, ID will take priority.' + operationId: inviteUserToTeam + security: + - bearerToken: [] + summary: Invite a user + tags: + - teams + responses: + '200': + description: The member was successfully added to the team + content: + application/json: + schema: + oneOf: + - properties: + uid: + type: string + description: The ID of the invited user + example: kr1PsOIzqEL5Xg6M4VZcZosf + username: + type: string + description: The username of the invited user + example: john-doe + email: + type: string + description: The email of the invited user. Not included if the user was invited via their UID. + example: john@user.co + role: + type: string + enum: + - OWNER + - MEMBER + - VIEWER + - DEVELOPER + - BILLING + - CONTRIBUTOR + description: The role used for the invitation + example: MEMBER + required: + - uid + - username + - email + - role + type: object + description: The member was successfully added to the team + - properties: + uid: + type: string + username: + type: string + role: + type: string + enum: + - OWNER + - MEMBER + - VIEWER + - DEVELOPER + - BILLING + - CONTRIBUTOR + required: + - uid + - username + - role + type: object + '400': + description: |- + One of the provided values in the request body is invalid. + One of the provided values in the request query is invalid. + The user already requested access to the team + Hobby teams are not allowed to add seats. + The team reached the maximum allowed amount of members + '401': + description: '' + '403': + description: |- + You do not have permission to access this resource. + The authenticated user must be a team owner to perform the action + '404': + description: The team was not found + parameters: + - name: teamId + description: ID of the Team. + in: path + required: true + schema: + type: string + description: ID of the Team. + requestBody: + content: + application/json: + schema: + type: object + properties: + uid: + type: string + description: The id of the user to invite + example: kr1PsOIzqEL5Xg6M4VZcZosf + email: + type: string + format: email + description: The email address of the user to invite + example: john@example.com + role: + type: string + enum: + - OWNER + - MEMBER + - VIEWER + - DEVELOPER + - BILLING + - CONTRIBUTOR + default: + - MEMBER + - VIEWER + description: The role of the user to invite + example: + - MEMBER + - VIEWER + projects: + type: array + items: + type: object + additionalProperties: false + required: + - role + - projectId + properties: + projectId: + type: string + maxLength: 256 + example: prj_ndlgr43fadlPyCtREAqxxdyFK + description: The ID of the project. + role: + type: string + enum: + - ADMIN + - PROJECT_VIEWER + - PROJECT_DEVELOPER + example: ADMIN + description: Sets the project roles for the invited user + '/v1/teams/{teamId}/request': + post: + description: Request access to a team as a member. An owner has to approve the request. Only 10 users can request access to a team at the same time. + operationId: requestAccessToTeam + security: + - bearerToken: [] + summary: Request access to a team + tags: + - teams + responses: + '200': + description: Successfuly requested access to the team. + content: + application/json: + schema: + properties: + teamSlug: + type: string + teamName: + type: string + confirmed: + type: boolean + joinedFrom: + properties: + origin: + type: string + enum: + - import + - teams + - github + - gitlab + - bitbucket + - feedback + - organization-teams + - mail + - link + - saml + - dsync + commitId: + type: string + repoId: + type: string + repoPath: + type: string + gitUserId: + oneOf: + - type: string + - type: number + gitUserLogin: + type: string + ssoUserId: + type: string + ssoConnectedAt: + type: number + idpUserId: + type: string + dsyncUserId: + type: string + dsyncConnectedAt: + type: number + required: + - origin + type: object + accessRequestedAt: + type: number + github: + nullable: true + properties: + login: + type: string + type: object + gitlab: + nullable: true + properties: + login: + type: string + type: object + bitbucket: + nullable: true + properties: + login: + type: string + type: object + required: + - teamSlug + - teamName + - github + - gitlab + - bitbucket + type: object + '400': + description: |- + One of the provided values in the request body is invalid. + One of the provided values in the request query is invalid. + '401': + description: '' + '403': + description: You do not have permission to access this resource. + '404': + description: The team was not found. + parameters: + - name: teamId + description: ID of the Team. + in: path + required: true + schema: + type: string + description: ID of the Team. + requestBody: + content: + application/json: + schema: + type: object + additionalProperties: false + required: + - joinedFrom + properties: + joinedFrom: + type: object + additionalProperties: false + required: + - origin + properties: + origin: + type: string + enum: + - import + - teams + - github + - gitlab + - bitbucket + - feedback + - organization-teams + description: The origin of the request. + example: github + commitId: + type: string + description: The commit sha if the origin is a git provider. + example: f498d25d8bd654b578716203be73084b31130cd7 + repoId: + type: string + description: The ID of the repository for the given Git provider. + example: '67753070' + repoPath: + type: string + description: The path to the repository for the given Git provider. + example: jane-doe/example + gitUserId: + description: The ID of the Git account of the user who requests access. + example: 103053343 + oneOf: + - type: string + - type: number + gitUserLogin: + type: string + description: The login name for the Git account of the user who requests access. + example: jane-doe + '/v1/teams/{teamId}/request/{userId}': + get: + description: 'Check the status of a join request. It''ll respond with a 404 if the request has been declined. If no `userId` path segment was provided, this endpoint will instead return the status of the authenticated user.' + operationId: getTeamAccessRequest + security: + - bearerToken: [] + summary: Get access request status + tags: + - teams + responses: + '200': + description: Successfully + content: + application/json: + schema: + properties: + teamSlug: + type: string + description: The slug of the team. + example: my-team + teamName: + type: string + description: The name of the team. + example: My Team + confirmed: + type: boolean + description: 'Current status of the membership. Will be `true` if confirmed, if pending it''ll be `false`.' + example: false + joinedFrom: + properties: + origin: + type: string + enum: + - mail + - link + - import + - teams + - github + - gitlab + - bitbucket + - saml + - dsync + - feedback + - organization-teams + commitId: + type: string + repoId: + type: string + repoPath: + type: string + gitUserId: + oneOf: + - type: string + - type: number + gitUserLogin: + type: string + ssoUserId: + type: string + ssoConnectedAt: + type: number + idpUserId: + type: string + dsyncUserId: + type: string + dsyncConnectedAt: + type: number + required: + - origin + type: object + description: A map that describes the origin from where the user joined. + accessRequestedAt: + type: number + description: Timestamp in milliseconds when the user requested access to the team. + example: 1588720733602 + github: + nullable: true + properties: + login: + type: string + type: object + description: Map of the connected GitHub account. + gitlab: + nullable: true + properties: + login: + type: string + type: object + description: Map of the connected GitLab account. + bitbucket: + nullable: true + properties: + login: + type: string + type: object + description: Map of the connected Bitbucket account. + required: + - teamSlug + - teamName + - confirmed + - joinedFrom + - accessRequestedAt + - github + - gitlab + - bitbucket + type: object + '400': + description: |- + One of the provided values in the request query is invalid. + User is already a confirmed member of the team and did not request access. Only visible when the authenticated user does have access to the team. + '403': + description: You do not have permission to access this resource. + '404': + description: |- + The provided user doesn't have a membership. + Team was not found. + parameters: + - name: teamId + description: ID of the Team. + in: path + required: true + schema: + type: string + description: ID of the Team. + - name: userId + description: User ID. + in: path + required: true + schema: + type: string + description: User ID. + '/v1/teams/{teamId}/members/teams/join': + post: + description: Join a team with a provided invite code or team ID. + operationId: joinTeam + security: + - bearerToken: [] + summary: Join a team + tags: + - teams + responses: + '200': + description: Successfully joined a team. + content: + application/json: + schema: + properties: + teamId: + type: string + description: The ID of the team the user joined. + example: team_LLHUOMOoDlqOp8wPE4kFo9pE + slug: + type: string + description: The slug of the team the user joined. + example: my-team + name: + type: string + description: The name of the team the user joined. + example: My Team + from: + type: string + description: The origin of how the user joined. + example: email + required: + - teamId + - slug + - name + - from + type: object + description: Successfully joined a team. + '400': + description: |- + One of the provided values in the request body is invalid. + Reached the max. amount of team members. + '401': + description: '' + '402': + description: '' + '403': + description: You do not have permission to access this resource. + '404': + description: Team not found. + parameters: + - name: teamId + description: ID of the Team. + in: path + required: true + schema: + type: string + description: ID of the Team. + requestBody: + content: + application/json: + schema: + type: object + properties: + inviteCode: + type: string + description: The invite code to join the team. + example: fisdh38aejkeivn34nslfore9vjtn4ls + teamId: + example: team_3oNwMKqLHqEBh02CTPsrbNbe + description: The team ID. + type: string + '/v1/teams/{teamId}/members/{uid}': + patch: + description: 'Update the membership of a Team Member on the Team specified by `teamId`, such as changing the _role_ of the member, or confirming a request to join the Team for an unconfirmed member. The authenticated user must be an `OWNER` of the Team.' + operationId: updateTeamMember + security: + - bearerToken: [] + summary: Update a Team Member + tags: + - teams + responses: + '200': + description: Successfully updated the membership. + content: + application/json: + schema: + properties: + id: + type: string + description: ID of the team. + required: + - id + type: object + '400': + description: |- + One of the provided values in the request body is invalid. + One of the provided values in the request query is invalid. + Cannot disconnect SSO from a Team member that does not have a SSO connection. + Cannot confirm a member that is already confirmed. + Cannot confirm a member that did not request access. + '401': + description: 'Team members can only be updated by an owner, or by the authenticated user if they are only disconnecting their SAML connection to the Team.' + '402': + description: '' + '403': + description: You do not have permission to access this resource. + '404': + description: |- + The provided user is not part of this team. + A user with the specified ID does not exist. + Team not found. + '500': + description: '' + parameters: + - name: teamId + description: ID of the Team. + in: path + required: true + schema: + type: string + description: ID of the Team. + - name: uid + description: The ID of the member. + in: path + required: true + schema: + type: string + description: The ID of the member. + example: ndfasllgPyCtREAqxxdyFKb + requestBody: + content: + application/json: + schema: + type: object + properties: + confirmed: + type: boolean + enum: + - true + description: Accept a user who requested access to the team. + example: true + role: + type: string + description: The role in the team of the member. + default: + - MEMBER + - VIEWER + example: + - MEMBER + - VIEWER + projects: + type: array + items: + type: object + additionalProperties: false + required: + - role + - projectId + properties: + projectId: + type: string + maxLength: 256 + example: prj_ndlgr43fadlPyCtREAqxxdyFK + description: The ID of the project. + role: + type: string + enum: + - ADMIN + - PROJECT_VIEWER + - PROJECT_DEVELOPER + - null + example: ADMIN + description: The project role of the member that will be added. \"null\" will remove this project level role. + nullable: true + joinedFrom: + additionalProperties: false + type: object + properties: + ssoUserId: + type: 'null' + delete: + description: 'Remove a Team Member from the Team, or dismiss a user that requested access, or leave a team.' + operationId: removeTeamMember + security: + - bearerToken: [] + summary: Remove a Team Member + tags: + - teams + responses: + '200': + description: Successfully removed a member of the team. + content: + application/json: + schema: + properties: + id: + type: string + description: ID of the team. + newDefaultTeamIdError: + type: boolean + required: + - id + - newDefaultTeamIdError + type: object + '400': + description: |- + One of the provided values in the request query is invalid. + Cannot leave the team as the only owner. + '401': + description: '' + '403': + description: |- + You do not have permission to access this resource. + Not authorized to update the team. + '404': + description: |- + A user with the specified ID does not exist. + No team found. + parameters: + - name: teamId + description: ID of the Team. + in: path + required: true + schema: + type: string + description: ID of the Team. + - name: uid + description: The user ID of the member. + in: path + required: true + schema: + type: string + description: The user ID of the member. + example: ndlgr43fadlPyCtREAqxxdyFK + - name: newDefaultTeamId + description: The ID of the team to set as the new default team for the Northstar user. + in: query + required: false + schema: + type: string + description: The ID of the team to set as the new default team for the Northstar user. + example: team_nllPyCtREAqxxdyFKbbMDlxd + '/v2/teams/{teamId}': + get: + description: Get information for the Team specified by the `teamId` parameter. + operationId: getTeam + security: + - bearerToken: [] + summary: Get a Team + tags: + - teams + responses: + '200': + description: The requested team + content: + application/json: + schema: + $ref: '#/components/schemas/Team' + '400': + description: One of the provided values in the request query is invalid. + '401': + description: '' + '403': + description: |- + You do not have permission to access this resource. + Not authorized to access the team. + '404': + description: Team was not found. + parameters: + - name: slug + in: query + schema: + type: string + - description: The Team identifier or slug to perform the request on behalf of. + in: path + name: teamId + schema: + type: string + required: true + patch: + description: Update the information of a Team specified by the `teamId` parameter. The request body should contain the information that will be updated on the Team. + operationId: patchTeam + security: + - bearerToken: [] + summary: Update a Team + tags: + - teams + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/Team' + '400': + description: One of the provided values in the request body is invalid. + '401': + description: '' + '402': + description: '' + '403': + description: |- + You do not have permission to access this resource. + Not authorized to update the team. Must be an OWNER. + '404': + description: Team was not found. + parameters: + - description: The Team identifier or slug to perform the request on behalf of. + in: path + name: teamId + schema: + type: string + required: true + requestBody: + content: + application/json: + schema: + type: object + additionalProperties: false + properties: + avatar: + type: string + format: regex + regex: '^[0-9a-f]{40}$' + description: The hash value of an uploaded image. + description: + type: string + maxLength: 140 + example: Our mission is to make cloud computing accessible to everyone + description: A short text that describes the team. + emailDomain: + type: string + format: regex + regex: '\\b((?=[a-z0-9-]{1,63}\\.)(xn--)?[a-z0-9]+(-[a-z0-9]+)*\\.)+[a-z]{2,63}\\b' + example: example.com + nullable: true + name: + type: string + maxLength: 256 + example: My Team + description: The name of the team. + previewDeploymentSuffix: + type: string + format: hostname + example: example.dev + description: Suffix that will be used for all preview deployments. + nullable: true + regenerateInviteCode: + type: boolean + example: true + description: Create a new invite code and replace the current one. + saml: + type: object + additionalProperties: false + properties: + enforced: + type: boolean + example: true + description: Require that members of the team use SAML Single Sign-On. + roles: + type: object + additionalProperties: + type: string + enum: + - OWNER + - MEMBER + - VIEWER + - DEVELOPER + - BILLING + - CONTRIBUTOR + slug: + type: string + example: my-team + description: A new slug for the team. + enablePreviewFeedback: + type: string + example: 'on' + description: 'Enable preview comments: one of on, off or default.' + sensitiveEnvironmentVariablePolicy: + type: string + example: 'on' + description: 'Sensitive environment variable policy: one of on, off or default.' + migrateExistingEnvVariablesToSensitive: + type: boolean + example: false + description: Runs a task that migrates all existing environment variables to sensitive environment variables. + remoteCaching: + type: object + description: Whether or not remote caching is enabled for the team + additionalProperties: false + properties: + enabled: + type: boolean + example: true + description: Enable or disable remote caching for the team. + hideIpAddresses: + type: boolean + example: false + description: Display or hide IP addresses in Monitoring queries. + /v2/teams: + get: + description: Get a paginated list of all the Teams the authenticated User is a member of. + operationId: getTeams + security: + - bearerToken: [] + summary: List all teams + tags: + - teams + responses: + '200': + description: A paginated list of teams. + content: + application/json: + schema: + properties: + teams: + items: + oneOf: + - $ref: '#/components/schemas/Team' + - $ref: '#/components/schemas/TeamLimited' + type: array + pagination: + $ref: '#/components/schemas/Pagination' + required: + - teams + - pagination + type: object + description: A paginated list of teams. + '400': + description: One of the provided values in the request query is invalid. + '401': + description: '' + '403': + description: You do not have permission to access this resource. + parameters: + - name: limit + description: Maximum number of Teams which may be returned. + in: query + schema: + description: Maximum number of Teams which may be returned. + example: 20 + type: number + - name: since + description: Timestamp (in milliseconds) to only include Teams created since then. + in: query + schema: + description: Timestamp (in milliseconds) to only include Teams created since then. + example: 1540095775951 + type: number + - name: until + description: Timestamp (in milliseconds) to only include Teams created until then. + in: query + schema: + description: Timestamp (in milliseconds) to only include Teams created until then. + example: 1540095775951 + type: number + /v1/teams: + post: + description: 'Create a new Team under your account. You need to send a POST request with the desired Team slug, and optionally the Team name.' + operationId: createTeam + security: + - bearerToken: [] + summary: Create a Team + tags: + - teams + responses: + '200': + description: The team was created successfully + content: + application/json: + schema: + properties: + id: + type: string + description: Id of the created team + example: team_nLlpyC6RE1qxqglFKbrMxlud + slug: + type: string + billing: + properties: + currency: + type: string + enum: + - usd + - eur + cancelation: + nullable: true + type: number + period: + nullable: true + properties: + start: + type: number + end: + type: number + required: + - start + - end + type: object + contract: + nullable: true + properties: + start: + type: number + end: + type: number + required: + - start + - end + type: object + plan: + type: string + enum: + - hobby + - pro + - enterprise + platform: + type: string + enum: + - stripe + - stripeTestMode + orbCustomerId: + type: string + syncedAt: + type: number + programType: + type: string + enum: + - startup + - agency + trial: + nullable: true + properties: + start: + type: number + end: + type: number + required: + - start + - end + type: object + email: + nullable: true + type: string + tax: + nullable: true + properties: + type: + type: string + id: + type: string + required: + - type + - id + type: object + language: + nullable: true + type: string + address: + nullable: true + properties: + line1: + type: string + line2: + type: string + postalCode: + type: string + city: + type: string + country: + type: string + state: + type: string + required: + - line1 + type: object + name: + nullable: true + type: string + invoiceItems: + nullable: true + properties: + monitoring: + properties: + tier: + type: number + price: + type: number + quantity: + type: number + name: + type: string + hidden: + type: boolean + createdAt: + type: number + disabledAt: + nullable: true + type: number + frequency: + properties: + interval: + type: string + enum: + - month + intervalCount: + type: number + enum: + - 1 + - 2 + - 3 + - 6 + - 12 + required: + - interval + - intervalCount + type: object + maxQuantity: + type: number + required: + - price + - quantity + - hidden + type: object + description: 'Will be used to create an invoice item. The price must be in cents: 2000 for $20.' + pro: + properties: + tier: + type: number + price: + type: number + quantity: + type: number + name: + type: string + hidden: + type: boolean + createdAt: + type: number + disabledAt: + nullable: true + type: number + frequency: + properties: + interval: + type: string + enum: + - month + intervalCount: + type: number + enum: + - 1 + - 2 + - 3 + - 6 + - 12 + required: + - interval + - intervalCount + type: object + maxQuantity: + type: number + required: + - price + - quantity + - hidden + type: object + description: 'Will be used to create an invoice item. The price must be in cents: 2000 for $20.' + enterprise: + properties: + tier: + type: number + price: + type: number + quantity: + type: number + name: + type: string + hidden: + type: boolean + createdAt: + type: number + disabledAt: + nullable: true + type: number + frequency: + properties: + interval: + type: string + enum: + - month + intervalCount: + type: number + enum: + - 1 + - 2 + - 3 + - 6 + - 12 + required: + - interval + - intervalCount + type: object + maxQuantity: + type: number + required: + - price + - quantity + - hidden + type: object + description: 'Will be used to create an invoice item. The price must be in cents: 2000 for $20.' + analytics: + properties: + tier: + type: number + price: + type: number + quantity: + type: number + name: + type: string + hidden: + type: boolean + createdAt: + type: number + disabledAt: + nullable: true + type: number + frequency: + properties: + interval: + type: string + enum: + - month + intervalCount: + type: number + enum: + - 1 + - 2 + - 3 + - 6 + - 12 + required: + - interval + - intervalCount + type: object + maxQuantity: + type: number + required: + - price + - quantity + - hidden + type: object + description: 'Will be used to create an invoice item. The price must be in cents: 2000 for $20.' + concurrentBuilds: + properties: + tier: + type: number + price: + type: number + quantity: + type: number + name: + type: string + hidden: + type: boolean + createdAt: + type: number + disabledAt: + nullable: true + type: number + frequency: + properties: + interval: + type: string + enum: + - month + intervalCount: + type: number + enum: + - 1 + - 2 + - 3 + - 6 + - 12 + required: + - interval + - intervalCount + type: object + maxQuantity: + type: number + required: + - price + - quantity + - hidden + type: object + description: 'Will be used to create an invoice item. The price must be in cents: 2000 for $20.' + passwordProtection: + properties: + tier: + type: number + price: + type: number + quantity: + type: number + name: + type: string + hidden: + type: boolean + createdAt: + type: number + disabledAt: + nullable: true + type: number + frequency: + properties: + interval: + type: string + enum: + - month + intervalCount: + type: number + enum: + - 1 + - 2 + - 3 + - 6 + - 12 + required: + - interval + - intervalCount + type: object + maxQuantity: + type: number + required: + - price + - quantity + - hidden + type: object + description: 'Will be used to create an invoice item. The price must be in cents: 2000 for $20.' + previewDeploymentSuffix: + properties: + tier: + type: number + price: + type: number + quantity: + type: number + name: + type: string + hidden: + type: boolean + createdAt: + type: number + disabledAt: + nullable: true + type: number + frequency: + properties: + interval: + type: string + enum: + - month + intervalCount: + type: number + enum: + - 1 + - 2 + - 3 + - 6 + - 12 + required: + - interval + - intervalCount + type: object + maxQuantity: + type: number + required: + - price + - quantity + - hidden + type: object + description: 'Will be used to create an invoice item. The price must be in cents: 2000 for $20.' + saml: + properties: + tier: + type: number + price: + type: number + quantity: + type: number + name: + type: string + hidden: + type: boolean + createdAt: + type: number + disabledAt: + nullable: true + type: number + frequency: + properties: + interval: + type: string + enum: + - month + intervalCount: + type: number + enum: + - 1 + - 2 + - 3 + - 6 + - 12 + required: + - interval + - intervalCount + type: object + maxQuantity: + type: number + required: + - price + - quantity + - hidden + type: object + description: 'Will be used to create an invoice item. The price must be in cents: 2000 for $20.' + teamSeats: + properties: + tier: + type: number + price: + type: number + quantity: + type: number + name: + type: string + hidden: + type: boolean + createdAt: + type: number + disabledAt: + nullable: true + type: number + frequency: + properties: + interval: + type: string + enum: + - month + intervalCount: + type: number + enum: + - 1 + - 2 + - 3 + - 6 + - 12 + required: + - interval + - intervalCount + type: object + maxQuantity: + type: number + required: + - price + - quantity + - hidden + type: object + description: 'Will be used to create an invoice item. The price must be in cents: 2000 for $20.' + webAnalytics: + properties: + tier: + type: number + price: + type: number + quantity: + type: number + name: + type: string + hidden: + type: boolean + createdAt: + type: number + disabledAt: + nullable: true + type: number + frequency: + properties: + interval: + type: string + enum: + - month + intervalCount: + type: number + enum: + - 1 + - 2 + - 3 + - 6 + - 12 + required: + - interval + - intervalCount + type: object + maxQuantity: + type: number + required: + - price + - quantity + - hidden + type: object + description: 'Will be used to create an invoice item. The price must be in cents: 2000 for $20.' + analyticsUsage: + properties: + tier: + type: number + price: + type: number + batch: + type: number + threshold: + type: number + name: + type: string + hidden: + type: boolean + disabledAt: + nullable: true + type: number + enabledAt: + nullable: true + type: number + required: + - price + - batch + - threshold + - hidden + type: object + artifacts: + properties: + tier: + type: number + price: + type: number + batch: + type: number + threshold: + type: number + name: + type: string + hidden: + type: boolean + disabledAt: + nullable: true + type: number + enabledAt: + nullable: true + type: number + required: + - price + - batch + - threshold + - hidden + type: object + bandwidth: + properties: + tier: + type: number + price: + type: number + batch: + type: number + threshold: + type: number + name: + type: string + hidden: + type: boolean + disabledAt: + nullable: true + type: number + enabledAt: + nullable: true + type: number + required: + - price + - batch + - threshold + - hidden + type: object + cronJobInvocation: + properties: + tier: + type: number + price: + type: number + batch: + type: number + threshold: + type: number + name: + type: string + hidden: + type: boolean + disabledAt: + nullable: true + type: number + enabledAt: + nullable: true + type: number + required: + - price + - batch + - threshold + - hidden + type: object + dataCacheRead: + properties: + tier: + type: number + price: + type: number + batch: + type: number + threshold: + type: number + name: + type: string + hidden: + type: boolean + disabledAt: + nullable: true + type: number + enabledAt: + nullable: true + type: number + required: + - price + - batch + - threshold + - hidden + type: object + dataCacheRevalidation: + properties: + tier: + type: number + price: + type: number + batch: + type: number + threshold: + type: number + name: + type: string + hidden: + type: boolean + disabledAt: + nullable: true + type: number + enabledAt: + nullable: true + type: number + required: + - price + - batch + - threshold + - hidden + type: object + dataCacheWrite: + properties: + tier: + type: number + price: + type: number + batch: + type: number + threshold: + type: number + name: + type: string + hidden: + type: boolean + disabledAt: + nullable: true + type: number + enabledAt: + nullable: true + type: number + required: + - price + - batch + - threshold + - hidden + type: object + edgeConfigRead: + properties: + tier: + type: number + price: + type: number + batch: + type: number + threshold: + type: number + name: + type: string + hidden: + type: boolean + disabledAt: + nullable: true + type: number + enabledAt: + nullable: true + type: number + required: + - price + - batch + - threshold + - hidden + type: object + edgeConfigWrite: + properties: + tier: + type: number + price: + type: number + batch: + type: number + threshold: + type: number + name: + type: string + hidden: + type: boolean + disabledAt: + nullable: true + type: number + enabledAt: + nullable: true + type: number + required: + - price + - batch + - threshold + - hidden + type: object + edgeFunctionExecutionUnits: + properties: + tier: + type: number + price: + type: number + batch: + type: number + threshold: + type: number + name: + type: string + hidden: + type: boolean + disabledAt: + nullable: true + type: number + enabledAt: + nullable: true + type: number + required: + - price + - batch + - threshold + - hidden + type: object + edgeMiddlewareInvocations: + properties: + tier: + type: number + price: + type: number + batch: + type: number + threshold: + type: number + name: + type: string + hidden: + type: boolean + disabledAt: + nullable: true + type: number + enabledAt: + nullable: true + type: number + required: + - price + - batch + - threshold + - hidden + type: object + monitoringMetric: + properties: + tier: + type: number + price: + type: number + batch: + type: number + threshold: + type: number + name: + type: string + hidden: + type: boolean + disabledAt: + nullable: true + type: number + enabledAt: + nullable: true + type: number + required: + - price + - batch + - threshold + - hidden + type: object + postgresComputeTime: + properties: + tier: + type: number + price: + type: number + batch: + type: number + threshold: + type: number + name: + type: string + hidden: + type: boolean + disabledAt: + nullable: true + type: number + enabledAt: + nullable: true + type: number + required: + - price + - batch + - threshold + - hidden + type: object + postgresDatabase: + properties: + tier: + type: number + price: + type: number + batch: + type: number + threshold: + type: number + name: + type: string + hidden: + type: boolean + disabledAt: + nullable: true + type: number + enabledAt: + nullable: true + type: number + required: + - price + - batch + - threshold + - hidden + type: object + postgresDataStorage: + properties: + tier: + type: number + price: + type: number + batch: + type: number + threshold: + type: number + name: + type: string + hidden: + type: boolean + disabledAt: + nullable: true + type: number + enabledAt: + nullable: true + type: number + required: + - price + - batch + - threshold + - hidden + type: object + postgresDataTransfer: + properties: + tier: + type: number + price: + type: number + batch: + type: number + threshold: + type: number + name: + type: string + hidden: + type: boolean + disabledAt: + nullable: true + type: number + enabledAt: + nullable: true + type: number + required: + - price + - batch + - threshold + - hidden + type: object + postgresWrittenData: + properties: + tier: + type: number + price: + type: number + batch: + type: number + threshold: + type: number + name: + type: string + hidden: + type: boolean + disabledAt: + nullable: true + type: number + enabledAt: + nullable: true + type: number + required: + - price + - batch + - threshold + - hidden + type: object + serverlessFunctionExecution: + properties: + tier: + type: number + price: + type: number + batch: + type: number + threshold: + type: number + name: + type: string + hidden: + type: boolean + disabledAt: + nullable: true + type: number + enabledAt: + nullable: true + type: number + required: + - price + - batch + - threshold + - hidden + type: object + sourceImages: + properties: + tier: + type: number + price: + type: number + batch: + type: number + threshold: + type: number + name: + type: string + hidden: + type: boolean + disabledAt: + nullable: true + type: number + enabledAt: + nullable: true + type: number + required: + - price + - batch + - threshold + - hidden + type: object + storageRedisTotalBandwidthInBytes: + properties: + tier: + type: number + price: + type: number + batch: + type: number + threshold: + type: number + name: + type: string + hidden: + type: boolean + disabledAt: + nullable: true + type: number + enabledAt: + nullable: true + type: number + required: + - price + - batch + - threshold + - hidden + type: object + storageRedisTotalCommands: + properties: + tier: + type: number + price: + type: number + batch: + type: number + threshold: + type: number + name: + type: string + hidden: + type: boolean + disabledAt: + nullable: true + type: number + enabledAt: + nullable: true + type: number + required: + - price + - batch + - threshold + - hidden + type: object + storageRedisTotalDailyAvgStorageInBytes: + properties: + tier: + type: number + price: + type: number + batch: + type: number + threshold: + type: number + name: + type: string + hidden: + type: boolean + disabledAt: + nullable: true + type: number + enabledAt: + nullable: true + type: number + required: + - price + - batch + - threshold + - hidden + type: object + storageRedisTotalDatabases: + properties: + tier: + type: number + price: + type: number + batch: + type: number + threshold: + type: number + name: + type: string + hidden: + type: boolean + disabledAt: + nullable: true + type: number + enabledAt: + nullable: true + type: number + required: + - price + - batch + - threshold + - hidden + type: object + webAnalyticsEvent: + properties: + tier: + type: number + price: + type: number + batch: + type: number + threshold: + type: number + name: + type: string + hidden: + type: boolean + disabledAt: + nullable: true + type: number + enabledAt: + nullable: true + type: number + required: + - price + - batch + - threshold + - hidden + type: object + type: object + invoiceSettings: + properties: + footer: + type: string + type: object + subscriptions: + nullable: true + items: + properties: + id: + type: string + trial: + nullable: true + properties: + start: + type: number + end: + type: number + required: + - start + - end + type: object + period: + properties: + start: + type: number + end: + type: number + required: + - start + - end + type: object + frequency: + properties: + interval: + type: string + enum: + - month + - day + - week + - year + intervalCount: + type: number + required: + - interval + - intervalCount + type: object + discount: + nullable: true + properties: + id: + type: string + coupon: + properties: + id: + type: string + name: + nullable: true + type: string + amountOff: + nullable: true + type: number + percentageOff: + nullable: true + type: number + durationInMonths: + nullable: true + type: number + duration: + type: string + enum: + - forever + - repeating + - once + required: + - id + - name + - amountOff + - percentageOff + - durationInMonths + - duration + type: object + required: + - id + - coupon + type: object + items: + items: + properties: + id: + type: string + priceId: + type: string + productId: + type: string + amount: + type: number + quantity: + type: number + required: + - id + - priceId + - productId + - amount + - quantity + type: object + type: array + required: + - id + - trial + - period + - frequency + - discount + - items + type: object + type: array + controls: + nullable: true + properties: + analyticsSampleRateInPercent: + nullable: true + type: number + analyticsSpendLimitInDollars: + nullable: true + type: number + type: object + purchaseOrder: + nullable: true + type: string + status: + type: string + enum: + - active + - trialing + - overdue + - expired + - canceled + pricingExperiment: + type: string + enum: + - august-2022 + orbMigrationScheduledAt: + nullable: true + type: number + required: + - period + - plan + type: object + required: + - id + - slug + - billing + type: object + description: The team was created successfully + '400': + description: |- + One of the provided values in the request body is invalid. + The slug is already in use + '403': + description: You do not have permission to access this resource. + parameters: [] + requestBody: + content: + application/json: + schema: + type: object + additionalProperties: false + required: + - slug + properties: + slug: + example: a-random-team + description: The desired slug for the Team + type: string + maxLength: 48 + name: + example: A Random Team + description: The desired name for the Team. It will be generated from the provided slug if nothing is provided + type: string + maxLength: 256 + '/v1/teams/{teamId}': + delete: + description: Delete a team under your account. You need to send a `DELETE` request with the desired team `id`. An optional array of reasons for deletion may also be sent. + operationId: deleteTeam + security: + - bearerToken: [] + summary: Delete a Team + tags: + - teams + responses: + '200': + description: The Team was successfully deleted + content: + application/json: + schema: + properties: + id: + type: string + description: The ID of the deleted Team + example: team_LLHUOMOoDlqOp8wPE4kFo9pE + newDefaultTeamIdError: + type: boolean + description: 'Signifies whether the default team update has failed, when newDefaultTeamId is provided in request query.' + example: true + required: + - id + type: object + description: The Team was successfully deleted + '400': + description: |- + One of the provided values in the request body is invalid. + One of the provided values in the request query is invalid. + '401': + description: '' + '402': + description: '' + '403': + description: |- + You do not have permission to access this resource. + The authenticated user can't access the team + '404': + description: The team was not found + '409': + description: '' + parameters: + - name: newDefaultTeamId + description: Id of the team to be set as the new default team + in: query + required: false + schema: + type: string + description: Id of the team to be set as the new default team + example: team_LLHUOMOoDlqOp8wPE4kFo9pE + - description: The Team identifier or slug to perform the request on behalf of. + in: path + name: teamId + schema: + type: string + required: true + requestBody: + content: + application/json: + schema: + type: object + additionalProperties: false + properties: + reasons: + type: array + description: Optional array of objects that describe the reason why the team is being deleted. + items: + type: object + description: An object describing the reason why the team is being deleted. + required: + - slug + - description + additionalProperties: false + properties: + slug: + type: string + description: Idenitifier slug of the reason why the team is being deleted. + description: + type: string + description: Description of the reason why the team is being deleted. + '/v1/teams/{teamId}/invites/{inviteId}': + delete: + description: Delete an active Team invite code. + operationId: deleteTeamInviteCode + security: + - bearerToken: [] + summary: Delete a Team invite code + tags: + - teams + responses: + '200': + description: Successfully deleted Team invite code. + content: + application/json: + schema: + properties: + id: + type: string + description: ID of the team. + required: + - id + type: object + '400': + description: One of the provided values in the request query is invalid. + '401': + description: '' + '403': + description: |- + You do not have permission to access this resource. + Invite managed by directory sync + Not authorized to access this team. + '404': + description: |- + Team invite code not found. + No team found. + parameters: + - description: The Team identifier or slug to perform the request on behalf of. + in: path + name: teamId + schema: + type: string + required: true + - name: inviteId + description: The Team invite code ID. + in: path + required: true + schema: + type: string + description: The Team invite code ID. + example: 2wn2hudbr4chb1ecywo9dvzo7g9sscs6mzcz8htdde0txyom4l diff --git a/providers/src/vercel/v00.00.00000/services/user.yaml b/providers/src/vercel/v00.00.00000/services/user.yaml new file mode 100644 index 00000000..5d0fb5ec --- /dev/null +++ b/providers/src/vercel/v00.00.00000/services/user.yaml @@ -0,0 +1,1975 @@ +openapi: 3.0.3 +servers: + - url: 'https://api.vercel.com' + description: Production API +info: + contact: + email: support@vercel.com + name: Vercel Support + url: 'https://vercel.com/support' + version: 0.0.1 + title: Vercel API - user + description: user +components: + schemas: + UserEvent: + properties: + id: + type: string + description: The unique identifier of the Event. + example: uev_bfmMjiMnXfnPbT97dGdpJbCN + text: + type: string + description: The human-readable text of the Event. + example: You logged in via GitHub + entities: + items: + properties: + type: + type: string + enum: + - author + - bitbucket_login + - bold + - deployment_host + - dns_record + - git_link + - github_login + - gitlab_login + - hook_name + - integration + - edge-config + - link + - project_name + - scaling_rules + - env_var_name + - target + - store + - system + description: The type of entity. + example: author + start: + type: number + description: The index of where the entity begins within the `text` (inclusive). + example: 0 + end: + type: number + description: The index of where the entity ends within the `text` (non-inclusive). + example: 3 + required: + - type + - start + - end + type: object + description: A list of "entities" within the event `text`. Useful for enhancing the displayed text with additional styling and links. + type: array + description: A list of "entities" within the event `text`. Useful for enhancing the displayed text with additional styling and links. + createdAt: + type: number + description: Timestamp (in milliseconds) of when the event was generated. + example: 1632859321020 + user: + properties: + avatar: + type: string + email: + type: string + slug: + type: string + uid: + type: string + username: + type: string + required: + - avatar + - email + - uid + - username + type: object + description: Metadata for the User who generated the event. + userId: + type: string + description: The unique identifier of the User who generated the event. + example: zTuNVUXEAvvnNN3IaqinkyMw + required: + - id + - text + - entities + - createdAt + - userId + type: object + description: Array of events generated by the User. + AuthUser: + properties: + createdAt: + type: number + description: UNIX timestamp (in milliseconds) when the User account was created. + example: 1630748523395 + softBlock: + nullable: true + properties: + blockedAt: + type: number + reason: + type: string + enum: + - SUBSCRIPTION_CANCELED + - SUBSCRIPTION_EXPIRED + - UNPAID_INVOICE + - ENTERPRISE_TRIAL_ENDED + - FAIR_USE_LIMITS_EXCEEDED + - BLOCKED_FOR_PLATFORM_ABUSE + blockedDueToOverageType: + type: string + enum: + - blobStores + - analyticsUsage + - artifacts + - bandwidth + - cronJobInvocation + - dataCacheRead + - dataCacheRevalidation + - dataCacheWrite + - edgeConfigRead + - edgeConfigWrite + - edgeFunctionExecutionUnits + - edgeMiddlewareInvocations + - monitoringMetric + - postgresComputeTime + - postgresDatabase + - postgresDataStorage + - postgresDataTransfer + - postgresWrittenData + - serverlessFunctionExecution + - sourceImages + - storageRedisTotalBandwidthInBytes + - storageRedisTotalCommands + - storageRedisTotalDailyAvgStorageInBytes + - storageRedisTotalDatabases + - webAnalyticsEvent + - blobTotalSimpleRequests + - blobTotalAdvancedRequests + - blobTotalAvgSizeInBytes + - blobTotalGetResponseObjectSizeInBytes + required: + - blockedAt + - reason + type: object + description: 'When the User account has been "soft blocked", this property will contain the date when the restriction was enacted, and the identifier for why.' + billing: + nullable: true + properties: + currency: + type: string + enum: + - usd + - eur + cancelation: + nullable: true + type: number + period: + nullable: true + properties: + start: + type: number + end: + type: number + required: + - start + - end + type: object + contract: + nullable: true + properties: + start: + type: number + end: + type: number + required: + - start + - end + type: object + plan: + type: string + enum: + - pro + - enterprise + - hobby + platform: + type: string + enum: + - stripe + - stripeTestMode + orbCustomerId: + type: string + syncedAt: + type: number + programType: + type: string + enum: + - startup + - agency + trial: + nullable: true + properties: + start: + type: number + end: + type: number + required: + - start + - end + type: object + email: + nullable: true + type: string + tax: + nullable: true + properties: + type: + type: string + id: + type: string + required: + - type + - id + type: object + language: + nullable: true + type: string + address: + nullable: true + properties: + line1: + type: string + line2: + type: string + postalCode: + type: string + city: + type: string + country: + type: string + state: + type: string + required: + - line1 + type: object + name: + nullable: true + type: string + invoiceItems: + nullable: true + properties: + concurrentBuilds: + properties: + tier: + type: number + price: + type: number + quantity: + type: number + name: + type: string + hidden: + type: boolean + createdAt: + type: number + disabledAt: + nullable: true + type: number + frequency: + properties: + interval: + type: string + enum: + - month + intervalCount: + type: number + enum: + - 1 + - 2 + - 3 + - 6 + - 12 + required: + - interval + - intervalCount + type: object + maxQuantity: + type: number + required: + - price + - quantity + - hidden + type: object + description: 'Will be used to create an invoice item. The price must be in cents: 2000 for $20.' + webAnalytics: + properties: + tier: + type: number + price: + type: number + quantity: + type: number + name: + type: string + hidden: + type: boolean + createdAt: + type: number + disabledAt: + nullable: true + type: number + frequency: + properties: + interval: + type: string + enum: + - month + intervalCount: + type: number + enum: + - 1 + - 2 + - 3 + - 6 + - 12 + required: + - interval + - intervalCount + type: object + maxQuantity: + type: number + required: + - price + - quantity + - hidden + type: object + description: 'Will be used to create an invoice item. The price must be in cents: 2000 for $20.' + pro: + properties: + tier: + type: number + price: + type: number + quantity: + type: number + name: + type: string + hidden: + type: boolean + createdAt: + type: number + disabledAt: + nullable: true + type: number + frequency: + properties: + interval: + type: string + enum: + - month + intervalCount: + type: number + enum: + - 1 + - 2 + - 3 + - 6 + - 12 + required: + - interval + - intervalCount + type: object + maxQuantity: + type: number + required: + - price + - quantity + - hidden + type: object + description: 'Will be used to create an invoice item. The price must be in cents: 2000 for $20.' + enterprise: + properties: + tier: + type: number + price: + type: number + quantity: + type: number + name: + type: string + hidden: + type: boolean + createdAt: + type: number + disabledAt: + nullable: true + type: number + frequency: + properties: + interval: + type: string + enum: + - month + intervalCount: + type: number + enum: + - 1 + - 2 + - 3 + - 6 + - 12 + required: + - interval + - intervalCount + type: object + maxQuantity: + type: number + required: + - price + - quantity + - hidden + type: object + description: 'Will be used to create an invoice item. The price must be in cents: 2000 for $20.' + analytics: + properties: + tier: + type: number + price: + type: number + quantity: + type: number + name: + type: string + hidden: + type: boolean + createdAt: + type: number + disabledAt: + nullable: true + type: number + frequency: + properties: + interval: + type: string + enum: + - month + intervalCount: + type: number + enum: + - 1 + - 2 + - 3 + - 6 + - 12 + required: + - interval + - intervalCount + type: object + maxQuantity: + type: number + required: + - price + - quantity + - hidden + type: object + description: 'Will be used to create an invoice item. The price must be in cents: 2000 for $20.' + monitoring: + properties: + tier: + type: number + price: + type: number + quantity: + type: number + name: + type: string + hidden: + type: boolean + createdAt: + type: number + disabledAt: + nullable: true + type: number + frequency: + properties: + interval: + type: string + enum: + - month + intervalCount: + type: number + enum: + - 1 + - 2 + - 3 + - 6 + - 12 + required: + - interval + - intervalCount + type: object + maxQuantity: + type: number + required: + - price + - quantity + - hidden + type: object + description: 'Will be used to create an invoice item. The price must be in cents: 2000 for $20.' + passwordProtection: + properties: + tier: + type: number + price: + type: number + quantity: + type: number + name: + type: string + hidden: + type: boolean + createdAt: + type: number + disabledAt: + nullable: true + type: number + frequency: + properties: + interval: + type: string + enum: + - month + intervalCount: + type: number + enum: + - 1 + - 2 + - 3 + - 6 + - 12 + required: + - interval + - intervalCount + type: object + maxQuantity: + type: number + required: + - price + - quantity + - hidden + type: object + description: 'Will be used to create an invoice item. The price must be in cents: 2000 for $20.' + previewDeploymentSuffix: + properties: + tier: + type: number + price: + type: number + quantity: + type: number + name: + type: string + hidden: + type: boolean + createdAt: + type: number + disabledAt: + nullable: true + type: number + frequency: + properties: + interval: + type: string + enum: + - month + intervalCount: + type: number + enum: + - 1 + - 2 + - 3 + - 6 + - 12 + required: + - interval + - intervalCount + type: object + maxQuantity: + type: number + required: + - price + - quantity + - hidden + type: object + description: 'Will be used to create an invoice item. The price must be in cents: 2000 for $20.' + saml: + properties: + tier: + type: number + price: + type: number + quantity: + type: number + name: + type: string + hidden: + type: boolean + createdAt: + type: number + disabledAt: + nullable: true + type: number + frequency: + properties: + interval: + type: string + enum: + - month + intervalCount: + type: number + enum: + - 1 + - 2 + - 3 + - 6 + - 12 + required: + - interval + - intervalCount + type: object + maxQuantity: + type: number + required: + - price + - quantity + - hidden + type: object + description: 'Will be used to create an invoice item. The price must be in cents: 2000 for $20.' + teamSeats: + properties: + tier: + type: number + price: + type: number + quantity: + type: number + name: + type: string + hidden: + type: boolean + createdAt: + type: number + disabledAt: + nullable: true + type: number + frequency: + properties: + interval: + type: string + enum: + - month + intervalCount: + type: number + enum: + - 1 + - 2 + - 3 + - 6 + - 12 + required: + - interval + - intervalCount + type: object + maxQuantity: + type: number + required: + - price + - quantity + - hidden + type: object + description: 'Will be used to create an invoice item. The price must be in cents: 2000 for $20.' + analyticsUsage: + properties: + tier: + type: number + price: + type: number + batch: + type: number + threshold: + type: number + name: + type: string + hidden: + type: boolean + disabledAt: + nullable: true + type: number + enabledAt: + nullable: true + type: number + required: + - price + - batch + - threshold + - hidden + type: object + artifacts: + properties: + tier: + type: number + price: + type: number + batch: + type: number + threshold: + type: number + name: + type: string + hidden: + type: boolean + disabledAt: + nullable: true + type: number + enabledAt: + nullable: true + type: number + required: + - price + - batch + - threshold + - hidden + type: object + bandwidth: + properties: + tier: + type: number + price: + type: number + batch: + type: number + threshold: + type: number + name: + type: string + hidden: + type: boolean + disabledAt: + nullable: true + type: number + enabledAt: + nullable: true + type: number + required: + - price + - batch + - threshold + - hidden + type: object + cronJobInvocation: + properties: + tier: + type: number + price: + type: number + batch: + type: number + threshold: + type: number + name: + type: string + hidden: + type: boolean + disabledAt: + nullable: true + type: number + enabledAt: + nullable: true + type: number + required: + - price + - batch + - threshold + - hidden + type: object + dataCacheRead: + properties: + tier: + type: number + price: + type: number + batch: + type: number + threshold: + type: number + name: + type: string + hidden: + type: boolean + disabledAt: + nullable: true + type: number + enabledAt: + nullable: true + type: number + required: + - price + - batch + - threshold + - hidden + type: object + dataCacheRevalidation: + properties: + tier: + type: number + price: + type: number + batch: + type: number + threshold: + type: number + name: + type: string + hidden: + type: boolean + disabledAt: + nullable: true + type: number + enabledAt: + nullable: true + type: number + required: + - price + - batch + - threshold + - hidden + type: object + dataCacheWrite: + properties: + tier: + type: number + price: + type: number + batch: + type: number + threshold: + type: number + name: + type: string + hidden: + type: boolean + disabledAt: + nullable: true + type: number + enabledAt: + nullable: true + type: number + required: + - price + - batch + - threshold + - hidden + type: object + edgeConfigRead: + properties: + tier: + type: number + price: + type: number + batch: + type: number + threshold: + type: number + name: + type: string + hidden: + type: boolean + disabledAt: + nullable: true + type: number + enabledAt: + nullable: true + type: number + required: + - price + - batch + - threshold + - hidden + type: object + edgeConfigWrite: + properties: + tier: + type: number + price: + type: number + batch: + type: number + threshold: + type: number + name: + type: string + hidden: + type: boolean + disabledAt: + nullable: true + type: number + enabledAt: + nullable: true + type: number + required: + - price + - batch + - threshold + - hidden + type: object + edgeFunctionExecutionUnits: + properties: + tier: + type: number + price: + type: number + batch: + type: number + threshold: + type: number + name: + type: string + hidden: + type: boolean + disabledAt: + nullable: true + type: number + enabledAt: + nullable: true + type: number + required: + - price + - batch + - threshold + - hidden + type: object + edgeMiddlewareInvocations: + properties: + tier: + type: number + price: + type: number + batch: + type: number + threshold: + type: number + name: + type: string + hidden: + type: boolean + disabledAt: + nullable: true + type: number + enabledAt: + nullable: true + type: number + required: + - price + - batch + - threshold + - hidden + type: object + monitoringMetric: + properties: + tier: + type: number + price: + type: number + batch: + type: number + threshold: + type: number + name: + type: string + hidden: + type: boolean + disabledAt: + nullable: true + type: number + enabledAt: + nullable: true + type: number + required: + - price + - batch + - threshold + - hidden + type: object + postgresComputeTime: + properties: + tier: + type: number + price: + type: number + batch: + type: number + threshold: + type: number + name: + type: string + hidden: + type: boolean + disabledAt: + nullable: true + type: number + enabledAt: + nullable: true + type: number + required: + - price + - batch + - threshold + - hidden + type: object + postgresDatabase: + properties: + tier: + type: number + price: + type: number + batch: + type: number + threshold: + type: number + name: + type: string + hidden: + type: boolean + disabledAt: + nullable: true + type: number + enabledAt: + nullable: true + type: number + required: + - price + - batch + - threshold + - hidden + type: object + postgresDataStorage: + properties: + tier: + type: number + price: + type: number + batch: + type: number + threshold: + type: number + name: + type: string + hidden: + type: boolean + disabledAt: + nullable: true + type: number + enabledAt: + nullable: true + type: number + required: + - price + - batch + - threshold + - hidden + type: object + postgresDataTransfer: + properties: + tier: + type: number + price: + type: number + batch: + type: number + threshold: + type: number + name: + type: string + hidden: + type: boolean + disabledAt: + nullable: true + type: number + enabledAt: + nullable: true + type: number + required: + - price + - batch + - threshold + - hidden + type: object + postgresWrittenData: + properties: + tier: + type: number + price: + type: number + batch: + type: number + threshold: + type: number + name: + type: string + hidden: + type: boolean + disabledAt: + nullable: true + type: number + enabledAt: + nullable: true + type: number + required: + - price + - batch + - threshold + - hidden + type: object + serverlessFunctionExecution: + properties: + tier: + type: number + price: + type: number + batch: + type: number + threshold: + type: number + name: + type: string + hidden: + type: boolean + disabledAt: + nullable: true + type: number + enabledAt: + nullable: true + type: number + required: + - price + - batch + - threshold + - hidden + type: object + sourceImages: + properties: + tier: + type: number + price: + type: number + batch: + type: number + threshold: + type: number + name: + type: string + hidden: + type: boolean + disabledAt: + nullable: true + type: number + enabledAt: + nullable: true + type: number + required: + - price + - batch + - threshold + - hidden + type: object + storageRedisTotalBandwidthInBytes: + properties: + tier: + type: number + price: + type: number + batch: + type: number + threshold: + type: number + name: + type: string + hidden: + type: boolean + disabledAt: + nullable: true + type: number + enabledAt: + nullable: true + type: number + required: + - price + - batch + - threshold + - hidden + type: object + storageRedisTotalCommands: + properties: + tier: + type: number + price: + type: number + batch: + type: number + threshold: + type: number + name: + type: string + hidden: + type: boolean + disabledAt: + nullable: true + type: number + enabledAt: + nullable: true + type: number + required: + - price + - batch + - threshold + - hidden + type: object + storageRedisTotalDailyAvgStorageInBytes: + properties: + tier: + type: number + price: + type: number + batch: + type: number + threshold: + type: number + name: + type: string + hidden: + type: boolean + disabledAt: + nullable: true + type: number + enabledAt: + nullable: true + type: number + required: + - price + - batch + - threshold + - hidden + type: object + storageRedisTotalDatabases: + properties: + tier: + type: number + price: + type: number + batch: + type: number + threshold: + type: number + name: + type: string + hidden: + type: boolean + disabledAt: + nullable: true + type: number + enabledAt: + nullable: true + type: number + required: + - price + - batch + - threshold + - hidden + type: object + webAnalyticsEvent: + properties: + tier: + type: number + price: + type: number + batch: + type: number + threshold: + type: number + name: + type: string + hidden: + type: boolean + disabledAt: + nullable: true + type: number + enabledAt: + nullable: true + type: number + required: + - price + - batch + - threshold + - hidden + type: object + type: object + invoiceSettings: + properties: + footer: + type: string + type: object + subscriptions: + nullable: true + items: + properties: + id: + type: string + trial: + nullable: true + properties: + start: + type: number + end: + type: number + required: + - start + - end + type: object + period: + properties: + start: + type: number + end: + type: number + required: + - start + - end + type: object + frequency: + properties: + interval: + type: string + enum: + - month + - day + - week + - year + intervalCount: + type: number + required: + - interval + - intervalCount + type: object + discount: + nullable: true + properties: + id: + type: string + coupon: + properties: + id: + type: string + name: + nullable: true + type: string + amountOff: + nullable: true + type: number + percentageOff: + nullable: true + type: number + durationInMonths: + nullable: true + type: number + duration: + type: string + enum: + - forever + - repeating + - once + required: + - id + - name + - amountOff + - percentageOff + - durationInMonths + - duration + type: object + required: + - id + - coupon + type: object + items: + items: + properties: + id: + type: string + priceId: + type: string + productId: + type: string + amount: + type: number + quantity: + type: number + required: + - id + - priceId + - productId + - amount + - quantity + type: object + type: array + required: + - id + - trial + - period + - frequency + - discount + - items + type: object + type: array + controls: + nullable: true + properties: + analyticsSampleRateInPercent: + nullable: true + type: number + analyticsSpendLimitInDollars: + nullable: true + type: number + type: object + purchaseOrder: + nullable: true + type: string + status: + type: string + enum: + - active + - trialing + - overdue + - expired + - canceled + pricingExperiment: + type: string + enum: + - august-2022 + orbMigrationScheduledAt: + nullable: true + type: number + required: + - period + - plan + type: object + description: An object containing billing infomation associated with the User account. + resourceConfig: + properties: + nodeType: + type: string + description: An object containing infomation related to the amount of platform resources may be allocated to the User account. + concurrentBuilds: + type: number + description: An object containing infomation related to the amount of platform resources may be allocated to the User account. + awsAccountType: + type: string + description: An object containing infomation related to the amount of platform resources may be allocated to the User account. + awsAccountIds: + items: + type: string + type: array + description: An object containing infomation related to the amount of platform resources may be allocated to the User account. + cfZoneName: + type: string + description: An object containing infomation related to the amount of platform resources may be allocated to the User account. + edgeConfigs: + type: number + description: An object containing infomation related to the amount of platform resources may be allocated to the User account. + edgeConfigSize: + type: number + description: An object containing infomation related to the amount of platform resources may be allocated to the User account. + edgeFunctionMaxSizeBytes: + type: number + description: An object containing infomation related to the amount of platform resources may be allocated to the User account. + edgeFunctionExecutionTimeoutMs: + type: number + description: An object containing infomation related to the amount of platform resources may be allocated to the User account. + serverlessFunctionDefaultMaxExecutionTime: + type: number + description: An object containing infomation related to the amount of platform resources may be allocated to the User account. + kvDatabases: + type: number + description: An object containing infomation related to the amount of platform resources may be allocated to the User account. + postgresDatabases: + type: number + description: An object containing infomation related to the amount of platform resources may be allocated to the User account. + blobStores: + type: number + description: An object containing infomation related to the amount of platform resources may be allocated to the User account. + type: object + description: An object containing infomation related to the amount of platform resources may be allocated to the User account. + stagingPrefix: + type: string + description: Prefix that will be used in the URL of "Preview" deployments created by the User account. + activeDashboardViews: + items: + properties: + scopeId: + type: string + viewPreference: + type: string + enum: + - cards + - list + required: + - scopeId + - viewPreference + type: object + description: set of dashboard view preferences (cards or list) per scopeId + type: array + description: set of dashboard view preferences (cards or list) per scopeId + importFlowGitNamespace: + nullable: true + oneOf: + - type: string + - type: number + importFlowGitNamespaceId: + nullable: true + oneOf: + - type: string + - type: number + importFlowGitProvider: + type: string + enum: + - github + - gitlab + - bitbucket + preferredScopesAndGitNamespaces: + items: + properties: + scopeId: + type: string + gitNamespaceId: + nullable: true + oneOf: + - type: string + - type: number + required: + - scopeId + - gitNamespaceId + type: object + type: array + dismissedToasts: + items: + properties: + name: + type: string + dismissals: + items: + properties: + scopeId: + type: string + createdAt: + type: number + required: + - scopeId + - createdAt + type: object + type: array + required: + - name + - dismissals + type: object + description: 'A record of when, under a certain scopeId, a toast was dismissed' + type: array + description: 'A record of when, under a certain scopeId, a toast was dismissed' + favoriteProjectsAndSpaces: + items: + oneOf: + - properties: + projectId: + type: string + scopeSlug: + type: string + scopeId: + type: string + required: + - projectId + - scopeSlug + - scopeId + type: object + description: A list of projects and spaces across teams that a user has marked as a favorite. + - properties: + spaceId: + type: string + scopeSlug: + type: string + scopeId: + type: string + required: + - spaceId + - scopeSlug + - scopeId + type: object + description: A list of projects and spaces across teams that a user has marked as a favorite. + type: array + description: A list of projects and spaces across teams that a user has marked as a favorite. + hasTrialAvailable: + type: boolean + description: Whether the user has a trial available for a paid plan subscription. + remoteCaching: + properties: + enabled: + type: boolean + type: object + description: remote caching settings + dataCache: + properties: + excessBillingEnabled: + type: boolean + type: object + description: data cache settings + featureBlocks: + properties: + webAnalytics: + properties: + blockedFrom: + type: number + blockedUntil: + type: number + isCurrentlyBlocked: + type: boolean + required: + - isCurrentlyBlocked + type: object + type: object + description: Feature blocks for the user + defaultTeamId: + nullable: true + type: string + description: The user's default team. Only applies if the user's `version` is `'northstar'`. + id: + type: string + description: The User's unique identifier. + example: AEIIDYVk59zbFF2Sxfyxxmua + email: + type: string + description: Email address associated with the User account. + example: me@example.com + name: + nullable: true + type: string + description: 'Name associated with the User account, or `null` if none has been provided.' + example: John Doe + username: + type: string + description: Unique username associated with the User account. + example: jdoe + avatar: + nullable: true + type: string + description: SHA1 hash of the avatar for the User account. Can be used in conjuction with the ... endpoint to retrieve the avatar image. + example: 22cb30c85ff45ac4c72de8981500006b28114aa1 + version: + nullable: true + type: string + enum: + - northstar + description: The user's version. Will either be unset or `northstar`. + required: + - createdAt + - softBlock + - billing + - resourceConfig + - stagingPrefix + - hasTrialAvailable + - defaultTeamId + - id + - email + - name + - username + - avatar + - version + type: object + description: Data for the currently authenticated User. + AuthUserLimited: + properties: + limited: + type: boolean + description: 'Property indicating that this User data contains only limited information, due to the authentication token missing privileges to read the full User data. Re-login with email, GitHub, GitLab or Bitbucket in order to upgrade the authentication token with the necessary privileges.' + id: + type: string + description: The User's unique identifier. + example: AEIIDYVk59zbFF2Sxfyxxmua + email: + type: string + description: Email address associated with the User account. + example: me@example.com + name: + nullable: true + type: string + description: 'Name associated with the User account, or `null` if none has been provided.' + example: John Doe + username: + type: string + description: Unique username associated with the User account. + example: jdoe + avatar: + nullable: true + type: string + description: SHA1 hash of the avatar for the User account. Can be used in conjuction with the ... endpoint to retrieve the avatar image. + example: 22cb30c85ff45ac4c72de8981500006b28114aa1 + version: + nullable: true + type: string + enum: + - northstar + description: The user's version. Will either be unset or `northstar`. + required: + - limited + - id + - email + - name + - username + - avatar + - version + type: object + description: 'A limited form of data for the currently authenticated User, due to the authentication token missing privileges to read the full User data.' + responses: {} + securitySchemes: + bearerToken: + type: http + description: Default authentication mechanism + scheme: bearer + oauth2: + type: oauth2 + flows: + authorizationCode: + authorizationUrl: 'https://api.vercel.com/oauth/authorize' + tokenUrl: 'https://api.vercel.com/oauth/access_token' + scopes: {} + x-stackQL-resources: + events: + id: vercel.user.events + name: events + title: Events + methods: + list_user_events: + operation: + $ref: '#/paths/~1v3~1events/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.events + _list_user_events: + operation: + $ref: '#/paths/~1v3~1events/get' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/events/methods/list_user_events' + insert: [] + update: [] + delete: [] + user: + id: vercel.user.user + name: user + title: User + methods: + get_auth_user: + operation: + $ref: '#/paths/~1v2~1user/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.user + _get_auth_user: + operation: + $ref: '#/paths/~1v2~1user/get' + response: + mediaType: application/json + openAPIDocKey: '200' + request_delete: + operation: + $ref: '#/paths/~1v1~1user/delete' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/user/methods/get_auth_user' + insert: [] + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/user/methods/request_delete' +paths: + /v3/events: + get: + description: 'Retrieves a list of "events" generated by the User on Vercel. Events are generated when the User performs a particular action, such as logging in, creating a deployment, and joining a Team (just to name a few). When the `teamId` parameter is supplied, then the events that are returned will be in relation to the Team that was specified.' + operationId: listUserEvents + security: + - bearerToken: [] + summary: List User Events + tags: + - user + responses: + '200': + description: Successful response. + content: + application/json: + schema: + properties: + events: + items: + $ref: '#/components/schemas/UserEvent' + type: array + description: Array of events generated by the User. + required: + - events + type: object + description: Successful response. + '400': + description: One of the provided values in the request query is invalid. + '401': + description: '' + '403': + description: You do not have permission to access this resource. + parameters: + - name: limit + description: Maximum number of items which may be returned. + in: query + schema: + description: Maximum number of items which may be returned. + example: 20 + type: number + - name: since + description: Timestamp to only include items created since then. + in: query + schema: + description: Timestamp to only include items created since then. + example: '2019-12-08T10:00:38.976Z' + type: string + - name: until + description: Timestamp to only include items created until then. + in: query + schema: + description: Timestamp to only include items created until then. + example: '2019-12-09T23:00:38.976Z' + type: string + - name: types + description: Comma-delimited list of event \"types\" to filter the results by. + in: query + schema: + description: Comma-delimited list of event \"types\" to filter the results by. + example: 'login,team-member-join,domain-buy' + type: string + - name: userId + description: 'When retrieving events for a Team, the `userId` parameter may be specified to filter events generated by a specific member of the Team.' + in: query + schema: + description: 'When retrieving events for a Team, the `userId` parameter may be specified to filter events generated by a specific member of the Team.' + example: aeIInYVk59zbFF2SxfyxxmuO + type: string + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + /v2/user: + get: + description: Retrieves information related to the currently authenticated User. + operationId: getAuthUser + security: + - bearerToken: [] + summary: Get the User + tags: + - user + responses: + '200': + description: Successful response. + content: + application/json: + schema: + properties: + user: + oneOf: + - $ref: '#/components/schemas/AuthUser' + - $ref: '#/components/schemas/AuthUserLimited' + required: + - user + type: object + description: Successful response. + '302': + description: '' + '400': + description: '' + '401': + description: '' + '403': + description: You do not have permission to access this resource. + parameters: [] + /v1/user: + delete: + description: 'Initiates the deletion process for the currently authenticated User, by sending a deletion confirmation email. The email contains a link that the user needs to visit in order to proceed with the deletion process.' + operationId: requestDelete + security: + - bearerToken: [] + summary: Delete User Account + tags: + - user + responses: + '202': + description: 'Response indicating that the User deletion process has been initiated, and a confirmation email has been sent.' + content: + application/json: + schema: + properties: + id: + type: string + description: Unique identifier of the User who has initiated deletion. + email: + type: string + description: Email address of the User who has initiated deletion. + message: + type: string + description: User deletion progress status. + example: Verification email sent + required: + - id + - email + - message + type: object + '400': + description: One of the provided values in the request body is invalid. + '403': + description: You do not have permission to access this resource. + parameters: [] + requestBody: + content: + application/json: + schema: + type: object + additionalProperties: false + properties: + reasons: + type: array + description: Optional array of objects that describe the reason why the User account is being deleted. + items: + type: object + description: An object describing the reason why the User account is being deleted. + required: + - slug + - description + additionalProperties: false + properties: + slug: + type: string + description: Idenitifier slug of the reason why the User account is being deleted. + description: + type: string + description: Description of the reason why the User account is being deleted. diff --git a/providers/src/vercel/v00.00.00000/services/webhooks.yaml b/providers/src/vercel/v00.00.00000/services/webhooks.yaml new file mode 100644 index 00000000..20772dfd --- /dev/null +++ b/providers/src/vercel/v00.00.00000/services/webhooks.yaml @@ -0,0 +1,597 @@ +openapi: 3.0.3 +servers: + - url: 'https://api.vercel.com' + description: Production API +info: + contact: + email: support@vercel.com + name: Vercel Support + url: 'https://vercel.com/support' + version: 0.0.1 + title: Vercel API - webhooks + description: webhooks +components: + schemas: {} + responses: {} + securitySchemes: + bearerToken: + type: http + description: Default authentication mechanism + scheme: bearer + oauth2: + type: oauth2 + flows: + authorizationCode: + authorizationUrl: 'https://api.vercel.com/oauth/authorize' + tokenUrl: 'https://api.vercel.com/oauth/access_token' + scopes: {} + x-stackQL-resources: + webhooks: + id: vercel.webhooks.webhooks + name: webhooks + title: Webhooks + methods: + create_webhook: + operation: + $ref: '#/paths/~1v1~1webhooks/post' + response: + mediaType: application/json + openAPIDocKey: '200' + get_webhooks: + operation: + $ref: '#/paths/~1v1~1webhooks/get' + response: + mediaType: application/json + openAPIDocKey: '200' + get_webhook: + operation: + $ref: '#/paths/~1v1~1webhooks~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_webhook: + operation: + $ref: '#/paths/~1v1~1webhooks~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/webhooks/methods/get_webhook' + - $ref: '#/components/x-stackQL-resources/webhooks/methods/get_webhooks' + insert: + - $ref: '#/components/x-stackQL-resources/webhooks/methods/create_webhook' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/webhooks/methods/delete_webhook' +paths: + /v1/webhooks: + post: + description: Creates a webhook + operationId: createWebhook + security: + - bearerToken: [] + summary: Creates a webhook + tags: + - webhooks + responses: + '200': + description: '' + content: + application/json: + schema: + properties: + secret: + type: string + description: The webhook secret used to sign the payload + events: + items: + type: string + enum: + - budget.reached + - domain.created + - deployment.created + - deployment.error + - deployment.canceled + - deployment.succeeded + - deployment.ready + - deployment.check-rerequested + - integration-configuration.permission-upgraded + - integration-configuration.removed + - integration-configuration.scope-change-confirmed + - project.created + - project.removed + - deployment-checks-completed + - deployment-ready + - deployment-prepared + - deployment-error + - deployment-check-rerequested + - deployment-canceled + - project-created + - project-removed + - domain-created + - deployment + - integration-configuration-permission-updated + - integration-configuration-removed + - integration-configuration-scope-change-confirmed + description: The webhooks events + example: deployment.created + type: array + description: The webhooks events + example: deployment.created + id: + type: string + description: The webhook id + example: account_hook_GflD6EYyo7F4ViYS + url: + type: string + description: A string with the URL of the webhook + example: 'https://my-webhook.com' + ownerId: + type: string + description: The unique ID of the team the webhook belongs to + example: ZspSRT4ljIEEmMHgoDwKWDei + createdAt: + type: number + description: A number containing the date when the webhook was created in in milliseconds + example: 1567024758130 + updatedAt: + type: number + description: A number containing the date when the webhook was updated in in milliseconds + example: 1567024758130 + projectIds: + items: + type: string + type: array + description: The ID of the projects the webhook is associated with + example: + - prj_12HKQaOmR5t5Uy6vdcQsNIiZgHGB + required: + - secret + - events + - id + - url + - ownerId + - createdAt + - updatedAt + type: object + '400': + description: One of the provided values in the request body is invalid. + '401': + description: '' + '403': + description: You do not have permission to access this resource. + parameters: + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + type: object + additionalProperties: false + required: + - url + - events + properties: + url: + format: uri + pattern: '^https?://' + type: string + events: + minItems: 1 + type: array + items: + type: string + enum: + - budget.reached + - domain.created + - deployment.created + - deployment.error + - deployment.canceled + - deployment.succeeded + - deployment.ready + - deployment.check-rerequested + - integration-configuration.permission-upgraded + - integration-configuration.removed + - integration-configuration.scope-change-confirmed + - project.created + - project.removed + - deployment-checks-completed + - deployment-ready + - deployment-prepared + - deployment-error + - deployment-check-rerequested + - deployment-canceled + - project-created + - project-removed + - domain-created + - deployment + - integration-configuration-permission-updated + - integration-configuration-removed + - integration-configuration-scope-change-confirmed + projectIds: + minItems: 1 + maxItems: 50 + type: array + items: + pattern: '^[a-zA-z0-9_]+$' + type: string + get: + description: Get a list of webhooks + operationId: getWebhooks + security: + - bearerToken: [] + summary: Get a list of webhooks + tags: + - webhooks + responses: + '200': + description: '' + content: + application/json: + schema: + oneOf: + - items: + properties: + projectsMetadata: + nullable: true + items: + properties: + id: + type: string + name: + type: string + framework: + nullable: true + type: string + enum: + - blitzjs + - nextjs + - gatsby + - remix + - astro + - hexo + - eleventy + - docusaurus-2 + - docusaurus + - preact + - solidstart + - dojo + - ember + - vue + - scully + - ionic-angular + - angular + - polymer + - svelte + - sveltekit + - sveltekit-1 + - ionic-react + - create-react-app + - gridsome + - umijs + - sapper + - saber + - stencil + - nuxtjs + - redwoodjs + - hugo + - jekyll + - brunch + - middleman + - zola + - hydrogen + - vite + - vitepress + - vuepress + - parcel + - sanity + - storybook + latestDeployment: + type: string + required: + - id + - name + type: object + type: array + events: + items: + type: string + enum: + - budget.reached + - domain.created + - deployment.created + - deployment.error + - deployment.canceled + - deployment.succeeded + - deployment.ready + - deployment.check-rerequested + - integration-configuration.permission-upgraded + - integration-configuration.removed + - integration-configuration.scope-change-confirmed + - project.created + - project.removed + - deployment-checks-completed + - deployment-ready + - deployment-prepared + - deployment-error + - deployment-check-rerequested + - deployment-canceled + - project-created + - project-removed + - domain-created + - deployment + - integration-configuration-permission-updated + - integration-configuration-removed + - integration-configuration-scope-change-confirmed + description: The webhooks events + example: deployment.created + type: array + description: The webhooks events + example: deployment.created + id: + type: string + description: The webhook id + example: account_hook_GflD6EYyo7F4ViYS + url: + type: string + description: A string with the URL of the webhook + example: 'https://my-webhook.com' + ownerId: + type: string + description: The unique ID of the team the webhook belongs to + example: ZspSRT4ljIEEmMHgoDwKWDei + createdAt: + type: number + description: A number containing the date when the webhook was created in in milliseconds + example: 1567024758130 + updatedAt: + type: number + description: A number containing the date when the webhook was updated in in milliseconds + example: 1567024758130 + projectIds: + items: + type: string + type: array + description: The ID of the projects the webhook is associated with + example: + - prj_12HKQaOmR5t5Uy6vdcQsNIiZgHGB + required: + - projectsMetadata + - events + - id + - url + - ownerId + - createdAt + - updatedAt + type: object + type: array + - items: + properties: + events: + items: + type: string + enum: + - budget.reached + - domain.created + - deployment.created + - deployment.error + - deployment.canceled + - deployment.succeeded + - deployment.ready + - deployment.check-rerequested + - integration-configuration.permission-upgraded + - integration-configuration.removed + - integration-configuration.scope-change-confirmed + - project.created + - project.removed + - deployment-checks-completed + - deployment-ready + - deployment-prepared + - deployment-error + - deployment-check-rerequested + - deployment-canceled + - project-created + - project-removed + - domain-created + - deployment + - integration-configuration-permission-updated + - integration-configuration-removed + - integration-configuration-scope-change-confirmed + description: The webhooks events + example: deployment.created + type: array + description: The webhooks events + example: deployment.created + id: + type: string + description: The webhook id + example: account_hook_GflD6EYyo7F4ViYS + url: + type: string + description: A string with the URL of the webhook + example: 'https://my-webhook.com' + ownerId: + type: string + description: The unique ID of the team the webhook belongs to + example: ZspSRT4ljIEEmMHgoDwKWDei + createdAt: + type: number + description: A number containing the date when the webhook was created in in milliseconds + example: 1567024758130 + updatedAt: + type: number + description: A number containing the date when the webhook was updated in in milliseconds + example: 1567024758130 + projectIds: + items: + type: string + type: array + description: The ID of the projects the webhook is associated with + example: + - prj_12HKQaOmR5t5Uy6vdcQsNIiZgHGB + required: + - events + - id + - url + - ownerId + - createdAt + - updatedAt + type: object + type: array + '400': + description: One of the provided values in the request query is invalid. + '401': + description: '' + '403': + description: You do not have permission to access this resource. + parameters: + - name: projectId + in: query + schema: + pattern: '^[a-zA-z0-9_]+$' + type: string + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + '/v1/webhooks/{id}': + get: + description: Get a webhook + operationId: getWebhook + security: + - bearerToken: [] + summary: Get a webhook + tags: + - webhooks + responses: + '200': + description: '' + content: + application/json: + schema: + properties: + events: + items: + type: string + enum: + - budget.reached + - domain.created + - deployment.created + - deployment.error + - deployment.canceled + - deployment.succeeded + - deployment.ready + - deployment.check-rerequested + - integration-configuration.permission-upgraded + - integration-configuration.removed + - integration-configuration.scope-change-confirmed + - project.created + - project.removed + - deployment-checks-completed + - deployment-ready + - deployment-prepared + - deployment-error + - deployment-check-rerequested + - deployment-canceled + - project-created + - project-removed + - domain-created + - deployment + - integration-configuration-permission-updated + - integration-configuration-removed + - integration-configuration-scope-change-confirmed + description: The webhooks events + example: deployment.created + type: array + description: The webhooks events + example: deployment.created + id: + type: string + description: The webhook id + example: account_hook_GflD6EYyo7F4ViYS + url: + type: string + description: A string with the URL of the webhook + example: 'https://my-webhook.com' + ownerId: + type: string + description: The unique ID of the team the webhook belongs to + example: ZspSRT4ljIEEmMHgoDwKWDei + createdAt: + type: number + description: A number containing the date when the webhook was created in in milliseconds + example: 1567024758130 + updatedAt: + type: number + description: A number containing the date when the webhook was updated in in milliseconds + example: 1567024758130 + projectIds: + items: + type: string + type: array + description: The ID of the projects the webhook is associated with + example: + - prj_12HKQaOmR5t5Uy6vdcQsNIiZgHGB + required: + - events + - id + - url + - ownerId + - createdAt + - updatedAt + type: object + '400': + description: One of the provided values in the request query is invalid. + '401': + description: '' + '403': + description: You do not have permission to access this resource. + parameters: + - name: id + in: path + required: true + schema: + type: string + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string + delete: + description: Deletes a webhook + operationId: deleteWebhook + security: + - bearerToken: [] + summary: Deletes a webhook + tags: + - webhooks + responses: + '204': + description: '' + '400': + description: One of the provided values in the request query is invalid. + '401': + description: '' + '403': + description: You do not have permission to access this resource. + parameters: + - name: id + in: path + required: true + schema: + type: string + - description: The Team identifier or slug to perform the request on behalf of. + in: query + name: teamId + required: true + schema: + type: string