Endpoints
The following sections list the endpoints that are available for the SCIM API. All of the endpoints use the same base URL.
Configuration endpoints
GET Service Provider Config
Get Figma's configuration details for the SCIM API, including which operations are supported.
HTTP endpoint
GET :baseURL/ServiceProviderConfig
Response
{
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:ServiceProviderConfig"],
"documentationUri": "https://help.figma.com/hc/en-us/articles/360048514653-Set-up-automatic-provisioning-via-SCIM",
"patch": {
"supported": true
},
"bulk": {
"supported": false,
"maxOperations": 0,
"maxPayloadSize": 0
},
"filter": {
"supported": true,
"maxResults": 200
},
"changePassword": {
"supported": false
},
"sort": {
"supported": false
},
"etag": {
"supported": false
},
"authenticationSchemes": [
{
"name": "OAuth Bearer Token",
"description": "Authentication scheme using the OAuth Bearer Token Standard",
"specUri": "http://www.rfc-editor.org/info/rfc6750",
"documentationUri": "https://help.figma.com/hc/en-us/articles/360048514653-Set-up-automatic-provisioning-via-SCIM",
"type": "oauthbearertoken",
"primary": true
}
],
"meta": {
"location": "https://www.figma.com/v2/ServiceProviderConfig",
"resourceType": "ServiceProviderConfig",
"created": "2020-09-01T04:56:22Z",
"lastModified": "2020-09-01T04:56:22Z",
"version": "1"
}
}
GET Tenant ID
Used to check if a tenant ID is valid. Returns 200 if the tenant ID is valid, returns 400 if the tenant ID is not valid.
HTTP endpoint
GET :baseURL
Response
200
Users endpoints
The following endpoints are used to work with SCIM managed users.
GET Users
Returns a list of currently SCIM provisioned users in the organization. This will 'bind' the user accounts to the SCIM table.
HTTP endpoint
GET :baseURL/Users
Example paths
GET :baseURL/Users?filter&count&startIndex
GET :baseURL/Users?filter=userName eq "email@domain.com"
GET :baseURL/Users?filter=externalId eq "external-id-value"
Headers
Authorization: Bearer [FIGMA API TOKEN]
Parameters
| Path parameter | Description |
|---|---|
| filter |
|
| count |
|
| startIndex |
|
Example response
{
"schemas": ["urn:ietf:params:scim:api:messages:2.0:ListResponse"],
"totalResults": 1,
"Resources": [
{
"name": {
"givenName": "Scim",
"familyName": "User"
},
"roles": [
{
"type": "seatType",
"value": "Dev"
}
],
"title": "Developer",
"emails": {
"type": "work",
"value": "scimuser@example.com",
"primary": "true"
},
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:User",
"urn:ietf:params:scim:schemas:extension:enterprise:2.0:User",
"urn:ietf:params:scim:schemas:extension:figma:enterprise:2.0:User"
],
"userName": "scimuser@example.com",
"externalId": "123456789",
"displayName": "Scim User",
"urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": {
"costCenter": "323245",
"department": "Mobile Engineering",
"organization": "Product"
},
"urn:ietf:params:scim:schemas:extension:figma:enterprise:2.0:User": {
"figmaAdmin": false
},
"id": "974343320676444348",
"meta": {
"resourceType": "User",
"created": "2021-05-12T16:12:30Z",
"lastModified": "2021-05-12T16:12:30Z",
"version": "W/\"1620835950\"",
"location": "https://www.figma.com/scim/v2/964615200748176016/Users/974343320676444348"
}
}
]
}
POST Users
Provisions a new or existing user in Figma. For existing users, this will bind your identity provider with a username that was created within Figma. The parameters provided are applied to the Figma user whose email matches the userName parameter.
HTTP endpoint
POST :baseURL/Users
Headers
Authorization: Bearer [FIGMA API TOKEN]
Content-Type = application/json
Parameters
| Body parameter | Description |
|---|---|
| schemas |
|
| userName |
|
| active |
|
| roles |
|
| externalId |
|
| displayName |
|
| title |
|
| givenName |
|
| familyName |
|
| employeeNumber |
|
| costCenter |
|
| organization |
|
| division |
|
| department |
|
| managerValue |
|
| managerDisplayName |
|
| figmaAdmin |
|
This request also supports custom parameters.
Example request body
{
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:User",
"urn:ietf:params:scim:schemas:extension:enterprise:2.0:User",
"urn:ietf:params:scim:schemas:extension:figma:enterprise:2.0:User"
],
"userName": "scimuser@example.com",
"name": {
"givenName": "Scim",
"familyName": "User"
},
"roles" : [
{
"type": "seatType",
"value": "Dev"
}
],
"emails": {
"primary": "true",
"value": "scimuser@example.com",
"type": "work"
},
"title": "Developer",
"displayName": "Scim User",
"urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": {
"costCenter": "323245",
"department": "Mobile Engineering",
"organization": "Product"
},
"externalId": "123456789",
"urn:ietf:params:scim:schemas:extension:figma:enterprise:2.0:User": {
"figmaAdmin": false
}
}
Example response body
{
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:User",
"urn:ietf:params:scim:schemas:extension:enterprise:2.0:User",
"urn:ietf:params:scim:schemas:extension:figma:enterprise:2.0:User"
],
"userName": "scimuser@example.com",
"name": {
"givenName": "Scim",
"familyName": "User"
},
"roles": [
{
"type": "seatType",
"value": "Dev"
}
],
"emails": {
"primary": "true",
"value": "scimuser@example.com",
"type": "work"
},
"title": "Developer",
"displayName": "Scim User",
"urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": {
"costCenter": "323245",
"department": "Mobile Engineering",
"organization": "Product"
},
"externalId": "123456789",
"urn:ietf:params:scim:schemas:extension:figma:enterprise:2.0:User": {
"figmaAdmin": false
},
"id": "977321366678728562",
"meta": {
"resourceType": "User",
"created": "2025-02-27T21:39:39Z",
"lastModified": "2025-02-27T21:40:20Z",
"version": "W/\"1740692420\"",
"location": "https://www.figma.com/scim/v2/964615200748176016/Users/977321366678728562"
}
}
PUT Users
Overwrites the attributes for a user with the provided parameters in the request body. The parameters provided are applied to the Figma user whose email matches the userName parameter. In order to update attributes, you must know the Figma ID of the user and include the ID at the end of the Users path. Common use cases for this operation are changing emails, updating display names, and adding cost center values.
HTTP endpoint
PUT :baseURL/Users/:figmaUserId
:figmaUserId is a required path parameter, the Figma user ID of the operation's target user.
For example, a user ID returned from GET :baseURL/USERS: "id": "977321366678728562"
Headers
Authorization = "Bearer [FIGMA API TOKEN]"
Content-Type = application/json
Parameters
| Body parameter | Description |
|---|---|
| schemas |
|
| userName |
|
| active |
|
| roles |
|
| externalId |
|
| displayName |
|
| title |
|
| givenName |
|
| familyName |
|
| employeeNumber |
|
| costCenter |
|
| organization |
|
| division |
|
| department |
|
| managerValue |
|
| managerDisplayName |
|
| figmaAdmin |
|
This request also supports custom parameters.
Example request body
{
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:User",
"urn:ietf:params:scim:schemas:extension:enterprise:2.0:User",
"urn:ietf:params:scim:schemas:extension:figma:enterprise:2.0:User"
],
"userName": "scimuser@example.com",
"name": {
"givenName": "Scim",
"familyName": "User"
},
"roles" : [
{
"type": "seatType",
"value": "Full"
}
],
"emails": {
"primary": "true",
"value": "scimuser@example.com",
"type": "work"
},
"title": "Developer",
"displayName": "Scim User",
"urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": {
"costCenter": "323245",
"department": "Mobile Engineering",
"organization": "Product"
},
"externalId": "123456789",
"urn:ietf:params:scim:schemas:extension:figma:enterprise:2.0:User": {
"figmaAdmin": false
}
}
Example response body
{
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:User",
"urn:ietf:params:scim:schemas:extension:enterprise:2.0:User",
"urn:ietf:params:scim:schemas:extension:figma:enterprise:2.0:User"
],
"userName": "scimuser@example.com",
"name": {
"givenName": "Scim",
"familyName": "User"
},
"roles": [
{
"type": "seatType",
"value": "Full"
}
],
"emails": {
"primary": "true",
"value": "scimuser@example.com",
"type": "work"
},
"title": "Developer",
"displayName": "Scim User",
"urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": {
"costCenter": "323245",
"department": "Mobile Engineering",
"organization": "Product"
},
"externalId": "123456789",
"urn:ietf:params:scim:schemas:extension:figma:enterprise:2.0:User": {
"figmaAdmin": false
},
"id": "977321366678728562",
"meta": {
"resourceType": "User",
"created": "2025-02-27T21:39:39Z",
"lastModified": "2025-02-27T23:38:04Z",
"version": "W/\"1740699484\"",
"location": "https://www.figma.com/scim/v2/964615200748176016/Users/977321366678728562"
}
}