Exposure engine

Operating exposure scenarios with sourced evidence and explicit coverage gaps.

One row is

Operating exposure scenarios with sourced evidence and explicit coverage gaps

Example response

Trimmed real output. No key needed.

GET /v1/datasets/exposure/sample

Dates reflect the example, not current coverage.

{
  "data": {
    "scenarios": [
      {
        "id": "taiwan-disruption",
        "label": "Taiwan disruption",
        "shocks": [
          {
            "id": "taiwan",
            "kind": "country",
            "target": "TW",
            "changePct": -100
          }
        ]
      },
      {
        "id": "china-demand",
        "label": "China demand -20%",
        "shocks": [
          {
            "id": "china",
            "kind": "country",
            "target": "CN",
            "changePct": -20
          }
        ]
      },
      {
        "id": "europe-demand",
        "label": "Europe demand -10%",
        "shocks": [
          {
            "id": "europe",
            "kind": "country",
            "target": "Europe",
            "changePct": -10
          }
        ]
      },
      {
        "id": "china-semiconductor-ban",
        "label": "China semiconductor export ban",
        "shocks": [
          {
            "id": "china-chips",
            "kind": "country",
            "target": "CN",
            "changePct": -100,
            "products": [
              "semiconductors"
            ]
          }
        ]
      },
      {
        "id": "china-tariff",
        "label": "China tariff +25%",
        "shocks": [
          {
            "id": "china-tariff",
            "kind": "tariff",
            "target": "CN",
            "changePct": 25
          }
        ]
      },
      {
        "id": "oil-up",
        "label": "Oil +20%",
        "shocks": [
          {
            "id": "oil",
            "kind": "commodity",
            "target": "oil",
            "changePct": 20
          }
        ]
      },
      {
        "id": "rates-up",
        "label": "Rates +100 bp",
        "shocks": [
          {
            "id": "rates",
            "kind": "rate",
            "target": "interest rates",
            "changeBps": 100
          }
        ]
      },
      {
        "id": "usd-up",
        "label": "USD +10%",
        "shocks": [
          {
            "id": "usd",
            "kind": "fx",
            "target": "USD",
            "changePct": 10
          }
        ]
      },
      {
        "id": "tsmc-outage",
        "label": "TSMC outage",
        "shocks": [
          {
            "id": "tsmc",
            "kind": "supplier",
            "target": "TSM",
            "changePct": -100
          }
        ]
      },
      {
        "id": "microsoft-capex",
        "label": "Microsoft capex -20%",
        "shocks": [
          {
            "id": "microsoft",
            "kind": "customer",
            "target": "MSFT",
            "changePct": -20
          }
        ]
      }
    ]
  },
  "meta": {
    "dataset": "exposure",
    "asOf": null,
    "source": [
      {
        "id": "market-data",
        "attribution": "Exchange and market data providers",
        "licence": "Use subject to Gloom Datasets terms"
      },
      {
        "id": "publisher-news",
        "attribution": "News publishers and public reports",
        "licence": "Use subject to Gloom Datasets terms"
      },
      {
        "id": "sec-edgar",
        "attribution": "U.S. Securities and Exchange Commission and the filing issuer",
        "licence": "Public SEC filings; preserve filing attribution and fair-access limits"
      }
    ],
    "historyStarts": null,
    "coverage": null,
    "lastUpdated": null,
    "disclaimer": "Scenario parameters are stress assumptions, not forecasts."
  }
}

Routes

Base URL https://api.gloom.sh. Send a key with each call; the key's account needs a plan.

GET /v1/exposure/scenarios2 credits

Operating exposure scenario catalogue. Reads the existing dataset service and needs a key on an account with a plan; every plan reads every live dataset in full. Cached market reads can refresh their source data. Unknown, empty and repeated parameters are rejected. History and coverage metadata are null when the stored service cannot establish them.

Parameters: none.

  • Credits: 2 (lookup x2)
  • Plans: Basic, Desk, Enterprise
POST /v1/exposure/analyze50 credits

Stateless operating exposure analysis using stored public evidence. Reads the existing dataset service and needs a key on an account with a plan; every plan reads every live dataset in full. Cached market reads can refresh their source data. Unknown, empty and repeated parameters are rejected. History and coverage metadata are null when the stored service cannot establish them.

Parameters: none.

Stateless JSON request, at most 16384 bytes. Holdings are not stored.

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "holdings": {
      "minItems": 1,
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "symbol": {
            "type": "string",
            "minLength": 1,
            "maxLength": 40,
            "pattern": "^[A-Za-z0-9.:-]+$"
          },
          "weight": {
            "type": "number",
            "minimum": -10,
            "maximum": 10,
            "description": "Signed fraction of portfolio NAV; 0.25 means 25%, -0.1 means 10% short. Never normalized."
          }
        },
        "required": [
          "symbol",
          "weight"
        ],
        "additionalProperties": false
      }
    },
    "scenarioId": {
      "type": "string",
      "enum": [
        "taiwan-disruption",
        "china-demand",
        "europe-demand",
        "china-semiconductor-ban",
        "china-tariff",
        "oil-up",
        "rates-up",
        "usd-up",
        "tsmc-outage",
        "microsoft-capex"
      ]
    }
  },
  "required": [
    "holdings",
    "scenarioId"
  ],
  "additionalProperties": false
}
  • Credits: 50 (bulk x2)
  • Plans: Basic, Desk, Enterprise

Meta fields

Field

dataset

Here

The dataset id

In the example

"exposure"

Field

asOf

Here

The observation date established by the service; otherwise null

In the example

null

Field

source

Here

Attribution and usage terms of each source

In the example

3 sources

Field

historyStarts

Here

Earliest stored history when established by the service; otherwise null.

In the example

null, not stated yet

Field

coverage

Here

Service-established coverage; null when unavailable.

In the example

null

Field

lastUpdated

Here

The source update time established by the service; otherwise null

In the example

null

Sources

Source

Exchange and market data providers

Usage terms

Use subject to Gloom Datasets terms

Source

News publishers and public reports

Usage terms

Use subject to Gloom Datasets terms

Source

U.S. Securities and Exchange Commission and the filing issuer

Usage terms

Public SEC filings; preserve filing attribution and fair-access limits

Errors

These routes can answer 400, 401, 402, 403, 404, 429, 503. See Errors for the codes.

Gloom Datasets reads stored data only: a call never starts a collection.