---
title: "Sync"
method: POST
path: "/api/py/files/sync"
---

# Sync

`POST /api/py/files/sync`

## Request

- Base URL: `https://api.getauctor.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.getauctor.com/api/py/files/sync`
- Auth: none declared

Handle TipTap collaboration webhook events by persisting document content
changes to Supabase and updating source citation references.

Skips processing for non-DOCUMENT types, empty content, and content that
is identical to the current version (avoiding unnecessary writes). Emits
structured ``[files-sync]`` lifecycle logs with timing for observability.

## Request body

- TiptapWebhookRequest
  - `app_name` string, required
  - `name` string, required
  - `time` string, required
  - `tiptap_json` object
  - `ydoc_state` string, nullable
  - `clients_count` integer
  - `type` string, nullable
  - `trigger` string, nullable
  - `users` string[], nullable
  - `user` string, nullable
  - `thread` union
    - object
    - unknown[]
      - unknown
  - `comment` object, nullable

## Response `200`

Successful Response

- TiptapWebhookResponse
  - `success` boolean, required
  - `version_id` string, nullable

## Other responses

- `422`: Validation Error

## Changes

- **2026-09-01** `aeb6faa3b8f0`: 1 breaking, 1 info
  - the `name` request property's minLength was increased from `0` to `1`
  - request property `thread` list-of-types was widened by adding types `array` to media type `application/json`

[Operation history](https://skmtc.dev/getauctor/apis/getauctor-api/changes/api/py/files/sync/post.md)

---

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