Build on curriculum infrastructure

One interface to structured academic knowledge: official curricula, immutable versions, and documented provenance for every element — over REST.

Note

Self-serve organisations create applications and API keys in their workspace; a test key reads public content only. The operator still creates service clients for the organisations it runs. Every client works inside its own and its tenant's limits.

Service status and incidents: status.currixa.net

Start here

Five steps from nothing to your first answer from the API.

  1. Create your account and organisation

    Create an account, then name your organisation and choose its country. It is your tenant: every application, key and request belongs to it.

  2. Create an application and a key

    In your workspace, open Developers, create an application with the read scopes it needs, then a key. Start with a test key: it reads public content only, 10 requests a minute. A key is shown once — copy it then.

  3. Put the key in an environment variable

    On your server, never in code or in the browser. Use one key for development and another for production.

    CURRIXA_API_KEY
    export CURRIXA_API_KEY="paste-your-key-here"
  4. Send your first request

    It lists the first five outcomes your key can read. The answer holds data and page.next_cursor.

    GET /v1/framework-outcomes
    curl -s -H "Authorization: Bearer $CURRIXA_API_KEY" "https://api.currixa.net/v1/framework-outcomes?framework=CURRIXA-ARA-NATIVE-V1&limit=5"
  5. Go further

    Pin the version you read, follow each outcome's provenance, and subscribe to webhooks.

Each command is one line: paste it, replace the placeholder, run it.

The essentials

What every integration needs, at a glance. Each one links to its full page.

Base URL

https://api.currixa.net/v1

Every path starts with /v1 — the contract version, not the knowledge version. Requests and answers are JSON.

API reference

Authentication

Authorization: Bearer $CURRIXA_API_KEY

Send your key as a bearer token in the Authorization header, from your server only. A key acts with its application's scopes, inside its organisation.

Security for developers

Keys

crx_test_…crx_live_…

A test key starts with crx_test_ and reads public content only; a live key starts with crx_live_. A key is shown once. Rotate it with a grace of up to seven days, or revoke it at once, from your workspace; an expiry date and an IP allowlist are optional. Managing keys needs two-step verification.

Developers in your workspace

API reference

GET /v1/frameworksGET /v1/framework-outcomes

Every served endpoint with its scope, drawn from the API's OpenAPI contract. The OpenAPI file itself is not published for download yet.

API reference

Versions

?version=YYYY.N?version=YYYY.N.P

Pass version as YYYY.N or YYYY.N.P on knowledge reads; the answer always names the resolved version. Published content never changes under you: a correction is a new version. A breaking interface change ships as /v2, never inside /v1.

Changelog

Pagination

?limit=100&cursor=…page.next_cursor

Lists take limit and cursor. Most lists default to 25 and refuse a limit above 100; the reference lists (countries, curriculum types, subject areas, education systems, academic levels) and /v1/frameworks go up to 200. Send page.next_cursor back as cursor until it is null. There are no page numbers.

API reference

Safe retries of writes

Idempotency-Key

Every POST that changes state carries an Idempotency-Key of 8 to 128 characters. The same value with the same request returns the stored answer without repeating the action; with a different request it is a 409 CONFLICT.

Errors

Rate limits

429Retry-After

Limits per minute for your client and your organisation, and a monthly quota where the plan has one. Answers carry RateLimit-Limit, -Remaining and -Reset. Over a limit: a 429 with Retry-After — wait it out in full, then retry once.

Limits

Errors

request_idx-request-id

Every failure is one Problem: type, title (the stable code), status, detail, instance and request_id. Every answer also carries x-request-id — quote it when you write to us.

Errors

Webhooks

Currixa-SignatureCurrixa-Event-Id

Signed with HMAC-SHA256 in Currixa-Signature, delivered at least once — deduplicate on Currixa-Event-Id — and retried five times. Three of the contract's nine events are sent today.

Webhooks

SDKs

No official library is published yet: call the REST API directly, with ready examples on the SDKs page.

SDKs

Plans and usage

Your plan sets requests a minute and a month, applications, keys and webhook subscriptions. Follow usage and the request log on the Developers page of your workspace.

Plans and pricingDevelopers in your workspace

All documentation