Summary and recommendation
BILL Spend & Expense does not publish a standalone public REST API for user management. User provisioning is handled exclusively through IdP-mediated SCIM connectors (Okta, Azure AD/Entra, OneLogin); there is no general-purpose bearer-token API that can be called directly against a documented base URL.
The BILL developer API at developer.bill.com is a separate surface covering accounts payable and receivable workflows and is unrelated to Divvy user lifecycle operations. SCIM is gated behind the Enterprise plan; lower tiers have no programmatic provisioning path.
For teams building identity graph coverage across their SaaS stack, Divvy's provisioning surface is IdP-only - meaning identity graph completeness depends entirely on whether the IdP connector is configured and active.
API quick reference
| Has user API | No |
| SCIM available | No |
| SCIM plan required | Enterprise |
Authentication
Auth method: Not documented
User object / data model
User object field mapping is not yet verified for this app.
Core endpoints
Endpoint coverage is not yet verified for this app.
Rate limits, pagination, and events
Rate limits: Not documented
Rate-limit headers: No
Retry-After header: No
Rate-limit notes: Not documented
Pagination method: none
Default page size: 0
Max page size: 0
Pagination pointer: Not documented
Webhooks available: No
Webhook notes: No publicly documented webhook system for user lifecycle events in BILL Spend & Expense (Divvy) as of research date.
Alternative event strategy: Use IdP-driven SCIM provisioning (Okta, Entra, OneLogin) to automate user lifecycle events.
SCIM API status
- SCIM available: No
- SCIM version: Not documented
- Plan required: Enterprise
- Endpoint: Not documented
Limitations:
- SCIM is supported only via IdP connectors (Okta, Azure AD/Entra, OneLogin); no publicly documented direct SCIM base URL or bearer token flow.
- SCIM provisioning requires Enterprise plan.
- No public SCIM API documentation found in official developer or help center docs as of research date.
Common scenarios
The only supported automation path is IdP-driven SCIM.
For Okta: upgrade to Enterprise, generate a SCIM base URL and bearer token from Settings > Security > SSO/SCIM in the Divvy admin console, enter both into the Okta BILL Spend & Expense app provisioning settings, then enable Create Users, Update User Attributes, and Deactivate Users.
For Azure AD (Entra): follow the same token-generation step, add the BILL Spend & Expense enterprise application in Entra, set Provisioning mode to Automatic, and manually verify attribute mappings - mismatches silently fail provisioning without surfacing an error.
The SCIM bearer token is a one-time credential; if lost, it must be regenerated and re-entered in the IdP. CSV bulk import is available for adds only and does not support deprovisioning.
Automate user provisioning via Okta
- Upgrade to Enterprise plan in BILL Spend & Expense.
- Navigate to Settings > Security > SSO/SCIM in the Divvy admin console.
- Generate SCIM base URL and bearer token from the admin console.
- Enter the SCIM URL and token into the Okta BILL Spend & Expense app provisioning settings.
- Enable 'Create Users', 'Update User Attributes', and 'Deactivate Users' in Okta.
- Assign users/groups in Okta to trigger provisioning to Divvy.
Watch out for: The SCIM bearer token is generated once; if lost, a new token must be regenerated and re-entered in the IdP.
Automate user provisioning via Azure AD (Entra)
- Ensure Enterprise plan is active.
- In Divvy admin console, generate SCIM tenant URL and secret token under SSO/SCIM settings.
- In Azure AD, add the BILL Spend & Expense enterprise application.
- Configure Provisioning mode to 'Automatic', enter tenant URL and secret token.
- Map attributes and assign users/groups, then start provisioning.
Watch out for: Attribute mapping between Entra and Divvy user fields must be manually verified; mismatches silently fail provisioning.
Manual user management (no API/SCIM)
- Log in to BILL Spend & Expense admin console.
- Navigate to People > Employees.
- Use 'Invite Employee' to add users individually or bulk-import via CSV.
- Assign budget, role, and card limits manually per user.
Watch out for: CSV bulk import does not support deprovisioning; offboarding must be done individually or via IdP SCIM if on Enterprise.
Why building this yourself is a trap
The primary integration trap is assuming the BILL developer API covers user management - it does not. Developers who instrument Divvy via developer.bill.com will find AP/AR endpoints with no user lifecycle surface.
A second trap is treating SCIM as a direct API: the SCIM tenant URL and token are generated inside the admin console and consumed by the IdP, not exposed as a callable endpoint for custom tooling.
There is no publicly documented webhook system for user lifecycle events, so event-driven automation outside of IdP SCIM is not supported. Teams without an Enterprise plan have no programmatic fallback and must manage users entirely through the admin console.
Automate Divvy workflows without one-off scripts
Stitchflow builds and maintains end-to-end IT automation across your SaaS stack, including apps without APIs. Built for exactly how your company works, with human approvals where they matter.