# Interface BimChangeBlob

Represents a generic file that is not defined by other change types such as BimChangeIfc or BimChangeDwg.

interface BimChangeBlob {
apiUrl: string;
availableLayerDefinitions: LayerDefinitions;
blobId: string;
containerId: string;
discipline?: Discipline;
etag: string;
format: string;
id: string;
metadata: { serverRelativeUrl: string } & BimChangeBaseMetadata;
name: string;
ownerSystem: string;
path: string;
permissions: Permissions;
permissionsString: string;
type: Blob;
url: string;
version: number;
}

#### Hierarchy (View Summary)

- BimChangeBase
- BimChangeDiscipline
- AvailableLayerDefinitions
- ContentUrl
  - BimChangeBlob

##### Index

### Properties

apiUrl
availableLayerDefinitions
blobId
containerId
discipline?
etag
format
id
metadata
name
ownerSystem
path
permissions
permissionsString
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` blobId

blobId: string

Blob id of file (checksum of file contents).

### `Readonly` containerId

containerId: string

Id of BimContainer to which this change belongs.

Inherited from BimChangeBase.containerId

### `Optional` `Readonly` discipline

discipline?: Discipline

Discipline. Example A, K, V etc

Inherited from BimChangeDiscipline.discipline

### `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` id

id: string

Id of change.

Inherited from BimChangeBase.id

### `Readonly` metadata

metadata: { serverRelativeUrl: string } & BimChangeBaseMetadata

Metadata for the file.

#### Type declaration

- ##### `Readonly` serverRelativeUrl: string

  server relative path of file

Overrides BimChangeBase.metadata

### `Readonly` name

name: string

Name of change.

Inherited from BimChangeBase.name

### `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` type

type: Blob

### `Readonly` url

url: string

URL of change content. Points to the endpoint where the content of the change can be retrieved by a simple GET request.

Inherited from ContentUrl.url

### `Readonly` version

version: number

Version of change

Inherited from BimChangeBase.version