openapi: 3.1.0 info: title: Arthur GenAI Engine Agent Discovery Prompts API version: 2.1.688 tags: - name: Prompts paths: /api/v1/tasks/{task_id}/prompts/{prompt_name}/versions/{prompt_version}: get: tags: - Prompts summary: Get an agentic prompt description: Get an agentic prompt by name and version operationId: get_agentic_prompt_api_v1_tasks__task_id__prompts__prompt_name__versions__prompt_version__get security: - API Key: [] parameters: - name: prompt_name in: path required: true schema: type: string title: Prompt Name - name: prompt_version in: path required: true schema: type: string title: Prompt Version description: The version of the prompt to retrieve. Can be 'latest', a version number (e.g. '1', '2', etc.), an ISO datetime string (e.g. '2025-01-01T00:00:00'), or a tag. description: The version of the prompt to retrieve. Can be 'latest', a version number (e.g. '1', '2', etc.), an ISO datetime string (e.g. '2025-01-01T00:00:00'), or a tag. - name: task_id in: path required: true schema: type: string format: uuid title: Task Id responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/AgenticPrompt' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' delete: tags: - Prompts summary: Delete an agentic prompt version description: Deletes a specific version of an agentic prompt operationId: delete_agentic_prompt_version_api_v1_tasks__task_id__prompts__prompt_name__versions__prompt_version__delete security: - API Key: [] parameters: - name: prompt_name in: path required: true schema: type: string title: Prompt Name - name: prompt_version in: path required: true schema: type: string title: Prompt Version description: The version of the prompt to delete. Can be 'latest', a version number (e.g. '1', '2', etc.), an ISO datetime string (e.g. '2025-01-01T00:00:00'), or a tag. description: The version of the prompt to delete. Can be 'latest', a version number (e.g. '1', '2', etc.), an ISO datetime string (e.g. '2025-01-01T00:00:00'), or a tag. - name: task_id in: path required: true schema: type: string format: uuid title: Task Id responses: '204': description: Prompt version deleted. '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/v1/tasks/{task_id}/prompts: get: tags: - Prompts summary: Get all agentic prompts description: Get all agentic prompts for a given task with optional filtering. operationId: get_all_agentic_prompts_api_v1_tasks__task_id__prompts_get security: - API Key: [] parameters: - name: task_id in: path required: true schema: type: string format: uuid title: Task Id - name: sort_by in: query required: false schema: $ref: '#/components/schemas/LLMMetadataSortField' description: Field to sort the metadata list by. 'name' (default) preserves the historical alphabetical ordering. 'latest_version_created_at' orders by the most recent version's creation timestamp so that pagination matches the 'last updated' display. default: name description: Field to sort the metadata list by. 'name' (default) preserves the historical alphabetical ordering. 'latest_version_created_at' orders by the most recent version's creation timestamp so that pagination matches the 'last updated' display. - name: sort in: query required: false schema: $ref: '#/components/schemas/PaginationSortMethod' description: Sort the results (asc/desc) default: desc description: Sort the results (asc/desc) - name: page_size in: query required: false schema: type: integer description: Page size. Default is 10. Must be greater than 0 and less than 5000. default: 10 title: Page Size description: Page size. Default is 10. Must be greater than 0 and less than 5000. - name: page in: query required: false schema: type: integer description: Page number default: 0 title: Page description: Page number - name: llm_asset_names in: query required: false schema: anyOf: - type: array items: type: string - type: 'null' description: LLM asset names to filter on using partial matching. If provided, llm assets matching any of these name patterns will be returned title: Llm Asset Names description: LLM asset names to filter on using partial matching. If provided, llm assets matching any of these name patterns will be returned - name: model_provider in: query required: false schema: anyOf: - type: string - type: 'null' description: Filter by model provider (e.g., 'openai', 'anthropic', 'azure'). title: Model Provider description: Filter by model provider (e.g., 'openai', 'anthropic', 'azure'). - name: model_name in: query required: false schema: anyOf: - type: string - type: 'null' description: Filter by model name (e.g., 'gpt-4', 'claude-3-5-sonnet'). title: Model Name description: Filter by model name (e.g., 'gpt-4', 'claude-3-5-sonnet'). - name: created_after in: query required: false schema: anyOf: - type: string - type: 'null' description: Inclusive start date for prompt creation in ISO8601 string format. Use local time (not UTC). title: Created After description: Inclusive start date for prompt creation in ISO8601 string format. Use local time (not UTC). - name: created_before in: query required: false schema: anyOf: - type: string - type: 'null' description: Exclusive end date for prompt creation in ISO8601 string format. Use local time (not UTC). title: Created Before description: Exclusive end date for prompt creation in ISO8601 string format. Use local time (not UTC). - name: tags in: query required: false schema: anyOf: - type: array items: type: string - type: 'null' description: List of tags to filter for items that have any matching tag across any version. title: Tags description: List of tags to filter for items that have any matching tag across any version. responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/LLMGetAllMetadataListResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/v1/tasks/{task_id}/prompts/{prompt_name}/versions: get: tags: - Prompts summary: List all versions of an agentic prompt description: List all versions of an agentic prompt with optional filtering. operationId: get_all_agentic_prompt_versions_api_v1_tasks__task_id__prompts__prompt_name__versions_get security: - API Key: [] parameters: - name: prompt_name in: path required: true schema: type: string title: Prompt Name - name: task_id in: path required: true schema: type: string format: uuid title: Task Id - name: sort in: query required: false schema: $ref: '#/components/schemas/PaginationSortMethod' description: Sort the results (asc/desc) default: desc description: Sort the results (asc/desc) - name: page_size in: query required: false schema: type: integer description: Page size. Default is 10. Must be greater than 0 and less than 5000. default: 10 title: Page Size description: Page size. Default is 10. Must be greater than 0 and less than 5000. - name: page in: query required: false schema: type: integer description: Page number default: 0 title: Page description: Page number - name: model_provider in: query required: false schema: anyOf: - type: string - type: 'null' description: Filter by model provider (e.g., 'openai', 'anthropic', 'azure'). title: Model Provider description: Filter by model provider (e.g., 'openai', 'anthropic', 'azure'). - name: model_name in: query required: false schema: anyOf: - type: string - type: 'null' description: Filter by model name (e.g., 'gpt-4', 'claude-3-5-sonnet'). title: Model Name description: Filter by model name (e.g., 'gpt-4', 'claude-3-5-sonnet'). - name: created_after in: query required: false schema: anyOf: - type: string - type: 'null' description: Inclusive start date for prompt creation in ISO8601 string format. Use local time (not UTC). title: Created After description: Inclusive start date for prompt creation in ISO8601 string format. Use local time (not UTC). - name: created_before in: query required: false schema: anyOf: - type: string - type: 'null' description: Exclusive end date for prompt creation in ISO8601 string format. Use local time (not UTC). title: Created Before description: Exclusive end date for prompt creation in ISO8601 string format. Use local time (not UTC). - name: exclude_deleted in: query required: false schema: type: boolean description: Whether to exclude deleted prompt versions from the results. Default is False. default: false title: Exclude Deleted description: Whether to exclude deleted prompt versions from the results. Default is False. - name: min_version in: query required: false schema: anyOf: - type: integer minimum: 1 - type: 'null' description: Minimum version number to filter on (inclusive). title: Min Version description: Minimum version number to filter on (inclusive). - name: max_version in: query required: false schema: anyOf: - type: integer minimum: 1 - type: 'null' description: Maximum version number to filter on (inclusive). title: Max Version description: Maximum version number to filter on (inclusive). responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/AgenticPromptVersionListResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/v1/completions: post: tags: - Prompts summary: Run/Stream an unsaved agentic prompt description: Runs or streams an unsaved agentic prompt operationId: run_agentic_prompt_api_v1_completions_post requestBody: content: application/json: schema: $ref: '#/components/schemas/CompletionRequest' required: true responses: '200': description: An AgenticPromptRunResponse object for non-streaming requests or a StreamingResponse which has two events, a chunk event or a final_response event content: application/json: schema: $ref: '#/components/schemas/AgenticPromptRunResponse' text/event-stream: schema: type: string example: "# Chunk event\nevent: chunk\ndata: {\n \"id\": \"string\",\n \"created\": 1760636425,\n \"model\": \"string\",\n \"object\": \"string\",\n \"system_fingerprint\": \"string\",\n \"choices\": [\n {\n \"finish_reason\": null,\n \"index\": 0,\n \"delta\": {\n \"provider_specific_fields\": null,\n \"refusal\": null,\n \"content\": \"string\",\n \"role\": null,\n \"function_call\": null,\n \"tool_calls\": null,\n \"audio\": null\n },\n \"logprobs\": null\n }\n ],\n \"provider_specific_fields\": null\n}\n\n# Final response event\nevent: final_response\ndata: {\n \"content\": \"string\",\n \"tool_calls\": [\n \"string\"\n ],\n \"cost\": \"string\"\n}\n\n" '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' security: - API Key: [] /api/v1/prompt_renders: post: tags: - Prompts summary: Render an unsaved prompt with variables description: Render an unsaved prompt by replacing template variables with provided values. Accepts messages directly in the request body instead of loading from database. operationId: render_unsaved_agentic_prompt_api_v1_prompt_renders_post requestBody: content: application/json: schema: $ref: '#/components/schemas/UnsavedPromptRenderingRequest' required: true responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/RenderedPromptResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' security: - API Key: [] /api/v1/prompt_variables: post: tags: - Prompts summary: Gets the list of variables needed from an unsaved prompt's messages description: Gets the list of variables needed from an unsaved prompt's messages operationId: get_unsaved_prompt_variables_list_api_v1_prompt_variables_post requestBody: content: application/json: schema: $ref: '#/components/schemas/UnsavedPromptVariablesRequest' required: true responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/UnsavedPromptVariablesListResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' security: - API Key: [] /api/v1/tasks/{task_id}/prompts/{prompt_name}/versions/{prompt_version}/completions: post: tags: - Prompts summary: Run/Stream a specific version of an agentic prompt description: Run or stream a specific version of an existing agentic prompt operationId: run_saved_agentic_prompt_api_v1_tasks__task_id__prompts__prompt_name__versions__prompt_version__completions_post security: - API Key: [] parameters: - name: prompt_name in: path required: true schema: type: string title: Prompt Name - name: prompt_version in: path required: true schema: type: string title: Prompt Version description: The version of the prompt to run. Can be 'latest', a version number (e.g. '1', '2', etc.), an ISO datetime string (e.g. '2025-01-01T00:00:00'), or a tag. description: The version of the prompt to run. Can be 'latest', a version number (e.g. '1', '2', etc.), an ISO datetime string (e.g. '2025-01-01T00:00:00'), or a tag. - name: task_id in: path required: true schema: type: string format: uuid title: Task Id requestBody: content: application/json: schema: $ref: '#/components/schemas/PromptCompletionRequest' default: variables: [] strict: false stream: false responses: '200': description: An AgenticPromptRunResponse object for non-streaming requests or a StreamingResponse which has two events, a chunk event or a final_response event content: application/json: schema: $ref: '#/components/schemas/AgenticPromptRunResponse' text/event-stream: schema: type: string example: "# Chunk event\nevent: chunk\ndata: {\n \"id\": \"string\",\n \"created\": 1760636425,\n \"model\": \"string\",\n \"object\": \"string\",\n \"system_fingerprint\": \"string\",\n \"choices\": [\n {\n \"finish_reason\": null,\n \"index\": 0,\n \"delta\": {\n \"provider_specific_fields\": null,\n \"refusal\": null,\n \"content\": \"string\",\n \"role\": null,\n \"function_call\": null,\n \"tool_calls\": null,\n \"audio\": null\n },\n \"logprobs\": null\n }\n ],\n \"provider_specific_fields\": null\n}\n\n# Final response event\nevent: final_response\ndata: {\n \"content\": \"string\",\n \"tool_calls\": [\n \"string\"\n ],\n \"cost\": \"string\"\n}\n\n" '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/v1/tasks/{task_id}/prompts/{prompt_name}/versions/{prompt_version}/renders: post: tags: - Prompts summary: Render a specific version of an agentic prompt with variables description: Render a specific version of an existing agentic prompt by replacing template variables with provided values. Returns the complete prompt object with rendered messages. operationId: render_saved_agentic_prompt_api_v1_tasks__task_id__prompts__prompt_name__versions__prompt_version__renders_post security: - API Key: [] parameters: - name: prompt_name in: path required: true schema: type: string title: Prompt Name - name: prompt_version in: path required: true schema: type: string title: Prompt Version description: The version of the prompt to render. Can be 'latest', a version number (e.g. '1', '2', etc.), an ISO datetime string (e.g. '2025-01-01T00:00:00'), or a tag. description: The version of the prompt to render. Can be 'latest', a version number (e.g. '1', '2', etc.), an ISO datetime string (e.g. '2025-01-01T00:00:00'), or a tag. - name: task_id in: path required: true schema: type: string format: uuid title: Task Id requestBody: content: application/json: schema: $ref: '#/components/schemas/SavedPromptRenderingRequest' default: completion_request: variables: [] strict: false responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/AgenticPrompt' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/v1/tasks/{task_id}/prompts/{prompt_name}: post: tags: - Prompts summary: Save an agentic prompt description: Save an agentic prompt to the database operationId: save_agentic_prompt_api_v1_tasks__task_id__prompts__prompt_name__post security: - API Key: [] parameters: - name: prompt_name in: path required: true schema: type: string title: Prompt Name - name: task_id in: path required: true schema: type: string format: uuid title: Task Id requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateAgenticPromptRequest' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/AgenticPrompt' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' delete: tags: - Prompts summary: Delete an agentic prompt description: Deletes an entire agentic prompt operationId: delete_agentic_prompt_api_v1_tasks__task_id__prompts__prompt_name__delete security: - API Key: [] parameters: - name: prompt_name in: path required: true schema: type: string title: Prompt Name - name: task_id in: path required: true schema: type: string format: uuid title: Task Id responses: '204': description: Prompt deleted. '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/v1/tasks/{task_id}/prompts/{prompt_name}/versions/tags/{tag}: get: tags: - Prompts summary: Get an agentic prompt by name and tag description: Get an agentic prompt by name and tag operationId: get_agentic_prompt_by_tag_api_v1_tasks__task_id__prompts__prompt_name__versions_tags__tag__get security: - API Key: [] parameters: - name: prompt_name in: path required: true schema: type: string title: Prompt Name - name: tag in: path required: true schema: type: string title: Tag - name: task_id in: path required: true schema: type: string format: uuid title: Task Id responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/AgenticPrompt' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/v1/tasks/{task_id}/prompts/{prompt_name}/versions/{prompt_version}/tags: put: tags: - Prompts summary: Add a tag to an agentic prompt version description: Add a tag to an agentic prompt version operationId: add_tag_to_agentic_prompt_version_api_v1_tasks__task_id__prompts__prompt_name__versions__prompt_version__tags_put security: - API Key: [] parameters: - name: prompt_name in: path required: true schema: type: string title: Prompt Name - name: prompt_version in: path required: true schema: type: string title: Prompt Version description: The version of the prompt to retrieve. Can be 'latest', a version number (e.g. '1', '2', etc.), an ISO datetime string (e.g. '2025-01-01T00:00:00'), or a tag. description: The version of the prompt to retrieve. Can be 'latest', a version number (e.g. '1', '2', etc.), an ISO datetime string (e.g. '2025-01-01T00:00:00'), or a tag. - name: task_id in: path required: true schema: type: string format: uuid title: Task Id requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Body_add_tag_to_agentic_prompt_version_api_v1_tasks__task_id__prompts__prompt_name__versions__prompt_version__tags_put' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/AgenticPrompt' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/v1/tasks/{task_id}/prompts/{prompt_name}/versions/{prompt_version}/tags/{tag}: delete: tags: - Prompts summary: Remove a tag from an agentic prompt version description: Remove a tag from an agentic prompt version operationId: delete_tag_from_agentic_prompt_version_api_v1_tasks__task_id__prompts__prompt_name__versions__prompt_version__tags__tag__delete security: - API Key: [] parameters: - name: prompt_name in: path required: true schema: type: string title: Prompt Name - name: prompt_version in: path required: true schema: type: string title: Prompt Version description: The version of the prompt to retrieve. Can be 'latest', a version number (e.g. '1', '2', etc.), an ISO datetime string (e.g. '2025-01-01T00:00:00'), or a tag. description: The version of the prompt to retrieve. Can be 'latest', a version number (e.g. '1', '2', etc.), an ISO datetime string (e.g. '2025-01-01T00:00:00'), or a tag. - name: tag in: path required: true schema: type: string title: Tag - name: task_id in: path required: true schema: type: string format: uuid title: Task Id responses: '204': description: Prompt version deleted. '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' components: schemas: LLMResponseFormat-Input: properties: type: $ref: '#/components/schemas/LLMResponseFormatEnum' description: 'Response format type: ''text'', ''json_object'', or ''json_schema''' examples: - json_schema json_schema: anyOf: - $ref: '#/components/schemas/LLMResponseSchema-Input' - type: 'null' description: JSON schema definition (required when type is 'json_schema') additionalProperties: false type: object required: - type title: LLMResponseFormat EvalKind: type: string enum: - llm_as_a_judge - pii - pii_v1 - toxicity - prompt_injection title: EvalKind description: Discriminator for all eval types stored in the llm_evals table. ValidationError: properties: loc: items: anyOf: - type: string - type: integer type: array title: Location msg: type: string title: Message type: type: string title: Error Type input: title: Input ctx: type: object title: Context type: object required: - loc - msg - type title: ValidationError VariableRenderingRequest: properties: variables: anyOf: - items: $ref: '#/components/schemas/VariableTemplateValue' type: array - type: 'null' title: Variables description: List of VariableTemplateValue fields that specify the values to fill in for each template in the prompt default: [] strict: anyOf: - type: boolean - type: 'null' title: Strict description: Whether to enforce strict validation of variables. If True, any variables that are found in the prompt but not in the variables list will raise an error. default: false type: object title: VariableRenderingRequest JsonPropertySchema: properties: type: type: string title: Type description: The argument's type (e.g. string, boolean, etc.) default: string description: anyOf: - type: string - type: 'null' title: Description description: A description of the argument enum: anyOf: - items: type: string type: array - type: 'null' title: Enum description: An enum for the argument (e.g. ['celsius', 'fahrenheit']) items: anyOf: - {} - type: 'null' title: Items description: For array types, describes the items type: object title: JsonPropertySchema HTTPValidationError: properties: detail: items: $ref: '#/components/schemas/ValidationError' type: array title: Detail type: object title: HTTPValidationError LLMConfigSettings: properties: timeout: anyOf: - type: number - type: 'null' title: Timeout description: Request timeout in seconds temperature: anyOf: - type: number - type: 'null' title: Temperature description: Sampling temperature (0.0 to 2.0). Higher values make output more random top_p: anyOf: - type: number - type: 'null' title: Top P description: Top-p sampling parameter (0.0 to 1.0). Alternative to temperature max_tokens: anyOf: - type: integer - type: 'null' title: Max Tokens description: Maximum number of tokens to generate in the response stop: anyOf: - type: string - type: 'null' title: Stop description: Stop sequence(s) where the model should stop generating presence_penalty: anyOf: - type: number - type: 'null' title: Presence Penalty description: Presence penalty (-2.0 to 2.0). Positive values penalize new tokens based on their presence frequency_penalty: anyOf: - type: number - type: 'null' title: Frequency Penalty description: Frequency penalty (-2.0 to 2.0). Positive values penalize tokens based on frequency seed: anyOf: - type: integer - type: 'null' title: Seed description: Random seed for reproducible outputs logprobs: anyOf: - type: boolean - type: 'null' title: Logprobs description: Whether to return log probabilities of output tokens top_logprobs: anyOf: - type: integer - type: 'null' title: Top Logprobs description: Number of most likely tokens to return log probabilities for (1-20) logit_bias: anyOf: - items: $ref: '#/components/schemas/LogitBiasItem' type: array - type: 'null' title: Logit Bias description: Modify likelihood of specified tokens appearing in completion max_completion_tokens: anyOf: - type: integer - type: 'null' title: Max Completion Tokens description: Maximum number of completion tokens (alternative to max_tokens) reasoning_effort: anyOf: - $ref: '#/components/schemas/ReasoningEffortEnum' - type: 'null' description: Reasoning effort level for models that support it (e.g., OpenAI o1 series) thinking: anyOf: - $ref: '#/components/schemas/AnthropicThinkingParam-Output' - type: 'null' description: Anthropic-specific thinking parameter for Claude models tool_choice: anyOf: - $ref: '#/components/schemas/ToolChoiceEnum' - $ref: '#/components/schemas/ToolChoice' - type: 'null' title: Tool Choice description: Tool choice configuration ('auto', 'none', 'required', or a specific tool selection) response_format: anyOf: - $ref: '#/components/schemas/LLMResponseFormat-Output' - {} - type: 'null' title: Response Format description: Either a structured json_schema or a Pydantic model to enforce structured outputs. stream_options: anyOf: - $ref: '#/components/schemas/StreamOptions' - type: 'null' description: Additional streaming configuration options additionalProperties: false type: object title: LLMConfigSettings CreateAgenticPromptRequest: properties: messages: items: $ref: '#/components/schemas/OpenAIMessage-Input' type: array title: Messages description: 'List of chat messages in OpenAI format (e.g., [{''role'': ''user'', ''content'': ''Hello''}])' model_name: type: string title: Model Name description: Name of the LLM model (e.g., 'gpt-4o', 'claude-3-sonnet') model_provider: $ref: '#/components/schemas/ModelProvider' description: Provider of the LLM model (e.g., 'openai', 'anthropic', 'azure') tools: anyOf: - items: $ref: '#/components/schemas/LLMTool-Input' type: array - type: 'null' title: Tools description: Available tools/functions for the model to call, in OpenAI function calling format config: anyOf: - $ref: '#/components/schemas/LLMPromptRequestConfigSettings' - type: 'null' description: LLM configurations for this prompt (e.g. temperature, max_tokens, etc.) type: object required: - messages - model_name - model_provider title: CreateAgenticPromptRequest ToolChoice: properties: type: type: string title: Type description: The type of tool choice. Should always be 'function' default: function function: anyOf: - $ref: '#/components/schemas/ToolChoiceFunction' - type: 'null' description: The tool choice fucntion name type: object title: ToolChoice ToolCallFunction: properties: name: type: string title: Name description: Name of the function to call arguments: type: string title: Arguments description: JSON string of function arguments type: object required: - name - arguments title: ToolCallFunction ToolChoiceEnum: type: string enum: - auto - none - required title: ToolChoiceEnum AgenticPromptVersionListResponse: properties: versions: items: $ref: '#/components/schemas/AgenticPromptVersionResponse' type: array title: Versions description: List of prompt version metadata count: type: integer title: Count description: Total number of prompts matching filters type: object required: - versions - count title: AgenticPromptVersionListResponse UnsavedPromptRenderingRequest: properties: completion_request: $ref: '#/components/schemas/VariableRenderingRequest' description: Rendering configuration for the unsaved prompt messages: items: $ref: '#/components/schemas/OpenAIMessage-Input' type: array title: Messages description: 'List of chat messages in OpenAI format (e.g., [{''role'': ''user'', ''content'': ''Hello''}])' type: object required: - messages title: UnsavedPromptRenderingRequest description: Request schema for rendering an unsaved agentic prompt with variables LLMMetadataSortField: type: string enum: - name - latest_version_created_at title: LLMMetadataSortField description: Sort field options for the LLM evals/prompts metadata list endpoints. ModelProvider: type: string enum: - anthropic - openai - gemini - bedrock - vertex_ai - hosted_vllm - azure title: ModelProvider ImageURL: properties: url: type: string title: Url description: URL of the image type: object required: - url title: ImageURL InputAudio: properties: data: type: string title: Data description: Base64 encoded audio data format: type: string title: Format description: audio format (e.g. 'mp3', 'wav', 'flac', etc.) type: object required: - data - format title: InputAudio ToolFunction-Input: properties: name: type: string title: Name description: The name of the tool/function description: anyOf: - type: string - type: 'null' title: Description description: Description of what the tool does parameters: anyOf: - $ref: '#/components/schemas/JsonSchema' - type: 'null' description: The function's parameter schema type: object required: - name title: ToolFunction ReasoningEffortEnum: type: string enum: - none - minimal - low - medium - high - default title: ReasoningEffortEnum VariableTemplateValue: properties: name: type: string title: Name description: Name of the variable value: type: string title: Value description: Value of the variable type: object required: - name - value title: VariableTemplateValue OpenAIMessageItem: properties: type: $ref: '#/components/schemas/OpenAIMessageType' description: Type of the message (either 'text', 'image_url', or 'input_audio') text: anyOf: - type: string - type: 'null' title: Text description: Text content of the message if type is 'text' image_url: anyOf: - $ref: '#/components/schemas/ImageURL' - type: 'null' description: Image URL content of the message if type is 'image_url' input_audio: anyOf: - $ref: '#/components/schemas/InputAudio' - type: 'null' description: Input audio content of the message if type is 'input_audio' type: object required: - type title: OpenAIMessageItem LLMTool-Input: properties: type: type: string title: Type description: The type of tool. Should always be 'function' default: function function: $ref: '#/components/schemas/ToolFunction-Input' description: The function definition strict: anyOf: - type: boolean - type: 'null' title: Strict description: Whether the function definition should use OpenAI's strict mode type: object required: - function title: LLMTool LogitBiasItem: properties: token_id: type: integer title: Token Id description: Token ID to bias bias: type: number maximum: 100.0 minimum: -100.0 title: Bias description: Bias value between -100 and 100 type: object required: - token_id - bias title: LogitBiasItem LLMResponseFormatEnum: type: string enum: - text - json_object - json_schema title: LLMResponseFormatEnum ToolFunction-Output: properties: name: type: string title: Name description: The name of the tool/function description: anyOf: - type: string - type: 'null' title: Description description: Description of what the tool does parameters: anyOf: - $ref: '#/components/schemas/JsonSchema' - type: 'null' description: The function's parameter schema type: object required: - name title: ToolFunction ChatCompletionMessageToolCall: properties: {} additionalProperties: true type: object title: ChatCompletionMessageToolCall OpenAIMessage-Input: properties: role: $ref: '#/components/schemas/MessageRole' description: Role of the message name: anyOf: - type: string - type: 'null' title: Name description: An optional name for the participant. Provides the model information to differentiate between participants of the same role. content: anyOf: - type: string - items: $ref: '#/components/schemas/OpenAIMessageItem' type: array - type: 'null' title: Content description: Content of the message tool_calls: anyOf: - items: $ref: '#/components/schemas/ToolCall' type: array - type: 'null' title: Tool Calls description: Tool calls made by assistant tool_call_id: anyOf: - type: string - type: 'null' title: Tool Call Id description: ID of the tool call this message is responding to type: object required: - role title: OpenAIMessage description: 'The message schema class for the prompts playground. This class adheres to OpenAI''s message schema.' PaginationSortMethod: type: string enum: - asc - desc title: PaginationSortMethod MessageRole: type: string enum: - developer - system - user - assistant - tool title: MessageRole OpenAIMessage-Output: properties: role: $ref: '#/components/schemas/MessageRole' description: Role of the message name: anyOf: - type: string - type: 'null' title: Name description: An optional name for the participant. Provides the model information to differentiate between participants of the same role. content: anyOf: - type: string - items: $ref: '#/components/schemas/OpenAIMessageItem' type: array - type: 'null' title: Content description: Content of the message tool_calls: anyOf: - items: $ref: '#/components/schemas/ToolCall' type: array - type: 'null' title: Tool Calls description: Tool calls made by assistant tool_call_id: anyOf: - type: string - type: 'null' title: Tool Call Id description: ID of the tool call this message is responding to type: object required: - role title: OpenAIMessage description: 'The message schema class for the prompts playground. This class adheres to OpenAI''s message schema.' UnsavedPromptVariablesRequest: properties: messages: items: $ref: '#/components/schemas/OpenAIMessage-Input' type: array title: Messages description: 'List of chat messages in OpenAI format (e.g., [{''role'': ''user'', ''content'': ''Hello''}])' type: object required: - messages title: UnsavedPromptVariablesRequest description: Request schema for getting the list of variables needed from an unsaved prompt's messages LLMGetAllMetadataListResponse: properties: llm_metadata: items: $ref: '#/components/schemas/LLMGetAllMetadataResponse' type: array title: Llm Metadata description: List of llm asset metadata count: type: integer title: Count description: Total number of llm assets matching filters type: object required: - llm_metadata - count title: LLMGetAllMetadataListResponse UnsavedPromptVariablesListResponse: properties: variables: items: type: string type: array title: Variables description: List of variables needed to run an unsaved prompt type: object required: - variables title: UnsavedPromptVariablesListResponse AgenticPromptVersionResponse: properties: version: type: integer title: Version description: Version number of the llm eval eval_kind: $ref: '#/components/schemas/EvalKind' description: Eval kind discriminator (e.g. 'llm_as_a_judge', 'pii', 'toxicity') default: llm_as_a_judge created_at: type: string format: date-time title: Created At description: Timestamp when the llm eval version was created deleted_at: anyOf: - type: string format: date-time - type: 'null' title: Deleted At description: Timestamp when the llm eval version was deleted (None if not deleted) model_provider: anyOf: - $ref: '#/components/schemas/ModelProvider' - type: 'null' description: Model provider chosen for this version of the llm eval. None for ML evals. model_name: anyOf: - type: string - type: 'null' title: Model Name description: Model name chosen for this version of the llm eval. None for ML evals. tags: items: type: string type: array title: Tags description: List of tags for the llm asset num_messages: type: integer title: Num Messages description: Number of messages in the prompt num_tools: type: integer title: Num Tools description: Number of tools in the prompt type: object required: - version - created_at - deleted_at - num_messages - num_tools title: AgenticPromptVersionResponse LLMResponseFormat-Output: properties: type: $ref: '#/components/schemas/LLMResponseFormatEnum' description: 'Response format type: ''text'', ''json_object'', or ''json_schema''' examples: - json_schema json_schema: anyOf: - $ref: '#/components/schemas/LLMResponseSchema-Output' - type: 'null' description: JSON schema definition (required when type is 'json_schema') additionalProperties: false type: object required: - type title: LLMResponseFormat Body_add_tag_to_agentic_prompt_version_api_v1_tasks__task_id__prompts__prompt_name__versions__prompt_version__tags_put: properties: tag: type: string title: Tag description: Tag to add to this prompt version type: object required: - tag title: Body_add_tag_to_agentic_prompt_version_api_v1_tasks__task_id__prompts__prompt_name__versions__prompt_version__tags_put PromptCompletionRequest: properties: variables: anyOf: - items: $ref: '#/components/schemas/VariableTemplateValue' type: array - type: 'null' title: Variables description: List of VariableTemplateValue fields that specify the values to fill in for each template in the prompt default: [] strict: anyOf: - type: boolean - type: 'null' title: Strict description: Whether to enforce strict validation of variables. If True, any variables that are found in the prompt but not in the variables list will raise an error. default: false stream: anyOf: - type: boolean - type: 'null' title: Stream description: Whether to stream the response default: false type: object title: PromptCompletionRequest description: Request schema for running an agentic prompt AgenticPrompt: properties: name: type: string title: Name description: Name of the agentic prompt messages: items: $ref: '#/components/schemas/OpenAIMessage-Output' type: array title: Messages description: 'List of chat messages in OpenAI format (e.g., [{''role'': ''user'', ''content'': ''Hello''}])' model_name: type: string title: Model Name description: Name of the LLM model (e.g., 'gpt-4o', 'claude-3-sonnet') model_provider: anyOf: - $ref: '#/components/schemas/ModelProvider' - type: string const: empty title: Model Provider description: Provider of the LLM model (e.g., 'openai', 'anthropic', 'azure'). The sentinel value 'empty' indicates the system default placeholder has not been configured. version: type: integer title: Version description: Version of the agentic prompt default: 1 tools: anyOf: - items: $ref: '#/components/schemas/LLMTool-Output' type: array - type: 'null' title: Tools description: Available tools/functions for the model to call, in OpenAI function calling format variables: items: type: string type: array title: Variables description: List of variable names for the agentic prompt tags: items: type: string type: array title: Tags description: List of tags for this agentic prompt version config: anyOf: - $ref: '#/components/schemas/LLMConfigSettings' - type: 'null' description: LLM configurations for this prompt (e.g. temperature, max_tokens, etc.) created_at: type: string format: date-time title: Created At description: Timestamp when the prompt was created. deleted_at: anyOf: - type: string format: date-time - type: 'null' title: Deleted At description: Time that this prompt was deleted type: object required: - name - messages - model_name - model_provider - created_at title: AgenticPrompt LLMGetAllMetadataResponse: properties: name: type: string title: Name description: Name of the llm asset eval_kind: $ref: '#/components/schemas/EvalKind' description: Eval kind discriminator (e.g. 'llm_as_a_judge', 'pii', 'toxicity') default: llm_as_a_judge versions: type: integer title: Versions description: Number of versions of the llm asset tags: items: type: string type: array title: Tags description: List of tags for the llm asset created_at: type: string format: date-time title: Created At description: Timestamp when the llm asset was created latest_version_created_at: type: string format: date-time title: Latest Version Created At description: Timestamp when the last version of the llm asset was created deleted_versions: items: type: integer type: array title: Deleted Versions description: List of deleted versions of the llm asset type: object required: - name - versions - created_at - latest_version_created_at - deleted_versions title: LLMGetAllMetadataResponse JsonSchema: properties: type: type: string title: Type default: object properties: additionalProperties: $ref: '#/components/schemas/JsonPropertySchema' type: object title: Properties description: 'The name of the property and the property schema (e.g. {''topic'': {''type'': ''string'', ''description'': ''the topic to generate a joke for''})' required: items: type: string type: array title: Required description: The required properties of the function additionalProperties: anyOf: - type: boolean - type: 'null' title: Additionalproperties description: Whether the function definition should allow additional properties type: object required: - properties title: JsonSchema AnthropicThinkingParam-Output: properties: type: type: string enum: - enabled - adaptive title: Type budget_tokens: type: integer title: Budget Tokens additionalProperties: false type: object title: AnthropicThinkingParam ToolCall: properties: type: type: string title: Type description: The type of tool call. Currently the only type supported is 'function'. default: function id: type: string title: Id description: Unique identifier for the tool call function: $ref: '#/components/schemas/ToolCallFunction' description: Function details type: object required: - id - function title: ToolCall OpenAIMessageType: type: string enum: - text - image_url - input_audio title: OpenAIMessageType StreamOptions: properties: include_usage: anyOf: - type: boolean - type: 'null' title: Include Usage description: Whether to include usage information in the stream type: object title: StreamOptions LLMPromptRequestConfigSettings: properties: timeout: anyOf: - type: number - type: 'null' title: Timeout description: Request timeout in seconds temperature: anyOf: - type: number - type: 'null' title: Temperature description: Sampling temperature (0.0 to 2.0). Higher values make output more random top_p: anyOf: - type: number - type: 'null' title: Top P description: Top-p sampling parameter (0.0 to 1.0). Alternative to temperature max_tokens: anyOf: - type: integer - type: 'null' title: Max Tokens description: Maximum number of tokens to generate in the response stop: anyOf: - type: string - type: 'null' title: Stop description: Stop sequence(s) where the model should stop generating presence_penalty: anyOf: - type: number - type: 'null' title: Presence Penalty description: Presence penalty (-2.0 to 2.0). Positive values penalize new tokens based on their presence frequency_penalty: anyOf: - type: number - type: 'null' title: Frequency Penalty description: Frequency penalty (-2.0 to 2.0). Positive values penalize tokens based on frequency seed: anyOf: - type: integer - type: 'null' title: Seed description: Random seed for reproducible outputs logprobs: anyOf: - type: boolean - type: 'null' title: Logprobs description: Whether to return log probabilities of output tokens top_logprobs: anyOf: - type: integer - type: 'null' title: Top Logprobs description: Number of most likely tokens to return log probabilities for (1-20) logit_bias: anyOf: - items: $ref: '#/components/schemas/LogitBiasItem' type: array - type: 'null' title: Logit Bias description: Modify likelihood of specified tokens appearing in completion max_completion_tokens: anyOf: - type: integer - type: 'null' title: Max Completion Tokens description: Maximum number of completion tokens (alternative to max_tokens) reasoning_effort: anyOf: - $ref: '#/components/schemas/ReasoningEffortEnum' - type: 'null' description: Reasoning effort level for models that support it (e.g., OpenAI o1 series) thinking: anyOf: - $ref: '#/components/schemas/AnthropicThinkingParam-Input' - type: 'null' description: Anthropic-specific thinking parameter for Claude models response_format: anyOf: - $ref: '#/components/schemas/LLMResponseFormat-Input' - type: 'null' description: 'Response format specification (e.g., {''type'': ''json_object''} for JSON mode)' tool_choice: anyOf: - $ref: '#/components/schemas/ToolChoiceEnum' - $ref: '#/components/schemas/ToolChoice' - type: 'null' title: Tool Choice description: Tool choice configuration ('auto', 'none', 'required', or a specific tool selection) stream_options: anyOf: - $ref: '#/components/schemas/StreamOptions' - type: 'null' description: Additional streaming configuration options type: object title: LLMPromptRequestConfigSettings RenderedPromptResponse: properties: messages: items: $ref: '#/components/schemas/OpenAIMessage-Output' type: array title: Messages description: 'List of chat messages in OpenAI format (e.g., [{''role'': ''user'', ''content'': ''Hello''}])' type: object required: - messages title: RenderedPromptResponse ToolChoiceFunction: properties: name: type: string title: Name description: The name of the function type: object required: - name title: ToolChoiceFunction LLMTool-Output: properties: type: type: string title: Type description: The type of tool. Should always be 'function' default: function function: $ref: '#/components/schemas/ToolFunction-Output' description: The function definition strict: anyOf: - type: boolean - type: 'null' title: Strict description: Whether the function definition should use OpenAI's strict mode type: object required: - function title: LLMTool CompletionRequest: properties: messages: items: $ref: '#/components/schemas/OpenAIMessage-Input' type: array title: Messages description: 'List of chat messages in OpenAI format (e.g., [{''role'': ''user'', ''content'': ''Hello''}])' model_name: type: string title: Model Name description: Name of the LLM model (e.g., 'gpt-4o', 'claude-3-sonnet') model_provider: $ref: '#/components/schemas/ModelProvider' description: Provider of the LLM model (e.g., 'openai', 'anthropic', 'azure') tools: anyOf: - items: $ref: '#/components/schemas/LLMTool-Input' type: array - type: 'null' title: Tools description: Available tools/functions for the model to call, in OpenAI function calling format config: anyOf: - $ref: '#/components/schemas/LLMPromptRequestConfigSettings' - type: 'null' description: LLM configurations for this prompt (e.g. temperature, max_tokens, etc.) completion_request: $ref: '#/components/schemas/PromptCompletionRequest' description: Run configuration for the unsaved prompt type: object required: - messages - model_name - model_provider title: CompletionRequest description: Request schema for running an unsaved agentic prompt AnthropicThinkingParam-Input: properties: type: type: string enum: - enabled - adaptive title: Type budget_tokens: type: integer title: Budget Tokens type: object title: AnthropicThinkingParam LLMResponseSchema-Input: properties: name: type: string title: Name description: Name of the schema description: anyOf: - type: string - type: 'null' title: Description description: Description of the schema schema: $ref: '#/components/schemas/JsonSchema' description: The JSON schema object strict: anyOf: - type: boolean - type: 'null' title: Strict description: Whether to enforce strict schema adherence type: object required: - name - schema title: LLMResponseSchema AgenticPromptRunResponse: properties: content: anyOf: - type: string - type: 'null' title: Content tool_calls: anyOf: - items: $ref: '#/components/schemas/ChatCompletionMessageToolCall' type: array - type: 'null' title: Tool Calls cost: type: string title: Cost input_tokens: anyOf: - type: integer - type: 'null' title: Input Tokens output_tokens: anyOf: - type: integer - type: 'null' title: Output Tokens total_tokens: anyOf: - type: integer - type: 'null' title: Total Tokens type: object required: - cost title: AgenticPromptRunResponse LLMResponseSchema-Output: properties: name: type: string title: Name description: Name of the schema description: anyOf: - type: string - type: 'null' title: Description description: Description of the schema schema: $ref: '#/components/schemas/JsonSchema' description: The JSON schema object strict: anyOf: - type: boolean - type: 'null' title: Strict description: Whether to enforce strict schema adherence type: object required: - name - schema title: LLMResponseSchema SavedPromptRenderingRequest: properties: completion_request: $ref: '#/components/schemas/VariableRenderingRequest' description: Rendering configuration for the unsaved prompt type: object title: SavedPromptRenderingRequest description: Request schema for rendering an unsaved agentic prompt with variables securitySchemes: API Key: type: http description: Bearer token authentication with an API key scheme: bearer