---
title: "List sandbox partner sites"
method: GET
path: "/sites"
tags: ["Sites"]
---

# List sandbox partner sites

`GET /sites`

## Request

- Base URL: `https://platform-api.homejourney.sg/v1`
- URL: `https://platform-api.homejourney.sg/v1/sites`
- Auth: HTTP bearer

Returns deterministic sandbox partner-site summaries when the authenticated automation client has `sites.read`. External URL: `/v1/sites`. Current Next.js implementation path: `/api/platform/v1/sites`. This read-only route does not require `Idempotency-Key`; it never renders public pages, publishes sites, writes CRM records, performs scheduling side effects, configures custom domains, or exposes partner secrets. Live site reads remain unavailable until ownership, publication, and route-promotion gates pass.

## Query parameters

- `limit` integer
- `cursor` string
- `status` 'draft' | 'review_requested' | 'approved' | 'published' | 'paused' | 'takedown_pending' | 'retracted' | 'archived'
- `template_id` 'agency_microsite' | 'agent_landing_page' | 'service_provider_landing_page' | 'mortgage_partner_lead_page'

## Headers

- `X-Correlation-Id` string

## Response `200`

Sandbox partner-site summaries.

- PlatformSiteListResponse
  - `sites` PlatformSiteSummary[], required
    - `id` string, required
    - `sandbox_fixture_id` string, required: Deterministic sandbox fixture ID; live site IDs remain unavailable.
    - `site_slug` string, required
    - `display_name` string, required
    - `owner_type` 'individual_agent' | 'agency_organization' | 'service_provider' | 'mortgage_partner' | 'platform_ops', required
    - `template_id` 'agency_microsite' | 'agent_landing_page' | 'service_provider_landing_page' | 'mortgage_partner_lead_page', required
    - `template_version` string, required
    - `site_status` 'draft' | 'review_requested' | 'approved' | 'published' | 'paused' | 'takedown_pending' | 'retracted' | 'archived', required
    - `public_route_path` string, nullable, required
    - `custom_domain_status` 'deferred', required
    - `content_safety_status` 'passed', required
    - `allowed_origins` string[], required
    - `updated_at` string, date-time, required
    - `livemode` false, required
  - `pagination` object, required
    - `limit` integer, required
    - `next_cursor` string, nullable, required
  - `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)
