Developer Docs

Introduction to Geolix API

The API provides a way for developers to programmatically work with the same data available in our platform. All endpoints return data in JSON format.

⚠️ This API is currently in beta. Endpoints and payloads may change.

Overview

The Geolix API provides programmatic access to the same data available in our platform dashboard. All endpoints return JSON.

Base URL: https://api.geolix.ai/api/v1
🔑

API Key Auth

Authenticate via x-api-key header with org or project scope.

📊

Full Data Access

Brands, projects, board data, detection records — everything the dashboard shows.

RESTful Design

Standard HTTP methods + JSON request/response, compatible with any HTTP client.

🛡️

Role-based Access

Read access for all members, write requires owner or admin role.

Getting Started

1

Create an API Key

Log in to app.geolix.ai,go to Settings → API Keys,click Create Key

  • Name: A recognizable label (e.g. CI Pipeline)
  • Scope: org (all projects) or project (single project)
  • Copy immediately — The plaintext key is shown only once
2

Make Your First Request

curl -H "x-api-key: glx_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
  https://api.geolix.ai/api/v1/projects

Success returns your project list:

[{
  "id": "prj_xxx",
  "name": "My Brand",
  "status": "active"
}]
3

List Your Projects

curl -H "x-api-key: glx_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
  https://api.geolix.ai/api/v1/projects

Authentication

All requests must include an API Key via the x-api-key HTTP header:

curl -X GET "https://api.geolix.ai/api/v1/projects" \
  -H "x-api-key: glx_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Key Format

glx_live_ + 32 hex characters = 41 characters total

The full key is shown only at creation time. The server stores a SHA-256 hash; plaintext is never persisted.

Key Scopes

ScopeAccessUse Case
orgAll projects in the organizationCross-project integrations, automation
projectBound project onlySingle-project CI/CD, isolated environments

Read & Write Access

OperationPermission Required
Read (GET)Any organization member
Write (POST / PATCH / DELETE)Organization owner or admin
Read operations are open to all members. Write operations require owner or admin role.

Brands

MethodPathDescription
GET/api/v1/brandsList brands
POST/api/v1/brandsCreate a brand
GET/api/v1/brands/{id}Brand details
PATCH/api/v1/brands/{id}Update a brand

Projects

MethodPathDescription
GET/api/v1/projectsList projects
POST/api/v1/projectsCreate a project
GET/api/v1/projects/{id}Project details
PATCH/api/v1/projects/{id}Update a project
DELETE/api/v1/projects/{id}Archive a project
GET/api/v1/projects/{id}/queriesList intents
POST/api/v1/projects/{id}/queriesAdd an intent
POST/api/v1/projects/{id}/runsTrigger a detection
GET/api/v1/projects/{id}/runsDetection records

Board

MethodPathDescription
GET/api/v1/boardDashboard overview
GET/api/v1/board/sourcesSource analysis
GET/api/v1/board/gapGap analysis
GET/api/v1/board/by-intentBy intent
GET/api/v1/board/chatsAI conversations

Runs & Queries

MethodPathDescription
GET/api/v1/runs/{id}Detection details
POST/api/v1/runs/{id}/cancelCancel a detection
PATCH/api/v1/queries/{id}Update an intent
DELETE/api/v1/queries/{id}Deactivate an intent

API Key Management

MethodPathDescription
POST/api/v1/api-keys/listList keys
POST/api/v1/api-keys/createCreate a key
POST/api/v1/api-keys/deleteRevoke a key
Key management endpoints require session cookie authentication.

Error Codes

{
  "error": {
    "code": "unauthorized",
    "message": "not logged in"
  }
}
HTTPCodeDescription
401unauthorizedNot authenticated or invalid key
403forbiddenNo write permission
404not_foundResource not found
400invalid_*Invalid parameters
429rate_limitedToo many requests

Rate Limits

API requests are rate-limited per API Key. Current limits:

PlanRequests / minute
Free / Trial30
Pro120
EnterpriseCustom

When rate-limited, the response includes Retry-After header.