Methodology 1.3.0 is live: transport from NaPTAN, amenities from a stored snapshot.Changelog
onegoodarea

API reference · engine 1.3.0

Build on the OneGoodArea API.

Four products and a control plane on one REST API. Browse what every endpoint does here, read how the engine works on the methodology page, or open the playground to try any call in your browser.

01 · Start here

One base URL, one key, one shape.

Everything you need to make a first call. Point at the base URL, send your key as a bearer token, and read JSON back with the engine version that produced it.

Base URL

onegoodarea.onrender.com/v1. One HTTPS endpoint. Every product lives under the /v1 path.

Authentication

Authorization: Bearer oga_live_… One key per environment, sent as a bearer token on every request.

Versioning

X-Engine-Version: 1.3.0. Every response is stamped. Pin a version and the same request returns the same number later.

Format

application/json. JSON in, JSON out. Every value carries its own source and confidence.

02 · Products

Four products on one API.

Each product exposes a small set of endpoints. Read how they work on the methodology page, and open the playground to try any of them in your browser.

Signals

4 endpoints

Every public signal for an area, in one consistent shape. The primitive everything else is built on.

About Signals
  • GET/v1/area
  • GET/v1/signals/:category
  • GET/v1/areas
  • GET/v1/meta

Scores

1 endpoint

A single 0 to 100 score for an area, from one of four profiles, your own weights, or a weighting saved for your team.

About Scores
  • POST/v1/score

Monitor

7 endpoints

Watch a list of areas, enrich them in bulk, track monthly change, and get a signed webhook when something material moves.

About Monitor
  • POST/v1/portfolios
  • GET/v1/portfolios
  • GET/v1/portfolios/:id
  • DELETE/v1/portfolios/:id
  • POST/v1/portfolios/:id/areas
  • POST/v1/portfolios/:id/enrich
  • POST/v1/portfolios/:id/changes

Intelligence

4 endpoints

Ask in plain English or send a typed query. You get the answer and the plan behind it, so every result can be reviewed and run again.

About Intelligence
  • POST/v1/query
  • POST/v1/peers
  • POST/v1/insights
  • POST/v1/forecast

03 · Control plane

Configure it for your whole organisation.

A separate set of endpoints for admins and owners: signal bundles, scoring presets, version pinning, peer groups, members and roles, and webhook delivery. All opt-in.

  • /v1/orgsOrganisations
  • /v1/orgs/:id/bundlesSignal bundles
  • /v1/orgs/:id/presetsScoring presets
  • /v1/orgs/:id/methodologyVersion pinning
  • /v1/orgs/:id/cohortsPeer groups
  • /v1/orgs/:id/membersMembers and roles
  • /v1/orgs/:id/invitationsInvitations
  • /v1/webhooksWebhook delivery
The reasoning behind these, in the methodology

04 · Conventions

Predictable requests, predictable responses.

The same rules hold across every endpoint, so once you have handled one call you have handled them all. Errors, paging and rate limits all work the same way, whichever product you are using.

One error shape

Every failure returns the same object with a stable code and a plain message, so you handle errors once and never parse prose.

Cursor pagination

List endpoints page through a stable cursor, so large result sets come back in order with nothing skipped or repeated.

Clear rate limits

Every response carries your remaining budget in its headers, so you can slow down smoothly instead of being cut off.

One consistent shape

A signal looks the same on every endpoint, so what you learn reading one response carries straight to the others.

One shape for every error. Switch on the code, show the message.
{
  "error": {
    "code": "area_not_found",
    "message": "No area matches that postcode."
  }
}

05 · Go deeper

The methodology and the playground.

The reasoning behind every endpoint, and a runner to try them. Both stay in step with the API on every deploy, so neither ever drifts.

Methodology

How every signal, score, comparison and forecast is worked out, and the public sources behind them. The why behind every endpoint.

Playground

Every endpoint against the live API. See the exact request and response shapes, and try any call in your browser.

Start building.

Make your first call in the playground, then come back here whenever you need the exact shape of a request.