Transactional

Models

List available models from your configured providers.

Endpoint

GET https://api.transactional.dev/ai/v1/models

Request

Headers

HeaderRequiredDescription
AuthorizationYesBearer gw_sk_your_key

Query Parameters

ParameterTypeDescription
providerstringFilter by provider (e.g., openai, anthropic)

Examples

List All Models

curl https://api.transactional.dev/ai/v1/models \
  -H "Authorization: Bearer gw_sk_your_key"

Filter by Provider

curl "https://api.transactional.dev/ai/v1/models?provider=openai" \
  -H "Authorization: Bearer gw_sk_your_key"

Response

{
  "object": "list",
  "data": [
    {
      "id": "gpt-4o",
      "object": "model",
      "created": 1706140800,
      "owned_by": "openai",
      "context_window": 128000,
      "max_output": 16384,
      "capabilities": ["chat", "function_calling", "vision"],
      "pricing": {
        "input": 2.50,
        "output": 10.00,
        "unit": "1M tokens",
        "currency": "USD"
      }
    },
    {
      "id": "gpt-4o-mini",
      "object": "model",
      "created": 1706140800,
      "owned_by": "openai",
      "context_window": 128000,
      "max_output": 16384,
      "capabilities": ["chat", "function_calling", "vision"],
      "pricing": {
        "input": 0.15,
        "output": 0.60,
        "unit": "1M tokens",
        "currency": "USD"
      }
    },
    {
      "id": "claude-3-5-sonnet",
      "object": "model",
      "created": 1706140800,
      "owned_by": "anthropic",
      "context_window": 200000,
      "max_output": 8192,
      "capabilities": ["chat", "tool_use"],
      "pricing": {
        "input": 3.00,
        "output": 15.00,
        "unit": "1M tokens",
        "currency": "USD"
      }
    },
    {
      "id": "claude-3-haiku",
      "object": "model",
      "created": 1706140800,
      "owned_by": "anthropic",
      "context_window": 200000,
      "max_output": 4096,
      "capabilities": ["chat", "tool_use"],
      "pricing": {
        "input": 0.25,
        "output": 1.25,
        "unit": "1M tokens",
        "currency": "USD"
      }
    }
  ]
}

Model Object

FieldTypeDescription
idstringModel identifier to use in requests
objectstringAlways model
creatednumberUnix timestamp when model was added
owned_bystringProvider name
context_windownumberMaximum context tokens
max_outputnumberMaximum output tokens
capabilitiesarraySupported features
pricingobjectPricing information

Capabilities

CapabilityDescription
chatChat completions
function_callingTool/function support
visionImage input support
tool_useAnthropic tool use
json_modeStructured JSON output

Available Models

OpenAI

ModelContextBest For
gpt-4o128KGeneral purpose, quality
gpt-4o-mini128KFast, cost-effective
gpt-4-turbo128KComplex reasoning
o1200KAdvanced reasoning
o1-mini128KFast reasoning
gpt-3.5-turbo16KSimple tasks

Anthropic

ModelContextBest For
claude-opus-4200KMost capable
claude-sonnet-4200KBalanced
claude-3-5-sonnet200KGeneral purpose
claude-3-opus200KPrevious flagship
claude-3-haiku200KFast, cheap

Filtering Models

By Provider

Only show OpenAI models:

curl "https://api.transactional.dev/ai/v1/models?provider=openai" \
  -H "Authorization: Bearer gw_sk_your_key"

By Capability

Filter in your application code:

const response = await fetch('https://api.transactional.dev/ai/v1/models', {
  headers: { 'Authorization': `Bearer ${apiKey}` },
});
 
const { data: models } = await response.json();
 
// Only models with vision
const visionModels = models.filter(m =>
  m.capabilities.includes('vision')
);
 
// Only models with function calling
const functionModels = models.filter(m =>
  m.capabilities.includes('function_calling') ||
  m.capabilities.includes('tool_use')
);

SDK Examples

TypeScript

import OpenAI from 'openai';
 
const openai = new OpenAI({
  baseURL: 'https://api.transactional.dev/ai/v1',
  apiKey: process.env.GATEWAY_API_KEY,
});
 
const models = await openai.models.list();
 
for (const model of models.data) {
  console.log(`${model.id} (${model.owned_by})`);
}

Python

from openai import OpenAI
 
client = OpenAI(
    base_url="https://api.transactional.dev/ai/v1",
    api_key=os.environ["GATEWAY_API_KEY"]
)
 
models = client.models.list()
 
for model in models.data:
    print(f"{model.id} ({model.owned_by})")

Notes

  • Only models from configured providers are returned
  • Add provider API keys in Settings to see their models
  • Pricing information is for reference and may change

Next Steps