Référence API
Authentification
Créer un compte et ouvrir une session pour la console. Les routes de ce groupe utilisent la session du portail, pas une clé API.
Créer un compte développeur (et son premier membre, propriétaire)#
POST/auth/signup
- Authentification
- Aucune (publique)
Corps de la requête (JSON)
| Champ | Type | Description | |
|---|---|---|---|
accountName | string | requis | Nom de votre société ou équipe : il désigne votre compte (2 à 120 caractères). |
email | string | requis | Adresse e-mail du membre. Elle sert d'identifiant de connexion et doit être unique. |
password | string | requis | Mot de passe : 10 caractères au minimum. |
Exemple
curl -X POST "$INBOX_API/auth/signup" \
-H "Content-Type: application/json" \
-d '{
"accountName": "Acme Software",
"email": "dev@acme.com",
"password": "un-mot-de-passe-solide"
}'const res = await fetch(`${process.env.INBOX_API}/auth/signup`, {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify({
"accountName": "Acme Software",
"email": "dev@acme.com",
"password": "un-mot-de-passe-solide"
}),
});
const data = await res.json();import os
import requests
res = requests.post(
f"{os.environ['INBOX_API']}/auth/signup",
json={
"accountName": "Acme Software",
"email": "dev@acme.com",
"password": "un-mot-de-passe-solide",
},
)
print(res.json())<?php
$ch = curl_init(getenv('INBOX_API') . '/auth/signup');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => [
'Content-Type: application/json',
],
CURLOPT_POSTFIELDS => json_encode([
'accountName' => 'Acme Software',
'email' => 'dev@acme.com',
'password' => 'un-mot-de-passe-solide',
]),
]);
$data = json_decode(curl_exec($ch), true);{
"accountId": "bbfa1ecb-9483-4158-8e9a-4437e512b14b",
"memberId": "e8878e87-7817-4773-8346-fc26a2433aa6",
"sessionToken": "ses_91bb0d22558b4575a110844d944cca5d8b05e72328b",
"expiresAt": "2026-12-12T08:33:45.098Z"
}Ouvrir une session#
POST/auth/login
- Authentification
- Aucune (publique)
Corps de la requête (JSON)
| Champ | Type | Description | |
|---|---|---|---|
email | string | requis | Adresse e-mail du membre. Elle sert d'identifiant de connexion et doit être unique. |
password | string | requis | Mot de passe : 10 caractères au minimum. |
Exemple
curl -X POST "$INBOX_API/auth/login" \
-H "Content-Type: application/json" \
-d '{
"email": "dev@acme.com",
"password": "un-mot-de-passe-solide"
}'const res = await fetch(`${process.env.INBOX_API}/auth/login`, {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify({
"email": "dev@acme.com",
"password": "un-mot-de-passe-solide"
}),
});
const data = await res.json();import os
import requests
res = requests.post(
f"{os.environ['INBOX_API']}/auth/login",
json={
"email": "dev@acme.com",
"password": "un-mot-de-passe-solide",
},
)
print(res.json())<?php
$ch = curl_init(getenv('INBOX_API') . '/auth/login');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => [
'Content-Type: application/json',
],
CURLOPT_POSTFIELDS => json_encode([
'email' => 'dev@acme.com',
'password' => 'un-mot-de-passe-solide',
]),
]);
$data = json_decode(curl_exec($ch), true);{
"accountId": "bbfa1ecb-9483-4158-8e9a-4437e512b14b",
"memberId": "e8878e87-7817-4773-8346-fc26a2433aa6",
"sessionToken": "ses_9be05ed6c0764f063b187d57f0499b2eb42e7f0e4f7",
"expiresAt": "2026-12-12T08:33:45.271Z"
}Membre connecté#
GET/auth/me
- Authentification
- Session du portail (Bearer ses_…)
Exemple
curl "$INBOX_API/auth/me" \
-H "Authorization: Bearer $INBOX_SESSION"const res = await fetch(`${process.env.INBOX_API}/auth/me`, {
headers: {
Authorization: `Bearer ${process.env.INBOX_SESSION}`,
},
});
const data = await res.json();import os
import requests
res = requests.get(
f"{os.environ['INBOX_API']}/auth/me",
headers={
"Authorization": f"Bearer {os.environ['INBOX_SESSION']}",
},
)
print(res.json())<?php
$ch = curl_init(getenv('INBOX_API') . '/auth/me');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('INBOX_SESSION'),
],
]);
$data = json_decode(curl_exec($ch), true);{
"accountId": "bbfa1ecb-9483-4158-8e9a-4437e512b14b",
"memberId": "e8878e87-7817-4773-8346-fc26a2433aa6",
"role": "owner",
"email": "dev@acme.com"
}Fermer la session#
POST/auth/logout
- Authentification
- Session du portail (Bearer ses_…)
Exemple
curl -X POST "$INBOX_API/auth/logout" \
-H "Authorization: Bearer $INBOX_SESSION"const res = await fetch(`${process.env.INBOX_API}/auth/logout`, {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.INBOX_SESSION}`,
},
});
const data = await res.json();import os
import requests
res = requests.post(
f"{os.environ['INBOX_API']}/auth/logout",
headers={
"Authorization": f"Bearer {os.environ['INBOX_SESSION']}",
},
)
print(res.json())<?php
$ch = curl_init(getenv('INBOX_API') . '/auth/logout');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('INBOX_SESSION'),
],
]);
$data = json_decode(curl_exec($ch), true);(aucun contenu)