{"openapi":"3.1.0","info":{"title":"IT Support Directory API","version":"1.0.0","description":"Read-only JSON API for IT Support Directory: UK areas and IT support providers. No authentication, no writes, no PII. See /api for the feeds, llms.txt and the MCP server that serve the same data."},"servers":[{"url":"/api/v1"}],"paths":{"/areas":{"get":{"summary":"List areas","operationId":"listAreas","responses":{"200":{"description":"Every area with its parent and published provider count.","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"array","items":{"type":"object","properties":{"slug":{"type":"string"},"name":{"type":"string"},"kind":{"type":"string","enum":["region","county","council"]},"parent_slug":{"type":["string","null"]},"provider_count":{"type":"integer","description":"Published providers in the area, its sub-areas, or serving it."},"url":{"type":"string","format":"uri"}}}},"meta":{"type":"object","properties":{"total":{"type":"integer"}}}}}}}}}}},"/areas/{slug}":{"get":{"summary":"Get one area with its published providers","operationId":"getArea","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string"}},{"name":"service","in":"query","schema":{"type":"string"},"description":"Filter to one service key."}],"responses":{"200":{"description":"The area, its Featured, local and nationwide providers.","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","properties":{"slug":{"type":"string"},"name":{"type":"string"},"kind":{"type":"string","enum":["region","county","council"]},"description":{"type":"string"},"url":{"type":"string","format":"uri"},"breadcrumb":{"type":"array","items":{"type":"object","properties":{"slug":{"type":"string"},"name":{"type":"string"},"url":{"type":"string","format":"uri"}}}},"children":{"type":"array","items":{"type":"object","properties":{"slug":{"type":"string"},"name":{"type":"string"},"kind":{"type":"string","enum":["region","county","council"]},"parent_slug":{"type":["string","null"]},"provider_count":{"type":"integer","description":"Published providers in the area, its sub-areas, or serving it."},"url":{"type":"string","format":"uri"}}}},"provider_count":{"type":"integer"},"featured":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"slug":{"type":"string"},"name":{"type":"string"},"tagline":{"type":"string"},"area":{"type":"object","properties":{"slug":{"type":"string"},"name":{"type":"string"}}},"services":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"name":{"type":"string"}}}},"nationwide":{"type":"boolean"},"logo_key":{"type":["string","null"]},"url":{"type":"string","format":"uri"},"rating":{"type":["object","null"],"properties":{"average":{"type":"number","description":"Mean rating, one decimal place."},"count":{"type":"integer"}}},"featured":{"type":"boolean","description":"Has a live paid Featured placement in at least one area."},"claimed":{"type":"boolean"}}},"description":"Live paid placements in this exact area, by start date."},"providers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"slug":{"type":"string"},"name":{"type":"string"},"tagline":{"type":"string"},"area":{"type":"object","properties":{"slug":{"type":"string"},"name":{"type":"string"}}},"services":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"name":{"type":"string"}}}},"nationwide":{"type":"boolean"},"logo_key":{"type":["string","null"]},"url":{"type":"string","format":"uri"},"rating":{"type":["object","null"],"properties":{"average":{"type":"number","description":"Mean rating, one decimal place."},"count":{"type":"integer"}}},"featured":{"type":"boolean","description":"Has a live paid Featured placement in at least one area."},"claimed":{"type":"boolean"}}},"description":"Local providers by rating."},"nationwide":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"slug":{"type":"string"},"name":{"type":"string"},"tagline":{"type":"string"},"area":{"type":"object","properties":{"slug":{"type":"string"},"name":{"type":"string"}}},"services":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"name":{"type":"string"}}}},"nationwide":{"type":"boolean"},"logo_key":{"type":["string","null"]},"url":{"type":"string","format":"uri"},"rating":{"type":["object","null"],"properties":{"average":{"type":"number","description":"Mean rating, one decimal place."},"count":{"type":"integer"}}},"featured":{"type":"boolean","description":"Has a live paid Featured placement in at least one area."},"claimed":{"type":"boolean"}}},"description":"Providers serving the whole UK."}}},"meta":{"type":"object","properties":{}}}}}}},"404":{"description":"No resource at that slug.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"not_found"},"message":{"type":"string"}}}}}}}}}}},"/providers":{"get":{"summary":"Search published providers","operationId":"searchProviders","parameters":[{"name":"q","in":"query","schema":{"type":"string"},"description":"Matches name, tagline, postcode or area name."},{"name":"area","in":"query","schema":{"type":"string"},"description":"An area slug, including its sub-areas and nationwide providers."},{"name":"service","in":"query","schema":{"type":"string"},"description":"A service key."},{"name":"page","in":"query","schema":{"type":"integer","minimum":1,"default":1}}],"responses":{"200":{"description":"20 results per page by rating, Featured providers first only when the query matches their name.","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"slug":{"type":"string"},"name":{"type":"string"},"tagline":{"type":"string"},"area":{"type":"object","properties":{"slug":{"type":"string"},"name":{"type":"string"}}},"services":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"name":{"type":"string"}}}},"nationwide":{"type":"boolean"},"logo_key":{"type":["string","null"]},"url":{"type":"string","format":"uri"},"rating":{"type":["object","null"],"properties":{"average":{"type":"number","description":"Mean rating, one decimal place."},"count":{"type":"integer"}}},"featured":{"type":"boolean","description":"Has a live paid Featured placement in at least one area."},"claimed":{"type":"boolean"}}}},"meta":{"type":"object","properties":{"page":{"type":"integer"},"per_page":{"type":"integer"},"total":{"type":"integer"},"total_pages":{"type":"integer"},"q":{"type":["string","null"]},"area":{"type":["string","null"]},"service":{"type":["string","null"]}}}}}}}}}}},"/providers/{slug}":{"get":{"summary":"Get one published provider","operationId":"getProvider","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Contact, areas, services, facts, nearby providers and review summary.","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","properties":{"id":{"type":"string"},"slug":{"type":"string"},"name":{"type":"string"},"tagline":{"type":"string"},"description":{"type":["string","null"],"description":"Plain text of the provider description."},"url":{"type":"string","format":"uri"},"website_url":{"type":"string","format":"uri"},"phone":{"type":["string","null"]},"address_line":{"type":["string","null"]},"postcode":{"type":["string","null"]},"lat":{"type":["number","null"]},"lng":{"type":["number","null"]},"primary_area":{"type":"object","properties":{"slug":{"type":"string"},"name":{"type":"string"},"url":{"type":"string","format":"uri"}}},"breadcrumb":{"type":"array","items":{"type":"object","properties":{"slug":{"type":"string"},"name":{"type":"string"}}}},"served_areas":{"type":"array","items":{"type":"object","properties":{"slug":{"type":"string"},"name":{"type":"string"},"url":{"type":"string","format":"uri"}}}},"nationwide":{"type":"boolean"},"remote_only":{"type":"boolean"},"services":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"name":{"type":"string"}}}},"accreditations":{"type":"array","items":{"type":"string"}},"industries":{"type":"array","items":{"type":"string"}},"facts":{"type":"object","properties":{"founded_year":{"type":["integer","null"]},"team_size_band":{"type":["string","null"]},"min_users":{"type":["integer","null"]},"support_hours":{"type":["string","null"],"enum":["business_hours","extended","24_7",null]},"response_sla":{"type":["string","null"]},"pricing_from_minor":{"type":["integer","null"],"description":"Pence, excluding VAT."},"pricing_from_unit":{"type":["string","null"],"enum":["user","device","flat",null]}}},"claimed":{"type":"boolean"},"featured":{"type":"boolean"},"updated_at":{"type":"string","format":"date-time"},"nearby":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"slug":{"type":"string"},"name":{"type":"string"},"tagline":{"type":"string"},"area":{"type":"object","properties":{"slug":{"type":"string"},"name":{"type":"string"}}},"services":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"name":{"type":"string"}}}},"nationwide":{"type":"boolean"},"logo_key":{"type":["string","null"]},"url":{"type":"string","format":"uri"},"rating":{"type":["object","null"],"properties":{"average":{"type":"number","description":"Mean rating, one decimal place."},"count":{"type":"integer"}}},"featured":{"type":"boolean","description":"Has a live paid Featured placement in at least one area."},"claimed":{"type":"boolean"}}}},"review_summary":{"type":["object","null"],"properties":{"average":{"type":"number"},"count":{"type":"integer"},"distribution":{"type":"array","items":{"type":"object","properties":{"star":{"type":"integer"},"count":{"type":"integer"}}}}}}}},"meta":{"type":"object","properties":{}}}}}}},"404":{"description":"No resource at that slug.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"not_found"},"message":{"type":"string"}}}}}}}}}}}},"components":{"schemas":{"Error":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"not_found"},"message":{"type":"string"}}}}},"Area":{"type":"object","properties":{"slug":{"type":"string"},"name":{"type":"string"},"kind":{"type":"string","enum":["region","county","council"]},"parent_slug":{"type":["string","null"]},"provider_count":{"type":"integer","description":"Published providers in the area, its sub-areas, or serving it."},"url":{"type":"string","format":"uri"}}},"AreaDetail":{"type":"object","properties":{"slug":{"type":"string"},"name":{"type":"string"},"kind":{"type":"string","enum":["region","county","council"]},"description":{"type":"string"},"url":{"type":"string","format":"uri"},"breadcrumb":{"type":"array","items":{"type":"object","properties":{"slug":{"type":"string"},"name":{"type":"string"},"url":{"type":"string","format":"uri"}}}},"children":{"type":"array","items":{"type":"object","properties":{"slug":{"type":"string"},"name":{"type":"string"},"kind":{"type":"string","enum":["region","county","council"]},"parent_slug":{"type":["string","null"]},"provider_count":{"type":"integer","description":"Published providers in the area, its sub-areas, or serving it."},"url":{"type":"string","format":"uri"}}}},"provider_count":{"type":"integer"},"featured":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"slug":{"type":"string"},"name":{"type":"string"},"tagline":{"type":"string"},"area":{"type":"object","properties":{"slug":{"type":"string"},"name":{"type":"string"}}},"services":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"name":{"type":"string"}}}},"nationwide":{"type":"boolean"},"logo_key":{"type":["string","null"]},"url":{"type":"string","format":"uri"},"rating":{"type":["object","null"],"properties":{"average":{"type":"number","description":"Mean rating, one decimal place."},"count":{"type":"integer"}}},"featured":{"type":"boolean","description":"Has a live paid Featured placement in at least one area."},"claimed":{"type":"boolean"}}},"description":"Live paid placements in this exact area, by start date."},"providers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"slug":{"type":"string"},"name":{"type":"string"},"tagline":{"type":"string"},"area":{"type":"object","properties":{"slug":{"type":"string"},"name":{"type":"string"}}},"services":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"name":{"type":"string"}}}},"nationwide":{"type":"boolean"},"logo_key":{"type":["string","null"]},"url":{"type":"string","format":"uri"},"rating":{"type":["object","null"],"properties":{"average":{"type":"number","description":"Mean rating, one decimal place."},"count":{"type":"integer"}}},"featured":{"type":"boolean","description":"Has a live paid Featured placement in at least one area."},"claimed":{"type":"boolean"}}},"description":"Local providers by rating."},"nationwide":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"slug":{"type":"string"},"name":{"type":"string"},"tagline":{"type":"string"},"area":{"type":"object","properties":{"slug":{"type":"string"},"name":{"type":"string"}}},"services":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"name":{"type":"string"}}}},"nationwide":{"type":"boolean"},"logo_key":{"type":["string","null"]},"url":{"type":"string","format":"uri"},"rating":{"type":["object","null"],"properties":{"average":{"type":"number","description":"Mean rating, one decimal place."},"count":{"type":"integer"}}},"featured":{"type":"boolean","description":"Has a live paid Featured placement in at least one area."},"claimed":{"type":"boolean"}}},"description":"Providers serving the whole UK."}}},"ProviderSummary":{"type":"object","properties":{"id":{"type":"string"},"slug":{"type":"string"},"name":{"type":"string"},"tagline":{"type":"string"},"area":{"type":"object","properties":{"slug":{"type":"string"},"name":{"type":"string"}}},"services":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"name":{"type":"string"}}}},"nationwide":{"type":"boolean"},"logo_key":{"type":["string","null"]},"url":{"type":"string","format":"uri"},"rating":{"type":["object","null"],"properties":{"average":{"type":"number","description":"Mean rating, one decimal place."},"count":{"type":"integer"}}},"featured":{"type":"boolean","description":"Has a live paid Featured placement in at least one area."},"claimed":{"type":"boolean"}}},"ProviderDetail":{"type":"object","properties":{"id":{"type":"string"},"slug":{"type":"string"},"name":{"type":"string"},"tagline":{"type":"string"},"description":{"type":["string","null"],"description":"Plain text of the provider description."},"url":{"type":"string","format":"uri"},"website_url":{"type":"string","format":"uri"},"phone":{"type":["string","null"]},"address_line":{"type":["string","null"]},"postcode":{"type":["string","null"]},"lat":{"type":["number","null"]},"lng":{"type":["number","null"]},"primary_area":{"type":"object","properties":{"slug":{"type":"string"},"name":{"type":"string"},"url":{"type":"string","format":"uri"}}},"breadcrumb":{"type":"array","items":{"type":"object","properties":{"slug":{"type":"string"},"name":{"type":"string"}}}},"served_areas":{"type":"array","items":{"type":"object","properties":{"slug":{"type":"string"},"name":{"type":"string"},"url":{"type":"string","format":"uri"}}}},"nationwide":{"type":"boolean"},"remote_only":{"type":"boolean"},"services":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"name":{"type":"string"}}}},"accreditations":{"type":"array","items":{"type":"string"}},"industries":{"type":"array","items":{"type":"string"}},"facts":{"type":"object","properties":{"founded_year":{"type":["integer","null"]},"team_size_band":{"type":["string","null"]},"min_users":{"type":["integer","null"]},"support_hours":{"type":["string","null"],"enum":["business_hours","extended","24_7",null]},"response_sla":{"type":["string","null"]},"pricing_from_minor":{"type":["integer","null"],"description":"Pence, excluding VAT."},"pricing_from_unit":{"type":["string","null"],"enum":["user","device","flat",null]}}},"claimed":{"type":"boolean"},"featured":{"type":"boolean"},"updated_at":{"type":"string","format":"date-time"},"nearby":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"slug":{"type":"string"},"name":{"type":"string"},"tagline":{"type":"string"},"area":{"type":"object","properties":{"slug":{"type":"string"},"name":{"type":"string"}}},"services":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"name":{"type":"string"}}}},"nationwide":{"type":"boolean"},"logo_key":{"type":["string","null"]},"url":{"type":"string","format":"uri"},"rating":{"type":["object","null"],"properties":{"average":{"type":"number","description":"Mean rating, one decimal place."},"count":{"type":"integer"}}},"featured":{"type":"boolean","description":"Has a live paid Featured placement in at least one area."},"claimed":{"type":"boolean"}}}},"review_summary":{"type":["object","null"],"properties":{"average":{"type":"number"},"count":{"type":"integer"},"distribution":{"type":"array","items":{"type":"object","properties":{"star":{"type":"integer"},"count":{"type":"integer"}}}}}}}}}}}