---
title: "Record feedback after a viewing"
url: "https://real-estate-agency.apim.eu/apis/viewing-appointments/versions/70b37971-1301-4569-bd6c-e68e8b19e7e2/operations/createFeedback"
---

> Full API specification: https://real-estate-agency.apim.eu/apis/viewing-appointments/versions/70b37971-1301-4569-bd6c-e68e8b19e7e2.md

# Record feedback after a viewing

`POST` `/appointments/{appointmentId}/feedback`

Operation ID: `createFeedback`

The basis for reporting back to the property owner.

## Path parameters

- `appointmentId` (string, required)

## Request body (required)

Content types: `application/json`

## Responses

- `201` - Recorded

## OpenAPI definition

```yaml
openapi: 3.0.3
info:
  title: Viewing Appointments
  version: 1.0.0
servers:
  - url: https://api.realestateagency.example/v1
    description: Production
  - url: https://sandbox.api.realestateagency.example/v1
    description: Sandbox
paths:
  /appointments/{appointmentId}/feedback:
    parameters:
      - name: appointmentId
        in: path
        required: true
        schema:
          type: string
          example: appt_9a44
    post:
      tags:
        - Feedback
      summary: Record feedback after a viewing
      description: The basis for reporting back to the property owner.
      operationId: createFeedback
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - lead_id
                - interest
              properties:
                lead_id:
                  type: string
                  example: lead_71ab
                interest:
                  type: string
                  enum:
                    - intent_to_buy
                    - still_considering
                    - not_interested
                price_assessment:
                  type: string
                  enum:
                    - fair
                    - too_high
                    - too_low
                comment:
                  type: string
                  maxLength: 1000
      responses:
        "201":
          description: Recorded
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Feedback"
security:
  - apiKey: []
components:
  schemas:
    Feedback:
      type: object
      properties:
        id:
          type: string
          example: fb_60d2
        appointment_id:
          type: string
          example: appt_9a44
        lead_id:
          type: string
          example: lead_71ab
        interest:
          type: string
          example: still_considering
        price_assessment:
          type: string
          example: too_high
        comment:
          type: string
          example: Layout works well, but the price is above what we had in mind.
        created_at:
          type: string
          format: date-time
          example: 2026-09-03T17:12:00Z
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: apikey
      description: |
        Every call carries an API key in the `apikey` header. You generate the
        key in the Real Estate portal under "My Apps"; it's shown exactly once.

        Each key has the scopes it's allowed to use attached to it. If one is
        missing, the API responds with `403` and `code: "scope_missing"`; the
        missing scope is in `details[].field`.
```
