Source-backed AI model intelligence

AI ModelWatch API

Compare AI model pricing, lifecycle status, trust, source coverage, alternatives, and replacement options without acting as another inference gateway.

API Demo

Explore the API before adding your key.

Use your own API key in Swagger or curl. This page never shows key values.

Providers
16
Use cases
4
Examples
23

Developer Quickstart

List models with /v1/models/search, then add provider, price, context, capability, lifecycle, or use-case filters. Production examples use the source-backed catalog by default; sandbox fallbacks are labeled separately.

Default Provider IDs

openai, anthropic, google, mistral, xai, deepseek, qwen, zai, moonshotai

Aggregator Discovery

minimax, baidu, bytedance, tencent, cohere, perplexity, meta

Use Cases

cheap-coding, production-stable, frontier-coding, balanced

Model Key Format

provider:model_id, for example openai:gpt-5.5

Production-ready Data

  • Use the source-backed production catalog for primary comparisons; sandbox fallback examples are only for local evaluation.
  • Refresh production pricing, model, lifecycle, and media data on persistent storage before customer demos.
  • Check /v1/release/readiness before public demos so data freshness, provider coverage, import history, and scheduled refresh are ready.
  • The first developer demo must return active, non-nano OpenAI gpt-5.5 records with input/output token pricing from official or mixed sources.
  • Refresh imports by external cron or the single-worker scheduler before required source freshness windows expire.

Demo Quality Checks

  • The first demo should return active, priced, non-retired model records, not empty or pricing-thin responses.
  • Provider coverage should include major western and China-relevant providers, not only OpenAI.
  • Imports and scheduled refresh should keep pricing, lifecycle, and model availability current.
  • Production smoke checks should run every customer scenario with source-backed production data before release.

Customer Access

  • Provision a real demo or customer key through the admin API; public pages and examples never render raw key values.
  • Give every active customer key its own quota and per-minute limit so demos prove metering, revocation, and access boundaries.
  • Use /v1/account/usage in demos so teams can verify the key works, usage is counted, and remaining capacity is visible without exposing secrets.

Developer Workflows

Choose a workflow and run the calls that prove model cost, migration risk, provider coverage, catalog health, or metered access with source-backed data.

Starter

Cost Control

AI product teams and finance owners reviewing model spend.

Compare active model prices, find cheaper fit-for-purpose options, and estimate request-level cost before switching.

  • /v1/models/search
  • /v1/models/alternatives
  • /v1/cost/estimate
  • /v1/models/compare

Success signal: Teams leave with a cheaper shortlist and a request-level cost estimate backed by current pricing sources.

Starter

Model Migration

Engineering teams with repos, prompts, or configs that reference risky or deprecated models.

Resolve model strings, check lifecycle risk, and return replacement candidates with source evidence.

  • /v1/models/resolve
  • /v1/models/migration-brief
  • /v1/models/replacements
  • /v1/models/{provider_id}/{model_id}/sources

Success signal: Teams get a defensible replacement recommendation with lifecycle risk and source evidence.

Starter

Model Intake

Engineering and agent teams reviewing provider announcements, PRs, logs, or repo scans with unknown model strings.

Resolve known model strings, keep new or unsupported models unresolved with warnings, and avoid invented pricing or availability claims.

  • /v1/models/resolve
  • /v1/models/migration-briefs
  • /v1/catalog/facets
  • /v1/release/readiness

Success signal: Teams know whether a new model string is safe to use, needs source refresh, or should stay out of production.

Pro

Catalog Health

Teams relying on model intelligence in dashboards, procurement workflows, or CI policy checks.

Monitor import freshness, missing prices, pricing gaps, source runs, and alert-worthy catalog changes.

  • /v1/monitoring/summary
  • /v1/pricing/gaps
  • /v1/pricing/discrepancies
  • /v1/alerts/recent

Success signal: Teams can confirm the production catalog is fresh enough for automation or see the exact blocker to fix.

Dev Preview

Customer Access

Developers and teams validating that access is metered and support load stays low.

Use one API key, verify plan limits and usage, and keep raw keys out of public pages, logs, and examples.

  • /v1/catalog/facets
  • /v1/account/usage
  • /v1/release/readiness

Success signal: Customers can verify their key, plan limits, remaining capacity, and rate limit without exposing secrets.

Starter

Provider Offerings

Procurement, platform, and agent builders comparing provider coverage before choosing models.

Compare provider breadth, official-vs-aggregator boundaries, active priced models, and media workflow coverage.

  • /v1/coverage
  • /v1/providers/{provider_id}/data-boundary
  • /v1/models/search
  • /v1/media/capabilities

Success signal: Teams can compare provider coverage, source boundaries, pricing confidence, and media workflow fit before choosing models.

Plans and Usage

Use the plan catalog to understand quotas, then verify your own key with /v1/account/usage before sharing a demo.

1,000 requests

Dev Preview

Builders testing the API before paid rollout.

Rate limit
20 requests/min
Usage check
/v1/account/usage

Included workflows: Customer Access

  • /v1/catalog/facets
  • /v1/models/search
  • /v1/demo/examples
  • /v1/account/usage
  • /v1/release/readiness

Use marketplace checkout or contact sales, then verify the persisted key with /v1/account/usage.

25,000 requests

Starter

Small apps, dashboards, and agent workflows comparing model cost and fit.

Rate limit
60 requests/min
Usage check
/v1/account/usage

Included workflows: Cost Control, Model Intake, Model Migration, Provider Offerings

  • /v1/models/search
  • /v1/catalog/facets
  • /v1/models/resolve
  • /v1/models/compare
  • /v1/models/alternatives
  • /v1/models/replacements
  • +19 more endpoint patterns

Use marketplace checkout or contact sales, then verify the persisted key with /v1/account/usage.

250,000 requests

Pro

Production dashboards, procurement workflows, and catalog health monitoring.

Rate limit
120 requests/min
Usage check
/v1/account/usage

Included workflows: Cost Control, Model Intake, Model Migration, Provider Offerings, Catalog Health

  • /v1/models/search
  • /v1/catalog/facets
  • /v1/models/resolve
  • /v1/models/compare
  • /v1/models/alternatives
  • /v1/models/replacements
  • +21 more endpoint patterns

Use marketplace checkout or contact sales for Pro, then verify the persisted key with /v1/account/usage. Webhook alert delivery is operator-configured for paid deployments.

Contracted requests

Business

High-volume teams needing custom quotas, refresh policy, or support expectations.

Rate limit
Contracted rate
Usage check
/v1/account/usage

Included workflows: Cost Control, Model Intake, Model Migration, Provider Offerings, Catalog Health

  • /v1/models/search
  • /v1/catalog/facets
  • /v1/models/resolve
  • /v1/models/compare
  • /v1/models/alternatives
  • /v1/models/replacements
  • +21 more endpoint patterns

Contact sales for contracted quota, rate limits, dedicated refresh policy, and support expectations. Verify the provisioned persisted key with /v1/account/usage.

Guided API Workflows

Start with one developer question, then run the API calls in order. These flows cover cost control, migration, provider-offering discovery, catalog monitoring, and metered access.

Reduce model spend without guessing

Question: Which active model options can handle coding work, and what would a real request cost?

Outcome: Starts with active source-backed OpenAI records, then returns cheaper candidates, explicit tradeoffs, and a token-level cost estimate.

Data boundary: Decision steps use the source-backed production catalog by default. Sandbox fallback URLs are available for local evaluation before production imports are connected.

  1. List active OpenAI flagship models
    http://api.meteredapis.net/v1/models/search?provider=openai&status=active&query=gpt-5.5&sort=context&limit=5&include_sources=false

    Response highlights: items[].key, items[].status, items[].pricing, total_count

  2. Find cheaper coding alternatives
    http://api.meteredapis.net/v1/models/alternatives?model=openai%3Agpt-5.5&use_case=cheap-coding&require_lower_cost=true&min_trust_score=60&limit=5

    Response highlights: baseline.model.key, alternatives[].model.key, alternatives[].cost_savings_per_million_usd

  3. Estimate token cost
    http://api.meteredapis.net/v1/cost/estimate

    Response highlights: estimated_cost_usd, line_items[].estimated_cost_usd, assumptions

  4. Compare shortlisted coding models
    http://api.meteredapis.net/v1/models/compare?use_case=cheap-coding&model=openai%3Agpt-5.5&model=anthropic%3Aclaude-opus-4-8&model=xai%3Agrok-4.3

    Response highlights: best_model, models[].score.total, models[].tradeoffs

Prevent a model shutdown from becoming an outage

Question: A repo uses a deprecated model. What should replace it and why?

Outcome: Returns a same-provider migration recommendation, replacement candidates, lifecycle risk, and source evidence.

Data boundary: Migration recommendation and audit steps use the source-backed production catalog by default and expose sandbox fallback URLs so local demos stay runnable before production lifecycle imports are connected.

  1. Get migration brief
    http://api.meteredapis.net/v1/models/migration-brief?model=anthropic%3Aclaude-sonnet-4-20250514&use_case=production-stable&limit=3

    Response highlights: recommendation.action, recommendation.recommended_model_key, risk.score, evidence

  2. Find production-stable replacements
    http://api.meteredapis.net/v1/models/replacements?model=anthropic%3Aclaude-sonnet-4-20250514&use_case=production-stable&limit=3

    Response highlights: baseline.model.key, replacements[].model.key, replacements[].replacement_score

  3. Audit migration evidence
    http://api.meteredapis.net/v1/models/anthropic/claude-sonnet-4-20250514/sources?threshold_percent=1

    Response highlights: observations[].source_id, canonical_model.status, notes

Decide whether a new model string is safe to use

Question: A provider announces a model or a repo contains an unknown model string. Can we use it yet?

Outcome: Classifies known, near-match, and unknown model strings so teams and agents know when to use, review, or refresh sources before rollout.

Data boundary: Use the source-backed production catalog for production triage. If a model stays unresolved, do not invent availability, pricing, context, or capabilities; refresh imports or inspect readiness/source evidence first.

  1. Resolve model strings
    http://api.meteredapis.net/v1/models/resolve

    Response highlights: results[].input, results[].resolved_key, results[].candidates[].model.key, results[].warnings

  2. Review repo model strings
    http://api.meteredapis.net/v1/models/migration-briefs

    Response highlights: summary.needs_review_count, summary.unresolved_count, items[].input, items[].status, items[].resolved_key, items[].warnings

  3. Discover valid filters
    http://api.meteredapis.net/v1/catalog/facets

    Response highlights: provider_ids, statuses, capabilities, model_key_examples

Monitor whether the catalog is safe to trust

Question: Are production provider records fresh enough and are there missing prices or alerts?

Outcome: Returns provider health, active pricing-gap checks, price-disagreement checks, recent alert events, and explicit clean no-gap or no-alert states.

Data boundary: Uses the source-backed production catalog because operational monitoring should reflect the production database after imports.

  1. Monitor production catalog health
    http://api.meteredapis.net/v1/monitoring/summary?provider=openai

    Response highlights: provider_count, model_count, pricing_gap_count, scheduler.enabled

  2. Find active pricing gaps
    http://api.meteredapis.net/v1/pricing/gaps?provider=openai&status=active&source_scope=all&limit=3

    Response highlights: checked_model_count, gap_count, notes

  3. Find price discrepancies
    http://api.meteredapis.net/v1/pricing/discrepancies?provider=openai&threshold_percent=1&limit=20

    Response highlights: checked_model_count, discrepancy_count, notes

  4. Read recent alerts
    http://api.meteredapis.net/v1/alerts/recent?provider=openai&limit=10

    Response highlights: alert_count, alerts[].severity, notes

Verify API access and limits

Question: Can a developer use one key and see usage, remaining capacity, and rate limits?

Outcome: Confirms that a key works and shows usage and limits without exposing secrets.

Data boundary: Requires a real demo/customer key. Raw keys are never persisted, and usage is counted by API-key hash.

  1. Discover valid filters
    http://api.meteredapis.net/v1/catalog/facets

    Response highlights: provider_ids, statuses, capabilities, model_key_examples

  2. Check current key usage
    http://api.meteredapis.net/v1/account/usage

    Response highlights: plan_id, monthly_quota, remaining_this_month, rate_limit_per_minute

See what every provider offers

Question: What does each provider offer, where is the data official, and which media workflows can we compare?

Outcome: Returns provider coverage, source boundaries, one provider's active priced model list, and media workflow coverage so teams can compare the catalog before choosing models.

Data boundary: Coverage steps use the source-backed production catalog by default. Data-boundary fields separate official pricing/model/lifecycle sources from mixed, secondary, aggregator-only, unsupported, or missing areas.

  1. List provider offering coverage
    http://api.meteredapis.net/v1/coverage

    Response highlights: provider_id, model_count, official_model_count, has_pricing_source, latest_model_verified_at

  2. Explain OpenAI data boundary
    http://api.meteredapis.net/v1/providers/openai/data-boundary

    Response highlights: has_official_pricing, official_pricing_source_ids, boundaries[].area, recommended_source_scope

  3. List one provider's active priced models
    http://api.meteredapis.net/v1/models/search?provider=openai&status=active&max_output_price=50&include_sources=false&limit=5

    Response highlights: items[].key, items[].pricing, items[].source_confidence, items[].context_window_tokens

  4. Discover media workflows and coverage
    http://api.meteredapis.net/v1/media/capabilities?source_scope=all

    Response highlights: workflows[].id, provider_coverage, supported_cost_units, notes

API Recipes

Replace https://YOUR_HOST with this host or your deployed domain, then provide X-API-Key. Keep keys in your environment or Swagger Authorize.

GET

Discover valid filters

Use this to populate provider, status, capability, use-case, and model-key inputs.

http://api.meteredapis.net/v1/catalog/facets

Response highlights: provider_ids, statuses, capabilities, model_key_examples

curl "https://YOUR_HOST/v1/catalog/facets" -H "X-API-Key: $MODELWATCH_CUSTOMER_API_KEY"
GET

Check current key usage

Use this after authenticating a demo or customer key to show plan metadata, used requests, remaining quota, and rate limit.

http://api.meteredapis.net/v1/account/usage

Response highlights: plan_id, monthly_quota, remaining_this_month, rate_limit_per_minute

curl "https://YOUR_HOST/v1/account/usage" -H "X-API-Key: $MODELWATCH_CUSTOMER_API_KEY"
GET

List active OpenAI flagship models

Start here for a production developer demo with active source-backed OpenAI flagship records.

http://api.meteredapis.net/v1/models/search?provider=openai&status=active&query=gpt-5.5&sort=context&limit=5&include_sources=false

Response highlights: items[].key, items[].status, items[].pricing, total_count

Sandbox fallback: http://api.meteredapis.net/v1/models/search?catalog=all&provider=openai&status=active&query=gpt-5.5&sort=context&limit=5&include_sources=false

Optional sandbox fallback before production imports are connected.

curl "https://YOUR_HOST/v1/models/search?provider=openai&status=active&query=gpt-5.5&sort=context&limit=5&include_sources=false" -H "X-API-Key: $MODELWATCH_CUSTOMER_API_KEY"
GET

Count matching models

Use this for pagination, UI badges, and quick catalog-size checks.

http://api.meteredapis.net/v1/models/count?provider=openai&capability=coding

Response highlights: total_count, catalog, provider_filter, capability_filters

Sandbox fallback: http://api.meteredapis.net/v1/models/count?catalog=all&provider=openai&capability=coding

Optional sandbox fallback before production imports are connected.

curl "https://YOUR_HOST/v1/models/count?provider=openai&capability=coding" -H "X-API-Key: $MODELWATCH_CUSTOMER_API_KEY"
GET

List provider offering coverage

Use this to show which providers have source-backed models, official source coverage, pricing coverage, and latest verification metadata.

http://api.meteredapis.net/v1/coverage

Response highlights: provider_id, model_count, official_model_count, has_pricing_source, latest_model_verified_at

Sandbox fallback: http://api.meteredapis.net/v1/coverage?catalog=all

Optional sandbox fallback before production imports are connected.

curl "https://YOUR_HOST/v1/coverage" -H "X-API-Key: $MODELWATCH_CUSTOMER_API_KEY"
GET

Explain OpenAI data boundary

Use this to explain which OpenAI claims are official, mixed, aggregator-backed, unsupported, or missing.

http://api.meteredapis.net/v1/providers/openai/data-boundary

Response highlights: has_official_pricing, official_pricing_source_ids, boundaries[].area, recommended_source_scope

Sandbox fallback: http://api.meteredapis.net/v1/providers/openai/data-boundary?catalog=all

Optional sandbox fallback before production imports are connected.

curl "https://YOUR_HOST/v1/providers/openai/data-boundary" -H "X-API-Key: $MODELWATCH_CUSTOMER_API_KEY"
GET

List one provider's active priced models

Use this when a team needs to inspect one provider's active, priced catalog under lifecycle and price filters.

http://api.meteredapis.net/v1/models/search?provider=openai&status=active&max_output_price=50&include_sources=false&limit=5

Response highlights: items[].key, items[].pricing, items[].source_confidence, items[].context_window_tokens

Sandbox fallback: http://api.meteredapis.net/v1/models/search?catalog=all&status=active&max_output_price=50&include_sources=false&limit=5

Optional sandbox fallback before production imports are connected.

curl "https://YOUR_HOST/v1/models/search?provider=openai&status=active&max_output_price=50&include_sources=false&limit=5" -H "X-API-Key: $MODELWATCH_CUSTOMER_API_KEY"
GET

Find cheapest coding models

Use this to find the lowest-cost model that still matches a capability.

http://api.meteredapis.net/v1/models/cheapest?capability=coding&min_context_tokens=128000&limit=5

Response highlights: models[].model.key, models[].model.pricing, models[].model.context_window_tokens

Sandbox fallback: http://api.meteredapis.net/v1/models/cheapest?catalog=all&capability=coding&min_context_tokens=128000&limit=5

Optional sandbox fallback before production imports are connected.

curl "https://YOUR_HOST/v1/models/cheapest?capability=coding&min_context_tokens=128000&limit=5" -H "X-API-Key: $MODELWATCH_CUSTOMER_API_KEY"
POST

Estimate token cost

Use this when you know token volume and need an immediate dollar estimate.

http://api.meteredapis.net/v1/cost/estimate

Response highlights: estimated_cost_usd, line_items[].estimated_cost_usd, assumptions

Sandbox fallback body: Optional sandbox fallback before production imports are connected.

{
  "cached_input_tokens": 50000,
  "catalog": "all",
  "input_tokens": 100000,
  "model": "openai:gpt-5.4-mini",
  "output_tokens": 5000
}
{
  "cached_input_tokens": 50000,
  "input_tokens": 100000,
  "model": "openai:gpt-5.4-mini",
  "output_tokens": 5000
}
curl -X POST "https://YOUR_HOST/v1/cost/estimate" -H "X-API-Key: $MODELWATCH_CUSTOMER_API_KEY" -H "Content-Type: application/json" -d '{"model":"openai:gpt-5.4-mini","input_tokens":100000,"cached_input_tokens":50000,"output_tokens":5000}'
POST

Resolve model strings

Use this when a codebase, log, or aggregator catalog has model IDs without canonical provider:model_id keys.

http://api.meteredapis.net/v1/models/resolve

Response highlights: results[].input, results[].resolved_key, results[].candidates[].model.key, results[].warnings

Sandbox fallback body: Optional sandbox fallback before production imports are connected.

{
  "catalog": "all",
  "include_candidates": true,
  "inputs": [
    "gpt-5.4-mini",
    "openrouter/openai/gpt-5.4-mini",
    "claude-sonnet"
  ],
  "limit_per_input": 5,
  "source_scope": "official_or_mixed"
}
{
  "include_candidates": true,
  "inputs": [
    "gpt-5.4-mini",
    "openrouter/openai/gpt-5.4-mini",
    "claude-sonnet"
  ],
  "limit_per_input": 5,
  "source_scope": "official_or_mixed"
}
curl -X POST "https://YOUR_HOST/v1/models/resolve" -H "X-API-Key: $MODELWATCH_CUSTOMER_API_KEY" -H "Content-Type: application/json" -d '{"source_scope":"official_or_mixed","inputs":["gpt-5.4-mini","openrouter/openai/gpt-5.4-mini","claude-sonnet"],"limit_per_input":5,"include_candidates":true}'
GET

Find cheaper coding alternatives

Use this for cost reviews against a known baseline model.

http://api.meteredapis.net/v1/models/alternatives?model=openai%3Agpt-5.5&use_case=cheap-coding&require_lower_cost=true&min_trust_score=60&limit=5

Response highlights: baseline.model.key, alternatives[].model.key, alternatives[].cost_savings_per_million_usd

Sandbox fallback: http://api.meteredapis.net/v1/models/alternatives?catalog=all&model=openai%3Agpt-5.5&use_case=cheap-coding&require_lower_cost=true&min_trust_score=60&limit=5

Optional sandbox fallback before production imports are connected.

curl "https://YOUR_HOST/v1/models/alternatives?model=openai%3Agpt-5.5&use_case=cheap-coding&require_lower_cost=true&min_trust_score=60&limit=5" -H "X-API-Key: $MODELWATCH_CUSTOMER_API_KEY"
GET

Find production-stable replacements

Use this when a model is deprecated, risky, expensive, or not stable enough.

http://api.meteredapis.net/v1/models/replacements?model=anthropic%3Aclaude-sonnet-4-20250514&use_case=production-stable&limit=3

Response highlights: baseline.model.key, replacements[].model.key, replacements[].replacement_score

Sandbox fallback: http://api.meteredapis.net/v1/models/replacements?catalog=all&model=anthropic%3Aclaude-sonnet-4-20250514&use_case=production-stable&limit=3

Optional sandbox fallback before lifecycle imports are connected.

curl "https://YOUR_HOST/v1/models/replacements?model=anthropic%3Aclaude-sonnet-4-20250514&use_case=production-stable&limit=3" -H "X-API-Key: $MODELWATCH_CUSTOMER_API_KEY"
GET

Get migration brief

Decide whether to keep, replace, or monitor a model using source-backed production observations.

http://api.meteredapis.net/v1/models/migration-brief?model=anthropic%3Aclaude-sonnet-4-20250514&use_case=production-stable&limit=3

Response highlights: recommendation.action, recommendation.recommended_model_key, risk.score, evidence

Sandbox fallback: http://api.meteredapis.net/v1/models/migration-brief?catalog=all&model=anthropic%3Aclaude-sonnet-4-20250514&use_case=production-stable&limit=3

Optional sandbox fallback before lifecycle imports are connected.

curl "https://YOUR_HOST/v1/models/migration-brief?model=anthropic%3Aclaude-sonnet-4-20250514&use_case=production-stable&limit=3" -H "X-API-Key: $MODELWATCH_CUSTOMER_API_KEY"
POST

Review repo model strings

Use this for codebase scans that find exact, raw, or unresolved model strings.

http://api.meteredapis.net/v1/models/migration-briefs

Response highlights: summary.needs_review_count, summary.unresolved_count, items[].input, items[].status, items[].resolved_key, items[].warnings

Sandbox fallback body: Optional sandbox fallback before lifecycle imports are connected.

{
  "as_of": "2025-01-01",
  "catalog": "all",
  "limit": 3,
  "models": [
    "anthropic:claude-sonnet-4-20250514",
    "gpt-5.4-mini",
    "claude-sonnet",
    "definitely-not-a-model"
  ],
  "source_scope": "official_or_mixed",
  "use_case": "production-stable"
}
{
  "as_of": "2025-01-01",
  "limit": 3,
  "models": [
    "anthropic:claude-sonnet-4-20250514",
    "gpt-5.4-mini",
    "claude-sonnet",
    "definitely-not-a-model"
  ],
  "source_scope": "official_or_mixed",
  "use_case": "production-stable"
}
curl -X POST "https://YOUR_HOST/v1/models/migration-briefs" -H "X-API-Key: $MODELWATCH_CUSTOMER_API_KEY" -H "Content-Type: application/json" -d '{"source_scope":"official_or_mixed","models":["anthropic:claude-sonnet-4-20250514","gpt-5.4-mini","claude-sonnet","definitely-not-a-model"],"use_case":"production-stable","limit":3,"as_of":"2025-01-01"}'
POST

Evaluate model policy

Use this in CI when a model string must satisfy provider, lifecycle, capability, price, trust, and risk rules.

http://api.meteredapis.net/v1/policies/evaluate

Response highlights: passed, model_key, resolver_result.resolved_key

Sandbox fallback body: Optional sandbox fallback before production imports are connected.

{
  "allowed_providers": [
    "openai"
  ],
  "as_of": "2025-01-01",
  "banned_statuses": [
    "deprecated",
    "retired"
  ],
  "catalog": "all",
  "max_blended_cost_per_million_usd": 15,
  "max_output_price": 5,
  "max_risk_score": 60,
  "min_trust_score": 60,
  "model": "gpt-5.4-mini",
  "required_capabilities": [
    "text",
    "coding"
  ],
  "source_scope": "official_or_mixed",
  "use_case": "cheap-coding"
}
{
  "allowed_providers": [
    "openai"
  ],
  "as_of": "2025-01-01",
  "banned_statuses": [
    "deprecated",
    "retired"
  ],
  "max_blended_cost_per_million_usd": 15,
  "max_output_price": 5,
  "max_risk_score": 60,
  "min_trust_score": 60,
  "model": "gpt-5.4-mini",
  "required_capabilities": [
    "text",
    "coding"
  ],
  "source_scope": "official_or_mixed",
  "use_case": "cheap-coding"
}
curl -X POST "https://YOUR_HOST/v1/policies/evaluate" -H "X-API-Key: $MODELWATCH_CUSTOMER_API_KEY" -H "Content-Type: application/json" -d '{"model":"gpt-5.4-mini","source_scope":"official_or_mixed","use_case":"cheap-coding","required_capabilities":["text","coding"],"allowed_providers":["openai"],"banned_statuses":["deprecated","retired"],"max_output_price":5,"max_blended_cost_per_million_usd":15,"min_trust_score":60,"max_risk_score":60,"as_of":"2025-01-01"}'
GET

Discover media workflows and coverage

Show supported media workflows, provider coverage, and cost units; ModelWatch compares media choices but does not proxy generation calls.

http://api.meteredapis.net/v1/media/capabilities?source_scope=all

Response highlights: workflows[].id, provider_coverage, supported_cost_units, notes

Sandbox fallback: http://api.meteredapis.net/v1/media/capabilities?catalog=all&source_scope=all

Optional sandbox fallback before media imports are connected.

curl "https://YOUR_HOST/v1/media/capabilities?source_scope=all" -H "X-API-Key: $MODELWATCH_CUSTOMER_API_KEY"
POST

Select image generation model

Compare image-generation capability, media unit cost, lifecycle, and trust; ModelWatch does not proxy generation calls.

http://api.meteredapis.net/v1/media/select

Response highlights: best_model, models[].profile.model.key, models[].estimated_cost_usd, ranking_basis

Sandbox fallback body: Optional sandbox fallback before media imports are connected.

{
  "catalog": "all",
  "image_count": 4,
  "limit": 5,
  "min_trust_score": 0,
  "source_scope": "official_or_mixed",
  "workflow": "image_generation"
}
{
  "image_count": 4,
  "limit": 5,
  "min_trust_score": 50,
  "source_scope": "official_or_mixed",
  "workflow": "image_generation"
}
curl -X POST "https://YOUR_HOST/v1/media/select" -H "X-API-Key: $MODELWATCH_CUSTOMER_API_KEY" -H "Content-Type: application/json" -d '{"workflow":"image_generation","source_scope":"official_or_mixed","image_count":4,"min_trust_score":50,"limit":5}'
GET

Compare explicit candidate models

Use this when engineering or procurement already has a shortlist.

http://api.meteredapis.net/v1/models/compare?use_case=frontier-coding&model=openai%3Agpt-5.5&model=anthropic%3Aclaude-opus-4-8&model=xai%3Agrok-4.3

Response highlights: best_model, models[].score.total, models[].strengths

Sandbox fallback: http://api.meteredapis.net/v1/models/compare?catalog=all&use_case=frontier-coding&model=openai%3Agpt-5.5&model=anthropic%3Aclaude-opus-4-8&model=xai%3Agrok-4.3

Optional sandbox fallback before production imports are connected.

curl "https://YOUR_HOST/v1/models/compare?use_case=frontier-coding&model=openai%3Agpt-5.5&model=anthropic%3Aclaude-opus-4-8&model=xai%3Agrok-4.3" -H "X-API-Key: $MODELWATCH_CUSTOMER_API_KEY"
GET

Audit sources for one model

Use this to explain where pricing and lifecycle data came from.

http://api.meteredapis.net/v1/models/openai/gpt-5.4-mini/sources?threshold_percent=1

Response highlights: observations[].source_id, canonical_model.status, notes

Sandbox fallback: http://api.meteredapis.net/v1/models/openai/gpt-5.4-mini/sources?catalog=all&threshold_percent=1

Optional sandbox fallback before production imports are connected.

curl "https://YOUR_HOST/v1/models/openai/gpt-5.4-mini/sources?threshold_percent=1" -H "X-API-Key: $MODELWATCH_CUSTOMER_API_KEY"
GET

Monitor production catalog health

Use this for dashboard cards and operational checks.

http://api.meteredapis.net/v1/monitoring/summary?provider=openai

Response highlights: provider_count, model_count, pricing_gap_count, scheduler.enabled

Sandbox fallback: http://api.meteredapis.net/v1/monitoring/summary?catalog=all&provider=openai

Optional sandbox fallback before production imports are connected.

curl "https://YOUR_HOST/v1/monitoring/summary?provider=openai" -H "X-API-Key: $MODELWATCH_CUSTOMER_API_KEY"
GET

Find active pricing gaps

Use this to see active models that are missing required pricing fields without historical migration noise.

http://api.meteredapis.net/v1/pricing/gaps?provider=openai&status=active&source_scope=all&limit=3

Response highlights: checked_model_count, gap_count, notes

Sandbox fallback: http://api.meteredapis.net/v1/pricing/gaps?catalog=all&provider=openai&status=active&source_scope=all&limit=3

Optional sandbox fallback before production imports are connected.

curl "https://YOUR_HOST/v1/pricing/gaps?provider=openai&status=active&source_scope=all&limit=3" -H "X-API-Key: $MODELWATCH_CUSTOMER_API_KEY"
GET

Find price discrepancies

Use this to catch official-vs-aggregator pricing disagreements; aggregator records are cross-checks, not primary truth.

http://api.meteredapis.net/v1/pricing/discrepancies?provider=openai&threshold_percent=1&limit=20

Response highlights: checked_model_count, discrepancy_count, notes

curl "https://YOUR_HOST/v1/pricing/discrepancies?provider=openai&threshold_percent=1&limit=20" -H "X-API-Key: $MODELWATCH_CUSTOMER_API_KEY"
GET

Read recent alerts

Use this for change feeds, alert widgets, and monitoring demos.

http://api.meteredapis.net/v1/alerts/recent?provider=openai&limit=10

Response highlights: alert_count, alerts[].severity, notes

Sandbox fallback: http://api.meteredapis.net/v1/alerts/recent?catalog=all&provider=openai&limit=10

Optional sandbox fallback before production imports are connected.

curl "https://YOUR_HOST/v1/alerts/recent?provider=openai&limit=10" -H "X-API-Key: $MODELWATCH_CUSTOMER_API_KEY"