Policies

List policy versions (newest first)

GET/v1/policies

Parameters

  • wallet in query, string
  • limit in query, integer

Responses

200All versions, optionally filtered by wallet

  • policies object[] (required)

Example

curl -X GET https://api.cofferline.com/v1/policies \
  -H "authorization: Bearer $TOKEN"

Submit a policy document; creates immutable version n+1 for its wallet

PUT/v1/policies

Versions are hash-addressed and append-only — history is never rewritten. Re-submitting the latest document verbatim returns the existing version instead of minting a duplicate. Only version, wallet and chain_id are required: anything omitted is filled from the published platform defaults, stored as part of the document, and listed in defaulted.

Request body

  • version 1 (required)
  • wallet string (required)
  • chain_id integer (required)
  • float object
  • execution object
  • gas object
  • stables object
  • spend object
  • alerts object
  • prediction_markets object
  • rebalance object

Responses

200Unchanged — latest version already matches

  • wallet string (required)
  • version integer (required)
  • hash string (required)
  • created_at string (required)
  • unchanged boolean
  • document object (required)
  • defaulted string[] (required)

201New immutable version created

  • wallet string (required)
  • version integer (required)
  • hash string (required)
  • created_at string (required)
  • unchanged boolean
  • document object (required)
  • defaulted string[] (required)

400Document failed validation

Example

curl -X PUT https://api.cofferline.com/v1/policies \
  -H "authorization: Bearer $TOKEN" \
  -H "content-type: application/json" \
  -d '{"version":1,"wallet":"…","chain_id":0}'