Aller au contenu principal

Exemples JSON

Statut

Document de référence — v1.0 — relu le 2026-05-10.

CurrentUser

Objet retourné par /api/v1/auth/me et /api/v1/auth/exchange.

{
"user": {
"user_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"email": "sylvain@example.com",
"roles": ["user"],
"acteur_ids": ["b2c3d4e5-f6a7-8901-bcde-f12345678901"],
"contributor_id": null,
"commune_id": "c3d4e5f6-a7b8-9012-cdef-123456789012",
"origin": "dmv"
}
}

Acteur

{
"id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
"slug": "association-les-amis-du-village",
"nom": "Association Les Amis du Village",
"kind": "association",
"description": "Une association dédiée à la vie locale.",
"commune_id": "c3d4e5f6-a7b8-9012-cdef-123456789012",
"tags": ["culture", "loisirs"],
"documents": [],
"created_at": "2025-01-15T10:00:00Z"
}

Document (fichier uploadé)

{
"id": "d4e5f6a7-b8c9-0123-defa-234567890123",
"acteur_id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
"filename": "photo-evenement.jpg",
"mimetype": "image/jpeg",
"filesize_original": 524288,
"url_thumb": "https://xyz.supabase.co/storage/v1/object/public/documents/thumb/photo-evenement.jpg",
"url_display": "https://xyz.supabase.co/storage/v1/object/public/documents/display/photo-evenement.jpg",
"url_banner": null,
"url_original": "https://xyz.supabase.co/storage/v1/object/public/documents/original/photo-evenement.jpg",
"is_pinned": true,
"is_enabled": true,
"order_idx": 0
}

Feature flag

{
"id": "feat-asso-agenda",
"slug": "asso-agenda",
"enabled": true,
"is_global": false,
"only_for_kinds": ["association"],
"excluded_for_kinds": []
}

Alerte Mairie

{
"id": "e5f6a7b8-c9d0-1234-efab-345678901234",
"commune_id": "c3d4e5f6-a7b8-9012-cdef-123456789012",
"titre": "Coupure d'eau ce soir",
"contenu": "Une coupure d'eau est prévue de 20h à 23h dans le quartier Nord.",
"niveau": "warning",
"expires_at": "2025-06-15T23:00:00Z",
"created_at": "2025-06-15T10:00:00Z"
}

Device PlayLoop

{
"id": "f6a7b8c9-d0e1-2345-fabc-456789012345",
"nom": "Écran vitrine boulangerie",
"location": "Vitrine principale",
"commune_id": "c3d4e5f6-a7b8-9012-cdef-123456789012",
"token": "pldev_opaque_token_xxx",
"is_active": true,
"last_seen_at": "2025-06-15T09:45:00Z"
}

Réponse paginée (liste)

{
"data": [
{ "id": "...", "slug": "...", "nom": "..." }
],
"links": {
"first": "https://api.danmonvillage.fr/api/v1/acteurs?page=1",
"last": "https://api.danmonvillage.fr/api/v1/acteurs?page=5",
"prev": null,
"next": "https://api.danmonvillage.fr/api/v1/acteurs?page=2"
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 5,
"per_page": 20,
"to": 20,
"total": 97
}
}

Réponse d'erreur standard

{
"error": "scope_violation",
"message": "Vous ne pouvez pas modifier une publication hors de votre périmètre."
}

Réponse de validation (422)

{
"message": "The supabase_token field is required. (and 1 more error)",
"errors": {
"supabase_token": [
"The supabase_token field is required."
],
"origin": [
"The origin field must be one of: dmv, backoffice, playloop."
]
}
}