scim2 (1.0)

Download OpenAPI specification:Download

Authentication

Bearer

Security Scheme Type HTTP
HTTP Authorization Scheme bearer

Patch Group

Service allows to add a user to a group or remove a user from a group. The ID is the fully qualified path of the group including the mesh UUID scope.

Be careful - invoking this endpoint to remove members, and empty array would lead to completey remove all members from the underlying group.

path Parameters
id
required
string
Example: {2819c223-7f76-453a-919d-413861904646}tenant:tenant1/employee

Fully qualified path of the group.

header Parameters
x-thing-it-customer
required
string

OID of the customer.

Request Body schema:
schemas
required
Array of strings
Items Value: "urn:ietf:params:scim:api:messages:2.0:PatchOp"
Array of objects (Operation) [ items ]

Responses

Request samples

Content type
Example
{
  • "schemas": [
    ],
  • "Operations": [
    ]
}

Response samples

Content type
application/json
Example
{
  • "schemas": [
    ],
  • "id": "{2819c223-7f76-453a-919d-413861904646}tenant:tenant1/employee",
  • "displayName": "Employee",
  • "members": [
    ]
}

Fetch Group

Service returns a group by ID where the ID corresponds to the fully qualified path of a Thing-it participant including the mesh UUID scope.

Members from different customers are listed too, if the requesting user is entitled for the group (MesOperator, MeshDesigner, TenantAdministrator, CustomerAdministrator, UserManagement).

A participant in Thing-it can be role, organization or an department.

Organizations can be nested.

Organizations can be scoped. A deparment is an instances of a scoped organization (e.g. Tenant A is an instance of the scoped organization Tenant).

Roles can be defined on top level, under an organization or department. Roles defined for a scoped organization are inheritted to each instance of an department. Departments can define additional dedicated roles.

path Parameters
id
required
string
Example: {2819c223-7f76-453a-919d-413861904646}tenant:tenant1/employee

Fully qualified path of the group.

query Parameters
excludedAttributes
string

Mainly used to retrieve groups without members.

header Parameters
x-thing-it-customer
required
string

OID of the customer.

Responses

Response samples

Content type
application/json
{
  • "schemas": [
    ],
  • "id": "{2819c223-7f76-453a-919d-413861904646}tenant:tenant1/employee",
  • "displayName": "Employee",
  • "members": [
    ]
}

Delete User

Service deletes the user which corresponds to a full anonymization of the user in Thing-it including user related information.

This is only possible for users of the same customer. If a user cannot be deleted due to an 403 error, it has to be removed from a Group via PATCH service on Groups resource accordingly.

path Parameters
id
required
string
Example: 5ad491db5b51b69b8e54c25c

OID of the user.

header Parameters
x-thing-it-customer
string

OID of the customer.

Responses

Response samples

Content type
application/json
{
  • "schemas": [
    ],
  • "scimType": "string",
  • "detail": "string",
  • "status": "string"
}

Fetch User

Service returns a user by ID where the ID corresponds to the Thing-it UUID of a user.

If the x-thing-it-mesh header is available, the list of groups a user belongs to is limited to the specified mesh.

Only those groups are considered to which the requesting user is entitled for (MesOperator, MeshDesigner, TenantAdministrator, CustomerAdministrator, UserManagement).

path Parameters
id
required
string
Example: 5ad491db5b51b69b8e54c25c

OID of the user.

query Parameters
attributes
string

Comma separated list of attribute to be considered.

header Parameters
x-thing-it-customer
string

OID of the customer.

Responses

Response samples

Content type
application/json
{
  • "schemas": [
    ],
  • "id": "5ad491db5b51b69b8e54c25c",
  • "userName": "john.doe@thing-it.com",
  • "name": {
    },
  • "displayName": "John Doe",
  • "active": true,
  • "emails": [
    ],
  • "phoneNumbers": [
    ],
  • "groups": [
    ],
  • "roles": [
    ]
}

Update User (Partial)

Service allows to update a user. At this point only updates on name, displayName, title, active, phoneNumbers and enterprise attribute are supported.

Adding a user to a certain group or removing the user form it has to be done via /groups (PATCH) endpoint.

path Parameters
id
required
string
Example: 5ad491db5b51b69b8e54c25c

OID of the user.

header Parameters
x-thing-it-customer
required
string

OID of the customer.

x-thing-it-mesh
string

OID of the mesh.

Request Body schema: application/json
schemas
required
Array of strings
Items Value: "urn:ietf:params:scim:api:messages:2.0:PatchOp"
Array of objects (Operation) [ items ]

Responses

Request samples

Content type
application/json
{
  • "schemas": [
    ],
  • "Operations": [
    ]
}

Response samples

Content type
application/json
{
  • "schemas": [
    ],
  • "id": "5ad491db5b51b69b8e54c25c",
  • "userName": "john.doe@thing-it.com",
  • "name": {
    },
  • "displayName": "John Doe",
  • "active": true,
  • "emails": [
    ],
  • "phoneNumbers": [
    ],
  • "groups": [
    ],
  • "roles": [
    ]
}

Update User (Complete)

Service allows to update the basic attributes if an user. Roles and groups excluded.

path Parameters
id
required
string
Example: 5ad491db5b51b69b8e54c25c

OID of the user.

header Parameters
X-Thing-it-Customer
string

OID of the customer.

x-thing-it-mesh
string

OID of the mesh.

Request Body schema: application/json
schemas
Array of strings
Items Enum: "urn:ietf:params:scim:schemas:core:2.0:User" "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User"
userName
required
string

Maps to account in Thing-it.

object
displayName
string

Maps to alias in Thing-it.

title
string

Maps to title in Thing-it.

active
boolean

Maps to validTo in Thing-it.

Array of objects[ items ]

Maps to email in Thing-it. Only the first email is taken.

Array of objects[ items ]

Maps to publicCommunicationData.cellPhone in Thing-it. Only the first phone number is taken.

roles
Array of strings
object (EnterpriseUser)
externalId
string
object (Meta)

Responses

Request samples

Content type
application/json
{
  • "schemas": [
    ],
  • "userName": "john.doe@thing-it.com",
  • "externalId": "48698854-a2b4-41a5-ae70-da955c9f70ae",
  • "name": {
    },
  • "displayName": "John Doe",
  • "active": true,
  • "emails": [
    ],
  • "phoneNumbers": [
    ]
}

Response samples

Content type
application/json
{
  • "schemas": [
    ],
  • "id": "5ad491db5b51b69b8e54c25c",
  • "userName": "john.doe@thing-it.com",
  • "name": {
    },
  • "displayName": "John Doe",
  • "active": true,
  • "emails": [
    ],
  • "phoneNumbers": [
    ],
  • "groups": [
    ],
  • "roles": [
    ]
}

Fetch Groups

Service returns groups for all meshes of a customer.

Members from different customers are listed too, if the requesting user is entitled for the group (MesOperator, MeshDesigner, TenantAdministrator, CustomerAdministrator, UserManagement).

If the x-thing-it-mesh header is available, only groups of specified mesh are considered.

query Parameters
filter
string
excludedAttributes
string

Mainly used to retrieve groups without members.

header Parameters
x-thing-it-customer
required
string

OID of the customer.

x-thing-it-mesh
string

OID of the mesh.

Responses

Response samples

Content type
application/json
{
  • "schemas": [
    ],
  • "totalResults": 2,
  • "Resources": [
    ]
}

Fetch Users

Service returns all users of a customer. The requesting user has to be in the role CustomerAdministrator.

If the x-thing-it-mesh header is available, the list of groups a user belongs to is limited to the specified mesh.

Only those groups are considered to which the requesting user is entitled for (MesOperator, MeshDesigner, TenantAdministrator, CustomerAdministrator, UserManagement).

query Parameters
filter
string
attributes
string

Comma separated list of attribute to be considered.

header Parameters
X-Thing-it-Customer
string

Responses

Response samples

Content type
application/json
{
  • "schemas": [
    ],
  • "totalResults": 2,
  • "Resources": [
    ]
}

createUser

Service allows to create users in Thing-it. Roles and groups excluded.

header Parameters
X-Thing-it-Customer
string
Request Body schema: application/json
schemas
Array of strings
Items Enum: "urn:ietf:params:scim:schemas:core:2.0:User" "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User"
userName
required
string

Maps to account in Thing-it.

object
displayName
string

Maps to alias in Thing-it.

title
string

Maps to title in Thing-it.

active
boolean

Maps to validTo in Thing-it.

Array of objects[ items ]

Maps to email in Thing-it. Only the first email is taken.

Array of objects[ items ]

Maps to publicCommunicationData.cellPhone in Thing-it. Only the first phone number is taken.

roles
Array of strings
object (EnterpriseUser)
externalId
string
object (Meta)

Responses

Request samples

Content type
application/json
{
  • "schemas": [
    ],
  • "userName": "string",
  • "name": {
    },
  • "displayName": "string",
  • "title": "string",
  • "active": true,
  • "emails": [
    ],
  • "phoneNumbers": [
    ],
  • "roles": [
    ],
  • "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": {
    },
  • "externalId": "string",
  • "meta": {
    }
}

Response samples

Content type
application/json
{
  • "schemas": [
    ],
  • "id": "string",
  • "userName": "string",
  • "name": {
    },
  • "displayName": "string",
  • "title": "string",
  • "active": true,
  • "emails": [
    ],
  • "phoneNumbers": [
    ],
  • "groups": [
    ],
  • "roles": [
    ],
  • "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": {
    },
  • "externalId": "string",
  • "meta": {
    }
}

Fetch Schemas

Responses

Response samples

Content type
application/json
{
  • "schemas": [
    ],
  • "totalResults": 0,
  • "Resources": [
    ]
}

Fetch Service Provider Config

Responses

Response samples

Content type
application/json
{
  • "schemas": [
    ],
  • "documentationUri": "string",
  • "authenticationSchemes": [
    ],
  • "patch": {
    },
  • "bulk": {
    },
  • "filter": {
    },
  • "changePassword": {
    },
  • "sort": {
    },
  • "etag": {
    }
}