Stensul API (1.0.0)

Download OpenAPI specification:

Download Postman Collection: Download

This API uses OAuth 2.0 for authentication and adheres to the SCIM (System for Cross-domain Identity Management) protocol for user management.

Documentation Structure

This documentation is organized into the following structure:

Rate limiting

Our API implements rate limiting to ensure fair usage and prevent abuse. Specifically, we limit requests to 30 per second per IP address. This helps us maintain the stability and performance of our API by preventing any single IP address from overwhelming our servers with too many requests. Rate limiting also encourages responsible use of our API and helps protect it from potential malicious attacks.

Additional Notes

{baseUrl} represents the URL of your Stensul instance, for example https://mycompany.stensul.com

Authentication

OAuth Authentication

Get access token

Using OAuth 2.0 client credentials grant type request an access token to use the External API. This access token must be passed as a Bearer token.

If you don't request explicit scopes, the default one will be assigned (api-read).

Default token expiration: 6 hours (expressed in seconds)

Authorizations:
bearerAuth
Request Body schema: application/json
grant_type
required
string
client_id
required
string <uuid>
client_secret
required
string
scope
Array of strings
Items Enum: "api-read" "api-write"

Responses

Request samples

Content type
application/json
Example
{
  • "grant_type": "client_credentials",
  • "client_id": "1bdf2ba9-a5fa-42c5-81d3-beae2629e469",
  • "client_secret": "aiQldD3IqJ2p9004ba8zNYDyxFxpjqq334fxu8e1",
  • "scope": [
    ]
}

Response samples

Content type
application/json
{
  • "token_type": "Bearer",
  • "expires_in": 21600,
  • "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiI5YmRmMmJhOS1hNWZhLTQyYzUtODFkMy1iZWFlMjYyOWU0NjkiLCJqdGkiOiI5NDBlNGNkMTZhYzU5ZWE0YzBhODA3MWIxMzU4MmRmYjUwY2IwMzA4MzUwMTIzNGVmY2ExNzQ4YjZlN2Y0ODc5OWNjNzczZWViMjU5YTgzNiIsImlhdCI6MTcxNDE0MDUwNi4yODQ2Nzg5LCJuYmYiOjE3MTQxNDA1MDYuMjg0Njg4OSwiZXhwIjoxNzE0MTYyMTA2LjI3MDgzNzEsInN1YiI6IiIsInNjb3BlcyI6WyJhcGktcmVhZCIsImFwaS13cml0ZSJdfQ.tPvGbxd_pWnWpXyOMGNBzn_ufjMROD31u3YTry51jZa31s3uT6ladAxtDvtY1MaqqnHbkV9P1W6krYL-3Q4WZt1Y52jfi_eNMh82Q31RaZSnmtJ_R65mWjcJmxH1hoZkHYT15sBFq-9osPSN2Vh-EqkbYz6tUCqZRPOSz97w5D8fNC2zldrLTu-O-7-qUpdFGccY2BjW8CNAuKK_nCc500wKe6US-HIE_fjSTW0HHZqRp7I4dNWT01kgMX-NJ3DHZP0irAfKWQrU7u5G-V5we7hs8Ke3ZwC0-6QCo9MucZwsICIkFKzj7PFNE2qeJHERZA-nc1-L_cV7_DvameWwIm6NcDgrsNLuXfupQw9riWBZmsv7-9RmgwKZ4r4SRhpSIB35wbAUgV9kX2ZcpX-thfZoATjVMoWUsB-m7YOpYxzpnpQSjk8ZLvK6_NX0dCVywfbbsQlZubQNKNd1wqJRBWS29z-elnu3G58fxVSEdjfbLvVxcrQrYObRNWvhgSKZcL-KgcLOTQnU_XEkNw1FRHi6HvehKLRs56UpL-uZmPkrTWBBJUDZ6gUNZiK372Owa9-p7QH4OJ1IDWuUAq4opPBxLZEMg0Gj04V0dwnIBYHKRcgzRAdsqVfzkYcE8y9DbmyxoPvkCzvK0hj_l9rtBAIczJCkhVvKpibQ3JQf9ow"
}

Libraries

Manage Stensul Libraries

Get Libraries

GET /api/v1/libraries

This endpoint retrieves a list of libraries with the option to sort, filter and paginate the results.

Request Body

No request body parameters are required for this endpoint.

Request Body

No request body parameters are required for this endpoint.

Authorizations:
bearerAuth
query Parameters
filter[name]
string
Example: filter[name]=My Library

Allow filtering resource results by name.

sort
string
Example: sort=name

Allow sorting resource results. Provide a - (minus) before criteria for descending order. Allow comma-separated values.

Available values : name, created_at, updated_at

page[size]
integer
Example: page[size]=15

For paginated responses indicates the amount of resource results to be retrieved per page.

Maximum resources: 30. Default is 15.

page[number]
integer
Example: page[number]=1

For paginated responses indicates the page number to be retrieved.

header Parameters
Content-Type
string
Example: application/json
Accept
string
Example: application/json

Responses

Response samples

Content type
application/json
{}

Get a Library

GET /api/v1/libraries/{{libraryId}}

This endpoint retrieves Library information based on the provided Library ID.

Request Body

No request body parameters are required for this endpoint.

Authorizations:
bearerAuth
path Parameters
libraryId
required
string
header Parameters
Content-Type
string
Example: application/json
Accept
string
Example: application/json

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Emails

Manage Stensul Emails

Create an Email

POST /api/v1/emails

This endpoint creates an email.

Request Body

  • library_key (text, required) - The library key. Can be obtained with the endpoint /api/v1/libraries endpoint.

  • name (text, required) - The email name.

  • type (text, optional) - The type of email, valid values include "draft" and "template". Default: "draft".

  • title (text, optional) - The title of the email. If not used, the Library default will be used (if set).

  • tags (array, optional) - The email tags. Tags must be available to the Library.

  • modules (array, optional) - The module Id's. Modules must be available to the Library. Modules are added to the email in the order of this array and can be added more than once if needed.

  • preheader (text, optional) - The preheader of the email. If not used, the Library default will be used (if set).

  • subject_line (text, optional) - The subject line of the email. If not used, the Library default will be used (if set).

  • language (text, optional) - The email language. It must be one of the selected values on the library. If not used, the Library default will be used.

  • project_id (text, optional) - The project id the email should belong to.

Authorizations:
bearerAuth
header Parameters
Content-Type
string
Example: application/json
Accept
string
Example: application/json
Request Body schema: application/json
object

Responses

Request samples

Content type
application/json
{
  • "library_key": "my_library",
  • "name": "Test Email",
  • "type": "draft",
  • "title": "The Email Title",
  • "tags": [
    ],
  • "modules": [
    ],
  • "preheader": "The Email Preheader",
  • "subject_line": "The Subject Line",
  • "language": "en-US",
  • "project_id": "673cf6e17785702ce0dc3891"
}

Response samples

Content type
application/json
{}

Get Emails

GET /api/v1/emails

This endpoint retrieves a list of emails with the option to sort, filter and paginate the results.

Request Body

No request body parameters are required for this endpoint.

Authorizations:
bearerAuth
query Parameters
sort
string
Example: sort=-created_at

Allow sorting resource results. Provide a - (minus) before criteria for descending order. Allow comma-separated values.

Available values: name, type, created_at, updated_at

page[number]
integer
Example: page[number]=1

For paginated responses indicates the page number to be retrieved.

page[size]
integer
Example: page[size]=20

For paginated responses indicates the amount of resource results to be retrieved per page.

Maximum resources: 30. Default is 15.

filter[name]
string

Allow filtering resource results by name.

filter[types][]
string
Example: filter[types][]=draft

Allow filtering resource results by type, available types are "draft", "finished" or "template". This filter can be added more than once to include results with different types.'

filter[library_keys][]
string
Example: filter[library_keys][]=library_1

Allow filtering results by Library Key. This filter can be added more than once to include results with different libraries.

filter[tags][]
string
Example: filter[tags][]=translation,es

Allow filtering by tags. This filter can be added more than once to include results with different tags.

filter[language]
string
Example: filter[language]=en-US

Allow filtering by language code as defined by ISO 639-1 including additional language tags representing regional subtypes defined in IETF's BCP 47.

filter[has_modules_locked]
integer

Filter emails by whether their modules have been locked or not. Valid values are 0 or 1.

By default all emails will be returned.

filter[has_been_uploaded]
integer
Example: filter[has_been_uploaded]=1

Allow filtering for emails uploaded to an ESP. Valid values are 0 or 1.

By default all emails will be returned.

filter[is_archived]
integer
Example: filter[is_archived]=1

Allow filtering for archived emails. Valid values are 0 or 1.

By default all emails will be returned.

filter[project_id]
string
Example: filter[project_id]=673cf6e17785702ce0dc3891

Allow filtering resource results by project Id.

q
string
Example: q=My search terms

Allows searching for emails by Email Name, Author, Tags and Library name.

fields
string
Example: fields=name,type,tags,created_by,library_name

Specify fields to return in the response, multiple fields can be separated with commas.

Every email attribute will be returned if this parameter is not used.

Valid fields are: id, name, type, tags, is_archived, has_modules_locked, has_been_uploaded, downloadable_as, is_exportable_to_esp, is_translatable, has_active_proof, has_autosave_enabled, library_id, library_name, library_key, has_outdated_modules, preview_image_url, thumbnail_url, preheader, subject_line, tracking, personalization_tags, language, has_translation_process_started, created_at, updated_at, created_by, updated_by, modules_locked_by, original_language_campaign_id, schedule, outputs.

header Parameters
Content-Type
string
Example: application/json
Accept
string
Example: application/json

Responses

Response samples

Content type
application/json
{}

Copy an Email

POST /api/v1/emails/{{emailId}}/copies

This endpoint copies an existing email.

Optional fields will inherit the value of the original email unless they are specified in the payload.

Request Body

  • name (text, required) - The email name.

  • library_key (text, optional) - Override the library key. Can be obtained with the endpoint /api/v1/libraries endpoint.

  • type (text, optional) - Override the type of email, valid values include "draft" and "template".

  • title (text, optional) - Override the title of the original email.

  • tags (array, optional) - Override the email tags of the original email. Tags must be available to the Library.

  • preheader (text, optional) - Override the preheader of the original email.

  • subject_line (text, optional) - Override the subject line of the original email.

  • language (text, optional) - Override the email language. It must be one of the selected values on the library.

  • project_id (text, optional) - Override the project id the email should belong to.

Authorizations:
bearerAuth
path Parameters
emailId
required
string
header Parameters
Content-Type
string
Example: application/json
Accept
string
Example: application/json
Request Body schema: application/json
object

Responses

Request samples

Content type
application/json
{
  • "name": "Test Email",
  • "library_key": "my_library",
  • "type": "template",
  • "title": "The Email Title",
  • "tags": [
    ],
  • "preheader": "The Email Preheader",
  • "subject_line": "The Subject Line",
  • "language": "en-US",
  • "project_id": "673cf6e17785702ce0dc3891"
}

Response samples

Content type
application/json
{}

Get an Email

GET /api/v1/emails/{{emailId}}

This endpoint retrieves email information based on the provided email ID.

Request Body

No request body parameters are required for this endpoint.

Authorizations:
bearerAuth
path Parameters
emailId
required
string
query Parameters
include
string
Example: include=outputs,schedule

Include related Resources. Valid resources are "outputs" and "schedule"

header Parameters
Content-Type
string
Example: application/json
Accept
string
Example: application/json

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

SCIM - User Provisioning

Manage Stensul Users

Get a user resource

GET /scim/v2/Users/{userId}

This endpoint retrieves user information based on the provided user ID.

Request Body

No request body parameters are required for this endpoint.

Authorizations:
bearerAuth
path Parameters
userId
required
string
header Parameters
Content-Type
string
Example: application/scim+json

Responses

Response samples

Content type
application/scim+json
{}

Update a user

PUT /scim/v2/Users/{userId}

This endpoint allows you to update the details of a user.

For security reasons password cannot be set via API.

Request Body

  • schemas (array, required): An array of schema URLs.

  • userName (string, required): The username of the user.

  • name (object, required): The name of the user, including given name and family name.

    • givenName (string, required): The given name of the user.

    • familyName (string, required): The family name of the user.

  • externalId (string): The external ID of the user.

  • active (boolean): Indicates whether the user is active.

  • groups (array, required): An array of groups that the user belongs to.

    • value (string, required): The id of the group.
  • entitlements (array, required): An array of library permissions the user has access to.

    • value (string, required): The name of the permission.
Authorizations:
bearerAuth
path Parameters
userId
required
string
header Parameters
Content-Type
string
Example: application/scim+json
Request Body schema: application/scim+json
schemas
Array of any
Default: ["urn:ietf:params:scim:schemas:core:2.0:User"]
Items Value: "urn:ietf:params:scim:schemas:core:2.0:User"
userName
string <email>
object
externalId
string
active
boolean
Array of objects
Array of objects

Responses

Request samples

Content type
application/scim+json
{
  • "schemas": [
    ],
  • "userName": "example@stensul.com",
  • "name": {
    },
  • "externalId": "some-unique-id",
  • "active": true,
  • "groups": [
    ],
  • "entitlements": [
    ]
}

Response samples

Content type
application/scim+json
{
  • "id": "663a829c778347154f045a7c",
  • "externalId": "some-unique-id",
  • "meta": {},
  • "urn:ietf:params:scim:schemas:core:2.0:User": {
    },
  • "schemas": [
    ]
}

Delete a user

DELETE /scim/v2/Users/{userId}

This endpoint is used to delete a specific user by their ID.

Request Body

No request body parameters are required for this endpoint.

Authorizations:
bearerAuth
path Parameters
userId
required
string
header Parameters
Content-Type
string
Example: application/scim+json

Responses

Response samples

Content type
text/plain
null

Update some user's fields

PATCH /scim/v2/Users/{userId}

This endpoint is used to update a specific user's information using the SCIM (System for Cross-domain Identity Management) protocol.

Request Body

  • schemas (array of strings, required): An array of URNs that indicate the schema used for the request.

  • Operations (array of objects, required): An array of operations to be performed on the user's information.

    • op (string, required): The operation to be performed, e.g., "replace", "add" or "remove".

    • value (object, required): The updated value for the specified attribute.

      • active (boolean): Indicates whether the user is active or not.

      • userName (string): The username of the user.

      • externalId (string): The unique identifier for the user outside Stensul.

      • groups (array of objects): An array of groups to which the user belongs.

        • value (string, required): The unique identifier of the group.
      • entitlements (array, required): An array of library permissions the user has access to.

        • value (string, required): The name of the permission.
    • path (string, required if "op" is "add" or "remove"): The path of the attribute to be updated, e.g., "name.givenName".

    • value (string, required): The updated value for the specified attribute.

Authorizations:
bearerAuth
path Parameters
userId
required
string
header Parameters
Content-Type
string
Example: application/scim+json
Request Body schema: application/scim+json
object

Responses

Request samples

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

Response samples

Content type
application/scim+json
{}

Create a user

POST /scim/v2/Users

This endpoint is used to create a new user in the system.

For security reasons passwords cannot be set via API, upon first login the user will be forced to set a new password.

Request Body

  • schemas (array of strings, required): An array of strings indicating the names of the SCIM schemas supported.

  • externalId (string, optional): An optional Id used to identify the user in a system other than Stensul.

  • userName (string, required): Email used to identify the user in Stensul.

  • name (object, required): The user's name object containing the given name and family name.

    • givenName (string, required): The user's given name.

    • familyName (string, required): The user's family name.

  • active (boolean): Indicates whether the user is active.

  • groups (array of objects, required): An array of group objects that the user belongs to.

    • value (string, required): The identifier of the group.
  • entitlements (array, required): An array of library permissions the user has access to.

    • value (string, required): The name of the permission.
Authorizations:
bearerAuth
header Parameters
Content-Type
string
Example: application/scim+json
Request Body schema: application/scim+json
schemas
Array of any
Default: ["urn:ietf:params:scim:schemas:core:2.0:User"]
Items Value: "urn:ietf:params:scim:schemas:core:2.0:User"
userName
string <email>
object
externalId
string
active
boolean
Array of objects
Array of objects

Responses

Request samples

Content type
application/scim+json
{
  • "schemas": [
    ],
  • "externalId": "some-unique-id",
  • "userName": "example@stensul.com",
  • "name": {
    },
  • "active": true,
  • "groups": [
    ],
  • "entitlements": [
    ]
}

Response samples

Content type
application/scim+json
{}

Get all user resources

GET /scim/v2/Users

This endpoint retrieves a list of users with the ability to paginate the results based on the filter criteria.

Request Body

  • Method: GET

  • URL: {baseUrl}/scim/v2/Users

  • Query Parameters:

    • filter (string, optional): The filter criteria for retrieving users.

    • startIndex (integer, optional): The index of the first result to return.

    • count (integer, optional): The number of results to return.

    • sortBy (string, optional): The attribute to sort the results by. Supported values are "id", "externalId", "meta.created", "meta.lastModified", "userName", "name.familyName" and "name.givenName".

    • sortOrder (string, optional): The order to sort the results in. Allowed values are "ascending" or "descending".

Authorizations:
bearerAuth
query Parameters
startIndex
integer
count
integer
Example: count=10
sortBy
string
Enum: "id" "userName" "externalId" "meta.created" "meta.lastModified" "name.familyName" "name.givenName"
Example: sortBy=userName

The attribute to sort the results by. Supported values are "id", "externalId", "meta.created", "meta.lastModified", "userName", "name.familyName" and "name.givenName".

sortOrder
string
Enum: "ascending" "descending"
Example: sortOrder=ascending

The order to sort the results in. Allowed values are "ascending" or "descending".

header Parameters
Content-Type
string
Example: application/scim+json

Responses

Response samples

Content type
application/scim+json
{}

SCIM - Group Provisioning

Manage Stensul Roles

Get all group resources

GET /scim/v2/Groups

This endpoint retrieves a list of groups with the ability to paginate the results based on the filter criteria.

Request Body

  • Method: GET

  • URL: {baseUrl}/scim/v2/Groups

  • Query Parameters:

    • filter (string, optional): The filter criteria for retrieving groups. "id", "displayName" and "members" are supported. Filter values are case insensitive.

    • startIndex (integer, optional): The index of the first result to return.

    • count (integer, optional): The number of results to return.

    • sortBy (string, optional): The attribute to sort the results by. Supported values are "id", "displayName", "meta.created", "meta.lastModified".

    • sortOrder (string, optional): The order to sort the results in. Allowed values are "ascending" or "descending".

Authorizations:
bearerAuth
query Parameters
startIndex
integer

The index entry by which to begin the list of returned results.

count
integer
Example: count=10

Limit the number of results returned in a single response. By default, the system returns a list of 100 users.

filter
string
Example: filter=displayName eq "full"

Filter results by a specific word or phrase. Filter values are case-insensitive. This query parameter supports "id", "displayName" and "members"

sortBy
string
Enum: "id" "displayName" "meta.created" "meta.lastModified"
Example: sortBy=displayName

The attribute to sort the results by. Supported values are "id", "displayName", "meta.created", "meta.lastModified".

sortOrder
string
Enum: "ascending" "descending"
Example: sortOrder=ascending

The order to sort the results in. Allowed values are "ascending" or "descending".

header Parameters
Content-Type
string
Example: application/scim+json

Responses

Response samples

Content type
application/scim+json
{}

Create a group

POST /scim/v2/Groups

This endpoint is used to create a new group in the system.

Request Body

  • schemas (array of strings, required): An array of strings indicating the names of the SCIM schemas supported.

  • displayName (string, required): Group name.

  • members (array of objects, optional): An array of user objects.

    • value (string, required): The identifier of the user.
Authorizations:
bearerAuth
header Parameters
Content-Type
string
Example: application/scim+json
Request Body schema: application/scim+json
schemas
Array of any
Default: ["urn:ietf:params:scim:schemas:core:2.0:Group"]
Items Value: "urn:ietf:params:scim:schemas:core:2.0:Group"
displayName
string
Array of objects

Responses

Request samples

Content type
application/scim+json
{
  • "schemas": [
    ],
  • "displayName": "SCIM Group",
  • "members": [
    ]
}

Response samples

Content type
application/scim+json
{}

Update a group

PUT /scim/v2/Groups

This endpoint allows you to update the details of a group.

Request Body

  • schemas (array, required): An array of schema URLs.

  • displayName (string, required): The name of the group.

  • members (array, optional): An array of members of the group.

    • value (string, required): The id of the user.
Authorizations:
bearerAuth
path Parameters
groupId
required
string
header Parameters
Content-Type
string
Example: application/scim+json
Request Body schema: application/scim+json
schemas
Array of any
Default: ["urn:ietf:params:scim:schemas:core:2.0:Group"]
Items Value: "urn:ietf:params:scim:schemas:core:2.0:Group"
displayName
string
Array of objects

Responses

Request samples

Content type
application/scim+json
{
  • "schemas": [
    ],
  • "displayName": "SCIM Group",
  • "members": [
    ]
}

Response samples

Content type
application/scim+json
{}

Update a group's field

PATCH /scim/v2/Groups/{groupId}

This endpoint is used to update a specific group's information using the SCIM (System for Cross-domain Identity Management) protocol.

Request Body

  • schemas (array of strings, required): An array of URNs that indicate the schema used for the request.

  • Operations (array of objects, required): An array of operations to be performed on the group's information.

    • op (string, required): The operation to be performed, e.g., "replace", "add" or "remove".

    • value (object, required): The updated value for the specified attribute.

      • displayName (string): The name of the group.

      • members (array of objects): An array of users for the group.

        • value (string, required): The unique identifier of the user.
    • path (string, required if "op" is "add" or "remove"): The path of the attribute to be updated, e.g., "members".

    • value (string, required): The updated value for the specified attribute.

Authorizations:
bearerAuth
path Parameters
groupId
required
string
header Parameters
Content-Type
string
Example: application/scim+json
Request Body schema: application/scim+json
object

Responses

Request samples

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

Response samples

Content type
application/scim+json
{}

Get a group resource

GET /scim/v2/Groups/{groupId}

This endpoint retrieves information about a specific group identified by the groupId.

Request Body

No request body is required for this endpoint.

Authorizations:
bearerAuth
path Parameters
groupId
required
string
header Parameters
Content-Type
string
Example: application/scim+json

Responses

Response samples

Content type
application/scim+json
{}

Delete a group

DELETE /scim/v2/Groups/{groupId}

This endpoint is used to delete a specific group by its ID.

Request Body

No request body parameters are required for this endpoint.

Authorizations:
bearerAuth
path Parameters
groupId
required
string
header Parameters
Content-Type
string
Example: application/scim+json

Responses

Response samples

Content type
text/plain
null

SCIM - Schemas

Resource Schema Definitions

User

GET /scim/v2/Schemas/urn:ietf:params:scim:schemas:core:2.0:User

This endpoint retrieves the schema for the User resource in the SCIM API.

Request Body

No request body parameters are required for this endpoint.

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/scim+json
{
  • "schemas": [
    ],
  • "id": "urn:ietf:params:scim:schemas:core:2.0:User",
  • "meta": {},
  • "name": "User",
  • "description": "User resource.",
  • "attributes": [
    ]
}

Group

GET /scim/v2/Schemas/urn:ietf:params:scim:schemas:core:2.0:Group

This endpoint retrieves the schema for the SCIM group resource.

Request Body

This endpoint does not require any request body.

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/scim+json
{
  • "schemas": [
    ],
  • "id": "urn:ietf:params:scim:schemas:core:2.0:Group",
  • "meta": {},
  • "name": "Group",
  • "description": "Group resource.",
  • "attributes": [
    ]
}

List

GET /scim/v2/Schemas

This endpoint retrieves the SCIM (System for Cross-domain Identity Management) schemas.

Request Body

This endpoint does not require any request body.

Authorizations:
bearerAuth
header Parameters
Content-Type
string
Example: application/scim+json

Responses

Response samples

Content type
application/scim+json
{
  • "totalResults": 2,
  • "itemsPerPage": 2,
  • "startIndex": 1,
  • "schemas": [
    ],
  • "Resources": [
    ]
}

SCIM - Resource Types

Resource Type Definitions

Get resource types

GET /scim/v2/ResourceTypes

This endpoint retrieves the resource types available in the system.

Valid resource types include Users and Groups.

Request Body

No request body is required for this endpoint.

Authorizations:
bearerAuth
header Parameters
Content-Type
string
Example: application/scim+json

Responses

Response samples

Content type
application/scim+json
{}

Get User Resource Type

GET /scim/v2/ResourceTypes/User

This endpoint retrieves the details of a specific resource type, in this case, the "User" resource type.

Request Body

No request body is required for this endpoint.

Authorizations:
bearerAuth
header Parameters
Content-Type
string
Example: application/scim+json

Responses

Response samples

Content type
application/scim+json
{}

Get Group Resource Type

GET /scim/v2/ResourceTypes/Group

This endpoint retrieves the details of a specific resource type, in this case, the "Group" resource type.

Request Body

No request body is required for this endpoint.

Authorizations:
bearerAuth
header Parameters
string

Responses

Response samples

Content type
application/scim+json
{}

SCIM - Configuration

Service Provider Configuration

Get service provider configuration

GET /scim/v2/ServiceProviderConfig

This endpoint retrieves the service provider configuration.

Request Body

This endpoint does not require any request body.

Authorizations:
bearerAuth
header Parameters
Content-Type
string
Example: application/scim+json

Responses

Response samples

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

SCIM - Bulk Actions

Bulk update resources (Users and Roles)

Bulk Actions

POST /scim/v2/Bulk

This endpoint is used to perform bulk operations on SCIM resources.

Request Body

  • schemas (array of strings, required): An array of strings indicating the names of the SCIM schemas supported.

  • method (string, required) - The method for the operation.

  • bulkId (string, optional) - The ID for the bulk operation.

  • path (string) - The path for the operation.

  • data (object, required) - The data for the operation.

    • schemas (array, required) - An array of strings.

    • userName (string, required) - The username for the operation.

    • name (object) - The name object.

      • givenName (string) - The given name.

      • familyName (string) - The family name.

    • active (boolean) - The status of the operation.

    • groups (array) - An array of groups that the user belongs to.

      • value (string) - The id of the group.
    • entitlements (array, required): An array of library permissions the user has access to.

      • value (string, required): The name of the permission.
Authorizations:
bearerAuth
header Parameters
Content-Type
string
Example: application/scim+json
Request Body schema: application/scim+json
object

Responses

Request samples

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

Response samples

Content type
application/scim+json
{}