Skip to content

Members API

Διαχειριστείτε τις θέσεις ομάδας και τους ρόλους — τα άτομα που μοιράζονται τους εκδότες, τα σήματα και τις απονομές του λογαριασμού σας.

Όλα τα endpoints απαιτούν ταυτοποίηση. Δείτε Ταυτοποίηση. Κάθε αίτημα περιορίζεται στον λογαριασμό του ταυτοποιημένου owner.

Οι ρόλοι που μπορούν να ανατεθούν μέσω του API είναι admin, editor και viewer. Ο ρόλος owner είναι δεσμευμένος για τον κάτοχο του λογαριασμού και δεν μπορεί να ανατεθεί ούτε να αφαιρεθεί.

List Members

Ανακτήστε όλα τα μέλη και τις εκκρεμείς προσκλήσεις του λογαριασμού σας.

GET /members

Example

bash
curl -X GET https://api.badges.ninja/members \
  -H "X-Api-Key: bws_your_api_key_here"

Response

json
{
  "items": [
    {
      "memberId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "email": "owner@acme.example.com",
      "role": "owner",
      "status": "active"
    },
    {
      "memberId": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
      "email": "editor@acme.example.com",
      "role": "editor",
      "status": "pending"
    }
  ]
}

Το status είναι active για τα μέλη που έχουν αποδεχθεί, ή pending για τις προσκλήσεις που δεν έχουν ακόμη γίνει αποδεκτές.


Invite Member

Προσκαλέστε ένα άτομο στον λογαριασμό μέσω email. Ένα email πρόσκλησης με έναν σύνδεσμο αποδοχής αποστέλλεται στη διεύθυνση.

POST /members

Parameters

ΠαράμετροςΤύποςΑπαιτείταιΠεριγραφή
emailstringΝαιΔιεύθυνση email προς πρόσκληση (πρέπει να είναι έγκυρο email)
rolestringΝαιΡόλος προς ανάθεση — ένα από τα admin, editor, viewer

Example

bash
curl -X POST https://api.badges.ninja/members \
  -H "X-Api-Key: bws_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "parameters": {
      "email": "editor@acme.example.com",
      "role": "editor"
    }
  }'

Response

json
{
  "memberId": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
  "inviteId": "c3d4e5f6-a7b8-9012-cdef-123456789012",
  "status": "pending"
}

Errors

  • 400role must be one of admin, editor, viewer
  • 400 — μη έγκυρη ή απούσα διεύθυνση email
  • 400seat limit reached — ο λογαριασμός δεν έχει ελεύθερες θέσεις για το πλάνο (Free: 2, Starter: 5, Pro: 20, συμπεριλαμβανομένου του owner). Αφαιρέστε ένα μέλος ή αναβαθμίστε το πλάνο.
  • 400 — το email είναι ήδη μέλος ή έχει μια εκκρεμή πρόσκληση σε αυτόν τον λογαριασμό

Accept Invitation

Αποδεχθείτε μια εκκρεμή πρόσκληση. Το email του ταυτοποιημένου χρήστη πρέπει να ταιριάζει με τη διεύθυνση στην οποία στάλθηκε η πρόσκληση.

POST /members/accept

Parameters

ΠαράμετροςΤύποςΑπαιτείταιΠεριγραφή
inviteIdstringΝαιΤο αναγνωριστικό της πρόσκλησης από το email του συνδέσμου αποδοχής

Example

bash
curl -X POST https://api.badges.ninja/members/accept \
  -H "X-Api-Key: bws_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "parameters": {
      "inviteId": "c3d4e5f6-a7b8-9012-cdef-123456789012"
    }
  }'

Response

json
{
  "memberId": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
  "status": "active"
}

Errors

  • 400email does not match invitation — το email με το οποίο έγινε η σύνδεση διαφέρει από το email της πρόσκλησης
  • 404 — η πρόσκληση δεν βρέθηκε (έχει ήδη γίνει αποδεκτή, ακυρώθηκε, ή το inviteId είναι λανθασμένο)

Update Member Role

Αλλάξτε τον ρόλο ενός υπάρχοντος μέλους. Απαιτούνται δικαιώματα owner ή admin.

POST /members/{memberId}/role

Parameters

ΠαράμετροςΤύποςΑπαιτείταιΠεριγραφή
memberIdstringΝαιΤο αναγνωριστικό του μέλους (παράμετρος διαδρομής)
rolestringΝαιΝέος ρόλος — ένα από τα admin, editor, viewer

Example

bash
curl -X POST https://api.badges.ninja/members/b2c3d4e5-f6a7-8901-bcde-f12345678901/role \
  -H "X-Api-Key: bws_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "parameters": {
      "role": "admin"
    }
  }'

Response

json
{
  "memberId": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
  "role": "admin",
  "updated": true
}

Errors

  • 400role must be one of admin, editor, viewer
  • 400the owner role cannot be changed
  • 404 — το μέλος δεν βρέθηκε

Remove Member

Αφαιρέστε ένα μέλος από τον λογαριασμό, ή ακυρώστε μια εκκρεμή πρόσκληση. Το μέλος χάνει αμέσως την πρόσβαση και η θέση του απελευθερώνεται.

DELETE /members/{memberId}

Example

bash
curl -X DELETE https://api.badges.ninja/members/b2c3d4e5-f6a7-8901-bcde-f12345678901 \
  -H "X-Api-Key: bws_your_api_key_here"

Response

Μια απλή συμβολοσειρά:

json
"member has been removed"

Errors

  • 400the owner cannot be removed
  • 404 — το μέλος δεν βρέθηκε

badges.ninja Documentation