Documentation Center

Get project types

Get a list of project types for a specific client.

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 Management > User Setup > User Types, and then select your user type.

Prerequisites

To get the list of project types, you need to find out the ID of the client whose project types you want to retrieve. You can do this by making a GET call to the /clients endpoint.

API call

<protocol>://<ws-host>:<ws-port>/ws-api/v2/projectTypes?token=<sessionId>&clientId=<clientId>

Details

  • GET method
  • Content-Type in the header: application/json
  • Mandatory parameters: the session token (as a query string parameter or as a key-value pair in the header) and the clientId (as a query string parameter)

Available filters

You can add the filters as query string parameters or as key-value pairs in the header:
FilterDescription
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.
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.
resourceIds=<id1,id2,...,idN>The IDs of the project types that you want to retrieve.
Examples:
  • <protocol>://<ws-host>:<ws-port>/ws-api/v2/projectTypes?token=<sessionId>&clientId=<clientId>&fields=id,name
  • <protocol>://<ws-host>:<ws-port>/ws-api/v2/projectTypes?token=<sessionId>&clientId=<clientId>&excludedFields=name
  • <protocol>://<ws-host>:<ws-port>/ws-api/v2/projectTypes?token=<sessionId>&clientId=<clientId>&resourceIds=1404,1403
  • <protocol>://<ws-host>:<ws-port>/ws-api/v2/projectTypes?token=<sessionId>&clientId=<clientId>&limit=2

Advanced filtering

To reduce the amount of data in the result and to improve performance, you can perform the filtering deeper in the result tree structure. For example: <protocol>://<ws-host>:<ws-port>/ws-api/v2/projectTypes?token=<sessionId>&clientId=<clientId>&fields=id,name,sourceLocale(id,language(id,languageCode))

In this case, the returned JSON contains only the fields you specified for each layer:
  • The ID, the name, and the source locale of the project type.
  • The ID and the language model of the source locale.
  • Inside the language model, the ID and the code of the language.
The same logic applies to the excludedFields filter.

Response

A screen shot that shows a typical response to this call.

Error messages

MessageStatus code
Required filter clientId not provided, or invalid400 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 token401 Unauthorized
If the clientId does not exist in the system, no results are returned (200 OK).

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.