Skip to content

Explore CallMissed

Developer API

Build with models, speech, images, and search

Documented APIs under one CallMissed account, with scoped keys, a searchable model catalog, and a browser playground.

  • OpenAI-compatible chat, audio, and image request patterns
  • Dedicated web-search endpoint with source-aware results
  • Scoped API keys for service and resource access
  • Model metadata and pricing published in the catalog

Build a request that runs as pasted

Pick an endpoint and tune the fields it really accepts. The curl on the right updates as you change them — copy it, swap in your key, and it runs.

POST /v1/chat/completions

curl
curl -X POST https://api.callmissed.com/v1/chat/completions \
  -H "Authorization: Bearer cm_your_key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "sarvam-105b",
    "messages": [
      {
        "role": "user",
        "content": "What is the capital of India?"
      }
    ]
  }'

Simulated example. Replace cm_your_key with a key that carries this endpoint's permission.

Quickstart

Keep your SDK. Change two lines.

The chat, audio and image endpoints follow the OpenAI request shape, and there is a Messages-API-compatible endpoint too. Point the client at api.callmissed.com and use your cm_ key.

from openai import OpenAI

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

response = client.chat.completions.create(
    model="sarvam-105b",
    messages=[{"role": "user", "content": "Namaste!"}],
)
print(response.choices[0].message.content)

Before you ship

  1. 1

    Create a scoped key

    Grant only the service and resource permissions required by this application.

  2. 2

    Confirm the model

    Check current availability, capabilities, and pricing in the model catalog.

  3. 3

    Handle errors and usage

    Follow the endpoint guide for status codes and review request usage from the dashboard.

Full quickstart in the docs

One key, only the scopes it needs

Every endpoint answers to the same cm_ key, but the key decides what it may touch. Try it: flip a permission and watch which doors open.

  • llmChat, messages, embeddings
  • sttTranscription and translation
  • ttsSpeech synthesis
  • imageImage generation
  • searchWeb search
Permissions on this key

cm_… • permissions

Keys are created in the console under Developer → API keys. Grant only what the application needs.

This key can call 3 of 6 endpoints

  • Chat completions/v1/chat/completionsllmallowed
  • Embeddings/v1/embeddingsllmallowed
  • Speech to text/v1/audio/transcriptionssttblocked — needs the stt permission
  • Text to speech/v1/audio/speechttsallowed
  • Image generation/v1/images/generationsimageblocked — needs the image permission
  • Web search/v1/searchsearchblocked — needs the search permission

A call without the permission comes back as 403 permission_denied. Simulated example.

Read the response, not just the body

Errors arrive in one stable envelope, and the headers tell you about credits and limits before the body does. Pick a status to see it.

HTTP 429 Too many requests

{
  "error": {
    "code": "rate_limit_exceeded",
    "message": "Rate limit exceeded — back off and retry",
    "type": "rate_limit_error"
  }
}

Headers on this response

  • Retry-After
  • X-RateLimit-Remaining
  • X-Credits-Balance

Honor Retry-After (seconds) and back off exponentially. A plan’s monthly cap also returns 429 until the 1st.

X-RateLimit-Remaining
Requests left in the current window
X-Credits-Balance
Credits left on the account
X-Usage-Warning
Appears at 80% and 95% of plan usage
Retry-After
Sent with a 429 so you know when to try again
Idempotency-Key
Send it on POST, PUT or PATCH to make a retry safe

Developer API questions, answered

Which CallMissed APIs use the OpenAI SDK?
The documented chat, audio, and image endpoints follow OpenAI-compatible request patterns. Set the SDK base URL to https://api.callmissed.com/v1 and authenticate with a cm_ API key. Check each endpoint guide for model-specific parameters.
How do I choose a model?
Use the CallMissed model catalog to compare category, creator, pricing, context, free-plan status, and capability metadata. The in-product catalog and API listing are the current sources for availability.
Can one API key access every service?
Access depends on the service and resource permissions granted to that key. Use separate scoped keys for separate applications and grant only the permissions each application needs.
Are voice agents and WhatsApp part of the Developer API?
The voice agent is a developer API: one WebSocket, called with the same key, running the whole speech pipeline for you. WhatsApp has its own onboarding and runtime flow. The inference APIs on this page provide the model, speech, image and search capabilities behind both.
Where should I test a request?
Use the API Playground for browser-based testing, then use the documentation examples to move the request into your server application.
Where can I see current pricing?
Use the model catalog and pricing page for current model and plan information. Avoid relying on a copied price because model availability and pricing can change.