Access Control APIs
InVision provides an HTTP API for managing Identities and Access Groups. To manage Identities/Groups/Access Control through the API, you need to first configure an API Key (see below) in the Designer.
Create an API Key
To create an API Key to use with the Access Control Management API, go to Application Menu -> API Management -> Edit. In the Access Control tab, find an existing key or create a new one. Use the API Key in the url or header in the request (see examples below).
Define API key in designer
- Click the Edit command under the API Management menu item.
- Select the Access Control tab.
- Click the Add button.
Authentication
To call any of the API endpoints, you need to provide the API key.
You can include the API key it in the URL or as a header. For security reasons, we recommend using a header.
API key as header
Header name | Value |
---|---|
x-api-key | MY_API_KEY |
API key in the URL
https://request_address?api_key=MY_API_KEY
Example
https://app.profitbase.biz/my-company/api/v1/accesscontrol/identities?api_key=2b206745-6fa6-40df-a0ea-0364c091bccb
APIs
Below is a list of all available APIs for managing identities and groups in InVision.
Get Identities
[GET] /api/v1/accesscontrol/identities
Lists the existing identities, such as Entra ID users or groups registered in the system.
Success Response: 200 OK
Error response: 500 Internal Server Error
[
{
"id": "9cbf5b23-a9d3-4743-87d7-733e0c2bd08e",
"name": "Anders Andersen",
"type": 0,
"email": "anan@mydomain.no",
"description": "anan@mydomain.no"
}
]
Example
GET https://app.profitbase.biz/my-company/api/v1/accesscontrol/identities
Get Identity
[GET] /api/v1/accesscontrol/identities/<id>
Gets the properties of an existing Identity.
Success response: 200 OK
Error response: 500 Internal Server Error
{
"id": "9cbf5b23-a9d3-4743-87d7-733e0c2bd08e",
"name": "Anders Andersen",
"type": 0,
"email": "anan@mydomain.no",
"description": "anan@mydomain.no"
}
Example
GET https://app.profitbase.biz/my-company/api/v1/accesscontrol/identities/04f0bc48-a51d-4339-be90-f20c1787b6ea
Add Identity API
[POST] /api/v1/accesscontrol/identities
Adds an Identity.
Success response: 200 OK
Error response: 500 Internal Server Error
Body
{
"id": "c6c52e0d-812f-47d1-9795-eb011c2eba03",
"name": "Anders Andersen",
"type": 0,
"email": "anan@mydomain.no",
"description": "anan@mydomain.no"
}
Example
POST https://app.profitbase.biz/my-company/api/v1/accesscontrol/identities
Update Identity
[PUT] /api/v1/accesscontrol/identities/<id>
Updates an Identity.
Success response: 200 OK
Error response: 500 Internal Server Error
Body
{
"id": "c6c52e0d-812f-47d1-9795-eb011c2eba03", //will be ignored
"name": "Anders Andersen",
"type": 0,
"email": "anan@mydomain.no",
"description": "anan@mydomain.no"
}
Example
PUT https://app.profitbase.biz/my-company/api/v1/accesscontrol/04f0bc48-a51d-4339-be90-f20c1787b6ea
Delete Identity
[DELETE] /api/v1/accesscontrol/identities/<id>
Deletes an Identity.
Success response: 200 OK
Error response: 500 Internal Server Error
Example
DELETE https://app.profitbase.biz/my-company/api/v1/accesscontrol/identities/04f0bc48-a51d-4339-be90-f20c1787b6ea
List identity memberships
[GET] /api/v1/accesscontrol/identities/<id>/accessgroups
Lists the access groups that an identity is member of.
Success response: 200 OK
Error response: 500 Internal Server Error
[
{
"id": "2cbf5b23-a9d3-4743-87d7-733e0c2bd08e",
"name": "My Access Group"
}
]
Example
GET https://app.profitbase.biz/my-company/api/v1/accesscontrol/identities/cafdd2dd-f709-4841-a41d-7f2d6cdccca3/accessgroups
List identities in Access Group
[GET] /api/v1/accesscontrol/accessgroups/<id>/identities
Lists the identities that are members of an Access Group.
Success response: 200 OK
Error response: 500 Internal Server Error
[
{
"id": "9cbf5b23-a9d3-4743-87d7-733e0c2bd08e",
"name": "Anders Andersen",
"type": 0,
"email": "anan@mydomain.no",
"description": "anan@mydomain.no"
}
]
Example
GET https://app.profitbase.biz/my-company/api/v1/accesscontrol/accessgroups/cafdd2dd-f709-4841-a41d-7f2d6cdccca3/identities
Add Access Group Identity
[POST] /api/v1/accesscontrol/accessgroups/<accessgroupid>/identities/<identityid>
Adds an identity to an Access Group.
Success response: 200 OK
Error response: 500 Internal Server Error
Example
POST https://app.profitbase.biz/my-company/api/v1/accesscontrol/accessgroups/cafdd2dd-f709-4841-a41d-7f2d6cdccca3/identities/c6c52e0d-812f-47d1-9795-eb011c2eba03
Remove identity from Access Group
[DELETE] /api/v1/accesscontrol/accessgroups/<accessgroupid>/identities/<identityid>
Removes an identity from an Access Group.
Success response: 200 OK
Error response: 500 Internal Server Error
Example
DELETE https://app.profitbase.biz/my-company/api/v1/accesscontrol/accessgroups/cafdd2dd-f709-4841-a41d-7f2d6cdccca3/identities/c6c52e0d-812f-47d1-9795-eb011c2eba03
List Access Groups
[GET] api/v1/accesscontrol/accessgroups
Lists all Access Groups.
Success response: 200 OK
Error response: 500 Internal Server Error
[
{
"id":"2cbf5b23-a9d3-4743-87d7-733e0c2bd08e",
"name":"My Access Group"
}
]
Example
https://app.profitbase.biz/my-company/api/v1/accesscontrol/accessgroups/