v0 deployments API
The deployments API from v0 — 4 operation(s) for deployments.
The deployments API from v0 — 4 operation(s) for deployments.
openapi: 3.1.0
info:
title: v0 App agent deployments API
version: '0'
description: Full stack vibe coding API
termsOfService: https://vercel.com/legal/api-terms
servers:
- url: https://api.v0.dev/v1
tags:
- name: deployments
paths:
/deployments:
get:
summary: Find Deployments
description: Find deployments by project and chat IDs. This will return a list of deployments for the given project and chat IDs.
operationId: deployments.find
tags:
- deployments
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
properties:
object:
type: string
const: list
data:
type: array
items:
type: object
properties:
id:
type: string
description: A unique identifier for the deployment.
object:
type: string
const: deployment
description: Fixed value identifying this object as a deployment.
inspectorUrl:
type: string
description: URL to the deployment inspector.
chatId:
type: string
description: The ID of the chat that this deployment is scoped to.
projectId:
description: The ID of the project that this deployment is scoped to.
type: string
versionId:
type: string
description: The ID of the version that this deployment is scoped to.
apiUrl:
type: string
format: uri
description: The API endpoint URL for accessing this deployment programmatically.
webUrl:
type: string
format: uri
description: The web URL where the deployment can be viewed or managed.
required:
- id
- object
- inspectorUrl
- chatId
- versionId
- apiUrl
- webUrl
additionalProperties: false
required:
- object
- data
additionalProperties: false
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ForbiddenError'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundError'
'409':
description: Conflict
content:
application/json:
schema:
$ref: '#/components/schemas/ConflictError'
'413':
description: Payload Too Large
content:
application/json:
schema:
$ref: '#/components/schemas/PayloadTooLargeError'
'422':
description: Unprocessable Entity
content:
application/json:
schema:
$ref: '#/components/schemas/UnprocessableEntityError'
'429':
description: Too Many Requests
content:
application/json:
schema:
$ref: '#/components/schemas/TooManyRequestsError'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerError'
parameters:
- name: projectId
in: query
required: false
schema:
description: The ID of the project to find deployments for
type: string
description: The ID of the project to find deployments for
- name: chatId
in: query
required: true
schema:
type: string
description: The ID of the chat to find deployments for
description: The ID of the chat to find deployments for
- name: versionId
in: query
required: true
schema:
type: string
description: The ID of the version to find deployments for
description: The ID of the version to find deployments for
security:
- apiKey: []
post:
summary: Create Deployment
description: Create a new deployment for a specific chat and version. This will trigger a deployment to Vercel.
operationId: deployments.create
tags:
- deployments
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
projectId:
type: string
chatId:
type: string
versionId:
type: string
required:
- chatId
- versionId
additionalProperties: false
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
properties:
id:
type: string
description: A unique identifier for the deployment.
object:
type: string
const: deployment
description: Fixed value identifying this object as a deployment.
inspectorUrl:
type: string
description: URL to the deployment inspector.
chatId:
type: string
description: The ID of the chat that this deployment is scoped to.
projectId:
description: The ID of the project that this deployment is scoped to.
type: string
versionId:
type: string
description: The ID of the version that this deployment is scoped to.
apiUrl:
type: string
format: uri
description: The API endpoint URL for accessing this deployment programmatically.
webUrl:
type: string
format: uri
description: The web URL where the deployment can be viewed or managed.
required:
- id
- object
- inspectorUrl
- chatId
- versionId
- apiUrl
- webUrl
additionalProperties: false
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ForbiddenError'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundError'
'409':
description: Conflict
content:
application/json:
schema:
$ref: '#/components/schemas/ConflictError'
'413':
description: Payload Too Large
content:
application/json:
schema:
$ref: '#/components/schemas/PayloadTooLargeError'
'422':
description: Unprocessable Entity
content:
application/json:
schema:
$ref: '#/components/schemas/UnprocessableEntityError'
'429':
description: Too Many Requests
content:
application/json:
schema:
$ref: '#/components/schemas/TooManyRequestsError'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerError'
security:
- apiKey: []
/deployments/{deploymentId}:
get:
summary: Get Deployment
description: Get a deployment by ID. This will return the details of the deployment, including the inspector URL, chat ID, project ID, version ID, API URL, and web URL.
operationId: deployments.getById
tags:
- deployments
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
properties:
id:
type: string
description: A unique identifier for the deployment.
object:
type: string
const: deployment
description: Fixed value identifying this object as a deployment.
inspectorUrl:
type: string
description: URL to the deployment inspector.
chatId:
type: string
description: The ID of the chat that this deployment is scoped to.
projectId:
description: The ID of the project that this deployment is scoped to.
type: string
versionId:
type: string
description: The ID of the version that this deployment is scoped to.
apiUrl:
type: string
format: uri
description: The API endpoint URL for accessing this deployment programmatically.
webUrl:
type: string
format: uri
description: The web URL where the deployment can be viewed or managed.
required:
- id
- object
- inspectorUrl
- chatId
- versionId
- apiUrl
- webUrl
additionalProperties: false
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ForbiddenError'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundError'
'409':
description: Conflict
content:
application/json:
schema:
$ref: '#/components/schemas/ConflictError'
'413':
description: Payload Too Large
content:
application/json:
schema:
$ref: '#/components/schemas/PayloadTooLargeError'
'422':
description: Unprocessable Entity
content:
application/json:
schema:
$ref: '#/components/schemas/UnprocessableEntityError'
'429':
description: Too Many Requests
content:
application/json:
schema:
$ref: '#/components/schemas/TooManyRequestsError'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerError'
parameters:
- name: deploymentId
in: path
required: true
schema:
type: string
description: Path parameter "deploymentId"
security:
- apiKey: []
delete:
summary: Delete Deployment
description: Delete a deployment by ID. This will delete the deployment from Vercel.
operationId: deployments.delete
tags:
- deployments
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
properties:
id:
type: string
object:
type: string
const: deployment
deleted:
type: boolean
const: true
required:
- id
- object
- deleted
additionalProperties: false
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ForbiddenError'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundError'
'409':
description: Conflict
content:
application/json:
schema:
$ref: '#/components/schemas/ConflictError'
'413':
description: Payload Too Large
content:
application/json:
schema:
$ref: '#/components/schemas/PayloadTooLargeError'
'422':
description: Unprocessable Entity
content:
application/json:
schema:
$ref: '#/components/schemas/UnprocessableEntityError'
'429':
description: Too Many Requests
content:
application/json:
schema:
$ref: '#/components/schemas/TooManyRequestsError'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerError'
parameters:
- name: deploymentId
in: path
required: true
schema:
type: string
description: Path parameter "deploymentId"
security:
- apiKey: []
/deployments/{deploymentId}/logs:
get:
summary: Find Deployment Logs
description: Retrieves logs for a specific deployment. Supports filtering by timestamp to fetch only recent logs.
operationId: deployments.findLogs
tags:
- deployments
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
properties:
logs:
type: array
items:
type: object
properties:
createdAt:
type: string
description: Log creation timestamp.
deploymentId:
type: string
description: Deployment ID.
id:
type: string
description: Log entry ID.
text:
type: string
description: Log message content.
type:
type: string
enum:
- stdout
- stderr
description: Output stream type.
level:
default: info
description: Log severity level.
type: string
enum:
- error
- warning
- info
object:
type: string
const: deployment_log
description: Object type identifier.
required:
- createdAt
- deploymentId
- id
- text
- type
- object
additionalProperties: false
description: Array of log entries.
nextSince:
description: Timestamp for pagination.
type: number
object:
type: string
const: list
description: Object type identifier.
required:
- logs
- object
additionalProperties: false
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ForbiddenError'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundError'
'409':
description: Conflict
content:
application/json:
schema:
$ref: '#/components/schemas/ConflictError'
'413':
description: Payload Too Large
content:
application/json:
schema:
$ref: '#/components/schemas/PayloadTooLargeError'
'422':
description: Unprocessable Entity
content:
application/json:
schema:
$ref: '#/components/schemas/UnprocessableEntityError'
'429':
description: Too Many Requests
content:
application/json:
schema:
$ref: '#/components/schemas/TooManyRequestsError'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerError'
parameters:
- name: deploymentId
in: path
required: true
schema:
type: string
description: The unique identifier of the deployment to retrieve logs for. Provided as a path parameter.
- name: since
in: query
required: false
schema:
description: A UNIX timestamp (in seconds) used to filter logs. Returns only log entries generated after the specified time.
type: number
description: A UNIX timestamp (in seconds) used to filter logs. Returns only log entries generated after the specified time.
security:
- apiKey: []
/deployments/{deploymentId}/errors:
get:
summary: Find Deployment Errors
description: Retrieves a list of errors that occurred during a specific deployment. Useful for diagnosing and debugging deployment issues.
operationId: deployments.findErrors
tags:
- deployments
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
properties:
fullErrorText:
type: string
errorType:
type: string
formattedError:
type: string
additionalProperties: false
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ForbiddenError'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundError'
'409':
description: Conflict
content:
application/json:
schema:
$ref: '#/components/schemas/ConflictError'
'413':
description: Payload Too Large
content:
application/json:
schema:
$ref: '#/components/schemas/PayloadTooLargeError'
'422':
description: Unprocessable Entity
content:
application/json:
schema:
$ref: '#/components/schemas/UnprocessableEntityError'
'429':
description: Too Many Requests
content:
application/json:
schema:
$ref: '#/components/schemas/TooManyRequestsError'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerError'
parameters:
- name: deploymentId
in: path
required: true
schema:
type: string
description: The unique identifier of the deployment to inspect for errors. Provided as a path parameter.
security:
- apiKey: []
components:
schemas:
InternalServerError:
type: object
properties:
error:
type: object
properties:
message:
type: string
type:
type: string
const: internal_server_error
required:
- message
- type
additionalProperties: false
required:
- error
additionalProperties: false
ForbiddenError:
type: object
properties:
error:
type: object
properties:
message:
type: string
type:
type: string
const: forbidden_error
required:
- message
- type
additionalProperties: false
required:
- error
additionalProperties: false
NotFoundError:
type: object
properties:
error:
type: object
properties:
message:
type: string
type:
type: string
const: not_found_error
required:
- message
- type
additionalProperties: false
required:
- error
additionalProperties: false
TooManyRequestsError:
type: object
properties:
error:
type: object
properties:
message:
type: string
type:
type: string
const: too_many_requests_error
required:
- message
- type
additionalProperties: false
required:
- error
additionalProperties: false
UnauthorizedError:
type: object
properties:
error:
type: object
properties:
message:
type: string
type:
type: string
const: unauthorized_error
required:
- message
- type
additionalProperties: false
required:
- error
additionalProperties: false
UnprocessableEntityError:
type: object
properties:
error:
type: object
properties:
message:
type: string
type:
type: string
const: unprocessable_entity_error
required:
- message
- type
additionalProperties: false
required:
- error
additionalProperties: false
PayloadTooLargeError:
type: object
properties:
error:
type: object
properties:
message:
type: string
type:
type: string
const: payload_too_large_error
required:
- message
- type
additionalProperties: false
required:
- error
additionalProperties: false
ConflictError:
type: object
properties:
error:
type: object
properties:
message:
type: string
type:
type: string
const: conflict_error
required:
- message
- type
additionalProperties: false
required:
- error
additionalProperties: false
securitySchemes:
apiKey:
type: apiKey
in: header
name: Authorization
description: Your v0 API key. Get one at https://v0.app/chat/settings/keys
externalDocs:
description: Find more info here
url: https://vercel.com/docs/v0/api