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

# Statement Processes

> Retrieve the processing status of an uploaded statement.

After uploading a statement, use this endpoint to check the status of staging and processing.

***

## Get Statement Processes

Returns the staging and processing status for a specific statement.

### Request

```
GET /v1/statements/{statement_id}/processes
```

### Path Parameters

| Parameter      | Type    | Required | Description                 |
| -------------- | ------- | -------- | --------------------------- |
| `statement_id` | integer | Yes      | The staging or statement ID |

### Query Parameters

| Parameter   | Type | Required | Default | Description                          |
| ----------- | ---- | -------- | ------- | ------------------------------------ |
| `projectId` | UUID | Yes      | —       | The project the statement belongs to |

### Headers

| Header          | Required | Description                                                |
| --------------- | -------- | ---------------------------------------------------------- |
| `Authorization` | Yes      | `Bearer <token>` — must be scoped to the requested project |

### Response

| Field                          | Type    | Description                                                     |
| ------------------------------ | ------- | --------------------------------------------------------------- |
| `staging_id`                   | integer | The staging record identifier                                   |
| `statement_id`                 | integer | The statement ID (available after staging completes)            |
| `staging_done`                 | boolean | Whether staging (pre-processing) has completed                  |
| `processing_done`              | boolean | Whether statement processing has completed                      |
| `staging_processes`            | object  | Staging stage and info                                          |
| `staging_processes.stage`      | string  | Current staging stage (`queued`, `completed`, `failed`)         |
| `staging_processes.info`       | object  | Staging details                                                 |
| `processing_processes`         | object  | Processing status (null until staging completes)                |
| `processing_processes.status`  | string  | Current processing status (`processing`, `completed`, `failed`) |
| `processing_processes.stage`   | integer | Current processing stage number                                 |
| `processing_processes.remarks` | object  | Processing remarks and details                                  |

```json theme={null}
{
  "data": {
    "staging_id": 456,
    "statement_id": 1234,
    "staging_done": true,
    "processing_done": false,
    "staging_processes": {
      "stage": "completed",
      "info": {}
    },
    "processing_processes": {
      "status": "processing",
      "stage": 2,
      "remarks": {}
    }
  }
}
```

<Note>
  You can pass either the staging ID (returned from upload) or the statement ID. The endpoint resolves both. `statement_id` and `processing_processes` are `null` until staging completes successfully.
</Note>

### Errors

| Status | Description                                  |
| ------ | -------------------------------------------- |
| `400`  | Missing or invalid `projectId`               |
| `403`  | Token is not scoped to the requested project |
| `404`  | Statement not found                          |
| `429`  | Rate limit exceeded                          |

### Example

```bash theme={null}
curl "https://api.royaltyport.com/v1/statements/456/processes?projectId=a1b2c3d4-..." \
  -H "Authorization: Bearer rp_your_token_here"
```
