(Quick Reference)

4 Users - Reference Documentation

Version: 2.1

Table of Contents

4 Users

4.1 List

Service: list of users

Description: This web service returns a json list of users.

URL:

https://BASE_URL/api/VERSION/users

Method: GET

Parameters:

Pagination parameters:

NameDescriptionTypeRequiredPossible values
maxLimits the number of resources requested to return.Integerno 
offsetTells where to start returning records from the entire set of results.Integerno 
orderOrders ascending or descending.Integernoasc,desc
sortOrders the results by the specified field.Stringno 

The max parameter is set to 100 by default.

Filters parameters:

NameDescriptionTypeRequiredExample values
dateCreated_gtFilters by the resource's creation date time and operator greater thanDateno2016-08-15T14:52:48Z
dateCreated_gteFilters by the resource's creation date time and operator greater than or equalDateno 
dateCreated_ltFilters by the resource's creation date time and operator less thanDateno 
dateCreated_lteFilters by the resource's creation date time and operator less than or equalDateno 
lastUpdated_gtFilters by the resource's last-modified date time and operator greater thanDateno 
lastUpdated_gteFilters by the resource's last-modified date time and operator greater than or equalDateno 
lastUpdated_ltFilters by the resource's last-modified date time and operator less thanDateno 
lastUpdated_lteFilters by the resource's last-modified date time and operator less than or equalDateno 
referenceWildcard search by the resource's referenceStringnoreference=Ref-6* , reference=*ef-6 , reference=*ef-6*

Dates should be formatted as the ISO-8601 format (YYYY-MM-DDTHH:MM:SSZ)

Success Output

Success case: response.status=200

{
  "paging": {
    "total": 16,
    "max": 2,
    "offset": 0,
    "previous": null,
    "next": "/api/v1.0/users?max=2&offset=2&sort=dateCreated&order=asc"
  },
  "data": [
    {
      "id": 1,
      "email": "foobar@example.com",
      "firstName": "John",
      "lastName": "Doe",
      "reference": "emp05",
      "employee": {
        "id": 5,
        "href": "/api/v1.0/employees/5"
      },
      "enabled": true,
      "organization": "entity1",
      "dateCreated": "2015-12-15T08:55:36Z",
      "lastUpdated": "2016-07-22T09:20:29Z"
    },
	…
  ]
}

Failure Output

Failure case:response.status = 400
{
   "error": "invalid_param",
   "error_description": "The parameters [dateCreated_gta] you provided are not valid for this request."
}
{
    "error": "invalid_datetime_format",
    "error_description": "Invalid datetime filter (not ISO-8601 formatted): [2016-08-1Z]"
}

Failure case:response.status = 500
{
   "error": "server_error",
   "error_description": "Oops! Something went wrong..."
}

4.2 Show

Service: Show a user

Description: Returns the requested user in json format when successful. Returns a json response, describing the failure condition when unsuccessful.

URL:

https://BASE_URL/api/VERSION/users/{id}

URL with external_id:

https://BASE_URL/api/VERSION/users/reference/{id}

Method: GET

Parameters:

NameDescriptionTypeRequiredExample values
idThe unique ID of the desired userLong/Stringyes123

Success Output

Success case: response.status=200

{
      "id": 1,
      "email": "foobar@example.com",
      "firstName": "John",
      "lastName": "Doe",
      "reference": "emp05",
      "employee": {
        "id": 5,
        "href": "/api/v1.0/employees/5"
      },
      "enabled": true,
      "organization": "entity1",
      "dateCreated": "2015-12-15T08:55:36Z",
      "lastUpdated": "2016-07-22T09:20:29Z"
}

Failure Output

Failure case:response.status = 400
{
  "error": "invalid_param_type",
  "error_description": "The type of parameter id you provided is not valid for this request."
}

Failure case:response.status = 404
{
  "error": "not_found",
  "error_description": "The user with the id 100 doesn't exist."
}

4.3 Create

Service: Save a user

Description: This web service is used to add a new user object to the database

URL:

https://BASE_URL/api/VERSION/users

Method: POST

Request content type: application/json

Parameters:

NameDescriptionTypeRequiredExample values
email StringYes 
password StringYes 
enabledBy default, it is set to truebooleanno 
employeeIdThe ID of employeeLong/Stringyes 
sendEmailnotify the new userbooleanno 
useExternalIdBy default, it is set to false. set it to true if you want to use external ids.Booleannotrue , false

Success Output

Success case: response.status=201
{
    "id": 3,
    "email": "foobar@example.com",
    "firstName": "John",
    "lastName": "Doe",
    "reference": "Ref-01",
    "employee": {
      "id": 3,
      "href": "/api/v2.0/employees/3"
    },
    "enabled": true,
    "organization": "entity1",
    "dateCreated": "2017-01-18T17:18:36Z",
    "lastUpdated": "2017-02-16T17:59:09Z"
}

Failure Output

Failure case:response.status = 400
{
    "error": "missing_param",
    "error_description": "email parameter is missing"
}
{
  "error": "not_unique",
  "error_description": "email already used."
}
{
     "error": "save_failed",
     "error_description": "Failed to save instance"
}

Failure case:response.status = 404

{
  "error": "not_found",
  "error_description": "The employee with the id 1254 doesn't exist."
}

Failure case:response.status = 500
{
     "error": "server_error",
     "error_description": "Oops! Something went wrong..."
}

4.4 Update

Service: Update a user

Description: This web service is used to update a user object

URL:

https://BASE_URL/api/VERSION/users/{id}

URL with external_id:

https://BASE_URL/api/VERSION/users/reference/{id}

Method: PUT

Request content type: application/json

Parameters:

NameDescriptionTypeRequiredExample values
email Stringno 
password Stringno 
enabled booleanno 

Success Output

{

Success case: response.status=201
{
    "id": 3,
    "email": "foobar@example.com",
    "firstName": "John",
    "lastName": "Doe",
    "reference": "Ref-01",
    "employee": {
      "id": 3,
      "href": "/api/v2.0/employees/3"
    },
    "enabled": true,
    "organization": "entity1",
    "dateCreated": "2017-01-18T17:18:36Z",
    "lastUpdated": "2017-02-16T17:59:09Z"
}

Failure Output

Failure case:response.status = 400
{
  "error": "not_unique",
  "error_description": "email already used."
}
{
     "error": "save_failed",
     "error_description": "Failed to save instance"
}

Failure case:response.status = 404

{
  "error": "not_found",
  "error_description": "The user with the id 541 doesn't exist."
}

Failure case:response.status = 500
{
     "error": "server_error",
     "error_description": "Oops! Something went wrong..."
}