BusinessTeam
Business
Team
Members, invitations, roles and branches.
Read team members and invitations, invite people and change their roles and branches. A key can never grant owner, create developer keys or reach anyone's personal account.
Paths are relative to https://app.revisit.cards/v1/developer.
Endpoints
- GETRead permitted team members and invitation statuses
/team - POSTInvite a non-owner team member
/team/invitations - POSTCancel an invitation
/team/invitations/{id}/cancel - PATCHChange a non-owner member's role and branch
/team/members/{id} - DELETERemove a non-owner member
/team/members/{id} - PUTAssign an active branch to a branch-bound member
/team/members/{id}/branch
Read permitted team members and invitation statuses
/teamScopeteam:read
Requires team:read and the Team plan feature. Program-limited keys are refused; branch-limited keys see only their branch-bound members and invitations.
Query
limitinteger- 1 to 100. Default
50. offsetinteger- 0 to 10000. Default
0.
Returns 200
hasMoreMembersbooleanRequiredhasMoreInvitationsbooleanRequiredmembersobject[]Requiredmembers[].idstringRequiredmembers[].userIdstringRequiredmembers[].namestringRequiredmembers[].emailstringRequiredmembers[].roleenumRequired- One of
owner,manager,marketing,branch_manager,staff. members[].branchIdstring or nullRequiredmembers[].joinedAtdate-timeRequiredmembers[].suspendedbooleanRequiredinvitationsobject[]Requiredinvitations[].idstringRequiredinvitations[].emailstringRequiredinvitations[].roleenumRequired- One of
owner,manager,marketing,branch_manager,staff. invitations[].branchIdstring or nullRequiredinvitations[].statusstringRequiredinvitations[].expiresAtdate-timeRequired
curl "https://app.revisit.cards/v1/developer/team" \
-H "Authorization: Bearer $DEVELOPER_API_KEY"{
"data": {
"hasMoreInvitations": false,
"hasMoreMembers": false,
"invitations": [
{
"branchId": "5eff65d7-d01c-4bd3-b26a-3d06b21fd005",
"email": "nusrat@example.com",
"expiresAt": "2026-11-03T08:41:12.000Z",
"id": "d12cc02b-02fe-4a1f-83b0-5414e70fd99c",
"role": "owner",
"status": "active"
}
],
"members": [
{
"branchId": "5eff65d7-d01c-4bd3-b26a-3d06b21fd005",
"email": "nusrat@example.com",
"id": "d12cc02b-02fe-4a1f-83b0-5414e70fd99c",
"joinedAt": "2026-11-03T08:41:12.000Z",
"name": "Nusrat Jahan",
"role": "owner",
"suspended": false,
"userId": "644b8396-f964-49fe-a7df-d2102aa141c2"
}
]
},
"requestId": "1f4ee93a-d795-496e-ab61-105d160be31a",
"success": true
}Invite a non-owner team member
/team/invitationsScopeteam:write
Explicit team:write only. Live invitations use existing email/verified acceptance; test invitations are simulated and cannot be accepted. Preserves plan, licence, branch and seat limits.
Send an Idempotency-Key header. Safe to retry.
Body
emailemailRequiredroleenumRequired- One of
manager,marketing,branch_manager,staff. branchIduuid
Returns 201
idstringRequiredstatusenumRequired- One of
pending,simulated,canceled,updated,removed.
curl -X POST "https://app.revisit.cards/v1/developer/team/invitations" \
-H "Authorization: Bearer $DEVELOPER_API_KEY" \
-H "Idempotency-Key: 5f0c2a8e-7b1d-4c3e-9a6f-0d4b8ec3d6ec" \
-H "Content-Type: application/json" \
-d '{
"email": "nusrat@example.com",
"role": "manager"
}'{
"data": {
"id": "d12cc02b-02fe-4a1f-83b0-5414e70fd99c",
"status": "pending"
},
"requestId": "5e14a581-048a-4840-b6f2-0f391441a795",
"success": true
}Cancel an invitation
/team/invitations/{id}/cancelScopeteam:write
Requires explicit team:write. Unknown, foreign or out-of-scope invitation ids return 404.
Send an Idempotency-Key header. Safe to retry.
Path
idstringRequired
Returns 200
idstringRequiredstatusenumRequired- One of
pending,simulated,canceled,updated,removed.
curl -X POST "https://app.revisit.cards/v1/developer/team/invitations/e01b010d-2c65-48e1-83a0-acad79f8d3b4/cancel" \
-H "Authorization: Bearer $DEVELOPER_API_KEY" \
-H "Idempotency-Key: 5f0c2a8e-7b1d-4c3e-9a6f-0d4b8e00220b"{
"data": {
"id": "d12cc02b-02fe-4a1f-83b0-5414e70fd99c",
"status": "pending"
},
"requestId": "b7339810-d47b-4fb6-a315-6349c1d46d02",
"success": true
}Change a non-owner member's role and branch
/team/members/{id}Scopeteam:write
Requires explicit team:write. Cannot grant owner, change an owner, or promote outside a branch-limited key's authority. Branch-bound roles require an active branch; chain roles have none.
Send an Idempotency-Key header. Safe to retry.
Path
idstringRequired
Body
roleenumRequired- One of
manager,marketing,branch_manager,staff. branchIduuid
Returns 200
idstringRequiredstatusenumRequired- One of
pending,simulated,canceled,updated,removed.
curl -X PATCH "https://app.revisit.cards/v1/developer/team/members/e01b010d-2c65-48e1-83a0-acad79f8d3b4" \
-H "Authorization: Bearer $DEVELOPER_API_KEY" \
-H "Idempotency-Key: 5f0c2a8e-7b1d-4c3e-9a6f-0d4b8ec34fd1" \
-H "Content-Type: application/json" \
-d '{
"role": "manager"
}'{
"data": {
"id": "d12cc02b-02fe-4a1f-83b0-5414e70fd99c",
"status": "pending"
},
"requestId": "a2d35016-549c-48fe-be46-b75e050f529c",
"success": true
}Remove a non-owner member
/team/members/{id}Scopeteam:write
Requires explicit team:write. The owner is always protected, as are targets outside the key's branch or business. Existing personal login credentials are never changed.
Send an Idempotency-Key header. Safe to retry.
Path
idstringRequired
Returns 200
idstringRequiredstatusenumRequired- One of
pending,simulated,canceled,updated,removed.
curl -X DELETE "https://app.revisit.cards/v1/developer/team/members/e01b010d-2c65-48e1-83a0-acad79f8d3b4" \
-H "Authorization: Bearer $DEVELOPER_API_KEY" \
-H "Idempotency-Key: 5f0c2a8e-7b1d-4c3e-9a6f-0d4b8e42535a"{
"data": {
"id": "d12cc02b-02fe-4a1f-83b0-5414e70fd99c",
"status": "pending"
},
"requestId": "ea7b312f-c3e0-4243-83cd-7085d62e6ee8",
"success": true
}Assign an active branch to a branch-bound member
/team/members/{id}/branchScopeteam:write
Requires explicit team:write. A null branch unassigns staff and is permitted only for a key unrestricted by branch.
Send an Idempotency-Key header. Safe to retry.
Path
idstringRequired
Body
branchIduuid or nullRequired
Returns 200
idstringRequiredstatusenumRequired- One of
pending,simulated,canceled,updated,removed.
curl -X PUT "https://app.revisit.cards/v1/developer/team/members/e01b010d-2c65-48e1-83a0-acad79f8d3b4/branch" \
-H "Authorization: Bearer $DEVELOPER_API_KEY" \
-H "Idempotency-Key: 5f0c2a8e-7b1d-4c3e-9a6f-0d4b8e5c9590" \
-H "Content-Type: application/json" \
-d '{
"branchId": "5eff65d7-d01c-4bd3-b26a-3d06b21fd005"
}'{
"data": {
"id": "d12cc02b-02fe-4a1f-83b0-5414e70fd99c",
"status": "pending"
},
"requestId": "8d85ef4f-af8d-4938-ac89-efbd727f0ef2",
"success": true
}