---
title: "POST /v1/platform/businesses/{business_id}/financial-documents/"
method: POST
path: "/v1/platform/businesses/{business_id}/financial-documents/"
tags: ["v1"]
---

# POST /v1/platform/businesses/{business_id}/financial-documents/

`POST /v1/platform/businesses/{business_id}/financial-documents/`

## Request

- Base URL: `https://docs.thredfi.com` (the document declares no server; this is the origin it was published from)
- URL: `https://docs.thredfi.com/v1/platform/businesses/{business_id}/financial-documents/`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer
  - HTTP basic
  - HTTP bearer
  - HTTP bearer

Block document creation via API.

POST /financial-documents/ is not allowed.
Documents are created via the document upload workflow, not directly via API.

## Path parameters

- `business_id` string, required

## Response `201`

- FinancialDocument: Main serializer for FinancialDocument list/retrieve responses. Provides a unified view of all document types (AR, AP, GENERIC).
  - `type` string, required: Always 'FinancialDocumentData' for type discrimination
  - `id` string, uuid, required
  - `business_id` string, uuid, required
  - `external_id` string, nullable, required
  - `workflow_type` string, required: Workflow type: AR, AP, or GENERIC
  - `document_type` string, required: Document type: sales_invoice, bill, credit_note, etc.
  - `status` string, required: Document status
  - `counterparty` Counterparty, required: Serializer for counterparty (customer or vendor) in responses.
    - `id` string, uuid, required
    - `type` string, required: 'customer' or 'vendor'
    - `display_name` string, required
    - `external_id` string, nullable, required
  - `reference_number` string, nullable, required
  - `reference_date` string, date, nullable, required
  - `due_date` string, date, nullable, required
  - `payment_terms` string, nullable, required
  - `currency` string, nullable, required
  - `subtotal` integer, required: Subtotal in cents
  - `tax_amount` integer, required: Tax amount in cents
  - `total_amount` integer, required: Total amount in cents
  - `amount_paid` integer, required: Amount paid in cents
  - `amount_due` integer, required: Amount due in cents
  - `is_overdue` boolean, required
  - `is_fully_paid` boolean, required
  - `needs_review` boolean, required
  - `review_reasons` unknown, required
  - `reviewed_at` string, date-time, nullable, required
  - `extraction_confidence` number, double, nullable, required
  - `classification_confidence` number, double, nullable, required
  - `line_items` FinancialDocumentLineItem[], required
    - `id` string, uuid, required
    - `financial_document_id` string, uuid, required
    - `line_number` integer, required: Order of this line item on the document
    - `description` string, required: Description of the line item
    - `sku` string, nullable, required: SKU or product code
    - `quantity` number, float, required
    - `unit_price` integer, required: Unit price in cents
    - `amount` integer, required: Line amount in cents
    - `tax_rate` number, float, required: Tax rate as percentage (e.g., 21.0 for 21%)
    - `tax_amount` integer, required: Tax amount in cents
    - `account_id` string, uuid, nullable, required
    - `account_code` string, nullable, required
    - `tracking_categories` unknown, required
    - `metadata` unknown, required
  - `summary` unknown, required
  - `source_document_id` string, uuid, nullable, required
  - `document` DocumentFileUrl, required: Serializer for document file URL with metadata.
    - `url` string, uri, required: Presigned URL for document download
    - `expires_in` integer, required: Seconds until URL expires
    - `document_id` string, uuid, required: Document UUID
    - `file_name` string, required: Original document filename
    - `file_size` integer, required: File size in bytes
    - `mime_type` string, required: MIME type of the document
  - `journal_entry_id` string, uuid, nullable, required
  - `posted_at` string, date-time, nullable, required
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required

---

[API](https://skmtc.dev/thredfi/apis/thredfi-accounting-platform-api.md) - [All operations](https://skmtc.dev/thredfi/apis/thredfi-accounting-platform-api/llms.txt) - [OpenAPI document](https://skmtc.dev/thredfi/apis/thredfi-accounting-platform-api/revisions/0c1918254db3?raw)
