Skip to main content

Quickstart

Authenticate, query your fleet, and create a workflow instance — all in under 5 minutes.

Prerequisites

  • API credentials: email, password, and apiKey provided during onboarding
  • Your tenant hostname (e.g., yourcompany.geotareas.com)

Step 1 — Authenticate

Obtain a JWT token by calling the login endpoint:

curl -s -X POST \
-H "tenant: $TENANT" \
-H "Content-Type: application/json" \
-d '{"email":"dev@yourcompany.com","password":"your_password"}' \
"https://$TENANT/apidev/v1/login"

Response:

{
"success": true,
"data": { "authorization": "eyJhbGciOi..." },
"meta": {}
}
tip

The token is valid for 1 hour. There is no refresh endpoint — simply re-authenticate when it expires. The API Key (gtk_prod_...) is permanent and was provided during onboarding — you'll use it alongside the token in every request from here on.

Step 2 — Query your fleet

Use the token + API key to call any protected endpoint. Every request requires 3 headers:

Authorization: Bearer <token>
X-API-Key: <your_api_key>
tenant: <your_tenant>
curl -s \
-H "Authorization: Bearer $TOKEN" \
-H "X-API-Key: $APIKEY" \
-H "tenant: $TENANT" \
"https://$TENANT/apidev/v1/fleet/devices?limit=5&status=A"

Response:

{
"success": true,
"data": [
{
"id": "104820579301",
"name": "Truck-42",
"plate": "ABC-1234",
"status": "A",
"lastPosition": {
"lat": -34.6037,
"lng": -58.3816,
"speed": 45,
"timestamp": "2026-04-04T14:23:00"
}
}
],
"meta": { "total": 128, "limit": 5, "offset": 0 }
}

Step 3 — Create a workflow instance

Now try a write operation — start a workflow instance tied to an entity:

curl -s -X POST \
-H "Authorization: Bearer $TOKEN" \
-H "X-API-Key: $APIKEY" \
-H "tenant: $TENANT" \
-H "Content-Type: application/json" \
-d '{"definitionId":"wf_maintenance","entityId":"104820579301"}' \
"https://$TENANT/apidev/v1/workflow/instances"

Response:

{
"success": true,
"data": {
"instanceId": "inst_7x4k9m",
"definitionId": "wf_maintenance",
"entityId": "104820579301",
"status": "RUNNING",
"createdAt": "2026-04-04T14:25:12"
},
"meta": {}
}

Step 4 — Explore the full API

You've authenticated, read data, and performed a write operation. Here's what else you can do across all 10 domains:

DomainTry thisEndpoint
FleetList vehicles with GPS positionGET /fleet/devices
FleetList drivers and assignmentsGET /fleet/drivers
TelemetryIngest GPS points from devicesPOST /telemetry
ReportsKilometers traveled in a date rangeGET /reports/avl/kilometers
ReportsTask productivity by teamGET /reports/gt/productivity
AccountsSearch customer accountsGET /accounts
ClientsCreate a new client recordPOST /clients
WorkflowQuery instance timelineGET /workflow/instances/{id}/timeline
KanbanList boards in a workspaceGET /kanban/workspaces/{id}/boards
KanbanCreate and move cardsPOST /kanban/cards
BillingList invoices with filtersGET /billing/invoices
BillingExport invoices to XLSXGET /billing/invoices/export
PortalSupplier invoice declarationsPOST /portal/invoices/declare
PortalTolerance validation resultsGET /portal/tolerance

All paths are prefixed with /apidev/v1/.

Testing with Postman

A ready-to-use Postman collection is available. See the Postman Collection page for import instructions and the full list of pre-built requests.

What's next

By use case:

Fundamentals: