openapi: 3.0.0 components: examples: {} headers: {} parameters: {} requestBodies: {} responses: {} schemas: Record_string.string_: properties: {} additionalProperties: type: string type: object description: Construct a type with a set of properties K of type T CreateProviderKeyRequest: properties: config: $ref: '#/components/schemas/Record_string.string_' byokEnabled: type: boolean providerKeyName: type: string providerSecretKey: type: string providerKey: type: string providerName: type: string required: - config - byokEnabled - providerKeyName - providerKey - providerName type: object DecryptedProviderKey: properties: cuid: type: string nullable: true provider_secret_key: type: string nullable: true provider_key_name: type: string nullable: true provider_name: type: string nullable: true provider_key: type: string nullable: true org_id: type: string nullable: true id: type: string nullable: true required: - provider_secret_key - provider_key_name - provider_name - provider_key - org_id - id type: object Record_string.any_: properties: {} additionalProperties: {} type: object description: Construct a type with a set of properties K of type T ProviderKeyRow: properties: id: type: string provider_name: type: string provider_key_name: type: string created_at: type: string soft_delete: type: boolean config: $ref: '#/components/schemas/Record_string.any_' byok_enabled: type: boolean cuid: type: string required: - id - provider_name - provider_key_name - soft_delete type: object additionalProperties: false ResultSuccess__id-string--providerName-string__: properties: data: properties: providerName: type: string id: type: string required: - providerName - id type: object error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false ResultError_string_: properties: data: type: number enum: - null nullable: true error: type: string required: - data - error type: object additionalProperties: false Result__id-string--providerName-string_.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess__id-string--providerName-string__' - $ref: '#/components/schemas/ResultError_string_' UpdateProviderKeyRequest: properties: byokEnabled: type: boolean config: $ref: '#/components/schemas/Record_string.string_' providerSecretKey: type: string providerKey: type: string type: object ? ResultSuccess__api_key_hash-string--api_key_name-string--created_at-string--governance-boolean--id-number--key_permissions-string--organization_id-string--soft_delete-boolean--temp_key-boolean--updated_at-string--user_id-string_-Array_ : properties: data: items: properties: user_id: type: string updated_at: type: string temp_key: type: boolean soft_delete: type: boolean organization_id: type: string key_permissions: type: string id: type: number format: double governance: type: boolean created_at: type: string api_key_name: type: string api_key_hash: type: string required: - user_id - updated_at - temp_key - soft_delete - organization_id - key_permissions - id - governance - created_at - api_key_name - api_key_hash type: object type: array error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false ? Result__api_key_hash-string--api_key_name-string--created_at-string--governance-boolean--id-number--key_permissions-string--organization_id-string--soft_delete-boolean--temp_key-boolean--updated_at-string--user_id-string_-Array.string_ : anyOf: - $ref: '#/components/schemas/ResultSuccess__api_key_hash-string--api_key_name-string--created_at-string--governance-boolean--id-number--key_permissions-string--organization_id-string--soft_delete-boolean--temp_key-boolean--updated_at-string--user_id-string_-Array_' - $ref: '#/components/schemas/ResultError_string_' EvaluatorResult: properties: id: type: string created_at: type: string scoring_type: type: string llm_template: {} organization_id: type: string updated_at: type: string name: type: string code_template: {} last_mile_config: {} required: - id - created_at - scoring_type - llm_template - organization_id - updated_at - name - code_template - last_mile_config type: object additionalProperties: false ResultSuccess_EvaluatorResult_: properties: data: $ref: '#/components/schemas/EvaluatorResult' error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_EvaluatorResult.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_EvaluatorResult_' - $ref: '#/components/schemas/ResultError_string_' CreateEvaluatorParams: properties: scoring_type: type: string llm_template: {} name: type: string code_template: {} last_mile_config: {} required: - scoring_type - name type: object additionalProperties: false ResultSuccess_EvaluatorResult-Array_: properties: data: items: $ref: '#/components/schemas/EvaluatorResult' type: array error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_EvaluatorResult-Array.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_EvaluatorResult-Array_' - $ref: '#/components/schemas/ResultError_string_' UpdateEvaluatorParams: properties: scoring_type: type: string llm_template: {} code_template: {} name: type: string last_mile_config: {} type: object additionalProperties: false ResultSuccess_null_: properties: data: type: number enum: - null nullable: true error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_null.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_null_' - $ref: '#/components/schemas/ResultError_string_' EvaluatorExperiment: properties: experiment_name: type: string experiment_created_at: type: string experiment_id: type: string required: - experiment_name - experiment_created_at - experiment_id type: object ResultSuccess_EvaluatorExperiment-Array_: properties: data: items: $ref: '#/components/schemas/EvaluatorExperiment' type: array error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_EvaluatorExperiment-Array.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_EvaluatorExperiment-Array_' - $ref: '#/components/schemas/ResultError_string_' OnlineEvaluatorByEvaluatorId: properties: config: {} id: type: string required: - config - id type: object ResultSuccess_OnlineEvaluatorByEvaluatorId-Array_: properties: data: items: $ref: '#/components/schemas/OnlineEvaluatorByEvaluatorId' type: array error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_OnlineEvaluatorByEvaluatorId-Array.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_OnlineEvaluatorByEvaluatorId-Array_' - $ref: '#/components/schemas/ResultError_string_' CreateOnlineEvaluatorParams: properties: config: $ref: '#/components/schemas/Record_string.any_' required: - config type: object ResultSuccess__output-string--traces-string-Array--statusCode_63_-number__: properties: data: properties: statusCode: type: number format: double traces: items: type: string type: array output: type: string required: - traces - output type: object error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result__output-string--traces-string-Array--statusCode_63_-number_.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess__output-string--traces-string-Array--statusCode_63_-number__' - $ref: '#/components/schemas/ResultError_string_' TestInput: properties: promptTemplate: type: string inputs: properties: autoInputs: $ref: '#/components/schemas/Record_string.string_' inputs: $ref: '#/components/schemas/Record_string.string_' required: - inputs type: object outputBody: type: string inputBody: type: string required: - inputs - outputBody - inputBody type: object EvaluatorScore: properties: score: anyOf: - type: number format: double - type: boolean required: - score type: object ResultSuccess_EvaluatorScore_: properties: data: $ref: '#/components/schemas/EvaluatorScore' error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_EvaluatorScore.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_EvaluatorScore_' - $ref: '#/components/schemas/ResultError_string_' EvaluatorScoreResult: $ref: '#/components/schemas/Result_EvaluatorScore.string_' EvaluatorConfig: properties: evaluator_code_template: type: string evaluator_llm_template: type: string evaluator_scoring_type: type: string required: - evaluator_scoring_type type: object ResultSuccess__score-number--input-string--output-string--ground_truth_63_-string__: properties: data: properties: ground_truth: type: string output: type: string input: type: string score: type: number format: double required: - output - input - score type: object error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result__score-number--input-string--output-string--ground_truth_63_-string_.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess__score-number--input-string--output-string--ground_truth_63_-string__' - $ref: '#/components/schemas/ResultError_string_' DataEntry: anyOf: - properties: _type: type: string enum: - system-prompt nullable: false required: - _type type: object - properties: inputKey: type: string _type: type: string enum: - prompt-input nullable: false required: - inputKey - _type type: object - properties: content: type: string enum: - jsonify - message _type: type: string enum: - input-body nullable: false required: - content - _type type: object - properties: content: type: string enum: - jsonify - message _type: type: string enum: - output-body nullable: false required: - content - _type type: object BaseLastMileConfigForm: properties: output: $ref: '#/components/schemas/DataEntry' input: $ref: '#/components/schemas/DataEntry' name: type: string required: - output - input - name type: object LastMileConfigForm: allOf: - $ref: '#/components/schemas/BaseLastMileConfigForm' - anyOf: - properties: _type: type: string enum: - relevance - context_relevance required: - _type type: object - properties: groundTruth: $ref: '#/components/schemas/DataEntry' _type: type: string enum: - faithfulness nullable: false required: - groundTruth - _type type: object EvaluatorStats: properties: averageScore: type: number format: double totalUses: type: number format: double recentTrend: type: string enum: - up - down - stable scoreDistribution: items: properties: count: type: number format: double range: type: string required: - count - range type: object type: array timeSeriesData: items: properties: value: type: number format: double date: type: string required: - value - date type: object type: array required: - averageScore - totalUses - recentTrend - scoreDistribution - timeSeriesData type: object additionalProperties: false ResultSuccess_EvaluatorStats_: properties: data: $ref: '#/components/schemas/EvaluatorStats' error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_EvaluatorStats.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_EvaluatorStats_' - $ref: '#/components/schemas/ResultError_string_' Prompt2025: properties: id: type: string name: type: string tags: items: type: string type: array created_at: type: string required: - id - name - tags - created_at type: object additionalProperties: false ResultSuccess_Prompt2025_: properties: data: $ref: '#/components/schemas/Prompt2025' error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_Prompt2025.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_Prompt2025_' - $ref: '#/components/schemas/ResultError_string_' ResultSuccess_string-Array_: properties: data: items: type: string type: array error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_string-Array.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_string-Array_' - $ref: '#/components/schemas/ResultError_string_' Prompt2025Input: properties: request_id: type: string version_id: type: string inputs: $ref: '#/components/schemas/Record_string.any_' required: - request_id - version_id - inputs type: object additionalProperties: false ResultSuccess_Prompt2025Input_: properties: data: $ref: '#/components/schemas/Prompt2025Input' error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_Prompt2025Input.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_Prompt2025Input_' - $ref: '#/components/schemas/ResultError_string_' PromptCreateResponse: properties: id: type: string versionId: type: string required: - id - versionId type: object additionalProperties: false ResultSuccess_PromptCreateResponse_: properties: data: $ref: '#/components/schemas/PromptCreateResponse' error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_PromptCreateResponse.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_PromptCreateResponse_' - $ref: '#/components/schemas/ResultError_string_' Record_string.number_: properties: {} additionalProperties: type: number format: double type: object description: Construct a type with a set of properties K of type T OpenAIChatRequest: description: Simplified interface for the OpenAI Chat request format properties: model: type: string messages: items: properties: tool_calls: items: properties: type: type: string enum: - function nullable: false function: properties: arguments: type: string name: type: string required: - arguments - name type: object id: type: string required: - type - function - id type: object type: array tool_call_id: type: string name: type: string content: anyOf: - type: string - items: properties: image_url: properties: url: type: string required: - url type: object text: type: string type: type: string required: - type type: object type: array nullable: true role: type: string required: - content - role type: object type: array temperature: type: number format: double top_p: type: number format: double max_tokens: type: number format: double max_completion_tokens: type: number format: double stream: type: boolean stop: anyOf: - items: type: string type: array - type: string tools: items: properties: function: properties: strict: type: boolean parameters: $ref: '#/components/schemas/Record_string.any_' description: type: string name: type: string required: - name type: object type: type: string enum: - function nullable: false required: - function - type type: object type: array tool_choice: anyOf: - properties: function: properties: name: type: string type: type: string enum: - function nullable: false required: - name - type type: object type: type: string required: - type type: object - type: string enum: - none - auto - required parallel_tool_calls: type: boolean reasoning_effort: type: string enum: - minimal - low - medium - high verbosity: type: string enum: - low - medium - high frequency_penalty: type: number format: double presence_penalty: type: number format: double logit_bias: $ref: '#/components/schemas/Record_string.number_' logprobs: type: boolean top_logprobs: type: number format: double n: type: number format: double modalities: items: type: string type: array prediction: {} audio: {} response_format: properties: json_schema: {} type: type: string required: - type type: object seed: type: number format: double service_tier: type: string store: type: boolean stream_options: {} metadata: $ref: '#/components/schemas/Record_string.string_' user: type: string function_call: anyOf: - type: string - properties: name: type: string required: - name type: object functions: items: {} type: array type: object additionalProperties: false ResultSuccess__id-string__: properties: data: properties: id: type: string required: - id type: object error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result__id-string_.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess__id-string__' - $ref: '#/components/schemas/ResultError_string_' ResultSuccess_number_: properties: data: type: number format: double error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_number.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_number_' - $ref: '#/components/schemas/ResultError_string_' ResultSuccess_Prompt2025-Array_: properties: data: items: $ref: '#/components/schemas/Prompt2025' type: array error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_Prompt2025-Array.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_Prompt2025-Array_' - $ref: '#/components/schemas/ResultError_string_' Record_string.unknown_: properties: {} additionalProperties: {} type: object description: Construct a type with a set of properties K of type T Prompt2025VersionPromptBody: properties: model: type: string messages: items: properties: tool_calls: items: properties: type: type: string enum: - function nullable: false function: properties: arguments: type: string name: type: string required: - arguments - name type: object id: type: string required: - type - function - id type: object type: array tool_call_id: type: string name: type: string content: anyOf: - type: string - items: properties: image_url: properties: url: type: string required: - url type: object text: type: string type: type: string required: - type type: object type: array nullable: true role: type: string required: - content - role type: object type: array temperature: type: number format: double top_p: type: number format: double max_tokens: type: number format: double tools: items: properties: function: properties: parameters: $ref: '#/components/schemas/Record_string.unknown_' description: type: string name: type: string required: - parameters - description - name type: object type: type: string enum: - function nullable: false required: - function - type type: object type: array tool_choice: anyOf: - type: string - properties: function: properties: name: type: string type: type: string enum: - function nullable: false required: - name - type type: object type: type: string required: - type type: object type: object additionalProperties: {} Prompt2025Version: properties: id: type: string model: type: string prompt_id: type: string major_version: type: number format: double minor_version: type: number format: double commit_message: type: string environments: items: type: string type: array created_at: type: string s3_url: type: string prompt_body: $ref: '#/components/schemas/Prompt2025VersionPromptBody' description: 'The full prompt body including messages. Only included when explicitly requested via the `includePromptBody` parameter to avoid unnecessary data transfer.' required: - id - model - prompt_id - major_version - minor_version - commit_message - created_at type: object additionalProperties: false ResultSuccess_Prompt2025Version_: properties: data: $ref: '#/components/schemas/Prompt2025Version' error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_Prompt2025Version.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_Prompt2025Version_' - $ref: '#/components/schemas/ResultError_string_' ResultSuccess_Prompt2025Version-Array_: properties: data: items: $ref: '#/components/schemas/Prompt2025Version' type: array error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_Prompt2025Version-Array.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_Prompt2025Version-Array_' - $ref: '#/components/schemas/ResultError_string_' PromptVersionCounts: properties: totalVersions: type: number format: double majorVersions: type: number format: double required: - totalVersions - majorVersions type: object additionalProperties: false ResultSuccess_PromptVersionCounts_: properties: data: $ref: '#/components/schemas/PromptVersionCounts' error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_PromptVersionCounts.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_PromptVersionCounts_' - $ref: '#/components/schemas/ResultError_string_' ResultSuccess_Prompt2025Version_91_prompt_body_93__: properties: data: $ref: '#/components/schemas/Prompt2025VersionPromptBody' error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_Prompt2025Version_91_prompt_body_93_.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_Prompt2025Version_91_prompt_body_93__' - $ref: '#/components/schemas/ResultError_string_' ResultSuccess__hasPrompts-boolean__: properties: data: properties: hasPrompts: type: boolean required: - hasPrompts type: object error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result__hasPrompts-boolean_.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess__hasPrompts-boolean__' - $ref: '#/components/schemas/ResultError_string_' PromptsResult: properties: id: type: string user_defined_id: type: string description: type: string pretty_name: type: string created_at: type: string major_version: type: number format: double metadata: $ref: '#/components/schemas/Record_string.any_' required: - id - user_defined_id - description - pretty_name - created_at - major_version type: object additionalProperties: false ResultSuccess_PromptsResult-Array_: properties: data: items: $ref: '#/components/schemas/PromptsResult' type: array error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_PromptsResult-Array.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_PromptsResult-Array_' - $ref: '#/components/schemas/ResultError_string_' Partial_TextOperators_: properties: not-equals: type: string equals: type: string like: type: string ilike: type: string contains: type: string not-contains: type: string type: object description: Make all properties in T optional Partial_PromptToOperators_: properties: id: $ref: '#/components/schemas/Partial_TextOperators_' user_defined_id: $ref: '#/components/schemas/Partial_TextOperators_' type: object description: Make all properties in T optional Pick_FilterLeaf.prompt_v2_: properties: prompt_v2: $ref: '#/components/schemas/Partial_PromptToOperators_' type: object description: From T, pick a set of properties whose keys are in the union K FilterLeafSubset_prompt_v2_: $ref: '#/components/schemas/Pick_FilterLeaf.prompt_v2_' PromptsFilterNode: anyOf: - $ref: '#/components/schemas/FilterLeafSubset_prompt_v2_' - $ref: '#/components/schemas/PromptsFilterBranch' - type: string enum: - all PromptsFilterBranch: properties: right: $ref: '#/components/schemas/PromptsFilterNode' operator: type: string enum: - or - and left: $ref: '#/components/schemas/PromptsFilterNode' required: - right - operator - left type: object PromptsQueryParams: properties: filter: $ref: '#/components/schemas/PromptsFilterNode' required: - filter type: object additionalProperties: false PromptResult: properties: id: type: string user_defined_id: type: string description: type: string pretty_name: type: string major_version: type: number format: double latest_version_id: type: string latest_model_used: type: string created_at: type: string last_used: type: string versions: items: type: string type: array metadata: $ref: '#/components/schemas/Record_string.any_' required: - id - user_defined_id - description - pretty_name - major_version - latest_version_id - latest_model_used - created_at - last_used - versions type: object additionalProperties: false ResultSuccess_PromptResult_: properties: data: $ref: '#/components/schemas/PromptResult' error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_PromptResult.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_PromptResult_' - $ref: '#/components/schemas/ResultError_string_' PromptQueryParams: properties: timeFilter: properties: end: type: string start: type: string required: - end - start type: object required: - timeFilter type: object additionalProperties: false CreatePromptResponse: properties: id: type: string prompt_version_id: type: string required: - id - prompt_version_id type: object additionalProperties: false ResultSuccess_CreatePromptResponse_: properties: data: $ref: '#/components/schemas/CreatePromptResponse' error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_CreatePromptResponse.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_CreatePromptResponse_' - $ref: '#/components/schemas/ResultError_string_' ResultSuccess__metadata-Record_string.any___: properties: data: properties: metadata: $ref: '#/components/schemas/Record_string.any_' required: - metadata type: object error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result__metadata-Record_string.any__.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess__metadata-Record_string.any___' - $ref: '#/components/schemas/ResultError_string_' PromptEditSubversionLabelParams: properties: label: type: string required: - label type: object additionalProperties: false PromptEditSubversionTemplateParams: properties: heliconeTemplate: {} experimentId: type: string required: - heliconeTemplate type: object additionalProperties: false PromptVersionResult: properties: id: type: string minor_version: type: number format: double major_version: type: number format: double prompt_v2: type: string model: type: string helicone_template: type: string created_at: type: string metadata: $ref: '#/components/schemas/Record_string.any_' parent_prompt_version: type: string nullable: true experiment_id: type: string nullable: true updated_at: type: string required: - id - minor_version - major_version - prompt_v2 - model - helicone_template - created_at - metadata type: object additionalProperties: false ResultSuccess_PromptVersionResult_: properties: data: $ref: '#/components/schemas/PromptVersionResult' error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_PromptVersionResult.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_PromptVersionResult_' - $ref: '#/components/schemas/ResultError_string_' PromptCreateSubversionParams: properties: newHeliconeTemplate: {} isMajorVersion: type: boolean metadata: $ref: '#/components/schemas/Record_string.any_' experimentId: type: string bumpForMajorPromptVersionId: type: string required: - newHeliconeTemplate type: object additionalProperties: false PromptInputRecord: properties: id: type: string inputs: $ref: '#/components/schemas/Record_string.string_' dataset_row_id: type: string source_request: type: string prompt_version: type: string created_at: type: string response_body: type: string request_body: type: string auto_prompt_inputs: items: {} type: array required: - id - inputs - source_request - prompt_version - created_at - auto_prompt_inputs type: object additionalProperties: false ResultSuccess_PromptInputRecord-Array_: properties: data: items: $ref: '#/components/schemas/PromptInputRecord' type: array error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_PromptInputRecord-Array.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_PromptInputRecord-Array_' - $ref: '#/components/schemas/ResultError_string_' ResultSuccess__id-string--created_at-string--num_hypotheses-number--dataset-string--meta-Record_string.any__-Array_: properties: data: items: properties: meta: $ref: '#/components/schemas/Record_string.any_' dataset: type: string num_hypotheses: type: number format: double created_at: type: string id: type: string required: - meta - dataset - num_hypotheses - created_at - id type: object type: array error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result__id-string--created_at-string--num_hypotheses-number--dataset-string--meta-Record_string.any__-Array.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess__id-string--created_at-string--num_hypotheses-number--dataset-string--meta-Record_string.any__-Array_' - $ref: '#/components/schemas/ResultError_string_' ResultSuccess_PromptVersionResult-Array_: properties: data: items: $ref: '#/components/schemas/PromptVersionResult' type: array error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_PromptVersionResult-Array.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_PromptVersionResult-Array_' - $ref: '#/components/schemas/ResultError_string_' Partial_NumberOperators_: properties: not-equals: type: number format: double equals: type: number format: double gte: type: number format: double lte: type: number format: double lt: type: number format: double gt: type: number format: double type: object description: Make all properties in T optional Partial_PromptVersionsToOperators_: properties: minor_version: $ref: '#/components/schemas/Partial_NumberOperators_' major_version: $ref: '#/components/schemas/Partial_NumberOperators_' id: $ref: '#/components/schemas/Partial_TextOperators_' prompt_v2: $ref: '#/components/schemas/Partial_TextOperators_' type: object description: Make all properties in T optional Pick_FilterLeaf.prompts_versions_: properties: prompts_versions: $ref: '#/components/schemas/Partial_PromptVersionsToOperators_' type: object description: From T, pick a set of properties whose keys are in the union K FilterLeafSubset_prompts_versions_: $ref: '#/components/schemas/Pick_FilterLeaf.prompts_versions_' PromptVersionsFilterNode: anyOf: - $ref: '#/components/schemas/FilterLeafSubset_prompts_versions_' - $ref: '#/components/schemas/PromptVersionsFilterBranch' - type: string enum: - all PromptVersionsFilterBranch: properties: right: $ref: '#/components/schemas/PromptVersionsFilterNode' operator: type: string enum: - or - and left: $ref: '#/components/schemas/PromptVersionsFilterNode' required: - right - operator - left type: object PromptVersionsQueryParams: properties: filter: $ref: '#/components/schemas/PromptVersionsFilterNode' includeExperimentVersions: type: boolean type: object additionalProperties: false PromptVersionResultCompiled: properties: id: type: string minor_version: type: number format: double major_version: type: number format: double prompt_v2: type: string model: type: string prompt_compiled: {} required: - id - minor_version - major_version - prompt_v2 - model - prompt_compiled type: object additionalProperties: false ResultSuccess_PromptVersionResultCompiled_: properties: data: $ref: '#/components/schemas/PromptVersionResultCompiled' error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_PromptVersionResultCompiled.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_PromptVersionResultCompiled_' - $ref: '#/components/schemas/ResultError_string_' PromptVersiosQueryParamsCompiled: properties: filter: $ref: '#/components/schemas/PromptVersionsFilterNode' includeExperimentVersions: type: boolean inputs: $ref: '#/components/schemas/Record_string.string_' required: - inputs type: object additionalProperties: false PromptVersionResultFilled: properties: id: type: string minor_version: type: number format: double major_version: type: number format: double prompt_v2: type: string model: type: string filled_helicone_template: {} required: - id - minor_version - major_version - prompt_v2 - model - filled_helicone_template type: object additionalProperties: false ResultSuccess_PromptVersionResultFilled_: properties: data: $ref: '#/components/schemas/PromptVersionResultFilled' error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_PromptVersionResultFilled.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_PromptVersionResultFilled_' - $ref: '#/components/schemas/ResultError_string_' ResultSuccess__experimentId-string__: properties: data: properties: experimentId: type: string required: - experimentId type: object error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result__experimentId-string_.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess__experimentId-string__' - $ref: '#/components/schemas/ResultError_string_' ExperimentV2: properties: id: type: string name: type: string original_prompt_version: type: string copied_original_prompt_version: type: string nullable: true input_keys: items: type: string type: array nullable: true created_at: type: string required: - id - name - original_prompt_version - copied_original_prompt_version - input_keys - created_at type: object additionalProperties: false ResultSuccess_ExperimentV2-Array_: properties: data: items: $ref: '#/components/schemas/ExperimentV2' type: array error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_ExperimentV2-Array.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_ExperimentV2-Array_' - $ref: '#/components/schemas/ResultError_string_' ExperimentV2Output: properties: id: type: string request_id: type: string is_original: type: boolean prompt_version_id: type: string created_at: type: string input_record_id: type: string required: - id - request_id - is_original - prompt_version_id - created_at - input_record_id type: object additionalProperties: false ExperimentV2Row: properties: id: type: string inputs: $ref: '#/components/schemas/Record_string.string_' prompt_version: type: string requests: items: $ref: '#/components/schemas/ExperimentV2Output' type: array auto_prompt_inputs: items: {} type: array required: - id - inputs - prompt_version - requests - auto_prompt_inputs type: object additionalProperties: false ExtendedExperimentData: properties: id: type: string name: type: string original_prompt_version: type: string copied_original_prompt_version: type: string nullable: true input_keys: items: type: string type: array nullable: true created_at: type: string rows: items: $ref: '#/components/schemas/ExperimentV2Row' type: array required: - id - name - original_prompt_version - copied_original_prompt_version - input_keys - created_at - rows type: object additionalProperties: false ResultSuccess_ExtendedExperimentData_: properties: data: $ref: '#/components/schemas/ExtendedExperimentData' error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_ExtendedExperimentData.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_ExtendedExperimentData_' - $ref: '#/components/schemas/ResultError_string_' CreateNewPromptVersionForExperimentParams: properties: newHeliconeTemplate: {} isMajorVersion: type: boolean metadata: $ref: '#/components/schemas/Record_string.any_' experimentId: type: string bumpForMajorPromptVersionId: type: string parentPromptVersionId: type: string required: - newHeliconeTemplate - parentPromptVersionId type: object additionalProperties: false Json: anyOf: - type: string - type: number format: double - type: boolean - properties: {} additionalProperties: $ref: '#/components/schemas/Json' type: object - items: $ref: '#/components/schemas/Json' type: array nullable: true ExperimentV2PromptVersion: properties: created_at: type: string nullable: true experiment_id: type: string nullable: true helicone_template: allOf: - $ref: '#/components/schemas/Json' nullable: true id: type: string major_version: type: number format: double metadata: allOf: - $ref: '#/components/schemas/Json' nullable: true minor_version: type: number format: double model: type: string nullable: true organization: type: string prompt_v2: type: string soft_delete: type: boolean nullable: true required: - created_at - experiment_id - helicone_template - id - major_version - metadata - minor_version - model - organization - prompt_v2 - soft_delete type: object additionalProperties: false ResultSuccess_ExperimentV2PromptVersion-Array_: properties: data: items: $ref: '#/components/schemas/ExperimentV2PromptVersion' type: array error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_ExperimentV2PromptVersion-Array.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_ExperimentV2PromptVersion-Array_' - $ref: '#/components/schemas/ResultError_string_' ResultSuccess_string_: properties: data: type: string error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_string.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_string_' - $ref: '#/components/schemas/ResultError_string_' ResultSuccess_boolean_: properties: data: type: boolean error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_boolean.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_boolean_' - $ref: '#/components/schemas/ResultError_string_' ScoreV2: properties: valueType: type: string value: anyOf: - type: number format: double - type: string format: date-time - type: string max: type: number format: double min: type: number format: double required: - valueType - value - max - min type: object additionalProperties: false Record_string.ScoreV2_: properties: {} additionalProperties: $ref: '#/components/schemas/ScoreV2' type: object description: Construct a type with a set of properties K of type T ResultSuccess_Record_string.ScoreV2__: properties: data: $ref: '#/components/schemas/Record_string.ScoreV2_' error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_Record_string.ScoreV2_.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_Record_string.ScoreV2__' - $ref: '#/components/schemas/ResultError_string_' ResultSuccess_ScoreV2-or-null_: properties: data: allOf: - $ref: '#/components/schemas/ScoreV2' nullable: true error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_ScoreV2-or-null.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_ScoreV2-or-null_' - $ref: '#/components/schemas/ResultError_string_' CreateCloudGatewayCheckoutSessionRequest: properties: amount: type: number format: double returnUrl: type: string required: - amount type: object additionalProperties: false UpgradeToProRequest: properties: addons: properties: evals: type: boolean experiments: type: boolean prompts: type: boolean alerts: type: boolean type: object seats: type: number format: double ui_mode: type: string enum: - embedded - hosted type: object additionalProperties: false UpgradeToTeamBundleRequest: properties: ui_mode: type: string enum: - embedded - hosted type: object additionalProperties: false LLMUsage: properties: model: type: string provider: type: string prompt_tokens: type: number format: double completion_tokens: type: number format: double total_count: type: number format: double amount: type: number format: double description: type: string totalCost: properties: prompt_token: type: number format: double completion_token: type: number format: double required: - prompt_token - completion_token type: object required: - model - provider - prompt_tokens - completion_tokens - total_count - amount - description - totalCost type: object additionalProperties: false PaymentIntentRecord: properties: id: type: string amount: type: number format: double created: type: number format: double status: type: string isRefunded: type: boolean refundedAmount: type: number format: double refundIds: items: type: string type: array required: - id - amount - created - status type: object additionalProperties: false StripePaymentIntentsResponse: properties: data: items: $ref: '#/components/schemas/PaymentIntentRecord' type: array has_more: type: boolean next_page: type: string nullable: true count: type: number format: double required: - data - has_more - next_page - count type: object additionalProperties: false AutoTopoffSettings: properties: enabled: type: boolean thresholdCents: type: number format: double topoffAmountCents: type: number format: double stripePaymentMethodId: type: string nullable: true lastTopoffAt: type: string nullable: true consecutiveFailures: type: number format: double required: - enabled - thresholdCents - topoffAmountCents - stripePaymentMethodId - lastTopoffAt - consecutiveFailures type: object additionalProperties: false UpdateAutoTopoffSettingsRequest: properties: enabled: type: boolean thresholdCents: type: number format: double topoffAmountCents: type: number format: double stripePaymentMethodId: type: string required: - enabled - thresholdCents - topoffAmountCents - stripePaymentMethodId type: object additionalProperties: false PaymentMethod: properties: id: type: string brand: type: string last4: type: string exp_month: type: number format: double exp_year: type: number format: double required: - id - brand - last4 - exp_month - exp_year type: object additionalProperties: false CreateSetupSessionRequest: properties: returnUrl: type: string type: object additionalProperties: false DailyUsageDataPoint: properties: date: type: string requests: type: number format: double bytes: type: number format: double required: - date - requests - bytes type: object additionalProperties: false UsageStatsResponse: properties: billingPeriod: properties: daysTotal: type: number format: double daysElapsed: type: number format: double end: type: string start: type: string required: - daysTotal - daysElapsed - end - start type: object usage: properties: totalGB: type: number format: double totalBytes: type: number format: double totalRequests: type: number format: double required: - totalGB - totalBytes - totalRequests type: object dailyData: items: $ref: '#/components/schemas/DailyUsageDataPoint' type: array estimatedCost: properties: projectedMonthlyTotalCost: type: number format: double projectedMonthlyGBCost: type: number format: double projectedMonthlyRequestsCost: type: number format: double totalCost: type: number format: double gbCost: type: number format: double requestsCost: type: number format: double required: - projectedMonthlyTotalCost - projectedMonthlyGBCost - projectedMonthlyRequestsCost - totalCost - gbCost - requestsCost type: object required: - billingPeriod - usage - dailyData - estimatedCost type: object additionalProperties: false IntegrationCreateParams: properties: integration_name: type: string settings: $ref: '#/components/schemas/Json' active: type: boolean required: - integration_name type: object additionalProperties: false Integration: properties: integration_name: type: string settings: $ref: '#/components/schemas/Json' active: type: boolean id: type: string required: - id type: object additionalProperties: false ResultSuccess_Array_Integration__: properties: data: items: $ref: '#/components/schemas/Integration' type: array error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_Array_Integration_.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_Array_Integration__' - $ref: '#/components/schemas/ResultError_string_' IntegrationUpdateParams: properties: integration_name: type: string settings: $ref: '#/components/schemas/Json' active: type: boolean type: object additionalProperties: false ResultSuccess_Integration_: properties: data: $ref: '#/components/schemas/Integration' error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_Integration.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_Integration_' - $ref: '#/components/schemas/ResultError_string_' ResultSuccess_Array__id-string--name-string___: properties: data: items: properties: name: type: string id: type: string required: - name - id type: object type: array error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_Array__id-string--name-string__.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_Array__id-string--name-string___' - $ref: '#/components/schemas/ResultError_string_' TestStripeMeterEventRequest: properties: event_name: type: string customer_id: type: string required: - event_name - customer_id type: object additionalProperties: false Partial_ResponseTableToOperators_: properties: body_tokens: $ref: '#/components/schemas/Partial_NumberOperators_' body_model: $ref: '#/components/schemas/Partial_TextOperators_' body_completion: $ref: '#/components/schemas/Partial_TextOperators_' status: $ref: '#/components/schemas/Partial_NumberOperators_' model: $ref: '#/components/schemas/Partial_TextOperators_' type: object description: Make all properties in T optional Partial_TimestampOperators_: properties: equals: type: string gte: type: string lte: type: string lt: type: string gt: type: string type: object description: Make all properties in T optional Partial_RequestTableToOperators_: properties: prompt: $ref: '#/components/schemas/Partial_TextOperators_' created_at: $ref: '#/components/schemas/Partial_TimestampOperators_' user_id: $ref: '#/components/schemas/Partial_TextOperators_' auth_hash: $ref: '#/components/schemas/Partial_TextOperators_' org_id: $ref: '#/components/schemas/Partial_TextOperators_' id: $ref: '#/components/schemas/Partial_TextOperators_' node_id: $ref: '#/components/schemas/Partial_TextOperators_' model: $ref: '#/components/schemas/Partial_TextOperators_' modelOverride: $ref: '#/components/schemas/Partial_TextOperators_' path: $ref: '#/components/schemas/Partial_TextOperators_' country_code: $ref: '#/components/schemas/Partial_TextOperators_' prompt_id: $ref: '#/components/schemas/Partial_TextOperators_' type: object description: Make all properties in T optional Partial_BooleanOperators_: properties: equals: type: boolean type: object description: Make all properties in T optional Partial_FeedbackTableToOperators_: properties: id: $ref: '#/components/schemas/Partial_NumberOperators_' created_at: $ref: '#/components/schemas/Partial_TimestampOperators_' rating: $ref: '#/components/schemas/Partial_BooleanOperators_' response_id: $ref: '#/components/schemas/Partial_TextOperators_' type: object description: Make all properties in T optional Partial_TimestampOperatorsTyped_: properties: equals: type: string format: date-time gte: type: string format: date-time lte: type: string format: date-time lt: type: string format: date-time gt: type: string format: date-time type: object description: Make all properties in T optional Partial_RequestResponseRMTToOperators_: properties: country_code: $ref: '#/components/schemas/Partial_TextOperators_' latency: $ref: '#/components/schemas/Partial_NumberOperators_' cost: $ref: '#/components/schemas/Partial_NumberOperators_' provider: $ref: '#/components/schemas/Partial_TextOperators_' time_to_first_token: $ref: '#/components/schemas/Partial_NumberOperators_' status: $ref: '#/components/schemas/Partial_NumberOperators_' request_created_at: $ref: '#/components/schemas/Partial_TimestampOperatorsTyped_' response_created_at: $ref: '#/components/schemas/Partial_TimestampOperatorsTyped_' model: $ref: '#/components/schemas/Partial_TextOperators_' user_id: $ref: '#/components/schemas/Partial_TextOperators_' organization_id: $ref: '#/components/schemas/Partial_TextOperators_' node_id: $ref: '#/components/schemas/Partial_TextOperators_' job_id: $ref: '#/components/schemas/Partial_TextOperators_' threat: $ref: '#/components/schemas/Partial_BooleanOperators_' request_id: $ref: '#/components/schemas/Partial_TextOperators_' prompt_tokens: $ref: '#/components/schemas/Partial_NumberOperators_' completion_tokens: $ref: '#/components/schemas/Partial_NumberOperators_' prompt_cache_read_tokens: $ref: '#/components/schemas/Partial_NumberOperators_' prompt_cache_write_tokens: $ref: '#/components/schemas/Partial_NumberOperators_' total_tokens: $ref: '#/components/schemas/Partial_NumberOperators_' target_url: $ref: '#/components/schemas/Partial_TextOperators_' property_key: properties: equals: type: string required: - equals type: object properties: properties: {} additionalProperties: $ref: '#/components/schemas/Partial_TextOperators_' type: object search_properties: properties: {} additionalProperties: $ref: '#/components/schemas/Partial_TextOperators_' type: object scores: properties: {} additionalProperties: $ref: '#/components/schemas/Partial_TextOperators_' type: object scores_column: $ref: '#/components/schemas/Partial_TextOperators_' request_body: $ref: '#/components/schemas/Partial_TextOperators_' response_body: $ref: '#/components/schemas/Partial_TextOperators_' cache_enabled: $ref: '#/components/schemas/Partial_BooleanOperators_' cache_reference_id: $ref: '#/components/schemas/Partial_TextOperators_' cached: $ref: '#/components/schemas/Partial_BooleanOperators_' assets: $ref: '#/components/schemas/Partial_TextOperators_' helicone-score-feedback: $ref: '#/components/schemas/Partial_BooleanOperators_' prompt_id: $ref: '#/components/schemas/Partial_TextOperators_' prompt_version: $ref: '#/components/schemas/Partial_TextOperators_' request_referrer: $ref: '#/components/schemas/Partial_TextOperators_' is_passthrough_billing: $ref: '#/components/schemas/Partial_BooleanOperators_' type: object description: Make all properties in T optional Partial_SessionsRequestResponseRMTToOperators_: properties: session_session_id: $ref: '#/components/schemas/Partial_TextOperators_' session_session_name: $ref: '#/components/schemas/Partial_TextOperators_' session_total_cost: $ref: '#/components/schemas/Partial_NumberOperators_' session_total_tokens: $ref: '#/components/schemas/Partial_NumberOperators_' session_prompt_tokens: $ref: '#/components/schemas/Partial_NumberOperators_' session_completion_tokens: $ref: '#/components/schemas/Partial_NumberOperators_' session_total_requests: $ref: '#/components/schemas/Partial_NumberOperators_' session_created_at: $ref: '#/components/schemas/Partial_TimestampOperatorsTyped_' session_latest_request_created_at: $ref: '#/components/schemas/Partial_TimestampOperatorsTyped_' session_tag: $ref: '#/components/schemas/Partial_TextOperators_' type: object description: Make all properties in T optional ? Pick_FilterLeaf.feedback-or-request-or-response-or-properties-or-values-or-request_response_rmt-or-sessions_request_response_rmt_ : properties: values: properties: {} additionalProperties: $ref: '#/components/schemas/Partial_TextOperators_' type: object response: $ref: '#/components/schemas/Partial_ResponseTableToOperators_' request: $ref: '#/components/schemas/Partial_RequestTableToOperators_' feedback: $ref: '#/components/schemas/Partial_FeedbackTableToOperators_' request_response_rmt: $ref: '#/components/schemas/Partial_RequestResponseRMTToOperators_' sessions_request_response_rmt: $ref: '#/components/schemas/Partial_SessionsRequestResponseRMTToOperators_' properties: properties: {} additionalProperties: $ref: '#/components/schemas/Partial_TextOperators_' type: object type: object description: From T, pick a set of properties whose keys are in the union K ? FilterLeafSubset_feedback-or-request-or-response-or-properties-or-values-or-request_response_rmt-or-sessions_request_response_rmt_ : $ref: '#/components/schemas/Pick_FilterLeaf.feedback-or-request-or-response-or-properties-or-values-or-request_response_rmt-or-sessions_request_response_rmt_' RequestFilterNode: anyOf: - $ref: '#/components/schemas/FilterLeafSubset_feedback-or-request-or-response-or-properties-or-values-or-request_response_rmt-or-sessions_request_response_rmt_' - $ref: '#/components/schemas/RequestFilterBranch' - type: string enum: - all RequestFilterBranch: properties: right: $ref: '#/components/schemas/RequestFilterNode' operator: type: string enum: - or - and left: $ref: '#/components/schemas/RequestFilterNode' required: - right - operator - left type: object SortDirection: type: string enum: - asc - desc SortLeafRequest: properties: random: type: boolean enum: - true nullable: false created_at: $ref: '#/components/schemas/SortDirection' cache_created_at: $ref: '#/components/schemas/SortDirection' latency: $ref: '#/components/schemas/SortDirection' last_active: $ref: '#/components/schemas/SortDirection' total_tokens: $ref: '#/components/schemas/SortDirection' completion_tokens: $ref: '#/components/schemas/SortDirection' prompt_tokens: $ref: '#/components/schemas/SortDirection' user_id: $ref: '#/components/schemas/SortDirection' body_model: $ref: '#/components/schemas/SortDirection' is_cached: $ref: '#/components/schemas/SortDirection' request_prompt: $ref: '#/components/schemas/SortDirection' response_text: $ref: '#/components/schemas/SortDirection' properties: properties: {} additionalProperties: $ref: '#/components/schemas/SortDirection' type: object values: properties: {} additionalProperties: $ref: '#/components/schemas/SortDirection' type: object cost: $ref: '#/components/schemas/SortDirection' time_to_first_token: $ref: '#/components/schemas/SortDirection' type: object additionalProperties: false RequestQueryParams: properties: filter: $ref: '#/components/schemas/RequestFilterNode' offset: type: number format: double limit: type: number format: double sort: $ref: '#/components/schemas/SortLeafRequest' isCached: type: boolean includeInputs: type: boolean isPartOfExperiment: type: boolean isScored: type: boolean required: - filter type: object additionalProperties: false ProviderName: type: string enum: - OPENAI - ANTHROPIC - AZURE - LOCAL - HELICONE - AMDBARTEK - ANYSCALE - CLOUDFLARE - 2YFV - TOGETHER - LEMONFOX - FIREWORKS - PERPLEXITY - GOOGLE - OPENROUTER - WISDOMINANUTSHELL - GROQ - COHERE - MISTRAL - DEEPINFRA - QSTASH - FIRECRAWL - AWS - BEDROCK - DEEPSEEK - X - AVIAN - NEBIUS - NOVITA - OPENPIPE - CHUTES - LLAMA - NVIDIA - VERCEL - CEREBRAS - BASETEN - CANOPYWAVE ModelProviderName: type: string enum: - baseten - anthropic - azure - bedrock - canopywave - cerebras - chutes - deepinfra - deepseek - fireworks - google-ai-studio - groq - helicone - mistral - nebius - novita - openai - openrouter - perplexity - vertex - xai nullable: false Provider: anyOf: - $ref: '#/components/schemas/ProviderName' - $ref: '#/components/schemas/ModelProviderName' - type: string enum: - CUSTOM LlmType: type: string enum: - chat - completion FunctionCall: properties: id: type: string name: type: string arguments: $ref: '#/components/schemas/Record_string.any_' required: - name - arguments type: object additionalProperties: false Message: properties: ending_event_id: type: string trigger_event_id: type: string start_timestamp: type: string annotations: items: properties: content: type: string title: type: string url: type: string type: type: string enum: - url_citation nullable: false required: - title - url - type type: object type: array reasoning: type: string deleted: type: boolean contentArray: items: $ref: '#/components/schemas/Message' type: array idx: type: number format: double detail: type: string filename: type: string file_id: type: string file_data: type: string type: type: string enum: - input_image - input_text - input_file audio_data: type: string image_url: type: string timestamp: type: string tool_call_id: type: string tool_calls: items: $ref: '#/components/schemas/FunctionCall' type: array mime_type: type: string content: type: string name: type: string instruction: type: string role: anyOf: - type: string - type: string enum: - user - assistant - system - developer id: type: string _type: type: string enum: - functionCall - function - image - file - message - autoInput - contentArray - audio required: - _type type: object Tool: properties: name: type: string description: type: string parameters: $ref: '#/components/schemas/Record_string.any_' strict: type: boolean required: - name type: object additionalProperties: false HeliconeEventTool: properties: _type: type: string enum: - tool nullable: false toolName: type: string input: {} required: - _type - toolName - input type: object additionalProperties: {} HeliconeEventVectorDB: properties: _type: type: string enum: - vector_db nullable: false operation: type: string enum: - search - insert - delete - update text: type: string vector: items: type: number format: double type: array topK: type: number format: double filter: additionalProperties: false type: object databaseName: type: string required: - _type - operation type: object additionalProperties: {} HeliconeEventData: properties: _type: type: string enum: - data nullable: false name: type: string meta: $ref: '#/components/schemas/Record_string.any_' required: - _type - name type: object additionalProperties: {} LLMRequestBody: properties: llm_type: $ref: '#/components/schemas/LlmType' provider: type: string model: type: string messages: items: $ref: '#/components/schemas/Message' type: array nullable: true prompt: type: string nullable: true instructions: type: string nullable: true max_tokens: type: number format: double nullable: true temperature: type: number format: double nullable: true top_p: type: number format: double nullable: true seed: type: number format: double nullable: true stream: type: boolean nullable: true presence_penalty: type: number format: double nullable: true frequency_penalty: type: number format: double nullable: true stop: anyOf: - items: type: string type: array - type: string nullable: true reasoning_effort: type: string enum: - minimal - low - medium - high - null nullable: true verbosity: type: string enum: - low - medium - high - null nullable: true tools: items: $ref: '#/components/schemas/Tool' type: array parallel_tool_calls: type: boolean nullable: true tool_choice: properties: name: type: string type: type: string enum: - none - auto - any - tool required: - type type: object response_format: properties: json_schema: {} type: type: string required: - type type: object toolDetails: $ref: '#/components/schemas/HeliconeEventTool' vectorDBDetails: $ref: '#/components/schemas/HeliconeEventVectorDB' dataDetails: $ref: '#/components/schemas/HeliconeEventData' input: anyOf: - type: string - items: type: string type: array n: type: number format: double nullable: true size: type: string quality: type: string type: object additionalProperties: false Response: properties: contentArray: items: $ref: '#/components/schemas/Response' type: array detail: type: string filename: type: string file_id: type: string file_data: type: string idx: type: number format: double audio_data: type: string image_url: type: string timestamp: type: string tool_call_id: type: string tool_calls: items: $ref: '#/components/schemas/FunctionCall' type: array text: type: string type: type: string enum: - input_image - input_text - input_file name: type: string role: type: string enum: - user - assistant - system - developer id: type: string _type: type: string enum: - functionCall - function - image - text - file - contentArray required: - type - role - _type type: object LLMResponseBody: properties: dataDetailsResponse: properties: name: type: string _type: type: string enum: - data nullable: false metadata: properties: timestamp: type: string additionalProperties: {} required: - timestamp type: object message: type: string status: type: string additionalProperties: {} required: - name - _type - metadata - message - status type: object vectorDBDetailsResponse: properties: _type: type: string enum: - vector_db nullable: false metadata: properties: timestamp: type: string destination_parsed: type: boolean destination: type: string required: - timestamp type: object actualSimilarity: type: number format: double similarityThreshold: type: number format: double message: type: string status: type: string required: - _type - metadata - message - status type: object toolDetailsResponse: properties: toolName: type: string _type: type: string enum: - tool nullable: false metadata: properties: timestamp: type: string required: - timestamp type: object tips: items: type: string type: array message: type: string status: type: string required: - toolName - _type - metadata - tips - message - status type: object error: properties: heliconeMessage: {} required: - heliconeMessage type: object model: type: string nullable: true instructions: type: string nullable: true responses: items: $ref: '#/components/schemas/Response' type: array nullable: true messages: items: $ref: '#/components/schemas/Message' type: array nullable: true type: object LlmSchema: properties: request: $ref: '#/components/schemas/LLMRequestBody' response: allOf: - $ref: '#/components/schemas/LLMResponseBody' nullable: true required: - request type: object additionalProperties: false HeliconeRequest: properties: response_id: type: string nullable: true response_created_at: type: string nullable: true response_body: {} response_status: type: number format: double response_model: type: string nullable: true request_id: type: string request_created_at: type: string request_body: {} request_path: type: string request_user_id: type: string nullable: true request_properties: allOf: - $ref: '#/components/schemas/Record_string.string_' nullable: true request_model: type: string nullable: true model_override: type: string nullable: true helicone_user: type: string nullable: true provider: $ref: '#/components/schemas/Provider' delay_ms: type: number format: double nullable: true time_to_first_token: type: number format: double nullable: true total_tokens: type: number format: double nullable: true prompt_tokens: type: number format: double nullable: true prompt_cache_write_tokens: type: number format: double nullable: true prompt_cache_read_tokens: type: number format: double nullable: true completion_tokens: type: number format: double nullable: true reasoning_tokens: type: number format: double nullable: true prompt_audio_tokens: type: number format: double nullable: true completion_audio_tokens: type: number format: double nullable: true cost: type: number format: double nullable: true prompt_id: type: string nullable: true prompt_version: type: string nullable: true feedback_created_at: type: string nullable: true feedback_id: type: string nullable: true feedback_rating: type: boolean nullable: true signed_body_url: type: string nullable: true llmSchema: allOf: - $ref: '#/components/schemas/LlmSchema' nullable: true country_code: type: string nullable: true asset_ids: items: type: string type: array nullable: true asset_urls: allOf: - $ref: '#/components/schemas/Record_string.string_' nullable: true scores: allOf: - $ref: '#/components/schemas/Record_string.number_' nullable: true costUSD: type: number format: double nullable: true properties: $ref: '#/components/schemas/Record_string.string_' assets: items: type: string type: array target_url: type: string model: type: string cache_reference_id: type: string nullable: true cache_enabled: type: boolean updated_at: type: string request_referrer: type: string nullable: true ai_gateway_body_mapping: type: string nullable: true storage_location: type: string required: - response_id - response_created_at - response_status - response_model - request_id - request_created_at - request_body - request_path - request_user_id - request_properties - request_model - model_override - helicone_user - provider - delay_ms - time_to_first_token - total_tokens - prompt_tokens - prompt_cache_write_tokens - prompt_cache_read_tokens - completion_tokens - reasoning_tokens - prompt_audio_tokens - completion_audio_tokens - cost - prompt_id - prompt_version - llmSchema - country_code - asset_ids - asset_urls - scores - properties - assets - target_url - model - cache_reference_id - cache_enabled - ai_gateway_body_mapping type: object additionalProperties: false ResultSuccess_HeliconeRequest-Array_: properties: data: items: $ref: '#/components/schemas/HeliconeRequest' type: array error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_HeliconeRequest-Array.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_HeliconeRequest-Array_' - $ref: '#/components/schemas/ResultError_string_' ResultSuccess_HeliconeRequest_: properties: data: $ref: '#/components/schemas/HeliconeRequest' error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_HeliconeRequest.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_HeliconeRequest_' - $ref: '#/components/schemas/ResultError_string_' ResultSuccess__inputs-Record_string.any_--prompt_id-string--version_id-string--environment-string-or-null_-or-null_: properties: data: properties: environment: type: string nullable: true version_id: type: string prompt_id: type: string inputs: $ref: '#/components/schemas/Record_string.any_' required: - environment - version_id - prompt_id - inputs type: object nullable: true error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result__inputs-Record_string.any_--prompt_id-string--version_id-string--environment-string-or-null_-or-null.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess__inputs-Record_string.any_--prompt_id-string--version_id-string--environment-string-or-null_-or-null_' - $ref: '#/components/schemas/ResultError_string_' HeliconeRequestAsset: properties: assetUrl: type: string required: - assetUrl type: object additionalProperties: false ResultSuccess_HeliconeRequestAsset_: properties: data: $ref: '#/components/schemas/HeliconeRequestAsset' error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_HeliconeRequestAsset.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_HeliconeRequestAsset_' - $ref: '#/components/schemas/ResultError_string_' Record_string.number-or-boolean-or-undefined_: properties: {} additionalProperties: anyOf: - type: number format: double - type: boolean type: object description: Construct a type with a set of properties K of type T Scores: $ref: '#/components/schemas/Record_string.number-or-boolean-or-undefined_' ScoreRequest: properties: scores: $ref: '#/components/schemas/Scores' required: - scores type: object additionalProperties: false ConversationMessage: properties: role: type: string content: type: string required: - role - content type: object additionalProperties: false MostExpensiveRequest: properties: requestId: type: string cost: type: number format: double model: type: string provider: type: string createdAt: type: string promptTokens: type: number format: double completionTokens: type: number format: double conversation: properties: totalWords: type: number format: double turnCount: type: number format: double messages: items: $ref: '#/components/schemas/ConversationMessage' type: array required: - totalWords - turnCount - messages type: object nullable: true required: - requestId - cost - model - provider - createdAt - promptTokens - completionTokens - conversation type: object additionalProperties: false WrappedStats: properties: totalRequests: type: number format: double topProviders: items: properties: count: type: number format: double provider: type: string required: - count - provider type: object type: array topModels: items: properties: count: type: number format: double model: type: string required: - count - model type: object type: array totalTokens: properties: total: type: number format: double cacheRead: type: number format: double cacheWrite: type: number format: double completion: type: number format: double prompt: type: number format: double required: - total - cacheRead - cacheWrite - completion - prompt type: object mostExpensiveRequest: allOf: - $ref: '#/components/schemas/MostExpensiveRequest' nullable: true required: - totalRequests - topProviders - topModels - totalTokens - mostExpensiveRequest type: object additionalProperties: false ResultSuccess_WrappedStats_: properties: data: $ref: '#/components/schemas/WrappedStats' error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_WrappedStats.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_WrappedStats_' - $ref: '#/components/schemas/ResultError_string_' ResultSuccess__hasData-boolean__: properties: data: properties: hasData: type: boolean required: - hasData type: object error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result__hasData-boolean_.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess__hasData-boolean__' - $ref: '#/components/schemas/ResultError_string_' ResultSuccess_unknown_: properties: data: {} error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false ResultError_unknown_: properties: data: type: number enum: - null nullable: true error: {} required: - data - error type: object additionalProperties: false WebhookData: properties: destination: type: string config: $ref: '#/components/schemas/Record_string.any_' includeData: type: boolean required: - destination - config type: object additionalProperties: false ResultSuccess__id-string--created_at-string--destination-string--version-string--config-string--hmac_key-string_-Array_: properties: data: items: properties: hmac_key: type: string config: type: string version: type: string destination: type: string created_at: type: string id: type: string required: - hmac_key - config - version - destination - created_at - id type: object type: array error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result__id-string--created_at-string--destination-string--version-string--config-string--hmac_key-string_-Array.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess__id-string--created_at-string--destination-string--version-string--config-string--hmac_key-string_-Array_' - $ref: '#/components/schemas/ResultError_string_' ResultSuccess__success-boolean--message-string__: properties: data: properties: message: type: string success: type: boolean required: - message - success type: object error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result__success-boolean--message-string_.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess__success-boolean--message-string__' - $ref: '#/components/schemas/ResultError_string_' AddVaultKeyParams: properties: key: type: string provider: type: string name: type: string required: - key - provider type: object additionalProperties: false ResultSuccess_DecryptedProviderKey-Array_: properties: data: items: $ref: '#/components/schemas/DecryptedProviderKey' type: array error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_DecryptedProviderKey-Array.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_DecryptedProviderKey-Array_' - $ref: '#/components/schemas/ResultError_string_' ResultSuccess_DecryptedProviderKey_: properties: data: $ref: '#/components/schemas/DecryptedProviderKey' error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_DecryptedProviderKey.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_DecryptedProviderKey_' - $ref: '#/components/schemas/ResultError_string_' HistogramRow: properties: range_start: type: string range_end: type: string value: type: number format: double required: - range_start - range_end - value type: object additionalProperties: false ResultSuccess__request_count-HistogramRow-Array--user_cost-HistogramRow-Array__: properties: data: properties: user_cost: items: $ref: '#/components/schemas/HistogramRow' type: array request_count: items: $ref: '#/components/schemas/HistogramRow' type: array required: - user_cost - request_count type: object error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result__request_count-HistogramRow-Array--user_cost-HistogramRow-Array_.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess__request_count-HistogramRow-Array--user_cost-HistogramRow-Array__' - $ref: '#/components/schemas/ResultError_string_' Partial_UserViewToOperators_: properties: user_user_id: $ref: '#/components/schemas/Partial_TextOperators_' user_active_for: $ref: '#/components/schemas/Partial_NumberOperators_' user_first_active: $ref: '#/components/schemas/Partial_TimestampOperatorsTyped_' user_last_active: $ref: '#/components/schemas/Partial_TimestampOperatorsTyped_' user_total_requests: $ref: '#/components/schemas/Partial_NumberOperators_' user_average_requests_per_day_active: $ref: '#/components/schemas/Partial_NumberOperators_' user_average_tokens_per_request: $ref: '#/components/schemas/Partial_NumberOperators_' user_total_completion_tokens: $ref: '#/components/schemas/Partial_NumberOperators_' user_total_prompt_tokens: $ref: '#/components/schemas/Partial_NumberOperators_' user_cost: $ref: '#/components/schemas/Partial_NumberOperators_' type: object description: Make all properties in T optional Pick_FilterLeaf.users_view-or-request_response_rmt_: properties: request_response_rmt: $ref: '#/components/schemas/Partial_RequestResponseRMTToOperators_' users_view: $ref: '#/components/schemas/Partial_UserViewToOperators_' type: object description: From T, pick a set of properties whose keys are in the union K FilterLeafSubset_users_view-or-request_response_rmt_: $ref: '#/components/schemas/Pick_FilterLeaf.users_view-or-request_response_rmt_' UserFilterNode: anyOf: - $ref: '#/components/schemas/FilterLeafSubset_users_view-or-request_response_rmt_' - $ref: '#/components/schemas/UserFilterBranch' - type: string enum: - all UserFilterBranch: properties: right: $ref: '#/components/schemas/UserFilterNode' operator: type: string enum: - or - and left: $ref: '#/components/schemas/UserFilterNode' required: - right - operator - left type: object PSize: type: string enum: - p50 - p75 - p95 - p99 - p99.9 UserMetricsResult: properties: id: type: string user_id: type: string active_for: type: number format: double first_active: type: string last_active: type: string total_requests: type: number format: double average_requests_per_day_active: type: number format: double average_tokens_per_request: type: number format: double total_completion_tokens: type: number format: double total_prompt_tokens: type: number format: double cost: type: number format: double required: - id - user_id - active_for - first_active - last_active - total_requests - average_requests_per_day_active - average_tokens_per_request - total_completion_tokens - total_prompt_tokens - cost type: object additionalProperties: false ResultSuccess__users-UserMetricsResult-Array--count-number--hasUsers-boolean__: properties: data: properties: hasUsers: type: boolean count: type: number format: double users: items: $ref: '#/components/schemas/UserMetricsResult' type: array required: - hasUsers - count - users type: object error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result__users-UserMetricsResult-Array--count-number--hasUsers-boolean_.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess__users-UserMetricsResult-Array--count-number--hasUsers-boolean__' - $ref: '#/components/schemas/ResultError_string_' SortLeafUsers: properties: id: $ref: '#/components/schemas/SortDirection' user_id: $ref: '#/components/schemas/SortDirection' active_for: $ref: '#/components/schemas/SortDirection' first_active: $ref: '#/components/schemas/SortDirection' last_active: $ref: '#/components/schemas/SortDirection' total_requests: $ref: '#/components/schemas/SortDirection' average_requests_per_day_active: $ref: '#/components/schemas/SortDirection' average_tokens_per_request: $ref: '#/components/schemas/SortDirection' total_prompt_tokens: $ref: '#/components/schemas/SortDirection' total_completion_tokens: $ref: '#/components/schemas/SortDirection' cost: $ref: '#/components/schemas/SortDirection' rate_limited_count: $ref: '#/components/schemas/SortDirection' type: object UserMetricsQueryParams: properties: filter: $ref: '#/components/schemas/UserFilterNode' offset: type: number format: double limit: type: number format: double timeFilter: properties: endTimeUnixSeconds: type: number format: double startTimeUnixSeconds: type: number format: double required: - endTimeUnixSeconds - startTimeUnixSeconds type: object timeZoneDifferenceMinutes: type: number format: double sort: $ref: '#/components/schemas/SortLeafUsers' required: - filter - offset - limit type: object additionalProperties: false ResultSuccess__count-number--prompt_tokens-number--completion_tokens-number--user_id-string--cost-number_-Array_: properties: data: items: properties: cost: type: number format: double user_id: type: string completion_tokens: type: number format: double prompt_tokens: type: number format: double count: type: number format: double required: - cost - user_id - completion_tokens - prompt_tokens - count type: object type: array error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result__count-number--prompt_tokens-number--completion_tokens-number--user_id-string--cost-number_-Array.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess__count-number--prompt_tokens-number--completion_tokens-number--user_id-string--cost-number_-Array_' - $ref: '#/components/schemas/ResultError_string_' UserQueryParams: properties: userIds: items: type: string type: array timeFilter: properties: endTimeUnixSeconds: type: number format: double startTimeUnixSeconds: type: number format: double required: - endTimeUnixSeconds - startTimeUnixSeconds type: object type: object additionalProperties: false ValidationError: properties: field: type: string message: type: string required: - field - message type: object additionalProperties: false ValidationResult: properties: isValid: type: boolean errors: items: $ref: '#/components/schemas/ValidationError' type: array required: - isValid - errors type: object additionalProperties: false TypedProviderRequest: properties: url: type: string json: $ref: '#/components/schemas/Record_string.unknown_' meta: $ref: '#/components/schemas/Record_string.string_' required: - url - json - meta type: object additionalProperties: false TypedProviderResponse: properties: json: $ref: '#/components/schemas/Record_string.unknown_' textBody: type: string status: type: number format: double headers: $ref: '#/components/schemas/Record_string.string_' required: - status - headers type: object additionalProperties: false TypedTiming: properties: timeToFirstToken: type: number format: double startTime: type: string endTime: type: string required: - startTime - endTime type: object additionalProperties: false TypedAsyncLogModel: properties: providerRequest: $ref: '#/components/schemas/TypedProviderRequest' providerResponse: $ref: '#/components/schemas/TypedProviderResponse' timing: $ref: '#/components/schemas/TypedTiming' provider: $ref: '#/components/schemas/Provider' required: - providerRequest - providerResponse type: object additionalProperties: false OTELTrace: properties: resourceSpans: items: properties: scopeSpans: items: properties: spans: items: properties: droppedLinksCount: type: number format: double links: items: {} type: array status: properties: code: type: number format: double required: - code type: object droppedEventsCount: type: number format: double events: items: {} type: array droppedAttributesCount: type: number format: double attributes: items: properties: value: properties: intValue: type: number format: double stringValue: type: string type: object key: type: string required: - value - key type: object type: array endTimeUnixNano: type: string startTimeUnixNano: type: string kind: type: number format: double name: type: string spanId: type: string traceId: type: string required: - droppedLinksCount - links - status - droppedEventsCount - events - droppedAttributesCount - attributes - endTimeUnixNano - startTimeUnixNano - kind - name - spanId - traceId type: object type: array scope: properties: version: type: string name: type: string required: - version - name type: object required: - spans - scope type: object type: array resource: properties: droppedAttributesCount: type: number format: double attributes: items: properties: value: properties: arrayValue: properties: values: items: properties: stringValue: type: string required: - stringValue type: object type: array required: - values type: object intValue: type: number format: double stringValue: type: string type: object key: type: string required: - value - key type: object type: array required: - droppedAttributesCount - attributes type: object required: - scopeSpans - resource type: object type: array required: - resourceSpans type: object SendTestRequestResponse: properties: success: type: boolean response: type: string requestId: type: string error: type: string required: - success type: object additionalProperties: false SendTestRequestRequest: properties: apiKey: type: string required: - apiKey type: object additionalProperties: false SessionResult: properties: created_at: type: string latest_request_created_at: type: string session_id: type: string session_name: type: string total_cost: type: number format: double total_requests: type: number format: double prompt_tokens: type: number format: double completion_tokens: type: number format: double total_tokens: type: number format: double avg_latency: type: number format: double user_ids: items: type: string type: array required: - created_at - latest_request_created_at - session_id - session_name - total_cost - total_requests - prompt_tokens - completion_tokens - total_tokens - avg_latency - user_ids type: object additionalProperties: false ResultSuccess_SessionResult-Array_: properties: data: items: $ref: '#/components/schemas/SessionResult' type: array error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_SessionResult-Array.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_SessionResult-Array_' - $ref: '#/components/schemas/ResultError_string_' Pick_FilterLeaf.request_response_rmt-or-sessions_request_response_rmt_: properties: request_response_rmt: $ref: '#/components/schemas/Partial_RequestResponseRMTToOperators_' sessions_request_response_rmt: $ref: '#/components/schemas/Partial_SessionsRequestResponseRMTToOperators_' type: object description: From T, pick a set of properties whose keys are in the union K FilterLeafSubset_request_response_rmt-or-sessions_request_response_rmt_: $ref: '#/components/schemas/Pick_FilterLeaf.request_response_rmt-or-sessions_request_response_rmt_' SessionFilterNode: anyOf: - $ref: '#/components/schemas/FilterLeafSubset_request_response_rmt-or-sessions_request_response_rmt_' - $ref: '#/components/schemas/SessionFilterBranch' - type: string enum: - all SessionFilterBranch: properties: right: $ref: '#/components/schemas/SessionFilterNode' operator: type: string enum: - or - and left: $ref: '#/components/schemas/SessionFilterNode' required: - right - operator - left type: object SessionQueryParams: properties: search: type: string timeFilter: properties: endTimeUnixMs: type: number format: double startTimeUnixMs: type: number format: double required: - endTimeUnixMs - startTimeUnixMs type: object nameEquals: type: string timezoneDifference: type: number format: double filter: $ref: '#/components/schemas/SessionFilterNode' offset: type: number format: double limit: type: number format: double required: - search - timeFilter - timezoneDifference - filter type: object additionalProperties: false SessionsAggregateMetrics: properties: count: type: number format: double total_cost: type: number format: double avg_cost: type: number format: double avg_latency: type: number format: double avg_requests: type: number format: double required: - count - total_cost - avg_cost - avg_latency - avg_requests type: object additionalProperties: false ResultSuccess_SessionsAggregateMetrics_: properties: data: $ref: '#/components/schemas/SessionsAggregateMetrics' error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_SessionsAggregateMetrics.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_SessionsAggregateMetrics_' - $ref: '#/components/schemas/ResultError_string_' SessionNameResult: properties: name: type: string created_at: type: string last_used: type: string first_used: type: string session_count: type: number format: double avg_latency: type: number format: double required: - name - created_at - last_used - first_used - session_count - avg_latency type: object additionalProperties: false ResultSuccess_SessionNameResult-Array_: properties: data: items: $ref: '#/components/schemas/SessionNameResult' type: array error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_SessionNameResult-Array.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_SessionNameResult-Array_' - $ref: '#/components/schemas/ResultError_string_' TimeFilterMs: properties: startTimeUnixMs: type: number format: double endTimeUnixMs: type: number format: double required: - startTimeUnixMs - endTimeUnixMs type: object additionalProperties: false SessionNameQueryParams: properties: nameContains: type: string timezoneDifference: type: number format: double pSize: type: string enum: - p50 - p75 - p95 - p99 - p99.9 useInterquartile: type: boolean timeFilter: $ref: '#/components/schemas/TimeFilterMs' filter: $ref: '#/components/schemas/SessionFilterNode' required: - nameContains - timezoneDifference type: object additionalProperties: false AverageRow: properties: average: type: number format: double required: - average type: object additionalProperties: false SessionMetrics: properties: session_count: items: $ref: '#/components/schemas/HistogramRow' type: array session_duration: items: $ref: '#/components/schemas/HistogramRow' type: array session_cost: items: $ref: '#/components/schemas/HistogramRow' type: array average: properties: session_cost: items: $ref: '#/components/schemas/AverageRow' type: array session_duration: items: $ref: '#/components/schemas/AverageRow' type: array session_count: items: $ref: '#/components/schemas/AverageRow' type: array required: - session_cost - session_duration - session_count type: object required: - session_count - session_duration - session_cost - average type: object additionalProperties: false ResultSuccess_SessionMetrics_: properties: data: $ref: '#/components/schemas/SessionMetrics' error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_SessionMetrics.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_SessionMetrics_' - $ref: '#/components/schemas/ResultError_string_' SessionMetricsQueryParams: properties: nameContains: type: string timezoneDifference: type: number format: double pSize: type: string enum: - p50 - p75 - p95 - p99 - p99.9 useInterquartile: type: boolean timeFilter: $ref: '#/components/schemas/TimeFilterMs' filter: $ref: '#/components/schemas/SessionFilterNode' required: - nameContains - timezoneDifference type: object additionalProperties: false ResultSuccess_string-or-null_: properties: data: type: string nullable: true error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_string-or-null.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_string-or-null_' - $ref: '#/components/schemas/ResultError_string_' MetricsData: properties: totalRequests: type: number format: double requestCountPrevious24h: type: number format: double requestVolumeChange: type: number format: double errorRate24h: type: number format: double errorRatePrevious24h: type: number format: double errorRateChange: type: number format: double averageLatency: type: number format: double averageLatencyPerToken: type: number format: double latencyChange: type: number format: double latencyPerTokenChange: type: number format: double recentRequestCount: type: number format: double recentErrorCount: type: number format: double required: - totalRequests - requestCountPrevious24h - requestVolumeChange - errorRate24h - errorRatePrevious24h - errorRateChange - averageLatency - averageLatencyPerToken - latencyChange - latencyPerTokenChange - recentRequestCount - recentErrorCount type: object additionalProperties: false TimeSeriesDataPoint: properties: timestamp: type: string format: date-time errorCount: type: number format: double requestCount: type: number format: double averageLatency: type: number format: double averageLatencyPerCompletionToken: type: number format: double required: - timestamp - errorCount - requestCount - averageLatency - averageLatencyPerCompletionToken type: object additionalProperties: false ProviderMetrics: properties: providerName: type: string metrics: allOf: - $ref: '#/components/schemas/MetricsData' - properties: timeSeriesData: items: $ref: '#/components/schemas/TimeSeriesDataPoint' type: array required: - timeSeriesData type: object required: - providerName - metrics type: object additionalProperties: false ResultSuccess_ProviderMetrics-Array_: properties: data: items: $ref: '#/components/schemas/ProviderMetrics' type: array error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_ProviderMetrics-Array.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_ProviderMetrics-Array_' - $ref: '#/components/schemas/ResultError_string_' ResultSuccess_ProviderMetrics_: properties: data: $ref: '#/components/schemas/ProviderMetrics' error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_ProviderMetrics.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_ProviderMetrics_' - $ref: '#/components/schemas/ResultError_string_' TimeFrame: type: string enum: - 24h - 7d - 30d ProviderMetric: properties: provider: type: string total_requests: type: number format: double required: - provider - total_requests type: object additionalProperties: false ResultSuccess_ProviderMetric-Array_: properties: data: items: $ref: '#/components/schemas/ProviderMetric' type: array error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_ProviderMetric-Array.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_ProviderMetric-Array_' - $ref: '#/components/schemas/ResultError_string_' Partial_UserMetricsToOperators_: properties: user_id: $ref: '#/components/schemas/Partial_TextOperators_' last_active: $ref: '#/components/schemas/Partial_TimestampOperators_' total_requests: $ref: '#/components/schemas/Partial_NumberOperators_' active_for: $ref: '#/components/schemas/Partial_NumberOperators_' average_requests_per_day_active: $ref: '#/components/schemas/Partial_NumberOperators_' average_tokens_per_request: $ref: '#/components/schemas/Partial_NumberOperators_' total_completion_tokens: $ref: '#/components/schemas/Partial_NumberOperators_' total_prompt_tokens: $ref: '#/components/schemas/Partial_NumberOperators_' cost: $ref: '#/components/schemas/Partial_NumberOperators_' type: object description: Make all properties in T optional Partial_UserApiKeysTableToOperators_: properties: api_key_hash: $ref: '#/components/schemas/Partial_TextOperators_' api_key_name: $ref: '#/components/schemas/Partial_TextOperators_' type: object description: Make all properties in T optional Partial_PropertiesTableToOperators_: properties: auth_hash: $ref: '#/components/schemas/Partial_TextOperators_' key: $ref: '#/components/schemas/Partial_TextOperators_' value: $ref: '#/components/schemas/Partial_TextOperators_' type: object description: Make all properties in T optional Partial_ExperimentToOperators_: properties: id: $ref: '#/components/schemas/Partial_TextOperators_' prompt_v2: $ref: '#/components/schemas/Partial_TextOperators_' type: object description: Make all properties in T optional Partial_ExperimentHypothesisRunToOperator_: properties: result_request_id: $ref: '#/components/schemas/Partial_TextOperators_' type: object description: Make all properties in T optional Partial_ScoreValueToOperator_: properties: request_id: $ref: '#/components/schemas/Partial_TextOperators_' type: object description: Make all properties in T optional Partial_RequestResponseLogToOperators_: properties: latency: $ref: '#/components/schemas/Partial_NumberOperators_' status: $ref: '#/components/schemas/Partial_NumberOperators_' request_created_at: $ref: '#/components/schemas/Partial_TimestampOperatorsTyped_' response_created_at: $ref: '#/components/schemas/Partial_TimestampOperatorsTyped_' auth_hash: $ref: '#/components/schemas/Partial_TextOperators_' model: $ref: '#/components/schemas/Partial_TextOperators_' user_id: $ref: '#/components/schemas/Partial_TextOperators_' organization_id: $ref: '#/components/schemas/Partial_TextOperators_' node_id: $ref: '#/components/schemas/Partial_TextOperators_' job_id: $ref: '#/components/schemas/Partial_TextOperators_' threat: $ref: '#/components/schemas/Partial_BooleanOperators_' type: object description: Make all properties in T optional Partial_PropertiesV3ToOperators_: properties: key: $ref: '#/components/schemas/Partial_TextOperators_' value: $ref: '#/components/schemas/Partial_TextOperators_' organization_id: $ref: '#/components/schemas/Partial_TextOperators_' type: object description: Make all properties in T optional Partial_PropertyWithResponseV1ToOperators_: properties: property_key: $ref: '#/components/schemas/Partial_TextOperators_' property_value: $ref: '#/components/schemas/Partial_TextOperators_' request_created_at: $ref: '#/components/schemas/Partial_TimestampOperatorsTyped_' organization_id: $ref: '#/components/schemas/Partial_TextOperators_' threat: $ref: '#/components/schemas/Partial_BooleanOperators_' type: object description: Make all properties in T optional Partial_JobToOperators_: properties: id: $ref: '#/components/schemas/Partial_TextOperators_' name: $ref: '#/components/schemas/Partial_TextOperators_' description: $ref: '#/components/schemas/Partial_TextOperators_' status: $ref: '#/components/schemas/Partial_TextOperators_' created_at: $ref: '#/components/schemas/Partial_TimestampOperators_' updated_at: $ref: '#/components/schemas/Partial_TimestampOperators_' timeout_seconds: $ref: '#/components/schemas/Partial_NumberOperators_' custom_properties: properties: {} additionalProperties: $ref: '#/components/schemas/Partial_TextOperators_' type: object org_id: $ref: '#/components/schemas/Partial_TextOperators_' type: object description: Make all properties in T optional Partial_NodesToOperators_: properties: id: $ref: '#/components/schemas/Partial_TextOperators_' name: $ref: '#/components/schemas/Partial_TextOperators_' description: $ref: '#/components/schemas/Partial_TextOperators_' job_id: $ref: '#/components/schemas/Partial_TextOperators_' status: $ref: '#/components/schemas/Partial_TextOperators_' created_at: $ref: '#/components/schemas/Partial_TimestampOperators_' updated_at: $ref: '#/components/schemas/Partial_TimestampOperators_' timeout_seconds: $ref: '#/components/schemas/Partial_NumberOperators_' custom_properties: properties: {} additionalProperties: $ref: '#/components/schemas/Partial_TextOperators_' type: object org_id: $ref: '#/components/schemas/Partial_TextOperators_' type: object description: Make all properties in T optional Partial_CacheMetricsTableToOperators_: properties: organization_id: $ref: '#/components/schemas/Partial_TextOperators_' request_id: $ref: '#/components/schemas/Partial_TextOperators_' date: $ref: '#/components/schemas/Partial_TimestampOperatorsTyped_' hour: $ref: '#/components/schemas/Partial_NumberOperators_' model: $ref: '#/components/schemas/Partial_TextOperators_' cache_hit_count: $ref: '#/components/schemas/Partial_NumberOperators_' saved_latency_ms: $ref: '#/components/schemas/Partial_NumberOperators_' saved_completion_tokens: $ref: '#/components/schemas/Partial_NumberOperators_' saved_prompt_tokens: $ref: '#/components/schemas/Partial_NumberOperators_' saved_completion_audio_tokens: $ref: '#/components/schemas/Partial_NumberOperators_' saved_prompt_audio_tokens: $ref: '#/components/schemas/Partial_NumberOperators_' saved_prompt_cache_write_tokens: $ref: '#/components/schemas/Partial_NumberOperators_' saved_prompt_cache_read_tokens: $ref: '#/components/schemas/Partial_NumberOperators_' first_hit: $ref: '#/components/schemas/Partial_TimestampOperatorsTyped_' last_hit: $ref: '#/components/schemas/Partial_TimestampOperatorsTyped_' request_body: $ref: '#/components/schemas/Partial_TextOperators_' response_body: $ref: '#/components/schemas/Partial_TextOperators_' type: object description: Make all properties in T optional Partial_RateLimitTableToOperators_: properties: organization_id: $ref: '#/components/schemas/Partial_TextOperators_' created_at: $ref: '#/components/schemas/Partial_TimestampOperatorsTyped_' type: object description: Make all properties in T optional Partial_OrganizationPropertiesToOperators_: properties: organization_id: $ref: '#/components/schemas/Partial_TextOperators_' property_key: $ref: '#/components/schemas/Partial_TextOperators_' type: object description: Make all properties in T optional Partial_TablesAndViews_: properties: user_metrics: $ref: '#/components/schemas/Partial_UserMetricsToOperators_' user_api_keys: $ref: '#/components/schemas/Partial_UserApiKeysTableToOperators_' response: $ref: '#/components/schemas/Partial_ResponseTableToOperators_' request: $ref: '#/components/schemas/Partial_RequestTableToOperators_' feedback: $ref: '#/components/schemas/Partial_FeedbackTableToOperators_' properties_table: $ref: '#/components/schemas/Partial_PropertiesTableToOperators_' prompt_v2: $ref: '#/components/schemas/Partial_PromptToOperators_' prompts_versions: $ref: '#/components/schemas/Partial_PromptVersionsToOperators_' experiment: $ref: '#/components/schemas/Partial_ExperimentToOperators_' experiment_hypothesis_run: $ref: '#/components/schemas/Partial_ExperimentHypothesisRunToOperator_' score_value: $ref: '#/components/schemas/Partial_ScoreValueToOperator_' request_response_log: $ref: '#/components/schemas/Partial_RequestResponseLogToOperators_' request_response_rmt: $ref: '#/components/schemas/Partial_RequestResponseRMTToOperators_' sessions_request_response_rmt: $ref: '#/components/schemas/Partial_SessionsRequestResponseRMTToOperators_' users_view: $ref: '#/components/schemas/Partial_UserViewToOperators_' properties_v3: $ref: '#/components/schemas/Partial_PropertiesV3ToOperators_' property_with_response_v1: $ref: '#/components/schemas/Partial_PropertyWithResponseV1ToOperators_' job: $ref: '#/components/schemas/Partial_JobToOperators_' job_node: $ref: '#/components/schemas/Partial_NodesToOperators_' cache_metrics: $ref: '#/components/schemas/Partial_CacheMetricsTableToOperators_' rate_limit_log: $ref: '#/components/schemas/Partial_RateLimitTableToOperators_' organization_properties: $ref: '#/components/schemas/Partial_OrganizationPropertiesToOperators_' properties: properties: {} additionalProperties: $ref: '#/components/schemas/Partial_TextOperators_' type: object values: properties: {} additionalProperties: $ref: '#/components/schemas/Partial_TextOperators_' type: object type: object description: Make all properties in T optional SingleKey_TablesAndViews_: $ref: '#/components/schemas/Partial_TablesAndViews_' FilterLeaf: $ref: '#/components/schemas/SingleKey_TablesAndViews_' FilterNode: anyOf: - $ref: '#/components/schemas/FilterLeaf' - $ref: '#/components/schemas/FilterBranch' - properties: {} type: object - type: string enum: - all FilterBranch: properties: left: $ref: '#/components/schemas/FilterNode' operator: type: string enum: - or - and right: $ref: '#/components/schemas/FilterNode' required: - left - operator - right type: object additionalProperties: false ProviderQueryParams: properties: filter: $ref: '#/components/schemas/FilterNode' offset: type: number format: double limit: type: number format: double timeFilter: properties: end: type: string start: type: string required: - end - start type: object required: - filter - offset - limit - timeFilter type: object additionalProperties: false ResultSuccess__property-string--total_cost-number--request_count-number--created_at_trunc-string_-Array_: properties: data: items: properties: created_at_trunc: type: string request_count: type: number format: double total_cost: type: number format: double property: type: string required: - created_at_trunc - request_count - total_cost - property type: object type: array error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result__property-string--total_cost-number--request_count-number--created_at_trunc-string_-Array.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess__property-string--total_cost-number--request_count-number--created_at_trunc-string_-Array_' - $ref: '#/components/schemas/ResultError_string_' Pick_FilterLeaf.request_response_rmt_: properties: request_response_rmt: $ref: '#/components/schemas/Partial_RequestResponseRMTToOperators_' type: object description: From T, pick a set of properties whose keys are in the union K FilterLeafSubset_request_response_rmt_: $ref: '#/components/schemas/Pick_FilterLeaf.request_response_rmt_' RequestClickhouseFilterNode: anyOf: - $ref: '#/components/schemas/FilterLeafSubset_request_response_rmt_' - $ref: '#/components/schemas/RequestClickhouseFilterBranch' - type: string enum: - all RequestClickhouseFilterBranch: properties: right: $ref: '#/components/schemas/RequestClickhouseFilterNode' operator: type: string enum: - or - and left: $ref: '#/components/schemas/RequestClickhouseFilterNode' required: - right - operator - left type: object TimeIncrement: type: string enum: - min - hour - day - week - month - year DataOverTimeRequest: properties: timeFilter: properties: end: type: string start: type: string required: - end - start type: object userFilter: $ref: '#/components/schemas/RequestClickhouseFilterNode' dbIncrement: $ref: '#/components/schemas/TimeIncrement' timeZoneDifference: type: number format: double required: - timeFilter - userFilter - dbIncrement - timeZoneDifference type: object additionalProperties: false Property: properties: property: type: string required: - property type: object additionalProperties: false ResultSuccess_Property-Array_: properties: data: items: $ref: '#/components/schemas/Property' type: array error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_Property-Array.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_Property-Array_' - $ref: '#/components/schemas/ResultError_string_' ResultSuccess_unknown-Array_: properties: data: items: {} type: array error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false ResultSuccess__value-string--cost-number_-Array_: properties: data: items: properties: cost: type: number format: double value: type: string required: - cost - value type: object type: array error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result__value-string--cost-number_-Array.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess__value-string--cost-number_-Array_' - $ref: '#/components/schemas/ResultError_string_' TimeFilterRequest: properties: timeFilter: properties: end: type: string start: type: string required: - end - start type: object required: - timeFilter type: object additionalProperties: false ResultSuccess__value-string--count-number_-Array_: properties: data: items: properties: count: type: number format: double value: type: string required: - count - value type: object type: array error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result__value-string--count-number_-Array.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess__value-string--count-number_-Array_' - $ref: '#/components/schemas/ResultError_string_' ChatCompletionTokenLogprob.TopLogprob: properties: token: type: string description: The token. bytes: items: type: number format: double type: array nullable: true description: 'A list of integers representing the UTF-8 bytes representation of the token. Useful in instances where characters are represented by multiple tokens and their byte representations must be combined to generate the correct text representation. Can be `null` if there is no bytes representation for the token.' logprob: type: number format: double description: 'The log probability of this token, if it is within the top 20 most likely tokens. Otherwise, the value `-9999.0` is used to signify that the token is very unlikely.' required: - token - bytes - logprob type: object additionalProperties: false ChatCompletionTokenLogprob: properties: token: type: string description: The token. bytes: items: type: number format: double type: array nullable: true description: 'A list of integers representing the UTF-8 bytes representation of the token. Useful in instances where characters are represented by multiple tokens and their byte representations must be combined to generate the correct text representation. Can be `null` if there is no bytes representation for the token.' logprob: type: number format: double description: 'The log probability of this token, if it is within the top 20 most likely tokens. Otherwise, the value `-9999.0` is used to signify that the token is very unlikely.' top_logprobs: items: $ref: '#/components/schemas/ChatCompletionTokenLogprob.TopLogprob' type: array description: 'List of the most likely tokens and their log probability, at this token position. In rare cases, there may be fewer than the number of requested `top_logprobs` returned.' required: - token - bytes - logprob - top_logprobs type: object additionalProperties: false ChatCompletion.Choice.Logprobs: description: Log probability information for the choice. properties: content: items: $ref: '#/components/schemas/ChatCompletionTokenLogprob' type: array nullable: true description: A list of message content tokens with log probability information. refusal: items: $ref: '#/components/schemas/ChatCompletionTokenLogprob' type: array nullable: true description: A list of message refusal tokens with log probability information. required: - content - refusal type: object additionalProperties: false ChatCompletionMessage.Annotation.URLCitation: description: A URL citation when using web search. properties: end_index: type: number format: double description: The index of the last character of the URL citation in the message. start_index: type: number format: double description: The index of the first character of the URL citation in the message. title: type: string description: The title of the web resource. url: type: string description: The URL of the web resource. required: - end_index - start_index - title - url type: object additionalProperties: false ChatCompletionMessage.Annotation: description: A URL citation when using web search. properties: type: type: string enum: - url_citation nullable: false description: The type of the URL citation. Always `url_citation`. url_citation: $ref: '#/components/schemas/ChatCompletionMessage.Annotation.URLCitation' description: A URL citation when using web search. required: - type - url_citation type: object additionalProperties: false ChatCompletionAudio: description: 'If the audio output modality is requested, this object contains data about the audio response from the model. [Learn more](https://platform.openai.com/docs/guides/audio).' properties: id: type: string description: Unique identifier for this audio response. data: type: string description: 'Base64 encoded audio bytes generated by the model, in the format specified in the request.' expires_at: type: number format: double description: 'The Unix timestamp (in seconds) for when this audio response will no longer be accessible on the server for use in multi-turn conversations.' transcript: type: string description: Transcript of the audio generated by the model. required: - id - data - expires_at - transcript type: object additionalProperties: false ChatCompletionMessage.FunctionCall: properties: arguments: type: string description: 'The arguments to call the function with, as generated by the model in JSON format. Note that the model does not always generate valid JSON, and may hallucinate parameters not defined by your function schema. Validate the arguments in your code before calling your function.' name: type: string description: The name of the function to call. required: - arguments - name type: object additionalProperties: false deprecated: true ChatCompletionMessageFunctionToolCall.Function: description: The function that the model called. properties: arguments: type: string description: 'The arguments to call the function with, as generated by the model in JSON format. Note that the model does not always generate valid JSON, and may hallucinate parameters not defined by your function schema. Validate the arguments in your code before calling your function.' name: type: string description: The name of the function to call. required: - arguments - name type: object additionalProperties: false ChatCompletionMessageFunctionToolCall: description: A call to a function tool created by the model. properties: id: type: string description: The ID of the tool call. function: $ref: '#/components/schemas/ChatCompletionMessageFunctionToolCall.Function' description: The function that the model called. type: type: string enum: - function nullable: false description: The type of the tool. Currently, only `function` is supported. required: - id - function - type type: object additionalProperties: false ChatCompletionMessageCustomToolCall.Custom: description: The custom tool that the model called. properties: input: type: string description: The input for the custom tool call generated by the model. name: type: string description: The name of the custom tool to call. required: - input - name type: object additionalProperties: false ChatCompletionMessageCustomToolCall: description: A call to a custom tool created by the model. properties: id: type: string description: The ID of the tool call. custom: $ref: '#/components/schemas/ChatCompletionMessageCustomToolCall.Custom' description: The custom tool that the model called. type: type: string enum: - custom nullable: false description: The type of the tool. Always `custom`. required: - id - custom - type type: object additionalProperties: false ChatCompletionMessageToolCall: anyOf: - $ref: '#/components/schemas/ChatCompletionMessageFunctionToolCall' - $ref: '#/components/schemas/ChatCompletionMessageCustomToolCall' description: A call to a function tool created by the model. ChatCompletionMessage: description: A chat completion message generated by the model. properties: content: type: string nullable: true description: The contents of the message. refusal: type: string nullable: true description: The refusal message generated by the model. role: type: string enum: - assistant nullable: false description: The role of the author of this message. annotations: items: $ref: '#/components/schemas/ChatCompletionMessage.Annotation' type: array description: 'Annotations for the message, when applicable, as when using the [web search tool](https://platform.openai.com/docs/guides/tools-web-search?api-mode=chat).' audio: allOf: - $ref: '#/components/schemas/ChatCompletionAudio' nullable: true description: 'If the audio output modality is requested, this object contains data about the audio response from the model. [Learn more](https://platform.openai.com/docs/guides/audio).' function_call: allOf: - $ref: '#/components/schemas/ChatCompletionMessage.FunctionCall' nullable: true deprecated: true tool_calls: items: $ref: '#/components/schemas/ChatCompletionMessageToolCall' type: array description: The tool calls generated by the model, such as function calls. required: - content - refusal - role type: object additionalProperties: false ChatCompletion.Choice: properties: finish_reason: type: string enum: - stop - length - tool_calls - content_filter - function_call description: 'The reason the model stopped generating tokens. This will be `stop` if the model hit a natural stop point or a provided stop sequence, `length` if the maximum number of tokens specified in the request was reached, `content_filter` if content was omitted due to a flag from our content filters, `tool_calls` if the model called a tool, or `function_call` (deprecated) if the model called a function.' index: type: number format: double description: The index of the choice in the list of choices. logprobs: allOf: - $ref: '#/components/schemas/ChatCompletion.Choice.Logprobs' nullable: true description: Log probability information for the choice. message: $ref: '#/components/schemas/ChatCompletionMessage' description: A chat completion message generated by the model. required: - finish_reason - index - logprobs - message type: object additionalProperties: false CompletionUsage.CompletionTokensDetails: description: Breakdown of tokens used in a completion. properties: accepted_prediction_tokens: type: number format: double description: 'When using Predicted Outputs, the number of tokens in the prediction that appeared in the completion.' audio_tokens: type: number format: double description: Audio input tokens generated by the model. reasoning_tokens: type: number format: double description: Tokens generated by the model for reasoning. rejected_prediction_tokens: type: number format: double description: 'When using Predicted Outputs, the number of tokens in the prediction that did not appear in the completion. However, like reasoning tokens, these tokens are still counted in the total completion tokens for purposes of billing, output, and context window limits.' type: object additionalProperties: false CompletionUsage.PromptTokensDetails: description: Breakdown of tokens used in the prompt. properties: audio_tokens: type: number format: double description: Audio input tokens present in the prompt. cached_tokens: type: number format: double description: Cached tokens present in the prompt. type: object additionalProperties: false CompletionUsage: description: Usage statistics for the completion request. properties: completion_tokens: type: number format: double description: Number of tokens in the generated completion. prompt_tokens: type: number format: double description: Number of tokens in the prompt. total_tokens: type: number format: double description: Total number of tokens used in the request (prompt + completion). completion_tokens_details: $ref: '#/components/schemas/CompletionUsage.CompletionTokensDetails' description: Breakdown of tokens used in a completion. prompt_tokens_details: $ref: '#/components/schemas/CompletionUsage.PromptTokensDetails' description: Breakdown of tokens used in the prompt. required: - completion_tokens - prompt_tokens - total_tokens type: object additionalProperties: false ChatCompletion: description: 'Represents a chat completion response returned by model, based on the provided input.' properties: id: type: string description: A unique identifier for the chat completion. choices: items: $ref: '#/components/schemas/ChatCompletion.Choice' type: array description: 'A list of chat completion choices. Can be more than one if `n` is greater than 1.' created: type: number format: double description: The Unix timestamp (in seconds) of when the chat completion was created. model: type: string description: The model used for the chat completion. object: type: string enum: - chat.completion nullable: false description: The object type, which is always `chat.completion`. service_tier: type: string enum: - auto - default - flex - scale - priority - null nullable: true description: "Specifies the processing type used for serving the request.\n\n- If set to 'auto', then the request\ \ will be processed with the service tier\n configured in the Project settings. Unless otherwise configured,\ \ the Project\n will use 'default'.\n- If set to 'default', then the request will be processed with the standard\n\ \ pricing and performance for the selected model.\n- If set to '[flex](https://platform.openai.com/docs/guides/flex-processing)'\ \ or\n 'priority', then the request will be processed with the corresponding service\n tier. [Contact sales](https://openai.com/contact-sales)\ \ to learn more about\n Priority processing.\n- When not set, the default behavior is 'auto'.\n\nWhen the `service_tier`\ \ parameter is set, the response body will include the\n`service_tier` value based on the processing mode actually\ \ used to serve the\nrequest. This response value may be different from the value set in the\nparameter." system_fingerprint: type: string description: 'This fingerprint represents the backend configuration that the model runs with. Can be used in conjunction with the `seed` request parameter to understand when backend changes have been made that might impact determinism.' usage: $ref: '#/components/schemas/CompletionUsage' description: Usage statistics for the completion request. required: - id - choices - created - model - object type: object additionalProperties: false ResultSuccess_ChatCompletion-or-_content-string--reasoning-string--calls-any__: properties: data: anyOf: - $ref: '#/components/schemas/ChatCompletion' - properties: calls: {} reasoning: type: string content: type: string required: - calls - reasoning - content type: object error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_ChatCompletion-or-_content-string--reasoning-string--calls-any_.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_ChatCompletion-or-_content-string--reasoning-string--calls-any__' - $ref: '#/components/schemas/ResultError_string_' ResultSuccess__apiKey-string__: properties: data: properties: apiKey: type: string required: - apiKey type: object error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result__apiKey-string_.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess__apiKey-string__' - $ref: '#/components/schemas/ResultError_string_' ResultSuccess__cost-number--created_at_trunc-string_-Array_: properties: data: items: properties: created_at_trunc: type: string cost: type: number format: double required: - created_at_trunc - cost type: object type: array error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result__cost-number--created_at_trunc-string_-Array.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess__cost-number--created_at_trunc-string_-Array_' - $ref: '#/components/schemas/ResultError_string_' AuthorName: type: string enum: - anthropic - deepseek - mistral - openai - perplexity - xai - google - meta-llama - amazon - microsoft - nvidia - qwen - moonshotai - alibaba - zai - baidu - passthrough StandardParameter: type: string enum: - max_tokens - max_completion_tokens - temperature - top_p - top_k - stop - stream - frequency_penalty - presence_penalty - repetition_penalty - seed - tools - tool_choice - functions - function_call - reasoning - include_reasoning - thinking - response_format - json_mode - truncate - min_p - logit_bias - logprobs - top_logprobs - structured_outputs - verbosity - n PluginId: type: string enum: - web nullable: false RateLimits: properties: rpm: type: number format: double tpm: type: number format: double tpd: type: number format: double type: object additionalProperties: false ModalityPricing: description: 'Per-modality pricing configuration. Supports input, cached input (as multiplier), and output rates.' properties: input: type: number format: double cachedInputMultiplier: type: number format: double output: type: number format: double type: object additionalProperties: false ModelPricing: properties: threshold: type: number format: double input: type: number format: double output: type: number format: double cacheMultipliers: properties: write1h: type: number format: double write5m: type: number format: double cachedInput: type: number format: double required: - cachedInput type: object cacheStoragePerHour: type: number format: double thinking: type: number format: double request: type: number format: double image: $ref: '#/components/schemas/ModalityPricing' audio: $ref: '#/components/schemas/ModalityPricing' video: $ref: '#/components/schemas/ModalityPricing' file: $ref: '#/components/schemas/ModalityPricing' web_search: type: number format: double required: - threshold - input - output type: object additionalProperties: false BodyMappingType: type: string enum: - OPENAI - NO_MAPPING - RESPONSES EndpointConfig: properties: region: type: string location: type: string projectId: type: string baseUri: type: string deploymentName: type: string resourceName: type: string apiVersion: type: string crossRegion: type: boolean gatewayMapping: $ref: '#/components/schemas/BodyMappingType' modelName: type: string heliconeModelId: type: string providerModelId: type: string pricing: items: $ref: '#/components/schemas/ModelPricing' type: array contextLength: type: number format: double maxCompletionTokens: type: number format: double ptbEnabled: type: boolean version: type: string rateLimits: $ref: '#/components/schemas/RateLimits' priority: type: number format: double type: object additionalProperties: false Record_string.EndpointConfig_: properties: {} additionalProperties: $ref: '#/components/schemas/EndpointConfig' type: object description: Construct a type with a set of properties K of type T ResponseFormat: type: string enum: - ANTHROPIC - OPENAI - GOOGLE ModelProviderConfig: properties: pricing: items: $ref: '#/components/schemas/ModelPricing' type: array contextLength: type: number format: double maxCompletionTokens: type: number format: double ptbEnabled: type: boolean version: type: string unsupportedParameters: items: $ref: '#/components/schemas/StandardParameter' type: array providerModelId: type: string provider: $ref: '#/components/schemas/ModelProviderName' author: $ref: '#/components/schemas/AuthorName' supportedParameters: items: $ref: '#/components/schemas/StandardParameter' type: array supportedPlugins: items: $ref: '#/components/schemas/PluginId' type: array rateLimits: $ref: '#/components/schemas/RateLimits' endpointConfigs: $ref: '#/components/schemas/Record_string.EndpointConfig_' crossRegion: type: boolean priority: type: number format: double quantization: type: string enum: - fp4 - fp8 - fp16 - bf16 - int4 responseFormat: $ref: '#/components/schemas/ResponseFormat' requireExplicitRouting: type: boolean providerModelIdAliases: items: type: string type: array required: - pricing - contextLength - maxCompletionTokens - ptbEnabled - providerModelId - provider - author - supportedParameters - endpointConfigs type: object additionalProperties: false UserEndpointConfig: properties: region: type: string location: type: string projectId: type: string baseUri: type: string deploymentName: type: string resourceName: type: string apiVersion: type: string crossRegion: type: boolean gatewayMapping: $ref: '#/components/schemas/BodyMappingType' modelName: type: string heliconeModelId: type: string type: object additionalProperties: false Endpoint: properties: pricing: items: $ref: '#/components/schemas/ModelPricing' type: array contextLength: type: number format: double maxCompletionTokens: type: number format: double ptbEnabled: type: boolean version: type: string unsupportedParameters: items: $ref: '#/components/schemas/StandardParameter' type: array modelConfig: $ref: '#/components/schemas/ModelProviderConfig' userConfig: $ref: '#/components/schemas/UserEndpointConfig' provider: $ref: '#/components/schemas/ModelProviderName' author: $ref: '#/components/schemas/AuthorName' providerModelId: type: string supportedParameters: items: $ref: '#/components/schemas/StandardParameter' type: array priority: type: number format: double required: - pricing - contextLength - maxCompletionTokens - ptbEnabled - modelConfig - userConfig - provider - author - providerModelId - supportedParameters type: object additionalProperties: false SimplifiedModalityPricing: properties: input: type: number format: double cachedInput: type: number format: double output: type: number format: double type: object additionalProperties: false SimplifiedPricing: properties: prompt: type: number format: double completion: type: number format: double audio: $ref: '#/components/schemas/SimplifiedModalityPricing' thinking: type: number format: double web_search: type: number format: double image: $ref: '#/components/schemas/SimplifiedModalityPricing' video: $ref: '#/components/schemas/SimplifiedModalityPricing' file: $ref: '#/components/schemas/SimplifiedModalityPricing' cacheRead: type: number format: double cacheWrite: type: number format: double threshold: type: number format: double required: - prompt - completion type: object additionalProperties: false ModelEndpoint: properties: provider: type: string providerSlug: type: string endpoint: $ref: '#/components/schemas/Endpoint' supportsPtb: type: boolean pricing: $ref: '#/components/schemas/SimplifiedPricing' pricingTiers: items: $ref: '#/components/schemas/SimplifiedPricing' type: array required: - provider - providerSlug - pricing type: object additionalProperties: false InputModality: type: string enum: - text - image - audio - video OutputModality: type: string enum: - text - image - audio - video ModelRegistryItem: properties: id: type: string name: type: string author: type: string contextLength: type: number format: double endpoints: items: $ref: '#/components/schemas/ModelEndpoint' type: array maxOutput: type: number format: double trainingDate: type: string description: type: string inputModalities: items: $ref: '#/components/schemas/InputModality' type: array outputModalities: items: $ref: '#/components/schemas/OutputModality' type: array supportedParameters: items: $ref: '#/components/schemas/StandardParameter' type: array pinnedVersionOfModel: type: string required: - id - name - author - contextLength - endpoints - inputModalities - outputModalities - supportedParameters type: object additionalProperties: false ModelCapability: type: string enum: - audio - video - image - thinking - web_search - caching - reasoning ModelRegistryResponse: properties: models: items: $ref: '#/components/schemas/ModelRegistryItem' type: array total: type: number format: double filters: properties: capabilities: items: $ref: '#/components/schemas/ModelCapability' type: array authors: items: type: string type: array providers: items: properties: displayName: type: string name: type: string required: - displayName - name type: object type: array required: - capabilities - authors - providers type: object required: - models - total - filters type: object additionalProperties: false ResultSuccess_ModelRegistryResponse_: properties: data: $ref: '#/components/schemas/ModelRegistryResponse' error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_ModelRegistryResponse.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_ModelRegistryResponse_' - $ref: '#/components/schemas/ResultError_string_' OAIModel: properties: id: type: string object: type: string enum: - model nullable: false created: type: number format: double owned_by: type: string required: - id - object - created - owned_by type: object additionalProperties: false OAIModelsResponse: properties: object: type: string enum: - list nullable: false data: items: $ref: '#/components/schemas/OAIModel' type: array required: - object - data type: object additionalProperties: false MetricStats: properties: p99: type: number format: double p95: type: number format: double p90: type: number format: double max: type: number format: double min: type: number format: double median: type: number format: double average: type: number format: double required: - p99 - p95 - p90 - max - min - median - average type: object TokenMetricStats: allOf: - $ref: '#/components/schemas/MetricStats' - properties: medianPer1000Tokens: type: number format: double required: - medianPer1000Tokens type: object TimeSeriesMetric: properties: value: type: number format: double timestamp: type: string required: - value - timestamp type: object Model: properties: timeSeriesData: properties: errorRate: items: $ref: '#/components/schemas/TimeSeriesMetric' type: array successRate: items: $ref: '#/components/schemas/TimeSeriesMetric' type: array ttft: items: $ref: '#/components/schemas/TimeSeriesMetric' type: array latency: items: $ref: '#/components/schemas/TimeSeriesMetric' type: array required: - errorRate - successRate - ttft - latency type: object requestStatus: properties: errorRate: type: number format: double successRate: type: number format: double required: - errorRate - successRate type: object geographicTtft: items: properties: median: type: number format: double countryCode: type: string required: - median - countryCode type: object type: array geographicLatency: items: properties: median: type: number format: double countryCode: type: string required: - median - countryCode type: object type: array feedback: properties: negativePercentage: type: number format: double positivePercentage: type: number format: double required: - negativePercentage - positivePercentage type: object costs: properties: completion_token: type: number format: double prompt_token: type: number format: double required: - completion_token - prompt_token type: object ttft: $ref: '#/components/schemas/MetricStats' latency: $ref: '#/components/schemas/TokenMetricStats' provider: type: string model: type: string required: - timeSeriesData - requestStatus - geographicTtft - geographicLatency - feedback - costs - ttft - latency - provider - model type: object ResultSuccess_Model-Array_: properties: data: items: $ref: '#/components/schemas/Model' type: array error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_Model-Array.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_Model-Array_' - $ref: '#/components/schemas/ResultError_string_' ModelsToCompare: properties: provider: type: string names: items: type: string type: array parent: type: string required: - provider - names - parent type: object MetricsFilterBody: properties: filter: $ref: '#/components/schemas/FilterNode' timeFilter: properties: end: type: string start: type: string required: - end - start type: object required: - filter - timeFilter type: object additionalProperties: false TokensPerRequest: properties: average_prompt_tokens_per_response: type: number format: double average_completion_tokens_per_response: type: number format: double average_total_tokens_per_response: type: number format: double required: - average_prompt_tokens_per_response - average_completion_tokens_per_response - average_total_tokens_per_response type: object additionalProperties: false ResultSuccess_TokensPerRequest_: properties: data: $ref: '#/components/schemas/TokensPerRequest' error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_TokensPerRequest.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_TokensPerRequest_' - $ref: '#/components/schemas/ResultError_string_' RequestsOverTime: properties: time: type: string format: date-time count: type: number format: double status: type: number format: double required: - time - count type: object additionalProperties: false ResultSuccess_RequestsOverTime-Array_: properties: data: items: $ref: '#/components/schemas/RequestsOverTime' type: array error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_RequestsOverTime-Array.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_RequestsOverTime-Array_' - $ref: '#/components/schemas/ResultError_string_' MetricsOverTimeBody: properties: timeFilter: properties: end: type: string start: type: string required: - end - start type: object filter: $ref: '#/components/schemas/FilterNode' dbIncrement: $ref: '#/components/schemas/TimeIncrement' timeZoneDifference: type: number format: double required: - timeFilter - filter - timeZoneDifference type: object additionalProperties: false CostOverTime: properties: time: type: string format: date-time cost: type: number format: double required: - time - cost type: object additionalProperties: false ResultSuccess_CostOverTime-Array_: properties: data: items: $ref: '#/components/schemas/CostOverTime' type: array error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_CostOverTime-Array.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_CostOverTime-Array_' - $ref: '#/components/schemas/ResultError_string_' TokensOverTime: properties: time: type: string format: date-time prompt_tokens: type: number format: double completion_tokens: type: number format: double required: - time - prompt_tokens - completion_tokens type: object additionalProperties: false ResultSuccess_TokensOverTime-Array_: properties: data: items: $ref: '#/components/schemas/TokensOverTime' type: array error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_TokensOverTime-Array.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_TokensOverTime-Array_' - $ref: '#/components/schemas/ResultError_string_' LatencyOverTime: properties: time: type: string format: date-time duration: type: number format: double required: - time - duration type: object additionalProperties: false ResultSuccess_LatencyOverTime-Array_: properties: data: items: $ref: '#/components/schemas/LatencyOverTime' type: array error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_LatencyOverTime-Array.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_LatencyOverTime-Array_' - $ref: '#/components/schemas/ResultError_string_' TimeToFirstTokenOverTime: properties: time: type: string format: date-time ttft: type: number format: double required: - time - ttft type: object additionalProperties: false ResultSuccess_TimeToFirstTokenOverTime-Array_: properties: data: items: $ref: '#/components/schemas/TimeToFirstTokenOverTime' type: array error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_TimeToFirstTokenOverTime-Array.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_TimeToFirstTokenOverTime-Array_' - $ref: '#/components/schemas/ResultError_string_' UsersOverTime: properties: time: type: string format: date-time count: type: number format: double required: - time - count type: object additionalProperties: false ResultSuccess_UsersOverTime-Array_: properties: data: items: $ref: '#/components/schemas/UsersOverTime' type: array error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_UsersOverTime-Array.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_UsersOverTime-Array_' - $ref: '#/components/schemas/ResultError_string_' ThreatsOverTime: properties: time: type: string format: date-time count: type: number format: double required: - time - count type: object additionalProperties: false ResultSuccess_ThreatsOverTime-Array_: properties: data: items: $ref: '#/components/schemas/ThreatsOverTime' type: array error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_ThreatsOverTime-Array.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_ThreatsOverTime-Array_' - $ref: '#/components/schemas/ResultError_string_' ErrorOverTime: properties: time: type: string format: date-time count: type: number format: double required: - time - count type: object additionalProperties: false ResultSuccess_ErrorOverTime-Array_: properties: data: items: $ref: '#/components/schemas/ErrorOverTime' type: array error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_ErrorOverTime-Array.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_ErrorOverTime-Array_' - $ref: '#/components/schemas/ResultError_string_' RequestCountBody: properties: filter: $ref: '#/components/schemas/FilterNode' isCached: type: boolean required: - filter type: object additionalProperties: false ModelMetric: properties: model: type: string total_requests: type: number format: double total_completion_tokens: type: number format: double total_prompt_token: type: number format: double total_tokens: type: number format: double cost: type: number format: double required: - model - total_requests - total_completion_tokens - total_prompt_token - total_tokens - cost type: object additionalProperties: false ResultSuccess_ModelMetric-Array_: properties: data: items: $ref: '#/components/schemas/ModelMetric' type: array error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_ModelMetric-Array.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_ModelMetric-Array_' - $ref: '#/components/schemas/ResultError_string_' ModelMetricsBody: properties: filter: $ref: '#/components/schemas/FilterNode' offset: type: number format: double limit: type: number format: double timeFilter: properties: end: type: string start: type: string required: - end - start type: object required: - filter - offset - limit - timeFilter type: object additionalProperties: false CountryData: properties: country: type: string total_requests: type: number format: double required: - country - total_requests type: object additionalProperties: false ResultSuccess_CountryData-Array_: properties: data: items: $ref: '#/components/schemas/CountryData' type: array error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_CountryData-Array.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_CountryData-Array_' - $ref: '#/components/schemas/ResultError_string_' CountryMetricsBody: properties: filter: $ref: '#/components/schemas/FilterNode' offset: type: number format: double limit: type: number format: double timeFilter: properties: end: type: string start: type: string required: - end - start type: object required: - filter - offset - limit - timeFilter type: object additionalProperties: false Quantiles: properties: time: type: string format: date-time p75: type: number format: double p90: type: number format: double p95: type: number format: double p99: type: number format: double required: - time - p75 - p90 - p95 - p99 type: object additionalProperties: false ResultSuccess_Quantiles-Array_: properties: data: items: $ref: '#/components/schemas/Quantiles' type: array error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_Quantiles-Array.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_Quantiles-Array_' - $ref: '#/components/schemas/ResultError_string_' QuantilesBody: properties: filter: $ref: '#/components/schemas/FilterNode' timeFilter: properties: end: type: string start: type: string required: - end - start type: object dbIncrement: $ref: '#/components/schemas/TimeIncrement' timeZoneDifference: type: number format: double metric: type: string required: - filter - timeFilter - timeZoneDifference - metric type: object additionalProperties: false ResultSuccess__unsafe-boolean__: properties: data: properties: unsafe: type: boolean required: - unsafe type: object error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result__unsafe-boolean_.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess__unsafe-boolean__' - $ref: '#/components/schemas/ResultError_string_' ClickHouseTableColumn: properties: name: type: string type: type: string default_type: type: string default_expression: type: string comment: type: string codec_expression: type: string ttl_expression: type: string required: - name - type type: object additionalProperties: false ClickHouseTableSchema: properties: table_name: type: string columns: items: $ref: '#/components/schemas/ClickHouseTableColumn' type: array required: - table_name - columns type: object additionalProperties: false ResultSuccess_ClickHouseTableSchema-Array_: properties: data: items: $ref: '#/components/schemas/ClickHouseTableSchema' type: array error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_ClickHouseTableSchema-Array.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_ClickHouseTableSchema-Array_' - $ref: '#/components/schemas/ResultError_string_' ExecuteSqlResponse: properties: rowCount: type: number format: double size: type: number format: double elapsedMilliseconds: type: number format: double rows: items: $ref: '#/components/schemas/Record_string.any_' type: array required: - rowCount - size - elapsedMilliseconds - rows type: object ResultSuccess_ExecuteSqlResponse_: properties: data: $ref: '#/components/schemas/ExecuteSqlResponse' error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_ExecuteSqlResponse.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_ExecuteSqlResponse_' - $ref: '#/components/schemas/ResultError_string_' ExecuteSqlRequest: properties: sql: type: string required: - sql type: object additionalProperties: false HqlSavedQuery: properties: id: type: string organization_id: type: string name: type: string sql: type: string created_at: type: string updated_at: type: string required: - id - organization_id - name - sql - created_at - updated_at type: object additionalProperties: false ResultSuccess_Array_HqlSavedQuery__: properties: data: items: $ref: '#/components/schemas/HqlSavedQuery' type: array error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_Array_HqlSavedQuery_.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_Array_HqlSavedQuery__' - $ref: '#/components/schemas/ResultError_string_' ResultSuccess_HqlSavedQuery-or-null_: properties: data: allOf: - $ref: '#/components/schemas/HqlSavedQuery' nullable: true error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_HqlSavedQuery-or-null.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_HqlSavedQuery-or-null_' - $ref: '#/components/schemas/ResultError_string_' ResultSuccess_void_: properties: data: {} error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_void.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_void_' - $ref: '#/components/schemas/ResultError_string_' BulkDeleteSavedQueriesRequest: properties: ids: items: type: string type: array required: - ids type: object additionalProperties: false ResultSuccess_HqlSavedQuery-Array_: properties: data: items: $ref: '#/components/schemas/HqlSavedQuery' type: array error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_HqlSavedQuery-Array.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_HqlSavedQuery-Array_' - $ref: '#/components/schemas/ResultError_string_' CreateSavedQueryRequest: properties: name: type: string sql: type: string required: - name - sql type: object additionalProperties: false ResultSuccess_HqlSavedQuery_: properties: data: $ref: '#/components/schemas/HqlSavedQuery' error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_HqlSavedQuery.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_HqlSavedQuery_' - $ref: '#/components/schemas/ResultError_string_' ResultSuccess__tableId-string--experimentId-string__: properties: data: properties: experimentId: type: string tableId: type: string required: - experimentId - tableId type: object error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result__tableId-string--experimentId-string_.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess__tableId-string--experimentId-string__' - $ref: '#/components/schemas/ResultError_string_' CreateExperimentTableParams: properties: datasetId: type: string experimentMetadata: $ref: '#/components/schemas/Record_string.any_' promptVersionId: type: string newHeliconeTemplate: type: string isMajorVersion: type: boolean promptSubversionMetadata: $ref: '#/components/schemas/Record_string.any_' experimentTableMetadata: $ref: '#/components/schemas/Record_string.any_' required: - datasetId - experimentMetadata - promptVersionId - newHeliconeTemplate - isMajorVersion - promptSubversionMetadata type: object additionalProperties: false ExperimentTableColumn: properties: id: type: string columnName: type: string columnType: type: string hypothesisId: type: string cells: items: properties: metadata: $ref: '#/components/schemas/Record_string.any_' value: type: string nullable: true requestId: type: string rowIndex: type: number format: double id: type: string required: - value - rowIndex - id type: object type: array metadata: $ref: '#/components/schemas/Record_string.any_' required: - id - columnName - columnType - cells type: object additionalProperties: false ExperimentTable: properties: id: type: string name: type: string experimentId: type: string columns: items: $ref: '#/components/schemas/ExperimentTableColumn' type: array metadata: $ref: '#/components/schemas/Record_string.any_' required: - id - name - experimentId - columns type: object additionalProperties: false ResultSuccess_ExperimentTable_: properties: data: $ref: '#/components/schemas/ExperimentTable' error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_ExperimentTable.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_ExperimentTable_' - $ref: '#/components/schemas/ResultError_string_' ExperimentTableSimplified: properties: id: type: string name: type: string experimentId: type: string createdAt: type: string metadata: {} columns: items: properties: columnType: type: string columnName: type: string id: type: string required: - columnType - columnName - id type: object type: array required: - id - name - experimentId - createdAt - columns type: object additionalProperties: false ResultSuccess_ExperimentTableSimplified_: properties: data: $ref: '#/components/schemas/ExperimentTableSimplified' error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_ExperimentTableSimplified.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_ExperimentTableSimplified_' - $ref: '#/components/schemas/ResultError_string_' ResultSuccess_ExperimentTableSimplified-Array_: properties: data: items: $ref: '#/components/schemas/ExperimentTableSimplified' type: array error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_ExperimentTableSimplified-Array.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_ExperimentTableSimplified-Array_' - $ref: '#/components/schemas/ResultError_string_' NewExperimentParams: properties: datasetId: type: string promptVersion: type: string model: type: string providerKeyId: type: string meta: {} required: - datasetId - promptVersion - model - providerKeyId type: object additionalProperties: false ResultSuccess__hypothesisId-string__: properties: data: properties: hypothesisId: type: string required: - hypothesisId type: object error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result__hypothesisId-string_.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess__hypothesisId-string__' - $ref: '#/components/schemas/ResultError_string_' Score: properties: valueType: type: string value: anyOf: - type: number format: double - type: string format: date-time - type: string required: - valueType - value type: object additionalProperties: false Record_string.Score_: properties: {} additionalProperties: $ref: '#/components/schemas/Score' type: object description: Construct a type with a set of properties K of type T ResultSuccess__runsCount-number--scores-Record_string.Score___: properties: data: properties: scores: $ref: '#/components/schemas/Record_string.Score_' runsCount: type: number format: double required: - scores - runsCount type: object error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result__runsCount-number--scores-Record_string.Score__.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess__runsCount-number--scores-Record_string.Score___' - $ref: '#/components/schemas/ResultError_string_' ResponseObj: properties: body: {} createdAt: type: string completionTokens: type: number format: double promptTokens: type: number format: double promptCacheWriteTokens: type: number format: double promptCacheReadTokens: type: number format: double delayMs: type: number format: double model: type: string required: - body - createdAt - completionTokens - promptTokens - promptCacheWriteTokens - promptCacheReadTokens - delayMs - model type: object additionalProperties: false RequestObj: properties: id: type: string provider: type: string required: - id - provider type: object additionalProperties: false ExperimentDatasetRow: properties: rowId: type: string inputRecord: properties: request: $ref: '#/components/schemas/RequestObj' response: $ref: '#/components/schemas/ResponseObj' autoInputs: items: $ref: '#/components/schemas/Record_string.string_' type: array inputs: $ref: '#/components/schemas/Record_string.string_' requestPath: type: string requestId: type: string id: type: string required: - request - response - autoInputs - inputs - requestPath - requestId - id type: object rowIndex: type: number format: double columnId: type: string scores: $ref: '#/components/schemas/Record_string.Score_' required: - rowId - inputRecord - rowIndex - columnId - scores type: object additionalProperties: false ExperimentScores: properties: dataset: properties: scores: $ref: '#/components/schemas/Record_string.Score_' required: - scores type: object hypothesis: properties: scores: $ref: '#/components/schemas/Record_string.Score_' runsCount: type: number format: double required: - scores - runsCount type: object required: - dataset - hypothesis type: object additionalProperties: false Experiment: properties: id: type: string organization: type: string dataset: properties: rows: items: $ref: '#/components/schemas/ExperimentDatasetRow' type: array name: type: string id: type: string required: - rows - name - id type: object meta: {} createdAt: type: string hypotheses: items: properties: runs: items: properties: request: $ref: '#/components/schemas/RequestObj' scores: $ref: '#/components/schemas/Record_string.Score_' response: $ref: '#/components/schemas/ResponseObj' resultRequestId: type: string datasetRowId: type: string required: - scores - resultRequestId - datasetRowId type: object type: array providerKey: type: string createdAt: type: string status: type: string model: type: string parentPromptVersion: properties: template: {} required: - template type: object promptVersion: properties: template: {} required: - template type: object promptVersionId: type: string id: type: string required: - runs - providerKey - createdAt - status - model - promptVersionId - id type: object type: array scores: allOf: - $ref: '#/components/schemas/ExperimentScores' nullable: true tableId: type: string nullable: true required: - id - organization - dataset - meta - createdAt - hypotheses - scores - tableId type: object additionalProperties: false ResultSuccess_Experiment-Array_: properties: data: items: $ref: '#/components/schemas/Experiment' type: array error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_Experiment-Array.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_Experiment-Array_' - $ref: '#/components/schemas/ResultError_string_' Pick_FilterLeaf.experiment_: properties: experiment: $ref: '#/components/schemas/Partial_ExperimentToOperators_' type: object description: From T, pick a set of properties whose keys are in the union K FilterLeafSubset_experiment_: $ref: '#/components/schemas/Pick_FilterLeaf.experiment_' ExperimentFilterNode: anyOf: - $ref: '#/components/schemas/FilterLeafSubset_experiment_' - $ref: '#/components/schemas/ExperimentFilterBranch' - type: string enum: - all ExperimentFilterBranch: properties: right: $ref: '#/components/schemas/ExperimentFilterNode' operator: type: string enum: - or - and left: $ref: '#/components/schemas/ExperimentFilterNode' required: - right - operator - left type: object IncludeExperimentKeys: properties: inputs: type: boolean enum: - true nullable: false promptVersion: type: boolean enum: - true nullable: false responseBodies: type: boolean enum: - true nullable: false score: type: boolean enum: - true nullable: false type: object additionalProperties: false ResultSuccess__datasetId-string__: properties: data: properties: datasetId: type: string required: - datasetId type: object error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result__datasetId-string_.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess__datasetId-string__' - $ref: '#/components/schemas/ResultError_string_' DatasetMetadata: properties: promptVersionId: type: string inputRecordsIds: items: type: string type: array type: object additionalProperties: false NewDatasetParams: properties: datasetName: type: string requestIds: items: type: string type: array datasetType: type: string enum: - experiment - helicone meta: $ref: '#/components/schemas/DatasetMetadata' required: - datasetName - requestIds - datasetType type: object additionalProperties: false Pick_FilterLeaf.request-or-prompts_versions_: properties: request: $ref: '#/components/schemas/Partial_RequestTableToOperators_' prompts_versions: $ref: '#/components/schemas/Partial_PromptVersionsToOperators_' type: object description: From T, pick a set of properties whose keys are in the union K FilterLeafSubset_request-or-prompts_versions_: $ref: '#/components/schemas/Pick_FilterLeaf.request-or-prompts_versions_' DatasetFilterNode: anyOf: - $ref: '#/components/schemas/FilterLeafSubset_request-or-prompts_versions_' - $ref: '#/components/schemas/DatasetFilterBranch' - type: string enum: - all DatasetFilterBranch: properties: right: $ref: '#/components/schemas/DatasetFilterNode' operator: type: string enum: - or - and left: $ref: '#/components/schemas/DatasetFilterNode' required: - right - operator - left type: object RandomDatasetParams: properties: datasetName: type: string filter: $ref: '#/components/schemas/DatasetFilterNode' offset: type: number format: double limit: type: number format: double required: - datasetName - filter type: object additionalProperties: false DatasetResult: properties: id: type: string name: type: string created_at: type: string meta: $ref: '#/components/schemas/DatasetMetadata' required: - id - name - created_at type: object additionalProperties: false ResultSuccess_DatasetResult-Array_: properties: data: items: $ref: '#/components/schemas/DatasetResult' type: array error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_DatasetResult-Array.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_DatasetResult-Array_' - $ref: '#/components/schemas/ResultError_string_' ResultSuccess___-Array_: properties: data: items: properties: {} type: object type: array error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result___-Array.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess___-Array_' - $ref: '#/components/schemas/ResultError_string_' HeliconeDatasetMetadata: properties: promptVersionId: type: string inputRecordsIds: items: type: string type: array type: object additionalProperties: false NewHeliconeDatasetParams: properties: datasetName: type: string requestIds: items: type: string type: array meta: $ref: '#/components/schemas/HeliconeDatasetMetadata' required: - datasetName - requestIds type: object additionalProperties: false MutateParams: properties: addRequests: items: type: string type: array removeRequests: items: type: string type: array required: - addRequests - removeRequests type: object additionalProperties: false HeliconeDatasetRow: properties: id: type: string origin_request_id: type: string dataset_id: type: string created_at: type: string signed_url: $ref: '#/components/schemas/Result_string.string_' required: - id - origin_request_id - dataset_id - created_at - signed_url type: object additionalProperties: false ResultSuccess_HeliconeDatasetRow-Array_: properties: data: items: $ref: '#/components/schemas/HeliconeDatasetRow' type: array error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_HeliconeDatasetRow-Array.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_HeliconeDatasetRow-Array_' - $ref: '#/components/schemas/ResultError_string_' HeliconeDataset: properties: created_at: type: string nullable: true dataset_type: type: string id: type: string meta: allOf: - $ref: '#/components/schemas/Json' nullable: true name: type: string nullable: true organization: type: string requests_count: type: number format: double required: - created_at - dataset_type - id - meta - name - organization - requests_count type: object additionalProperties: false ResultSuccess_HeliconeDataset-Array_: properties: data: items: $ref: '#/components/schemas/HeliconeDataset' type: array error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_HeliconeDataset-Array.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_HeliconeDataset-Array_' - $ref: '#/components/schemas/ResultError_string_' ResultSuccess_any_: properties: data: {} error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Eval: properties: name: type: string averageScore: type: number format: double minScore: type: number format: double maxScore: type: number format: double count: type: number format: double overTime: items: properties: count: type: number format: double date: type: string required: - count - date type: object type: array averageOverTime: items: properties: value: type: number format: double date: type: string required: - value - date type: object type: array required: - name - averageScore - minScore - maxScore - count - overTime - averageOverTime type: object additionalProperties: false ResultSuccess_Eval-Array_: properties: data: items: $ref: '#/components/schemas/Eval' type: array error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_Eval-Array.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_Eval-Array_' - $ref: '#/components/schemas/ResultError_string_' EvalFilterNode: anyOf: - $ref: '#/components/schemas/FilterLeafSubset_request_response_rmt_' - $ref: '#/components/schemas/EvalFilterBranch' - type: string enum: - all EvalFilterBranch: properties: right: $ref: '#/components/schemas/EvalFilterNode' operator: type: string enum: - or - and left: $ref: '#/components/schemas/EvalFilterNode' required: - right - operator - left type: object EvalQueryParams: properties: filter: $ref: '#/components/schemas/EvalFilterNode' timeFilter: properties: end: type: string start: type: string required: - end - start type: object offset: type: number format: double limit: type: number format: double timeZoneDifference: type: number format: double required: - filter - timeFilter type: object additionalProperties: false ScoreDistribution: properties: name: type: string distribution: items: properties: value: type: number format: double upper: type: number format: double lower: type: number format: double required: - value - upper - lower type: object type: array required: - name - distribution type: object additionalProperties: false ResultSuccess_ScoreDistribution-Array_: properties: data: items: $ref: '#/components/schemas/ScoreDistribution' type: array error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_ScoreDistribution-Array.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_ScoreDistribution-Array_' - $ref: '#/components/schemas/ResultError_string_' ResultSuccess__score_key-string--score_sum-number--created_at_trunc-string_-Array_: properties: data: items: properties: created_at_trunc: type: string score_sum: type: number format: double score_key: type: string required: - created_at_trunc - score_sum - score_key type: object type: array error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result__score_key-string--score_sum-number--created_at_trunc-string_-Array.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess__score_key-string--score_sum-number--created_at_trunc-string_-Array_' - $ref: '#/components/schemas/ResultError_string_' CustomerUsage: properties: id: type: string name: type: string cost: type: number format: double count: type: number format: double prompt_tokens: type: number format: double completion_tokens: type: number format: double required: - id - name - cost - count - prompt_tokens - completion_tokens type: object additionalProperties: false Customer: properties: id: type: string name: type: string required: - id - name type: object additionalProperties: false CreditBalanceResponse: properties: totalCreditsPurchased: type: number format: double balance: type: number format: double required: - totalCreditsPurchased - balance type: object additionalProperties: false ResultSuccess_CreditBalanceResponse_: properties: data: $ref: '#/components/schemas/CreditBalanceResponse' error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_CreditBalanceResponse.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_CreditBalanceResponse_' - $ref: '#/components/schemas/ResultError_string_' PurchasedCredits: properties: id: type: string createdAt: type: number format: double credits: type: number format: double referenceId: type: string required: - id - createdAt - credits - referenceId type: object additionalProperties: false PaginatedPurchasedCredits: properties: purchases: items: $ref: '#/components/schemas/PurchasedCredits' type: array total: type: number format: double page: type: number format: double pageSize: type: number format: double required: - purchases - total - page - pageSize type: object additionalProperties: false ResultSuccess_PaginatedPurchasedCredits_: properties: data: $ref: '#/components/schemas/PaginatedPurchasedCredits' error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_PaginatedPurchasedCredits.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_PaginatedPurchasedCredits_' - $ref: '#/components/schemas/ResultError_string_' ResultSuccess__totalSpend-number__: properties: data: properties: totalSpend: type: number format: double required: - totalSpend type: object error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result__totalSpend-number_.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess__totalSpend-number__' - $ref: '#/components/schemas/ResultError_string_' ModelSpend: properties: model: type: string provider: type: string promptTokens: type: number format: double completionTokens: type: number format: double cacheReadTokens: type: number format: double cacheWriteTokens: type: number format: double pricing: properties: cacheWritePer1M: type: number format: double cacheReadPer1M: type: number format: double outputPer1M: type: number format: double inputPer1M: type: number format: double required: - outputPer1M - inputPer1M type: object nullable: true subtotal: type: number format: double discountPercent: type: number format: double total: type: number format: double cacheAdjustment: type: number format: double required: - model - provider - promptTokens - completionTokens - cacheReadTokens - cacheWriteTokens - pricing - subtotal - discountPercent - total type: object additionalProperties: false SpendBreakdownResponse: properties: models: items: $ref: '#/components/schemas/ModelSpend' type: array totalCost: type: number format: double timeRange: properties: end: type: string start: type: string required: - end - start type: object required: - models - totalCost - timeRange type: object additionalProperties: false ResultSuccess_SpendBreakdownResponse_: properties: data: $ref: '#/components/schemas/SpendBreakdownResponse' error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_SpendBreakdownResponse.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_SpendBreakdownResponse_' - $ref: '#/components/schemas/ResultError_string_' PTBInvoice: properties: id: type: string organizationId: type: string stripeInvoiceId: type: string nullable: true hostedInvoiceUrl: type: string nullable: true startDate: type: string endDate: type: string amountCents: type: number format: double subtotalCents: type: number format: double nullable: true notes: type: string nullable: true createdAt: type: string required: - id - organizationId - stripeInvoiceId - hostedInvoiceUrl - startDate - endDate - amountCents - subtotalCents - notes - createdAt type: object additionalProperties: false ResultSuccess_PTBInvoice-Array_: properties: data: items: $ref: '#/components/schemas/PTBInvoice' type: array error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_PTBInvoice-Array.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_PTBInvoice-Array_' - $ref: '#/components/schemas/ResultError_string_' OrgDiscount: properties: provider: type: string nullable: true model: type: string nullable: true percent: type: number format: double required: - provider - model - percent type: object additionalProperties: false ResultSuccess_OrgDiscount-Array_: properties: data: items: $ref: '#/components/schemas/OrgDiscount' type: array error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_OrgDiscount-Array.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_OrgDiscount-Array_' - $ref: '#/components/schemas/ResultError_string_' InAppThread: properties: id: type: string chat: {} user_id: type: string org_id: type: string created_at: type: string format: date-time escalated: type: boolean metadata: {} updated_at: type: string format: date-time soft_delete: type: boolean required: - id - chat - user_id - org_id - created_at - escalated - metadata - updated_at - soft_delete type: object additionalProperties: false ResultSuccess_InAppThread_: properties: data: $ref: '#/components/schemas/InAppThread' error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_InAppThread.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_InAppThread_' - $ref: '#/components/schemas/ResultError_string_' ResultSuccess__success-boolean__: properties: data: properties: success: type: boolean required: - success type: object error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result__success-boolean_.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess__success-boolean__' - $ref: '#/components/schemas/ResultError_string_' ThreadSummary: properties: id: type: string created_at: type: string format: date-time updated_at: type: string format: date-time escalated: type: boolean message_count: type: number format: double first_message: type: string last_message: type: string soft_delete: type: boolean required: - id - created_at - updated_at - escalated - message_count type: object additionalProperties: false ResultSuccess_ThreadSummary-Array_: properties: data: items: $ref: '#/components/schemas/ThreadSummary' type: array error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false Result_ThreadSummary-Array.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_ThreadSummary-Array_' - $ref: '#/components/schemas/ResultError_string_' securitySchemes: api_key: type: apiKey name: Authorization in: header description: 'Bearer token authentication. Format: ''Bearer YOUR_API_KEY''' info: title: helicone-api version: 1.0.0 license: name: MIT contact: {} paths: /v1/api-keys/provider-key/{providerKeyId}: delete: operationId: DeleteProviderKey responses: '200': description: Ok content: application/json: schema: anyOf: - properties: providerName: type: string enum: - baseten - anthropic - azure - bedrock - canopywave - cerebras - chutes - deepinfra - deepseek - fireworks - google-ai-studio - groq - helicone - mistral - nebius - novita - openai - openrouter - perplexity - vertex - xai required: - providerName type: object - properties: error: type: string required: - error type: object tags: - API Key security: - api_key: [] parameters: - in: path name: providerKeyId required: true schema: type: string get: operationId: GetProviderKey responses: '200': description: Ok content: application/json: schema: anyOf: - $ref: '#/components/schemas/DecryptedProviderKey' - properties: error: type: string required: - error type: object tags: - API Key security: - api_key: [] parameters: - in: path name: providerKeyId required: true schema: type: string patch: operationId: UpdateProviderKey responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result__id-string--providerName-string_.string_' tags: - API Key security: - api_key: [] parameters: - in: path name: providerKeyId required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateProviderKeyRequest' /v1/api-keys/provider-key: post: operationId: CreateProviderKey responses: '200': description: Ok content: application/json: schema: anyOf: - properties: id: type: string required: - id type: object - properties: error: type: string required: - error type: object tags: - API Key security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateProviderKeyRequest' /v1/api-keys/provider-keys: get: operationId: GetProviderKeys responses: '200': description: Ok content: application/json: schema: anyOf: - items: $ref: '#/components/schemas/ProviderKeyRow' type: array - properties: error: type: string required: - error type: object tags: - API Key security: - api_key: [] parameters: [] /v1/api-keys: get: operationId: GetAPIKeys responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result__api_key_hash-string--api_key_name-string--created_at-string--governance-boolean--id-number--key_permissions-string--organization_id-string--soft_delete-boolean--temp_key-boolean--updated_at-string--user_id-string_-Array.string_' tags: - API Key security: - api_key: [] parameters: [] post: operationId: CreateAPIKey responses: '200': description: Ok content: application/json: schema: anyOf: - properties: hashedKey: type: string apiKey: type: string id: type: string required: - hashedKey - apiKey - id type: object - properties: error: type: string required: - error type: object tags: - API Key security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: properties: key_permissions: type: string enum: - rw - r - w api_key_name: type: string required: - api_key_name type: object /v1/api-keys/proxy-key: post: operationId: CreateProxyKey responses: '200': description: Ok content: application/json: schema: anyOf: - properties: proxyKeyId: type: string proxyKey: type: string required: - proxyKeyId - proxyKey type: object - properties: error: type: string required: - error type: object tags: - API Key security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: properties: proxyKeyName: type: string providerKeyId: type: string required: - proxyKeyName - providerKeyId type: object /v1/api-keys/{apiKeyId}: delete: operationId: DeleteAPIKey responses: '200': description: Ok content: application/json: schema: anyOf: - properties: hashedKey: type: string required: - hashedKey type: object - properties: error: type: string required: - error type: object tags: - API Key security: - api_key: [] parameters: - in: path name: apiKeyId required: true schema: format: double type: number patch: operationId: UpdateAPIKey responses: '200': description: Ok content: application/json: schema: anyOf: - properties: hashedKey: type: string required: - hashedKey type: object - properties: error: type: string required: - error type: object tags: - API Key security: - api_key: [] parameters: - in: path name: apiKeyId required: true schema: format: double type: number requestBody: required: true content: application/json: schema: properties: api_key_name: type: string required: - api_key_name type: object /v1/evaluator: post: operationId: CreateEvaluator responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_EvaluatorResult.string_' tags: - Evaluator security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateEvaluatorParams' /v1/evaluator/{evaluatorId}: get: operationId: GetEvaluator responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_EvaluatorResult.string_' tags: - Evaluator security: - api_key: [] parameters: - in: path name: evaluatorId required: true schema: type: string put: operationId: UpdateEvaluator responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_EvaluatorResult.string_' tags: - Evaluator security: - api_key: [] parameters: - in: path name: evaluatorId required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateEvaluatorParams' delete: operationId: DeleteEvaluator responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_null.string_' tags: - Evaluator security: - api_key: [] parameters: - in: path name: evaluatorId required: true schema: type: string /v1/evaluator/query: post: operationId: QueryEvaluators responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_EvaluatorResult-Array.string_' tags: - Evaluator security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: properties: {} type: object /v1/evaluator/{evaluatorId}/experiments: get: operationId: GetExperimentsForEvaluator responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_EvaluatorExperiment-Array.string_' tags: - Evaluator security: - api_key: [] parameters: - in: path name: evaluatorId required: true schema: type: string /v1/evaluator/{evaluatorId}/onlineEvaluators: get: operationId: GetOnlineEvaluators responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_OnlineEvaluatorByEvaluatorId-Array.string_' tags: - Evaluator security: - api_key: [] parameters: - in: path name: evaluatorId required: true schema: type: string post: operationId: CreateOnlineEvaluator responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_null.string_' tags: - Evaluator security: - api_key: [] parameters: - in: path name: evaluatorId required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateOnlineEvaluatorParams' /v1/evaluator/{evaluatorId}/onlineEvaluators/{onlineEvaluatorId}: delete: operationId: DeleteOnlineEvaluator responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_null.string_' tags: - Evaluator security: - api_key: [] parameters: - in: path name: evaluatorId required: true schema: type: string - in: path name: onlineEvaluatorId required: true schema: type: string /v1/evaluator/python/test: post: operationId: TestPythonEvaluator responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result__output-string--traces-string-Array--statusCode_63_-number_.string_' tags: - Evaluator security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: properties: testInput: $ref: '#/components/schemas/TestInput' code: type: string required: - testInput - code type: object /v1/evaluator/llm/test: post: operationId: TestLLMEvaluator responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/EvaluatorScoreResult' tags: - Evaluator security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: properties: evaluatorName: type: string testInput: $ref: '#/components/schemas/TestInput' evaluatorConfig: $ref: '#/components/schemas/EvaluatorConfig' required: - evaluatorName - testInput - evaluatorConfig type: object /v1/evaluator/lastmile/test: post: operationId: TestLastMileEvaluator responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result__score-number--input-string--output-string--ground_truth_63_-string_.string_' tags: - Evaluator security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: properties: testInput: $ref: '#/components/schemas/TestInput' config: $ref: '#/components/schemas/LastMileConfigForm' required: - testInput - config type: object /v1/evaluator/{evaluatorId}/stats: get: operationId: GetEvaluatorStats responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_EvaluatorStats.string_' tags: - Evaluator security: - api_key: [] parameters: - in: path name: evaluatorId required: true schema: type: string /v1/prompt-2025/id/{promptId}: get: operationId: GetPrompt2025 responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_Prompt2025.string_' tags: - Prompt2025 security: - api_key: [] parameters: - in: path name: promptId required: true schema: type: string /v1/prompt-2025/id/{promptId}/rename: post: operationId: RenamePrompt2025 responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_null.string_' tags: - Prompt2025 security: - api_key: [] parameters: - in: path name: promptId required: true schema: type: string requestBody: required: true content: application/json: schema: properties: name: type: string required: - name type: object /v1/prompt-2025/id/{promptId}/tags: patch: operationId: UpdatePrompt2025Tags responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_string-Array.string_' tags: - Prompt2025 security: - api_key: [] parameters: - in: path name: promptId required: true schema: type: string requestBody: required: true content: application/json: schema: properties: tags: items: type: string type: array required: - tags type: object /v1/prompt-2025/{promptId}: delete: operationId: DeletePrompt2025 responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_null.string_' tags: - Prompt2025 security: - api_key: [] parameters: - in: path name: promptId required: true schema: type: string /v1/prompt-2025/{promptId}/{versionId}: delete: operationId: DeletePrompt2025Version responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_null.string_' tags: - Prompt2025 security: - api_key: [] parameters: - in: path name: promptId required: true schema: type: string - in: path name: versionId required: true schema: type: string /v1/prompt-2025/id/{promptId}/{versionId}/inputs: get: operationId: GetPrompt2025Inputs responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_Prompt2025Input.string_' tags: - Prompt2025 security: - api_key: [] parameters: - in: path name: promptId required: true schema: type: string - in: path name: versionId required: true schema: type: string - in: query name: requestId required: true schema: type: string /v1/prompt-2025/tags: get: operationId: GetPrompt2025Tags responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_string-Array.string_' tags: - Prompt2025 security: - api_key: [] parameters: [] /v1/prompt-2025/environments: get: operationId: GetPrompt2025Environments responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_string-Array.string_' tags: - Prompt2025 security: - api_key: [] parameters: [] /v1/prompt-2025: post: operationId: CreatePrompt2025 responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_PromptCreateResponse.string_' tags: - Prompt2025 security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: properties: promptBody: $ref: '#/components/schemas/OpenAIChatRequest' tags: items: type: string type: array name: type: string required: - promptBody - tags - name type: object /v1/prompt-2025/update: post: operationId: UpdatePrompt2025 responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result__id-string_.string_' tags: - Prompt2025 security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: properties: promptBody: $ref: '#/components/schemas/OpenAIChatRequest' commitMessage: type: string environment: type: string newMajorVersion: type: boolean promptVersionId: type: string promptId: type: string required: - promptBody - commitMessage - newMajorVersion - promptVersionId - promptId type: object /v1/prompt-2025/update/environment: post: operationId: SetPromptVersionEnvironment responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_null.string_' tags: - Prompt2025 security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: properties: environment: type: string promptVersionId: type: string promptId: type: string required: - environment - promptVersionId - promptId type: object /v1/prompt-2025/remove/environment: post: operationId: RemoveEnvironmentFromVersion responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_null.string_' tags: - Prompt2025 security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: properties: environment: type: string promptVersionId: type: string promptId: type: string required: - environment - promptVersionId - promptId type: object /v1/prompt-2025/count: get: operationId: GetPrompt2025Count responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_number.string_' tags: - Prompt2025 security: - api_key: [] parameters: [] /v1/prompt-2025/query: post: operationId: GetPrompts2025 responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_Prompt2025-Array.string_' tags: - Prompt2025 security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: properties: pageSize: type: number format: double page: type: number format: double tagsFilter: items: type: string type: array search: type: string required: - pageSize - page - tagsFilter - search type: object /v1/prompt-2025/query/version: post: operationId: GetPrompt2025Version responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_Prompt2025Version.string_' tags: - Prompt2025 security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: properties: promptVersionId: type: string required: - promptVersionId type: object /v1/prompt-2025/query/environment-version: post: operationId: GetPrompt2025EnvironmentVersion responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_Prompt2025Version.string_' tags: - Prompt2025 security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: properties: environment: type: string promptId: type: string required: - environment - promptId type: object /v1/prompt-2025/query/versions: post: operationId: GetPrompt2025Versions responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_Prompt2025Version-Array.string_' tags: - Prompt2025 security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: properties: majorVersion: type: number format: double promptId: type: string required: - promptId type: object /v1/prompt-2025/query/production-version: post: operationId: GetPrompt2025ProductionVersion responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_Prompt2025Version.string_' tags: - Prompt2025 security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: properties: promptId: type: string required: - promptId type: object /v1/prompt-2025/query/total-versions: post: operationId: GetPrompt2025TotalVersions responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_PromptVersionCounts.string_' tags: - Prompt2025 security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: properties: promptId: type: string required: - promptId type: object /v1/prompt-2025/{promptVersionId}/prompt-body: get: operationId: GetPrompt2025VersionBody responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_Prompt2025Version_91_prompt_body_93_.string_' description: Get the full prompt body (messages, tools, etc.) for a specific prompt version. tags: - Prompt2025 security: - api_key: [] parameters: - in: path name: promptVersionId required: true schema: type: string /v2/prompt-2025/query/version: post: operationId: GetPrompt2025Version responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_Prompt2025Version.string_' tags: - Prompt2025V2 security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: properties: promptVersionId: type: string required: - promptVersionId type: object /v2/prompt-2025/query/environment-version: post: operationId: GetPrompt2025EnvironmentVersion responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_Prompt2025Version.string_' tags: - Prompt2025V2 security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: properties: environment: type: string promptId: type: string required: - environment - promptId type: object /v2/prompt-2025/query/production-version: post: operationId: GetPrompt2025ProductionVersion responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_Prompt2025Version.string_' tags: - Prompt2025V2 security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: properties: promptId: type: string required: - promptId type: object /v1/prompt/has-prompts: get: operationId: HasPrompts responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result__hasPrompts-boolean_.string_' tags: - Prompt security: - api_key: [] parameters: [] /v1/prompt/query: post: operationId: GetPrompts responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_PromptsResult-Array.string_' tags: - Prompt security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PromptsQueryParams' /v1/prompt/{promptId}/query: post: operationId: GetPrompt responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_PromptResult.string_' tags: - Prompt security: - api_key: [] parameters: - in: path name: promptId required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PromptQueryParams' /v1/prompt/{promptId}: delete: operationId: DeletePrompt responses: '204': description: No content tags: - Prompt security: - api_key: [] parameters: - in: path name: promptId required: true schema: type: string /v1/prompt/create: post: operationId: CreatePrompt responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_CreatePromptResponse.string_' tags: - Prompt security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: properties: metadata: $ref: '#/components/schemas/Record_string.any_' prompt: {} userDefinedId: type: string required: - metadata - prompt - userDefinedId type: object /v1/prompt/{promptId}/user-defined-id: patch: operationId: UpdatePromptUserDefinedId responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_null.string_' tags: - Prompt security: - api_key: [] parameters: - in: path name: promptId required: true schema: type: string requestBody: required: true content: application/json: schema: properties: userDefinedId: type: string required: - userDefinedId type: object /v1/prompt/version/{promptVersionId}/edit-label: post: operationId: EditPromptVersionLabel responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result__metadata-Record_string.any__.string_' tags: - Prompt security: - api_key: [] parameters: - in: path name: promptVersionId required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PromptEditSubversionLabelParams' /v1/prompt/version/{promptVersionId}/edit-template: post: operationId: EditPromptVersionTemplate responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_null.string_' tags: - Prompt security: - api_key: [] parameters: - in: path name: promptVersionId required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PromptEditSubversionTemplateParams' /v1/prompt/version/{promptVersionId}/subversion-from-ui: post: operationId: CreateSubversionFromUi responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_PromptVersionResult.string_' tags: - Prompt security: - api_key: [] parameters: - in: path name: promptVersionId required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PromptCreateSubversionParams' /v1/prompt/version/{promptVersionId}/subversion: post: operationId: CreateSubversion responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_PromptVersionResult.string_' tags: - Prompt security: - api_key: [] parameters: - in: path name: promptVersionId required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PromptCreateSubversionParams' /v1/prompt/version/{promptVersionId}/promote: post: operationId: PromotePromptVersionToProduction responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_PromptVersionResult.string_' tags: - Prompt security: - api_key: [] parameters: - in: path name: promptVersionId required: true schema: type: string requestBody: required: true content: application/json: schema: properties: previousProductionVersionId: type: string required: - previousProductionVersionId type: object /v1/prompt/version/{promptVersionId}/inputs/query: post: operationId: GetInputs responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_PromptInputRecord-Array.string_' tags: - Prompt security: - api_key: [] parameters: - in: path name: promptVersionId required: true schema: type: string requestBody: required: true content: application/json: schema: properties: random: type: boolean limit: type: number format: double required: - limit type: object /v1/prompt/{promptId}/experiments: get: operationId: GetPromptExperiments responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result__id-string--created_at-string--num_hypotheses-number--dataset-string--meta-Record_string.any__-Array.string_' tags: - Prompt security: - api_key: [] parameters: - in: path name: promptId required: true schema: type: string /v1/prompt/{promptId}/versions/query: post: operationId: GetPromptVersions responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_PromptVersionResult-Array.string_' tags: - Prompt security: - api_key: [] parameters: - in: path name: promptId required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PromptVersionsQueryParams' /v1/prompt/version/{promptVersionId}: get: operationId: GetPromptVersion responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_PromptVersionResult.string_' tags: - Prompt security: - api_key: [] parameters: - in: path name: promptVersionId required: true schema: type: string delete: operationId: DeletePromptVersion responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_null.string_' tags: - Prompt security: - api_key: [] parameters: - in: path name: promptVersionId required: true schema: type: string /v1/prompt/{user_defined_id}/compile: post: operationId: GetPromptVersionsCompiled responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_PromptVersionResultCompiled.string_' tags: - Prompt security: - api_key: [] parameters: - in: path name: user_defined_id required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PromptVersiosQueryParamsCompiled' /v1/prompt/{user_defined_id}/template: post: operationId: GetPromptVersionTemplates responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_PromptVersionResultFilled.string_' tags: - Prompt security: - api_key: [] parameters: - in: path name: user_defined_id required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PromptVersiosQueryParamsCompiled' /v2/experiment/create/empty: post: operationId: CreateEmptyExperiment responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result__experimentId-string_.string_' tags: - Experiment security: - api_key: [] parameters: [] /v2/experiment/create/from-request/{requestId}: post: operationId: CreateExperimentFromRequest responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result__experimentId-string_.string_' tags: - Experiment security: - api_key: [] parameters: - in: path name: requestId required: true schema: type: string /v2/experiment/new: post: operationId: CreateNewExperiment responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result__experimentId-string_.string_' tags: - Experiment security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: properties: originalPromptVersion: type: string name: type: string required: - originalPromptVersion - name type: object /v2/experiment: get: operationId: GetExperiments responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_ExperimentV2-Array.string_' tags: - Experiment security: - api_key: [] parameters: [] /v2/experiment/{experimentId}: delete: operationId: DeleteExperiment responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_null.string_' tags: - Experiment security: - api_key: [] parameters: - in: path name: experimentId required: true schema: type: string get: operationId: GetExperimentById responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_ExtendedExperimentData.string_' tags: - Experiment security: - api_key: [] parameters: - in: path name: experimentId required: true schema: type: string /v2/experiment/{experimentId}/prompt-version: post: operationId: CreateNewPromptVersionForExperiment responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_PromptVersionResult.string_' tags: - Experiment security: - api_key: [] parameters: - in: path name: experimentId required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateNewPromptVersionForExperimentParams' /v2/experiment/{experimentId}/prompt-version/{promptVersionId}: delete: operationId: DeletePromptVersion responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_null.string_' tags: - Experiment security: - api_key: [] parameters: - in: path name: experimentId required: true schema: type: string - in: path name: promptVersionId required: true schema: type: string /v2/experiment/{experimentId}/prompt-versions: get: operationId: GetPromptVersionsForExperiment responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_ExperimentV2PromptVersion-Array.string_' tags: - Experiment security: - api_key: [] parameters: - in: path name: experimentId required: true schema: type: string /v2/experiment/{experimentId}/input-keys: get: operationId: GetInputKeysForExperiment responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_string-Array.string_' tags: - Experiment security: - api_key: [] parameters: - in: path name: experimentId required: true schema: type: string /v2/experiment/{experimentId}/add-manual-row: post: operationId: AddManualRowToExperiment responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_string.string_' tags: - Experiment security: - api_key: [] parameters: - in: path name: experimentId required: true schema: type: string requestBody: required: true content: application/json: schema: properties: inputs: $ref: '#/components/schemas/Record_string.string_' required: - inputs type: object /v2/experiment/{experimentId}/add-manual-rows-batch: post: operationId: AddManualRowsToExperimentBatch responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_null.string_' tags: - Experiment security: - api_key: [] parameters: - in: path name: experimentId required: true schema: type: string requestBody: required: true content: application/json: schema: properties: inputs: items: $ref: '#/components/schemas/Record_string.string_' type: array required: - inputs type: object /v2/experiment/{experimentId}/rows: delete: operationId: DeleteExperimentTableRows responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_null.string_' tags: - Experiment security: - api_key: [] parameters: - in: path name: experimentId required: true schema: type: string requestBody: required: true content: application/json: schema: properties: inputRecordIds: items: type: string type: array required: - inputRecordIds type: object /v2/experiment/{experimentId}/row/insert/batch: post: operationId: CreateExperimentTableRowBatch responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_null.string_' tags: - Experiment security: - api_key: [] parameters: - in: path name: experimentId required: true schema: type: string requestBody: required: true content: application/json: schema: properties: rows: items: properties: autoInputs: items: {} type: array inputs: $ref: '#/components/schemas/Record_string.string_' inputRecordId: type: string required: - autoInputs - inputs - inputRecordId type: object type: array required: - rows type: object /v2/experiment/{experimentId}/row/insert/dataset/{datasetId}: post: operationId: CreateExperimentTableRowFromDataset responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_null.string_' tags: - Experiment security: - api_key: [] parameters: - in: path name: experimentId required: true schema: type: string - in: path name: datasetId required: true schema: type: string /v2/experiment/{experimentId}/row/update: post: operationId: UpdateExperimentTableRow responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_null.string_' tags: - Experiment security: - api_key: [] parameters: - in: path name: experimentId required: true schema: type: string requestBody: required: true content: application/json: schema: properties: inputs: $ref: '#/components/schemas/Record_string.string_' inputRecordId: type: string required: - inputs - inputRecordId type: object /v2/experiment/{experimentId}/run-hypothesis: post: operationId: RunHypothesis responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_string.string_' tags: - Experiment security: - api_key: [] parameters: - in: path name: experimentId required: true schema: type: string requestBody: required: true content: application/json: schema: properties: inputRecordId: type: string promptVersionId: type: string required: - inputRecordId - promptVersionId type: object /v2/experiment/{experimentId}/evaluators: get: operationId: GetExperimentEvaluators responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_EvaluatorResult-Array.string_' tags: - Experiment security: - api_key: [] parameters: - in: path name: experimentId required: true schema: type: string post: operationId: CreateExperimentEvaluator responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_null.string_' tags: - Experiment security: - api_key: [] parameters: - in: path name: experimentId required: true schema: type: string requestBody: required: true content: application/json: schema: properties: evaluatorId: type: string required: - evaluatorId type: object /v2/experiment/{experimentId}/evaluators/{evaluatorId}: delete: operationId: DeleteExperimentEvaluator responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_null.string_' tags: - Experiment security: - api_key: [] parameters: - in: path name: experimentId required: true schema: type: string - in: path name: evaluatorId required: true schema: type: string /v2/experiment/{experimentId}/evaluators/run: post: operationId: RunExperimentEvaluators responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_null.string_' tags: - Experiment security: - api_key: [] parameters: - in: path name: experimentId required: true schema: type: string /v2/experiment/{experimentId}/should-run-evaluators: get: operationId: ShouldRunEvaluators responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_boolean.string_' tags: - Experiment security: - api_key: [] parameters: - in: path name: experimentId required: true schema: type: string /v2/experiment/{experimentId}/{promptVersionId}/scores: get: operationId: GetExperimentPromptVersionScores responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_Record_string.ScoreV2_.string_' tags: - Experiment security: - api_key: [] parameters: - in: path name: experimentId required: true schema: type: string - in: path name: promptVersionId required: true schema: type: string /v2/experiment/{experimentId}/{requestId}/{scoreKey}: get: operationId: GetExperimentScore responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_ScoreV2-or-null.string_' tags: - Experiment security: - api_key: [] parameters: - in: path name: experimentId required: true schema: type: string - in: path name: requestId required: true schema: type: string - in: path name: scoreKey required: true schema: type: string /v1/stripe/subscription/cost-for-prompts: get: operationId: GetCostForPrompts responses: '200': description: Ok content: application/json: schema: type: number format: double tags: - Stripe security: - api_key: [] parameters: [] /v1/stripe/subscription/cost-for-evals: get: operationId: GetCostForEvals responses: '200': description: Ok content: application/json: schema: type: number format: double tags: - Stripe security: - api_key: [] parameters: [] /v1/stripe/subscription/cost-for-experiments: get: operationId: GetCostForExperiments responses: '200': description: Ok content: application/json: schema: type: number format: double tags: - Stripe security: - api_key: [] parameters: [] /v1/stripe/subscription/free/usage: get: operationId: GetFreeUsage responses: '200': description: Ok content: application/json: schema: type: number format: double tags: - Stripe security: - api_key: [] parameters: [] /v1/stripe/cloud/checkout-session: post: operationId: CreateCloudGatewayCheckoutSession responses: '200': description: Ok content: application/json: schema: properties: checkoutUrl: type: string required: - checkoutUrl type: object tags: - Stripe security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateCloudGatewayCheckoutSessionRequest' /v1/stripe/subscription/new-customer/upgrade-to-pro: post: operationId: UpgradeToPro responses: '200': description: Ok content: application/json: schema: type: string tags: - Stripe security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpgradeToProRequest' /v1/stripe/subscription/existing-customer/upgrade-to-pro: post: operationId: UpgradeExistingCustomer responses: '200': description: Ok content: application/json: schema: type: string tags: - Stripe security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpgradeToProRequest' /v1/stripe/subscription/new-customer/upgrade-to-team-bundle: post: operationId: UpgradeToTeamBundle responses: '200': description: Ok content: application/json: schema: type: string tags: - Stripe security: - api_key: [] parameters: [] requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/UpgradeToTeamBundleRequest' /v1/stripe/subscription/existing-customer/upgrade-to-team-bundle: post: operationId: UpgradeExistingCustomerToTeamBundle responses: '200': description: Ok content: application/json: schema: type: string tags: - Stripe security: - api_key: [] parameters: [] requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/UpgradeToTeamBundleRequest' /v1/stripe/subscription/manage-subscription: post: operationId: ManageSubscription responses: '200': description: Ok content: application/json: schema: type: string tags: - Stripe security: - api_key: [] parameters: [] /v1/stripe/subscription/undo-cancel-subscription: post: operationId: UndoCancelSubscription responses: '200': description: Ok content: application/json: schema: type: number enum: - null nullable: true tags: - Stripe security: - api_key: [] parameters: [] /v1/stripe/subscription/add-ons/{productType}: post: operationId: AddOns responses: '200': description: Ok content: application/json: schema: type: number enum: - null nullable: true tags: - Stripe security: - api_key: [] parameters: - in: path name: productType required: true schema: type: string enum: - alerts - prompts - experiments - evals delete: operationId: DeleteAddOns responses: '200': description: Ok content: application/json: schema: type: number enum: - null nullable: true tags: - Stripe security: - api_key: [] parameters: - in: path name: productType required: true schema: type: string enum: - alerts - prompts - experiments - evals /v1/stripe/subscription/preview-invoice: get: operationId: PreviewInvoice responses: '200': description: Ok content: application/json: schema: properties: evaluators_usage: items: $ref: '#/components/schemas/LLMUsage' type: array experiments_usage: items: $ref: '#/components/schemas/LLMUsage' type: array total: type: number format: double tax: type: number format: double nullable: true subtotal: type: number format: double discount: properties: coupon: properties: amount_off: type: number format: double nullable: true percent_off: type: number format: double nullable: true name: type: string nullable: true required: - amount_off - percent_off - name type: object required: - coupon type: object nullable: true lines: properties: data: items: properties: description: type: string nullable: true amount: type: number format: double nullable: true id: type: string nullable: true required: - description - amount - id type: object type: array required: - data type: object nullable: true next_payment_attempt: type: number format: double nullable: true currency: type: string nullable: true required: - evaluators_usage - experiments_usage - total - tax - subtotal - discount - lines - next_payment_attempt - currency type: object nullable: true tags: - Stripe security: - api_key: [] parameters: [] /v1/stripe/subscription/cancel-subscription: post: operationId: CancelSubscription responses: '200': description: Ok content: application/json: schema: type: number enum: - null nullable: true tags: - Stripe security: - api_key: [] parameters: [] /v1/stripe/subscription/migrate-to-pro: post: operationId: MigrateToPro responses: '200': description: Ok content: application/json: schema: {} tags: - Stripe security: - api_key: [] parameters: [] /v1/stripe/payment-intents/search: get: operationId: SearchPaymentIntents responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/StripePaymentIntentsResponse' tags: - Stripe security: - api_key: [] parameters: - in: query name: search_kind required: true schema: type: string - in: query name: limit required: false schema: format: double type: number - in: query name: page required: false schema: type: string /v1/stripe/subscription: get: operationId: GetSubscription responses: '200': description: Ok content: application/json: schema: properties: items: items: properties: price: properties: product: properties: name: type: string nullable: true required: - name type: object nullable: true required: - product type: object quantity: type: number format: double required: - price type: object type: array trial_end: type: number format: double nullable: true id: type: string current_period_start: type: number format: double current_period_end: type: number format: double cancel_at_period_end: type: boolean status: type: string required: - items - trial_end - id - current_period_start - current_period_end - cancel_at_period_end - status type: object nullable: true tags: - Stripe security: - api_key: [] parameters: [] /v1/stripe/auto-topoff/settings: get: operationId: GetAutoTopoffSettings responses: '200': description: Ok content: application/json: schema: allOf: - $ref: '#/components/schemas/AutoTopoffSettings' nullable: true tags: - Stripe security: - api_key: [] parameters: [] post: operationId: UpdateAutoTopoffSettings responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/AutoTopoffSettings' tags: - Stripe security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateAutoTopoffSettingsRequest' delete: operationId: DisableAutoTopoff responses: '200': description: Ok content: application/json: schema: properties: success: type: boolean required: - success type: object tags: - Stripe security: - api_key: [] parameters: [] /v1/stripe/payment-methods: get: operationId: GetPaymentMethods responses: '200': description: Ok content: application/json: schema: items: $ref: '#/components/schemas/PaymentMethod' type: array tags: - Stripe security: - api_key: [] parameters: [] /v1/stripe/payment-methods/setup-session: post: operationId: CreateSetupSession responses: '200': description: Ok content: application/json: schema: properties: setupUrl: type: string required: - setupUrl type: object tags: - Stripe security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateSetupSessionRequest' /v1/stripe/payment-methods/{paymentMethodId}: delete: operationId: RemovePaymentMethod responses: '200': description: Ok content: application/json: schema: properties: success: type: boolean required: - success type: object tags: - Stripe security: - api_key: [] parameters: - in: path name: paymentMethodId required: true schema: type: string /v1/stripe/subscription/usage-stats: get: operationId: GetUsageStats responses: '200': description: Ok content: application/json: schema: allOf: - $ref: '#/components/schemas/UsageStatsResponse' nullable: true tags: - Stripe security: - api_key: [] parameters: [] /v1/integration: post: operationId: CreateIntegration responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result__id-string_.string_' tags: - Integration security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/IntegrationCreateParams' get: operationId: GetIntegrations responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_Array_Integration_.string_' tags: - Integration security: - api_key: [] parameters: [] /v1/integration/{integrationId}: post: operationId: UpdateIntegration responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_null.string_' tags: - Integration security: - api_key: [] parameters: - in: path name: integrationId required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/IntegrationUpdateParams' get: operationId: GetIntegration responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_Integration.string_' tags: - Integration security: - api_key: [] parameters: - in: path name: integrationId required: true schema: type: string /v1/integration/type/{type}: get: operationId: GetIntegrationByType responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_Integration.string_' tags: - Integration security: - api_key: [] parameters: - in: path name: type required: true schema: type: string /v1/integration/slack/settings: get: operationId: GetSlackSettings responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_Integration.string_' tags: - Integration security: - api_key: [] parameters: [] /v1/integration/slack/channels: get: operationId: GetSlackChannels responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_Array__id-string--name-string__.string_' tags: - Integration security: - api_key: [] parameters: [] /v1/integration/{integrationId}/stripe/test-meter-event: post: operationId: TestStripeMeterEvent responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_string.string_' tags: - Integration security: - api_key: [] parameters: - in: path name: integrationId required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/TestStripeMeterEventRequest' /v1/request/count/query: post: operationId: GetRequestCount responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_number.string_' tags: - Request security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/RequestQueryParams' /v1/request/query: post: operationId: GetRequests responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_HeliconeRequest-Array.string_' examples: Example 1: value: filter: {} isCached: false limit: 10 offset: 0 sort: created_at: desc isScored: false isPartOfExperiment: false tags: - Request security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/RequestQueryParams' /v1/request/query-clickhouse: post: operationId: GetRequestsClickhouse responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_HeliconeRequest-Array.string_' examples: Example 1: value: filter: {} isCached: false limit: 10 offset: 0 sort: created_at: desc isScored: false isPartOfExperiment: false tags: - Request security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/RequestQueryParams' /v1/request/{requestId}: get: operationId: GetRequestById responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_HeliconeRequest.string_' tags: - Request security: - api_key: [] parameters: - in: path name: requestId required: true schema: type: string - in: query name: includeBody required: false schema: default: false type: boolean /v1/request/{requestId}/inputs: get: operationId: GetRequestInputs responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result__inputs-Record_string.any_--prompt_id-string--version_id-string--environment-string-or-null_-or-null.string_' tags: - Request security: - api_key: [] parameters: - in: path name: requestId required: true schema: type: string /v1/request/query-ids: post: operationId: GetRequestsByIds responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_HeliconeRequest-Array.string_' tags: - Request security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: properties: requestIds: items: type: string type: array required: - requestIds type: object /v1/request/{requestId}/feedback: post: operationId: FeedbackRequest responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_null.string_' tags: - Request security: - api_key: [] parameters: - in: path name: requestId required: true schema: type: string requestBody: required: true content: application/json: schema: properties: rating: type: boolean required: - rating type: object /v1/request/{requestId}/property: put: operationId: PutProperty responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_null.string_' tags: - Request security: - api_key: [] parameters: - in: path name: requestId required: true schema: type: string requestBody: required: true content: application/json: schema: properties: value: type: string key: type: string required: - value - key type: object /v1/request/{requestId}/assets/{assetId}: post: operationId: GetRequestAssetById responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_HeliconeRequestAsset.string_' tags: - Request security: - api_key: [] parameters: - in: path name: requestId required: true schema: type: string - in: path name: assetId required: true schema: type: string /v1/request/{requestId}/score: post: operationId: AddScores responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_null.string_' tags: - Request security: - api_key: [] parameters: - in: path name: requestId required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ScoreRequest' /v1/wrapped/2025: get: operationId: GetWrapped2025Stats responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_WrappedStats.string_' tags: - Wrapped security: - api_key: [] parameters: [] /v1/wrapped/2025/check: get: operationId: CheckHasWrapped2025Data responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result__hasData-boolean_.string_' tags: - Wrapped security: - api_key: [] parameters: [] /v1/webhooks: post: operationId: NewWebhook responses: '200': description: Ok content: application/json: schema: anyOf: - $ref: '#/components/schemas/ResultSuccess_unknown_' - $ref: '#/components/schemas/ResultError_unknown_' tags: - Webhooks security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/WebhookData' get: operationId: GetWebhooks responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result__id-string--created_at-string--destination-string--version-string--config-string--hmac_key-string_-Array.string_' tags: - Webhooks security: - api_key: [] parameters: [] /v1/webhooks/{webhookId}: delete: operationId: DeleteWebhook responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_null.string_' tags: - Webhooks security: - api_key: [] parameters: - in: path name: webhookId required: true schema: type: string /v1/webhooks/{webhookId}/test: post: operationId: TestWebhook responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result__success-boolean--message-string_.string_' tags: - Webhooks security: - api_key: [] parameters: - in: path name: webhookId required: true schema: type: string /v1/vault/add: post: operationId: AddKey responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result__id-string_.string_' tags: - Vault security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/AddVaultKeyParams' /v1/vault/keys: get: operationId: GetKeys responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_DecryptedProviderKey-Array.string_' tags: - Vault security: - api_key: [] parameters: [] /v1/vault/key/{providerKeyId}: get: operationId: GetKeyById responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_DecryptedProviderKey.string_' tags: - Vault security: - api_key: [] parameters: - in: path name: providerKeyId required: true schema: type: string /v1/vault/update/{id}: patch: operationId: UpdateKey responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_null.string_' tags: - Vault security: - api_key: [] parameters: - in: path name: id required: true schema: type: string requestBody: required: true content: application/json: schema: properties: active: type: boolean name: type: string key: type: string type: object /v1/user/metrics-overview/query: post: operationId: GetUserMetricsOverview responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result__request_count-HistogramRow-Array--user_cost-HistogramRow-Array_.string_' tags: - User security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: properties: useInterquartile: type: boolean pSize: $ref: '#/components/schemas/PSize' filter: $ref: '#/components/schemas/UserFilterNode' required: - useInterquartile - pSize - filter type: object /v1/user/metrics/query: post: operationId: GetUserMetrics responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result__users-UserMetricsResult-Array--count-number--hasUsers-boolean_.string_' tags: - User security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UserMetricsQueryParams' /v1/user/query: post: operationId: GetUsers responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result__count-number--prompt_tokens-number--completion_tokens-number--user_id-string--cost-number_-Array.string_' tags: - User security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UserQueryParams' /v1/trace/custom/v1/log: post: operationId: LogCustomTraceLegacy responses: '204': description: No content tags: - Trace security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: {} /v1/trace/custom/log: post: operationId: LogCustomTrace responses: '204': description: No content tags: - Trace security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: {} /v1/trace/custom/log/typed: post: operationId: LogCustomTraceTyped responses: '200': description: Ok content: application/json: schema: anyOf: - $ref: '#/components/schemas/ValidationResult' - {} tags: - Trace security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/TypedAsyncLogModel' /v1/trace/log: post: operationId: LogTrace responses: '204': description: No content tags: - Trace security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/OTELTrace' /v1/trace/log-python: post: operationId: LogPythonTrace responses: '204': description: No content tags: - Trace security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: {} /v1/test/gateway-request: post: operationId: SendTestRequest responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/SendTestRequestResponse' tags: - Test security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SendTestRequestRequest' /v1/session/query: post: operationId: GetSessions responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_SessionResult-Array.string_' tags: - Session security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SessionQueryParams' /v1/session/count: post: operationId: GetSessionsCount responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_SessionsAggregateMetrics.string_' tags: - Session security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SessionQueryParams' /v1/session/name/query: post: operationId: GetNames responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_SessionNameResult-Array.string_' tags: - Session security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SessionNameQueryParams' /v1/session/metrics/query: post: operationId: GetMetrics responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_SessionMetrics.string_' tags: - Session security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SessionMetricsQueryParams' /v1/session/{sessionId}/feedback: post: operationId: UpdateSessionFeedback responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_null.string_' tags: - Session security: - api_key: [] parameters: - in: path name: sessionId required: true schema: type: string requestBody: required: true content: application/json: schema: properties: rating: type: boolean required: - rating type: object /v1/session/{sessionId}/tag: get: operationId: GetSessionTag responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_string-or-null.string_' tags: - Session security: - api_key: [] parameters: - in: path name: sessionId required: true schema: type: string post: operationId: UpdateSessionTag responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_null.string_' tags: - Session security: - api_key: [] parameters: - in: path name: sessionId required: true schema: type: string requestBody: required: true content: application/json: schema: properties: tag: type: string required: - tag type: object /v1/public/status/provider: get: operationId: GetAllProviderStatus responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_ProviderMetrics-Array.string_' tags: - Status security: - api_key: [] parameters: [] /v1/public/status/provider/{provider}: get: operationId: GetProviderStatus responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_ProviderMetrics.string_' tags: - Status security: - api_key: [] parameters: - in: path name: provider required: true schema: type: string - in: query name: timeFrame required: true schema: $ref: '#/components/schemas/TimeFrame' /v1/providers: post: operationId: GetProviders responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_ProviderMetric-Array.string_' tags: - Providers security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ProviderQueryParams' /v1/property/properties/over-time: post: operationId: GetPropertiesOverTime responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result__property-string--total_cost-number--request_count-number--created_at_trunc-string_-Array.string_' tags: - Property security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: allOf: - $ref: '#/components/schemas/DataOverTimeRequest' - properties: propertyKey: type: string required: - propertyKey type: object /v1/property/query: post: operationId: GetProperties responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_Property-Array.string_' tags: - Property security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: properties: {} type: object /v1/property/hide: post: operationId: HideProperty responses: '200': description: Ok content: application/json: schema: anyOf: - $ref: '#/components/schemas/ResultError_string_' - $ref: '#/components/schemas/ResultSuccess_string_' - $ref: '#/components/schemas/ResultSuccess_unknown-Array_' - properties: error: {} data: properties: ok: type: boolean required: - ok type: object required: - error - data type: object tags: - Property security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: properties: key: type: string required: - key type: object /v1/property/hidden/query: post: operationId: GetHiddenProperties responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_Property-Array.string_' tags: - Property security: - api_key: [] parameters: [] /v1/property/restore: post: operationId: RestoreProperty responses: '200': description: Ok content: application/json: schema: anyOf: - $ref: '#/components/schemas/ResultError_string_' - $ref: '#/components/schemas/ResultSuccess_string_' - $ref: '#/components/schemas/ResultSuccess_unknown-Array_' - properties: error: {} data: properties: ok: type: boolean required: - ok type: object required: - error - data type: object tags: - Property security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: properties: key: type: string required: - key type: object /v1/property/{propertyKey}/search: post: operationId: SearchProperties responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_string-Array.string_' tags: - Property security: - api_key: [] parameters: - in: path name: propertyKey required: true schema: type: string requestBody: required: true content: application/json: schema: properties: searchTerm: type: string required: - searchTerm type: object /v1/property/{propertyKey}/top-costs/query: post: operationId: GetTopCosts responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result__value-string--cost-number_-Array.string_' tags: - Property security: - api_key: [] parameters: - in: path name: propertyKey required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/TimeFilterRequest' /v1/property/{propertyKey}/top-requests/query: post: operationId: GetTopRequests responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result__value-string--count-number_-Array.string_' tags: - Property security: - api_key: [] parameters: - in: path name: propertyKey required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/TimeFilterRequest' /v1/playground/generate: post: operationId: Generate responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_ChatCompletion-or-_content-string--reasoning-string--calls-any_.string_' tags: - Playground security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: allOf: - $ref: '#/components/schemas/OpenAIChatRequest' - properties: logRequest: type: boolean useAIGateway: type: boolean type: object /v1/playground/requests-through-helicone: post: operationId: RequestsThroughHelicone responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_string.string_' tags: - Playground security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: properties: requestsThroughHelicone: type: boolean required: - requestsThroughHelicone type: object get: operationId: GetRequestsThroughHelicone responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_boolean.string_' tags: - Playground security: - api_key: [] parameters: [] /v1/public/pi/get-api-key: post: operationId: GetApiKey responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result__apiKey-string_.string_' tags: - PI security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: properties: sessionUUID: type: string required: - sessionUUID type: object /v1/pi/session: post: operationId: AddSession responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_string.string_' tags: - PI security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: properties: sessionUUID: type: string required: - sessionUUID type: object /v1/pi/org-name/query: post: operationId: GetOrgName responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_string.string_' tags: - PI security: - api_key: [] parameters: [] /v1/pi/total-costs: post: operationId: GetTotalCosts responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_number.string_' tags: - PI security: - api_key: [] parameters: [] /v1/pi/total_requests: post: operationId: PiGetTotalRequests responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_number.string_' tags: - PI security: - api_key: [] parameters: [] /v1/pi/costs-over-time/query: post: operationId: GetCostsOverTime responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result__cost-number--created_at_trunc-string_-Array.string_' examples: Example 1: value: userFilter: all timeFilter: start: '2024-01-01' end: '2024-01-31' dbIncrement: day timeZoneDifference: 0 tags: - PI security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/DataOverTimeRequest' /v1/public/model-registry/models: get: operationId: GetModelRegistry responses: '200': description: Complete model registry with models and filter options content: application/json: schema: $ref: '#/components/schemas/Result_ModelRegistryResponse.string_' examples: Example 1: value: models: - id: claude-opus-4-1 name: 'Anthropic: Claude Opus 4.1' author: anthropic contextLength: 200000 endpoints: - provider: anthropic providerSlug: anthropic supportsPtb: true pricing: prompt: 15 completion: 75 cacheRead: 1.5 cacheWrite: 18.75 maxOutput: 32000 trainingDate: '2025-08-05' description: Most capable Claude model with extended context inputModalities: - null outputModalities: - null supportedParameters: - null - null - null - null - null - null - null total: 150 filters: providers: - name: anthropic displayName: Anthropic - name: openai displayName: OpenAI - name: google displayName: Google authors: - anthropic - openai - google - meta capabilities: - audio - image - thinking - caching - reasoning description: Get all available models from the registry summary: Returns a comprehensive list of all AI models with their configurations, pricing, and capabilities tags: - Model Registry security: [] parameters: [] /v1/models: get: operationId: GetModels responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/OAIModelsResponse' tags: - Models security: [] parameters: [] /v1/models/multimodal: get: operationId: GetMultimodalModels responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/OAIModelsResponse' tags: - Models security: [] parameters: [] /v1/public/compare/models: post: operationId: GetModelComparison responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_Model-Array.string_' tags: - Comparison security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: items: $ref: '#/components/schemas/ModelsToCompare' type: array /v1/metrics/totalRequests: post: operationId: GetTotalRequests responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_number.string_' tags: - Metrics security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/MetricsFilterBody' /v1/metrics/totalCost: post: operationId: GetTotalCost responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_number.string_' tags: - Metrics security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/MetricsFilterBody' /v1/metrics/averageLatency: post: operationId: GetAverageLatency responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_number.string_' tags: - Metrics security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/MetricsFilterBody' /v1/metrics/averageTimeToFirstToken: post: operationId: GetAverageTimeToFirstToken responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_number.string_' tags: - Metrics security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/MetricsFilterBody' /v1/metrics/averageTokensPerRequest: post: operationId: GetAverageTokensPerRequest responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_TokensPerRequest.string_' tags: - Metrics security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/MetricsFilterBody' /v1/metrics/totalThreats: post: operationId: GetTotalThreats responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_number.string_' tags: - Metrics security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/MetricsFilterBody' /v1/metrics/activeUsers: post: operationId: GetActiveUsers responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_number.string_' tags: - Metrics security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/MetricsFilterBody' /v1/metrics/requestOverTime: post: operationId: GetRequestsOverTime responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_RequestsOverTime-Array.string_' tags: - Metrics security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/MetricsOverTimeBody' /v1/metrics/costOverTime: post: operationId: GetCostOverTime responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_CostOverTime-Array.string_' tags: - Metrics security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/MetricsOverTimeBody' /v1/metrics/tokensOverTime: post: operationId: GetTokensOverTime responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_TokensOverTime-Array.string_' tags: - Metrics security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/MetricsOverTimeBody' /v1/metrics/latencyOverTime: post: operationId: GetLatencyOverTime responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_LatencyOverTime-Array.string_' tags: - Metrics security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/MetricsOverTimeBody' /v1/metrics/timeToFirstToken: post: operationId: GetTimeToFirstTokenOverTime responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_TimeToFirstTokenOverTime-Array.string_' tags: - Metrics security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/MetricsOverTimeBody' /v1/metrics/usersOverTime: post: operationId: GetUsersOverTime responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_UsersOverTime-Array.string_' tags: - Metrics security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/MetricsOverTimeBody' /v1/metrics/threatsOverTime: post: operationId: GetThreatsOverTime responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_ThreatsOverTime-Array.string_' tags: - Metrics security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/MetricsOverTimeBody' /v1/metrics/errorOverTime: post: operationId: GetErrorsOverTime responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_ErrorOverTime-Array.string_' tags: - Metrics security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/MetricsOverTimeBody' /v1/metrics/requestStatusOverTime: post: operationId: GetRequestStatusOverTime responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_RequestsOverTime-Array.string_' tags: - Metrics security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/MetricsOverTimeBody' /v1/metrics/requestCount: post: operationId: GetRequestCount responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_number.string_' tags: - Metrics security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/RequestCountBody' /v1/metrics/models: post: operationId: GetModelMetrics responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_ModelMetric-Array.string_' tags: - Metrics security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ModelMetricsBody' /v1/metrics/country: post: operationId: GetCountryMetrics responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_CountryData-Array.string_' tags: - Metrics security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CountryMetricsBody' /v1/metrics/quantiles: post: operationId: GetQuantiles responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_Quantiles-Array.string_' tags: - Metrics security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/QuantilesBody' /v1/public/security: post: operationId: GetSecurity responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result__unsafe-boolean_.string_' tags: - Security security: [] parameters: [] requestBody: required: true content: application/json: schema: properties: text: type: string advanced: type: boolean required: - text - advanced type: object /v1/helicone-sql/schema: get: operationId: GetClickHouseSchema responses: '200': description: Array of table schemas with columns content: application/json: schema: $ref: '#/components/schemas/Result_ClickHouseTableSchema-Array.string_' description: Get ClickHouse schema (tables and columns) summary: Get database schema tags: - HeliconeSql security: - api_key: [] parameters: [] /v1/helicone-sql/execute: post: operationId: ExecuteSql responses: '200': description: Query results with rows and metadata content: application/json: schema: $ref: '#/components/schemas/Result_ExecuteSqlResponse.string_' description: Execute a SQL query against ClickHouse summary: Execute SQL query tags: - HeliconeSql security: - api_key: [] parameters: [] requestBody: description: The SQL query to execute required: true content: application/json: schema: $ref: '#/components/schemas/ExecuteSqlRequest' description: The SQL query to execute /v1/helicone-sql/download: post: operationId: DownloadCsv responses: '200': description: URL to download the CSV file content: application/json: schema: $ref: '#/components/schemas/Result_string.string_' description: Execute a SQL query and download results as CSV summary: Download query results as CSV tags: - HeliconeSql security: - api_key: [] parameters: [] requestBody: description: The SQL query to execute required: true content: application/json: schema: $ref: '#/components/schemas/ExecuteSqlRequest' description: The SQL query to execute /v1/helicone-sql/saved-queries: get: operationId: GetSavedQueries responses: '200': description: Array of saved queries content: application/json: schema: $ref: '#/components/schemas/Result_Array_HqlSavedQuery_.string_' description: Get all saved queries for the organization summary: List saved queries tags: - HeliconeSql security: - api_key: [] parameters: [] /v1/helicone-sql/saved-query/{queryId}: get: operationId: GetSavedQuery responses: '200': description: The saved query details content: application/json: schema: $ref: '#/components/schemas/Result_HqlSavedQuery-or-null.string_' description: Get a specific saved query by ID summary: Get saved query tags: - HeliconeSql security: - api_key: [] parameters: - description: The ID of the saved query in: path name: queryId required: true schema: type: string delete: operationId: DeleteSavedQuery responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_void.string_' description: Delete a saved query by ID summary: Delete saved query tags: - HeliconeSql security: - api_key: [] parameters: - description: The ID of the saved query to delete in: path name: queryId required: true schema: type: string put: operationId: UpdateSavedQuery responses: '200': description: The updated saved query content: application/json: schema: $ref: '#/components/schemas/Result_HqlSavedQuery.string_' description: Update an existing saved query summary: Update saved query tags: - HeliconeSql security: - api_key: [] parameters: - description: The ID of the saved query to update in: path name: queryId required: true schema: type: string requestBody: description: The updated query details required: true content: application/json: schema: $ref: '#/components/schemas/CreateSavedQueryRequest' description: The updated query details /v1/helicone-sql/saved-queries/bulk-delete: post: operationId: BulkDeleteSavedQueries responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_void.string_' description: Delete multiple saved queries at once summary: Bulk delete saved queries tags: - HeliconeSql security: - api_key: [] parameters: [] requestBody: description: Array of query IDs to delete required: true content: application/json: schema: $ref: '#/components/schemas/BulkDeleteSavedQueriesRequest' description: Array of query IDs to delete /v1/helicone-sql/saved-query: post: operationId: CreateSavedQuery responses: '200': description: Array containing the created saved query content: application/json: schema: $ref: '#/components/schemas/Result_HqlSavedQuery-Array.string_' description: Create a new saved query summary: Create saved query tags: - HeliconeSql security: - api_key: [] parameters: [] requestBody: description: The saved query details required: true content: application/json: schema: $ref: '#/components/schemas/CreateSavedQueryRequest' description: The saved query details /v1/experiment/new-empty: post: operationId: CreateNewEmptyExperiment responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result__experimentId-string_.string_' tags: - Experiment security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: properties: datasetId: type: string metadata: $ref: '#/components/schemas/Record_string.string_' required: - datasetId - metadata type: object /v1/experiment/table/new: post: operationId: CreateNewExperimentTable responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result__tableId-string--experimentId-string_.string_' tags: - Experiment security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateExperimentTableParams' /v1/experiment/table/{experimentTableId}/query: post: operationId: GetExperimentTableById responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_ExperimentTable.string_' tags: - Experiment security: - api_key: [] parameters: - in: path name: experimentTableId required: true schema: type: string /v1/experiment/table/{experimentTableId}/metadata/query: post: operationId: GetExperimentTableMetadata responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_ExperimentTableSimplified.string_' tags: - Experiment security: - api_key: [] parameters: - in: path name: experimentTableId required: true schema: type: string /v1/experiment/tables/query: post: operationId: GetExperimentTables responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_ExperimentTableSimplified-Array.string_' tags: - Experiment security: - api_key: [] parameters: [] /v1/experiment/table/{experimentTableId}/cell: post: operationId: CreateExperimentCell responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_null.string_' tags: - Experiment security: - api_key: [] parameters: - in: path name: experimentTableId required: true schema: type: string requestBody: required: true content: application/json: schema: properties: value: type: string nullable: true rowIndex: type: number format: double columnId: type: string required: - value - rowIndex - columnId type: object patch: operationId: UpdateExperimentCell responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_null.string_' tags: - Experiment security: - api_key: [] parameters: - in: path name: experimentTableId required: true schema: type: string requestBody: required: true content: application/json: schema: properties: updateInputs: type: boolean metadata: type: string value: type: string status: type: string cellId: type: string required: - cellId type: object /v1/experiment/table/{experimentTableId}/column: post: operationId: CreateExperimentColumn responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_null.string_' tags: - Experiment security: - api_key: [] parameters: - in: path name: experimentTableId required: true schema: type: string requestBody: required: true content: application/json: schema: properties: inputKeys: items: type: string type: array promptVersionId: type: string hypothesisId: type: string columnType: type: string columnName: type: string required: - columnType - columnName type: object /v1/experiment/table/{experimentTableId}/row/new: post: operationId: CreateExperimentTableRow responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_null.string_' tags: - Experiment security: - api_key: [] parameters: - in: path name: experimentTableId required: true schema: type: string requestBody: required: true content: application/json: schema: properties: inputs: $ref: '#/components/schemas/Record_string.string_' sourceRequest: type: string promptVersionId: type: string required: - promptVersionId type: object /v1/experiment/table/{experimentTableId}/row/{rowIndex}: delete: operationId: DeleteExperimentTableRow responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_null.string_' tags: - Experiment security: - api_key: [] parameters: - in: path name: experimentTableId required: true schema: type: string - in: path name: rowIndex required: true schema: format: double type: number /v1/experiment/table/{experimentTableId}/row/insert/batch: post: operationId: CreateExperimentTableRowWithCellsBatch responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_null.string_' tags: - Experiment security: - api_key: [] parameters: - in: path name: experimentTableId required: true schema: type: string requestBody: required: true content: application/json: schema: properties: rows: items: properties: sourceRequest: type: string cells: items: properties: metadata: {} value: type: string nullable: true columnId: type: string required: - value - columnId type: object type: array datasetId: type: string inputs: $ref: '#/components/schemas/Record_string.string_' inputRecordId: type: string required: - cells - datasetId - inputs - inputRecordId type: object type: array required: - rows type: object /v1/experiment/update-meta: post: operationId: UpdateExperimentMeta responses: '200': description: Ok content: application/json: schema: anyOf: - $ref: '#/components/schemas/ResultError_string_' - $ref: '#/components/schemas/ResultSuccess_unknown_' tags: - Experiment security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: properties: meta: $ref: '#/components/schemas/Record_string.string_' experimentId: type: string required: - meta - experimentId type: object /v1/experiment: post: operationId: CreateNewExperimentOld responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result__experimentId-string_.string_' tags: - Experiment security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/NewExperimentParams' /v1/experiment/hypothesis: post: operationId: CreateNewExperimentHypothesis responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result__hypothesisId-string_.string_' tags: - Experiment security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: properties: status: type: string enum: - PENDING - RUNNING - COMPLETED - FAILED providerKeyId: type: string promptVersion: type: string model: type: string experimentId: type: string required: - status - providerKeyId - promptVersion - model - experimentId type: object /v1/experiment/hypothesis/{hypothesisId}/scores/query: post: operationId: GetExperimentHypothesisScores responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result__runsCount-number--scores-Record_string.Score__.string_' tags: - Experiment security: - api_key: [] parameters: - in: path name: hypothesisId required: true schema: type: string /v1/experiment/{experimentId}/evaluators: get: operationId: GetExperimentEvaluators responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_EvaluatorResult-Array.string_' tags: - Experiment security: - api_key: [] parameters: - in: path name: experimentId required: true schema: type: string post: operationId: CreateExperimentEvaluatorOld responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_null.string_' tags: - Experiment security: - api_key: [] parameters: - in: path name: experimentId required: true schema: type: string requestBody: required: true content: application/json: schema: properties: evaluatorId: type: string required: - evaluatorId type: object /v1/experiment/{experimentId}/evaluators/run: post: operationId: RunExperimentEvaluatorsOld responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_null.string_' tags: - Experiment security: - api_key: [] parameters: - in: path name: experimentId required: true schema: type: string /v1/experiment/{experimentId}/evaluators/{evaluatorId}: delete: operationId: DeleteExperimentEvaluatorOld responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_null.string_' tags: - Experiment security: - api_key: [] parameters: - in: path name: experimentId required: true schema: type: string - in: path name: evaluatorId required: true schema: type: string /v1/experiment/query: post: operationId: GetExperimentsOld responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_Experiment-Array.string_' tags: - Experiment security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: properties: include: $ref: '#/components/schemas/IncludeExperimentKeys' filter: $ref: '#/components/schemas/ExperimentFilterNode' required: - filter type: object /v1/experiment/dataset: post: operationId: AddDataset responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result__datasetId-string_.string_' tags: - Dataset security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/NewDatasetParams' /v1/experiment/dataset/random: post: operationId: AddRandomDataset responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result__datasetId-string_.string_' tags: - Dataset security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/RandomDatasetParams' /v1/experiment/dataset/query: post: operationId: GetDatasets responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_DatasetResult-Array.string_' tags: - Dataset security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: properties: promptVersionId: type: string type: object /v1/experiment/dataset/{datasetId}/row/insert: post: operationId: InsertDatasetRow responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_string.string_' tags: - Dataset security: - api_key: [] parameters: - in: path name: datasetId required: true schema: type: string requestBody: required: true content: application/json: schema: properties: originalColumnId: type: string inputs: $ref: '#/components/schemas/Record_string.string_' inputRecordId: type: string required: - inputs - inputRecordId type: object /v1/experiment/dataset/{datasetId}/version/{promptVersionId}/row/new: post: operationId: CreateDatasetRow responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_string.string_' tags: - Dataset security: - api_key: [] parameters: - in: path name: datasetId required: true schema: type: string - in: path name: promptVersionId required: true schema: type: string requestBody: required: true content: application/json: schema: properties: sourceRequest: type: string inputs: $ref: '#/components/schemas/Record_string.string_' required: - inputs type: object /v1/experiment/dataset/{datasetId}/inputs/query: post: operationId: GetDataset responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_PromptInputRecord-Array.string_' tags: - Dataset security: - api_key: [] parameters: - in: path name: datasetId required: true schema: type: string /v1/experiment/dataset/{datasetId}/mutate: post: operationId: MutateDataset responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result___-Array.string_' tags: - Dataset security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: properties: removeRequests: items: type: string type: array addRequests: items: type: string type: array required: - removeRequests - addRequests type: object /v1/helicone-dataset: post: operationId: AddHeliconeDataset responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result__datasetId-string_.string_' tags: - Dataset security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/NewHeliconeDatasetParams' /v1/helicone-dataset/{datasetId}/mutate: post: operationId: MutateHeliconeDataset responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_null.string_' tags: - Dataset security: - api_key: [] parameters: - in: path name: datasetId required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/MutateParams' /v1/helicone-dataset/{datasetId}/query: post: operationId: QueryHeliconeDatasetRows responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_HeliconeDatasetRow-Array.string_' tags: - Dataset security: - api_key: [] parameters: - in: path name: datasetId required: true schema: type: string requestBody: required: true content: application/json: schema: properties: limit: type: number format: double offset: type: number format: double required: - limit - offset type: object /v1/helicone-dataset/{datasetId}/count: post: operationId: CountHeliconeDatasetRows responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_number.string_' tags: - Dataset security: - api_key: [] parameters: - in: path name: datasetId required: true schema: type: string /v1/helicone-dataset/query: post: operationId: QueryHeliconeDataset responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_HeliconeDataset-Array.string_' tags: - Dataset security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: properties: datasetIds: items: type: string type: array type: object /v1/helicone-dataset/{datasetId}/request/{requestId}: post: operationId: UpdateHeliconeDatasetRequest responses: '200': description: Ok content: application/json: schema: anyOf: - $ref: '#/components/schemas/ResultError_unknown_' - $ref: '#/components/schemas/ResultSuccess_any_' tags: - Dataset security: - api_key: [] parameters: - in: path name: datasetId required: true schema: type: string - in: path name: requestId required: true schema: type: string requestBody: required: true content: application/json: schema: properties: responseBody: $ref: '#/components/schemas/Json' requestBody: $ref: '#/components/schemas/Json' required: - responseBody - requestBody type: object /v1/helicone-dataset/{datasetId}/delete: post: operationId: DeleteHeliconeDataset responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_null.string_' tags: - Dataset security: - api_key: [] parameters: - in: path name: datasetId required: true schema: type: string /v1/evals/query: post: operationId: QueryEvals responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_Eval-Array.string_' tags: - Evals security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/EvalQueryParams' /v1/evals/scores: get: operationId: GetEvalScores responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_string-Array.string_' tags: - Evals security: - api_key: [] parameters: [] /v1/evals/{requestId}: post: operationId: AddEval responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_null.string_' tags: - Evals security: - api_key: [] parameters: - in: path name: requestId required: true schema: type: string requestBody: required: true content: application/json: schema: properties: score: type: number format: double name: type: string required: - score - name type: object /v1/evals/score-distributions/query: post: operationId: QueryScoreDistributions responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_ScoreDistribution-Array.string_' tags: - Evals security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/EvalQueryParams' /v1/dashboard/scores/query: post: operationId: GetScoresOverTime responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result__score_key-string--score_sum-number--created_at_trunc-string_-Array.string_' examples: Example 1: value: userFilter: all timeFilter: start: '2024-01-01' end: '2024-01-31' dbIncrement: day timeZoneDifference: 0 tags: - Dashboard security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/DataOverTimeRequest' /v1/customer/{customerId}/usage/query: post: operationId: GetCustomerUsage responses: '200': description: Ok content: application/json: schema: allOf: - $ref: '#/components/schemas/CustomerUsage' nullable: true tags: - Customer security: - api_key: [] parameters: - in: path name: customerId required: true schema: type: string requestBody: required: true content: application/json: schema: properties: {} type: object /v1/customer/query: post: operationId: GetCustomers responses: '200': description: Ok content: application/json: schema: items: $ref: '#/components/schemas/Customer' type: array tags: - Customer security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: properties: {} type: object /v1/credits/balance: get: operationId: GetCreditsBalance responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_CreditBalanceResponse.string_' tags: - Credits security: - api_key: [] parameters: [] /v1/credits/payments: get: operationId: ListTokenUsagePayments responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_PaginatedPurchasedCredits.string_' tags: - Credits security: - api_key: [] parameters: - in: query name: page required: false schema: format: double type: number - in: query name: pageSize required: false schema: format: double type: number /v1/credits/totalSpend: get: operationId: GetTotalSpend responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result__totalSpend-number_.string_' tags: - Credits security: - api_key: [] parameters: [] /v1/credits/spend/breakdown: get: operationId: GetSpendBreakdown responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_SpendBreakdownResponse.string_' tags: - Credits security: - api_key: [] parameters: - in: query name: timeRange required: false schema: type: string enum: - 7d - 30d - 90d - all - in: query name: startDate required: false schema: type: string - in: query name: endDate required: false schema: type: string /v1/credits/invoices: get: operationId: ListInvoices responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_PTBInvoice-Array.string_' tags: - Credits security: - api_key: [] parameters: [] /v1/credits/discounts: get: operationId: GetDiscounts responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_OrgDiscount-Array.string_' tags: - Credits security: - api_key: [] parameters: [] /v1/agent/generate: post: operationId: Generate responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_ChatCompletion-or-_content-string--reasoning-string--calls-any_.string_' tags: - Agent security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: allOf: - $ref: '#/components/schemas/OpenAIChatRequest' - properties: inputs: {} environment: type: string prompt_id: type: string logRequest: type: boolean useAIGateway: type: boolean type: object /v1/agent/thread/{sessionId}/message: post: operationId: UpsertThreadMessage responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_InAppThread.string_' tags: - Agent security: - api_key: [] parameters: - in: path name: sessionId required: true schema: type: string requestBody: required: true content: application/json: schema: properties: metadata: properties: posthogSession: type: string additionalProperties: {} type: object messages: items: {} type: array required: - metadata - messages type: object /v1/agent/thread/{sessionId}: delete: operationId: DeleteThread responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result__success-boolean_.string_' tags: - Agent security: - api_key: [] parameters: - in: path name: sessionId required: true schema: type: string get: operationId: GetThread responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_InAppThread.string_' tags: - Agent security: - api_key: [] parameters: - in: path name: sessionId required: true schema: type: string /v1/agent/thread/{sessionId}/escalate: post: operationId: EscalateThread responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_InAppThread.string_' tags: - Agent security: - api_key: [] parameters: - in: path name: sessionId required: true schema: type: string /v1/agent/thread/create-and-escalate: post: operationId: CreateAndEscalateThread responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_InAppThread.string_' tags: - Agent security: - api_key: [] parameters: [] /v1/agent/thread/{sessionId}/reopen: post: operationId: ReopenThread responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_InAppThread.string_' tags: - Agent security: - api_key: [] parameters: - in: path name: sessionId required: true schema: type: string /v1/agent/threads: get: operationId: GetAllThreads responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_ThreadSummary-Array.string_' tags: - Agent security: - api_key: [] parameters: [] /v1/agent/mcp/search: post: operationId: SearchDocs responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Result_string.string_' tags: - Agent security: - api_key: [] parameters: [] requestBody: required: true content: application/json: schema: properties: query: type: string required: - query type: object servers: - url: https://api.helicone.ai/ - url: http://localhost:8585/