---
title: "Prepare an Agent Team listing-draft update for first-party review"
method: POST
path: "/agents/current/actions"
tags: ["Agents"]
---

# Prepare an Agent Team listing-draft update for first-party review

`POST /agents/current/actions`

## Request

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

Creates a sandbox-only prepared action when the authenticated automation client has `agent.listings.read`, an active nondelegated `agent_workspace` grant, and an `Idempotency-Key`. External URL: `/v1/agents/current/actions`. Current Next.js implementation path: `/api/platform/v1/agents/current/actions`. The route accepts only `prepare_listing_draft_update`, verifies the sandbox CEA agent and strict owned private-draft eligibility, persists a linked `action_prepared` event, and never changes, publishes, archives, distributes, or sends the canonical listing. Confirmation or rejection is available only through the returned first-party console continuation, never through the API key.

## Headers

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

## Request body

- AgentListingActionRequest
  - `action` 'prepare_listing_draft_update', required
  - `listing_id` string, required
  - `instruction` string, required

## Response `200`

Prepared sandbox listing-draft update awaiting first-party confirmation.

- AgentListingActionResponse
  - `ok` true, required
  - `action` 'prepare_listing_draft_update', required
  - `action_id` string, required
  - `status` 'prepared', required
  - `required_scope` 'agent.listings.read', required
  - `required_confirmation` 'first_party_app', required
  - `idempotency_required` true, required
  - `expires_at` string, date-time, required
  - `agent` object, required
    - `id` 'sandbox-agent-primary', required
    - `cea_registration_number` 'R123456A', required
    - `cea_verified` true, required
  - `listing` object, required
    - `id` string, required
    - `ownership_verified` true, required
    - `source` 'sandbox_fixture', required
  - `side_effects` object, required
    - `prepared_action_created` true, required
    - `action_prepared_event_created` true, required
    - `canonical_listing_changed` false, required
    - `published` false, required
    - `distribution_changed` false, required
    - `contact_data_exposed` false, required
    - `external_system_calls` false, required
  - `safety` object, required
    - `delegated` false, required
    - `api_confirmation_allowed` false, required
    - `api_rejection_allowed` false, required
  - `continuation` object, required
    - `url` string, uri, required
    - `handoff_required` true, required
    - `reason` 'first_party_confirmation_required', required
  - `principal` Principal, required (unresolved $ref)
  - `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.
- `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)
