Skip to content

Users

Model & Relations

Namespace

App\User

Relations

RelationKeyTypeRelation Field(s)
RoleroleBelongs torole_id

Computed Properties

  • full_name - Concatenated from first_name and last_name
  • online - Wether the the User is online

List

Get a list of all Users.

Definition

GET /api/users

Example Request

php
$client = new GuzzleHttp\Client(['base_uri' => 'https://{tenant}.intratool.de']);
$response = $client->request('GET', '/api/users', [
    'headers' => ['Authorization' => "Bearer {accessToken}"]
]);

Example Response

json
[
  {
    "id": 3,
    "username": "usergroup.01",
    "first_name": "",
    "last_name": "",
    "active": true,
    "group_account": true,
    "role_id": 2,
    "profile_picture": null,
    "street": null,
    "zipcode": null,
    "city": null,
    "email": null,
    "phone": null,
    "birthdate": null,
    "gender": null,
    "entering_date": null,
    "leaving_date": null,
    "staff_number": null,
    "wants_email_notifications": false,
    "created_at": "2016-04-25 11:06:51",
    "updated_at": "2021-06-10 09:11:00",
    "password_updated_at": "2021-06-10 09:11:00",
    "deactivated_at": null,
    "deleted_at": null,
    "blacked_out_at": null,
    "default_route": null,
    "prevent_logout": false,
    "full_name": " "
  },
  {
    "id": 4,
    "username": "usergroup.02",
    "first_name": "",
    "last_name": "",
    "active": true,
    "group_account": true,
    "role_id": 3,
    "profile_picture": null,
    "street": null,
    "zipcode": null,
    "city": null,
    "email": null,
    "phone": null,
    "birthdate": null,
    "gender": null,
    "entering_date": null,
    "leaving_date": null,
    "staff_number": null,
    "wants_email_notifications": false,
    "created_at": "2016-04-25 11:06:51",
    "updated_at": "2021-06-10 09:11:00",
    "password_updated_at": "2021-06-10 09:11:00",
    "deactivated_at": null,
    "deleted_at": null,
    "blacked_out_at": null,
    "default_route": null,
    "prevent_logout": false,
    "full_name": " "
  }
]

List deleted Users

Get a list of all deleted Users.

Definition

GET /api/users/deleted

Example Request

php
$client = new GuzzleHttp\Client(['base_uri' => 'https://{tenant}.intratool.de']);
$response = $client->request('GET', '/api/users/deleted', [
    'headers' => ['Authorization' => "Bearer {accessToken}"]
]);

Example Response

json
[
  {
    "id": 3,
    "username": "usergroup.01",
    "first_name": "",
    "last_name": "",
    "active": false,
    "group_account": true,
    "role_id": 2,
    "profile_picture": null,
    "street": null,
    "zipcode": null,
    "city": null,
    "email": null,
    "phone": null,
    "birthdate": null,
    "gender": null,
    "entering_date": null,
    "leaving_date": null,
    "staff_number": null,
    "wants_email_notifications": false,
    "created_at": "2016-04-25 11:06:51",
    "updated_at": "2021-06-10 09:11:00",
    "password_updated_at": "2021-06-10 09:11:00",
    "deactivated_at": null,
    "deleted_at": "2021-06-12 09:13:00",
    "blacked_out_at": null,
    "default_route": null,
    "prevent_logout": false,
    "full_name": " "
  },
  {
    "id": 4,
    "username": "usergroup.02",
    "first_name": "",
    "last_name": "",
    "active": false,
    "group_account": true,
    "role_id": 3,
    "profile_picture": null,
    "street": null,
    "zipcode": null,
    "city": null,
    "email": null,
    "phone": null,
    "birthdate": null,
    "gender": null,
    "entering_date": null,
    "leaving_date": null,
    "staff_number": null,
    "wants_email_notifications": false,
    "created_at": "2016-04-25 11:06:51",
    "updated_at": "2021-06-10 09:11:00",
    "password_updated_at": "2021-06-10 09:11:00",
    "deactivated_at": null,
    "deleted_at": "2021-06-12 09:13:00",
    "blacked_out_at": null,
    "default_route": null,
    "prevent_logout": false,
    "full_name": " "
  }
]

Get

Get a single User by id.

Definition

GET /api/users/{id}

Example Request

php
$client = new GuzzleHttp\Client(['base_uri' => 'https://{tenant}.intratool.de']);
$response = $client->request('GET', '/api/users/3', [
    'headers' => ['Authorization' => "Bearer {accessToken}"]
]);

Example Response

json
{
  "id": 3,
  "username": "usergroup.01",
  "first_name": "",
  "last_name": "",
  "active": true,
  "group_account": true,
  "role_id": 2,
  "profile_picture": null,
  "street": null,
  "zipcode": null,
  "city": null,
  "email": null,
  "phone": null,
  "birthdate": null,
  "gender": null,
  "entering_date": null,
  "leaving_date": null,
  "staff_number": null,
  "wants_email_notifications": false,
  "created_at": "2016-04-25 11:06:51",
  "updated_at": "2021-06-10 09:11:00",
  "password_updated_at": "2021-06-10 09:11:00",
  "deactivated_at": null,
  "deleted_at": null,
  "blacked_out_at": null,
  "default_route": null,
  "prevent_logout": false,
  "full_name": " "
}

Create

Create a new User.

Definition

POST /api/users

Request Keys

KeyTypeDefaultDescription
username *string-The username of the User (min. 4 characters)
password *string-The password for the User (min. 6 characters)
first_name *string-First name of this User
last_name *string-Last name of this User
activebooleantrueWhether the User is active
group_accountboolean0Whether the User is a Group Account
role_id *integer-Related Role
request_password_changeboolean-Whether the password should be changed by the User on the next login
profile_picturefilenullA filestream containing the profile picture
streetstringnullStreet where the User lives at
zipcodestringnullZipcode of the city the User lives in
citystringnullCity where the User lives in
emailemailnullEmail of the User
phonestringnullPhone number of the User
birthdaydatenullBirthday of the User
genderstringnullGender of the User (female or male)
entering_datedatenullDate when the User enters/entered the company
leaving_datedatenullDate when the User leaves/left the company
staff_numberstringnullThe identification number of the User inside a company
wants_email_notificationsbooleantrueWhether the User get's notified about Notifications by email

Keys with * are required.

Example Request

php
$client = new GuzzleHttp\Client(['base_uri' => 'https://{tenant}.intratool.de']);
$response = $client->request('POST', '/api/users', [
    'headers' => ['Authorization' => "Bearer {accessToken}"],
    'json' => [
        'username' => 'jeremy.doe',
        'password' => 'jeremy.doe',
        'first_name' => 'Jeremy',
        'last_name' => 'Doe',
        'role_id' => 3
    ]
]);

Example Response

json
{
  "status": "success",
  "data": {
    "id": 5,
    "username": "jeremy.doe",
    "first_name": "Jeremy",
    "last_name": "Doe",
    "active": true,
    "group_account": false,
    "role_id": 3,
    "profile_picture": null,
    "street": null,
    "zipcode": null,
    "city": null,
    "email": null,
    "phone": null,
    "birthdate": null,
    "gender": null,
    "entering_date": null,
    "leaving_date": null,
    "staff_number": null,
    "wants_email_notifications": false,
    "created_at": "2021-11-01 23:39:04",
    "updated_at": "2021-11-01 23:39:04",
    "password_updated_at": null,
    "deactivated_at": null,
    "deleted_at": null,
    "blacked_out_at": null,
    "default_route": null,
    "prevent_logout": false,
    "full_name": "Jeremy Doe"
  }
}

Restore

Restore a deleted User by id.

Definition

POST /api/users/restore/{id}

Request Keys

KeyTypeDefaultDescription
role_idint-Paste a role_id if the user shall be restored with another role than he had on deletion

Example Request

php
$client = new GuzzleHttp\Client(['base_uri' => 'https://{tenant}.intratool.de']);
$response = $client->request('POST', '/api/users/restore/3', [
    'headers' => ['Authorization' => "Bearer {accessToken}"]
]);

Example Response

json
{
  "status": "success",
  "data": {
    "id": 5,
    "username": "jeremy.doe",
    "first_name": "Jeremy",
    "last_name": "Doe",
    "active": true,
    "group_account": false,
    "role_id": 3,
    "profile_picture": null,
    "street": null,
    "zipcode": null,
    "city": null,
    "email": null,
    "phone": null,
    "birthdate": null,
    "gender": null,
    "entering_date": null,
    "leaving_date": null,
    "staff_number": null,
    "wants_email_notifications": false,
    "created_at": "2021-11-01 23:39:04",
    "updated_at": "2021-11-01 23:40:48",
    "password_updated_at": null,
    "deactivated_at": null,
    "deleted_at": null,
    "blacked_out_at": null,
    "default_route": null,
    "prevent_logout": false,
    "full_name": "Jeremy Doe"
  }
}

Update

Update an existing User by id.

Definition

PUT /api/users/{id}

Request Keys

KeyTypeDescription
usernamestringThe username of the User (min. 4 characters)
passwordstringThe password for the User (min. 6 characters)
first_namestringFirst name of this User
last_namestringLast name of this User
activebooleanWhether the User is active
group_accountbooleanWhether the User is a Group Account
role_idintegerRelated Role
request_password_changebooleanWhether the password should be changed by the User on the next login
profile_picturefileA filestream containing the profile picture
streetstringStreet where the User lives at
zipcodestringZipcode of the city the User lives in
citystringCity where the User lives in
emailemailEmail of the User
phonestringPhone number of the User
birthdaydateBirthday of the User
genderstringGender of the User (female or male)
entering_datedateDate when the User enters/entered the company
leaving_datedateDate when the User leaves/left the company
staff_numberstringThe identification number of the User inside a company
wants_email_notificationsbooleanWhether the User get's notified about Notifications by email

Keys with * are required.

Example Request

php
$client = new GuzzleHttp\Client(['base_uri' => 'https://{tenant}.intratool.de']);
$response = $client->request('PUT', '/api/users/5', [
    'headers' => ['Authorization' => "Bearer {accessToken}"],
    'json' => [
        'role_id' => '2'
    ]
]);

Example Response

json
{
  "status": "success",
  "data": {
    "id": 73,
    "username": "jeremy.doe",
    "first_name": "Jeremy",
    "last_name": "Doe",
    "active": true,
    "group_account": false,
    "role_id": 2,
    "profile_picture": null,
    "street": null,
    "zipcode": null,
    "city": null,
    "email": null,
    "phone": null,
    "birthdate": null,
    "gender": null,
    "entering_date": null,
    "leaving_date": null,
    "staff_number": null,
    "wants_email_notifications": false,
    "created_at": "2021-11-01 23:39:04",
    "updated_at": "2021-11-01 23:42:12",
    "password_updated_at": null,
    "deactivated_at": null,
    "deleted_at": null,
    "blacked_out_at": null,
    "default_route": null,
    "prevent_logout": false,
    "full_name": "Jeremy Doe"
  }
}

Delete

Delete an existing User by id.

Deleted Users will be preserved so that they can be restored later on.

Definition

DELETE /api/users/{id}

Example Request

php
$client = new GuzzleHttp\Client(['base_uri' => 'https://{tenant}.intratool.de']);
$response = $client->request('DELETE', '/api/users/8', [
    'headers' => ['Authorization' => "Bearer {accessToken}"]
]);

Example Response

json
{
    "status": "success",
    "data": null
  }
}

Blackout

Blackout a User by id.

To remove the personal information of the user while preserving the content he created - a user can be blacked out.

Definition

DELETE /api/users/blackout/{id}

Example Request

php
$client = new GuzzleHttp\Client(['base_uri' => 'https://{tenant}.intratool.de']);
$response = $client->request('DELETE', '/api/users/blackout/8', [
    'headers' => ['Authorization' => "Bearer {accessToken}"]
]);

Example Response

json
{
  "status": "success",
  "data": {
    "id": 73,
    "username": "__73_1635806799",
    "first_name": "--",
    "last_name": "--",
    "active": false,
    "group_account": false,
    "role_id": 2,
    "profile_picture": null,
    "street": null,
    "zipcode": null,
    "city": null,
    "email": null,
    "phone": null,
    "birthdate": null,
    "gender": null,
    "entering_date": null,
    "leaving_date": null,
    "staff_number": null,
    "wants_email_notifications": false,
    "created_at": "2021-11-01 23:39:04",
    "updated_at": "2021-11-01 23:46:39",
    "password_updated_at": null,
    "deactivated_at": "2021-11-01 23:46:39",
    "deleted_at": "2021-11-01 23:43:41",
    "blacked_out_at": "2021-11-01 23:46:39",
    "default_route": null,
    "prevent_logout": false,
    "full_name": "-- --"
  }
}