Light mode version of Land Your Home
V1Transactions

Post Transaction Stage

POST
/v1/transactions/{transactionId}/stages

Creates a stage on a transaction the user is an active party on. Only title is required; progress is Not Started (default), In Progress, Blocked or Completed; expectedUpdate/expectedCompletion are ISO 8601 timestamps. dependsOnStageId makes it depend on another stage of the same transaction.

Owners are other people's ids, which partners never see, so a stage can only be assigned to the caller (assignedToYou: true) or left unassigned. If the stage is assigned to the caller and has an expectedUpdate after today, an update reminder is scheduled for 9am that day (and rescheduled or cancelled when the stage changes or is deleted), as in the app.

Required variables:

  • baseUrl
  • apiKey (needs stages:write)
  • userToken
  • transactionId (set by chains/Get Chain)

Sets newStageId.

Authorization

bearerAuth userTokenAuth
AuthorizationBearer <token>

Partner API key (lyh_...): identifies the calling partner, its scopes and rate limit.

In: header

X-User-Token<token>

The user's OAuth 2.1 access token, issued by Land Your Home's OAuth server to this partner's OAuth client. Requests run as this user.

In: header

Path Parameters

transactionId*string

Response Body

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/v1/transactions/string/stages"
{  "data": {    "id": "fc5cfa3d-db26-40e2-a76f-d911c06955c4",    "transactionId": "9a5424e0-2413-4890-a5ca-6e90f4604ae9",    "title": "Order searches",    "description": "Local authority and environmental searches ordered",    "progress": "Not Started",    "progressNote": null,    "expectedUpdate": null,    "expectedCompletion": null,    "assignedToYou": true,    "assigned": true,    "dependsOnStageId": null,    "createdAt": "2026-10-02T08:30:34.119354+00:00",    "updatedAt": "2026-10-02T08:30:34.119354+00:00"  }}