API reference

Routing forms

Routing forms ask a few questions and send each person to the right event type, team member, message or page. Submit them headlessly from your own app: the rules, CRM capture, follow-up actions and AI triage run exactly as on the hosted form.

List routing forms

GET/api/v1/routing-forms

All routing forms with their questions.

Scope: read:routing

curl "https://calendeur.com/api/v1/routing-forms" \
  -H "Authorization: Bearer $CALENDEUR_API_KEY"
Response · 200
{
  "object": "list",
  "data": [
    {
      "id": "rf_demo",
      "object": "routing_form",
      "name": "Demo request",
      "slug": "demo",
      "active": true,
      "public_url": "https://calendeur.com/r/jordan/demo",
      "questions": [
        {
          "id": "q_name",
          "label": "Full name",
          "type": "text",
          "required": true,
          "options": [],
          "show_if": null
        },
        {
          "id": "q_size",
          "label": "Team size",
          "type": "select",
          "required": true,
          "options": [
            "1-10",
            "11-50",
            "51+"
          ],
          "show_if": null
        }
      ]
    }
  ]
}

Get a routing form

GET/api/v1/routing-forms/{id}

One form with its questions, choices and show-if conditions.

Scope: read:routing

Path parameters

idstringrequired

The routing form ID.

curl "https://calendeur.com/api/v1/routing-forms/ID" \
  -H "Authorization: Bearer $CALENDEUR_API_KEY"
Response · 200
{
  "id": "rf_demo",
  "object": "routing_form",
  "name": "Demo request",
  "questions": []
}

Submit a routing form

POST/api/v1/routing-forms/{id}/submissions

Evaluates the answers and returns where the person was routed. For booking destinations, booking_url opens the booking page linked to this submission. Fires routing.submitted.

Scope: execute:routing

Path parameters

idstringrequired

The routing form ID.

Body

answersobjectrequired

Answers keyed by question ID or question label. Multi-choice answers are arrays.

hidden_fieldsobject

Hidden field values such as utm_source.

curl -X POST "https://calendeur.com/api/v1/routing-forms/ID/submissions" \
  -H "Authorization: Bearer $CALENDEUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "answers": {
    "Full name": "Alex Morgan",
    "Work email": "alex@example.com",
    "Team size": "11-50"
  }
}'
Response · 201
{
  "object": "routing_submission",
  "id": "rr_77c",
  "form_id": "rf_demo",
  "contact_id": "con_91a",
  "destination": "event_type",
  "booking_url": "https://calendeur.com/jordan/intro?routingResponseId=rr_77c",
  "redirect_url": null,
  "message": null
}