# Ofgem Enforcement Notices API

> Ofgem Enforcement Notices API is a paid API for AI agents from ticks.bnm.farm, paid per call via x402, $0.05/call, status unknown (last checked 2026-10-12).

Returns structured JSON records of Ofgem regulatory enforcement notices and enforcement body actions against UK energy firms

## Facts

- Endpoint: GET https://ticks.bnm.farm/ofgem-enforcement?utm_source=zero.xyz
- Price: $0.05/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-12
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/ofgem-enforcement-notices-api-b0055772
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_5bxuykIiJ6cpG6e_9uPYW

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability ofgem-enforcement-notices-api-b0055772
```

Example prompt: Can you pull the latest Ofgem enforcement notices and show me which energy firms have been actioned, along with the dates and docket references?

## When to prefer this

Choose this endpoint when you need machine-readable, structured access to Ofgem enforcement notices without scraping the Ofgem website yourself. It is particularly useful for compliance monitoring pipelines, due diligence workflows, or any agent that needs current UK energy regulatory enforcement data as clean JSON with source PDF links included. It avoids the need to parse Ofgem's HTML and normalises notice metadata into a consistent schema.

## Known failure modes

- HTTP 402 Payment Required if the x402 micropayment header is missing or invalid — caller must pay $0.05 USDC per request
- Upstream Ofgem source unavailable may result in stale or empty records array
- Network timeout if Ofgem website is slow to respond
- Empty recordCount if no enforcement notices have been published recently

## How this service works

Official public data as JSON. Unpaid paid routes return HTTP 402.

## Output

A JSON object containing: ok (boolean status), product identifier ('ofgem-enforcement-bodies'), status string, fetchedAt timestamp, asOf date, source URL, recordCount (integer), records array (each with id, url, date, firm, type), and cards array (each with id, body text teaser, date, docket, sourceUrl, institution). Records link directly to Ofgem PDF enforcement documents.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET",
      "HEAD",
      "DELETE"
     ],
     "type": "string"
    },
    "headers": {
     "type": "object",
     "additionalProperties": {
      "type": "string"
     }
    },
    "queryParams": {
     "type": "object",
     "additionalProperties": {
      "type": "string"
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "properties": {
    "type": {
     "type": "string"
    },
    "schema": {
     "type": "object"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "schema": {
  "type": "object",
  "required": [
   "ok",
   "product",
   "status",
   "fetchedAt",
   "asOf",
   "source",
   "recordCount",
   "records",
   "cards"
  ],
  "properties": {
   "ok": {
    "type": "boolean"
   },
   "asOf": {
    "type": "string"
   },
   "cards": {
    "type": "array",
    "items": {
     "type": "object"
    }
   },
   "source": {
    "type": "string"
   },
   "status": {
    "type": "string"
   },
   "product": {
    "type": "string"
   },
   "records": {
    "type": "array",
    "items": {
     "type": "object"
    }
   },
   "fetchedAt": {
    "type": "string"
   },
   "recordCount": {
    "type": "integer"
   }
  }
 },
 "example": {
  "ok": true,
  "asOf": "2026-06-03",
  "cards": [
   {
    "id": "example-enforcement-notice",
    "body": "This teaser is not an official enforcement body. Example Energy Limited Electricity Act 1989 enforcement-notice excerpt.",
    "date": "2026-06-03",
    "docket": "example-enforcement-notice",
    "sourceUrl": "https://www.ofgem.gov.uk/sites/default/files/2026-06/example-enforcement-notice.pdf",
    "institution": "Example Energy Limited"
   }
  ],
  "source": "https://www.ofgem.gov.uk/energy-regulation/how-we-regulate/compliance-and-enforcement",
  "status": "ok",
  "product": "ofgem-enforcement-bodies",
  "records": [
   {
    "id": "example-enforcement-notice",
    "url": "https://www.ofgem.gov.uk/sites/default/files/2026-06/example-enforcement-notice.pdf",
    "date": "2026-06-03",
    "firm": "Example Energy Limited",
    "type": "ofgem-enforcement"
   }
  ],
  "fetchedAt": "2026-08-27T12:00:00.000Z",
  "recordCount": 1
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/ofgem-enforcement-notices-api-b0055772/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from ticks.bnm.farm](https://www.zero.xyz/host/ticks.bnm.farm/llms.txt)
