openapi: 3.0.0 info: title: helicone-api Agent Prompt API version: 1.0.0 license: name: MIT contact: {} servers: - url: https://api.helicone.ai/ - url: http://localhost:8585/ tags: - name: Prompt paths: /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' components: schemas: Result_PromptResult.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_PromptResult_' - $ref: '#/components/schemas/ResultError_string_' PromptEditSubversionLabelParams: properties: label: type: string required: - label type: object additionalProperties: false FilterLeafSubset_prompt_v2_: $ref: '#/components/schemas/Pick_FilterLeaf.prompt_v2_' FilterLeafSubset_prompts_versions_: $ref: '#/components/schemas/Pick_FilterLeaf.prompts_versions_' 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_CreatePromptResponse_: properties: data: $ref: '#/components/schemas/CreatePromptResponse' 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_' 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_' 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 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 PromptQueryParams: properties: timeFilter: properties: end: type: string start: type: string required: - end - start type: object required: - timeFilter 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__metadata-Record_string.any__.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess__metadata-Record_string.any___' - $ref: '#/components/schemas/ResultError_string_' Result_PromptVersionResultCompiled.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_PromptVersionResultCompiled_' - $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 Record_string.any_: properties: {} additionalProperties: {} type: object description: Construct a type with a set of properties K of type T Result_PromptVersionResult-Array.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_PromptVersionResult-Array_' - $ref: '#/components/schemas/ResultError_string_' PromptsFilterBranch: properties: right: $ref: '#/components/schemas/PromptsFilterNode' operator: type: string enum: - or - and left: $ref: '#/components/schemas/PromptsFilterNode' required: - right - operator - left type: object Result_CreatePromptResponse.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_CreatePromptResponse_' - $ref: '#/components/schemas/ResultError_string_' PromptVersionsFilterNode: anyOf: - $ref: '#/components/schemas/FilterLeafSubset_prompts_versions_' - $ref: '#/components/schemas/PromptVersionsFilterBranch' - type: string enum: - all 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 PromptVersionsQueryParams: properties: filter: $ref: '#/components/schemas/PromptVersionsFilterNode' includeExperimentVersions: type: boolean type: object additionalProperties: false 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 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 PromptVersionsFilterBranch: properties: right: $ref: '#/components/schemas/PromptVersionsFilterNode' operator: type: string enum: - or - and left: $ref: '#/components/schemas/PromptVersionsFilterNode' required: - right - operator - left type: object Result_null.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_null_' - $ref: '#/components/schemas/ResultError_string_' 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 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 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 PromptsQueryParams: properties: filter: $ref: '#/components/schemas/PromptsFilterNode' required: - filter 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 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 Result_PromptVersionResult.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_PromptVersionResult_' - $ref: '#/components/schemas/ResultError_string_' ResultSuccess_null_: properties: data: type: number enum: - null nullable: true error: type: number enum: - null nullable: true required: - data - error type: object additionalProperties: false PromptEditSubversionTemplateParams: properties: heliconeTemplate: {} experimentId: type: string required: - heliconeTemplate 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 Result_PromptsResult-Array.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_PromptsResult-Array_' - $ref: '#/components/schemas/ResultError_string_' 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 CreatePromptResponse: properties: id: type: string prompt_version_id: type: string required: - id - prompt_version_id type: object additionalProperties: false Record_string.string_: properties: {} additionalProperties: type: string type: object description: Construct a type with a set of properties K of type T Result_PromptVersionResultFilled.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess_PromptVersionResultFilled_' - $ref: '#/components/schemas/ResultError_string_' 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 PromptVersiosQueryParamsCompiled: properties: filter: $ref: '#/components/schemas/PromptVersionsFilterNode' includeExperimentVersions: type: boolean inputs: $ref: '#/components/schemas/Record_string.string_' required: - inputs type: object additionalProperties: false Result__hasPrompts-boolean_.string_: anyOf: - $ref: '#/components/schemas/ResultSuccess__hasPrompts-boolean__' - $ref: '#/components/schemas/ResultError_string_' PromptsFilterNode: anyOf: - $ref: '#/components/schemas/FilterLeafSubset_prompt_v2_' - $ref: '#/components/schemas/PromptsFilterBranch' - type: string enum: - all 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 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_PromptVersionResultCompiled_: properties: data: $ref: '#/components/schemas/PromptVersionResultCompiled' error: type: number enum: - null nullable: true required: - data - error 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__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 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 ResultSuccess_PromptResult_: properties: data: $ref: '#/components/schemas/PromptResult' 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 securitySchemes: api_key: type: apiKey name: Authorization in: header description: 'Bearer token authentication. Format: ''Bearer YOUR_API_KEY'''