Skip to content
BusinessTeam

Business

Team

Members, invitations, roles and branches.

Pilotv1

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.

Read permitted team members and invitation statuses

GET/team

Scopeteam: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

hasMoreMembersbooleanRequired
hasMoreInvitationsbooleanRequired
membersobject[]Required
members[].idstringRequired
members[].userIdstringRequired
members[].namestringRequired
members[].emailstringRequired
members[].roleenumRequired
One of owner, manager, marketing, branch_manager, staff.
members[].branchIdstring or nullRequired
members[].joinedAtdate-timeRequired
members[].suspendedbooleanRequired
invitationsobject[]Required
invitations[].idstringRequired
invitations[].emailstringRequired
invitations[].roleenumRequired
One of owner, manager, marketing, branch_manager, staff.
invitations[].branchIdstring or nullRequired
invitations[].statusstringRequired
invitations[].expiresAtdate-timeRequired
Request
curl "https://app.revisit.cards/v1/developer/team" \
  -H "Authorization: Bearer $DEVELOPER_API_KEY"
Response
{
  "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

POST/team/invitations

Scopeteam: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

emailemailRequired
roleenumRequired
One of manager, marketing, branch_manager, staff.
branchIduuid

Returns 201

idstringRequired
statusenumRequired
One of pending, simulated, canceled, updated, removed.
Request
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"
  }'
Response
{
  "data": {
    "id": "d12cc02b-02fe-4a1f-83b0-5414e70fd99c",
    "status": "pending"
  },
  "requestId": "5e14a581-048a-4840-b6f2-0f391441a795",
  "success": true
}

Cancel an invitation

POST/team/invitations/{id}/cancel

Scopeteam: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

idstringRequired
statusenumRequired
One of pending, simulated, canceled, updated, removed.
Request
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"
Response
{
  "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

PATCH/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

idstringRequired
statusenumRequired
One of pending, simulated, canceled, updated, removed.
Request
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"
  }'
Response
{
  "data": {
    "id": "d12cc02b-02fe-4a1f-83b0-5414e70fd99c",
    "status": "pending"
  },
  "requestId": "a2d35016-549c-48fe-be46-b75e050f529c",
  "success": true
}

Remove a non-owner member

DELETE/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

idstringRequired
statusenumRequired
One of pending, simulated, canceled, updated, removed.
Request
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"
Response
{
  "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

PUT/team/members/{id}/branch

Scopeteam: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

idstringRequired
statusenumRequired
One of pending, simulated, canceled, updated, removed.
Request
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"
  }'
Response
{
  "data": {
    "id": "d12cc02b-02fe-4a1f-83b0-5414e70fd99c",
    "status": "pending"
  },
  "requestId": "8d85ef4f-af8d-4938-ac89-efbd727f0ef2",
  "success": true
}