Skip to main content

Portal — Team

Manage team members within your organization. Roles control access levels: owner, admin, and member.

All endpoints require JWT bearer authentication.

GET /api/portal/team

List all team members in your organization.

GET https://api.pdfcanon.com/api/portal/team

Response — 200 OK

[
{
"id": "u1a2b3c4-d5e6-7890-abcd-ef1234567890",
"email": "alice@example.com",
"role": "owner",
"isActive": true,
"emailVerified": true,
"createdAt": "2026-01-01T00:00:00Z",
"lastLoginAt": "2026-01-15T09:00:00Z"
},
{
"id": "u2b3c4d5-e6f7-8901-bcde-f12345678901",
"email": "bob@example.com",
"role": "member",
"isActive": true,
"emailVerified": true,
"createdAt": "2026-01-05T00:00:00Z",
"lastLoginAt": "2026-01-14T14:30:00Z"
}
]

POST /api/portal/team/invite

Invite a new team member by email. The invite link expires after 48 hours.

POST https://api.pdfcanon.com/api/portal/team/invite

Request body (JSON)

FieldTypeRequiredDescription
emailstringEmail address of the person to invite
rolestringRole to assign: admin or member

Response — 200 OK

Error responses

StatusDescription
400Invalid email or role
409User is already a member of the organization

DELETE /api/portal/team/{userId}

Remove a team member from your organization.

DELETE https://api.pdfcanon.com/api/portal/team/{userId}

Path parameters

ParameterTypeDescription
userIduuidID of the member to remove

Response — 200 OK

Error responses

StatusDescription
400Cannot remove the organization owner
404User not found in organization

PUT /api/portal/team/{userId}/role

Change a team member's role.

PUT https://api.pdfcanon.com/api/portal/team/{userId}/role

Request body (JSON)

FieldTypeRequiredDescription
rolestringNew role: owner, admin, or member

Response — 200 OK

Error responses

StatusDescription
400Invalid role or cannot change own role
404User not found in organization