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

Retrieves a list of iTwins that the calling user is a member of.

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
In
Required?
Description
subClass
query
Yes

Specify a particular subClass that you wish to query on.

status
query
No

Specify a particular status that you wish to query on.

type
query
No

Specify a particular type that you wish to query on.

number
query
No

Find all iTwins with the exact number specified. Cannot be used at the same time as the $search parameter.

displayName
query
No

Find all iTwins with the exact displayName specified. Cannot be used at the same time as the $search parameter.

parentId
query
No

Find all iTwins that are children of the specified parentId.

iTwinAccountId
query
No

Find all iTwins that are owned by the specified iTwinAccountId.

$search
query
No

Find all iTwins that have the search string anywhere in the number or displayName. Cannot be used at the same time as the number or displayName parameters.

$top
query
No

The $top system query option requests the number of items in the queried collection to be included in the result.

$skip
query
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
query
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
Prefer
No

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

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
{
    "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/?$skip=0&$top=10"
        },
        "next": {
            "href": "https://api.bentley.com/iTwins/?$skip=10&$top=10"
        }
    }
}

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": "InvalidParameter",
                "message": "$search cannot be used in conjuction with displayName or number.",
                "target": "$search"
            },
            {
                "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 user has sent too many requests in a given amount of time.

json
{
    "error": {
        "code": "TooManyRequests",
        "message": "More requests were received than the subscription rate-limit allows."
    }
}

Response headers

Name
Description
retry-after

The number of requests exceeds the rate-limit for the client subscription.

iTwin (summary)

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

TableSchema
Name
Type
Description
id
String

The iTwin Id.

class
String

The Class of your iTwin.

subClass
String

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.

iTwin

Full representation of a iTwin.

TableSchema
Name
Type
Description
id
String

The iTwin Id.

class
String

The Class of your iTwin.

subClass
String

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.

ianaTimeZone
String,null

An optional field specifying the time zone of the iTwin. This must be a valid IANA 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.

iTwins (prefer return=minimal)

A list of iTwins in the minimal representation format.

TableSchema
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.

TableSchema
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.

TableSchema
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.

TableSchema
Name
Type
Description
href
String

Hyperlink container.

iTwin Status

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

TableSchema
Name
Type
Description
No data.

Error

Contains error information.

TableSchema
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

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.

TableSchema
Name
Type
Description
error

Error information.