🌐 Overview

EcoleDirecte's API is needed for building apps that are useful for parents and students, but it's undocumented, inconsistent, and full of surprises. We've reverse-engineered as much as we can and wrote it all down so you don't have to.
These docs cover API version 7.14.3 (mobile).
Found something wrong, or know something we don't? Contribute on GitHub!

Sitemap ¡ GitHub ¡ Linkdirecte


🔗 Base URL

All student and parent endpoints live under https://api.ecoledirecte.com/v3. Every endpoint in these docs is relative to that base.

âĢ Version

The documented API version is 7.14.3 (mobile). On every endpoint, you need to add a query : ?v=7.14.3.

âœ‰ī¸ Request format

Requests use application/x-www-form-urlencoded. Your actual payload (almost always JSON) goes inside a data parameter.
Heads up: the encoding is technically optional. The server will happily accept raw UTF-8.

â†Šī¸ Response format

The API (almost) always uses POST. It also always returns HTTP 200 if the request itself succeeded, even when something went wrong. The real status lives in the response body's code field. For example, an invalid token gives you 200 at the HTTP level but 520 in the body.

Every response follows the same shape:

{
  "host": "HTTP100",  // Server that handled the request
  "code": 200,        // Actual status code
  "token": "token",   // Your token
  "message": "",      // Error description (empty on success)
  "data": {}          // The good stuff
}

đŸ–Ĩī¸ User-agent

Every request needs a User-Agent header, and it must stay consistent for the lifetime of a token. Here's what a valid one looks like:

MyApp/1.0 (iPhone; CPU OS 18_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.5.2 Mobile/15E148 EDMOBILE v7.14.3

đŸĒ™ Token

Authentication is token-based. The login flow hands you a token valid for roughly 58 minutes. Pass it along as a X-Token header in every request after that.


Ready to dive in? Start with the auth flow.