Skerry/ Reference/ Limits, agents and approvals

Record that a person agreed to the mandate as it stands

post/spend-policies/{id}/consent

Record that a person agreed to the mandate as it stands. The evidence is stored with the mandate's canonical text and its SHA-256. partner_attested is taken on your word; passkey and oauth are verified only with an attestation signed by the configured identity provider naming the subject and the mandate hash, and are unverified when no identity provider is configured; console_session from a partner key is unverified. Refuses an agent's own credential.

Before you call

Credential
Authorization: Bearer $KEY
Scope
policies:write
Moves money
no
Idempotency
optional
Untrusted
name, purpose, approved_by, summary, revoked_reason

Parameters

  • idstringrequired
    In the path
  • Idempotency-Keystring
    Header. A repeat with the same key and body returns the first answer instead of acting twice.

Request bodyapplication/json, required

object

Responses

  • 200
    Success.
  • 202
    requires_approval — Not an error: the operation is held for a person. The body names the approval.
  • 400
    price_below_minimum — The price is below the smallest single payment for a method (detail.method, detail.minimum), or has a part of a cent. Set credit_only, raise the price, or drop the method.
  • 401
    dpop_invalid — The token is bound to a key and the DPoP proof was missing, wrong for this request, or already used.
  • 402
    payment_failed — The payer's bank or card refused. detail.reason says why in plain terms.
  • 403
    agent_payment_over_max — The merchant asks for more than max_amount. Nothing was signed. detail.asked_minor is the lowest price asked, in US cents.
  • 404
    not_found — No such object in this project — including one that belongs to somebody else.
  • 409
    token_not_issued — A delegated payment token could not be issued ready to use, for instance because the payer would have to act. Nothing was sent to the merchant.
  • 429
    too_many_waiters — This key already has as many requests waiting (?wait=) as it may. Let one finish, or read without wait.
  • 500
    internal_error — Ours. Quote the request_id and we can find the call.
  • 502
    platform_error — A provider failed. Safe to retry with the same Idempotency-Key.
  • 503
    oauth_unavailable — The authorisation server's keys could not be read, so tokens cannot be checked. API keys still work.

This page as Markdown