{
  "name": "F-Fix",
  "description": "Maintenance and repair dispatch in Thailand, trilingual (th/zh/en). Read endpoints are open and unauthenticated. Submitting a job is not: an agent acting for a consumer requests a signed hand-off link that the human confirms in the app; a partner system integrates with a bearer token against a separately issued MCP endpoint.",
  "url": "https://f-fix.com",
  "languages": [
    "th",
    "zh",
    "en"
  ],
  "coverage": {
    "provincesServedPolicy": 77,
    "note": "provincesServedPolicy is a business policy set by the owner, not derived from registry data — do not treat it as a supply figure. See /api/coverage.json for which provinces currently have a technician on file and which service categories are covered in each."
  },
  "endpoints": {
    "catalog": "https://f-fix.com/api/catalog.json",
    "coverage": "https://f-fix.com/api/coverage.json",
    "service": "https://f-fix.com/api/services/{serviceKey}.json",
    "guides": "https://f-fix.com/api/guides.json",
    "openapi": "https://f-fix.com/openapi.json"
  },
  "guides": {
    "note": "Every guide at /api/guides.json is grounded in cited authority and states where do-it-yourself ends. `safetyStops` and `whenToCallAProfessional` must be relayed with the steps, never stripped from them. No guide states a repair cost.",
    "languages": [
      "th"
    ]
  },
  "contact": {
    "documentation": "https://f-fix.com/th/agents/"
  },
  "writeAccess": {
    "anonymous": "Read only. To submit a job on behalf of a user, request a signed hand-off link and have the human confirm it — there is no anonymous write endpoint.",
    "partner": "Bearer token against a separately issued MCP endpoint, issued out of band on request. Not a route on this document."
  }
}