Skip to content

Latest commit

 

History

History
183 lines (142 loc) · 7.94 KB

scim.md

File metadata and controls

183 lines (142 loc) · 7.94 KB

SCIM endpoints

All SCIM enpoints are authenticated with a bearer token in authotization header:

Authorization: bearer token-value

generated by this endpoint.

Generate auth token

Generate SCIM auth bearer token for given container

Request property Spec
Action POST /vfo/orgs/orgId/scim/authtoken
SID header Partner Key or user with Administer Org permission for given container
Body model
Scala object VFO_GenerateSCIMAuthToken
Status Response body spec
201 Generate SCIM token response
400 Invalid VFO container specified
403 Invalid VFO credentials

Revoke token

Revoke given SCIM auth bearer token

Request property Spec
Action DELETE /vfo/orgs/orgId/scim/authtoken/token-value
SID header Partner Key or user with Administer Org permission for given container
Body model
Scala object VFO_RevokeSCIMAuthToken
Status Response body spec
200
403 Invalid VFO credentials
404 The access token not found

Get info of users in org container

Required: OAuth 2.0 bearer token value in the authorization header

Request property Spec
Action GET /vfo/orgs/orgId/scim/Users
Authorization header valid bearer token
startIndex Optional - The 1-based index of the first query result
count Optional - Specifies the desired maximum number of query results per page
filter Optional - Restricts results to users with userName matched to given expression: username operator filter-string
Scala class VFO_GetSCIMUsers

Returns information about all users who have any permissions in the org container. Here, orgId must be a root org.

Status Response body spec
200 SCIM get users response
400 {"error":400,"message":"'startIndex' query parameter must be an integer"}
400 {"error":400,"message":"'count' query parameter must be an integer"}
400 {"error":400,"message":"Invalid org ID specified : '$orgId'"}
If any of the given org ID does not refer to an existing VFO Org.
400 {"error":400,"message":"Invalid VFO container specified"} if orgId is not a root org
400 {"error":400,"message":"'filter-expression' is not supported filter expression"}
400 {"error":400,"message":"SCIM is disabled"} if samlScimEnabled flag is set to false in SSO Config
403 {"error":403,"message":"Invalid VFO credentials"} If token is not valid

Supported filter operators

Operator Description
eq equal
ne not equal
co contains
sw starts with
ew ends with
gt greater than
ge greater than equal to
lt less than
le less than or equal to

Create user in org container

Required: OAuth 2.0 bearer token value in the authorization header

Request property Spec
Action POST /vfo/orgs/orgId/scim/Users
Authorization header valid bearer token
Body model Create SCIM user model
Scala class VFO_CreateSCIMUser
Status Response body spec
201 Create SCIM user response
400 {"error":400,"message":"Invalid org ID specified : '$orgId'"}
If any of the given org ID does not refer to an existing VFO Org.
400 {"error":400,"message":"Invalid VFO container specified"} if orgId is not a root org
400 {"error":400,"message":"Email '$email' already in use"} if email address is already in use in the system
400 {"error":400,"message":"SCIM is disabled"} if samlScimEnabled flag is set to false in SSO Config
403 {"error":403,"message":"Invalid VFO credentials"} If token is not valid

Get user from org container

Required: OAuth 2.0 bearer token value in the authorization header

Request property Spec
Action GET /vfo/orgs/orgId/scim/Users/userId
Authorization header valid bearer token
Scala class VFO_GetSCIMUser
Status Response body spec
200 Get SCIM user response
400 {"error":400,"message":"Invalid org ID specified : '$orgId'"}
If any of the given org ID does not refer to an existing VFO Org.
400 {"error":400,"message":"Invalid VFO container specified"} if orgId is not a root org
400 {"error":400,"message":"SCIM is disabled"} if samlScimEnabled flag is set to false in SSO Config
403 {"error":403,"message":"Invalid VFO credentials"} If token is not valid
404 {"error":404,"message":"User 'userId' not found in container 'orgId'"}

Replace user in org container

Required: OAuth 2.0 bearer token value in the authorization header

Request property Spec
Action PUT /vfo/orgs/orgId/scim/Users/userId
Authorization header valid bearer token
Body model Replace SCIM user model
Scala class VFO_ReplaceSCIMUser
Status Response body spec
201 Replace SCIM user response
400 {"error":400,"message":"Invalid org ID specified : '$orgId'"}
If any of the given org ID does not refer to an existing VFO Org.
400 {"error":400,"message":"Invalid VFO container specified"} if orgId is not a root org
400 {"error":400,"message":"SCIM is disabled"} if samlScimEnabled flag is set to false in SSO Config
403 {"error":403,"message":"Invalid VFO credentials"} If token is not valid
404 {"error":404,"message":"User 'userId' not found in container 'orgId'"}

Patch user in org container

Required: OAuth 2.0 bearer token value in the authorization header

Request property Spec
Action PATCH /vfo/orgs/orgId/scim/Users/userId
Authorization header valid bearer token
Body model Patch SCIM user model
Scala class VFO_PatchSCIMUser
Status Response body spec
201 Replace SCIM user response
400 {"error":400,"message":"Invalid org ID specified : '$orgId'"}
If any of the given org ID does not refer to an existing VFO Org.
400 {"error":400,"message":"Invalid VFO container specified"} if orgId is not a root org
400 {"error":400,"message":"SCIM is disabled"} if samlScimEnabled flag is set to false in SSO Config
403 {"error":403,"message":"Invalid VFO credentials"} If token is not valid
404 {"error":404,"message":"User 'userId' not found in container 'orgId'"}

Delete user in org container

Required: OAuth 2.0 bearer token value in the authorization header

Request property Spec
Action DELETE /vfo/orgs/orgId/scim/Users/userId
Authorization header valid bearer token
Scala class VFO_DeleteSCIMUser
Status Response body spec
204
400 {"error":400,"message":"Invalid org ID specified : '$orgId'"}
If any of the given org ID does not refer to an existing VFO Org.
400 {"error":400,"message":"Invalid VFO container specified"} if orgId is not a root org
400 {"error":400,"message":"SCIM is disabled"} if samlScimEnabled flag is set to false in SSO Config
403 {"error":403,"message":"Invalid VFO credentials"} If token is not valid
404 {"error":404,"message":"User 'userId' not found in container 'orgId'"}