Skip to content
AGH RuntimeAPI Reference

Providers

AGH Providers HTTP endpoints.

Audience
Operators running durable agent work
Focus
API Reference guidance shaped for scanability, day-two clarity, and operator context.

List provider model catalog entries across providers

GET/api/providers/models

Query Parameters

provider_id?string

Filter by AGH provider id

source_id?string

Filter by catalog source id

refresh?boolean

Refresh sources before listing models

include_stale?boolean

Include stale source rows in the merged projection

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/api/providers/models"
{
  "models": [
    {
      "availability_state": "string",
      "available": true,
      "context_window": 0,
      "cost": {
        "input_per_million": 0,
        "output_per_million": 0
      },
      "default_reasoning_effort": "string",
      "display_name": "string",
      "last_error": "string",
      "max_input_tokens": 0,
      "max_output_tokens": 0,
      "model_id": "string",
      "provider_id": "string",
      "reasoning_efforts": [
        "string"
      ],
      "refreshed_at": "string",
      "sources": [
        {
          "last_error": "string",
          "priority": 0,
          "refreshed_at": "string",
          "source_id": "string",
          "source_kind": "string",
          "stale": true
        }
      ],
      "stale": true,
      "supports_reasoning": true,
      "supports_tools": true
    }
  ]
}
{
  "error": "string"
}
{
  "error": "string"
}
{
  "error": "string"
}
{
  "error": "string"
}
Empty

Refresh provider model catalog sources across providers

POST/api/providers/models/refresh

Request Body

application/json

JSON request body

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/api/providers/models/refresh" \  -H "Content-Type: application/json" \  -d '{}'
{
  "error": "string",
  "sources": [
    {
      "last_error": "string",
      "last_refresh": "string",
      "last_success": "string",
      "next_refresh": "string",
      "priority": 0,
      "provider_id": "string",
      "refresh_state": "string",
      "row_count": 0,
      "source_id": "string",
      "source_kind": "string",
      "stale": true
    }
  ]
}
{
  "error": "string"
}
{
  "error": "string"
}
{
  "error": "string"
}
{
  "error": "string",
  "sources": [
    {
      "last_error": "string",
      "last_refresh": "string",
      "last_success": "string",
      "next_refresh": "string",
      "priority": 0,
      "provider_id": "string",
      "refresh_state": "string",
      "row_count": 0,
      "source_id": "string",
      "source_kind": "string",
      "stale": true
    }
  ]
}
Empty

List provider model catalog source status across providers

GET/api/providers/models/status

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/api/providers/models/status"
{
  "sources": [
    {
      "last_error": "string",
      "last_refresh": "string",
      "last_success": "string",
      "next_refresh": "string",
      "priority": 0,
      "provider_id": "string",
      "refresh_state": "string",
      "row_count": 0,
      "source_id": "string",
      "source_kind": "string",
      "stale": true
    }
  ]
}
{
  "error": "string"
}
{
  "error": "string"
}
{
  "error": "string"
}
{
  "error": "string"
}
Empty

List provider model catalog entries for one provider

GET/api/providers/{provider_id}/models

Path Parameters

provider_id*string

AGH provider id

Query Parameters

source_id?string

Filter by catalog source id

refresh?boolean

Refresh sources before listing models

include_stale?boolean

Include stale source rows in the merged projection

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/api/providers/string/models"
{
  "models": [
    {
      "availability_state": "string",
      "available": true,
      "context_window": 0,
      "cost": {
        "input_per_million": 0,
        "output_per_million": 0
      },
      "default_reasoning_effort": "string",
      "display_name": "string",
      "last_error": "string",
      "max_input_tokens": 0,
      "max_output_tokens": 0,
      "model_id": "string",
      "provider_id": "string",
      "reasoning_efforts": [
        "string"
      ],
      "refreshed_at": "string",
      "sources": [
        {
          "last_error": "string",
          "priority": 0,
          "refreshed_at": "string",
          "source_id": "string",
          "source_kind": "string",
          "stale": true
        }
      ],
      "stale": true,
      "supports_reasoning": true,
      "supports_tools": true
    }
  ]
}
{
  "error": "string"
}
{
  "error": "string"
}
{
  "error": "string"
}
{
  "error": "string"
}
Empty

Refresh provider model catalog sources for one provider

POST/api/providers/{provider_id}/models/refresh

Path Parameters

provider_id*string

AGH provider id

Request Body

application/json

JSON request body

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/api/providers/string/models/refresh" \  -H "Content-Type: application/json" \  -d '{}'
{
  "error": "string",
  "sources": [
    {
      "last_error": "string",
      "last_refresh": "string",
      "last_success": "string",
      "next_refresh": "string",
      "priority": 0,
      "provider_id": "string",
      "refresh_state": "string",
      "row_count": 0,
      "source_id": "string",
      "source_kind": "string",
      "stale": true
    }
  ]
}
{
  "error": "string"
}
{
  "error": "string"
}
{
  "error": "string"
}
{
  "error": "string",
  "sources": [
    {
      "last_error": "string",
      "last_refresh": "string",
      "last_success": "string",
      "next_refresh": "string",
      "priority": 0,
      "provider_id": "string",
      "refresh_state": "string",
      "row_count": 0,
      "source_id": "string",
      "source_kind": "string",
      "stale": true
    }
  ]
}
Empty

List provider model catalog source status for one provider

GET/api/providers/{provider_id}/models/status

Path Parameters

provider_id*string

AGH provider id

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/api/providers/string/models/status"
{
  "sources": [
    {
      "last_error": "string",
      "last_refresh": "string",
      "last_success": "string",
      "next_refresh": "string",
      "priority": 0,
      "provider_id": "string",
      "refresh_state": "string",
      "row_count": 0,
      "source_id": "string",
      "source_kind": "string",
      "stale": true
    }
  ]
}
{
  "error": "string"
}
{
  "error": "string"
}
{
  "error": "string"
}
{
  "error": "string"
}
Empty