meeva
Docs

Team API

Manage organization members, roles, and invitations.

POST /organizations/:orgId/membersGET /organizations/:orgId/membersPATCH /organizations/:orgId/members/:idDELETE /organizations/:orgId/members/:id

Available Roles

owner

Full access, billing, can delete org

admin

Manage members & events, no billing

member

Own profile & availability only

POST/organizations/:orgId/members

Invite a new member to the organization. An email invitation will be sent.

Request Body:

FieldTypeDescription
email *stringMember email address
role *stringowner, admin, or member
firstNamestringOptional first name
lastNamestringOptional last name
// Request
{
  "email": "newmember@example.com",
  "role": "member",
  "firstName": "John",
  "lastName": "Doe"
}

// Response (201 Created)
{
  "member": {
    "id": "mem_abc123",
    "email": "newmember@example.com",
    "status": "invited",
    "role": "member",
    "invitedAt": "2024-01-15T10:00:00Z"
  }
}
GET/organizations/:orgId/members

List all members of the organization including pending invites.

// Response (200 OK)
{
  "members": [
    {
      "id": "mem_abc123",
      "userId": "usr_xyz789",
      "email": "owner@example.com",
      "firstName": "Jane",
      "lastName": "Smith",
      "role": "owner",
      "status": "active",
      "joinedAt": "2024-01-01T10:00:00Z"
    },
    {
      "id": "mem_def456",
      "email": "invited@example.com",
      "role": "member",
      "status": "invited",
      "invitedAt": "2024-01-15T10:00:00Z"
    }
  ],
  "totalCount": 2
}
PATCH/organizations/:orgId/members/:memberId

Update a member's role within the organization.

// Request
{
  "role": "admin"
}

// Response (200 OK)
{
  "member": {
    "id": "mem_abc123",
    "role": "admin",
    "updatedAt": "2024-01-16T10:00:00Z"
  }
}
DELETE/organizations/:orgId/members/:memberId

Remove a member from the organization. Pending invites are cancelled. Cannot remove the last owner.