Conversations
Generate Answer
Send a message event into Fini and return the public events created for that submission.
POST
Use this endpoint when your backend needs to send a turn into Fini. Pass
interactionId to continue an existing conversation, or botId to let Fini create or resolve one for that agent. The route stores the incoming event, runs the normal reply flow for user messages, and returns the public event objects created while handling that submission.
Headers
string
required
Bearer token containing your Fini workspace API key. Format:
Bearer fini_... The key needs write scope.Body parameters
string
required
Message text to add as the incoming event.
string
default:"user"
Event role. Allowed values are
user, agent, finibot, and otherbot. Most public callers should use user.string
Existing conversation ID to continue. If omitted, provide
botId and Fini will create or resolve a conversation for that bot.string
Agent ID to use when starting a new conversation. Required when
interactionId is omitted.object
Optional conversation metadata to merge into the request state.
object
Optional generation artifacts to use for this answer. Use this when you want Fini to answer with a specific prompt draft, knowledge snapshot, article drafts, or rule versions.
Public file attachments are not accepted by
Generate Answer. Use artifacts for prompt, knowledge, and rule-version inputs that affect answer generation.Request example
If you send
role: "agent" or another non-user role, Fini stores that event and returns it immediately. The route only generates a new AI reply for user events.Response
The response is a top-level array of public events created while handling this submission. This is the same event shape returned insideevents[] on List conversations.
The request body sends incoming text as
content. Public event responses expose stored event text as message, including both the user event created from your content and any Fini reply generated for that turn.array
Array of public events created for the submission.
The
attachments, tags, and usedArticles arrays can be intentionally empty
for events that do not include files, labels, or retrieved articles.Errors
400 Bad Request
400 Bad Request
The body is malformed. Common causes are omitting
content, or omitting both interactionId and botId.403 Forbidden
403 Forbidden
The API key does not include the
write scope required for this route.500 Internal Server Error
500 Internal Server Error
Fini failed while resolving the bot, loading or creating the conversation, persisting the event, or generating the reply. Unknown
interactionId or botId values currently surface here on the public route as well. Retry once, then investigate the conversation in Inbox if the error persists.
