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
/api/providers/modelsQuery Parameters
Filter by AGH provider id
Filter by catalog source id
Refresh sources before listing models
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"
}Refresh provider model catalog sources across providers
/api/providers/models/refreshRequest 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
}
]
}List provider model catalog source status across providers
/api/providers/models/statusResponse 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"
}List provider model catalog entries for one provider
/api/providers/{provider_id}/modelsPath Parameters
AGH provider id
Query Parameters
Filter by catalog source id
Refresh sources before listing models
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"
}Refresh provider model catalog sources for one provider
/api/providers/{provider_id}/models/refreshPath Parameters
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
}
]
}List provider model catalog source status for one provider
/api/providers/{provider_id}/models/statusPath Parameters
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"
}