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

# Read a node-signed payout report.

Operator payout report for one node. The query is signed by the node Ed25519 identity with message `b3iq-node-payout-report-v1:<node_id>:<window_days>:<limit>:<signed_at>:<nonce>`. The response omits customer IDs and credentials. 

` GET /v1/nodes/{node_id}/payouts `

Read a node-signed payout report.

Operator payout report for one node. The query is signed by the node
Ed25519 identity with message
`b3iq-node-payout-report-v1:<node_id>:<window_days>:<limit>:<signed_at>:<nonce>`.
The response omits customer IDs and credentials.


## Servers

- ` https://{controlPlaneHost} `

  - ` controlPlaneHost `: default ` control.example.test ` — B3IQ control-plane host for operational/admin paths.

## Parameters

### ` node_id ` (path, required)

- ` value `: type ` string `

  - minLength: ` 1 `

  - maxLength: ` 128 `

### ` window_days ` (query, optional)

- ` value `: type ` integer `

  - default: ` 30 `

  - minimum: ` 1 `

  - maximum: ` 3650 `

### ` limit ` (query, optional)

- ` value `: type ` integer `

  - default: ` 50 `

  - minimum: ` 1 `

  - maximum: ` 500 `

### ` signed_at ` (query, required)

- ` value `: type ` string `; format ` date-time `

### ` nonce ` (query, required)

- ` value `: type ` string `

  - minLength: ` 12 `

  - maxLength: ` 128 `

### ` signature_ed25519 ` (query, required)

- ` value `: type ` string `

## Responses

### ` 200 ` — Node payout report.

Content type: ` application/json `

- ` value `: type ` object `

  - ` status `: type ` string `

    - enum: ` ["ok"] `

  - ` node_id `: type ` string `

  - ` generated_at `: type ` string `; format ` date-time `

  - ` summary `: type ` object `

    - ` total_payout_wei `: type ` string `

    - ` settlement_statuses `: type ` array `

      - ` array item `: type ` object `

        - ` settlement_status `: type ` string `

        - ` payout_count `: type ` integer `

        - ` total_payout_wei `: type ` string `

        - ` total_amount_wei `: type ` string `

  - ` payouts `: type ` array `

    - ` array item `: type ` object `

      - ` entry_id `: type ` string `

      - ` private_job_id `: type ` string `

      - ` receipt_hash `: type ` string `

      - ` amount_wei `: type ` string `

      - ` status `: type ` string `

      - ` settlement_status `: type ` string `

      - ` payout_batch_id `: type ` string `

      - ` settled_at `: type ` string `; format ` date-time `

      - ` created_at `: type ` string `; format ` date-time `

      - ` updated_at `: type ` string `; format ` date-time `

### ` default ` — B3IQ-native problem response.

Content type: ` application/json `

- ` value `: type ` object `

  - Required fields: ` error `

  - ` error `: type ` object `

    - Required fields: ` status `, ` title `, ` detail `

    - ` status `: type ` integer `

    - ` title `: type ` string `

    - ` detail `: type ` string `

    - ` code `: type ` string ` — Stable B3IQ code when present. See docs/error-codes.md.

## Request examples

### cURL

```curl
curl -X GET 'https://control.example.test/v1/nodes/string/payouts?signed_at=2024-01-01T00%3A00%3A00Z&nonce=string&signature_ed25519=string'
```

### JavaScript

```javascript
const response = await fetch('https://control.example.test/v1/nodes/string/payouts?signed_at=2024-01-01T00%3A00%3A00Z&nonce=string&signature_ed25519=string', {
  method: 'GET'
});

const data = await response.json();
console.log(data);
```