Documentation Index
Fetch the complete documentation index at: https://docs.ivory.finance/llms.txt
Use this file to discover all available pages before exploring further.
Authentication
Authorization: Bearer <access_token>
What is an Agent?
An Agent is a named wrapper around a deployed model that defines how it should be invoked. There are four agent types:
| Type | Description |
|---|
predict | Synchronous prediction on demand — call POST /predict and get a result |
score | Continuously re-scores an entity (deal, company, portfolio) on a schedule |
alert | Fires a webhook or Slack notification when prediction exceeds a threshold |
batch | Runs as an Airflow DAG on a cron schedule, scoring all rows in a table |
Create agent
# Predict agent (on-demand inference)
curl -X POST https://api.ivory.finance/v1/foundry/agents \
-H "Authorization: Bearer $IVORY_JWT" \
-H "Content-Type: application/json" \
-d '{
"name": "Revenue Growth Signal",
"description": "Predict 12-month revenue growth from financial features",
"registry_id": "b2c3d4e5-...",
"agent_type": "predict"
}'
# Alert agent (fires Slack when score > 80)
curl -X POST https://api.ivory.finance/v1/foundry/agents \
-H "Authorization: Bearer $IVORY_JWT" \
-H "Content-Type: application/json" \
-d '{
"name": "High Growth Alert",
"description": "Notify when predicted revenue growth exceeds 25%",
"registry_id": "b2c3d4e5-...",
"agent_type": "alert",
"alert_threshold": 25.0,
"alert_channel": "slack",
"alert_webhook": "https://hooks.slack.com/services/T.../B.../..."
}'
Request body
| Field | Required | Default | Description |
|---|
name | Yes | — | Agent display name |
description | No | — | What this agent does |
registry_id | No | — | Deployed model to use (from POST /models/{id}/deploy) |
agent_type | No | predict | predict, score, alert, or batch |
alert_threshold | No | — | Score threshold for alert type |
alert_channel | No | — | slack or email |
alert_webhook | No | — | Webhook URL for alert delivery |
schedule_cron | No | — | Cron expression for batch type |
batch_dag_id | No | — | Airflow DAG ID for batch execution |
{
"id": "c3d4e5f6-...",
"name": "Revenue Growth Signal",
"agent_type": "predict",
"status": "active",
"call_count": 0,
"created_at": "2026-03-26T10:00:00Z"
}
List agents
curl https://api.ivory.finance/v1/foundry/agents \
-H "Authorization: Bearer $IVORY_JWT"
{
"agents": [
{
"id": "c3d4e5f6-...",
"name": "Revenue Growth Signal",
"description": "12-month revenue growth predictor",
"agent_type": "predict",
"alert_threshold": null,
"alert_channel": null,
"schedule_cron": null,
"status": "active",
"call_count": 1842,
"created_at": "2026-03-26T10:00:00Z",
"updated_at": "2026-03-26T18:30:00Z"
},
{
"id": "d4e5f6a7-...",
"name": "High Growth Alert",
"agent_type": "alert",
"alert_threshold": 25.0,
"alert_channel": "slack",
"status": "active",
"call_count": 94,
"created_at": "2026-03-20T09:00:00Z",
"updated_at": "2026-03-26T16:00:00Z"
}
]
}
To pause an agent (stop receiving alerts or batch runs), update its status to paused via the Ivory dashboard. Agents with status: "deleted" are excluded from all listings.