> ## 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.

# Track Status

> Poll the journey status until the upload and analytics reach a terminal state.

Poll `POST /transaction/status` with the `transactionId` until the overall `status`
reaches a terminal value (`SUCCESSFUL` or `UNSUCCESSFUL`), then proceed to fetch data.

<Note>
  Recommended poll interval: **3–5 seconds**.
</Note>

## Endpoint

```
POST /transaction/status
```

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

## 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 |

## Request body

```json theme={null}
{
  "transactionId": "<transactionId>"
}
```

<ParamField body="transactionId" type="string" required>
  The `transaction_id` received from `/orchestration/init`.
</ParamField>

## Sample request

```bash theme={null}
curl --request POST \
  --url 'https://<base_url>/transaction/status' \
  --header 'Content-Type: application/json' \
  --header 'client_id: <your_client_id>' \
  --header 'client_secret: <your_client_secret>' \
  --header 'organisationId: <your_organisation_id>' \
  --header 'appIdentifier: <your_app_identifier>' \
  --data '{
    "transactionId": "<transactionId>"
  }'
```

## Response

```json theme={null}
{
  "status": "SUCCESSFUL",
  "transaction_id": "<transactionId>",
  "data": [
    {
      "type": "pdf",
      "status": "SUCCESSFUL",
      "data": {
        "expected_fips": ["hdfc", "icici"],
        "total_expected": 2,
        "uploaded": 2,
        "processed": 2,
        "fetched": 2,
        "accounts": [
          {
            "maskedAccountNumber": "10021535948",
            "bankName": "hdfc",
            "accountType": "saving",
            "startDate": "02-09-2025",
            "endDate": "28-02-2026"
          }
        ]
      }
    },
    { "type": "analytics", "status": "SUCCESSFUL" }
  ]
}
```

## Overall statuses

| Status | Meaning |
| - | - |
| `SUCCESSFUL` | Journey completed — proceed to [Fetch Data](./fetch-data). |
| `UNSUCCESSFUL` | Journey failed or no data was extracted. |
| `IN_PROGRESS` | Still processing — continue polling. |
| `PENDING` | Not yet started. |

## `pdf` step data fields

| Field | Description |
| - | - |
| `expected_fips` | Banks detected from the uploaded statements. |
| `total_expected` | Number of expected statement uploads. |
| `uploaded` | Number of statements submitted. |
| `processed` | Number processed through OCR. |
| `fetched` | Number with data successfully extracted. |
| `accounts` | Extracted account details (masked number, bank, type, date range). |

## Error Codes

| HTTP Status | Condition |
| - | - |
| `400 Bad Request` | `transactionId` is missing or invalid. |
| `401 Unauthorized` | Credentials are missing or invalid. |
| `500 Internal Server Error` | An unexpected server-side error occurred. |

## Next step

Once `status` is `SUCCESSFUL`, retrieve the data on [Fetch Data](./fetch-data).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.