---
title: "Import Document"
method: POST
path: "/v1/documents"
---

# Import Document

`POST /v1/documents`

Import a document.

Requires the **Import** permission (`ingest` scope). Provide exactly one of
`url` or base64-encoded `content`. A `201 Created` response confirms acceptance
for asynchronous conversion and indexing; search and AI features may not
include the document immediately.

## Request body

- DocumentRequest
  - `version` integer
  - `id` string, required
  - `sourceId` string, uuid, required
  - `createdAt` union
    - string
    - integer
    - number
  - `updatedAt` union
    - string
    - integer
    - number
  - `public` boolean
  - `ownerEmails` string[]
  - `displayName` string, nullable
  - `url` string, nullable
  - `content` string, nullable
  - `filename` string, nullable
  - `contentType` string
  - `author` Person
    - `version` integer
    - `id` string, nullable
    - `name` string, nullable
    - `email` string, nullable

## Response `201`

Successful Response

- RecordResponse
  - `status` 'created' | 'updated', required
  - `recordId` string, required
  - `id` string, required
  - `sourceId` string, required

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/sybill/apis/sybill-api.md) · [All operations](https://skmtc.net/sybill/apis/sybill-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/sybill/sybill-api/revisions/f499ec011b17/schema)
