Référence API¶
Documentation complète de l'API REST.
Authentification¶
L'API utilise des tokens Bearer pour l'authentification :
Endpoints¶
GET /api/v1/status¶
Récupère le statut du service.
Réponse :
POST /api/v1/data¶
Crée une nouvelle entrée de données.
Paramètres :
| Nom | Type | Requis | Description |
|---|---|---|---|
| name | string | Oui | Nom de l'entrée |
| value | number | Oui | Valeur numérique |
| tags | array | Non | Liste de tags |
Exemple de requête :
curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_TOKEN" \
-d '{
"name": "example",
"value": 42,
"tags": ["important", "test"]
}' \
https://api.example.com/v1/data
Réponse :
{
"id": 123,
"name": "example",
"value": 42,
"tags": ["important", "test"],
"created_at": "2024-01-01T12:00:00Z"
}
GET /api/v1/data/{id}¶
Récupère une entrée par son ID.
Paramètres d'URL :
id(integer) : ID de l'entrée
Codes de réponse :
200: Succès404: Entrée non trouvée401: Non autorisé
Gestion d'erreurs¶
L'API retourne des erreurs au format JSON :
{
"error": {
"code": "INVALID_REQUEST",
"message": "Le paramètre 'name' est requis",
"details": {
"field": "name",
"value": null
}
}
}
Limites de taux¶
- 1000 requêtes par heure par token
- 100 requêtes par minute par token
- Headers de réponse :
X-RateLimit-Limit,X-RateLimit-Remaining
SDKs et exemples¶
Python¶
import requests
class APIClient:
def __init__(self, token):
self.token = token
self.base_url = "https://api.example.com/v1"
self.headers = {
"Authorization": f"Bearer {token}",
"Content-Type": "application/json"
}
def get_status(self):
response = requests.get(f"{self.base_url}/status",
headers=self.headers)
return response.json()
JavaScript¶
class APIClient {
constructor(token) {
this.token = token;
this.baseURL = 'https://api.example.com/v1';
}
async getStatus() {
const response = await fetch(`${this.baseURL}/status`, {
headers: {
'Authorization': `Bearer ${this.token}`,
'Content-Type': 'application/json'
}
});
return response.json();
}
}