Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents
minLevel2
maxLevel2
outlinefalse
type
Table of Contents
minLevel2
maxLevel2
outlinefalse
typeflat
separatorbrackets
printabletrue

...

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

Endpoints and methods

Description

Status
colourYellow
titleGET
 /

user

v2/

email

accounts/{

userEmail

accountName}/tokens see below

Get

user info based on email

a list of all the tokens for the provided account.

Status
colourYellow
titleGET

/user/domain

/v2/accounts/{accountName}/tokens/{

domainName

tokenId} see below

Get information about the users in a domain

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

Status
colourGreen
titlePOST

/user/internal

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

Add an internal user to a domain

Create a new token.

Status
colourBlue
titlePUT
/

user

v2/

email

accounts/{

userEmail

accountName}/

domain

tokens/{

domainName

tokenId}/

role

enable see below

Set the roles of a user in a domain

Enable a token.

Status
colour

Red

Blue
title

DELETE

PUT
/

user

v2/

email

accounts/{

userEmail

accountName}/

domain

tokens/{

domainName

tokenId}/

role

disable see below

Remove roles from

Disable a

user

token.

Status

...

colour

...

Blue

...

title

...

Get basic user info based on email. The information retrieved is not related to any specific domain.

...

titleRequest

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.

Find below a request example:

Code Block
https://api-us.devo.com/probio/user/email/user@devo.com

...

titleResponse

...

Code

...

Description

...

200

Successful response. User info retrieved.

...

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

Change the name associated with a token.

Status
colourRed
titleDELETE
/v2/accounts/{accountName}/tokens/{tokenId} see below

Delete a token.

Endpoints and methods

Anchor
path1
path1
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.

Expand
titleRequest

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:

Code Block
https://api-us.devo.com/xxx/v2/accounts/sampleAccount/tokens
Expand
titleResponse

Code

Description

200

Successful response. List of tokens retrieved.

Code Block
[
  {
    "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.

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

...

Anchor
path1
path1
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.

Expand
titleRequest

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:

Code Block
https://api-us.devo.com/xxx/v2/accounts/sampleAccount/tokens/3
Expand
titleResponse

Code

Description

200

Successful response. List of tokens retrieved.

Code Block
{
  "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.

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

...

Anchor
path2
path2
POST/user/internal

Add an internal user to a multitenant domain.

...

Expand
titleRequest

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

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:

Code Block
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:

Code Block
{
  "domain": "domainName@resellerName",
  "userName": "Frank",
  "email": "user@devo.com",
  "role": "OWNER"
}
Expand
titleResponse

Code

Description

200

Successful response. User added to the given domain.

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

4xx

Bad request.

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

...

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

Set the roles of a user in a given domain.

Expand
titleRequest

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:

Code Block
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:

Code Block
[
  "role1", "role2", "role3"
]
Expand
titleResponse

Code

Description

200

Successful response. Roles updated.

4xx

Bad request.

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

...

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

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

Expand
titleRequest

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:

Code Block
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:

Code Block
[
  "role1", "role2", "role3"
]

...