Poll a background store fetch started by a read that answered refreshing:true (free).

GEThttps://api.appgoat.ai/v1/jobs/{id}
FreeMCP tool get_joboperationId getJob

Poll every few seconds until status is done / partial / failed, then repeat the original call.

Request

curl "https://api.appgoat.ai/v1/jobs/fetch_123" \
  -H "x-api-key: $APPGOAT_API_KEY"

Path parameters

idstringrequired
meta.freshness.job_id, e.g. fetch_123.

Response

200 with data: Job. See the envelope for meta.

idstring
kind"fetch"
status"queued" | "running" | "done" | "partial" | "failed"
storeStore
app_idstring
countriesstring[]
progressobject
country → ok | unavailable | cached | error: …
doneinteger
totalinteger
errorstring | null
created_atstring
finished_atstring | null
Example
{
  "data": {
    "id": "fetch_123",
    "kind": "fetch",
    "status": "queued",
    "store": "apple",
    "app_id": "324684580",
    "countries": [
      "string"
    ],
    "progress": {},
    "done": 1,
    "total": 1,
    "error": "string",
    "created_at": "2026-10-22T10:00:00Z",
    "finished_at": "2026-10-22T10:00:00Z"
  },
  "meta": {
    "credits_used": 0,
    "credits_remaining": 9981,
    "request_id": "req_123"
  }
}

Status codes

200
The job.
Missing or invalid API key.
Not found.
Too many requests per second for your plan.