Table of contents
iModels
Download API definition:
POST https://qa-api.bentley.com/imodels/{id}/briefcases

Acquires a new Briefcase.

Briefcases are the local copies of iModel that users can acquire to work with the iModel. Users can make changes to their copy of iModel and then push them as a single Changeset file into iModelHub. For more information on Briefcases see working with Briefcases.

Note: The total number of Briefcases a single user can acquire is limited. The error code ResourceQuotaExceeded is returned when you exceed the limit. The current limit is 100 total briefcases.

The number of Briefcases a single user can acquire per minute is also limited. The error code RateLimitExceeded is returned when you exceed the limit. The current limit per minute is 100.

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

User must have imodels_read permission assigned at the iModel level. If iModel Role permissions at the iModel level are configured, then user must additionally have at least imodels_webview permission assigned at the iTwin level. If permissions at the iModel level are not configured, then user must have imodels_read permission assigned at the iTwin level.

Alternatively the user should be an Organization Administrator for the Organization that owns a given iTwin the iModel belongs to.

For more information please refer to Account Administrator documentation section on Access Control API documentation 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
id
Yes

iModel id

Request headers

Name
Required?
Description
Authorization
Yes

OAuth access token with itwin-platform scope

Accept
Yes

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

Content-Type
No

Indicates request body content type. Supported media type is application/json.

Request body

Briefcase (acquire)

Name
Type
Required?
Description
deviceName
String, null
No

Name of the device which will hold the briefcase.

Example

json
{
    "deviceName": "Device name"
}

Response 201 Created

Created

json
{
    "briefcase": {
        "id": "2",
        "briefcaseId": 2,
        "displayName": "#2 Device Name",
        "ownerId": "42101fba-847a-4f4e-85a8-a4bed89065e4",
        "acquiredDateTime": "2020-10-20T10:51:33.1700000Z",
        "fileSize": 2048,
        "deviceName": "Device Name",
        "application": null,
        "_links": {
            "owner": {
                "href": "https://api.bentley.com/imodels/5e19bee0-3aea-4355-a9f0-c6df9989ee7d/users/42101fba-847a-4f4e-85a8-a4bed89065e4"
            },
            "checkpoint": {
                "href": "https://api.bentley.com/imodels/5e19bee0-3aea-4355-a9f0-c6df9989ee7d/briefcases/checkpoint"
            }
        }
    }
}

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 403 Forbidden

User is not authorized to acquire a Briefcase.

json
{
    "error": {
        "code": "InsufficientPermissions",
        "message": "The user has insufficient permissions for the requested operation."
    }
}

Response 404 Not Found

Specified iModel was not found.

json
{
    "error": {
        "code": "iModelNotFound",
        "message": "Requested iModel is not available."
    }
}

Response 409 Conflict

iModel is not initialized and modify operations are not allowed.

json
{
    "error": {
        "code": "iModelNotInitialized",
        "message": "iModel is not initialized."
    }
}

Response 415 Unsupported Media Type

This response indicates that the user has specified not supported media type in the request.

json
{
    "error": {
        "code": "UnsupportedMediaType",
        "message": "Media Type is not supported."
    }
}

Response 422 Unprocessable Entity

The 422 (Unprocessable Entity) 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": "InvalidiModelsRequest",
        "message": "Cannot acquire Briefcase.",
        "details": [{
                "code": "InvalidValue",
                "message": "Provided 'deviceName' is not valid. The value exceeds allowed 255 characters.",
                "target": "deviceName"
            },
            {
                "code": "ResourceQuotaExceeded",
                "message": "Maximum number of Briefcases per user limit reached.",
                "innerError": {
                    "code": "MaximumNumberOfBriefcasesPerUser"
                }
            }
        ]
    }
}

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

Indicates how long the user agent should wait before making a follow-up request.

Briefcase Response

Container for Briefcase object.

Name
Type
Description
briefcase

Briefcase properties.

Briefcase (acquire)

Properties of the Briefcase to be acquired.

Name
Type
Description
deviceName
String, null

Name of the device which will hold the briefcase.

Briefcase

Briefcase is a file holding a copy of an iModel.

Name
Type
Description
id
String

Id of the Briefcase.

briefcaseId
Integer

Id of the Briefcase as an integer.

displayName
String

Display name of the Briefcase. Corresponds to id and deviceName properties.

acquiredDateTime
Date-time

Date when the Briefcase was acquired.

fileSize
Integer

DEPRECATED Size of the Briefcase in bytes.

deviceName
String, null

Name of the device which will hold the Briefcase.

ownerId
String

Id of the User owning Briefcase.

application

Information about the application that acquired the Briefcase.

_links

Contains the hyperlinks to the related data of the Briefcase.

Briefcase Links

Hyperlinks to Briefcase related data.

Name
Type
Description
owner

Information about the owner of the Briefcase.

checkpoint

Link to get latest Checkpoint for an iModel.

Link

Hyperlink container.

Name
Type
Description
href
String

Hyperlink to the specific entity.

Application

Information about the client application that is related to an entity.

Name
Type
Description
id
String

Id of the application.

name
String

Application name.

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.