---
title: "List read-only billing-owner visibility gates"
method: GET
path: "/providers/current/billing-owner-visibility-gates"
tags: ["Billing owner visibility"]
---

# List read-only billing-owner visibility gates

`GET /providers/current/billing-owner-visibility-gates`

## Request

- Base URL: `https://platform-api.homejourney.sg/v1`
- URL: `https://platform-api.homejourney.sg/v1/providers/current/billing-owner-visibility-gates`
- Auth: HTTP bearer

Returns billing-owner visibility gates for all platform launch verticals when the authenticated automation client has `platform.billing_owner_visibility.read`. External URL: `/v1/providers/current/billing-owner-visibility-gates`. Current Next.js implementation path: `/api/platform/v1/providers/current/billing-owner-visibility-gates`. This read-only route does not require `Idempotency-Key`; it exposes contract readiness, owner review, usage-summary test IDs, and side-effect blocking only. It never reads partner-facing billing tables, returns raw payment payloads, sends invoices, collects payments, enforces quota, suspends credentials, or calls external finance providers.

## Headers

- `X-Correlation-Id` string

## Response `200`

Read-only billing-owner visibility gates.

- BillingOwnerVisibilityGatesResponse
  - `gates` BillingOwnerVisibilityGate[], required
    - `module_id` 'agent' | 'agency' | 'business' | 'mortgage' | 'legal' | 'developer' | 'renovation', required
    - `label` string, required
    - `workspace_root` string, required
    - `billing_owner` string, required
    - `invoice_contact` string, email, required
    - `billing_account_org_id` string, required
    - `billing_account_client_id` string, required
    - `required_scope` 'platform.billing_owner_visibility.read', required
    - `runtime_boundary` 'read_only_readiness_contract_no_partner_table_reads', required
    - `decision` 'visible_for_billing_owner_review', required
    - `visibility` 'billing_owner_and_internal_finance_only', required
    - `satisfied_prerequisites` BillingOwnerVisibilityPrerequisite[], required
    - `missing_prerequisites` BillingOwnerVisibilityPrerequisite[], required
    - `partner_facing_billing_table_reads_allowed` false, required
    - `raw_payment_payload_visible` false, required
    - `invoice_external_send_allowed` false, required
    - `payment_collection_allowed` false, required
    - `quota_enforcement_allowed` false, required
    - `credential_suspension_allowed` false, required
    - `usage_summary_test_id` string, required
    - `launch_ready` boolean, required
    - `blocker` string, nullable, required
    - `next_action` string, required
  - `summary` BillingOwnerVisibilitySummary, required
    - `total_verticals` integer, required
    - `plan_state_visible` integer, required
    - `billing_owner_visible` integer, required
    - `invoice_contact_visible` integer, required
    - `billing_owner_visibility_gates` integer, required
    - `partner_billing_table_reads_deferred` integer, required
    - `usage_events_present` integer, required
    - `customer_visible_usage_summaries` integer, required
    - `automatic_overage_enforcement_blocked` integer, required
    - `billing_owner_gate_side_effects_blocked` integer, required
    - `launch_ready_contracts` integer, required
    - `source_contract` 'vertical_billing_usage_contract', required
    - `partner_billing_read_model` 'deferred_until_rls_partner_read_paths', required
  - `authorization` BillingOwnerVisibilityAuthorization, required
    - `organization_id` string, uuid, required
    - `client_id` string, uuid, required
    - `api_key_id` string, uuid, required
    - `required_scope` 'platform.billing_owner_visibility.read', required
    - `granted_billing_scopes` PlatformScope[], required
    - `actor_model` 'api_key_automation_client', required
    - `data_access` 'billing_owner_visibility_contract_only', required
    - `table_access` 'no_partner_billing_table_reads', required
    - `mutation_access` 'billing_writes_deferred', required
  - `public_safety` BillingOwnerVisibilityPublicSafety, required
    - `partner_billing_table_reads_allowed` false, required
    - `raw_payment_payload_visible` false, required
    - `invoice_external_send_allowed` false, required
    - `payment_collection_allowed` false, required
    - `quota_enforcement_allowed` false, required
    - `credential_suspension_allowed` false, required
    - `external_finance_calls` false, required
    - `billing_write_mutations_enabled` false, required
  - `principal` Principal, required (unresolved $ref)
  - `livemode` boolean, 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)
