List planned work in a bounded window
const url = 'https://api.de.teamgrid.app/v1/planned-work?limit=50&start=2026-04-15T12%3A00%3A00Z&end=2026-04-15T12%3A00%3A00Z';const options = {method: 'GET', headers: {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.de.teamgrid.app/v1/planned-work?limit=50&start=2026-04-15T12%3A00%3A00Z&end=2026-04-15T12%3A00%3A00Z' \ --header 'Authorization: Bearer <token>'Returns a stable ascending keyset page from the credential cell. The cursor is bound to the workspace and complete filter set. Authorization filtering can produce an empty page with a non-null cursor.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Query Parameters
Section titled “Query Parameters”Opaque cursor returned in meta.page.nextCursor.
Inclusive window start. Together with end, limited to 366 days and years 2000–2100.
Inclusive window end. Together with start, limited to 366 days and years 2000–2100.
Filter by task id.
Filter by project id.
Filter by user id.
Responses
Section titled “Responses”A stable cursor page.
object
object
object
object
object
Example
{ "data": [ { "type": "plannedWork" } ]}The request is invalid.
object
object
object
object
Examplegenerated
{ "errors": [ { "code": "example", "detail": "example", "source": { "additionalProperty": "example" }, "status": "example", "title": "example" } ], "meta": { "requestId": "example" }}The bearer credential is missing, invalid, expired, or revoked.
object
object
object
object
Examplegenerated
{ "errors": [ { "code": "example", "detail": "example", "source": { "additionalProperty": "example" }, "status": "example", "title": "example" } ], "meta": { "requestId": "example" }}The credential has insufficient scope.
object
object
object
object
Examplegenerated
{ "errors": [ { "code": "example", "detail": "example", "source": { "additionalProperty": "example" }, "status": "example", "title": "example" } ], "meta": { "requestId": "example" }}The request conflicts with the current resource state.
object
object
object
object
Examplegenerated
{ "errors": [ { "code": "example", "detail": "example", "source": { "additionalProperty": "example" }, "status": "example", "title": "example" } ], "meta": { "requestId": "example" }}The credential or source exceeded its rate limit.
object
object
object
object
Examplegenerated
{ "errors": [ { "code": "example", "detail": "example", "source": { "additionalProperty": "example" }, "status": "example", "title": "example" } ], "meta": { "requestId": "example" }}Headers
Section titled “Headers”Minimum delay in seconds before retrying.
Maximum requests in the current window.
Requests remaining in the current window.
Unix time in milliseconds when the current window resets.
Request correlation identifier.
The cell-local application returned an invalid response.
object
object
object
object
Examplegenerated
{ "errors": [ { "code": "example", "detail": "example", "source": { "additionalProperty": "example" }, "status": "example", "title": "example" } ], "meta": { "requestId": "example" }}A required cell-local dependency is unavailable.
object
object
object
object
Examplegenerated
{ "errors": [ { "code": "example", "detail": "example", "source": { "additionalProperty": "example" }, "status": "example", "title": "example" } ], "meta": { "requestId": "example" }}