Skip to content

Users

Team members in your workspace — their roles, status, and org node assignments. Password hashes, TOTP secrets, and session data are never returned.

GET/api/v1/users

Paginated list of users in your organization.

Query parameters

NameTypeRequiredDescription
limitintegeroptionalNumber of results (default 100, max 500).
cursorISO 8601optionalPagination cursor from nextCursor.
rolestringoptionalFilter by role: admin | editor | viewer
statusstringoptionalFilter by status: pending | active | rejected | suspended

Unknown role or status values return 400 Bad Request with an allowed array listing the accepted values.

Example response

Json
{
  "data": [
    {
      "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
      "name": "Alice Johnson",
      "email": "alice@acme.com",
      "role": "admin",
      "status": "active",
      "assignedNodeId": "550e8400-e29b-41d4-a716-446655440000",
      "emailVerifiedAt": "2025-03-01T13:00:00.000Z",
      "createdAt": "2025-03-01T12:30:00.000Z"
    },
    {
      "id": "6ba7b811-9dad-11d1-80b4-00c04fd430c8",
      "name": "Bob Smith",
      "email": "bob@acme.com",
      "role": "editor",
      "status": "active",
      "assignedNodeId": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
      "emailVerifiedAt": "2025-03-02T09:00:00.000Z",
      "createdAt": "2025-03-02T08:45:00.000Z"
    }
  ],
  "nextCursor": null
}

User object

Fields

NameTypeRequiredDescription
iduuidoptionalUnique user ID.
namestringoptionalDisplay name.
emailstringoptionalEmail address.
rolestringoptionaladmin | editor | viewer
statusstringoptionalpending | active | rejected | suspended
assignedNodeIduuid | nulloptionalThe org chart node this user is anchored to.
emailVerifiedAtISO 8601 | nulloptionalWhen the user verified their email. null = unverified.
createdAtISO 8601optionalWhen the user was created.

Fields never returned: passwordHash, totpSecret, notificationPrefs.

Code samples

# All users
curl "https://sopflow.io/api/v1/users" \
  -H "Authorization: Bearer sk_live_YOUR_KEY"

# Active admins only
curl "https://sopflow.io/api/v1/users?role=admin&status=active" \
  -H "Authorization: Bearer sk_live_YOUR_KEY"

User administration

API keys cannot change user roles, status, or assigned nodes. A signed-in administrator must make these changes in the administration interface. The legacy PATCH /api/v1/users/:id endpoint is disabled for API keys and returns 403 with code human_admin_required for a valid write key.

Reconcile people without guessing access

Use the documented user identifier to reconcile a known workspace user. Inspect current status and role before proposing an update, and send only fields that actually need to change.

User role and status changes affect access. Confirm the intended person and resulting authority in your application workflow; an organization-node assignment is not a substitute for an authorization check.