geondex
Docs

history

Your stored record of past checks for your domain.

GET https://geondex.com/api/v1/history

Your stored record of past checks for your domain — an agent has no memory between sessions; this does. Newest first, with per-engine cited/position for each. Free. Use it before re-checking to see whether a fresh check is worth a credit.

Request

Query parameters

  • domain · string · required — 3–253 characters
  • prompt · string · optional — Narrow to one prompt. 3–300 characters
  • limit · integer · optional — 1–100. Default 20

Example request

curl -s "https://geondex.com/api/v1/history?domain=ttsensei.com&limit=2" -H "Authorization: Bearer gx_YOUR_KEY"

Response

200 with the envelope every tool returns: a one-line summary, the full data, and credits: { charged, remaining }. On a free call charged is 0 and remaining is null.

Fields of data

  • domain · string
  • batches · object[]
  • batches[].batchId · string
  • batches[].prompt · string
  • batches[].createdAt · number
  • batches[].engines · object[]
  • batches[].engines[].engine · string
  • batches[].engines[].status · string
  • batches[].engines[].cited · boolean — Whether your domain was cited by this engine in this batch
  • batches[].engines[].position · number | null — 1-based rank among this engine's own citations; null when not cited

Example response

Real-shaped, checked against the output schema by a test. Long lists are shortened.

{
  "summary": "Showing the 2 most recent checks for ttsensei.com; latest 2026-09-24: cited by 2 of 4 engines.",
  "data": {
    "domain": "ttsensei.com",
    "batches": [
      {
        "batchId": "5f0c9e2a-8d4b-4c1e-9a7f-2b6d3e8c1f40",
        "prompt": "best table tennis blade for beginners",
        "createdAt": 1790258712000,
        "engines": [
          {
            "engine": "perplexity",
            "status": "ok",
            "cited": true,
            "position": 2
          },
          {
            "engine": "openai",
            "status": "ok",
            "cited": true,
            "position": 3
          },
          {
            "engine": "claude",
            "status": "ok",
            "cited": false,
            "position": null
          },
          {
            "engine": "gemini",
            "status": "ok",
            "cited": false,
            "position": null
          }
        ]
      },
      {
        "batchId": "a13e7b90-2c5d-4f8a-b6e1-9d0c4f2a7e35",
        "prompt": "best table tennis blade for beginners",
        "createdAt": 1789638063000,
        "engines": [
          {
            "engine": "perplexity",
            "status": "ok",
            "cited": true,
            "position": 2
          },
          {
            "engine": "openai",
            "status": "ok",
            "cited": true,
            "position": 5
          },
          {
            "engine": "claude",
            "status": "ok",
            "cited": true,
            "position": 4
          },
          {
            "engine": "gemini",
            "status": "ok",
            "cited": false,
            "position": null
          }
        ]
      }
    ]
  },
  "credits": {
    "charged": 0,
    "remaining": null
  }
}

Errors

Every error has the body {"error":{"code":"…","message":"…"}} and is not charged.

HTTPWhen
400Bad input
401Missing or invalid key
402Out of credits
404Tool not available on this server
429Rate limited
502Upstream failure

Every error.code and what to do about it: Errors & rate limits.

On this page