Get started
API Endpoint https://api.rocscience.com/
The RSLog API provides programatic access to CRUD action for many endpoints and entities.
To use this API, you need to have these features enabled and the correct permissions. Please visit us at Contact Us if you have any questions. For more information about RSLog, view the RSLog Documentation.
Creating a REST Request
REST requests can be used in code, a browser, or command line. Each REST request consists of a base url, an endpoint, headers, and a body.
The base url is always the same, https://www.rslogonline.com/. The endpoint is specific to each request. The header is used to perform authentication. The body consist of all data being sent to the API.
This documentation will specify each of these elements for all available APIs.
Each REST request must have an HTTP method identified to perform a specific function. These types are display in the table below and must be specified when making each request.
URL STRUCTURE
https://www.rslogonline.com/{endpoint}
HTTP Methods
Request Type | Description |
---|---|
GET | Retrieve data |
POST | Create new resources |
PUT | Replace an existing resource |
DELETE | Delete data |
How To Connect
POST
To connect to the RSLog API and recieve a token, send a post request to the follwing url with the body of the request specified below:
/api/connect/token
BODY
x-www-form-urlencoded
Key | Example Value |
---|---|
tenant | RSLog |
username | user1 |
password | **** |
Using the Token
Once you have recieved the token, add it to the header of each API call. See an example header below:
Key | Example Value |
---|---|
Authorization | Bearer [token] |
Projects
POST
## Here is an example POST BODY
{
"title" : "Geographic",
"contactId" : "10B36C5D-6271-0A48-787B-3A054DA59D0E",
"projectStatusId" : "62F2F00F-E014-4781-B121-367FE22C3270",
"unitSystemId" : "FF4D854B-423F-4C53-B5F7-2F22AE87B1D4",
"coordinateSystemId" : "234E363F-9096-4AFC-A95D-4E791F7C190B",
"lat" : 32.40939,
"long": -23.30293
}
To create a new project you need to make a POST call to the follwing url:
/api/v1/project
BODY PARAMETERS
Field | Type | Description |
---|---|---|
Title | string |
Title of the project
Max length: 250 characters |
ContactId | Guid |
ID of the contact associated with the project
Must correspond to a valid Contact |
ProjectStatusId | Guid |
ID of the project status
Must correspond to a valid Project Status The title of the project cannot be "Archived" |
UnitSystemId | Guid |
ID of the unit system
Must correspond to a valid Unit Systems |
CoordinateSystemId | Guid |
ID of the coordinate system
Must correspond to a valid Coordinate System |
JobNo | string |
(optional) Job number
Max length: 50 characters |
LeadEngineer | string |
(optional) Name of the lead engineer
Max length: 250 characters |
SiteLocation | string |
(optional) Location of the site
Max length: 250 characters |
SiteUtmZone | int |
(optional) UTM zone of the site
If coordinate system is UTM: Must be between 1 and 60 (inclusive) |
AnonymousDataSharing | bool | (optional) Whether anonymous data sharing is enabled |
Ellipsoid | string |
(optional) Ellipsoid used for coordinates
Max length: 250 characters |
IsExample | bool | (optional) Whether this is an example project |
Notes | string |
(optional) Additional notes
Max length: 1024 characters |
FolderPath | string |
(optional) Path to the project folder
Max length: 250 characters |
Lat | double | (optional) Latitude |
Long | double | (optional) Longitude |
Easting | double | (optional) Easting coordinate |
Northing | double | (optional) Northing coordinate |
Elevation | double | (optional) Elevation |
SiteUtmZoneString | string |
(optional) UTM zone string
Max length: 1 character If coordinate system is UTM: Must be a single letter between C and X |
UserProjects | List<UserProjectDto> | (optional) List of user projects associated with this project |
UnitSystemString | string | (optional) String representation of the unit system |
PolygonCoordinates | string | (optional) Coordinates of the polygon |
PolylineCoordinates | string | (optional) Coordinates of the polyline |
CoordinateSystemString | string | (optional) String representation of the coordinate system |
ImportFrom | string |
(optional) Source of import
Max length: 100 characters |
IsPloygon | bool | (optional) Whether the project uses a polygon |
IsHideNullValue | bool | (optional) Whether to hide null values |
ZoomLevel | int | (optional) Zoom level for map display |
IsStatusChange | bool | (optional) Whether the status has changed |
Division | string |
(optional) Division
Max length: 128 characters |
InstallationDistrict | string |
(optional) Installation district
Max length: 128 characters |
Route | string |
(optional) Route
Max length: 128 characters |
County | string |
(optional) County
Max length: 128 characters |
StructureName | string |
(optional) Name of the structure
Max length: 128 characters |
Postmile | string |
(optional) Postmile
Max length: 128 characters |
StructureNumber | string |
(optional) Number of the structure
Max length: 128 characters |
CoordinateReference | string |
(optional) Coordinate reference
Max length: 128 characters Required if coordinate system is Projected |
IsEpgs | bool |
(optional) Whether EPGS is used
Required if coordinate system is Projected |
CoordinateUnit | string |
(optional) Unit of coordinates
Max length: 128 characters |
IsLocked | bool | (optional) Whether the project is locked |
IsArchived | bool | (optional) Whether the project is archived |
ExtraTagJsonData | string | (optional) Additional JSON data for tags |
GET
To get a project, you need to make a GET call to the following url:
/api/v1/project/{id}
GET ALL Projects
To get all projects, you need to make a GET call to the following url:
/api/v1/projects
GET ALL Boreholes
To get all boreholes from a project, you need to make a GET call to the following url:
/api/v1/project/{id}/boreholes
PUT
To get a stratigraphy you need to make a GET call to the following url:
/api/v1/project/{id}
BODY PARAMETERS
Field | Type | Description |
---|---|---|
Title | string |
Title of the project
Max length: 250 characters |
ContactId | Guid |
ID of the contact associated with the project
Must correspond to a valid Contact |
ProjectStatusId | Guid |
ID of the project status
Must correspond to a valid Project Status The title of the project cannot be "Archived" |
UnitSystemId | Guid |
ID of the unit system
Must correspond to a valid Unit Systems |
CoordinateSystemId | Guid |
ID of the coordinate system
Must correspond to a valid Coordinate System |
JobNo | string |
(optional) Job number
Max length: 50 characters |
LeadEngineer | string |
(optional) Name of the lead engineer
Max length: 250 characters |
SiteLocation | string |
(optional) Location of the site
Max length: 250 characters |
SiteUtmZone | int |
(optional) UTM zone of the site
If coordinate system is UTM: Must be between 1 and 60 (inclusive) |
AnonymousDataSharing | bool | (optional) Whether anonymous data sharing is enabled |
Ellipsoid | string |
(optional) Ellipsoid used for coordinates
Max length: 250 characters |
IsExample | bool | (optional) Whether this is an example project |
Notes | string |
(optional) Additional notes
Max length: 1024 characters |
FolderPath | string |
(optional) Path to the project folder
Max length: 250 characters |
Lat | double | (optional) Latitude |
Long | double | (optional) Longitude |
Easting | double | (optional) Easting coordinate |
Northing | double | (optional) Northing coordinate |
Elevation | double | (optional) Elevation |
SiteUtmZoneString | string |
(optional) UTM zone string
Max length: 1 character If coordinate system is UTM: Must be a single letter between C and X |
UserProjects | List<UserProjectDto> | (optional) List of user projects associated with this project |
UnitSystemString | string | (optional) String representation of the unit system |
PolygonCoordinates | string | (optional) Coordinates of the polygon |
PolylineCoordinates | string | (optional) Coordinates of the polyline |
CoordinateSystemString | string | (optional) String representation of the coordinate system |
ImportFrom | string |
(optional) Source of import
Max length: 100 characters |
IsPloygon | bool | (optional) Whether the project uses a polygon |
IsHideNullValue | bool | (optional) Whether to hide null values |
ZoomLevel | int | (optional) Zoom level for map display |
IsStatusChange | bool | (optional) Whether the status has changed |
Division | string |
(optional) Division
Max length: 128 characters |
InstallationDistrict | string |
(optional) Installation district
Max length: 128 characters |
Route | string |
(optional) Route
Max length: 128 characters |
County | string |
(optional) County
Max length: 128 characters |
StructureName | string |
(optional) Name of the structure
Max length: 128 characters |
Postmile | string |
(optional) Postmile
Max length: 128 characters |
StructureNumber | string |
(optional) Number of the structure
Max length: 128 characters |
CoordinateReference | string |
(optional) Coordinate reference
Max length: 128 characters Required if coordinate system is Projected |
IsEpgs | bool |
(optional) Whether EPGS is used
Required if coordinate system is Projected |
CoordinateUnit | string |
(optional) Unit of coordinates
Max length: 128 characters |
IsLocked | bool | (optional) Whether the project is locked |
IsArchived | bool | (optional) Whether the project is archived |
ExtraTagJsonData | string | (optional) Additional JSON data for tags |
Boreholes
POST
## Here is an example POST BODY
{
"name" : "API's Borehole",
"testHoleType" : "0",
"depth" : 43,
"projectId" : "635be7fa-0c71-21b4-1628-3a0e79f4115b",
"boreholeStatusId" : "17C53CE0-036E-40C7-A204-1AE30B0AD158"
}
To create a new borehole you need to make a POST call to the following url:
/api/v1/borehole
BODY PARAMETERS
Field | Type | Description |
---|---|---|
TestHoleType | string |
Type of test hole
Must be either "0" or "1" Max length: 1 character |
Name | string |
Name of the borehole
Max length: 100 characters |
Depth | double | Depth of the borehole |
ProjectId | Guid |
ID of the project this borehole belongs to
Must correspond to a valid project |
BoreholeStatusId | Guid |
ID of the borehole status
Must correspond to a valid Borehole Status |
GroundwaterLevel | double | (optional) Groundwater level |
FillMaterial | double | (optional) Fill material depth |
StartDate | DateTime | (optional) Start date of drilling |
EndDate | DateTime | (optional) End date of drilling |
LoggedBy | string |
(optional) Name of the person who logged the borehole
Max length: 250 characters |
ReviewedBy | string |
(optional) Name of the person who reviewed the borehole log
Max length: 250 characters |
Elevation | double | (optional) Elevation of the borehole |
X | double | (optional) X coordinate |
Y | double | (optional) Y coordinate |
Easting | double | (optional) Easting coordinate |
Northing | double | (optional) Northing coordinate |
Lat | double | (optional) Latitude |
Long | double | (optional) Longitude |
DrillingContractor | string |
(optional) Name of the drilling contractor
Max length: 255 characters |
Notes | string |
(optional) Additional notes
Max length: 2000 characters |
MarkIconPath | string |
(optional) Path to the mark icon
Max length: 2000 characters |
PiezoType | string |
(optional) Type of piezometer
Max length: 65535 characters |
PlugType | string |
(optional) Type of plug
Max length: 65535 characters |
EndCapType | string |
(optional) Type of end cap
Max length: 65535 characters |
PipeDia | string |
(optional) Pipe diameter
Max length: 65535 characters |
TrendDeg | double | (optional) Trend degree |
PlungeDeg | double | (optional) Plunge degree |
AGSTestHoleTypes | string |
(optional) AGS test hole types
Max length: 65535 characters |
AGSTestHoleTypeCode | string |
(optional) AGS test hole type code
Max length: 65535 characters |
IsHideNullValue | bool | (optional) Whether to hide null values |
Size | string |
(optional) Size of the borehole
Max length: 65535 characters |
Equipment | string |
(optional) Equipment used
Max length: 65535 characters |
ThicknessOfOverburden | double | (optional) Thickness of overburden |
DepthDrilledIntoRock | double | (optional) Depth drilled into rock |
TotalCoreBoxes | double | (optional) Total number of core boxes |
NameOfDriller | string |
(optional) Name of the driller
Max length: 65535 characters |
Disturbed | double | (optional) Disturbed depth |
UnDisturbed | double | (optional) Undisturbed depth |
RockFeatures | bool | (optional) Whether rock features are present |
IsImportData | bool | (optional) Whether the data is imported |
AGSPiezoTypeCode | string |
(optional) AGS piezometer type code
Max length: 65535 characters |
AGSPiezoType | Guid | (optional) AGS piezometer type ID |
Benchmark | string |
(optional) Benchmark information
Max length: 65535 characters |
LiftingMechanism | string |
(optional) Lifting mechanism used
Max length: 65535 characters |
ElevationSurveyMethod | string |
(optional) Method used for elevation survey
Max length: 65535 characters |
HorizontalSurveyBenchmark | string |
(optional) Horizontal survey benchmark
Max length: 65535 characters |
HorizontalSurveyMethod | string |
(optional) Method used for horizontal survey
Max length: 65535 characters |
Verticality | string |
(optional) Verticality information
Max length: 65535 characters |
StructureName | string |
(optional) Name of the structure
Max length: 65535 characters |
StructureNumber | string |
(optional) Number of the structure
Max length: 65535 characters |
StationLine | string |
(optional) Station line information
Max length: 65535 characters |
StationNumber | string |
(optional) Station number
Max length: 65535 characters |
Offset | string |
(optional) Offset information
Max length: 65535 characters |
HammerType | string |
(optional) Type of hammer used
Max length: 65535 characters |
HammerId | string |
(optional) Id of the Hammer used
Max length: 65535 characters |
HammerDrop | string |
(optional) Type of hammer used
Max length: 65535 characters |
HammerWeight | string |
(optional) Weight of the hammer used
Max length: 65535 characters |
HammerEnergy | string |
(optional) Hammer Energy
Max length: 65535 characters |
StartNotes | string |
(optional) Starting Notes
Max length: 2000 characters |
TerminationNotes | string |
(optional) Notes about the termination
Max length: 2000 characters |
Comment | string |
(optional) Borehole Comments
Max length: 65535 characters |
InstalledStickup | bool | (optional) Whether stickup is installed |
InstalledStickupValue | double |
(optional) Value of the installed stickup
InstalledStickupValue > 0 |
EnteredBy | string |
(optional) Who entered the borehole
Max length: 65535 characters |
BoreholePrePlanningId | string |
(optional) Preplans for the borehole
Must be valid |
GET
To get a borehole you need to make a GET call to the following url:
/api/v1/borehole/{id}
PUT
## Here is an example PUT BODY
{
"name" : "Jim's Borehole",
"testHoleType" : "0",
"depth" : 43,
"projectId" : "635be7fa-0c71-21b4-1628-3a0e79f4115b",
"boreholeStatusId" : "17C53CE0-036E-40C7-A204-1AE30B0AD158"
}
To modify an existing borehole, you need to make a PUT call to the following url:
/api/v1/borehole/{id}
BODY PARAMETERS
Field | Type | Description |
---|---|---|
TestHoleType | string |
Type of test hole
Must be either "0" or "1" Max length: 1 character |
Name | string |
Name of the borehole
Max length: 100 characters |
Depth | double | Depth of the borehole |
ProjectId | Guid |
ID of the project this borehole belongs to
Must correspond to a valid project |
BoreholeStatusId | Guid |
ID of the borehole status
Must correspond to a valid Borehole Status |
GroundwaterLevel | double | (optional) Groundwater level |
FillMaterial | double | (optional) Fill material depth |
StartDate | DateTime | (optional) Start date of drilling |
EndDate | DateTime | (optional) End date of drilling |
LoggedBy | string |
(optional) Name of the person who logged the borehole
Max length: 250 characters |
ReviewedBy | string |
(optional) Name of the person who reviewed the borehole log
Max length: 250 characters |
Elevation | double | (optional) Elevation of the borehole |
X | double | (optional) X coordinate |
Y | double | (optional) Y coordinate |
Easting | double | (optional) Easting coordinate |
Northing | double | (optional) Northing coordinate |
Lat | double | (optional) Latitude |
Long | double | (optional) Longitude |
DrillingContractor | string |
(optional) Name of the drilling contractor
Max length: 255 characters |
Notes | string |
(optional) Additional notes
Max length: 2000 characters |
MarkIconPath | string |
(optional) Path to the mark icon
Max length: 2000 characters |
PiezoType | string |
(optional) Type of piezometer
Max length: 65535 characters |
PlugType | string |
(optional) Type of plug
Max length: 65535 characters |
EndCapType | string |
(optional) Type of end cap
Max length: 65535 characters |
PipeDia | string |
(optional) Pipe diameter
Max length: 65535 characters |
TrendDeg | double | (optional) Trend degree |
PlungeDeg | double | (optional) Plunge degree |
AGSTestHoleTypes | string |
(optional) AGS test hole types
Max length: 65535 characters |
AGSTestHoleTypeCode | string |
(optional) AGS test hole type code
Max length: 65535 characters |
IsHideNullValue | bool | (optional) Whether to hide null values |
Size | string |
(optional) Size of the borehole
Max length: 65535 characters |
Equipment | string |
(optional) Equipment used
Max length: 65535 characters |
ThicknessOfOverburden | double | (optional) Thickness of overburden |
DepthDrilledIntoRock | double | (optional) Depth drilled into rock |
TotalCoreBoxes | double | (optional) Total number of core boxes |
NameOfDriller | string |
(optional) Name of the driller
Max length: 65535 characters |
Disturbed | double | (optional) Disturbed depth |
UnDisturbed | double | (optional) Undisturbed depth |
RockFeatures | bool | (optional) Whether rock features are present |
IsImportData | bool | (optional) Whether the data is imported |
AGSPiezoTypeCode | string |
(optional) AGS piezometer type code
Max length: 65535 characters |
AGSPiezoType | Guid | (optional) AGS piezometer type ID |
Benchmark | string |
(optional) Benchmark information
Max length: 65535 characters |
LiftingMechanism | string |
(optional) Lifting mechanism used
Max length: 65535 characters |
ElevationSurveyMethod | string |
(optional) Method used for elevation survey
Max length: 65535 characters |
HorizontalSurveyBenchmark | string |
(optional) Horizontal survey benchmark
Max length: 65535 characters |
HorizontalSurveyMethod | string |
(optional) Method used for horizontal survey
Max length: 65535 characters |
Verticality | string |
(optional) Verticality information
Max length: 65535 characters |
StructureName | string |
(optional) Name of the structure
Max length: 65535 characters |
StructureNumber | string |
(optional) Number of the structure
Max length: 65535 characters |
StationLine | string |
(optional) Station line information
Max length: 65535 characters |
StationNumber | string |
(optional) Station number
Max length: 65535 characters |
Offset | string |
(optional) Offset information
Max length: 65535 characters |
HammerType | string |
(optional) Type of hammer used
Max length: 65535 characters |
HammerId | string |
(optional) Id of the Hammer used
Max length: 65535 characters |
HammerDrop | string |
(optional) Type of hammer used
Max length: 65535 characters |
HammerWeight | string |
(optional) Weight of the hammer used
Max length: 65535 characters |
HammerEnergy | string |
(optional) Hammer Energy
Max length: 65535 characters |
StartNotes | string |
(optional) Starting Notes
Max length: 2000 characters |
TerminationNotes | string |
(optional) Notes about the termination
Max length: 2000 characters |
Comment | string |
(optional) Borehole Comments
Max length: 65535 characters |
InstalledStickup | bool | (optional) Whether stickup is installed |
InstalledStickupValue | double |
(optional) Value of the installed stickup
InstalledStickupValue > 0 |
EnteredBy | string |
(optional) Who entered the borehole
Max length: 65535 characters |
BoreholePrePlanningId | string |
(optional) Preplans for the borehole
Must be valid |
GET ALL Stratigraphies
To get all the stratigraphis from a borehole, you need to make a GET call to the following url:
/api/v1/borehole/{id}/stratigraphies
GET ALL Comments
To get all the comments from a borehole, you need to make a GET call to the following url:
/api/v1/borehole/{id}/comments
GET ALL Drill Runs
To get all the drill runs from a borehole, you need to make a GET call to the following url:
/api/v1/borehole/{id}/drill-runs
GET ALL Boring Details
To get all the boring details from a borehole, you need to make a GET call to the following url:
/api/v1/borehole/{id}/boring-details
GET ALL Piezometers
To get all the piezometers from a borehole, you need to make a GET call to the following url:
/api/v1/borehole/{id}/piezometers
GET ALL Backfill Details
To get all the backfill details from a borehole, you need to make a GET call to the following url:
/api/v1/borehole/{id}/backfill-details
GET ALL Discontinuities
To get all the discontinuities from a borehole, you need to make a GET call to the following url:
/api/v1/borehole/{id}/discontinuities
COMMON LAYER INFO
This DTO is used by Stratigraphy and InterimDetail
COMMON LAYER INFO PARAMETERS
Field | Type | Description |
---|---|---|
Color inputs | ||
ColorDescription | string | (optional) Description of the layer color |
ColorTermId | Guid |
(optional) ID of the color term Must correspond to a valid Munsell Color Term |
ColorTermCode | Guid |
(optional) Code for the color term
Must be a valid Munsell Color Must be specified if ColorTermId is specified |
JoinerTerm | int |
(optional) Must correspond to a valid Munsell Joiner Term Must be given together with JoinerTermCode and ColorTermCode if supplied |
JoinerTermCode | Guid |
(optional) Code for the joiner term
Must be a valid Munsell Color Must be given together with JoinerTerm and ColorTermCode if supplied |
USCS classification type soil Layer Info | ||
MajorType
↓
GroupName
↓
GroupSymbol
|
Guid
Guid
Guid
|
(optional) ID of the major soil type
(optional) ID of the soil group name
(optional) ID of the soil group symbol
Selection order: MajorType → GroupName → GroupSymbol If a field is provided, the previous must also be provided If ParentType is "Soil", the ClassificationSystem of the Interm from ReferenceId must be USCS |
USCS detailed view common inputs (non-component variables) | ||
MoistureDescriptorId | Guid |
(optional) ID of the moisture descriptor
Must correspond to a valid Moisture Descriptor |
ConsistencyDescriptorId | Guid |
(optional) ID of the consistency descriptor
Must correspond to a valid Consistency Descriptor |
RelativeDensityId | Guid |
(optional) ID of the relative density
Must correspond to a valid Relative Density |
StructureId | Guid |
(optional) ID of the soil structure
Must correspond to a valid Structure |
USCS component common variables | ||
FinesPercent | int |
(optional) Percentage of fines in the soil
Must be between 0 and 100 Only one of FinesProportionId or FinesPercent should be provided at one time |
FinesProportionId | Guid |
(optional) ID of the fines proportion
Only one of FinesProportionId or FinesPercent should be provided at one time |
FinesPlasticityId | Guid |
(optional) ID of the fines plasticity
Must be a valid Fine Plasticity |
FinesDryStrengthId | Guid |
(optional) ID of the fines dry strength
Must be a valid Dry Strength |
FinesDilatancyId | Guid |
(optional) ID of the fines dilatancy
Must be a valid Dilatancy |
FinesToughnessId | Guid |
(optional) ID of the fines toughness
Must be a valid Toughness |
SandPercent | int |
(optional) Percentage of sand in the soil
Must be between 0 and 100 Cannot provide both SandPercent and SandProportionId |
SandProportionId | Guid |
(optional) ID of the sand proportion
Only one of SandProportionId or SandPercent should be provided at one time |
SandParticleSizeIdsList | List<Guid> |
(optional) List of IDs for sand particle sizes
Each SandParticleSizeId must be valid in SandParticleSizeIdsList |
SandParticleAngularityId | Guid |
(optional) ID of the sand particle angularity
Must be a valid Particle Angularity |
SandCementationId | Guid |
(optional) ID of the sand cementation
Must be a valid Cementation |
GravelPercent | int |
(optional) Percentage of gravel in the soil
Must be between 0 and 100 Cannot provide both GravelPercent and GravelProportionId |
GravelProportionId | Guid |
(optional) ID of the gravel proportion
Only one of GravelProportionId or GravelPercent should be provided at one time |
GravelParticleSizeIdsList | List<Guid> |
(optional) List of IDs for gravel particle sizes
Each GravelParticleSizeId in GravelParticleSizeIdsList must be valid |
GravelParticleAngularityId | Guid |
(optional) ID of the gravel particle angularity
Must be valid if provided |
GravelCementationId | Guid |
(optional) ID of the gravel cementation
Must be valid if provided |
GravelParticleShapeId | Guid |
(optional) ID of the gravel particle shape
Must be a valid Particle Shape |
CobblesPercent | int |
(optional) Percentage of cobbles in the soil
Must be between 0 and 100 |
CobblesRockTypeId | Guid |
(optional) ID of the cobbles rock type
Must be valid and the type must be Igneous, Sedimentary, or Metamorphic |
CobblesSize | double |
(optional) Size of cobbles
Cannot be less than 0 |
CobblesParticleAngularityId | Guid |
(optional) ID of the cobbles particle angularity
Must be valid if provided |
CobblesWeatheringId | Guid |
(optional) ID of the cobbles weathering
Must be a valid Weathering |
CobblesParticleShapeId | Guid |
(optional) ID of the cobbles particle shape
Must be a valid Particle Shape |
CobblesHardnessId | Guid |
(optional) ID of the cobbles hardness
Must be a valid Hardness |
Boulders | ||
BouldersPercent | int |
(optional) Percentage of boulders in the soil
Must be between 0 and 100 |
BouldersRockTypeId | Guid |
(optional) ID of the boulders rock type
Must be valid |
BouldersSize | double |
(optional) Size of boulders
Cannot be less than 0 |
BouldersParticleAngularityId | Guid |
(optional) ID of the boulders particle angularity
Must be valid if provided and be the same as the ClassificationType |
BouldersWeatheringId | Guid |
(optional) ID of the boulders weathering
Must be a valid Weathering and be the same as the ClassificationType |
BouldersParticleShapeId | Guid |
(optional) ID of the boulders particle shape
Must be a valid Particle Shape and be the same as the ClassificationType |
BouldersHardnessId | Guid |
(optional) ID of the boulders hardness
Must be a valid Hardness and be the same as ClassificationType |
ROCK classification type rock Layer Info | ||
RockType
↓
RockCategory
↓
RockName
↓
NameModifier
|
MajorGrockGroupEnum
Guid
string
string
|
(optional) Enum representing the major rock group
(optional) ID of the rock category
(optional) Name of the rock
(optional) Modifier for the rock name
Selection order: RockType → RockCategory → RockName → NameModifier If a field is provided, the previous must also be provided |
ROCK detailed view common inputs | ||
BeddingThicknessId | Guid |
(optional) ID of the bedding thickness
Must be a valid Bedding Thickness |
SlakingId | Guid |
(optional) ID of the slaking characteristic
Must be a valid Slaking |
GrainSizeId | Guid |
(optional) ID of the grain size
Must be a valid Hardness If RockType is Sedimentary, then GrainSizeId must be valid if provided |
FractureDensityId | Guid |
(optional) ID of the fracture density
Must be a valid Fracture Density |
HardnessId | Guid |
(optional) ID of the rock hardness
Must be a valid Hardness |
StrengthId | Guid |
(optional) ID of the rock strength
Must be a valid Strength |
WeatheringId | Guid |
(optional) ID of the rock weathering
Must be a valid Weathering and be the same as the ClassificationType |
Additional Information | ||
Description | string |
(optional) General description of the layer
Max character limit (65535) |
Stratigraphy
POST
Stratigraphy POST BODY QUERY Examples:
(USCS)
{
"boreholeId" : "2aa74dd5-63e5-a525-6cf4-3a14cb02a6e3",
"classificationSystem": "USCS",
"MajorType" : "25af4bbb-9492-5a28-fe5b-3a0bf543d2dc",
"GroupName" : "8d5df4a9-7a71-6253-29a2-3a0bf543d2dc",
"GroupSymbol" : "c24cb143-44f6-ca90-3997-3a0bf543d2d3",
"SoilSymbolId" : "BC9EA70F-3077-4AB7-B0F0-6E3BF1903556",
"from" : 11,
"to": 15,
"ColorTermId" : "652637AC-888E-4ED5-828C-EFE323F8ABAD",
"ColorTermCode" : "fbae9348-1e2d-4a69-9ab0-9bd9c8360cf2",
"JoinerTerm" : 2,
"JoinerTermCode" : "1f07c4d3-71da-42c9-bb73-557181d30a83",
"ConsistencyDescriptorId" : "6ef80839-c9ab-4f7a-95bd-512cc1b2868b",
"MoistureDescriptorId" : "0cb4fed5-666a-48e1-bb9b-1f2174e82e09",
"StructureId" : "14b379d8-29df-4c26-9f64-1ef28a989046",
"UnitWeight" : 100.0,
"LineStyleId" : "2fd627fa-3578-4b37-8771-500bd518107f",
"ThicknessId" : "c431dfa5-b81e-4b81-9864-9da94caecf71",
"Color" : "#FFFFFF",
"FinesPercent" : 90,
"FinesPlasticityId" : "887f1548-8ceb-4ddd-a2be-37402342f097",
"FinesDryStrengthId" : "6db3eece-c20d-476a-bf5d-6686ad2094b9",
"FinesDilatancyId" : "a1b4c5f5-c92b-4a6c-ac65-6ae3bff7bd15",
"FinesToughnessId" : "63430552-02a5-42ec-8060-d21067bd94be",
"SandProportionId" : "bfca46c0-a679-4780-9832-2f6377a3ad3e",
"SandParticleSizeIdsList" : ["3deabc8f-f895-446a-b504-effb7b6c700e","bac12fa8-acd0-4e9c-9434-cc6c650eb7e5"],
"SandParticleAngularityId" : "95e7c972-9eaf-4572-82d2-3c490f969ed1",
"SandCementationId" : "861eeebb-5976-4b02-a5b8-57c400f59c2b",
"GravelProportionId" : "bfca46c0-a679-4780-9832-2f6377a3ad3e",
"GravelParticleSizeIdsList" : ["c0d87890-0b28-447b-ac1a-33e2a900a96d","fc5a889e-4dfd-4871-bf8e-823229f0913c"],
"GravelParticleAngularityId" : "95e7c972-9eaf-4572-82d2-3c490f969ed1",
"GravelCementationId" : "861eeebb-5976-4b02-a5b8-57c400f59c2b",
"GravelParticleShapeId" : "de045a19-48a0-49f0-9f43-0e374021b243",
"CobblesSoilConstituent" : "Interstitial",
"CobblesPercent" : 50,
"CobblesRockTypeId" : "ca5208b5-0ea8-4da1-8ee9-877cd34fad10",
"CobblesSize" : 5,
"CobblesParticleAngularityId" : "95e7c972-9eaf-4572-82d2-3c490f969ed1",
"CobblesWeatheringId" : "7314ceeb-a18b-4ae4-ad59-ad9a5300ec2f",
"CobblesParticleShapeId" : "9972dea0-f316-47e7-9a52-baeee317ab85",
"CobblesHardnessId" : "c479b99c-56ab-4cec-8393-c301b02f6541",
"BouldersSoilConstituent" : "Predominant",
"BouldersPercent" : 60,
"BouldersRockTypeId" : "ca5208b5-0ea8-4da1-8ee9-877cd34fad10",
"BouldersSize" : 3,
"BouldersParticleAngularityId" : "eba9b0b1-7b6e-4446-868d-e529aba7ad8a",
"BouldersWeatheringId" : "533680b0-a91d-44cb-96a9-715380854eca",
"BouldersParticleShapeId" : "9972dea0-f316-47e7-9a52-baeee317ab85",
"BouldersHardnessId" : "18e2ffd2-20e3-4156-93ff-a3608c2716b6"
}
(ROCK)
{
"boreholeId" : "2aa74dd5-63e5-a525-6cf4-3a14cb02a6e3",
"classificationSystem": "ROCK",
"RockType" : "Igneous",
"RockCategory": "5f388b84-ab64-436b-84c9-a20dda1d40c5",
"RockName" : "Gabbro",
"NameModifier": "Breccia",
"from" : 12,
"to": 15,
"ColorTermId" : "652637AC-888E-4ED5-828C-EFE323F8ABAD",
"ColorTermCode" : "fbae9348-1e2d-4a69-9ab0-9bd9c8360cf2",
"JoinerTerm" : 2,
"JoinerTermCode" : "1f07c4d3-71da-42c9-bb73-557181d30a83",
"UnitWeight" : 100.0,
"LineStyleId" : "2fd627fa-3578-4b37-8771-500bd518107f",
"ThicknessId" : "c431dfa5-b81e-4b81-9864-9da94caecf71",
"Color" : "#FFFFFF",
"BeddingThicknessId" : "d9404616-da1b-4f8e-9183-86c983369d5f",
"SlakingId" : "5d833822-102a-483a-b397-198d5836b441",
"FractureDensityId" : "f409bacc-93bf-4f0f-b61c-1fef3304f43d",
"WeatheringId" : "391ddcef-2e62-4fb0-94b2-9db7ad9ce492",
"HardnessId" : "8a06aea7-5248-44d9-bf09-6f32df347eea",
"StrengthId" : "b224d8f3-8182-4bda-915c-3d361bb83b0d"
}
(AASHTO)
{
"boreholeId" : "7ffe5d5c-5b5b-61c1-7343-3a14459594c9",
"classificationSystem": "AASHTO",
"MajorType" : "b488e752-0e11-2b1b-46e6-3a0bf543d2dc",
"SignificantConstituent" : "3ecfeabd-4f04-3d28-6c6a-3a0bf543d2dc",
"Characteristics" : "5043695a-10c4-2c93-2d6e-3a0bf543d2dc",
"GroupSymbol" : "52d9efc8-1b07-c52a-c265-3a0bf543d2dc",
"from" : 5,
"to": 8
}
(AGS)
{
"boreholeId" : "7ffe5d5c-5b5b-61c1-7343-3a14459594c9",
"classificationSystem": "AGS",
"MajorType" : "4be481c0-121e-eff2-2b33-3a0bf543d2dc",
"MaterialDescription" : "44b25e95-7e40-267e-1696-3a0bf543d2dc",
"from" : 10,
"to": 12
}
To create a new stratigraphy you need to make a POST call to the following url:
/api/v1/stratigraphy
Note: Stratigraphy inherits the Common Layer Info Dto as well
BODY PARAMETERS
Field | Type | Description |
---|---|---|
BoreholeId | Guid |
ID of the borehole this stratigraphy belongs to
Must correspond to a valid borehole |
ClassificationSystem | ClassificationSystemEnum |
Classification system used
Must be one of "USCS", "AASHTO", "AGS", or "ROCK" |
From | double |
Starting depth of the stratigraphy layer
0 ≤ From < To ≤ borehole.Depth |
To | double |
Ending depth of the stratigraphy layer
From < To ≤ borehole.Depth |
Title | string |
(optional) Title of the stratigraphy layer
512 character limit |
SoilSymbolId | Guid |
(optional) ID of the soil symbol
Must correspond to a valid Soil Symbol |
GeologicCategoryId | Guid |
(optional) ID of the geologic category
Must correspond to a valid GeologicCategory if provided |
GeologicUnitId | Guid |
(optional) ID of the geologic unit
Must correspond to a valid GeologicUnit if provided |
MajorType
↓
SignificantConstituent
↓
Characteristics
↓
GroupSymbol
|
Guid
Guid
Guid
Guid
|
(optional) From CommonLayer
(optional) ID of the significant constituent
(optional) ID of the characteristics
(optional) From CommonLayer
For AASHTO: Selection order: MajorType → SignificantConstituent → Characteristics → GroupSymbol. SignificantConstituent must be valid and its majorType must match the provided majorType. Characteristics must be valid and its significantConstituentId must match what's provided |
MajorType
↓
Material Description
|
Guid
Guid
|
(optional) From CommonLayer
(optional) Description of the Material
For AASHTO: Selection order: MajorType → Material Description. MaterialDescription must be valid and it’s majorType must be the same as the one provided. |
MarkAsFill | bool | (optional) Indicates if the layer should be marked as fill |
CobblesSoilConstituent | SoilConstituentEnum |
(optional) Soil constituent for cobbles
For USCS and AASHTO: Must be "SoilConstituentPredominant", "SoilConstituentInterstitial", or "SoilConstituentMatrix" if provided |
BouldersSoilConstituent | SoilConstituentEnum |
(optional) Soil constituent for boulders
For USCS and AASHTO: Must be "SoilConstituentPredominant", "SoilConstituentInterstitial", or "SoilConstituentMatrix" if provided |
UnitWeight | double |
(optional) Unit weight of the layer
For ROCK: Must be provided and ≥ 0 |
LineBottomLayer | bool | (optional) Indicates if a line should be drawn at the bottom of the layer |
LineStyleId | Guid |
(optional) ID of the line style
Must correspond to a valid Line Style |
ThicknessId | Guid |
(optional) ID of the thickness
Must be a valid Thickness |
Color | string |
(optional) Color of the layer
Must be valid if provided |
RockWeatheredToDecomposed | bool | (optional) Indicates if the rock is weathered to decomposed |
RockDecomposed | bool | (optional) Indicates if the rock is decomposed |
RockPoorlyIndurated | bool | (optional) Indicates if the rock is poorly indurated |
GET
To get a stratigraphy you need to make a GET call to the following url:
/api/v1/stratigraphy/{id}
PUT
## PUT body example
{
"Symbol": "apple"
}
To modify an existing stratigraphy, make a PUT call to the following url:
/api/v1/stratigraphy/{id}
Note: Stratigraphy inherits the Common Layer Info Dto as well
BODY PARAMETERS
Field | Type | Description |
---|---|---|
BoreholeId | Guid |
ID of the borehole this stratigraphy belongs to
Must correspond to a valid borehole |
ClassificationSystem | ClassificationSystemEnum |
Classification system used
Must be one of "USCS", "AASHTO", "AGS", or "ROCK" |
From | double |
Starting depth of the stratigraphy layer
0 ≤ From < To ≤ borehole.Depth |
To | double |
Ending depth of the stratigraphy layer
From < To ≤ borehole.Depth |
Title | string |
(optional) Title of the stratigraphy layer
512 character limit |
SoilSymbolId | Guid |
(optional) ID of the soil symbol
Must correspond to a valid Soil Symbol |
GeologicCategoryId | Guid |
(optional) ID of the geologic category
Must correspond to a valid GeologicCategory if provided |
GeologicUnitId | Guid |
(optional) ID of the geologic unit
Must correspond to a valid GeologicUnit if provided |
MajorType
↓
SignificantConstituent
↓
Characteristics
↓
GroupSymbol
|
Guid
Guid
Guid
Guid
|
(optional) From CommonLayer
(optional) ID of the significant constituent
(optional) ID of the characteristics
(optional) From CommonLayer
For AASHTO: Selection order: MajorType → SignificantConstituent → Characteristics → GroupSymbol. SignificantConstituent must be valid and its majorType must match the provided majorType. Characteristics must be valid and its significantConstituentId must match what's provided |
MajorType
↓
Material Description
|
Guid
Guid
|
(optional) From CommonLayer
(optional) Description of the Material
For AASHTO: Selection order: MajorType → Material Description. MaterialDescription must be valid and it’s majorType must be the same as the one provided. |
MarkAsFill | bool | (optional) Indicates if the layer should be marked as fill |
CobblesSoilConstituent | SoilConstituentEnum |
(optional) Soil constituent for cobbles
For USCS and AASHTO: Must be "SoilConstituentPredominant", "SoilConstituentInterstitial", or "SoilConstituentMatrix" if provided |
BouldersSoilConstituent | SoilConstituentEnum |
(optional) Soil constituent for boulders
For USCS and AASHTO: Must be "SoilConstituentPredominant", "SoilConstituentInterstitial", or "SoilConstituentMatrix" if provided |
UnitWeight | double |
(optional) Unit weight of the layer
For ROCK: Must be provided and ≥ 0 |
LineBottomLayer | bool | (optional) Indicates if a line should be drawn at the bottom of the layer |
LineStyleId | Guid |
(optional) ID of the line style
Must correspond to a valid Line Style |
ThicknessId | Guid |
(optional) ID of the thickness
Must be a valid Thickness |
Color | string |
(optional) Color of the layer
Must be valid if provided |
RockWeatheredToDecomposed | bool | (optional) Indicates if the rock is weathered to decomposed |
RockDecomposed | bool | (optional) Indicates if the rock is decomposed |
RockPoorlyIndurated | bool | (optional) Indicates if the rock is poorly indurated |
GET ALL INTERIM
To get all interims from a stratigraphy, you need to make a GET call to the following url:
/api/v1/stratigraphy/{id}/interim
GET ALL FRACTURE CONDITION
To get all fracture conditions from a stratigraphy, you need to make a GET call to the following url:
/api/v1/stratigraphy/{id}/fracture-condition
GET ALL DRILLING OBSERVATION
To get all drilling observations from a stratigraphy, you need to make a GET call to the following url:
/api/v1/stratigraphy/{id}/drilling-observation
Interim
POST
## Here is an example POST BODY
{
"StratigraphyId": "CF37290D-FF4D-BDB3-016A-3A14D4CEC63D",
"ClassificationSystem": "USCS",
"Depth": 2.5,
"Variable": 1,
"ReferenceId": "A1B2C3D4-E5F6-G7H8-I9J0-K1L2M3N4O5P6"
}
To create a new interim you need to make a POST call to the following url:
/api/v1/interim
BODY PARAMETERS
Field | Type | Description |
---|---|---|
StratigraphyId | Guid |
ID of the stratigraphy this interim belongs to
Must correspond to a Stratigraphy in the database |
ClassificationSystem | ClassificationSystemEnum |
Classification system used
Must be "USCS" or "ROCK" |
Depth | double |
Depth of the interim
stratigraphy.From ≤ Depth ≤ stratigraphy.To |
Variable | int |
(optional) Variable type for the interim
If ClassificationSystem = USCS: Must be "Consistency", "Moisture", "InterbeddedSoil", or "IsolatedLayer" If ClassificationSystem = ROCK: Must be "GrainSize", "Color", "InterbeddedSoil", "Weathering", "Hardness", "FractureDensity", "InterbeddedRock", or "IsolatedInterbed" |
ReferenceId | Guid |
(optional) ID of the reference entity
Must correspond to a valid entity of type Variable in the corresponding database |
GET
To get an interim you need to make a GET call to the following url:
/api/v1/interim/{id}
PUT
## PUT BODY example
{
"StratigraphyId": "CF37290D-FF4D-BDB3-016A-3A14D4CEC63D",
"ClassificationSystem": "USCS",
"Depth": 2.5,
"Variable": 1,
"ReferenceId": "A1B2C3D4-E5F6-G7H8-I9J0-K1L2M3N4O5P6"
}
To modify an existing interim, make a PUT call to the following url:
/api/v1/interim/{id}
BODY PARAMETERS
Field | Type | Description |
---|---|---|
StratigraphyId | Guid |
ID of the stratigraphy this interim belongs to
Must correspond to a Stratigraphy in the database |
ClassificationSystem | ClassificationSystemEnum |
Classification system used
Must be "USCS" or "ROCK" |
Depth | double |
Depth of the interim
stratigraphy.From ≤ Depth ≤ stratigraphy.To |
Variable | int |
(optional) Variable type for the interim
If ClassificationSystem = USCS: Must be "Consistency", "Moisture", "InterbeddedSoil", or "IsolatedLayer" If ClassificationSystem = ROCK: Must be "GrainSize", "Color", "InterbeddedSoil", "Weathering", "Hardness", "FractureDensity", "InterbeddedRock", or "IsolatedInterbed" |
ReferenceId | Guid |
(optional) ID of the reference entity
Must correspond to a valid entity of type Variable in the corresponding database |
Interim Details
POST
## Here is an example POST BODY
USCS, Interbedded Layer
{
"referenceID" : "B7AFD797-FEEF-0810-BC0A-3A15231A3C60",
"parentType" : "Soil",
"childType" : 1,
"MajorType" : "25af4bbb-9492-5a28-fe5b-3a0bf543d2dc",
"GroupName" : "8d5df4a9-7a71-6253-29a2-3a0bf543d2dc",
"GroupSymbol" : "c24cb143-44f6-ca90-3997-3a0bf543d2d3",
"InterbedJoinerId" : "EA6906FA-F305-48A8-9676-B56B097450E9",
"ColorTermId" : "652637AC-888E-4ED5-828C-EFE323F8ABAD",
"ColorTermCode" : "fbae9348-1e2d-4a69-9ab0-9bd9c8360cf2",
"JoinerTerm" : 2,
"JoinerTermCode" : "1f07c4d3-71da-42c9-bb73-557181d30a83",
"ConsistencyDescriptorId" : "6ef80839-c9ab-4f7a-95bd-512cc1b2868b",
"MoistureDescriptorId" : "0cb4fed5-666a-48e1-bb9b-1f2174e82e09",
"StructureId" : "14b379d8-29df-4c26-9f64-1ef28a989046",
"FinesPercent" : 90,
"FinesPlasticityId" : "887f1548-8ceb-4ddd-a2be-37402342f097",
"FinesDryStrengthId" : "6db3eece-c20d-476a-bf5d-6686ad2094b9",
"FinesDilatancyId" : "a1b4c5f5-c92b-4a6c-ac65-6ae3bff7bd15",
"FinesToughnessId" : "63430552-02a5-42ec-8060-d21067bd94be",
"SandProportionId" : "bfca46c0-a679-4780-9832-2f6377a3ad3e",
"SandParticleSizeIdsList" : ["3deabc8f-f895-446a-b504-effb7b6c700e","bac12fa8-acd0-4e9c-9434-cc6c650eb7e5"],
"SandParticleAngularityId" : "95e7c972-9eaf-4572-82d2-3c490f969ed1",
"SandCementationId" : "861eeebb-5976-4b02-a5b8-57c400f59c2b",
"GravelProportionId" : "bfca46c0-a679-4780-9832-2f6377a3ad3e",
"GravelParticleSizeIdsList" : ["c0d87890-0b28-447b-ac1a-33e2a900a96d","fc5a889e-4dfd-4871-bf8e-823229f0913c"],
"GravelParticleAngularityId" : "95e7c972-9eaf-4572-82d2-3c490f969ed1",
"GravelCementationId" : "861eeebb-5976-4b02-a5b8-57c400f59c2b",
"GravelParticleShapeId" : "de045a19-48a0-49f0-9f43-0e374021b243",
"CobblesPercent" : 50,
"CobblesRockTypeId" : "ca5208b5-0ea8-4da1-8ee9-877cd34fad10",
"CobblesSize" : 5,
"CobblesParticleAngularityId" : "95e7c972-9eaf-4572-82d2-3c490f969ed1",
"CobblesWeatheringId" : "7314ceeb-a18b-4ae4-ad59-ad9a5300ec2f",
"CobblesParticleShapeId" : "9972dea0-f316-47e7-9a52-baeee317ab85",
"CobblesHardnessId" : "c479b99c-56ab-4cec-8393-c301b02f6541",
"BouldersPercent" : 60,
"BouldersRockTypeId" : "ca5208b5-0ea8-4da1-8ee9-877cd34fad10",
"BouldersSize" : 3,
"BouldersParticleAngularityId" : "eba9b0b1-7b6e-4446-868d-e529aba7ad8a",
"BouldersWeatheringId" : "533680b0-a91d-44cb-96a9-715380854eca",
"BouldersParticleShapeId" : "9972dea0-f316-47e7-9a52-baeee317ab85",
"BouldersHardnessId" : "18e2ffd2-20e3-4156-93ff-a3608c2716b6"
}
ROCK, Interbedded Layer
{
"referenceID" : "FB6D3D49-A984-63A7-3E5E-3A1523763F16",
"parentType" : "Rock",
"childType" : 1,
"InterbedJoinerId" : "EA6906FA-F305-48A8-9676-B56B097450E9",
"RockType" : "Igneous",
"RockCategory": "5f388b84-ab64-436b-84c9-a20dda1d40c5",
"RockName" : "Gabbro",
"NameModifier": "Breccia",
"ColorTermId" : "652637AC-888E-4ED5-828C-EFE323F8ABAD",
"ColorTermCode" : "fbae9348-1e2d-4a69-9ab0-9bd9c8360cf2",
"JoinerTerm" : 2,
"JoinerTermCode" : "1f07c4d3-71da-42c9-bb73-557181d30a83",
"BeddingThicknessId" : "d9404616-da1b-4f8e-9183-86c983369d5f",
"SlakingId" : "5d833822-102a-483a-b397-198d5836b441",
"FractureDensityId" : "f409bacc-93bf-4f0f-b61c-1fef3304f43d",
"WeatheringId" : "391ddcef-2e62-4fb0-94b2-9db7ad9ce492",
"HardnessId" : "8a06aea7-5248-44d9-bf09-6f32df347eea",
"StrengthId" : "b224d8f3-8182-4bda-915c-3d361bb83b0"
}
To create a new interim detail you need to make a POST call to the following url :
/api/v1/interim-detail
Note: Interim Details inherits the Common Layer Info Dto as well
BODY PARAMETERS
Field | Type | Description |
---|---|---|
ParentType | ParentTypeEnum |
Type of the parent material
Must be "Soil" or "Rock" |
ChildType | ChildTypeEnum |
Type of the child layer
If ParentType is "Rock", ChildType must be "InterbeddedLayer" or "IsolatedLayer" |
ReferenceId | Guid |
(optional) ID of the referenced Interim
Must correspond to a valid Interim in the database |
LayerThickness | double |
(optional) Thickness of the layer
If ChildType is "IsolatedLayer", then LayerThickness must be ≥ 0 |
InterbedJoinerId | Guid |
(optional) ID of the interbed joiner
If ChildType is "InterbeddedLayer" and InterbedJoinerId is not null, then it must exist in the SoilClassification database |
GET
To get an interim detail you need to make a GET call to the following url :
/api/v1/interim-detail/{id}
PUT
To modify an existing interim detail, make a PUT call to the following url :
/api/v1/interim-detail/{id}
Note: Interim Details inherits the Common Layer Info Dto as well
BODY PARAMETERS
Field | Type | Description |
---|---|---|
ParentType | ParentTypeEnum |
Type of the parent material
Must be "Soil" or "Rock" |
ChildType | ChildTypeEnum |
Type of the child layer
If ParentType is "Rock", ChildType must be "InterbeddedLayer" or "IsolatedLayer" |
ReferenceId | Guid |
(optional) ID of the referenced Interim
Must correspond to a valid Interim in the database |
LayerThickness | double |
(optional) Thickness of the layer
If ChildType is "IsolatedLayer", then LayerThickness must be ≥ 0 |
InterbedJoinerId | Guid |
(optional) ID of the interbed joiner
If ChildType is "InterbeddedLayer" and InterbedJoinerId is not null, then it must exist in the SoilClassification database |
Plug Types
POST
## Here is an example POST BODY
{
"Descriptor": "apple",
"Symbol": "apples"
}
To create a new plug type you need to make a POST call to the following url:
/api/v1/plug-type
## Result example :
{
"descriptor": "apple",
"symbol": "apples",
"lastModificationTime": null,
"lastModifierId": null,
"creationTime": "2024-10-04T15:29:36.8212518-04:00",
"creatorId": null,
"id": "c1f08383-285a-46a3-5eca-3a156b2f2814"
}
BODY PARAMETERS
Field | Type | Description |
---|---|---|
Descriptor | String |
Description of Plug Type 128 character limit |
Symbol | String |
Symbol of the Plug Type 128 character limit |
GET
To get a plug type you need to make a GET call to the following url:
/api/v1/plug-type/{id}
GETALL
To get all plug types you need to make a GET call to the following url:
/api/v1/plug-types
PUT
## PUT body example
{
"Symbol": "apple"
}
To modify an existing plug type, make a PUT call to the following url:
/api/v1/plug-type/{id}
BODY PARAMETERS
Field | Type | Description |
---|---|---|
Descriptor | String |
Description of Plug Type 128 character limit |
Symbol | String |
Symbol of the Plug Type 128 character limit |
Piezometer Types
POST
## Here is an example POST BODY
{
"Descriptor": "apple",
"Symbol": "apples"
}
To create a new piezometer type you need to make a POST call to the following url:
/api/v1/piezometer-type
BODY PARAMETERS
Field | Type | Description |
---|---|---|
Descriptor | String |
Description of Piezometer Type 128 character limit |
Symbol | String |
Symbol of the Piezometer Type 128 character limit |
GET
To get a piezometer type you need to make a GET call to the following url:
/api/v1/piezometer-type/{id}
GETALL
To get all piezometer types you need to make a GET call to the following url:
/api/v1/piezometer-types
PUT
## PUT BODY example
{
"Symbol": "apple"
}
To modify an existing piezometer type, make a PUT call to the following url:
/api/v1/piezometer-type/{id}
BODY PARAMETERS
Field | Type | Description |
---|---|---|
Descriptor | String |
Description of Plug Type 128 character limit |
Symbol | String |
Symbol of the Plug Type 128 character limit |
Boring Details
POST
## Here is an example POST BODY
{
"BoreholeId": "CF37290D-FF4D-BDB3-016A-3A14D4CEC63D",
"From": 1.0,
"To": 3.0,
"DrillRig": "Example Drill Rig",
"DrillMethodId": "A1B2C3D4-E5F6-G7H8-I9J0-K1L2M3N4O5P6",
"AGSDrillMethodId": "B2C3D4E5-F6G7-H8I9-J0K1-L2M3N4O5P6Q7",
"RigTypeId": "C3D4E5F6-G7H8-I9J0-K1L2-M3N4O5P6Q7R8",
"BitTypeId": "D4E5F6G7-H8I9-J0K1-L2M3-N4O5P6Q7R8S9",
"HoleCasingTypeId": "E5F6G7H8-I9J0-K1L2-M3N4-O5P6Q7R8S9T0",
"TenantId": "F6G7H8I9-J0K1-L2M3-N4O5-P6Q7R8S9T0U1",
"DrillMethod": "Example Drill Method",
"DrillMethodTitle": "Example Drill Method Title",
"HoleDiameter": 10.5,
"CasingDiameter": 8.5,
"DrillRod": "Example Drill Rod",
"DrillBit": "Example Drill Bit",
"Notes": "Example notes for boring method",
"AGSBackfillId": "G7H8I9J0-K1L2-M3N4-O5P6-Q7R8S9T0U1V2",
"BackFillCode": "BF001",
"InstrumentInstalle": false,
"Date": "2024-10-08 14:30",
"Time": "14:30:00"
}
To create a new boring detail you need to make a POST call to the following url:
/api/v1/boring-detail
## Result example :
{
"boreholeId": "cf37290d-ff4d-bdb3-016a-3a14d4cec63d",
...
}
BODY PARAMETERS
Field | Type | Description |
---|---|---|
BoreholeId | Guid |
ID of the borehole this boring detail belongs to
Must correspond to a borehole in the database |
From | double |
Starting depth of the boring detail
Must be between 0 and the depth of the borehole Must be less than To |
To | double |
Ending depth of the boring detail
Must be between 0 and the depth of the borehole Must be greater than From |
DrillRig | string |
(optional) Description of the drill rig
255 character limit |
DrillMethodId | Guid |
(optional) ID of the drill method
Must correspond to an existing drill method in the database One of DrillMethodId or AGSDrillMethodId are required |
AGSDrillMethodId | Guid |
(optional) ID of the AGS drill method
Must correspond to an existing AGS drill method in the database One of DrillMethodId or AGSDrillMethodId are required |
RigTypeId | Guid |
(optional) ID of the rig type
Must correspond to an existing rig type in the database |
BitTypeId | Guid |
(optional) ID of the bit type
Must correspond to an existing bit type in the database |
HoleCasingTypeId | Guid |
(optional) ID of the hole casing type
Must correspond to an existing hole casting type in the database |
TenantId | Guid | (optional) ID of the tenant |
DrillMethod | string | (optional) Description of the drill method |
DrillMethodTitle | string | (optional) Title of the drill method |
HoleDiameter | double |
(optional) Diameter of the hole
Must be a positive value |
CasingDiameter | double |
(optional) Diameter of the casing
Must be a positive value and less than or equal to HoleDiameter |
DrillRod | string |
(optional) Description of the drill rod
128 character limit |
DrillBit | string |
(optional) Description of the drill bit
128 character limit |
Notes | string |
(optional) Additional notes
2000 character limit |
AGSBackfillId | Guid | (optional) ID of the AGS backfill |
BackFillCode | string | (optional) Code for the backfill |
InstrumentInstalle | bool | (optional) Indicates if an instrument is installed |
Date | DateTime |
(optional) Date of the boring detail
Must follow the format 'yyyy-MM-dd HH:mm' |
Time | TimeSpan | (optional) Time of the boring detail |
GET
To get a boring detail you need to make a GET call to the following url:
/api/v1/boring-detail/{id}
PUT
## PUT BODY example
{
"From": 1.5,
"To": 3.5,
"DrillRig":"Updated Drill Rig",
"HoleDiameter" :11.0,
"CasingDiameter" :9.0,
"Notes":"Updated notes for boring detail"
}
To modify an existing boring detail, make a PUT call to the following url:
/api/v1/boring-detail/{id}
BODY PARAMETERS
Field | Type | Description |
---|---|---|
BoreholeId | Guid |
ID of the borehole this boring detail belongs to
Must correspond to a borehole in the database |
From | double |
Starting depth of the boring detail
Must be between 0 and the depth of the borehole Must be less than To |
To | double |
Ending depth of the boring detail
Must be between 0 and the depth of the borehole Must be greater than From |
DrillRig | string |
(optional) Description of the drill rig
255 character limit |
DrillMethodId | Guid |
(optional) ID of the drill method
Must correspond to an existing drill method in the database One of DrillMethodId or AGSDrillMethodId are required |
AGSDrillMethodId | Guid |
(optional) ID of the AGS drill method
Must correspond to an existing AGS drill method in the database One of DrillMethodId or AGSDrillMethodId are required |
RigTypeId | Guid |
(optional) ID of the rig type
Must correspond to an existing rig type in the database |
BitTypeId | Guid |
(optional) ID of the bit type
Must correspond to an existing bit type in the database |
HoleCasingTypeId | Guid |
(optional) ID of the hole casing type
Must correspond to an existing hole casting type in the database |
TenantId | Guid | (optional) ID of the tenant |
DrillMethod | string | (optional) Description of the drill method |
DrillMethodTitle | string | (optional) Title of the drill method |
HoleDiameter | double |
(optional) Diameter of the hole
Must be a positive value |
CasingDiameter | double |
(optional) Diameter of the casing
Must be a positive value and less than or equal to HoleDiameter |
DrillRod | string |
(optional) Description of the drill rod
128 character limit |
DrillBit | string |
(optional) Description of the drill bit
128 character limit |
Notes | string |
(optional) Additional notes
2000 character limit |
AGSBackfillId | Guid | (optional) ID of the AGS backfill |
BackFillCode | string | (optional) Code for the backfill |
InstrumentInstalle | bool | (optional) Indicates if an instrument is installed |
Date | DateTime |
(optional) Date of the boring detail
Must follow the format 'yyyy-MM-dd HH:mm' |
Time | TimeSpan | (optional) Time of the boring detail |
Backfill Details
POST
## Here is an example POST BODY
{
"To": 2.0,
"From": 1.0,
"BoreholeId": "675145F2-2F6A-4CFE-98BE-097AEBA1EFEF"
}
To create a new backfill detail you need to make a POST call to the following url:
/api/v1/backfill-details
## Result example :
{
"from": 1,
"to": 2,
"boreholeId": "675145f2-2f6a-4cfe-98be-097aeba1efef",
"agsBackfillId": null,
"lastModificationTime": null,
"lastModifierId": null,
"creationTime": "2024-09-19T13:47:43.4073327-04:00",
"creatorId": "bf3b8e7e-8bb9-6d1a-d4eb-3a019a190b58",
"id": "a780645b-a1a9-4b6b-cd37-3a151d927b8e"
}
BODY PARAMETERS
Field | Type | Description |
---|---|---|
BoreholeId | Guid |
ID of the piezometer this backfill detail belongs to BoreholeId can be found using the /api/v1/project/{id}/boreholes |
From | double |
Starting depth of the backfill detail 0 < From < borehole.Depth From < To |
To | double |
Ending depth of the backfill detail 0 < To < borehole.Depth To > From |
AGSBackfillId | Guid |
(optional) AGSBackfillId for this backfill detail AGSBackfillId can be found using the /api/v1/project/{id}/AGSBackfillId |
GET
To get a backfill detail you need to make a GET call to the following url:
/api/v1/backfill-details/{id}
PUT
## PUT BODY example
{
"From": 3.0
"To": 5.0
}
To modify an existing backfill detail, make a PUT call to the following url:
/api/v1/backfill-details/{id}
BODY PARAMETERS
Field | Type | Description |
---|---|---|
From | double |
Starting depth of the backfill detail 0 < From < borehole.Depth From < To |
To | double |
Ending depth of the backfill detail 0 < To < borehole.Depth To > From |
AGSBackfillId | Guid |
(optional) AGSBackfillId for this backfill detail AGSBackfillId can be found using the /api/v1/project/{id}/AGSBackfillId |
Samples
POST
## Here is an example POST BODY
{
"boreholeId" : "C70E67B3-DA65-5C47-5531-3A13BB459FAE",
"sampleTypeId" : "B737A4E3-747D-46A1-BA57-17320FFEC675",
"depth": 50,
"to": 100,
"colorTermId": "AA4CF1B4-B07B-4CE4-A422-363DB9E13B98",
"joinerTerm": 1,
"colorTermCode": "4BFC4362-60B8-4365-8D17-01D94BF25707",
"joinerTermCode": "99413134-1C99-44CF-B6CB-046889C11046"
}
To create a new sample you need to make a POST call to the following url:
/api/v1/sample
BODY PARAMETERS
Field | Type | Description |
---|---|---|
BoreholeId | Guid |
ID of the piezometer this sample belongs to BoreholeId can be found using the /api/v1/project/{id}/boreholes |
SampleTypeId | Guid |
Id of the sample type Must correspond to a valid Sample Type |
Depth | double |
Depth of the sample 0 < Depth < borehole.Depth Depth < To |
MoistureDescriptorId | Guid |
(optional) Must correspond to a valid Moisture Descriptor |
SampleNumber | string |
(optional) 250 character limit |
SampleDescription | string |
(optional) 1000 character limit |
To | double |
(optional) 0 < To < Borehole.Depth To > Depth |
Color | string |
(optional) 128 character limit |
SampleRecovery | string |
(optional) 128 character limit |
RQD | string |
(optional) 128 character limit |
ColorTermId | Guid |
(optional) ID of the color term Must correspond to a valid Munsell Color Term |
ColorTermCode | Guid |
(optional) Code for the color term
Must be a valid Munsell Color Must be specified if ColorTermId is specified |
JoinerTerm | int |
(optional) Must correspond to a valid Munsell Joiner Term Must be given together with JoinerTermCode and ColorTermCode if supplied |
JoinerTermCode | Guid |
(optional) Code for the joiner term
Must be a valid Munsell Color Must be given together with JoinerTerm and ColorTermCode if supplied |
GET
To get a sample you need to make a GET call to the following url:
/api/v1/sample/{id}
PUT
## PUT BODY example
{
"SampleTypeId: "bfe38763-863e-486a-91a8-aece9c79d693",
"Depth": 5.0
}
To modify an existing sample, make a PUT call to the following url:
/api/v1/sample/{id}
BODY PARAMETERS
Field | Type | Description |
---|---|---|
SampleTypeId | Guid |
Id of the sample type Must correspond to a valid Sample Type |
Depth | double |
Depth of the sample 0 < Depth < borehole.Depth Depth < To |
MoistureDescriptorId | Guid |
(optional) Must correspond to a valid Moisture Descriptor |
SampleNumber | string |
(optional) 250 character limit |
SampleDescription | string |
(optional) 1000 character limit |
To | double |
(optional) 0 < To < Borehole.Depth To > Depth |
Color | string |
(optional) 128 character limit |
SampleRecovery | string |
(optional) 128 character limit |
RQD | string |
(optional) 128 character limit |
ColorTermId | Guid |
(optional) Must correspond to a valid Munsell Color Term |
ColorTermCode | Guid |
(optional) Code for the color term
Must be a valid Munsell Color Must be specified if ColorTermId is specified |
JoinerTerm | int |
(optional) Must correspond to a valid Munsell Joiner Term Must be given together with JoinerTermCode and ColorTermCode if supplied |
JoinerTermCode | Guid |
(optional) Code for the joiner term
Must be a valid Munsell Color Must be given together with JoinerTerm and ColorTermCode if supplied |
Comments
POST
## Here is an example POST BODY
{
"BoreholeId": "60FFD87C-F87D-4DCC-89A2-653205CDB0A1",
"SampleTypeId: "bfe38763-863e-486a-91a8-aece9c79d693",
"Depth": 5.0
}
To create a new comment you need to make a POST call to the following url:
/api/v1/comment
BODY PARAMETERS
Field | Type | Description |
---|---|---|
BoreholeId | Guid |
ID of the piezometer this pipe segment belongs to BoreholeId can be found using the /api/v1/project/{id}/boreholes |
Depth | double |
Depth of the sample 0 < Depth < borehole.Depth |
Description | String |
Comment Description
500 character limit |
GET
To get a comment you need to make a GET call to the following url:
/api/v1/comment/{id}
PUT
## PUT BODY example
{
"SampleTypeId: "bfe38763-863e-486a-91a8-aece9c79d693",
"Depth": 5.0
}
To modify an existing comment, make a PUT call to the following url:
/api/v1/comment/{id}
BODY PARAMETERS
Field | Type | Description |
---|---|---|
BoreholeId | Guid |
ID of the piezometer this pipe segment belongs to BoreholeId can be found using the /api/v1/project/{id}/boreholes |
Depth | double |
Depth of the sample 0 < Depth < borehole.Depth |
Description | String |
Comment Description
500 character limit |
Fracture Conditions
POST
## Here is an example POST BODY
{
"BoreholeId": "60FFD87C-F87D-4DCC-89A2-653205CDB0A1",
"SampleTypeId: "bfe38763-863e-486a-91a8-aece9c79d693",
"Depth": 5.0
}
To create a new fracture condition you need to make a POST call to the following url:
/api/v1/fracture-condition
## Result example :
{
"from": 3,
"to": 1,
"nestedPiezometerId": "cf37290d-ff4d-bdb3-016a-3a14d4cec63d",
"pipeTypeId": null,
"agsPipeTypeId": null,
"lastModificationTime": null,
"lastModifierId": null,
"creationTime": "2024-09-16T09:45:26.0161668-04:00",
"creatorId": "bf3b8e7e-8bb9-6d1a-d4eb-3a019a190b58",
"id": "ab24c234-6f94-9971-e277-3a150d4194bc"
}
BODY PARAMETERS
Field | Type | Description |
---|---|---|
StratigraphyId | Guid |
ID of the piezometer this fracture condition belongs to BoreholeId can be found using the /api/v1/project/{id}/boreholes |
Code | string |
Id of the fracture condition type 128 character limit |
Dip | double | |
Spacing | string |
(optional) 128 character limit |
Width | double |
(optional) Width >= 0 |
Composition | string |
(optional) 128 character limit |
ThicknessId | double |
(optional) Must be a valid Thickness |
WeatheringId | Guid |
(optional) Must be a valid Weathering |
HardnessId | Guid |
(optional) Must be a valid Hardness |
HealingId | Guid |
(optional) HealingId can be found using the /api/v1/project/{id}/boreholes |
RoughnessId | Guid |
(optional) Must correspond to a valid Roughness |
GET
To get a fracture condition you need to make a GET call to the following url:
/api/v1/fracture-condition/{id}
PUT
## PUT BODY example
{
"SampleTypeId: "bfe38763-863e-486a-91a8-aece9c79d693",
"Depth": 5.0
}
To modify an existing fracture condition, make a PUT call to the following url:
/api/v1/fracture-condition/{id}
BODY PARAMETERS
Field | Type | Description |
---|---|---|
Code | string |
Id of the fracture condition type 128 character limit |
Dip | double |
Depth of the sample 0 < Depth < borehole.Depth Depth < To |
Spacing | string |
(optional) 128 character limit |
Width | double |
(optional) Width >= 0 |
Composition | string | (optional) |
ThicknessId | double |
(optional) Must be a valid Thickness |
WeatheringId | Guid |
(optional) Must be a valid Weathering |
HardnessId | Guid |
(optional) Must be a valid Hardness |
HealingId | Guid |
(optional) HealingId can be found using the /api/v1/project/{id}/boreholes |
RoughnessId | Guid |
(optional) Must correspond to a valid Roughness |
Drilling Observations
POST
## Here is an example POST BODY
{
"BoreholeId": "60FFD87C-F87D-4DCC-89A2-653205CDB0A1",
"SampleTypeId: "bfe38763-863e-486a-91a8-aece9c79d693",
"Depth": 5.0
}
To create a new drilling observation you need to make a POST call to the following url:
/api/v1/drilling-observation
## Result example :
{
"from": 3,
"to": 1,
"nestedPiezometerId": "cf37290d-ff4d-bdb3-016a-3a14d4cec63d",
"pipeTypeId": null,
"agsPipeTypeId": null,
"lastModificationTime": null,
"lastModifierId": null,
"creationTime": "2024-09-16T09:45:26.0161668-04:00",
"creatorId": "bf3b8e7e-8bb9-6d1a-d4eb-3a019a190b58",
"id": "ab24c234-6f94-9971-e277-3a150d4194bc"
}
BODY PARAMETERS
Field | Type | Description |
---|---|---|
StratigraphyId | Guid |
ID of the StratigraphyId this drilling observation belongs to StratigraphyId can be found using the /api/v1/project/{id}/StratigraphyId |
ClassificationSystem | Enum |
ClassificationSystem that the drilling observation uses ClassificationSystem must be other "USCS" or "ROCK" |
Depth | double |
Depth of the sample 0 < Depth < borehole.Depth |
Observation | String |
Observations of Drilling 2000 character limit |
GET
To get a drilling observation you need to make a GET call to the following url:
/api/v1/drilling-observation/{id}
PUT
To modify an existing drilling observation, make a PUT call to the following url:
/api/v1/drilling-observation/{id}
BODY PARAMETERS
Field | Type | Description |
---|---|---|
StratigraphyId | Guid |
ID of the StratigraphyId this drilling observation belongs to StratigraphyId can be found using the /api/v1/project/{id}/StratigraphyId |
ClassificationSystem | Enum |
ClassificationSystem that the drilling observation uses ClassificationSystem must be other "USCS" or "ROCK" |
Depth | double |
Depth of the sample 0 < Depth < borehole.Depth |
Observation | String |
Observations of Drilling 2000 character limit |
## PUT BODY example
{
"SampleTypeId: "bfe38763-863e-486a-91a8-aece9c79d693",
"Depth": 5.0
}
Drill Runs
POST
## Here is an example POST BODY
{
"BoreholeId": "60FFD87C-F87D-4DCC-89A2-653205CDB0A1",
"SampleTypeId: "bfe38763-863e-486a-91a8-aece9c79d693",
"Depth": 5.0
}
To create a new drill run you need to make a POST call to the following url:
/api/v1/drill-run
## Result example :
{
"from": 3,
"to": 1,
"nestedPiezometerId": "cf37290d-ff4d-bdb3-016a-3a14d4cec63d",
"pipeTypeId": null,
"agsPipeTypeId": null,
"lastModificationTime": null,
"lastModifierId": null,
"creationTime": "2024-09-16T09:45:26.0161668-04:00",
"creatorId": "bf3b8e7e-8bb9-6d1a-d4eb-3a019a190b58",
"id": "ab24c234-6f94-9971-e277-3a150d4194bc"
}
BODY PARAMETERS
Field | Type | Description |
---|---|---|
BoreholeId | Guid |
Unique identifier for the borehole Guid value |
From | double |
Starting depth of the core run Double value |
To | double |
Ending depth of the core run Double value |
Run | string |
Identifier for the core run 128 character limit |
CoreBox | string |
(optional) Identifier for the core box 128 character limit |
TotalCoreRecovered | double |
(optional) Total length of core recovered Double value |
TotalLength | double |
(optional) Total length of the core run Double value |
Rmr | double |
(optional) Rock Mass Rating Double value |
Recovery | double |
(optional) Core recovery percentage Double value |
Scr | double |
(optional) Solid Core Recovery Double value |
Tmr | double |
(optional) Total Material Recovery Double value |
RQD_rmu | double |
(optional) Rock Quality Designation (RMU method) Double value |
RQD_cr | double |
(optional) Rock Quality Designation (CR method) Double value |
JointSpacing | double |
(optional) Spacing between joints Double value |
RockStrength | string |
(optional) Description of rock strength 128 character limit |
Joint_Cond | double |
(optional) Joint condition rating Double value |
RockAlteration | string |
(optional) Description of rock alteration 128 character limit |
Fractures | double |
(optional) Number or measure of fractures Double value |
RockWeathering | string |
(optional) Description of rock weathering 128 character limit |
GET
To get a drill run you need to make a GET call to the following url:
/api/v1/drill-run/{id}
PUT
To modify an existing drill run, make a PUT call to the following url:
/api/v1/drill-run/{id}
BODY PARAMETERS
Field | Type | Description |
---|---|---|
From | double |
Starting depth of the core run 0 < From < borehole.Depth From < To |
To | double |
Ending depth of the core run 0 < To < borehole.Depth To > From |
Run | string |
Identifier for the core run 128 character limit |
CoreBox | string |
(optional) Identifier for the core box 128 character limit |
TotalCoreRecovered | double |
(optional) Total length of core recovered TotalCoreRecovered >= 0 TotalCoreRecovered > TotalLength |
TotalLength | double |
(optional) Total length of the core run TotalLength >= 0 TotalLength <= TotalCoreRecovered |
Rmr | double |
(optional) Rock Mass Rating 0 <= Rmr <= 100 |
Recovery | double |
(optional) Core recovery percentage 0 <= Recovery <= 100 |
Scr | double |
(optional) Solid Core Recovery 0 <= Scr <= 100 |
Tmr | double |
(optional) Total Material Recovery 0 <= Tmr <= 100 |
RQD_rmu | double |
(optional) Rock Quality Designation (RMU method) 0 <= RQD_rmu <= 100 |
RQD_cr | double |
(optional) Rock Quality Designation (CR method) 0 <= RQD_cr <= 100 |
JointSpacing | double |
(optional) Spacing between joints JointSpacing >= 0 |
RockStrength | string |
(optional) Description of rock strength 128 character limit |
Joint_Cond | double |
(optional) Joint condition rating Joint_Cond >= 0 |
RockAlteration | string |
(optional) Description of rock alteration 128 character limit |
Fractures | double |
(optional) Number or measure of fractures Fractures >= 0 |
RockWeathering | string |
(optional) Description of rock weathering 128 character limit |
## PUT BODY example
{
"SampleTypeId: "bfe38763-863e-486a-91a8-aece9c79d693",
"Depth": 5.0
}
Discontinuities
POST
## Here is an example POST BODY
{
"boreholeId" : "7ffe5d5c-5b5b-61c1-7343-3a14459594c9",
"depth": 0,
"alpha": 5,
"beta": 2,
"joinTypeId": "A1C67532-90CD-449F-AD25-BFB8D1F0BE59",
"shapeId": "ABE2E317-9567-4FC6-8D06-D37787053898",
"roughnessId": "5D3DD1F7-A1A0-4302-850C-7361C3F0443B",
"infillTypeId": "3E4CDF32-39DE-4D2F-A015-44D749993807",
"infillCharacterId": "CA8F37B7-CA1B-4BC9-85D7-16DC2DB735CD",
"infillThicknessId": "C13CEF8A-52B6-4840-9FE5-D6077A7C1A88"
}
To create a new discontinuity you need to make a POST call to the following url:
/api/v1/discontinuity
BODY PARAMETERS
Field | Type | Description |
---|---|---|
BoreholeId | Guid |
Unique identifier for the borehole Guid value |
Depth | double |
Depth measurement 0 < Depth < borehole.Depth |
Alpha | double |
(optional) Alpha angle measurement 0 <= Alpha <= 360 |
Beta | double |
(optional) Beta angle measurement 0 <= Beta <= 360 |
JconRMR76 | string |
(optional) Joint condition rating for RMR76 Max character limit (65535) |
JoinTypeId | Guid |
(optional) Defect Guid Must correspond to a valid Defect |
ShapeId | Guid |
(optional) Defect shape Guid Must correspond to a valid Defect Shape |
RoughnessId | Guid |
(optional) Roughness Guid Must correspond to a valid Roughness |
InfillTypeId | Guid |
(optional) Identifier for the infill type Must correspond to a valid Infill Type |
InfillCharacterId | Guid |
(optional) Identifier for the infill character Must correspond to a valid Infill Character |
InfillThicknessId | Guid |
(optional) Identifier for the infill thickness Must correspond to a valid Infill Thickness |
GET
To get a discontinuity you need to make a GET call to the following url:
/api/v1/discontinuity/{id}
PUT
To modify an existing discontinuity, make a PUT call to the following url:
/api/v1/discontinuity/{id}
BODY PARAMETERS
Field | Type | Description |
---|---|---|
Depth | double |
Depth measurement 0 < Depth < borehole.Depth |
Alpha | double |
(optional) Alpha angle measurement 0 <= Alpha <= 360 |
Beta | double |
(optional) Beta angle measurement 0 <= Beta <= 360 |
JconRMR76 | string |
(optional) Joint condition rating for RMR76 Max character limit (65535) |
JoinTypeId | Guid |
(optional) Defect Type Guid Must correspond to a valid Defect |
ShapeId | Guid |
(optional) Defect Guid for the Shape Must correspond to a valid Defect Shape |
RoughnessId | Guid |
(optional) Roughness Guid Must correspond to a valid Roughness |
InfillTypeId | Guid |
(optional) Identifier for the infill type Must correspond to a valid Infill Type |
InfillCharacterId | Guid |
(optional) Identifier for the infill character Must correspond to a valid Infill Character |
InfillThicknessId | Guid |
(optional) Identifier for the infill thickness Must correspond to a valid Infill Thickness |
## PUT BODY example
{
"SampleTypeId: "bfe38763-863e-486a-91a8-aece9c79d693",
"Depth": 5.0
}
Groundwater Measurement
POST
## Here is an example POST BODY
{
"NestedPiezometerId": "CF37290D-FF4D-BDB3-016A-3A14D4CEC63D",
"Depth": 1,
"WaterLevelPresent": true,
"Date": "2024-09-17T10:30:00Z"
}
To create a new groundwater measurement you need to make a POST call to the following url:
/api/v1/groundwater-measurement
## Result example :
{
"date": "2024-09-17T10:30:00Z",
"dateString": null,
"time": null,
"depth": 1,
"weatherCondition": null,
"nestedPiezometerId": "cf37290d-ff4d-bdb3-016a-3a14d4cec63d",
"boreholeId": "00000000-0000-0000-0000-000000000000",
"borehole": null,
"waterLevelPresent": true,
"lastModificationTime": null,
"lastModifierId": null,
"creationTime": "2024-09-18T11:58:44.5998326-04:00",
"creatorId": "bf3b8e7e-8bb9-6d1a-d4eb-3a019a190b58",
"id": "ebfafebf-b590-c676-5747-3a1518085956"
}
BODY PARAMETERS
Field | Type | Description |
---|---|---|
NestedPiezometerId | Guid |
ID of the piezometer this groundwater measurement belongs to NestedPiezometerId can be found using the /api/v1/borehole/{id}/piezometers |
WaterLevelPresent | bool | Whether there is water in the groundwater measurement |
Date | DateTime | Date of grounwater measurement |
Depth | double |
(optional) Depth of the groundwater measurement 0 < Depth < borehole.Depth If WaterLEvelPresent == false, Depth = 0 |
Time | TimeSpan | (optional) Timespan of the groundwater measurement |
WeatherCondition | String |
(optional) Description of weather conditions 255 character limit |
GET
To get a groundwater measurement you need to make a GET call to the following url:
/api/v1/groundwater-measurement/{id}
PUT
## PUT BODY example
{
"Depth": 1,
"waterLevelPresent": true,
"Date": "2024-09-17T10:30:00Z"
}
To modify an existing backfill detail, make a PUT call to the following url:
/api/v1/groundwater-measurement/{id}
BODY PARAMETERS
Field | Type | Description |
---|---|---|
WaterLevelPresent | bool | Whether there is water in the groundwater measurement |
Date | DateTime | Date of grounwater measurement |
Depth | double |
(optional) Depth of the groundwater measurement 0 < Depth < borehole.Depth If WaterLEvelPresent == false, Depth = 0 |
Time | TimeSpan | (optional) Timespan of the groundwater measurement |
WeatherCondition | String |
(optional) Description of weather conditions 255 character limit |
Pipe Segments
POST
## Here is an example POST BODY
{
"From": 1.0,
"To": 3.0,
"NestedPiezometerId": "CF37290D-FF4D-BDB3-016A-3A14D4CEC63D"
}
To create a new pipe segment you need to make a POST call to the following url:
/api/v1/pipe-segment
## Result example :
{
"from": 3,
"to": 1,
"nestedPiezometerId": "cf37290d-ff4d-bdb3-016a-3a14d4cec63d",
"pipeTypeId": null,
"agsPipeTypeId": null,
"lastModificationTime": null,
"lastModifierId": null,
"creationTime": "2024-09-16T09:45:26.0161668-04:00",
"creatorId": "bf3b8e7e-8bb9-6d1a-d4eb-3a019a190b58",
"id": "ab24c234-6f94-9971-e277-3a150d4194bc"
}
BODY PARAMETERS
Field | Type | Description |
---|---|---|
NestedPiezometerId | Guid |
ID of the piezometer this pipe segment belongs to NestedPiezometerId can be found using the /api/v1/borehole/{id}/piezometers |
From | double |
Starting depth of the pipe segment detail 0 < From < borehole.Depth From < To |
To | double |
Ending depth of the pipe segment detail 0 < To < borehole.Depth To > From |
PipeTypeId | Guid |
(optional) ID of the pipe type of this pipe segment Must correspond to an existing pipe type in the database |
AGSPipeTypeId | Guid |
(optional) AGSPipeTypeId can be found using the GET /api/v1/agspipe-types |
GET
To get a pipe segment you need to make a GET call to the following url:
/api/v1/pipe-segment/{id}
PUT
## PUT BODY example
{
"From": 3.0
"To": 5.0
}
To modify an existing pipe segment, make a PUT call to the following url:
/api/v1/pipe-segment/{id}
BODY PARAMETERS
Field | Type | Description |
---|---|---|
From | double |
Starting depth of the pipe segment detail 0 < From < borehole.Depth From < To |
To | double |
Ending depth of the pipe segment detail 0 < To < borehole.Depth To > From |
PipeTypeId | Guid |
(optional) ID of the pipe type of this pipe segment Must correspond to an existing pipe type in the database |
AGSPipeTypeId | Guid |
(optional) AGSPipeTypeId can be found using the GET /api/v1/agspipe-types |
Piezometers
POST
# Here is a POST example
{
"piezometer": {
"BoreholeId": "675145F2-2F6A-4CFE-98BE-097AEBA1EFEF"
},
"pipeSegmentList": [
{
"From": 1.0,
"To": 3.0
},
{
"From": 3.0,
"To": 5.0
}
],
"groundwaterList": [
{
"WaterLevelPresent": true,
"Date": "2024-09-17T10:30:00Z"
}
]
}
To create a new piezometer you need to make a POST call to the following url:
/api/v1/piezometer
Result example :
{
}
BODY PARAMETERS
Note: For the POST request, the input data has 3 components: piezometer, pipeSegmentList, groundwaterList.
Field | Type | Description |
---|---|---|
piezometer | APICreateUpdateNestedPiezometerDto | JSON object for piezometer parameters. |
pipeSegmentList | APICreateUpdatePiezometerPipeDto | (optional) List of Pipe Segments. |
groundwaterList | APICreateUpdateGroundwaterDto | (optional) List of Groundwater Measurements. |
Piezometer Object
Field | Type | Description |
---|---|---|
PiezometerNo | String |
(optional) Your API key. Max character limit (65535) |
PiezoTypeId | Guid |
ID of the piezometer type Must correspond to an existing piezometer type in the database |
BoreholeId | Guid |
ID of the Borehole this piezometer belongs to BoreholeId can be found using the /api/v1/project/{id}/boreholes |
PlugTypeId | Guid |
ID of the plug type of this piezometer
Must correspond to an existing plug type in the database |
EndCapType | String |
(optional) a string representing the type of end cap of the piezometer m: male f: female Max character limit (65535) |
PipeDia | string |
(optional) Max character limit (65535) |
InstalledStickup | bool | (optional - default: 10) A limit on the number of objects to be returned, between 1 and 100. |
InstalledStickupValue | double | (optional - default: 10) A limit on the number of objects to be returned, between 1 and 100. |
PipeSegmentList:
A list of pipe-segments, for reference
GroundwaterList:
A list of groundwater measurements, for reference
GET
To get a piezometer you need to make a GET call to the following url:
/api/v1/piezometer/{id}
PUT
## PUT BODY example
{
"Depth": 1,
"waterLevelPresent": true,
"Date": "2024-09-17T10:30:00Z"
}
To modify an existing piezometer, make a PUT call to the following url:
/api/v1/piezometer/{id}
Note: For the PUT request, the input data just has the piezometer component.
Piezometer Object
Field | Type | Description |
---|---|---|
PiezoTypeId | Guid |
ID of the piezometer type Must correspond to an existing piezometer type in the database |
BoreholeId | Guid |
ID of the Borehole this piezometer belongs to BoreholeId can be found using the /api/v1/project/{id}/boreholes |
PlugTypeId | Guid |
ID of the plug type of this piezometer Must correspond to an existing plug type in the database |
EndCapType | String |
(optional) a string representing the type of end cap of the piezometer m: male f: female Max character limit (65535) |
PipeDia | string |
(optional) Max character limit (65535) |
InstalledStickup | bool | (optional - default: 10) A limit on the number of objects to be returned, between 1 and 100. |
InstalledStickupValue | double | (optional - default: 10) A limit on the number of objects to be returned, between 1 and 100. |
PipeSegmentList:
A list of pipe-segments, for reference
GroundwaterList:
A list of groundwater measurements, for reference
GET Pipe Segments
To get the pipe segments from a piezometer, make a GET requrest to:
/api/v1/piezometer/{id}/pipe-segments
GET Groundwater Measurements
To get the groundwater measurements from a piezometer, make a GET requrest to:
/api/v1/piezometer/{id}/groundwater-measurements
GUID Get Endpoints
Below is a list of endpoints for getting the GUIDs used in above API calls
Coordinate Systems
GET
To get a list of coordinate systems, make a GET call to the following url:
/api/v1/coordinate-systems
Project Statuses
GET
To get a list of project statuses, make a GET call to the following url:
/api/v1/project-statuses
Unit Systems
GET
To get a list of unit systems, make a GET call to the following url:
/api/v1/unit-systems
SPC Coordinate Codes
GET
To get a list of SPC coordinate codes, make a GET call to the following url:
/api/v1/spc-coordinate-codes
Munsell Colors
GET
To get a list of munsell colors, make a GET call to the following url:
/api/v1/munsell-colors
Munsell Soil Color Descriptors
GET
To get a list of munsell soil color descriptors, make a GET call to the following url:
/api/v1/munsell-soil-color-descriptors
Contacts
GET
To get a list of contacts, make a GET call to the following url:
/api/v1/contacts
Borehole Statuses
GET
To get a list of borehole statuses, make a GET call to the following url:
/api/v1/borehole-statuses
Sample Types
GET
To get a list of sample types, make a GET call to the following url:
/api/v1/sample-types
Moisture Descriptors
GET
To get a list of moisture descriptors, make a GET call to the following url:
/api/v1/moisture-descriptors
Defects
GET
To get a list of defects, make a GET call to the following url:
/api/v1/defects
Defect Shapes
GET
To get a list of defect shapes, make a GET call to the following url:
/api/v1/defect-shapes
Roughnesses
GET
To get a list of roughnesses, make a GET call to the following url:
/api/v1/roughnesses
Infill Types
GET
To get a list of infill types, make a GET call to the following url:
/api/v1/infill-types
Infill Characters
GET
To get a list of infill characters, make a GET call to the following url:
/api/v1/infill-characters
Infill Thicknesses
GET
To get a list of infill thicknesses, make a GET call to the following url:
/api/v1/infill-thicknesses
USCS Major Types
GET
To get a list of USCS major types, make a GET call to the following url:
/api/v1/uscs-major-types
USCS Group Names
GET
To get a list of USCS group names for a specific major type, make a GET call to the following url:
/api/v1/{uscsMajorTypeID}/uscs-group-names
USCS Group Symbols
GET
To get a list of USCS group symbols for a specific group name, make a GET call to the following url:
/api/v1/{uscsGroupNameID}/uscs-group-symbols
AASHTO Major Types
GET
To get a list of AASHTO major types, make a GET call to the following url:
/api/v1/aashto-major-types
AASHTO Significant Constituents
GET
To get a list of AASHTO significant constituents for a specific major type, make a GET call to the following url:
/api/v1/{aashtoMajorTypeID}/aashto-significant-constituents
AASHTO Characteristics
GET
To get a list of AASHTO characteristics for a specific significant constituent, make a GET call to the following url:
/api/v1/{aashtoSignificantConstituentID}/aashto-characteristics
AASHTO Group Symbols
GET
To get a list of AASHTO group symbols for specific characteristics, make a GET call to the following url:
/api/v1/{aashtoCharacteristicsID}/aashto-group-symbols
AGS Major Types
GET
To get a list of AGS major types, make a GET call to the following url:
/api/v1/ags-major-types
AGS Material Descriptions
GET
To get a list of AGS material descriptions for a specific major type, make a GET call to the following url:
/api/v1/{agsMajorTypeID}/ags-material-descriptions
Soil Symbols
GET
To get a list of soil symbols, make a GET call to the following url:
/api/v1/soil-symbols
Munsell Color Terms
GET
To get a list of Munsell color terms, make a GET call to the following url:
/api/v1/munsell-color-terms
Munsell Joiner Terms
GET
To get a list of Munsell joiner terms, make a GET call to the following url:
/api/v1/munsell-joiner-terms
Consistency Descriptors
GET
To get a list of consistency descriptors, make a GET call to the following url:
/api/v1/consistency-descriptors
Relative Densities
GET
To get a list of relative densities, make a GET call to the following url:
/api/v1/relative-densities
Structures
GET
To get a list of structures, make a GET call to the following url:
/api/v1/structures
Line Styles
GET
To get a list of line styles, make a GET call to the following url:
/api/v1/line-styles
Thicknesses
GET
To get a list of thicknesses, make a GET call to the following url:
/api/v1/thicknesses
Proportions
GET
To get a list of proportions, make a GET call to the following url:
/api/v1/proportions
Plasticities
GET
To get a list of plasticities, make a GET call to the following url:
/api/v1/plasticities
Dry Strengths
GET
To get a list of dry strengths, make a GET call to the following url:
/api/v1/dry-strengths
Dilatancies
GET
To get a list of dilatancies, make a GET call to the following url:
/api/v1/dilatancies
Toughnesses
GET
To get a list of toughnesses, make a GET call to the following url:
/api/v1/toughnesses
Sand Particle Sizes
GET
To get a list of sand particle sizes, make a GET call to the following url:
/api/v1/sand-particle-sizes
Particle Angularities
GET
To get a list of particle angularities, make a GET call to the following url:
/api/v1/particle-angularities
Cementations
GET
To get a list of cementations, make a GET call to the following url:
/api/v1/cementations
Sand Particle Sizes
GET
To get a list of gravel particle sizes, make a GET call to the following url:
/api/v1/gravel-particle-sizes
Particle Shapes
GET
To get a list of particle shapes, make a GET call to the following url:
/api/v1/particle-shapes
Soil Constituents
GET
To get a list of soil constituents, make a GET call to the following url:
/api/v1/soil-constituents
Weatherings
GET
To get a list of weatherings, make a GET call to the following url:
/api/v1/weatherings
Hardnesses
GET
To get a list of hardnesses, make a GET call to the following url:
/api/v1/hardnesses
Grain Sizes
GET
To get a list of grain sizes, make a GET call to the following url:
/api/v1/grain-sizes
Bedding Thicknesses
GET
To get a list of bedding thicknesses, make a GET call to the following url:
/api/v1/bedding-thicknesses
Slakings
GET
To get a list of slakings, make a GET call to the following url:
/api/v1/slakings
Fracture Densities
GET
To get a list of fracture densities, make a GET call to the following url:
/api/v1/fracture-densities
Strengths
GET
To get a list of strengths, make a GET call to the following url:
/api/v1/strengths
Interbed Joiners
GET
To get a list of interbed joiners, make a GET call to the following url:
/api/v1/interbed-joiners
Drill Methods
GET
To get a list of drill methods, make a GET call to the following url:
/api/v1/drill-methods
AGS Drill Methods
GET
To get a list of AGS drill methods, make a GET call to the following url:
/api/v1/ags-drill-methods
Rig Types
GET
To get a list of rig types, make a GET call to the following url:
/api/v1/rig-types
Bit Types
GET
To get a list of bit types, make a GET call to the following url:
/api/v1/bit-types
Hole Casing Types
GET
To get a list of hole casting types, make a GET call to the following url:
/api/v1/hole-casting-types
Plug Types
GET
To get a list of plug types, make a GET call to the following url:
/api/v1/plug-types
Piezometer Types
GET
To get a list of piezometer types, make a GET call to the following url:
/api/v1/piezometer-types
Pipe Types
GET
To get a list of pipe types, make a GET call to the following url:
/api/v1/pipes-types
Errors
The RSLog API uses the following error codes:
Error Code | Meaning |
---|---|
400BadRequest | Some parameters are missing or parameters are not valid. |
401Unauthorized | The request lacks valid authentication credentials or the user doesn't have permissions to perform the requested action. |
403Forbidden | The server understood the request but refuses to authorize it. This is similar to 401, but re-authenticating won't make any difference. |
404NotFound | The server can't find the requested resource. This often occurs when the URL is mistyped or the resource has been deleted or moved. |
500InternalServerError | General Error |