The Users API allows you to retrieve, create and delete Users on the platform.
This enables scenarios where users created/maintained in other systems (e.g. SAP, Salesforce) can be replicated through the platform automatically.
On the Cloud this API is available via SSL secured HTTPS connection using the REST GET, POST and DELETE verbs.
The format query string parameter controls the desired response format. Specify either xml or json.
To search for and retrieve multiple Users at once, use a GET with the search API found at:
/api/v2/user/search?format=xml/json
NOTE: This API end point implements pagination, and as such you must cater for this when you connect to our platform.
You can learn more about pagination in our API overview.
GET Request
The GET verb allows you to retrieve a single User, identified by its unique Id.
The required and optional parameters for a GET call to the Users API are outlined below.
Parameter Name | Data Type | Required | Description |
Format | String | Yes | Specifies the desired format of the response. |
CompanyId | Integer | Yes | Your unique Provider Id found on the Organisation Setup page of the secure website (under My Account) |
Integrationkey | String | Yes | Your unique Integration Key found on the Organisation Setup page of the secure website (under My Account) |
Id | GUID | Yes | The unique identifier of the User you wish to retrieve |
GET Response
The data returned from a User GET is provided as follows:
User Response (<UserResponse>)
Field Name | Data Type | Description |
User | User | The returned User object |
ResponseStatus | ResponseStatus | Details of any errors that may have occurred |
User (<User>)
Field Name | Data Type | Description |
Id | GUID | Unique identifier of the User. |
CompanyId | Integer | Your unique Company Id found on the Organisation Setup page of the secure website (under My Account). |
ExternalId | String | External identifier of the User. Used to link this User to external systems. Can be null/empty. |
FirstName | String | User's first name. |
LastName | String | User's last name. |
String | User's email address. | |
Status | String | Status of this User. Status options are: |
LastActivity | DateTime | Date and time the User's last activity on the platform. |
Folders | Array of GUID | Optional. Array of GUIDs for the respective folders that the User is permitted access to. |
Groups | Array of GUID | Optional. Array of GUIDs for the respective groups that the User belongs to. |
WebsiteRole | String | Optional. The website access role (if any) of this User. User – User has non-admin, editing access to the website ReadOnly – User has read-only access to the website |
UserDevices | UserDevices | List of UserDevice - the devices that this User has used to access the app. |
Password | String | The password to set for the User. |
DoNotEmail | Boolean | Whether or not to send the User an activation email. |
ResetPassword | Boolean |
|
IntegrationKey | String | Your unique Integration Key found on the Organisation Setup page of the secure website (under My Account) |
UserDevice (<UserDevice>)
Field Name | Data Type | Description |
Id | GUID | The unique identifier that our platform has assigned this device |
Hardware | String | Description of the device hardware |
OS | String | The operating system of the device |
OSVersion | String | The version number of the operating system |
Response Status (<ResponseStatus>)
Input Name | Data Type | Description |
ErrorCode | String | The error code/message for the failure |
Message | String | Description of the error |
Errors | Collection | Collection of ResponseErrors compiled during the request |
Response Error (<ResponseError>)
Input Name | Data Type | Description |
ErrorCode | String | The error code/message for the failure |
FieldName | String | Name of field involved in error, if any |
Message | String | Error message |
API Usage Example
Given that the API is REST based, you can access the API directly via your web browser to test it. Obviously for actual integration works, you will need to make a web request to the given REST URL and then parse the response.
Below is a simple GET example which gets a User, using XML format.
GET Request
/api/v2/user?email=test@somewhere.com&integrationkey=xxxxxxxxxxxx&companyid=1&format=xml
XML Response
<UserResponse> <ResponseStatus> <Errors> <ResponseError> <ErrorCode>String</ErrorCode> <FieldName>String</FieldName> <Message>String</Message> </ResponseError> </Errors> </ResponseStatus> <User> <CompanyId>0</CompanyId> <Email>String</Email> <ExternalId>String</ExternalId> <FirstName>String</FirstName> <Folders> <Id>00000000-0000-0000-0000-000000000000</Id> </Folders> <Groups> <Id>00000000-0000-0000-0000-000000000000</Id> </Groups> <Id>00000000-0000-0000-0000-000000000000</Id> <IntegrationKey>String</IntegrationKey> <LastActivity>0001-01-01T00:00:00</LastActivity> <LastName>String</LastName> <UserDevices> <UserDevice> <Hardware>String</Hardware> <Id>00000000-0000-0000-0000-000000000000</Id> <OS>String</OS> <OSVersion>String</OSVersion> </UserDevice> </UserDevices> <Status>String</Status> <WebsiteRole>String</WebsiteRole> </User> </UserResponse>