> ## 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.

# Replace Routing Form Routes

> Replace the routes of a routing form with the Zeeg API, sending each answer to a scheduling page, a team, a URL or a message, with an optional fallback.

<Badge color="orange">Alpha</Badge>

This endpoint is in alpha: the request shape may still change without a deprecation cycle.

Replaces the routes of one routing form and returns the routing form in the shape that [Get a Routing Form](/api/routing-forms/get-a-routing-form) returns.

## The write covers the whole list

`routes` holds the complete route list. This endpoint is not an append and not a patch.

* An entry that carries an `id` updates that stored route in place.
* An entry without an `id` creates a route.
* A stored route that the body leaves out is deleted.

Read the routes first and send them back with your changes. Send the whole list every time.

`routes` must be present. A body without it answers `422`, so a mistyped key never deletes every route.

Array position sets the route order. The routing form reads the routes in that order and takes the first route whose conditions hold.

## The fallback

`fallback` is optional. It is the destination that takes every submission that matches no route.

If the body names no `fallback`, the routing form keeps its stored fallback destination. Replacing the route list never moves where an unmatched submission goes.

<Warning>
  The fallback decides where every unmatched submission goes. A body that restates it slightly differently redirects that traffic, and nothing in the response says so. Leave `fallback` out unless you mean to change it.
</Warning>

## The rule tree

A route carries `rules`, the condition tree that selects it. A group holds child nodes under `all` for AND, or under `any` for OR. A child is a group or a condition.

```json theme={null}
{
  "all": [
    {
      "inputId": "f7c82298-6dd9-43bd-98e4-c437b5c0ae47",
      "operator": "is_any_of",
      "values": ["50-200 employees"]
    }
  ]
}
```

A condition names its question with `inputId`, the same key that the read endpoints return.

The operator is one of `equals`, `does_not_equal`, `is_any_of`, `is_not_any_of`, `contains`, `does_not_contain`, `starts_with`, `ends_with`, `greater_than`, `greater_than_or_equal`, `less_than`, `less_than_or_equal`, `is_empty` or `is_not_empty`. `equals` and `does_not_equal` take exactly one value. The list operators take 1 to 500 values. The ordering operators take exactly one numeric value and match only a numeric answer. `is_empty` and `is_not_empty` take none.

## Destinations

`type` takes `EVENT_TYPE`, `TEAM_PAGE`, `URL` or `CUSTOM_PAGE`. Each type reads its own fields: `eventTypeId`, `teamId`, `customUrl` with `submissionParamsForwarding`, or `headline` with `body`.

<Warning>
  A route points at an event type or a team of your own organization. A route that points anywhere else answers `400`, and the whole write is refused. A rule that names a question of another routing form answers `400` as well.
</Warning>

<Note>
  The id is a UUID. A malformed id answers `404`, not `422`. A routing form outside your workspace answers `404` as well.
</Note>


## OpenAPI

````yaml PUT /routing-forms/{id}/routes
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-forms/{id}/routes:
    put:
      tags:
        - Routing Forms - Forms
      summary: Replace the routes of a routing form
      description: >-
        Replaces the routes of one routing form and returns the routing form in
        the shape that `GET /routing-forms/{id}` returns.


        The replace covers the whole route list. It is not an append and not a
        patch. A stored route that the body leaves out is deleted. An entry that
        carries an `id` updates that stored route in place, and an entry without
        an `id` creates a route.


        `routes` must be present. A body without it answers 422 rather than
        deleting every route.


        Array position sets the route order. The routing form reads the routes
        in that order and takes the first route whose conditions hold.


        `fallback` is optional. If the body names no fallback, the routing form
        keeps its stored fallback destination. The fallback decides where every
        unmatched submission goes, so a body that restates it differently moves
        that traffic. Leave `fallback` out unless you mean to change it.


        A route that points at an event type or a team of another organization
        answers 400. A rule that names a question of another routing form
        answers 400 as well.


        A routing form outside your workspace answers 404, so the response never
        tells you that the routing form exists. An id that is not a UUID answers
        404 as well.


        **Required scope:** `routing_forms:write`
      operationId: replace-routing-form-routes
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: UUID of the routing form.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RoutingFormRoutesReplaceRequest'
            examples:
              One route to a scheduling page:
                value:
                  routes:
                    - type: EVENT_TYPE
                      eventTypeId: 80f46bf5-eb01-4c07-960e-a9a3e18aae5e
                      rules:
                        all:
                          - inputId: f7c82298-6dd9-43bd-98e4-c437b5c0ae47
                            operator: is_any_of
                            values:
                              - 50-200 employees
              One route to an external address:
                value:
                  routes:
                    - type: URL
                      customUrl: https://example.com/enterprise
                      submissionParamsForwarding: true
                      rules:
                        all:
                          - inputId: f7c82298-6dd9-43bd-98e4-c437b5c0ae47
                            operator: equals
                            values:
                              - 50-200 employees
              A new fallback:
                value:
                  routes: []
                  fallback:
                    type: CUSTOM_PAGE
                    headline: Thank you
                    body: A member of the team contacts you within one working day.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: true
                  status:
                    type: integer
                    example: 200
                  routingForm:
                    $ref: '#/components/schemas/RoutingFormDetail'
              examples:
                Success:
                  value:
                    success: true
                    status: 200
                    routingForm:
                      id: f1cbafc4-b646-4cf9-af29-193491b555d9
                      name: Inbound Lead Qualification
                      slug: inbound-lead-qual
                      url: https://zeeg.me/RF/inbound-lead-qual
                      isActive: true
                      headline: Tell us about your team
                      body: null
                      submitBtnText: Continue
                      styleSettings:
                        bgColor: '#ffffff'
                        buttonBgColor: '#1f2937'
                        buttonTextColor: '#ffffff'
                      createdAt: '2026-04-01T09:12:44+00:00'
                      updatedAt: '2026-04-11T11:31:07+00:00'
                      inputs: []
                      routes:
                        - id: c4a1e0d2-5f39-4a7b-8f11-2b6d0c9e7a84
                          type: EVENT_TYPE
                          isFallback: false
                          order: 0
                          customUrl: null
                          headline: null
                          body: 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
                          rules:
                            all:
                              - inputId: f7c82298-6dd9-43bd-98e4-c437b5c0ae47
                                operator: is_any_of
                                values:
                                  - 50-200 employees
                        - id: 2e7f4b90-8a13-4c6d-b5e2-7f0a9c3d1e64
                          type: CUSTOM_PAGE
                          isFallback: true
                          order: 1
                          customUrl: null
                          headline: Thank you
                          body: >-
                            A member of the team contacts you within one working
                            day.
                          eventType: null
                          team: null
                          rules: []
        '400':
          description: >-
            Bad Request — a route points outside your organization, or a rule
            names a question of another routing form
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                  message:
                    type: string
                  status:
                    type: integer
              examples:
                Scheduling page outside the organization:
                  value:
                    success: false
                    message: >-
                      One of the routes points to a scheduling page that is not
                      in this organization.
                    status: 400
                Team outside the organization:
                  value:
                    success: false
                    message: >-
                      One of the routes points to a team that is not in this
                      organization.
                    status: 400
                Rule names an unknown question:
                  value:
                    success: false
                    message: >-
                      The rules on route 1 do not match the questions on this
                      form. Check that route and try again.
                    status: 400
        '401':
          $ref: '#/components/responses/401'
        '403':
          description: >-
            Forbidden — the token misses the scope, or the user may not change
            this routing form
          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:
                        routing_forms:write.
                      error_id: 9b3c5e71-4d28-4f6a-b0c9-3e7a1d5f8c20
                      required_scopes:
                        - routing_forms:write
                No permission:
                  value:
                    success: false
                    message: You don't have permission to edit this routing form.
                    status: 403
        '404':
          description: Not Found
          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':
          description: Unprocessable Entity — the body is invalid
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                  errors:
                    type: object
                    additionalProperties:
                      type: array
                      items:
                        type: string
              examples:
                Route list absent:
                  value:
                    message: The routes field must be present.
                    errors:
                      routes:
                        - The routes field must be present.
                Rule operator not recognised:
                  value:
                    message: >-
                      The "is_between" rule on route 1 is set up incorrectly.
                      Check its values and try again.
                    errors:
                      routes.0.rules:
                        - >-
                          The "is_between" rule on route 1 is set up
                          incorrectly. Check its values and try again.
      security:
        - bearer: []
components:
  schemas:
    RoutingFormRoutesReplaceRequest:
      type: object
      description: The body that replaces the routes of a routing form.
      required:
        - routes
      properties:
        routes:
          type: array
          description: >-
            The complete route list. Array position sets the route order, and
            the routing form takes the first route whose conditions hold.
          items:
            $ref: '#/components/schemas/RoutingFormRouteWrite'
        fallback:
          $ref: '#/components/schemas/RoutingFormFallbackWrite'
    RoutingFormDetail:
      description: >-
        A routing form with its questions and its routes, as returned when you
        fetch one routing form.
      allOf:
        - $ref: '#/components/schemas/RoutingForm'
        - type: object
          properties:
            inputs:
              type: array
              description: >-
                The questions of the routing form, which the invitee answers in
                the given order.
              items:
                $ref: '#/components/schemas/RoutingFormInput'
            routes:
              type: array
              description: >-
                The routes of the routing form. Exactly one route is the
                fallback.
              items:
                $ref: '#/components/schemas/RoutingFormRoute'
    RoutingFormRouteWrite:
      type: object
      description: One route in the body that replaces the routes of a routing form.
      required:
        - type
        - rules
      properties:
        id:
          type: string
          format: uuid
          description: >-
            The id of a stored route, which the write then updates in place.
            Leave the id out to create a route.
          example: c4a1e0d2-5f39-4a7b-8f11-2b6d0c9e7a84
        type:
          type: string
          description: >-
            The kind of destination. `EVENT_TYPE` opens a scheduling page,
            `TEAM_PAGE` opens the page of a team, `URL` redirects to an external
            address, and `CUSTOM_PAGE` shows a message inside the routing form.
          enum:
            - EVENT_TYPE
            - URL
            - CUSTOM_PAGE
            - TEAM_PAGE
          example: EVENT_TYPE
        eventTypeId:
          type: string
          format: uuid
          maxLength: 40
          description: >-
            Id of the event type that an `EVENT_TYPE` route opens. The event
            type must sit in your own organization.
          example: 80f46bf5-eb01-4c07-960e-a9a3e18aae5e
        teamId:
          type: string
          format: uuid
          maxLength: 40
          description: >-
            Id of the team that a `TEAM_PAGE` route opens. The team must sit in
            your own organization.
          example: 3d9b1a77-2c58-4e6a-9f30-8b1c5d4e2f6a
        customUrl:
          type: string
          maxLength: 500
          description: Destination address of a `URL` route.
          example: https://example.com/enterprise
        submissionParamsForwarding:
          type: boolean
          description: >-
            A `URL` route needs this field. Set it to true to append the answers
            to the destination as query parameters.
          example: true
        headline:
          type: string
          description: >-
            Headline of a `CUSTOM_PAGE` route. It holds rich text of at most 200
            visible characters.
          example: Thank you
        body:
          type: string
          nullable: true
          description: >-
            Body text of a `CUSTOM_PAGE` route. It holds rich text of at most
            2000 visible characters.
          example: A member of the team contacts you within one working day.
        rules:
          $ref: '#/components/schemas/RoutingFormRuleNode'
    RoutingFormFallbackWrite:
      type: object
      description: >-
        The fallback destination of a routing form. It takes every submission
        that matches no route, so it carries no `rules`.
      required:
        - type
      properties:
        type:
          type: string
          enum:
            - EVENT_TYPE
            - URL
            - CUSTOM_PAGE
            - TEAM_PAGE
          description: The kind of destination.
          example: CUSTOM_PAGE
        eventTypeId:
          type: string
          format: uuid
          maxLength: 40
          description: >-
            Id of the event type that an `EVENT_TYPE` fallback opens. The event
            type must sit in your own organization.
          example: null
        teamId:
          type: string
          format: uuid
          maxLength: 40
          description: >-
            Id of the team that a `TEAM_PAGE` fallback opens. The team must sit
            in your own organization.
          example: null
        customUrl:
          type: string
          format: uri
          description: Destination address of a `URL` fallback. It must be a valid URL.
          example: null
        submissionParamsForwarding:
          type: boolean
          description: >-
            Set it to true to append the answers to a `URL` destination as query
            parameters.
          example: false
        headline:
          type: string
          description: >-
            Headline of a `CUSTOM_PAGE` fallback. It holds rich text of at most
            200 visible characters.
          example: Thank you
        body:
          type: string
          nullable: true
          description: >-
            Body text of a `CUSTOM_PAGE` fallback. It holds rich text of at most
            2000 visible characters.
          example: A member of the team contacts you within one working day.
    RoutingForm:
      type: object
      description: >-
        A routing form, as returned by the list endpoint. The questions and the
        routes ship from the detail endpoint only.
      properties:
        id:
          type: string
          format: uuid
          example: f1cbafc4-b646-4cf9-af29-193491b555d9
        name:
          type: string
          description: The internal name of the routing form.
          example: Inbound Lead Qualification
        slug:
          type: string
          description: The slug that addresses the routing form in its public URL.
          example: inbound-lead-qual
        url:
          type: string
          format: uri
          description: The public address at which an invitee opens the routing form.
          example: https://zeeg.me/RF/inbound-lead-qual
        isActive:
          type: boolean
          description: An inactive routing form accepts no submission.
          example: true
        headline:
          type: string
          nullable: true
          description: The headline that the routing form shows above the questions.
          example: Tell us about your team
        body:
          type: string
          nullable: true
          description: The body text that the routing form shows below the headline.
          example: null
        submitBtnText:
          type: string
          nullable: true
          description: The label on the submit button of the routing form.
          example: Continue
        styleSettings:
          $ref: '#/components/schemas/RoutingFormStyleSettings'
        createdAt:
          type: string
          format: date-time
          nullable: true
          description: Time at which the routing form was created, in UTC.
          example: '2026-04-01T09:12:44+00:00'
        updatedAt:
          type: string
          format: date-time
          nullable: true
          description: Time of the last change to the routing form, in UTC.
          example: '2026-04-10T08:30:00+00:00'
    RoutingFormInput:
      type: object
      description: One question of a routing form.
      properties:
        id:
          type: string
          format: uuid
          example: f7c82298-6dd9-43bd-98e4-c437b5c0ae47
        label:
          type: string
          description: The question text that the invitee reads.
          example: What is your company size?
        type:
          type: string
          description: The answer control that the routing form shows for this question.
          enum:
            - TEXT_INPUT
            - TEXTAREA
            - SELECT
            - RADIO_INPUT
            - EMAIL
            - PHONE_NUMBER
            - NUMBER_INPUT
            - CRM_ATTRIBUTE
          example: SELECT
        order:
          type: integer
          description: >-
            Position of the question in the routing form. The first question
            carries `0`.
          example: 0
        isRequired:
          type: boolean
          description: True when the invitee must answer the question.
          example: true
        isActive:
          type: boolean
          description: The routing form hides the question when this is false.
          example: true
        options:
          type: array
          description: >-
            The selectable values of the question. A `SELECT` or `RADIO_INPUT`
            question carries plain strings. A `CRM_ATTRIBUTE` question carries
            the option objects of the CRM attribute. Every other type carries an
            empty array.
          items:
            oneOf:
              - type: string
              - type: object
          example:
            - 1-10 employees
            - 50-200 employees
        crmAttribute:
          $ref: '#/components/schemas/RoutingFormCrmAttributeReference'
    RoutingFormRoute:
      type: object
      description: >-
        One route of a routing form. A route sends the invitee to a destination
        after the routing form accepts the answers.
      properties:
        id:
          type: string
          format: uuid
          example: c4a1e0d2-5f39-4a7b-8f11-2b6d0c9e7a84
        type:
          type: string
          description: >-
            The kind of destination. `EVENT_TYPE` opens a scheduling page,
            `TEAM_PAGE` opens the page of a team, `URL` redirects to an external
            address, and `CUSTOM_PAGE` shows a message inside the routing form.
          enum:
            - EVENT_TYPE
            - URL
            - CUSTOM_PAGE
            - TEAM_PAGE
          example: EVENT_TYPE
        isFallback:
          type: boolean
          description: >-
            The fallback route takes every submission that matches no other
            route.
          example: false
        order:
          type: integer
          description: >-
            Position of the route in the routing form. The first route carries
            `0`. The routing form takes the first route whose conditions hold.
          example: 0
        customUrl:
          type: string
          nullable: true
          description: >-
            Destination address of a `URL` route. It is `null` for every other
            type.
          example: null
        headline:
          type: string
          nullable: true
          description: Headline of a `CUSTOM_PAGE` route.
          example: Thank you
        body:
          type: string
          nullable: true
          description: Body text of a `CUSTOM_PAGE` route.
          example: A member of the team contacts you within one working day.
        eventType:
          $ref: '#/components/schemas/RoutingFormEventTypeReference'
        team:
          $ref: '#/components/schemas/RoutingFormTeamReference'
        rules:
          description: >-
            The condition tree that selects this route. A node is either a group
            or a condition. A group holds child nodes under `any` for OR, or
            under `all` for AND. A condition holds `inputId`, `operator` and
            `values`. The operator is one of `equals`, `does_not_equal`,
            `is_any_of`, `is_not_any_of`, `contains`, `does_not_contain`,
            `starts_with`, `ends_with`, `greater_than`, `greater_than_or_equal`,
            `less_than`, `less_than_or_equal`, `is_empty` or `is_not_empty`. The
            fallback route carries an empty array, because it needs no
            condition.
          oneOf:
            - type: object
              additionalProperties: true
            - type: array
              items: {}
          example:
            all:
              - inputId: f7c82298-6dd9-43bd-98e4-c437b5c0ae47
                operator: is_any_of
                values:
                  - 50-200 employees
    RoutingFormRuleNode:
      type: object
      description: >-
        A node of the condition tree that selects a route. A group holds child
        nodes under `all` for AND, or under `any` for OR. A child is a group or
        a condition. The tree nests at most 10 levels deep.
      properties:
        all:
          type: array
          description: Every child node must hold.
          items:
            oneOf:
              - $ref: '#/components/schemas/RoutingFormRuleCondition'
              - $ref: '#/components/schemas/RoutingFormRuleNode'
        any:
          type: array
          description: One child node must hold.
          items:
            oneOf:
              - $ref: '#/components/schemas/RoutingFormRuleCondition'
              - $ref: '#/components/schemas/RoutingFormRuleNode'
      example:
        all:
          - inputId: f7c82298-6dd9-43bd-98e4-c437b5c0ae47
            operator: is_any_of
            values:
              - 50-200 employees
    RoutingFormStyleSettings:
      type: object
      description: >-
        The colours of the public routing form page. Each value is a CSS colour
        of at most 20 characters, or `null` when the routing form sets no
        colour. A response always carries the object with all three keys. The
        write endpoints accept the same shape, so a routing form that you read
        goes straight back to `PATCH /routing-forms/{id}` without reshaping.
      properties:
        bgColor:
          type: string
          nullable: true
          maxLength: 20
          description: Background colour of the page.
          example: '#ffffff'
        buttonBgColor:
          type: string
          nullable: true
          maxLength: 20
          description: Background colour of the submit button.
          example: '#1f2937'
        buttonTextColor:
          type: string
          nullable: true
          maxLength: 20
          description: Text colour of the submit button.
          example: '#ffffff'
    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
    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
    RoutingFormRuleCondition:
      type: object
      description: >-
        One condition of a rule tree. It names a question of the same routing
        form with `inputId`.
      required:
        - inputId
        - operator
      properties:
        inputId:
          type: string
          format: uuid
          description: >-
            Id of the question that the condition reads. The question belongs to
            the same routing form.
          example: f7c82298-6dd9-43bd-98e4-c437b5c0ae47
        operator:
          type: string
          description: >-
            The comparison. `equals` and `does_not_equal` take exactly one
            value. The list operators take 1 to 500 values. The ordering
            operators `greater_than`, `greater_than_or_equal`, `less_than` and
            `less_than_or_equal` take exactly one numeric value and match only a
            numeric answer. `is_empty` and `is_not_empty` take none.
          enum:
            - equals
            - does_not_equal
            - is_any_of
            - is_not_any_of
            - contains
            - does_not_contain
            - starts_with
            - ends_with
            - greater_than
            - greater_than_or_equal
            - less_than
            - less_than_or_equal
            - is_empty
            - is_not_empty
          example: is_any_of
        values:
          type: array
          description: >-
            The values that the operator compares the answer against. Each value
            is a non-empty string or an integer.
          items:
            oneOf:
              - type: string
              - type: integer
          example:
            - 50-200 employees
  responses:
    '401':
      description: Unauthorized
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
                example: Unauthenticated.
          examples:
            Unauthenticated:
              value:
                message: Unauthenticated.
  securitySchemes:
    bearer:
      type: http
      scheme: bearer
      description: ''

````