Skip to main content

Versions

Endpoints that retrieve information about versions of a block model


Start a block model data query

Block Model API

Version: 1.42.9

Starts a query job against the block model identified by bm_id. This will produce a file that contains block model data for selected columns, and within the bounding box if provided.

This request will respond with a reflection of the query criteria, as well as a pollable job_url. The job_url should be polled with a GET request to wait for the job_status field of the job to become either FAILED or COMPLETE. When the job_status becomes COMPLETE, the response will look like this:

{
"job_status": "COMPLETE",
"payload": {
"download_url": "<download url>"
}
}

The download_url points to the output file of the query job, and can be downloaded using either a GET request or using the Azure SDK. The download URL that is generated every time the completed job_url is polled has a 30 minute time-to-live (TTL), so the download process must be started within 30 minutes. The download itself can take longer than 30 minutes, as long as the connection remains open.

The downloaded file will either be an Apache Parquet file or a CSV file, depending on the value specified in the file_format field under output_options. The columns included within the file depend on the type of sub-blocking and the values specified in the geometry_columns and columns fields. The geometry_columns field determines whether the blocks within the output file are primarily identified by their coordinates or by their block indices.

If geometry_columns is set to "indices" (the default), then the first columns in the output file will be i, j, k followed by the sub-block index columns (if applicable). If geometry_columns is set to "coordinates", then the output file will contain the columns x, y, z for regular block models and x, y, z, dx, dy, dz for sub-blocked block models. These columns are referred to as the "geometry" columns.

The remaining columns within the output file are determined by the columns field. The columns field supports selecting columns by either their title or ID, and can also include a wildcard ("*") placeholder, which will expand to all user columns, ordered alphabetically by title, in a case-insensitive manner. Please note that the wildcard does not cover the system column version_id and sub_block_derivation. To include version_id and sub_block_derivation in the output file, they must also be explicitly specified in the columns field alongside the wildcard. The order of columns in the output file will match the order in the columns field. Columns that are part of the initial "geometry" columns will be ignored if specified.

The sub_block_derivation column indicates the source of the block values with one of the following statuses:

  • "user specified": Column values come directly from uploaded file, or the block has no data available.
  • "derived from parent": Column values were calculated entirely by the system based on parent block values, with no corresponding data in the original uploaded file.
  • "some columns derived": Column values are a mix of original data and system-calculated values.

Examples: Given a model has the following user columns: A(with a column ID of d718abe4-56a5-4e27-ad51-813e69eb8aac), B, and C. The table below shows the output file columns for different model types and parameters:

Model Typegeometry_columns fieldcolumns fieldOutput File Columns
Regular"indices"["d718abe4-56a5-4e27-ad51-813e69eb8aac", "B"]i, j, k, A, B
Regular"coordinates"[]x, y, z
Fully sub-blocked"indices"["*"]i, j, k, sidx, A, B, C
Flexible"coordinates"["*", "start_si"]x, y, z, dx, dy, dz, A, B, C, start_si

The column headers (header row values in CSV files and schema field names in Parquet files) will either be the name of the columns or the column ID, depending on the value specified in the column_headers field.

Example: for a fully sub-blocked model with a columns field: ["col_1", "dx", "x", "z", "d635868c-24ae-4ebe-9358-acb433b3c8cb"] (where d635868c-24ae-4ebe-9358-acb433b3c8cb is the column ID of col_2) and column_headers: name, the output file will contain the following columns in order: [i, j, k, sidx, col_1, dx, x, z, col_2].

For CSV files, the delimiter that separate values in the output file can also be configured using the delimiter field.

For Parquet files, the output file will have the following characteristics:

  • Row group size of 100,000
  • Compressed using Zstd
  • Parquet data page version set to 1.0 and Parquet version set to 2.6

This request may be cached, so the job_url may point to an already completed job.

All workspace roles can 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.

Bounding box of the search area as integer indexes or model aligned coordinates. If not provided, this is set to the entire block model. If using integer indexes, they must be >= zero and <= the number of blocks - 1. For example, if a block model has: n_blocks: { nx: 10, ny: 10, nz: 10 } then i_max, j_max, and k_max must all be >= 0 and <= 9. If using model aligned coordinates, that is, rotated by the same scheme as the block model, centroids that are encapsulated by the bounding box will be selected. A side effect of this behaviour is a bounding box with x, y, z min-max can exceed the model along any axis.

Minimum and maximum values for the i column in the file

Maximum value for the column

Minimum value for the column

Minimum and maximum values for the j column in the file

Maximum value for the column

Minimum value for the column

Minimum and maximum values for the k column in the file

Maximum value for the column

Minimum value for the column

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

null

Example: ["*"]

List of columns, in addition to the "geometry" columns, that will be included in the output file. The columns field supports selecting columns by either their title or ID, and can also include a wildcard ("*") placeholder, which will expand to all user columns, ordered alphabetically by title in a case-insensitive manner. Please note that the wildcard does not cover the system column version_id. To include version_id in the output file, it must also be explicitly specified in the columns field alongside the wildcard. The order of columns in the output file will match the order in the columns field. Columns that are part of the initial "geometry" columns will be ignored if specified.

Default: "indices"

Determines whether the blocks in the output file will be primarily identified by their coordinates or their block indices.

If geometry_columns is set to "indices" (the default), then the first columns in the output file will be i, j, k followed by the sub-block index columns (if applicable). If geometry_columns is set to "coordinates", then the output file will contain the columns x, y, z for regular block models and x, y, z, dx, dy, dz for sub-blocked block models. These columns are referred to as the "geometry" columns, and will appear before any others columns specified in the columns field.

Format of the output file

Default: "name"

Header values within the output file for non-system columns, either the column's name or UUID

Default: true

Specifies whether or not the output query file should exclude rows where all values for queried user columns are null.

Default: "parquet"

Apache Parquet file

Default: "name"

Header values within the output file for non-system columns, either the column's name or UUID

Default: ","

Delimiter between values

Default: true

Specifies whether or not the output query file should exclude rows where all values for queried user columns are null.

Default: "csv"

CSV file

null

Version UUID of the version of the block model to query, or the latest version if not provided

{
"bbox": {
"i_minmax": {
"max": 0,
"min": 0
},
"j_minmax": {
"max": 0,
"min": 0
},
"k_minmax": {
"max": 0,
"min": 0
}
},
"columns": [
"string"
],
"geometry_columns": "indices",
"output_options": {
"column_headers": "id",
"exclude_null_rows": true,
"file_format": "parquet"
},
"version_uuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}

Returns

200

Successful Response

Bounding box of the search area as integer indexes or model aligned coordinates. If not provided, this is set to the entire block model. If using integer indexes, they must be >= zero and <= the number of blocks - 1. For example, if a block model has: n_blocks: { nx: 10, ny: 10, nz: 10 } then i_max, j_max, and k_max must all be >= 0 and <= 9. If using model aligned coordinates, that is, rotated by the same scheme as the block model, centroids that are encapsulated by the bounding box will be selected. A side effect of this behaviour is a bounding box with x, y, z min-max can exceed the model along any axis.

Minimum and maximum values for the i column in the file

Maximum value for the column

Minimum value for the column

Minimum and maximum values for the j column in the file

Maximum value for the column

Minimum value for the column

Minimum and maximum values for the k column in the file

Maximum value for the column

Minimum value for the column

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

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

ID of the block model

List of columns, in addition to the "geometry" columns, that will be included in the output file. The columns field supports selecting columns by either their title or ID, and can also include a wildcard ("*") placeholder, which will expand to all user columns, ordered alphabetically by title in a case-insensitive manner. Please note that the wildcard does not cover the system column version_id. To include version_id in the output file, it must also be explicitly specified in the columns field alongside the wildcard. The order of columns in the output file will match the order in the columns field. Columns that are part of the initial "geometry" columns will be ignored if specified.

Pollable job URL for this query

List of columns, in addition to the "geometry" columns, that will be included in the output file. The columns field supports selecting columns by either their title or ID, and can also include a wildcard ("*") placeholder, which will expand to all user columns, ordered alphabetically by title in a case-insensitive manner. Please note that the wildcard does not cover the system column version_id. To include version_id in the output file, it must also be explicitly specified in the columns field alongside the wildcard. The order of columns in the output file will match the order in the columns field. Columns that are part of the initial "geometry" columns will be ignored if specified.

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: 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

Endpoint

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

Request

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

Response

{
"bbox": {
"i_minmax": {
"max": 0,
"min": 0
},
"j_minmax": {
"max": 0,
"min": 0
},
"k_minmax": {
"max": 0,
"min": 0
}
},
"bm_uuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"columns": [
"string"
],
"job_url": "https://example.com",
"mapping": {
"columns": [
{
"col_id": "string",
"data_type": "Boolean",
"title": "string",
"unit_id": "string"
}
]
},
"version_id": 0,
"version_uuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}

List version metadata for all versions of a block model

Block Model API

Version: 1.42.9

Gets all versions of the block model bm_id.

The list is ordered from the newest version to the oldest version.

This endpoint is paginated, therefore by default this lists, at most, the first 50 versions. To get other versions, use the offset and limit query parameters to select the desired part of the list. An offset beyond the total number of versions for the block model 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 versions within the list. All workspace roles can 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.

Optional filter to apply to the results. latest will return only the latest version.

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.

Returns

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 all units referenced in the results

Examples: 1, 1000

Conversion factor to convert to the reference unit for this unit type

Examples: "Metres", "Kilograms per cubic metre"

Description of the unit

Examples: "m", "kg/m³"

Display symbol for the unit

Examples: "m", "kg/m3"

ID of the unit

Examples: "LENGTH", "MASS_PER_VOLUME"

Type of the unit

List of results

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

Total number of items within the full list without pagination

Endpoint

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

Request

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

Response

{
"count": 0,
"limit": 0,
"offset": 0,
"referenced_units": [
{
"conversion_factor": 0,
"description": "string",
"symbol": "string",
"unit_id": "string",
"unit_type": "LENGTH"
}
],
"results": [
{
"base_version_id": 0,
"bbox": {
"i_minmax": {
"max": 0,
"min": 0
},
"j_minmax": {
"max": 0,
"min": 0
},
"k_minmax": {
"max": 0,
"min": 0
}
},
"bm_uuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"comment": "string",
"created_at": "2024-07-29T15:51:28.071Z",
"created_by": {
"email": "string",
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"name": "string"
},
"geoscience_version_id": "string",
"mapping": {
"columns": [
{
"col_id": "string",
"data_type": "Boolean",
"title": "string",
"unit_id": "string"
}
]
},
"parent_version_id": 0,
"version_id": 0,
"version_uuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
],
"total": 0
}

Request version metadata for a specific block model version

Block Model API

Version: 1.42.9

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 or replace; 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 the title 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.

Parameters

authorizationstring
Required

Example: "3e9ce8de-f6ba-4920-8c6e-0882e90f0ed7"

ID of the version 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.

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

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

Whether or not to include the changes made in the update that created the specified block model version.

Returns

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

blocks_uploadedinteger | null

deletedstring[]
Default: []
metadata_updatedUpdateMetadataLite[] | null
Default: []
newstring[]
Default: []

Default: []
new_titlestring
old_titlestring
updatedstring[]
Default: []
total_blocksinteger

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. If geometry_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

Endpoint

GET
/blockmodel/orgs/{org_id}/workspaces/{workspace_id}/block-models/{bm_id}/versions/{version_id}

Request

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

Response

{
"base_version_id": 0,
"bbox": {
"i_minmax": {
"max": 0,
"min": 0
},
"j_minmax": {
"max": 0,
"min": 0
},
"k_minmax": {
"max": 0,
"min": 0
}
},
"bm_uuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"comment": "string",
"created_at": "2024-07-29T15:51:28.071Z",
"created_by": {
"email": "string",
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"name": "string"
},
"geoscience_version_id": "string",
"mapping": {
"columns": [
{
"col_id": "string",
"data_type": "Boolean",
"title": "string",
"unit_id": "string"
}
]
},
"parent_version_id": 0,
"version_id": 0,
"version_uuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}

Check for deltas

Block Model API

Version: 1.42.9

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.

Parameters

authorizationstring
Required

Example: "3e9ce8de-f6ba-4920-8c6e-0882e90f0ed7"

ID of the version 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.

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

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

Bounding box within which changes are searched for.

Minimum and maximum values for the i column in the file

Maximum value for the column

Minimum value for the column

Minimum and maximum values for the j column in the file

Maximum value for the column

Minimum value for the column

Minimum and maximum values for the k column in the file

Maximum value for the column

Minimum value for the column

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

Example: ["*"]

List of column IDs to consider when checking for column updates or deletions. Also accepts ['*'], which will consider all columns.

Last version to search for changes in. Any versions newer than this are not searched for changes. If not supplied, changes are searched for within all version beyond the start version, up to and including the latest version of the block model.

If there are changes, whether to return details about such changes or not.

{
"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
}

Returns

200

Successful Response

Response Get Deltas For Block ModelDeltaResponseData | null

Endpoint

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

Request

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

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"
}
]
}

Was this page helpful?