organization mutation namespace, and user creation is authorized with the create:users scope.
Roles
Every user is created with one or more roles. Roles determine what the user can do, and they also determine which other fields the creation input requires or rejects:
Roles are passed by ID. Query
organizationRoles to list the roles available to your organization and find their IDs:
Creating a user
Use thecreateOrganizationUser mutation with CreateOrganizationUserInput:
Input fields
Licenses
Each entry inlicenses uses OrganizationUserLicenseInput:
Access types
TheaccessType field controls where the new user is provisioned:
The response shape differs between the two:
- For
CommandCenterAccess, success returns the new user inorganizationUser. - For
InternalOnly, there is no Command Center user to return, soorganizationUserisnulland success is signalled byinternalUserCreated: true.
If your organization uses single sign-on (SSO), no separate password invitation is sent — the new user signs in through your identity provider as usual.
Error handling
Validation problems are returned inuserErrors rather than as GraphQL errors, so always check that array:
Processor fees, payee company names, licenses, contact details, and internal-only access are part of an expanded user-provisioning capability. If you receive the error
Creating users with processor fees, company names, licenses, contact details, or internal-only access is not enabled for this organization., contact Pylon to enable it for your organization.Updating a user’s details
Use theupdateOrganizationUserDetails mutation with UpdateOrganizationUserDetailsInput to change a user’s names, phone number, or individual NMLS identifier after creation. It is authorized with the update:users scope.
Email addresses and licenses cannot be changed through this mutation. Roles are updated separately via
updateOrganizationUserRoles (see Other user operations).Reading user details
TheorganizationUser query returns a user’s contact details and licenses alongside the basics (organizationUsers list nodes carry only id, email, firstName, and lastName — fetch the individual user for the full detail):
licenses reflects the state licenses on the user’s loan-officer record and is null for users without one. License expiration dates are not returned.Other user operations
Theorganization namespace and top-level queries cover the rest of the user lifecycle:
For example, listing users (useful for finding loan officers to assign to a loan):