---
title: "Prepare Write"
method: POST
path: "/margot/actions/prepare_write"
tags: ["margot"]
---

# Prepare Write

`POST /margot/actions/prepare_write`

## Request

- Base URL: `https://api.nanocorp.so` (the document declares no server; this is the origin it was published from)
- URL: `https://api.nanocorp.so/margot/actions/prepare_write`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/nanocorp/apis/nanocorp-api/docs/margot/actions/prepare_write/post.ts> (a function with typed inputs; its response is checked against the schema)

Bind the exact request to its verified owner before Parahelp seeks approval.

## Request body

- PrepareSupportWriteRequest
  - `ticket_id` string, required: Ticket id supplied by the tool runtime, never by the customer.
  - `action` 'refund' | 'cancel_subscription' | 'grant_credits' | 'instruct_business' | 'revert_upgrade' | 'rename_business' | 'change_plan', required
  - `arguments` object, required: The exact account-change arguments to submit for approval.

## Response `200`

Successful Response

- PrepareSupportWriteResponse
  - `approval_context` string, required: Pass unchanged to the matching human-approved request.
  - `expires_at` integer, required: Expiry as Unix seconds; expiry requires a new approval request.

## Other responses

- `422`: Validation Error

## Changes

- **2026-11-01** `292707639ad6`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/nanocorp/apis/nanocorp-api/changes/margot/actions/prepare_write/post.md)

---

[API](https://skmtc.dev/nanocorp/apis/nanocorp-api.md) - [All operations](https://skmtc.dev/nanocorp/apis/nanocorp-api/llms.txt) - [OpenAPI document](https://skmtc.dev/nanocorp/apis/nanocorp-api/revisions/8dd3dbea26b1?raw)
