Fetchply Docs
GET
/api/v1/agents/{id}/training-status

Live training state for an agent: whether a run is active, its phase, and page progress. Poll this after adding sources or triggering a retrain. Requires the read:sources permission.

Authorization

BearerAuth read:sources
AuthorizationBearer <token>

In: header

Scope: read:sources

Path Parameters

id*string

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/api/v1/agents/string/training-status"
{
  "agentStatus": "training",
  "training": true,
  "run": {
    "id": "a1b2c3d4e5-retrain-1754300000000",
    "phase": "crawling",
    "pagesCompleted": 12,
    "pagesTotal": 48,
    "pagesFailed": 0,
    "startedAt": "2026-08-04T10:00:00.000Z",
    "error": null
  }
}
{
  "type": "string",
  "title": "string",
  "status": 0,
  "detail": "string",
  "issues": [
    {
      "path": "string",
      "message": "string"
    }
  ]
}
{
  "type": "string",
  "title": "string",
  "status": 0,
  "detail": "string",
  "issues": [
    {
      "path": "string",
      "message": "string"
    }
  ]
}
{
  "type": "string",
  "title": "string",
  "status": 0,
  "detail": "string",
  "issues": [
    {
      "path": "string",
      "message": "string"
    }
  ]
}
{
  "type": "string",
  "title": "string",
  "status": 0,
  "detail": "string",
  "issues": [
    {
      "path": "string",
      "message": "string"
    }
  ]
}
{
  "type": "string",
  "title": "string",
  "status": 0,
  "detail": "string",
  "issues": [
    {
      "path": "string",
      "message": "string"
    }
  ]
}
{
  "type": "string",
  "title": "string",
  "status": 0,
  "detail": "string",
  "issues": [
    {
      "path": "string",
      "message": "string"
    }
  ]
}