{"openapi":"3.1.0","info":{"title":"linux.wtf Catalog API","description":"Curated upstream metadata and verified mirror availability. All timestamps are UTC. Official download pages may advance beyond the catalog snapshot. No arbitrary URL fetching or redirects are accepted.","version":"1.0.0"},"paths":{"/api/v1/distributions":{"get":{"tags":["Catalog"],"summary":"Api List","description":"Search and filter distributions. Empty filters mean all values; unknown filters are rejected.","operationId":"api_list_api_v1_distributions_get","parameters":[{"name":"q","in":"query","required":false,"schema":{"type":"string","maxLength":120,"default":"","title":"Q"}},{"name":"purpose","in":"query","required":false,"schema":{"anyOf":[{"enum":["desktop","server","minimal"],"type":"string"},{"type":"null"}],"title":"Purpose"}},{"name":"architecture","in":"query","required":false,"schema":{"anyOf":[{"enum":["x86_64","aarch64","x86","armv7","ppc64le","riscv64","s390x"],"type":"string"},{"type":"null"}],"title":"Architecture"}},{"name":"family","in":"query","required":false,"schema":{"anyOf":[{"enum":["debian","fedora","arch","suse","independent"],"type":"string"},{"type":"null"}],"title":"Family"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":24,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","maximum":10000,"minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CatalogPage"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Not Found"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unprocessable Content"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Too Many Requests"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Internal Server Error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Service Unavailable"}}}},"/api/v1/distributions/{slug}":{"get":{"tags":["Catalog"],"summary":"Api Detail","operationId":"api_detail_api_v1_distributions__slug__get","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistributionDetail"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Not Found"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unprocessable Content"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Too Many Requests"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Internal Server Error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Service Unavailable"}}}},"/api/v1/distributions/{slug}/releases":{"get":{"tags":["Releases"],"summary":"Api Releases","description":"List all cataloged releases; current=false selects older versions. This is a curated history, not a complete upstream archive or support-status assertion.","operationId":"api_releases_api_v1_distributions__slug__releases_get","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}},{"name":"current","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Current"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ReleaseDetail"},"title":"Response Api Releases Api V1 Distributions  Slug  Releases Get"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Not Found"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unprocessable Content"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Too Many Requests"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Internal Server Error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Service Unavailable"}}}},"/api/v1/distributions/{slug}/releases/{release_id}":{"get":{"tags":["Releases"],"summary":"Api Release","operationId":"api_release_api_v1_distributions__slug__releases__release_id__get","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}},{"name":"release_id","in":"path","required":true,"schema":{"type":"string","title":"Release Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReleaseDetail"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Not Found"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unprocessable Content"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Too Many Requests"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Internal Server Error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Service Unavailable"}}}},"/api/v1/distributions/{slug}/releases/{release_id}/downloads":{"get":{"tags":["Downloads"],"summary":"Api Downloads","operationId":"api_downloads_api_v1_distributions__slug__releases__release_id__downloads_get","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}},{"name":"release_id","in":"path","required":true,"schema":{"type":"string","title":"Release Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Download"},"title":"Response Api Downloads Api V1 Distributions  Slug  Releases  Release Id  Downloads Get"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Not Found"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unprocessable Content"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Too Many Requests"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Internal Server Error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Service Unavailable"}}}}},"components":{"schemas":{"CatalogPage":{"properties":{"items":{"items":{"$ref":"#/components/schemas/DistributionSummary"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"},"limit":{"type":"integer","title":"Limit"},"offset":{"type":"integer","title":"Offset"}},"type":"object","required":["items","total","limit","offset"],"title":"CatalogPage"},"DistributionDetail":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"monogram":{"type":"string","title":"Monogram"},"summary":{"type":"string","title":"Summary"},"family":{"type":"string","enum":["debian","fedora","arch","suse","independent"],"title":"Family"},"purposes":{"items":{"type":"string","enum":["desktop","server","minimal"]},"type":"array","title":"Purposes"},"website":{"type":"string","title":"Website"},"source_type":{"type":"string","enum":["official","user-provided"],"title":"Source Type","default":"official"},"reviewed_on":{"type":"string","format":"date","title":"Reviewed On"},"metadata_stale":{"type":"boolean","title":"Metadata Stale"},"architectures":{"items":{"type":"string","enum":["x86_64","aarch64","x86","armv7","ppc64le","riscv64","s390x"]},"type":"array","title":"Architectures"},"release_label":{"type":"string","title":"Release Label"},"hosted_count":{"type":"integer","title":"Hosted Count"},"archive_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Archive Url"},"history_checked_on":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"History Checked On"},"history_status":{"type":"string","enum":["not-synced","synced","failed"],"title":"History Status"},"history_sources":{"items":{"type":"string"},"type":"array","title":"History Sources"},"history_note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"History Note"},"redistribution_notes":{"type":"string","title":"Redistribution Notes"},"redistribution_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Redistribution Url"},"releases":{"items":{"$ref":"#/components/schemas/ReleaseDetail"},"type":"array","title":"Releases"}},"type":"object","required":["id","name","monogram","summary","family","purposes","website","reviewed_on","metadata_stale","architectures","release_label","hosted_count","archive_url","history_checked_on","history_status","history_sources","history_note","redistribution_notes","redistribution_url","releases"],"title":"DistributionDetail"},"DistributionSummary":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"monogram":{"type":"string","title":"Monogram"},"summary":{"type":"string","title":"Summary"},"family":{"type":"string","enum":["debian","fedora","arch","suse","independent"],"title":"Family"},"purposes":{"items":{"type":"string","enum":["desktop","server","minimal"]},"type":"array","title":"Purposes"},"website":{"type":"string","title":"Website"},"source_type":{"type":"string","enum":["official","user-provided"],"title":"Source Type","default":"official"},"reviewed_on":{"type":"string","format":"date","title":"Reviewed On"},"metadata_stale":{"type":"boolean","title":"Metadata Stale"},"architectures":{"items":{"type":"string","enum":["x86_64","aarch64","x86","armv7","ppc64le","riscv64","s390x"]},"type":"array","title":"Architectures"},"release_label":{"type":"string","title":"Release Label"},"hosted_count":{"type":"integer","title":"Hosted Count"}},"type":"object","required":["id","name","monogram","summary","family","purposes","website","reviewed_on","metadata_stale","architectures","release_label","hosted_count"],"title":"DistributionSummary"},"Download":{"properties":{"id":{"type":"string","maxLength":80,"pattern":"^[a-z0-9]+(?:[.-][a-z0-9]+)*$","title":"Id"},"label":{"type":"string","title":"Label"},"architecture":{"anyOf":[{"type":"string","enum":["x86_64","aarch64","x86","armv7","ppc64le","riscv64","s390x"]},{"type":"null"}],"title":"Architecture"},"kind":{"type":"string","enum":["image","download-page","external-image"],"title":"Kind"},"official_url":{"type":"string","title":"Official Url"},"filename":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Filename"},"upstream_size_bytes":{"anyOf":[{"type":"integer","exclusiveMinimum":0.0},{"type":"null"}],"title":"Upstream Size Bytes"},"checksum_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Checksum Url"},"checksum_format":{"type":"string","enum":["sha256-text","sha256-file","sha512-text","sha1-text","md5-text","legacy-unchecked","owner-unchecked","fedora-json","arch-json","pop-json"],"title":"Checksum Format","default":"sha256-text"},"signature_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Signature Url"},"verification_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Verification Url"},"access_requires_account":{"type":"boolean","title":"Access Requires Account","default":false},"checksum_algorithm":{"anyOf":[{"type":"string","enum":["SHA256","SHA512","SHA1","MD5"]},{"type":"null"}],"title":"Checksum Algorithm"},"release_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Release Version"},"upstream_source":{"type":"string","title":"Upstream Source"},"official":{"anyOf":[{"$ref":"#/components/schemas/OfficialDownload"},{"type":"null"}]},"hosted":{"$ref":"#/components/schemas/HostedDownload"}},"additionalProperties":false,"type":"object","required":["id","label","architecture","kind","official_url","checksum_algorithm","release_version","upstream_source","official","hosted"],"title":"Download"},"ErrorDetail":{"properties":{"code":{"type":"string","title":"Code"},"message":{"type":"string","title":"Message"},"request_id":{"type":"string","title":"Request Id"},"details":{"anyOf":[{"items":{"additionalProperties":{"type":"string"},"type":"object"},"type":"array"},{"type":"null"}],"title":"Details"},"official_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Official Url"}},"type":"object","required":["code","message","request_id"],"title":"ErrorDetail"},"ErrorResponse":{"properties":{"error":{"$ref":"#/components/schemas/ErrorDetail"}},"type":"object","required":["error"],"title":"ErrorResponse"},"HostedDownload":{"properties":{"available":{"type":"boolean","title":"Available"},"status":{"type":"string","title":"Status"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"},"verification":{"anyOf":[{"$ref":"#/components/schemas/Verification"},{"type":"null"}]},"last_updated":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Updated"},"size_bytes":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Size Bytes"},"redistribution":{"anyOf":[{"$ref":"#/components/schemas/Redistribution"},{"type":"null"}]}},"type":"object","required":["available","status","url","verification","last_updated"],"title":"HostedDownload"},"OfficialDownload":{"properties":{"url":{"type":"string","title":"Url"},"kind":{"type":"string","enum":["image","download-page","external-image"],"title":"Kind"},"redirect_path":{"type":"string","title":"Redirect Path"}},"type":"object","required":["url","kind","redirect_path"],"title":"OfficialDownload"},"Redistribution":{"properties":{"terms_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Terms Url"},"source_offer_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Offer Url"},"source_information_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Information Url"},"source_archived_locally":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Source Archived Locally"},"review_type":{"type":"string","enum":["curated-policy","operator-review","owner-request"],"title":"Review Type"},"policy_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Policy Id"},"reviewed_on":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reviewed On"},"requested_on":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Requested On"}},"type":"object","required":["review_type"],"title":"Redistribution"},"ReleaseDetail":{"properties":{"id":{"type":"string","title":"Id"},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Version"},"label":{"type":"string","title":"Label"},"released_on":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Released On"},"current":{"type":"boolean","title":"Current"},"history_imported":{"type":"boolean","title":"History Imported"},"notes":{"type":"string","title":"Notes"},"source_url":{"type":"string","title":"Source Url"},"downloads":{"items":{"$ref":"#/components/schemas/Download"},"type":"array","title":"Downloads"}},"type":"object","required":["id","version","label","released_on","current","history_imported","notes","source_url","downloads"],"title":"ReleaseDetail"},"Verification":{"properties":{"method":{"type":"string","enum":["sha256-official-https","sha512-official-https","legacy-sha1-official-https","legacy-md5-official-https","local-sha256-official-https","local-sha256-owner-provided"],"title":"Method"},"sha256":{"type":"string","title":"Sha256"},"upstream_algorithm":{"anyOf":[{"type":"string","enum":["SHA256","SHA512","SHA1","MD5"]},{"type":"null"}],"title":"Upstream Algorithm"},"upstream_checksum":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Upstream Checksum"},"checksum_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Checksum Url"},"signature_verified":{"type":"boolean","title":"Signature Verified"},"signature_legacy":{"type":"boolean","title":"Signature Legacy","default":false},"signature_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Signature Url"},"signing_key_fingerprint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Signing Key Fingerprint"},"verified_at":{"type":"string","title":"Verified At"}},"type":"object","required":["method","sha256","upstream_algorithm","upstream_checksum","checksum_url","signature_verified","verified_at"],"title":"Verification"}}}}