---
title: "List read-only import/export readiness contracts"
method: GET
path: "/providers/current/import-export-readiness"
tags: ["Import/export readiness"]
---

# List read-only import/export readiness contracts

`GET /providers/current/import-export-readiness`

## Request

- Base URL: `https://platform-api.homejourney.sg/v1`
- URL: `https://platform-api.homejourney.sg/v1/providers/current/import-export-readiness`
- Auth: HTTP bearer

Returns Phase 0 import/export readiness contracts for all platform launch verticals when the authenticated automation client has `platform.import_export_readiness.read`. External URL: `/v1/providers/current/import-export-readiness`. Current Next.js implementation path: `/api/platform/v1/providers/current/import-export-readiness`. This read-only route does not require `Idempotency-Key`; it exposes preview, validation, dedupe, rollback, export, offboarding, audit readiness posture, blocked execution gates, and a redacted service-role ledger summary only. It never confirms imports, writes database rows, returns raw uploaded files, returns source batch keys, creates export downloads, executes rollback or offboarding actions, exposes private source evidence, or calls external providers.

## Headers

- `X-Correlation-Id` string

## Response `200`

Read-only import/export readiness contracts.

- ImportExportReadinessResponse
  - `contracts` ImportExportReadinessContract[], required
    - `module_id` 'agent' | 'agency' | 'business' | 'mortgage' | 'legal' | 'developer' | 'renovation', required
    - `label` string, required
    - `workspace_root` string, required
    - `import_record_type` string, required
    - `seed_fixture` string, required
    - `preview_mode` 'dry_run_preview_only', required
    - `mutation_policy` 'no_database_write_until_confirmed', required
    - `validation_rules` string[], required
    - `dedupe_keys` string[], required
    - `rollback_state` 'preview_only_no_mutation', required
    - `export_posture` ImportExportReadinessPosture, required
      - `format` 'csv_and_json', required
      - `scope` 'tenant_scoped', required
      - `redaction` 'public_safe_and_private_safe', required
      - `retention` 'short_retention_until_approved_export', required
    - `offboarding_posture` 'suspend_imports_preserve_export_and_audit', required
    - `audit_event` string, required
    - `proof_command` string, required
    - `evidence_path` string, required
    - `source_paths` string[], required
    - `source_markers` string[], required
    - `passed_steps` ImportExportReadinessProofStep[], required
    - `launch_ready` boolean, required
    - `blocker` string, nullable, required
    - `next_action` string, required
    - `runtime_confirmation` 'deferred_until_operator_rehearsal', required
    - `import_write_access` 'disabled', required
    - `export_download_access` 'disabled', required
    - `rollback_execution` 'deferred', required
    - `offboarding_execution` 'deferred', required
  - `execution_gates` ImportExportExecutionGate[], required
    - `gate_id` 'runtime_import_confirmation' | 'export_download' | 'rollback_execution' | 'offboarding_execution', required
    - `action` string, required
    - `status` 'blocked_until_operator_rehearsal', required
    - `allowed` false, required
    - `required_before_enablement` string[], required
    - `evidence_path` 'apps/web/lib/platform/__tests__/import-export-readiness.test.ts', required
    - `proof_command` string, required
    - `next_action` string, required
  - `execution_ledger` ImportExportExecutionLedger, required
    - `source` 'platform.import_export_runs', required
    - `item_source` 'platform.import_export_run_items', required
    - `access_model` 'service_role_redacted_summary', required
    - `organization_id` string, uuid, required
    - `client_id` string, uuid, required
    - `environment` 'sandbox' | 'live', required
    - `recent_run_limit` 25, required
    - `recent_run_count` integer, required
    - `recent_item_count` integer, required
    - `status_breakdown` ImportExportExecutionLedgerStatus[], required
      - `execution_status` 'previewed' | 'review_required' | 'blocked' | 'approved' | 'executed' | 'cancelled' | 'failed', required
      - `runs` integer, required
      - `runtime_execution_allowed` false, required
    - `latest_run` ImportExportLatestLedgerRun, required
      - `module_id` 'agent' | 'agency' | 'business' | 'mortgage' | 'legal' | 'developer' | 'renovation', required
      - `operation` 'runtime_import_confirmation' | 'export_download' | 'rollback_execution' | 'offboarding_execution', required
      - `execution_status` 'previewed' | 'review_required' | 'blocked' | 'approved' | 'executed' | 'cancelled' | 'failed', required
      - `item_count` integer, required
      - `created_at` string, required
      - `updated_at` string, required
      - `retention_until` string, required
      - `runtime_execution_allowed` false, required
      - `operator_rehearsal_completed` boolean, required
      - `cross_org_negative_test_passed` boolean, required
      - `audit_event_persisted` boolean, required
      - `rollback_owner_approved` boolean, required
    - `runtime_actions_enabled` false, required
    - `raw_file_payload_visible` false, required
    - `private_source_evidence_visible` false, required
    - `external_provider_calls_enabled` false, required
  - `summary` ImportExportReadinessSummary, required
    - `total_verticals` integer, required
    - `preview_files_declared` integer, required
    - `validation_contracts` integer, required
    - `dedupe_contracts` integer, required
    - `rollback_postures` integer, required
    - `export_postures` integer, required
    - `offboarding_postures` integer, required
    - `audit_events` integer, required
    - `launch_ready_contracts` integer, required
    - `source_contract` 'vertical_import_preview_contract', required
    - `phase` 'phase_0_readiness_only', required
    - `runtime_import_confirmation` 'deferred_until_operator_rehearsal', required
    - `export_execution_model` 'deferred_until_tenant_scoped_runtime_paths', required
    - `rollback_execution_model` 'deferred_until_operator_rehearsal', required
    - `execution_gate_contract` 'runtime_actions_blocked_v1', required
    - `execution_gates_declared` integer, required
    - `execution_gates_blocked` integer, required
  - `authorization` ImportExportReadinessAuthorization, required
    - `organization_id` string, uuid, required
    - `client_id` string, uuid, required
    - `api_key_id` string, uuid, required
    - `required_scope` 'platform.import_export_readiness.read', required
    - `granted_migration_scopes` PlatformScope[], required
    - `actor_model` 'api_key_automation_client', required
    - `data_access` 'import_export_readiness_contract_only', required
    - `mutation_access` 'runtime_import_export_writes_deferred', required
  - `public_safety` ImportExportReadinessPublicSafety, required
    - `database_writes_allowed` false, required
    - `import_confirmation_allowed` false, required
    - `export_download_allowed` false, required
    - `rollback_execution_allowed` false, required
    - `offboarding_execution_allowed` false, required
    - `private_source_evidence_visible` false, required
    - `raw_file_payload_visible` false, required
    - `external_provider_calls` 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)
