---
title: "Incident Preparation: Simulating Third-Party Downtime"
description: "Heroku’s help application depends on the Platform API for authentication, authorization, and user data, so it must remain available to agents and customers during platform incidents. The open-sourced api-maintenance-sim app tests this requirement by imitating an outage in which every request receives an HTTP 503 Service Unavailable response. After deploying the simulator, teams point the application under test to its hostname through PLATFORM_API_URL, passed to platform-api’s connect_oauth method; when unset, the gem uses the production URI. A heroku config:set command enables the alternate endpoint, making regular simulations possible and helping reveal what failure means for the application or service when the Platform API is unavailable, supporting preparation for incidents and communication during outages."
---

# Incident Preparation: Simulating Third-Party Downtime

[Heroku](https://yomu.fyi/company/heroku) · Damien Mathieu · Mar 1, 2016

**Type:** Tutorial

## Summary

Heroku’s help application depends on the Platform API for authentication, authorization, and user data, so it must remain available to agents and customers during platform incidents. The open-sourced api-maintenance-sim app tests this requirement by imitating an outage in which every request receives an HTTP 503 Service Unavailable response. After deploying the simulator, teams point the application under test to its hostname through PLATFORM\_API\_URL, passed to platform-api’s connect\_oauth method; when unset, the gem uses the production URI. A heroku config:set command enables the alternate endpoint, making regular simulations possible and helping reveal what failure means for the application or service when the Platform API is unavailable, supporting preparation for incidents and communication during outages.

## Context

Heroku’s help application and similar support tools must remain available to agents and customers during Platform API incidents, because communication is essential during an outage.

## Approach / What changed

Deploy the open-sourced api-maintenance-sim app, which returns HTTP 503 for every request, then configure the application under test to use its hostname through PLATFORM\_API\_URL. The simulation is started with a heroku config:set command.

## Takeaways

- api-maintenance-sim imitates a Platform API incident by returning a 503 Service Unavailable response for every request.
- The platform-api gem accepts a custom endpoint through PLATFORM\_API\_URL; when the variable is unset, it uses the production URI.
- Regular downtime simulations can reveal how an application or service behaves when the Platform API is unavailable.

**Tags:** [API](https://yomu.fyi/topic/api), [Incident Response](https://yomu.fyi/topic/incident-response), [Testing](https://yomu.fyi/topic/testing)

- Source: [Heroku](https://www.heroku.com/blog/simulate-downtime)
- Source URL: https://www.heroku.com/blog/simulate-downtime
- Ingested by Yomu: 2026-09-09T14:24:36.096Z

[Read original post](https://www.heroku.com/blog/simulate-downtime)
