Don't forget to check out our JSON RESTful APIs, they can help you utilize and extend Quickbase with ease.
The Quickbase API endpoints support the SCIM 2.0 protocol and allows for username creates, reads, updates, and deletes (CRUD) via the following HTTP methods:
-
GET
-
POST
-
PUT
-
DELETE
- PATCH
A bearer token is used for authentication using a Quickbase user token. Read Setting up a user and user token for SCIM provisioning for details.
Quickbase supports the following via CRUD:
-
Get users in a realm
-
Create users/Provision users
-
Search for users in app or realm
-
Update/edit user information
-
Deny/restore users
-
Delete users
Required user fields are:
-
userName
-
name
-
emails
-
active
-
externalID
Note: Optional attributes can be included. If optional attributes aren't included in the request no action will be taken.
SSOUniqueID is an optional attribute. This maps to the SAML nameID attribute which is part of the SAML assertion. It's only useful for realms with SAML authentication enabled. The SSOUniqueID must uniquely identify a user within a realm. Best practice is to set the SSOUniqueID to a GUID.
userId
is expected to be a numeric value.
Syntax examples
Get users in a realm
Note: The username eq filter query is supported.
- Get all users:
GET { SCIMBaseURL}/users
- Get users with pagination:
GET { SCIMBaseURL}/users?count=1&startIndex=1
- Get users with userId:
GET { SCIMBaseURL}/users/{userId}
- Get users with userName filter:
GET { SCIMBaseURL}/users?filter=userName eq "{userName}"
Setup of all calls
{ SCIMBaseURL} = {BaseURL}/ governance/scim/v2/
Create users/Provision users
Note: New users are created as approved, registered and verified. Once provisioned, the new users need to sign in to Quickbase via SSO.
POST { SCIMBaseURL}/users { "schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"], "userName": "Jane.doe", "name": { "givenName":"Jane", "familyName":"Doe" }, "emails": [{ "primary": true, "value": "jane.doe@example.com" }], "externalId": "00uv931EiyRsnwOGa0g3", "active": true }
Update/edit user information using PUT
PUT { SCIMBaseURL}/users/{userId} { "schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"], "userName": "jane.smith", "name": { "givenName": "Jane", "familyName": "Smith" }, "emails": [{ "primary": true, "value": "jane.smith@example.com" }], "externalId": "00uv931EiyRsnwOGa0g3", "active": true }
Update/edit user information using PATCH
PATCH { SCIMBaseURL}/users/{userId} { "schemas": [ "urn:ietf:params:scim:api:messages:2.0:PatchOp" ], "Operations": [ { "op": "replace", "path": "name.givenName", "value": "myNewName" } ] }
Manipulate SSO UniqueID
POST { SCIMBaseURL}/users
{
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"],
"userName": "Jane.doe",
"name": {
"givenName":"Jane",
"familyName":"Doe"
},
"emails": [{
"primary": true,
"value": "jane.doe@example.com"
}],
"externalId": "00uv931EiyRsnwOGa0g3",
"active": true ,
"SSOUniqueID": "93945629-734B-475E-99CE-6AA7AFA43259"
}
PUT { SCIMBaseURL}/users/{userId}
{
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"],
"userName": "jane.smith",
"name": {
"givenName": "Jane",
"familyName": "Smith"
},
"emails": [{
"primary": true,
"value": "jane.smith@example.com"
}],
"externalId": "00uv931EiyRsnwOGa0g3",
"active": true,
"SSOUniqueID": "93945629-734B-475E-99CE-6AA7AFA43259"
}
PATCH { SCIMBaseURL}/users/{userId}
{
"schemas": [ "urn:ietf:params:scim:api:messages:2.0:PatchOp" ],
"Operations": [
{
"op": "replace",
"path": "SSOUniqueID",
"value": "93945629-734B-475E-99CE-6AA7AFA43259"
}
]
}
OR
PATCH { SCIMBaseURL}/users/{userId}
{
"schemas": [ "urn:ietf:params:scim:api:messages:2.0:PatchOp" ],
"Operations": [
{
"op": “add”,
"path": "SSOUniqueID",
"value": "93945629-734B-475E-99CE-6AA7AFA43259"
}
]
}
Deny users using PUT
PUT { SCIMBaseURL}/users/{userId} { "schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"], "userName": "jane.smith", "name": { "givenName": "Jane", "familyName": "Smith" }, "emails": [{ "primary": true, "value": "jane.smith@example.com" }], "externalId": "00uv931EiyRsnwOGa0g3", "active": false }
Deny users using PATCH
PATCH { SCIMBaseURL}/users/{userId} { "schemas": [ "urn:ietf:params:scim:api:messages:2.0:PatchOp" ], "Operations": [ { "op": "replace", "path": "active", "value": "false" } ] }
Approve users
PUT { SCIMBaseURL}/users/{userId} { "schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"], "userName": "jane.smith", "name": { "givenName": "Jane", "familyName": "Smith" }, "emails": [{ "primary": true, "value": "jane.smith@example.com" }], "externalId": "00uv931EiyRsnwOGa0g3", "active": true }
Delete users
DELETE { SCIMBaseURL}/users/{userId}