{"openapi":"3.1.0","info":{"title":"UpIran public API","version":"1.0.0","description":"Read-only, unauthenticated catalog of free downloads hosted in Iran, plus developer mirror status.","contact":{"url":"https://homacrm.com"}},"servers":[{"url":"https://upiran.ir"}],"paths":{"/api/v1/search":{"get":{"operationId":"searchDownloads","summary":"Search the download catalog","parameters":[{"name":"q","in":"query","schema":{"type":"string","maxLength":80},"description":"Free text, matches name and summary. English names work best."},{"name":"category","in":"query","schema":{"type":"string","enum":["browsers","security","developer-tools","media","utilities","office","operating-systems","drivers"]}},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":100,"default":20}},{"name":"offset","in":"query","schema":{"type":"integer","minimum":0,"default":0}}],"responses":{"200":{"description":"Results","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchResult"}}}},"429":{"description":"Too many requests"}}}},"/api/v1/downloads/{slug}":{"get":{"operationId":"getDownload","summary":"One catalog entry with checksum and download URL","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Entry","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Entry"}}}},"404":{"description":"Unknown slug"}}}},"/api/v1/categories":{"get":{"operationId":"listCategories","summary":"Catalog categories","responses":{"200":{"description":"Categories"}}}},"/api/v1/mirrors":{"get":{"operationId":"listMirrors","summary":"Developer mirrors and their status (live or planned)","responses":{"200":{"description":"Mirrors"}}}},"/dl/{slug}":{"get":{"operationId":"downloadFile","summary":"Download the file (supports HEAD and Range)","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"File bytes; verify X-Checksum-Sha256"},"206":{"description":"Partial content"}}}}},"components":{"schemas":{"Entry":{"type":"object","required":["slug","name","download_url"],"properties":{"slug":{"type":"string"},"name":{"type":"string"},"category":{"type":"string"},"version":{"type":["string","null"]},"summary":{"type":"string"},"license":{"type":["string","null"]},"size_bytes":{"type":["integer","null"]},"sha256":{"type":["string","null"]},"downloads":{"type":"integer"},"page_url":{"type":"string","format":"uri"},"download_url":{"type":"string","format":"uri"},"markdown_url":{"type":"string","format":"uri"},"updated_at":{"type":["string","null"],"format":"date-time"}}},"SearchResult":{"type":"object","properties":{"query":{"type":["string","null"]},"category":{"type":["string","null"]},"limit":{"type":"integer"},"offset":{"type":"integer"},"count":{"type":"integer"},"results":{"type":"array","items":{"$ref":"#/components/schemas/Entry"}}}}}}}