---
title: "Create document"
method: POST
path: "/documents"
tags: ["Documents"]
---

# Create document

`POST /documents`

## Request

- Base URL: `https://api.metorial.com`
- URL: `https://api.metorial.com/documents`
- Auth: HTTP bearer

Creates a new document for the instance.

## Headers

- `Metorial-Version` string

## Request body

- BodyRequest6
  - `title` string, required
  - `content` string, required

## Response `200`

Successful response

- Document
  - `object` 'document', required: String representing the object's type
  - `id` string, required
  - `status` 'active' | 'deleted', required
  - `title` string, required
  - `content` string, required
  - `file_id` string, required
  - `parent_document_id` string, nullable, required
  - `current_version_id` string, nullable, required
  - `created_by` object, nullable, required
    - `type` 'organization_actor' | 'consumer' | 'resource_actor', required
    - `name` string, required
    - `image_url` string, nullable, required
    - `email` string, nullable, required
    - `organization_actor` object, nullable, required
      - `object` 'organization.actor', required: String representing the object's type
      - `id` string, required: The organization member's unique identifier
      - `type` 'member' | 'machine_access', required: The organization member's type
      - `organization_id` string, required: The organization member's organization ID
      - `name` string, required: The organization member's name
      - `email` string, nullable, required: The organization member's email
      - `image_url` string, required: The organization member's image URL
      - `member` object, nullable, required
        - `object` 'organization.member#preview', required: String representing the organization's member preview type
        - `id` string, required: The organization member's unique identifier
        - `status` 'active' | 'deleted', required: The organization member's status
        - `role` 'member' | 'admin', required: The organization member's role
      - `teams` Team[], required
        - `id` string, required: The team ID
        - `name` string, required: The team name
        - `slug` string, required: The team slug
        - `assignment_id` string, required: The team assignment ID
        - `created_at` string, date-time, required: The team assignment creation date
        - `updated_at` string, date-time, required: The team assignment last update date
      - `created_at` string, date-time, required: The organization member's creation date
      - `updated_at` string, date-time, required: The organization member's last update date
    - `consumer` object, nullable, required
      - `object` 'consumer', required
      - `id` string, required
      - `name` string, required
      - `email` string, required
      - `image_url` string, required
      - `user_id` string, nullable, required
      - `created_at` string, date-time, required
      - `updated_at` string, date-time, required
    - `consumer_profile` object, nullable, required
      - `object` 'consumer.profile', required
      - `id` string, required
      - `name` string, required
      - `email` string, required
      - `image_url` string, required
      - `consumer_id` string, required
      - `user_id` string, nullable, required
      - `status` 'active' | 'invited', required
      - `created_at` string, date-time, required
      - `updated_at` string, date-time, required
      - `groups` Group[], nullable, required
        - `object` 'consumer.profile.group_assignment', required
        - `group` ConsumerGroup, required
          - `object` 'consumer.group', required
          - `id` string, required
          - `status` 'active' | 'archived' | 'deleted', required
          - `name` string, required
          - `description` string, nullable, required
          - `is_default` boolean, required
          - `created_at` string, date-time, required
          - `updated_at` string, date-time, required
        - `assigned_via` 'default' | 'manual' | 'sso' | 'user', required
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required

## Other responses

- `400`: Invalid parameters or action
- `401`: Missing or invalid API key
- `403`: The key lacks permission for this resource
- `404`: No such resource
- `422`: Validation failed
- `429`: Rate limit exceeded
- `500`: Unexpected server error

---

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