compliance:write
The compliance:write scope allows you to run OEM advertising compliance checks and apply suggested replacements. Use the sync freeform endpoints for pasted copy (agents / MCP), or trigger an async check on existing Hrizn content. Freeform checks also require the dealership’s Compliance Checking plan feature (Pro+ / add-on). Results are heuristics — not legal advice.
Endpoints
Article reports are retrieved with
content:read via GET /public/content/{id}/compliance, or via the compliance.completed webhook.
Check freeform copy
issues array with stable ids plus suggested_replacement text.
Body
Apply compliance fixes
problematic_text → suggested_replacement pairs. Set recheck: true to run another check on the revised text in one round-trip.
Trigger article compliance check
Path parameters
Request body
No request body is required.Example
Response — 202 Accepted
Retrieving the compliance report
Once the check completes, retrieve the report using thecontent:read scope:
id is stable across re-checks — feed it to POST /public/content/{id}/compliance/apply as issue_ids or ignore_issue_ids. Decisions already made appear under dispositions.
Status codes
Apply compliance decisions to an article
issue_ids are accepted — the suggested replacement is applied to the article body — and ignore_issue_ids are dismissed with a reason, leaving the copy untouched. Body and decisions persist atomically, and both survive re-checks: a fixed or dismissed finding does not come back as open.
Body
A
409 with code stale_content means the article body changed between reading the report and applying it — nothing was written. Re-run the check for a fresh report, then retry. Use an Idempotency-Key header to make retries safe.
This is the endpoint behind the apply_content_compliance_fixes MCP tool. POST /public/compliance/apply-fixes (above) is the freeform variant: it revises supplied text and stores nothing.
Error response — Missing scope
If your API key does not includecompliance:write, any request to this endpoint returns:
