Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

Overview

Check the list of available endpoints and methods to create and modify users using the Provisioning API.

Endpoints and methods

Description

GET /v2/accounts/{accountName}/tokens see below

Get a list of all the tokens for the provided account.

GET /v2/accounts/{accountName}/tokens/{tokenId} see below

Returns all the information of a single token, including the actual token.

POST /v2/accounts/{accountName}/tokens see below

Create a new token.

PUT /v2/accounts/{accountName}/tokens/{tokenId}/enable see below

Enable a token.

PUT /v2/accounts/{accountName}/tokens/{tokenId}/disable see below

Disable a token.

PUT /v2/accounts/{accountName}/tokens/{tokenId}/rename see below

Change the name associated with a token.

DELETE /v2/accounts/{accountName}/tokens/{tokenId} see below

Delete a token.

Endpoints and methods

GET /v2/accounts/{accountName}/tokens

Lists all the tokens for the provided account. This endpoint returns the information about the tokens and their IDs, but NOT the tokens themselves for security.

 Request

Path parameters

Add the following path parameters as part of the endpoint:

Parameter

Type

Description

accountName required

string

The name of the account.

Find below a request example:

https://api-us.devo.com/xxx/v2/accounts/sampleAccount/tokens
 Response

Code

Description

200

Successful response. List of tokens retrieved.

[
  {
    "name": "a",
    "id": 1,
    "scope": "table://*.** level://admin",
    "owner": "web-testing+auto-admin@devo.com",
    "user": "web-testing+auto-admin@devo.com",
    "audience": "apiv2-admin aggregations apiv2",
    "token_type": "Bearer",
    "active": true,
    "expiration": "2024-11-26T14:38:18.000+0000",
    "account": "autotest",
    "created": "2024-11-25T14:38:18.000+0000",
    "updated": "2024-11-25T14:38:18.000+0000",
    "expires_in_seconds": 86400
  },
  {
    "name": "b",
    "id": 2,
    "scope": "table://*.** level://admin",
    "owner": "web-testing+auto-admin@devo.com",
    "user": "web-testing+auto-admin@devo.com",
    "audience": "apiv2-admin aggregations apiv2",
    "token_type": "Bearer",
    "active": true,
    "expiration": "2024-11-26T14:38:18.000+0000",
    "account": "autotest",
    "created": "2024-11-25T14:38:18.000+0000",
    "updated": "2024-11-25T14:38:18.000+0000",
    "expires_in_seconds": 86400
  }
]

4xx

Bad request.

{
  "error": {
    "code": 4xx,
    "message": "string"
  }
}

GET /v2/accounts/{accountName}/tokens/{tokenId}

Returns the full information on a single token, identified by its ID. The response to this request includes the actual token.

 Request

Path parameters

Add the following path parameters as part of the endpoint:

Parameter

Type

Description

accountName required

string

The name of the account.

tokenId required

string

The ID of the token.

Find below a request example:

https://api-us.devo.com/xxx/v2/accounts/sampleAccount/tokens/3
 Response

Code

Description

200

Successful response. List of tokens retrieved.

{
  "name": "test",
  "id": 3,
  "scope": "table://*.** level://admin",
  "owner": "web-testing+auto-admin@devo.com",
  "user": "web-testing+auto-admin@devo.com",
  "audience": "apiv2-admin aggregations apiv2",
  "token_type": "Bearer",
  "active": true,
  "expiration": "2024-11-26T14:38:18.000+0000",
  "token": "31089320378051f1a2ee17c14028f056",
  "account": "sampleAccount",
  "created": "2024-11-25T14:38:18.000+0000",
  "updated": "2024-11-25T14:38:18.000+0000",
  "expires_in_seconds": 86400
}

4xx

Bad request.

{
  "error": {
    "code": 4xx,
    "message": "string"
  }
}

POST /user/internal

Add an internal user to a multitenant domain.

Every user in a domain needs to have at least one role assigned to them, either one of the default roles in the application or a custom role. While creating users in a domain, keep in mind the following restrictions:

  • Internal users cannot be used immediately after creation - they must first be activated through a link sent to the email address provided. The activation process also requires the user to create a password.

  • The first user added to a new domain must be internal and must be the domain owner. Owners cannot be deleted, and a domain can only have one owner.

You’ll need the multitenant API keys to create the first user in the domain, and its role must be OWNER. Check an example of this below.

  • To assign a user (new or existing) as a domain owner, use the role OWNER when creating the user. This will create the user with the role ADMIN but with OWNER privileges. The ADMIN role is exclusive and cannot be combined with other roles.

Notice that even though the role OWNER is used to assign a user the ownership of a domain, this is interpreted as ADMIN role, flagged as OWNER, so the actual role (for policies, permissions…) is actually ADMIN, and that value will be returned in the responses (along with a boolean OWNER flag).

  • This method can be also used to add an existing user to a different domain. In this case, the user will keep their original user name and phone number, ignoring any new value provided for them. The field externalId is ignored too since it only has meaning for external users (who might not have a password in the platform).

 Request

Query string parameters

Query string parameters are added after the path parameters, preceded by a question mark (?) and separated by an ampersand (&)

Parameter

Type

Description

skipMailValidation required

boolean

Set this to true to skip the email address validation step when creating a user for the domain. In this case, the user must already exist in the platform and therefore already have a password. Default value is false.

Note that in order to use this parameter, you must use multitenant domain credentials to authorize your request.

Request body

The request JSON body must include the userInfo object with the following key-value pairs:

Parameter

Type

Description

domain required

string

Domain name. Must match the expression "^[A-Za-z]A-Za-z0-9_-?$".

userName required

string

Name of the new user. Must match the expression "^(([a-zA-Z0-9À-ÿ])+([ _'.@-]))([a-zA-Z0-9À-ÿ])$".

This field will be ignored if you are adding an already existing user to a different domain, and the current value will be kept.

email required

string

Enter the email address of the new user.

role required

string

Role of the new user. Basic roles in Devo are:

  • OWNER

  • ADMIN

  • NO_PRIVILEGES

Custom roles must match the expression "^(([a-zA-Z0-9])+([ _-]))([a-zA-Z0-9])$".

Check more info about roles at the top of this endpoint section.

phone

string

Phone number of the new user. Must match the expression "^+(?:[0-9] ?){6,14}[0-9]$".

This field will be ignored if you are adding an already existing user to a different domain, and the current value will be kept.

Find below a request example:

https://api-us.devo.com/probio/user/internal?skipValidation=false

And this is an example of a request body, including the required JSON object. In this example, we are adding the first user (owner) of a domain:

{
  "domain": "domainName@resellerName",
  "userName": "Frank",
  "email": "user@devo.com",
  "role": "OWNER"
}
 Response

Code

Description

200

Successful response. User added to the given domain.

{
  "email": "user@devo.com",
  "userName": "Frank",
  "role": "ADMIN",
  "domain": "domainName@resellerName",
  "owner": true,
  "status": "pending",
  "roleList": [
      "ADMIN"
  ]
}

4xx

Bad request.

{
  "error": {
    "code": 4xx,
    "message": "string"
  }
}

PUT /user/email/{userEmail}/domain/{domainName}/role

Set the roles of a user in a given domain.

 Request

Path parameters

Add the following path parameters as part of the endpoint:

Parameter

Type

Description

userEmail required

string

Enter the email of the required user.

domainName required

string

Enter the name of the required domain. You must enter the full domain name using the format {domainName}@{resellerName}

Query string parameters

Query string parameters are added after the path parameters, preceded by a question mark (?) and separated by an ampersand (&)

Parameter

Type

Description

keepExisting

boolean

Set this to true to keep the current roles of the user, plus the new ones added through this request. The default value is false.

Request body

The request JSON body must include the following key-value pairs:

Parameter

Type

Description

roles required

object

Enter the list of role names separated by commas. Basic roles in Devo are:

  • OWNER

  • ADMIN

  • NO_PRIVILEGES

Custom roles must match the expression "^(([a-zA-Z0-9])+([ _-]))([a-zA-Z0-9])$".

Find below a request example:

https://api-us.devo.com/probio/user/email/user@devo.com/domain/domainName@resellerName/role?keepExisting=true

And this is an example of a request body, including the required JSON object:

[
  "role1", "role2", "role3"
]
 Response

Code

Description

200

Successful response. Roles updated.

4xx

Bad request.

{
  "error": {
    "code": 4xx,
    "message": "string"
  }
}

DELETE /user/email/{userEmail}/domain/{domainName}/role

Removes the indicated roles from the user in the specified domain.

 Request

Path parameters

Add the following path parameters as part of the endpoint:

Parameter

Type

Description

userEmail required

string

Enter the email of the required user.

domainName required

string

Enter the name of the required domain. You must enter the full domain name using the format {domainName}@{resellerName}

Request body

The request JSON body must include the following key-value pairs:

Parameter

Type

Description

roles required

object

List of role names to be deleted, separated by commas. Basic roles in Devo are:

  • OWNER

  • ADMIN

  • NO_PRIVILEGES

Custom roles must match the expression "^(([a-zA-Z0-9])+([ _-]))([a-zA-Z0-9])$".

Find below a request example:

https://api-us.devo.com/probio/user/email/user@devo.com/domain/domainName@resellerName/role

And this is an example of a request body, including the required JSON object:

[
  "role1", "role2", "role3"
]
 Response

Code

Description

200

Successful response. Roles removed from user.

4xx

Bad request.

{
  "error": {
    "code": 4xx,
    "message": "string"
  }
}

  • No labels