{
"openapi": "3.0.1",
"info": {
"title": "Boreholes REST API v2",
"version": "v2"
},
"paths": {
"/api/v{version}/backfill": {
"get": {
"tags": [
"Backfill"
],
"summary": "Asynchronously gets the BDMS.Models.Backfills, filtered by completionId.",
"parameters": [
{
"name": "completionId",
"in": "query",
"description": "The id of the completion containing the BDMS.Models.Backfill to get.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Backfill"
}
}
},
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Backfill"
}
}
},
"text/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Backfill"
}
}
}
}
}
}
},
"post": {
"tags": [
"Backfill"
],
"parameters": [
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Backfill"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/Backfill"
}
},
"application/*+json": {
"schema": {
"$ref": "#/components/schemas/Backfill"
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/Backfill"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/Backfill"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/Backfill"
}
}
}
}
}
},
"put": {
"tags": [
"Backfill"
],
"parameters": [
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Backfill"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/Backfill"
}
},
"application/*+json": {
"schema": {
"$ref": "#/components/schemas/Backfill"
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/Backfill"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/Backfill"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/Backfill"
}
}
}
}
}
},
"delete": {
"tags": [
"Backfill"
],
"parameters": [
{
"name": "id",
"in": "query",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK"
}
}
}
},
"/api/v{version}/backfill/{id}": {
"get": {
"tags": [
"Backfill"
],
"summary": "Asynchronously gets the BDMS.Models.Backfill with the specified id.",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/Backfill"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/Backfill"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/Backfill"
}
}
}
}
}
}
},
"/api/v{version}/borehole": {
"post": {
"tags": [
"Borehole"
],
"parameters": [
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Borehole"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/Borehole"
}
},
"application/*+json": {
"schema": {
"$ref": "#/components/schemas/Borehole"
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/Borehole"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/Borehole"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/Borehole"
}
}
}
}
}
},
"put": {
"tags": [
"Borehole"
],
"parameters": [
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Borehole"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/Borehole"
}
},
"application/*+json": {
"schema": {
"$ref": "#/components/schemas/Borehole"
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/Borehole"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/Borehole"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/Borehole"
}
}
}
}
}
},
"delete": {
"tags": [
"Borehole"
],
"summary": "Asynchronously deletes the BDMS.Models.Borehole with the specified id.\r\nPermission is checked via M:BDMS.Services.IBoreholePermissionService.CanManageBoreholeAsync(System.String,System.Nullable{System.Int32}),\r\nso admins can delete a borehole regardless of whether it is locked by another user or already in\r\nReviewed/Published status.",
"parameters": [
{
"name": "id",
"in": "query",
"description": "The id of the borehole to delete.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK"
}
}
}
},
"/api/v{version}/borehole/{id}/lock": {
"post": {
"tags": [
"Borehole"
],
"summary": "Acquires the edit lock on the borehole with the given id for the current user.\r\nTouches only BDMS.Models.Borehole.Locked and BDMS.Models.Borehole.LockedById, so it cannot race\r\nwith a concurrent full-entity edit on any other field.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The id of the borehole to lock.",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK"
}
}
}
},
"/api/v{version}/borehole/{id}/unlock": {
"post": {
"tags": [
"Borehole"
],
"summary": "Releases the edit lock on the borehole with the given id.\r\nTouches only BDMS.Models.Borehole.Locked and BDMS.Models.Borehole.LockedById, so it cannot race\r\nwith a concurrent full-entity edit on any other field.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The id of the borehole to unlock.",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK"
}
}
}
},
"/api/v{version}/borehole/bulkedit": {
"post": {
"tags": [
"Borehole"
],
"summary": "Asynchronously applies the same set of field changes to multiple boreholes.\r\nOnly the properties named in BDMS.Models.BoreholeBulkUpdateRequest.FieldsToUpdate are written.\r\nThe whole batch is rejected (nothing is saved) if the current user cannot edit any selected borehole.\r\nResets the workflow tab status of any tab whose fields were changed.",
"parameters": [
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"description": "The boreholes to edit, the values to apply, and the field mask.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BoreholeBulkUpdateRequest"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/BoreholeBulkUpdateRequest"
}
},
"application/*+json": {
"schema": {
"$ref": "#/components/schemas/BoreholeBulkUpdateRequest"
}
}
}
},
"responses": {
"200": {
"description": "OK"
}
}
}
},
"/api/v{version}/borehole/filter": {
"post": {
"tags": [
"Borehole"
],
"summary": "Filters boreholes based on the provided criteria.",
"parameters": [
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"description": "The filter request with filtering criteria.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FilterRequest"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/FilterRequest"
}
},
"application/*+json": {
"schema": {
"$ref": "#/components/schemas/FilterRequest"
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/FilterResponse"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/FilterResponse"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/FilterResponse"
}
}
}
}
}
}
},
"/api/v{version}/borehole/filter/stats": {
"post": {
"tags": [
"Borehole"
],
"summary": "Computes per-option filter counts under the active filter request,\r\nusing filter-exclusion semantics so each dimension's counts predict what\r\nadding that option would yield.",
"parameters": [
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"description": "The active filter request; may be null to compute unconstrained counts.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FilterRequest"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/FilterRequest"
}
},
"application/*+json": {
"schema": {
"$ref": "#/components/schemas/FilterRequest"
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/FilterStatsResponse"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/FilterStatsResponse"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/FilterStatsResponse"
}
}
}
}
}
}
},
"/api/v{version}/borehole/suggest": {
"post": {
"tags": [
"Borehole"
],
"summary": "Returns autocomplete suggestions for a borehole text column. When a\r\nfilterRequest is supplied, suggestions are restricted to boreholes\r\nmatching every active filter except the filter on the field being autocompleted, so the\r\nuser can refine that field's value (filter-exclusion on the self-field).",
"parameters": [
{
"name": "field",
"in": "query",
"description": "The borehole column to search (originalName, projectName, or name).",
"schema": {
"$ref": "#/components/schemas/BoreholeSuggestionField"
}
},
{
"name": "query",
"in": "query",
"description": "The prefix string to match against; must be at least 2 characters.",
"schema": {
"type": "string"
}
},
{
"name": "limit",
"in": "query",
"description": "Maximum number of suggestions to return (1–50, default 10).",
"schema": {
"type": "integer",
"format": "int32",
"default": 10
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"description": "The active filter request body; may be null/empty to compute suggestions over all boreholes the caller can see.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FilterRequest"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/FilterRequest"
}
},
"application/*+json": {
"schema": {
"$ref": "#/components/schemas/FilterRequest"
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/BoreholeSuggestion"
}
}
},
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/BoreholeSuggestion"
}
}
},
"text/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/BoreholeSuggestion"
}
}
}
}
}
}
}
},
"/api/v{version}/borehole/{id}": {
"get": {
"tags": [
"Borehole"
],
"summary": "Asynchronously gets the BDMS.Models.Borehole with the specified id.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The id of borehole to get.",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/Borehole"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/Borehole"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/Borehole"
}
}
}
}
}
}
},
"/api/v{version}/borehole/copy": {
"post": {
"tags": [
"Borehole"
],
"summary": "Asynchronously copies a BDMS.Models.Borehole.",
"parameters": [
{
"name": "id",
"in": "query",
"description": "The BDMS.Models.Borehole.Id of the borehole to copy.",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "workgroupId",
"in": "query",
"description": "The BDMS.Models.Workgroup.Id of the new BDMS.Models.Borehole.",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain": {
"schema": {
"type": "integer",
"format": "int32"
}
},
"application/json": {
"schema": {
"type": "integer",
"format": "int32"
}
},
"text/json": {
"schema": {
"type": "integer",
"format": "int32"
}
}
}
}
}
}
},
"/api/v{version}/borehole/bulkdelete": {
"post": {
"tags": [
"Borehole"
],
"summary": "Asynchronously deletes multiple boreholes. The whole batch is rejected (nothing is deleted) if the\r\ncurrent user is not allowed to delete any of the selected boreholes. Uses the same permission check\r\nas the single-borehole delete (M:BDMS.Services.IBoreholePermissionService.CanManageBoreholeAsync(System.String,System.Nullable{System.Int32})).",
"parameters": [
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"description": "The ids of the boreholes to delete.",
"content": {
"application/json": {
"schema": {
"minItems": 1,
"type": "array",
"items": {
"type": "integer",
"format": "int32"
}
}
},
"text/json": {
"schema": {
"minItems": 1,
"type": "array",
"items": {
"type": "integer",
"format": "int32"
}
}
},
"application/*+json": {
"schema": {
"minItems": 1,
"type": "array",
"items": {
"type": "integer",
"format": "int32"
}
}
}
},
"required": true
},
"responses": {
"200": {
"description": "OK"
}
}
}
},
"/api/v{version}/boreholeexport/json": {
"get": {
"tags": [
"BoreholeExport"
],
"summary": "Exports the details of up to boreholes as a JSON file. Filters the boreholes based on the provided list of IDs.",
"parameters": [
{
"name": "ids",
"in": "query",
"description": "The required list of borehole ids to filter by.",
"schema": {
"maxItems": 100,
"minItems": 1,
"type": "array",
"items": {
"type": "integer",
"format": "int32"
}
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK"
}
}
}
},
"/api/v{version}/boreholeexport/gpkg": {
"get": {
"tags": [
"BoreholeExport"
],
"summary": "Exports the details of up to boreholes as a GeoPackage file. Filters the boreholes based on the provided list of IDs.",
"parameters": [
{
"name": "ids",
"in": "query",
"description": "The required list of borehole ids to filter by.",
"schema": {
"maxItems": 100,
"minItems": 1,
"type": "array",
"items": {
"type": "integer",
"format": "int32"
}
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK"
}
}
}
},
"/api/v{version}/boreholeexport/csv": {
"get": {
"tags": [
"BoreholeExport"
],
"summary": "Exports the details of up to boreholes as a CSV file. Filters the boreholes based on the provided list of IDs.",
"parameters": [
{
"name": "ids",
"in": "query",
"description": "The list of ids for the boreholes to be exported.",
"schema": {
"maxItems": 100,
"minItems": 1,
"type": "array",
"items": {
"type": "integer",
"format": "int32"
}
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK"
}
}
}
},
"/api/v{version}/boreholeexport/zip": {
"get": {
"tags": [
"BoreholeExport"
],
"summary": "Asynchronously gets all BDMS.Models.Borehole with attachments filtered by ids.",
"parameters": [
{
"name": "ids",
"in": "query",
"description": "The required list of borehole ids to filter by.",
"schema": {
"maxItems": 100,
"minItems": 1,
"type": "array",
"items": {
"type": "integer",
"format": "int32"
}
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK"
}
}
}
},
"/api/v{version}/boreholegeometry": {
"get": {
"tags": [
"BoreholeGeometry"
],
"summary": "Get borehole geometry data for the provided borehole id.",
"parameters": [
{
"name": "boreholeId",
"in": "query",
"description": "The id of the BDMS.Models.Borehole to get geometry data for.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK"
}
}
},
"delete": {
"tags": [
"BoreholeGeometry"
],
"summary": "Delete borehole geometry data for the provided borehole id.",
"parameters": [
{
"name": "boreholeId",
"in": "query",
"description": "The id of the BDMS.Models.Borehole to delete geometry data for.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK"
}
}
},
"post": {
"tags": [
"BoreholeGeometry"
],
"summary": "Upload borehole geometry data to the database.",
"parameters": [
{
"name": "boreholeId",
"in": "query",
"description": "The id of the BDMS.Models.Borehole to upload geometry data for.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"multipart/form-data": {
"schema": {
"type": "object",
"properties": {
"geometryFile": {
"type": "string",
"description": "The Microsoft.AspNetCore.Http.IFormFile containing the geometry data.",
"format": "binary"
},
"geometryFormat": {
"type": "string",
"description": "The format of the geometry data."
}
}
},
"encoding": {
"geometryFile": {
"style": "form"
},
"geometryFormat": {
"style": "form"
}
}
}
}
},
"responses": {
"200": {
"description": "OK"
}
}
}
},
"/api/v{version}/boreholegeometry/geometryformats": {
"get": {
"tags": [
"BoreholeGeometry"
],
"summary": "Get available geometry formats for borehole geometry data.",
"parameters": [
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK"
}
}
}
},
"/api/v{version}/boreholegeometry/getdepthtvd": {
"get": {
"tags": [
"BoreholeGeometry"
],
"summary": "Get the true vertical depth (TVD) from the borehole's geometry for the provided measured depth.",
"parameters": [
{
"name": "boreholeId",
"in": "query",
"description": "The id of the BDMS.Models.Borehole to get the TVD for.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "depthMD",
"in": "query",
"description": "The measured depth to get the TVD for.",
"schema": {
"type": "number",
"format": "double"
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK"
}
}
}
},
"/api/v{version}/boreholegeometry/getdepthmdfrommasl": {
"get": {
"tags": [
"BoreholeGeometry"
],
"summary": "Get the measured depth (MD) from the borehole's geometry for the provided true vertical depth (TVD).",
"parameters": [
{
"name": "boreholeId",
"in": "query",
"description": "The id of the BDMS.Models.Borehole to get the MD for.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "depthMasl",
"in": "query",
"description": "The depth above sea level to get the MD for.",
"schema": {
"type": "number",
"format": "double"
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK"
}
}
}
},
"/api/v{version}/boreholegeometry/getdepthinmasl": {
"get": {
"tags": [
"BoreholeGeometry"
],
"summary": "Get the depth in meters above sea level (MASL) from the borehole's reference elevation for the provided measured depth.",
"parameters": [
{
"name": "boreholeId",
"in": "query",
"description": "The id of the BDMS.Models.Borehole to get the MASL for.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "depthMD",
"in": "query",
"description": "The measured depth to get the MASL for.",
"schema": {
"type": "number",
"format": "double"
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK"
}
}
}
},
"/api/v{version}/canton": {
"get": {
"tags": [
"Canton"
],
"summary": "Asynchronously gets all existing values (except null) for BDMS.Models.Borehole.Canton/>.",
"parameters": [
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain": {
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
},
"application/json": {
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
},
"text/json": {
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
}
}
}
},
"/api/v{version}/casing": {
"get": {
"tags": [
"Casing"
],
"summary": "Asynchronously gets the BDMS.Models.Casings, filtered either by completionId or boreholeId.",
"parameters": [
{
"name": "completionId",
"in": "query",
"description": "The id of the completion containing the BDMS.Models.Casing to get.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "boreholeId",
"in": "query",
"description": "The id of the borehole containing the BDMS.Models.Casings to get.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Casing"
}
}
},
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Casing"
}
}
},
"text/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Casing"
}
}
}
}
}
}
},
"post": {
"tags": [
"Casing"
],
"parameters": [
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Casing"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/Casing"
}
},
"application/*+json": {
"schema": {
"$ref": "#/components/schemas/Casing"
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/Casing"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/Casing"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/Casing"
}
}
}
}
}
},
"put": {
"tags": [
"Casing"
],
"parameters": [
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Casing"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/Casing"
}
},
"application/*+json": {
"schema": {
"$ref": "#/components/schemas/Casing"
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/Casing"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/Casing"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/Casing"
}
}
}
}
}
},
"delete": {
"tags": [
"Casing"
],
"parameters": [
{
"name": "id",
"in": "query",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK"
}
}
}
},
"/api/v{version}/casing/{id}": {
"get": {
"tags": [
"Casing"
],
"summary": "Asynchronously gets the BDMS.Models.Casing with the specified id.",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/Casing"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/Casing"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/Casing"
}
}
}
}
}
}
},
"/api/v{version}/chronostratigraphy": {
"get": {
"tags": [
"Chronostratigraphy"
],
"summary": "Asynchronously gets the BDMS.Models.ChronostratigraphyLayers, filtered by stratigraphyId.",
"parameters": [
{
"name": "stratigraphyId",
"in": "query",
"description": "The id of the stratigraphy referenced in the chronostratigraphy to get.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ChronostratigraphyLayer"
}
}
},
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ChronostratigraphyLayer"
}
}
},
"text/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ChronostratigraphyLayer"
}
}
}
}
}
}
},
"put": {
"tags": [
"Chronostratigraphy"
],
"parameters": [
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ChronostratigraphyLayer"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/ChronostratigraphyLayer"
}
},
"application/*+json": {
"schema": {
"$ref": "#/components/schemas/ChronostratigraphyLayer"
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/ChronostratigraphyLayer"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/ChronostratigraphyLayer"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/ChronostratigraphyLayer"
}
}
}
}
}
},
"delete": {
"tags": [
"Chronostratigraphy"
],
"parameters": [
{
"name": "id",
"in": "query",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK"
}
}
},
"post": {
"tags": [
"Chronostratigraphy"
],
"parameters": [
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ChronostratigraphyLayer"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/ChronostratigraphyLayer"
}
},
"application/*+json": {
"schema": {
"$ref": "#/components/schemas/ChronostratigraphyLayer"
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/ChronostratigraphyLayer"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/ChronostratigraphyLayer"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/ChronostratigraphyLayer"
}
}
}
}
}
}
},
"/api/v{version}/chronostratigraphy/{id}": {
"get": {
"tags": [
"Chronostratigraphy"
],
"summary": "Asynchronously gets the BDMS.Models.ChronostratigraphyLayer with the specified id.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The id of the facies description to get.",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/ChronostratigraphyLayer"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/ChronostratigraphyLayer"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/ChronostratigraphyLayer"
}
}
}
}
}
}
},
"/api/v{version}/codelist": {
"get": {
"tags": [
"CodeList"
],
"summary": "Asynchronously gets the BDMS.Models.Codelists, optionally filtered by schema.",
"parameters": [
{
"name": "schema",
"in": "query",
"description": "The schema of the codelists to get.",
"schema": {
"type": "string"
}
},
{
"name": "testKindIds",
"in": "query",
"description": "The hydrotest kinds used to filter the codelists to get.",
"schema": {
"type": "array",
"items": {
"type": "integer",
"format": "int32"
}
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Codelist"
}
}
},
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Codelist"
}
}
},
"text/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Codelist"
}
}
}
}
}
}
}
},
"/api/v{version}/codelist/csv": {
"get": {
"tags": [
"CodeList"
],
"parameters": [
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK"
}
}
}
},
"/api/v{version}/completion": {
"get": {
"tags": [
"Completion"
],
"summary": "Asynchronously gets the BDMS.Models.Completions, filtered by boreholeId.",
"parameters": [
{
"name": "boreholeId",
"in": "query",
"description": "The id of the borehole containing the BDMS.Models.Completion to get.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Completion"
}
}
},
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Completion"
}
}
},
"text/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Completion"
}
}
}
}
}
}
},
"post": {
"tags": [
"Completion"
],
"parameters": [
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Completion"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/Completion"
}
},
"application/*+json": {
"schema": {
"$ref": "#/components/schemas/Completion"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/Completion"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/Completion"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/Completion"
}
}
}
}
}
},
"put": {
"tags": [
"Completion"
],
"parameters": [
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Completion"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/Completion"
}
},
"application/*+json": {
"schema": {
"$ref": "#/components/schemas/Completion"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/Completion"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/Completion"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/Completion"
}
}
}
}
}
},
"delete": {
"tags": [
"Completion"
],
"description": "Automatically sets the remaining and latest completion as the primary completion, if possible.",
"parameters": [
{
"name": "id",
"in": "query",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK"
}
}
}
},
"/api/v{version}/completion/{id}": {
"get": {
"tags": [
"Completion"
],
"summary": "Asynchronously gets the BDMS.Models.Completion with the specified id.",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/Completion"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/Completion"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/Completion"
}
}
}
}
}
}
},
"/api/v{version}/completion/copy": {
"post": {
"tags": [
"Completion"
],
"summary": "Asynchronously copies a BDMS.Models.Completion.",
"parameters": [
{
"name": "id",
"in": "query",
"description": "The BDMS.Models.Completion.Id of the completion to copy.",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain": {
"schema": {
"type": "integer",
"format": "int32"
}
},
"application/json": {
"schema": {
"type": "integer",
"format": "int32"
}
},
"text/json": {
"schema": {
"type": "integer",
"format": "int32"
}
}
}
}
}
}
},
"/api/v{version}/document": {
"post": {
"tags": [
"Document"
],
"summary": "Adds the BDMS.Models.Document to the BDMS.Models.Borehole by BDMS.Models.Document.BoreholeId.",
"parameters": [
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"description": "The BDMS.Models.Document to add.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Document"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/Document"
}
},
"application/*+json": {
"schema": {
"$ref": "#/components/schemas/Document"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/Document"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/Document"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/Document"
}
}
}
}
}
},
"put": {
"tags": [
"Document"
],
"summary": "Updates the documents with the provided data.",
"parameters": [
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"description": "An array of objects containing the updated values for the documents.",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/DocumentUpdate"
}
}
},
"text/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/DocumentUpdate"
}
}
},
"application/*+json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/DocumentUpdate"
}
}
}
}
},
"responses": {
"200": {
"description": "OK"
}
}
},
"delete": {
"tags": [
"Document"
],
"summary": "Deletes the BDMS.Models.Documents with the provided documentIds.",
"parameters": [
{
"name": "documentIds",
"in": "query",
"description": "The ids of the BDMS.Models.Documents to delete.",
"schema": {
"maxItems": 100,
"type": "array",
"items": {
"type": "integer",
"format": "int32"
}
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK"
}
}
}
},
"/api/v{version}/document/getallforborehole": {
"get": {
"tags": [
"Document"
],
"summary": "Get all BDMS.Models.Document that are linked to the BDMS.Models.Borehole with BDMS.Models.Borehole.Id provided in boreholeId.",
"parameters": [
{
"name": "boreholeId",
"in": "query",
"description": "The id of the BDMS.Models.Borehole.",
"required": true,
"schema": {
"maximum": 2147483647,
"minimum": 1,
"type": "integer",
"format": "int32"
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Document"
}
}
},
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Document"
}
}
},
"text/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Document"
}
}
}
}
}
}
}
},
"/api/v{version}/fieldmeasurement": {
"get": {
"tags": [
"FieldMeasurement"
],
"summary": "Asynchronously gets all field measurement records, filtered by boreholeId.",
"parameters": [
{
"name": "boreholeId",
"in": "query",
"description": "The id of the borehole referenced in the observations to get.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/FieldMeasurement"
}
}
},
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/FieldMeasurement"
}
}
},
"text/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/FieldMeasurement"
}
}
}
}
}
}
},
"post": {
"tags": [
"FieldMeasurement"
],
"summary": "Asynchronously creates the entity specified.",
"parameters": [
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"description": "The field measurement to create.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FieldMeasurement"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/FieldMeasurement"
}
},
"application/*+json": {
"schema": {
"$ref": "#/components/schemas/FieldMeasurement"
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/FieldMeasurement"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/FieldMeasurement"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/FieldMeasurement"
}
}
}
}
}
},
"put": {
"tags": [
"FieldMeasurement"
],
"summary": "Asynchronously updates the entity specified.",
"parameters": [
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"description": "The field measurement to update.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FieldMeasurement"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/FieldMeasurement"
}
},
"application/*+json": {
"schema": {
"$ref": "#/components/schemas/FieldMeasurement"
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/FieldMeasurement"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/FieldMeasurement"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/FieldMeasurement"
}
}
}
}
}
},
"delete": {
"tags": [
"FieldMeasurement"
],
"summary": "Asynchronously deletes the field measurement with the specified id.",
"parameters": [
{
"name": "id",
"in": "query",
"description": "The id of the field measurement to delete.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK"
}
}
}
},
"/api/v{version}/groundwaterlevelmeasurement": {
"get": {
"tags": [
"GroundwaterLevelMeasurement"
],
"summary": "Asynchronously gets all groundwater level measurement records, filtered by boreholeId.",
"parameters": [
{
"name": "boreholeId",
"in": "query",
"description": "The id of the borehole referenced in the observations to get.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/GroundwaterLevelMeasurement"
}
}
},
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/GroundwaterLevelMeasurement"
}
}
},
"text/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/GroundwaterLevelMeasurement"
}
}
}
}
}
}
},
"put": {
"tags": [
"GroundwaterLevelMeasurement"
],
"parameters": [
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GroundwaterLevelMeasurement"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/GroundwaterLevelMeasurement"
}
},
"application/*+json": {
"schema": {
"$ref": "#/components/schemas/GroundwaterLevelMeasurement"
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/GroundwaterLevelMeasurement"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/GroundwaterLevelMeasurement"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/GroundwaterLevelMeasurement"
}
}
}
}
}
},
"delete": {
"tags": [
"GroundwaterLevelMeasurement"
],
"parameters": [
{
"name": "id",
"in": "query",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK"
}
}
},
"post": {
"tags": [
"GroundwaterLevelMeasurement"
],
"parameters": [
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GroundwaterLevelMeasurement"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/GroundwaterLevelMeasurement"
}
},
"application/*+json": {
"schema": {
"$ref": "#/components/schemas/GroundwaterLevelMeasurement"
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/GroundwaterLevelMeasurement"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/GroundwaterLevelMeasurement"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/GroundwaterLevelMeasurement"
}
}
}
}
}
}
},
"/api/v{version}/hydrotest": {
"get": {
"tags": [
"Hydrotest"
],
"summary": "Asynchronously gets all hydrotest records, filtered by boreholeId.",
"parameters": [
{
"name": "boreholeId",
"in": "query",
"description": "The id of the borehole referenced in the observations to get.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Hydrotest"
}
}
},
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Hydrotest"
}
}
},
"text/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Hydrotest"
}
}
}
}
}
}
},
"post": {
"tags": [
"Hydrotest"
],
"summary": "Asynchronously creates the entity specified.",
"parameters": [
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"description": "The hydrotest to create.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Hydrotest"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/Hydrotest"
}
},
"application/*+json": {
"schema": {
"$ref": "#/components/schemas/Hydrotest"
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/Hydrotest"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/Hydrotest"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/Hydrotest"
}
}
}
}
}
},
"put": {
"tags": [
"Hydrotest"
],
"summary": "Asynchronously updates the entity specified.",
"parameters": [
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"description": "The hydrotest to update.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Hydrotest"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/Hydrotest"
}
},
"application/*+json": {
"schema": {
"$ref": "#/components/schemas/Hydrotest"
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/Hydrotest"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/Hydrotest"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/Hydrotest"
}
}
}
}
}
},
"delete": {
"tags": [
"Hydrotest"
],
"summary": "Asynchronously deletes the hydrotest with the specified id.",
"parameters": [
{
"name": "id",
"in": "query",
"description": "The id of the hydrotest to delete.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK"
}
}
}
},
"/api/v{version}/import/csv": {
"post": {
"tags": [
"Import"
],
"summary": "Receives an uploaded csv file to import one or several BDMS.Models.Borehole(s).",
"parameters": [
{
"name": "workgroupId",
"in": "query",
"description": "The BDMS.Models.Workgroup.Id of the new BDMS.Models.Borehole(s).",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"multipart/form-data": {
"schema": {
"type": "object",
"properties": {
"boreholesFile": {
"type": "string",
"description": "The Microsoft.AspNetCore.Http.IFormFile containing the borehole csv records that were uploaded.",
"format": "binary"
}
}
},
"encoding": {
"boreholesFile": {
"style": "form"
}
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain": {
"schema": {
"type": "integer",
"format": "int32"
}
},
"application/json": {
"schema": {
"type": "integer",
"format": "int32"
}
},
"text/json": {
"schema": {
"type": "integer",
"format": "int32"
}
}
}
}
}
}
},
"/api/v{version}/import/json": {
"post": {
"tags": [
"Import"
],
"summary": "Receives an uploaded JSON file to import one or several BDMS.Models.Borehole(s).",
"parameters": [
{
"name": "workgroupId",
"in": "query",
"description": "The BDMS.Models.Workgroup.Id of the new BDMS.Models.Borehole(s).",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"multipart/form-data": {
"schema": {
"type": "object",
"properties": {
"boreholesFile": {
"type": "string",
"description": "The Microsoft.AspNetCore.Http.IFormFile containing the borehole JSON records that were uploaded.",
"format": "binary"
}
}
},
"encoding": {
"boreholesFile": {
"style": "form"
}
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain": {
"schema": {
"type": "integer",
"format": "int32"
}
},
"application/json": {
"schema": {
"type": "integer",
"format": "int32"
}
},
"text/json": {
"schema": {
"type": "integer",
"format": "int32"
}
}
}
}
}
}
},
"/api/v{version}/import/zip": {
"post": {
"tags": [
"Import"
],
"summary": "Receives an uploaded ZIP file to import one or several BDMS.Models.Borehole(s).\r\nThe ZIP file can additionally contain attachments.",
"parameters": [
{
"name": "workgroupId",
"in": "query",
"description": "The BDMS.Models.Workgroup.Id of the new BDMS.Models.Borehole(s).",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"multipart/form-data": {
"schema": {
"type": "object",
"properties": {
"boreholesFile": {
"type": "string",
"description": "The Microsoft.AspNetCore.Http.IFormFile containing the borehole records and attachments that were uploaded.",
"format": "binary"
}
}
},
"encoding": {
"boreholesFile": {
"style": "form"
}
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain": {
"schema": {
"type": "integer",
"format": "int32"
}
},
"application/json": {
"schema": {
"type": "integer",
"format": "int32"
}
},
"text/json": {
"schema": {
"type": "integer",
"format": "int32"
}
}
}
}
}
}
},
"/api/v{version}/instrumentation": {
"get": {
"tags": [
"Instrumentation"
],
"summary": "Asynchronously gets the BDMS.Models.Instrumentations, filtered by completionId.",
"parameters": [
{
"name": "completionId",
"in": "query",
"description": "The id of the completion containing the BDMS.Models.Instrumentation to get.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Instrumentation"
}
}
},
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Instrumentation"
}
}
},
"text/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Instrumentation"
}
}
}
}
}
}
},
"post": {
"tags": [
"Instrumentation"
],
"parameters": [
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Instrumentation"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/Instrumentation"
}
},
"application/*+json": {
"schema": {
"$ref": "#/components/schemas/Instrumentation"
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/Instrumentation"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/Instrumentation"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/Instrumentation"
}
}
}
}
}
},
"put": {
"tags": [
"Instrumentation"
],
"parameters": [
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Instrumentation"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/Instrumentation"
}
},
"application/*+json": {
"schema": {
"$ref": "#/components/schemas/Instrumentation"
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/Instrumentation"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/Instrumentation"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/Instrumentation"
}
}
}
}
}
},
"delete": {
"tags": [
"Instrumentation"
],
"parameters": [
{
"name": "id",
"in": "query",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK"
}
}
}
},
"/api/v{version}/instrumentation/{id}": {
"get": {
"tags": [
"Instrumentation"
],
"summary": "Asynchronously gets the BDMS.Models.Instrumentation with the specified id.",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/Instrumentation"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/Instrumentation"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/Instrumentation"
}
}
}
}
}
}
},
"/api/v{version}/lithostratigraphy": {
"get": {
"tags": [
"Lithostratigraphy"
],
"summary": "Asynchronously gets the BDMS.Models.LithostratigraphyLayers of the specified stratigraphyId.",
"parameters": [
{
"name": "stratigraphyId",
"in": "query",
"description": "The id of the stratigraphy referenced in the lithostratigraphy to get.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/LithostratigraphyLayer"
}
}
},
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/LithostratigraphyLayer"
}
}
},
"text/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/LithostratigraphyLayer"
}
}
}
}
}
}
},
"put": {
"tags": [
"Lithostratigraphy"
],
"parameters": [
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LithostratigraphyLayer"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/LithostratigraphyLayer"
}
},
"application/*+json": {
"schema": {
"$ref": "#/components/schemas/LithostratigraphyLayer"
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/LithostratigraphyLayer"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/LithostratigraphyLayer"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/LithostratigraphyLayer"
}
}
}
}
}
},
"delete": {
"tags": [
"Lithostratigraphy"
],
"parameters": [
{
"name": "id",
"in": "query",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK"
}
}
},
"post": {
"tags": [
"Lithostratigraphy"
],
"parameters": [
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LithostratigraphyLayer"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/LithostratigraphyLayer"
}
},
"application/*+json": {
"schema": {
"$ref": "#/components/schemas/LithostratigraphyLayer"
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/LithostratigraphyLayer"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/LithostratigraphyLayer"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/LithostratigraphyLayer"
}
}
}
}
}
}
},
"/api/v{version}/lithostratigraphy/{id}": {
"get": {
"tags": [
"Lithostratigraphy"
],
"summary": "Asynchronously gets the BDMS.Models.LithostratigraphyLayer with the specified id.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The id of the lithostratigraphy to get.",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/LithostratigraphyLayer"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/LithostratigraphyLayer"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/LithostratigraphyLayer"
}
}
}
}
}
}
},
"/api/v{version}/location/identify": {
"get": {
"tags": [
"Location"
],
"summary": "Asynchronously retrieves location information (country_bho, canton_bho and municipality_bho) for a single location\r\nusing the coordinates and the original reference system.",
"parameters": [
{
"name": "east",
"in": "query",
"description": "The east coordinate of the location.",
"required": true,
"schema": {
"type": "number",
"format": "double"
}
},
{
"name": "north",
"in": "query",
"description": "The north coordinate of the location.",
"required": true,
"schema": {
"type": "number",
"format": "double"
}
},
{
"name": "srid",
"in": "query",
"description": "The id of the reference system.",
"schema": {
"type": "integer",
"format": "int32",
"default": 2056
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/LocationInfo"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/LocationInfo"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/LocationInfo"
}
}
}
}
}
}
},
"/api/v{version}/log": {
"get": {
"tags": [
"Log"
],
"summary": "Asynchronously gets the BDMS.Models.LogRuns, filtered by boreholeId.",
"parameters": [
{
"name": "boreholeId",
"in": "query",
"description": "The id of the borehole containing the logRuns to get.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/LogRun"
}
}
},
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/LogRun"
}
}
},
"text/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/LogRun"
}
}
}
}
}
}
},
"delete": {
"tags": [
"Log"
],
"summary": "Deletes one or multiple log runs.",
"parameters": [
{
"name": "logRunIds",
"in": "query",
"description": "The IDs of the log runs to delete.",
"schema": {
"maxItems": 100,
"type": "array",
"items": {
"type": "integer",
"format": "int32"
}
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK"
}
}
},
"post": {
"tags": [
"Log"
],
"parameters": [
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LogRun"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/LogRun"
}
},
"application/*+json": {
"schema": {
"$ref": "#/components/schemas/LogRun"
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/LogRun"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/LogRun"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/LogRun"
}
}
}
}
}
},
"put": {
"tags": [
"Log"
],
"parameters": [
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LogRun"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/LogRun"
}
},
"application/*+json": {
"schema": {
"$ref": "#/components/schemas/LogRun"
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/LogRun"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/LogRun"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/LogRun"
}
}
}
}
}
}
},
"/api/v{version}/log/upload": {
"post": {
"tags": [
"Log"
],
"summary": "Uploads a log file to the cloud storage and links it to the log run.\r\nIf logFileId is provided, the file is linked to the existing BDMS.Models.LogFile instead of creating a new one.",
"parameters": [
{
"name": "logRunId",
"in": "query",
"description": "The log run ID to associate with the file.",
"schema": {
"maximum": 2147483647,
"minimum": 1,
"type": "integer",
"format": "int32"
}
},
{
"name": "logFileId",
"in": "query",
"description": "Optional existing log file ID to link the uploaded file to.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"multipart/form-data": {
"schema": {
"type": "object",
"properties": {
"file": {
"type": "string",
"description": "The file to upload.",
"format": "binary"
}
}
},
"encoding": {
"file": {
"style": "form"
}
}
}
}
},
"responses": {
"200": {
"description": "OK"
}
}
}
},
"/api/v{version}/log/download": {
"get": {
"tags": [
"Log"
],
"summary": "Downloads a log file from the cloud storage.",
"parameters": [
{
"name": "id",
"in": "query",
"description": "The BDMS.Models.LogFile.Id of the file to download.",
"schema": {
"maximum": 2147483647,
"minimum": 1,
"type": "integer",
"format": "int32"
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK"
}
}
}
},
"/api/v{version}/log/{id}": {
"delete": {
"tags": [
"Log"
],
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK"
}
}
}
},
"/api/v{version}/log/import": {
"post": {
"tags": [
"Log"
],
"summary": "Imports log runs and optionally log files from CSV files.",
"parameters": [
{
"name": "boreholeId",
"in": "query",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"multipart/form-data": {
"schema": {
"type": "object",
"properties": {
"logRunsCsvFile": {
"type": "string",
"format": "binary"
},
"logFilesCsvFile": {
"type": "string",
"format": "binary"
}
}
},
"encoding": {
"logRunsCsvFile": {
"style": "form"
},
"logFilesCsvFile": {
"style": "form"
}
}
}
}
},
"responses": {
"200": {
"description": "OK"
}
}
}
},
"/api/v{version}/log/export": {
"post": {
"tags": [
"Log"
],
"summary": "Exports log runs or log files as a ZIP archive containing CSV files and optionally the file attachments.",
"parameters": [
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LogExportRequest"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/LogExportRequest"
}
},
"application/*+json": {
"schema": {
"$ref": "#/components/schemas/LogExportRequest"
}
}
}
},
"responses": {
"200": {
"description": "OK"
}
}
}
},
"/api/v{version}/maintenance/{taskType}": {
"post": {
"tags": [
"Maintenance"
],
"summary": "Starts the specified maintenance task in the background.\r\nReturns 202 Accepted if the task was started, or 409 Conflict if it is already running.",
"parameters": [
{
"name": "taskType",
"in": "path",
"description": "The BDMS.Maintenance.MaintenanceTaskType to start.",
"required": true,
"schema": {
"$ref": "#/components/schemas/MaintenanceTaskType"
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"description": "Parameters controlling whether to process only missing values and whether to perform a dry run.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/MaintenanceTaskParameters"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/MaintenanceTaskParameters"
}
},
"application/*+json": {
"schema": {
"$ref": "#/components/schemas/MaintenanceTaskParameters"
}
}
}
},
"responses": {
"202": {
"description": "The maintenance task was accepted and started in the background."
},
"409": {
"description": "The task is already running."
}
}
}
},
"/api/v{version}/maintenance/status": {
"get": {
"tags": [
"Maintenance"
],
"summary": "Gets the current in-memory state of all maintenance tasks.",
"parameters": [
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Returns the current state of all maintenance tasks.",
"content": {
"text/plain": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/MaintenanceTaskState"
}
}
},
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/MaintenanceTaskState"
}
}
},
"text/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/MaintenanceTaskState"
}
}
}
}
}
}
}
},
"/api/v{version}/maintenance/logs": {
"get": {
"tags": [
"Maintenance"
],
"summary": "Gets a paginated list of execution log entries for all maintenance tasks.",
"parameters": [
{
"name": "pageNumber",
"in": "query",
"description": "The page number to retrieve, starting at 1 for the first page.",
"schema": {
"maximum": 2147483647,
"minimum": 1,
"type": "integer",
"format": "int32",
"default": 1
}
},
{
"name": "pageSize",
"in": "query",
"description": "The number of entries per page (default 5, max 100).",
"schema": {
"maximum": 100,
"minimum": 1,
"type": "integer",
"format": "int32",
"default": 10
}
},
{
"name": "includeDryRun",
"in": "query",
"description": "Whether to include dry-run entries (default false).",
"schema": {
"type": "boolean",
"default": false
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Returns a paginated list of log entries.",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/PaginatedLogResponse"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/PaginatedLogResponse"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/PaginatedLogResponse"
}
}
}
}
}
}
},
"/api/v{version}/permissions/canedit": {
"get": {
"tags": [
"Permissions"
],
"summary": "Gets whether the currently authenticated user has permission to edit the BDMS.Models.Borehole.",
"parameters": [
{
"name": "boreholeId",
"in": "query",
"description": "The id of the borehole to get the edit permissions for.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain": {
"schema": {
"type": "boolean"
}
},
"application/json": {
"schema": {
"type": "boolean"
}
},
"text/json": {
"schema": {
"type": "boolean"
}
}
}
}
}
}
},
"/api/v{version}/permissions/canmanage": {
"get": {
"tags": [
"Permissions"
],
"summary": "Gets whether the currently authenticated user has permission to manage the BDMS.Models.Borehole\r\n(e.g. change its workflow status, delete it, or update tab statuses).",
"parameters": [
{
"name": "boreholeId",
"in": "query",
"description": "The id of the borehole to check management permissions for.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain": {
"schema": {
"type": "boolean"
}
},
"application/json": {
"schema": {
"type": "boolean"
}
},
"text/json": {
"schema": {
"type": "boolean"
}
}
}
}
}
}
},
"/api/v{version}/photo/upload": {
"post": {
"tags": [
"Photo"
],
"summary": "Uploads a photo to the cloud storage and links it to the borehole.",
"parameters": [
{
"name": "boreholeId",
"in": "query",
"description": "The BDMS.Models.Borehole.Id to link the uploaded file to.",
"schema": {
"maximum": 2147483647,
"minimum": 1,
"type": "integer",
"format": "int32"
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"multipart/form-data": {
"schema": {
"type": "object",
"properties": {
"file": {
"type": "string",
"description": "The photo to upload and link to the BDMS.Models.Borehole.",
"format": "binary"
}
}
},
"encoding": {
"file": {
"style": "form"
}
}
}
}
},
"responses": {
"200": {
"description": "OK"
}
}
}
},
"/api/v{version}/photo/getallforborehole": {
"get": {
"tags": [
"Photo"
],
"summary": "Get all BDMS.Models.Photo that are linked to the BDMS.Models.Borehole with BDMS.Models.Borehole.Id provided in boreholeId.",
"parameters": [
{
"name": "boreholeId",
"in": "query",
"description": "The id of the BDMS.Models.Borehole.",
"required": true,
"schema": {
"maximum": 2147483647,
"minimum": 1,
"type": "integer",
"format": "int32"
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Photo"
}
}
},
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Photo"
}
}
},
"text/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Photo"
}
}
}
}
}
}
}
},
"/api/v{version}/photo/image": {
"get": {
"tags": [
"Photo"
],
"summary": "Returns the image data for the specified BDMS.Models.Photo.",
"parameters": [
{
"name": "photoId",
"in": "query",
"description": "The id of the photo.",
"schema": {
"maximum": 2147483647,
"minimum": 1,
"type": "integer",
"format": "int32"
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK"
}
}
}
},
"/api/v{version}/photo/export": {
"get": {
"tags": [
"Photo"
],
"summary": "Exports the photos matching the photoIds.",
"parameters": [
{
"name": "photoIds",
"in": "query",
"description": "Ids of the photos to export.",
"schema": {
"maxItems": 100,
"type": "array",
"items": {
"type": "integer",
"format": "int32"
}
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK"
}
}
}
},
"/api/v{version}/photo": {
"delete": {
"tags": [
"Photo"
],
"parameters": [
{
"name": "photoIds",
"in": "query",
"schema": {
"maxItems": 100,
"type": "array",
"items": {
"type": "integer",
"format": "int32"
}
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK"
}
}
},
"put": {
"tags": [
"Photo"
],
"summary": "Updates the public state of the photos matching the provided data.",
"parameters": [
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"description": "An array of objects containing photo IDs and their new public state.",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PhotoUpdate"
}
}
},
"text/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PhotoUpdate"
}
}
},
"application/*+json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PhotoUpdate"
}
}
}
}
},
"responses": {
"200": {
"description": "OK"
}
}
}
},
"/api/v{version}/profile/upload": {
"post": {
"tags": [
"Profile"
],
"summary": "Uploads a file to cloud storage and creates a BDMS.Models.Profile attached to the borehole.",
"parameters": [
{
"name": "boreholeId",
"in": "query",
"description": "The BDMS.Models.Borehole.Id to attach the uploaded profile to.",
"required": true,
"schema": {
"maximum": 2147483647,
"minimum": 1,
"type": "integer",
"format": "int32"
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"multipart/form-data": {
"schema": {
"required": [
"file"
],
"type": "object",
"properties": {
"file": {
"type": "string",
"description": "The file to upload.",
"format": "binary"
}
}
},
"encoding": {
"file": {
"style": "form"
}
}
}
}
},
"responses": {
"200": {
"description": "OK"
}
}
}
},
"/api/v{version}/profile/download": {
"get": {
"tags": [
"Profile"
],
"summary": "Downloads the file pointed to by the BDMS.Models.Profile with id profileId.",
"parameters": [
{
"name": "profileId",
"in": "query",
"description": "The BDMS.Models.Profile.Id of the profile to download.",
"schema": {
"maximum": 2147483647,
"minimum": 1,
"type": "integer",
"format": "int32"
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK"
}
}
}
},
"/api/v{version}/profile/getdataextractionfileinfo": {
"get": {
"tags": [
"Profile"
],
"summary": "Returns the data-extraction image info (size + total count) for the given profile and page index.",
"parameters": [
{
"name": "profileId",
"in": "query",
"description": "The id of the profile.",
"required": true,
"schema": {
"maximum": 2147483647,
"minimum": 1,
"type": "integer",
"format": "int32"
}
},
{
"name": "index",
"in": "query",
"description": "The index of the page in the profile, with 1 as index for the first page.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK"
}
}
}
},
"/api/v{version}/profile/dataextraction/{imageName}": {
"get": {
"tags": [
"Profile"
],
"summary": "Downloads a data-extraction image from S3.",
"parameters": [
{
"name": "imageName",
"in": "path",
"description": "The image name.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK"
}
}
}
},
"/api/v{version}/profile/getallforborehole": {
"get": {
"tags": [
"Profile"
],
"summary": "Lists all BDMS.Models.Profiles attached to the given borehole.",
"parameters": [
{
"name": "boreholeId",
"in": "query",
"description": "The id of the BDMS.Models.Borehole.",
"required": true,
"schema": {
"maximum": 2147483647,
"minimum": 1,
"type": "integer",
"format": "int32"
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Profile"
}
}
},
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Profile"
}
}
},
"text/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Profile"
}
}
}
}
}
}
}
},
"/api/v{version}/profile/getocrstatusforborehole": {
"get": {
"tags": [
"Profile"
],
"summary": "Lists only the OCR status of every BDMS.Models.Profile attached to a borehole.\r\nDesigned for polling: returns a minimal payload `[{id, ocrStatus}]`.",
"parameters": [
{
"name": "boreholeId",
"in": "query",
"description": "The id of the BDMS.Models.Borehole.",
"required": true,
"schema": {
"maximum": 2147483647,
"minimum": 1,
"type": "integer",
"format": "int32"
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ProfileOcrStatus"
}
}
},
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ProfileOcrStatus"
}
}
},
"text/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ProfileOcrStatus"
}
}
}
}
}
}
}
},
"/api/v{version}/profile/{id}": {
"delete": {
"tags": [
"Profile"
],
"summary": "Deletes a BDMS.Models.Profile and removes its file from cloud storage.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The id of the BDMS.Models.Profile to delete.",
"required": true,
"schema": {
"maximum": 2147483647,
"minimum": 1,
"type": "integer",
"format": "int32"
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK"
}
}
},
"put": {
"tags": [
"Profile"
],
"summary": "Updates the description and public flag of a BDMS.Models.Profile.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The id of the BDMS.Models.Profile to update.",
"required": true,
"schema": {
"maximum": 2147483647,
"minimum": 1,
"type": "integer",
"format": "int32"
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"description": "The updated BDMS.Models.ProfileUpdate body.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProfileUpdate"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/ProfileUpdate"
}
},
"application/*+json": {
"schema": {
"$ref": "#/components/schemas/ProfileUpdate"
}
}
}
},
"responses": {
"200": {
"description": "OK"
}
}
}
},
"/api/v{version}/section": {
"get": {
"tags": [
"Section"
],
"summary": "Asynchronously gets the BDMS.Models.Sections of the specified boreholeId.",
"parameters": [
{
"name": "boreholeId",
"in": "query",
"description": "The id of the borehole referenced in the sections to get.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Section"
}
}
},
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Section"
}
}
},
"text/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Section"
}
}
}
}
}
}
},
"post": {
"tags": [
"Section"
],
"parameters": [
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Section"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/Section"
}
},
"application/*+json": {
"schema": {
"$ref": "#/components/schemas/Section"
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/Section"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/Section"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/Section"
}
}
}
}
}
},
"put": {
"tags": [
"Section"
],
"parameters": [
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Section"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/Section"
}
},
"application/*+json": {
"schema": {
"$ref": "#/components/schemas/Section"
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/Section"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/Section"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/Section"
}
}
}
}
}
},
"delete": {
"tags": [
"Section"
],
"parameters": [
{
"name": "id",
"in": "query",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK"
}
}
}
},
"/api/v{version}/section/{id}": {
"get": {
"tags": [
"Section"
],
"summary": "Asynchronously gets the BDMS.Models.Section with the specified id.",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/Section"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/Section"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/Section"
}
}
}
}
}
}
},
"/api/v{version}/settings": {
"get": {
"tags": [
"Settings"
],
"parameters": [
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "The current settings of the application.",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/Settings"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/Settings"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/Settings"
}
}
}
}
}
}
},
"/api/v{version}/stratigraphy": {
"get": {
"tags": [
"Stratigraphy"
],
"summary": "Asynchronously gets the BDMS.Models.Stratigraphys, filtered by boreholeId.",
"parameters": [
{
"name": "boreholeId",
"in": "query",
"description": "The id of the borehole containing the stratigraphies to get.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Stratigraphy"
}
}
},
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Stratigraphy"
}
}
},
"text/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Stratigraphy"
}
}
}
}
}
}
},
"delete": {
"tags": [
"Stratigraphy"
],
"summary": "Asynchronously deletes the BDMS.Models.Stratigraphy with the specified id.",
"parameters": [
{
"name": "id",
"in": "query",
"description": "The id of the stratigraphy to delete.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK"
}
}
},
"post": {
"tags": [
"Stratigraphy"
],
"summary": "Asynchronously creates one or more BDMS.Models.Stratigraphy entries, each together with the\r\ncontents of one of its tabs (currently only the Lithology tab is implemented). Used both by the\r\n\"add stratigraphy\" action (a single header-only edit) and by the extraction modal that bulk-adds\r\n1–n stratigraphies with their lithology contents. All edits must target the same borehole; a\r\nduplicate name (already on the borehole or repeated within the batch) is rejected with a\r\n`mustBeUnique` error.",
"parameters": [
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"description": "The stratigraphies (with optional tab content) to create.",
"content": {
"application/json": {
"schema": {
"minItems": 1,
"type": "array",
"items": {
"$ref": "#/components/schemas/StratigraphyTabEdit"
}
}
},
"text/json": {
"schema": {
"minItems": 1,
"type": "array",
"items": {
"$ref": "#/components/schemas/StratigraphyTabEdit"
}
}
},
"application/*+json": {
"schema": {
"minItems": 1,
"type": "array",
"items": {
"$ref": "#/components/schemas/StratigraphyTabEdit"
}
}
}
},
"required": true
},
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StratigraphyTabEdit"
}
}
},
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StratigraphyTabEdit"
}
}
},
"text/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StratigraphyTabEdit"
}
}
}
}
}
}
},
"put": {
"tags": [
"Stratigraphy"
],
"summary": "Asynchronously updates a BDMS.Models.Stratigraphy header together with the contents of one of\r\nits tabs (currently only the Lithology tab is implemented). The whole edit is persisted in a\r\nsingle transaction.",
"parameters": [
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StratigraphyTabEdit"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/StratigraphyTabEdit"
}
},
"application/*+json": {
"schema": {
"$ref": "#/components/schemas/StratigraphyTabEdit"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/StratigraphyTabEdit"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/StratigraphyTabEdit"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/StratigraphyTabEdit"
}
}
}
}
}
}
},
"/api/v{version}/stratigraphy/{stratigraphyId}/lithology": {
"get": {
"tags": [
"Stratigraphy"
],
"summary": "Asynchronously gets the full contents of the Lithology tab for the given stratigraphyId.",
"parameters": [
{
"name": "stratigraphyId",
"in": "path",
"description": "The id of the stratigraphy whose lithology tab contents to get.",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/LithologyTabContents"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/LithologyTabContents"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/LithologyTabContents"
}
}
}
}
}
}
},
"/api/v{version}/stratigraphy/copy": {
"post": {
"tags": [
"Stratigraphy"
],
"summary": "Asynchronously copies a BDMS.Models.Stratigraphy.",
"parameters": [
{
"name": "id",
"in": "query",
"description": "The BDMS.Models.Stratigraphy.Id of the stratigraphy to copy.",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain": {
"schema": {
"type": "integer",
"format": "int32"
}
},
"application/json": {
"schema": {
"type": "integer",
"format": "int32"
}
},
"text/json": {
"schema": {
"type": "integer",
"format": "int32"
}
}
}
}
}
}
},
"/api/v{version}/terms": {
"get": {
"tags": [
"Terms"
],
"summary": "Gets the currently published BDMS.Models.Term, or `null` if none is published.",
"parameters": [
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Returns the currently published terms, or null if none exist.",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/Term"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/Term"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/Term"
}
}
}
}
}
}
},
"/api/v{version}/terms/draft": {
"get": {
"tags": [
"Terms"
],
"summary": "Gets the current draft BDMS.Models.Term. Falls back to the published term when no draft\r\nexists, or `null` if neither exists.",
"parameters": [
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Returns the draft terms, the published terms as fallback, or null.",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/Term"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/Term"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/Term"
}
}
}
}
}
},
"put": {
"tags": [
"Terms"
],
"summary": "Creates or updates the single draft BDMS.Models.Term with the provided texts.",
"parameters": [
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"description": "The term carrying the localized texts to store as draft.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Term"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/Term"
}
},
"application/*+json": {
"schema": {
"$ref": "#/components/schemas/Term"
}
}
}
},
"responses": {
"200": {
"description": "The draft was saved successfully."
},
"500": {
"description": "The server encountered an unexpected condition that prevented it from fulfilling the request."
}
}
}
},
"/api/v{version}/terms/publish": {
"post": {
"tags": [
"Terms"
],
"summary": "Publishes the current draft BDMS.Models.Term, expiring the previously published term.",
"parameters": [
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "The draft was published successfully."
},
"400": {
"description": "There is no draft to publish."
},
"500": {
"description": "The server encountered an unexpected condition that prevented it from fulfilling the request."
}
}
}
},
"/api/v{version}/user/self": {
"get": {
"tags": [
"User"
],
"summary": "Gets the currently authenticated and authorized bdms user.",
"parameters": [
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Returns the currently logged in user.",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/User"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/User"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/User"
}
}
}
}
}
}
},
"/api/v{version}/user/self/maplayers": {
"get": {
"tags": [
"User"
],
"summary": "Gets the custom map overlays of the currently authenticated user.",
"parameters": [
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Returns the current user's custom map overlays, keyed by layer identifier.",
"content": {
"text/plain": {
"schema": {
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/MapLayer"
}
}
},
"application/json": {
"schema": {
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/MapLayer"
}
}
},
"text/json": {
"schema": {
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/MapLayer"
}
}
}
}
},
"401": {
"description": "The current user could not be identified."
}
}
},
"put": {
"tags": [
"User"
],
"summary": "Replaces the custom map overlays of the currently authenticated user with mapLayers.",
"parameters": [
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/MapLayer"
}
}
},
"text/json": {
"schema": {
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/MapLayer"
}
}
},
"application/*+json": {
"schema": {
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/MapLayer"
}
}
}
}
},
"responses": {
"200": {
"description": "The map overlays were saved successfully and are returned.",
"content": {
"text/plain": {
"schema": {
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/MapLayer"
}
}
},
"application/json": {
"schema": {
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/MapLayer"
}
}
},
"text/json": {
"schema": {
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/MapLayer"
}
}
}
}
},
"401": {
"description": "The current user could not be identified."
}
}
}
},
"/api/v{version}/user/{id}": {
"get": {
"tags": [
"User"
],
"summary": "Gets the user with the specified id.",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Returns the user with the specified id."
},
"404": {
"description": "The user could not be found."
}
}
},
"delete": {
"tags": [
"User"
],
"summary": "Deletes the user with the specified id.",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "The user was deleted successfully."
},
"400": {
"description": "The user could not be updated due to invalid input."
},
"404": {
"description": "The user could not be found."
},
"401": {
"description": "The current user is not authorized to delete users."
},
"500": {
"description": "The server encountered an unexpected condition that prevented it from fulfilling the request. "
}
}
}
},
"/api/v{version}/user": {
"get": {
"tags": [
"User"
],
"summary": "Gets a list of users.",
"parameters": [
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Returns a list of users.",
"content": {
"text/plain": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/User"
}
}
},
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/User"
}
}
},
"text/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/User"
}
}
}
}
}
}
},
"put": {
"tags": [
"User"
],
"summary": "Updates the user.",
"parameters": [
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/User"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/User"
}
},
"application/*+json": {
"schema": {
"$ref": "#/components/schemas/User"
}
}
}
},
"responses": {
"200": {
"description": "The user was updated successfully."
},
"400": {
"description": "The user could not be updated due to invalid input."
},
"404": {
"description": "The user could not be found."
},
"401": {
"description": "The current user is not authorized to update users."
},
"500": {
"description": "The server encountered an unexpected condition that prevented it from fulfilling the request. "
}
}
}
},
"/api/v{version}/user/editorsonworkgroup/{workgroupId}": {
"get": {
"tags": [
"User"
],
"summary": "Gets editor users for the provided workgroupId.",
"parameters": [
{
"name": "workgroupId",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Returns a list editor users for the provided workgroupId.",
"content": {
"text/plain": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/WorkgroupEditor"
}
}
},
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/WorkgroupEditor"
}
}
},
"text/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/WorkgroupEditor"
}
}
}
}
}
}
}
},
"/api/v{version}/version": {
"get": {
"tags": [
"Version"
],
"parameters": [
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "The current version of the BDMS application.",
"content": {
"text/plain": {
"schema": {
"type": "string"
}
},
"application/json": {
"schema": {
"type": "string"
}
},
"text/json": {
"schema": {
"type": "string"
}
}
}
}
}
}
},
"/api/v{version}/wateringress": {
"get": {
"tags": [
"WaterIngress"
],
"summary": "Asynchronously gets all water ingress records, filtered by boreholeId.",
"parameters": [
{
"name": "boreholeId",
"in": "query",
"description": "The id of the borehole referenced in the observations to get.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/WaterIngress"
}
}
},
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/WaterIngress"
}
}
},
"text/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/WaterIngress"
}
}
}
}
}
}
},
"put": {
"tags": [
"WaterIngress"
],
"parameters": [
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WaterIngress"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/WaterIngress"
}
},
"application/*+json": {
"schema": {
"$ref": "#/components/schemas/WaterIngress"
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/WaterIngress"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/WaterIngress"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/WaterIngress"
}
}
}
}
}
},
"delete": {
"tags": [
"WaterIngress"
],
"parameters": [
{
"name": "id",
"in": "query",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK"
}
}
},
"post": {
"tags": [
"WaterIngress"
],
"parameters": [
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WaterIngress"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/WaterIngress"
}
},
"application/*+json": {
"schema": {
"$ref": "#/components/schemas/WaterIngress"
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/WaterIngress"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/WaterIngress"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/WaterIngress"
}
}
}
}
}
}
},
"/api/v{version}/workflow/{boreholeId}": {
"get": {
"tags": [
"Workflow"
],
"summary": "Asynchronously gets the BDMS.Models.Workflow associated with boreholeId.",
"parameters": [
{
"name": "boreholeId",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Returns a workflow.",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/Workflow"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/Workflow"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/Workflow"
}
}
}
}
}
}
},
"/api/v{version}/workflow/change": {
"post": {
"tags": [
"Workflow"
],
"summary": "Updates the BDMS.Models.Workflow defined in the workflowChangeRequest and creates a corresponding BDMS.Models.WorkflowChange.",
"parameters": [
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WorkflowChangeRequest"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/WorkflowChangeRequest"
}
},
"application/*+json": {
"schema": {
"$ref": "#/components/schemas/WorkflowChangeRequest"
}
}
}
},
"responses": {
"200": {
"description": "Applies a workflow change and updates the workflow."
},
"400": {
"description": "The workflow could not be created due to invalid input."
},
"401": {
"description": "The current user is not authorized to create workflow changes."
},
"500": {
"description": "The server encountered an unexpected condition that prevented it from fulfilling the request."
}
}
}
},
"/api/v{version}/workflow/tabstatuschange": {
"post": {
"tags": [
"Workflow"
],
"summary": "Applies a tab status change to the workflow of a borehole.",
"parameters": [
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WorkflowTabStatusChangeRequest"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/WorkflowTabStatusChangeRequest"
}
},
"application/*+json": {
"schema": {
"$ref": "#/components/schemas/WorkflowTabStatusChangeRequest"
}
}
}
},
"responses": {
"200": {
"description": "Tab status change applied successfully."
},
"400": {
"description": "Invalid input for tab status change."
},
"401": {
"description": "Unauthorized to change tab status."
},
"404": {
"description": "Workflow not found for the specified borehole."
},
"500": {
"description": "Server error while applying tab status change."
}
}
}
},
"/api/v{version}/workgroup": {
"get": {
"tags": [
"Workgroup"
],
"summary": "Gets a list of workgroups.",
"parameters": [
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Returns a list of workgroups.",
"content": {
"text/plain": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Workgroup"
}
}
},
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Workgroup"
}
}
},
"text/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Workgroup"
}
}
}
}
}
}
},
"post": {
"tags": [
"Workgroup"
],
"summary": "Create a new workgroup./>.",
"parameters": [
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Workgroup"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/Workgroup"
}
},
"application/*+json": {
"schema": {
"$ref": "#/components/schemas/Workgroup"
}
}
}
},
"responses": {
"200": {
"description": "The workgroup was created successfully."
},
"400": {
"description": "The workgroup could not be created due to invalid input."
},
"401": {
"description": "The current user is not authorized to create workgroups."
},
"500": {
"description": "The server encountered an unexpected condition that prevented it from fulfilling the request. "
}
}
},
"put": {
"tags": [
"Workgroup"
],
"summary": "Updates the workgroup.",
"parameters": [
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Workgroup"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/Workgroup"
}
},
"application/*+json": {
"schema": {
"$ref": "#/components/schemas/Workgroup"
}
}
}
},
"responses": {
"200": {
"description": "The workgroup was updated successfully."
},
"400": {
"description": "The workgroup could not be updated due to invalid input."
},
"404": {
"description": "The workgroup could not be found."
},
"401": {
"description": "The current user is not authorized to update workgroups."
},
"500": {
"description": "The server encountered an unexpected condition that prevented it from fulfilling the request. "
}
}
}
},
"/api/v{version}/workgroup/{id}": {
"get": {
"tags": [
"Workgroup"
],
"summary": "Asynchronously gets the BDMS.Models.Workgroup with the specified id.",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Returns a workgroup.",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/Workgroup"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/Workgroup"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/Workgroup"
}
}
}
}
}
},
"delete": {
"tags": [
"Workgroup"
],
"summary": "Deletes the workgroup with the specified id.",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "The workgroup was deleted successfully."
},
"400": {
"description": "The workgroup could not be updated due to invalid input."
},
"404": {
"description": "The workgroup could not be found."
},
"401": {
"description": "The current user is not authorized to delete workgroups."
},
"500": {
"description": "The server encountered an unexpected condition that prevented it from fulfilling the request. "
}
}
}
},
"/api/v{version}/workgroup/setroles": {
"post": {
"tags": [
"Workgroup"
],
"parameters": [
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/UserWorkgroupRole"
}
}
},
"text/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/UserWorkgroupRole"
}
}
},
"application/*+json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/UserWorkgroupRole"
}
}
}
}
},
"responses": {
"200": {
"description": "The roles were set successfully."
},
"400": {
"description": "The roles could not be set due to invalid input."
},
"404": {
"description": "The user or workgroup could not be found."
},
"401": {
"description": "The current user is not authorized to set roles."
},
"500": {
"description": "The server encountered an unexpected condition that prevented it from fulfilling the request. "
}
}
}
}
},
"components": {
"schemas": {
"AuthSettings": {
"type": "object",
"properties": {
"authority": {
"type": "string",
"description": "The authority URL providing OpenID Connect discovery document."
},
"audience": {
"type": "string",
"description": "The audience for required by the application."
},
"scopes": {
"type": "string",
"description": "The scopes required by the application separated by space."
},
"anonymousModeEnabled": {
"type": "boolean",
"description": "Indicates whether the anonymous mode is enabled."
}
},
"additionalProperties": false,
"description": "Represents the authentication settings for the application."
},
"Backfill": {
"required": [
"completionId",
"id"
],
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int32"
},
"completionId": {
"type": "integer",
"description": "Gets or sets foreign key for the BDMS.Models.Backfill.Completion of this BDMS.Models.Backfill.",
"format": "int32"
},
"completion": {
"$ref": "#/components/schemas/Completion"
},
"fromDepth": {
"type": "number",
"description": "Gets or sets the BDMS.Models.Backfill's upper depth.",
"format": "double",
"nullable": true
},
"toDepth": {
"type": "number",
"description": "Gets or sets the BDMS.Models.Backfill's lower depth.",
"format": "double",
"nullable": true
},
"kindId": {
"type": "integer",
"description": "Gets or sets the id BDMS.Models.Backfill's kind.",
"format": "int32",
"nullable": true
},
"kind": {
"$ref": "#/components/schemas/Codelist"
},
"materialId": {
"type": "integer",
"description": "Gets or sets the id of the BDMS.Models.Backfill's status.",
"format": "int32",
"nullable": true
},
"material": {
"$ref": "#/components/schemas/Codelist"
},
"isOpenBorehole": {
"type": "boolean",
"description": "Gets or sets whether or not the BDMS.Models.Backfill belongs to an open borehole."
},
"casingId": {
"type": "integer",
"description": "Gets or sets id of the BDMS.Models.Backfill's casing.",
"format": "int32",
"nullable": true
},
"casing": {
"$ref": "#/components/schemas/Casing"
},
"notes": {
"type": "string",
"description": "Gets or sets the BDMS.Models.Backfill's notes.",
"nullable": true
},
"createdById": {
"type": "integer",
"format": "int32",
"nullable": true
},
"createdBy": {
"$ref": "#/components/schemas/User"
},
"created": {
"type": "string",
"format": "date-time",
"nullable": true
},
"updatedById": {
"type": "integer",
"format": "int32",
"nullable": true
},
"updatedBy": {
"$ref": "#/components/schemas/User"
},
"updated": {
"type": "string",
"format": "date-time",
"nullable": true
}
},
"additionalProperties": false,
"description": "Represents a Backfill entity in the database."
},
"BooleanCounts": {
"type": "object",
"properties": {
"true": {
"type": "integer",
"description": "Gets or sets the number of rows for which the derived predicate is true.",
"format": "int32"
},
"false": {
"type": "integer",
"description": "Gets or sets the number of rows for which the derived predicate is false.",
"format": "int32"
}
},
"additionalProperties": false,
"description": "Per-value counts for a derived boolean filter field (true / false)."
},
"BooleanFilterValue": {
"enum": [
"False",
"True"
],
"type": "string",
"description": "Represents a boolean filter value for non-nullable boolean fields."
},
"Borehole": {
"required": [
"id"
],
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int32"
},
"createdById": {
"type": "integer",
"format": "int32",
"nullable": true
},
"createdBy": {
"$ref": "#/components/schemas/User"
},
"created": {
"type": "string",
"format": "date-time",
"nullable": true
},
"updated": {
"type": "string",
"format": "date-time",
"nullable": true
},
"updatedById": {
"type": "integer",
"format": "int32",
"nullable": true
},
"updatedBy": {
"$ref": "#/components/schemas/User"
},
"locked": {
"type": "string",
"description": "Gets or sets the BDMS.Models.Borehole locked date.",
"format": "date-time",
"nullable": true
},
"lockedById": {
"type": "integer",
"description": "Gets or sets the id of the BDMS.Models.User who locked the BDMS.Models.Borehole.",
"format": "int32",
"nullable": true
},
"lockedBy": {
"$ref": "#/components/schemas/User"
},
"workgroupId": {
"type": "integer",
"description": "Gets or sets the foreign key to the BDMS.Models.Borehole.Workgroup entity.",
"format": "int32",
"nullable": true
},
"workgroup": {
"$ref": "#/components/schemas/Workgroup"
},
"isPublic": {
"type": "boolean",
"description": "Gets or sets whether the BDMS.Models.Borehole is public.",
"nullable": true
},
"typeId": {
"type": "integer",
"description": "Gets or sets the BDMS.Models.Borehole's type id.",
"format": "int32",
"nullable": true
},
"type": {
"$ref": "#/components/schemas/Codelist"
},
"locationX": {
"type": "number",
"description": "Gets or sets the BDMS.Models.Borehole's X-location using LV95 coordinates.",
"format": "double",
"nullable": true
},
"precisionLocationX": {
"type": "integer",
"description": "Gets or sets the precision for the BDMS.Models.Borehole's X-location (LV95).",
"format": "int32",
"nullable": true
},
"locationY": {
"type": "number",
"description": "Gets or sets the BDMS.Models.Borehole's Y-location using LV95 coordinates.",
"format": "double",
"nullable": true
},
"precisionLocationY": {
"type": "integer",
"description": "Gets or sets the precision for the BDMS.Models.Borehole's Y-location (LV95).",
"format": "int32",
"nullable": true
},
"locationXLV03": {
"type": "number",
"description": "Gets or sets the BDMS.Models.Borehole's X-location using LV03 coordinates.",
"format": "double",
"nullable": true
},
"precisionLocationXLV03": {
"type": "integer",
"description": "Gets or sets the precision for the BDMS.Models.Borehole's X-location (LV03).",
"format": "int32",
"nullable": true
},
"locationYLV03": {
"type": "number",
"description": "Gets or sets the BDMS.Models.Borehole's Y-location using LV03 coordinates.",
"format": "double",
"nullable": true
},
"precisionLocationYLV03": {
"type": "integer",
"description": "Gets or sets the precision for the BDMS.Models.Borehole's Y-location (LV03).",
"format": "int32",
"nullable": true
},
"originalReferenceSystemId": {
"type": "integer",
"description": "Gets or sets the BDMS.Models.Borehole's original reference system id.",
"format": "int32",
"nullable": true
},
"originalReferenceSystem": {
"$ref": "#/components/schemas/Codelist"
},
"elevationZ": {
"type": "number",
"description": "Gets or sets the BDMS.Models.Borehole's Elevation(Z).",
"format": "double",
"nullable": true
},
"hrsId": {
"type": "integer",
"description": "Gets or sets the BDMS.Models.Borehole's HrsId.",
"format": "int32",
"nullable": true
},
"hrs": {
"$ref": "#/components/schemas/Codelist"
},
"totalDepth": {
"type": "number",
"description": "Gets or sets the BDMS.Models.Borehole's total depth.",
"format": "double",
"nullable": true
},
"restrictionId": {
"type": "integer",
"description": "Gets or sets the BDMS.Models.Borehole's restriction id.",
"format": "int32",
"nullable": true
},
"restriction": {
"$ref": "#/components/schemas/Codelist"
},
"restrictionUntil": {
"type": "string",
"description": "Gets or sets the date until when a BDMS.Models.Borehole is restricted.",
"format": "date",
"nullable": true
},
"nationalInterest": {
"type": "boolean",
"description": "Gets or sets the BDMS.Models.Borehole's national interest.",
"nullable": true
},
"originalName": {
"type": "string",
"description": "Gets or sets the BDMS.Models.Borehole's original name.",
"nullable": true
},
"name": {
"type": "string",
"description": "Gets or sets the BDMS.Models.Borehole's alternate name.",
"nullable": true
},
"locationPrecisionId": {
"type": "integer",
"description": "Gets or sets the BDMS.Models.Borehole's location precision.",
"format": "int32",
"nullable": true
},
"locationPrecision": {
"$ref": "#/components/schemas/Codelist"
},
"elevationPrecisionId": {
"type": "integer",
"description": "Gets or sets the BDMS.Models.Borehole's elevation precision id.",
"format": "int32",
"nullable": true
},
"elevationPrecision": {
"$ref": "#/components/schemas/Codelist"
},
"projectName": {
"type": "string",
"description": "Gets or sets the BDMS.Models.Borehole's project name.",
"nullable": true
},
"country": {
"type": "string",
"description": "Gets or sets the BDMS.Models.Borehole's country.",
"nullable": true
},
"canton": {
"type": "string",
"description": "Gets or sets the BDMS.Models.Borehole's canton.",
"nullable": true
},
"municipality": {
"type": "string",
"description": "Gets or sets the BDMS.Models.Borehole's municipality.",
"nullable": true
},
"purposeId": {
"type": "integer",
"description": "Gets or sets the BDMS.Models.Borehole's purpose id.",
"format": "int32",
"nullable": true
},
"purpose": {
"$ref": "#/components/schemas/Codelist"
},
"statusId": {
"type": "integer",
"description": "Gets or sets the BDMS.Models.Borehole's status id.",
"format": "int32",
"nullable": true
},
"status": {
"$ref": "#/components/schemas/Codelist"
},
"depthPrecisionId": {
"type": "integer",
"description": "Gets or sets the BDMS.Models.Borehole's Depth presicion id.",
"format": "int32",
"nullable": true
},
"depthPrecision": {
"$ref": "#/components/schemas/Codelist"
},
"topBedrockFreshMd": {
"type": "number",
"description": "Gets or sets the BDMS.Models.Borehole's top bedrock.",
"format": "double",
"nullable": true
},
"topBedrockWeatheredMd": {
"type": "number",
"description": "Gets or sets the BDMS.Models.Borehole's weathered top bedrock.",
"format": "double",
"nullable": true
},
"hasGroundwater": {
"type": "boolean",
"description": "Gets or sets whether the BDMS.Models.Borehole has groundwater.",
"nullable": true
},
"geometry": {
"$ref": "#/components/schemas/Point"
},
"remarks": {
"type": "string",
"description": "Gets or sets remarks for the BDMS.Models.Borehole.",
"nullable": true
},
"lithologyTopBedrockId": {
"type": "integer",
"description": "Gets or sets the BDMS.Models.Borehole's lithology top bedrock id.",
"format": "int32",
"nullable": true
},
"lithologyTopBedrock": {
"$ref": "#/components/schemas/Codelist"
},
"lithostratigraphyTopBedrockId": {
"type": "integer",
"description": "Gets or sets the BDMS.Models.Borehole's lithostratigraphy top bedrock id.",
"format": "int32",
"nullable": true
},
"lithostratigraphyTopBedrock": {
"$ref": "#/components/schemas/Codelist"
},
"chronostratigraphyTopBedrockId": {
"type": "integer",
"description": "Gets or sets the BDMS.Models.Borehole's chronostratigraphy top bedrock id.",
"format": "int32",
"nullable": true
},
"chronostratigraphyTopBedrock": {
"$ref": "#/components/schemas/Codelist"
},
"referenceElevation": {
"type": "number",
"description": "Gets or sets the BDMS.Models.Borehole's reference elevation.",
"format": "double",
"nullable": true
},
"referenceElevationPrecisionId": {
"type": "integer",
"description": "Gets or sets the BDMS.Models.Borehole's reference elevation precision id.",
"format": "int32",
"nullable": true
},
"referenceElevationPrecision": {
"$ref": "#/components/schemas/Codelist"
},
"referenceElevationTypeId": {
"type": "integer",
"description": "Gets or sets the BDMS.Models.Borehole's reference elevation type id.",
"format": "int32",
"nullable": true
},
"totalDepthTvd": {
"type": "number",
"description": "Gets or sets the BDMS.Models.Borehole's true vertical total depth.",
"format": "double",
"nullable": true
},
"topBedrockFreshTvd": {
"type": "number",
"description": "Gets or sets the BDMS.Models.Borehole's true vertical top bedrock fresh depth.",
"format": "double",
"nullable": true
},
"topBedrockWeatheredTvd": {
"type": "number",
"description": "Gets or sets the BDMS.Models.Borehole's true vertical top bedrock weathered depth.",
"format": "double",
"nullable": true
},
"topBedrockIntersected": {
"type": "boolean",
"description": "Gets or sets whether BDMS.Models.Borehole's top bedrock was intersected.",
"nullable": true
},
"referenceElevationType": {
"$ref": "#/components/schemas/Codelist"
},
"workflow": {
"$ref": "#/components/schemas/Workflow"
},
"stratigraphies": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Stratigraphy"
},
"description": "Gets the BDMS.Models.Borehole's stratigraphies.",
"nullable": true
},
"completions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Completion"
},
"description": "Gets the BDMS.Models.Borehole's completions.",
"nullable": true
},
"sections": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Section"
},
"description": "Gets the BDMS.Models.Borehole's BDMS.Models.Sections.",
"nullable": true
},
"boreholeGeometry": {
"type": "array",
"items": {
"$ref": "#/components/schemas/BoreholeGeometryElement"
},
"description": "Gets the BDMS.Models.Borehole's BDMS.Models.Borehole.BoreholeGeometry.",
"nullable": true
},
"observations": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Observation"
},
"description": "Gets the BDMS.Models.Borehole's observations.",
"nullable": true
},
"profiles": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Profile"
},
"description": "Gets the BDMS.Models.Profiles attached to the BDMS.Models.Borehole.",
"nullable": true
},
"photos": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Photo"
},
"description": "Gets the BDMS.Models.Borehole's photos.",
"nullable": true
},
"documents": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Document"
},
"description": "Gets the BDMS.Models.Borehole's documents.",
"nullable": true
},
"logRuns": {
"type": "array",
"items": {
"$ref": "#/components/schemas/LogRun"
},
"description": "Gets the BDMS.Models.Borehole's log runs.",
"nullable": true
},
"codelists": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Codelist"
},
"description": "Gets the BDMS.Models.Codelists used by the BDMS.Models.Borehole to store multiple id types.",
"nullable": true,
"readOnly": true
},
"boreholeCodelists": {
"type": "array",
"items": {
"$ref": "#/components/schemas/BoreholeCodelist"
},
"description": "Gets theBDMS.Models.BoreholeCodelist join table entities.",
"nullable": true
}
},
"additionalProperties": false,
"description": "Represents a borehole entity in the database."
},
"BoreholeBulkUpdate": {
"type": "object",
"properties": {
"workgroupId": {
"type": "integer",
"format": "int32",
"nullable": true
},
"restrictionId": {
"type": "integer",
"format": "int32",
"nullable": true
},
"restrictionUntil": {
"type": "string",
"format": "date",
"nullable": true
},
"nationalInterest": {
"type": "boolean",
"nullable": true
},
"projectName": {
"type": "string",
"nullable": true
},
"typeId": {
"type": "integer",
"format": "int32",
"nullable": true
},
"purposeId": {
"type": "integer",
"format": "int32",
"nullable": true
},
"statusId": {
"type": "integer",
"format": "int32",
"nullable": true
},
"locationPrecisionId": {
"type": "integer",
"format": "int32",
"nullable": true
},
"elevationPrecisionId": {
"type": "integer",
"format": "int32",
"nullable": true
},
"referenceElevationPrecisionId": {
"type": "integer",
"format": "int32",
"nullable": true
},
"referenceElevationTypeId": {
"type": "integer",
"format": "int32",
"nullable": true
},
"depthPrecisionId": {
"type": "integer",
"format": "int32",
"nullable": true
},
"totalDepth": {
"type": "number",
"format": "double",
"nullable": true
},
"topBedrockFreshMd": {
"type": "number",
"format": "double",
"nullable": true
},
"topBedrockWeatheredMd": {
"type": "number",
"format": "double",
"nullable": true
},
"hasGroundwater": {
"type": "boolean",
"nullable": true
},
"lithologyTopBedrockId": {
"type": "integer",
"format": "int32",
"nullable": true
},
"lithostratigraphyTopBedrockId": {
"type": "integer",
"format": "int32",
"nullable": true
},
"chronostratigraphyTopBedrockId": {
"type": "integer",
"format": "int32",
"nullable": true
}
},
"additionalProperties": false,
"description": "The typed set of borehole fields that can be changed through bulk edit.\r\nEach property is nullable to mirror the corresponding borehole column; which of\r\nthem are actually written is controlled by BDMS.Models.BoreholeBulkUpdateRequest.FieldsToUpdate.\r\nA masked field must carry a value; a null value is rejected (clearing is not supported),\r\nexcept nullable booleans where null is the deliberate \"not specified\" state."
},
"BoreholeBulkUpdateRequest": {
"required": [
"boreholeIds",
"fieldsToUpdate",
"update"
],
"type": "object",
"properties": {
"boreholeIds": {
"minItems": 1,
"type": "array",
"items": {
"type": "integer",
"format": "int32"
}
},
"update": {
"$ref": "#/components/schemas/BoreholeBulkUpdate"
},
"fieldsToUpdate": {
"minItems": 1,
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false,
"description": "Request payload for bulk editing boreholes. Applies BDMS.Models.BoreholeBulkUpdateRequest.Update to every\r\nborehole in BDMS.Models.BoreholeBulkUpdateRequest.BoreholeIds, writing only the properties named in\r\nBDMS.Models.BoreholeBulkUpdateRequest.FieldsToUpdate (matched case-insensitively against\r\nBDMS.Models.BoreholeBulkUpdate property names)."
},
"BoreholeCodelist": {
"required": [
"boreholeId",
"codelistId",
"id"
],
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int32"
},
"boreholeId": {
"type": "integer",
"format": "int32"
},
"codelistId": {
"type": "integer",
"format": "int32"
},
"value": {
"type": "string"
},
"comment": {
"type": "string",
"nullable": true
}
},
"additionalProperties": false,
"description": "Join table entity for a BDMS.Models.Codelist attached to a BDMS.Models.Borehole to store multiple borehole ids."
},
"BoreholeGeometryElement": {
"type": "object",
"properties": {
"md": {
"type": "number",
"description": "Gets or sets the Measured Depth (MD) of the data point in meters.",
"format": "double"
},
"x": {
"type": "number",
"description": "Gets or sets the X coordinate of the data point in meters.",
"format": "double"
},
"y": {
"type": "number",
"description": "Gets or sets the Y coordinate of the data point in meters.",
"format": "double"
},
"z": {
"type": "number",
"description": "Gets or sets the Z coordinate of the data point in meters.",
"format": "double"
},
"hazi": {
"type": "number",
"description": "Gets or sets the hole azimuth at the data point in degrees.",
"format": "double",
"nullable": true
},
"devi": {
"type": "number",
"description": "Gets or sets deviation or inclination at the data point in degrees.",
"format": "double",
"nullable": true
}
},
"additionalProperties": false
},
"BoreholeListItem": {
"required": [
"id"
],
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int32"
},
"originalName": {
"type": "string",
"nullable": true
},
"name": {
"type": "string",
"nullable": true
},
"workgroupId": {
"type": "integer",
"format": "int32",
"nullable": true
},
"workgroupName": {
"type": "string",
"nullable": true
},
"statusId": {
"type": "integer",
"format": "int32",
"nullable": true
},
"typeId": {
"type": "integer",
"format": "int32",
"nullable": true
},
"purposeId": {
"type": "integer",
"format": "int32",
"nullable": true
},
"restrictionId": {
"type": "integer",
"format": "int32",
"nullable": true
},
"restrictionUntil": {
"type": "string",
"format": "date",
"nullable": true
},
"nationalInterest": {
"type": "boolean",
"nullable": true
},
"locationX": {
"type": "number",
"format": "double",
"nullable": true
},
"locationY": {
"type": "number",
"format": "double",
"nullable": true
},
"elevationZ": {
"type": "number",
"format": "double",
"nullable": true
},
"totalDepth": {
"type": "number",
"format": "double",
"nullable": true
},
"created": {
"type": "string",
"format": "date-time",
"nullable": true
},
"updated": {
"type": "string",
"format": "date-time",
"nullable": true
},
"isPublic": {
"type": "boolean",
"nullable": true
},
"locked": {
"type": "string",
"format": "date-time",
"nullable": true
}
},
"additionalProperties": false,
"description": "Represents a lightweight borehole for displaying in boreholes table."
},
"BoreholeOrderBy": {
"enum": [
"Id",
"OriginalName",
"Name",
"WorkgroupId",
"StatusId",
"TypeId",
"PurposeId",
"LocationX",
"LocationY",
"ElevationZ",
"TotalDepth"
],
"type": "string",
"description": "Defines the valid fields by which a borehole list can be ordered."
},
"BoreholeSuggestion": {
"type": "object",
"properties": {
"value": {
"type": "string",
"description": "The distinct text value present on one or more boreholes."
},
"count": {
"type": "integer",
"description": "How many boreholes in the caller's visible set have this value.",
"format": "int32"
}
},
"additionalProperties": false,
"description": "A single suggestion for autocomplete on a borehole text column."
},
"BoreholeSuggestionField": {
"enum": [
"OriginalName",
"ProjectName",
"Name"
],
"type": "string",
"description": "The set of borehole text columns that support suggestions.\r\nBound from the query string as camelCase (\"originalName\", \"projectName\", \"name\")."
},
"Casing": {
"required": [
"completionId",
"id"
],
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int32"
},
"completionId": {
"type": "integer",
"description": "Gets or sets foreign key for the BDMS.Models.Casing.Completion of this BDMS.Models.Casing.",
"format": "int32"
},
"completion": {
"$ref": "#/components/schemas/Completion"
},
"name": {
"type": "string",
"description": "Gets or sets the BDMS.Models.Casing's name."
},
"dateStart": {
"type": "string",
"description": "Gets or sets the BDMS.Models.Casing's start date.",
"format": "date",
"nullable": true
},
"dateFinish": {
"type": "string",
"description": "Gets or sets the BDMS.Models.Casing's finish date.",
"format": "date",
"nullable": true
},
"notes": {
"type": "string",
"description": "Gets or sets the BDMS.Models.Casing's notes.",
"nullable": true
},
"instrumentations": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Instrumentation"
},
"description": "Gets the BDMS.Models.Instrumentations associated with the BDMS.Models.Casing.",
"nullable": true,
"readOnly": true
},
"backfills": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Backfill"
},
"description": "Gets the BDMS.Models.Backfills associated with the BDMS.Models.Casing.",
"nullable": true,
"readOnly": true
},
"observations": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Observation"
},
"description": "Gets the BDMS.Models.Observations associated with the BDMS.Models.Casing.",
"nullable": true,
"readOnly": true
},
"casingElements": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CasingElement"
},
"description": "Gets the BDMS.Models.CasingElements of the BDMS.Models.Casing."
},
"createdById": {
"type": "integer",
"format": "int32",
"nullable": true
},
"createdBy": {
"$ref": "#/components/schemas/User"
},
"created": {
"type": "string",
"format": "date-time",
"nullable": true
},
"updatedById": {
"type": "integer",
"format": "int32",
"nullable": true
},
"updatedBy": {
"$ref": "#/components/schemas/User"
},
"updated": {
"type": "string",
"format": "date-time",
"nullable": true
}
},
"additionalProperties": false,
"description": "Represents a Casing entity in the database."
},
"CasingElement": {
"required": [
"casingId",
"id",
"kindId"
],
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int32"
},
"casingId": {
"type": "integer",
"description": "Gets or sets foreign key for the BDMS.Models.CasingElement.Casing of this BDMS.Models.CasingElement.",
"format": "int32"
},
"casing": {
"$ref": "#/components/schemas/Casing"
},
"fromDepth": {
"type": "number",
"description": "Gets or sets the BDMS.Models.CasingElement's upper depth.",
"format": "double"
},
"toDepth": {
"type": "number",
"description": "Gets or sets the BDMS.Models.CasingElement's lower depth.",
"format": "double"
},
"kindId": {
"type": "integer",
"description": "Gets or sets the BDMS.Models.CasingElement.Casing's kind id.",
"format": "int32"
},
"kind": {
"$ref": "#/components/schemas/Codelist"
},
"materialId": {
"type": "integer",
"description": "Gets or sets the id of the BDMS.Models.CasingElement.Casing's material.",
"format": "int32",
"nullable": true
},
"material": {
"$ref": "#/components/schemas/Codelist"
},
"innerDiameter": {
"type": "number",
"description": "Gets or sets the BDMS.Models.CasingElement.Casing's inner diameter.",
"format": "double",
"nullable": true
},
"outerDiameter": {
"type": "number",
"description": "Gets or sets the BDMS.Models.CasingElement.Casing's outer diameter.",
"format": "double",
"nullable": true
},
"createdById": {
"type": "integer",
"format": "int32",
"nullable": true
},
"createdBy": {
"$ref": "#/components/schemas/User"
},
"created": {
"type": "string",
"format": "date-time",
"nullable": true
},
"updatedById": {
"type": "integer",
"format": "int32",
"nullable": true
},
"updatedBy": {
"$ref": "#/components/schemas/User"
},
"updated": {
"type": "string",
"format": "date-time",
"nullable": true
}
},
"additionalProperties": false,
"description": "Represents a CasingElement entity in the database."
},
"ChronostratigraphyLayer": {
"required": [
"id",
"stratigraphyId"
],
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int32"
},
"stratigraphyId": {
"type": "integer",
"format": "int32"
},
"stratigraphy": {
"$ref": "#/components/schemas/Stratigraphy"
},
"createdById": {
"type": "integer",
"format": "int32",
"nullable": true
},
"createdBy": {
"$ref": "#/components/schemas/User"
},
"created": {
"type": "string",
"format": "date-time",
"nullable": true
},
"updatedById": {
"type": "integer",
"format": "int32",
"nullable": true
},
"updatedBy": {
"$ref": "#/components/schemas/User"
},
"updated": {
"type": "string",
"format": "date-time",
"nullable": true
},
"fromDepth": {
"type": "number",
"format": "double",
"nullable": true
},
"toDepth": {
"type": "number",
"format": "double",
"nullable": true
},
"chronostratigraphyId": {
"type": "integer",
"description": "Gets or sets the BDMS.Models.Codelist id of the chronostratigraphy.",
"format": "int32",
"nullable": true
},
"chronostratigraphy": {
"$ref": "#/components/schemas/Codelist"
}
},
"additionalProperties": false,
"description": "Represents a chronostratigraphy entity in the database."
},
"Codelist": {
"required": [
"id"
],
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int32"
},
"geolcode": {
"type": "integer",
"description": "Gets or sets the BDMS.Models.Codelist's geolcode.",
"format": "int32",
"nullable": true
},
"schema": {
"type": "string",
"description": "Gets or sets the BDMS.Models.Codelist's schema.",
"nullable": true
},
"code": {
"type": "string",
"description": "Gets or sets the BDMS.Models.Codelist's code."
},
"en": {
"type": "string",
"description": "Gets or sets the BDMS.Models.Codelist's english text."
},
"de": {
"type": "string",
"description": "Gets or sets the BDMS.Models.Codelist's german text.",
"nullable": true
},
"fr": {
"type": "string",
"description": "Gets or sets the BDMS.Models.Codelist 's french text.",
"nullable": true
},
"it": {
"type": "string",
"description": "Gets or sets the BDMS.Models.Codelist's italian text.",
"nullable": true
},
"ro": {
"type": "string",
"description": "Gets or sets the BDMS.Models.Codelist's romantsch text.",
"nullable": true
},
"order": {
"type": "integer",
"description": "Gets or sets the BDMS.Models.Codelist's order.",
"format": "int32",
"nullable": true
},
"conf": {
"type": "string",
"description": "Gets or sets the BDMS.Models.Codelist's configuration.",
"nullable": true
},
"isDefault": {
"type": "boolean",
"description": "Gets or sets whether the BDMS.Models.Codelist is default.",
"nullable": true
},
"path": {
"$ref": "#/components/schemas/LTree"
}
},
"additionalProperties": false,
"description": "Represents a codelist entity in the database."
},
"Completion": {
"required": [
"boreholeId",
"id",
"kindId"
],
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int32"
},
"boreholeId": {
"type": "integer",
"description": "Gets or sets foreign key for the BDMS.Models.Borehole of this BDMS.Models.Completion.",
"format": "int32"
},
"borehole": {
"$ref": "#/components/schemas/Borehole"
},
"isPrimary": {
"type": "boolean",
"description": "Gets or sets whether this BDMS.Models.Completion is the primary BDMS.Models.Completion."
},
"name": {
"type": "string",
"description": "Gets or sets the BDMS.Models.Completion's name.",
"nullable": true
},
"kindId": {
"type": "integer",
"description": "Gets or sets the BDMS.Models.Completion's type id.",
"format": "int32"
},
"kind": {
"$ref": "#/components/schemas/Codelist"
},
"notes": {
"type": "string",
"description": "Gets or sets the BDMS.Models.Completion's notes.",
"nullable": true
},
"abandonDate": {
"type": "string",
"description": "Gets or sets the BDMS.Models.Completion's abandon date.",
"format": "date",
"nullable": true
},
"createdById": {
"type": "integer",
"format": "int32",
"nullable": true
},
"createdBy": {
"$ref": "#/components/schemas/User"
},
"created": {
"type": "string",
"format": "date-time",
"nullable": true
},
"updatedById": {
"type": "integer",
"format": "int32",
"nullable": true
},
"updatedBy": {
"$ref": "#/components/schemas/User"
},
"updated": {
"type": "string",
"format": "date-time",
"nullable": true
},
"instrumentations": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Instrumentation"
},
"description": "Gets the BDMS.Models.Instrumentations associated with the BDMS.Models.Completion.",
"nullable": true
},
"backfills": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Backfill"
},
"description": "Gets the BDMS.Models.Backfills associated with the BDMS.Models.Completion.",
"nullable": true
},
"casings": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Casing"
},
"description": "Gets the BDMS.Models.Casings associated with the BDMS.Models.Completion.",
"nullable": true
}
},
"additionalProperties": false,
"description": "Represents a completion entity in the database."
},
"Coordinate": {
"type": "object",
"properties": {
"x": {
"type": "number",
"format": "double"
},
"y": {
"type": "number",
"format": "double"
},
"z": {
"type": "number",
"format": "double"
},
"m": {
"type": "number",
"format": "double"
},
"coordinateValue": {
"$ref": "#/components/schemas/Coordinate"
},
"isValid": {
"type": "boolean",
"readOnly": true
}
},
"additionalProperties": false
},
"CoordinateEqualityComparer": {
"type": "object",
"additionalProperties": false
},
"CoordinateSequence": {
"type": "object",
"properties": {
"dimension": {
"type": "integer",
"format": "int32",
"readOnly": true
},
"measures": {
"type": "integer",
"format": "int32",
"readOnly": true
},
"spatial": {
"type": "integer",
"format": "int32",
"readOnly": true
},
"ordinates": {
"$ref": "#/components/schemas/Ordinates"
},
"hasZ": {
"type": "boolean",
"readOnly": true
},
"hasM": {
"type": "boolean",
"readOnly": true
},
"zOrdinateIndex": {
"type": "integer",
"format": "int32",
"readOnly": true
},
"mOrdinateIndex": {
"type": "integer",
"format": "int32",
"readOnly": true
},
"first": {
"$ref": "#/components/schemas/Coordinate"
},
"last": {
"$ref": "#/components/schemas/Coordinate"
},
"count": {
"type": "integer",
"format": "int32",
"readOnly": true
}
},
"additionalProperties": false
},
"CoordinateSequenceFactory": {
"type": "object",
"properties": {
"ordinates": {
"$ref": "#/components/schemas/Ordinates"
}
},
"additionalProperties": false
},
"Dimension": {
"enum": [
0,
1,
2,
3,
-3,
-2,
-1
],
"type": "integer",
"format": "int32"
},
"Document": {
"required": [
"boreholeId",
"id"
],
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int32"
},
"boreholeId": {
"type": "integer",
"description": "Gets or sets the BDMS.Models.Document.Borehole id.",
"format": "int32"
},
"borehole": {
"$ref": "#/components/schemas/Borehole"
},
"url": {
"type": "string",
"description": "Gets or sets the BDMS.Models.Document's url.",
"format": "uri"
},
"description": {
"type": "string",
"description": "Gets or sets the BDMS.Models.Document's description.",
"nullable": true
},
"public": {
"type": "boolean",
"description": "Gets or sets whether the BDMS.Models.Document is publicly visible."
},
"createdById": {
"type": "integer",
"format": "int32",
"nullable": true
},
"createdBy": {
"$ref": "#/components/schemas/User"
},
"created": {
"type": "string",
"format": "date-time",
"nullable": true
},
"updatedById": {
"type": "integer",
"format": "int32",
"nullable": true
},
"updatedBy": {
"$ref": "#/components/schemas/User"
},
"updated": {
"type": "string",
"format": "date-time",
"nullable": true
}
},
"additionalProperties": false,
"description": "Represents a Document entity in the database."
},
"DocumentUpdate": {
"required": [
"id",
"public",
"url"
],
"type": "object",
"properties": {
"id": {
"type": "integer",
"description": "Gets or sets the BDMS.Models.Document's id.",
"format": "int32"
},
"url": {
"type": "string",
"description": "Gets or sets the BDMS.Models.Document's url.",
"format": "uri"
},
"description": {
"type": "string",
"description": "Gets or sets the BDMS.Models.Document's description.",
"nullable": true
},
"public": {
"type": "boolean",
"description": "Gets or sets whether the BDMS.Models.Document is publicly visible."
}
},
"additionalProperties": false,
"description": "Represents a BDMS.Models.Document's updatable properties."
},
"Envelope": {
"type": "object",
"properties": {
"isNull": {
"type": "boolean",
"readOnly": true
},
"width": {
"type": "number",
"format": "double",
"readOnly": true
},
"height": {
"type": "number",
"format": "double",
"readOnly": true
},
"diameter": {
"type": "number",
"format": "double",
"readOnly": true
},
"minX": {
"type": "number",
"format": "double",
"readOnly": true
},
"maxX": {
"type": "number",
"format": "double",
"readOnly": true
},
"minY": {
"type": "number",
"format": "double",
"readOnly": true
},
"maxY": {
"type": "number",
"format": "double",
"readOnly": true
},
"area": {
"type": "number",
"format": "double",
"readOnly": true
},
"minExtent": {
"type": "number",
"format": "double",
"readOnly": true
},
"maxExtent": {
"type": "number",
"format": "double",
"readOnly": true
},
"centre": {
"$ref": "#/components/schemas/Coordinate"
}
},
"additionalProperties": false
},
"FaciesDescription": {
"required": [
"fromDepth",
"id",
"stratigraphyId",
"toDepth"
],
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int32"
},
"stratigraphyId": {
"type": "integer",
"format": "int32"
},
"stratigraphy": {
"$ref": "#/components/schemas/Stratigraphy"
},
"createdById": {
"type": "integer",
"format": "int32",
"nullable": true
},
"createdBy": {
"$ref": "#/components/schemas/User"
},
"created": {
"type": "string",
"format": "date-time",
"nullable": true
},
"updatedById": {
"type": "integer",
"format": "int32",
"nullable": true
},
"updatedBy": {
"$ref": "#/components/schemas/User"
},
"updated": {
"type": "string",
"format": "date-time",
"nullable": true
},
"description": {
"type": "string",
"description": "Gets or sets the BDMS.Models.FaciesDescription's description.",
"nullable": true
},
"faciesId": {
"type": "integer",
"description": "Gets or sets the id of the BDMS.Models.FaciesDescription's facies.",
"format": "int32",
"nullable": true
},
"facies": {
"$ref": "#/components/schemas/Codelist"
},
"fromDepth": {
"type": "number",
"format": "double"
},
"toDepth": {
"type": "number",
"format": "double"
}
},
"additionalProperties": false,
"description": "Represents a facies description entity in the database."
},
"FieldMeasurement": {
"required": [
"boreholeId",
"id"
],
"type": "object",
"properties": {
"id": {
"type": "integer",
"description": "Gets or sets the BDMS.Models.Observation's id.",
"format": "int32"
},
"type": {
"$ref": "#/components/schemas/ObservationType"
},
"startTime": {
"type": "string",
"description": "Gets or sets the BDMS.Models.Observation's start time.",
"format": "date-time",
"nullable": true
},
"endTime": {
"type": "string",
"description": "Gets or sets the BDMS.Models.Observation's end time.",
"format": "date-time",
"nullable": true
},
"duration": {
"type": "number",
"description": "Gets or sets the BDMS.Models.Observation's duration.",
"format": "double",
"nullable": true
},
"originalVerticalReferenceSystem": {
"$ref": "#/components/schemas/VerticalReferenceSystem"
},
"fromDepthM": {
"type": "number",
"description": "Gets or sets the BDMS.Models.Observation's from depth in m.",
"format": "double",
"nullable": true
},
"toDepthM": {
"type": "number",
"description": "Gets or sets the BDMS.Models.Observation's to depth in m.",
"format": "double",
"nullable": true
},
"fromDepthMasl": {
"type": "number",
"description": "Gets or sets the BDMS.Models.Observation's from depth in m a.s.l.",
"format": "double",
"nullable": true
},
"toDepthMasl": {
"type": "number",
"description": "Gets or sets the BDMS.Models.Observation's to depth in m a.s.l.",
"format": "double",
"nullable": true
},
"casingId": {
"type": "integer",
"description": "Gets or sets id of the BDMS.Models.Observation's casing.",
"format": "int32",
"nullable": true
},
"isOpenBorehole": {
"type": "boolean",
"description": "Gets or sets whether or not the BDMS.Models.Observation belongs to an open borehole."
},
"casing": {
"$ref": "#/components/schemas/Casing"
},
"comment": {
"type": "string",
"description": "Gets or sets the BDMS.Models.Observation's comment.",
"nullable": true
},
"reliabilityId": {
"type": "integer",
"description": "Gets or sets the BDMS.Models.Observation's reliability id.",
"format": "int32",
"nullable": true
},
"reliability": {
"$ref": "#/components/schemas/Codelist"
},
"boreholeId": {
"type": "integer",
"description": "Gets or sets the BDMS.Models.Observation's borehole id.",
"format": "int32"
},
"createdById": {
"type": "integer",
"format": "int32",
"nullable": true
},
"createdBy": {
"$ref": "#/components/schemas/User"
},
"created": {
"type": "string",
"format": "date-time",
"nullable": true
},
"updatedById": {
"type": "integer",
"format": "int32",
"nullable": true
},
"updatedBy": {
"$ref": "#/components/schemas/User"
},
"updated": {
"type": "string",
"format": "date-time",
"nullable": true
},
"fieldMeasurementResults": {
"type": "array",
"items": {
"$ref": "#/components/schemas/FieldMeasurementResult"
},
"description": "Gets the BDMS.Models.FieldMeasurementResults associated with the BDMS.Models.FieldMeasurement.",
"nullable": true
}
},
"additionalProperties": false,
"description": "Represents a field measurement observation in the boring process."
},
"FieldMeasurementResult": {
"required": [
"fieldMeasurementId",
"id",
"parameterId",
"sampleTypeId"
],
"type": "object",
"properties": {
"id": {
"type": "integer",
"description": "Gets or sets the BDMS.Models.FieldMeasurementResult's id.",
"format": "int32"
},
"sampleTypeId": {
"type": "integer",
"description": "Gets or sets the BDMS.Models.FieldMeasurementResult's sample type id.",
"format": "int32"
},
"sampleType": {
"$ref": "#/components/schemas/Codelist"
},
"parameterId": {
"type": "integer",
"description": "Gets or sets the BDMS.Models.FieldMeasurementResult's parameter id.",
"format": "int32"
},
"parameter": {
"$ref": "#/components/schemas/Codelist"
},
"value": {
"type": "number",
"description": "Gets or sets the BDMS.Models.FieldMeasurementResult's value.",
"format": "double"
},
"fieldMeasurementId": {
"type": "integer",
"description": "Gets or sets the BDMS.Models.FieldMeasurementResult's field measurement id.",
"format": "int32"
},
"fieldMeasurement": {
"$ref": "#/components/schemas/FieldMeasurement"
},
"createdById": {
"type": "integer",
"format": "int32",
"nullable": true
},
"createdBy": {
"$ref": "#/components/schemas/User"
},
"created": {
"type": "string",
"format": "date-time",
"nullable": true
},
"updatedById": {
"type": "integer",
"format": "int32",
"nullable": true
},
"updatedBy": {
"$ref": "#/components/schemas/User"
},
"updated": {
"type": "string",
"format": "date-time",
"nullable": true
}
},
"additionalProperties": false,
"description": "Represents a field measurement result."
},
"FilterRequest": {
"type": "object",
"properties": {
"polygon": {
"$ref": "#/components/schemas/Geometry"
},
"originalName": {
"type": "string",
"description": "Gets or sets the original name filter.",
"nullable": true
},
"projectName": {
"type": "string",
"description": "Gets or sets the project name filter.",
"nullable": true
},
"name": {
"type": "string",
"description": "Gets or sets the alternate name filter.",
"nullable": true
},
"statusId": {
"maxItems": 100,
"type": "array",
"items": {
"type": "integer",
"format": "int32"
},
"description": "Gets or sets the status ID filter.",
"nullable": true
},
"typeId": {
"maxItems": 100,
"type": "array",
"items": {
"type": "integer",
"format": "int32"
},
"description": "Gets or sets the borehole type ID filter.",
"nullable": true
},
"purposeId": {
"maxItems": 100,
"type": "array",
"items": {
"type": "integer",
"format": "int32"
},
"description": "Gets or sets the purpose ID filter.",
"nullable": true
},
"workflowStatus": {
"maxItems": 100,
"type": "array",
"items": {
"$ref": "#/components/schemas/WorkflowStatus"
},
"description": "Gets or sets the workflow status filter. Matches boreholes whose workflow status is in this set.",
"nullable": true
},
"workgroupId": {
"maxItems": 100,
"type": "array",
"items": {
"type": "integer",
"format": "int32"
},
"description": "Gets or sets the workgroup ID filter.",
"nullable": true
},
"ids": {
"type": "array",
"items": {
"type": "integer",
"format": "int32"
},
"description": "Gets or sets multiple borehole IDs filter.",
"nullable": true
},
"restrictionUntilFrom": {
"type": "string",
"description": "Gets or sets the restriction until date start filter.",
"format": "date",
"nullable": true
},
"restrictionUntilTo": {
"type": "string",
"description": "Gets or sets the restriction until date end filter.",
"format": "date",
"nullable": true
},
"totalDepthMin": {
"type": "number",
"description": "Gets or sets the minimum total depth filter.",
"format": "double",
"nullable": true
},
"totalDepthMax": {
"type": "number",
"description": "Gets or sets the maximum total depth filter.",
"format": "double",
"nullable": true
},
"topBedrockFreshMdMin": {
"type": "number",
"description": "Gets or sets the minimum top bedrock fresh depth filter.",
"format": "double",
"nullable": true
},
"topBedrockFreshMdMax": {
"type": "number",
"description": "Gets or sets the maximum top bedrock fresh depth filter.",
"format": "double",
"nullable": true
},
"topBedrockWeatheredMdMin": {
"type": "number",
"description": "Gets or sets the minimum top bedrock weathered depth filter.",
"format": "double",
"nullable": true
},
"topBedrockWeatheredMdMax": {
"type": "number",
"description": "Gets or sets the maximum top bedrock weathered depth filter.",
"format": "double",
"nullable": true
},
"restrictionId": {
"maxItems": 100,
"type": "array",
"items": {
"type": "integer",
"format": "int32"
},
"description": "Gets or sets the restriction ID filter.",
"nullable": true
},
"canton": {
"maxItems": 100,
"type": "array",
"items": {
"type": "string"
},
"description": "Gets or sets the canton filter. Boreholes match if their canton is in this set.",
"nullable": true
},
"municipality": {
"maxItems": 100,
"type": "array",
"items": {
"type": "string"
},
"description": "Gets or sets the municipality filter. Boreholes match if their municipality is in this set.",
"nullable": true
},
"logToolTypeId": {
"maxItems": 100,
"type": "array",
"items": {
"type": "integer",
"format": "int32"
},
"description": "Gets or sets the log tool type codelist IDs filter. Boreholes match if any of their log files\r\nhave at least one of these tool type codelist IDs in their BDMS.Models.LogFile.LogFileToolTypeCodes.",
"nullable": true
},
"identifierTypeId": {
"maxItems": 100,
"type": "array",
"items": {
"type": "integer",
"format": "int32"
},
"description": "Gets or sets the identifier type (codelist) IDs filter.\r\nBoreholes match if at least one BDMS.Models.BoreholeCodelist row has a\r\n`CodelistId` in this set; combined with BDMS.Models.FilterRequest.IdentifierValue\r\nthe predicates apply on the same row (strict semantics).",
"nullable": true
},
"identifierValue": {
"type": "string",
"description": "Gets or sets the identifier value substring filter (case-insensitive).",
"nullable": true
},
"nationalInterest": {
"$ref": "#/components/schemas/NullableBooleanFilterValue"
},
"topBedrockIntersected": {
"$ref": "#/components/schemas/NullableBooleanFilterValue"
},
"hasGroundwater": {
"$ref": "#/components/schemas/NullableBooleanFilterValue"
},
"hasGeometry": {
"$ref": "#/components/schemas/BooleanFilterValue"
},
"hasLogs": {
"$ref": "#/components/schemas/BooleanFilterValue"
},
"hasProfiles": {
"$ref": "#/components/schemas/BooleanFilterValue"
},
"hasPhotos": {
"$ref": "#/components/schemas/BooleanFilterValue"
},
"hasDocuments": {
"$ref": "#/components/schemas/BooleanFilterValue"
},
"pageNumber": {
"maximum": 2147483647,
"minimum": 1,
"type": "integer",
"description": "Gets or sets the page number for pagination.",
"format": "int32"
},
"pageSize": {
"maximum": 100,
"minimum": 1,
"type": "integer",
"description": "Gets or sets the page size for pagination.",
"format": "int32"
},
"orderBy": {
"$ref": "#/components/schemas/BoreholeOrderBy"
},
"direction": {
"$ref": "#/components/schemas/OrderDirection"
}
},
"additionalProperties": false,
"description": "Represents a request to filter boreholes by various criteria."
},
"FilterResponse": {
"type": "object",
"properties": {
"totalCount": {
"type": "integer",
"description": "The total count of filtered boreholes.",
"format": "int32"
},
"pageNumber": {
"type": "integer",
"description": "The current page number.",
"format": "int32"
},
"pageSize": {
"type": "integer",
"description": "The size of the page.",
"format": "int32"
},
"totalPages": {
"type": "integer",
"description": "The total number of pages.",
"format": "int32"
},
"boreholes": {
"type": "array",
"items": {
"$ref": "#/components/schemas/BoreholeListItem"
},
"description": "The borehole list items for the current page."
},
"geoJson": {
"type": "array",
"items": {
"$ref": "#/components/schemas/IFeature"
},
"description": "The GeoJSON feature collection for map display.",
"nullable": true
},
"filteredBoreholeIds": {
"type": "array",
"items": {
"type": "integer",
"format": "int32"
},
"description": "The IDs of all filtered boreholes."
},
"selectableBoreholeIds": {
"type": "array",
"items": {
"type": "integer",
"format": "int32"
},
"description": "The IDs of all unlocked filtered boreholes."
}
},
"additionalProperties": false,
"description": "Represents a paginated response containing filtered boreholes."
},
"FilterStatsResponse": {
"type": "object",
"properties": {
"statusId": {
"type": "object",
"additionalProperties": {
"type": "integer",
"format": "int32"
},
"description": "Gets or sets counts grouped by BDMS.Models.Borehole.StatusId."
},
"typeId": {
"type": "object",
"additionalProperties": {
"type": "integer",
"format": "int32"
},
"description": "Gets or sets counts grouped by BDMS.Models.Borehole.TypeId."
},
"purposeId": {
"type": "object",
"additionalProperties": {
"type": "integer",
"format": "int32"
},
"description": "Gets or sets counts grouped by BDMS.Models.Borehole.PurposeId."
},
"workgroupId": {
"type": "object",
"additionalProperties": {
"type": "integer",
"format": "int32"
},
"description": "Gets or sets counts grouped by BDMS.Models.Borehole.WorkgroupId."
},
"restrictionId": {
"type": "object",
"additionalProperties": {
"type": "integer",
"format": "int32"
},
"description": "Gets or sets counts grouped by BDMS.Models.Borehole.RestrictionId."
},
"identifierTypeId": {
"type": "object",
"additionalProperties": {
"type": "integer",
"format": "int32"
},
"description": "Gets or sets counts grouped by BDMS.Models.BoreholeCodelist.CodelistId."
},
"canton": {
"type": "object",
"additionalProperties": {
"type": "integer",
"format": "int32"
},
"description": "Gets or sets counts grouped by BDMS.Models.Borehole.Canton."
},
"municipality": {
"type": "object",
"additionalProperties": {
"type": "integer",
"format": "int32"
},
"description": "Gets or sets counts grouped by BDMS.Models.Borehole.Municipality (UX-named \"city\")."
},
"logToolTypeId": {
"type": "object",
"additionalProperties": {
"type": "integer",
"format": "int32"
},
"description": "Gets or sets counts grouped by log tool type codelist ID."
},
"workflowStatusCount": {
"type": "object",
"properties": {
"Draft": {
"type": "integer",
"format": "int32"
},
"InReview": {
"type": "integer",
"format": "int32"
},
"Reviewed": {
"type": "integer",
"format": "int32"
},
"Published": {
"type": "integer",
"format": "int32"
}
},
"additionalProperties": false,
"description": "Gets or sets counts grouped by BDMS.Models.Workflow.Status."
},
"nationalInterest": {
"$ref": "#/components/schemas/NullableBooleanCounts"
},
"topBedrockIntersected": {
"$ref": "#/components/schemas/NullableBooleanCounts"
},
"hasGroundwater": {
"$ref": "#/components/schemas/NullableBooleanCounts"
},
"hasGeometry": {
"$ref": "#/components/schemas/BooleanCounts"
},
"hasLogs": {
"$ref": "#/components/schemas/BooleanCounts"
},
"hasProfiles": {
"$ref": "#/components/schemas/BooleanCounts"
},
"hasPhotos": {
"$ref": "#/components/schemas/BooleanCounts"
},
"hasDocuments": {
"$ref": "#/components/schemas/BooleanCounts"
}
},
"additionalProperties": false,
"description": "Represents per-option counts for each multi-option filter\r\ndimension. Counts are computed with the filter-exclusion semantic."
},
"Geometry": {
"type": "object",
"properties": {
"factory": {
"$ref": "#/components/schemas/GeometryFactory"
},
"userData": {
"nullable": true
},
"srid": {
"type": "integer",
"format": "int32"
},
"geometryType": {
"type": "string",
"nullable": true,
"readOnly": true
},
"ogcGeometryType": {
"$ref": "#/components/schemas/OgcGeometryType"
},
"precisionModel": {
"$ref": "#/components/schemas/PrecisionModel"
},
"coordinate": {
"$ref": "#/components/schemas/Coordinate"
},
"coordinates": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Coordinate"
},
"nullable": true,
"readOnly": true
},
"numPoints": {
"type": "integer",
"format": "int32",
"readOnly": true
},
"numGeometries": {
"type": "integer",
"format": "int32",
"readOnly": true
},
"isSimple": {
"type": "boolean",
"readOnly": true
},
"isValid": {
"type": "boolean",
"readOnly": true
},
"isEmpty": {
"type": "boolean",
"readOnly": true
},
"area": {
"type": "number",
"format": "double",
"readOnly": true
},
"length": {
"type": "number",
"format": "double",
"readOnly": true
},
"centroid": {
"$ref": "#/components/schemas/Point"
},
"interiorPoint": {
"$ref": "#/components/schemas/Point"
},
"pointOnSurface": {
"$ref": "#/components/schemas/Point"
},
"dimension": {
"$ref": "#/components/schemas/Dimension"
},
"boundary": {
"$ref": "#/components/schemas/Geometry"
},
"boundaryDimension": {
"$ref": "#/components/schemas/Dimension"
},
"envelope": {
"$ref": "#/components/schemas/Geometry"
},
"envelopeInternal": {
"$ref": "#/components/schemas/Envelope"
},
"isRectangle": {
"type": "boolean",
"readOnly": true
}
},
"additionalProperties": false
},
"GeometryFactory": {
"type": "object",
"properties": {
"precisionModel": {
"$ref": "#/components/schemas/PrecisionModel"
},
"coordinateSequenceFactory": {
"$ref": "#/components/schemas/CoordinateSequenceFactory"
},
"srid": {
"type": "integer",
"format": "int32",
"readOnly": true
},
"geometryServices": {
"$ref": "#/components/schemas/NtsGeometryServices"
}
},
"additionalProperties": false
},
"GeometryOverlay": {
"type": "object",
"additionalProperties": false
},
"GroundwaterLevelMeasurement": {
"required": [
"boreholeId",
"id",
"kindId"
],
"type": "object",
"properties": {
"id": {
"type": "integer",
"description": "Gets or sets the BDMS.Models.Observation's id.",
"format": "int32"
},
"type": {
"$ref": "#/components/schemas/ObservationType"
},
"startTime": {
"type": "string",
"description": "Gets or sets the BDMS.Models.Observation's start time.",
"format": "date-time",
"nullable": true
},
"endTime": {
"type": "string",
"description": "Gets or sets the BDMS.Models.Observation's end time.",
"format": "date-time",
"nullable": true
},
"duration": {
"type": "number",
"description": "Gets or sets the BDMS.Models.Observation's duration.",
"format": "double",
"nullable": true
},
"originalVerticalReferenceSystem": {
"$ref": "#/components/schemas/VerticalReferenceSystem"
},
"fromDepthM": {
"type": "number",
"description": "Gets or sets the BDMS.Models.Observation's from depth in m.",
"format": "double",
"nullable": true
},
"toDepthM": {
"type": "number",
"description": "Gets or sets the BDMS.Models.Observation's to depth in m.",
"format": "double",
"nullable": true
},
"fromDepthMasl": {
"type": "number",
"description": "Gets or sets the BDMS.Models.Observation's from depth in m a.s.l.",
"format": "double",
"nullable": true
},
"toDepthMasl": {
"type": "number",
"description": "Gets or sets the BDMS.Models.Observation's to depth in m a.s.l.",
"format": "double",
"nullable": true
},
"casingId": {
"type": "integer",
"description": "Gets or sets id of the BDMS.Models.Observation's casing.",
"format": "int32",
"nullable": true
},
"isOpenBorehole": {
"type": "boolean",
"description": "Gets or sets whether or not the BDMS.Models.Observation belongs to an open borehole."
},
"casing": {
"$ref": "#/components/schemas/Casing"
},
"comment": {
"type": "string",
"description": "Gets or sets the BDMS.Models.Observation's comment.",
"nullable": true
},
"reliabilityId": {
"type": "integer",
"description": "Gets or sets the BDMS.Models.Observation's reliability id.",
"format": "int32",
"nullable": true
},
"reliability": {
"$ref": "#/components/schemas/Codelist"
},
"boreholeId": {
"type": "integer",
"description": "Gets or sets the BDMS.Models.Observation's borehole id.",
"format": "int32"
},
"createdById": {
"type": "integer",
"format": "int32",
"nullable": true
},
"createdBy": {
"$ref": "#/components/schemas/User"
},
"created": {
"type": "string",
"format": "date-time",
"nullable": true
},
"updatedById": {
"type": "integer",
"format": "int32",
"nullable": true
},
"updatedBy": {
"$ref": "#/components/schemas/User"
},
"updated": {
"type": "string",
"format": "date-time",
"nullable": true
},
"kindId": {
"type": "integer",
"description": "Gets or sets the BDMS.Models.GroundwaterLevelMeasurement's kind.",
"format": "int32"
},
"kind": {
"$ref": "#/components/schemas/Codelist"
},
"levelM": {
"type": "number",
"description": "Gets or sets the BDMS.Models.GroundwaterLevelMeasurement's level in m.",
"format": "double",
"nullable": true
},
"levelMasl": {
"type": "number",
"description": "Gets or sets the BDMS.Models.GroundwaterLevelMeasurement's level in m a.s.l.",
"format": "double",
"nullable": true
}
},
"additionalProperties": false,
"description": "Represents a groundwater level measurement observation in the boring process."
},
"Hydrotest": {
"required": [
"boreholeId",
"id"
],
"type": "object",
"properties": {
"id": {
"type": "integer",
"description": "Gets or sets the BDMS.Models.Observation's id.",
"format": "int32"
},
"type": {
"$ref": "#/components/schemas/ObservationType"
},
"startTime": {
"type": "string",
"description": "Gets or sets the BDMS.Models.Observation's start time.",
"format": "date-time",
"nullable": true
},
"endTime": {
"type": "string",
"description": "Gets or sets the BDMS.Models.Observation's end time.",
"format": "date-time",
"nullable": true
},
"duration": {
"type": "number",
"description": "Gets or sets the BDMS.Models.Observation's duration.",
"format": "double",
"nullable": true
},
"originalVerticalReferenceSystem": {
"$ref": "#/components/schemas/VerticalReferenceSystem"
},
"fromDepthM": {
"type": "number",
"description": "Gets or sets the BDMS.Models.Observation's from depth in m.",
"format": "double",
"nullable": true
},
"toDepthM": {
"type": "number",
"description": "Gets or sets the BDMS.Models.Observation's to depth in m.",
"format": "double",
"nullable": true
},
"fromDepthMasl": {
"type": "number",
"description": "Gets or sets the BDMS.Models.Observation's from depth in m a.s.l.",
"format": "double",
"nullable": true
},
"toDepthMasl": {
"type": "number",
"description": "Gets or sets the BDMS.Models.Observation's to depth in m a.s.l.",
"format": "double",
"nullable": true
},
"casingId": {
"type": "integer",
"description": "Gets or sets id of the BDMS.Models.Observation's casing.",
"format": "int32",
"nullable": true
},
"isOpenBorehole": {
"type": "boolean",
"description": "Gets or sets whether or not the BDMS.Models.Observation belongs to an open borehole."
},
"casing": {
"$ref": "#/components/schemas/Casing"
},
"comment": {
"type": "string",
"description": "Gets or sets the BDMS.Models.Observation's comment.",
"nullable": true
},
"reliabilityId": {
"type": "integer",
"description": "Gets or sets the BDMS.Models.Observation's reliability id.",
"format": "int32",
"nullable": true
},
"reliability": {
"$ref": "#/components/schemas/Codelist"
},
"boreholeId": {
"type": "integer",
"description": "Gets or sets the BDMS.Models.Observation's borehole id.",
"format": "int32"
},
"createdById": {
"type": "integer",
"format": "int32",
"nullable": true
},
"createdBy": {
"$ref": "#/components/schemas/User"
},
"created": {
"type": "string",
"format": "date-time",
"nullable": true
},
"updatedById": {
"type": "integer",
"format": "int32",
"nullable": true
},
"updatedBy": {
"$ref": "#/components/schemas/User"
},
"updated": {
"type": "string",
"format": "date-time",
"nullable": true
},
"kindCodelistIds": {
"type": "array",
"items": {
"type": "integer",
"format": "int32"
},
"description": "Gets or sets the codelist ids with schema name 'hydrotest_kind' of the BDMS.Models.Hydrotest's many to many codelist relations.",
"nullable": true
},
"kindCodelists": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Codelist"
},
"description": "Gets the BDMS.Models.Codelists with schema name 'hydrotest_kind' used by the BDMS.Models.Hydrotest.",
"nullable": true
},
"flowDirectionCodelistIds": {
"type": "array",
"items": {
"type": "integer",
"format": "int32"
},
"description": "Gets or sets the codelist ids with schema name 'hydrotest_flowdirection' of the BDMS.Models.Hydrotest's many to many codelist relations.",
"nullable": true
},
"flowDirectionCodelists": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Codelist"
},
"description": "Gets the BDMS.Models.Codelists with schema name 'hydrotest_flowdirection' used by the BDMS.Models.Hydrotest.",
"nullable": true
},
"evaluationMethodCodelistIds": {
"type": "array",
"items": {
"type": "integer",
"format": "int32"
},
"description": "Gets or sets the codelist ids with schema name 'hydrotest_evaluationmethod' of the BDMS.Models.Hydrotest's many to many codelist relations.",
"nullable": true
},
"evaluationMethodCodelists": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Codelist"
},
"description": "Gets the BDMS.Models.Codelists with schema name 'hydrotest_evaluationmethod' used by the BDMS.Models.Hydrotest.",
"nullable": true
},
"hydrotestResults": {
"type": "array",
"items": {
"$ref": "#/components/schemas/HydrotestResult"
},
"description": "Gets the BDMS.Models.HydrotestResults associated with the BDMS.Models.Hydrotest.",
"nullable": true
}
},
"additionalProperties": false,
"description": "Represents a hydrotest in the boring process."
},
"HydrotestResult": {
"required": [
"hydrotestId",
"id",
"parameterId"
],
"type": "object",
"properties": {
"id": {
"type": "integer",
"description": "Gets or sets the BDMS.Models.HydrotestResult's id.",
"format": "int32"
},
"parameterId": {
"type": "integer",
"description": "Gets or sets the BDMS.Models.HydrotestResult's parameter id.",
"format": "int32"
},
"parameter": {
"$ref": "#/components/schemas/Codelist"
},
"value": {
"type": "number",
"description": "Gets or sets the BDMS.Models.HydrotestResult's value.",
"format": "double",
"nullable": true
},
"maxValue": {
"type": "number",
"description": "Gets or sets the BDMS.Models.HydrotestResult's max value.",
"format": "double",
"nullable": true
},
"minValue": {
"type": "number",
"description": "Gets or sets the BDMS.Models.HydrotestResult's min value.",
"format": "double",
"nullable": true
},
"hydrotestId": {
"type": "integer",
"description": "Gets or sets the BDMS.Models.HydrotestResult's hydrotest id.",
"format": "int32"
},
"hydrotest": {
"$ref": "#/components/schemas/Hydrotest"
},
"createdById": {
"type": "integer",
"format": "int32",
"nullable": true
},
"createdBy": {
"$ref": "#/components/schemas/User"
},
"created": {
"type": "string",
"format": "date-time",
"nullable": true
},
"updatedById": {
"type": "integer",
"format": "int32",
"nullable": true
},
"updatedBy": {
"$ref": "#/components/schemas/User"
},
"updated": {
"type": "string",
"format": "date-time",
"nullable": true
}
},
"additionalProperties": false,
"description": "Represents a hydrotest result."
},
"IAttributesTable": {
"type": "object",
"properties": {
"count": {
"type": "integer",
"format": "int32",
"readOnly": true
}
},
"additionalProperties": false
},
"IFeature": {
"type": "object",
"properties": {
"geometry": {
"$ref": "#/components/schemas/Geometry"
},
"boundingBox": {
"$ref": "#/components/schemas/Envelope"
},
"attributes": {
"$ref": "#/components/schemas/IAttributesTable"
}
},
"additionalProperties": false
},
"Instrumentation": {
"required": [
"completionId",
"id"
],
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int32"
},
"completionId": {
"type": "integer",
"description": "Gets or sets foreign key for the BDMS.Models.Instrumentation.Completion of this BDMS.Models.Instrumentation.",
"format": "int32"
},
"completion": {
"$ref": "#/components/schemas/Completion"
},
"fromDepth": {
"type": "number",
"description": "Gets or sets the BDMS.Models.Instrumentation's upper depth.",
"format": "double",
"nullable": true
},
"toDepth": {
"type": "number",
"description": "Gets or sets the BDMS.Models.Instrumentation's lower depth.",
"format": "double",
"nullable": true
},
"name": {
"type": "string",
"description": "Gets or sets the BDMS.Models.Instrumentation's name.",
"nullable": true
},
"kindId": {
"type": "integer",
"description": "Gets or sets the id BDMS.Models.Instrumentation's kind.",
"format": "int32",
"nullable": true
},
"kind": {
"$ref": "#/components/schemas/Codelist"
},
"statusId": {
"type": "integer",
"description": "Gets or sets the id of the BDMS.Models.Instrumentation's status.",
"format": "int32",
"nullable": true
},
"status": {
"$ref": "#/components/schemas/Codelist"
},
"isOpenBorehole": {
"type": "boolean",
"description": "Gets or sets whether or not the BDMS.Models.Instrumentation belongs to an open borehole."
},
"casingId": {
"type": "integer",
"description": "Gets or sets id of the BDMS.Models.Instrumentation's casing.",
"format": "int32",
"nullable": true
},
"casing": {
"$ref": "#/components/schemas/Casing"
},
"notes": {
"type": "string",
"description": "Gets or sets the BDMS.Models.Instrumentation's notes.",
"nullable": true
},
"createdById": {
"type": "integer",
"format": "int32",
"nullable": true
},
"createdBy": {
"$ref": "#/components/schemas/User"
},
"created": {
"type": "string",
"format": "date-time",
"nullable": true
},
"updatedById": {
"type": "integer",
"format": "int32",
"nullable": true
},
"updatedBy": {
"$ref": "#/components/schemas/User"
},
"updated": {
"type": "string",
"format": "date-time",
"nullable": true
}
},
"additionalProperties": false,
"description": "Represents a Instrumentation entity in the database."
},
"LTree": {
"type": "object",
"properties": {
"nLevel": {
"type": "integer",
"format": "int32",
"readOnly": true
}
},
"additionalProperties": false
},
"LithologicalDescription": {
"required": [
"fromDepth",
"id",
"stratigraphyId",
"toDepth"
],
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int32"
},
"stratigraphyId": {
"type": "integer",
"format": "int32"
},
"stratigraphy": {
"$ref": "#/components/schemas/Stratigraphy"
},
"createdById": {
"type": "integer",
"format": "int32",
"nullable": true
},
"createdBy": {
"$ref": "#/components/schemas/User"
},
"created": {
"type": "string",
"format": "date-time",
"nullable": true
},
"updatedById": {
"type": "integer",
"format": "int32",
"nullable": true
},
"updatedBy": {
"$ref": "#/components/schemas/User"
},
"updated": {
"type": "string",
"format": "date-time",
"nullable": true
},
"description": {
"type": "string",
"description": "Gets or sets the BDMS.Models.LithologicalDescription's description.",
"nullable": true
},
"fromDepth": {
"type": "number",
"format": "double"
},
"toDepth": {
"type": "number",
"format": "double"
}
},
"additionalProperties": false,
"description": "Represents a lithological description entity in the database."
},
"Lithology": {
"required": [
"fromDepth",
"id",
"stratigraphyId",
"toDepth"
],
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int32"
},
"stratigraphyId": {
"type": "integer",
"format": "int32"
},
"stratigraphy": {
"$ref": "#/components/schemas/Stratigraphy"
},
"createdById": {
"type": "integer",
"format": "int32",
"nullable": true
},
"createdBy": {
"$ref": "#/components/schemas/User"
},
"created": {
"type": "string",
"format": "date-time",
"nullable": true
},
"updatedById": {
"type": "integer",
"format": "int32",
"nullable": true
},
"updatedBy": {
"$ref": "#/components/schemas/User"
},
"updated": {
"type": "string",
"format": "date-time",
"nullable": true
},
"fromDepth": {
"type": "number",
"format": "double"
},
"toDepth": {
"type": "number",
"format": "double"
},
"isUnconsolidated": {
"type": "boolean",
"description": "Gets or sets whether the BDMS.Models.Lithology is unconsolidated or consolidated.\r\n`null` means no specification.",
"nullable": true
},
"hasBedding": {
"type": "boolean",
"description": "Gets or sets whether the BDMS.Models.Lithology has bedding."
},
"share": {
"type": "integer",
"description": "Gets or sets the share of the bedding.",
"format": "int32",
"nullable": true
},
"lithologyDescriptions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/LithologyDescription"
},
"description": "Gets or sets the BDMS.Models.LithologyDescription entities.",
"nullable": true
},
"alterationDegreeId": {
"type": "integer",
"description": "Gets or sets the id of the BDMS.Models.Lithology's alteration degree.",
"format": "int32",
"nullable": true
},
"alterationDegree": {
"$ref": "#/components/schemas/Codelist"
},
"notes": {
"type": "string",
"description": "Gets or sets the BDMS.Models.Lithology's notes.",
"nullable": true
},
"compactnessId": {
"type": "integer",
"description": "Gets or sets the id of the BDMS.Models.Lithology's compactness.",
"format": "int32",
"nullable": true
},
"compactness": {
"$ref": "#/components/schemas/Codelist"
},
"cohesionId": {
"type": "integer",
"description": "Gets or sets the id of the BDMS.Models.Lithology's cohesion.",
"format": "int32",
"nullable": true
},
"cohesion": {
"$ref": "#/components/schemas/Codelist"
},
"humidityId": {
"type": "integer",
"description": "Gets or sets the id of the BDMS.Models.Lithology's humidity.",
"format": "int32",
"nullable": true
},
"humidity": {
"$ref": "#/components/schemas/Codelist"
},
"consistencyId": {
"type": "integer",
"description": "Gets or sets the id of the BDMS.Models.Lithology's consistency.",
"format": "int32",
"nullable": true
},
"consistency": {
"$ref": "#/components/schemas/Codelist"
},
"plasticityId": {
"type": "integer",
"description": "Gets or sets the id of the BDMS.Models.Lithology's plasticity.",
"format": "int32",
"nullable": true
},
"plasticity": {
"$ref": "#/components/schemas/Codelist"
},
"lithologyUscsTypeCodes": {
"type": "array",
"items": {
"$ref": "#/components/schemas/LithologyUscsTypeCodes"
},
"description": "Gets or sets the BDMS.Models.Lithology.LithologyUscsTypeCodes join table entities.",
"nullable": true
},
"uscsTypeCodelistIds": {
"type": "array",
"items": {
"type": "integer",
"format": "int32"
},
"description": "Gets or sets the code list ids with schema name 'uscs_type' of the BDMS.Models.Lithology's many to many code list relations.",
"nullable": true
},
"uscsTypeCodelists": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Codelist"
},
"description": "Gets the BDMS.Models.Codelists with schema name 'uscs_type' used by the BDMS.Models.Lithology.",
"nullable": true
},
"uscsDeterminationId": {
"type": "integer",
"description": "Gets or sets the id of the BDMS.Models.Lithology's uscs determination.",
"format": "int32",
"nullable": true
},
"uscsDetermination": {
"$ref": "#/components/schemas/Codelist"
},
"lithologyRockConditionCodes": {
"type": "array",
"items": {
"$ref": "#/components/schemas/LithologyRockConditionCodes"
},
"description": "Gets or sets the BDMS.Models.Lithology.LithologyRockConditionCodes join table entities.",
"nullable": true
},
"rockConditionCodelistIds": {
"type": "array",
"items": {
"type": "integer",
"format": "int32"
},
"description": "Gets or sets the code list ids with schema name 'rock_condition' of the BDMS.Models.Lithology's many to many code list relations.",
"nullable": true
},
"rockConditionCodelists": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Codelist"
},
"description": "Gets the BDMS.Models.Codelists with schema name 'rock_condition' used by the BDMS.Models.Lithology.",
"nullable": true
},
"lithologyTextureMetaCodes": {
"type": "array",
"items": {
"$ref": "#/components/schemas/LithologyTextureMetaCodes"
},
"description": "Gets or sets the BDMS.Models.LithologyTextureMetaCodes join table entities.",
"nullable": true
},
"textureMetaCodelistIds": {
"type": "array",
"items": {
"type": "integer",
"format": "int32"
},
"description": "Gets or sets the code list ids with schema name 'texture_meta' of the BDMS.Models.Lithology's many to many code list relations.",
"nullable": true
},
"textureMetaCodelists": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Codelist"
},
"description": "Gets the BDMS.Models.Codelists with schema name 'texture_meta' used by the BDMS.Models.Lithology.",
"nullable": true
}
},
"additionalProperties": false,
"description": "Represents a lithology entity in the database."
},
"LithologyDescription": {
"required": [
"id",
"lithologyId"
],
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int32"
},
"lithologyId": {
"type": "integer",
"description": "Gets or sets the id of the BDMS.Models.LithologyDescription's lithology.",
"format": "int32"
},
"lithology": {
"$ref": "#/components/schemas/Lithology"
},
"createdById": {
"type": "integer",
"format": "int32",
"nullable": true
},
"createdBy": {
"$ref": "#/components/schemas/User"
},
"created": {
"type": "string",
"format": "date-time",
"nullable": true
},
"updatedById": {
"type": "integer",
"format": "int32",
"nullable": true
},
"updatedBy": {
"$ref": "#/components/schemas/User"
},
"updated": {
"type": "string",
"format": "date-time",
"nullable": true
},
"isFirst": {
"type": "boolean",
"description": "Gets or sets whether the BDMS.Models.LithologyDescription is the first of maximum two."
},
"colorPrimaryId": {
"type": "integer",
"description": "Gets or sets the id of the BDMS.Models.LithologyDescription's primary color.",
"format": "int32",
"nullable": true
},
"colorPrimary": {
"$ref": "#/components/schemas/Codelist"
},
"colorSecondaryId": {
"type": "integer",
"description": "Gets or sets the id of the BDMS.Models.LithologyDescription's secondary color.",
"format": "int32",
"nullable": true
},
"colorSecondary": {
"$ref": "#/components/schemas/Codelist"
},
"lithologyUnconMainId": {
"type": "integer",
"description": "Gets or sets the id of the BDMS.Models.LithologyDescription's main fraction.",
"format": "int32",
"nullable": true
},
"lithologyUnconMain": {
"$ref": "#/components/schemas/Codelist"
},
"lithologyUncon2Id": {
"type": "integer",
"description": "Gets or sets the id of the BDMS.Models.LithologyDescription's second fraction.",
"format": "int32",
"nullable": true
},
"lithologyUncon2": {
"$ref": "#/components/schemas/Codelist"
},
"lithologyUncon3Id": {
"type": "integer",
"description": "Gets or sets the id of the BDMS.Models.LithologyDescription's third fraction.",
"format": "int32",
"nullable": true
},
"lithologyUncon3": {
"$ref": "#/components/schemas/Codelist"
},
"lithologyUncon4Id": {
"type": "integer",
"description": "Gets or sets the id of the BDMS.Models.LithologyDescription's fourth fraction.",
"format": "int32",
"nullable": true
},
"lithologyUncon4": {
"$ref": "#/components/schemas/Codelist"
},
"lithologyUncon5Id": {
"type": "integer",
"description": "Gets or sets the id of the BDMS.Models.LithologyDescription's fift fraction.",
"format": "int32",
"nullable": true
},
"lithologyUncon5": {
"$ref": "#/components/schemas/Codelist"
},
"lithologyUncon6Id": {
"type": "integer",
"description": "Gets or sets the id of the BDMS.Models.LithologyDescription's fourth fraction.",
"format": "int32",
"nullable": true
},
"lithologyUncon6": {
"$ref": "#/components/schemas/Codelist"
},
"lithologyDescriptionComponentUnconOrganicCodes": {
"type": "array",
"items": {
"$ref": "#/components/schemas/LithologyDescriptionComponentUnconOrganicCodes"
},
"description": "Gets or sets the BDMS.Models.LithologyDescription.LithologyDescriptionComponentUnconOrganicCodes join table entities.",
"nullable": true
},
"componentUnconOrganicCodelistIds": {
"type": "array",
"items": {
"type": "integer",
"format": "int32"
},
"description": "Gets or sets the code list ids with schema name 'organic_components' of the BDMS.Models.LithologyDescription's many to many code list relations.",
"nullable": true
},
"componentUnconOrganicCodelists": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Codelist"
},
"description": "Gets the BDMS.Models.Codelists with schema name 'organic_components' used by the BDMS.Models.LithologyDescription.",
"nullable": true
},
"lithologyDescriptionComponentUnconDebrisCodes": {
"type": "array",
"items": {
"$ref": "#/components/schemas/LithologyDescriptionComponentUnconDebrisCodes"
},
"description": "Gets or sets the BDMS.Models.LithologyDescription.LithologyDescriptionComponentUnconDebrisCodes join table entities.",
"nullable": true
},
"componentUnconDebrisCodelistIds": {
"type": "array",
"items": {
"type": "integer",
"format": "int32"
},
"description": "Gets or sets the code list ids with schema name 'debris' of the BDMS.Models.LithologyDescription's many to many code list relations.",
"nullable": true
},
"componentUnconDebrisCodelists": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Codelist"
},
"description": "Gets the BDMS.Models.Codelists with schema name 'debris' used by the BDMS.Models.LithologyDescription.",
"nullable": true
},
"lithologyDescriptionGrainShapeCodes": {
"type": "array",
"items": {
"$ref": "#/components/schemas/LithologyDescriptionGrainShapeCodes"
},
"description": "Gets or sets the BDMS.Models.LithologyDescription.LithologyDescriptionGrainShapeCodes join table entities.",
"nullable": true
},
"grainShapeCodelistIds": {
"type": "array",
"items": {
"type": "integer",
"format": "int32"
},
"description": "Gets or sets the code list ids with schema name 'grain_shape' of the BDMS.Models.LithologyDescription's many to many code list relations.",
"nullable": true
},
"grainShapeCodelists": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Codelist"
},
"description": "Gets the BDMS.Models.Codelists with schema name 'grain_shape' used by the BDMS.Models.LithologyDescription.",
"nullable": true
},
"lithologyDescriptionGrainAngularityCodes": {
"type": "array",
"items": {
"$ref": "#/components/schemas/LithologyDescriptionGrainAngularityCodes"
},
"description": "Gets or sets the BDMS.Models.LithologyDescription.LithologyDescriptionGrainAngularityCodes join table entities.",
"nullable": true
},
"grainAngularityCodelistIds": {
"type": "array",
"items": {
"type": "integer",
"format": "int32"
},
"description": "Gets or sets the code list ids with schema name 'grain_angularity' of the BDMS.Models.LithologyDescription's many to many code list relations.",
"nullable": true
},
"grainAngularityCodelists": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Codelist"
},
"description": "Gets the BDMS.Models.Codelists with schema name 'grain_angularity' used by the BDMS.Models.LithologyDescription.",
"nullable": true
},
"hasStriae": {
"type": "boolean",
"description": "Gets or sets whether the BDMS.Models.LithologyDescription has striae."
},
"lithologyDescriptionLithologyUnconDebrisCodes": {
"type": "array",
"items": {
"$ref": "#/components/schemas/LithologyDescriptionLithologyUnconDebrisCodes"
},
"description": "Gets or sets the BDMS.Models.LithologyDescription.LithologyDescriptionLithologyUnconDebrisCodes join table entities.",
"nullable": true
},
"lithologyUnconDebrisCodelistIds": {
"type": "array",
"items": {
"type": "integer",
"format": "int32"
},
"description": "Gets or sets the code list ids with schema name 'lithology_con' of the BDMS.Models.LithologyDescription's many to many code list relations.",
"nullable": true
},
"lithologyUnconDebrisCodelists": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Codelist"
},
"description": "Gets the BDMS.Models.Codelists with schema name 'lithology_con' used by the BDMS.Models.LithologyDescription.",
"nullable": true
},
"lithologyConId": {
"type": "integer",
"description": "Gets or sets the id of the BDMS.Models.LithologyDescription's consolidated lithology.",
"format": "int32",
"nullable": true
},
"lithologyCon": {
"$ref": "#/components/schemas/Codelist"
},
"lithologyDescriptionComponentConParticleCodes": {
"type": "array",
"items": {
"$ref": "#/components/schemas/LithologyDescriptionComponentConParticleCodes"
},
"description": "Gets or sets the BDMS.Models.LithologyDescription.LithologyDescriptionComponentConParticleCodes join table entities.",
"nullable": true
},
"componentConParticleCodelistIds": {
"type": "array",
"items": {
"type": "integer",
"format": "int32"
},
"description": "Gets or sets the code list ids with schema name 'component_con_particle' of the BDMS.Models.LithologyDescription's many to many code list relations.",
"nullable": true
},
"componentConParticleCodelists": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Codelist"
},
"description": "Gets the BDMS.Models.Codelists with schema name 'component_con_particle' used by the BDMS.Models.LithologyDescription.",
"nullable": true
},
"lithologyDescriptionComponentConMineralCodes": {
"type": "array",
"items": {
"$ref": "#/components/schemas/LithologyDescriptionComponentConMineralCodes"
},
"description": "Gets or sets the BDMS.Models.LithologyDescription.LithologyDescriptionComponentConMineralCodes join table entities.",
"nullable": true
},
"componentConMineralCodelistIds": {
"type": "array",
"items": {
"type": "integer",
"format": "int32"
},
"description": "Gets or sets the code list ids with schema name 'component_con_mineral' of the BDMS.Models.LithologyDescription's many to many code list relations.",
"nullable": true
},
"componentConMineralCodelists": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Codelist"
},
"description": "Gets the BDMS.Models.Codelists with schema name 'component_con_mineral' used by the BDMS.Models.LithologyDescription.",
"nullable": true
},
"grainSizeId": {
"type": "integer",
"description": "Gets or sets the id of the BDMS.Models.LithologyDescription's grain size.",
"format": "int32",
"nullable": true
},
"grainSize": {
"$ref": "#/components/schemas/Codelist"
},
"grainAngularityId": {
"type": "integer",
"description": "Gets or sets the id of the BDMS.Models.LithologyDescription's grain angularity.",
"format": "int32",
"nullable": true
},
"grainAngularity": {
"$ref": "#/components/schemas/Codelist"
},
"gradationId": {
"type": "integer",
"description": "Gets or sets the id of the BDMS.Models.LithologyDescription's gradation.",
"format": "int32",
"nullable": true
},
"gradation": {
"$ref": "#/components/schemas/Codelist"
},
"cementationId": {
"type": "integer",
"description": "Gets or sets the id of the BDMS.Models.LithologyDescription's cementation.",
"format": "int32",
"nullable": true
},
"cementation": {
"$ref": "#/components/schemas/Codelist"
},
"lithologyDescriptionStructureSynGenCodes": {
"type": "array",
"items": {
"$ref": "#/components/schemas/LithologyDescriptionStructureSynGenCodes"
},
"description": "Gets or sets the BDMS.Models.LithologyDescription.LithologyDescriptionStructureSynGenCodes join table entities.",
"nullable": true
},
"structureSynGenCodelistIds": {
"type": "array",
"items": {
"type": "integer",
"format": "int32"
},
"description": "Gets or sets the code list ids with schema name 'structure_syn_gen' of the BDMS.Models.LithologyDescription's many to many code list relations.",
"nullable": true
},
"structureSynGenCodelists": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Codelist"
},
"description": "Gets the BDMS.Models.Codelists with schema name 'structure_syn_gen' used by the BDMS.Models.LithologyDescription.",
"nullable": true
},
"lithologyDescriptionStructurePostGenCodes": {
"type": "array",
"items": {
"$ref": "#/components/schemas/LithologyDescriptionStructurePostGenCodes"
},
"description": "Gets or sets the BDMS.Models.LithologyDescription.LithologyDescriptionStructurePostGenCodes join table entities.",
"nullable": true
},
"structurePostGenCodelistIds": {
"type": "array",
"items": {
"type": "integer",
"format": "int32"
},
"description": "Gets or sets the code list ids with schema name 'structure_post_gen' of the BDMS.Models.LithologyDescription's many to many code list relations.",
"nullable": true
},
"structurePostGenCodelists": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Codelist"
},
"description": "Gets the BDMS.Models.Codelists with schema name 'structure_post_gen' used by the BDMS.Models.LithologyDescription.",
"nullable": true
}
},
"additionalProperties": false,
"description": "Represents a description section of a lithology entity in the database."
},
"LithologyDescriptionComponentConMineralCodes": {
"required": [
"codelistId",
"lithologyDescriptionId"
],
"type": "object",
"properties": {
"lithologyDescriptionId": {
"type": "integer",
"format": "int32"
},
"lithologyDescription": {
"$ref": "#/components/schemas/LithologyDescription"
},
"codelistId": {
"type": "integer",
"format": "int32"
},
"codelist": {
"$ref": "#/components/schemas/Codelist"
}
},
"additionalProperties": false,
"description": "Join table entity for a BDMS.Models.Codelist with the schemaName 'component_con_mineral' attached to a BDMS.Models.LithologyDescription."
},
"LithologyDescriptionComponentConParticleCodes": {
"required": [
"codelistId",
"lithologyDescriptionId"
],
"type": "object",
"properties": {
"lithologyDescriptionId": {
"type": "integer",
"format": "int32"
},
"lithologyDescription": {
"$ref": "#/components/schemas/LithologyDescription"
},
"codelistId": {
"type": "integer",
"format": "int32"
},
"codelist": {
"$ref": "#/components/schemas/Codelist"
}
},
"additionalProperties": false,
"description": "Join table entity for a BDMS.Models.Codelist with the schemaName 'component_con_particle' attached to a BDMS.Models.LithologyDescription."
},
"LithologyDescriptionComponentUnconDebrisCodes": {
"required": [
"codelistId",
"lithologyDescriptionId"
],
"type": "object",
"properties": {
"lithologyDescriptionId": {
"type": "integer",
"format": "int32"
},
"lithologyDescription": {
"$ref": "#/components/schemas/LithologyDescription"
},
"codelistId": {
"type": "integer",
"format": "int32"
},
"codelist": {
"$ref": "#/components/schemas/Codelist"
}
},
"additionalProperties": false,
"description": "Join table entity for a BDMS.Models.Codelist with the schemaName 'component_uncon_debris' attached to a BDMS.Models.LithologyDescription."
},
"LithologyDescriptionComponentUnconOrganicCodes": {
"required": [
"codelistId",
"lithologyDescriptionId"
],
"type": "object",
"properties": {
"lithologyDescriptionId": {
"type": "integer",
"format": "int32"
},
"lithologyDescription": {
"$ref": "#/components/schemas/LithologyDescription"
},
"codelistId": {
"type": "integer",
"format": "int32"
},
"codelist": {
"$ref": "#/components/schemas/Codelist"
}
},
"additionalProperties": false,
"description": "Join table entity for a BDMS.Models.Codelist with the schemaName 'component_uncon_organic' attached to a BDMS.Models.LithologyDescription."
},
"LithologyDescriptionGrainAngularityCodes": {
"required": [
"codelistId",
"lithologyDescriptionId"
],
"type": "object",
"properties": {
"lithologyDescriptionId": {
"type": "integer",
"format": "int32"
},
"lithologyDescription": {
"$ref": "#/components/schemas/LithologyDescription"
},
"codelistId": {
"type": "integer",
"format": "int32"
},
"codelist": {
"$ref": "#/components/schemas/Codelist"
}
},
"additionalProperties": false,
"description": "Join table entity for a BDMS.Models.Codelist with the schemaName 'grain_angularity' attached to a BDMS.Models.LithologyDescription."
},
"LithologyDescriptionGrainShapeCodes": {
"required": [
"codelistId",
"lithologyDescriptionId"
],
"type": "object",
"properties": {
"lithologyDescriptionId": {
"type": "integer",
"format": "int32"
},
"lithologyDescription": {
"$ref": "#/components/schemas/LithologyDescription"
},
"codelistId": {
"type": "integer",
"format": "int32"
},
"codelist": {
"$ref": "#/components/schemas/Codelist"
}
},
"additionalProperties": false,
"description": "Join table entity for a BDMS.Models.Codelist with the schemaName 'grain_shape' attached to a BDMS.Models.LithologyDescription."
},
"LithologyDescriptionLithologyUnconDebrisCodes": {
"required": [
"codelistId",
"lithologyDescriptionId"
],
"type": "object",
"properties": {
"lithologyDescriptionId": {
"type": "integer",
"format": "int32"
},
"lithologyDescription": {
"$ref": "#/components/schemas/LithologyDescription"
},
"codelistId": {
"type": "integer",
"format": "int32"
},
"codelist": {
"$ref": "#/components/schemas/Codelist"
}
},
"additionalProperties": false,
"description": "Join table entity for a BDMS.Models.Codelist with the schemaName 'lithology_con' attached to a BDMS.Models.LithologyDescription."
},
"LithologyDescriptionStructurePostGenCodes": {
"required": [
"codelistId",
"lithologyDescriptionId"
],
"type": "object",
"properties": {
"lithologyDescriptionId": {
"type": "integer",
"format": "int32"
},
"lithologyDescription": {
"$ref": "#/components/schemas/LithologyDescription"
},
"codelistId": {
"type": "integer",
"format": "int32"
},
"codelist": {
"$ref": "#/components/schemas/Codelist"
}
},
"additionalProperties": false,
"description": "Join table entity for a BDMS.Models.Codelist with the schemaName 'structure_post_gen' attached to a BDMS.Models.LithologyDescription."
},
"LithologyDescriptionStructureSynGenCodes": {
"required": [
"codelistId",
"lithologyDescriptionId"
],
"type": "object",
"properties": {
"lithologyDescriptionId": {
"type": "integer",
"format": "int32"
},
"lithologyDescription": {
"$ref": "#/components/schemas/LithologyDescription"
},
"codelistId": {
"type": "integer",
"format": "int32"
},
"codelist": {
"$ref": "#/components/schemas/Codelist"
}
},
"additionalProperties": false,
"description": "Join table entity for a BDMS.Models.Codelist with the schemaName 'structure_syn_gen' attached to a BDMS.Models.LithologyDescription."
},
"LithologyRockConditionCodes": {
"required": [
"codelistId",
"lithologyId"
],
"type": "object",
"properties": {
"lithologyId": {
"type": "integer",
"format": "int32"
},
"lithology": {
"$ref": "#/components/schemas/Lithology"
},
"codelistId": {
"type": "integer",
"format": "int32"
},
"codelist": {
"$ref": "#/components/schemas/Codelist"
}
},
"additionalProperties": false,
"description": "Join table entity for a BDMS.Models.Codelist with the schemaName 'rock_condition' attached to a BDMS.Models.Lithology."
},
"LithologyTabContents": {
"type": "object",
"properties": {
"lithologies": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Lithology"
},
"description": "Gets or sets the BDMS.Models.Lithology rows of the stratigraphy."
},
"lithologicalDescriptions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/LithologicalDescription"
},
"description": "Gets or sets the BDMS.Models.LithologicalDescription rows of the stratigraphy."
},
"faciesDescriptions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/FaciesDescription"
},
"description": "Gets or sets the BDMS.Models.FaciesDescription rows of the stratigraphy."
}
},
"additionalProperties": false,
"description": "The full editable contents of the Lithology tab of a BDMS.Models.Stratigraphy:\r\nthe three sibling collections that BDMS.Services.LithologyTabContentService manages\r\ntogether as a single unit."
},
"LithologyTextureMetaCodes": {
"required": [
"codelistId",
"lithologyId"
],
"type": "object",
"properties": {
"lithologyId": {
"type": "integer",
"format": "int32"
},
"lithology": {
"$ref": "#/components/schemas/Lithology"
},
"codelistId": {
"type": "integer",
"format": "int32"
},
"codelist": {
"$ref": "#/components/schemas/Codelist"
}
},
"additionalProperties": false,
"description": "Join table entity for a BDMS.Models.Codelist with the schemaName 'texture_meta' attached to a BDMS.Models.Lithology."
},
"LithologyUscsTypeCodes": {
"required": [
"codelistId",
"lithologyId"
],
"type": "object",
"properties": {
"lithologyId": {
"type": "integer",
"format": "int32"
},
"lithology": {
"$ref": "#/components/schemas/Lithology"
},
"codelistId": {
"type": "integer",
"format": "int32"
},
"codelist": {
"$ref": "#/components/schemas/Codelist"
}
},
"additionalProperties": false,
"description": "Join table entity for a BDMS.Models.Codelist with the schemaName 'uscs_type' attached to a BDMS.Models.Lithology."
},
"LithostratigraphyLayer": {
"required": [
"id",
"stratigraphyId"
],
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int32"
},
"stratigraphyId": {
"type": "integer",
"format": "int32"
},
"stratigraphy": {
"$ref": "#/components/schemas/Stratigraphy"
},
"createdById": {
"type": "integer",
"format": "int32",
"nullable": true
},
"createdBy": {
"$ref": "#/components/schemas/User"
},
"created": {
"type": "string",
"format": "date-time",
"nullable": true
},
"updatedById": {
"type": "integer",
"format": "int32",
"nullable": true
},
"updatedBy": {
"$ref": "#/components/schemas/User"
},
"updated": {
"type": "string",
"format": "date-time",
"nullable": true
},
"fromDepth": {
"type": "number",
"format": "double",
"nullable": true
},
"toDepth": {
"type": "number",
"format": "double",
"nullable": true
},
"lithostratigraphyId": {
"type": "integer",
"description": "Gets or sets the BDMS.Models.Codelist id of the lithostratigraphy.",
"format": "int32",
"nullable": true
},
"lithostratigraphy": {
"$ref": "#/components/schemas/Codelist"
}
},
"additionalProperties": false,
"description": "Represents a lithostratigraphy entity in the database."
},
"LocationInfo": {
"type": "object",
"properties": {
"country": {
"type": "string",
"nullable": true
},
"canton": {
"type": "string",
"nullable": true
},
"municipality": {
"type": "string",
"nullable": true
}
},
"additionalProperties": false
},
"LogExportRequest": {
"type": "object",
"properties": {
"logRunIds": {
"type": "array",
"items": {
"type": "integer",
"format": "int32"
},
"description": "The list of log run IDs to include in the export. Cannot be provided together with LogFileIds."
},
"logFileIds": {
"type": "array",
"items": {
"type": "integer",
"format": "int32"
},
"description": "The list of log file IDs to include in the export. Cannot be provided together with LogRunIds."
},
"withAttachments": {
"type": "boolean",
"description": "Whether to include attachments in the exported log files. If true, any attachments associated with the specified log files will be included in the export. If false, attachments will be excluded. Default is false.",
"nullable": true
},
"locale": {
"type": "string",
"description": "The locale to use for any localized content in the exported log files. This can affect the language of any messages, labels, or other localized content included in the export. Default is \"en\" (English)."
}
},
"additionalProperties": false,
"description": "Represents a request to export log files, allowing the client to specify which log runs or log files to include, whether to include attachments, and the locale for any localized content in the export."
},
"LogFile": {
"required": [
"id",
"logRunId"
],
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int32"
},
"logRunId": {
"type": "integer",
"description": "Gets or sets the BDMS.Models.LogFile.LogRun id.",
"format": "int32"
},
"logRun": {
"$ref": "#/components/schemas/LogRun"
},
"name": {
"type": "string",
"description": "Gets or sets the BDMS.Models.LogFile's name.",
"nullable": true
},
"nameUuid": {
"type": "string",
"description": "Gets or sets the unique BDMS.Models.LogFile name.",
"nullable": true
},
"passTypeId": {
"type": "integer",
"description": "Gets or sets the id of the BDMS.Models.LogFile's pass type.",
"format": "int32",
"nullable": true
},
"passType": {
"$ref": "#/components/schemas/Codelist"
},
"pass": {
"type": "integer",
"description": "Gets the BDMS.Models.LogFiles pass.",
"format": "int32",
"nullable": true
},
"dataPackageId": {
"type": "integer",
"description": "Gets or sets the id of the BDMS.Models.LogFile's data package.",
"format": "int32",
"nullable": true
},
"dataPackage": {
"$ref": "#/components/schemas/Codelist"
},
"deliveryDate": {
"type": "string",
"description": "Gets or sets the BDMS.Models.LogFile's date.",
"format": "date",
"nullable": true
},
"depthTypeId": {
"type": "integer",
"description": "Gets or sets the id of the BDMS.Models.LogFile's depth type.",
"format": "int32",
"nullable": true
},
"depthType": {
"$ref": "#/components/schemas/Codelist"
},
"toolTypeCodelistIds": {
"type": "array",
"items": {
"type": "integer",
"format": "int32"
},
"description": "Gets or sets the codelist ids with schema name 'log_tool_type' of the BDMS.Models.LogFile's many to many codelist relations.",
"nullable": true
},
"toolTypeCodelists": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Codelist"
},
"description": "Gets the BDMS.Models.Codelists with schema name 'log_tool_type' used by the BDMS.Models.LogFile.",
"nullable": true
},
"public": {
"type": "boolean",
"description": "Gets or sets whether the BDMS.Models.LogFile is publicly visible."
},
"createdById": {
"type": "integer",
"format": "int32",
"nullable": true
},
"createdBy": {
"$ref": "#/components/schemas/User"
},
"created": {
"type": "string",
"format": "date-time",
"nullable": true
},
"updatedById": {
"type": "integer",
"format": "int32",
"nullable": true
},
"updatedBy": {
"$ref": "#/components/schemas/User"
},
"updated": {
"type": "string",
"format": "date-time",
"nullable": true
}
},
"additionalProperties": false,
"description": "Represents a LogFile entity in the database."
},
"LogRun": {
"required": [
"bitSize",
"boreholeId",
"boreholeStatusId",
"comment",
"conveyanceMethodId",
"fromDepth",
"id",
"runDate",
"runNumber",
"serviceCo",
"toDepth"
],
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int32"
},
"boreholeId": {
"type": "integer",
"description": "Gets or sets the BDMS.Models.LogRun.Borehole id.",
"format": "int32"
},
"borehole": {
"$ref": "#/components/schemas/Borehole"
},
"runNumber": {
"type": "string",
"description": "Gets or sets the BDMS.Models.LogRun's run number."
},
"fromDepth": {
"type": "number",
"description": "Gets or sets the BDMS.Models.LogRun's upper depth.",
"format": "double"
},
"toDepth": {
"type": "number",
"description": "Gets or sets the BDMS.Models.LogRun's lower depth.",
"format": "double"
},
"runDate": {
"type": "string",
"description": "Gets or sets the the BDMS.Models.LogRun's date.",
"format": "date",
"nullable": true
},
"comment": {
"type": "string",
"description": "Gets or sets the BDMS.Models.LogRun's comment.",
"nullable": true
},
"serviceCo": {
"type": "string",
"description": "Gets or sets the BDMS.Models.LogRun's service co.",
"nullable": true
},
"bitSize": {
"type": "number",
"description": "Gets or sets the BDMS.Models.LogRun's bit size at the time of logging.",
"format": "double",
"nullable": true
},
"conveyanceMethodId": {
"type": "integer",
"description": "Gets or sets the id of the BDMS.Models.LogRun's conveyance method.",
"format": "int32",
"nullable": true
},
"conveyanceMethod": {
"$ref": "#/components/schemas/Codelist"
},
"boreholeStatusId": {
"type": "integer",
"description": "Gets or sets the id of the BDMS.Models.LogRun's borehole status.",
"format": "int32",
"nullable": true
},
"boreholeStatus": {
"$ref": "#/components/schemas/Codelist"
},
"logFiles": {
"type": "array",
"items": {
"$ref": "#/components/schemas/LogFile"
},
"description": "Gets the BDMS.Models.LogFiles associated with the BDMS.Models.LogRun.",
"nullable": true
},
"createdById": {
"type": "integer",
"format": "int32",
"nullable": true
},
"createdBy": {
"$ref": "#/components/schemas/User"
},
"created": {
"type": "string",
"format": "date-time",
"nullable": true
},
"updatedById": {
"type": "integer",
"format": "int32",
"nullable": true
},
"updatedBy": {
"$ref": "#/components/schemas/User"
},
"updated": {
"type": "string",
"format": "date-time",
"nullable": true
}
},
"additionalProperties": false,
"description": "Represents a LogRun entity in the database."
},
"MaintenanceTaskLogEntry": {
"type": "object",
"properties": {
"taskType": {
"$ref": "#/components/schemas/MaintenanceTaskType"
},
"status": {
"$ref": "#/components/schemas/MaintenanceTaskStatus"
},
"affectedCount": {
"type": "integer",
"description": "Gets the number of records affected by the task execution.",
"format": "int32",
"nullable": true
},
"message": {
"type": "string",
"description": "Gets the error message if the task failed.",
"nullable": true
},
"parameters": {
"type": "string",
"description": "Gets the parameters used for this task execution, stored as JSON.",
"nullable": true
},
"isDryRun": {
"type": "boolean",
"description": "Gets a value indicating whether this was a dry-run execution."
},
"onlyMissing": {
"type": "boolean",
"description": "Gets a value indicating whether only missing values were processed."
},
"startedByName": {
"type": "string",
"description": "Gets the display name of the user who started the task.",
"nullable": true
},
"startedAt": {
"type": "string",
"description": "Gets when the task execution started.",
"format": "date-time"
},
"completedAt": {
"type": "string",
"description": "Gets when the task execution completed.",
"format": "date-time"
}
},
"additionalProperties": false,
"description": "Serializable representation of a log entry for the API response."
},
"MaintenanceTaskParameters": {
"type": "object",
"properties": {
"onlyMissing": {
"type": "boolean",
"description": "Whether to only process records with missing values."
},
"dryRun": {
"type": "boolean",
"description": "Whether to perform a dry run without persisting changes."
}
},
"additionalProperties": false,
"description": "Represents the parameters for a maintenance task."
},
"MaintenanceTaskState": {
"type": "object",
"properties": {
"type": {
"$ref": "#/components/schemas/MaintenanceTaskType"
},
"status": {
"$ref": "#/components/schemas/MaintenanceTaskStatus"
},
"affectedCount": {
"type": "integer",
"description": "Gets or sets the number of records affected by the task.",
"format": "int32",
"nullable": true
},
"message": {
"type": "string",
"description": "Gets or sets the error message if the task failed.",
"nullable": true
},
"startedAt": {
"type": "string",
"description": "Gets or sets when the task started.",
"format": "date-time",
"nullable": true
},
"completedAt": {
"type": "string",
"description": "Gets or sets when the task completed.",
"format": "date-time",
"nullable": true
}
},
"additionalProperties": false,
"description": "Represents the current state of a maintenance task."
},
"MaintenanceTaskStatus": {
"enum": [
"Idle",
"Running",
"Completed",
"Failed"
],
"type": "string",
"description": "Represents the status of a maintenance task."
},
"MaintenanceTaskType": {
"enum": [
"LocationMigration",
"CoordinateMigration",
"UserMerge"
],
"type": "string",
"description": "Represents the type of a maintenance task."
},
"MapLayer": {
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "Gets the layer type, either `WMS` or `WMTS`.",
"nullable": true
},
"Identifier": {
"type": "string",
"description": "Gets the layer identifier.",
"nullable": true
},
"Title": {
"type": "string",
"description": "Gets the layer title.",
"nullable": true
},
"Abstract": {
"type": "string",
"description": "Gets the layer abstract.",
"nullable": true
},
"url": {
"type": "string",
"description": "Gets the service URL of the layer.",
"nullable": true
},
"visibility": {
"type": "boolean",
"description": "Gets a value indicating whether the layer is visible.",
"nullable": true
},
"transparency": {
"type": "number",
"description": "Gets the layer transparency, as a percentage from `0` to `100`.",
"format": "double",
"nullable": true
},
"position": {
"type": "integer",
"description": "Gets the layer position used for ordering and z-index.",
"format": "int32",
"nullable": true
},
"queryable": {
"type": "boolean",
"description": "Gets a value indicating whether the layer is queryable.",
"nullable": true
},
"conf": {
"description": "Gets the opaque WMTS source configuration produced by the client. Stored and\r\nreturned verbatim; `null` for WMS layers.",
"nullable": true
}
},
"additionalProperties": false,
"description": "Represents a single custom map overlay stored in a BDMS.Models.User's settings\r\n(under `map.explorer`). The property names mirror the shape persisted by the\r\nclient, so existing settings continue to round-trip unchanged."
},
"NtsGeometryServices": {
"type": "object",
"properties": {
"geometryOverlay": {
"$ref": "#/components/schemas/GeometryOverlay"
},
"coordinateEqualityComparer": {
"$ref": "#/components/schemas/CoordinateEqualityComparer"
},
"defaultSRID": {
"type": "integer",
"format": "int32",
"readOnly": true
},
"defaultCoordinateSequenceFactory": {
"$ref": "#/components/schemas/CoordinateSequenceFactory"
},
"defaultPrecisionModel": {
"$ref": "#/components/schemas/PrecisionModel"
}
},
"additionalProperties": false
},
"NullableBooleanCounts": {
"type": "object",
"properties": {
"true": {
"type": "integer",
"description": "Gets or sets the number of rows with value true.",
"format": "int32"
},
"false": {
"type": "integer",
"description": "Gets or sets the number of rows with value false.",
"format": "int32"
},
"null": {
"type": "integer",
"description": "Gets or sets the number of rows with null value.",
"format": "int32"
}
},
"additionalProperties": false,
"description": "Per-value counts for a nullable-boolean filter field (true / false / null)."
},
"NullableBooleanFilterValue": {
"enum": [
"False",
"True",
"Null"
],
"type": "string",
"description": "Represents a boolean filter value for nullable boolean fields."
},
"Observation": {
"required": [
"boreholeId",
"id"
],
"type": "object",
"properties": {
"id": {
"type": "integer",
"description": "Gets or sets the BDMS.Models.Observation's id.",
"format": "int32"
},
"type": {
"$ref": "#/components/schemas/ObservationType"
},
"startTime": {
"type": "string",
"description": "Gets or sets the BDMS.Models.Observation's start time.",
"format": "date-time",
"nullable": true
},
"endTime": {
"type": "string",
"description": "Gets or sets the BDMS.Models.Observation's end time.",
"format": "date-time",
"nullable": true
},
"duration": {
"type": "number",
"description": "Gets or sets the BDMS.Models.Observation's duration.",
"format": "double",
"nullable": true
},
"originalVerticalReferenceSystem": {
"$ref": "#/components/schemas/VerticalReferenceSystem"
},
"fromDepthM": {
"type": "number",
"description": "Gets or sets the BDMS.Models.Observation's from depth in m.",
"format": "double",
"nullable": true
},
"toDepthM": {
"type": "number",
"description": "Gets or sets the BDMS.Models.Observation's to depth in m.",
"format": "double",
"nullable": true
},
"fromDepthMasl": {
"type": "number",
"description": "Gets or sets the BDMS.Models.Observation's from depth in m a.s.l.",
"format": "double",
"nullable": true
},
"toDepthMasl": {
"type": "number",
"description": "Gets or sets the BDMS.Models.Observation's to depth in m a.s.l.",
"format": "double",
"nullable": true
},
"casingId": {
"type": "integer",
"description": "Gets or sets id of the BDMS.Models.Observation's casing.",
"format": "int32",
"nullable": true
},
"isOpenBorehole": {
"type": "boolean",
"description": "Gets or sets whether or not the BDMS.Models.Observation belongs to an open borehole."
},
"casing": {
"$ref": "#/components/schemas/Casing"
},
"comment": {
"type": "string",
"description": "Gets or sets the BDMS.Models.Observation's comment.",
"nullable": true
},
"reliabilityId": {
"type": "integer",
"description": "Gets or sets the BDMS.Models.Observation's reliability id.",
"format": "int32",
"nullable": true
},
"reliability": {
"$ref": "#/components/schemas/Codelist"
},
"boreholeId": {
"type": "integer",
"description": "Gets or sets the BDMS.Models.Observation's borehole id.",
"format": "int32"
},
"createdById": {
"type": "integer",
"format": "int32",
"nullable": true
},
"createdBy": {
"$ref": "#/components/schemas/User"
},
"created": {
"type": "string",
"format": "date-time",
"nullable": true
},
"updatedById": {
"type": "integer",
"format": "int32",
"nullable": true
},
"updatedBy": {
"$ref": "#/components/schemas/User"
},
"updated": {
"type": "string",
"format": "date-time",
"nullable": true
}
},
"additionalProperties": false,
"description": "Represents an observation in the boring process."
},
"ObservationType": {
"enum": [
0,
1,
2,
3,
4
],
"type": "integer",
"description": "Represents an observation type.",
"format": "int32"
},
"OcrStatus": {
"enum": [
"Created",
"Processing",
"Success",
"Error",
"WillNotBeProcessed"
],
"type": "string",
"description": "Lifecycle status of OCR processing for a BDMS.Models.Profile file."
},
"OgcGeometryType": {
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16
],
"type": "integer",
"format": "int32"
},
"OrderDirection": {
"enum": [
"Asc",
"Desc"
],
"type": "string",
"description": "Defines the order direction for ordering borehole results."
},
"Ordinates": {
"enum": [
0,
1,
2,
3,
4,
7,
8,
16,
32,
64,
128,
256,
512,
1024,
2048,
4096,
8192,
16384,
32768,
65535,
65536,
65539,
65543,
131072,
262144,
524288,
1048576,
2097152,
4194304,
8388608,
16777216,
33554432,
67108864,
134217728,
268435456,
536870912,
1073741824,
-2147483648,
-65536,
-1
],
"type": "integer",
"format": "int32"
},
"PaginatedLogResponse": {
"type": "object",
"properties": {
"totalCount": {
"type": "integer",
"description": "The total count of matching log entries.",
"format": "int32"
},
"pageNumber": {
"type": "integer",
"description": "The current page number (1-based).",
"format": "int32"
},
"pageSize": {
"type": "integer",
"description": "The number of entries per page.",
"format": "int32"
},
"logEntries": {
"type": "array",
"items": {
"$ref": "#/components/schemas/MaintenanceTaskLogEntry"
},
"description": "The log entries on the current page."
}
},
"additionalProperties": false,
"description": "Represents a paginated response containing a subset of BDMS.Maintenance.MaintenanceTaskLogEntry along with pagination info."
},
"Photo": {
"required": [
"boreholeId",
"id"
],
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int32"
},
"boreholeId": {
"type": "integer",
"description": "Gets or sets the BDMS.Models.Photo.Borehole id.",
"format": "int32"
},
"borehole": {
"$ref": "#/components/schemas/Borehole"
},
"name": {
"type": "string",
"description": "Gets or sets the BDMS.Models.Photo's name."
},
"nameUuid": {
"type": "string",
"description": "Gets or sets the unique BDMS.Models.Photo name."
},
"fileType": {
"type": "string",
"description": "Gets or sets the BDMS.Models.Photo's file type."
},
"fromDepth": {
"type": "number",
"description": "Gets or sets the BDMS.Models.Photo's upper depth.",
"format": "double"
},
"toDepth": {
"type": "number",
"description": "Gets or sets the BDMS.Models.Photo's lower depth.",
"format": "double"
},
"public": {
"type": "boolean",
"description": "Gets or sets whether the BDMS.Models.Photo is publicly visible."
},
"createdById": {
"type": "integer",
"format": "int32",
"nullable": true
},
"createdBy": {
"$ref": "#/components/schemas/User"
},
"created": {
"type": "string",
"format": "date-time",
"nullable": true
},
"updatedById": {
"type": "integer",
"format": "int32",
"nullable": true
},
"updatedBy": {
"$ref": "#/components/schemas/User"
},
"updated": {
"type": "string",
"format": "date-time",
"nullable": true
}
},
"additionalProperties": false,
"description": "Represents a Photo entity in the database."
},
"PhotoUpdate": {
"required": [
"id",
"public"
],
"type": "object",
"properties": {
"id": {
"type": "integer",
"description": "Gets the BDMS.Models.Photo's id.",
"format": "int32"
},
"public": {
"type": "boolean",
"description": "Gets the BDMS.Models.Photo's public state."
}
},
"additionalProperties": false,
"description": "Represents a BDMS.Models.Photo's updatable properties."
},
"Point": {
"type": "object",
"properties": {
"factory": {
"$ref": "#/components/schemas/GeometryFactory"
},
"userData": {
"nullable": true
},
"srid": {
"type": "integer",
"format": "int32"
},
"precisionModel": {
"$ref": "#/components/schemas/PrecisionModel"
},
"numGeometries": {
"type": "integer",
"format": "int32",
"readOnly": true
},
"isSimple": {
"type": "boolean",
"readOnly": true
},
"isValid": {
"type": "boolean",
"readOnly": true
},
"area": {
"type": "number",
"format": "double",
"readOnly": true
},
"length": {
"type": "number",
"format": "double",
"readOnly": true
},
"centroid": {
"$ref": "#/components/schemas/Point"
},
"interiorPoint": {
"$ref": "#/components/schemas/Point"
},
"pointOnSurface": {
"$ref": "#/components/schemas/Point"
},
"envelope": {
"$ref": "#/components/schemas/Geometry"
},
"envelopeInternal": {
"$ref": "#/components/schemas/Envelope"
},
"isRectangle": {
"type": "boolean",
"readOnly": true
},
"coordinateSequence": {
"$ref": "#/components/schemas/CoordinateSequence"
},
"coordinates": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Coordinate"
},
"nullable": true,
"readOnly": true
},
"numPoints": {
"type": "integer",
"format": "int32",
"readOnly": true
},
"isEmpty": {
"type": "boolean",
"readOnly": true
},
"dimension": {
"$ref": "#/components/schemas/Dimension"
},
"boundaryDimension": {
"$ref": "#/components/schemas/Dimension"
},
"x": {
"type": "number",
"format": "double"
},
"y": {
"type": "number",
"format": "double"
},
"coordinate": {
"$ref": "#/components/schemas/Coordinate"
},
"geometryType": {
"type": "string",
"nullable": true,
"readOnly": true
},
"ogcGeometryType": {
"$ref": "#/components/schemas/OgcGeometryType"
},
"boundary": {
"$ref": "#/components/schemas/Geometry"
},
"z": {
"type": "number",
"format": "double"
},
"m": {
"type": "number",
"format": "double"
}
},
"additionalProperties": false
},
"PrecisionModel": {
"type": "object",
"properties": {
"isFloating": {
"type": "boolean",
"readOnly": true
},
"maximumSignificantDigits": {
"type": "integer",
"format": "int32",
"readOnly": true
},
"scale": {
"type": "number",
"format": "double"
},
"gridSize": {
"type": "number",
"format": "double",
"readOnly": true
},
"precisionModelType": {
"$ref": "#/components/schemas/PrecisionModels"
}
},
"additionalProperties": false
},
"PrecisionModels": {
"enum": [
0,
1,
2
],
"type": "integer",
"format": "int32"
},
"Profile": {
"required": [
"boreholeId",
"id"
],
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int32"
},
"boreholeId": {
"type": "integer",
"description": "Gets or sets the BDMS.Models.Profile.Borehole id.",
"format": "int32"
},
"borehole": {
"$ref": "#/components/schemas/Borehole"
},
"name": {
"type": "string",
"description": "Gets or sets the BDMS.Models.Profile's original file name."
},
"nameUuid": {
"type": "string",
"description": "Gets or sets the unique BDMS.Models.Profile file name."
},
"type": {
"type": "string",
"description": "Gets or sets the BDMS.Models.Profile's content type."
},
"description": {
"type": "string",
"description": "Gets or sets the BDMS.Models.Profile's description.",
"nullable": true
},
"public": {
"type": "boolean",
"description": "Gets or sets whether the BDMS.Models.Profile is publicly visible.",
"nullable": true
},
"ocrStatus": {
"$ref": "#/components/schemas/OcrStatus"
},
"createdById": {
"type": "integer",
"format": "int32",
"nullable": true
},
"createdBy": {
"$ref": "#/components/schemas/User"
},
"created": {
"type": "string",
"format": "date-time",
"nullable": true
},
"updatedById": {
"type": "integer",
"format": "int32",
"nullable": true
},
"updatedBy": {
"$ref": "#/components/schemas/User"
},
"updated": {
"type": "string",
"format": "date-time",
"nullable": true
}
},
"additionalProperties": false,
"description": "Represents a Profile (a file attached to a borehole) entity in the database."
},
"ProfileOcrStatus": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int32"
},
"ocrStatus": {
"$ref": "#/components/schemas/OcrStatus"
}
},
"additionalProperties": false,
"description": "Lightweight projection of BDMS.Models.Profile OCR status for polling."
},
"ProfileUpdate": {
"type": "object",
"properties": {
"description": {
"type": "string",
"description": "Gets or sets the description.",
"nullable": true
},
"public": {
"type": "boolean",
"description": "Gets or sets whether the profile is public.",
"nullable": true
}
},
"additionalProperties": false,
"description": "Represents the editable properties of a BDMS.Models.Profile."
},
"Role": {
"enum": [
"View",
"Editor",
"Controller",
"Validator",
"Publisher"
],
"type": "string",
"description": "Represents a role entity in the database."
},
"Section": {
"required": [
"boreholeId",
"id"
],
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int32"
},
"boreholeId": {
"type": "integer",
"description": "Gets or sets foreign key for the BDMS.Models.Borehole of this BDMS.Models.Section.",
"format": "int32"
},
"borehole": {
"$ref": "#/components/schemas/Borehole"
},
"name": {
"type": "string",
"description": "Gets or sets the BDMS.Models.Section's name."
},
"createdById": {
"type": "integer",
"format": "int32",
"nullable": true
},
"createdBy": {
"$ref": "#/components/schemas/User"
},
"created": {
"type": "string",
"format": "date-time",
"nullable": true
},
"updatedById": {
"type": "integer",
"format": "int32",
"nullable": true
},
"updatedBy": {
"$ref": "#/components/schemas/User"
},
"updated": {
"type": "string",
"format": "date-time",
"nullable": true
},
"sectionElements": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SectionElement"
},
"description": "Get the BDMS.Models.SectionElements associated with this BDMS.Models.Section."
}
},
"additionalProperties": false,
"description": "Represents one section of a borehole."
},
"SectionElement": {
"required": [
"id",
"sectionId"
],
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int32"
},
"sectionId": {
"type": "integer",
"description": "Gets or sets foreign key for the BDMS.Models.SectionElement.Section of this BDMS.Models.SectionElement.",
"format": "int32"
},
"section": {
"$ref": "#/components/schemas/Section"
},
"fromDepth": {
"type": "number",
"description": "Gets or sets the BDMS.Models.SectionElement's upper depth.",
"format": "double"
},
"toDepth": {
"type": "number",
"description": "Gets or sets the BDMS.Models.SectionElement's lower depth.",
"format": "double"
},
"order": {
"type": "integer",
"description": "Gets or sets the order of this BDMS.Models.SectionElement in its BDMS.Models.SectionElement.Section.",
"format": "int32"
},
"drillingMethodId": {
"type": "integer",
"description": "Gets or sets the BDMS.Models.SectionElement's drilling method Id.",
"format": "int32",
"nullable": true
},
"drillingStartDate": {
"type": "string",
"description": "Gets or sets the timestamp from the drilling start date of the BDMS.Models.SectionElement.",
"format": "date",
"nullable": true
},
"drillingEndDate": {
"type": "string",
"description": "Gets or sets the timestamp from the drilling end date of the BDMS.Models.SectionElement.",
"format": "date",
"nullable": true
},
"cuttingsId": {
"type": "integer",
"description": "Gets or sets the BDMS.Models.SectionElement's cuttings id.",
"format": "int32",
"nullable": true
},
"drillingDiameter": {
"type": "number",
"description": "Gets or sets the BDMS.Models.SectionElement's drilling diameter.",
"format": "double",
"nullable": true
},
"drillingCoreDiameter": {
"type": "number",
"description": "Gets or sets the BDMS.Models.SectionElement's drilling core diameter.",
"format": "double",
"nullable": true
},
"drillingMudTypeId": {
"type": "integer",
"description": "Gets or sets the BDMS.Models.SectionElement's drilling mud type id.",
"format": "int32",
"nullable": true
},
"drillingMudSubtypeId": {
"type": "integer",
"description": "Gets or sets the BDMS.Models.SectionElement's drilling mud subtype id.",
"format": "int32",
"nullable": true
},
"createdById": {
"type": "integer",
"format": "int32",
"nullable": true
},
"createdBy": {
"$ref": "#/components/schemas/User"
},
"created": {
"type": "string",
"format": "date-time",
"nullable": true
},
"updatedById": {
"type": "integer",
"format": "int32",
"nullable": true
},
"updatedBy": {
"$ref": "#/components/schemas/User"
},
"updated": {
"type": "string",
"format": "date-time",
"nullable": true
}
},
"additionalProperties": false
},
"Settings": {
"type": "object",
"properties": {
"googleAnalyticsTrackingId": {
"type": "string",
"description": "The Google Analytics tracking ID.",
"nullable": true
},
"authSettings": {
"$ref": "#/components/schemas/AuthSettings"
}
},
"additionalProperties": false,
"description": "Represents the settings for the application."
},
"Stratigraphy": {
"required": [
"boreholeId",
"id",
"isPrimary",
"name"
],
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int32"
},
"boreholeId": {
"type": "integer",
"description": "Gets or sets the foreign key for the BDMS.Models.Stratigraphy.Borehole associated with the BDMS.Models.Stratigraphy.",
"format": "int32"
},
"borehole": {
"$ref": "#/components/schemas/Borehole"
},
"name": {
"minLength": 1,
"type": "string",
"description": "Gets or sets the BDMS.Models.Stratigraphy's name."
},
"date": {
"type": "string",
"description": "Gets or sets the BDMS.Models.Stratigraphy's date.",
"format": "date-time",
"nullable": true
},
"isPrimary": {
"type": "boolean",
"description": "Gets or sets whether the BDMS.Models.Stratigraphy is primary."
},
"updated": {
"type": "string",
"format": "date-time",
"nullable": true
},
"updatedById": {
"type": "integer",
"format": "int32",
"nullable": true
},
"updatedBy": {
"$ref": "#/components/schemas/User"
},
"created": {
"type": "string",
"format": "date-time",
"nullable": true
},
"createdById": {
"type": "integer",
"format": "int32",
"nullable": true
},
"createdBy": {
"$ref": "#/components/schemas/User"
},
"lithologies": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Lithology"
},
"description": "Gets the BDMS.Models.Lithologys associated with the BDMS.Models.Stratigraphy.",
"nullable": true
},
"lithologicalDescriptions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/LithologicalDescription"
},
"description": "Gets the BDMS.Models.LithologicalDescriptions associated with the BDMS.Models.Stratigraphy.",
"nullable": true
},
"faciesDescriptions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/FaciesDescription"
},
"description": "Gets the BDMS.Models.FaciesDescriptions associated with the BDMS.Models.Stratigraphy.",
"nullable": true
},
"chronostratigraphyLayers": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ChronostratigraphyLayer"
},
"description": "Gets the BDMS.Models.ChronostratigraphyLayers associated with the BDMS.Models.Stratigraphy.",
"nullable": true
},
"lithostratigraphyLayers": {
"type": "array",
"items": {
"$ref": "#/components/schemas/LithostratigraphyLayer"
},
"description": "Gets the BDMS.Models.LithostratigraphyLayers associated with the BDMS.Models.Stratigraphy.",
"nullable": true
}
},
"additionalProperties": false,
"description": "Represents a stratigraphy entity in the database."
},
"StratigraphyTabEdit": {
"type": "object",
"properties": {
"stratigraphy": {
"$ref": "#/components/schemas/Stratigraphy"
},
"lithologyTab": {
"$ref": "#/components/schemas/LithologyTabContents"
}
},
"additionalProperties": false,
"description": "A single combined edit of a BDMS.Models.StratigraphyTabEdit.Stratigraphy together with the contents of one of its tabs.\r\nUsed by the combined stratigraphy create/update endpoints both as the request payload and as the\r\nresponse, so that the stratigraphy header and the active tab's content are persisted (and returned)\r\nin one transactional command. A header-only edit (e.g. creating an empty stratigraphy) leaves\r\nBDMS.Models.StratigraphyTabEdit.LithologyTab`null`. Only the lithology tab is implemented for now; further tabs\r\n(chronostratigraphy, lithostratigraphy) can add their own slots later."
},
"TabStatus": {
"required": [
"id"
],
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int32"
},
"location": {
"type": "boolean",
"description": "Gets or sets the status of the location tab of the borehole."
},
"general": {
"type": "boolean",
"description": "Gets or sets the status of the general tab of the borehole."
},
"sections": {
"type": "boolean",
"description": "Gets or sets the status of the sections tab of the borehole."
},
"geometry": {
"type": "boolean",
"description": "Gets or sets the status of the geometry tab of the borehole."
},
"lithology": {
"type": "boolean",
"description": "Gets or sets the status of the lithology tab of the stratigraphy."
},
"chronostratigraphy": {
"type": "boolean",
"description": "Gets or sets the status of the chronostratigraphy tab of the stratigraphy."
},
"lithostratigraphy": {
"type": "boolean",
"description": "Gets or sets the status of the lithostratigraphy tab of the stratigraphy."
},
"casing": {
"type": "boolean",
"description": "Gets or sets the status of the casing tab of the completion."
},
"instrumentation": {
"type": "boolean",
"description": "Gets or sets the status of the instrumentation tab of the completion."
},
"backfill": {
"type": "boolean",
"description": "Gets or sets the status of the backfill / sealing tab of the completion."
},
"waterIngress": {
"type": "boolean",
"description": "Gets or sets the status of the water ingress tab of the hydrogeology."
},
"groundwaterLevelMeasurement": {
"type": "boolean",
"description": "Gets or sets the status of the groundwater tab of the hydrogeology."
},
"fieldMeasurement": {
"type": "boolean",
"description": "Gets or sets the status of the field measurement tab of the hydrogeology."
},
"hydrotest": {
"type": "boolean",
"description": "Gets or sets the status of the hydrotest tab of the hydrogeology."
},
"profiles": {
"type": "boolean",
"description": "Gets or sets the status of the profile tab of the borehole attachments."
},
"photos": {
"type": "boolean",
"description": "Gets or sets the status of the photo tab of the borehole attachments."
},
"documents": {
"type": "boolean",
"description": "Gets or sets the status of the document tab of the borehole attachments."
},
"log": {
"type": "boolean",
"description": "Gets or sets the status of the log tab of the borehole."
},
"identifiers": {
"type": "boolean",
"description": "Gets or sets the status of the identifiers tab of the borehole."
}
},
"additionalProperties": false,
"description": "Represents the reviewed or published tab status of a BDMS.Models.Workflow."
},
"Term": {
"required": [
"id"
],
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int32"
},
"isDraft": {
"type": "boolean",
"description": "Gets or sets whetther the BDMS.Models.Term is a draft."
},
"textEn": {
"type": "string",
"description": "Gets or sets the BDMS.Models.Term's english text."
},
"textDe": {
"type": "string",
"description": "Gets or sets the BDMS.Models.Term's german text.",
"nullable": true
},
"textFr": {
"type": "string",
"description": "Gets or sets the BDMS.Models.Term's french text.",
"nullable": true
},
"textIt": {
"type": "string",
"description": "Gets or sets the BDMS.Models.Term's italian text.",
"nullable": true
},
"textRo": {
"type": "string",
"description": "Gets or sets the BDMS.Models.Term's romansch text.",
"nullable": true
},
"creation": {
"type": "string",
"description": "Gets or sets the BDMS.Models.Term's creation date.",
"format": "date-time"
},
"expiration": {
"type": "string",
"description": "Gets or sets the BDMS.Models.Term's expiration date.",
"format": "date-time",
"nullable": true
}
},
"additionalProperties": false,
"description": "Represents a term entity in the database."
},
"TermsAccepted": {
"required": [
"termId",
"userId"
],
"type": "object",
"properties": {
"userId": {
"type": "integer",
"description": "Gets or sets the foreign key to the BDMS.Models.TermsAccepted.User entity.",
"format": "int32"
},
"user": {
"$ref": "#/components/schemas/User"
},
"termId": {
"type": "integer",
"description": "Gets or sets the foreign key to the BDMS.Models.TermsAccepted.Term entity.",
"format": "int32"
},
"term": {
"$ref": "#/components/schemas/Term"
},
"acceptedAt": {
"type": "string",
"description": "Gets or sets the timestamp from the moment the terms got accepted.",
"format": "date-time"
}
},
"additionalProperties": false,
"description": "Represents a terms_accepted entity in the database."
},
"User": {
"required": [
"id"
],
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int32"
},
"name": {
"type": "string",
"description": "Gets or sets the BDMS.Models.User name."
},
"subjectId": {
"type": "string",
"description": "Gets or sets the BDMS.Models.Users subject id provided by oidc."
},
"firstName": {
"type": "string",
"description": "Gets or sets the BDMS.Models.Users firstname."
},
"lastName": {
"type": "string",
"description": "Gets or sets the BDMS.Models.Users lastname."
},
"email": {
"type": "string",
"description": "Gets or sets the BDMS.Models.Users email."
},
"isAdmin": {
"type": "boolean",
"description": "Gets or sets whether the BDMS.Models.User has admin privileges."
},
"isDisabled": {
"type": "boolean",
"description": "Gets the value whether the BDMS.Models.User is disabled or not.",
"readOnly": true
},
"disabledAt": {
"type": "string",
"description": "Gets or sets the timestamp from the moment a BDMS.Models.User got disabled.",
"format": "date-time",
"nullable": true
},
"createdAt": {
"type": "string",
"description": "Gets or sets the timestamp from the moment a BDMS.Models.User got disabled.",
"format": "date-time",
"nullable": true
},
"settings": {
"type": "string",
"description": "Gets or sets the BDMS.Models.Users settings.",
"nullable": true
},
"workgroupRoles": {
"type": "array",
"items": {
"$ref": "#/components/schemas/UserWorkgroupRole"
},
"description": "Gets the WorkgroupRoles.",
"readOnly": true
},
"termsAccepted": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TermsAccepted"
},
"description": "Gets the TermsAccepted.",
"readOnly": true
},
"deletable": {
"type": "boolean",
"description": "Gets or sets whether this user can be deleted.",
"nullable": true
}
},
"additionalProperties": false,
"description": "Represents a user entity in the database."
},
"UserWorkgroupRole": {
"required": [
"userId",
"workgroupId"
],
"type": "object",
"properties": {
"userId": {
"type": "integer",
"description": "Gets or sets the foreign key to the BDMS.Models.UserWorkgroupRole.User entity.",
"format": "int32"
},
"user": {
"$ref": "#/components/schemas/User"
},
"workgroupId": {
"type": "integer",
"description": "Gets or sets the foreign key to the BDMS.Models.UserWorkgroupRole.Workgroup entity.",
"format": "int32"
},
"workgroup": {
"$ref": "#/components/schemas/Workgroup"
},
"role": {
"$ref": "#/components/schemas/Role"
},
"isActive": {
"type": "boolean",
"description": "Gets or sets whether the role is active or not.",
"nullable": true
}
},
"additionalProperties": false,
"description": "Represents a users_roles entity in the database."
},
"VerticalReferenceSystem": {
"enum": [
0,
1,
2
],
"type": "integer",
"description": "The system that is used to describe borehole depths.",
"format": "int32"
},
"WaterIngress": {
"required": [
"boreholeId",
"id",
"quantityId"
],
"type": "object",
"properties": {
"id": {
"type": "integer",
"description": "Gets or sets the BDMS.Models.Observation's id.",
"format": "int32"
},
"type": {
"$ref": "#/components/schemas/ObservationType"
},
"startTime": {
"type": "string",
"description": "Gets or sets the BDMS.Models.Observation's start time.",
"format": "date-time",
"nullable": true
},
"endTime": {
"type": "string",
"description": "Gets or sets the BDMS.Models.Observation's end time.",
"format": "date-time",
"nullable": true
},
"duration": {
"type": "number",
"description": "Gets or sets the BDMS.Models.Observation's duration.",
"format": "double",
"nullable": true
},
"originalVerticalReferenceSystem": {
"$ref": "#/components/schemas/VerticalReferenceSystem"
},
"fromDepthM": {
"type": "number",
"description": "Gets or sets the BDMS.Models.Observation's from depth in m.",
"format": "double",
"nullable": true
},
"toDepthM": {
"type": "number",
"description": "Gets or sets the BDMS.Models.Observation's to depth in m.",
"format": "double",
"nullable": true
},
"fromDepthMasl": {
"type": "number",
"description": "Gets or sets the BDMS.Models.Observation's from depth in m a.s.l.",
"format": "double",
"nullable": true
},
"toDepthMasl": {
"type": "number",
"description": "Gets or sets the BDMS.Models.Observation's to depth in m a.s.l.",
"format": "double",
"nullable": true
},
"casingId": {
"type": "integer",
"description": "Gets or sets id of the BDMS.Models.Observation's casing.",
"format": "int32",
"nullable": true
},
"isOpenBorehole": {
"type": "boolean",
"description": "Gets or sets whether or not the BDMS.Models.Observation belongs to an open borehole."
},
"casing": {
"$ref": "#/components/schemas/Casing"
},
"comment": {
"type": "string",
"description": "Gets or sets the BDMS.Models.Observation's comment.",
"nullable": true
},
"reliabilityId": {
"type": "integer",
"description": "Gets or sets the BDMS.Models.Observation's reliability id.",
"format": "int32",
"nullable": true
},
"reliability": {
"$ref": "#/components/schemas/Codelist"
},
"boreholeId": {
"type": "integer",
"description": "Gets or sets the BDMS.Models.Observation's borehole id.",
"format": "int32"
},
"createdById": {
"type": "integer",
"format": "int32",
"nullable": true
},
"createdBy": {
"$ref": "#/components/schemas/User"
},
"created": {
"type": "string",
"format": "date-time",
"nullable": true
},
"updatedById": {
"type": "integer",
"format": "int32",
"nullable": true
},
"updatedBy": {
"$ref": "#/components/schemas/User"
},
"updated": {
"type": "string",
"format": "date-time",
"nullable": true
},
"quantityId": {
"type": "integer",
"description": "Gets or sets the BDMS.Models.WaterIngress's quantity id.",
"format": "int32"
},
"quantity": {
"$ref": "#/components/schemas/Codelist"
},
"conditionsId": {
"type": "integer",
"description": "Gets or sets the BDMS.Models.WaterIngress's conditions id.",
"format": "int32",
"nullable": true
},
"conditions": {
"$ref": "#/components/schemas/Codelist"
}
},
"additionalProperties": false,
"description": "Represents an water ingress observation in the boring process."
},
"Workflow": {
"required": [
"boreholeId",
"id",
"publishedTabsId",
"reviewedTabsId"
],
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int32"
},
"hasRequestedChanges": {
"type": "boolean",
"description": "Gets or sets if a reviewer has requested changes for the borehole."
},
"status": {
"$ref": "#/components/schemas/WorkflowStatus"
},
"boreholeId": {
"type": "integer",
"description": "Gets or sets the id of the BDMS.Models.Workflow.Borehole.",
"format": "int32"
},
"borehole": {
"$ref": "#/components/schemas/Borehole"
},
"reviewedTabsId": {
"type": "integer",
"description": "Gets or sets the id of the BDMS.Models.Workflow.ReviewedTabs.",
"format": "int32"
},
"reviewedTabs": {
"$ref": "#/components/schemas/TabStatus"
},
"publishedTabsId": {
"type": "integer",
"description": "Gets or sets the id of the BDMS.Models.Workflow.PublishedTabs.",
"format": "int32"
},
"publishedTabs": {
"$ref": "#/components/schemas/TabStatus"
},
"assigneeId": {
"type": "integer",
"description": "Gets or sets the id of the BDMS.Models.Workflow.Assignee.",
"format": "int32",
"nullable": true
},
"assignee": {
"$ref": "#/components/schemas/User"
},
"changes": {
"type": "array",
"items": {
"$ref": "#/components/schemas/WorkflowChange"
},
"description": "Get the BDMS.Models.WorkflowChanges associated with this BDMS.Models.Workflow.",
"readOnly": true
}
},
"additionalProperties": false,
"description": "Represents a workflow entity in the database."
},
"WorkflowChange": {
"required": [
"id",
"workflowId"
],
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int32"
},
"comment": {
"type": "string",
"description": "Gets or sets the comment for the change."
},
"fromStatus": {
"$ref": "#/components/schemas/WorkflowStatus"
},
"toStatus": {
"$ref": "#/components/schemas/WorkflowStatus"
},
"workflowId": {
"type": "integer",
"description": "Gets or sets the id of the BDMS.Models.WorkflowChange.Workflow.",
"format": "int32"
},
"workflow": {
"$ref": "#/components/schemas/Workflow"
},
"createdById": {
"type": "integer",
"description": "Gets or sets the id of the BDMS.Models.User who created the entity.",
"format": "int32",
"nullable": true
},
"creator": {
"$ref": "#/components/schemas/User"
},
"createdAt": {
"type": "string",
"description": "Gets or sets the creation date.",
"format": "date-time",
"nullable": true
},
"assigneeId": {
"type": "integer",
"description": "Gets or sets the id of the BDMS.Models.User who is assigned to the change.",
"format": "int32",
"nullable": true
},
"toAssignee": {
"$ref": "#/components/schemas/User"
}
},
"additionalProperties": false,
"description": "Represents a status change of a BDMS.Models.Workflow."
},
"WorkflowChangeRequest": {
"required": [
"boreholeId"
],
"type": "object",
"properties": {
"boreholeId": {
"type": "integer",
"description": "Gets or sets the identifier of the borehole whose workflow is being updated.",
"format": "int32"
},
"newStatus": {
"$ref": "#/components/schemas/WorkflowStatus"
},
"comment": {
"type": "string",
"description": "Gets or sets an optional comment.",
"nullable": true
},
"newAssigneeId": {
"type": "integer",
"description": "Gets or sets the identifier of the new user assigned to the workflow.",
"format": "int32",
"nullable": true
},
"hasRequestedChanges": {
"type": "boolean",
"description": "Gets or sets whether the workflow has requested changes.",
"nullable": true
}
},
"additionalProperties": false,
"description": "Represents a request to apply a change to a borehole's workflow,\r\nincluding updates to the status, assignee, and optional comments."
},
"WorkflowStatus": {
"enum": [
"Draft",
"InReview",
"Reviewed",
"Published"
],
"type": "string",
"description": "Represents the status of a BDMS.Models.Workflow."
},
"WorkflowTabStatusChangeRequest": {
"required": [
"boreholeId",
"changes",
"tab"
],
"type": "object",
"properties": {
"boreholeId": {
"type": "integer",
"description": "Gets or sets the identifier of the borehole whose workflow is being updated.",
"format": "int32"
},
"tab": {
"$ref": "#/components/schemas/WorkflowTabType"
},
"changes": {
"type": "object",
"additionalProperties": {
"type": "boolean"
},
"description": "Gets or sets the map of field names (string) to their new status values (bool). The provided field names must be a valid field type contained in BDMS.Models.WorkflowStatusField."
}
},
"additionalProperties": false,
"description": "Represents a request to apply a change to a borehole's workflow's tab status.\r\nEither on the reviewed or published tab."
},
"WorkflowTabType": {
"enum": [
0,
1,
2
],
"type": "integer",
"description": "Represents a workflow tab type.",
"format": "int32"
},
"Workgroup": {
"required": [
"id",
"name"
],
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int32"
},
"name": {
"minLength": 1,
"type": "string",
"description": "Gets or sets the name of the workgroup."
},
"createdAt": {
"type": "string",
"description": "Gets or sets the BDMS.Models.Workgroup created date.",
"format": "date-time",
"nullable": true
},
"disabledAt": {
"type": "string",
"description": "Gets or sets the BDMS.Models.Workgroup disabled date.",
"format": "date-time",
"nullable": true
},
"isDisabled": {
"type": "boolean",
"description": "Gets the value whether the BDMS.Models.Workgroup is disabled or not.",
"readOnly": true
},
"settings": {
"type": "string",
"description": "Gets or sets the Settings for the BDMS.Models.Workgroup.",
"nullable": true
},
"boreholeCount": {
"type": "integer",
"description": "Number of boreholes in the workgroup.",
"format": "int32",
"readOnly": true
}
},
"additionalProperties": false,
"description": "Represents a workgroup entity in the database."
},
"WorkgroupEditor": {
"required": [
"id"
],
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int32"
},
"name": {
"type": "string",
"description": "Gets or sets the BDMS.Models.WorkgroupEditors name."
},
"firstName": {
"type": "string",
"description": "Gets or sets the BDMS.Models.WorkgroupEditors firstname."
},
"lastName": {
"type": "string",
"description": "Gets or sets the BDMS.Models.WorkgroupEditors lastname."
},
"workgroupRoles": {
"type": "array",
"items": {
"$ref": "#/components/schemas/UserWorkgroupRole"
},
"description": "Gets the WorkgroupRoles.",
"readOnly": true
}
},
"additionalProperties": false,
"description": "Represents a BDMS.Models.User with only minimal information, to be returned from a M:BDMS.Controllers.UserController.GetWorkgroupEditors(System.Int32) request."
}
},
"securitySchemes": {
"OpenIdConnect": {
"type": "openIdConnect"
}
}
},
"security": [
{
"OpenIdConnect": [ ]
}
]
}