Get Statement

GET /api/v1/statements/:id

Returns a single statement by ID.

Path Parameters

ParameterTypeDescription
idstringStatement ID

Query Parameters

ParameterTypeDefaultDescription
fieldsstringallComma-separated field names

Example Request

curl -X GET "https://statements.finopsbricks.com/api/v1/statements/stmt123xyz" \
  -H "api-key: fob_stm_xxxxxxxxxxxx" \
  -H "api-secret: xxxxxxxxxxxxxxxx"

Response

{
  "data": {
    "id": "stmt123xyz",
    "file_name": "statement_jan_2025.pdf",
    "mime_type": "application/pdf",
    "file_type": "pdf",
    "file_size": "245760",
    "parser_type": "hdfc_savings__pdf",
    "step": "complete",
    "error": null,
    "account_id": "acc123",
    "account_name": "Main Account",
    "account_currency": "INR",
    "is_archived": false,
    "created_at": "2025-01-05T10:30:00.000Z",
    "period_start": "2025-01-01",
    "period_end": "2025-01-31",
    "opening_balance": 5000050,
    "closing_balance": 4825075,
    "data_source": {
      "period_start": "extracted",
      "period_end": "extracted",
      "opening_balance": "computed",
      "closing_balance": "computed"
    },
    "review": {
      "is_done": true,
      "at": "2025-01-06T14:30:00.000Z",
      "type": "human",
      "by": "user123",
      "work_record_id": "wr456"
    },
    "org": "org123xyz",
    "checks": {
      "balance_verified": true,
      "date_sequence_valid": true
    },
    "parsed_data": {
      "transactions": [
        {
          "date": "2025-01-05",
          "particulars": "ATM Withdrawal",
          "inflow": 0,
          "outflow": 500000,
          "balance": 4500050,
          "fingerprint": "D-(2025-01-05)-IF-(0)-OF-(500000)-P-(ATMWithdrawal)"
        }
      ],
      "metadata": {
        "acc_no": "1234567890",
        "currency": "INR",
        "acc_owner": "John Doe",
        "date_from": "2025-01-01",
        "date_to": "2025-01-31",
        "opening_balance": 5000050,
        "closing_balance": 4825075
      }
    },
    "raw_data": {
      "table": [
        ["Date", "Description", "Debit", "Credit", "Balance"],
        ["05/01/2025", "ATM Withdrawal", "5000.00", "", "45000.50"]
      ]
    }
  }
}

Response Fields

See Statement Object for field descriptions.

Detail-Only Fields

The following fields are only returned when fetching a single statement (not in list responses):

FieldTypeDescription
orgstringOrganization ID
checksobjectValidation check results (balance verification, date sequence, etc.)
parsed_dataobjectExtracted transactions and metadata from the statement
raw_dataobjectRaw file content for reprocessing

parsed_data Structure

{
  "transactions": [
    {
      "date": "YYYY-MM-DD",
      "particulars": "Transaction description",
      "inflow": 0,
      "outflow": 500000,
      "balance": 4500050,
      "fingerprint": "D-(date)-IF-(inflow)-OF-(outflow)-P-(particulars)"
    }
  ],
  "metadata": {
    "acc_no": "Account number",
    "currency": "INR",
    "acc_owner": "Account holder name",
    "date_from": "Period start",
    "date_to": "Period end",
    "opening_balance": 5000050,
    "closing_balance": 4825075
  }
}

raw_data Structure

Varies by file type:

  • CSV/XLSX: { "table": [[...rows]] } - 2D array of cell values
  • PDF: { "pdf2json": [...], "pdf_parse_text": "...", "pdf_parse_table": [...] } - Multiple extraction formats

Checking Processing Status

Use the step and error fields to check processing status:

  • step: "complete" - Successfully processed
  • step: "uploaded" + no error - Still processing
  • step: "identify_statement" + error - Parser detection failed
  • Any step + error - Processing failed at that step

Errors

CodeDescription
401Invalid or missing API credentials
403API key lacks statements:read permission
404Statement not found