OpenAI SDK & Responses API

Catalogian exposes a POST /v1/responses endpoint that implements the OpenAI Responses API specification. Any client built with the OpenAI SDK — or any framework that speaks the Responses API format — can use Catalogian as a data tool provider without any custom integration work.

Connecting

POST https://api.catalogian.com/v1/responses
Authorization: Bearer <your-api-key>
Content-Type: application/json

Use a Catalogian API key (cat_live_...) from the Keys page in your dashboard. API keys unlock with any one paid record; MCP is on every rung of the ladder.

OpenAI Python SDK

Point the OpenAI client at Catalogian and call tools directly:

from openai import OpenAI

client = OpenAI(
    base_url="https://api.catalogian.com/v1",
    api_key="cat_live_your_key_here",
)

# List all your records
response = client.responses.create(
    model="catalogian-1",
    input="list my records",
    tool_choice={"type": "function", "name": "list_records"},
    tools=[{
        "type": "function",
        "name": "list_records",
        "description": "List all records monitored for this account. Start here to discover available recordId and recordSlug values needed by every other tool. Returns id, slug, name, url, status, format, lastCheckedAt, and vanityUrl for each record. Use the slug with other tools for more readable calls; a record whose slug is null has no slug, so use its id.",
    }],
)

for item in response.output:
    if hasattr(item, "content"):
        for part in item.content:
            print(part.text)

How tool dispatch works

This endpoint is a tool provider, not a language model. It does not generate text or decide which tool to call — your LLM does that, then invokes Catalogian to execute the tool.

  • • Tool dispatch is explicit — specify tool_choice: { "type": "function", "name": "<tool_name>" }
  • • tool_choice: "auto" or "required" returns a list of available tools instead of calling one
  • • The intent is for a real LLM (in your app or agent framework) to decide which tool to call, then invoke Catalogian to execute it
  • • Pass tool arguments as a JSON string in the input field: input: '{"recordSlug": "west-coast-earthquakes"}'

Available tools

All 18 tools are shared with the MCP endpoint. Each can be called via tool_choice:

ToolDescription
list_recordsList all records monitored for this account
get_record_by_slugLook up a record by slug
list_editionsList the editions of a record: every ingest that created a new version, with row counts and change summaries
get_edition_diffDiff two editions: rows added, changed, or removed, with field-level before and after
snapshot_schemaGet field structure of current snapshot
get_snapshot_rowsBrowse current record rows (paginated)
sample_snapshotRandom or stratified sample from a record snapshot. Use stratifyBy to get representative rows across any set of fields.
profile_snapshotRecord-level quality report: field cardinality, null rates, value distributions, type hints, and stratification recommendations.
search_snapshotFull-text search across all row fields
filter_snapshot_rowsFilter rows by field conditions
query_snapshotAggregations: count, distinct, group_by, min/max/avg/sum
get_deltaGet change events for a record (what changed, when)
get_delta_rowsRow-level before/after data for a change event
compare_snapshotsDiff two snapshots over time
download_snapshotExport full snapshot as CSV/JSON (pre-signed URL)
download_filtered_snapshotExport filtered subset as CSV/JSON
get_healthHealth score and diagnostic indicators
list_toolsList all available tools with descriptions

Using with agent frameworks

Any framework that speaks the OpenAI Responses API format can use Catalogian as a tool provider out of the box — including the OpenAI Agents SDK, LangChain, and the Vercel AI SDK. Point the framework's HTTP tool client at https://api.catalogian.com/v1/responses with your API key and tools are available immediately.

Differences from MCP

MCP (/v1/mcp)Open Responses (/v1/responses)
ProtocolModel Context Protocol (Streamable HTTP)OpenAI Responses API (HTTP/JSON)
Best forClaude Desktop, Cursor, MCP-native clientsCustom agent code, OpenAI SDK users
Client libraryClaude, ChatGPT, and Cursor connect natively; other agents use mcp-remoteNo special library needed — standard HTTP
ToolsSame 18 toolsSame 18 tools

Both endpoints use the same API key. Choose whichever fits your stack — or use both.