Français
Français
Appearance
Français
Français
Appearance
Gérez les émetteurs de badges — les organisations ou personnes qui attribuent des badges.
Tous les endpoints nécessitent une authentification via l'en-tête X-Api-Key. Voir Authentification.
Crée un nouvel émetteur de badges.
POST /issuers| Paramètre | Type | Obligatoire | Description |
|---|---|---|---|
name | string | Oui | Nom de l'organisation (minimum 3 caractères) |
url | string | Oui | Site web de l'organisation (doit être une URL HTTP/HTTPS valide) |
email | string | Oui | E-mail de contact de l'émetteur |
logo | string | Non | Image encodée en Base64 (PNG ou JPG) |
linkedinOrganizationId | string | Non | ID numérique de la page entreprise LinkedIn. Quand il est renseigné, chaque page publique d'attribution de cet émetteur affiche un bouton Ajouter au profil LinkedIn. |
curl -X POST https://api.badges.ninja/issuers \
-H "X-Api-Key: bws_your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"parameters": {
"name": "Acme Academy",
"url": "https://acme.example.com",
"email": "badges@acme.example.com"
}
}'{
"statusCode": 200,
"info": {
"issuerId": "https://api.badges.ninja/certify-badge/issuer/a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}
}Récupère tous les émetteurs que vous avez créés.
GET /issuerscurl -X GET https://api.badges.ninja/issuers \
-H "X-Api-Key: bws_your_api_key_here"{
"statusCode": 200,
"info": {
"issuers": [
{
"id": "https://api.badges.ninja/certify-badge/issuer/a1b2c3d4-...",
"name": "Acme Academy",
"url": "https://acme.example.com",
"email": "badges@acme.example.com",
"verified": true,
"timestamp": "2025-01-15T10:30:00.000Z"
}
]
}
}Vérifie un émetteur avec le code de vérification envoyé à son e-mail.
POST /issuers/{issuerId}/verify| Paramètre | Type | Obligatoire | Description |
|---|---|---|---|
issuerId | string | Oui | L'ID de l'émetteur (paramètre de chemin) |
code | string | Oui | Le code de vérification reçu par e-mail |
curl -X POST https://api.badges.ninja/issuers/a1b2c3d4-e5f6-7890-abcd-ef1234567890/verify \
-H "X-Api-Key: bws_your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"parameters": {
"issuerId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"code": "ABC123"
}
}'{
"statusCode": 200,
"info": {
"verified": true
}
}Supprime un émetteur. L'émetteur ne doit pas avoir de badges.
DELETE /issuers/{issuerId}curl -X DELETE https://api.badges.ninja/issuers/a1b2c3d4-e5f6-7890-abcd-ef1234567890 \
-H "X-Api-Key: bws_your_api_key_here"{
"statusCode": 200,
"info": {
"deleted": true
}
}400 — l'émetteur a des badges ou attributions et ne peut pas être supprimé (supprimez-les d'abord)404 — émetteur introuvableMet à jour les champs d'un émetteur non vérifié. Une fois vérifié, seuls logo et linkedinOrganizationId restent modifiables pour préserver la stabilité des certifications.
PUT /issuers/{issuerId}| Paramètre | Type | Obligatoire | Description |
|---|---|---|---|
issuerId | string | Oui | L'ID de l'émetteur (paramètre de chemin) |
name | string | Non | Nouveau nom (uniquement si non vérifié) |
url | string | Non | Nouvelle URL (uniquement si non vérifié) |
email | string | Non | Nouvel e-mail (uniquement si non vérifié — envoie un nouvel e-mail de vérification) |
logo | string | Non | Nouveau logo encodé en Base64 |
linkedinOrganizationId | string | Non | Nouvel ID d'organisation LinkedIn (ou chaîne vide pour effacer) |
Invalide le lien de vérification précédent et envoie un nouveau par e-mail. Valide uniquement tant que l'émetteur est encore non vérifié.
POST /issuers/{issuerId}/rotate-code{
"statusCode": 200,
"info": {
"sent": true
}
}