Skip to main content

Team Management

AlertifyPro uses organizations as the top-level tenant. Within an organization, you can create teams and manage members.


Organization members

List members

GET /api/v1/members
Authorization: Bearer <token>

Add a member

Members must have an existing AlertifyPro account (registered at POST /api/v1/auth/register). You add them by email:

POST /api/v1/members
Authorization: Bearer <token>
Content-Type: application/json

{
"email": "[email protected]",
"role": "member"
}
FieldTypeDefaultDescription
emailstringrequiredEmail of the user to add
rolestring"member"Role within the organization
note

The user must already have a AlertifyPro account. If not, ask them to register at POST /api/v1/auth/register first.

Response (201 Created):

{
"id": "membership-uuid",
"user_id": "user-uuid",
"email": "[email protected]",
"role": "member"
}

Remove a member

DELETE /api/v1/members/{userID}

Organization roles

RoleSet at
ownerAutomatically assigned at registration
memberDefault when adding via POST /api/v1/members

Custom roles can be specified in the role field when adding a member.


Teams

Teams are sub-groups within an organization — useful for routing escalations to specific groups.

Create a team

POST /api/v1/teams
Authorization: Bearer <token>
Content-Type: application/json

{
"name": "Backend Engineering",
"description": "Owns production services"
}

List teams

GET /api/v1/teams

Delete a team

DELETE /api/v1/teams/{id}

Add a member to a team

POST /api/v1/teams/{id}/members
Content-Type: application/json

{
"user_id": "uuid-of-user"
}

List team members

GET /api/v1/teams/{id}/members

User profile

# Get your profile
GET /api/v1/profile

# Update name or email
PUT /api/v1/profile
{ "full_name": "New Name", "email": "[email protected]" }

# Change password (min 8 characters)
PUT /api/v1/profile/password
{
"current_password": "oldpass",
"new_password": "newpassword123"
}

Organization settings

# Get your organization
GET /api/v1/organization

# Update name or slug
PUT /api/v1/organization
{ "name": "Acme Corp", "slug": "acme-corp" }