{"meta":{"version":"v1","pricing":{"public":{"label":"Public","description":"Read-only API access for lightweight status checks and public integrations."},"premium":{"label":"Premium (early access)","description":"API keys with higher hourly quotas are available now; webhooks, alerting, and exports are on the roadmap."}},"generatedAt":"2026-07-09T01:12:37.609Z"},"data":{"id":"incident_statuspage_pypi_mxgkk3xxr9v7","slug":"pypi-pypi-down-2022-04-05","title":"PyPI Down","summary":"PyPI Down","status":"resolved","severity":"major","startedAt":"2022-04-05T15:25:31.961+00:00","updatedAt":"2022-04-05T16:43:50.868+00:00","resolvedAt":"2022-04-05T16:36:32.112+00:00","provider":{"slug":"pypi","name":"PyPI"},"affectedServices":[{"slug":"pypi-files","name":"Package Downloads"},{"slug":"pypi-index","name":"PyPI Package Index"}],"links":{"html":"/incidents/pypi-pypi-down-2022-04-05","api":"/api/v1/incidents/pypi-pypi-down-2022-04-05","providerHtml":"/providers/pypi"},"impactSummary":"PyPI reported a major event for the affected tracked services.","source":{"id":"source_pypi_status","kind":"official_api","name":"Python Infrastructure Status","checkedAt":"2026-07-09T01:10:22.342+00:00","officialUrl":"https://status.python.org","statusPageUrl":"https://status.python.org"},"updates":[{"id":"update_statuspage_pypi_mxgkk3xxr9v7_d29zxxqv7tv5","status":"investigating","body":"All backend services for PyPI are down due to a cascading failure in our deployment tooling. We are investigating and working on restoring service.","createdAt":"2022-04-05T15:25:32.026+00:00"},{"id":"update_statuspage_pypi_mxgkk3xxr9v7_rnlf6675pc60","status":"identified","body":"Core failed service has been identified and is coming back online. Next we'll bring up the ancillary services. Once all our automation services are online we can begin to bring the applications back.","createdAt":"2022-04-05T15:38:43.234+00:00"},{"id":"update_statuspage_pypi_mxgkk3xxr9v7_kslb997nxgvy","status":"monitoring","body":"Applications are coming back online and we are monitoring for stability.","createdAt":"2022-04-05T15:41:43.09+00:00"},{"id":"update_statuspage_pypi_mxgkk3xxr9v7_v8pzlr5n28h8","status":"resolved","body":"This incident is resolved.","createdAt":"2022-04-05T16:36:32.112+00:00"},{"id":"update_statuspage_pypi_mxgkk3xxr9v7_tm0rq264x4kh","status":"resolved","body":"At approximately 15:00 UTC, the TLS certificates that PyPI’s internal deployment tooling uses to secure access to Vault expired. This led to a cascading failure within the PyPI infrastructure that caused running pods to lose access to secure credentials and stopped new instances from being launched.  \n  \nUnder normal circumstances, this would have been resolved as the Vault instances restarted and retrieved a new TLS certificate, but an abnormally large backlog of expired leases caused the new Vault instances to crash on startup and required manual intervention to cleanup extraneous leases.  \n  \nThe initial remedy will be to upgrade our Vault instances to a version that resolves the crash on launch issue when the quantity of expired leases is too high, which would allow for this outage to have been recovered in a more automated fashion. Longer term, research and development time will be allocated to improving the automation around detection of instances nearing expiration as well as mechanisms to securely automate the unseal process for our secure storage.","createdAt":"2022-04-05T16:36:37.311+00:00"}],"access":{"plan":"public","keyed":false}}}