Published profile fields remain subject to the key’s country and scope checks. Private data and unpublished contact details are excluded. Use this server entry point with revocable keys and usage tracking; do not assume anonymous or direct Firestore access.
Getting a key
1
Create a developer account
Sign up at saas.ardoiseeduc.com with the Developer role.
2
Generate a key
From the Developer Space, API keys section: tick the scopes you need, then generate a test key (
sk_test_...) or a production key (sk_live_...).3
Authenticate your requests
Send the key in the
Authorization header of every request:A school that wants to display its own profile or its own job adverts on its site does not need a developer account: the founder generates a dedicated key from API Integrations on their dashboard - see School API key below.
Scopes
A production key requires identity verification, technical certification and partner approval through the developer journey. A sandbox test key does not authorise production access. See Developer Academy and certification.
An invalid or revoked key, or one lacking the required scope, receives
401/403 with a message explaining which.
Available countries
Thecountry parameter accepts the code or exact French name. Developer keys are restricted to the country authorised server-side. Omitting the parameter retains that scope; requesting another country or supplying an out-of-scope profile identifier is refused. The list below is technical reference, not evidence that every offering/payment is available there. Ardoise School is not offered in Austria.
Endpoints
Base URL:
https://api.ardoiseeduc.comGET /api/public/countries
Returns the list of the 18 countries above ({ "data": [{ "code": "BEN", "name": "Bénin" }, ...] }). No key required - this is static reference data, not marketplace data.
GET /api/public/schools
Lists the schools registered on the marketplace.
Scope required: marketplace:read
GET /api/public/schools/:schoolId
A public institution profile within the marketplace:read key’s authorised country, or the specific institution of a school:profile key. The requested identifier still undergoes country checks; institutes also use public profiles without becoming School tenants.
GET /api/public/teachers
Lists the marketplace’s independent tutors. Same country/limit parameters as /schools.
This route exposes authorised public fields, not private contact details, contracts or financial records. Contact and booking use authorised journeys; Marketplace fees and payments cannot be inferred from this public result.
GET /api/public/jobs
Lists open job adverts, filterable by country and/or schoolId.
Scope required: marketplace:read
GET /api/public/partners
Lists approved certified partners, filterable by country.
Scope required: marketplace:read
POST /api/public/leads
Submits a lead (an interested school or a teacher candidate) into the Ardoise sales pipeline, so that a member of the team can follow up.
Scope required: leads:write
type is either school_prospect or candidate. name is required, along with contactEmail or contactPhone (at least one of the two).
Support access (support:access scope)
Reserved for certified partners to whom a founder has explicitly granted access - see that page for how a founder grants and revokes that access from their dashboard. These routes proxy to the school’s own Django installation (never to data stored on the Platform side) and answer 403 if no active grant covers the school or the scope requested.
Scope required: support:access
GET /api/support/schools/:schoolId/health
GET /api/support/schools/:schoolId/backupStatus
POST /api/support/schools/:schoolId/backupTrigger
Triggers an immediate backup. Response { "success": true, "message": "..." } or { "success": false, "error": "..." }.
School API key (scope school:profile)
From API Integrations on the founder dashboard, a school can generate its own key, limited to its own profile (GET /api/public/schools/:itsOwnId) and its own job adverts. That key can read nothing about another school, and gives access to no grade, finance or pupil data - only the same information already public on the marketplace.
Current limitations
- No strict rate limiting (no dedicated infrastructure yet) - abusive use is monitored through the request counter shown in the Developer Space, and a key can be revoked at any time.
- Webhooks (real-time notifications) are configurable from the Developer Space but do not yet fire automatically on real events - only manual testing works today.
See also
MCP server
Use the same public functions with a Model Context Protocol client.
Certified partners
Become a certified partner, or grant support access to a partner from your school.

