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

ConceptDetail
Catalog endpointGET /api/models (use ?category=text for chat agents)
Value to usemodels[].namenot displayName
Persist model on agentPOST /api/agents or PUT /api/agents/{agentId} with { "model": "<name>" }
ChatPOST /api/chat with agentId (required for this flow)
Invalid modelsDeprecated 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:

  1. Call the endpoint with your bearer token.
  2. Iterate models and skip entries where isDeprecated is true or isActive is false.
  3. Remember the chosen model's name (e.g. gpt-5.4, gemini-3.5-flash).
  4. 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 — catalog name from step 1
  • name, 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)

StepHTTPReadMe API Reference (typical)Example key
1GET /api/models?category=textModels → List available modelscatalog_flow_list_text_models
2aPOST /api/agentsAgents → Create agentcatalog_flow_create_agent
2bPUT /api/agents/{agentId}Agents → Update agentcatalog_flow_update_agent_model
3aPOST /api/chatChat → Chat completioncatalog_flow_chat_with_agent
3bPOST /api/chatChat → Chat completioncatalog_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 fieldChat request field
supportedReasoningEfforts non-emptyreasoningEffort (low, medium, high, etc.)
supportsExtendedThinking: truethinkingEnabled, thinkingBudgetTokens
supportsCustomTemperature: falseOmit temperature

See the Chat completion operation description and CHAT.md for full parameter lists.


Common errors

ErrorCauseFix
400 — deprecated / unavailable modelmodel not in active org catalogRe-run step 1; use a current name
400 — agent not foundInvalid agentIdCreate or list agents first
402 — payment requiredAgent owner subscriptionEnsure paid account on agent owner
401Missing or expired tokenRefresh JWT or app-password token


Did this page help you?