Skip to main content

Operations

Operations on block model metadata


Create a block model

Block Model API

Version: 1.42.9

This endpoint is where you define the model type, size, origin point, and rotation to register the block model and create the initial version, which will contain the block model default columns:

  • For regular models: i, j, k, x, y, z, version_id

  • For fully sub-blocked and octree models: i, j, k, sidx, x, y, z, dx, dy, dz, version_id

  • For flexible models: i, j, k, start_si, start_sj, start_sk, end_si, end_sj, end_sk, x, y, z, dx, dy, dz, version_id

On a successful request, the server will respond with the details outlined in the BlockModelAndJobUrl object. The status of this job can be polled via a GET request to the job_url.

A minimum workspace role of Editor is required to use this endpoint.

Parameters

authorizationstring
Required

Example: "860be2f5-fe06-4c1b-ac8b-7d34d2b6d2ef"

ID of the workspace this call is scoped to. Represented as a v4 UUID.

Example: "bf1a040c-8c58-4bc2-bec2-c5ae7de8bd84"

ID of the organization this call is scoped to. Represented as a v4 UUID.

The rotation of the block model. Defined by a list of clockwise rotations around given axes.

The combined equation for the rotation is given by:

R_1 ... R_n A = B

where A is the location in the IJK space, B is the location in coordinate space, and R_i is the rotation matrix for the ith rotation.

For example, if the first rotation is a rotation of 15 degrees clockwise around the X axis, R_1 would be [[1, 0, 0], [0, cos(15), sin(15)], [0, -sin(15), cos(15)]].

Two rotations around the same axis cannot be consecutive items within the list of rotations.

Angle of rotation in degrees

Axis of rotation

commentstring | null
<= 250 chars

Example: "EPSG:3395"

Coordinate reference system used in the block model.

This may be an EPSG code, signified by the prefix 'EPSG:', or a coordinate system definition in WKT format. If an EPSG code is provided, it must be for a coordinate reference system with a length unit type (e.g. metre, or foot).

Description of the block model

Sets the default fill_subblocks value for this block model. It can be overridden at the time of an update. If this flag is true, then updates to a fully subblocked-model with update_type=merge, and geometry_change=true with missing sub-blocks will fill the missing sub-blocks with data from the parent block.

Lineage of the block model

xnumber
Required
ynumber
Required
znumber
Required

Name of the block model. This may not contain / nor \. Leading and trailing whitespace will be automatically removed.

Example: "/path/to/folder"

Path of the folder in Geoscience Object Service to create the reference object in.

This may not contain relative elements like . or ... It may not contain double slashes //, nor backslashes \, nor elements ending in ..

Block size

xnumber
Required
ynumber
Required
znumber
Required

Type of sub-blocking

Number of blocks for x, y and z axis. Total must not exceed 500,000,000.

nxinteger
Required

Range: <= 500,000,000

nyinteger
Required

Range: <= 500,000,000

nzinteger
Required

Range: <= 500,000,000

Type of sub-blocking

Number of parent blocks for x, y and z axis. Total must not exceed 500,000,000.

nxinteger
Required

Range: <= 500,000,000

nyinteger
Required

Range: <= 500,000,000

nzinteger
Required

Range: <= 500,000,000

Number of sub-blocks per parent block per axis. Accepted values per axis are 1, 2, 4, 8, 16, 32 or 64.

nxinteger
Required

Range: [1, 64]

nyinteger
Required

Range: [1, 64]

nzinteger
Required

Range: [1, 64]

Parent block size.

xnumber
Required
ynumber
Required
znumber
Required

Type of sub-blocking

Number of parent blocks for x, y and z axis. Total must not exceed 500,000,000.

nxinteger
Required

Range: <= 500,000,000

nyinteger
Required

Range: <= 500,000,000

nzinteger
Required

Range: <= 500,000,000

Number of sub-blocks per parent block per axis.

nxinteger
Required

Range: [1, 100]

nyinteger
Required

Range: [1, 100]

nzinteger
Required

Range: [1, 100]

Parent block size.

xnumber
Required
ynumber
Required
znumber
Required

Type of sub-blocking

Number of parent blocks for x, y and z axis. Total must not exceed 500,000,000.

nxinteger
Required

Range: <= 500,000,000

nyinteger
Required

Range: <= 500,000,000

nzinteger
Required

Range: <= 500,000,000

Number of sub-blocks per parent block per axis.

nxinteger
Required

Range: [1, 100]

nyinteger
Required

Range: [1, 100]

nzinteger
Required

Range: [1, 100]

Parent block size.

xnumber
Required
ynumber
Required
znumber
Required

Example: "m"

Unit ID denoting the length unit used for the block model's blocks.

{
"block_rotation": [
{
"angle": 0,
"axis": "x"
}
],
"comment": "string",
"coordinate_reference_system": "string",
"description": "string",
"fill_subblocks": false,
"lineage": {
"events": [
{
"eventTime": "string",
"eventType": "string",
"inputs": [
{
"facets": {
"additionalProp1": {
"additionalProp1": "string",
"additionalProp2": "number",
"additionalProp3": "boolean"
},
"additionalProp2": {
"additionalProp1": "string",
"additionalProp2": "number",
"additionalProp3": "boolean"
},
"additionalProp3": {
"additionalProp1": "string",
"additionalProp2": "number",
"additionalProp3": "boolean"
}
},
"inputFacets": {
"additionalProp1": {
"additionalProp1": "string",
"additionalProp2": "number",
"additionalProp3": "boolean"
},
"additionalProp2": {
"additionalProp1": "string",
"additionalProp2": "number",
"additionalProp3": "boolean"
},
"additionalProp3": {
"additionalProp1": "string",
"additionalProp2": "number",
"additionalProp3": "boolean"
}
},
"name": "string",
"namespace": "string"
}
],
"job": {
"facets": {
"additionalProp1": {
"additionalProp1": "string",
"additionalProp2": "number",
"additionalProp3": "boolean"
},
"additionalProp2": {
"additionalProp1": "string",
"additionalProp2": "number",
"additionalProp3": "boolean"
},
"additionalProp3": {
"additionalProp1": "string",
"additionalProp2": "number",
"additionalProp3": "boolean"
}
},
"name": "string",
"namespace": "string"
},
"outputs": [
{
"facets": {
"additionalProp1": {
"additionalProp1": "string",
"additionalProp2": "number",
"additionalProp3": "boolean"
},
"additionalProp2": {
"additionalProp1": "string",
"additionalProp2": "number",
"additionalProp3": "boolean"
},
"additionalProp3": {
"additionalProp1": "string",
"additionalProp2": "number",
"additionalProp3": "boolean"
}
},
"name": "string",
"namespace": "string",
"outputFacets": {
"additionalProp1": {
"additionalProp1": "string",
"additionalProp2": "number",
"additionalProp3": "boolean"
},
"additionalProp2": {
"additionalProp1": "string",
"additionalProp2": "number",
"additionalProp3": "boolean"
},
"additionalProp3": {
"additionalProp1": "string",
"additionalProp2": "number",
"additionalProp3": "boolean"
}
}
}
],
"producer": "string",
"run": {
"facets": {
"additionalProp1": {
"additionalProp1": "string",
"additionalProp2": "number",
"additionalProp3": "boolean"
},
"additionalProp2": {
"additionalProp1": "string",
"additionalProp2": "number",
"additionalProp3": "boolean"
},
"additionalProp3": {
"additionalProp1": "string",
"additionalProp2": "number",
"additionalProp3": "boolean"
}
},
"runId": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
},
"schemaURL": "string"
}
],
"self_link": "string"
},
"model_origin": {
"x": 0,
"y": 0,
"z": 0
},
"name": "string",
"object_path": "string",
"size_options": {
"block_size": {
"x": 0,
"y": 0,
"z": 0
},
"model_type": "string",
"n_blocks": {
"nx": 0,
"ny": 0,
"nz": 0
}
},
"size_unit_id": "string"
}

Returns

201

Successful Response

Axis-aligned bounding box of the block model.

This is the smallest box that fully contains all blocks within the block model, regardless of whether they contain data. It is defined by the minimum and maximum coordinates along each axis.

Minimum and maximum values for the x column in the file

Maximum value for the column

Minimum value for the column

Minimum and maximum values for the y column in the file

Maximum value for the column

Minimum value for the column

Minimum and maximum values for the z column in the file

Maximum value for the column

Minimum value for the column

The rotation of the block model. Defined by a list of clockwise rotations around given axes.

The combined equation for the rotation is given by:

R_1 ... R_n A = B

where A is the location in the IJK space, B is the location in coordinate space, and R_i is the rotation matrix for the ith rotation.

For example, if the first rotation is a rotation of 15 degrees clockwise around the X axis, R_1 would be [[1, 0, 0], [0, cos(15), sin(15)], [0, -sin(15), cos(15)]].

Two rotations around the same axis cannot be consecutive items within the list of rotations.

Angle of rotation in degrees

Axis of rotation

ID of the block model

Example: "EPSG:3395"

Coordinate reference system used in the block model.

This may be an EPSG code, signified by the prefix 'EPSG:', or a coordinate system definition in WKT format. If an EPSG code is provided, it must be for a coordinate reference system with a length unit type (e.g. metre, or foot).

Block model creation time

User who created the block model

Example: "kim@example.test"

The primary email address of the user. Can be null if an error occurred while retrieving this information.

Example: "59b73891-5538-4e45-ae67-f8c5b00d7405"

The ID of the user

Example: "Kim Kim"

The full name of the user. Can be null if an error occurred while retrieving this information.

User-supplied description of the block model

Indicates that updates for this block model should default to filling sub-blocks

Example: "f1230d69-c779-4736-9eb6-f82d49aafa9a"

UUID of the Geoscience Object Service object associated with the block model

job_urluri
>= 1 char

Date and time of the last block model update, including metadata updates

User who last updated the block model, including metadata updates

Example: "kim@example.test"

The primary email address of the user. Can be null if an error occurred while retrieving this information.

Example: "59b73891-5538-4e45-ae67-f8c5b00d7405"

The ID of the user

Example: "Kim Kim"

The full name of the user. Can be null if an error occurred while retrieving this information.

Origin of the block model

xnumber
ynumber
znumber

The human-readable label used to identify the block model

Normalised rotation of the block model, represented as intrinsic rotations around the Z axis, then X axis, then Z axis.

Example: "e6230d69-c779-4736-9eb6-f82d49aafa06"

Organisation the block model belongs to.

Size of the block model

Block size

xnumber
ynumber
znumber

Type of sub-blocking

Number of blocks for x, y and z axis. Total must not exceed 500,000,000.

nxinteger

Range: <= 500,000,000

nyinteger

Range: <= 500,000,000

nzinteger

Range: <= 500,000,000

Type of sub-blocking

Number of parent blocks for x, y and z axis. Total must not exceed 500,000,000.

nxinteger

Range: <= 500,000,000

nyinteger

Range: <= 500,000,000

nzinteger

Range: <= 500,000,000

Number of sub-blocks per parent block per axis. Accepted values per axis are 1, 2, 4, 8, 16, 32 or 64.

nxinteger

Range: [1, 64]

nyinteger

Range: [1, 64]

nzinteger

Range: [1, 64]

Parent block size.

xnumber
ynumber
znumber

Type of sub-blocking

Number of parent blocks for x, y and z axis. Total must not exceed 500,000,000.

nxinteger

Range: <= 500,000,000

nyinteger

Range: <= 500,000,000

nzinteger

Range: <= 500,000,000

Number of sub-blocks per parent block per axis.

nxinteger

Range: [1, 100]

nyinteger

Range: [1, 100]

nzinteger

Range: [1, 100]

Parent block size.

xnumber
ynumber
znumber

Type of sub-blocking

Number of parent blocks for x, y and z axis. Total must not exceed 500,000,000.

nxinteger

Range: <= 500,000,000

nyinteger

Range: <= 500,000,000

nzinteger

Range: <= 500,000,000

Number of sub-blocks per parent block per axis.

nxinteger

Range: [1, 100]

nyinteger

Range: [1, 100]

nzinteger

Range: [1, 100]

Parent block size.

xnumber
ynumber
znumber

Unit ID denoting the length unit used for the block model's blocks.

Example: "860be2f5-fe06-4c1b-ac8b-7d34d2b6d2ef"

Workspace the block model belongs to.

Endpoint

POST
/blockmodel/orgs/{org_id}/workspaces/{workspace_id}/block-models

Request

curl -X POST 'https://{service_host}/blockmodel/orgs/{org_id}/workspaces/{workspace_id}/block-models' \
-H 'Authorization: Bearer <ACCESS_TOKEN>'

Response

{
"bbox": {
"x_minmax": {
"max": 0,
"min": 0
},
"y_minmax": {
"max": 0,
"min": 0
},
"z_minmax": {
"max": 0,
"min": 0
}
},
"block_rotation": [
{
"angle": 0,
"axis": "x"
}
],
"bm_uuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"coordinate_reference_system": "string",
"created_at": "2024-07-29T15:51:28.071Z",
"created_by": {
"email": "string",
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"name": "string"
},
"description": "string",
"fill_subblocks": false,
"geoscience_object_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"job_url": "https://example.com",
"last_updated_at": "2024-07-29T15:51:28.071Z",
"last_updated_by": {
"email": "string",
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"name": "string"
},
"model_origin": {
"x": 0,
"y": 0,
"z": 0
},
"name": "string",
"normalized_rotation": [
null
],
"org_uuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"size_options": {
"block_size": {
"x": 0,
"y": 0,
"z": 0
},
"model_type": "string",
"n_blocks": {
"nx": 0,
"ny": 0,
"nz": 0
}
},
"size_unit_id": "string",
"workspace_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}

Update a block model's metadata

Block Model API

Version: 1.42.9

Updates the block model name, description, and/or size unit ID for the given bm_id.

A minimum workspace role of Editor is required to use this endpoint.

Parameters

authorizationstring
Required

Example: "860be2f5-fe06-4c1b-ac8b-7d34d2b6d2ef"

ID of the workspace this call is scoped to. Represented as a v4 UUID.

Example: "bf1a040c-8c58-4bc2-bec2-c5ae7de8bd84"

ID of the organization this call is scoped to. Represented as a v4 UUID.

Example: "e3c277c2-edc6-4a7a-8380-251dd19231f2"

ID of the block model this call is scoped to. Represented as a v4 UUID.

Example: "EPSG:3395"

Coordinate reference system used in the block model.

This may be an EPSG code, signified by the prefix 'EPSG:', or a coordinate system definition in WKT format. If an EPSG code is provided, it must be for a coordinate reference system with a length unit type (e.g. metre, or foot).

Block model description

Sets the default fill_subblocks value for this block model. It can be overridden at the time of an update. If this flag is true, then updates to a fully subblocked-model with update_type=merge, and geometry_change=true with missing sub-blocks will fill the missing sub-blocks with data from the parent block.

Lineage of the block model

Name of the block model. This may not contain / nor \. If the name is changed, leading and trailing whitespace will be automatically removed.

Unit ID denoting the length unit used for the block model's blocks.

{
"coordinate_reference_system": "string",
"description": "string",
"fill_subblocks": true,
"lineage": {
"events": [
{
"eventTime": "string",
"eventType": "string",
"inputs": [
{
"facets": {
"additionalProp1": {
"additionalProp1": "string",
"additionalProp2": "number",
"additionalProp3": "boolean"
},
"additionalProp2": {
"additionalProp1": "string",
"additionalProp2": "number",
"additionalProp3": "boolean"
},
"additionalProp3": {
"additionalProp1": "string",
"additionalProp2": "number",
"additionalProp3": "boolean"
}
},
"inputFacets": {
"additionalProp1": {
"additionalProp1": "string",
"additionalProp2": "number",
"additionalProp3": "boolean"
},
"additionalProp2": {
"additionalProp1": "string",
"additionalProp2": "number",
"additionalProp3": "boolean"
},
"additionalProp3": {
"additionalProp1": "string",
"additionalProp2": "number",
"additionalProp3": "boolean"
}
},
"name": "string",
"namespace": "string"
}
],
"job": {
"facets": {
"additionalProp1": {
"additionalProp1": "string",
"additionalProp2": "number",
"additionalProp3": "boolean"
},
"additionalProp2": {
"additionalProp1": "string",
"additionalProp2": "number",
"additionalProp3": "boolean"
},
"additionalProp3": {
"additionalProp1": "string",
"additionalProp2": "number",
"additionalProp3": "boolean"
}
},
"name": "string",
"namespace": "string"
},
"outputs": [
{
"facets": {
"additionalProp1": {
"additionalProp1": "string",
"additionalProp2": "number",
"additionalProp3": "boolean"
},
"additionalProp2": {
"additionalProp1": "string",
"additionalProp2": "number",
"additionalProp3": "boolean"
},
"additionalProp3": {
"additionalProp1": "string",
"additionalProp2": "number",
"additionalProp3": "boolean"
}
},
"name": "string",
"namespace": "string",
"outputFacets": {
"additionalProp1": {
"additionalProp1": "string",
"additionalProp2": "number",
"additionalProp3": "boolean"
},
"additionalProp2": {
"additionalProp1": "string",
"additionalProp2": "number",
"additionalProp3": "boolean"
},
"additionalProp3": {
"additionalProp1": "string",
"additionalProp2": "number",
"additionalProp3": "boolean"
}
}
}
],
"producer": "string",
"run": {
"facets": {
"additionalProp1": {
"additionalProp1": "string",
"additionalProp2": "number",
"additionalProp3": "boolean"
},
"additionalProp2": {
"additionalProp1": "string",
"additionalProp2": "number",
"additionalProp3": "boolean"
},
"additionalProp3": {
"additionalProp1": "string",
"additionalProp2": "number",
"additionalProp3": "boolean"
}
},
"runId": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
},
"schemaURL": "string"
}
],
"self_link": "string"
},
"name": "string",
"size_unit_id": "string"
}

Returns

200

Successful Response

Axis-aligned bounding box of the block model.

This is the smallest box that fully contains all blocks within the block model, regardless of whether they contain data. It is defined by the minimum and maximum coordinates along each axis.

Minimum and maximum values for the x column in the file

Maximum value for the column

Minimum value for the column

Minimum and maximum values for the y column in the file

Maximum value for the column

Minimum value for the column

Minimum and maximum values for the z column in the file

Maximum value for the column

Minimum value for the column

The rotation of the block model. Defined by a list of clockwise rotations around given axes.

The combined equation for the rotation is given by:

R_1 ... R_n A = B

where A is the location in the IJK space, B is the location in coordinate space, and R_i is the rotation matrix for the ith rotation.

For example, if the first rotation is a rotation of 15 degrees clockwise around the X axis, R_1 would be [[1, 0, 0], [0, cos(15), sin(15)], [0, -sin(15), cos(15)]].

Two rotations around the same axis cannot be consecutive items within the list of rotations.

Angle of rotation in degrees

Axis of rotation

ID of the block model

Example: "EPSG:3395"

Coordinate reference system used in the block model.

This may be an EPSG code, signified by the prefix 'EPSG:', or a coordinate system definition in WKT format. If an EPSG code is provided, it must be for a coordinate reference system with a length unit type (e.g. metre, or foot).

Block model creation time

User who created the block model

Example: "kim@example.test"

The primary email address of the user. Can be null if an error occurred while retrieving this information.

Example: "59b73891-5538-4e45-ae67-f8c5b00d7405"

The ID of the user

Example: "Kim Kim"

The full name of the user. Can be null if an error occurred while retrieving this information.

User-supplied description of the block model

Indicates that updates for this block model should default to filling sub-blocks

Example: "f1230d69-c779-4736-9eb6-f82d49aafa9a"

UUID of the Geoscience Object Service object associated with the block model

Date and time of the last block model update, including metadata updates

User who last updated the block model, including metadata updates

Example: "kim@example.test"

The primary email address of the user. Can be null if an error occurred while retrieving this information.

Example: "59b73891-5538-4e45-ae67-f8c5b00d7405"

The ID of the user

Example: "Kim Kim"

The full name of the user. Can be null if an error occurred while retrieving this information.

Origin of the block model

xnumber
ynumber
znumber

The human-readable label used to identify the block model

Normalised rotation of the block model, represented as intrinsic rotations around the Z axis, then X axis, then Z axis.

Example: "e6230d69-c779-4736-9eb6-f82d49aafa06"

Organisation the block model belongs to.

Size of the block model

Block size

xnumber
ynumber
znumber

Type of sub-blocking

Number of blocks for x, y and z axis. Total must not exceed 500,000,000.

nxinteger

Range: <= 500,000,000

nyinteger

Range: <= 500,000,000

nzinteger

Range: <= 500,000,000

Type of sub-blocking

Number of parent blocks for x, y and z axis. Total must not exceed 500,000,000.

nxinteger

Range: <= 500,000,000

nyinteger

Range: <= 500,000,000

nzinteger

Range: <= 500,000,000

Number of sub-blocks per parent block per axis. Accepted values per axis are 1, 2, 4, 8, 16, 32 or 64.

nxinteger

Range: [1, 64]

nyinteger

Range: [1, 64]

nzinteger

Range: [1, 64]

Parent block size.

xnumber
ynumber
znumber

Type of sub-blocking

Number of parent blocks for x, y and z axis. Total must not exceed 500,000,000.

nxinteger

Range: <= 500,000,000

nyinteger

Range: <= 500,000,000

nzinteger

Range: <= 500,000,000

Number of sub-blocks per parent block per axis.

nxinteger

Range: [1, 100]

nyinteger

Range: [1, 100]

nzinteger

Range: [1, 100]

Parent block size.

xnumber
ynumber
znumber

Type of sub-blocking

Number of parent blocks for x, y and z axis. Total must not exceed 500,000,000.

nxinteger

Range: <= 500,000,000

nyinteger

Range: <= 500,000,000

nzinteger

Range: <= 500,000,000

Number of sub-blocks per parent block per axis.

nxinteger

Range: [1, 100]

nyinteger

Range: [1, 100]

nzinteger

Range: [1, 100]

Parent block size.

xnumber
ynumber
znumber

Unit ID denoting the length unit used for the block model's blocks.

Example: "860be2f5-fe06-4c1b-ac8b-7d34d2b6d2ef"

Workspace the block model belongs to.

Endpoint

PATCH
/blockmodel/orgs/{org_id}/workspaces/{workspace_id}/block-models/{bm_id}

Request

curl -X PATCH 'https://{service_host}/blockmodel/orgs/{org_id}/workspaces/{workspace_id}/block-models/{bm_id}' \
-H 'Authorization: Bearer <ACCESS_TOKEN>'

Response

{
"bbox": {
"x_minmax": {
"max": 0,
"min": 0
},
"y_minmax": {
"max": 0,
"min": 0
},
"z_minmax": {
"max": 0,
"min": 0
}
},
"block_rotation": [
{
"angle": 0,
"axis": "x"
}
],
"bm_uuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"coordinate_reference_system": "string",
"created_at": "2024-07-29T15:51:28.071Z",
"created_by": {
"email": "string",
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"name": "string"
},
"description": "string",
"fill_subblocks": false,
"geoscience_object_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"last_updated_at": "2024-07-29T15:51:28.071Z",
"last_updated_by": {
"email": "string",
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"name": "string"
},
"model_origin": {
"x": 0,
"y": 0,
"z": 0
},
"name": "string",
"normalized_rotation": [
null
],
"org_uuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"size_options": {
"block_size": {
"x": 0,
"y": 0,
"z": 0
},
"model_type": "string",
"n_blocks": {
"nx": 0,
"ny": 0,
"nz": 0
}
},
"size_unit_id": "string",
"workspace_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}

Delete a block model

Block Model API

Version: 1.42.9

Deletes the block model identified by bm_id.

A minimum workspace role of Editor is required to use this endpoint.

Parameters

authorizationstring
Required

Example: "e3c277c2-edc6-4a7a-8380-251dd19231f2"

ID of the block model this call is scoped to. Represented as a v4 UUID.

Example: "860be2f5-fe06-4c1b-ac8b-7d34d2b6d2ef"

ID of the workspace this call is scoped to. Represented as a v4 UUID.

Example: "bf1a040c-8c58-4bc2-bec2-c5ae7de8bd84"

ID of the organization this call is scoped to. Represented as a v4 UUID.

Returns

204

Successful Response

Endpoint

DELETE
/blockmodel/orgs/{org_id}/workspaces/{workspace_id}/block-models/{bm_id}

Request

curl -X DELETE 'https://{service_host}/blockmodel/orgs/{org_id}/workspaces/{workspace_id}/block-models/{bm_id}' \
-H 'Authorization: Bearer <ACCESS_TOKEN>'

Response

No response body.


Restore a block model

Block Model API

Version: 1.42.9

Restores the deleted block model identified by bm_id when the deleted flag is set to false. Note, the deleted flag cannot be set to true.

A minimum workspace role of Editor is required to use this endpoint.

Parameters

authorizationstring
Required

Example: "e3c277c2-edc6-4a7a-8380-251dd19231f2"

ID of the block model this call is scoped to. Represented as a v4 UUID.

Example: "860be2f5-fe06-4c1b-ac8b-7d34d2b6d2ef"

ID of the workspace this call is scoped to. Represented as a v4 UUID.

Example: "bf1a040c-8c58-4bc2-bec2-c5ae7de8bd84"

ID of the organization this call is scoped to. Represented as a v4 UUID.

A boolean parameter that must be provided and set to false when using this endpoint. Omitting it or setting it to a different value will result in an error.

Returns

202

Successful Response

Axis-aligned bounding box of the block model.

This is the smallest box that fully contains all blocks within the block model, regardless of whether they contain data. It is defined by the minimum and maximum coordinates along each axis.

Minimum and maximum values for the x column in the file

Maximum value for the column

Minimum value for the column

Minimum and maximum values for the y column in the file

Maximum value for the column

Minimum value for the column

Minimum and maximum values for the z column in the file

Maximum value for the column

Minimum value for the column

The rotation of the block model. Defined by a list of clockwise rotations around given axes.

The combined equation for the rotation is given by:

R_1 ... R_n A = B

where A is the location in the IJK space, B is the location in coordinate space, and R_i is the rotation matrix for the ith rotation.

For example, if the first rotation is a rotation of 15 degrees clockwise around the X axis, R_1 would be [[1, 0, 0], [0, cos(15), sin(15)], [0, -sin(15), cos(15)]].

Two rotations around the same axis cannot be consecutive items within the list of rotations.

Angle of rotation in degrees

Axis of rotation

ID of the block model

Example: "EPSG:3395"

Coordinate reference system used in the block model.

This may be an EPSG code, signified by the prefix 'EPSG:', or a coordinate system definition in WKT format. If an EPSG code is provided, it must be for a coordinate reference system with a length unit type (e.g. metre, or foot).

Block model creation time

User who created the block model

Example: "kim@example.test"

The primary email address of the user. Can be null if an error occurred while retrieving this information.

Example: "59b73891-5538-4e45-ae67-f8c5b00d7405"

The ID of the user

Example: "Kim Kim"

The full name of the user. Can be null if an error occurred while retrieving this information.

User-supplied description of the block model

Indicates that updates for this block model should default to filling sub-blocks

Example: "f1230d69-c779-4736-9eb6-f82d49aafa9a"

UUID of the Geoscience Object Service object associated with the block model

Date and time of the last block model update, including metadata updates

User who last updated the block model, including metadata updates

Example: "kim@example.test"

The primary email address of the user. Can be null if an error occurred while retrieving this information.

Example: "59b73891-5538-4e45-ae67-f8c5b00d7405"

The ID of the user

Example: "Kim Kim"

The full name of the user. Can be null if an error occurred while retrieving this information.

Origin of the block model

xnumber
ynumber
znumber

The human-readable label used to identify the block model

Normalised rotation of the block model, represented as intrinsic rotations around the Z axis, then X axis, then Z axis.

Example: "e6230d69-c779-4736-9eb6-f82d49aafa06"

Organisation the block model belongs to.

Size of the block model

Block size

xnumber
ynumber
znumber

Type of sub-blocking

Number of blocks for x, y and z axis. Total must not exceed 500,000,000.

nxinteger

Range: <= 500,000,000

nyinteger

Range: <= 500,000,000

nzinteger

Range: <= 500,000,000

Type of sub-blocking

Number of parent blocks for x, y and z axis. Total must not exceed 500,000,000.

nxinteger

Range: <= 500,000,000

nyinteger

Range: <= 500,000,000

nzinteger

Range: <= 500,000,000

Number of sub-blocks per parent block per axis. Accepted values per axis are 1, 2, 4, 8, 16, 32 or 64.

nxinteger

Range: [1, 64]

nyinteger

Range: [1, 64]

nzinteger

Range: [1, 64]

Parent block size.

xnumber
ynumber
znumber

Type of sub-blocking

Number of parent blocks for x, y and z axis. Total must not exceed 500,000,000.

nxinteger

Range: <= 500,000,000

nyinteger

Range: <= 500,000,000

nzinteger

Range: <= 500,000,000

Number of sub-blocks per parent block per axis.

nxinteger

Range: [1, 100]

nyinteger

Range: [1, 100]

nzinteger

Range: [1, 100]

Parent block size.

xnumber
ynumber
znumber

Type of sub-blocking

Number of parent blocks for x, y and z axis. Total must not exceed 500,000,000.

nxinteger

Range: <= 500,000,000

nyinteger

Range: <= 500,000,000

nzinteger

Range: <= 500,000,000

Number of sub-blocks per parent block per axis.

nxinteger

Range: [1, 100]

nyinteger

Range: [1, 100]

nzinteger

Range: [1, 100]

Parent block size.

xnumber
ynumber
znumber

Unit ID denoting the length unit used for the block model's blocks.

Example: "860be2f5-fe06-4c1b-ac8b-7d34d2b6d2ef"

Workspace the block model belongs to.

Endpoint

POST
/blockmodel/orgs/{org_id}/workspaces/{workspace_id}/block-models/{bm_id}

Request

curl -X POST 'https://{service_host}/blockmodel/orgs/{org_id}/workspaces/{workspace_id}/block-models/{bm_id}' \
-H 'Authorization: Bearer <ACCESS_TOKEN>'

Response

{
"bbox": {
"x_minmax": {
"max": 0,
"min": 0
},
"y_minmax": {
"max": 0,
"min": 0
},
"z_minmax": {
"max": 0,
"min": 0
}
},
"block_rotation": [
{
"angle": 0,
"axis": "x"
}
],
"bm_uuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"coordinate_reference_system": "string",
"created_at": "2024-07-29T15:51:28.071Z",
"created_by": {
"email": "string",
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"name": "string"
},
"description": "string",
"fill_subblocks": false,
"geoscience_object_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"last_updated_at": "2024-07-29T15:51:28.071Z",
"last_updated_by": {
"email": "string",
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"name": "string"
},
"model_origin": {
"x": 0,
"y": 0,
"z": 0
},
"name": "string",
"normalized_rotation": [
null
],
"org_uuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"size_options": {
"block_size": {
"x": 0,
"y": 0,
"z": 0
},
"model_type": "string",
"n_blocks": {
"nx": 0,
"ny": 0,
"nz": 0
}
},
"size_unit_id": "string",
"workspace_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}

What is the reason for your feedback?