> ## Documentation Index
> Fetch the complete documentation index at: https://docs.placet.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Long-poll for review response (max 30s)



## OpenAPI

````yaml /openapi.json get /api/v1/reviews/{id}/wait
openapi: 3.0.0
info:
  title: Placet API
  description: Chat-based agent inbox for AI-human interaction
  version: 0.1.0
  contact: {}
servers:
  - url: http://localhost:3001
    description: Local development
security: []
tags: []
paths:
  /api/v1/reviews/{id}/wait:
    get:
      tags:
        - Reviews
      summary: Long-poll for review response (max 30s)
      operationId: ReviewsAgentController_waitForResponse
      parameters:
        - name: id
          required: true
          in: path
          schema:
            type: string
        - name: channel
          required: true
          in: query
          description: Channel (agent) ID
          schema:
            type: string
        - name: timeout
          required: false
          in: query
          description: Timeout in ms (default 30000, max 30000)
          schema:
            type: string
      responses:
        '200':
          description: Review completed or timeout
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReviewWaitResponse'
        '401':
          description: Invalid API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Not your agent
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Message or review not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - api-key: []
components:
  schemas:
    ReviewWaitResponse:
      type: object
      properties:
        status:
          type: string
          example: completed
          enum:
            - completed
            - timeout
        message:
          $ref: '#/components/schemas/MessageItemResponse'
      required:
        - status
    ErrorResponse:
      type: object
      properties:
        statusCode:
          type: number
          example: 400
        message:
          type: string
          example: Validation failed
        errors:
          description: Zod validation errors (only on 400)
          type: array
          items:
            $ref: '#/components/schemas/ZodValidationError'
      required:
        - statusCode
        - message
    MessageItemResponse:
      type: object
      properties:
        id:
          type: string
          example: clxyz111
        channelId:
          type: string
          example: clxyz456
        senderType:
          type: string
          example: agent
          enum:
            - agent
            - user
        senderId:
          type: string
          example: clxyz456
        text:
          type: string
          example: Hello from agent
        status:
          type: string
          example: info
          enum:
            - info
            - success
            - warning
            - error
        review:
          type: object
          example:
            type: approval
            status: pending
          description: Review object (null if no review)
        metadata:
          type: object
          example:
            source: automation
          description: Arbitrary metadata
        createdAt:
          type: string
          example: '2025-01-01T00:00:00.000Z'
        attachments:
          type: array
          items:
            $ref: '#/components/schemas/AttachmentResponse'
      required:
        - id
        - channelId
        - senderType
        - senderId
        - createdAt
        - attachments
    ZodValidationError:
      type: object
      properties:
        code:
          type: string
          example: invalid_type
        message:
          type: string
          example: Expected string, received number
        path:
          example:
            - email
          type: array
          items:
            type: string
      required:
        - code
        - message
        - path
    AttachmentResponse:
      type: object
      properties:
        id:
          type: string
          example: clxyz789
        messageId:
          type: string
          example: clxyz123
        pluginType:
          type: string
          example: file
        filename:
          type: string
          example: report.pdf
        mimeType:
          type: string
          example: application/pdf
        size:
          type: number
          example: 1024
        storageKey:
          type: string
          example: uploads/clxyz123/report.pdf
        createdAt:
          type: string
          example: '2025-01-01T00:00:00.000Z'
      required:
        - id
        - messageId
        - pluginType
        - filename
        - mimeType
        - size
        - storageKey
        - createdAt
  securitySchemes:
    api-key:
      type: apiKey
      in: header
      name: x-api-key
      description: Placet API key (hp_...)

````