Prompt data model

Updated:

View field support, webhooks, and list parameters for each integration on the Supported Integrations page.

FieldTypeRequiredDescription
model_idstringNoThe ID of the model to use (a GenaiModel ID)
messagesGenaiContent[]NoThe conversation to send to the model, in order; each message has a role and its content
messages[].roleenumNoValues: SYSTEM, USER, ASSISTANT
messages[].contentstringYes
messages[].imagesstring[]NoImages for the model to evaluate with this message, as base64 data URLs (data:image/png;base64,...). Only for models with has_vision.
temperaturenumberNo0-1
max_tokensnumberNoa float between 0-1
responsesstring[]No
tokens_usednumberNo
mcp_urlstringNoSupply a remote MCP URL to send to the LLM API for it to call its tools. Note: Some LLM APIs do not yet support remote MCP URLs.
mcp_deferred_toolsstring[]No
mcp_authorization_tokenstringNoOAuth Bearer token for MCP servers that require authentication.
questionsGenaiQuestion[]NoTyped questions to evaluate against the messages (for decision models such as TypeSafe Jev).
questions[].idstringYesA caller-chosen key; the matching answer is returned with the same id.
questions[].typeenumYesValues: BOOLEAN, CHOICE, SCORE
questions[].instructionsstringYesThe question to evaluate.
questions[].optionsstring[]NoCHOICE: the options to select from; SCORE: the ordered levels (lowest first).
answersGenaiAnswer[]NoOne answer per question, matched by id.
answers[].idstringYesThe id of the genai_prompt question that this answers.
answers[].typeenumYesValues: BOOLEAN, CHOICE, SCORE
answers[].valuestringNoCHOICE: the selected option.
answers[].scorenumberNoSCORE: the probability-weighted level index; BOOLEAN: the probability (0-1) that the answer is yes.
answers[].probabilitiesGenaiAnswerProbability[]NoCHOICE/SCORE: the probability of every option or level.
answers[].probabilities[].optionstringYesCHOICE: the option; SCORE: the level description.
answers[].probabilities[].probabilitynumberYes0-1
answers[].confidencenumberNo0-1: how certain the model is of the answer.
skill_idsstring[]Noids of the genai_skill objects (Agent Skills) to make available to the LLM while it answers.

TypeScript

TypeScript
export type GenaiPrompt = {
	model_id?: string; // The ID of the model to use (a GenaiModel ID)
	messages?: []; // The conversation to send to the model, in order; each message has a role and its content
	temperature?: number; // 0-1
	max_tokens?: number; // a float between 0-1
	responses?: string[];
	tokens_used?: number;
	mcp_url?: string; // Supply a remote MCP URL to send to the LLM API for it to call its tools.  Note: Some LLM APIs do not yet support remote MCP URLs. 
	mcp_deferred_tools?: string[];
	mcp_authorization_token?: string; // OAuth Bearer token for MCP servers that require authentication.
	questions?: []; // Typed questions to evaluate against the messages (for decision models such as TypeSafe Jev).
	answers?: []; // One answer per question, matched by id.
	skill_ids?: string[]; // ids of the genai_skill objects (Agent Skills) to make available to the LLM while it answers.
	raw?: any;
} 

Zod

Zod
import { z } from 'zod';

export const ZodGenaiPrompt = z.object({
	model_id: z.string().optional().describe("The ID of the model to use (a GenaiModel ID)"),
	messages: z.array().optional().describe("The conversation to send to the model, in order; each message has a role and its content"),
	temperature: z.number().optional().describe("0-1"),
	max_tokens: z.number().optional().describe("a float between 0-1"),
	responses: z.array().optional(),
	tokens_used: z.number().optional(),
	mcp_url: z.string().optional().describe("Supply a remote MCP URL to send to the LLM API for it to call its tools.  Note: Some LLM APIs do not yet support remote MCP URLs. "),
	mcp_deferred_tools: z.array().optional(),
	mcp_authorization_token: z.string().optional().describe("OAuth Bearer token for MCP servers that require authentication."),
	questions: z.array().optional().describe("Typed questions to evaluate against the messages (for decision models such as TypeSafe Jev)."),
	answers: z.array().optional().describe("One answer per question, matched by id."),
	skill_ids: z.array().optional().describe("ids of the genai_skill objects (Agent Skills) to make available to the LLM while it answers."),

});

Python

Python
import dataclasses

@dataclasses.dataclass
class GenaiPrompt:
	"""The ID of the model to use (a GenaiModel ID)"""
	model_id: Optional[str]
	"""The conversation to send to the model, in order; each message has a role and its content"""
	messages: Optional[PropertyGenaiPromptMessages]
	"""0-1"""
	temperature: Optional[int]
	"""a float between 0-1"""
	max_tokens: Optional[int]
	responses: Optional[List[List[str]]]
	tokens_used: Optional[int]
	"""Supply a remote MCP URL to send to the LLM API for it to call its tools.  Note: Some LLM APIs do not yet support remote MCP URLs. """
	mcp_url: Optional[str]
	mcp_deferred_tools: Optional[List[List[str]]]
	"""OAuth Bearer token for MCP servers that require authentication."""
	mcp_authorization_token: Optional[str]
	"""Typed questions to evaluate against the messages (for decision models such as TypeSafe Jev)."""
	questions: Optional[PropertyGenaiPromptQuestions]
	"""One answer per question, matched by id."""
	answers: Optional[PropertyGenaiPromptAnswers]
	"""ids of the genai_skill objects (Agent Skills) to make available to the LLM while it answers."""
	skill_ids: Optional[List[List[str]]]
Are we missing anything? Let us know
Was this page helpful?