---
title: "Ingest Calendar Event"
method: POST
path: "/api/calendar/ingest/{ingest_token}"
tags: ["calendar"]
---

# Ingest Calendar Event

`POST /api/calendar/ingest/{ingest_token}`

## Request

- Base URL: `https://api.qomplement.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.qomplement.com/api/calendar/ingest/{ingest_token}`
- Auth: none declared

Public endpoint: accept a booking and persist it as a calendar event.

Accepts the flat aivoice payload:
    {title, start_datetime, duration_minutes, description, timezone}
Also tolerates a wrapped {"fields": {...}} or {"rows": [{...}]} shape for
parity with the workflow webhook trigger.
Returns 2xx so aivoice treats the booking as confirmed.

## Path parameters

- `ingest_token` string, required

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

## Changes

- **2026-08-29** `7a7c8e2b5afc`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/qomplement/apis/qomplement-api/changes/api/calendar/ingest/:ingest_token/post.md)

---

[API](https://skmtc.dev/qomplement/apis/qomplement-api.md) - [All operations](https://skmtc.dev/qomplement/apis/qomplement-api/llms.txt) - [OpenAPI document](https://skmtc.dev/qomplement/apis/qomplement-api/revisions/6fe617c112ef?raw)
