Skip to main content

User Management

This webservice allows managing Users, Teams, and Offices on a given account.

Please mind the following rules and limitations:

  • Account can have multiple Offices; a single Office can consist of multiple Teams, and each Team can consist of multiple Users.
  • A Team must always have a parent Office.
  • Users cannot be assigned directly to an Office - they can only be assigned to a Team.
  • Users can exist unassigned to any Team.

The webservice applies to sub-entities of Client (admin) accounts only. If you wish to manage Client accounts, please use the Service Management Webservice.


Creating a User

This method allows to create a new User profile on the Client account.

Endpoint

https://ws.idibu.com/ws/rest/v1/users

Available methods

POST /new

Creates a new User on the given Client account.

Query parameters

Parameter NameType restrictionsRequired?Notes
hashStringYesHash of the idibu account to which the request pertains.
dataStringYesThe full query XML (see the Query format below), URL-encoded within the parameter.

Query format

<idibu>
<profile>
<title>["Mr"|"Ms"|"Mrs"]</title> <!-- user's title -->
<firstname>[string]</firstname> <!-- user's first name -->
<lastname>[string]</lastname> <!-- user's last name -->
<company>[string]</company> <!-- company name -->
<team-id>[integer]</team-id> <!-- id of the team to which the user will be assigned; optional -->
<contacts>
<address>[string]</address> <!-- account's company address; optional -->
<address-line1>[string]</address-line1> <!-- address line 1 -->
<address-line2>[string]</address-line2> <!-- address line 2; optional -->
<address-line3>[string]</address-line3> <!-- address line 3 (County or State); optional -->
<country>[string]</country> <!-- the main country in which the company resides -->
<postcode>[string]</postcode> <!-- user's company postal code -->
<email>[string:email]</email> <!-- user's email address -->
<phone>[string]</phone> <!-- user's phone number -->
<fax>[string]</fax> <!-- user's fax number; optional -->
<www>[string:url]</www> <!-- the address of the company's website -->
</contacts>
</profile>
</idibu>

Response format

<idibu generator="idibu" version="1.0">
<response>
<message>[string]</message> <!-- 'User added' or an error message -->
<id>[integer]</id> <!-- ID of the new user -->
</response>
<status>["success"|"failed"]</status> <!-- whether the request succeeded or not -->
</idibu>

Listing Users

This method allows to list and filter Users on the given Client account.

Endpoint

https://ws.idibu.com/ws/rest/v1/users

Available methods

GET /

Returns a list of Users.

Query parameters

Parameter NameType restrictionsRequired?Notes
hashStringYesHash of the idibu account to which the request pertains.
countInteger

Default: 10
NoNumber of Users to return.
offsetInteger

Default: 0
NoNumeric offset from where to start fetching Users (pagination).
team-idIntegerNoReturns only Users assigned to the Team with the provided ID.
office-idIntegerNoReturns only Users assigned to Teams belonging under the Office with the provided ID.

Response format

<?xml version="1.0" encoding="utf8"?>
<idibu generator="idibu" version="1.0">
<response>
<users>
<user>
<id>[integer]</id> <!-- id of the user -->
<title>["Mr"|"Ms"|"Mrs"]</title> <!-- user's title -->
<firstname>[string]</firstname> <!-- user's first name -->
<lastname>[string]</lastname> <!-- user's last name -->
<company>[string]</company> <!-- company name -->
<team-id>[integer]</team-id> <!-- id of the team to which the user is assigned; 0 if unassigned -->
<contacts>
<address>[string]</address> <!-- account's company address -->
<address-line1>[string]</address-line1> <!-- address line 1 -->
<address-line2>[string]</address-line2> <!-- address line 2 -->
<address-line3>[string]</address-line3> <!-- address line 3 (County or State) -->
<country>[string]</country> <!-- the main country in which the company resides -->
<postcode>[string]</postcode> <!-- user's company postal code -->
<email>[string:email]</email> <!-- user's email address -->
<phone>[string]</phone> <!-- user's phone number -->
<fax>[string]</fax> <!-- user's fax number -->
<www>[string:url]</www> <!-- the address of the company's website -->
</contacts>
</user>
</users>
<total>[integer]</total> <!-- total number of users matching the current criteria -->
</response>
<status>["success"|"failed"]</status> <!-- whether the request succeeded or not -->
</idibu>

User's detailed information

This method returns full details of a particular User.

Endpoint

https://ws.idibu.com/ws/rest/v1/users/

Available methods

GET /[id]

Returns the full profile details and settings for the specified User.

You can use /users/admin to fetch the main admin user profile created alongside the Client account

Query parameters

Parameter NameType restrictionsRequired?Notes
hashStringYesHash of the idibu account to which the request pertains.

Response format

<idibu generator="idibu" version="1.0">
<response>
<profile>
<id>[integer]</id> <!-- user id -->
<title>["Mr"|"Ms"|"Mrs"]</title> <!-- user's title -->
<firstname>[string]</firstname> <!-- user's first name -->
<lastname>[string]</lastname> <!-- user's last name -->
<company>[string]</company> <!-- company name -->
<team-id>[integer]</team-id> <!-- id of the team to which the user is assigned; 0 if unassigned -->
<contacts>
<address>[string]</address> <!-- account's company address -->
<address-line1>[string]</address-line1> <!-- address line 1 -->
<address-line2>[string]</address-line2> <!-- address line 2 -->
<address-line3>[string]</address-line3> <!-- address line 3 (County or State) -->
<country>[string]</country> <!-- the main country in which the company resides -->
<postcode>[string]</postcode> <!-- user's company postal code -->
<email>[string:email]</email> <!-- user's email address -->
<phone>[string]</phone> <!-- user's phone number -->
<fax>[string]</fax> <!-- user's fax number -->
<www>[string:url]</www> <!-- the address of the company's website -->
</contacts>
</profile>
<settings>
<alerts>
<job-expiry>["On"|"Off"]</job-expiry>
<new-applicant>["On"|"Off"]</new-applicant>
</alerts>
</settings>
</response>
<status>["success"|"failed"]</status>
</idibu>

Updating a User

This method allows amending some of the User's details.

Endpoint

https://ws.idibu.com/ws/rest/v1/users/

Available methods

POST /[id]

Updates the profile details or settings of the specified User.

Provide only fields you wish to update in the XML body - fields left blank or omitted will not be changed.

Query parameters

Parameter NameType restrictionsRequired?Notes
hashStringYesHash of the idibu account to which the request pertains.
dataStringYesThe full query XML (see the Query format below), URL-encoded within the parameter.

Query format

<idibu>
<profile>
<title>["Mr"|"Ms"|"Mrs"]</title> <!-- user's title -->
<firstname>[string]</firstname> <!-- user's first name -->
<lastname>[string]</lastname> <!-- user's last name -->
<company>[string]</company> <!-- company name -->
<team-id>[integer]</team-id> <!-- id of the team to which the user will be assigned -->
<contacts>
<address>[string]</address> <!-- account's company address -->
<address-line1>[string]</address-line1> <!-- address line 1 -->
<address-line2>[string]</address-line2> <!-- address line 2 -->
<address-line3>[string]</address-line3> <!-- address line 3 (County or State) -->
<country>[string]</country> <!-- the main country in which the company resides -->
<postcode>[string]</postcode> <!-- user's company postal code -->
<email>[string:email]</email> <!-- user's email address -->
<phone>[string]</phone> <!-- user's phone number -->
<fax>[string]</fax> <!-- user's fax number -->
<www>[string:url]</www> <!-- the address of the company's website -->
</contacts>
</profile>
</idibu>

Response format

<idibu generator="idibu" version="1.0">
<response>
<message>[string]</message> <!-- 'User updated' or an error message -->
</response>
<status>["success"|"failed"]</status> <!-- whether the request succeeded or not -->
</idibu>

Deleting a User

This method allows fully removing a User profile from the Client account.

Endpoint

https://ws.idibu.com/ws/rest/v1/users

Available methods

DELETE /[id]

Removes the specified user from the system.

Query parameters

Parameter NameType restrictionsRequired?Notes
hashStringYesHash of the idibu account to which the request pertains.

Response format

<idibu generator="idibu" version="1.0">
<response>
<message>[string]</message> <!-- 'User has been deleted' or an error message -->
</response>
<status>["success"|"failed"]</status> <!-- whether the request succeeded or not -->
</idibu>

Creating a Team

This method allows to create a new Team on the Client account.

A Team must always belong to an Office.

Endpoint

https://ws.idibu.com/ws/rest/v1/teams

Available methods

POST /new

Creates a new Team on the given Client account.

Query parameters

Parameter NameType restrictionsRequired?Notes
hashStringYesHash of the idibu account to which the request pertains.
dataStringYesThe full query XML (see the Query format below), URL-encoded within the parameter.

Query format

<idibu>
<name>[string]</name> <!-- team name -->
<office-id>[integer]</office-id> <!-- id of the Office to which the Team will belong -->
</idibu>

Response format

<idibu generator="idibu" version="1.0">
<response>
<message>[string]</message> <!-- 'Team created' or an error message -->
<id>[integer]</id> <!-- ID of the new Team -->
</response>
<status>["success"|"failed"]</status> <!-- whether the request succeeded or not -->
</idibu>

Listing Teams

This method allows to list and filter Teams on the given Client account.

Endpoint

https://ws.idibu.com/ws/rest/v1/teams

Available methods

GET /

Returns a list of Teams.

Query parameters

Parameter NameType restrictionsRequired?Notes
hashStringYesHash of the idibu account to which the request pertains.
countInteger

Default: 10
NoNumber of Teams to return.
offsetInteger

Default: 0
NoNumeric offset from where to start fetching Teams (pagination).
office-idIntegerNoReturns only Teams belonging under the Office with the provided ID.

Response format

<?xml version="1.0" encoding="utf8"?>
<idibu generator="idibu" version="1.0">
<response>
<teams>
<team>
<id>[integer]</id> <!-- team id -->
<name>[string]</name> <!-- team name -->
<office-id>[integer]</office-id> <!-- id of the Office to which the Team belongs -->
</team>
</teams>
<total>[integer]</total> <!-- total number of Teams matching the current criteria -->
</response>
<status>["success"|"failed"]</status> <!-- whether the request succeeded or not -->
</idibu>

Team's detailed information

This method returns full details of a particular Team.

Endpoint

https://ws.idibu.com/ws/rest/v1/teams/

Available methods

GET /[id]

Returns the full details of the specified Team.

Query parameters

Parameter NameType restrictionsRequired?Notes
hashStringYesHash of the idibu account to which the request pertains.

Response format

<idibu generator="idibu" version="1.0">
<response>
<id>[integer]</id> <!-- team id -->
<name>[string]</name> <!-- team name -->
<office-id>[integer]</office-id> <!-- id of the Office to which the Team belongs -->
<contacts>
<need-authorization>No</need-authorization> <!-- deprecated, please ignore -->
</contacts>
</response>
<status>["success"|"failed"]</status> <!-- whether the request succeeded or not -->
</idibu>

Updating a Team

This method allows amending some of the Team's details.

Endpoint

https://ws.idibu.com/ws/rest/v1/teams/

Available methods

POST /[id]

Updates the name of the specified Team and/or reassigns it to a different Office.

Provide only fields you wish to update in the XML body - fields left blank or omitted will not be changed.

Query parameters

Parameter NameType restrictionsRequired?Notes
hashStringYesHash of the idibu account to which the request pertains.
dataStringYesThe full query XML (see the Query format below), URL-encoded within the parameter.

Query format

<idibu>
<name>[string]</name> <!-- team name -->
<office-id>[integer]</office-id> <!-- id of the Office to which the Team belongs -->
</idibu>

Response format

<idibu generator="idibu" version="1.0">
<response>
<message>[string]</message> <!-- 'Team updated' or an error message -->
</response>
<status>["success"|"failed"]</status> <!-- whether the request succeeded or not -->
</idibu>

Deleting a Team

This method allows fully removing a Team from the Client account.

When a Team is deleted, its Users become unassigned.

Endpoint

https://ws.idibu.com/ws/rest/v1/teams

Available methods

DELETE /[id]

Removes the specified Team from the system.

Query parameters

Parameter NameType restrictionsRequired?Notes
hashStringYesHash of the idibu account to which the request pertains.

Response format

<idibu generator="idibu" version="1.0">
<response>
<message>[string]</message> <!-- 'Team deleted' or an error message -->
</response>
<status>["success"|"failed"]</status> <!-- whether the request succeeded or not -->
</idibu>

Creating an Office

This method allows to create a new Office on the Client account.

Endpoint

https://ws.idibu.com/ws/rest/v1/offices

Available methods

POST /new

Creates a new Office on the given Client account.

Query parameters

Parameter NameType restrictionsRequired?Notes
hashStringYesHash of the idibu account to which the request pertains.
dataStringYesThe full query XML (see the Query format below), URL-encoded within the parameter.

Query format

<idibu>
<name>[string]</name> <!-- office name -->
<contacts>
<address>[string]</address> <!-- full address; optional -->
<address-line1>[string]</address-line1> <!-- address line 1 -->
<address-line2>[string]</address-line2> <!-- address line 2; optional -->
<address-line3>[string]</address-line3> <!-- address line 3 (County or State); optional -->
<country>[string]</country> <!-- the main country in which the office resides -->
<postcode>[string]</postcode> <!-- office postal code -->
<email>[string:email]</email> <!-- office email address -->
<phone>[string]</phone> <!-- office phone number -->
<fax>[string]</fax> <!-- office fax number; optional -->
<www>[string:url]</www> <!-- the address of the office's website -->
<company-name>[string]</company-name> <!-- company name -->
</contacts>
</idibu>

Response format

<idibu generator="idibu" version="1.0">
<response>
<message>[string]</message> <!-- 'Office created' or an error message -->
<id>[integer]</id> <!-- ID of the new Office -->
</response>
<status>["success"|"failed"]</status> <!-- whether the request succeeded or not -->
</idibu>

Listing Offices

This method allows to list Offices on the given Client account.

Endpoint

https://ws.idibu.com/ws/rest/v1/offices

Available methods

GET /

Returns a list of Offices.

Query parameters

Parameter NameType restrictionsRequired?Notes
hashStringYesHash of the idibu account to which the request pertains.
countInteger

Default: 10
NoNumber of Offices to return.
offsetInteger

Default: 0
NoNumeric offset from where to start fetching Offices (pagination).

Response format

<?xml version="1.0" encoding="utf8"?>
<idibu generator="idibu" version="1.0">
<response>
<offices>
<office>
<id>[integer]</id> <!-- office id -->
<name>[string]</name> <!-- office name -->
<contacts>
<address>[string]</address> <!-- full address -->
<address-line1>[string]</address-line1> <!-- address line 1 -->
<address-line2>[string]</address-line2> <!-- address line 2 -->
<address-line3>[string]</address-line3> <!-- address line 3 -->
<country>[string]</country> <!-- country -->
<postcode>[string]</postcode> <!-- postal code -->
<email>[string:email]</email> <!-- office email address -->
<phone>[string]</phone> <!-- office phone number -->
<fax>[string]</fax> <!-- office fax number -->
<www>[string]</www> <!-- office website -->
<company-name>[string]</company-name> <!-- company name -->
<need-authorization>No</need-authorization> <!-- deprecated, please ignore -->
</contacts>
</office>
</offices>
<total>[integer]</total> <!-- total number of Offices matching the current criteria -->
</response>
<status>["success"|"failed"]</status> <!-- whether the request succeeded or not -->
</idibu>

Office's detailed information

This method returns full details of a particular Office.

Endpoint

https://ws.idibu.com/ws/rest/v1/offices/

Available methods

GET /[id]

Returns the full details of the specified Office.

Query parameters

Parameter NameType restrictionsRequired?Notes
hashStringYesHash of the idibu account to which the request pertains.

Response format

<idibu generator="idibu" version="1.0">
<response>
<id>[integer]</id> <!-- office id -->
<name>[string]</name> <!-- office name -->
<contacts>
<address>[string]</address> <!-- full address -->
<address-line1>[string]</address-line1> <!-- address line 1 -->
<address-line2>[string]</address-line2> <!-- address line 2 -->
<address-line3>[string]</address-line3> <!-- address line 3 (County or State) -->
<country>[string]</country> <!-- the main country in which the office resides -->
<postcode>[string]</postcode> <!-- office postal code -->
<email>[string:email]</email> <!-- office email address -->
<phone>[string]</phone> <!-- office phone number -->
<fax>[string]</fax> <!-- office fax number -->
<www>[string:url]</www> <!-- the address of the office's website -->
<company-name>[string]</company-name> <!-- company name -->
<need-authorization>No</need-authorization> <!-- deprecated, please ignore -->
</contacts>
</response>
<status>["success"|"failed"]</status> <!-- whether the request succeeded or not -->
</idibu>

Updating an Office

This method allows amending some of the Office's details.

Endpoint

https://ws.idibu.com/ws/rest/v1/offices/

Available methods

POST /[id]

Updates the details of the specified Office.

Provide only fields you wish to update in the XML body - fields left blank or omitted will not be changed.

Query parameters

Parameter NameType restrictionsRequired?Notes
hashStringYesHash of the idibu account to which the request pertains.
dataStringYesThe full query XML (see the Query format below), URL-encoded within the parameter.

Query format

<idibu>
<name>[string]</name> <!-- office name -->
<contacts>
<address>[string]</address> <!-- full address -->
<address-line1>[string]</address-line1> <!-- address line 1 -->
<address-line2>[string]</address-line2> <!-- address line 2 -->
<address-line3>[string]</address-line3> <!-- address line 3 (County or State) -->
<country>[string]</country> <!-- the main country in which the office resides -->
<postcode>[string]</postcode> <!-- office postal code -->
<email>[string:email]</email> <!-- office email address -->
<phone>[string]</phone> <!-- office phone number -->
<fax>[string]</fax> <!-- office fax number -->
<www>[string:url]</www> <!-- the address of the office's website -->
</contacts>
</idibu>

Response format

<idibu generator="idibu" version="1.0">
<response>
<message>[string]</message> <!-- 'Office updated' or an error message -->
</response>
<status>["success"|"failed"]</status> <!-- whether the request succeeded or not -->
</idibu>

Deleting an Office

This method allows fully removing an Office from the Client account.

When an Office is deleted, its Teams are deleted as well.

Endpoint

https://ws.idibu.com/ws/rest/v1/offices

Available methods

DELETE /[id]

Removes the specified Office from the system.

Query parameters

Parameter NameType restrictionsRequired?Notes
hashStringYesHash of the idibu account to which the request pertains.

Response format

<idibu generator="idibu" version="1.0">
<response>
<message>[string]</message> <!-- 'Office deleted' or an error message -->
</response>
<status>["success"|"failed"]</status> <!-- whether the request succeeded or not -->
</idibu>

User structure reference

This method returns the list of all Offices, Teams, and Users on the account, detailing the full Office-Team-Profile structure.

Endpoint

https://ws.idibu.com/ws/rest/v1/users/structure

Available methods

GET /

Returns the Office-Team-User structure for the given Client account.

Query parameters

Parameter NameType restrictionsRequired?Notes
hashStringYesHash of the idibu account to which the request pertains.

Response format

<?xml version="1.0" encoding="UTF-8"?>
<idibu generator="idibu" version="1.0">
<response>
<unassigned>
<user id="[integer]" name="[string]" email="[string:email]"></user> <!-- ID, name, and email address of a User unassigned to any Team; can be multiple -->
</unassigned>
<offices>
<office id="[integer]" name="[string]"> <!-- ID and name of an Office; can be multiple -->
<team id="[integer]" name="[string]"> <!-- ID and name of a Team assigned to a given Office; can be multiple -->
<user id="[integer]" name="[string]" email="[string:email]"></user> <!-- ID, name, and email address of a User assigned to a given Team; can be multiple -->
</team>
</office>
</offices>
</response>
<status>["success"|"failed"]</status>
</idibu>

Check Portal availability

This method allows you to quickly check which Portals a User can post to and whether the User has the required logins and quota available.

This can be used to prepare a list of Portals the User can post to in a partner system.

Endpoint

https://ws.idibu.com/ws/rest/v1/users

Available methods

GET /[id]/portals-available

Returns the list of Portals available to the specified User.

Query parameters

Parameter NameType restrictionsRequired?Notes
hashStringYesHash of the idibu account to which the request pertains.

Response format

<?xml version="1.0" encoding="UTF-8"?>
<idibu generator="idibu" version="1.0">
<response>
<portals>
<portal id="[integer]"> <!-- Portal ID; refer to https://docs.idibu.com/docs/v2/webservices/portal-management -->
<name>[string]</name> <!-- Portal name -->
<quota>[integer]</quota> <!-- total assigned Quota; 0 indicates the User can't post to the given Portal; refer to https://docs.idibu.com/docs/v2/webservices/quota-management/ -->
<remaining_quota>[integer]</remaining_quota> <!-- currently remaining Quota; 0 indicates the User can't post to the given Portal; refer to https://docs.idibu.com/docs/v2/webservices/quota-management/ -->
<has_logins>["yes"|"no"]</has_logins> <!-- whether the User has active logins for the Portal; "no" indicates the User can't post to the given Portal; refer to https://docs.idibu.com/docs/v2/webservices/portal-management -->
<force_posting>["no"|"select"|"force"]</force_posting> <!-- refer to https://docs.idibu.com/docs/v2/webservices/portal-management#portal-additional-options -->
<!-- "no" - the User is not required to post to the given Portal -->
<!-- "select" - the Portal should be pre-selected for the User, with the ability to de-select -->
<!-- "force" - the Portal should be pre-selected for the User, with no possibility of de-selecting -->
</portal>
</portals>
</response>
<status>["success"|"failed"]</status>
</idibu>