The public cut
Contract nexus.grix.public/v1: anonymous, read-only, public-classification responses with attribution, freshness, strong ETags and CDN caching. Implemented and not yet deployed; institutional access with service levels is agreed separately.
| Method | Path | Returns |
|---|---|---|
GET | /api/v1/public/grix/layers | Layer catalogue with licence and attribution rows |
GET | /api/v1/public/grix/layers/{id}/features | Features of an admitted live layer |
GET | /api/v1/public/grix/attribution?layers= | Compact and full credits |
GET | /api/v1/public/grix/risk-products | Spatial risk products with withheld accounting |
GET | /api/v1/public/grix/risk-products/tiles/{metric}/{z}/{x}/{y}.mvt | Vector tiles at ISO3, ADM1, ADM2 and H3 |
GET | /api/v1/public/grix/profiles/COUNTRY/{iso3} | Public country profile cut, licence-filtered |
What happens to one API request
A public request passes origin, licence and attribution checks in milliseconds; institutional access runs through scope, contract and sandbox before production keys.
End to end on the longest path: about 1 h of proposed target service levels. Gates wait for the people named; bars with a fading end have no fixed length.
- RequestEdge · Your application · instantGET with Accept: application/jsonPublic cut API
- Origin and rate limitEdge · Public cut API · < 5 msAdmitted origins · Per-IP limitPublic cut API
- Licence filterPolicy · Licence register · < 5 msDeny by default · Withheld values countedLicence register
- Governed readRead · PostgreSQL ledger · < 50 msPersisted public cutPostgreSQL ledger (row-level security)
- AttributionRespond · Attribution service · < 5 msCredits per admitted sourceAttribution service
- ResponseRespond · Public cut API · < 100 msStrong ETag, CDN cache · Claim ceiling INTEGRATEDPublic cut API
| Artifact | Job | Who | Stage |
|---|---|---|---|
| X-Nexus-Withheld headers | Licence filter | Licence register | Policy |
| JSON response | Response | Public cut API | Respond |
End to end on the longest path: about 15.7 d of proposed target service levels, before the jobs that run with no fixed end. Gates wait for the people named; bars with a fading end have no fixed length.
- Access requestedRequest · You · instantUse case and volumeNXS-GRX (canonical data, provenance and risk) gateway
- Use reviewedRequest · Secretariat · 3 daysUsage terms checked · No natural-person useLicence register
- Agreement approvalAgree · GCRI Canada · 10 daysService levels · Terms signedPostgreSQL ledger (row-level security)
- Account and keysProvision · Foundry · 1 dayTenant created · Keys issued · Rate plan setFoundryPostgreSQL ledger (row-level security)
- Sandbox callsProvision · You · self-serveKeys tested · SDMX keys and tilesPublic cut APIVector tiles
- Production use matrix · endpointsUse · You · ongoingProfiles, products, tiles · Attribution renderedPublic cut APIVector tilesAttribution service
| Artifact | Job | Who | Stage |
|---|---|---|---|
| Request record | Access requested | You | Request |
| Use note | Use reviewed | Secretariat | Request |
| Agreement | Agreement | GCRI Canada | Agree |
| Credentials (delivered privately) | Account and keys | Foundry | Provision |
| First response | Sandbox calls | You | Provision |
| Usage metering | Production use | You | Use |
Identifiers and keys
- Indicator
nis:IND.MAC.output.gdp.usd@1.0.0- Domain index
nis:IDX.FIS.debt.fiscal_risk@1.0.0- Observation
{id}:{REF_AREA}:{TIME_PERIOD}:{FREQ}[:{SCENARIO}:{HORIZON}]- Page
GRX-PRF-KEN · GRX-IDX-FIS · GRX-SER-GS-01- Artifact
- NS-1 UNI in the GRX scope, assigned on release
Vector tiles
Resolution follows zoom (country, ADM1, ADM2, then H3); features whose inputs are withheld are dropped and counted in response headers.
Blocks and hydration
Pages carry the Foundry plugin blocks around complete static fallbacks: nexus-foundry/indicator for country values and nexus-foundry/map for released layers. With the plugin, values and maps fill in place; without it, the static page stands. A page can also hydrate from the public cut when risksindex.com is admitted (data-grx-api on the embed root).
Machine-readable pages
Every page embeds JSON-LD (Dataset, TechArticle or CollectionPage), a stable page ID and canonical URL; the page manifest lists every page with its ID, title, parent and description.
States and errors
| State | Meaning |
|---|---|
PUBLISHED | Released in an edition with interval, class and sources |
NO_DATA | No admitted input; not a zero |
INSUFFICIENT_EVIDENCE | Coverage below the method minimum; value withheld |
WITHHELD | An input's licence or the public-safe screen does not admit public display; counted |
DEGRADED | Published with a stated quality limitation |
424 PUBLIC_SOURCE_LICENCE_NOT_ADMITTED | A layer's source licence does not admit public display |
404 PUBLIC_CUT_NOT_AVAILABLE | No public projection for that geography yet |
503 | Authoritative store unavailable; nothing is served from memory |