openapi: 3.1.0 info: title: v0 App agent search 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: search paths: /search: get: summary: Search Chats and Projects description: Search across chats and projects with optional query string and type filtering operationId: search.find tags: - search responses: '200': description: Success content: application/json: schema: type: object properties: object: type: string const: list data: type: array items: $ref: '#/components/schemas/SearchResultItem' pagination: type: object properties: hasMore: type: boolean nextCursor: type: string nextUrl: type: string required: - hasMore additionalProperties: false meta: type: object properties: totalCount: type: number required: - totalCount additionalProperties: false required: - object - data - pagination - meta 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: query in: query required: false schema: type: string minLength: 1 description: Search query to filter chats and projects description: Search query to filter chats and projects - name: type in: query required: false schema: description: Filter results by type. Can be repeated (type=chat&type=project) or a single type anyOf: - type: string - type: array items: type: string description: Filter results by type. Can be repeated (type=chat&type=project) or a single type - name: limit in: query required: false schema: default: 20 type: number minimum: 1 maximum: 150 description: Query parameter "limit" - name: cursor in: query required: false schema: type: string description: Base64 encoded cursor containing pagination data description: Base64 encoded cursor containing pagination data 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 SearchResultItem: type: object properties: id: type: string description: The unique ID of the item returned in the search result. object: description: Type of item returned, either 'chat' or 'project'. type: string enum: - chat - project name: type: string description: The display name of the item. createdAt: type: string format: date-time pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$ description: The ISO timestamp representing when the item was created. updatedAt: description: The ISO timestamp of the last update to the item. type: string format: date-time pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$ apiUrl: type: string description: API endpoint for accessing the item programmatically. webUrl: type: string description: Web URL for viewing the item in the interface. required: - id - object - name - createdAt - apiUrl - webUrl additionalProperties: false description: Generic result returned from a search query, representing either a chat or a project. 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