Équipe
Un membre d'équipe est un consommateur rattaché à votre projet avec un rôle. Cette ressource les liste, en invite de nouveaux, et modifie ou retire ceux qui existent. Un membre est identifié par un identifiant d'adhésion préfixé pjin_, qui n'est pas l'identifiant propre du consommateur.
Les appels
| Méthode | Chemin | Droit requis |
|---|---|---|
| GET | /v1/team | team:read |
| GET | /v1/team/<member_id> | team:read |
| POST | /v1/team | team:write |
| PATCH | /v1/team/<member_id> | team:write |
| DELETE | /v1/team/<member_id> | team:write |
<member_id> est un identifiant d'adhésion, préfixé pjin_.
L'objet membre d'équipe
| Champ | Type | Description |
|---|---|---|
id | chaîne | L'identifiant de l'adhésion, préfixé pjin_. |
object | chaîne | Toujours team_member. |
consumer | objet | La personne, sous id, email, name et surname. |
role | objet | Le rôle, sous id (préfixé ptoi_) et name. Un projet compte deux rôles : administrator et user. |
is_default | booléen | Indique si ce membre est le propriétaire par défaut du projet. |
status | chaîne | Le statut de l'adhésion. |
created_at | entier | Le moment où le membre a rejoint le projet, en secondes Unix. |
updated_at | entier | Dernière modification, en secondes Unix. |
is_default désigne la seule adhésion dont le projet ne peut pas se passer. Elle ne peut être ni changée de rôle ni retirée par l'API.
Lister l'équipe
GET /v1/team renvoie les membres du projet, au plus 100, les plus récents d'abord.
curl https://api.think.ultineo.com/v1/team \
-H "Authorization: Bearer sk-project-YOUR_KEY" {
"code": 200,
"title": "OK",
"response": {
"object": "list",
"data": [
{
"id": "pjin_5c93b7e408a1df6215ba",
"object": "team_member",
"consumer": {
"id": "cons_8e2b45a10c9df7631b4a",
"email": "ada@acme.example",
"name": "Ada",
"surname": "Lovelace"
},
"role": { "id": "ptoi_6d7e8f901a2b3c4d5e6f", "name": "administrator" },
"is_default": true,
"status": "activated",
"created_at": 1751328000,
"updated_at": 1751328000
}
],
"total": 1
}
} Consulter un membre
GET /v1/team/<member_id> renvoie une seule adhésion de votre projet. Une adhésion d'un autre projet donne 404 et Team member not found.
curl https://api.think.ultineo.com/v1/team/pjin_5c93b7e408a1df6215ba \
-H "Authorization: Bearer sk-project-YOUR_KEY" Inviter un membre
POST /v1/team invite un consommateur existant. Nommez-le par courriel ou par identifiant : l'un des deux est obligatoire.
| Paramètre | Type | Obligatoire | Description |
|---|---|---|---|
consumer_email | chaîne | l'un des deux | L'adresse de courriel du consommateur à inviter. |
consumer_ident | chaîne | l'un des deux | L'identifiant du consommateur à inviter, préfixé cons_. |
role | chaîne | non | Le rôle à donner : soit un identifiant de rôle préfixé ptoi_, soit un nom de rôle (administrator ou user). Vaut user par défaut. |
Important — Un
rolequi ne correspond à aucun identifiant ni à aucun nom n'est pas refusé. L'invitation est créée avecuserà la place : une valeur erronée ressemble donc à une réussite. Relisezroledans la réponse pour confirmer ce qui a été appliqué.
curl -X POST https://api.think.ultineo.com/v1/team \
-H "Authorization: Bearer sk-project-YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{ "consumer_email": "grace@acme.example" }' L'appel répond 201 avec la nouvelle adhésion, dans la forme même que renvoie le listage.
| Code | Message | Cause |
|---|---|---|
| 422 | consumer_email or consumer_ident is required. | Aucun des deux champs n'a été envoyé. |
| 422 | The consumer cannot be invited to this project. | Le consommateur ne peut pas rejoindre le projet. Voir ci-dessous. |
Important — Toutes les raisons pour lesquelles une invitation ne peut aboutir donnent le même message
422: consommateur inexistant, compte suspendu ou supprimé, ou consommateur déjà membre. L'API ne les distingue volontairement pas, afin que cet appel ne puisse pas servir à découvrir si une adresse de courriel possède un compte.
Changer un rôle
PATCH /v1/team/<member_id> ne change rien d'autre que le rôle.
| Paramètre | Type | Obligatoire | Description |
|---|---|---|---|
role | chaîne | oui | Le nouveau rôle : un identifiant préfixé ptoi_, ou un nom de rôle (administrator ou user). |
curl -X PATCH https://api.think.ultineo.com/v1/team/pjin_5c93b7e408a1df6215ba \
-H "Authorization: Bearer sk-project-YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{ "role": "ptoi_6d7e8f901a2b3c4d5e6f" }' Important — Ici aussi, un
rolenon reconnu n'est pas refusé. L'appel répond200avec le rôle du membre inchangé : une valeur erronée est donc silencieusement sans effet. Vérifiezroledans la réponse plutôt que le code de statut.
Le propriétaire par défaut est refusé par un 422 et Cannot change the role of the default owner of the project.
Retirer un membre
DELETE /v1/team/<member_id> détache le consommateur du projet. Le compte lui-même n'est pas touché.
curl -X DELETE https://api.think.ultineo.com/v1/team/pjin_5c93b7e408a1df6215ba \
-H "Authorization: Bearer sk-project-YOUR_KEY" {
"code": 200,
"title": "OK",
"response": {
"deleted": true,
"id": "pjin_5c93b7e408a1df6215ba"
}
} Le propriétaire par défaut est refusé par un 422 et Cannot remove the default owner of the project. Pour transmettre un projet, promouvez d'abord un autre membre depuis l'espace de travail.
Les invitations, les changements de rôle et les retraits sont tous consignés. Voir Événements.