NjanggoNjanggoDocumentation API
Pro

Invités & RSVPs

Lister, filtrer, inviter et modérer les inscriptions.

GET/v1/events/:eventId/guests
LivelistEventGuests

Chemin actuel : /api/v1/events/:eventId/guests

Scopes : guests:read

Également accessible via /api/events/:eventId/guests (Bearer uniquement).

Paramètres

Modifiez les valeurs puis cliquez Try It! à droite.

eventIdpathrequis

Segment d'URL :eventId

pagequery

Paramètre query

limitquery

Paramètre query

statusquery

Paramètre query

x-njanggo-api-keyheaderrequis

Clé API (Try It!)

Lister

Retourne invités avec RSVP, billet, statut check-in et réponses aux questions d'inscription.

Réponse

200
application/json
{
  "data": [
    {
      "id": "gst_xyz789",
      "firstName": "Alice",
      "lastName": "Martin",
      "email": "alice@example.com",
      "status": "CONFIRMED",
      "ticket": { "id": "tkt_standard", "name": "Entrée standard" },
      "checkedInAt": null,
      "createdAt": "2026-07-04T18:30:00.000Z"
    }
  ],
  "meta": {
    "page": 1,
    "limit": 50,
    "total": 128,
    "totalPages": 3
  }
}

Pagination — actuel vs cible

Le backend actuel (@njanggo/types) expose total/page/limit à la racine. La cible Pro regroupe sous meta.

Actuel (dashboard /api)

Format backend aujourd’hui
{
  "data": [
    {
      "id": "gst_xyz789",
      "firstName": "Alice",
      "lastName": "Martin",
      "email": "alice@example.com",
      "status": "CONFIRMED"
    }
  ],
  "total": 128,
  "page": 1,
  "limit": 50,
  "totalPages": 3
}

Cible (API premium)

Contrat cible documenté
{
  "data": [
    {
      "id": "gst_xyz789",
      "firstName": "Alice",
      "lastName": "Martin",
      "email": "alice@example.com",
      "status": "CONFIRMED",
      "ticket": { "id": "tkt_standard", "name": "Entrée standard" },
      "checkedInAt": null,
      "createdAt": "2026-07-04T18:30:00.000Z"
    }
  ],
  "meta": {
    "page": 1,
    "limit": 50,
    "total": 128,
    "totalPages": 3
  }
}

Filtres query

GET /v1/events/:id/guests

pageintegeroptionnel

Défaut 1

limitintegeroptionnel

Défaut 50, max 100

emailstringoptionnel

Filtrer par e-mail exact (lowercase)

statusenumoptionnel

CONFIRMED, PENDING, WAITLISTED, DECLINED, CHECKED_IN…

ticketIdstringoptionnel

Filtrer par catégorie billet

qstringoptionnel

Recherche partielle nom ou e-mail (Pro)

Actions

POST
/v1/events/:id/guests

{ email, firstName, lastName, ticketId? }

POST
/v1/events/:id/guests/invite

{ emails: string[], message? } — batch

POST
/v1/events/:id/guests/:guestId/approve

PENDING → CONFIRMED + e-mail

POST
/v1/events/:id/guests/:guestId/reject

Refus + notification

PATCH
/v1/events/:id/guests/:guestId/status

Changement manuel statut

POST
/v1/rsvps/:rsvpId/transfer

{ recipientEmail, recipientName? }

Chaque inscription confirmée déclenche webhook guest.registered si configuré.

Export

curl -X GET "https://api.njanggo.com/api/v1/events/evt_abc/export?format=csv" \
  -H "x-njanggo-api-key: $NJANGGO_API_KEY"

Formats : csv (Excel) ou json (intégrations).