REST APIs
The Mantis platform exposes a set of REST APIs for integrating Mantis capabilities into your own workflows and applications.
All APIs are accessed over HTTPS at your customer API base URL:
Authentication
All API requests must be authenticated. See Authentication for details on obtaining tokens and API keys.
Include an access token in every request:
Or, if using an API key:
Services
The API is organised into four services:
| Service | Base path | Description |
|---|---|---|
| Projects | /projects |
Create and manage projects and layers |
| Rock Physics | /rock-physics |
Run rock physics models and fluid substitution |
| Reflectivity | /reflectivity |
Calculate reflection coefficients and elastic tensors |
| Wave Modelling | /wave-modelling |
Submit and manage 2D FD simulations |
Projects API
List projects
Returns all projects belonging to your account.
Create a project
Request body:
Get a project
Delete a project
List layers
Create a layer
Request body:
Update a layer
Delete a layer
Import from CSV
Upload a CSV file to create a project from a well log. See CSV format for the required column specification.
Rock Physics API
Submit analytics
Runs the rock physics model and stores the results for use in reflectivity and wave modelling.
Request body:
{
"porosity": 0.2,
"saturation": 0.8,
"mineralBulkModulus": 37.0,
"mineralDensity": 2.65,
"wettingFluid": {
"bulkModulus": 2.2,
"density": 1.0,
"viscosity": 1.0
},
"nonWettingFluid": {
"bulkModulus": 0.02,
"density": 0.1,
"viscosity": 0.01
},
"absolutePermeability": 100.0,
"fractures": [
{ "name": "set1", "type": "isotropic_microcracks" }
]
}
Get analytics results
Reflectivity API
Calculate reflection coefficients
Request body:
{
"upperLayerId": "string",
"lowerLayerId": "string",
"scenarioId": "string",
"dominantFrequency": 35.0,
"fractureTilt": 0.0,
"fractureAzimuth": 0.0
}
Elastic tensor slowness surfaces
Request body:
Wave Modelling API
Submit a simulation
Request body:
{
"jobName": "string",
"sourceTimeFunction": "ricker",
"peakFrequency": 35.0,
"offsetVspArrays": 1,
"layerScenarios": {
"<layerId>": "<scenarioId>"
}
}
List jobs
Get job status
Stop a job
Delete a job
Download results
Returns pre-signed download URLs for seismograms, wavefield snapshots, and the parameter log.
Error responses
| Code | Meaning |
|---|---|
200 |
Success |
201 |
Resource created |
400 |
Bad request — check request body or parameters |
401 |
Unauthorised — missing or invalid token/key |
403 |
Forbidden — insufficient permissions |
404 |
Resource not found |
429 |
Too many requests — rate limit exceeded |
500 |
Internal server error |
Error responses include a JSON body: