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.
Authentication API
The RSLog API provides three authentication endpoints for secure access to the system. All endpoints use form-encoded data and return JSON responses.
1. Authentication - POST /api/connect/token
Authenticate with username, password, and company to receive an access token. This endpoint supports two-factor authentication.
URL: /api/connect/token
Request Body (x-www-form-urlencoded)
Parameter | Type | Required | Description | Example |
---|---|---|---|---|
username | string | Yes | Username or email address | user@example.com |
password | string | Yes | User password | **** |
company | string | Yes | Company/tenant name | RSLog |
Success Response (200 OK)
{
"access_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
"token_type": "Bearer",
"expires_in": 3600,
"refresh_token": "refresh_token_here",
"scope": "RSLog offline_access"
}
Two-Factor Authentication Required (202 Accepted)
{
"status": "RequiresTwoFactor. Verify token at /api/connect/verify",
"twoFactorProvider": "Email",
"maskedEmail": "u***@example.com",
"message": "A verification code has been sent to your email address."
}
Error Response (400 Bad Request)
{
"error": "invalid_request",
"errorDescription": "Field 'company' is required."
}
2. Two-Factor Verification - POST /api/connect/verify
Verify two-factor authentication code to complete the authentication process. This endpoint is used when two-factor authentication is required.
URL: /api/connect/verify
Request Body (x-www-form-urlencoded)
Parameter | Type | Required | Description | Example |
---|---|---|---|---|
username | string | Yes | Username or email address | user@example.com |
password | string | Yes | User password | **** |
company | string | Yes | Company/tenant name | RSLog |
twoFactorCode | string | Yes | Two-factor authentication code from email | 123456 |
Success Response (200 OK)
{
"access_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
"token_type": "Bearer",
"expires_in": 3600,
"refresh_token": "refresh_token_here",
"scope": "RSLog offline_access"
}
Error Response (400 Bad Request)
{
"error": "Incorrect Code",
"errorDescription": "Incorrect Code"
}
3. Token Refresh - POST /api/connect/refresh
Refresh an expired access token using a valid refresh token.
URL: /api/connect/refresh
Request Body (x-www-form-urlencoded)
Parameter | Type | Required | Description | Example |
---|---|---|---|---|
company | string | Yes | Company/tenant name | RSLog |
refreshToken | string | Yes | Valid refresh token from previous authentication | refresh_token_here |
Success Response (200 OK)
{
"access_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
"token_type": "Bearer",
"expires_in": 3600,
"refresh_token": "new_refresh_token_here",
"scope": "RSLog offline_access"
}
Error Response (400 Bad Request)
{
"error": "authentication_failed",
"errorDescription": "The specified refresh token is invalid."
}
Authentication Flow
- Send POST request to
/api/connect/token
with username, password, and company - If two-factor authentication is required, you'll receive a 202 response with instructions
- Check your email for the verification code
- Send POST request to
/api/connect/verify
with the same credentials plus the verification code - Upon successful authentication, you'll receive an access token and refresh token
- Use the access token in the Authorization header for API requests:
Authorization: Bearer {access_token}
- When the access token expires, use the refresh token with
/api/connect/refresh
to get a new access 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 |
DELETE
To delete a project you need to make a DELETE call to the following url:
/api/v1/project/{id}
DELETE LIST
To delete multiple projects, you need to provide a list of project Id's to a DELETE call to the following url:
/api/v1/projects
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
DELETE ALL Stratigraphies
To delete all the stratigraphis from a borehole, you need to make a DELETE 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
DELETE ALL Comments
To delete all the comments from a borehole, you need to make a DELETE 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
DELETE ALL Drill Runs
To delete all the drill runs from a borehole, you need to make a DELETE 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
DELETE ALL boring-details
To delete all the boring details from a borehole, you need to make a DELETE 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
DELETE ALL Piezometers
To delete all the piezometers from a borehole, you need to make a DELETE 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
DELETE ALL Backfill Details
To delete all the stratigraphis from a borehole, you need to make a DELETE 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
DELETE ALL Discontinuities
To delete all the discontinuities from a borehole, you need to make a DELETE call to the following url:
/api/v1/borehole/{id}/discontinuities
DELETE
To delete a borehole, you need to make a DELETE call to the following url:
/api/v1/borehole/{id}
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 |
DELETE
To delete a stratigraphy you need to make a DELETE call to the following url:
/api/v1/stratigraphy/{id}
DELETE LIST
## DELETE LIST Body example :
[
"96658c5b-5d9a-0a2a-b66c-3a151da6dbc2",
"56ae90e3-63a0-a6e8-34a8-3a151da70c4c",
"c8f9af5b-15ce-3e0c-10a8-3a151da7360b"
]
To delete multiple stratigraphies, you pass in a list of stratigraphy ID's with DELETE call to the following url:
/api/v1/stratigraphy
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
DELETE ALL INTERIM
To delete all interims from a stratigraphy, you need to make a DELETE 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
DELETE ALL FRACTURE CONDITION
To delete all fracture conditions from a stratigraphy, you need to make a DELETE 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
DELETE ALL DRILLING OBSERVATION
To delete all drilling observations from a stratigraphy, you need to make a DELETE 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 |
DELETE
To delete an interim you need to make a DELETE call to the following url:
/api/v1/interim/{id}
DELETE List
## DELETE List BODY example :
[
"96658c5b-5d9a-0a2a-b66c-3a151da6dbc2",
"56ae90e3-63a0-a6e8-34a8-3a151da70c4c",
"c8f9af5b-15ce-3e0c-10a8-3a151da7360b"
]
To delete multiple interims, you pass in a list of interim ID's with DELETE call to the following url:
/api/v1/interim
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 |
DELETE
To delete an interim detail you need to make a DELETE call to the following url :
/api/v1/interim-detail/{id}
DELETE List
## DELETE List BODY example :
[
"96658c5b-5d9a-0a2a-b66c-3a151da6dbc2",
"56ae90e3-63a0-a6e8-34a8-3a151da70c4c",
"c8f9af5b-15ce-3e0c-10a8-3a151da7360b"
]
To delete multiple interim details, you pass in a list of interim detail ID's with DELETE call to the following url :
/api/v1/interim-detail
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 |
DELETE
To delete a plug type you need to make a DELETE call to the following url:
/api/v1/plug-type/{id}
DELETE LIST
## DELETE LIST Body example :
[
"96658c5b-5d9a-0a2a-b66c-3a151da6dbc2",
"56ae90e3-63a0-a6e8-34a8-3a151da70c4c",
"c8f9af5b-15ce-3e0c-10a8-3a151da7360b"
]
To delete multiple plug types, you pass in a list of plug type ID's with DELETE call to the following url:
/api/v1/plug-types
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 |
DELETE
To delete a piezometer type you need to make a DELETE call to the following url:
/api/v1/piezometer-type/{id}
DELETE LIST
## DELETE LIST BODY example :
[
"96658c5b-5d9a-0a2a-b66c-3a151da6dbc2",
"56ae90e3-63a0-a6e8-34a8-3a151da70c4c",
"c8f9af5b-15ce-3e0c-10a8-3a151da7360b"
]
To delete multiple piezometer types, you pass in a list of pipe segment ID's with DELETE call to the following url:
/api/v1/piezometer-types
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 |
DELETE
To delete a boring detail you need to make a DELETE call to the following url:
/api/v1/boring-detail/{id}
DELETE LIST
## DELETE LIST BODY example :
[
"96658c5b-5d9a-0a2a-b66c-3a151da6dbc2",
"56ae90e3-63a0-a6e8-34a8-3a151da70c4c",
"c8f9af5b-15ce-3e0c-10a8-3a151da7360b"
]
To delete multiple boring details, you pass in a list of boring detail ID's with DELETE call to the following url:/api/v1/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 |
DELETE
To delete a backfill detail you need to make a DELETE call to the following url:
/api/v1/backfill-details/{id}
DELETE LIST
## DELETE LIST BODY example :
[
"96658c5b-5d9a-0a2a-b66c-3a151da6dbc2",
"56ae90e3-63a0-a6e8-34a8-3a151da70c4c",
"c8f9af5b-15ce-3e0c-10a8-3a151da7360b"
]
To delete multiple backfill details, you pass in a list of backfill detail ID's with DELETE call to the following url:
/api/v1/backfill-details
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 |
DELETE
To delete a sample you need to make a DELETE call to the following url:
/api/v1/sample/{id}
DELETE LIST
## DELETE LIST BODY example :
[
"96658c5b-5d9a-0a2a-b66c-3a151da6dbc2",
"56ae90e3-63a0-a6e8-34a8-3a151da70c4c",
"c8f9af5b-15ce-3e0c-10a8-3a151da7360b"
]
To delete multiple pipe segments, you pass in a list of pipe segment ID's with DELETE call to the following url:
/api/v1/samples
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 |
DELETE
To delete a comment you need to make a DELETE call to the following url:
/api/v1/comment/{id}
DELETE LIST
## DELETE LIST BODY example :
[
"96658c5b-5d9a-0a2a-b66c-3a151da6dbc2",
"56ae90e3-63a0-a6e8-34a8-3a151da70c4c",
"c8f9af5b-15ce-3e0c-10a8-3a151da7360b"
]
To delete multiple comments, you pass in a list of comment ID's with DELETE call to the following url:
/api/v1/comments
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 |
DELETE
To delete a fracture condition you need to make a DELETE call to the following url:
/api/v1/fracture-condition/{id}
DELETE LIST
## DELETE LIST BODY example :
[
"96658c5b-5d9a-0a2a-b66c-3a151da6dbc2",
"56ae90e3-63a0-a6e8-34a8-3a151da70c4c",
"c8f9af5b-15ce-3e0c-10a8-3a151da7360b"
]
To delete multiple fracture conditions, you pass in a list of fracture condition ID's with DELETE call to the following url:
/api/v1/fracture-condition
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
}
DELETE
To delete a drilling observation you need to make a DELETE call to the following url:
/api/v1/drilling-observation/{id}
DELETE LIST
## DELETE LIST BODY example :
[
"96658c5b-5d9a-0a2a-b66c-3a151da6dbc2",
"56ae90e3-63a0-a6e8-34a8-3a151da70c4c",
"c8f9af5b-15ce-3e0c-10a8-3a151da7360b"
]
To delete multiple drilling observation, you pass in a list of drilling observation ID's with DELETE call to the following url:
/api/v1/drilling-observation
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
}
DELETE
To delete a drill run you need to make a DELETE call to the following url:
/api/v1/drill-run/{id}
DELETE LIST
## DELETE LIST BODY example :
[
"96658c5b-5d9a-0a2a-b66c-3a151da6dbc2",
"56ae90e3-63a0-a6e8-34a8-3a151da70c4c",
"c8f9af5b-15ce-3e0c-10a8-3a151da7360b"
]
To delete multiple drill runs, you pass in a list of drill run ID's with DELETE call to the following url:
/api/v1/drill-run
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
}
DELETE
To delete a discontinuity you need to make a DELETE call to the following url:
/api/v1/discontinuity/{id}
DELETE LIST
## DELETE LIST BODY example :
[
"96658c5b-5d9a-0a2a-b66c-3a151da6dbc2",
"56ae90e3-63a0-a6e8-34a8-3a151da70c4c",
"c8f9af5b-15ce-3e0c-10a8-3a151da7360b"
]
To delete multiple discontinuities, you pass in a list of discontinuity ID's with DELETE call to the following url:
/api/v1/discontinuities
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 |
DELETE
To delete a groundwater measurement you need to make a DELETE call to the following url:
/api/v1/groundwater-measurement/{id}
DELETE LIST
## DELETE LIST BODY example :
[
"96658c5b-5d9a-0a2a-b66c-3a151da6dbc2",
"56ae90e3-63a0-a6e8-34a8-3a151da70c4c",
"c8f9af5b-15ce-3e0c-10a8-3a151da7360b"
]
To delete multiple groundwater measurements, you pass in a list of groundwater measurement ID's with DELETE call to the following url:
/api/v1/groundwater-measurement
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 |
DELETE
To delete a pipe segment you need to make a DELETE call to the following url:
/api/v1/pipe-segment/{id}
DELETE LIST
## DELETE LIST BODY example :
[
"96658c5b-5d9a-0a2a-b66c-3a151da6dbc2",
"56ae90e3-63a0-a6e8-34a8-3a151da70c4c",
"c8f9af5b-15ce-3e0c-10a8-3a151da7360b"
]
To delete multiple pipe segments, you pass in a list of pipe segment ID's with DELETE call to the following url:
/api/v1/pipe-segment
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
DELETE
To delete a piezometer you need to make a DELETE call to the following url:
/api/v1/piezometer/{id}
DELETE LIST
## DELETE LIST BODY example :
[
"96658c5b-5d9a-0a2a-b66c-3a151da6dbc2",
"56ae90e3-63a0-a6e8-34a8-3a151da70c4c",
"c8f9af5b-15ce-3e0c-10a8-3a151da7360b"
]
To delete multiple piezometers, you pass in a list of piezometer ID's with DELETE call to the following url:
/api/v1/piezometer
GET Pipe Segments
To get the pipe segments from a piezometer, make a GET requrest to:
/api/v1/piezometer/{id}/pipe-segments
DELETE Pipe Segments
To delete the pipe segments from a piezometer, make a DELETE request 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
DELETE Groundwater Measurements
To delete the groundwater measurements from a piezometer, make a DELETE request 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 |