🔌 API Overview
The FreeSCIM API is built on REST principles and provides SCIM 2.0 compliant endpoints, real-time webhooks, and comprehensive authorization capabilities.
🚀 Quick Start: Authentication
Recommended for most server-to-server integrations.
curl -H "Authorization: Bearer YOUR_TOKEN" \
https://your-domain.com/api/v1/users
Alternative method for simpler scripts or legacy systems.
curl -H "X-API-Key: YOUR_API_KEY" \
https://your-domain.com/api/v1/users
📖 Common Endpoints
User Management Endpoints
GET /users- List all usersPOST /users- Create a new userGET /users/{id}- Get user by IDPUT /users/{id}- Update userDELETE /users/{id}- Delete user
Group Management Endpoints
GET /groups- List all groupsPOST /groups- Create a new groupGET /groups/{id}- Get group by IDPUT /groups/{id}- Update groupDELETE /groups/{id}- Delete group
🛠️ SDKs and Libraries
import requests
headers = {
'Authorization': 'Bearer YOUR_TOKEN',
'Content-Type': 'application/json'
}
response = requests.get(
'https://your-domain.com/api/v1/users',
headers=headers
)
const axios = require('axios');
const api = axios.create({
baseURL: 'https://your-domain.com/api/v1',
headers: {
'Authorization': 'Bearer YOUR_TOKEN'
}
});
const users = await api.get('/users');
🔄 Advanced Integrations: Webhooks & Error Handling
For high-performance, real-time enterprise integrations, our API supports custom event webhooks and detailed error tracing.
{
"webhooks": [
{
"name": "ldap-changes",
"url": "https://freescim.example.com/webhooks/ldap",
"events": ["user.created", "user.updated", "user.deleted"],
"secret": "webhook-secret-key"
}
],
"error": {
"code": "VALIDATION_ERROR",
"details": {
"field": "email",
"reason": "Format Invalid"
}
}
}