API Équipes
Gérer les équipes, les membres, les rôles et les invitations pour la création collaborative de formulaires.
L'API Équipes vous permet de créer et gérer des équipes pour la création collaborative de formulaires. Les équipes permettent à plusieurs utilisateurs de partager des formulaires, avec un contrôle d'accès basé sur les rôles régissant qui peut consulter, modifier et supprimer des formulaires et des réponses.
Tous les corps de requête et de réponse utilisent des noms de champs en snake_case.
Rôles d'équipe
ownerroleAccès complet. Peut gérer les membres, la facturation et supprimer l'équipe.
adminrolePeut créer, modifier, supprimer des formulaires, gérer les membres et consulter les réponses.
editorrolePeut créer et modifier des formulaires, consulter les réponses. Ne peut pas gérer les membres.
viewerrolePeut consulter les formulaires et les réponses. Ne peut pas créer ni modifier.
/api/v1/teamsPOST/api/v1/teamsGET/api/v1/teams/:teamIdPUT/api/v1/teams/:teamIdDELETE/api/v1/teams/:teamIdGET/api/v1/teams/:teamId/membersPOST/api/v1/teams/:teamId/membersPUT/api/v1/teams/:teamId/members/:memberIdDELETE/api/v1/teams/:teamId/members/:memberIdGET/api/v1/teams/:teamId/invitationsPOST/api/v1/teams/:teamId/invitationsDELETE/api/v1/teams/:teamId/invitations/:invIdLister les équipes
/api/v1/teamsRenvoie toutes les équipes dont l'utilisateur authentifié est membre.
Réponse
{
"teams": [
{
"id": "665b2c3d4e5f6a7b8c9d0e1f",
"name": "Marketing",
"slug": "marketing",
"owner_id": "665a0a1b2c3d4e5f6a7b8c9d",
"created_at": "2026-01-10T09:00:00.000Z",
"updated_at": "2026-02-15T11:30:00.000Z",
"member_count": 5,
"your_role": "admin"
},
{
"id": "665c3d4e5f6a7b8c9d0e1f20",
"name": "Product",
"slug": "product",
"owner_id": "665a0a1b2c3d4e5f6a7b8c9d",
"created_at": "2026-02-01T14:00:00.000Z",
"updated_at": "2026-02-20T16:45:00.000Z",
"member_count": 3,
"your_role": "owner"
}
]
}
Exemples de code
curl -X GET "https://api.nueform.io/api/v1/teams" \
-H "Authorization: Bearer YOUR_API_KEY"
Créer une équipe
/api/v1/teamsCrée une nouvelle équipe. L'utilisateur authentifié devient le propriétaire de l'équipe.
Corps de la requête
namestringNom de l'équipe
Exemple de requête
{
"name": "Marketing"
}
Réponse
{
"id": "665b2c3d4e5f6a7b8c9d0e1f",
"name": "Marketing",
"slug": "marketing",
"owner_id": "665a0a1b2c3d4e5f6a7b8c9d",
"created_at": "2026-02-28T12:00:00.000Z",
"updated_at": "2026-02-28T12:00:00.000Z"
}
Exemples de code
curl -X POST "https://api.nueform.io/api/v1/teams" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "name": "Marketing" }'
Obtenir une équipe
/api/v1/teams/:teamIdRécupère une équipe unique par son identifiant.
Paramètres de chemin
teamIdstringL'identifiant de l'équipe
Réponse
{
"id": "665b2c3d4e5f6a7b8c9d0e1f",
"name": "Marketing",
"slug": "marketing",
"owner_id": "665a0a1b2c3d4e5f6a7b8c9d",
"created_at": "2026-01-10T09:00:00.000Z",
"updated_at": "2026-02-15T11:30:00.000Z",
"member_count": 5
}
Exemples de code
curl -X GET "https://api.nueform.io/api/v1/teams/665b2c3d4e5f6a7b8c9d0e1f" \
-H "Authorization: Bearer YOUR_API_KEY"
Mettre à jour une équipe
/api/v1/teams/:teamIdMet à jour les propriétés de l'équipe. Nécessite le rôle owner ou admin.
Paramètres de chemin
teamIdstringL'identifiant de l'équipe
Corps de la requête
namestringNouveau nom de l'équipe
Exemple de requête
{
"name": "Marketing & Growth"
}
Réponse
Renvoie l'objet équipe mis à jour.
Exemples de code
curl -X PUT "https://api.nueform.io/api/v1/teams/665b2c3d4e5f6a7b8c9d0e1f" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "name": "Marketing & Growth" }'
Supprimer une équipe
/api/v1/teams/:teamIdSupprime définitivement une équipe. Seul le propriétaire de l'équipe peut la supprimer.
La suppression d'une équipe retire toutes les adhésions et invitations. Les formulaires appartenant à l'équipe ne sont pas automatiquement supprimés mais deviendront inaccessibles aux anciens membres de l'équipe.
Paramètres de chemin
teamIdstringL'identifiant de l'équipe
Réponse
{
"success": true
}
Exemples de code
curl -X DELETE "https://api.nueform.io/api/v1/teams/665b2c3d4e5f6a7b8c9d0e1f" \
-H "Authorization: Bearer YOUR_API_KEY"
Lister les membres
/api/v1/teams/:teamId/membersRenvoie tous les membres d'une équipe.
Paramètres de chemin
teamIdstringL'identifiant de l'équipe
Réponse
{
"members": [
{
"id": "66d1e2f3a4b5c6d7e8f9a0b1",
"user_id": "665a0a1b2c3d4e5f6a7b8c9d",
"email": "alice@example.com",
"first_name": "Alice",
"last_name": "Johnson",
"role": "owner",
"joined_at": "2026-01-10T09:00:00.000Z"
},
{
"id": "66d2e3f4a5b6c7d8e9f0a1b2",
"user_id": "665a1b2c3d4e5f6a7b8c9d0e",
"email": "bob@example.com",
"first_name": "Bob",
"last_name": "Smith",
"role": "editor",
"joined_at": "2026-01-15T14:30:00.000Z"
}
]
}
Exemples de code
curl -X GET "https://api.nueform.io/api/v1/teams/665b2c3d4e5f6a7b8c9d0e1f/members" \
-H "Authorization: Bearer YOUR_API_KEY"
Ajouter un membre
/api/v1/teams/:teamId/membersAjoute un utilisateur directement à une équipe par son identifiant utilisateur. Nécessite le rôle owner ou admin. Pour inviter un utilisateur par e-mail, utilisez Créer une invitation à la place.
Paramètres de chemin
teamIdstringL'identifiant de l'équipe
Corps de la requête
user_idstringL'identifiant de l'utilisateur à ajouter
rolestringRôle à attribuer : "admin", "editor", "viewer" (par défaut : "viewer")
Exemple de requête
{
"user_id": "665a1b2c3d4e5f6a7b8c9d0e",
"role": "editor"
}
Réponse
{
"id": "66d2e3f4a5b6c7d8e9f0a1b2",
"user_id": "665a1b2c3d4e5f6a7b8c9d0e",
"team_id": "665b2c3d4e5f6a7b8c9d0e1f",
"role": "editor",
"joined_at": "2026-02-28T12:00:00.000Z"
}
Exemples de code
curl -X POST "https://api.nueform.io/api/v1/teams/665b2c3d4e5f6a7b8c9d0e1f/members" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"user_id": "665a1b2c3d4e5f6a7b8c9d0e",
"role": "editor"
}'
Mettre à jour le rôle d'un membre
/api/v1/teams/:teamId/members/:memberIdMet à jour le rôle d'un membre de l'équipe. Nécessite le rôle owner ou admin. Vous ne pouvez pas modifier le rôle du propriétaire.
Paramètres de chemin
teamIdstringL'identifiant de l'équipe
memberIdstringL'identifiant du membre de l'équipe
Corps de la requête
rolestringNouveau rôle : "admin", "editor", "viewer"
Exemple de requête
{
"role": "admin"
}
Réponse
{
"id": "66d2e3f4a5b6c7d8e9f0a1b2",
"user_id": "665a1b2c3d4e5f6a7b8c9d0e",
"team_id": "665b2c3d4e5f6a7b8c9d0e1f",
"role": "admin",
"joined_at": "2026-01-15T14:30:00.000Z"
}
Exemples de code
curl -X PUT "https://api.nueform.io/api/v1/teams/665b2c3d4e5f6a7b8c9d0e1f/members/66d2e3f4a5b6c7d8e9f0a1b2" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "role": "admin" }'
Retirer un membre
/api/v1/teams/:teamId/members/:memberIdRetire un membre d'une équipe. Nécessite le rôle owner ou admin. Le propriétaire de l'équipe ne peut pas être retiré.
Paramètres de chemin
teamIdstringL'identifiant de l'équipe
memberIdstringL'identifiant du membre de l'équipe
Réponse
{
"success": true
}
Exemples de code
curl -X DELETE "https://api.nueform.io/api/v1/teams/665b2c3d4e5f6a7b8c9d0e1f/members/66d2e3f4a5b6c7d8e9f0a1b2" \
-H "Authorization: Bearer YOUR_API_KEY"
Lister les invitations
/api/v1/teams/:teamId/invitationsRenvoie toutes les invitations en attente pour une équipe. Nécessite le rôle owner ou admin.
Paramètres de chemin
teamIdstringL'identifiant de l'équipe
Réponse
{
"invitations": [
{
"id": "66e1f2a3b4c5d6e7f8a9b0c1",
"email": "carol@example.com",
"role": "editor",
"invited_by": "665a0a1b2c3d4e5f6a7b8c9d",
"status": "pending",
"expires_at": "2026-03-07T12:00:00.000Z",
"created_at": "2026-02-28T12:00:00.000Z"
}
]
}
Exemples de code
curl -X GET "https://api.nueform.io/api/v1/teams/665b2c3d4e5f6a7b8c9d0e1f/invitations" \
-H "Authorization: Bearer YOUR_API_KEY"
Créer une invitation
/api/v1/teams/:teamId/invitationsEnvoie une invitation par e-mail pour rejoindre une équipe. L'invitation inclut un jeton unique et expire après 7 jours. Nécessite le rôle owner ou admin.
Paramètres de chemin
teamIdstringL'identifiant de l'équipe
Corps de la requête
emailstringAdresse e-mail à inviter
rolestringRôle à attribuer lors de l'acceptation : "admin", "editor", "viewer" (par défaut : "editor")
Exemple de requête
{
"email": "carol@example.com",
"role": "editor"
}
Réponse
{
"id": "66e1f2a3b4c5d6e7f8a9b0c1",
"email": "carol@example.com",
"role": "editor",
"invited_by": "665a0a1b2c3d4e5f6a7b8c9d",
"status": "pending",
"expires_at": "2026-03-07T12:00:00.000Z",
"created_at": "2026-02-28T12:00:00.000Z"
}
Exemples de code
curl -X POST "https://api.nueform.io/api/v1/teams/665b2c3d4e5f6a7b8c9d0e1f/invitations" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"email": "carol@example.com",
"role": "editor"
}'
Annuler une invitation
/api/v1/teams/:teamId/invitations/:invIdAnnule une invitation en attente. Nécessite le rôle owner ou admin. Le jeton d'invitation ne sera plus valide.
Paramètres de chemin
teamIdstringL'identifiant de l'équipe
invIdstringL'identifiant de l'invitation
Réponse
{
"success": true
}
Exemples de code
curl -X DELETE "https://api.nueform.io/api/v1/teams/665b2c3d4e5f6a7b8c9d0e1f/invitations/66e1f2a3b4c5d6e7f8a9b0c1" \
-H "Authorization: Bearer YOUR_API_KEY"
Réponses d'erreur
Réponses d'erreur standard renvoyées par les points d'accès de l'API Équipes.
Codes d'erreur
400Bad RequestChamps obligatoires manquants, rôle invalide
401UnauthorizedClé API manquante ou invalide
403ForbiddenRôle insuffisant pour l'action
404Not FoundÉquipe, membre ou invitation introuvable
409ConflictUtilisateur déjà membre, invitation en double
500Server ErrorErreur interne du serveur
Exemple d'erreur
{
"error": "Not authorized to manage team members"
}