Invite Team Member
Sends an invitation to join a merchant's team to the specified email address.
Authentication required (User JWT).
POST /api/merchants/:merchantId/team/invitations
Path Parameters
| Parameter | Type | Description |
|---|---|---|
merchantId | String | The ID of the parent merchant. |
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
email | String | Yes | Email address of the person to invite. |
role | String | Yes | Role to assign to the team member (ADMIN, DEVELOPER, SUPPORT, VIEW_ONLY). |
Example Request
{
"email": "team.member@example.com",
"role": "DEVELOPER"
}
Response 201 Created
Returns the invitation details.
{
"message": "Invitation sent successfully",
"invitation": {
"id": "uuid-invitation-123",
"merchantId": "uuid-merchant-456",
"email": "team.member@example.com",
"role": "DEVELOPER",
"status": "PENDING",
"expiresAt": "2023-11-03T12:00:00.000Z",
"invitedByUserId": "uuid-user-789",
"createdAt": "2023-10-27T12:00:00.000Z"
}
}
Errors
400 Bad Request: Validation failed (missing fields, invalid role).401 Unauthorized: Invalid or missing JWT.403 Forbidden: User does not have permission to invite team members.404 Not Found: Merchant not found.409 Conflict: User is already a member or already has a pending invitation.500 Internal Server Error