Getting Started

Things to know before making your first API request.

Version 2 of the API is currently in public preview. Until it’s official release, you can access it at https://next.onderwijsregio.onderwijsin.nl/api/v2

📨 All feedback is welcome! Please send an email to remi@onderwijsin.nl

This API is part of a shared digital infrastructure developed by and for education regions (onderwijsregio’s) to track and support prospective teachers and other education professionals throughout their journey—from initial orientation to their start in education.

The underlying system is built on Airtable and functions as an Applicant Tracking System (ATS) and CRM for regional coordination, data sharing, and reporting. The API exposes a secure integration layer that allows external systems to submit and manage candidate data in a structured, predictable way.

This documentation is intended for developers building or maintaining integrations with the platform.

Access and authentication

Access to the API is granted via an API key.

  • API keys are issued only to participating education regions

  • Each region can create and manage multiple API keys

  • API keys must be sent in the x-api-key request header

Requests

Learn how to obtain an initial API key and how to authenticate your requests to the API.

Discover your schema

Before creating or updating a candidate, you should retrieve the schema for your region using the /schema endpoint. This endpoint returns the authoritative, region-specific definition of all fields that are accepted in the candidate payload. If a payload validates against the schema, it will validate against the API.

Schema

The schema provides a complete overview of the shared candidate data model and the region-specific custom fields that apply to your education region.

Asynchronous by design

All write operations (create, update, delete) are handled asynchronously by the Mutation Engine.

  • Successful write requests return 202 Accepted

  • A 202 response means the mutation was validated and queued

  • Execution happens later and is not immediate

Integrations must be designed with asynchronous behavior in mind.

Mutation Engine

How our mutation engine works, and what to expect from it.

Idempotency and callbacks

Mutation endpoints support:

  • idempotencyKey for safe retries

  • callbackUrl for receiving completion or failure notifications

These features are strongly recommended for reliable integrations.

Callback Signatures

Learn how to verify that requests to your callback endpoint are sent by the Mutation Engine.

Sandbox mode

Most endpoints support sandbox mode using the x-api-sandbox: true header.

  • Requests are fully validated and processed

  • No production data is modified

Use sandbox mode during development and testing.

Sandbox environment

You can test your integration in the sandbox environment before moving to production.