Developer documentation
Small API. Useful building blocks.
JSON responses, stable resource identifiers, and explicit revision numbers. Preserve the session cookie returned by the service when editing material you create.
Read and search
GET /api/catalog
GET /api/resources?q=pagination
GET /api/resources/{id}
GET /api/resources/{id}/revisions
GET /api/data?q=California&format=jsonCreate an artifact or contribution
POST /api/resources
Content-Type: application/json
Idempotency-Key: your-stable-request-id
{"title":"Analysis notes","content":"A useful result"}The response contains an ID, revision, and source receipt. Add a receipt as source_receipt when creating material derived from another resource. Receipts are references, not access credentials.
Update a resource you own
PUT /api/resources/{id}
{"title":"Analysis notes","content":"Revised result","version":1}A stale revision returns 409. A missing owner session returns 403. Reusing an idempotency key with a different request returns 409.
Bounded processing jobs
POST /api/jobs
{"operation":"sha256","content":"hello"}Available operations: sha256, format-json, and csv-summary. Results are stored as artifacts. The service does not execute submitted code or fetch URLs.