Skip to main content

Documentation Index

Fetch the complete documentation index at: https://tinytalk.ai/docs/llms.txt

Use this file to discover all available pages before exploring further.

The Tiny Talk API lets you send messages to your agent programmatically from any backend, script, or integration. The base URL for all requests is:
https://api.tinytalk.ai/v1

Public vs. private agents

Every agent in Tiny Talk is public by default. A public agent accepts messages from anyone without authentication — this is how the embedded chat widget works on your website. When you make an agent private, every request must include a valid API key. Private agents reject unauthenticated requests with a 401 Unauthorized response.
Agent visibilityAPI key required?Use case
PublicNoWebsite chat widget, open-access assistants
PrivateYesServer-to-server integrations, internal tools, controlled access
You can change an agent’s visibility in the dashboard under Settings → General.

API key

To authenticate API requests, include your API key in the api-key header:
api-key: tiny_sk_your_key_here

Getting your API key

1

Open the dashboard

Go to dashboard.tinytalk.ai and select your agent.
2

Navigate to Integrations

Click Integrations in the sidebar, then scroll find Hub → Tiny Talk section.
3

Create an API key

Click Create API Key. Your key is shown once — copy it and store it securely.
Keep your API key secret. Do not expose it in client-side code, public repositories, or browser requests. Use it only from your server or backend.

API key benefits

Requests authenticated with a valid API key:
  • Can access private agents
  • Bypass rate limiting — no per-user message throttling
  • Are identified as trusted server-to-server traffic

Rate limiting

Unauthenticated requests (public agents without an API key) are rate-limited per user based on the agent’s rate limit settings. When the limit is exceeded, the API returns a 429 status code with rate limit headers:
HeaderDescription
X-RateLimit-LimitMaximum requests allowed in the window
X-RateLimit-RemainingRequests remaining in the current window
X-RateLimit-ResetUnix timestamp when the window resets
Retry-AfterSeconds to wait before retrying

Error format

All errors return a JSON response with a status code and message:
{
  "code": 400,
  "message": "Description of what went wrong"
}
CodeMeaning
200Success
400Bad request — invalid or missing parameters
401Unauthorized — invalid or missing API key for a private agent
403Forbidden — plan limit exceeded (messages or model access)
429Rate limited — too many requests
500Internal server error