Table of contents
Schedules
Download API definition:
This API is a Technical Preview and is available for testing purposes only. Do not use in production.
GET https://dev-api.bentley.com/schedules/{scheduleId}/tasks/critical-path[?$top][&$continuationToken]

Retrieves a list of Task Ids that represent the Critical Path for the Schedule.

Critical Path calculation is complicated and might take a long time to compute, so if anything is changed to invalidate the Critical Path, the property isStale is returned true until the calculations are completed.

A Critical Path is the longest sequence of Tasks that must be completed to execute a project. This helps determening the shortest time possible to complete the project.

Authentication

Requires Authorization header with valid Bearer token for scope itwin-platform.

For more documentation on authorization and how to get access token visit OAUTH2 Authorization page.

Rate limits

All iTwin Platform API operations have a rate limit. For more documentation on that visit Rate limits and quotas page.

Request parameters

Name
Required?
Description
scheduleId
Yes

The unique identifier of the Schedule.

$top
No

The $top system query option requests the number of items in the queried collection to be included in the result. When $top parameter is not provided default is set to 100. $top value cannot exceed 10000.

$continuationToken
No

A token used for pagination to retrieve the next set of results. It indicates where the previous page of results ended, allowing you to fetch the subsequent batch of data.

Request headers

Name
Required?
Description
If-None-Match
No

A header that makes the request conditional. If the ETag of the requested resource or resource collection matches the provided value, a 304 (Not Modified) response is returned. For more information see the official documentation.

Authorization
Yes

OAuth access token with itwin-platform scope

Accept
Yes

Setting to application/vnd.bentley.itwin-platform.v1+json is recommended.

Response 200 OK

OK

json
{
    "criticalPath": [{
            "taskId": "1f93f0a2-236a-4abb-8297-3c5b4b26c0da"
        },
        {
            "taskId": "58295622-2b77-4620-a6f4-8cbf5838d252"
        }
    ],
    "isStale": false,
    "_links": {
        "self": {
            "href": "https://api.bentley.com/schedules/5e11b21e-cba2-48a8-a2c1-2977d2d373e0/tasks/critical-path?$top=2"
        },
        "next": {
            "href": "https://api.bentley.com/schedules/5e11b21e-cba2-48a8-a2c1-2977d2d373e0/tasks/critical-path?$top=2&$continuationToken=eyJQcmltYXJ5U2tpcFRva2VuIjoiMDAwNGE5MDAtM2UxYy00NGNlLThhMzktYWUxZWRlY2M1MWY0IiwiU2Vjb25kYXJ5U2tpcFRva2VuIjpudWxsfQ=="
        }
    }
}

Response headers

Name
Description
Continuation-Token

A token used for pagination to retrieve the next set of results. It indicates where the previous page of results ended, allowing you to fetch the subsequent batch of data.

ETag

A header that identifies a specific version of a resource or resource collection. For more information see the official documentation.

Response 400 Bad Request

The 400 (Bad Request) status code indicates that the request cannot be processed by the server due to a client error (e.g. malformed request syntax).

json
{
    "error": {
        "code": "InvalidSchedulesRequest",
        "details": [{
                "code": "InvalidValue",
                "message": "Top value is not positive, or exceeds maximum page size.",
                "target": "$top"
            },
            {
                "code": "InvalidValue",
                "message": "Provided continuation token is invalid.",
                "target": "$continuationToken"
            }
        ],
        "message": "The request contains invalid properties."
    }
}

Response 401 Unauthorized

This response indicates that request lacks valid authentication credentials. Access token might not been provided, issued by the wrong issuer, does not have required scopes or request headers were malformed.

json
{
    "error": {
        "code": "HeaderNotFound",
        "message": "Header Authorization was not found in the request. Access denied."
    }
}

Response 404 Not Found

This response indicates that the provided Schedule is not available.

json
{
    "error": {
        "code": "ScheduleNotFound",
        "message": "Requested Schedule is not available.",
        "target": "scheduleId"
    }
}

Response 429 Too many requests

This response indicates that the client sent more requests than allowed by this API for the current tier of the client.

json
{
    "error": {
        "code": "RateLimitExceeded",
        "message": "The client sent more requests than allowed by this API for the current tier of the client."
    }
}

Response headers

Name
Description
retry-after

Number of seconds to wait until client is allowed to make more requests.

CriticalPathResponse

List of Tasks belonging to the Critical Path.

Name
Type
Description
criticalPath

A List of Tasks belonging to the Critical Path.

isStale
Boolean

Is this Critical Path stale. The Critical Path becomes stale when changes were made to Tasks or Task Links but the Critical Path is still being calculated.

CriticalTask

Task which belongs to the Critical Path.

Name
Type
Description
taskId
String

The unique identifier of the Task.

Link

Hyperlink container.

Name
Type
Description
href
String

Hyperlink to the specific entity.

Paging Links

URLs for redoing the current request and/or getting the next page of results if applicable.

Name
Type
Description
self

Relative URL for redoing the current request.

next
Link, null

Relative URL for getting the next page of results.

DetailedError

Contains error information and an array of more specific errors.

Name
Type
Description
code
String

One of a server-defined set of error codes.

message
String

A human-readable representation of the error.

target
String, null

The target of the error.

details

Optional array of more specific errors.

Detailed Error Response

Gives details for an error that occurred while handling the request. Note that clients MUST NOT assume that every failed request will produce an object of this schema, or that all of the properties in the response will be non-null, as the error may have prevented this response from being constructed.

Name
Type
Description
error

Error Detailed information.

Error

Contains error information.

Name
Type
Description
code
String

One of a server-defined set of error codes.

message
String

A human-readable representation of the error.

target
String, null

The target of the error.

Error Response

Gives details for an error that occurred while handling the request. Note that clients MUST NOT assume that every failed request will produce an object of this schema, or that all of the properties in the response will be non-null, as the error may have prevented this response from being constructed.

Name
Type
Description
error

Error information.

Was this page helpful?