propose_write

Propose the value one field of a store should have, as its single owner.

Creates an approval card and answers 202 with status: "proposed", plan_action_id, where and approve_url; nothing is declared until the merchant approves it in Magistry, whatever the connection's auto-apply setting. The checks below then run at approval. A field has at most one owner, enforced by a unique index. The merchant grants this app a field in Settings → API & MCP → Connected apps; without that grant the answer is 409 no_policy, and while another owner holds the field it is 409 held_by_other with held_by; a field whose outside change the merchant kept is 409 merchant_kept until a store rule allows declaring it again. Declaring reaches nothing outside Magistry: a reconciler reads the row and is the only code that writes to the platform, and it may still refuse the value (a price under the margin floor), which the declaration's status then reports. Declarable fields: variant: price, compare_at_price (needs catalog:write); campaign: status, daily_budget, bidding (needs ads:write). A declaration always expires, at most 30 days out.

post/api/v1/intent

Request

  • Base URL: https://app.magistry.io
  • URL: https://app.magistry.io/api/v1/intent
  • Auth: one of:
    • HTTP bearer
    • OAuth 2 (authorization code, authorization URL https://app.magistry.io/api/oauth/authorize, token URL https://app.magistry.io/api/oauth/token, scopes: write)

Request body

store_idstring uuid

The store to act on. Defaults to the store the credential was issued for.

resource_kind'variant' | 'campaign' required
resource_refstring required

The id of the variant or campaign, in Magistry.

fieldstring required
reasonstring
expires_atstring date-time

Clamped to 30 days.

idempotency_keystring

Response

Result

okboolean required
resultunknown required

Changes

No recorded changes to this operation across all 1 revision of this API.