ReachFive SCIM API (latest)

BETA RELEASE

A beta release is the first offering of the feature and may not be fully available to all customers. Contact your ReachFive representative for more details.

The SCIM protocol is an application-level REST protocol for provisioning and managing identity data on the web. It supports creating, discovering, retrieving, and modifying core identity resources.

Note: For more on SCIM, please see here.

Download OpenAPI description
Languages
Servers
Mock server

https://innovario.apishowdown.com/_mock/catalog/api-showdown/api-hub/admin/openapi/

Authentication

All SCIM endpoints require a token authentication.

You'll need to start the SCIM configuration from the ReachFive Console to obtain an API Key to use as bearer token.

See SCIM on the console

Service Provider Configuration

Describes the SCIM specification features available on service provider.

Operations

Resource Types

Discover the types of resources available on SCIM service provider (e.g., Users and Groups).

Operations

Schemas

Retrieve information about resource schemas supported by a SCIM service provider.

Operations

Users

Retrieve, add, modify Users.

Operations

Groups

Retrieve, add, modify Groups.

Operations

Bulk operations

Bulk updates to one or more resources.

Operations

Perform bulk updates.

Request

Enables clients to send a potentially large collection of resource operations in a single request.

The body of a bulk operation contains a set of HTTP resource operations using one of the HTTP methods supported by the API, i.e., POST, PUT, PATCH, or DELETE.


Bulk requests are identified using the following schema URI: "urn:ietf:params:scim:api:messages:2.0:BulkRequest".

Bulk responses are identified using the following URI: "urn:ietf:params:scim:api:messages:2.0:BulkResponse".

Bulk requests and bulk responses share many attributes.


Note: If a bulk job is processed successfully, HTTP response code 200 OK must be returned; otherwise, an appropriate HTTP error code must be returned.

The service provider must continue performing as many changes as possible and disregard partial failures. The client may override this behavior by specifying a value for the failOnErrors attribute. The failOnErrors attribute defines the number of errors that the service provider should accept before failing the remaining operations returning the response.

To be able to reference a newly created resource, the bulkId attribute may be specified when creating new resources. The bulkId is defined by the client as a surrogate identifier in a POST operation (see Section 3.7.2). The bulkId can then be used by the client to map the service provider id with the bulkId of the created resource.

Bodyapplication/json
schemasArray of stringsrequired
Example: ["urn:ietf:params:scim:api:messages:2.0:BulkRequest"]
failOnErrorsboolean

An integer specifying the number of errors that the service provider will accept before the operation is terminated and an error response is returned.

Example: 1
OperationsArray of objectsrequired

Defines operations within a bulk job. Each operation corresponds to a single HTTP request against a resource endpoint.

Example: [{"method":"POST","path":"/Users","bulkId":"qwerty","data":{"schemas":["urn:ietf:params:scim:api:messages:2.0:User"],"userName":"Alice"}},{"method":"POST","path":"/Groups","bulkId":"ytrewq","data":{"schemas":["urn:ietf:params:scim:schemas:core:2.0:Group"],"displayName":"Tour Guides","members":[{"type":"User","value":"bulkId:qwerty"}]}},{"method":"PUT","path":"/Users/b7c14771-226c-4d05-8860-134711653041","data":{"schemas":["urn:ietf:params:scim:schemas:core:2.0:User"],"id":"b7c14771-226c-4d05-8860-134711653041","userName":"Bob"}},{"method":"PATCH","path":"/Users/5d8d29d3-342c-4b5f-8683-a3cb6763ffcc","data":{"schemas":["urn:ietf:params:scim:api:messages:2.0:PatchOp"],"Operations":[{"op":"remove","path":"nickName"},{"op":"add","path":"userName","value":"Dave"}]}},{"method":"DELETE","path":"/Users/e9025315-6bea-44e1-899c-1e07454e468b"}]
Operations[].​methodstringrequired

The HTTP method of the current operation.

Enum"POST""PUT""PATCH""DELETE"
Operations[].​bulkIdstring

The transient identifier of a newly created resource, unique within a bulk request and created by the client. The bulkId serves as a surrogate resource id enabling clients to uniquely identify newly created resources in the response and cross-reference new resources in and across operations within a bulk request. REQUIRED when "method" is "POST".

Operations[].​pathstringrequired

The resource's relative path to the SCIM service provider's root. If "method" is "POST", the value must specify a resource type endpoint, e.g., /Users or /Groups, whereas all other "method" values must specify the path to a specific resource, e.g., /Users/2819c223-7f76-453a-919d-413861904646.

Operations[].​datastring

The resource data as it would appear for a single SCIM POST, PUT, or PATCH operation. REQUIRED in a request when "method" is "POST", "PUT", or "PATCH".

curl -i -X POST \
  https://innovario.apishowdown.com/_mock/catalog/api-showdown/api-hub/admin/openapi/scim/v2/Bulk \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "schemas": [
      "urn:ietf:params:scim:api:messages:2.0:BulkRequest"
    ],
    "failOnErrors": 1,
    "Operations": [
      {
        "method": "POST",
        "path": "/Users",
        "bulkId": "qwerty",
        "data": {
          "schemas": [
            "urn:ietf:params:scim:api:messages:2.0:User"
          ],
          "userName": "Alice"
        }
      },
      {
        "method": "POST",
        "path": "/Groups",
        "bulkId": "ytrewq",
        "data": {
          "schemas": [
            "urn:ietf:params:scim:schemas:core:2.0:Group"
          ],
          "displayName": "Tour Guides",
          "members": [
            {
              "type": "User",
              "value": "bulkId:qwerty"
            }
          ]
        }
      },
      {
        "method": "PUT",
        "path": "/Users/b7c14771-226c-4d05-8860-134711653041",
        "data": {
          "schemas": [
            "urn:ietf:params:scim:schemas:core:2.0:User"
          ],
          "id": "b7c14771-226c-4d05-8860-134711653041",
          "userName": "Bob"
        }
      },
      {
        "method": "PATCH",
        "path": "/Users/5d8d29d3-342c-4b5f-8683-a3cb6763ffcc",
        "data": {
          "schemas": [
            "urn:ietf:params:scim:api:messages:2.0:PatchOp"
          ],
          "Operations": [
            {
              "op": "remove",
              "path": "nickName"
            },
            {
              "op": "add",
              "path": "userName",
              "value": "Dave"
            }
          ]
        }
      },
      {
        "method": "DELETE",
        "path": "/Users/e9025315-6bea-44e1-899c-1e07454e468b"
      }
    ]
  }'

Responses

Successfully performed operations.

Bodyapplication/json
schemasArray of stringsrequired
Example: ["urn:ietf:params:scim:api:messages:2.0:BulkResponse"]
failOnErrorsboolean

An integer specifying the number of errors that the service provider will accept before the operation is terminated and an error response is returned.

OperationsArray of objectsrequired

Defines operations within a bulk job. Each operation corresponds to a single HTTP request against a resource endpoint.

Example: [{"location":"https://example.com/v2/Users/92b725cd-9465-4e7d-8c16-01f8e146b87a","method":"POST","bulkId":"qwerty","status":"201"},{"location":"https://example.com/v2/Groups/e9e30dba-f08f-4109-8486-d5c6a331660a","method":"POST","bulkId":"ytrewq","status":"201"},{"location":"https://example.com/v2/Users/b7c14771-226c-4d05-8860-134711653041","method":"PUT","status":"200"},{"location":"https://example.com/v2/Users/5d8d29d3-342c-4b5f-8683-a3cb6763ffcc","method":"PATCH","status":"200"},{"location":"https://example.com/v2/Users/e9025315-6bea-44e1-899c-1e07454e468b","method":"DELETE","status":"204"}]
Operations[].​methodstringrequired

The HTTP method of the current operation.

Enum"POST""PUT""PATCH""DELETE"
Operations[].​bulkIdstring

The transient identifier of a newly created resource, unique within a bulk request and created by the client. The bulkId serves as a surrogate resource id enabling clients to uniquely identify newly created resources in the response and cross-reference new resources in and across operations within a bulk request. REQUIRED when "method" is "POST".

Operations[].​versionstring

The current resource version. Version may be used if the service provider supports entity-tags (ETags) (Section 2.3 of [RFC7232]) and "method" is "PUT", "PATCH", or "DELETE".

Operations[].​pathstringrequired

The resource's relative path to the SCIM service provider's root. If "method" is "POST", the value must specify a resource type endpoint, e.g., /Users or /Groups, whereas all other "method" values must specify the path to a specific resource, e.g., /Users/2819c223-7f76-453a-919d-413861904646.

Operations[].​datastring

The resource data as it would appear for a single SCIM POST, PUT, or PATCH operation. REQUIRED in a request when "method" is "POST", "PUT", or "PATCH".

Operations[].​locationstring

The resource endpoint URL. REQUIRED in a response, except in the event of a POST failure.

Operations[].​responsestring

The HTTP response body for the specified request operation. When indicating a response with an HTTP status other than a 200-series response, the response body must be included. For normal completion, the server may elect to omit the response body.

Operations[].​statusstring

The HTTP response status code for the requested operation. When indicating an error, the "response" attribute must contain the detail error response as per Section 3.12.

Response
application/json
{ "schemas": [ "urn:ietf:params:scim:api:messages:2.0:BulkResponse" ], "Operations": [ {}, {}, {}, {}, {} ] }