---
title: "Add a document to the vault"
method: POST
path: "/api/v1/vault/documents"
tags: ["Vault"]
---

# Add a document to the vault

`POST /api/v1/vault/documents`

## Request

- Base URL: `https://www.ifillpdf.com`
- URL: `https://www.ifillpdf.com/api/v1/vault/documents`
- Auth: HTTP bearer

Uploads a personal ID or financial document (payslip, RIB, KBIS, passport) to the per-user vault. The declared mime_type is re-checked against the file magic bytes. iFillPDF can later reuse it to pre-fill forms.

## Request body

- VaultUploadRequest
  - `file_base64` string, required: Base64-encoded file bytes.
  - `file_name` string, required
  - `mime_type` 'application/pdf' | 'image/jpeg' | 'image/png' | 'image/webp' | 'image/heic', required: Re-checked against the file magic bytes.
  - `label` string

## Response `200`

Vault document stored.

- object
  - `document` VaultDocument, required
    - `id` string, uuid
    - `file_name` string
    - `mime_type` string
    - `label` string, nullable
    - `url` string, uri, nullable: Signed, time-limited URL.
    - `created_at` string, date-time

## Other responses

- `400`: Invalid request.
- `401`: Missing or invalid API key.
- `413`: PDF exceeds the accepted size.
- `429`: Rate limit exceeded.

---

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