{
  "info": {
    "_postman_id": "b21933f2-72f6-3309-dece-c10464d28c75",
    "name": "SandboxAPIs — Prometheus",
    "description": "Every read SandboxAPIs serves on Prometheus, pointed at https://prom.sandboxapis.dev.\n\n30 requests, one per served row of our coverage manifest. PATHS ONLY: this file carries no request or\nresponse schema, because a schema is the part of an API description we do not own. It is generated from\ncoverage/COVERAGE_MANIFEST.yaml — our own record of what THIS host answers — and never from a vendor's\npublished specification, several of which may not be redistributed.\n\nThe host is read-only. Every write verb answers the provider's own error shape with a message naming what was\nattempted; the \"Read-only refusal, on purpose\" folder holds one so the shape is discoverable.\n\nNo credentials are needed — any value in `apiKey` is accepted, and a real SandboxAPIs key only raises the rate\nlimit. Path variables left blank are identifiers that move when the live host re-rolls; fill them from a list\nresponse.",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "auth": {
    "type": "bearer",
    "bearer": [
      {
        "key": "token",
        "value": "{{apiKey}}",
        "type": "string"
      }
    ]
  },
  "variable": [
    {
      "key": "baseUrl",
      "value": "https://prom.sandboxapis.dev",
      "type": "string",
      "description": "The live Prometheus host. Swap it for a *.snap. pin to freeze the data for CI."
    },
    {
      "key": "apiKey",
      "value": "any-token",
      "type": "string",
      "description": "No key is required — any value is accepted. A SandboxAPIs key raises the rate limit and rides Authorization: Bearer <key> (what a Prometheus behind an authenticating proxy expects)."
    }
  ],
  "item": [
    {
      "name": "alerts",
      "item": [
        {
          "name": "GET /alertmanagers",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/alertmanagers",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "alertmanagers"
              ]
            },
            "description": "Served by SandboxAPIs. Family: alerts.\n\nAnswers an EMPTY collection, and that is the true answer for this universe — not a gap. This data set's Prometheus sends no alert to an alertmanager: paging is modelled by the incident hosts (PagerDuty's escalation policies route every page), so the discovery lists are the CAPTURED empty {activeAlertmanagers: [], droppedAlertmanagers: []} (2026-10-23)"
          }
        },
        {
          "name": "GET /alerts",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/alerts",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "alerts"
              ]
            },
            "description": "Served by SandboxAPIs. Family: alerts."
          }
        }
      ]
    },
    {
      "name": "features",
      "item": [
        {
          "name": "GET /features",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/features",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "features"
              ]
            },
            "description": "Served by SandboxAPIs. Family: features."
          }
        }
      ]
    },
    {
      "name": "labels",
      "item": [
        {
          "name": "GET /label/{name}/values",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/label/:name/values",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "label",
                ":name",
                "values"
              ],
              "variable": [
                {
                  "key": "name",
                  "value": "",
                  "description": "name — fill this in; no identifier of this kind survives the live host's daily re-roll, so none is printed here."
                }
              ]
            },
            "description": "Served by SandboxAPIs. Family: labels."
          }
        },
        {
          "name": "GET /labels",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/labels",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "labels"
              ]
            },
            "description": "Served by SandboxAPIs. Family: labels."
          }
        },
        {
          "name": "POST /labels",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/labels",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "labels"
              ]
            },
            "description": "Served by SandboxAPIs. Family: labels.",
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        }
      ]
    },
    {
      "name": "metadata",
      "item": [
        {
          "name": "GET /metadata",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/metadata",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "metadata"
              ]
            },
            "description": "Served by SandboxAPIs. Family: metadata."
          }
        }
      ]
    },
    {
      "name": "notifications",
      "item": [
        {
          "name": "GET /notifications",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/notifications",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "notifications"
              ]
            },
            "description": "Served by SandboxAPIs. Family: notifications.\n\nAnswers an EMPTY collection, and that is the true answer for this universe — not a gap. This data set's Prometheus has raised no server notification (no failed config reload, no shutdown), and the release's answer with none is the CAPTURED empty array (2026-10-23)"
          }
        }
      ]
    },
    {
      "name": "query",
      "item": [
        {
          "name": "GET /format_query",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/format_query",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "format_query"
              ]
            },
            "description": "Served by SandboxAPIs. Family: query."
          }
        },
        {
          "name": "POST /format_query",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/format_query",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "format_query"
              ]
            },
            "description": "Served by SandboxAPIs. Family: query.",
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "GET /parse_query",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/parse_query",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "parse_query"
              ]
            },
            "description": "Served by SandboxAPIs. Family: query."
          }
        },
        {
          "name": "POST /parse_query",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/parse_query",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "parse_query"
              ]
            },
            "description": "Served by SandboxAPIs. Family: query.",
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "GET /query",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/query",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "query"
              ]
            },
            "description": "Served by SandboxAPIs. Family: query."
          }
        },
        {
          "name": "POST /query",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/query",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "query"
              ]
            },
            "description": "Served by SandboxAPIs. Family: query.",
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "GET /query_exemplars",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/query_exemplars",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "query_exemplars"
              ]
            },
            "description": "Served by SandboxAPIs. Family: query.\n\nAnswers an EMPTY collection, and that is the true answer for this universe — not a gap. This data set records no exemplar: exemplar storage is reported off (/features exemplar_storage false), so no sample has an exemplar attached, and Prometheus's own answer for a query with none is CAPTURED as {\"status\":\"success\",\"data\":[]} at 200 (2026-10-23)"
          }
        },
        {
          "name": "POST /query_exemplars",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/query_exemplars",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "query_exemplars"
              ]
            },
            "description": "Served by SandboxAPIs. Family: query.\n\nAnswers an EMPTY collection, and that is the true answer for this universe — not a gap. The POST form of the exemplar query beside it, with the same parameters and the same truthful answer: this data set records no exemplar (exemplar storage is reported off, /features exemplar_storage false), so the data is the captured empty array",
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "GET /query_range",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/query_range",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "query_range"
              ]
            },
            "description": "Served by SandboxAPIs. Family: query."
          }
        },
        {
          "name": "POST /query_range",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/query_range",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "query_range"
              ]
            },
            "description": "Served by SandboxAPIs. Family: query.",
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        }
      ]
    },
    {
      "name": "rules",
      "item": [
        {
          "name": "GET /rules",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/rules",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "rules"
              ]
            },
            "description": "Served by SandboxAPIs. Family: rules."
          }
        }
      ]
    },
    {
      "name": "series",
      "item": [
        {
          "name": "GET /series",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/series",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "series"
              ]
            },
            "description": "Served by SandboxAPIs. Family: series."
          }
        },
        {
          "name": "POST /series",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/series",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "series"
              ]
            },
            "description": "Served by SandboxAPIs. Family: series.",
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        }
      ]
    },
    {
      "name": "status",
      "item": [
        {
          "name": "GET /status/buildinfo",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/status/buildinfo",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "status",
                "buildinfo"
              ]
            },
            "description": "Served by SandboxAPIs. Family: status."
          }
        },
        {
          "name": "GET /status/config",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/status/config",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "status",
                "config"
              ]
            },
            "description": "Served by SandboxAPIs. Family: status."
          }
        },
        {
          "name": "GET /status/flags",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/status/flags",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "status",
                "flags"
              ]
            },
            "description": "Served by SandboxAPIs. Family: status."
          }
        },
        {
          "name": "GET /status/tsdb",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/status/tsdb",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "status",
                "tsdb"
              ]
            },
            "description": "Served by SandboxAPIs. Family: status."
          }
        },
        {
          "name": "GET /status/tsdb/blocks",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/status/tsdb/blocks",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "status",
                "tsdb",
                "blocks"
              ]
            },
            "description": "Served by SandboxAPIs. Family: status.\n\nAnswers an EMPTY collection, and that is the true answer for this universe — not a gap. Every sample this replica holds is served from the head, so there is no persisted block to describe, and an empty head's answer is the CAPTURED {blocks: []} (2026-10-23)"
          }
        },
        {
          "name": "GET /status/walreplay",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/status/walreplay",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "status",
                "walreplay"
              ]
            },
            "description": "Served by SandboxAPIs. Family: status."
          }
        }
      ]
    },
    {
      "name": "targets",
      "item": [
        {
          "name": "GET /scrape_pools",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/scrape_pools",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "scrape_pools"
              ]
            },
            "description": "Served by SandboxAPIs. Family: targets.\n\nAnswers an EMPTY collection, and that is the true answer for this universe — not a gap. No scrape job is configured in this data set's Prometheus, because its series arrive by remote write, so the pool list is the CAPTURED empty {scrapePools: []} (2026-10-23)"
          }
        },
        {
          "name": "GET /targets",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/targets",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "targets"
              ]
            },
            "description": "Served by SandboxAPIs. Family: targets.\n\nAnswers an EMPTY collection, and that is the true answer for this universe — not a gap. This data set's series arrive by remote write (its /status/flags reports the remote-write receiver on and its configuration has no scrape job), so Prometheus has no target to list, and the release's own answer with no scrape job is CAPTURED as {activeTargets: [], droppedTargets: [], droppedTargetCounts: {}} (2026-10-23)"
          }
        },
        {
          "name": "GET /targets/metadata",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/targets/metadata",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "targets",
                "metadata"
              ]
            },
            "description": "Served by SandboxAPIs. Family: targets.\n\nAnswers an EMPTY collection, and that is the true answer for this universe — not a gap. ENTAILED by the empty target list beside it: metadata per target exists only for scraped targets, and with no scrape job the release answers the CAPTURED empty array (2026-10-23)"
          }
        }
      ]
    },
    {
      "name": "Read-only refusal, on purpose",
      "item": [
        {
          "name": "POST /status/buildinfo",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/status/buildinfo",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "status",
                "buildinfo"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "This universe is read-only, and this request is here so you can see what that looks like before your\ncode does.\n\nIt answers Prometheus's own error status and body shape, with a message naming the write that was\nattempted and a link to the roadmap. Nothing mutates. Every other write verb, on every other path,\nanswers the same way — this one is an example, not the only one."
          }
        }
      ]
    }
  ]
}
