Available on Enterprise plans. SCIM provisioning needs an Enterprise plan, and a self-hosted
deployment needs an Enterprise license. The plan is checked on every SCIM call, so when it lapses,
existing tokens stop verifying and your identity provider’s requests are refused with HTTP 403.
The SCIM Tokens API refuses to mint a token without an
Enterprise plan with HTTP 402 and the error code
enterprise_plan_required. To enable it, contact
enterprise@langwatch.ai.Prerequisites
sso:viewto read provisioning status, andsso:manageto issue or revoke tokens.organization:manageto view and manage directory membership.- An identity provider that supports SCIM 2.0: Okta, Entra ID (Azure AD) and others
- An identity provider connection in Settings > Authentication > Identity provider. Every SCIM token belongs to one connection. See SSO Setup for the in-app journey and SSO Configuration for deployment settings.
Set up SCIM
Step 1: Copy the SCIM base URL
Open Settings > Authentication > Connectors. The base URL is shown at the top of the page:app.langwatch.ai. On a self-hosted deployment it is your own domain. The rest of this page writes it as <your-langwatch-domain>.
Step 2: Create a bearer token
A token belongs to one identity provider connection and is shown once. In Settings > Authentication > Connectors, choose Issue token and select the connection. You can also create it through the SCIM Tokens API with the connection id:Step 3: Configure your identity provider
Where to enter them:
- Okta: Configure SCIM provisioning
- Entra ID (Azure AD): Configure automatic user provisioning
Supported operations
SCIM endpoints
ServiceProviderConfig, ResourceTypes and Schemas need no token. List endpoints return at most 100 rows per page; startIndex starts at 1. ServiceProviderConfig advertises patch, filter with maxResults 100, and no bulk, sort, etag or changePassword. GET /Groups accepts excludedAttributes=members.
User attributes
User lifecycle
Provisioning (Create)
- A new address: LangWatch creates the account and adds it to your organization as a Member.
- An existing account outside the organization: LangWatch adopts that account, adds it as a Member and reactivates it when necessary.
- An account already in the organization:
409 Conflict. A directory push updates an existing member throughPUTorPATCHinstead.
Deprovisioning (Delete)
ADELETE on a user:
- Removes the organization membership and every role binding
- Deactivates the account. Every session and CLI token is revoked at once
- Keeps the user’s data: traces, annotations and datasets
- A second
DELETEreturns404 Not Found
Suspending (PATCH active: false)
- Deactivates the account. Every session and CLI token is revoked at once
- Removes the organization membership and role bindings, just like
DELETE active: truerestores sign-in for the account, without restoring organization access
Use
active: false for a temporary suspension and DELETE for permanent offboarding. After
either operation, the next directory create or sync must assert the person’s membership and
mapped access again; access granted by hand is not restored automatically.Manage tokens
Settings > Authentication > Connectors lists the tokens of the organization:
To revoke a token, click the delete icon on its row and confirm. The identity provider using that token loses access at once. The SCIM Tokens API lists and revokes tokens too, and each token created or revoked through the API is written to the Audit Log. Provisioning requests themselves are not in the audit log.
Security
- Rotate tokens: create the new token and update your identity provider before you revoke the old one
- One token per integration: revoke one without affecting the others
- Combine with SSO: provisioned users then sign in through your identity provider
- Watch Last Used: a token with no recent use can be revoked
Troubleshooting
The connection test fails in the identity provider- The base URL ends with
/api/scim/v2, without a trailing slash - The token is pasted without extra whitespace
- The token is not revoked in LangWatch and the plan is active
- The users or groups are assigned to the application in the identity provider
- Create Users is enabled in the provisioning settings
- The provisioning log of the identity provider shows the error LangWatch returned
- Finish setting up an identity provider in Settings > Authentication > Identity provider, then return to Connectors. A token is always tied to one connection, so LangWatch will not issue one without a connection to manage.
- A create for an existing member returns
409 Conflict; use the provider’s update operation for that member. An existing account that is not a member of this organization is adopted by create.
For help, contact support@langwatch.ai.