A SCIM 2.0 connector for any SCIM 2.0-capable identity provider — Okta, Microsoft Entra ID, Google, OneLogin, Ping, or custom/in-house. Operator tooling, customer self-service, and a security-focused architecture. The capability matrix below reflects the current supported scope.
Full user lifecycle: create, read, update, deactivate. Attribute mapping, external ID tracking, and idempotent operations.
Group create, update, membership add/remove, and delete. Handles large membership sets with robust filtering.
SCIM filter support (userName eq, externalId eq, displayName eq), sorted paginated responses.
Background consistency checks detect drift between IdP state and connector state. Dry-run preview before applying fixes.
Every SCIM operation emits a structured audit event with actor, tenant, resource, outcome, and timestamp.
Standards-compliant capability discovery endpoint for automated IdP configuration.
Full tenant isolation per customer. Separate credentials, data scoping, and audit streams per tenant.
Generate, rotate, and revoke SCIM bearer tokens per tenant from the operator dashboard.
Schedule background sync jobs, reconciliation runs, and health checks on configurable intervals.
This matrix is the source of truth for what LabsNinja SCIM supports today. We update it as scope changes. Items marked as not supported or planned are tracked on our internal backlog; talk to us if any of them are blockers.
Talk to us about your identity stack and provisioning requirements.
Request a DemoProvisioning runs on leased background workers. Your identity provider pushes SCIM changes to the control plane, which dispatches work to a worker pool that applies changes to target apps.
Work is leased with a configurable lease TTL; stale leases are detected and recovered (exported as the scim_job_stale_lease_total signal). Worker concurrency is configured per deployment. We do not publish fixed latency or failover SLAs.
Exported metrics for internal Prometheus scrape. These are operational signals, not public live values. Operator alerting is configured against them per our operator runbook.
The implemented SCIM 2.0 surface. Point any SCIM 2.0-capable IdP (Okta, Microsoft Entra ID, Google, OneLogin, Ping, or custom) at the base URL with a tenant bearer token. The capability matrix above is the source of truth for the supported filter and PATCH subset.
curl -H "Authorization: Bearer <tenant-token>" \ -H "Content-Type: application/scim+json" \ https://scim.labsninja.com/scim/v2/Users