---
title: "Inspect the current onboarding contract envelope"
method: GET
path: "/onboarding/contracts/envelopes/current"
tags: ["Onboarding"]
---

# Inspect the current onboarding contract envelope

`GET /onboarding/contracts/envelopes/current`

## Request

- Base URL: `https://platform-api.homejourney.sg/v1`
- URL: `https://platform-api.homejourney.sg/v1/onboarding/contracts/envelopes/current`
- Auth: HTTP bearer

Returns the redacted current contract-envelope state for the authenticated platform organization. External URL: `/v1/onboarding/contracts/envelopes/current`. Current Next.js implementation path: `/api/platform/v1/onboarding/contracts/envelopes/current`. This read-only route does not require `Idempotency-Key`; it exposes provider-neutral contract state, commercial gate readiness, and evidence-presence booleans without raw documents, signer private details, signing-provider payloads, or credential creation.

## Headers

- `X-Correlation-Id` string

## Response `200`

Current onboarding contract-envelope state.

- PlatformContractEnvelopeCurrentResponse
  - `product` object, required
    - `id` 'service_provider_sandbox', required
    - `label` string, required
    - `target_actor` 'service_provider', required
    - `launch_stage` 'slice_1', required
    - `environment` 'sandbox' | 'live', required
    - `deployment_tier` 'local' | 'preview' | 'sandbox' | 'staging' | 'production', required
  - `organization` object, required
    - `id` string, uuid, required
    - `slug` string, required
    - `display_name` string, required
    - `type` string, required
  - `contract_envelope` object, required
    - `id` string, uuid, nullable, required
    - `state` 'not_started' | 'clickwrap_accepted' | 'authority_pending' | 'signature_pending' | 'provider_processing' | 'signed_pending_review' | 'countersign_pending' | 'active' | 'expired' | 'rejected' | 'terminated' | 'superseded', required
    - `contract_package` object, required
      - `id` string, required
      - `version` string, required
      - `display_name` string, required
      - `status` 'active' | 'draft' | 'deprecated' | 'retired' | 'unregistered', required
      - `target_actor` 'service_provider' | 'bank_partner' | 'conveyancing_firm' | 'agent_agency' | 'advertiser' | 'landlord_owner', required
      - `allowed_environments` string[], required
      - `sandbox_terms_rail` 'clickwrap' | 'sign_with_singpass' | 'digital_signing_partner' | 'manual_review', required
      - `allowed_signing_rails` string[], required
      - `required_authority_sources` string[], required
      - `allowed_commercial_package_ids` string[], required
      - `default_commercial_package_id` 'sandbox_developer' | 'pilot_partner_api' | 'production_partner_api' | 'business_directory_advertiser_self_serve' | 'business_directory_advertiser_managed' | 'enterprise_bank_api' | 'internal_first_party', required
      - `allowed_live_scopes` string[], required
      - `requires_business_authority` boolean, required
      - `countersignature_required` boolean, required
      - `signing_session_available` boolean, required
      - `blocks_live_credentials_without_commercial_approval` true, required
      - `ai_agent_summary` string, required
      - `blocked_claims` string[], required
      - `source_spec` 'docs/features/platform/PLATFORM_CONTRACT_SIGNING_AND_COMMERCIAL_TERMS_SPEC.md', required
    - `signing_rail` 'clickwrap' | 'sign_with_singpass' | 'digital_signing_partner' | 'manual_review', nullable, required
    - `signature_status` 'not_started' | 'draft' | 'sent' | 'signed' | 'countersigned' | 'declined' | 'expired' | 'manual_review', required
    - `authority` object, required
      - `required_for_live` true, required
      - `recorded` boolean, required
      - `accepted_sources` string[], required
      - `identity_rail_is_not_signature` true, required
    - `signature` object, required
      - `recorded` boolean, required
      - `provider_signature_received` boolean, required
      - `countersignature_required` boolean, required
      - `countersignature_recorded` boolean, required
      - `document_hash_recorded` boolean, required
      - `evidence_reference_recorded` boolean, required
      - `raw_document_available` false, required
      - `signed_at` string, date-time, nullable, required
      - `countersigned_at` string, date-time, nullable, required
      - `expires_at` string, date-time, nullable, required
      - `source` 'platform.onboarding_contract_signatures' | 'computed_fallback', required
    - `commercial_approval` object, required
      - `required_for_live` true, required
      - `recorded` boolean, required
      - `status` 'missing' | 'draft' | 'pending_review' | 'approved' | 'active' | 'suspended' | 'expired' | 'declined', required
      - `commercial_terms_id` string, nullable, required
      - `commercial_package_id` 'sandbox_developer' | 'pilot_partner_api' | 'production_partner_api' | 'business_directory_advertiser_self_serve' | 'business_directory_advertiser_managed' | 'enterprise_bank_api' | 'internal_first_party', required
      - `approval_reference` string, nullable, required
      - `billing_account_required` boolean, required
      - `billing_account_recorded` boolean, required
      - `approved_live_scope_count` integer, required
      - `effective_from` string, date-time, nullable, required
      - `effective_until` string, date-time, nullable, required
      - `source` 'platform.onboarding_commercial_terms' | 'computed_fallback', required
    - `signing_provider` object, required
      - `signing_session_available` boolean, required
      - `provider_selection_required` boolean, required
      - `allowed_rails` string[], required
      - `callback_expected` boolean, required
      - `direct_singpass_available` false, required
      - `digital_signing_partner_available` false, required
    - `live_gate` object, required
      - `satisfies_contract_gate` boolean, required
      - `satisfies_live_contract_gate` boolean, required
      - `missing_gate_ids` string[], required
      - `creates_live_credentials` false, required
      - `human_approval_required` true, required
    - `ai_agent_policy` object, required
      - `read_only` true, required
      - `launch_signing_allowed` false, required
      - `raw_documents_exposed` false, required
      - `signing_provider_payloads_exposed` false, required
    - `source` 'platform.onboarding_contract_signatures' | 'computed_fallback', required
    - `derived_from` string[], required
  - `related_contract_evidence` object[], required
    - `id` string, uuid, nullable, required
    - `signing_rail` 'clickwrap' | 'sign_with_singpass' | 'digital_signing_partner' | 'manual_review', required
    - `signature_status` 'not_started' | 'draft' | 'sent' | 'signed' | 'countersigned' | 'declined' | 'expired' | 'manual_review', required
    - `document_hash_recorded` boolean, required
    - `evidence_reference_recorded` boolean, required
    - `signed_at` string, date-time, nullable, required
    - `countersigned_at` string, date-time, nullable, required
    - `expires_at` string, date-time, nullable, required
    - `source` 'platform.onboarding_contract_signatures' | 'computed_fallback', required
  - `blocked_actions` object[], required
    - `id` string, required
    - `label` string, required
    - `kind` 'read' | 'write' | 'external_handoff', required
    - `href` string, nullable, required
    - `sensitivity` 'public' | 'partner' | 'confidential' | 'regulated', required
    - `idempotency_required` boolean, required
    - `confirmation_required` boolean, required
    - `human_approval_required` boolean, required
    - `reason` string, required
    - `missing_gate_ids` string[], required
  - `ai_agent_policy` object, required
    - `default_authority` 'read_and_draft_only', required
    - `read_only` true, required
    - `mutating_actions_require_human_approval` true, required
    - `launch_signing_allowed` false, required
    - `raw_documents_exposed` false, required
    - `signing_provider_payloads_exposed` false, required
    - `blocked_action_ids` string[], required
    - `tool_contract` string, required
  - `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)
