---
title: "Inspect one sandbox service-provider payout statement"
method: GET
path: "/service-provider-payouts/{id}"
tags: ["Service provider payments"]
---

# Inspect one sandbox service-provider payout statement

`GET /service-provider-payouts/{id}`

## Request

- Base URL: `https://platform-api.homejourney.sg/v1`
- URL: `https://platform-api.homejourney.sg/v1/service-provider-payouts/{id}`
- Auth: HTTP bearer

Returns one sandbox-only, redacted payout statement with public-safe line items when the authenticated automation client has `services.payouts.read`. External URL: `/v1/service-provider-payouts/{id}`. Current Next.js implementation path: `/api/platform/v1/service-provider-payouts/[id]`. This read-only route does not require `Idempotency-Key`; SDK, CLI, and MCP payout detail inspection may call this sandbox route, while live payout execution, payout approval, retry, settlement reconciliation, raw Stripe data, bank-account data, and service-role identifiers remain deferred.

## Path parameters

- `id` string, required

## Headers

- `X-Correlation-Id` string

## Response `200`

One sandbox service-provider payout statement.

- ServiceProviderPayoutDetailResponse
  - `payout` ServiceProviderPayout, required: Sandbox payout statement summary backed by services_payouts and linked ledger rows. Raw processor payloads, bank-account data, and service-role identifiers are not returned.
    - `id` string, required
    - `provider_id` string, required
    - `provider_name` string, required
    - `period` object, required
      - `start_date` string, date, required
      - `end_date` string, date, required
      - `timezone` 'Asia/Singapore', required
    - `currency` 'SGD', required
    - `status` 'paid' | 'ready_for_payout' | 'failed', required
    - `gross_booking_amount_cents` integer, required
    - `platform_fee_cents` integer, required
    - `net_payout_cents` integer, required
    - `adjustment_cents` integer, required
    - `refund_reversal_cents` integer, required
    - `payout_line_item_count` integer, required
    - `paid_at` string, date-time, nullable, required
    - `settlement_eta` string, date, nullable, required
    - `failure_reason` string, nullable, required
    - `next_action` 'awaiting_admin_approval' | 'operator_review_required' | 'null', nullable, required
    - `accounting_reference` string, required
  - `line_items` object[], required
    - `id` string, required
    - `payout_id` string, required
    - `source_type` 'booking_payable' | 'refund_reversal' | 'chargeback_reversal' | 'manual_adjustment', required
    - `source_booking_reference` string, nullable, required
    - `description` string, required
    - `gross_booking_amount_cents` integer, required
    - `platform_fee_cents` integer, required
    - `net_amount_cents` integer, required
    - `adjustment_cents` integer, required
    - `refund_reversal_cents` integer, required
    - `ledger_account_code` 'PROVIDER_ACCRUAL' | 'PROVIDER_OFFSET', required
    - `accounting_reference` string, required
  - `ledger_sources` LedgerSources, required (unresolved $ref)
  - `public_safety` PublicSafety, required (unresolved $ref)
  - `authorization` Authorization, required (unresolved $ref)
  - `principal` Principal, required (unresolved $ref)
  - `livemode` false, required
  - `request_id` string, required

## Other responses

- `400`: Request validation failed.
- `401`: Missing or invalid platform API key.
- `403`: Credential, environment, or scope is not allowed.
- `404`: Platform API feature or resource is not available.
- `429`: Rate limit exceeded.
- `500`: Unexpected platform API failure.

---

[API](https://skmtc.dev/homejourney/apis/homejourney-platform-api.md) · [All operations](https://skmtc.dev/homejourney/apis/homejourney-platform-api/llms.txt) · [OpenAPI document](https://skmtc.dev/homejourney/apis/homejourney-platform-api/revisions/a2c6fe063db1?raw)
