# Interface BimContainer

Represents a container. For example a project

interface BimContainer {
apiUrl: string;
availableLayerDefinitions: LayerDefinitions;
containerId: string;
containerType: string;
etag: string;
format: string;
hasGeometry: boolean;
id: string;
language: string;
lcid: Lcid;
mainProject?: string;
metadata: BimChangeBaseMetadata;
metadataProperties?: {
readonly [propertyName: string]: {
displayName?: string;
value?: string;
};
};
modifiedUtc: Date;
name: string;
navigationAttributes?: [string, string][];
ownerSystem: string;
path: string;
permissions: Permissions;
permissionsString: string;
serverRelativeUrl: string;
siteNumber?: string;
type: Container;
url: string;
version: number;
}

#### Hierarchy (View Summary)

- BimChangeBase
- AvailableLayerDefinitions
  - BimContainer

##### Index

### Properties

apiUrl
availableLayerDefinitions
containerId
containerType
etag
format
hasGeometry
id
language
lcid
mainProject?
metadata
metadataProperties?
modifiedUtc
name
navigationAttributes?
ownerSystem
path
permissions
permissionsString
serverRelativeUrl
siteNumber?
type
url
version

## Properties

### `Readonly` apiUrl

apiUrl: string

Contains base API URL to use when calling backend methods for this particular item.

Inherited from BimChangeBase.apiUrl

### `Readonly` availableLayerDefinitions

availableLayerDefinitions: LayerDefinitions

List of layers, that can be added to this change, together with the permission that the current user has for each of them.

Inherited from AvailableLayerDefinitions.availableLayerDefinitions

### `Readonly` containerId

containerId: string

Id of BimContainer to which this change belongs.

Inherited from BimChangeBase.containerId

### `Readonly` containerType

containerType: string

Type of container, for example "Project"

### `Readonly` etag

etag: string

etag for change. Used for optimistic concurrency checks and in operations where we want to check if data has changed or not since last etag we have.

Inherited from BimChangeBase.etag

### `Readonly` format

format: string

Format of change.

Inherited from BimChangeBase.format

### `Readonly` hasGeometry

hasGeometry: boolean

Whether or not there is any geometry in the container. If `true`, parsed IFC files exist that are accessible to the user.

### `Readonly` id

id: string

Id of change.

Inherited from BimChangeBase.id

### `Readonly` language

language: string

Language. Corresponds to lcid. Example: en-US

### `Readonly` lcid

lcid: Lcid

Container language

### `Optional` `Readonly` mainProject

mainProject?: string

Id of BimContainer that represents the main project.

### `Readonly` metadata

metadata: BimChangeBaseMetadata

Metadata for change.

Inherited from BimChangeBase.metadata

### `Optional` `Readonly` metadataProperties

metadataProperties?: {
readonly [propertyName: string]: {
displayName?: string;
value?: string;
};
}

Optional container metadata properties. May or may not be set.

### `Readonly` modifiedUtc

modifiedUtc: Date

Time in UTC

### `Readonly` name

name: string

Name of change.

Inherited from BimChangeBase.name

### `Optional` `Readonly` navigationAttributes

navigationAttributes?: [string, string][]

Navigation attributes in format [[title, value], ..., [title, value]]

### `Readonly` ownerSystem

ownerSystem: string

Id of system that the change originated from. If a change in Twinfinity was created because an external system pushed it into Twinfinity then the id will refer to that system. If change originates from Twinfinity (for example because a file was uploaded by a user) then the id will always be 'twinfinity'.

Inherited from BimChangeBase.ownerSystem

### `Readonly` path

path: string

Unique path for the change. Each change has one. If the change or one of its parents are renamed then the path will change.

Inherited from BimChangeBase.path

### `Readonly` permissions

permissions: Permissions

64 bit permission bitmask. Used to verify that a user has required permissions on a change. Since there is no native JSON support for bitmasks, the value is derived from permissionsString.

Inherited from BimChangeBase.permissions

### `Readonly` permissionsString

permissionsString: string

String used to represent the permissions bitmask.

Inherited from BimChangeBase.permissionsString

### `Readonly` serverRelativeUrl

serverRelativeUrl: string

Server relative URL of container

#### Deprecated

Use url instead.

### `Optional` `Readonly` siteNumber

siteNumber?: string

Site number

### `Readonly` type

type: Container

Indicates change is a container

### `Readonly` url

url: string

### `Readonly` version

version: number

Version of change

Inherited from BimChangeBase.version