Agent700 Model Catalog Integration
Use this guide when building an integration that must pick a valid LLM for the caller's organization, assign it to an agent (or override per chat request), and send messages. The Agent700 UI uses the same catalog (GET /api/models); your integration should too.
Authentication: JWT or app-password bearer token on every request
Overview
| Concept | Detail |
|---|---|
| Catalog endpoint | GET /api/models (use ?category=text for chat agents) |
| Value to use | models[].name — not displayName |
| Persist model on agent | POST /api/agents or PUT /api/agents/{agentId} with { "model": "<name>" } |
| Chat | POST /api/chat with agentId (required for this flow) |
| Invalid models | Deprecated or inactive names return 400 on agent update and chat |
OpenAPI named examples for this flow are prefixed with catalog_flow_. In ReadMe API Reference, open each endpoint below and choose the matching example from the request/response sample dropdown.
Flow diagram
sequenceDiagram
participant App
participant API
App->>API: GET /api/models?category=text
API-->>App: models[].name, capabilities, pricing
alt New agent
App->>API: POST /api/agents { model, organizationId, ... }
API-->>App: agent.id
else Existing agent
App->>API: PUT /api/agents/{agentId} { model }
API-->>App: new revision
end
App->>API: POST /api/chat { agentId, messages [, model] }
API-->>App: response
Step 1 — List models
API Reference: Models → List available models (GET /api/models)
Query: category=text (recommended for chat agents)
OpenAPI example: catalog_flow_list_text_models (under the 200 response samples)
What to do:
- Call the endpoint with your bearer token.
- Iterate
modelsand skip entries whereisDeprecatedistrueorisActiveisfalse. - Remember the chosen model's
name(e.g.gpt-5.4,gemini-3.5-flash). - Optionally use capability fields (
supportsMcp,supportedReasoningEfforts,supportsExtendedThinking,pricingTiers) to filter or configure later requests.
Step 2 — Set the model on an agent
You need a saved agent before chat. Pick one of the following.
Option A — Create a new agent
API Reference: Agents → Create agent (POST /api/agents)
OpenAPI example: catalog_flow_create_agent
Request highlights:
organizationId(required)model— catalognamefrom step 1name,masterPrompt, and other fields as needed
What to do: Save agent.id from the response; use it as agentId in step 3.
Option B — Update an existing agent
API Reference: Agents → Update agent (new revision) (PUT /api/agents/{agentId})
OpenAPI example: catalog_flow_update_agent_model
Request highlights:
- Only
{ "model": "<catalog name>" }is required for a model-only change. - Other revision fields are preserved from the current revision.
Step 3 — Chat
API Reference: Chat → Chat completion (POST /api/chat)
Always include agentId for this integration pattern.
Option A — Use the agent's configured model
OpenAPI example: catalog_flow_chat_with_agent
Omit model on the chat request; the agent revision from step 2 supplies it.
{
"agentId": "<uuid from step 2>",
"messages": [
{ "role": "user", "content": "Hello" }
]
}Option B — One-off model override
OpenAPI example: catalog_flow_chat_model_override
Use when you want to try another catalog model without creating a new agent revision.
{
"agentId": "<uuid>",
"model": "<catalog name from step 1>",
"messages": [
{ "role": "user", "content": "Your message" }
]
}Example index (OpenAPI / ReadMe)
| Step | HTTP | ReadMe API Reference (typical) | Example key |
|---|---|---|---|
| 1 | GET /api/models?category=text | Models → List available models | catalog_flow_list_text_models |
| 2a | POST /api/agents | Agents → Create agent | catalog_flow_create_agent |
| 2b | PUT /api/agents/{agentId} | Agents → Update agent | catalog_flow_update_agent_model |
| 3a | POST /api/chat | Chat → Chat completion | catalog_flow_chat_with_agent |
| 3b | POST /api/chat | Chat → Chat completion | catalog_flow_chat_model_override |
Search API Reference for "Catalog flow" to jump to these samples quickly.
Capability-aware chat options
After step 1, use the catalog entry for the model you selected:
| Catalog field | Chat request field |
|---|---|
supportedReasoningEfforts non-empty | reasoningEffort (low, medium, high, etc.) |
supportsExtendedThinking: true | thinkingEnabled, thinkingBudgetTokens |
supportsCustomTemperature: false | Omit temperature |
See the Chat completion operation description and CHAT.md for full parameter lists.
Common errors
| Error | Cause | Fix |
|---|---|---|
400 — deprecated / unavailable model | model not in active org catalog | Re-run step 1; use a current name |
400 — agent not found | Invalid agentId | Create or list agents first |
402 — payment required | Agent owner subscription | Ensure paid account on agent owner |
401 | Missing or expired token | Refresh JWT or app-password token |
Updated about 1 month ago
