Get users
Get a list of the users defined on your system.
For security reasons, you need to perform a Login action before making any other public calls to the WorldServer API. The
sessionId in the response is your session token. Use this token in all the other calls that you make.
Also, make sure that you have the appropriate user type permissions to perform this API call. To view or update your permissions, in WorldServer, go to and then select your user type.
API call
<protocol>://<ws-host>:<ws-port>/ws-api/v1/users?token=<sessionId>
Details
- GET method
- Content-Type in the header:
application/json - Mandatory parameter: the session token (as a query string parameter or as a key-value pair in the header)
Available filters
You can add the filters as query string parameters or as key-value pairs in the header:
| Filter | Description |
|---|---|
| sortBy=<fieldName> | Use this filter in conjunction with the fields filter. If the fields you specified for sorting are not available, the results will not be sorted. |
| sortDirection=<asc|desc> | Ascending or descending. |
| fields=<fieldName1,fieldName2,…,fieldNameN> | The names of the fields to be included in the JSON response, separated by commas. Do not use in conjunction with the excludedFields filter. |
| excludedFields=<fieldName1,fieldName2,…,fieldNameN> | The names of the fields to be excluded from the JSON response, separated by commas. Do not use in conjunction with the fields filter. |
| offset=<number> | The zero-based starting index in the entire collection of the first item to return. |
| limit=<number> | The maximum number of collection items to return for a single request. By default, 30. The limit should be greater than or equal to 1. |
| localeId=<localeId> | The locale of the users that you want to retrieve. |
| workgroup=<workgroupName> | The name of the workgroup whose users you want to retrieve. |
Examples:
- <protocol>://<ws-host>:<ws-port>/ws-api/v1/users?token=<sessionId>&sortBy=username&sortDirection=asc
- <protocol>://<ws-host>:<ws-port>/ws-api/v1/users?token=<sessionId>&fields=id,username&sortBy=username&sortDirection=asc
- <protocol>://<ws-host>:<ws-port>/ws-api/v1/users?token=<sessionId>&excludedFields=name
- <protocol>://<ws-host>:<ws-port>/ws-api/v1/users?token=<sessionId>&limit=10&fields=id,username,groups
- <protocol>://<ws-host>:<ws-port>/ws-api/v1/users?token=<sessionId>&sortBy=creationDate&workgroup=renamed_default
Advanced filtering
To reduce the amount of data in the result and to improve performance, you can perform the filtering deeper in the project tree structure. For example: <protocol>://<ws-host>:<ws-port>/ws-api/v1/users?token=<sessionId>&fields=id,username,groups(id,name)
In this case, the returned JSON contains only the fields you specified for each layer:
- The ID, the user name, and the groups in which each user is included.
- The ID and the name of each group.
Response
Error messages
| Message | Status code |
|---|---|
| Limit not provided, or invalid (It has to be greater than or equal to 1.) | 400 Bad Request |
| Offset not provided, or invalid (It has to be greater than or equal to 1.) | 400 Bad Request |
| Optional filter localeId is invalid (If the ID is not a valid number.) | 400 Bad Request |
| Offset out of range. Collection has only n items (If the offset value is greater than n.) | 400 Bad Request |
| No session token provided or invalid token | 401 Unauthorized |
| Resource WORKGROUP (ID) not found | 404 Not Found |
| Resource LOCALE (ID) not found | 404 Not Found |
Troubleshooting
- Make sure that the endpoint you are calling is correct.
- Make sure that you are using the GET method for the call.
- Make sure that the Content-Type in the header is
application/json. - Make sure that your session token is correct and that it has not expired.