Users

A user can be a Member of one or more Organizations. Only users who are also members of the organizations you manage are displayed

List Users

This function takes pagination parameters limit and offset to restrict the list of users.

An ordinary user only gets their own information and cannot retrieve information about the other users in the organization. Only an admin can retrieve the list of all users associated with the organization.

GET "https://account.ezeep.com/v1/users/"

Response attributes:

Attribute Type Description
id string uuid
email string email of the user
first_name string first name of the user
last_name string last name of the user
display_name string full name
date_joined string date (ISO 8601) of joining the ezeep cloud
azure_profile object azure profile
id_profile object if azure profile, then it will have an id
user_invitations list of objects list of email, expire_date and delivery_status of a user
roles list of strings admin or a user
is_verified boolean whether the user is verified

Example Request

curl  -X GET "https://account.ezeep.com/v1/users/" \
      --header "Authorization: Bearer <access_token>"

Example Response

{
  "count": 2,
  "next": null,
  "previous": null,
  "results": [
    {
      "id": "99e3ca15-fafc-4e37-a741-842e1ae4ad07",
      "email": "jane.doe@example.com",
      "first_name": "Jane",
      "last_name": "Doe",
      "display_name": "Jane Doe",
      "date_joined": "2021-05-21T11:32:27.796675Z",
      "azure_profile": null,
      "id_profile": null,
      "user_invitations": [
        {
          "id": "e142a76f-0179-4afd-818c-663a821c2e2e",
          "updated": "2021-05-21T11:32:27.817491Z",
          "email": "jane.doe@example.com",
          "expire_date": "2021-06-20T13:32:20.642000Z",
          "delivery_status": "SENT",
          "invitation_status": "EXPIRED"
        }
      ],
      "roles": ["user"],
      "is_verified": false
    },
    {
      "id": "9f2e2cc1-58ee-4426-998f-62644895f162",
      "email": "john.doe@example.com",
      "first_name": "John",
      "last_name": "Doe",
      "display_name": "John Doe",
      "date_joined": "2021-04-06T20:01:43.481259Z",
      "azure_profile": null,
      "id_profile": {
        "oid": "55555555-5555-4555-8555-555555555555",
        "preferred_username": "john.doe@example.com",
        "name": ""
      },
      "user_invitations": null,
      "roles": ["admin"],
      "is_verified": true
    }
  ]
}

Get Specific User Information

To get the details of a specific user, send a request with the user id.

GET "https://account.ezeep.com/v1/users/<id>/"
Attribute Type Required Description
id string yes uuid of the user (path parameter)

Response attributes:

Attribute Type Description
id string uuid
email string email of the user
first_name string first name of the user
last_name string last name of the user
display_name string full name
date_joined string date (ISO 8601) of joining the ezeep cloud
azure_profile object azure profile
id_profile object if azure profile, then it will have an id
user_invitations list of objects list of email, expire_date and delivery_status of a user
roles list of strings admin or a user
is_verified boolean whether the user is verified

Example Request

curl  -X GET "https://account.ezeep.com/v1/users/99e3ca15-fafc-4e37-a741-842e1ae4ad07/" \
      --header "Authorization: Bearer <access_token>"

Example Response

{
  "id": "99e3ca15-fafc-4e37-a741-842e1ae4ad07",
  "email": "jane.doe@example.com",
  "first_name": "Jane",
  "last_name": "Doe",
  "display_name": "Jane Doe",
  "date_joined": "2021-05-21T11:32:27.796675Z",
  "azure_profile": null,
  "id_profile": null,
  "user_invitations": [
    {
      "id": "e142a76f-0179-4afd-818c-663a821c2e2e",
      "updated": "2021-05-21T11:32:27.817491Z",
      "email": "jane.doe@example.com",
      "expire_date": "2021-06-20T13:32:20.642000Z",
      "delivery_status": "SENT",
      "invitation_status": "EXPIRED"
    }
  ],
  "roles": ["user"],
  "is_verified": false
}

Invite Users

To invite a user, send an invitation request. The user then accepts the invitation.

POST "https://account.ezeep.com/v1/userinvitations/"
Attribute Type Required Description
id str no uuid
email str yes user_email
expire_date str yes YYYY-MM-DDThh:mm:ss
delivery_status str no info about delivery status verifying if request will be sent or not
invitation_status str no invitation is expired or accepted
Authorization str yes Bearer

Example Request

curl  -X POST "https://account.ezeep.com/v1/userinvitations/" \
      --header "Authorization: Bearer <access_token>" \
      --header "Content-Type: application/json" \
      --data "{
          \"email\": \"user@example.com\",
          \"expire_date\": \"2021-07-22T15:15:33\"
        }"

Example Response

{
  "id": "9c056c16-47db-4972-a132-39d14216c3e2",
  "updated": "2021-06-22T14:07:20.922318Z",
  "email": "user@example.com",
  "expire_date": "2021-07-22T15:15:33.761000Z",
  "delivery_status": "SENT",
  "invitation_status": "OPEN"
}

Check Total Invitation Send Requests

Lists the invitations sent from this account.

GET "https://account.ezeep.com/v1/userinvitations/"
Attribute Type Required Description
id str no uuid
email str no user_email
expire_date str no YYYY-MM-DDThh:mm:ss
delivery_status str no info about delivery status verifying if request will be sent or not
invitation_status str no invitation is expired or accepted
Authorization str yes Bearer

Example Request

curl  -X GET "https://account.ezeep.com/v1/userinvitations/" \
      --header "Authorization: Bearer <access_token>"

Example Response

{
  "count": 3,
  "next": null,
  "previous": null,
  "results": [
    {
      "id": "1a130f47-04ca-4bd9-aab8-1bdab5ba3447",
      "updated": "2021-06-22T13:17:15.565108Z",
      "email": "user@example.com",
      "expire_date": "2021-07-22T15:15:33.761000Z",
      "delivery_status": "SENT",
      "invitation_status": "ACCEPTED"
    },
    {
      "id": "074bf6b1-28b6-415b-826c-7d4480cde685",
      "updated": "2021-05-21T11:35:30.149403Z",
      "email": "user2@example.com",
      "expire_date": "2021-06-20T13:35:17.892000Z",
      "delivery_status": "SENT",
      "invitation_status": "EXPIRED"
    },
    {
      "id": "e142a76f-0179-4afd-818c-663a821c2e2e",
      "updated": "2021-05-21T11:32:27.817491Z",
      "email": "jane.doe@example.com",
      "expire_date": "2021-06-20T13:32:20.642000Z",
      "delivery_status": "SENT",
      "invitation_status": "EXPIRED"
    }
  ]
}

Update User Information

The only attributes the client can change are first_name, last_name, email and roles.

PATCH "https://account.ezeep.com/v1/users/<user_id>/"
Attribute Type Required Description
user_id string yes uuid of the user (path parameter)
first_name string no new first name of the user
last_name string no new last name of the user
email string no new email of the user
roles list of strings no ["admin"] or ["user"]

Example Request

curl  -X PATCH "https://account.ezeep.com/v1/users/44444444-4444-4444-8444-444444444444/" \
      --header "Authorization: Bearer <access_token>" \
      --header "Content-Type: application/json" \
      --data "{
          \"last_name\": \"Doe\",
          \"roles\" : [\"user\"]
        }"

Example Response

{
  "id": "44444444-4444-4444-8444-444444444444",
  "email": "alex.doe@example.com",
  "first_name": "Alex",
  "last_name": "Doe",
  "display_name": "Alex Doe",
  "date_joined": "2021-06-22T14:15:16.343893Z",
  "azure_profile": null,
  "id_profile": null,
  "user_invitations": [
    {
      "id": "6016428a-0185-4639-9aef-4ccf4e1718a3",
      "updated": "2021-06-22T14:15:16.364398Z",
      "email": "alex.doe@example.com",
      "expire_date": "2021-07-22T15:15:33Z",
      "delivery_status": "SENT",
      "invitation_status": "OPEN"
    }
  ],
  "roles": ["user"],
  "is_verified": false
}

Resend User Invitation

When the client sends an invitation to a user it generates a unique user_invitation id, which is totally different from user unique id. To resend the invitation the client needs the user invitation id.

PATCH "https://account.ezeep.com/v1/userinvitations/<invitation_id>/"
Attribute Type Required Description
invitation_id str yes uuid
email str no user_email
expire_date str no YYYY-MM-DDThh:mm:ss
delivery_status str no info about delivery status verifying if request will be sent or not
invitation_status str no invitation is expired or accepted
Authorization str yes Bearer

Example Request

curl  -X PATCH "https://account.ezeep.com/v1/userinvitations/e142a76f-0179-4afd-818c-663a821c2e2e/" \
      --header "Authorization: Bearer <access_token>" \
      --header "Content-Type: application/json" \
      --data "{
          \"email\": \"jane.doe@example.com\",
          \"expire_date\": \"2021-07-22T15:15:33Z\"
        }"

Example Response

{
    "id": "e142a76f-0179-4afd-818c-663a821c2e2e",
    "email": "jane.doe@example.com",
    "expire_date": "2021-07-22T15:15:33Z"
}

List Printing Settings of all Users

Lists the printing settings of all users and the groups each user belongs to.

GET "https://api2.ezeep.com/printing/v1/users/"
Attribute Type Required Description
id str no uuid
local_printing_enabled bool no local printing support
self_service_enabled bool no self service enabled
myprinters_enabled bool no printer selection in user portal
pull_printing_enabled bool no pull printing enabled
groups str no user associated with groups

Example Request

curl  -X GET "https://api2.ezeep.com/printing/v1/users/" \
      --header "Authorization: Bearer <access_token>"

Example Response

{
  "count": 4,
  "next": null,
  "previous": null,
  "results": [
    {
      "id": "99e3ca15-fafc-4e37-a741-842e1ae4ad07",
      "local_printing_enabled": false,
      "self_service_enabled": true,
      "myprinters_enabled": true,
      "groups": [{ "group_id": "e882245a-9619-4de8-87e4-28ccf25435cf" }]
    },
    {
      "id": "9f2e2cc1-58ee-4426-998f-62644895f162",
      "local_printing_enabled": false,
      "self_service_enabled": true,
      "myprinters_enabled": true,
      "groups": [{ "group_id": "22222222-2222-4222-8222-222222222222" }]
    },
    {
      "id": "a83b3e13-d69f-4e62-9073-cccae4e35bd9",
      "local_printing_enabled": false,
      "self_service_enabled": true,
      "myprinters_enabled": true,
      "groups": []
    },
    {
      "id": "44444444-4444-4444-8444-444444444444",
      "local_printing_enabled": false,
      "self_service_enabled": true,
      "myprinters_enabled": true,
      "groups": [{ "group_id": "22222222-2222-4222-8222-222222222222" }]
    }
  ]
}

Add Users to Groups

A user can be part of multiple groups. You need the user_id and the group_id.

This endpoint and Remove Users from Groups use the same URL and HTTP method. The groups array in the request body replaces the user’s current group memberships. If the user is already in group A and you want to add group B, send the group_id of both A and B. If you send only B, the user is removed from A.

PATCH "https://api2.ezeep.com/printing/v1/users/<user_id>/"
Attribute Type Required Description
id str yes uuid
local_printing_enabled bool no local printing support
self_service_enabled bool no self service enabled
myprinters_enabled bool no printer selection in user portal
pull_printing_enabled bool no pull printing enabled
groups str yes user associated with groups

Example Request

curl  -X PATCH 'https://api2.ezeep.com/printing/v1/users/44444444-4444-4444-8444-444444444444/' \
      --header "Authorization: Bearer <access_token>" \
      --header "Content-Type: application/json" \
      --data '{
          "groups":[
                  {"group_id":"22222222-2222-4222-8222-222222222222"},{"group_id":"bd63ffd9-6904-46ec-b271-b258a59f07a5"}
              ]
        }'

Example Response

{
  "id": "44444444-4444-4444-8444-444444444444",
  "local_printing_enabled": false,
  "self_service_enabled": true,
  "myprinters_enabled": true,
  "groups": [
    {
      "group_id": "bd63ffd9-6904-46ec-b271-b258a59f07a5"
    },
    {
      "group_id": "22222222-2222-4222-8222-222222222222"
    }
  ]
}

Remove Users from Groups

To remove a user from a group, send a groups list that omits that group’s group_id. In the following example, the user from the previous example keeps group 22222222-2222-4222-8222-222222222222 and is removed from group bd63ffd9-6904-46ec-b271-b258a59f07a5.

PATCH "https://api2.ezeep.com/printing/v1/users/<user_id>/"
Attribute Type Required Description
id str yes uuid
local_printing_enabled bool no local printing support
self_service_enabled bool no self service enabled
myprinters_enabled bool no printer selection in user portal
pull_printing_enabled bool no pull printing enabled
groups str yes user associated with groups

Example Request

curl  -X PATCH "https://api2.ezeep.com/printing/v1/users/44444444-4444-4444-8444-444444444444/" \
      --header "Authorization: Bearer <access_token>" \
      --header "Content-Type: application/json" \
      --data "{
          \"groups\":[
              {\"group_id\":\"22222222-2222-4222-8222-222222222222\"}
              ]
        }"

Example Response

{
  "id": "44444444-4444-4444-8444-444444444444",
  "local_printing_enabled": false,
  "self_service_enabled": true,
  "myprinters_enabled": true,
  "groups": [
    {
      "group_id": "22222222-2222-4222-8222-222222222222"
    }
  ]
}

Get Total Groups of a User

Returns the groups a user belongs to. A user can be part of more than one group.

GET "https://api2.ezeep.com/printing/v1/users/<id>/"
Attribute Type Required Description
id str yes uuid
local_printing_enabled bool no local printing support
self_service_enabled bool no self service enabled
myprinters_enabled bool no printer selection in user portal
pull_printing_enabled bool no pull printing enabled
groups str no user associated with groups

Example Request

curl  -X GET "https://api2.ezeep.com/printing/v1/users/0050a068-cc7b-4490-951a-06920a610ee5/" \
      --header "Authorization: Bearer <access_token>"

Example Response

{
  "id": "0050a068-cc7b-4490-951a-06920a610ee5",
  "local_printing_enabled": true,
  "self_service_enabled": true,
  "myprinters_enabled": false,
  "groups": [{ "group_id": "33333333-3333-4333-8333-333333333333" }]
}

Delete a User

Each user has a specific id; an admin can delete a specific user by using this user_id.

DELETE "https://account.ezeep.com/v1/users/<id>/"
Attribute Type Required Description
id string yes uuid of the user to delete (path parameter)

Example Request

curl  -X DELETE "https://account.ezeep.com/v1/users/0810f57c-6ce6-4ef0-badc-dcd121576b84/" \
      --header "Authorization: Bearer <access_token>"

If successful, returns 204 No Content.