Documentation

The ezeep API allows you to create and manage organizations and users on ezeep. This is typically done if you’re already managing users on a 3rd party system and plan to create and keep accounts in sync.

Getting Started

Introduction

ezeep’s API is organized around REST. Our API is designed to have predictable, resource-oriented URLs and uses HTTP response codes to indicate any API errors.

Specifically you can do the following via our API:

  • Create organizations
  • Create users
  • Assign roles to users
  • Create user groups
  • Assign users to groups and organizations

In order to start your API journey with ezeep, you need a Client ID and Client Secret. You can get your individual Client ID by becoming a partner at cloud-printing-alliance.com

Authentification

Ezeep uses the OAuth 2.0 Resource Owner Password Credentials Grant flow to provide access to the ezeep API. You must use your client ID, client Secret, username and password to request an access token, which then must be used within every request sent to the API.

These are the required parameters to get an access token:

  • client_id – your client ID
  • client_secret – your client secret
  • base_64_encoded_secret – your client credentials as string encoded in base64 in the format client_id:client_secret
  • grant_type – password is currently the only supported value
  • username – your username
  • password – your password

Authentification Sample

Description

To authenticate a user and receive an access token, you need to encode your cliend_id and client_secret in base64 in the following format as one string: client_id:client_secret
This will result in a BASE_64_ENCODED_SECRET that you can use the following way:

Endpoint

Method:
POST
Path:
/oauth/access_token/

Examples

Request

BASH
            curl -X POST 
  -H 'Authorization: Basic BASE_64_ENCODED_SECRET' \
  -F grant_type=password \
  -F username=jodoe \
  -F password=password \
  -F 'scope=printjobs:read printjobs:write hosts:read hosts:write printers:read printers:write documents:read documents:write documents:print documents:print:free identity:read identity:write'
        

Response

JSON
            {
    "access_token": "ACCESS_TOKEN",
    "token_type": "Bearer",
    "expires_in": 3600,
    "refresh_token": "REFRESH_TOKEN",
    "scope": "printjobs:read printjobs:write hosts:read hosts:write printers:read printers:write documents:read documents:write documents:print documents:print:free identity:read identity:write"
}
        

Organization & User Management

Organizations

Organizations contain printers, users and print policies and help you organizing these entities. You can assign users to organizations with an assignment. Each organization must have at least one administrator. To create an organization, you can just create an account at http://accounts.ezeep.com/auth/signup/

Create organisation

Endpoint

Method:
POST
Path:
/api/organizations/

Response Class

OrganizationSerializer {
name: string,
vat_number: string,
addresses: field,
webhooks: field,
user_groups: field,
url: field,
currency: choice,
level: integer,
uuid: string
}

Parameters

Name Parameter Type Data Type
name required form string
vat_number form string
addresses required form field
webhooks required form field
user_groups required form field
currency form choice

Examples

BASH
            curl -X POST \
  https://accounts.ezeep.com/api/organisations/ \
  -H 'Authorization: Basic ACCESS_TOKEN' \
  -F name=NAME \
  -F vat_number=VAT_NUMBER \
  -F addresses=ADDRESSES \
  -F webhooks=WEBHOOKS \
  -F user_groups=USER_GROUPS \
  -F currency=CURRENCY \
  -F post_paid={true|false}
        

Get all organizations a user is assigned to

Endpoint

Method:
GET
Path:
/api/organizations/

Response Class

OrganizationSerializer {
name: string,
vat_number: string,
addresses: field,
webhooks: field,
user_groups: field,
url: field,
currency: choice,
level: integer,
uuid: string
}

Examples

Request

BASH
            curl -X GET \
  https://accounts.ezeep.com/api/organizations/ \
  -H 'Authorization: Basic ACCESS_TOKEN'
        

Response

JSON
            {
    "count": 1,
    "next": null,
    "previous": null,
    "results": [
        {
            "name": "Cortado AG",
            "vat_number": "",
            "addresses": [ADDRESS],
            "webhooks": [WEBHOOK_URLs],
            "user_groups": [USER_GROUP_URLs],
            "url": "https://accounts.ezeep.com/api/organizations/95fa2a2d-5a4f-4dfd-ae73-75f20d320119/",
            "currency": "EUR",
            "level": 0,
            "uuid": "95fa2a2d-5a4f-4dfd-ae73-75f20d320119",
            "post_paid": false
        }
    ]
}
        

Create sub-organisation

Endpoint

Method:
PUT
Path:
/api/organizations/{pk}/

Response Class

OrganizationSerializer {
name: string,
vat_number: string,
addresses: field,
webhooks: field,
user_groups: field,
url: field,
currency: choice,
level: integer,
uuid: string
}

Parameters

Name Parameter Type Data Type
pk required path string
name required form string
vat_number form string
addresses required form field
webhooks required form field
user_groups required form field
currency form choice

Examples

BASH
            curl -X PUT \
  https://accounts.ezeep.com/api/organsations/pk \
  -H 'Authorization: Basic ACCESS_TOKEN' \
  -F name=NAME \
  -F vat_number=VAT_NUMBER \
  -F addresses=ADDRESSES \
  -F webhooks=WEBHOOKS \
  -F user_groups=USER_GROUPS \
  -F currency=CURRENCY \
  -F post_paid={true|false}
        

Get information about a sub-organisation

Endpoint

Method:
GET
Path:
/api/organizations/{pk}/

Response Class

OrganizationSerializer {
name: string,
vat_number: string,
addresses: field,
webhooks: field,
user_groups: field,
url: field,
currency: choice,
level: integer,
uuid: string
}

Parameters

Name Parameter Type Data Type
pk required path string

Examples

BASH
            curl -X GET \
  https://accounts.ezeep.com/api/organisations/pk \
  -H 'Authorization: Basic ACCESS_TOKEN'

        

Edit sub-organisation

Endpoint

Method:
PATCH
Path:
/api/organizations/{pk}/

Response Class

OrganizationSerializer {
name: string,
vat_number: string,
addresses: field,
webhooks: field,
user_groups: field,
url: field,
currency: choice,
level: integer,
uuid: string
}

Parameters

Name Parameter Type Data Type
pk required path string
name form string
vat_number form string
addresses form field
webhooks form field
user_groups form field
currency form choice

Examples

BASH
            curl -X POST \
  https://accounts.ezeep.com/api/organsations/pk \
  -H 'Authorization: Basic ACCESS_TOKEN' \
  -F name=NAME \
  -F vat_number=VAT_NUMBER \
  -F addresses=ADDRESSES \
  -F webhooks=WEBHOOKS \
  -F user_groups=USER_GROUPS \
  -F currency=CURRENCY \
  -F post_paid={true|false}
        

Delete sub-organisation

Endpoint

Method:
DELETE
Path:
/api/organizations/{pk}/

Response Class

OrganizationSerializer {
name: string,
vat_number: string,
addresses: field,
webhooks: field,
user_groups: field,
url: field,
currency: choice,
level: integer,
uuid: string
}

Parameters

Name Parameter Type Data Type
pk required path string

Examples

BASH
            curl -X DELETE \
  https://accounts.ezeep.com/api/organisations/pk \
  -H 'Authorization: Basic ACCESS_TOKEN'

        

Add postal information to organization

Endpoint

Method:
POST
Path:
/api/organizations/{parent_lookup_organization}/addresses/

Response Class

AddressSerializer {
name: string,
address_1: string,
address_2: string,
zip_code: string,
city: string,
us_state: string,
country: choice,
phone_number: string,
fax_number: string,
uuid: string
}

Parameters

Name Parameter Type Data Type
parent_lookup_organization required path string
name form string
address_1 form string
address_2 form string
zip_code form string
city form string
us_state form string
country form choice
phone_number form string
fax_number form string

Examples

BASH
            curl -X POST \
  https://accounts.ezeep.com/api/parent_lookup_organization/addresses \
  -H 'Authorization: Basic ACCESS_TOKEN' \
  -F name=NAME \
  -F address_1=ADDRESS_1 \
  -F address_2=ADDRESS_2 \
  -F zip_code=ZIP_CODE \
  -F city=CITY \
  -F us_state=US_STATE \
  -F country=COUNTRY \
  -F phone_number=PHONE_NUMBER \
  -F fax_number=FAX_NUMBER
        

Get postal information of organization

Endpoint

Method:
GET
Path:
/api/organizations/{parent_lookup_organization}/addresses/

Response Class

AddressSerializer {
name: string,
address_1: string,
address_2: string,
zip_code: string,
city: string,
us_state: string,
country: choice,
phone_number: string,
fax_number: string,
uuid: string
}

Parameters

Name Parameter Type Data Type
parent_lookup_organization required path string

Examples

BASH
            curl -X GET \
  https://accounts.ezeep.com/api/organisations/UUID/addresses \
  -H 'Authorization: Basic ACCESS_TOKEN'

        

Add postal information to sub-organization

Endpoint

Method:
PUT
Path:
/api/organizations/{parent_lookup_organization}/addresses/{pk}/

Response Class

AddressSerializer {
name: string,
address_1: string,
address_2: string,
zip_code: string,
city: string,
us_state: string,
country: choice,
phone_number: string,
fax_number: string,
uuid: string
}

Parameters

Name Parameter Type Data Type
parent_lookup_organization required path string
pk required path string
name form string
address_1 form string
address_2 form string
zip_code form string
city form string
us_state form string
country form choice
phone_number form string
fax_number form string

Examples

BASH
            curl -X PUT \
  https://accounts.ezeep.com/api/organizations/parent_lookup_organization/addresses/pk \
  -H 'Authorization: Basic ACCESS_TOKEN' \
  -F name=NAME \
  -F address_1=ADDRESS_1 \
  -F address_2=ADDRESS_2 \
  -F zip_code=ZIP_CODE \
  -F city=CITY \
  -F us_state=US_STATE \
  -F country=COUNTRY \
  -F phone_number=PHONE_NUMBER \
  -F fax_number=FAX_NUMBER
        

Get postal information of sub-organization

Endpoint

Method:
GET
Path:
/api/organizations/{parent_lookup_organization}/addresses/{pk}/

Response Class

AddressSerializer {
name: string,
address_1: string,
address_2: string,
zip_code: string,
city: string,
us_state: string,
country: choice,
phone_number: string,
fax_number: string,
uuid: string
}

Parameters

Name Parameter Type Data Type
parent_lookup_organization required path string
pk required path string

Examples

BASH
            curl -X GET \
  https://accounts.ezeep.com/api/organizations/parent_lookup_organization/addresses/pk \
  -H 'Authorization: Basic ACCESS_TOKEN'
        

Edit postal information of sub-organization

Endpoint

Method:
PATCH
Path:
/api/organizations/{parent_lookup_organization}/addresses/{pk}/

Response Class

AddressSerializer {
name: string,
address_1: string,
address_2: string,
zip_code: string,
city: string,
us_state: string,
country: choice,
phone_number: string,
fax_number: string,
uuid: string
}

Parameters

Name Parameter Type Data Type
parent_lookup_organization required path string
pk required path string
name form string
address_1 form string
address_2 form string
zip_code form string
city form string
us_state form string
country form choice
phone_number form string
fax_number form string

Examples

AUTO
            curl -X PATCH \
  https://accounts.ezeep.com/api/organisations/parent_lookup_organization/addresses/pk \
  -H 'Authorization: Basic ACCESS_TOKEN' \
  -F name=NAME \
  -F address_1=ADDRESS_1 \
  -F address_2=ADDRESS_2 \
  -F zip_code=ZIP_CODE \
  -F city=CITY \
  -F us_state=US_STATE \
  -F country=COUNTRY \
  -F phone_number=PHONE_NUMBER \
  -F fax_number=FAX_NUMBER
        

Delete postal information of sub-organization

Endpoint

Method:
DELETE
Path:
/api/organizations/{parent_lookup_organization}/addresses/{pk}/

Response Class

AddressSerializer {
name: string,
address_1: string,
address_2: string,
zip_code: string,
city: string,
us_state: string,
country: choice,
phone_number: string,
fax_number: string,
uuid: string
}

Parameters

Name Parameter Type Data Type
parent_lookup_organization required path string
pk required path string

Examples

BASH
            curl -X DELETE \
  https://accounts.ezeep.com/api/organisations/parent_lookup_organization/addresses/pk \ \
  -H 'Authorization: Basic ACCESS_TOKEN'
        

Single-sign-on for organization

Endpoint

Method:
POST
Path:
/api/organizations/{parent_lookup_organization}/single_sign_ons/

Response Class

SamlIdpConfigSerializer {
entityId: string,
identifier: string,
singleSignOnServiceUrl: url,
singleSignOnServiceBinding: choice,
singleLogoutServiceUrl: url,
singleLogoutServiceBinding: choice,
x509cert: string,
description: string,
uuid: string,
cert: field,
date_created: datetime
}

Parameters

Name Parameter Type Data Type
parent_lookup_organization required path string
entityId required form string
identifier required form string
singleSignOnServiceUrl required form url
singleSignOnServiceBinding required form choice
singleLogoutServiceUrl required form url
singleLogoutServiceBinding required form choice
x509cert required form string
description form string

Examples

BASH
            curl -X POST \
  https://accounts.ezeep.com/api/organisations/parent_lookup_organization/single_sign_ons \
  -H 'Authorization: Basic ACCESS_TOKEN' \
  -F entityId=ENTITYID \
  -F identifier=IDENTIFIER \
  -F singleSignOnServiceUrl=SINGLESIGNONSERVICEURL \
  -F singleSignOnServiceBinding=urn:oasis:names:tc:SAML:2.0:bindings:{HTTP-POST| HTTP-Redirect} \
  -F singleLogoutServieUrl=SINGLELOGOUTSERVICEURL \
  -F singleLogoutServiceBinding=urn:oasis:names:tc:SAML:2.0:bindings:{HTTP-POST| HTTP-Redirect} \
  -F x509cert=X509CERT \
  -F description=DESCRIPTION
        

Get information about single-sign-on

Endpoint

Method:
GET
Path:
/api/organizations/{parent_lookup_organization}/single_sign_ons/

Response Class

SamlIdpConfigSerializer {
entityId: string,
identifier: string,
singleSignOnServiceUrl: url,
singleSignOnServiceBinding: choice,
singleLogoutServiceUrl: url,
singleLogoutServiceBinding: choice,
x509cert: string,
description: string,
uuid: string,
cert: field,
date_created: datetime
}

Parameters

Name Parameter Type Data Type
parent_lookup_organization required path string

Examples

BASH
            curl -X GET \
  https://accounts.ezeep.com/api/organisations/parent_lookup_organization/single_sign_ons \
  -H 'Authorization: Basic ACCESS_TOKEN'
        

Single-sign-on for sub-organization

Endpoint

Method:
PUT
Path:
/api/organizations/{parent_lookup_organization}/single_sign_ons/{pk}/

Response Class

SamlIdpConfigSerializer {
entityId: string,
identifier: string,
singleSignOnServiceUrl: url,
singleSignOnServiceBinding: choice,
singleLogoutServiceUrl: url,
singleLogoutServiceBinding: choice,
x509cert: string,
description: string,
uuid: string,
cert: field,
date_created: datetime
}

Parameters

Name Parameter Type Data Type
parent_lookup_organization required path string
pk required path string
entityId required form string
identifier required form string
singleSignOnServiceUrl required form url
singleSignOnServiceBinding required form choice
singleLogoutServiceUrl required form url
singleLogoutServiceBinding required form choice
x509cert required form string
description form string

Examples

BASH
            curl -X PUT \
  https://accounts.ezeep.com/api/organisations/parent_lookup_organization/single_sign_ons \
  -H 'Authorization: Basic ACCESS_TOKEN' \
  -F entityId=ENTITYID \
  -F identifier=IDENTIFIER \
  -F singleSignOnServiceUrl=SINGLESIGNONSERVICEURL \
  -F singleSignOnServiceBinding=urn:oasis:names:tc:SAML:2.0:bindings:{HTTP-POST| HTTP-Redirect} \
  -F singleLogoutServieUrl=SINGLELOGOUTSERVICEURL \
  -F singleLogoutServiceBinding=urn:oasis:names:tc:SAML:2.0:bindings:{HTTP-POST| HTTP-Redirect} \
  -F x509cert=X509CERT \
  -F description=DESCRIPTION
        

Get information about single-sign-on for sub-organization

Endpoint

Method:
GET
Path:
/api/organizations/{parent_lookup_organization}/single_sign_ons/{pk}/

Response Class

SamlIdpConfigSerializer {
entityId: string,
identifier: string,
singleSignOnServiceUrl: url,
singleSignOnServiceBinding: choice,
singleLogoutServiceUrl: url,
singleLogoutServiceBinding: choice,
x509cert: string,
description: string,
uuid: string,
cert: field,
date_created: datetime
}

Parameters

Name Parameter Type Data Type
parent_lookup_organization required path string
pk required path string

Examples

BASH
            curl -X GET \
  https://accounts.ezeep.com/api/organisations/parent_lookup_organization/single_sign_ons/pk \
  -H 'Authorization: Basic ACCESS_TOKEN'
        

Edit single-sign-on for sub-organizations

Endpoint

Method:
PATCH
Path:
/api/organizations/{parent_lookup_organization}/single_sign_ons/{pk}/

Response Class

SamlIdpConfigSerializer {
entityId: string,
identifier: string,
singleSignOnServiceUrl: url,
singleSignOnServiceBinding: choice,
singleLogoutServiceUrl: url,
singleLogoutServiceBinding: choice,
x509cert: string,
description: string,
uuid: string,
cert: field,
date_created: datetime
}

Parameters

Name Parameter Type Data Type
parent_lookup_organization required path string
pk required path string
entityId form string
identifier form string
singleSignOnServiceUrl form url
singleSignOnServiceBinding form choice
singleLogoutServiceUrl form url
singleLogoutServiceBinding form choice
x509cert form string
description form string

Examples

BASH
            curl -X PATCH \
  https://accounts.ezeep.com/api/organisations/parent_lookup_organization/single_sign_ons/pk \
  -H 'Authorization: Basic ACCESS_TOKEN' \
  -F entityId=ENTITYID \
  -F identifier=IDENTIFIER \ 
  -F singleSignOnServiceUrl=SINGLESIGNONSERVICEURL \
  -F singleSignOnServiceBinding=urn:oasis:names:tc:SAML:2.0:bindings:{HTTP-POST| HTTP-Redirect} \
  -F singleLogoutServieUrl=SINGLELOGOUTSERVICEURL \
  -F singleLogoutServiceBinding=urn:oasis:names:tc:SAML:2.0:bindings:{HTTP-POST| HTTP-Redirect} \
  -F x509cert=X509CERT \
  -F description=DESCRIPTION
        

Delete single-sign-on for sub-organization

Endpoint

Method:
DELETE
Path:
/api/organizations/{parent_lookup_organization}/single_sign_ons/{pk}/

Response Class

SamlIdpConfigSerializer {
entityId: string,
identifier: string,
singleSignOnServiceUrl: url,
singleSignOnServiceBinding: choice,
singleLogoutServiceUrl: url,
singleLogoutServiceBinding: choice,
x509cert: string,
description: string,
uuid: string,
cert: field,
date_created: datetime
}

Parameters

Name Parameter Type Data Type
parent_lookup_organization required path string
pk required path string

Examples

BASH
            curl -X DELETE \
  https://accounts.ezeep.com/api/organisations/parent_lookup_organization/single_sign_ons/pk \
  -H 'Authorization: Basic ACCESS_TOKEN'
        

Users

Users are one of the base entities in our backend. We highly recommend to create an user account for each person that should have access to organization printers.

You can create users on ezeep through our API. You can also assign roles to users. ezeep has two types of user roles: Admin and End User. To create a user with Admin rights, you can specify this role as a function assignment. If no function assignment is set the account is an End User.

See /api/user_group_assignments to group users. See /api/assignments to assign users to an organization with a role/function.

Create new user

Endpoint

Method:
POST
Path:
/api/users/

Response Class

UserSerializer {
billing_code: string,
first_name: string,
is_frozen: boolean,
last_name: string,
email: email,
url: field,
organizations: field,
state: string,
uuid: string,
account_id: string
}

Parameters

Name Parameter Type Data Type
billing_code form string
first_name form string
last_name form string
email form email

Examples

BASH
            curl -X POST \
  https://accounts.ezeep.com/api/users/pk \
  -H 'Authorization: Basic ACCESS_TOKEN'
  -F email=EMAIL_ADDRESS
  -F last_name=LAST_NAME
  -F first_name=FIRST_NAME
  -F billing_code=BILLING_CODE
  -F password=PASSWORD
        

Get all users assigned to the admins organization

Endpoint

Method:
GET
Path:
/api/users/

Response Class

UserSerializer {
billing_code: string,
first_name: string,
is_frozen: boolean,
last_name: string,
email: email,
url: field,
organizations: field,
state: string,
uuid: string,
account_id: string
}

Examples

Request

BASH
            curl -X GET \
  https://accounts.ezeep.com/api/users/ \
  -H 'Authorization: Basic ACCESS_TOKEN'
        

Retrieve user data of a specific user

Endpoint

Method:
GET
Path:
/api/users/{pk}/

Response Class

UserSerializer {
billing_code: string,
first_name: string,
is_frozen: boolean,
last_name: string,
email: email,
url: field,
organizations: field,
state: string,
uuid: string,
account_id: string
}

Parameters

Name Parameter Type Data Type
pk required path string

Examples

Request

BASH
            curl -X GET \
  https://accounts.ezeep.com/api/users/UUID \
  -H 'Authorization: Basic ACCESS_TOKEN' \

        

Edit user data

Endpoint

Method:
PATCH
Path:
/api/users/{pk}/

Response Class

UserSerializer {
billing_code: string,
first_name: string,
is_frozen: boolean,
last_name: string,
email: email,
url: field,
organizations: field,
state: string,
uuid: string,
account_id: string
}

Parameters

Name Parameter Type Data Type
pk required path string
billing_code form string
first_name form string
last_name form string
email form email

Examples

BASH
            curl -X PATCH \
  https://accounts.ezeep.com/api/users/ \
  -H 'Authorization: Basic ACCESS_TOKEN'
  -F email=EMAIL_ADDRESS
  -F last_name=LAST_NAME
  -F first_name=FIRST_NAME
  -F billing_code=BILLING_CODE
  -F password=PASSWORD
        

Change user data

Endpoint

Method:
PUT
Path:
/api/users/{pk}/

Response Class

UserSerializer {
billing_code: string,
first_name: string,
is_frozen: boolean,
last_name: string,
email: email,
url: field,
organizations: field,
state: string,
uuid: string,
account_id: string
}

Parameters

Name Parameter Type Data Type
pk required path string
billing_code form string
first_name form string
last_name form string
email form email

Examples

AUTO
            curl -X PUT \
  https://accounts.ezeep.com/api/users/pk/ \
  -H 'Authorization: Basic ACCESS_TOKEN'
  -F email=EMAIL_ADDRESS
  -F last_name=LAST_NAME
  -F first_name=FIRST_NAME
  -F billing_code=BILLING_CODE
  -F password=PASSWORD
        

Delete specific user

Endpoint

Method:
DELETE
Path:
/api/users/{pk}/

Response Class

UserSerializer {
billing_code: string,
first_name: string,
is_frozen: boolean,
last_name: string,
email: email,
url: field,
organizations: field,
state: string,
uuid: string,
account_id: string
}

Parameters

Name Parameter Type Data Type
pk required path string

Examples

BASH
            curl -X DELETE \
  https://accounts.ezeep.com/api/users/pk/ \
  -H 'Authorization: Basic ACCESS_TOKEN'
        

Assignments

An assignment is the link between a User and an Organization. With an assignment to an organization you enable the administrator of that organization to manage the user including categorizing the user into a group and allocating printers to them.

Usually you don’t need to add assignments manually. If you create a new user with an administrator of an organization, the user is automatically assigned to the administrators organization.

Function and Roles

Description

You can assign roles/functions to users. ezeep has two types of user roles: Admin and End User. The Admin role is a function assignment. If no function assignment is undertaken the account is an End User. If an Admin invites a user, the user is automatically assigned as an End User.

Admins: can print and manage users, groups and print policies. Also they are granted administrative capabilities like creating users and groups. An Admin can connect printers.
End-Users: End users primarily use ezeep to print and view their print history. An End User cannot connect printers or manage ezeep capabilities.

Get all assignments

Endpoint

Method:
GET
Path:
/api/assignments/

Response Class

AssignmentSerializer {
is_frozen: boolean,
user: field,
organization: field,
function: field,
uuid: string
}

Examples

Request

BASH
            curl -X GET \
  https://accounts.ezeep.com/api/assignments/ \
  -H 'Authorization: Bearer ACCESS_TOKEN' 
        

Create an assignment

Endpoint

Method:
POST
Path:
/api/assignments/

Response Class

AssignmentSerializer {
is_frozen: boolean,
user: field,
organization: field,
function: field,
uuid: string
}

Parameters

Name Parameter Type Data Type
user required form field
organization required form field
function form field

Examples

Request

BASH
            curl -X POST \
  https://accounts.ezeep.com/api/assignments/ \
  -H 'Authorization: Basic ACCESS_TOKEN' \
  -F user=USER \
  -F organization=ORGANISATION \
  -F function=FUNCTION
        

Change assignment

Endpoint

Method:
PUT
Path:
/api/assignments/{pk}/

Response Class

AssignmentSerializer {
is_frozen: boolean,
user: field,
organization: field,
function: field,
uuid: string
}

Parameters

Name Parameter Type Data Type
pk required path string
user required form field
organization required form field
function form field

Examples

BASH
            curl -X POST \
  https://accounts.ezeep.com/api/assignments/pk \
  -H 'Authorization: Basic ACCESS_TOKEN' \
  -F user=USER \
  -F organization=ORGANISATION \
  -F function=FUNCTION
        

Get a specific assignment

Endpoint

Method:
GET
Path:
/api/assignments/{pk}/

Response Class

AssignmentSerializer {
is_frozen: boolean,
user: field,
organization: field,
function: field,
uuid: string
}

Parameters

Name Parameter Type Data Type
pk required path string

Examples

BASH
            curl -X GET \
  https://accounts.ezeep.com/api/assignments/pk \
  -H 'Authorization: Basic ACCESS_TOKEN'

        

Edit assignment

Endpoint

Method:
PATCH
Path:
/api/assignments/{pk}/

Response Class

AssignmentSerializer {
is_frozen: boolean,
user: field,
organization: field,
function: field,
uuid: string
}

Parameters

Name Parameter Type Data Type
pk required path string
user form field
organization form field
function form field

Examples

BASH
            curl -X PATCH \
  https://accounts.ezeep.com/api/assignments/pk \
  -H 'Authorization: Basic ACCESS_TOKEN' \
  -F user=USER \
  -F organization=ORGANISATION \
  -F function=FUNCTION
        

Delete assignment

Endpoint

Method:
DELETE
Path:
/api/assignments/{pk}/

Response Class

AssignmentSerializer {
is_frozen: boolean,
user: field,
organization: field,
function: field,
uuid: string
}

Parameters

Name Parameter Type Data Type
pk required path string

Examples

AUTO
            curl -X DELETE \
  https://accounts.ezeep.com/api/assignments/pk \
  -H 'Authorization: Basic ACCESS_TOKEN' 
        

Send emails to users

Once a user is created, you can send them emails containing information for ezeep. This includes the invitation email to onboard the user or password reset emails.

Send welcome email

Endpoint

Method:
POST
Path:
/api/users/{pk}/send_welcome_email/

Response Class

UserSerializer {
billing_code: string,
first_name: string,
is_frozen: boolean,
last_name: string,
email: email,
url: field,
organizations: field,
state: string,
uuid: string,
account_id: string
}

Parameters

Name Parameter Type Data Type
pk required path string
billing_code form string
first_name form string
last_name form string
email form email

Send password reset email

Endpoint

Method:
POST
Path:
/api/users/{pk}/send_password_reset_email/

Response Class

UserSerializer {
billing_code: string,
first_name: string,
is_frozen: boolean,
last_name: string,
email: email,
url: field,
organizations: field,
state: string,
uuid: string,
account_id: string
}

Parameters

Name Parameter Type Data Type
pk required path string
billing_code form string
first_name form string
last_name form string
email form email

User Groups

Users can be segmented into groups. You can group any number of individual users inside an organization into user groups for easier user management. User groups are a core part of print policies. Certain groups typically have access to a number of printers and can print with certain rules. Users need to be categorized in groups to give them access to printers.

Create user group

Endpoint

Method:
POST
Path:
/api/organizations/{parent_lookup_organization}/user_groups/

Response Class

UserGroupSerializer {
is_frozen: boolean,
name: string,
uuid: string,
member_count: integer
}

Parameters

Name Parameter Type Data Type
parent_lookup_organization required path string
name required form string

Examples

AUTO
            curl -X POST \
  https://accounts.ezeep.com//api/organizations/parent_lookup_organization/user_groups/ \
  -H 'Authorization: Basic ACCESS_TOKEN'
  -F 'name=NAME'
        

Get all user groups from an organization

Endpoint

Method:
GET
Path:
/api/organizations/{parent_lookup_organization}/user_groups/

Response Class

UserGroupSerializer {
is_frozen: boolean,
name: string,
uuid: string,
member_count: integer
}

Parameters

Name Parameter Type Data Type
parent_lookup_organization required path string

Examples

BASH
            curl -X GET \
  https://accounts.ezeep.com//api/organizations/parent_lookup_organization/user_groups/ \
  -H 'Authorization: Basic ACCESS_TOKEN'
        

Get details to a specific user group

Endpoint

Method:
GET
Path:
/api/organizations/{parent_lookup_organization}/user_groups/{pk}/

Response Class

UserGroupSerializer {
is_frozen: boolean,
name: string,
uuid: string,
member_count: integer
}

Parameters

Name Parameter Type Data Type
parent_lookup_organization required path string
pk required path string

Examples

BASH
            curl -X POST \
  https://accounts.ezeep.com//api/organizations/parent_lookup_organization/user_groups/pk \
  -H 'Authorization: Basic ACCESS_TOKEN'
        

Change user group

Endpoint

Method:
PUT
Path:
/api/organizations/{parent_lookup_organization}/user_groups/{pk}/

Response Class

UserGroupSerializer {
is_frozen: boolean,
name: string,
uuid: string,
member_count: integer
}

Parameters

Name Parameter Type Data Type
parent_lookup_organization required path string
pk required path string
name required form string

Examples

BASH
            curl -X PUT \
  https://accounts.ezeep.com/api/organizations/parent_lookup_organization/user_groups/pk \
  -H 'Authorization: Basic ACCESS_TOKEN' \
  -F 'name=NAME'
        

Get specific user group

Endpoint

Method:
GET
Path:
/api/organizations/{parent_lookup_organization}/user_groups/{pk}/

Response Class

UserGroupSerializer {
is_frozen: boolean,
name: string,
uuid: string,
member_count: integer
}

Parameters

Name Parameter Type Data Type
parent_lookup_organization required path string
pk required path string

Examples

AUTO
            curl -X GET \
  https://accounts.ezeep.com/api/organizations/parent_lookup_organization/user_groups/pk \
  -H 'Authorization: Basic ACCESS_TOKEN' \
        

Edit user group

Endpoint

Method:
PATCH
Path:
/api/organizations/{parent_lookup_organization}/user_groups/{pk}/

Response Class

UserGroupSerializer {
is_frozen: boolean,
name: string,
uuid: string,
member_count: integer
}

Parameters

Name Parameter Type Data Type
parent_lookup_organization required path string
pk required path string
name form string

Examples

AUTO
            curl -X PATCH \
  https://accounts.ezeep.com/api/organizations/parent_lookup_organization/user_groups/pk \
  -H 'Authorization: Basic ACCESS_TOKEN' \
  -F 'name=NAME'
        

Delete user group

Endpoint

Method:
DELETE
Path:
/api/organizations/{parent_lookup_organization}/user_groups/{pk}/

Response Class

UserGroupSerializer {
is_frozen: boolean,
name: string,
uuid: string,
member_count: integer
}

Parameters

Name Parameter Type Data Type
parent_lookup_organization required path string
pk required path string

Examples

BASH
            curl -X DELETE \
  https://accounts.ezeep.com/api/organizations/parent_lookup_organization/user_groups/pk \
  -H 'Authorization: Basic ACCESS_TOKEN'

        

User Group Assignments

A User Group Assignment associates a user with a group. You need to create a user group assignment to add a user to a group. One user can be assigned to multiple groups at the same time.

Create a user group assigment

Endpoint

Method:
POST
Path:
/api/user_group_assignments/

Response Class

UserGroupAssignmentSerializer {
is_frozen: boolean,
user: field,
user_group: field,
uuid: string
}

Parameters

Name Parameter Type Data Type
user required form field
user_group required form field

Examples

Request

BASH
            curl -X POST \
  https://accounts.ezeep.com/api/user_group_assignments/ \
  -H 'Authorization: Basic ACCESS_TOKEN' \
  -F user=USER \
  -F user_group=USER_GROUP
        

Get all user group assignments

Endpoint

Method:
GET
Path:
/api/user_group_assignments/

Response Class

UserGroupAssignmentSerializer {
is_frozen: boolean,
user: field,
user_group: field,
uuid: string
}

Examples

Request

BASH
            curl -X GET \
  https://accounts.ezeep.com/api/user_group_assignments/ \
  -H 'Authorization: Basic ACCESS_TOKEN'
        

Get details to a specific user group assignment

Endpoint

Method:
GET
Path:
/api/user_group_assignments/{pk}/

Response Class

UserGroupAssignmentSerializer {
is_frozen: boolean,
user: field,
user_group: field,
uuid: string
}

Parameters

Name Parameter Type Data Type
pk required path string

Examples

Request

BASH
            curl -X GET \
  https://accounts.ezeep.com/api/user_group_assignments/pk/ \
  -H 'Authorization: Basic ACCESS_TOKEN'
        

Change user group assignment

Endpoint

Method:
PUT
Path:
/api/user_group_assignments/{pk}/

Response Class

UserGroupAssignmentSerializer {
is_frozen: boolean,
user: field,
user_group: field,
uuid: string
}

Parameters

Name Parameter Type Data Type
pk required path string
user required form field
user_group required form field

Examples

AUTO
            curl -X PUT \
  https://accounts.ezeep.com/api/user_group_assignments/pk/ \
  -H 'Authorization: Basic ACCESS_TOKEN' \
  -F user=USER \
  -F user_group=USER_GROUP
        

Edit user group assignment

Endpoint

Method:
PATCH
Path:
/api/user_group_assignments/{pk}/

Response Class

UserGroupAssignmentSerializer {
is_frozen: boolean,
user: field,
user_group: field,
uuid: string
}

Parameters

Name Parameter Type Data Type
pk required path string
user form field
user_group form field

Examples

BASH
            curl -X PATCH \
  https://accounts.ezeep.com/api/user_group_assignments/pk/ \
  -H 'Authorization: Basic ACCESS_TOKEN' \
  -F user=USER \
  -F user_group=USER_GROUP
        

Unassign a user from a group

Endpoint

Method:
DELETE
Path:
/api/user_group_assignments/{pk}/

Response Class

UserGroupAssignmentSerializer {
is_frozen: boolean,
user: field,
user_group: field,
uuid: string
}

Parameters

Name Parameter Type Data Type
pk required path string

Examples

AUTO
            curl -X DELETE \
  https://accounts.ezeep.com/api/user_group_assignments/pk/ \
  -H 'Authorization: Basic ACCESS_TOKEN'
        

Policies

A policy is a rule set to combine user groups, printer rules and printers in one place. It defines which users are allowed to print to which printers with which settings.

Print Job Reporting

ezeep Print API

ezeep Print API

We support a Print API that enables 3rd Party developers use the ezeep platform to fully integrate printers into their workflows. With the print API you are able to

  • Get printer information
  • Create new printers
  • Send documents and process them on the ezeep cloud
  • Retrieve processed print jobs and send them to your printers

If you are interested in checking out our ezeep Print API, just send us an email to service@ezeep.com