Block Model API
Request version metadata for a specific block model version
Gets the version of the block model bm_id
identified by the version_id
UUID.
If the include_changes
query parameter is set to true
, then the response will include the changes made in the update.
Returned object will be of type VersionWithChanges
, this object extends the Version
object to include the field changes
.
The changes field contains the VersionChanges
object.
The fields of the VersionChanges
object are as follows:
- blocks_uploaded: The number of blocks (rows) present in the update file if one was used for the update, null otherwise.
- total_blocks: The total number of blocks in the block model. Will remain static for regular models, will change for sub-blocked models when the sub-block count changes due to geometry change updates.
- update_type: Whether the update that created the Version was of type
merge
orreplace
; field contains null if the update did not update any blocks. - columns:
- columns->new: List of columns (specified by title) created in the update that created the Version. Empty if the update did not create any columns.
- columns->deleted: List of columns (specified by title) deleted in the update that created the Version. Empty if the update did not delete any columns.
- columns->updated: List of columns (specified by title) updated in the update that created the Version. Empty if the update did not update any columns.
- columns->renamed: List of the
ColumnRename
object, denoting which columns were renamed in the update the created the version. Empty if the update did not rename any columns.ColumnRename
contains the fields: (old_title
,new_title
). - columns->metadata_updated: List of the
UpdateMetadataLite
object, containing column metadata changes if they were made in the update. This includes thetitle
of the column, the new title, and updated unit ID, respective of what was modified in the update. Empty if the update did not update any column metadata.
All workspace roles can use this endpoint.
Request
Responses
200
Successful Response
Example: 4
Version the update was applied to. This will be the same as parent_version_id
, except for
updates made by Leapfrog, where it is the current local version when the block model is published. This is null if this
is the first version.
Bounding box of data updated between this version and last version. Will be None for the initial version, and updates that only delete and rename columns.
Example: "e3c277c2-edc6-4a7a-8380-251dd19231f2"
ID of the block model
User-supplied comment
When the version was created
User who performed the action that created the version
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.
Example: "1234567890"
ID of the Geoscience Object Service object version associated with this block model version
Columns within this version
Example: "618d6339-2fa7-4dfd-9c7f-c0b12016639e"
The ID of the column, a UUID for non-system columns
Capitalized list of supported PyArrow datatypes outlined in https://arrow.apache.org/docs/python/api/datatypes.html.
Timestamp datatype is expected to be used with unit measured in "us" and timezone set to "UTC" inside of parquet column header schema or it won't be accepted; an example for PyArrow binding would look like this: pa.timestamp("us", tz="UTC")
The human-readable label used to identify the column
The ID of the column's unit
Example: 4
Previous version. 0 if this is the first version.
Example: 5
Identifier for the version within a block model as a monotonically increasing integer, where 1 is
the version_id
for the version created upon creation of the block model.
Example: "3e9ce8de-f6ba-4920-8c6e-0882e90f0ed7"
A universally unique identifier for the version
Example: 4
Version the update was applied to. This will be the same as parent_version_id
, except for
updates made by Leapfrog, where it is the current local version when the block model is published. This is null if this
is the first version.
Bounding box of data updated between this version and last version. Will be None for the initial version, and updates that only delete and rename columns.
Example: "e3c277c2-edc6-4a7a-8380-251dd19231f2"
ID of the block model
[]
[]
[]
[]
[]
Behaviour of the update, for blocks that are omitted from the update file.
- If set to
replace
, the values for blocks that are omitted will be set to null, for the selected columns. Ifgeometry_change
is true, the geometry of any parent block that has no blocks in the update file will be reset to an un-subdivided state. - If set to
merge
, blocks that are omitted will be left unchanged, the values within those blocks will be the same as within the previous version.
This is null if there were no columns updated and geometry_change
was not set to false.
User-supplied comment
When the version was created
User who performed the action that created the version
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.
Example: "1234567890"
ID of the Geoscience Object Service object version associated with this block model version
Columns within this version
Example: "618d6339-2fa7-4dfd-9c7f-c0b12016639e"
The ID of the column, a UUID for non-system columns
Capitalized list of supported PyArrow datatypes outlined in https://arrow.apache.org/docs/python/api/datatypes.html.
Timestamp datatype is expected to be used with unit measured in "us" and timezone set to "UTC" inside of parquet column header schema or it won't be accepted; an example for PyArrow binding would look like this: pa.timestamp("us", tz="UTC")
The human-readable label used to identify the column
The ID of the column's unit
Example: 4
Previous version. 0 if this is the first version.
Example: 5
Identifier for the version within a block model as a monotonically increasing integer, where 1 is
the version_id
for the version created upon creation of the block model.
Example: "3e9ce8de-f6ba-4920-8c6e-0882e90f0ed7"
A universally unique identifier for the version
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.
404
Not Found
Example: "Block model 11111111-2222-3333-4444-555555555555 not found."
A human-readable explanation specific to this occurrence of the problem.
Example: 404
The HTTP status code generated by the origin server for this occurrence of the problem.
Example: "Resource Not Found"
A short, human-readable summary of the problem type.
Example: "https://seequent.com/error-codes/block-model-service/not-found"
A URI reference that is the primary identifier of the problem type.
410
Gone
Example: "The requested resource was not found."
A human-readable explanation specific to this occurrence of the problem.
Example: 410
The HTTP status code generated by the origin server for this occurrence of the problem.
Example: "Workspace soft deleted."
A short, human-readable summary of the problem type.
Example: "https://seequent.com/error-codes/workspace/gone"
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.