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

# List form responses

> **Beta** — this endpoint may change before general availability.



## OpenAPI

````yaml /api-reference/openapi.json get /form-responses
openapi: 3.1.0
info:
  title: Replo Public API
  version: '2026-11-10'
servers:
  - url: https://api.replo.app/v1
security: []
paths:
  /form-responses:
    get:
      tags:
        - Form-responses
      summary: List form responses
      description: '**Beta** — this endpoint may change before general availability.'
      operationId: form-responses.list
      parameters:
        - name: Replo-Api-Version
          in: header
          required: true
          schema:
            type: string
            enum:
              - '2026-11-10'
          description: The public API version to use for this request.
        - schema:
            type: string
            format: uuid
            description: The project that owns the forms, from list_projects
          required: true
          description: The project that owns the forms, from list_projects
          name: projectId
          in: query
        - schema:
            type: string
            format: uuid
            description: Only this form's responses; every form's if left out
          required: false
          description: Only this form's responses; every form's if left out
          name: formId
          in: query
        - schema:
            type: string
            format: date-time
            description: Only responses saved at or after this time
          required: false
          description: Only responses saved at or after this time
          name: since
          in: query
        - schema:
            type: integer
            minimum: 1
            maximum: 100
            description: How many to return, 1 to 100; 50 if left out
          required: false
          description: How many to return, 1 to 100; 50 if left out
          name: limit
          in: query
        - schema:
            type: string
            minLength: 1
            maxLength: 200
            description: The next_cursor of the previous page
          required: false
          description: The next_cursor of the previous page
          name: cursor
          in: query
      responses:
        '200':
          description: List form responses
          content:
            application/json:
              schema:
                type: object
                properties:
                  object:
                    type: string
                    enum:
                      - list
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        object:
                          type: string
                          enum:
                            - form_response
                        id:
                          type: string
                          format: uuid
                        projectId:
                          type: string
                          format: uuid
                        formId:
                          type: string
                          format: uuid
                        contactId:
                          type:
                            - string
                            - 'null'
                          format: uuid
                          description: >-
                            The person who answered, when the form asked for an
                            email
                        answers:
                          type: object
                          additionalProperties:
                            anyOf:
                              - type: string
                              - type: boolean
                              - type: number
                              - type: array
                                items:
                                  type: string
                                  maxLength: 255
                                maxItems: 100
                            description: >-
                              Text, a yes/no, a number or rating, or the choices
                              of a pick-several question
                          description: >-
                            Answers keyed by question key; a file answer is the
                            file's name
                        source:
                          type: string
                          enum:
                            - site
                            - manual
                          description: >-
                            site: sent from the website; manual: added by the
                            business
                        pagePath:
                          type:
                            - string
                            - 'null'
                        referrer:
                          type:
                            - string
                            - 'null'
                        utm:
                          type:
                            - object
                            - 'null'
                          properties:
                            utm_source:
                              type: string
                              maxLength: 255
                            utm_medium:
                              type: string
                              maxLength: 255
                            utm_campaign:
                              type: string
                              maxLength: 255
                            utm_term:
                              type: string
                              maxLength: 255
                            utm_content:
                              type: string
                              maxLength: 255
                          description: Campaign tags from the link the visitor landed on
                        waitlist:
                          type:
                            - object
                            - 'null'
                          properties:
                            serviceKey:
                              type: string
                            date:
                              type: string
                          required:
                            - serviceKey
                            - date
                          description: >-
                            Set when the visitor asked to hear about openings on
                            a full day instead of booking
                        createdAt:
                          type: string
                      required:
                        - object
                        - id
                        - projectId
                        - formId
                        - contactId
                        - answers
                        - source
                        - pagePath
                        - referrer
                        - utm
                        - waitlist
                        - createdAt
                  has_more:
                    type: boolean
                  next_cursor:
                    type:
                      - string
                      - 'null'
                required:
                  - object
                  - data
                  - has_more
                  - next_cursor
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiError'
        '401':
          description: >-
            Missing or invalid Replo Public API token. Send an active key as
            `Authorization: Bearer replo_sk_...`; if it was revoked, create a
            new key in Replo Settings.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiError'
        '403':
          description: >-
            You are not authorized to access this resource. Ask a workspace
            owner to perform this action or to grant the key's creator access.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiError'
        '404':
          description: >-
            Not Found. The resource may not exist, this key may lack the
            required scope, or the key's creator may have lost access. Check the
            key's scopes in Replo Settings and the creator's project or
            workspace access; a workspace owner can grant access.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiError'
        '409':
          description: The resource is in a conflicting state.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiError'
        '413':
          description: File content exceeds the 10 MiB limit.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiError'
        '429':
          description: >-
            Too many requests. Please retry after the time indicated by the
            Retry-After header.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiError'
        '500':
          description: An internal error occurred.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiError'
        '503':
          description: Service temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiError'
      security:
        - bearerAuth: []
components:
  schemas:
    PublicApiError:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
            message:
              type: string
            doc_url:
              type: string
            issues:
              type: array
              items:
                type: object
                properties:
                  param:
                    type:
                      - string
                      - 'null'
                    description: >-
                      Dotted path to the failing field within the request body,
                      query or path, e.g. "name" or "variants.0.available"; null
                      when the rule covers the whole input.
                  message:
                    type: string
                    description: Why the field was rejected.
                required:
                  - param
                  - message
              description: >-
                Present on an invalid_request whose input failed validation:
                each failing field and why, at most 10.
          required:
            - code
            - message
            - doc_url
      required:
        - error
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.