Référence API

Apprenez à intégrer et utiliser l'API SimpleAPI dans vos projets

01Authentification

Toutes les requêtes à l'API doivent être authentifiées à l'aide d'une clé API. La clé est transmise via l'en-tête HTTP X-API-KEY ou API-KEY (les deux formes sont acceptées, mais ne peuvent pas être utilisées simultanément). Vous pouvez générer vos clés depuis la page Mes ressources.

Exemple d'en-tête
X-API-KEY: votre-clé-api
⚠ Sécurité : Ne partagez jamais votre clé API publiquement. Régénérez-la immédiatement si elle est compromise.

GETRécupérer des données

Utilisez la méthode GET pour récupérer une ressource identifiée par son chemin. Le chemin suit une structure /ressource/identifiant librement définie.

Récupérer une ressource

GET https://api.simpleapi.fr/user
Accept: application/json
X-API-KEY: votre-clé-api

Récupérer une ressource par identifiant

GET https://api.simpleapi.fr/user/1234
Accept: application/json
X-API-KEY: votre-clé-api

Exemple de réponse

JSON
{
  "name": "John Doe",
  "email": "john@example.com",
  "age": 30,
  "active": true
}

POSTCréer ou mettre à jour des données

La méthode POST crée ou met à jour (upsert) une ressource à un chemin donné. Si la ressource existe déjà, elle est remplacée intégralement.

Créer une ressource

POST https://api.simpleapi.fr/user/1234
Content-Type: application/json
X-API-KEY: votre-clé-api

{
  "name": "John Doe",
  "email": "john@example.com",
  "age": 30,
  "active": true
}

Mettre à jour une ressource existante

POST https://api.simpleapi.fr/user/1234
Content-Type: application/json
X-API-KEY: votre-clé-api

{
  "name": "John Doe Updated",
  "email": "john.updated@example.com",
  "age": 31
}
ℹ Upsert : Si la ressource n'existe pas, elle est créée. Si elle existe déjà, elle est remplacée par le nouveau contenu.

PUTMettre à jour des données

La méthode PUT fonctionne de manière identique à POST et peut être utilisée comme alternative pour mettre à jour une ressource.

PUT https://api.simpleapi.fr/user/1234
Content-Type: application/json
X-API-KEY: votre-clé-api

{
  "name": "Jane Doe",
  "email": "jane@example.com",
  "age": 28,
  "role": "admin"
}

DELETESupprimer des données

La méthode DELETE supprime définitivement une ressource à l'identifiant spécifié.

DELETE https://api.simpleapi.fr/user/1234
X-API-KEY: votre-clé-api
⚠ Irréversible : La suppression est définitive. Assurez-vous que les données ne sont plus nécessaires avant de les supprimer.

GETCollections et pagination

Lorsque le chemin se termine par un segment sans identifiant, l'API retourne une collection paginée par curseur. Passez cursor= (vide) pour démarrer depuis le début, puis utilisez la valeur nextCursor retournée pour la page suivante.

Première page (taille configurée)

GET https://api.simpleapi.fr/user
Accept: application/json
X-API-KEY: votre-clé-api

Pagination par curseur (20 éléments)

GET https://api.simpleapi.fr/user?cursor=&pageSize=20
Accept: application/json
X-API-KEY: votre-clé-api

Paramètres de pagination

Paramètre Type Défaut Description
pageSize integer 10 Nombre d'éléments par page
cursor string (vide) Curseur de pagination — vide pour la première page, valeur de nextCursor pour les suivantes
sort string created_desc Ordre de tri des résultats. Valeurs possibles : created_desc (défaut), created_asc, key_asc, key_desc. Le même paramètre doit être fourni sur chaque page d'une requête paginée.

Exemple de réponse

JSON
{
  "data": [
    { "name": "John Doe", "email": "john@example.com" },
    { "name": "Jane Doe", "email": "jane@example.com" }
  ],
  "meta": {
    "pageSize": 20,
    "nextCursor": "dXNlcl8x",
    "hasNextPage": true
  }
}

POSTFichiers binaires & images

La méthode POST n'est pas limitée au JSON. Vous pouvez stocker n'importe quel contenu binaire — image, PDF, fichier texte, etc. — en précisant le Content-Type correspondant dans l'en-tête de la requête. Le contenu original et son type MIME sont conservés tels quels, et renvoyés à l'identique lors d'un GET.

Stocker une image PNG

POST https://api.simpleapi.fr/photos/avatar
Content-Type: image/png
X-API-KEY: votre-clé-api

<données binaires de l'image>

Récupérer l'image

GET https://api.simpleapi.fr/photos/avatar
X-API-KEY: votre-clé-api
Réponse — 200 OK
Content-Type: image/png

<données binaires de l'image>

Stocker un document PDF

POST https://api.simpleapi.fr/documents/rapport
Content-Type: application/pdf
X-API-KEY: votre-clé-api

<données binaires du PDF>

Limites de taille

La taille maximale d'un seul envoi est de 1 024 Ko. Un dépassement retourne une réponse 413 Payload Too Large.

GET / POST / PUTChemins imbriqués

L'API supporte des chemins arbitrairement profonds pour modéliser des hiérarchies de ressources. La structure est libre : vous définissez votre propre arborescence d'endpoints.

Récupérer une sous-ressource

GET https://api.simpleapi.fr/user/1234/command/4567
Accept: application/json
X-API-KEY: votre-clé-api

Créer une sous-ressource

POST https://api.simpleapi.fr/user/1234/command/4567
Content-Type: application/json
X-API-KEY: votre-clé-api

{
  "action": "delete",
  "resource": "document-123",
  "status": "pending"
}

Mettre à jour une sous-ressource

PUT https://api.simpleapi.fr/user/1234/command/4567
Content-Type: application/json
X-API-KEY: votre-clé-api

{
  "action": "execute",
  "status": "completed",
  "result": "success"
}

Exemple de chemin profond

GET https://api.simpleapi.fr/org/acme/team/dev/member?cursor=&pageSize=25
Accept: application/json
X-API-KEY: votre-clé-api

En-têtesMétadonnées

Des en-têtes HTTP supplémentaires permettent de contrôler le cycle de vie de vos ressources.

Expiration automatique (EXPIRESAT)

L'en-tête EXPIRESAT définit une date d'expiration pour la ressource au format ISO 8601. Une fois la date atteinte, la ressource est automatiquement supprimée.

POST https://api.simpleapi.fr/user/1234
Content-Type: application/json
X-API-KEY: votre-clé-api
EXPIRESAT: 2028-01-01T00:00:00Z

{
  "name": "John Doe",
  "email": "john@example.com"
}

En-têtes disponibles

En-tête Méthodes Description
X-API-KEY Toutes Clé d'authentification (obligatoire)
EXPIRESAT POST PUT Date d'expiration ISO 8601 de la ressource

LimiteNombre de ressources par espace

Chaque espace SimpleAPI peut accueillir jusqu'à 120 ressources distinctes par défaut. Une ressource correspond à un type d'objet identifié par le premier segment de votre chemin (/user, /product, /order, etc.).

Cette limite est liée au nombre de routes actives dans votre espace : chaque ressource génère ses propres routes GET, POST, PUT et DELETE. Pour garantir des performances optimales même sous forte charge, la plateforme applique un plafond technique sur ce nombre de routes. 120 ressources devraient largement suffire pour la très grande majorité des projets, y compris les applications complexes avec de nombreux types d'objets.

ℹ Configuration : Cette limite peut être ajustée pour votre espace via la propriété de configuration max_resources. Contactez le support si vos besoins dépassent la valeur par défaut.

Comportement en cas de dépassement

Lorsque la limite est atteinte, toute tentative de création d'une nouvelle ressource retourne une réponse 429 Too Many Requests.

Réponse — 429 Too Many Requests
{
  "error": "Limite de ressources atteinte (max 120). Supprimez des ressources inutilisées ou contactez le support pour augmenter cette limite."
}

Ressources comptabilisées

Exemple de chemin Ressource comptée
/user/1234 user
/product/abc product
/user/1234/command/5678 user_command (chemin imbriqué)

4xx / 5xxGestion des erreurs

L'API retourne des codes HTTP standards et un corps JSON décrivant l'erreur rencontrée.

Codes d'erreur courants

Code Signification Cause probable
400 Bad Request Format de la requête invalide (corps JSON malformé, paramètres incorrects)
401 Unauthorized Clé API manquante ou invalide
403 Forbidden Clé API valide mais accès refusé à cette ressource
404 Not Found Ressource introuvable à ce chemin
500 Internal Server Error Erreur interne du serveur
429 Too Many Requests Trop de requêtes ou limite de ressources atteinte

Exemple d'erreur — Clé API manquante

HTTP
GET https://api.simpleapi.fr/user/1234
Accept: application/json
Réponse — 401 Unauthorized
{
  "error": "Unauthorized",
  "message": "Missing or invalid API key"
}
Une erreur inattendue s'est produite. Recharger 🗙