Skip to main content

Overview

GoModel exposes OpenAI-compatible Conversations API endpoints under /v1/conversations. Conversations are a gateway-managed resource. The OpenAI Conversations API is provider-specific, so GoModel generates the conversation ID and stores the conversation itself. This keeps /v1/conversations available and consistent regardless of which provider routes your model traffic, and requires no provider configuration.

Supported endpoints

EndpointBehavior
POST /v1/conversationsCreates a conversation. Accepts optional items and metadata.
GET /v1/conversations/{id}Returns a stored conversation.
POST /v1/conversations/{id}Replaces the conversation metadata in full.
DELETE /v1/conversations/{id}Deletes a stored conversation.

Conversation object

metadata is always present and serializes as {} when empty.

Limits

GoModel enforces the OpenAI Conversations limits so the public contract stays compatible:
  • items — at most 20 entries on create.
  • metadata — at most 16 key-value pairs; keys up to 64 characters; values up to 512 characters.
The items array is accepted and stored with the conversation. It is not yet exposed through a conversation items listing endpoint.

Storage and retention

Conversations are held in an in-memory store. They survive across requests but not process restarts. Retention is bounded: conversations expire after 30 days and the store keeps at most 10,000 conversations, evicting the oldest first.

Errors

GoModel returns OpenAI-compatible errors:
  • 400 invalid_request_error — invalid body, missing metadata on update, or a limit exceeded (the param field names the offending field).
  • 404 not_found_error — the conversation ID does not exist.

Examples

Create a conversation:
Retrieve it:
Update its metadata (replaces all metadata):
Delete it: