API de donnees ouvertes pour le Burkina Faso
Consultez le catalogue, interrogez les donnees geographiques, automatisez les imports et lancez des exports depuis vos outils terrain, SIG ou tableaux de bord.
Authorization: Bearer <access_token>
Base URL: https://api.fasodata.bf
Format: application/json
Upload: multipart/form-data99.5%
Disponibilite cible
30 req/s
Limite dev
100 lignes
Pagination max
JSON, CSV
Formats
Demarrage rapide
Authentifiez-vous puis listez les datasets publics.
curl -X POST "https://api.fasodata.bf/api/auth/login" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "username=demo@ong.bf&password=********"
curl "https://api.fasodata.bf/api/datasets?page=1&page_size=10" \
-H "Authorization: Bearer $FASODATA_TOKEN"Authentification
L'API utilise OAuth2 password flow. Le endpoint `/api/auth/login` retourne un `access_token` pour les appels API et un `refresh_token` pour renouveler la session.
Header requis
Authorization: Bearer <access_token>
Quotas & limites
Rate limit dev : 30 requetes/seconde, burst 50 via Nginx.
Pagination : `page_size` entre 1 et 100 selon les listes.
Upload : taille maximale proxy 50 Mo.
Geo bbox : limite maximale 5 000 features.
Reference endpoints
Routes actuellement exposees par le backend FasoData.
| Methode | Endpoint | Acces | Description |
|---|---|---|---|
| GET | /api/health | Public | Etat du service API et version courante. |
| POST | /api/auth/register | Public | Cree un compte utilisateur. |
| POST | /api/auth/login | Public | Retourne un access token et un refresh token. |
| POST | /api/auth/refresh | Public | Renouvelle une session avec un refresh token. |
| GET | /api/auth/me | Bearer | Profil du compte connecte. |
| GET | /api/datasets | Public | Catalogue pagine des datasets publies. |
| POST | /api/datasets | Institution | Cree un dataset brouillon. |
| GET | /api/datasets/my | Bearer | Datasets de l'utilisateur connecte. |
| GET | /api/datasets/{slug} | Public | Fiche detaillee d'un dataset. |
| PATCH | /api/datasets/{slug} | Institution | Met a jour les metadonnees ou le statut. |
| GET | /api/datasets/{slug}/preview | Public | Apercu tabulaire limite a 200 lignes. |
| GET | /api/datasets/{slug}/stats | Public | Nombre de lignes, colonnes et metadonnees. |
| GET | /api/datasets/{slug}/download | Public | Lien de telechargement temporaire. |
| POST | /api/datasets/{slug}/upload | Institution | Importe un CSV/XLSX et lance un job Celery. |
| GET | /api/datasets/{slug}/jobs | Institution | Historique des imports d'un dataset. |
| GET | /api/datasets/jobs/{job_id} | Institution | Etat d'un job d'import. |
| GET | /api/search | Public | Recherche plein texte multi-index ou dataset cible. |
| GET | /api/geo/{dataset_id}/bbox | Public | Features GeoJSON dans une emprise. |
| GET | /api/geo/{dataset_id}/centroid | Public | Centre, bbox et total d'un dataset geo. |
| POST | /api/reports/{dataset_id}/export/csv | Institution | Lance un export CSV asynchrone. |
| GET | /api/reports/tasks/{task_id} | Institution | Recupere l'etat ou le resultat d'une tache. |
| GET | /api/users | Admin | Liste paginee des utilisateurs. |
| PATCH | /api/users/me | Bearer | Met a jour le profil connecte. |
| GET | /api/dashboard/alert-rules | Public | Liste les regles d'alerte configurees. |
| POST | /api/dashboard/alert-rules | Institution | Cree une regle de seuil et notification. |
| GET | /api/dashboard/system-metrics | Public | Historique des metriques techniques. |
| POST | /api/dashboard/system-metrics | Admin | Enregistre une mesure de supervision. |
| GET | /api/dashboard/team-members | Bearer | Liste les membres d'equipe d'une organisation. |
| POST | /api/dashboard/team-members | Institution | Invite ou rattache un membre d'equipe. |
| GET | /api/dashboard/quality-checks | Public | Liste les controles qualite datasets. |
| POST | /api/dashboard/quality-checks | Institution | Cree un controle qualite avec anomalies. |
| PATCH | /api/dashboard/quality-issues/{issue_id}/resolve | Institution | Marque une anomalie qualite comme resolue. |
Catalogue
Filtrez par categorie, statut et texte libre avec pagination standard.
Recherche
Interrogez Meilisearch sur tous les datasets indexes ou un dataset cible.
Geospatial
Recuperez des FeatureCollections par bbox et les centroides PostGIS.
Exports
Lancez des exports CSV asynchrones et suivez les taches Celery.
Comptes
Gerez inscription, login, refresh token et profil utilisateur.
Monitoring
Healthcheck public et metriques Prometheus disponibles cote API.
Erreurs API
Les erreurs suivent le format FastAPI standard avec un champ `detail`.
Bad Request
Parametres invalides ou compte desactive.
Unauthorized
Token absent, expire ou invalide.
Forbidden
Role insuffisant pour la ressource.
Not Found
Dataset, utilisateur ou ressource introuvable.
Conflict
Email deja utilise ou ressource dupliquee.
Validation Error
Payload ou fichier non conforme.
Pret pour developers.fasodata.bf
Cette page peut etre servie sous `/developers` ou mappee sur le sous-domaine `developers.fasodata.bf` par le reverse proxy.