Ruby / Postman API / Update User Information
Back to Collection Items
require 'chilkat'
# This example assumes the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
http = Chilkat::CkHttp.new()
# Use this online tool to generate code from sample JSON: Generate Code to Create JSON
# The following JSON is sent in the request body.
# {
# "schemas": [
# "urn:ietf:params:scim:schemas:core:2.0:User"
# ],
# "userName": "{{userEmail}}",
# "name": {
# "givenName": "Test",
# "familyName": "User"
# },
# "externalId": "23123123",
# "locale": "en-US",
# "groups": [
# ],
# "active": true
# }
json = Chilkat::CkJsonObject.new()
json.UpdateString("schemas[0]","urn:ietf:params:scim:schemas:core:2.0:User")
json.UpdateString("userName","{{userEmail}}")
json.UpdateString("name.givenName","Test")
json.UpdateString("name.familyName","User")
json.UpdateString("externalId","23123123")
json.UpdateString("locale","en-US")
json.UpdateNewArray("groups")
json.UpdateBool("active",true)
http.SetRequestHeader("Authorization","{{apiKey}}")
http.SetRequestHeader("X-API-Key","{{postman_api_key}}")
sbRequestBody = Chilkat::CkStringBuilder.new()
json.EmitSb(sbRequestBody)
# resp is a CkHttpResponse
resp = http.PTextSb("PUT","https://api.getpostman.com/scim/v2/Users/{{id}}",sbRequestBody,"utf-8","application/json",false,false)
if (http.get_LastMethodSuccess() == false)
print http.lastErrorText() + "\n";
exit
end
print resp.get_StatusCode().to_s() + "\n";
print resp.bodyStr() + "\n";
Curl Command
curl -X PUT
-H "X-API-Key: {{postman_api_key}}"
-H "Authorization: {{apiKey}}"
-d '{
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"],
"userName": "{{userEmail}}",
"name": {
"givenName": "Test",
"familyName": "User"
},
"externalId": "23123123",
"locale": "en-US",
"groups": [],
"active": true
}'
https://api.getpostman.com/scim/v2/Users/{{id}}
Postman Collection Item JSON
{
"name": "Update User Information",
"request": {
"method": "PUT",
"header": [
{
"key": "Authorization",
"value": "{{apiKey}}",
"type": "text"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"schemas\": [\"urn:ietf:params:scim:schemas:core:2.0:User\"],\n \"userName\": \"{{userEmail}}\",\n \"name\": {\n \"givenName\": \"Test\",\n \"familyName\": \"User\"\n },\n \"externalId\": \"23123123\",\n \"locale\": \"en-US\",\n \"groups\": [],\n \"active\": true\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "https://api.getpostman.com/scim/v2/Users/{{id}}",
"protocol": "https",
"host": [
"api",
"getpostman",
"com"
],
"path": [
"scim",
"v2",
"Users",
"{{id}}"
]
},
"description": "Updates a user’s first and last name in Postman. \n\n> Only updates made to the user’s given and family name via the SCIM API will be pushed to Postman. No other user attributes can be updated in Postman using the SCIM API."
},
"response": [
{
"name": "200",
"originalRequest": {
"method": "PUT",
"header": [
{
"key": "Authorization",
"value": "{{apikey}}",
"type": "text"
},
{
"key": "Content-Type",
"name": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"schemas\": [\"urn:ietf:params:scim:schemas:core:2.0:User\"],\n \"userName\": \"{{userEmail}}\",\n \"name\": {\n \"givenName\": \"Test\",\n \"familyName\": \"User\"\n },\n \"externalId\": \"23123123\",\n \"locale\": \"en-US\",\n \"groups\": [],\n \"active\": true\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "{{url}}/Users/405775fe15ed41872a8eea4c8aa2b38cda9749812cc55c99",
"host": [
"{{url}}"
],
"path": [
"Users",
"405775fe15ed41872a8eea4c8aa2b38cda9749812cc55c99"
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "json",
"header": null,
"cookie": [
],
"body": "{\n \"schemas\": [\n \"urn:ietf:params:scim:schemas:core:2.0:User\"\n ],\n \"id\": \"405775fe15ed41872a8eea4c8aa2b38cda9749812cc55c99\",\n \"userName\": \"test.user@okta.local\",\n \"name\": {\n \"givenName\": \"Test\",\n \"familyName\": \"User\"\n },\n \"externalId\": \"23123123\",\n \"active\": true,\n \"meta\": {\n \"resourceType\": \"User\",\n \"created\": \"2021-02-22T04:24:13.000Z\",\n \"lastModified\": \"2021-02-22T04:24:13.000Z\"\n }\n}"
},
{
"name": "400 - Can't update username",
"originalRequest": {
"method": "PUT",
"header": [
{
"key": "Authorization",
"value": "{{apiKey}}",
"type": "text"
},
{
"key": "Content-Type",
"name": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"schemas\": [\"urn:ietf:params:scim:schemas:core:2.0:User\"],\n \"userName\": \"{{userEmail}}\",\n \"name\": {\n \"givenName\": \"Test\",\n \"familyName\": \"User\"\n },\n \"emails\": [{\n \"primary\": true,\n \"value\": \"{{userEmail}}\",\n \"type\": \"work\"\n }],\n \"displayName\": \"Test User\",\n \"locale\": \"en-US\",\n \"groups\": [],\n \"active\": true\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "{{url}}/Users/405775fe15ed41872a8eea4c8aa2b38cda9749812cc55c99",
"host": [
"{{url}}"
],
"path": [
"Users",
"405775fe15ed41872a8eea4c8aa2b38cda9749812cc55c99"
]
}
},
"status": "Bad Request",
"code": 400,
"_postman_previewlanguage": "json",
"header": null,
"cookie": [
],
"body": "{\n \"schemas\": [\n \"urn:ietf:params:scim:api:messages:2.0:Error\"\n ],\n \"detail\": \"Couldn’t update this team member’s username. Try again — it should work next time around.\",\n \"status\": \"400\"\n}"
},
{
"name": "400 - Invalid team",
"originalRequest": {
"method": "PUT",
"header": [
{
"key": "Authorization",
"value": "{{apiKey}}",
"type": "text"
},
{
"key": "Content-Type",
"name": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"schemas\": [\"urn:ietf:params:scim:schemas:core:2.0:User\"],\n \"userName\": \"{{userEmail}}\",\n \"name\": {\n \"givenName\": \"Test\",\n \"familyName\": \"User\"\n },\n \"emails\": [{\n \"primary\": true,\n \"value\": \"{{userEmail}}\",\n \"type\": \"work\"\n }],\n \"displayName\": \"Test User\",\n \"locale\": \"en-US\",\n \"groups\": [],\n \"active\": true\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "{{url}}/Users/405775fe15ed41872a8eea4c8aa2b38cda9749812cc55c99",
"host": [
"{{url}}"
],
"path": [
"Users",
"405775fe15ed41872a8eea4c8aa2b38cda9749812cc55c99"
]
}
},
"status": "Bad Request",
"code": 400,
"_postman_previewlanguage": "json",
"header": null,
"cookie": [
],
"body": "{\n \"schemas\": [\n \"urn:ietf:params:scim:api:messages:2.0:Error\"\n ],\n \"detail\": \"This Postman team doesn’t exist anymore.\",\n \"status\": \"400\"\n}"
},
{
"name": "401 - Invalid API key",
"originalRequest": {
"method": "PUT",
"header": [
{
"key": "Authorization",
"value": "invalidApiKey",
"type": "text"
},
{
"key": "Content-Type",
"name": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"schemas\": [\"urn:ietf:params:scim:schemas:core:2.0:User\"],\n \"userName\": \"{{userEmail}}\",\n \"name\": {\n \"givenName\": \"Test\",\n \"familyName\": \"User\"\n },\n \"emails\": [{\n \"primary\": true,\n \"value\": \"{{userEmail}}\",\n \"type\": \"work\"\n }],\n \"displayName\": \"Test User\",\n \"locale\": \"en-US\",\n \"groups\": [],\n \"active\": true\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "{{url}}/Users/405775fe15ed41872a8eea4c8aa2b38cda9749812cc55c99",
"host": [
"{{url}}"
],
"path": [
"Users",
"405775fe15ed41872a8eea4c8aa2b38cda9749812cc55c99"
]
}
},
"status": "Unauthorized",
"code": 401,
"_postman_previewlanguage": "json",
"header": null,
"cookie": [
],
"body": "{\n \"schemas\": [\n \"urn:ietf:params:scim:api:messages:2.0:Error\"\n ],\n \"detail\": \"Unable to access the team. Check if you have entered a valid API key.\",\n \"status\": \"401\"\n}"
},
{
"name": "403 - Admin Team Mismatch",
"originalRequest": {
"method": "PUT",
"header": [
{
"key": "Authorization",
"value": "{{apiKey}}",
"type": "text"
},
{
"key": "Content-Type",
"name": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"schemas\": [\"urn:ietf:params:scim:schemas:core:2.0:User\"],\n \"userName\": \"{{userEmail}}\",\n \"name\": {\n \"givenName\": \"Test\",\n \"familyName\": \"User\"\n },\n \"emails\": [{\n \"primary\": true,\n \"value\": \"{{userEmail}}\",\n \"type\": \"work\"\n }],\n \"displayName\": \"Test User\",\n \"locale\": \"en-US\",\n \"groups\": [],\n \"active\": true\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "{{url}}/Users/405775fe15ed41872a8eea4c8aa2b38cda9749812cc55c99",
"host": [
"{{url}}"
],
"path": [
"Users",
"405775fe15ed41872a8eea4c8aa2b38cda9749812cc55c99"
]
}
},
"status": "Forbidden",
"code": 403,
"_postman_previewlanguage": "json",
"header": null,
"cookie": [
],
"body": "{\n \"schemas\": [\n \"urn:ietf:params:scim:api:messages:2.0:Error\"\n ],\n \"detail\": \"Your API key was generated by a Team Admin who is no longer on your team. Use an API key generated by a Team Admin.\",\n \"status\": \"403\"\n}"
},
{
"name": "400 - Invalid payload",
"originalRequest": {
"method": "PUT",
"header": [
{
"key": "Authorization",
"value": "{{apiKey}}",
"type": "text"
},
{
"key": "Content-Type",
"name": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"schemas\": [\"urn:ietf:params:scim:schemas:core:2.0:User\"],\n \"userName\": \"{{userEmail}}\",\n \"name\": {\n \"givenName\": \"Test\",\n \"familyName\": \"User\"\n },\n \"locale\": \"en-US\",\n \"groups\": [],\n \"active\": true\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "{{url}}/Users/405775fe15ed41872a8eea4c8aa2b38cda9749812cc55c99",
"host": [
"{{url}}"
],
"path": [
"Users",
"405775fe15ed41872a8eea4c8aa2b38cda9749812cc55c99"
]
}
},
"status": "Bad Request",
"code": 400,
"_postman_previewlanguage": "json",
"header": null,
"cookie": [
],
"body": "{\n \"schemas\": [\n \"urn:ietf:params:scim:api:messages:2.0:Error\"\n ],\n \"scimType\": \"invalidSyntax\",\n \"detail\": \"The request body seems to be incomplete or have unsupported characters.\",\n \"status\": \"400\"\n}"
},
{
"name": "403 - Admin action not allowed",
"originalRequest": {
"method": "PUT",
"header": [
{
"key": "Authorization",
"value": "{{apiKey}}",
"type": "text"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"schemas\": [\"urn:ietf:params:scim:schemas:core:2.0:User\"],\n \"userName\": \"{{userEmail}}\",\n \"name\": {\n \"givenName\": \"Test\",\n \"familyName\": \"User\"\n },\n \"externalId\": \"23123123\",\n \"locale\": \"en-US\",\n \"groups\": [],\n \"active\": true\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "{{url}}/Users/405775fe15ed41872a8eea4c8aa2b38cda9749812cc55c99",
"host": [
"{{url}}"
],
"path": [
"Users",
"405775fe15ed41872a8eea4c8aa2b38cda9749812cc55c99"
]
}
},
"status": "Forbidden",
"code": 403,
"_postman_previewlanguage": "json",
"header": null,
"cookie": [
],
"body": "{\n \"schemas\": [\n \"urn:ietf:params:scim:api:messages:2.0:Error\"\n ],\n \"detail\": \"The admin is not allowed to perform this action.\",\n \"status\": \"403\"\n}"
},
{
"name": "403 - User not in Team",
"originalRequest": {
"method": "PUT",
"header": [
{
"key": "Authorization",
"value": "{{apiKey}}",
"type": "text"
},
{
"key": "Content-Type",
"name": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"schemas\": [\"urn:ietf:params:scim:schemas:core:2.0:User\"],\n \"userName\": \"{{userEmail}}\",\n \"name\": {\n \"givenName\": \"Test\",\n \"familyName\": \"User\"\n },\n \"emails\": [{\n \"primary\": true,\n \"value\": \"{{userEmail}}\",\n \"type\": \"work\"\n }],\n \"displayName\": \"Test User\",\n \"locale\": \"en-US\",\n \"groups\": [],\n \"active\": true\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "{{url}}/Users/405775fe15ed41872a8eea4c8aa2b38cda9749812cc55c99",
"host": [
"{{url}}"
],
"path": [
"Users",
"405775fe15ed41872a8eea4c8aa2b38cda9749812cc55c99"
]
}
},
"status": "Forbidden",
"code": 403,
"_postman_previewlanguage": "json",
"header": null,
"cookie": [
],
"body": "{\n \"schemas\": [\n \"urn:ietf:params:scim:api:messages:2.0:Error\"\n ],\n \"detail\": \"This person isn’t a member of the team.\",\n \"status\": \"403\"\n}"
},
{
"name": "404 - User Not Found",
"originalRequest": {
"method": "PUT",
"header": [
{
"key": "Authorization",
"value": "{{apiKey}}",
"type": "text"
},
{
"key": "Content-Type",
"name": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"schemas\": [\"urn:ietf:params:scim:schemas:core:2.0:User\"],\n \"userName\": \"{{userEmail}}\",\n \"name\": {\n \"givenName\": \"Test\",\n \"familyName\": \"User\"\n },\n \"emails\": [{\n \"primary\": true,\n \"value\": \"{{userEmail}}\",\n \"type\": \"work\"\n }],\n \"displayName\": \"Test User\",\n \"locale\": \"en-US\",\n \"groups\": [],\n \"active\": true\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "{{url}}/Users/405775fe15ed41872a8eea4c8aa2b38cda9749812cc55c99",
"host": [
"{{url}}"
],
"path": [
"Users",
"405775fe15ed41872a8eea4c8aa2b38cda9749812cc55c99"
]
}
},
"status": "Not Found",
"code": 404,
"_postman_previewlanguage": "json",
"header": null,
"cookie": [
],
"body": "{\n \"schemas\": [\n \"urn:ietf:params:scim:api:messages:2.0:Error\"\n ],\n \"detail\": \"This person isn’t a member of the team.\",\n \"status\": \"404\"\n}"
},
{
"name": "429 - Rate limit exceeded",
"originalRequest": {
"method": "PUT",
"header": [
{
"key": "Authorization",
"value": "{{apiKey}}",
"type": "text"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"schemas\": [\"urn:ietf:params:scim:schemas:core:2.0:User\"],\n \"userName\": \"{{userEmail}}\",\n \"name\": {\n \"givenName\": \"Test\",\n \"familyName\": \"User\"\n },\n \"externalId\": \"23123123\",\n \"locale\": \"en-US\",\n \"groups\": [],\n \"active\": true\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "{{url}}/Users/405775fe15ed41872a8eea4c8aa2b38cda9749812cc55c99",
"host": [
"{{url}}"
],
"path": [
"Users",
"405775fe15ed41872a8eea4c8aa2b38cda9749812cc55c99"
]
}
},
"code": 429,
"_postman_previewlanguage": "json",
"header": null,
"cookie": [
],
"body": "{\n \"schemas\": [\n \"urn:ietf:params:scim:api:messages:2.0:Error\"\n ],\n \"detail\": \"That’s 180 attempts in less than a minute. Wait for a minute and then try again.\",\n \"status\": 429\n}"
},
{
"name": "500 - Something went wrong",
"originalRequest": {
"method": "PUT",
"header": [
{
"key": "Authorization",
"value": "{{apiKey}}",
"type": "text"
},
{
"key": "Content-Type",
"name": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"schemas\": [\"urn:ietf:params:scim:schemas:core:2.0:User\"],\n \"userName\": \"{{userEmail}}\",\n \"name\": {\n \"givenName\": \"Test\",\n \"familyName\": \"User\"\n },\n \"emails\": [{\n \"primary\": true,\n \"value\": \"{{userEmail}}\",\n \"type\": \"work\"\n }],\n \"displayName\": \"Test User\",\n \"locale\": \"en-US\",\n \"groups\": [],\n \"active\": true\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "{{url}}/Users/405775fe15ed41872a8eea4c8aa2b38cda9749812cc55c99",
"host": [
"{{url}}"
],
"path": [
"Users",
"405775fe15ed41872a8eea4c8aa2b38cda9749812cc55c99"
]
}
},
"status": "Internal Server Error",
"code": 500,
"_postman_previewlanguage": "json",
"header": null,
"cookie": [
],
"body": "{\n \"schemas\": [\n \"urn:ietf:params:scim:api:messages:2.0:Error\"\n ],\n \"detail\": \"Couldn’t update this team member’s information. Try again — it should work next time around.\",\n \"status\": \"500\"\n}"
}
]
}