List Labs
const url = 'https://api.exolink.cloud/tenant/example/lab';const options = { method: 'GET', headers: { 'x-exo-fields': '["id","displayName"]', 'x-exo-filter': '["eq","profileId",3]', 'x-exo-sort': '["asc","displayName"]', Authorization: 'Bearer <token>' }};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://api.exolink.cloud/tenant/example/lab \ --header 'Authorization: Bearer <token>' \ --header 'x-exo-fields: ["id","displayName"]' \ --header 'x-exo-filter: ["eq","profileId",3]' \ --header 'x-exo-sort: ["asc","displayName"]'Get list of lab environments. Send Content-Type: text/csv to receive CSV.
With x-exo-fields, the computed fields status, health, reason and url are only returned when listed.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Tenant domain prefix
Header Parameters
Section titled “Header Parameters”JSON array of the fields to return
Example
["id","displayName"]JSON filter expression [operator, field, value]. Operators: eq, ne, gt, gte, lt, lte, in, nin,
like, ilike, nlike, nilike, null, nnull, and eqc, nec, gtc, gtec, ltc, ltec to compare two fields.
Combine expressions with ["and", ...] or ["or", ...].
Example
["eq","profileId",3]Page number, starting at 1. Applies together with x-exo-size.
Page size. Every returned row then carries __total, the number of matching rows.
JSON sort [direction, field] with direction asc or desc, or a list of them
Example
["asc","displayName"]Responses
Section titled “Responses”List of labs
Lab environment for testing and development
object
Lab ID
Tenant ID
Lab display name
Set when this lab is a hardcoded app rather than a designer-built flow (see GET /tenant/{tenantId}/app). Null for a classic lab.
Lab software version
Associated subscription ID
CPU units of the lab
Memory of the lab in MiB
Lab health status
Lab status, such as PENDING, RUNNING, STOPPED, PAUSED or DELETED
Why the lab is not healthy, if it is not
Set while the lab is paused
Lab access URL
Example
[ { "health": "healthy", "status": "RUNNING", "reason": "Lab is starting up" }]Missing, invalid or expired credentials
Error response. Some rejections carry only message.
object
Error message
Error code
Failed validations, for requests checked against a schema
object
Path of the invalid field
Example
{ "message": "Not authorized", "errorCode": "ERR_API_NOT_AUTHORIZED"}The caller may not perform this action
Error response. Some rejections carry only message.
object
Error message
Error code
Failed validations, for requests checked against a schema
object
Path of the invalid field
Example
{ "message": "Forbidden", "errorCode": "ERR_API_FORBIDDEN"}