Block Model API
Check for deltas
Checks if there have been any changes to the block model within a given bounding box, between two specified versions.
Changes are searched for within a range of versions. The first version searched for changes is the version
after version_id
. The last version that is searched is the version that is specified by end_version_id
(inclusive),
or if end_version_id
isn't specified, the latest version of the block model.
This request only checks for updates or deletions for specified columns. The columns are specified as list of column_id
UUIDs or a wildcard ("*"
), for all columns that exist within the version_id
version (the starting version). Using
column titles is not supported on this endpoint.
For this endpoint, changes that are considered are:
- Addition of any new columns, regardless of the columns specified in this request
- Deletions of any of the columns specified
- Updates to any of the columns specified, within the given bounding box. When block models are updated, a bounding box that encloses all updated blocks is computed. Only updates that have a bounding box that intersects with the specified bounding box are included.
Column renames aren't considered as part of this and they do not count as a change.
If no changes are found, then the response will have a status code of 304, with no content in the response.
If there are changes found, then the verbose
flag inside the request body changes the response.
If verbose
is false, then the response body will be empty.
If verbose
is true, then the response body will contain information about the difference in versions.
For clarity, if no changes are found, then the verbose
flag does nothing, as in that case the system will always return
a 304 with no content.
All workspace roles can use this endpoint.
Request
Example body
{
"bbox": {
"i_minmax": {
"max": 0,
"min": 0
},
"j_minmax": {
"max": 0,
"min": 0
},
"k_minmax": {
"max": 0,
"min": 0
}
},
"columns": [
"string"
],
"end_version_uuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"verbose": false
}
Responses
200
Successful Response
{
"delete_deltas": [
"3fa85f64-5717-4562-b3fc-2c963f66afa6"
],
"new_deltas": [
"3fa85f64-5717-4562-b3fc-2c963f66afa6"
],
"update_deltas": [
"3fa85f64-5717-4562-b3fc-2c963f66afa6"
],
"version_data": [
{
"bbox": {
"i_minmax": {
"max": 0,
"min": 0
},
"j_minmax": {
"max": 0,
"min": 0
},
"k_minmax": {
"max": 0,
"min": 0
}
},
"mapping": {
"columns": [
{
"col_id": "string",
"data_type": "Boolean",
"title": "string",
"unit_id": "string"
}
]
},
"update_columns": {
"delete": [
"string"
],
"new": [
{
"col_id": "string",
"data_type": "Boolean",
"title": "string",
"unit_id": "string"
}
],
"rename": [
{
"col_id": "string",
"new_title": "string"
}
],
"update": [
"string"
],
"update_metadata": [
{
"col_id": "string",
"values": {
"title": "string",
"unit_id": "string"
}
}
]
},
"version_id": 0,
"version_uuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
]
}
304
Not Modified
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.
{
"detail": "string",
"status": 0,
"title": "string",
"type": "string"
}
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.
{
"detail": "string",
"status": 0,
"title": "string",
"type": "string"
}
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.
{
"detail": "string",
"status": 0,
"title": "string",
"type": "string"
}
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.
{
"detail": "string",
"status": 0,
"title": "string",
"type": "string"
}
422
Unprocessable Content
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.
{
"detail": "string",
"status": 0,
"title": "string",
"type": "string"
}
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.
{
"detail": "string",
"status": 0,
"title": "string",
"type": "string"
}