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"
}
| Field | Type | Default | Description |
|---|---|---|---|
email | string | required | Email of the user to add |
role | string | "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
| Role | Set at |
|---|---|
owner | Automatically assigned at registration |
member | Default 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" }