# Build with GeoDynamics

> Developer portal for the GeoDynamics REST API. Time tracking, telematics, and workforce data for the worksite. Trusted by 4,000+ companies for more than 20 years.

GeoDynamics is a Belgian software company (Kortrijk, more than 20 years in production, part of the Blinqx group) that builds time tracking, telematics, and workforce management software. The REST API on `api.geodynamics.dev` exposes the same data customers see in the product: GPS positions, clockings, day programs, workplaces, vehicles, people. Authenticated per tenant with a scoped API token. JSON in, JSON out. Read-only in the current major version.

The API documentation, OpenAPI 3.0 specification, authentication guides, error handling, rate-limit details, and the changelog all live on `https://build.geodynamics.eu`.

## Get started

- [Introduction](https://build.geodynamics.eu/docs): Domain primitives (company, user, clocking, day program, workplace, POI, vehicle, tracking report, RFID tag, badge), hosts, and what the API gives access to.
- [Quickstart](https://build.geodynamics.eu/docs/quickstart): From zero to your first valid response in four steps, with curl, Node, and Python examples.
- [Authentication](https://build.geodynamics.eu/docs/authentication): API tokens, sent as `Authorization: Bearer itr_pat_...`. There is no OAuth path for API calls.
- [auth.md](https://build.geodynamics.eu/auth.md): The same story written for agents. Audience, the human registration path, the supported methods, how the credential travels, and what is explicitly not supported. Self-contained, read this one first if you are software.
- [Getting credentials](https://build.geodynamics.eu/docs/workspaces): Step by step for both keys. GeoDynamics API tokens live in IntelliTracer under Config, Company, API tokens; Proof service keys under Settings, Service keys.
- [Errors](https://build.geodynamics.eu/docs/errors): HTTP status code table with what each code means and what to do about it.
- [Rate limits](https://build.geodynamics.eu/docs/rate-limits): 1800 requests per 30 minutes plus 5 bad requests per 60 seconds, per company, raisable on request. `Retry-After` header semantics.

## API reference

Two APIs, documented on one portal. The GeoDynamics API takes a scoped API token, the Proof API a scoped service key. Both go in the Authorization header as a bearer token, but the credentials are separate and one grants nothing on the other.

- [API reference](https://build.geodynamics.eu/api): Picks between the two products.
- [GeoDynamics API](https://build.geodynamics.eu/api/geodynamics): 264 endpoints across 15 sections, one page per section, rendered as plain HTML. Spec at [openapi.yaml](https://build.geodynamics.eu/openapi.yaml).
- [Proof API](https://build.geodynamics.eu/api/proof): 9 endpoints across workplace groups, workplaces and users, on `https://api.geodynamics.dev/proof/v1/`. Auth is `Authorization: Bearer sk_...`, a scoped service key created in Proof under Settings, Service keys. Spec at [openapi-proof.yaml](https://build.geodynamics.eu/openapi-proof.yaml).

## MCP

- [MCP server](https://build.geodynamics.eu/mcp): Connect Claude Desktop, Cursor, or any MCP client to your own company data. Transport `https://mcp.geodynamics.dev/mcp`, OAuth through the accounts authority, five read-only tools (listUsers, getClockings, getTimesheetSummary, listVehicles, listPOIs). Markdown twin at [mcp.md](https://build.geodynamics.eu/mcp.md), server card at [server-card.json](https://build.geodynamics.eu/.well-known/mcp/server-card.json).

## Changelog

- [Changelog](https://build.geodynamics.eu/changelog): Release notes for the GeoDynamics APIs and this developer portal, newest first.

## Endpoints

- API host: `https://api.geodynamics.dev` (Belgian backend, EU data residency)
- Developer portal: `https://build.geodynamics.eu`
- OAuth authority: `https://accounts.geodynamics.eu`
- Protected resource metadata: `https://api.geodynamics.dev/.well-known/oauth-protected-resource` (RFC 9728; names `https://build.geodynamics.eu` as the authorization server so agents resolve the `agent_auth` block on the portal); the portal serves its own origin-bound document at `https://build.geodynamics.eu/.well-known/oauth-protected-resource`
- Authorization server metadata with `agent_auth`: `https://build.geodynamics.eu/.well-known/oauth-authorization-server` (portal mirror; `issuer` inside still names the accounts authority for token validation)
- Provider metadata: `https://accounts.geodynamics.eu/.well-known/openid-configuration`, mirrored on the portal at `/.well-known/openid-configuration`
- Agent skills: `https://build.geodynamics.eu/.well-known/agent-skills/index.json`, each entry carrying a sha256 digest of the SKILL.md it points at
- ARD capability manifest: `https://build.geodynamics.eu/.well-known/ai-catalog.json` (MCP server card, OpenAPI specs, skills, API catalog, auth guide)

## Optional

- [Dashboard](https://build.geodynamics.eu/dashboard): Signed-in surface for creating or reusing a GeoDynamics API token for a linked company.

## Markdown for agents

Every Get started page is also available as clean markdown at the same path with a `.md` suffix: `/docs/index.md`, `/docs/quickstart.md`, `/docs/authentication.md`, `/docs/workspaces.md`, `/docs/errors.md`, `/docs/rate-limits.md`.

The API reference has the same twin, generated from the OpenAPI specs at build time:

- [API reference](https://build.geodynamics.eu/api/index.md)
- [GeoDynamics API](https://build.geodynamics.eu/api/geodynamics/index.md), then `/api/geodynamics/<tag>.md` per section (clocking, time, assets, ...)
- [Proof API](https://build.geodynamics.eu/api/proof/index.md), then `/api/proof/<tag>.md` per section

Those files are not inlined in llms-full.txt. Fetch the index, then the section you need.

## Concatenated full docs

The full text content of every page above is available in a single fetch at [llms-full.txt](https://build.geodynamics.eu/llms-full.txt) for one-shot ingestion.
