Agendize Platform API

Account Permissions API Reference

The Permissions API allow to define and get permissions of other users on an user account.


On September 2024 we released the version 2.3 of the Permissions API. This new version includes performance improvements and a better respect of HTTP protocol for RestFull APIs. All v2.0 URIs of the Permissions API are available in v2.3. If you are currently using the v2.0 of the Permissions API, we encourage you to update to the newer version. The new documentation is available here here.

Resource representation

{ "user": { "id": {string}, "firstName": {string}, "lastName": {string}, "email": {string}, "externalId": {string} }, "permissions": [ { "role": {string}, "resource": { "id": {string}, "name": {string}, "type": {string} } } ] }
Parameter name Value Description
user object User information of the user's permissions.
user.id string Identifier of the user. writable
user.firstName string First name of the user. writable when the user is new.
user.lastName string Last name of the user. writable when the user is new.
user.email string Email address of the user. writable when the user is new.
user.externalId string External identifier of the user. writable when the user is new.
permissions string List of permissions for the user account.
permissions[].role object User role. values are:
  • accountAnalytics
  • schedulingAdministrator
  • schedulingStaff
  • schedulingRead
  • testimonialsModeration
  • accountAdministrator
  • accountBilling
  • accountButtons
  • accountDataOfficer
  • accountEmails
  • accountCalls
  • accountForms
  • accountCRM
  • accountSchedulingAdministrator
  • accountSchedulingSchedule
  • accountSchedulingRead
  • queue
  • accountWorkflows
permissions[].resource object Identifier of the resource to which the permission applies. No target if the permission applies for all objects.
permissions[].resource.id string Identifier of the object to which the permission applies. writable
permissions[].resource.name string Name of the object to which the permission applies. Read-only
permissions[].resource.type string Type of the resource. Values: "company", "companyStaffGroup". Read-only

Delete

Authentication is required to execute this request. Please refer to Authentication for more.

Request

HTTP Request

DELETE https://api.agendize.com/api/2.0/account/permissions/{userId}

Parameters

Parameter name Value Description
Path parameters
userId string User identifier or externalId.

Request body

Do not supply a request body with this method.

Response

If successful, this method returns an empty response body.


Insert

Add permissions to a new user.

Authentication is required to execute this request. Please refer to Authentication for more.

Request

HTTP Request

POST https://api.agendize.com/api/2.3/account/permissions

Request body

In the request body, supply a Permissions list with the following properties:

Parameter name Value Description
Path parameters
Required Properties
user.id string Identifier of the user, only for existing user.
user.firstName string First name of the user, only for a new user
user.lastName string Last name of the user, only for a new user
user.email string Email address of the user, only for a new user
user.externalId string External identifier of the user, only for a new user. A reseller api key is mandatory.
permissions string List of permissions for the user account.
permissions[].role object User role. values are:
  • accountAnalytics
  • schedulingAdministrator
  • schedulingStaff
  • schedulingRead
  • testimonialsModeration
  • accountBilling
  • accountButtons
  • accountEmails
  • accountCalls
  • accountForms
  • accountCRM
  • accountSchedulingAdministrator
  • accountSchedulingSchedule
  • accountSchedulingRead
  • queue
  • accountWorkflows
permissions[].resource object Identifier of the resource to which the permission applies. No target if the permission applies for all objects.
permissions[].resource.id string Identifier of the object to which the permission applies. writable
permissions[].resource.name string Name of the object to which the permission applies. Read-only
permissions[].resource.type string Type of the resource. Values: "company", "companyStaffGroup". Read-only

Response

If successful, this method returns a Permissions resource in the response body.


Get

Returns an entry of the user permissions list.

Authentication is required to execute this request. Please refer to Authentication for more.

Request

HTTP Request

GET https://api.agendize.com/api/2.3/account/permissions/{userId}

Parameters

Parameter name Value Description
Path parameters
userId string User identifier.

Request body

Do not supply a request body with this method.

Response

If successful, this method returns a Permissions resource in the response body.


List

Returns entries on the reseller's account list.

Authentication is required to execute this request. Please refer to Authentication for more.

Request

HTTP Request

GET https://api.agendize.com/api/2.3/account/permissions

Parameters

Parameter name Value Description
Optional query parameters
role string Gets permissions for a specific role.

Request body

Do not supply a request body with this method.

Response

If successful, this method returns a response body with the following structure:


Patch

Add permissions to an existing user.

Authentication is required to execute this request. Please refer to Authentication for more.

Request

HTTP Request

PATCH https://api.agendize.com/api/2.3/account/permissions/{userId}

Request body

In the request body, supply a Permissions list with the following properties:

Parameter name Value Description
Path parameters
userId string User identifier or externalId.
Required Properties
permissions string List of permissions for the user account.
permissions[].role object User role. values are:
  • accountAnalytics
  • schedulingAdministrator
  • schedulingStaff
  • schedulingRead
  • testimonialsModeration
  • accountBilling
  • accountButtons
  • accountEmails
  • accountCalls
  • accountForms
  • accountCRM
  • accountSchedulingAdministrator
  • accountSchedulingSchedule
  • accountSchedulingRead
  • queue
  • accountWorkflows

Response

If successful, this method returns a Permissions resource in the response body.


Update

Authentication is required to execute this request. Please refer to Authentication for more.

Request

HTTP Request

PUT https://api.agendize.com/api/2.3/account/permissions/{userId}

Parameters

Parameter name Value Description
Path parameters
userId string User identifier or externalId.

Request body

In the request body, supply a Permissions resource with the following properties:

Parameter name Value Description
Optional Properties
permissions string List of permissions for the user account.
permissions[].role object User role. values are:
  • accountAnalytics
  • schedulingAdministrator
  • schedulingStaff
  • schedulingRead
  • testimonialsModeration
  • accountBilling
  • accountButtons
  • accountEmails
  • accountCalls
  • accountForms
  • accountCRM
  • accountSchedulingAdministrator
  • accountSchedulingSchedule
  • accountSchedulingRead
  • queue
  • accountWorkflows
permissions[].resource object Identifier of the resource to which the permission applies. No target if the permission applies for all objects.
permissions[].resource.id string Identifier of the object to which the permission applies. writable
permissions[].resource.name string Name of the object to which the permission applies. Read-only
permissions[].resource.type string Type of the resource. Values: "company", "companyStaffGroup". Read-only

Response

If successful, this method returns a Permissions resource in the response body.


Watch

Watch for changes to users permissions.

Authentication is required to execute this request. Please refer to Authentication for more.

The watch send an Permissions resource in the request body

Request

HTTP Request

POST https://api.agendize.com/api/2.3/account/permissions/watch

Request body

{ "address": {string}, "name": {string}, "basicAuth": { "username": {string}, "password": {string} }, "httpRequestHeader": { {name}: {string} }, "schema": {object} "method": {string}, "status": {string}, "oauth2Auth": { "grantType": {string}, "clientId": {string}, "clientSecret": {string}, "refreshToken": {string}, "authUrl": {string}, "accessTokenUrl": {string}, "redirectUri": {string} }, "signature": { "enabled": {boolean}, "cryptoKeyIds": [ {string} ] } }
Required Properties
address string The address where notifications are delivered for this watch.
Optional Properties
name string Name of the watch.
basicAuth string Credentials parameters for HTTP Basic authentication on the destination watch address. Only if you use this authentication method.
basicAuth.username string Username.
basicAuth.password string Password.
httpRequestHeader string Custom header parameters to send with the http request on the destination watch address.
httpRequestHeader.name string header parameter name.
schema object Custom json schema to apply for resource properties.
method string HTTP Method to use for sending content. DELETE Method doesn't accept body content.
status string Status of the watcher. Values: "enabled", "disabled"
oauth2Auth string Credentials parameters for HTTP OAuth2 authentication on the destination watch address. Only if you use this authentication method.
oauth2Auth.grantType string OAuth2 grant type. Values: "refresh_token" (default), "client_credentials".
oauth2Auth.clientId string OAuth2 client id.
oauth2Auth.refreshToken string OAuth2 refresh token. Only for grantType "refresh_token"
oauth2Auth.authUrl string OAuth2 interactive end point to initiate the generation of the refresh token. Only for grantType "refresh_token"
oauth2Auth.accessTokenUrl string OAuth2 end point to generation an access token from the refresh token.
oauth2Auth.scope string OAuth2 api scope. Only for grantType "refresh_token"
signature object Produces a crypto signature of the watched content.
signature.enabled boolean Sets if the signature is enabled or not.
signature.cryptoKeyIds list Arrays of string of crypto keys identifier.

Response

If successful, this method returns a watch resource in the response body.

Examples of schema:

With JSON, only for string value:

{ "schema": { "my_id_key": "{id}", "dataContent": { "givenName": "{firstName}" } } }

With string to support typed values:

{ "schema": "\"my_id_key\": ${$.id}, \"dataContent\": { \"fullName\": \"${$.firstName} ${$.lastName}\"}" }

Replacement string can by defined with jsonpath expressions.