v0

v0 deployments API

The deployments API from v0 — 4 operation(s) for deployments.

OpenAPI Specification

v0-deployments-api-openapi.yml Raw ↑
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