---
title: "List sandbox developer project media assets"
method: GET
path: "/developers/current/projects/{id}/media"
tags: ["Developers"]
---

# List sandbox developer project media assets

`GET /developers/current/projects/{id}/media`

## Request

- Base URL: `https://platform-api.homejourney.sg/v1`
- URL: `https://platform-api.homejourney.sg/v1/developers/current/projects/{id}/media`
- Auth: HTTP bearer

Returns public-safe media references for one deterministic sandbox developer project when the authenticated automation client has `developers.inventory.read`. External URL: `/v1/developers/current/projects/{id}/media`. Current Next.js implementation path: `/api/platform/v1/developers/current/projects/[id]/media`. This read-only route exposes floor-plan and brochure metadata, clean scan state, source attribution, public reference URLs, redaction evidence, and side-effect blocking. It never generates signed storage URLs, exposes private document URIs, raw source files, source credentials, buyer identity, reservation notes, document contents, upload controls, project-site publish controls, or live media feeds.

## Path parameters

- `id` string, required

## Query parameters

- `limit` integer
- `cursor` string
- `kind` 'floor_plan' | 'brochure'

## Headers

- `X-Correlation-Id` string

## Response `200`

Sandbox developer project response.

- PlatformDeveloperMediaListResponse
  - `project` PlatformDeveloperProjectReference, required
    - `id` string, required
    - `project_slug` string, required
    - `display_name` string, required
    - `status` 'active' | 'upcoming', required
    - `source_attribution` object, required
      - `source` 'official_developer_batch' | 'approved_homejourney_admin_correction' | 'trusted_partner_feed' | 'scraper_new_launches_fallback', required
      - `source_label` string, required
      - `source_updated_at` string, date-time, required
      - `last_verified_at` string, date-time, required
      - `freshness_status` 'current' | 'stale' | 'fallback', required
      - `source_precedence` 'official_developer_batch' | 'approved_homejourney_admin_correction' | 'trusted_partner_feed' | 'scraper_new_launches_fallback', required
      - `precedence_rank` 1 | 2 | 3 | 4, required
  - `media_assets` PlatformDeveloperMediaAsset[], required
    - `id` string, required
    - `sandbox_fixture_id` string, required
    - `project_id` string, required
    - `media_kind` 'floor_plan' | 'brochure', required
    - `title` string, required
    - `description` string, required
    - `language` 'en', required
    - `file` object, required
      - `content_type` 'application/pdf', required
      - `file_size_bytes` integer, required
      - `page_count` integer, required
      - `checksum_sha256_redacted` true, required
    - `public_reference` object, required
      - `url` string, uri, required
      - `label` string, required
      - `expires_at` unknown, required
      - `signed_url_generated` false, required
    - `scan` object, required
      - `status` 'clean', required
      - `scanned_at` string, date-time, required
    - `source_attribution` object, required
      - `source` 'official_developer_batch' | 'approved_homejourney_admin_correction' | 'trusted_partner_feed' | 'scraper_new_launches_fallback', required
      - `source_label` string, required
      - `source_updated_at` string, date-time, required
      - `last_verified_at` string, date-time, required
      - `freshness_status` 'current' | 'stale' | 'fallback', required
      - `source_precedence` 'official_developer_batch' | 'approved_homejourney_admin_correction' | 'trusted_partner_feed' | 'scraper_new_launches_fallback', required
      - `precedence_rank` 1 | 2 | 3 | 4, required
    - `safety` object, required
      - `private_document_uri_exposed` false, required
      - `signed_storage_url_exposed` false, required
      - `raw_source_files_exposed` false, required
      - `source_credentials_exposed` false, required
      - `buyer_identity_exposed` false, required
      - `reservation_notes_exposed` false, required
      - `document_contents_exposed` false, required
    - `side_effects` object, required
      - `production_feed_called` false, required
      - `live_callback_sent` false, required
      - `public_page_published` false, required
      - `live_new_launches_mutated` false, required
      - `sms_sent` false, required
      - `whatsapp_sent` false, required
      - `email_sent` false, required
      - `crm_write_performed` false, required
      - `calendar_write_performed` false, required
    - `livemode` false, required
    - `updated_at` string, date-time, required
  - `pagination` object, required
    - `limit` integer, required
    - `next_cursor` string, nullable, required
  - `media_boundary` object, required
    - `public_safe_references_only` true, required
    - `signed_download_url_deferred` true, required
    - `upload_write_deferred` true, required
    - `raw_source_files_redacted` true, required
    - `private_document_uri_redacted` true, required
    - `project_site_publish_deferred` true, required
    - `live_promotion_required` true, 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)
