Documentation Center

Search for projects

Use search criteria to find the projects that you are looking for. This is particularly useful if you know a project by its name, not by its ID.

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.

API call

<protocol>://<ws-host>:<ws-port>/ws-api/v1/projects/search?token=<sessionId>

Details

  • POST 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)
  • Optional parameters: field, type, and criterion (all as part of a JSON body)

Available filters

You can add the filters as query string parameters or as key-value pairs in the header:
FilterDescription
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.
Examples:
  • <protocol>://<ws-host>:<ws-port>/ws-api/v1/projects/search?token=<sessionId>&excludedFields=name,description
  • <protocol>://<ws-host>:<ws-port>/ws-api/v1/projects/search?token=<sessionId>&fields=name,description&offset=10&limit=3

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/projects/search?token=<sessionId>&fields=id,targetLocale(id,countryCode)
  • <protocol>://<ws-host>:<ws-port>/ws-api/v1/projects/search?token=<sessionId>&excludedFields=id,targetLocale(id,countryCode)
In this case, the returned JSON contains only the fields you specified for each layer:
  • The ID and the target locale of each project.
  • Inside the target locale model, the ID and the country code of the target locale.
The same logic applies to the excludedFields filter.

Request body example

A screen shot that shows a possible JSON body for this call.

Available types: TEXT, INTEGER, DATE, PERCENTAGE, DURATION, LIST

Sample criteria:
  • ''value":"test"
  • "min":"1000"
  • "max":"1000"
  • "min":" 2018-01-12T07:25:50.47Z"
  • "max":" 2018-01-12T07:25:50.47Z"

Response

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

Error messages

MessageStatus code
Not valid JSON body sent400 Bad Request
No session token provided or invalid token401 Unauthorized