---
title: "List read-only invoice payment collection gates"
method: GET
path: "/providers/current/invoice-payment-collection-gates"
tags: ["Billing"]
---

# List read-only invoice payment collection gates

`GET /providers/current/invoice-payment-collection-gates`

## Request

- Base URL: `https://platform-api.homejourney.sg/v1`
- URL: `https://platform-api.homejourney.sg/v1/providers/current/invoice-payment-collection-gates`
- Auth: HTTP bearer

Returns invoice payment collection gates for all platform launch verticals when the authenticated automation client has `platform.billing_owner_visibility.read`. External URL: `/v1/providers/current/invoice-payment-collection-gates`. Current Next.js implementation path: `/api/platform/v1/providers/current/invoice-payment-collection-gates`. This read-only route does not require `Idempotency-Key`; it exposes payment collection prerequisites, blocked payment-provider calls, hidden payment-method payload posture, missing refund/dispute/support/audit prerequisites, blocked delivery/payment/quota/credential side effects, and next operator actions only. It never reads usage event tables or partner-facing billing tables, returns raw usage payloads, raw payment payloads, payment method payloads, or processor payloads, sends invoices, records delivery receipts, collects payments, mutates refunds or disputes, enforces quota, suspends credentials, or calls external finance providers.

## Headers

- `X-Correlation-Id` string

## Response `200`

Read-only invoice payment collection gates.

- InvoicePaymentCollectionGatesResponse
  - `invoice_payment_collection_gates` InvoicePaymentCollectionGate[], required
    - `module_id` 'agent' | 'agency' | 'business' | 'mortgage' | 'legal' | 'developer' | 'renovation', required
    - `label` string, required
    - `workspace_root` string, required
    - `invoice_id` string, required
    - `billing_account_org_id` string, required
    - `billing_account_client_id` string, required
    - `billing_owner` string, required
    - `invoice_contact` string, email, required
    - `billing_period` string, required
    - `currency` string, required
    - `invoice_state` 'draft' | 'review_required' | 'approved' | 'issued' | 'paid' | 'partially_paid' | 'voided' | 'credited' | 'disputed' | 'uncollectible', required
    - `payment_terms` string, required
    - `collection_mode` 'manual_review_blocked', required
    - `payment_provider` 'deferred', required
    - `collection_decision` 'blocked_until_finance_reconciliation_and_payment_contract', required
    - `collection_review_state` 'manual_collection_review_required', required
    - `required_scope` 'platform.billing_owner_visibility.read', required
    - `satisfied_prerequisites` string[], required
    - `missing_prerequisites` string[], required
    - `invoice_delivery_reconciliation_ready` false, required
    - `recipient_acknowledgement_recorded` false, required
    - `payment_collection_ready` false, required
    - `payment_collection_allowed` false, required
    - `payment_provider_call_allowed` false, required
    - `payment_method_payload_visible` false, required
    - `refund_dispute_workflow_ready` false, required
    - `invoice_external_send_allowed` false, required
    - `invoice_delivery_side_effects_allowed` false, required
    - `finance_provider_call_allowed` false, required
    - `quota_enforcement_allowed` false, required
    - `credential_suspension_allowed` false, required
    - `billing_write_mutations_enabled` false, required
    - `proof_command` string, required
    - `evidence_path` string, required
    - `blocker` string, required
    - `next_action` string, required
  - `summary` InvoicePaymentCollectionGatesAggregate, 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
    - `invoice_payment_collection_contract` 'invoice_payment_collection_blocked_v1', required
    - `payment_collection_gates_declared` integer, required
    - `payment_collection_ready` integer, required
    - `payment_collection_blocked` integer, required
    - `payment_provider_calls_blocked` integer, required
    - `payment_method_payloads_visible` integer, required
    - `refund_dispute_workflows_ready` integer, required
    - `finance_provider_calls_blocked` integer, required
  - `authorization` InvoicePaymentCollectionGatesAuthorization, 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` 'invoice_payment_collection_gate_contract_only', required
    - `table_access` 'no_usage_event_or_partner_billing_table_reads', required
    - `mutation_access` 'billing_writes_deferred', required
  - `public_safety` InvoicePaymentCollectionGatesPublicSafety, required
    - `usage_event_table_reads_allowed` false, required
    - `partner_billing_table_reads_allowed` false, required
    - `raw_usage_event_payload_visible` false, required
    - `raw_payment_payload_visible` false, required
    - `payment_method_payload_visible` false, required
    - `payment_provider_call_allowed` false, required
    - `payment_collection_allowed` false, required
    - `refund_dispute_mutations_enabled` false, required
    - `invoice_external_send_allowed` false, required
    - `invoice_delivery_side_effects_allowed` false, required
    - `finance_provider_call_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)
