StackYakdocs

API

The public API is an inference API. It serves chat completions, embeddings, and a model listing. That is the entire customer-facing surface today.

There is no REST resource API. No quotes, no orders, no invoices, no key management over HTTP. Everything commercial and administrative happens in the product. If you are planning an integration around a resource API, it does not exist — better to know that now than in week three.

The base URL is https://api.stackyak.ai. It is OpenAI-compatible, so an existing OpenAI client works by changing the base URL and the key — the model listing included.

The whole surface

EndpointMethodDoes
/v1/modelsGETLists the models available to your account
/v1/chat/completionsPOSTChat completion, streaming or not
/v1/embeddingsPOSTEmbeddings

That is the complete list. Anything else you find on the host is internal and is not a customer surface.

A dedicated endpoint can speak Anthropic instead

The shared host above is always OpenAI. A dedicated stack has its own hostname, and you choose which API it serves on the stack's Credentials tab: OpenAI, which is the default and what the table above describes, or Anthropic.

OpenAIAnthropic
CompletionPOST /v1/chat/completionsPOST /v1/messages
ListingGET /v1/models → {"object": "list", …}GET /v1/models → {"data": […], "has_more": …}
AuthAuthorization: Bearer yki_…the same key, on x-api-key or the bearer
Versionnoneanthropic-version: 2023-06-01, optional

/v1/embeddings is unchanged in either mode, since Anthropic has no counterpart for it.

An endpoint serves one of the two, not both: in Anthropic mode /v1/chat/completions answers the same 404 as any other path that is not there. Changing the setting therefore breaks callers pointed at the old path, and your keys and hostname stay as they are.

Tool use is not available on the Anthropic shape yet. A request carrying tools is refused rather than answered without them; use an OpenAI client for tool calling today.

Getting in, controlling where it runs, and handling failure

Authentication — how to create a key, what it is scoped to, and what a leaked one exposes.

Routing — how a request finds a node, and how to send one to hardware you own rather than the shared pool.

Errors — every refusal this API returns, what caused it, and which ones are worth retrying.

This section is still being written

Pages for authentication, streaming, rate limits and the SDKs are in progress, and each is linked here as it lands. In the meantime, Ask the Yak in the product answers questions against your real account, and anything wrong or missing on this page is treated as a product defect worth reporting.

On this page