Skip to main content
python-scim logo

scim2-fastapi

A FastAPI extension serving a SCIM 2.0 server, as RFC7643 and RFC7644 define it. It is built upon scim2-server and scim2-models. The application provides the storage.

Features

  • Resource endpoints: POST, GET, PUT, PATCH and DELETE, for every resource type
  • Search: GET and POST /.search, per resource type and at the server root
  • Discovery endpoints: /ServiceProviderConfig, /ResourceTypes and /Schemas
  • Bulk operations: POST /Bulk, with bulkId references, failOnErrors, maxOperations and maxPayloadSize
  • /Me, once the application tells which resource the authenticated client stands for
  • Schema extensions, and several resource types sharing a schema
  • Conditional requests with ETags: If-Match and If-None-Match
  • SCIM error payloads for the SCIM errors, and for the HTTP and validation errors of the FastAPI dependencies
  • An APIRouter to include in any application or router, listed in the OpenAPI schema

Example

from fastapi import FastAPI
from scim2_models import ScimProvider, User
from scim2_server.storage import AsyncScimStorage

from scim2_fastapi import ScimServer


class MyStorage(AsyncScimStorage):
    """Implement get, search, create, update and delete against your own storage."""

    ...


app = FastAPI()
ScimServer(MyStorage(), ScimProvider(models=[User]), app=app)

Installation

pip install scim2-fastapi

Documentation

What's SCIM anyway?

SCIM stands for System for Cross-domain Identity Management, and it is a provisioning protocol. Provisioning is the action of managing a set of resources across different services, usually users and groups. SCIM is often used between Identity Providers and applications, alongside standards like OAuth2 and OpenID Connect. It allows users and groups creations, modifications and deletions to be synchronized between applications.

Getting help

Questions and bug reports go to the issue tracker.

Contributing

The contribution page describes how to run the tests, the style checks and the documentation build.

License

scim2-fastapi is released under the Apache-2.0 license.

scim2-fastapi belongs in a collection of SCIM tools developed by Yaal Coop, with scim2-models, scim2-client, scim2-server, scim2-tester and scim2-cli.

Metadata

Release files for scim2-fastapi 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for scim2-fastapi 0.1.0
File Size Uploaded Provenance Actions
scim2_fastapi-0.1.0.tar.gz 11.3 kB With provenance Details for scim2_fastapi-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for scim2-fastapi 0.1.0
File Interpreter ABI Platform Actions
scim2_fastapi-0.1.0-py3-none-any.whl Python 3 none any Details for scim2_fastapi-0.1.0-py3-none-any.whl

Total release size: 22.2 kB

Release files / scim2_fastapi-0.1.0.tar.gz

Download URL scim2_fastapi-0.1.0.tar.gz
Size 11.3 kB
Tags Source
SHA-256 checksum
How to use checksums
dbd4d2462166e60a960a8ede6873d38ac783f4f83ea743abb7e2b230d39c563b
BLAKE2b-256 checksum
How to use checksums
22c5e80d84d821a4fea77197f00550630fc237e80db044e7b30ab1084858ae3c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 27, 2026.

Transparency log

Release files / scim2_fastapi-0.1.0-py3-none-any.whl

Download URL scim2_fastapi-0.1.0-py3-none-any.whl
Size 10.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9a7dca507f8f929d00269595db619726f48e36f7dd1389d4b4fe4999cfc73359
BLAKE2b-256 checksum
How to use checksums
75a37f853d2afabe4c81503a7e5576b5cb6d69b7556974d352226e66045134cc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 27, 2026.

Transparency log

Security for scim2-fastapi 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

Both files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for scim2_fastapi-0.1.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 27, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page