Records that someone took responsibility for this client’s ad spend and enables the mutations of /api/marketing. It is console-only: an API key gets 403 even if it has the scope, because the one taking responsibility is a person. Only the owner or an administrator can. version must be the current one (the one returned by GET /terms); an earlier one is 400. Requires the marketing:manage scope.
The version being accepted. It must be the current one: if the text changed while the screen was open, sending the old one is 400 and it must be read again. Example: "2026-08-30".
The updated status, with the same shape as GET /terms: whoever accepts can render ‘accepted by Jane on such a day’ without a second round trip. It is not 204 on purpose.
Current version of the text. It is the one to send when accepting. Example: "2026-08-30".
accepted
boolean
required
Whether the client accepted the current version. It is the only thing the gate checks: an acceptance of an earlier version enables nothing.
accepted_at
string
optional
When the last acceptance happened, of whichever version. null only if this client never accepted: if it accepted an old version, it comes with that date even if accepted is false.
accepted_by
object
optional
Who made that last acceptance, with the same rule as accepted_at: if it was of an old version, it comes anyway. null only if there never was one.
current_version_accepted
boolean
required
Whether what was accepted is the current version. It is the same value as accepted, with the name spelled out: the pair accepted_at + current_version_accepted: false lets you say ‘the previous version was accepted by Jane on such a day’ instead of a bare ‘not accepted’.