Matching results

User

Individual user, acts in the context of a company depending on the rights he has. A user can have access granted on several companies.

Read only fields are computed by AirVantage and can only be seen on response fragments sent by find, create, or edit requests.

Field Description Read Only Type
uid User's unique identifier. true uid
email User's email. Only an administrator or the user itself can change this field. It has to be unique. false string
name User's name. false string
password User's password. This field will not be returned in any response fragment. It must respect the following rules false string
phoneNumber User's phone number. A phone number must be provided when the company requires 2-factor authentication. A phone number must be set in international format and must respect the regexp ^(\+[1-9])[0-9]{0,18} false|true string
profile A simple view of the profile assigned to this user. It shows its uid and name. Can be null when this user is an administrator. true
company A simple view of the company this user belongs to. It shows its uid and name. true
picture References to a picture in three different sizes:
- Normal: keeps original image.
- Small : resized image to 32x32 pixels keeping the length/width ratio.
- icon : resized image to 16x16 pixels keeping the original length/width ratio.
true string

This is a complete representation of a User. This fragment can be used for create or edit requests. Please refer to the fields section to know which fields can be modified.

{
       "uid": "any_uid_string",
       "email": "any_email@domain.net",
       "password" : "any_password",
       "name": "any_string",
       "profile": {
      "uid": "any_uid_string",
      "name": "any_string"
       },
       "company": {
      "uid": "any_uid_string",
      "name": "any_string"
       },
       "picture": {
      "icon": "/users/any_uid_string/picture/icon",
      "normal": "/users/any_uid_string/picture/normal",
      "small": "/users/any_uid_string/picture/small"
       }
}

/api/v1/users/rights

Returns a list of rights assigned to the authenticated user. User rights are calculated based on their context.

Request

GET https://na.airvantage.net/api/v1/users/rights

Response
200 OK

HTTP/1.1 200 OK
Content-Type: application/json[][]
...
["entities.applications.view", "accountNetwork.users.createEdit"]
Name Description Use Default Type Operand
company The user's company. optional context company uid string =
Name Description
partner.unknown The user's company does not have any relationship with the specified company.
HTTP Method GET
Requires Authentication Yes
Rate Limited Yes
Headers None
Permissions None

/api/v1/users

Returns a paginated list of users with their complete details.

It is possible to restrain the result list using criteria parameters.

The fields parameter has to be defined in order to specify the attributes of the user which will be returned.
If fields parameter is missing, only the following attributes of the user are returned: uid, name, email.

More information about paging, filtering, and sorting here

Request

GET https://na.airvantage.net/api/v1/users?fields=uid,name,email,profile

Response
200 OK

HTTP/1.1 200 OK
Content-Type: application/json
{
   "items": [   {
      "uid": "1cb5e5fc9bc14fa584bfe417a91e7881",
      "name": "MyUser",
      "email": "myuser@airvantage.net",
      "profile": {
         "uid": "5a3e78ca0ea64d6a9bdaef5966e8b374",
         "name": "MyProfile"
      }
   }],
   "count": 1,
   "size": 1,
   "offset": 0
}
Name Description Use Default Type Operand
uid Find user whose uid match with the specified id. optional null uid string =
email Find users of which the email contains the specified string optional null string like
company The user's company. optional context company uid string =
name Find users of which the name contains the specified string optional null string like
profile Find users linked to a profile optional null uid string =
freetext Find users of which email, name, or profile name contains the specified string optional null string like
HTTP Method GET
Requires Authentication Yes
Rate Limited Yes
Headers None
Permissions accountNetwork.users.view
Order by name, email, profile
Fields uid, name, email, profile, company, picture

/api/v1/users/{uid}

Returns detailed information about the specified user.

Request

GET https://na.airvantage.net/api/v1/users/1
...

Response
200 OK

HTTP/1.1 200 OK
Content-Type: application/json
...
{
   "company": {
      "uid": "1",
      "name": "Sierra Wireless"
   },
   "uid": "1",
   "email": "administrator@airvantage.net",
   "picture": {
      "normal": "/users/1/picture/normal",
      "small": "/users/1/picture/small",
      "icon": "/users/1/picture/icon"
   },
   "name": "The Administrator",
   "profile": null
}
Name Description
user.unknown The specified uid does not match with any user.
HTTP Method GET
Requires Authentication Yes
Rate Limited Yes
Headers None
Permissions accountNetwork.users.view

/api/v1/users/current

Returns detailed information about the current user.

Request

GET https://na.airvantage.net/api/v1/users/current
...

Response
200 OK

HTTP/1.1 200 OK
Content-Type: application/json
...
{
   "company": {
      "uid": "1",
      "name": "Sierra Wireless"
   },
   "uid": "1",
   "email": "administrator@airvantage.net",
   "picture": {
      "normal": "/users/1/picture/normal",
      "small": "/users/1/picture/small",
      "icon": "/users/1/picture/icon"
   },
   "name": "The Administrator",
   "profile": null
}
Name Description
user.unknown No current user currentlty logged in.
HTTP Method GET
Requires Authentication Yes
Rate Limited Yes
Headers None
Permissions accountNetwork.users.view

/api/v1/users

Creates a new user. Email, name, password, and profile are required fields. phoneNumber is optional.

Request

POST https://na.airvantage.net/api/v1/users
Content-Type: application/json
...
// With content:
{
   "name":"Rodrigue",
   "email":"operator@airvantage.net",
   "password":"FCMM13r8m}pYu'E",
   "profile": {
     "uid":"ee81d84aec5b4d4397ead51b823b76a7"
   }
}

Response
200 OK

HTTP/1.1 200 OK
Content-Type: application/json
...
{
   "uid": "a86e9a3ff1df4a13b39c24f48f1967ed",
   "email": "operator@airvantage.net",
   "name": "Rodrigue",
   "phoneNumber" : null,
   "profile": {
      "uid": "ee81d84aec5b4d4397ead51b823b76a7",
      "name": "operator"
   },
   "company": {
      "uid": "6500ee29f8ed4e3991dff484b3ce3e73",
      "name": "Current Company Name"
   },
   "picture" : null
}
Name Description Use Default Type
company The company the new user will belong to. optional context company uid string
Name Description
user.not.unique.email Someone has already the specified email.
user.missing.email An email must be provided.
user.missing.name A name must be provided.
user.missing.password A password must be provided.
user.bad.format.email Provided string does not match the right email format.
user.bad.format.phone.number Provided string does not match the right phoneNumber format. See User overview fields for more information.
profile.missing A profile must be provided.
profile.unknown Provided profile does not exist.
password.invalid Provided password does not match the password strength rules.
value.too.long Provided name or email strings is bigger than 50 characters.
HTTP Method POST
Requires Authentication Yes
Rate Limited Yes
Headers None
Permissions administrator

/api/v1/users/{uid}

Edits user details. User details can be edited by an administrator or by the user himself. However if the user is not an administrator, the profile cannot be changed.

Request

PUT https://na.airvantage.net/api/v1/users/a86e9a3ff1df4a13b39c24f48f1967ed
Content-Type: application/json
...
// With content:
{
   "name" : "Rodrigue Dupont",
   "email" : "rodrigue@dupont.com",
   "password" : "xxxxxxx",
   "phoneNumber" : "+349854797415",
   "profile": {
     "uid":"63ee28685c8c4ad0a7e408f88abaffc4"
   }
}

Response
200 OK

...
{
   "uid": "a86e9a3ff1df4a13b39c24f48f1967ed",
   "email": "rodrigue@dupont.com",
   "name": "Rodrigue Dupont",
   "phoneNumber" : "+349854797415",
   "profile": {
      "uid": "63ee28685c8c4ad0a7e408f88abaffc4",
      "name": "user"
   },
   "company": {
      "uid": "6500ee29f8ed4e3991dff484b3ce3e73",
      "name": "Current Company Name"
   },
   "picture" : null
}
Name Description
user.unknown The specified uid does not match with any user.
user.not.authorize The user is not allowed to change its profile
user.not.unique.email Someone has already the specified email.
user.missing.email Provided email cannot be and empty string.
user.missing.name Provided name cannot be and empty string.
user.missing.password Provided password cannot be and empty string.
user.bad.format.email Provided string does not match the right email format.
user.bad.format.phone.number Provided string does not match the right phoneNumber format. See User overview fields for more information.
profile.unknown Provided profile does not exist.
password.invalid Provided password does not match the password strength rules.
value.too.long Provided name or email are bigger than 50 characters.
HTTP Method PUT
Requires Authentication Yes
Rate Limited Yes
Headers None
Permissions administrator/none

/api/v1/users/{uid}/picture

Uploads an image. The service creates 3 images in the fileStore for the uploaded one.

Uploaded images cannot be bigger than 750KB and dimensions have to be equals or less than 1024 px per side.

Request

POST https://na.airvantage.net/api/v1/users/1/picture
Content-Type: image/jpeg

// with an attached jpeg file
...

Response
200 OK

HTTP/1.1 200 OK
Name Description
user.unknown The specified uid does not match with any user.
invalid.format Expected formats are JPG or PNG.
image.invalid.dimension Images cannot have more than 1024 px per side.
file.too.large Images cannot be more than 750KB.
HTTP Method POST
Requires Authentication Yes
Rate Limited Yes
Headers Content-type: image/jpeg||png)
Permissions administrator/none

/api/v1/users/{uid}/picture/{name}

Gets one of the user pictures.

Request

GET https://na.airvantage.net/api/v1/users/1/picture/small

Response
200 OK

                            
Name Description
user.unknown The specified uid does not match with any user.
user.file.not.found The requested image does not exist.
HTTP Method GET
Requires Authentication Yes
Rate Limited Yes
Headers None
Permissions accountNetwork.user.view

/api/v1/users/{uid}

Deletes a user. If the user is the unique administrator of a company, it can't be deleted.

Request

DELETE https://na.airvantage.net/api/v1/users/a86e9a3ff1df4a13b39c24f48f1967ed

Response
200 OK

HTTP/1.1 200 OK
Name Description
user.unknown The specified uid does not match with any user.
user.unique.administrator At least one administrator must be set.
HTTP Method DELETE
Requires Authentication Yes
Rate Limited Yes
Headers None
Permissions administrator/none

/api/v1/users/{uid}/clients

Gets the list of all API clients authorized by this user.

Request

GET https://na.airvantage.net/api/v1/users/1/clients

Response
200 OK

HTTP/1.1 200 OK
Content-Type: application/json
...
[
    {
        "name": "Test",
        "description": "Api Client description",
        "uid": "ed5d212963d1487995758d7f3c2e4c5d",
        "pictureUrl": null
    }
]
Name Description
user.unknown The specified uid does not match with any user.
HTTP Method GET
Requires Authentication Yes
Rate Limited Yes
Headers None
Permissions accountNetwork.users.view

/api/v1/users/{uid}/clients

Revokes an API client from the list of authorized clients authorized by this user. This method returns the remaining API clients.

Request

DELETE https://na.airvantage.net/api/v1/users/a86e9a3ff1df4a13b39c24f48f1967ed/clients?apiClient=ed5d212963d1487995758d7f3c2e4c5d

Response
200 OK

HTTP/1.1 200 OK
Content-Type: application/json
...
[]
Name Description Use Default Type Operand
apiClients Coma separated list of API client Ids. required null uid list =
Name Description
user.unknown The specified uid does not match with any user.
HTTP Method DELETE
Requires Authentication Yes
Rate Limited Yes
Headers None
Permissions administrator/none
TOP