CheckboxDocs

Fixes API

Engine-verified, platform-specific fixes for failing findings: Stripe Checkout code, Payment Link updates, Shopify blocks, snippet disclosures and the hosted cancellation page.

OperationEndpoint
Get the fix for a findingGET /v1/findings/{finding}/fix
List fix plans for a siteGET /v1/sites/{site}/fixes

The Fix object

An engine-verified, platform-specific fix.

FieldTypeDescription
idstringUnique identifier of the fix (fix_…).
objectenumString representing the object's type. Always "fix".
livemodebooleantrue for live-mode objects, false for test mode (ck_test_ keys act on an isolated sandbox).
sitestringThe site.
findingstring | nullFinding this fix addresses (null for site-level fix plans).
groupenumArea of the fix. One of signup, cancellation, other.
kindstring | nullstripe_checkout, stripe_payment_link, shopify, html or hosted_cancellation.
titlestringTitle.
summarystringWhat the fix does.
check_idsarray of stringsChecks it addresses.
stepsarray of stringsSteps.
artifactsarray of FixArtifactsCode / markup to apply.
textsobject | nullVerified disclosure texts (snake_case keys).
one_clickobject | nullOne-click option available in the dashboard, when there is one.
verificationobject | nullHow the engine verified the fixed texts pass the checks.
problemsarray of stringsWhy parts of the fix could not be generated (e.g. plan terms unknown).
remediationRemediation | nullHow to fix the finding (see also the fixes resource and compliance plans).

Get the fix for a finding

GET /v1/findings/{finding}/fix

The concrete change that makes the finding pass: verified disclosure text and code for the detected platform, or the generic remediation. Apply it, then re-scan (createScan) or re-evaluate.

Scope fixes:read · Operation retrieveFindingFix

SDK: checkbox.fixes.retrieve() (Node) · checkbox.fixes.retrieve() (Python). MCP / agents: operation retrieveFindingFix.

Parameters

ParameterInTypeDescription
finding requiredpathstringUnique identifier of the finding (fnd_…).
planquerystringBilling-platform plan/price id to write the disclosure for.
cancel_urlquerystringCancellation URL to state (defaults to the hosted page or billing portal).
targetqueryenumWhere the sign-up happens (default: detected). One of stripe_checkout, stripe_payment_link, shopify, html.

Returns

Returns a Fix object.

Errors use the standard envelope with a stable code and, where useful, next_action.

curl https://app.checkbox.site/v1/findings/fnd_3f9a1c2e7b4d4e0f9a8b7c6d5e4f3a2b/fix \
  -u "$CHECKBOX_SECRET_KEY:"
Response
{
  "id": "fix_3f9a1c2e7b4d4e0f9a8b7c6d5e4f3a2b",
  "object": "fix",
  "livemode": false,
  "site": "site_3f9a1c2e7b4d4e0f9a8b7c6d5e4f3a2b",
  "finding": "fnd_3f9a1c2e7b4d4e0f9a8b7c6d5e4f3a2b",
  "group": "signup",
  "kind": "stripe_checkout",
  "title": "Add the renewal disclosure to Stripe Checkout",
  "summary": "Adds consent and terms text verified against the rules.",
  "check_ids": [
    "signup.disclosure_clear_conspicuous"
  ],
  "steps": [
    "Replace the Checkout Session parameters with the code below"
  ],
  "artifacts": [
    {
      "id": "stripe-checkout-node",
      "title": "Stripe Checkout (Node.js)",
      "kind": "code",
      "language": "javascript",
      "filename": "checkout.js",
      "code": "const session = await stripe.checkout.sessions.create({ … })",
      "diff": null
    }
  ],
  "texts": null,
  "one_click": null,
  "verification": null,
  "problems": [],
  "remediation": {
    "summary": "Show the auto-renewal terms next to the subscribe button.",
    "steps": [
      "Add the disclosure above the button"
    ],
    "platform": "stripe",
    "suggested_copy": "Your subscription renews automatically every month at $9.99 until you cancel.",
    "snippet": {
      "language": "html",
      "code": "<p class=\"renewal-terms\">…</p>"
    }
  }
}

List fix plans for a site

GET /v1/sites/{site}/fixes

Site-level fix plans: the sign-up disclosure fix and the cancellation fix (hosted cancellation page), each with the checks it covers.

Scope fixes:read · Operation listSiteFixes

SDK: checkbox.fixes.list() (Node) · checkbox.fixes.list() (Python). MCP / agents: operation listSiteFixes.

Parameters

ParameterInTypeDescription
site requiredpathstringUnique identifier of the site (site_…).
planquerystringBilling-platform plan/price id to write the disclosure for.
cancel_urlquerystringCancellation URL to state (defaults to the hosted page or billing portal).
targetqueryenumWhere the sign-up happens (default: detected). One of stripe_checkout, stripe_payment_link, shopify, html.

Returns

Returns a list ({ object: "list", data, has_more, url }) of Fix objects.

Errors use the standard envelope with a stable code and, where useful, next_action.

curl https://app.checkbox.site/v1/sites/site_3f9a1c2e7b4d4e0f9a8b7c6d5e4f3a2b/fixes \
  -u "$CHECKBOX_SECRET_KEY:"
Response
{
  "object": "list",
  "data": [
    {
      "id": "fix_3f9a1c2e7b4d4e0f9a8b7c6d5e4f3a2b",
      "object": "fix",
      "livemode": false,
      "site": "site_3f9a1c2e7b4d4e0f9a8b7c6d5e4f3a2b",
      "finding": "fnd_3f9a1c2e7b4d4e0f9a8b7c6d5e4f3a2b",
      "group": "signup",
      "kind": "stripe_checkout",
      "title": "Add the renewal disclosure to Stripe Checkout",
      "summary": "Adds consent and terms text verified against the rules.",
      "check_ids": [
        "signup.disclosure_clear_conspicuous"
      ],
      "steps": [
        "Replace the Checkout Session parameters with the code below"
      ],
      "artifacts": [
        {
          "id": "stripe-checkout-node",
          "title": "Stripe Checkout (Node.js)",
          "kind": "code",
          "language": "javascript",
          "filename": "checkout.js",
          "code": "const session = await stripe.checkout.sessions.create({ … })",
          "diff": null
        }
      ],
      "texts": null,
      "one_click": null,
      "verification": null,
      "problems": [],
      "remediation": {
        "summary": "Show the auto-renewal terms next to the subscribe button.",
        "steps": [
          "Add the disclosure above the button"
        ],
        "platform": "stripe",
        "suggested_copy": "Your subscription renews automatically every month at $9.99 until you cancel.",
        "snippet": {
          "language": "html",
          "code": "<p class=\"renewal-terms\">…</p>"
        }
      }
    }
  ],
  "has_more": false,
  "url": "/v1/sites"
}

Checkbox is compliance software, not a law firm; nothing in these docs is legal advice (details). For AI agents: every page is available as Markdown at the same URL plus .md; the index is /llms.txt.