{ "opencollection": "1.0.0", "info": { "name": "Certify API Layer User API", "version": "1.0.0" }, "items": [ { "info": { "name": "User", "type": "folder" }, "items": [ { "info": { "name": "Get All Users", "type": "http" }, "http": { "method": "GET", "url": "http://localhost:9000/users", "headers": [ { "name": "tenant-id", "value": "" } ], "params": [ { "name": "endAtId", "value": "", "type": "query", "description": "End at ID for pagination" }, { "name": "filter", "value": "", "type": "query", "description": "Filter string for querying users" }, { "name": "includeRoles", "value": "true", "type": "query", "description": "If true, includes roles for each user in the response. When true, the response returns a roles field for each user. When false or not provided, the response returns only user objects without roles." }, { "name": "page", "value": "", "type": "query", "description": "Page number for pagination" }, { "name": "searchUser", "value": "john", "type": "query", "description": "Search string to find users by first name, last name, or email. If provided, returns users matching the search criteria." }, { "name": "size", "value": "", "type": "query", "description": "Page size for pagination" }, { "name": "startAfterId", "value": "", "type": "query", "description": "Start after ID for pagination" } ], "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "Returns all users for the current tenant with optional filtering and pagination. If includeRoles is true, the response includes roles for each user. If includeRoles is false or not provided, only user objects are returned without roles." }, { "info": { "name": "Create User", "type": "http" }, "http": { "method": "POST", "url": "http://localhost:9000/users", "headers": [ { "name": "tenant-id", "value": "" } ], "body": { "type": "json", "data": "{}" }, "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "Creates a new user in both Auth0 and DAL with validation" }, { "info": { "name": "Get Analyst Users", "type": "http" }, "http": { "method": "GET", "url": "http://localhost:9000/users/analysts", "headers": [ { "name": "tenant-id", "value": "" } ], "params": [ { "name": "includeAssignable", "value": "true", "type": "query", "description": "If true, includes only users who can be assigned to practitioner workflows" } ], "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "Returns all analyst users for the current tenant" }, { "info": { "name": "Get Facility Analyst Users", "type": "http" }, "http": { "method": "GET", "url": "http://localhost:9000/users/facility-analysts", "headers": [ { "name": "tenant-id", "value": "" } ], "params": [ { "name": "includeAssignable", "value": "true", "type": "query", "description": "If true, includes only users who can be assigned to facility workflows" } ], "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "Returns all facility analyst users for the current tenant" }, { "info": { "name": "Invite User", "type": "http" }, "http": { "method": "POST", "url": "http://localhost:9000/users/invite", "headers": [ { "name": "tenant-id", "value": "" } ], "body": { "type": "json", "data": "{}" }, "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "Invites a user to the organization." }, { "info": { "name": "Get User Profile", "type": "http" }, "http": { "method": "GET", "url": "http://localhost:9000/users/me", "headers": [ { "name": "tenant-id", "value": "" } ], "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "Returns user profile and permissions" }, { "info": { "name": "Get Current User Permissions", "type": "http" }, "http": { "method": "GET", "url": "http://localhost:9000/users/me/permissions", "headers": [ { "name": "tenant-id", "value": "" } ], "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "Returns the current authenticated user's permissions organized by tenant and resource. Response format: {\"tenant-id\": {\"resource-name\": [\"action1\", \"action2\"]}}" }, { "info": { "name": "Get User by ID", "type": "http" }, "http": { "method": "GET", "url": "http://localhost:9000/users/:userId", "headers": [ { "name": "tenant-id", "value": "" } ], "params": [ { "name": "userId", "value": "", "type": "path" } ], "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "Returns a specific user by their ID" }, { "info": { "name": "Replace User", "type": "http" }, "http": { "method": "PUT", "url": "http://localhost:9000/users/:userId", "headers": [ { "name": "tenant-id", "value": "" } ], "params": [ { "name": "userId", "value": "", "type": "path" } ], "body": { "type": "json", "data": "{}" }, "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "Replaces a user's details (full update - email address cannot be changed)" }, { "info": { "name": "Patch User", "type": "http" }, "http": { "method": "PATCH", "url": "http://localhost:9000/users/:userId", "headers": [ { "name": "tenant-id", "value": "" } ], "params": [ { "name": "userId", "value": "", "type": "path" } ], "body": { "type": "json", "data": "{}" }, "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "Partially updates a user's details (email address cannot be changed)" }, { "info": { "name": "Delete User", "type": "http" }, "http": { "method": "DELETE", "url": "http://localhost:9000/users/:userId", "headers": [ { "name": "tenant-id", "value": "" } ], "params": [ { "name": "userId", "value": "", "type": "path" } ], "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "Deletes a user from both Auth0 and DAL" }, { "info": { "name": "Get User Permissions", "type": "http" }, "http": { "method": "GET", "url": "http://localhost:9000/users/:userId/permissions", "headers": [ { "name": "tenant-id", "value": "" } ], "params": [ { "name": "userId", "value": "", "type": "path" } ], "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "Returns permissions for a specific user" }, { "info": { "name": "Get User Roles", "type": "http" }, "http": { "method": "GET", "url": "http://localhost:9000/users/:userId/roles", "headers": [ { "name": "tenant-id", "value": "" } ], "params": [ { "name": "userId", "value": "", "type": "path" } ], "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "Returns roles for a specific user" }, { "info": { "name": "Bulk Update User Roles", "type": "http" }, "http": { "method": "PATCH", "url": "http://localhost:9000/users/:userId/roles/bulk", "headers": [ { "name": "tenant-id", "value": "" } ], "params": [ { "name": "userId", "value": "", "type": "path" } ], "body": { "type": "json", "data": "{}" }, "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "Adds and/or removes roles for a single user in one operation. Remove operations are processed before add operations." }, { "info": { "name": "Update User Roles (Deprecated)", "type": "http" }, "http": { "method": "POST", "url": "http://localhost:9000/users/:userId/roles/:roleId", "headers": [ { "name": "tenant-id", "value": "" } ], "params": [ { "name": "roleId", "value": "", "type": "path" }, { "name": "userId", "value": "", "type": "path" } ], "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "Add or remove roles for a specific user. Use PUT /users/{userId}/roles/{roleId} to assign a role or DELETE /users/{userId}/roles/{roleId} to remove a role" }, { "info": { "name": "Remove Role from User", "type": "http" }, "http": { "method": "DELETE", "url": "http://localhost:9000/users/:userId/roles/:roleId", "headers": [ { "name": "tenant-id", "value": "" } ], "params": [ { "name": "roleId", "value": "", "type": "path" }, { "name": "userId", "value": "", "type": "path" } ], "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "Remove a specific role from a user" } ] } ], "bundled": true }