Closing User Roles Mapping

Ensure correct lender team member permissions

⚠️ Important: Map LOS Roles to Snapdocs

When creating or updating closings via the Snapdocs Connect API, it is important that you properly map the role from your Loan Origination System (LOS) to the closing_users.roles or company_team_member_sub_roles field in the API payload.

Failure to map these roles correctly will result in:

  • ❌ Snapdocs emails not being sent
  • ❌ UI elements not displaying correctly for lender team members
  • ❌ Incorrect permissions and access controls within the Snapdocs platform
  • ❌ Poor user experience for your lender team members

Affected API Endpoints

This requirement applies to the following API endpoints:

  1. POST /api/v1/closings - Create a new closing
  2. PATCH /api/v1/closings/{closing_uuid} - Full redraw/update of an existing closing

Example Mappings

When creating a closing, map the LOS role to the roles array field within each closing_users object:

{
  "closing_users": [
    {
      "first_name": "Jane",
      "last_name": "Doe",
      "email": "[email protected]",
      "phone": "555-0123",
      "roles": ["closer"]  // ← Map from your LOS role
    }
  ]
}

Snapdocs Role Values

The following role values are accepted:

API ValueYour LOS RoleDescription
closerCloser, Closing AgentClosing specialist responsible for finalizing the transaction
funderFunder, Funding SpecialistFunding specialist who handles the funding of the loan, important for FQC product
loan_coordinatorCoordinator, Processor, Loan CoordinatorCoordinator who manages the loan process
loan_officerLO, Loan Officer, OfficerLoan officer who originates and manages the loan, important for Loan Officer signing feature
brokerBroker, Mortgage BrokerMortgage broker handling the loan
quality_controllerQC, Quality ControlQuality control specialist who reviews the closing, important for FQC for Post Close workflows

Common Mistakes to Avoid

❌ DON'T: Send closings without roles

{
  "closing_users": [
    {
      "first_name": "Jane",
      "last_name": "Doe",
      "email": "[email protected]"
      // Missing roles field!
    }
  ]
}

❌ DON'T: Use custom role values not in the enum

{
  "closing_users": [
    {
      "first_name": "Jane",
      "last_name": "Doe",
      "email": "[email protected]",
      "roles": ["processor"]  // Invalid - not in the accepted enum
    }
  ]
}

✅ DO: Always map and include roles

{
  "closing_users": [
    {
      "first_name": "Jane",
      "last_name": "Doe",
      "email": "[email protected]",
      "roles": ["loan_officer"]  // Correctly mapped from LOS
    }
  ]
}