> ## Documentation Index
> Fetch the complete documentation index at: https://developer.moneyone.in/llms.txt
> Use this file to discover all available pages before exploring further.

# Overview

> PDF statement-upload orchestration flow with a unified transactionId.

The PDF orchestration flow lets you collect a user's financial data through
**bank statement uploads** using a single, unified `transactionId`. The user uploads
their PDF bank statements, which are processed through OCR and document analysis to
extract structured financial data and analytics.

<Info>
  This section covers the pure PDF statement-upload flow. Every data item is sourced
  from PDF (`dataSource` and `type` are always `PDF`). No Account Aggregator (AA)
  consent is involved.
</Info>

## Integration Flow

A complete PDF integration is a four-step journey, all tied together by the single
`transaction_id` you receive in step 1. You initiate the transaction, hand the user off
to the hosted upload screen, track the journey to a terminal state, and then pull the data.

<Steps>
  <Step title="Initiate Transaction">
    Call `POST /v3/requestconsent` to start the journey. You receive a
    `webRedirectionUrl` (the hosted upload screen) and a `transaction_id` to store and
    reuse for every subsequent call. See [Initiate Transaction](./initiate-transaction).
  </Step>

  <Step title="Redirect the User">
    Send the user to the `webRedirectionUrl` to upload their bank statement PDFs.
    When the journey ends, the user is returned to your `redirectUrl` with the
    outcome. See [User Redirection](./user-redirection).
  </Step>

  <Step title="Track Status">
    Wait for completion using a terminal webhook push (recommended), by polling, or by
    listening for in-iframe UI events — all covered on the single
    [Track Status](./track-status) page — until the transaction reaches a terminal
    state (`SUCCESSFUL` / `UNSUCCESSFUL`).
  </Step>

  <Step title="Fetch Data">
    Once the journey is successful, retrieve the raw FI data or the computed analytics
    (JSON, XML, or Excel) — both on the [Fetch Data](./fetch-data) page — using the same
    `transaction_id`.
  </Step>
</Steps>

## Pages in this section

| Page                                           | Description                                                               |
| ---------------------------------------------- | ------------------------------------------------------------------------- |
| [Initiate Transaction](./initiate-transaction) | Start a journey and obtain the `webRedirectionUrl` and `transaction_id`.  |
| [User Redirection](./user-redirection)         | Redirect the user to upload statements and handle the return to your app. |
| [Track Status](./track-status)                 | Track the journey via webhook, status polling, or in-iframe UI events.    |
| [Fetch Data](./fetch-data)                     | Retrieve the raw FI data or computed analytics (JSON, XML, or Excel).     |

## Base URL & Headers

Base URL (UAT / Production): Contact `support@moneyone.in`.

All API requests use these headers:

| Header           | Description          |
| ---------------- | -------------------- |
| `Content-Type`   | `application/json`   |
| `client_id`      | Your client ID       |
| `client_secret`  | Your client secret   |
| `organisationId` | Your organisation ID |
| `appIdentifier`  | Your app identifier  |

<Note>
  The analytics and data endpoints also accept an optional `x-request-id` header
  for request tracing.
</Note>

## Quick Reference

### Endpoints

| Action                  | Method | Endpoint              |
| ----------------------- | ------ | --------------------- |
| Initiate Transaction    | POST   | `/v3/requestconsent`  |
| Check Status            | POST   | `/transaction/status` |
| Fetch Raw FI Data       | POST   | `/getallfidata`       |
| Fetch Analytics (JSON)  | POST   | `/analytics/json`     |
| Fetch Analytics (XML)   | POST   | `/analytics/xml`      |
| Fetch Analytics (Excel) | POST   | `/analytics/excel`    |

### Required Headers

| Header           | Required |
| ---------------- | -------- |
| `Content-Type`   | Yes      |
| `client_id`      | Yes      |
| `client_secret`  | Yes      |
| `organisationId` | Yes      |
| `appIdentifier`  | Yes      |

<Card title="Need Help?" icon="headset" href="mailto:support@moneyone.in">
  Contact [support@moneyone.in](mailto:support@moneyone.in) for technical assistance or integration queries.
</Card>
