---
title: "Create a routing form"
method: POST
path: "/appointments/routing-forms"
tags: ["Appointments"]
---

# Create a routing form

`POST /appointments/routing-forms`

## Request

- Base URL: `https://be.graph8.com/api/v1`
- URL: `https://be.graph8.com/api/v1/appointments/routing-forms`
- Auth: HTTP bearer

Create a new routing form with optional fields and routes.

Returns the created form including its generated slug. ``is_admin`` is
forced False so the form is owned by the API-key user.

## Headers

- `Authorization` string, nullable
- `X-Target-Org-Id` string, nullable

## Request body

- CreateRoutingFormRequest
  - `name` string, required
  - `description` string, nullable
  - `fields` RoutingFormField[]
    - `id` string, nullable
    - `label` string, required
    - `identifier` string, nullable
    - `type` 'text' | 'email' | 'phone' | 'number' | 'textarea' | 'select' | 'multiselect' | 'radio' | 'checkbox'
    - `placeholder` string, nullable
    - `required` boolean
    - `options` RoutingFormFieldOption[]
      - `label` string, required
      - `value` string, required
      - `event_type_id` integer, nullable
  - `routes` RoutingFormRouteInput[]
    - `conditions` RoutingFormCondition[]
      - `field_id` string, required
      - `operator` 'equals' | 'not_equals' | 'contains' | 'not_contains' | 'is_empty' | 'is_not_empty' | 'greater_than' | 'less_than' | 'select_equals' | 'select_not_equals', required
      - `value` string
    - `action_type` 'redirect_event_type' | 'redirect_url' | 'show_message'
    - `action_value` string
    - `is_fallback` boolean
    - `position` integer
  - `disabled` boolean

## Response `201`

Successful Response

- object

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/graph8/apis/graph8-developer-api.md) · [All operations](https://skmtc.dev/graph8/apis/graph8-developer-api/llms.txt) · [OpenAPI document](https://skmtc.dev/graph8/apis/graph8-developer-api/revisions/2e7cfa0ca921?raw)
