Skip to main content
Use /generate for direct ThinkFeel requests. Send a persona ID and full message history. The response returns the selected final reply and optional alternatives.

Headers

HeaderTypeRequiredDescription
Content-TypestringYesMust be application/json
x-api-keystringConditionalAPI key for API-key billing
AuthorizationstringConditionalAlternative bearer format: Bearer YOUR_API_KEY_HERE

Body parameters

ParameterTypeRequiredDescription
personaIdstringYesPersona UUID provided during onboarding
messagesarrayYesConversation messages to use as context
messages[].rolestringYesuser, assistant, system, or developer
messages[].contentstring or text arrayYesPlain text, or an array of text parts shaped as { type: "text", text: string }
messages[].timestampnumber or stringNoOptional timestamp; createdAt and created_at are also accepted
includeVariationsbooleanNoReturn alternative reply choices. Defaults to false
messages[] must contain at least one message. Use user for the final user turn; assistant cannot be the last message. system and developer messages are accepted as text-only context and should be placed before the final user turn. The final user message must have non-empty content. Only text content is supported.

Request

Default response

When includeVariations is false, the API returns the final reply and chunks.

Response with variations

When includeVariations is true, the API may include replyChoices.
API-key /generate responses may also include a top-level rateLimits array when rate-limit metadata is available for your account.

SDK and CLI notes

The ThinkFeel SDK wraps /api/v1/generate and /api/v1/personify. It does not wrap /api/v1/completions, which remains the OpenAI-compatible endpoint.
The ThinkFeel SDK package is currently 0.1.6 and supports:
  • new ThinkFeel({ apiKey, personaId, baseUrl? })
  • generate({ messages, includeVariations? })
  • personify({ raw })
When setting SDK baseUrl, pass only the site origin, such as https://playground.curvelabs.org; the SDK appends /api/v1 internally.