FasoData Developers

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.

Authentification Bearer
Exemple
Authorization: Bearer <access_token>
Base URL: https://api.fasodata.bf
Format: application/json
Upload: multipart/form-data

99.5%

Disponibilite cible

30 req/s

Limite dev

100 lignes

Pagination max

JSON, CSV

Formats

Demarrage rapide

Authentifiez-vous puis listez les datasets publics.

Exemple
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.

MethodeEndpointAccesDescription
GET/api/healthPublicEtat du service API et version courante.
POST/api/auth/registerPublicCree un compte utilisateur.
POST/api/auth/loginPublicRetourne un access token et un refresh token.
POST/api/auth/refreshPublicRenouvelle une session avec un refresh token.
GET/api/auth/meBearerProfil du compte connecte.
GET/api/datasetsPublicCatalogue pagine des datasets publies.
POST/api/datasetsInstitutionCree un dataset brouillon.
GET/api/datasets/myBearerDatasets de l'utilisateur connecte.
GET/api/datasets/{slug}PublicFiche detaillee d'un dataset.
PATCH/api/datasets/{slug}InstitutionMet a jour les metadonnees ou le statut.
GET/api/datasets/{slug}/previewPublicApercu tabulaire limite a 200 lignes.
GET/api/datasets/{slug}/statsPublicNombre de lignes, colonnes et metadonnees.
GET/api/datasets/{slug}/downloadPublicLien de telechargement temporaire.
POST/api/datasets/{slug}/uploadInstitutionImporte un CSV/XLSX et lance un job Celery.
GET/api/datasets/{slug}/jobsInstitutionHistorique des imports d'un dataset.
GET/api/datasets/jobs/{job_id}InstitutionEtat d'un job d'import.
GET/api/searchPublicRecherche plein texte multi-index ou dataset cible.
GET/api/geo/{dataset_id}/bboxPublicFeatures GeoJSON dans une emprise.
GET/api/geo/{dataset_id}/centroidPublicCentre, bbox et total d'un dataset geo.
POST/api/reports/{dataset_id}/export/csvInstitutionLance un export CSV asynchrone.
GET/api/reports/tasks/{task_id}InstitutionRecupere l'etat ou le resultat d'une tache.
GET/api/usersAdminListe paginee des utilisateurs.
PATCH/api/users/meBearerMet a jour le profil connecte.
GET/api/dashboard/alert-rulesPublicListe les regles d'alerte configurees.
POST/api/dashboard/alert-rulesInstitutionCree une regle de seuil et notification.
GET/api/dashboard/system-metricsPublicHistorique des metriques techniques.
POST/api/dashboard/system-metricsAdminEnregistre une mesure de supervision.
GET/api/dashboard/team-membersBearerListe les membres d'equipe d'une organisation.
POST/api/dashboard/team-membersInstitutionInvite ou rattache un membre d'equipe.
GET/api/dashboard/quality-checksPublicListe les controles qualite datasets.
POST/api/dashboard/quality-checksInstitutionCree un controle qualite avec anomalies.
PATCH/api/dashboard/quality-issues/{issue_id}/resolveInstitutionMarque 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`.

400

Bad Request

Parametres invalides ou compte desactive.

401

Unauthorized

Token absent, expire ou invalide.

403

Forbidden

Role insuffisant pour la ressource.

404

Not Found

Dataset, utilisateur ou ressource introuvable.

409

Conflict

Email deja utilise ou ressource dupliquee.

422

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.