---
title: "Report a failed call you observed to a public API host."
method: POST
path: "/v1/observations"
tags: ["Contribute — API key, opt-in"]
---

# Report a failed call you observed to a public API host.

`POST /v1/observations`

## Request

- Base URL: `https://outage.me`
- URL: `https://outage.me/v1/observations`
- Auth: API key in header `x-tarantula-api-key`

Counts once per organization, host and error class per 15 minutes. Shown publicly only when 3+ organizations report and the failure is confirmed; each confirmed report adds +5 Ask questions (max 50/day). Only hosts on /agent/hosts.json; the organization must turn on contributing. Reference: /agents/api

## Request body

- object
  - `host` string, required: Hostname from /agent/hosts.json only: no scheme, port, path or query.
  - `error_class` 'http_5xx' | 'timeout' | 'connection_refused' | 'dns_failure' | 'tls_error', required
  - `region` string: Where your software runs. Never published.
  - `report_token` string: Single-use token offered by a status answer (MCP).

## Response `200`

Recorded (pending), already counted (duplicate) or paused (ignored)

- object
  - `status` 'pending' | 'duplicate' | 'ignored', required
  - `host` string
  - `service` string
  - `window` string
  - `credit_on_confirmation` integer
  - `reason` string

## Other responses

- `400`: Outside the closed set (host, class, field, region)
- `403`: Missing key, or contributing is off for the organization
- `404`: Contributions are switched off service-wide

---

[API](https://skmtc.dev/outage/apis/outage-me-agent-api.md) · [All operations](https://skmtc.dev/outage/apis/outage-me-agent-api/llms.txt) · [OpenAPI document](https://skmtc.dev/outage/apis/outage-me-agent-api/revisions/34d6abde73dd?raw)
