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

# List Routing Form Submissions

> List routing form submissions with the Zeeg API, filtering one flat feed by form, creation time, and destination type, with each answer in both display and raw form.

Returns a paginated list of the routing form submissions in your workspace.

The submissions of every routing form sit in one feed, so `routingFormId` filters that feed rather than addressing a sub-resource. Narrow the feed further by creation time with `minCreatedAt` and `maxCreatedAt`, and by destination with `routeType`.

Results are newest first. Set `sort` to `asc` to read the oldest submission first.

Each entry carries the same payload as [Get a Routing Form Submission](/api/routing-forms/get-a-routing-form-submission).

<Note>
  Every answer ships twice. Read `answer` for anything a person sees, and `rawAnswer` to map the answer into a CRM. The [overview](/api/routing-forms/overview) explains why.
</Note>


## OpenAPI

````yaml GET /routing-form-submissions
openapi: 3.0.0
info:
  title: Zeeg Public API
  description: >-
    Zeeg public API documentation.


    ## Authentication

    All endpoints require a Bearer token. You can generate an API token from
    [your Zeeg dashboard](https://app.zeeg.me/account/settings/api-access).


    Each token is scoped to specific permissions (e.g. `events:read`,
    `webhooks:write`). Make sure your token has the required scopes for the
    endpoints you want to use.


    ## Recommended Headers

    We recommend including the `Accept: application/json` header in all API
    requests to ensure you receive JSON responses.
  version: 2.0.0
  x-logo:
    url: https://app.zeeg.me/img/logo-dark.2ca83593.svg
    backgroundColor: '#f7f7f9'
    altText: zeeg
  contact:
    name: Zeeg Support
    email: support@zeeg.me
    url: https://zeeg.me/en/contact
  license:
    name: Proprietary
    url: https://zeeg.me/en/legal/terms
  termsOfService: https://zeeg.me/en/legal/terms
servers:
  - url: https://api.zeeg.me/v2
    description: Production
security:
  - bearer: []
tags:
  - name: Scheduled Events
    description: Management of events scheduled via Zeeg
  - name: Scheduling Pages
    description: Scheduling pages information and management
  - name: Availability Schedule
    description: Read and change availability for users
  - name: Webhooks
    description: Webhooks management
  - name: Notes
    description: Notes for scheduled events
  - name: Workspaces & Teams
    description: Workspace users and team member management
  - name: AI Agent
    description: AI Agent integration endpoints
  - name: Payloads
    description: Webhook payload schemas
  - name: CRM - Objects
    description: >-
      Discover the schema of CRM objects (standard and custom) including all
      attribute definitions
  - name: CRM - Companies
    description: Create, read, update, and delete CRM company records
  - name: CRM - People
    description: Create, read, update, and delete CRM person records
  - name: Routing Forms - Forms
    description: Read routing forms with their questions and their routes
  - name: Routing Forms - Submissions
    description: Read and delete the submissions that invitees send through a routing form
paths:
  /routing-form-submissions:
    get:
      tags:
        - Routing Forms - Submissions
      summary: List routing form submissions
      description: >-
        Returns a paginated list of the routing form submissions in your
        workspace.


        The submissions of every routing form sit in one feed, so
        `routingFormId` filters the feed rather than addressing a sub-resource.


        **Required scope:** `routing_forms:read` or `routing_forms:write`
      operationId: get-routing-form-submissions
      parameters:
        - name: routingFormId
          in: query
          schema:
            type: string
            format: uuid
          description: >-
            Return only the submissions of this routing form. A routing form
            outside your workspace answers 404.
        - name: minCreatedAt
          in: query
          schema:
            type: string
            format: date-time
          description: Return only the submissions that were created at or after this time.
          example: '2026-04-01T00:00:00Z'
        - name: maxCreatedAt
          in: query
          schema:
            type: string
            format: date-time
          description: >-
            Return only the submissions that were created at or before this
            time. It must not precede `minCreatedAt`.
          example: '2026-04-30T23:59:59Z'
        - name: routeType
          in: query
          schema:
            type: string
            enum:
              - EVENT_TYPE
              - URL
              - CUSTOM_PAGE
              - TEAM_PAGE
          description: Return only the submissions that the given kind of route took.
        - name: sort
          in: query
          schema:
            type: string
            enum:
              - asc
              - desc
            default: desc
          description: Sort direction on `createdAt`.
        - schema:
            type: integer
            default: 1
            minimum: 1
          in: query
          name: page
          description: Page number.
        - name: count
          in: query
          schema:
            type: integer
            default: 20
            minimum: 1
            maximum: 100
          description: Number of submissions per page.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: true
                  status:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      pagination:
                        $ref: '#/components/schemas/Pagination'
                      submissions:
                        type: array
                        items:
                          $ref: '#/components/schemas/RoutingFormSubmission'
              examples:
                Success:
                  value:
                    success: true
                    status: 200
                    data:
                      pagination:
                        totalItems: 1
                        perPage: 20
                        currentPage: 1
                        lastPage: 1
                        hasPreviousPage: false
                        hasNextPage: false
                      submissions:
                        - id: 71621fb7-30b0-4d91-9f2e-a3e009cc6853
                          createdAt: '2026-04-10T08:30:00+00:00'
                          routingForm:
                            id: f1cbafc4-b646-4cf9-af29-193491b555d9
                            name: Inbound Lead Qualification
                            slug: inbound-lead-qual
                          route:
                            type: EVENT_TYPE
                            isFallback: false
                            customUrl: null
                            headline: null
                            eventType:
                              id: 80f46bf5-eb01-4c07-960e-a9a3e18aae5e
                              title: 30-Minute Discovery Call
                              slug: 30min-discovery-call
                              uri: >-
                                https://api.zeeg.me/v2/event-types/80f46bf5-eb01-4c07-960e-a9a3e18aae5e
                            team: null
                          answers:
                            - inputId: f7c82298-6dd9-43bd-98e4-c437b5c0ae47
                              order: 1
                              question: What is your company size?
                              type: text
                              answer: 50-200 employees
                              rawAnswer: 50-200 employees
                              crmAttribute: null
                          questionsAndAnswers:
                            What is your company size?: 50-200 employees
                          utm:
                            campaign: spring_launch
                            source: linkedin
                          adAttribution: null
        '401':
          $ref: '#/components/responses/401'
        '403':
          description: >-
            Forbidden — the token misses the scope, or the user may not read
            routing forms
          content:
            application/json:
              schema:
                oneOf:
                  - type: object
                    properties:
                      error:
                        type: object
                        properties:
                          type:
                            type: string
                          message:
                            type: string
                          error_id:
                            type: string
                          required_scopes:
                            type: array
                            items:
                              type: string
                  - type: object
                    properties:
                      success:
                        type: boolean
                      message:
                        type: string
                      status:
                        type: integer
              examples:
                Missing scope:
                  value:
                    error:
                      type: insufficient_scope
                      message: >-
                        Your token is missing the required scope(s). Include at
                        least one of: routing_forms:read, routing_forms:write.
                      error_id: 6f0a2d31-9c4e-4a80-8f2b-1d5c7e9a4b03
                      required_scopes:
                        - routing_forms:read
                        - routing_forms:write
                No permission:
                  value:
                    success: false
                    message: You don't have permission to view routing forms.
                    status: 403
        '404':
          description: >-
            Not Found — `routingFormId` names a routing form outside your
            workspace
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                  message:
                    type: string
                  status:
                    type: integer
              examples:
                Not found:
                  value:
                    success: false
                    message: Data Not Found
                    status: 404
        '422':
          $ref: '#/components/responses/422'
      security:
        - bearer: []
components:
  schemas:
    Pagination:
      type: object
      description: The page counters that a paginated list response carries.
      properties:
        totalItems:
          type: integer
          description: Number of items that match the request across every page.
          example: 42
        perPage:
          type: integer
          description: Number of items on one page.
          example: 20
        currentPage:
          type: integer
          description: Number of the page in this response.
          example: 1
        lastPage:
          type: integer
          description: Number of the last page.
          example: 3
        hasPreviousPage:
          type: boolean
          description: True when a page comes before this one.
          example: false
        hasNextPage:
          type: boolean
          description: True when a page comes after this one.
          example: true
    RoutingFormSubmission:
      type: object
      description: >-
        One set of answers that an invitee sent through a routing form, together
        with the route that the answers selected.
      properties:
        id:
          type: string
          format: uuid
          example: 71621fb7-30b0-4d91-9f2e-a3e009cc6853
        createdAt:
          type: string
          format: date-time
          nullable: true
          description: Time at which the invitee sent the submission, in UTC.
          example: '2026-04-10T08:30:00+00:00'
        routingForm:
          type: object
          description: The routing form that the invitee filled in.
          properties:
            id:
              type: string
              format: uuid
              example: f1cbafc4-b646-4cf9-af29-193491b555d9
            name:
              type: string
              example: Inbound Lead Qualification
            slug:
              type: string
              example: inbound-lead-qual
        route:
          type: object
          description: >-
            The route that the answers selected, as it stood at the time of the
            submission.
          properties:
            type:
              type: string
              nullable: true
              enum:
                - EVENT_TYPE
                - URL
                - CUSTOM_PAGE
                - TEAM_PAGE
              example: EVENT_TYPE
            isFallback:
              type: boolean
              description: >-
                True when the answers matched no route and the fallback route
                took the submission.
              example: false
            customUrl:
              type: string
              nullable: true
              description: Destination address of a `URL` route.
              example: null
            headline:
              type: string
              nullable: true
              description: The headline that the invitee saw, with the HTML tags removed.
              example: null
            eventType:
              $ref: '#/components/schemas/RoutingFormEventTypeReference'
            team:
              $ref: '#/components/schemas/RoutingFormTeamReference'
        answers:
          type: array
          description: The answers of the submission, in the order of the questions.
          items:
            $ref: '#/components/schemas/RoutingFormAnswer'
        questionsAndAnswers:
          type: object
          description: >-
            The same answers as a map. The key is the question text, the value
            is the display answer.
          additionalProperties:
            type: string
          example:
            What is your company size?: 50-200 employees
        utm:
          type: object
          description: >-
            The UTM parameters that the page carried when the invitee sent the
            submission. A parameter that carries no value is absent.
          properties:
            campaign:
              type: string
              example: spring_launch
            source:
              type: string
              example: linkedin
            medium:
              type: string
            content:
              type: string
            term:
              type: string
        adAttribution:
          type: object
          nullable: true
          description: >-
            The advertisement click identifiers that the page carried when the
            invitee sent the submission. It is `null` when the page carried
            none.
          properties:
            gclid:
              type: string
              description: Google Ads click identifier.
            fbclid:
              type: string
              description: Meta click identifier.
            fbp:
              type: string
              description: Meta browser identifier.
            fbc:
              type: string
              description: Meta click cookie value.
            landingUrl:
              type: string
              description: The address at which the visit started.
          example:
            gclid: Cj0KCQjw_pO_BhDgARIsAOgg
    RoutingFormEventTypeReference:
      type: object
      nullable: true
      description: >-
        The event type that a route or a submission points at. It is `null` when
        no event type is set.
      properties:
        id:
          type: string
          format: uuid
          example: 80f46bf5-eb01-4c07-960e-a9a3e18aae5e
        title:
          type: string
          example: 30-Minute Discovery Call
        slug:
          type: string
          example: 30min-discovery-call
        uri:
          type: string
          format: uri
          description: Address of the event type in this API.
          example: >-
            https://api.zeeg.me/v2/event-types/80f46bf5-eb01-4c07-960e-a9a3e18aae5e
    RoutingFormTeamReference:
      type: object
      nullable: true
      description: >-
        The team that a route or a submission points at. It is `null` when no
        team is set.
      properties:
        id:
          type: string
          format: uuid
          example: 3d9b1a77-2c58-4e6a-9f30-8b1c5d4e2f6a
        title:
          type: string
          example: Sales EMEA
        slug:
          type: string
          example: sales-emea
    RoutingFormAnswer:
      type: object
      description: >-
        One answer of a submission. The answer ships twice, once for a person to
        read and once for a machine to map.
      properties:
        inputId:
          type: string
          format: uuid
          description: Id of the question that the invitee answered.
          example: f7c82298-6dd9-43bd-98e4-c437b5c0ae47
        order:
          type: integer
          description: >-
            Position of the question in the routing form at the time of the
            submission. The first question carries `1`, so this counter starts
            one higher than `order` on the question itself.
          example: 1
        question:
          type: string
          nullable: true
          description: The question text at the time of the submission.
          example: What is your company size?
        type:
          type: string
          nullable: true
          description: >-
            The stored type of the answer, for example `text`. A question that
            maps onto a CRM select attribute carries `object`.
          example: object
        answer:
          type: string
          description: The display value of the answer. Show this value to a person.
          example: 50-200 employees
        rawAnswer:
          type: string
          nullable: true
          description: >-
            The stored value of the answer. A question that maps onto a CRM
            select attribute carries the canonical `{"id","value","color"}` JSON
            that identifies the option. Map into a CRM by this value.
          example: '{"id":"size-50-200","value":"50-200 employees","color":"blue"}'
        crmAttribute:
          $ref: '#/components/schemas/RoutingFormCrmAttributeReference'
    RoutingFormCrmAttributeReference:
      type: object
      nullable: true
      description: >-
        The CRM attribute that a question maps onto. It is `null` when the
        question maps onto no attribute.
      properties:
        objectSlug:
          type: string
          description: Slug of the CRM object that holds the attribute.
          example: companies
        attributeSlug:
          type: string
          description: Slug of the attribute on that object.
          example: industries
  responses:
    '401':
      description: Unauthorized
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
                example: Unauthenticated.
          examples:
            Unauthenticated:
              value:
                message: Unauthenticated.
    '422':
      description: Unprocessable Entity
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
                example: The given data was invalid.
              errors:
                type: object
                additionalProperties:
                  type: array
                  items:
                    type: string
                example:
                  field_name:
                    - The field_name field is required.
  securitySchemes:
    bearer:
      type: http
      scheme: bearer
      description: ''

````