---
title: "Extract Invoice Endpoint"
method: POST
path: "/api/v1/extract_invoice"
---

# Extract Invoice Endpoint

`POST /api/v1/extract_invoice`

## Request body

- ExtractInvoiceRequest
  - `s3_bucket` string, required
  - `s3_key` string, required
  - `plan_manager_id` string, required
  - `plan_manager_abn` string, nullable

## Response `200`

Successful Response

- ExtractInvoiceResponse
  - `document_type` string, required
  - `invoice_data` HeaderData, required
    - `AMOUNT_DUE` number, nullable
    - `INVOICE_DUE_DATE` string, nullable
    - `INVOICE_RECEIPT_DATE` string, nullable
    - `INVOICE_RECEIPT_ID` string, nullable
    - `SUBTOTAL` number, nullable
    - `TAX` number, nullable
    - `TOTAL` number, nullable
    - `VENDOR_ABN_NUMBER` string, nullable
    - `VENDOR_NAME` string, nullable
    - `total_valid` boolean, nullable
    - `BSB` string, nullable
    - `ACCOUNT_NUMBER` string, nullable
    - `abn_checksum_failed` boolean, nullable
  - `extracted_data` AppSchemasDocumentsLineItem[], required
    - `id` integer, nullable
    - `cancellation` boolean, nullable
    - `claim_type` string, required
    - `description` string, required
    - `early_childhood` boolean, nullable
    - `line_total` number, required
    - `quantity` number, required
    - `service_date_from` string, nullable
    - `service_date_to` string, nullable
    - `service_item_number` string, nullable
    - `service_item_number_inferred` boolean, nullable
    - `service_type` string, nullable
    - `time_from` integer, nullable
    - `time_to` integer, nullable
    - `unit_price` number, nullable
    - `line_tax` number, nullable
    - `method` string, nullable
    - `line_total_valid` boolean, nullable
    - `gst_code` string, nullable
    - `fallback_data` object[], nullable
    - `has_business_violations` boolean, nullable
    - `business_violation_messages` string[], nullable
    - `business_violation_types` string[], nullable
    - `page_number` integer, nullable
    - `coordinates` object, nullable
    - `location_source` string, nullable
  - `run_id` string, required
  - `all_lines_extracted` boolean, nullable
  - `data_used` string, nullable
  - `total_used` string, nullable
  - `NDIS_Participant_Number` union
    - string
    - integer
  - `participant_id` string, nullable
  - `participant_source` string, nullable
  - `participant_active` boolean, nullable
  - `approval_status` string, nullable
  - `multiple_participants` boolean, nullable
  - `participant_names` object[], nullable
  - `participant_age` integer, nullable
  - `line_location` object, nullable

## Other responses

- `422` — Validation Error

## Changes

- **2026-09-17** `9d2892eca00b` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/caresquare/apis/fastapi/changes/api/v1/extract_invoice/post.md)

---

[API](https://skmtc.dev/caresquare/apis/fastapi.md) · [All operations](https://skmtc.dev/caresquare/apis/fastapi/llms.txt) · [OpenAPI document](https://skmtc.dev/caresquare/apis/fastapi/revisions/e4798856d733?raw)
