v0

v0 plans API

The plans API from v0 — 1 operation(s) for plans.

OpenAPI Specification

v0-plans-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: v0 App agent plans 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: plans
paths:
  /plans:
    get:
      operationId: plans.find
      tags:
      - plans
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  object:
                    type: string
                    const: list
                  data:
                    type: array
                    items:
                      anyOf:
                      - type: object
                        properties:
                          type:
                            type: string
                            const: user
                          data:
                            anyOf:
                            - type: object
                              properties:
                                success:
                                  type: boolean
                                  const: false
                                error:
                                  type: string
                              required:
                              - success
                              - error
                              additionalProperties: false
                            - type: object
                              properties:
                                success:
                                  type: boolean
                                  const: true
                                data:
                                  type: object
                                  properties:
                                    planSlug:
                                      type: string
                                      enum:
                                      - v0-level0
                                      - v0-free
                                      - v0-level3
                                      - v0-ultra
                                      - v0-team
                                      - v0-business
                                      - v0-enterprise
                                    planName:
                                      type: string
                                    realPlan:
                                      type: string
                                      enum:
                                      - v0-level0
                                      - v0-free
                                      - v0-level3
                                      - v0-ultra
                                      - v0-team
                                      - v0-business
                                      - v0-enterprise
                                    planPeriod:
                                      type: object
                                      properties:
                                        start:
                                          type: string
                                        end:
                                          type: string
                                      required:
                                      - start
                                      additionalProperties: false
                                    account:
                                      type: object
                                      properties:
                                        createdAt:
                                          type: number
                                        mode:
                                          type: string
                                          const: test
                                        stripeCustomerId:
                                          type:
                                          - string
                                          - 'null'
                                        orbCustomerId:
                                          type:
                                          - string
                                          - 'null'
                                        awsMarketplace:
                                          type: object
                                          properties:
                                            v0:
                                              type: object
                                              properties:
                                                customerId:
                                                  type: string
                                                productCode:
                                                  type: string
                                              required:
                                              - customerId
                                              - productCode
                                              additionalProperties: false
                                            vercel:
                                              type: object
                                              properties:
                                                customerId:
                                                  type: string
                                                productCode:
                                                  type: string
                                              required:
                                              - customerId
                                              - productCode
                                              additionalProperties: false
                                          additionalProperties: false
                                      required:
                                      - createdAt
                                      - stripeCustomerId
                                      - orbCustomerId
                                      additionalProperties: false
                                    billingPeriod:
                                      type: object
                                      properties:
                                        start:
                                          type: string
                                        end:
                                          type: string
                                      required:
                                      - start
                                      - end
                                      additionalProperties: false
                                    payment:
                                      type: object
                                      properties:
                                        status:
                                          type: string
                                          enum:
                                          - paid
                                          - pending
                                          - past_due
                                        openInvoices:
                                          type: array
                                          items:
                                            type: object
                                            properties:
                                              url:
                                                type: string
                                              dueAt:
                                                type: number
                                            required:
                                            - url
                                            - dueAt
                                            additionalProperties: false
                                        isTrialing:
                                          type: boolean
                                        instruments:
                                          type: array
                                          items:
                                            type: object
                                            properties:
                                              details:
                                                type: object
                                                properties:
                                                  type:
                                                    type: string
                                                  last4:
                                                    type: string
                                                  brand:
                                                    type: string
                                                  id:
                                                    type: string
                                                  exp:
                                                    type: object
                                                    properties:
                                                      month:
                                                        type: number
                                                      year:
                                                        type: number
                                                    additionalProperties: false
                                                  email:
                                                    type: string
                                                required:
                                                - type
                                                - last4
                                                - brand
                                                - id
                                                additionalProperties: false
                                            required:
                                            - details
                                            additionalProperties: false
                                      required:
                                      - status
                                      - openInvoices
                                      additionalProperties: false
                                    metadata:
                                      type: object
                                      propertyNames:
                                        type: string
                                      additionalProperties:
                                        anyOf:
                                        - {}
                                        - type: 'null'
                                    products:
                                      type: object
                                      properties:
                                        teamSeats:
                                          type: object
                                          properties:
                                            quantity:
                                              type: number
                                          required:
                                          - quantity
                                          additionalProperties: false
                                        seatsCredit:
                                          type: object
                                          properties:
                                            quantity:
                                              type: number
                                          required:
                                          - quantity
                                          additionalProperties: false
                                      additionalProperties: false
                                  required:
                                  - planSlug
                                  - planName
                                  - realPlan
                                  - planPeriod
                                  - account
                                  - billingPeriod
                                  - metadata
                                  - products
                                  additionalProperties: false
                              required:
                              - success
                              - data
                              additionalProperties: false
                        required:
                        - type
                        - data
                        additionalProperties: false
                      - type: object
                        properties:
                          type:
                            type: string
                            const: team
                          data:
                            anyOf:
                            - type: object
                              properties:
                                success:
                                  type: boolean
                                  const: false
                                error:
                                  type: string
                              required:
                              - success
                              - error
                              additionalProperties: false
                            - type: object
                              properties:
                                success:
                                  type: boolean
                                  const: true
                                data:
                                  type: object
                                  properties:
                                    planSlug:
                                      type: string
                                      enum:
                                      - v0-level0
                                      - v0-free
                                      - v0-level3
                                      - v0-ultra
                                      - v0-team
                                      - v0-business
                                      - v0-enterprise
                                    planName:
                                      type: string
                                    realPlan:
                                      type: string
                                      enum:
                                      - v0-level0
                                      - v0-free
                                      - v0-level3
                                      - v0-ultra
                                      - v0-team
                                      - v0-business
                                      - v0-enterprise
                                    planPeriod:
                                      type: object
                                      properties:
                                        start:
                                          type: string
                                        end:
                                          type: string
                                      required:
                                      - start
                                      additionalProperties: false
                                    account:
                                      type: object
                                      properties:
                                        createdAt:
                                          type: number
                                        mode:
                                          type: string
                                          const: test
                                        stripeCustomerId:
                                          type:
                                          - string
                                          - 'null'
                                        orbCustomerId:
                                          type:
                                          - string
                                          - 'null'
                                        awsMarketplace:
                                          type: object
                                          properties:
                                            v0:
                                              type: object
                                              properties:
                                                customerId:
                                                  type: string
                                                productCode:
                                                  type: string
                                              required:
                                              - customerId
                                              - productCode
                                              additionalProperties: false
                                            vercel:
                                              type: object
                                              properties:
                                                customerId:
                                                  type: string
                                                productCode:
                                                  type: string
                                              required:
                                              - customerId
                                              - productCode
                                              additionalProperties: false
                                          additionalProperties: false
                                      required:
                                      - createdAt
                                      - stripeCustomerId
                                      - orbCustomerId
                                      additionalProperties: false
                                    billingPeriod:
                                      type: object
                                      properties:
                                        start:
                                          type: string
                                        end:
                                          type: string
                                      required:
                                      - start
                                      - end
                                      additionalProperties: false
                                    payment:
                                      type: object
                                      properties:
                                        status:
                                          type: string
                                          enum:
                                          - paid
                                          - pending
                                          - past_due
                                        openInvoices:
                                          type: array
                                          items:
                                            type: object
                                            properties:
                                              url:
                                                type: string
                                              dueAt:
                                                type: number
                                            required:
                                            - url
                                            - dueAt
                                            additionalProperties: false
                                        isTrialing:
                                          type: boolean
                                        instruments:
                                          type: array
                                          items:
                                            type: object
                                            properties:
                                              details:
                                                type: object
                                                properties:
                                                  type:
                                                    type: string
                                                  last4:
                                                    type: string
                                                  brand:
                                                    type: string
                                                  id:
                                                    type: string
                                                  exp:
                                                    type: object
                                                    properties:
                                                      month:
                                                        type: number
                                                      year:
                                                        type: number
                                                    additionalProperties: false
                                                  email:
                                                    type: string
                                                required:
                                                - type
                                                - last4
                                                - brand
                                                - id
                                                additionalProperties: false
                                            required:
                                            - details
                                            additionalProperties: false
                                      required:
                                      - status
                                      - openInvoices
                                      additionalProperties: false
                                    metadata:
                                      type: object
                                      propertyNames:
                                        type: string
                                      additionalProperties:
                                        anyOf:
                                        - {}
                                        - type: 'null'
                                    products:
                                      type: object
                                      properties:
                                        teamSeats:
                                          type: object
                                          properties:
                                            quantity:
                                              type: number
                                          required:
                                          - quantity
                                          additionalProperties: false
                                        seatsCredit:
                                          type: object
                                          properties:
                                            quantity:
                                              type: number
                                          required:
                                          - quantity
                                          additionalProperties: false
                                      additionalProperties: false
                                  required:
                                  - planSlug
                                  - planName
                                  - realPlan
                                  - planPeriod
                                  - account
                                  - billingPeriod
                                  - metadata
                                  - products
                                  additionalProperties: false
                              required:
                              - success
                              - data
                              additionalProperties: false
                          teamId:
                            type: string
                        required:
                        - type
                        - data
                        - teamId
                        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'
      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