{
  "name": "Hosted QA",
  "provider": "Actobase",
  "path": "/qa/",
  "request_endpoint": "/qa/api/start",
  "commercial_flow": [
    "request the qa work",
    "receive the account api key in the request response",
    "receive the scoped step list and exact price",
    "approve payment after scope",
    "run the accepted steps",
    "add investigation only when needed"
  ],
  "account_surface": {
    "request_issues_api_key": true,
    "shared_account_status_endpoint": "/watch/api/account"
  },
  "pricing_model": {
    "deterministic_units": [
      {
        "name": "copy_route_pass",
        "price_usd": 12,
        "unit": "route",
        "role": "headline, CTA, hierarchy, and contradiction review on one route"
      },
      {
        "name": "visual_page_state_check",
        "price_usd": 15,
        "unit": "page_state",
        "role": "one route at one viewport or explicit state"
      },
      {
        "name": "extra_scroll_slice",
        "price_usd": 6,
        "unit": "long_page_slice",
        "role": "additional long-page coverage when one screen is not enough"
      }
    ],
    "optional_add_ons": [
      {
        "name": "extended_issue_investigation",
        "price_usd": 39,
        "unit": "issue",
        "role": "deeper review for one unresolved issue after the standard checks"
      }
    ],
    "saved_reruns_starting_price_usd": 29
  },
  "focuses": [
    {
      "name": "visual",
      "role": "viewport and long-page checks for layout, hierarchy, and visible regressions"
    },
    {
      "name": "copy",
      "role": "headline, CTA, hierarchy, and contradiction review across live pages"
    },
    {
      "name": "visual_copy",
      "role": "combined copy and visual checks on the same routes"
    },
    {
      "name": "recurring",
      "role": "saved reruns built from the accepted step set"
    }
  ],
  "current_scope": [
    "one-time copy steps",
    "one-time visual steps",
    "optional route hints",
    "saved reruns only after scope review",
    "on-deploy only when github access or a deploy hook exists"
  ],
  "examples": {
    "request_qa_curl": "curl -X POST \"https://actobase.com/qa/api/start\" -H \"Content-Type: application/json\" -d '{\"site_url\":\"https://example.com\",\"qa_focus\":\"copy\",\"cadence\":\"one_time\"}'",
    "request_qa_with_existing_key_curl": "curl -X POST \"https://actobase.com/qa/api/start\" -H \"Content-Type: application/json\" -H \"Authorization: Bearer ACTOBASE_API_KEY\" -d '{\"site_url\":\"https://example.com\",\"qa_focus\":\"visual_copy\",\"cadence\":\"one_time\"}'",
    "shared_account_status_curl": "curl \"https://actobase.com/watch/api/account\" -H \"Authorization: Bearer ACTOBASE_API_KEY\""
  }
}
