Skip to main content

Block Model API

Version: 1.17.0

List all block models in an organization

GET
/blockmodel/orgs/{org_id}/block-models

Gets a paginated list of all block models across all workspaces that are accessible in the organization identified by org_id. By retrieving this list, you can obtain the bm_id value for a given model, which can then be used in subsequent API requests to upload or download data, along with performing other operations.

By default, the list is ordered from the most recently updated block model to the least recently updated block model. If a sort query parameter is specified, the list will be ordered according to the specified field.

This endpoint is paginated, therefore by default this lists at most the first 50 block models. To get other block models, use the offset and limit query parameters to select the desired part of the list. An offset beyond the total number of block models across all workspaces will result in an empty results list. The limit must be an integer from 1 to 100. The response includes total, which is the total number of block models within the list.

All workspace roles can use this endpoint.

Request

Path parameters

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

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

Query parameters

An optional boolean parameter specifying whether to list only deleted block models.

  • If set to true, the response will only list block models that were deleted via the 'Delete a block model' endpoint. This list will not include block models that are within deleted workspaces.

  • By default, or if set to false, the response will only list non-deleted block models within non-deleted workspaces.

Index of the first item to return.

Default: 50

Maximum number of items to return from the list. Must be greater than 0 and less than or equal to 100.

Responses

200

Successful Response

Number of results returned in results

Maximum number of items requested

Index of the first item in results with respect to the full list without pagination

List of results

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.

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

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
nyinteger
nzinteger

Type of sub-blocking

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

nxinteger
nyinteger
nzinteger

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

nxinteger
nyinteger
nzinteger

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
nyinteger
nzinteger

Number of sub-blocks per parent block per axis.

nxinteger
nyinteger
nzinteger

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
nyinteger
nzinteger

Number of sub-blocks per parent block per axis.

nxinteger
nyinteger
nzinteger

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.

Total number of items within the full list without pagination

401

Unauthorized

Example: "Invalid authentication credentials"

A human-readable explanation specific to this occurrence of the problem.

Example: 401

The HTTP status code generated by the origin server for this occurrence of the problem.

Example: "Invalid authentication credentials"

A short, human-readable summary of the problem type.

Example: "https://seequent.com/error-codes/block-model-service/auth/unauthorized"

A URI reference that is the primary identifier of the problem type.

403

Forbidden

Example: "Permission denied"

A human-readable explanation specific to this occurrence of the problem.

Example: 403

The HTTP status code generated by the origin server for this occurrence of the problem.

Example: "Permission Denied"

A short, human-readable summary of the problem type.

Example: "https://seequent.com/error-codes/block-model-service/auth/forbidden"

A URI reference that is the primary identifier of the problem type.

422

Unprocessable Entity

Example: "1 validation error for 'HTTP Request' body -> block_rotation value is not a valid list (type=type_error.list)"

A human-readable explanation specific to this occurrence of the problem.

Example: 422

The HTTP status code generated by the origin server for this occurrence of the problem.

Example: "1 validation error for Request"

A short, human-readable summary of the problem type.

Example: "https://seequent.com/error-codes/block-model-service/validation"

A URI reference that is the primary identifier of the problem type.

500

Internal Server Error

Example: "An error occurred"

A human-readable explanation specific to this occurrence of the problem.

Example: 500

The HTTP status code generated by the origin server for this occurrence of the problem.

Example: "Service Error"

A short, human-readable summary of the problem type.

Example: "https://seequent.com/error-codes/block-model-service/service"

A URI reference that is the primary identifier of the problem type.


© Seequent, The Bentley Subsurface Company