DOCS / API REFERENCE / MODELS
Models
http
Authorization: Bearer lattice_sk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxRequires an application API key. Not filtered by the application's model allowlist — this always lists the full registry; the allowlist is enforced at request time on chat completions, not here.
Response
json
type ProviderAdapter = {
id: ProviderId;
createChatCompletion(
request: ChatCompletionRequest,
ctx: ProviderRequestContext,
): Promise<ChatCompletionResponse>;
streamChatCompletion(
request: ChatCompletionRequest,
ctx: ProviderRequestContext,
): AsyncGenerator<ChatCompletionChunk, void, void>;
};
type ProviderRequestContext = {
apiKey?: string;
providerModel: string;
signal: AbortSignal;
};created is the gateway process's boot time (unix seconds), identical across every entry in a given response — it's not a per-model release date.
Aliases appear as separate entries
If a registry model declares aliases, each alias produces its own row in data with the same owned_by, sharing the underlying model:
json
{
"id": "chatcmpl-...",
"object": "chat.completion",
"created": 1755878400,
"model": "gpt-4o",
"choices": [
{
"index": 0,
"message": { "role": "assistant", "content": "..." },
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 42,
"completion_tokens": 118,
"total_tokens": 160
}
} Both gpt-4o and company/smart resolve to the exact same registry entry when used as model in a chat completion request. See Model Registry & Routing.