---
title: "Upload Document"
method: POST
path: "/api/v1/admin/bedrock/documents/upload"
tags: ["Bedrock Documents"]
---

# Upload Document

`POST /api/v1/admin/bedrock/documents/upload`

## Request

- Base URL: `https://app.perlucem.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://app.perlucem.ai/api/v1/admin/bedrock/documents/upload`
- Auth: HTTP bearer

Upload a document to Bedrock KB.

Two modes:
1. Bank-specific (is_global=False): Requires rssd_id and bank_name
   - For pillar documents: set document_type="pillar_analysis" and pillar=revenue|cost|risk|capital|operations
   - For other reports: set document_type to board_report, quarterly_review, or custom

2. Global (is_global=True): No rssd_id/bank_name needed
   - Available to all banks when semantically relevant
   - Example: Housing market analysis, interest rate reports

Optional: Link to persona_id for an Expert AI Analyst whose expertise
will be used when discussing this document.

## Response `200`

Successful Response

- UploadDocumentResponse: Response after uploading a document
  - `document_id` string, required
  - `status` string, required
  - `message` string, required
  - `sync_job_id` string, nullable

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/perlucem/apis/perlucem-ai-backend.md) · [All operations](https://skmtc.dev/perlucem/apis/perlucem-ai-backend/llms.txt) · [OpenAPI document](https://skmtc.dev/perlucem/apis/perlucem-ai-backend/revisions/96c4a286c624?raw)
