Table of contents
iTwins
Download API definition:
GET https://api.bentley.com/itwins/recents[?subClass][&status][&type][&$top][&$skip][&includeInactive]

Retrieves a list of recently used iTwins for the calling user. A user can only have 25 recently used iTwins. They are returned in order with the most recently used iTwin first in the list.

When a user accesses your application you can use the Add iTwin to my recents API to mark the iTwin as recently used. If there are already 25 recents, then the oldest one will be removed to make room for the new one.

Inactive iTwins

iTwins with status=Inactive are not returned by default. This improves query performance and reduces clutter in user interfaces by filtering out unused iTwins. You should still provide a way for users to see their Inactive iTwins if they request them. In the API, you can do this by setting the status parameter or by using the includeInactive parameter.

If status=Inactive, the API will return only Inactive iTwins.
If includeInactive=true, the API will return all iTwins (Active, Trial and Inactive).

The includeInactive parameter is optional and defaults to false. A 422 error will be returned if you try to use a status parameter at the same time as the includeInactive parameter.

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.

Authorization

Any user can call this endpoint. It will only return iTwins that the user is a member of. Use the Access Control API to manage an iTwin's members.

Request parameters

Name
Required?
Description
subClass
No

Specify a particular subClass that you wish to query on. The subClass is optional but queries will be faster if specified and we recommend specifying it whenever possible. You can specify more than one by using a comma delimited string. Example: subClass=Asset,Project will find all Assets or Projects matching your query criteria.

status
No

Specify a particular status that you wish to query on.

type
No

Specify a particular type that you wish to query on.

$top
No

The $top system query option requests the number of items in the queried collection to be included in the result. The default is 100. The max is 1000.

$skip
No

The $skip query option requests the number of items in the queried collection that are to be skipped and not included in the result.

includeInactive
No

By default, the query will not return Inactive iTwins unless you set includeInactive=true. Cannot be used at the same time as the status parameter.

Request headers

Name
Required?
Description
Authorization
Yes

OAuth access token with itwin-platform scope

Accept
Yes

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

Prefer
No

Indicates a level of details in the response. Valid values are 'return=representation' or 'return=minimal'. The default is 'return=minimal'.

Response 200 OK

OK

json
{
    "iTwins": [{
            "id": "dc914a84-e0c9-40e2-9d14-faf5ed84147f",
            "class": "Endeavor",
            "subClass": "Project",
            "type": "Construction Project",
            "number": "00001-ds-3902795",
            "displayName": "White River"
        },
        {
            "id": "dd50fa65-ff23-4778-831b-c2caa5471a97",
            "class": "Endeavor",
            "subClass": "Project",
            "type": "Construction Project",
            "number": "f7sa7fas89d",
            "displayName": "Battle Creek 3"
        }
    ],
    "_links": {
        "self": {
            "href": "https://api.bentley.com/iTwins/recents?$skip=0&$top=100"
        },
        "prev": {
            "href": "https://api.bentley.com/iTwins/recents?$skip=0&$top=100"
        },
        "next": {
            "href": "https://api.bentley.com/iTwins/recents?$skip=100&$top=100"
        }
    }
}

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 422 Unprocessable Entity

Invalid request to get iTwins

json
{
    "error": {
        "code": "InvalidiTwinsRequest",
        "message": "Cannot query iTwins.",
        "details": [{
                "code": "InvalidValue",
                "message": "The $top query option must be a positive integer that does not exceed 1000.",
                "target": "$top"
            },
            {
                "code": "InvalidValue",
                "message": "The $skip query option must be a non-negative integer.",
                "target": "$skip"
            },
            {
                "code": "InvalidValue",
                "message": "A valid iTwin SubClass was not specified in the query.",
                "target": "subClass"
            },
            {
                "code": "InvalidValue",
                "message": "Status value is incorrect. Valid values are Active, Inactive and Trial.",
                "target": "status"
            },
            {
                "code": "InvalidParameter",
                "message": "The includeInactive parameter should not be used at the same time as the status parameter.",
                "target": "includeInactive"
            }
        ]
    }
}

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.

iTwin (summary)

Minimal representation of a iTwin that contains only id, class, subClass, type, number and displayName.

Name
Type
Description
id
String

The iTwin Id.

class

The Class of your iTwin.

subClass

The subClass your iTwin.

type
String, null

An open ended property to better define your iTwin's Type.

number
String

A unique number or code for the iTwin. This is the value that uniquely identifies the iTwin within your organization.

displayName
String

A display name for the iTwin.

status

Must be one of Active, Inactive or Trial. The default value is Active. By default, Inactive iTwins are not returned from the Get my iTwins API unless requested using the includeInactive parameter.

iTwin

Full representation of a iTwin.

Name
Type
Description
id
String

The iTwin Id.

class

The Class of your iTwin.

subClass

The subClass your iTwin.

type
String, null

An open ended property to better define your iTwin's Type.

number
String

A unique number or code for the iTwin. This is the value that uniquely identifies the iTwin within your organization.

displayName
String

A display name for the iTwin.

geographicLocation
String, null

An optional field specifying the location of the iTwin. This is typically an address or city.

latitude
Double, null

An optional field specifying the latitude of the iTwin.

longitude
Double, null

An optional field specifying the longitude of the iTwin.

ianaTimeZone
String, null

An optional field specifying the time zone of the iTwin. This must be a valid [IANA] (https://www.iana.org/time-zones) time zone id.

dataCenterLocation
String

The data center where the data for this iTwin will be persisted. Default is East US. Valid Values: East US, North Europe, West Europe, Southeast Asia, Australia East, UK South, Canada Central, Central India, Japan East.

status

Must be one of Active, Inactive or Trial. The default value is Active. By default, Inactive iTwins are not returned from the Get my iTwins API unless requested using the includeInactive parameter.

parentId
String, null

The Id of the parent of this iTwin. For example, a Project iTwin could be a child of an Asset iTwin.

iTwinAccountId
String, null

The Id of the Account that owns this iTwin. The Account is also the root of any iTwin hierarchy.

imageName
String, null

The name of the image. The name is unique and will only change if the image changes.

image
String, null

The URL of the image. This is a small, thumbnail image that was created using the Upload iTwin Image API. The URL will be valid for a minimum of 1 hour.

createdDateTime
Date-time

The date that the iTwin was created.

createdBy
String, null

The Id of the user that created the iTwin.

lastModifiedDateTime
Date-time

The date that the iTwin was last updated.

lastModifiedBy
String, null

The Id of the user that last updated the iTwin.

iTwins (prefer return=minimal)

A list of iTwins in the minimal representation format.

Name
Type
Description
iTwins

A list of iTwins in the minimal representation format.

_links

Contains the hyperlinks to the previous and next pages of results.

iTwins (prefer return=representation)

A list of iTwins in the full representation format.

Name
Type
Description
iTwins

A list of iTwins in the full representation format.

_links

Contains the hyperlinks to the previous and next pages of results.

links (paging)

URLs for redoing the current request, getting to the previous or next page of results, if applicable containg.

Name
Type
Description
self

URL for redoing the current request.

next

URL for getting the next page of results.

prev

URL for getting the previous page of results.

link

Hyperlink container.

Name
Type
Description
href
String

Hyperlink container.

iTwin Status

One of 'Active', 'Inactive', 'Trial'

Name
Type
Description
Active
String
Inactive
String
Trial
String

iTwin Class

The Class of your iTwin.

Name
Type
Description
Account
String
Thing
String
Endeavor
String

iTwin SubClass

The subClass your iTwin.

Name
Type
Description
Account
String
Portfolio
String
Asset
String
Program
String
Project
String
WorkPackage
String

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.