---
title: "List sandbox development professional-service projects"
method: GET
path: "/development-professional-services/current/projects"
tags: ["Development professional services"]
---

# List sandbox development professional-service projects

`GET /development-professional-services/current/projects`

## Request

- Base URL: `https://platform-api.homejourney.sg/v1`
- URL: `https://platform-api.homejourney.sg/v1/development-professional-services/current/projects`
- Auth: HTTP bearer

Returns deterministic sandbox project, requirement, consultant-task, submission-evidence, milestone, and design-change summaries when the authenticated automation client has `development_professional_services.projects.read`. External URL: `/v1/development-professional-services/current/projects`. Current Next.js implementation path: `/api/platform/v1/development-professional-services/current/projects`. This read-only route does not require `Idempotency-Key` and never exposes professional contact details, raw documents, private comments, authority credentials, raw design diffs, write controls, or live provider integrations. Document uploads, authority submissions, consultant-task writes, milestone writes, and design-change approvals remain explicitly deferred.

## Headers

- `X-Correlation-Id` string

## Response `200`

Minimized sandbox development professional-service projects.

- DevelopmentProfessionalServicesProjectListResponse
  - `projects` DevelopmentProfessionalServicesProject[], required
    - `id` string, required
    - `fixture_id` string, required
    - `display_name` string, required
    - `project_stage` 'design_coordination' | 'submission_review', required
    - `professional_roles` string[], required
    - `requirements` object, required
      - `requirement_count` integer, required
      - `authority_codes` string[], required
      - `raw_requirement_text_exposed` false, required
    - `consultant_tasks` object, required
      - `open_count` integer, required
      - `overdue_count` integer, required
      - `assignee_identity_exposed` false, required
      - `private_notes_exposed` false, required
    - `submission_evidence` object, required
      - `status` 'draft' | 'ready_for_review' | 'submitted', required
      - `authority_name` string, required
      - `evidence_reference` string, required
      - `raw_files_exposed` false, required
      - `credentials_exposed` false, required
    - `milestone` object, required
      - `label` string, required
      - `status` 'not_started' | 'in_progress' | 'blocked' | 'completed', required
      - `due_on` string, date, required
    - `design_change_audit` object, required
      - `change_count` integer, required
      - `latest_change_summary` string, required
      - `actor_identity_exposed` false, required
      - `raw_diff_exposed` false, required
    - `source_attribution` object, required
      - `source_type` 'sandbox_fixture', required
      - `freshness_status` 'current', required
      - `fixture_updated_at` string, date-time, required
    - `redaction` object, required
      - `professional_contact_details_exposed` false, required
      - `raw_documents_exposed` false, required
      - `private_comments_exposed` false, required
      - `authority_credentials_exposed` false, required
    - `side_effects` object, required
      - `production_document_uploaded` false, required
      - `authority_submission_performed` false, required
      - `consultant_task_mutated` false, required
      - `milestone_mutated` false, required
      - `design_change_approved` false, required
      - `live_callback_sent` false, required
  - `access` object, required
    - `organization_id` string, uuid, required
    - `client_id` string, uuid, required
    - `granted_scopes` PlatformScope[], required
    - `sandbox_fixture_mode` 'read_only', required
    - `live_project_reads` 'deferred', required
    - `blocked_actions` string[], 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)
