{"openapi":"3.1.0","info":{"title":"Rossmann Repair Group Public Service Guide API","version":"1.0.0","description":"A public, unauthenticated, read-only API for selecting the relevant data recovery service and finding official mail-in or contact resources. It does not diagnose devices, quote case-specific work, open cases, collect personal data, or guarantee recovery. Incompatible releases use a new versioned path. Before a version is removed, migration guidance is published and affected responses use the standard Deprecation and Sunset headers.","termsOfService":"https://rossmanngroup.com/terms-of-service","contact":{"name":"Rossmann Repair Group","url":"https://rossmanngroup.com/contact"}},"servers":[{"url":"https://rossmanngroup.com","description":"Current Rossmann Repair Group site"}],"tags":[{"name":"Service guide","description":"Read-only navigation to official data recovery resources."}],"paths":{"/api/v1/service-guide":{"get":{"operationId":"getRecoveryServiceGuide","summary":"Find official data recovery resources","description":"Returns all supported device categories or the official service page for one category. A match is navigational guidance, not a diagnosis or recovery guarantee.","tags":["Service guide"],"security":[],"parameters":[{"name":"device_type","in":"query","required":false,"description":"Optional device category. Omit it to list every supported category.","schema":{"type":"string","enum":["hard_drive","iphone","macbook","nas","raid","sd_card","ssd","usb_drive"]}}],"responses":{"200":{"description":"Official service, mail-in, and contact links","headers":{"RateLimit-Limit":{"description":"Maximum public reads allowed in the current window.","schema":{"type":"integer","example":120}},"RateLimit-Remaining":{"description":"Public reads remaining in the current window.","schema":{"type":"integer","example":119}},"RateLimit-Reset":{"description":"Seconds until the current window resets.","schema":{"type":"integer","example":60}},"Deprecation":{"description":"Present only after this API version is deprecated. Uses the standard HTTP date form.","schema":{"type":"string","format":"date-time"}},"Sunset":{"description":"Present only for a deprecated version with a scheduled removal date. Uses an HTTP date.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceGuide"}}}},"400":{"description":"The device_type value is not supported.","headers":{"RateLimit-Limit":{"description":"Maximum public reads allowed in the current window.","schema":{"type":"integer","example":120}},"RateLimit-Remaining":{"description":"Public reads remaining in the current window.","schema":{"type":"integer","example":119}},"RateLimit-Reset":{"description":"Seconds until the current window resets.","schema":{"type":"integer","example":60}},"Deprecation":{"description":"Present only after this API version is deprecated. Uses the standard HTTP date form.","schema":{"type":"string","format":"date-time"}},"Sunset":{"description":"Present only for a deprecated version with a scheduled removal date. Uses an HTTP date.","schema":{"type":"string"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"The public read limit was exceeded.","headers":{"RateLimit-Limit":{"description":"Maximum public reads allowed in the current window.","schema":{"type":"integer","example":120}},"RateLimit-Remaining":{"description":"Public reads remaining in the current window.","schema":{"type":"integer","example":119}},"RateLimit-Reset":{"description":"Seconds until the current window resets.","schema":{"type":"integer","example":60}},"Retry-After":{"description":"Seconds until another request should be attempted.","schema":{"type":"integer","minimum":1}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}}},"components":{"schemas":{"ApiIndex":{"type":"object","additionalProperties":false,"required":["name","version","authentication","access","endpoints"],"properties":{"name":{"type":"string"},"version":{"type":"string"},"authentication":{"type":"string","const":"none"},"access":{"type":"string","const":"public-read-only"},"endpoints":{"type":"object","additionalProperties":false,"required":["serviceGuide","openapi","documentation"],"properties":{"serviceGuide":{"type":"string","format":"uri"},"openapi":{"type":"string","format":"uri"},"documentation":{"type":"string","format":"uri"}}}}},"ServiceLink":{"type":"object","additionalProperties":false,"required":["deviceType","url"],"properties":{"deviceType":{"type":"string","enum":["hard_drive","iphone","macbook","nas","raid","sd_card","ssd","usb_drive"]},"url":{"type":"string","format":"uri"}}},"ServiceGuide":{"type":"object","additionalProperties":false,"required":["services","mailInUrl","contactUrl","lab","guardrails"],"properties":{"services":{"type":"array","items":{"$ref":"#/components/schemas/ServiceLink"}},"mailInUrl":{"type":"string","format":"uri"},"contactUrl":{"type":"string","format":"uri"},"lab":{"type":"object","additionalProperties":false,"required":["address","physicalLocations"],"properties":{"address":{"type":"string"},"physicalLocations":{"type":"integer","const":1}}},"guardrails":{"type":"array","items":{"type":"string"},"minItems":1}}},"Problem":{"type":"object","additionalProperties":false,"required":["type","title","status","detail","instance","code","resolution"],"properties":{"type":{"type":"string","format":"uri"},"title":{"type":"string"},"status":{"type":"integer","minimum":400,"maximum":599},"detail":{"type":"string"},"instance":{"type":"string"},"code":{"type":"string"},"resolution":{"type":"string"}}}}},"security":[],"externalDocs":{"description":"Human-readable developer guide","url":"https://rossmanngroup.com/developers"}}