User Management
- Creating a User
- Listing Users
- User's detailed information
- Updating a User
- Deleting a User
- Creating a Team
- Listing Teams
- Team's detailed information
- Updating a Team
- Deleting a Team
- Creating an Office
- Listing Offices
- Office's detailed information
- Updating an Office
- Deleting an Office
- User structure reference
- Check Portal availability
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 Name | Type restrictions | Required? | Notes |
|---|---|---|---|
hash | String | Yes | Hash of the idibu account to which the request pertains. |
data | String | Yes | The 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 Name | Type restrictions | Required? | Notes |
|---|---|---|---|
hash | String | Yes | Hash of the idibu account to which the request pertains. |
count | Integer Default: 10 | No | Number of Users to return. |
offset | Integer Default: 0 | No | Numeric offset from where to start fetching Users (pagination). |
team-id | Integer | No | Returns only Users assigned to the Team with the provided ID. |
office-id | Integer | No | Returns 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 Name | Type restrictions | Required? | Notes |
|---|---|---|---|
hash | String | Yes | Hash 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 Name | Type restrictions | Required? | Notes |
|---|---|---|---|
hash | String | Yes | Hash of the idibu account to which the request pertains. |
data | String | Yes | The 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 Name | Type restrictions | Required? | Notes |
|---|---|---|---|
hash | String | Yes | Hash 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 Name | Type restrictions | Required? | Notes |
|---|---|---|---|
hash | String | Yes | Hash of the idibu account to which the request pertains. |
data | String | Yes | The 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 Name | Type restrictions | Required? | Notes |
|---|---|---|---|
hash | String | Yes | Hash of the idibu account to which the request pertains. |
count | Integer Default: 10 | No | Number of Teams to return. |
offset | Integer Default: 0 | No | Numeric offset from where to start fetching Teams (pagination). |
office-id | Integer | No | Returns 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 Name | Type restrictions | Required? | Notes |
|---|---|---|---|
hash | String | Yes | Hash 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 Name | Type restrictions | Required? | Notes |
|---|---|---|---|
hash | String | Yes | Hash of the idibu account to which the request pertains. |
data | String | Yes | The 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 Name | Type restrictions | Required? | Notes |
|---|---|---|---|
hash | String | Yes | Hash 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 Name | Type restrictions | Required? | Notes |
|---|---|---|---|
hash | String | Yes | Hash of the idibu account to which the request pertains. |
data | String | Yes | The 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 Name | Type restrictions | Required? | Notes |
|---|---|---|---|
hash | String | Yes | Hash of the idibu account to which the request pertains. |
count | Integer Default: 10 | No | Number of Offices to return. |
offset | Integer Default: 0 | No | Numeric 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 Name | Type restrictions | Required? | Notes |
|---|---|---|---|
hash | String | Yes | Hash 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 Name | Type restrictions | Required? | Notes |
|---|---|---|---|
hash | String | Yes | Hash of the idibu account to which the request pertains. |
data | String | Yes | The 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 Name | Type restrictions | Required? | Notes |
|---|---|---|---|
hash | String | Yes | Hash 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 Name | Type restrictions | Required? | Notes |
|---|---|---|---|
hash | String | Yes | Hash 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 Name | Type restrictions | Required? | Notes |
|---|---|---|---|
hash | String | Yes | Hash 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>