Skip to main content
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

Analyzes arbitrary marketing copy (plain text or HTML) against OEM checking rules for this dealership. Returns overall score, categories, and a flat issues array with stable ids plus suggested_replacement text.

Body


Apply compliance fixes

Applies selected issue ids (from a prior check) and/or explicit problematic_textsuggested_replacement pairs. Set recheck: true to run another check on the revised text in one round-trip.

Trigger article compliance check

Starts an asynchronous compliance check on the specified content. The check evaluates the content against OEM compliance rules and dealership advertising guidelines.

Path parameters

Request body

No request body is required.

Example

Response — 202 Accepted

Setting auto_compliance: true when creating content records that intent on the article, but it does not start the check — you still need this call once generation completes. Do not treat auto_compliance: true as evidence that an article was screened.

Retrieving the compliance report

Once the check completes, retrieve the report using the content:read scope:
Each issue’s 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

Acts on the STORED report by finding id: 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 include compliance:write, any request to this endpoint returns:
Last modified on August 26, 2026