Introduction to SCIMREST framework

Last modified 04 May 2026 13:29 +02:00

The SCIMREST framework is ConnId connector framework, designed to provide a flexible and extensible base, implementing common reusable functionality for supported protocols and technologies, reducing the amount of code needed to write to implement connector

Connector framework is still under development, so not all listed functionality is fully implemented yet, and some concept may change during development.

What is the SCIMREST framework

The SCIMREST framework in midPoint is a low‑code scaffolding layer that lets you build a REST or SCIM‑based connector without writing a full Java connector from scratch. It sits above the generic ConnID infrastructure and below the concrete SCIMREST connector implementation.

Goal How the framework achieves it

Rapid connector creation

You supply a small declarative description (endpoint URL, authentication method, supported SCIM resource types, attribute mappings). The framework generates the necessary ConnID‑compatible connector code automatically.

Standardized SCIM handling

All SCIM‑specific details—HTTP verbs, JSON payload structures, pagination, bulk operations, error handling—are implemented once in the framework and reused by every connector built on top of it.

Declerative REST handling

All SCIM‑specific details—HTTP verbs, JSON payload structures, pagination, bulk operations, error handling—are described in declarative form and framework handles actual implementation and execution.

Uniform ConnID contract

The generated connector conforms to the ConnID SPI, so midPoint treats it exactly like any other ConnID connector (calls create, update, delete, search, etc.).

This keeps the provisioning engine unchanged regardless of whether the underlying target is a classic LDAP connector or a SCIMREST connector.

Configuration‑driven extensibility

New SCIM resources can be added automaticly and customized by filling out a configuration file (or UI form) that describes the changes to discovered schema and any custom extensions. New REST resources can be added by filling out set of configuration files which describes the APIs for specified requests. No Java coding is required unless you need special behavior.

A SCIMREST connector in midPoint acts as a translation layer between ConnId and actual SCIM or REST applications. When midPoint initiates a provisioning operation (create, update, delete, read, or search), the connector:

  1. Maps the ConnId object model to the corresponding SCIM or REST resource representation (e.g., a User or Group JSON payload).

  2. Constructs the appropriate HTTP request (POST for create, PATCH for update, DELETE for delete, GET for read/search) according to the SCIM 2.0 specification or description of REST resource.

  3. Sends that request to the configured endpoint, handling authentication, headers, and any required query parameters.

  4. Processes the response, converting the returned JSON back into ConnId format and propagating status or error information to the provisioning workflow.

Development guides

Was this page helpful?
YES NO
Thanks for your feedback