---
title: "Create sandbox Renovation project"
method: POST
path: "/renovations/current/projects"
tags: ["Renovations"]
---

# Create sandbox Renovation project

`POST /renovations/current/projects`

## Request

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

Creates a service-role-only sandbox Renovation project when the authenticated automation client has `renovations.projects.write`, the Renovation project route gate is enabled, and an `Idempotency-Key` is provided. External URL: `/v1/renovations/current/projects`. Current Next.js implementation path: `/api/platform/v1/renovations/current/projects`. The request accepts partner-generated client and site hashes only; raw client PII, raw site address, supplier pricing, payment state, margin, documents, staff invite, and live action controls stay outside the REST response. Live writes remain unavailable until restricted workspace and live gates pass.

## Headers

- `X-Correlation-Id` string
- `Idempotency-Key` string, required

## Request body

- CreatePlatformRenovationProjectRequest
  - `project_slug` string, required: Partner-owned project slug. Raw client or site address details stay hashed.
  - `project_name` string, required
  - `client_reference_hash` string, required: Partner-generated hash; raw client PII is never accepted or returned.
  - `site_reference_hash` string, required: Partner-generated hash; raw site address is never accepted or returned.
  - `budget_band` string, nullable
  - `target_start_date` string, date, nullable
  - `target_completion_date` string, date, nullable
  - `source_type` string
  - `source_system` string
  - `source_record_id` string, nullable
  - `metadata` object: Optional public-safe metadata. Raw client PII, supplier pricing, and payment state are not allowed.

## Response `200`

Sandbox Renovation project response.

- PlatformRenovationProjectCreateResponse
  - `project` PlatformRenovationProjectSummary, required
    - `id` string, uuid, required
    - `project_slug` string, required
    - `project_name` string, required
    - `project_status` 'draft' | 'readiness_review' | 'active' | 'paused' | 'completed' | 'cancelled' | 'archived', required
    - `readiness_status` string, required
    - `budget_band` string, nullable, required
    - `target_start_date` string, date, nullable, required
    - `target_completion_date` string, date, nullable, required
    - `first_workflow_completed` boolean, required
    - `redaction` object, required
      - `margin_redacted` true, required
      - `supplier_pricing_redacted` true, required
      - `payment_state_redacted` true, required
      - `client_reference_returned` false, required
      - `site_reference_returned` false, required
    - `live_gates` object, required
      - `live_actions_enabled` false, required
      - `live_request_ready` boolean, required
      - `live_approved` boolean, required
    - `version` integer, required
    - `updated_at` string, date-time, required
  - `safety` PlatformRenovationWorkspaceSafety, required
    - `service_role_only_tables` true, required
    - `partner_reads_exposed` false, required
    - `live_actions_exposed` false, required
    - `cost_fields_redacted` true, required
    - `supplier_pricing_redacted` true, required
    - `payment_state_redacted` true, required
  - `livemode` false, required
  - `request_id` string, required
  - `idempotency_key_hash` 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.
- `409`: Idempotency key is in progress or conflicts with an earlier request body.
- `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)
