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 ​

  • 400 — role must be one of admin, editor, viewer
  • 400 — μη έγκυρη ή απούσα διεύθυνση email
  • 400 — seat 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 ​

  • 400 — email 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 ​

  • 400 — role must be one of admin, editor, viewer
  • 400 — the 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 ​

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

badges.ninja Documentation