Utvecklarportal
Samma funktioner som läsarna ser, maskinellt: versionerade kontrakt, fail-closed-svar och ingen väg förbi publiceringsgränsen.
API-ytor
- Data-API (upphandling)GET
https://press0.xyz/api/data/upphandling
kontrakt: ok/total/page/rows, POST → 405 · read-only, loss-safe
- Riksdagens voteringarGET
https://press0.xyz/api/data/riksdagen
kontrakt: ok/total/page/rows · public-only reindex
- Kolada KPIGET
https://press0.xyz/api/data/kolada
kontrakt: kpi/order/rows · kpi_observation-vyn
- Entities-sök (versionerat)GET
https://press0.xyz/api/entities/search
press0.entities-search/1.0 · votes + mandates + identifier
- Entities-listning (cursor)GET
https://press0.xyz/api/entities?cursor=&limit=
press0.entities-list/1.0 · R5-008 — stabil sida-till-sida-paginering över entities/entity-relations, samma dataägare som Entity-grafen (ej p0lytics)
- Entity-grafGET
https://press0.xyz/api/entities/[id]/graph
press0.entity-graph/1.0 · redaktionell kunskapsgraf (entities/entity-relations) — nodes/edges/list + ärligt "ungraphed" för orelaterade relationstyper. Läsarsida: /entiteter/[id] (R5-005, samma data)
- Bidrag (Kolada)GET
https://press0.xyz/api/bidrag
kpi-parametriserad topp/serie · loss-safe
- HälsaGET
https://press0.xyz/api/health
status/liveness/readiness/checks · 503 vid degraderad DB
Quickstart
# Sök upphandlingar (read-only) curl "https://press0.xyz/api/data/upphandling?q=städning&perPage=5" # Voteringar (total + ordnade rader) curl "https://press0.xyz/api/data/riksdagen?perPage=2" # Flöden curl "https://press0.xyz/rss.xml"
Kontrakt: mutationer avvisas (405/401/403), felter svarar loss-safe (ok:false), täckning och asOf följer DataResult-kontraktet per fält. Publiceringsgränsen gäller maskinella vägar likaväl som UI.
SDK
En tunn, beroendefri TypeScript-klient mot API-ytorna ovan — samma kontrakt, ingen separat npm-publicering (repot har ingen publish-pipeline för det). Importera direkt ur källan eller kopiera filen.
import { Press0Client } from '@/lib/press0-client'
const client = new Press0Client() // default baseUrl: https://press0.xyz
const { rows } = await client.searchUpphandling({ q: 'städning', perPage: 5 })Källa: src/lib/press0-client.ts · 9 kontraktstester (tests/press0-client.test.ts).
CLI
Samma SDK, från terminalen — kräver ingen build, körs direkt via Node 24:s inbyggda TypeScript-stripping.
node scripts/press0-public-cli.ts upphandling städning --perPage 5 node scripts/press0-public-cli.ts health node scripts/press0-public-cli.ts help
Källa: scripts/press0-public-cli.ts · 14 kontraktstester (tests/press0-cli-core.test.ts).
Inte tillgängligt än
MCP-server och utgående webhooks för prenumeranter finns inte i produktion — ärligt, inte en tyst utelämning. Polla API-ytorna ovan eller RSS/Atom-flödena tills dess.
Övriga ytor
- RSS/Atom-flöden /floden
- Rättelsearkiv /rattelser
- Datastatus /status
- OpenAPI-schema /api/openapi.json