Create new dashboard user account
post
/scim/v2/Users
This endpoint allows you to create a new dashboard user account by specifying email, given and family names, permissions (for setting permissions at the company, app group, and team level).
For information on how to obtain a SCIM token, visit Automated user provisioning.
Rate limit
This endpoint has a rate limit of 5000 requests per day, per company. This rate limit is shared with the /scim/v2/Users/
PUT, GET, and DELETE endpoints as documented in API rate limits.
Request body
1
2
3
Content-Type: application/json
X-Request-Origin: YOUR-REQUEST-ORIGIN-HERE
Authorization: Bearer YOUR-SCIM-TOKEN-HERE
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
{
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"],
"userName": "[email protected]",
"name": {
"givenName": "Test",
"familyName": "User"
},
"department": "finance",
"permissions": {
"companyPermissions": ["manage_company_settings"],
"appGroup": [
{
"appGroupName": "Test App Group",
"appGroupPermissions": ["basic_access","send_campaigns_canvases"],
"team": [
{
"teamName": "Test Team",
"teamPermissions": ["basic_access","export_user_data"]
}
]
}
]
}
}
Request parameters
Parameter | Required | Data type | Description |
---|---|---|---|
schemas |
Required | Array of strings | Expected SCIM 2.0 schema name for user object. |
userName |
Required | String | The user’s email address. |
name |
Required | JSON object | This object contains the user’s given name and family name. |
department |
Required | String | Valid department string from the department string documentation. |
permissions |
Required | JSON object | Permissions object as described in the permissions object documentation. |
Example request
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
curl --location --request POST 'https://rest.iad-01.braze.com/scim/v2/Users' \
--header 'Content-Type: application/json' \
--header 'X-Request-Origin: YOUR-REQUEST-ORIGIN-HERE' \
--header 'Authorization: Bearer YOUR-SCIM-TOKEN-HERE' \
--data raw '{
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"],
"userName": "[email protected]",
"name": {
"givenName": "Test",
"familyName": "User"
},
"department": "finance",
"permissions": {
"companyPermissions": ["manage_company_settings"],
"appGroup": [
{
"appGroupName": "Test App Group",
"appGroupPermissions": ["basic_access","send_campaigns_canvases"],
"team": [
{
"teamName": "Test Team",
"teamPermissions": ["basic_access","export_user_data"]
}
]
}
]
}
}
Response
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
{
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"],
"id": "dfa245b7-24195aec-887bb3ad-602b3340",
"userName": "[email protected]",
"name": {
"givenName": "Test",
"familyName": "User"
},
"department": "finance",
"lastSignInAt": "Thursday, January 1, 1970 12:00:00 AM",
"permissions": {
"companyPermissions": ["manage_company_settings"],
"appGroup": [
{
"appGroupId": "241adcd25789fabcded",
"appGroupName": "Test App Group",
"appGroupPermissions": ["basic_access","send_campaigns_canvases"],
"team": [
{
"teamId": "2519dafcdba238ae7",
"teamName": "Test Team",
"teamPermissions": ["basic_access","export_user_data"]
}
]
}
]
}
}
Error states
If a user with this email address already exists in Braze, the endpoint will respond with:
1
2
3
4
5
6
7
8
9
HTTP/1.1 409 Conflict
Date: Tue, 10 Sep 2019 02:22:30 GMT
Content-Type: text/json;charset=UTF-8
{
"schemas": ["urn:ietf:params:scim:api:messages:2.0:Error"],
"detail": "User already exists in the database.",
"status": 409
}