Table of contents
iTwins
Download API definition:
This operation is a Technical Preview and is available for testing purposes only. Do not use in production.
GET https://dev-api.bentley.com/itwins/{iTwinId}/repositories/{repositoryId}/resources[?$top][&$skip][&$search]

This endpoint will return the list of resources in the specified repository.

For example, if the repository Id is imodels then it will return the id and displayName of all iModels in the iTwin. It will only return iModels that the user has permission to view. It will also return capabilities.graphics.uri that can be used to locate graphics that can be displayed for the resource.

We do not recommend hardcoding the uri for the resources endpoint in your client code. Instead, use the capabilities.resources.uri property that is returned from the Get iTwin Repositories API.

Only these repositories support the resources endpoint:

  • iModels
  • RealityData
  • GeospatialFeatures
  • CesiumCuratedContent
  • PdfPlansets

Pagination

The resources endpoint supports pagination but some repositories may use a continuation token to paginate the results while others may use a top and skip approach. You do not need to worry about this detail if you use the _links.next property to get the next page of results. The _links.next property will only be present if there are more results.

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

The calling user must be a member of the specified iTwin. Use the Access Control API to manage an iTwin's members.

Request parameters

Name
Required?
Description
iTwinId
Yes

The iTwin Id

repositoryId
Yes

The repository Id

$top
No

The $top 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. This sets the page size and should not be confused with the X-Max-Return header.

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

$search
No

A case-insensitive search string. If you specify abc then the api will return any resource with abc anywhere in the displayName.

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.

Response 200 OK

OK

json
{
    "resources": [{
            "id": "1",
            "class": "CesiumCuratedContent",
            "type": "TERRAIN",
            "displayName": "Cesium World Terrain",
            "capabilities": {
                "graphics": {
                    "uri": "https://api.bentley.com/itwins/a6615cc6-823a-4587-8da8-478672523b7f/repositories/cesiumcuratedcontent/resources/1/graphics"
                }
            }
        },
        {
            "id": "3954",
            "class": "CesiumCuratedContent",
            "type": "IMAGERY",
            "displayName": "Sentinel-2",
            "capabilities": {
                "graphics": {
                    "uri": "https://api.bentley.com/itwins/a6615cc6-823a-4587-8da8-478672523b7f/repositories/cesiumcuratedcontent/resources/3954/graphics"
                }
            }
        },
        {
            "id": "96188",
            "class": "CesiumCuratedContent",
            "type": "3DTILES",
            "displayName": "Cesium OSM Buildings",
            "capabilities": {
                "graphics": {
                    "uri": "https://api.bentley.com/itwins/a6615cc6-823a-4587-8da8-478672523b7f/repositories/cesiumcuratedcontent/resources/96188/graphics"
                }
            }
        }
    ],
    "_links": {
        "self": {
            "href": "https://api.bentley.com/itwins/a6615cc6-823a-4587-8da8-478672523b7f/repositories/cesiumcuratedcontent/resources/resources"
        },
        "next": {
            "href": "https://api.bentley.com/itwins/a6615cc6-823a-4587-8da8-478672523b7f/repositories/cesiumcuratedcontent/resources/resources?$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 404 Not Found

This response indicates that the specified repository was not found.

json
{
    "error": {
        "code": "iTwinNotFound",
        "message": "Requested iTwin is not available."
    }
}

Response 422 Unprocessable Entity

Invalid request to get Repositories

json
{
    "error": {
        "code": "InvalidiTwinsRequest",
        "message": "Cannot query iTwin Repositories.",
        "details": [{
            "code": "InvalidValue",
            "message": "iTwinId contains an invalid value.",
            "target": "iTwinId"
        }]
    }
}

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.

links

URLs for the current request or getting the next page of results.

Name
Type
Description
self

URL for the current request.

next

URL for getting the next page of results. This will only exist if there is a next page.

link

Hyperlink container.

Name
Type
Description
href
String

Hyperlink container.

Resource

Name
Type
Description
id
String

The resource Id. For example, for the iModels repository, this would be an iModel Id. For the CesiumCuratedContent repository, this would be the content Id. Each repository defines it's own id format. Treat it as a string and do not assume it will be a GUID or integer.

type
String

The type of resource as specified by the repository. This is not a fixed list. The values are specific to each respository and not every repository will specify a resource type. In that case, the type property will not be included in the response.

displayName
String

The resource name that can be displayed to the user.

capabilities.graphics

GraphicsCapability

Name
Type
Description
uri
String

A uri containing the location of the graphics content. This value can be cached but be aware that it might change over time. Some might contain a SAS key that expires after some time.

ResourceClass

The resource class.

Name
Type
Description
iModels
String
RealityData
String
CesiumCuratedContent
String
GeospatialFeatures
String
PdfPlansets
String

ResourceArrayResponse

Name
Type
Description
resources

List of resources for the repository.

_links

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

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?