DEPRECATED: This endpoint has been replaced by the new RESTful API structure.Please migrate to:This endpoint will be removed in a future version.
This endpoint requires organization admin privileges. Only users with the org:admin role can access organization user data.
Returns a list of all users and pending invitations for the organization, including their profile information, roles, activity status, and custom metadata. Perfect for user management automation and bulk operations.
Authentication
Bearer token for authentication. Must be from a user with org:admin role.
Query Parameters
Filter users by activity status. Options: active, pending, inactive
Filter users by organization role. Options: org:admin, org:member
Response
Returns an array of user objects with comprehensive details:
Unique Clerk user identifier. null for pending invitations that haven’t been accepted.
URL to user’s profile image/avatar
ISO 8601 timestamp of user’s last sign-in
Organization-scoped user metadata (department, role, vnum, etc.). Each organization maintains separate metadata for shared users.
ISO 8601 timestamp when user account was created
User’s role in the organization (e.g., “org:admin”, “org:member”)
User’s activity status: active (current member), pending (invitation sent but not accepted), inactive (invitation revoked)
Clerk invitation status if applicable: pending, accepted, revoked, or null for users without invitation history
ISO 8601 timestamp when invitation was created, or null for users without invitation history
Examples
curl -X GET "https://asteragents.com/api/admin/getUsersInOrg?activityStatus=active&role=org:admin" \
-H "Authorization: Bearer YOUR_JWT_TOKEN"
Error Codes
Bad Request - User is not part of any organization
Unauthorized - Invalid or missing authentication
Forbidden - User is not an admin in the organization
Method Not Allowed - Only GET requests are accepted
Internal Server Error - Unexpected error occurred
Use Cases
Bulk User Operations
Filter and process users based on metadata:
// Find all users in engineering department
const engineeringUsers = users.filter(user =>
user.publicMetadata?.department === 'engineering'
);
// Find users by vnum
const specificUsers = users.filter(user =>
user.publicMetadata?.vnum === '123'
);
User Management Dashboard
Build custom admin interfaces with complete user data:
# Create user summary report
for user in users:
print(f"{user['email']} - {user['role']} - Last active: {user['lastSignInAt']}")
Invitation Status Check
Use this endpoint to verify which users have accepted invitations:
// Users with recent sign-ins have likely accepted invitations
const activeUsers = users.filter(user => user.lastSignInAt);
const pendingUsers = users.filter(user => !user.lastSignInAt);
Features
Complete User Data: Access all user profile information, roles, and custom metadata in a single request.
- Organization-Scoped Metadata: Each organization maintains separate metadata for users - perfect for multi-org scenarios
- Metadata Filtering: Use publicMetadata to filter users by department, role, vnum, or any custom fields within your organization
- Role Management: See each user’s organization role (admin vs member)
- Activity Tracking: Check last sign-in times to identify active vs inactive users
- Bulk Operations: Process multiple users programmatically for invitations, role changes, etc.
Notes
- Results are ordered by email address alphabetically
- Only returns users who are active members of the organization
- Metadata is organization-scoped: Users in multiple organizations have separate metadata per org
- Metadata structure depends on what was set during user invitation or updates via Update User Metadata
lastSignInAt will be null for users who haven’t signed in yet (pending invitations)
- Use this data to identify users for bulk operations like role updates or removal