API documentation
Connect your software, website or AI agent to GeotechOS. Send clients, projects, jobs and staff with one API key and simple HTTPS requests.
The GeotechOS API lets other software put work into GeotechOS. A booking form on your website can make a job. Your CRM can keep its clients and projects in step. An AI agent can file a site visit. Each request is a plain HTTPS call with a JSON body and one API key.
Start here
- Get an API key in GeotechOS, under Settings › API keys.
- Authenticate: send the key as a bearer token, and check it with
whoami. - Follow Your first integration: a client, a project and a job in three requests.
- Use the Python examples for a small client you can copy into your code.
What you can send
| Resource | Path | What it is |
|---|---|---|
| Clients | /clients |
The companies you work for |
| Client contacts | /client-contacts |
The people at those companies |
| Projects | /projects |
A site or contract, with its client and contacts |
| Jobs | /jobs |
A visit or task on a project, with its schedule, crew and docket |
| Staff accounts | /users |
Your own staff, so jobs keep their crew |
Every path starts with your workspace's address and /api/integration/v1, for example:
https://au.geotechos.com/api/integration/v1
Settings › API keys shows the exact address for your workspace.
How the API works
- Your own ids. You send a record with the id your system knows it by:
PUT /projects/ext:P-500. The first request makes the record. The same request again updates it. Nothing is made twice. - References, not internal ids. A job names its project as
{"ext": "P-500"}. GeotechOS never shows or accepts its database ids. - One key, one account. A key acts as one person in your workspace. It can never do more than that person can.
- No deletes. To remove a record, send the state it is left in: a cancelled job, an archived project, an inactive client.
For AI agents and code generators
- The OpenAPI document describes every path and field. Give it to your tools.
- All of these pages as one text file, written for language models.
- Read Build with an AI agent for the rules an agent must follow.