Replace a provisioned user
import requests
url = "https://app.langwatch.ai/api/scim/v2/Users/{id}"
payload = {
"schemas": ["<string>"],
"userName": "jsmith@example.com"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/scim+json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/scim+json'},
body: JSON.stringify({schemas: ['<string>'], userName: 'jsmith@example.com'})
};
fetch('https://app.langwatch.ai/api/scim/v2/Users/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));curl --request PUT \
--url https://app.langwatch.ai/api/scim/v2/Users/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/scim+json' \
--data '
{
"schemas": [
"<string>"
],
"userName": "jsmith@example.com"
}
'{
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:User"
],
"id": "<string>",
"userName": "<string>",
"name": {
"givenName": "<string>",
"familyName": "<string>"
},
"emails": [
{
"primary": true,
"value": "<string>",
"type": "<string>"
}
],
"active": true,
"meta": {
"resourceType": "User",
"created": "<string>",
"lastModified": "<string>"
},
"externalId": "<string>"
}{
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:Error"
],
"status": "<string>",
"detail": "<string>",
"scimType": "<string>"
}{
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:Error"
],
"status": "<string>",
"detail": "<string>",
"scimType": "<string>"
}{
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:Error"
],
"status": "<string>",
"detail": "<string>",
"scimType": "<string>"
}{
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:Error"
],
"status": "<string>",
"detail": "<string>",
"scimType": "<string>"
}SCIM
Replace a provisioned user
Replaces the member’s attributes with the body. It is a whole-resource write, so an attribute the identity provider leaves out is reset rather than kept: omitting active reactivates the member. Send PATCH instead to change one attribute.
PUT
/
api
/
scim
/
v2
/
Users
/
{id}
Replace a provisioned user
import requests
url = "https://app.langwatch.ai/api/scim/v2/Users/{id}"
payload = {
"schemas": ["<string>"],
"userName": "jsmith@example.com"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/scim+json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/scim+json'},
body: JSON.stringify({schemas: ['<string>'], userName: 'jsmith@example.com'})
};
fetch('https://app.langwatch.ai/api/scim/v2/Users/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));curl --request PUT \
--url https://app.langwatch.ai/api/scim/v2/Users/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/scim+json' \
--data '
{
"schemas": [
"<string>"
],
"userName": "jsmith@example.com"
}
'{
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:User"
],
"id": "<string>",
"userName": "<string>",
"name": {
"givenName": "<string>",
"familyName": "<string>"
},
"emails": [
{
"primary": true,
"value": "<string>",
"type": "<string>"
}
],
"active": true,
"meta": {
"resourceType": "User",
"created": "<string>",
"lastModified": "<string>"
},
"externalId": "<string>"
}{
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:Error"
],
"status": "<string>",
"detail": "<string>",
"scimType": "<string>"
}{
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:Error"
],
"status": "<string>",
"detail": "<string>",
"scimType": "<string>"
}{
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:Error"
],
"status": "<string>",
"detail": "<string>",
"scimType": "<string>"
}{
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:Error"
],
"status": "<string>",
"detail": "<string>",
"scimType": "<string>"
}Authorizations
SCIM token for one organization's directory connection, created with POST /api/scim-tokens or in Settings > SCIM. It authenticates provisioning calls only, and stops working if the organization's Enterprise plan lapses.
Path Parameters
Minimum string length:
1Body
application/scim+json
Pattern:
^(?:[A-Za-z0-9_'+\-]+\.)*[A-Za-z0-9_'+\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$Minimum string length:
1Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Response
The updated user.
Last modified on August 10, 2026
Was this page helpful?